.gelsensystem-events-page { min-height:520px; padding:64px 0 80px; background:#f5f7f4; }
.gse-public-events { --gse-green:var(--gelsendiele-primary,#149447); --gse-secondary:var(--gelsendiele-secondary,#0b5d38); --gse-brand-accent:var(--gelsendiele-accent,#d9a441); --gse-surface:var(--gelsendiele-surface,#fff); --gse-text:#17221b; --gse-muted:#68746c; max-width:1120px; margin:0 auto; color:var(--gse-text); font-family:inherit; }
.gse-public-events *,.gse-event-popup * { box-sizing:border-box; }
.gse-public-events__header { max-width:720px; margin-bottom:28px; }
.gse-public-events__header>span { display:block; margin-bottom:7px; color:var(--gse-green); font-size:12px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.gse-public-events__header h1 { margin:0; color:var(--gse-text); font-size:clamp(38px,6vw,72px); line-height:1; letter-spacing:-.045em; }
.gse-public-events__header p { margin:13px 0 0; color:var(--gse-muted); font-size:18px; }
.gse-public-events__filters { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:22px; padding:12px; border:1px solid rgba(23,34,27,.1); border-radius:var(--gelsendiele-radius,16px); background:var(--gse-surface); }
.gse-public-events__filter-buttons { display:flex; flex-wrap:wrap; gap:7px; }
.gse-public-events__filter-buttons button { display:flex; align-items:center; gap:7px; min-height:40px; padding:0 13px; border:1px solid rgba(23,34,27,.13); border-radius:10px; color:var(--gse-text); background:#f7f9f7; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.gse-public-events__filter-buttons button.is-active { color:#fff; border-color:var(--gse-green); background:linear-gradient(135deg,var(--gse-green),var(--gse-secondary)); }
.gse-public-events__filter-buttons span { display:grid; place-items:center; min-width:22px; height:22px; padding:0 5px; border-radius:999px; background:rgba(127,127,127,.17); font-size:11px; }
.gse-public-events__filters>label { position:relative; display:grid; gap:4px; min-width:190px; color:var(--gse-muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.gse-public-events__filters input { min-height:40px; padding:7px 34px 7px 10px; border:1px solid rgba(23,34,27,.13); border-radius:10px; color:var(--gse-text); background:var(--gse-surface); font:inherit; }
.gse-public-events__filters [data-gse-date-clear] { position:absolute; right:5px; bottom:5px; width:30px; height:30px; border:0; border-radius:8px; color:var(--gse-muted); background:transparent; font-size:21px; cursor:pointer; }
.gse-public-events__list { display:grid; gap:16px; }
.gse-event-card { --gse-accent:var(--gse-green); display:grid; grid-template-columns:105px minmax(0,1fr); overflow:hidden; scroll-margin-top:100px; border:1px solid rgba(23,34,27,.12); border-radius:var(--gelsendiele-radius,22px); background:var(--gse-surface); box-shadow:0 10px 34px rgba(20,40,26,.06); }
.gse-event-card:target { border-color:var(--gse-accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--gse-accent) 18%,transparent),0 14px 40px rgba(23,34,27,.1); }
.gse-event-card[hidden] { display:none; }
.gse-event-card.has-image { grid-template-columns:105px minmax(220px,31%) minmax(0,1fr); }
.gse-event-card__date { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:190px; padding:25px 18px; color:#fff; background:linear-gradient(150deg,color-mix(in srgb,var(--gse-accent),#fff 10%),color-mix(in srgb,var(--gse-accent),#000 18%)); text-align:center; }
@supports not (background:color-mix(in srgb,red,blue)) { .gse-event-card__date { background:var(--gse-accent); } }
.gse-event-card__date strong { font-size:42px; line-height:.95; }
.gse-event-card__date span { margin-top:9px; font-size:14px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.gse-event-card__image { min-height:220px; margin:0; overflow:hidden; background:#dfe7e1; }
.gse-event-card__image img { display:block; width:100%; height:100%; min-height:220px; object-fit:cover; }
.gse-event-card__content { min-width:0; padding:27px 32px 29px; }
.gse-event-card__time { color:var(--gse-accent); font-size:12px; font-weight:800; letter-spacing:.035em; }
.gse-event-card h2 { margin:7px 0 8px; color:var(--gse-text); font-size:clamp(23px,3vw,34px); line-height:1.12; }
.gse-event-card__location { margin:0; color:var(--gse-muted); font-size:14px; font-weight:700; }
.gse-event-card__description,.gse-event-card__details-text { max-width:780px; margin-top:15px; color:#455149; font-size:15px; line-height:1.65; }
.gse-event-card__description p,.gse-event-card__details-text p { margin:0 0 8px; }
.gse-event-card__actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:18px; padding-top:15px; border-top:1px solid rgba(23,34,27,.1); }
.gse-event-card__info-button,.gse-event-card__link { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; margin:0; padding:0 17px; border:1px solid var(--gse-accent); border-radius:11px; font:inherit; font-size:14px; font-weight:850; text-decoration:none!important; cursor:pointer; }
.gse-event-card__info-button { color:var(--gse-accent); background:var(--gse-surface); }
.gse-event-card__info-button span { font-size:18px; transition:transform .2s ease; }
.gse-event-card__info-button[aria-expanded="true"] span { transform:rotate(180deg); }
.gse-event-card__details { margin-top:15px; padding:16px; border-radius:12px; background:color-mix(in srgb,var(--gse-accent),#fff 94%); }
.gse-event-card__details[hidden] { display:none; }
.gse-event-card__gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; margin-top:14px; }
.gse-event-card__gallery img { display:block; width:100%; aspect-ratio:4/3; border-radius:10px; object-fit:cover; }
.gse-event-card__link { color:#fff!important; background:var(--gse-accent); }
.gse-public-events__empty { display:grid; gap:5px; padding:36px; border:1px dashed rgba(23,34,27,.2); border-radius:var(--gelsendiele-radius,20px); background:var(--gse-surface); text-align:center; }
.gse-public-events__empty[hidden] { display:none; }
.gse-public-events__empty span { color:var(--gse-muted); }
.gse-event-popup { --gse-accent:var(--gelsendiele-primary,#149447); position:fixed; z-index:999999; inset:0; display:grid; place-items:center; padding:24px; font-family:inherit; }
.gse-event-popup[hidden] { display:none; }
.gse-event-popup__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(8,14,10,.72); cursor:pointer; backdrop-filter:blur(5px); }
.gse-event-popup__dialog { position:relative; display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden; width:min(860px,100%); max-height:min(700px,calc(100vh - 48px)); border-radius:24px; background:#fff; box-shadow:0 30px 100px rgba(0,0,0,.4); }
.gse-event-popup__dialog.has-image { grid-template-columns:minmax(220px,42%) minmax(0,1fr); }
.gse-event-popup__dialog figure { min-height:360px; margin:0; background:#dfe7e1; }
.gse-event-popup__dialog figure img { display:block; width:100%; height:100%; object-fit:cover; }
.gse-event-popup__content { overflow:auto; padding:44px 42px; color:#17221b; }
.gse-event-popup__content>span { color:var(--gse-accent); font-size:12px; font-weight:850; letter-spacing:.04em; }
.gse-event-popup__content h2 { margin:9px 0 15px; color:#17221b; font-size:clamp(30px,5vw,48px); line-height:1.02; }
.gse-event-popup__content div { color:#536057; line-height:1.65; }
.gse-event-popup__content a { display:inline-flex; margin-top:18px; padding:12px 17px; border-radius:10px; color:#fff!important; background:var(--gse-accent); font-weight:800; text-decoration:none!important; }
.gse-event-popup__close { position:absolute; z-index:2; top:12px; right:12px; display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(23,34,27,.12); border-radius:999px; color:#17221b; background:rgba(255,255,255,.92); font-size:25px; cursor:pointer; }
body.gse-popup-open { overflow:hidden; }
.gse-event-popup__dialog--multiple { grid-template-columns:repeat(2,minmax(0,1fr)); width:min(1140px,100%); max-height:calc(100dvh - 48px); overflow:auto; }
.gse-event-popup__event { min-width:0; display:flex; flex-direction:column; background:#fff; }
.gse-event-popup__event + .gse-event-popup__event { border-left:1px solid #e2e8e2; }
.gse-event-popup__dialog--multiple .gse-event-popup__event figure { flex:0 0 auto; height:clamp(180px,30vh,290px); min-height:0; }
.gse-event-popup__dialog--multiple .gse-event-popup__event figure img { object-fit:contain; }
.gse-event-popup__dialog--multiple .gse-event-popup__content { flex:1; display:flex; flex-direction:column; overflow:visible; padding:28px 30px 32px; }
.gse-event-popup__dialog--multiple .gse-event-popup__content h2 { font-size:clamp(26px,3vw,38px); overflow-wrap:anywhere; }
.gse-event-popup__dialog--multiple .gse-event-popup__content > div { margin-bottom:22px; }
.gse-event-popup__dialog--multiple .gse-event-popup__content a { align-self:flex-start; margin-top:auto; }
@media (max-width:900px) {
  .gse-event-card.has-image { grid-template-columns:90px minmax(0,1fr); }
  .gse-event-card.has-image .gse-event-card__date { grid-row:1/3; }
  .gse-event-card__image { grid-column:2; min-height:190px; }
  .gse-event-card__image img { min-height:190px; max-height:250px; }
  .gse-event-card.has-image .gse-event-card__content { grid-column:2; }
}
@media (max-width:700px) {
  .gelsensystem-events-page { padding:34px 0 52px; }
  .gse-public-events__header { margin-bottom:24px; }
  .gse-public-events__header p { font-size:16px; }
  .gse-public-events__filters { align-items:stretch; flex-direction:column; }
  .gse-public-events__filter-buttons { display:grid; grid-template-columns:repeat(3,1fr); }
  .gse-public-events__filter-buttons button { justify-content:center; padding:0 7px; font-size:11px; }
  .gse-public-events__filters>label { width:100%; }
  .gse-event-card { grid-template-columns:76px minmax(0,1fr); border-radius:17px; }
  .gse-event-card__date { min-height:100%; padding:20px 10px; }
  .gse-event-card__date strong { font-size:31px; }
  .gse-event-card__date span { font-size:11px; }
  .gse-event-card__content { padding:20px 18px 22px; }
  .gse-event-card__image { min-height:150px; }
  .gse-event-card__image img { min-height:150px; max-height:185px; }
  .gse-event-card h2 { font-size:24px; }
  .gse-event-card__description,.gse-event-card__details-text { font-size:14px; }
  .gse-event-popup { padding:13px; }
  .gse-event-popup__dialog,.gse-event-popup__dialog.has-image { grid-template-columns:1fr; max-height:calc(100vh - 26px); border-radius:18px; }
  .gse-event-popup__dialog figure { min-height:180px; max-height:230px; }
  .gse-event-popup__content { padding:24px 21px 28px; }
  .gse-event-popup__dialog--multiple { overflow:auto; }
  .gse-event-popup__event + .gse-event-popup__event { border-left:0; border-top:1px solid #e2e8e2; }
  .gse-event-popup__dialog--multiple .gse-event-popup__content { padding:24px 21px 28px; }
}

/* Compact mobile popup: keep the page visible around both events. */
@media (max-width:700px) {
  .gse-event-popup {
    --gse-mobile-gap:clamp(24px,7vh,60px);
    --gse-mobile-gap:clamp(24px,7dvh,60px);
    padding:var(--gse-mobile-gap) 24px;
  }
  .gse-event-popup__backdrop {
    background:rgba(8,14,10,.46);
    backdrop-filter:blur(2px);
  }
  .gse-event-popup__dialog,
  .gse-event-popup__dialog.has-image {
    width:min(370px,100%);
    max-height:calc(100vh - var(--gse-mobile-gap) * 2);
    max-height:calc(100dvh - var(--gse-mobile-gap) * 2);
    overflow:auto;
  }
  .gse-event-popup__dialog figure {
    height:clamp(120px,20vh,170px);
    height:clamp(120px,20dvh,170px);
    min-height:0;
    max-height:170px;
  }
  .gse-event-popup__dialog figure img {
    max-height:100%;
    object-fit:contain;
  }
  .gse-event-popup__content {
    padding:18px 18px 20px;
  }
  .gse-event-popup__content h2 {
    margin:6px 0 10px;
    font-size:26px;
    line-height:1.15;
    overflow-wrap:anywhere;
  }
  .gse-event-popup__content > span {
    display:block;
    font-size:11px;
    line-height:1.4;
    letter-spacing:0;
  }
  .gse-event-popup__content div,
  .gse-event-popup__content p {
    font-size:13px;
    line-height:1.45;
  }
  .gse-event-popup__content p {
    margin:0 0 6px;
  }
  .gse-event-popup__content a {
    align-items:center;
    justify-content:center;
    min-height:40px;
    margin-top:10px;
    padding:8px 14px;
    font-size:13px;
    line-height:1.3;
  }
  .gse-event-popup__close {
    top:7px;
    right:7px;
    width:40px;
    height:40px;
  }
  .gse-event-popup__dialog--multiple .gse-event-popup__event figure {
    height:clamp(80px,18vh,145px);
    height:clamp(80px,18dvh,145px);
    min-height:0;
    max-height:145px;
  }
  .gse-event-popup__dialog--multiple .gse-event-popup__content {
    padding:12px 16px 14px;
  }
  .gse-event-popup__dialog--multiple .gse-event-popup__content h2 {
    margin:5px 0 8px;
    font-size:22px;
    line-height:1.15;
  }
  .gse-event-popup__dialog--multiple .gse-event-popup__content > div {
    margin-bottom:0;
  }
  .gse-event-popup__dialog--multiple .gse-event-popup__content a {
    margin-top:10px;
  }
}

/* Keep both events usable on phones with less vertical space. */
@media (max-width:700px) and (max-height:650px) {
  .gse-event-popup__dialog--multiple .gse-event-popup__event figure {
    height:clamp(64px,13vh,90px);
    height:clamp(64px,13dvh,90px);
    max-height:90px;
  }
}
