.ensol-events-page{background:#fff;color:#203c30;font-family:var(--font,Inter,sans-serif)}
.ensol-events-shell{width:100%;max-width:1250px;margin-inline:auto;padding-inline:28px}
.ensol-events-hero{padding:52px 0 56px;background:#eef4ef;overflow:hidden}
.ensol-events-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:66px}
.ensol-events-breadcrumb{display:flex;align-items:center;gap:12px;font-size:12px;color:#718078;margin:0 0 32px}
.ensol-events-breadcrumb a{color:#203c30}
.ensol-events-eyebrow{display:block;font-size:11px;font-weight:750;letter-spacing:2.2px;color:#008451;margin-bottom:13px}
.ensol-events-hero h1{font-size:clamp(38px,4.4vw,62px);line-height:1.08;font-weight:800;letter-spacing:-2px;margin:0 0 22px;color:#203c30}
.ensol-events-hero h1 span{color:#008451}
.ensol-events-hero-copy>p:not(.ensol-events-breadcrumb){max-width:455px;font-size:15px;line-height:1.8;color:#63756a;margin:0 0 25px}
.ensol-events-hero-link{display:inline-flex;align-items:center;gap:16px;padding-bottom:7px;border-bottom:1px solid #008451;color:#00794a;font-size:13px;font-weight:700}
.ensol-events-hero-photo{height:350px;position:relative;border-radius:14px;overflow:hidden;background:#dce8de;box-shadow:16px 16px 0 #dfeae1}
.ensol-events-hero-photo>img{width:100%;height:100%;object-fit:cover;display:block}
.ensol-events-hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#102e21b3);pointer-events:none}
.ensol-events-photo-caption{position:absolute;bottom:22px;left:24px;z-index:1;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#fff;letter-spacing:.3px}
.ensol-events-live-dot{width:7px;height:7px;border-radius:50%;background:#5ae2a6;box-shadow:0 0 0 4px #5ae2a620}
.ensol-events-collection{padding-block:64px}
.ensol-events-section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.ensol-events-section-top h2{font-size:clamp(25px,3vw,34px);line-height:1.25;font-weight:750;letter-spacing:-.8px;margin:0 0 10px}
.ensol-events-section-top p{font-size:14px;color:#748078;margin:0}
.ensol-events-filters{display:flex;align-items:center;gap:6px;flex-shrink:0;background:#f2f6f3;padding:5px;border-radius:30px}
.ensol-events-filters a{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:650;padding:9px 15px;border-radius:24px;white-space:nowrap;color:#607167}
.ensol-events-filters a svg{width:15px;height:15px}
.ensol-events-filters a.is-active{background:#008451;color:#fff;box-shadow:0 3px 8px #00845120}
.ensol-events-filters a:hover:not(.is-active){background:#e3ece6;color:#008451}
.ensol-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.ensol-event-card{min-width:0;border:1px solid #e2eae5;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 5px 20px #203c3005}
.ensol-event-cover{height:220px;position:relative;background:#eef4ef;overflow:hidden}
.ensol-event-cover>img{width:100%;height:100%;object-fit:cover;display:block}
.ensol-event-cover-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:linear-gradient(140deg,#e8f2eb,#d4e7da);color:#008451}
.ensol-event-cover-placeholder>span:last-child{font-size:10px;letter-spacing:2px;font-weight:700}
.ensol-event-placeholder-icon svg{width:52px;height:52px;stroke-width:1}
.ensol-event-date{position:absolute;bottom:16px;left:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:68px;padding:9px 10px;background:#fff;border-radius:7px;box-shadow:0 4px 15px #17211c12}
.ensol-event-date strong{font-size:25px;font-weight:800;line-height:1.1;color:#203c30}
.ensol-event-date span{font-size:10px;color:#6a7a70;line-height:1.6;margin-top:3px}
.ensol-event-card-body{padding:23px}
.ensol-event-media-counts{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:12px;color:#008451}
.ensol-event-media-counts>span{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:650}
.ensol-event-media-counts svg{width:14px;height:14px}
.ensol-event-card h3{font-size:21px;line-height:1.35;font-weight:750;letter-spacing:-.4px;margin:0 0 12px;color:#203c30;overflow-wrap:anywhere}
.ensol-event-location{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:#728078;line-height:1.6;margin:0 0 12px}
.ensol-event-location svg{width:15px;height:18px;flex-shrink:0}
.ensol-event-excerpt{font-size:13px;line-height:1.8;color:#65766c;margin:0 0 18px}
.ensol-event-gallery{border-top:1px solid #e8ede9;padding-top:16px;margin-top:18px}
.ensol-event-gallery summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer;font-size:12px;font-weight:700;color:#008451}
.ensol-event-gallery summary::-webkit-details-marker{display:none}
.ensol-event-gallery[open] summary svg{transform:rotate(90deg)}
.ensol-event-gallery-content{padding-top:22px}
.ensol-event-description{color:#586d60;font-size:14px;line-height:1.8;margin-bottom:18px;overflow-wrap:anywhere}
.ensol-event-description p{margin:0 0 14px}
.ensol-event-description img{max-width:100%;height:auto}
.ensol-event-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.ensol-event-photo{display:block;border-radius:6px;overflow:hidden;background:#edf4ef;aspect-ratio:4/3}
.ensol-event-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.ensol-event-photo:hover img{transform:scale(1.04)}
.ensol-event-video{display:block;width:100%;max-height:450px;background:#17211c;border-radius:7px;margin:14px 0}
.ensol-event-embed{aspect-ratio:16/9;width:100%;background:#eef4ef;border:1px solid #dce8df;display:grid;place-items:center;border-radius:7px;overflow:hidden;margin:14px 0}
.ensol-event-embed>a{display:flex;align-items:center;gap:8px;color:#008451;font-weight:650}
.ensol-event-embed>a[hidden]{display:none}
.ensol-event-embed iframe{width:100%;height:100%;border:0}
.ensol-event-card:has(.ensol-event-gallery[open]){grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}
.ensol-event-card:has(.ensol-event-gallery[open]) .ensol-event-cover{height:100%;min-height:280px;max-height:600px}
.ensol-events-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:52px 24px;background:#fbfdfb;border:1px dashed #cdded2;border-radius:12px}
.ensol-events-empty-icons{display:flex;gap:9px;margin-bottom:21px}
.ensol-events-empty-icons>span{display:grid;place-items:center;width:55px;height:55px;border-radius:14px;background:#eaf4ed;color:#008451;transform:rotate(-8deg)}
.ensol-events-empty-icons>span:last-child{transform:rotate(8deg);background:#f1f4ef;color:#687a69}
.ensol-events-empty-icons svg{width:25px;height:25px}
.ensol-events-empty h3{font-size:24px;line-height:1.3;letter-spacing:-.5px;margin:0 0 12px;font-weight:700}
.ensol-events-empty p{max-width:440px;font-size:14px;line-height:1.8;color:#78847c;margin:0 0 24px}
.ensol-events-button{display:inline-flex;align-items:center;gap:16px;background:#008451;color:#fff;border-radius:25px;padding:11px 23px;font-size:12px;font-weight:650}
.ensol-events-admin-link{margin-top:16px;font-size:12px;color:#008451;text-decoration:underline}
.ensol-events-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #e3ebe6;margin-top:45px;padding-top:34px}
.ensol-events-contact h2{font-size:20px;line-height:1.4;font-weight:700;margin:0 0 7px}
.ensol-events-contact p{font-size:13px;color:#7a877f;margin:0}
.ensol-events-contact>a{display:flex;align-items:center;gap:16px;color:#008451;font-size:13px;font-weight:700;white-space:nowrap}
.ensol-events-pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:30px}
.ensol-events-pagination .page-numbers{display:block;padding:8px 15px;border:1px solid #dce8df;border-radius:5px;color:#203c30;font-size:13px}
.ensol-events-pagination .current{background:#008451;color:#fff;border-color:#008451}
.ensol-events-page a:focus-visible,.ensol-events-page summary:focus-visible{outline:2px solid #008451;outline-offset:5px}
.ensol-event-lightbox{width:min(1100px,94vw);max-width:none;max-height:94vh;margin:auto;padding:50px 18px 18px;background:#10251a;border:0;border-radius:12px;color:#fff}
.ensol-event-lightbox::backdrop{background:#06110de8}
.ensol-event-lightbox img{display:block;width:100%;height:70vh;object-fit:contain}
.ensol-event-lightbox button{display:grid;place-items:center;border:1px solid #ffffff50;border-radius:50%;background:#172c21;color:#fff;width:36px;height:36px;cursor:pointer;font-size:23px;line-height:1}
.ensol-event-lightbox-close{position:absolute;top:9px;right:12px}
.ensol-event-lightbox-toolbar{display:flex;align-items:center;justify-content:center;gap:20px;padding-top:12px;font-size:12px}
.ensol-event-lightbox button:disabled{opacity:.3;cursor:default}
html.ensol-event-lightbox-open{overflow:hidden}
@media(max-width:1000px){.ensol-events-hero-grid{gap:32px}.ensol-events-hero-photo{height:310px}.ensol-events-section-top{flex-direction:column;align-items:flex-start}.ensol-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ensol-events-shell{padding-inline:20px}.ensol-events-hero{padding:28px 0 40px}.ensol-events-hero-grid{grid-template-columns:1fr;gap:30px}.ensol-events-breadcrumb{margin-bottom:25px}.ensol-events-hero h1{font-size:42px;letter-spacing:-1.5px}.ensol-events-hero-photo{height:230px;box-shadow:8px 8px 0 #dfeae1}.ensol-events-collection{padding-block:40px}.ensol-events-section-top{gap:22px}.ensol-events-filters{max-width:100%;gap:2px}.ensol-events-filters a{padding:9px 12px;font-size:11px}.ensol-events-grid{grid-template-columns:1fr}.ensol-events-empty{padding:36px 20px}.ensol-events-empty h3{font-size:21px}.ensol-event-card:has(.ensol-event-gallery[open]){display:block}.ensol-event-card:has(.ensol-event-gallery[open]) .ensol-event-cover{height:220px;min-height:0}.ensol-events-contact{flex-direction:column;align-items:flex-start}.ensol-event-lightbox img{height:60vh}}
@media(prefers-reduced-motion:reduce){.ensol-event-photo img{transition:none}}
