/* ================================================================
   termine-styles.css
   ================================================================
   VERSION: 11
   ABLAGEORT: /site/templates/styles/termine-styles.css

   Nur die Events-spezifischen Klassen (Kalender/Filter/Karten/
   Lightbox/Banner) - Seiten-Header nutzt die bereits global
   verfuegbare .page-header-Klasse (wie bei Speisekarte/Mein Riva).
   ================================================================ */

.events-wrap{padding:60px 0 90px;}

/* ---------- Zwei Boxen oben: Fussball / Fruehstueck ---------- */
.ev-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:50px;align-items:start;}
.ev-box{background:var(--surface-alt);border:1px solid var(--line);border-radius:3px;padding:22px 24px;}
.ev-box h3{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:16px;letter-spacing:.02em;margin-bottom:14px;color:var(--text);}
.ev-box-scroll{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:4px;}
.ev-box-empty{font-size:14px;color:var(--text-muted);}
.ev-box-row{
  display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:2px;
  background:var(--surface);cursor:pointer;transition:background .2s var(--ease);
}
.ev-box-row:hover{background:var(--navy);color:#fff;}
.ev-box-row:hover .ev-box-date{color:var(--accent);}
.ev-box-date{flex:0 0 auto;font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;color:var(--accent-deep);min-width:38px;}
.ev-box-title{flex:1;min-width:0;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ev-box-kickoff{margin-left:8px;font-size:12px;color:var(--text-muted);font-weight:300;}
@media(max-width:820px){ .ev-split-grid{grid-template-columns:1fr;} }

/* ---------- Fruehstueck: zwei gestapelte, klickbare Bild-Karten ---------- */
.ev-brunch-col{display:flex;flex-direction:column;gap:18px;}
.ev-brunch-card{
  display:flex;align-items:center;gap:18px;background:var(--surface-alt);border:1px solid var(--line);
  border-radius:3px;overflow:hidden;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.ev-brunch-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);}
.ev-brunch-imgwrap{flex:0 0 130px;aspect-ratio:1/1;position:relative;background:var(--surface);}
.ev-brunch-imgwrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ev-brunch-imgwrap .ph-flat{position:absolute;inset:0;border:none;border-radius:0;}
.ev-brunch-text{padding:16px 20px 16px 0;min-width:0;}
.ev-brunch-text .script{font-size:19px;display:block;}
.ev-brunch-text h3{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:19px;letter-spacing:.01em;margin-top:3px;}
@media(max-width:480px){
  .ev-brunch-imgwrap{flex-basis:100px;}
  .ev-brunch-text{padding:12px 14px 12px 0;}
}

/* ---------- Fussball-Modal: Team-Titel + Anpfiff nebeneinander ---------- */
.ev-modal-kickoff{display:block;font-size:13.5px;font-weight:400;color:var(--text-muted);letter-spacing:.02em;margin-top:4px;}

/* ---------- Kalender ---------- */
.cal-section{margin-bottom:56px;}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:12px;}
.cal-head h2{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:23px;letter-spacing:.01em;}
.cal-nav{display:flex;gap:8px;}
.cal-nav button{
  width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--text-muted);
  transition:all .3s var(--ease);
}
.cal-nav button:hover{background:var(--navy);border-color:var(--navy);color:#fff;}

.cal-quarter{
  display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
  background:var(--line);border-radius:2px;overflow:hidden;
}
.cal-month{background:var(--surface-alt);padding:20px 22px 24px;}
.cal-month-label{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:14.5px;letter-spacing:.03em;color:var(--text);margin-bottom:14px;text-align:center;}
.cal-weekdays,.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;}
.cal-weekdays span{font-size:10.5px;font-weight:600;color:var(--text-muted);letter-spacing:.03em;padding-bottom:8px;}
.cal-day{
  aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:12.5px;color:var(--text-muted);border-radius:50%;position:relative;
}
.cal-day.empty{visibility:hidden;}
.cal-day.has-event{cursor:pointer;color:var(--text);font-weight:600;transition:background .25s var(--ease),color .25s var(--ease);}
.cal-day.has-event:hover{background:var(--navy);color:#fff;}
.cal-day .dots{display:flex;gap:2px;margin-top:2px;}
.cal-day .dot{width:5px;height:5px;border-radius:50%;background:var(--accent-deep);}
.cal-day.weight-high .dot{width:6px;height:6px;background:var(--navy);}
.cal-day.has-event:hover .dot{background:#fff;}
.cal-day .count{
  position:absolute;top:1px;right:1px;background:var(--accent);color:var(--navy);
  font-size:8px;font-weight:700;border-radius:50%;width:13px;height:13px;
  display:flex;align-items:center;justify-content:center;line-height:1;
}
.cal-legend{display:flex;gap:22px;margin-top:22px;flex-wrap:wrap;}
.cal-legend div{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-muted);}
.cal-legend .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;}
.cal-legend .dot.high{background:var(--navy);}
.cal-legend .dot.normal{background:var(--accent-deep);}

/* ---------- Karten-Grid ---------- */
.ev-empty{grid-column:1/-1;text-align:center;color:var(--text-muted);padding:40px 0;font-size:15px;}
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;grid-auto-flow:dense;}
.ev-card{
  background:var(--surface);border:1px solid var(--line);border-radius:2px;overflow:hidden;
  display:flex;flex-direction:column;cursor:pointer;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.ev-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-2);}
.ev-card.featured{grid-column:1 / -1;}
.ev-card.featured .ev-imgwrap{aspect-ratio:3.4/1;}
.ev-card.featured .ev-body{padding:26px 28px;}
.ev-card.featured h3{font-size:25px;}
.ev-card.featured .ev-teaser{font-size:16px;max-width:640px;}

.ev-date{
  background:var(--surface-alt);text-align:center;padding:12px;
  font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent-deep);border-bottom:1px solid var(--line);
}
.ev-imgwrap{position:relative;aspect-ratio:1/1;background:var(--surface-alt);}
.ev-imgwrap .ph-flat{position:absolute;inset:0;border:none;border-radius:0;}
.ev-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease;}
.ev-photo.loaded{opacity:1;}
.ev-badge{
  position:absolute;top:14px;left:14px;z-index:2;background:var(--accent);color:var(--navy);
  font-family:'Oswald',sans-serif;font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 12px;border-radius:20px;
}
.ev-badge.featured-badge{background:var(--navy);color:var(--accent);}
.ev-body{padding:20px;display:flex;flex-direction:column;gap:7px;flex:1;}
.ev-body h3{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:19px;letter-spacing:.01em;}
.ev-sub{font-family:'Caveat',cursive;font-weight:600;font-size:30px;color:var(--accent-deep);}
.ev-teaser{font-size:15px;color:var(--text-muted);font-weight:300;line-height:1.55;}
.ev-actions{margin-top:auto;padding-top:14px;}
.ev-drittanbieter-hinweis{font-size:11px;color:var(--text-muted);line-height:1.5;margin:8px 0 0;text-align:left;}
.ev-actions .btn{display:block;width:100%;text-align:center;font-size:14.5px;padding:11px 10px;}

.g-foot{text-align:center;margin-top:48px;}
.g-foot p{font-size:15.5px;color:var(--text-muted);margin-bottom:18px;}

@media(max-width:980px){
  .cal-quarter{grid-template-columns:repeat(2,1fr);}
  .ev-grid{grid-template-columns:1fr;}
  .ev-card.featured .ev-imgwrap{aspect-ratio:1/1;}
}
@media(max-width:640px){
  .cal-quarter{grid-template-columns:1fr;}
}

/* ---------- Lightbox (teilt sich .modal-overlay/.modal-box mit anderen
   Seiten - hier nur die Events-spezifischen Innenteile) ---------- */
.modal-highlight{
  background:var(--surface-alt);border-left:3px solid var(--accent);
  padding:14px 18px;margin:18px 0;font-size:15px;line-height:1.6;color:var(--text);
}
.modal-meta{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0;padding:16px 0;border-top:1px dotted var(--line);border-bottom:1px dotted var(--line);}

/* ---------- Event-Galerie im Modal ---------- */
.modal-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:7px;margin:18px 0;}
.ev-gal-item{position:relative;aspect-ratio:1/1;border-radius:3px;overflow:hidden;}
.ev-gal-item img{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:transform .3s var(--ease);display:block;}
.ev-gal-item img:hover{transform:scale(1.06);}
.ev-gal-del{
  position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;
  background:rgba(20,20,20,.75);color:#fff;border:none;cursor:pointer;
  font-size:13px;line-height:1;transition:background .2s var(--ease);
}
.ev-gal-del:hover{background:#B23B3B;}

/* Einfache Lightbox fuer Galerie-Vollbilder: JETZT GLOBAL in
   header-styles.css (.gal-lightbox), damit gutscheine.php sie fuer
   die Ticket-Flyer mitnutzen kann - hier nicht mehr noetig. */
.modal-meta div{font-size:13.5px;color:var(--text-muted);}
.modal-meta b{display:block;font-family:'Oswald',sans-serif;font-weight:600;font-size:16px;color:var(--text);margin-top:3px;}
.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}
.modal-date{font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);font-weight:600;}
.modal-sub{font-family:'Caveat',cursive;font-weight:600;font-size:19px;color:var(--accent-deep);display:block;margin-top:4px;}
.day-list{display:flex;flex-direction:column;gap:2px;margin-top:20px;background:var(--line);border-radius:2px;overflow:hidden;}
.day-row{
  background:var(--surface);padding:15px 18px;display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;transition:background .25s var(--ease);
}
.day-row:hover{background:var(--surface-alt);}
.day-row h4{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:15px;}
.day-row-arrow{color:var(--accent-deep);font-size:15px;flex:0 0 auto;margin-left:12px;}

@media(max-width:760px){
  .wrap.events-wrap{padding-left:30px;padding-right:30px;}
}