﻿/* AMCOB Events Discovery — self-contained under #events-discovery
   Host sites may override these tokens; defaults match AMCOB brand. */
:root {
  --purple: #7C55C6;
  --teal: #2AA6C4;
}
#events-discovery {
  --navy: #2D3C69;
  --navy2: #243156;
  --navy-d: #1A2440;
  --gold: #CE8924;
  --gold-l: #E4A63F;
  --gold-soft: #F6E6C9;
  --grn: #1E9E6A;
  --red: #DC4C4C;
  --bg: #F6F7FB;
  --card: #ffffff;
  --line: #E7E9F1;
  --t1: #1B2340;
  --t2: #5A6386;
  --t3: #9098B4;
  --radius: 14px;
  --shadow: 0 12px 30px rgba(28, 38, 74, .08);
  --shadow-sm: 0 5px 16px rgba(28, 38, 74, .06);
  color: var(--t1);
}
#events-discovery .wrap-full { max-width: none; }
#events-discovery section.blk { padding: 34px 0; }

/* Portable button + card baselines (safe if host style.css differs) */
#events-discovery .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: 10px;
  padding: 11px 18px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
  transition: .18s;
}
#events-discovery .btn-gold { background: var(--gold); color: #fff; box-shadow: 0 10px 26px rgba(206, 137, 36, .4); }
#events-discovery .btn-navy { background: var(--navy); color: #fff; }
#events-discovery .btn-navy:hover { background: var(--navy2); transform: translateY(-2px); }
#events-discovery .btn-glass {
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .28);
  color: #fff;
  backdrop-filter: blur(8px);
}
#events-discovery .ecard {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  transition: .28s;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}
#events-discovery a.ecard:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
#events-discovery .ecard[aria-disabled="true"] {
  cursor: default;
}
#events-discovery .ecard:hover { transform: translateY(-6px); box-shadow: var(--shadow); border-color: transparent; }
#events-discovery .ecard .thumb {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e9ebf3;
  display: block;
}
#events-discovery .ecard .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
  opacity: 1;
}
#events-discovery .ecard:hover .thumb img { transform: scale(1.06); }
#events-discovery .ecard .body { padding: 18px; display: flex; flex-direction: column; flex: 1; }
#events-discovery .ecard h3 { font-size: 17.5px; font-weight: 800; line-height: 1.25; margin: 0; }
#events-discovery .ecard .loc {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13.5px;
  color: var(--t2);
  margin-top: 10px;
}
#events-discovery .ecard .loc svg { width: 15px; height: 15px; color: var(--gold); flex: none; }
#events-discovery .ecard .foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
#events-discovery .datebadge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #fff;
  border-radius: 12px;
  text-align: center;
  padding: 7px 11px;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
}
#events-discovery .datebadge b { display: block; font-size: 19px; font-weight: 800; color: var(--navy); }
#events-discovery .datebadge span {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--gold);
}
#events-discovery .tag {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(20, 20, 40, .55);
  backdrop-filter: blur(6px);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .5px;
  padding: 6px 11px;
  border-radius: 99px;
  text-transform: uppercase;
}
#events-discovery .pricepill {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(255, 255, 255, .95);
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
  padding: 5px 11px;
  border-radius: 99px;
  pointer-events: none;
  box-shadow: 0 3px 8px rgba(0, 0, 0, .12);
}
#events-discovery .attend { display: flex; align-items: center; }
#events-discovery .attend i {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid #fff;
  margin-left: -8px;
  display: block;
  flex: none;
  background-size: cover;
  background-position: center;
}
#events-discovery .attend i:first-child { margin-left: 0; }
#events-discovery .attend span { font-size: 12.5px; font-weight: 700; color: var(--t2); margin-left: 9px; }
#events-discovery .reg {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
}
#events-discovery .reg svg { width: 15px; height: 15px; transition: .2s; }
#events-discovery .ecard:hover .reg svg { transform: translateX(3px); }
#events-discovery .reg.join { color: var(--red); }
#events-discovery .loadmore {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 26px;
}
#events-discovery .loadmore-error {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--red);
}
/* ===== HERO SLIDER (event banners) ===== */
.hero{position:relative;overflow:hidden;background:var(--navy-d)}
.heroslider{position:relative;height:340px}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.slide.active{opacity:1;pointer-events:auto}
.slide .sbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide .sov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,15,30,.9) 0%,rgba(18,25,50,.74) 44%,rgba(18,25,50,.32) 76%,rgba(18,25,50,.12) 100%)}
.slide .sin{position:relative;z-index:2;height:100%;max-width:1280px;margin:0 auto;padding:0 clamp(18px,3.5vw,40px);display:flex;flex-direction:column;justify-content:center;color:#fff}
.slide .seye{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-l)}
.slide .seye .sdot{width:7px;height:7px;border-radius:50%;background:var(--gold-l);box-shadow:0 0 0 4px rgba(228,166,63,.2)}
.slide h2{font-family:'Playfair Display',serif;font-size:clamp(28px,3.8vw,46px);font-weight:800;line-height:1.05;margin:12px 0 0;max-width:640px}
.slide .smeta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:16px}
.slide .smeta div{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:rgba(255,255,255,.9)}
.slide .smeta svg{width:16px;height:16px;color:var(--gold-l);flex:none}
.slide .scta{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.hs-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(13,17,34,.4);backdrop-filter:blur(6px);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.hs-arrow:hover{background:var(--gold);border-color:var(--gold)}
.hs-arrow.prev{left:18px}.hs-arrow.next{right:18px}
.hs-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:8px}
.hs-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:.25s}
.hs-dots i.on{background:var(--gold);width:24px;border-radius:99px}

/* SEARCH + QUICK FILTERS (below hero) */
.searchwrap{position:relative;z-index:20;margin-top:-30px;margin-bottom:4px}
.hsearch{background:#fff;border-radius:14px;padding:7px;display:grid;grid-template-columns:1.7fr 1fr 1fr auto;gap:6px;box-shadow:0 16px 34px rgba(10,15,35,.16);border:1px solid var(--line)}
.hsearch .fld{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:9px;border:1px solid transparent}
.hsearch .fld+.fld{border-left:1px solid var(--line)}
.hsearch .fld svg{width:17px;height:17px;color:var(--gold);flex:none}
.hsearch .fld label{display:block;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--t3)}
.hsearch .fld input,.hsearch .fld select{border:none;outline:none;font-family:inherit;font-size:14px;font-weight:600;color:var(--t1);background:transparent;width:100%;cursor:pointer}
.hsearch .fld input{cursor:text}
.hsearch .go{justify-content:center;height:100%;border-radius:9px}

/* ===== EVENTS EXPLORER ===== */
.explorer{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);padding:18px}
.ex-search{display:flex;align-items:center;gap:11px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 15px;margin-bottom:16px;transition:.18s}
.ex-search:focus-within{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(206,137,36,.1)}
.ex-search svg{width:19px;height:19px;color:var(--gold);flex:none}
.ex-search input{border:none;outline:none;background:transparent;font-family:inherit;font-size:15px;font-weight:600;color:var(--t1);width:100%}
.ex-search input::placeholder{color:var(--t3);font-weight:500}
.ex-search input::-webkit-search-cancel-button{display:none}
.ex-clear{border:none;background:var(--line);color:var(--t2);width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:12px;line-height:1;flex:none;transition:.15s}
.ex-clear:hover{background:var(--navy);color:#fff}
.ex-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.viewsw{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:99px;padding:4px;gap:3px}
.viewsw button{border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:13px;font-weight:800;color:var(--t2);padding:8px 14px;border-radius:99px;transition:.18s;display:inline-flex;align-items:center;gap:6px}
.viewsw button svg{width:15px;height:15px}
.viewsw button:hover{color:var(--navy)}
.viewsw button.active{background:var(--navy);color:#fff}
.seg{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:99px;padding:4px;gap:3px}
.seg-btn{position:relative;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;color:var(--t2);padding:8px 15px;border-radius:99px;transition:.2s;display:inline-flex;align-items:center;gap:7px}
.seg-btn:hover{color:var(--navy)}
.seg-btn.active{background:var(--gold);color:#fff}
.seg-btn .cnt{font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:99px;background:var(--line);color:var(--t2)}
.seg-btn.active .cnt{background:rgba(255,255,255,.24);color:#fff}
.seg-btn .livedot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(220,76,76,.6);animation:pulse 1.6s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 6px rgba(220,76,76,0)}100%{box-shadow:0 0 0 0 rgba(220,76,76,0)}}
.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.flabel{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--t3)}
.fchip{padding:7px 13px;border-radius:99px;font-size:12.5px;font-weight:700;background:#fff;border:1px solid var(--line);color:var(--t2);cursor:pointer;transition:.18s;display:inline-flex;align-items:center;gap:6px}
.fchip:hover{border-color:var(--gold);color:var(--gold)}
.fchip.active{background:var(--navy);border-color:var(--navy);color:#fff}
.fchip .dotc{width:8px;height:8px;border-radius:50%}
.fselect{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:12.5px;font-weight:700;color:var(--t2)}
.fselect svg{width:14px;height:14px;color:var(--gold)}
.fselect select{border:none;outline:none;font-family:inherit;font-weight:700;color:var(--navy);background:transparent;cursor:pointer}
.filters .spacer{flex:1}
.loc-wrap{position:relative}
.loc-btn{gap:6px}
.loc-btn svg{width:14px;height:14px}
.loc-btn .chev{width:12px;height:12px;transition:.2s}
.loc-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.loc-btn.on{background:var(--navy);border-color:var(--navy);color:#fff}
.loc-count{font-weight:800}
.loc-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:236px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px;display:flex;flex-direction:column;gap:11px}
.loc-pop[hidden]{display:none}
.loc-pop .lgrp label{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--t3);margin-bottom:5px}
.loc-pop .lf{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.loc-pop .lf svg{width:15px;height:15px;color:var(--gold);flex:none}
.loc-pop .lf select{border:none;outline:none;background:transparent;font-family:inherit;font-weight:700;font-size:13.5px;color:var(--navy);width:100%;cursor:pointer}
.result-count{font-size:12.5px;color:var(--t2);font-weight:700}
.result-count b{color:var(--navy)}
.clearf{
  display:none!important;
  align-items:center;justify-content:center;gap:6px;
  font-size:13px;font-weight:800;padding:8px 16px;border-radius:50px;
  color:var(--navy);background:#fff;border:1.5px solid var(--line);
  box-shadow:none;white-space:nowrap;cursor:pointer;font-family:inherit;
  transition:border-color .18s,color .18s,transform .18s,box-shadow .18s
}
.clearf.show{display:inline-flex!important}
.clearf:hover{
  border-color:var(--gold);color:var(--gold);
  transform:translateY(-1px);box-shadow:0 6px 16px rgba(28,38,74,.08)
}
.clearf svg{width:14px;height:14px;flex:none}
.view{margin-top:18px}
.view[hidden]{display:none}

/* GRID */
.egrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ecard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.22s;cursor:pointer;display:flex;flex-direction:column;color:inherit;text-decoration:none}
.ecard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
a.ecard:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.ecard .thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#e9ebf3}
.ecard .thumb img{width:100%;height:100%;object-fit:cover;transition:.4s;opacity:1!important;display:block}
.ecard:hover .thumb img{transform:scale(1.05)}
.datebadge{position:absolute;top:10px;left:10px;background:#fff;border-radius:10px;text-align:center;padding:6px 9px;line-height:1;box-shadow:0 6px 14px rgba(0,0,0,.16)}
.datebadge b{display:block;font-size:16px;font-weight:800;color:var(--navy)}
.datebadge span{font-size:9.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--gold)}
.tag{position:absolute;top:10px;right:10px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.4px;padding:5px 9px;border-radius:99px;text-transform:uppercase;box-shadow:0 5px 12px rgba(0,0,0,.18)}
.fmt{position:absolute;bottom:10px;right:10px;background:rgba(255,255,255,.95);color:var(--navy);font-size:10px;font-weight:800;padding:4px 8px;border-radius:99px;display:inline-flex;align-items:center;gap:4px}
.fmt svg{width:12px;height:12px;color:var(--gold)}
.pricepill{position:absolute;bottom:10px;left:10px;background:rgba(255,255,255,.95);color:var(--navy);font-size:11.5px;font-weight:800;padding:5px 10px;border-radius:99px}
.ecard .body{padding:12px 13px 13px;display:flex;flex-direction:column;flex:1}
.ecard h3{font-size:14.5px;font-weight:800;line-height:1.24}
.ecard .loc{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--t2);margin-top:7px}
.ecard .loc svg{width:13px;height:13px;color:var(--gold);flex:none}
.ecard .foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.attend{display:flex;align-items:center}
.attend i{width:24px;height:24px;border-radius:50%;border:2px solid #fff;margin-left:-8px;background-size:cover;background-position:center;display:block}
.attend i:first-child{margin-left:0}
.attend span{font-size:11.5px;font-weight:700;color:var(--t2);margin-left:9px}
.reg{font-size:12.5px;font-weight:800;color:var(--gold);display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.reg svg{width:14px;height:14px;transition:.2s}
.ecard:hover .reg svg{transform:translateX(3px)}
.ecard.live .tag{background:var(--red)!important;display:inline-flex;align-items:center;gap:5px}
.ecard.live .tag i{width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse 1.6s infinite}
.reg.join{color:var(--red)}
.ecard.past .thumb img{filter:grayscale(.22) brightness(.97)}
.ecard.past:hover .thumb img{filter:none}
.photos{position:absolute;bottom:10px;left:10px;display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.95);color:var(--navy);font-size:11px;font-weight:800;padding:5px 9px;border-radius:99px}
.photos svg{width:13px;height:13px;color:var(--gold)}
.recap{font-size:12.5px;font-weight:800;color:var(--navy);display:inline-flex;align-items:center;gap:5px}
.recap svg{width:14px;height:14px}

/* LIST */
.daygroup{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:16px 0;border-top:1px solid var(--line)}
.daygroup:first-child{border-top:none;padding-top:4px}
.daycol{position:sticky;top:74px;align-self:start}
.daycol .dnum{font-family:'Playfair Display',serif;font-size:25px;font-weight:800;color:var(--navy);line-height:1}
.daycol .dwd{font-size:12px;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.4px;margin-top:3px}
.daycol .dmo{font-size:12px;color:var(--t3);font-weight:600}
.listcol{display:flex;flex-direction:column;gap:10px}
.lrow{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;transition:.18s;cursor:pointer}
.lrow:hover{border-color:transparent;box-shadow:var(--shadow-sm);transform:translateX(3px)}
.lrow .lthumb{width:96px;height:70px;border-radius:10px;object-fit:cover;flex:none;background:#e9ebf3}
.lrow .lbody{flex:1;min-width:0}
.lrow .ltop{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.lrow .lcat{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;padding:3px 8px;border-radius:99px;color:#fff}
.lrow .ltime{font-size:12px;font-weight:700;color:var(--t2);display:inline-flex;align-items:center;gap:5px}
.lrow .ltime svg{width:12px;height:12px;color:var(--gold)}
.lrow h4{font-size:15px;font-weight:800;color:var(--t1);line-height:1.2}
.lrow .lloc{font-size:12.5px;color:var(--t2);margin-top:3px;display:flex;align-items:center;gap:6px}
.lrow .lloc svg{width:13px;height:13px;color:var(--gold);flex:none}
.lrow .lright{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:none}
.lrow .lprice{font-size:13.5px;font-weight:800;color:var(--navy)}
.lrow .lbtn{font-size:12px;font-weight:800;color:#fff;background:var(--gold);padding:7px 14px;border-radius:99px}

/* CALENDAR */
.cal-wrap{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}
.cal-main{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap}
.cal-title{font-family:'Playfair Display',serif;font-size:24px;font-weight:800;color:var(--navy)}
.cal-ctrls{display:flex;align-items:center;gap:7px}
.cal-ctrls .today{font-size:12px;font-weight:800;color:#fff;background:var(--gold);border:none;border-radius:50px;padding:9px 18px;cursor:pointer;transition:.18s;box-shadow:0 8px 20px rgba(206,137,36,.32)}
.cal-ctrls .today:hover{background:var(--gold-l);transform:translateY(-1px);color:#fff}
.cal-nav{display:flex;gap:6px}
.cal-nav button{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.18s}
.cal-nav button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.cal-nav svg{width:15px;height:15px}
.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:7px}
.cal-dow span{text-align:center;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--t3);padding:3px 0}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cell{min-height:120px;border-radius:12px;border:1px solid #EEF0F6;background:#fff;padding:9px 9px 8px;position:relative;transition:.15s;display:flex;flex-direction:column;gap:4px;overflow:hidden}
.cell.other{background:#fbfcfe}
.cell.other .dn{color:var(--t3)}
.cell.has{cursor:pointer}
.cell.has:hover{border-color:var(--gold);box-shadow:0 8px 18px rgba(206,137,36,.13);transform:translateY(-1px)}
.cell .dn{font-size:13px;font-weight:800;color:var(--t1);margin-bottom:1px}
.cell.today{background:#fbfcff;border-color:rgba(45,60,105,.28)}
.cell.today .dn{background:var(--navy);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}
.cell.sel{border-color:var(--navy);box-shadow:0 0 0 2px var(--navy) inset}
.chip{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--t1);background:var(--bg);border-radius:8px;padding:4px 8px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip i{width:7px;height:7px;border-radius:50%;background:var(--cc);flex:none}
.chip em{font-style:normal;font-weight:800;color:var(--cc)}
.chip.past{opacity:.6}
.cell .more{font-size:10.5px;font-weight:800;color:var(--t2);padding-left:3px;margin-top:1px}
.cell .cdot{position:absolute;top:9px;right:9px;display:flex;gap:3px}
.cell .cdot i{width:5px;height:5px;border-radius:50%}
.cal-side{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;position:sticky;top:74px}
.cal-side .csh{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}
.cal-side h4{font-family:'Playfair Display',serif;font-size:17px;font-weight:800;color:var(--navy)}
.cal-side .csub{font-size:12px;color:var(--t3);font-weight:600;margin-bottom:11px}
.agenda{display:flex;flex-direction:column;gap:9px;max-height:480px;overflow-y:auto;margin:0 -3px;padding:0 3px}
.aev{display:flex;gap:11px;padding:10px;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:.16s;align-items:center}
.aev:hover{border-color:transparent;box-shadow:var(--shadow-sm)}
.aev .abar{width:4px;align-self:stretch;border-radius:4px;flex:none}
.aev .athumb{width:44px;height:44px;border-radius:9px;object-fit:cover;flex:none;background:#e9ebf3}
.aev .abody{min-width:0;flex:1}
.aev .acat{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}
.aev .abody b{display:block;font-size:13.5px;font-weight:800;color:var(--t1);line-height:1.2;margin:2px 0}
.aev .ameta{font-size:11.5px;color:var(--t2);display:flex;align-items:center;gap:5px}
.aev .ameta svg{width:12px;height:12px;color:var(--gold);flex:none}
.cal-empty{text-align:center;color:var(--t3);font-size:13px;padding:30px 10px}
.cal-empty svg{width:36px;height:36px;color:var(--line);margin:0 auto 10px;display:block}
.cal-legend{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--t2);font-weight:600}
.cal-legend span{display:inline-flex;align-items:center;gap:6px}
.cal-legend i{width:8px;height:8px;border-radius:3px}

/* MAP */
.map-wrap{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}
.map-main{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:500px;background:radial-gradient(130% 110% at 50% 0%,#eef2fb,#e1e7f4)}
.map-grid{position:absolute;inset:0;opacity:.6;background-image:linear-gradient(rgba(45,60,105,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(45,60,105,.06) 1px,transparent 1px);background-size:44px 44px}
.map-blob{position:absolute;border-radius:50%;pointer-events:none;filter:blur(3px)}
.map-hint{position:absolute;top:13px;left:50%;transform:translateX(-50%);z-index:3;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:99px;padding:6px 13px;font-size:11.5px;font-weight:700;color:var(--t2);box-shadow:var(--shadow-sm)}
.mpin{position:absolute;transform:translate(-50%,-100%);background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;z-index:4;font-family:inherit}
.mpin .mdot{width:38px;height:38px;border-radius:50% 50% 50% 3px;transform:rotate(45deg);background:var(--gold);box-shadow:0 8px 16px rgba(206,137,36,.45),0 0 0 4px rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;transition:.18s}
.mpin .mdot b{transform:rotate(-45deg);color:#fff;font-size:14px;font-weight:800}
.mpin .mlabel{font-size:11px;font-weight:800;color:var(--navy);background:rgba(255,255,255,.92);padding:2px 8px;border-radius:99px;box-shadow:0 4px 9px rgba(0,0,0,.12);white-space:nowrap}
.mpin:hover{z-index:6}.mpin:hover .mdot{transform:rotate(45deg) scale(1.1)}
.mpin.active .mdot{background:var(--navy);box-shadow:0 8px 18px rgba(45,60,105,.5),0 0 0 4px rgba(255,255,255,.9)}
.map-online{position:absolute;left:14px;bottom:14px;z-index:5;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:13px;padding:9px 13px;display:flex;align-items:center;gap:10px;cursor:pointer;box-shadow:var(--shadow-sm);transition:.18s}
.map-online:hover{transform:translateY(-2px)}
.map-online .oi{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#7C55C6,#5f3ba6);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.map-online .oi svg{width:17px;height:17px}
.map-online b{font-size:13px;font-weight:800;color:var(--navy);display:block;line-height:1.15}
.map-online span{font-size:11px;color:var(--t2)}
.map-online.active{border-color:var(--navy);box-shadow:0 0 0 2px var(--navy) inset}

/* CALENDAR v2 â€” Month / Week / Day (full width) */
.cal2-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.cal2-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;color:var(--navy);min-width:170px}
.cal2-ctrls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cal2-ctrls .today,
#calToday{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  font-family:inherit;font-size:13px;font-weight:800;letter-spacing:.02em;
  color:#fff;background:var(--gold);border:none;border-radius:50px;
  padding:9px 18px;cursor:pointer;
  box-shadow:0 8px 20px rgba(206,137,36,.32);
  transition:transform .18s,box-shadow .18s,background .18s
}
.cal2-ctrls .today:hover,
#calToday:hover{
  transform:translateY(-1px);
  background:var(--gold-l);
  box-shadow:0 12px 26px rgba(206,137,36,.42);
  color:#fff;border-color:transparent
}
.cal2-ctrls .today:focus-visible,
#calToday:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.cal2-modes{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:99px;padding:4px;gap:3px}
.cal2-modes button{border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:13px;font-weight:800;color:var(--t2);padding:7px 16px;border-radius:99px;transition:.18s}
.cal2-modes button:hover{color:var(--navy)}
.cal2-modes button.active{background:var(--navy);color:#fff}
/* month (reference: dark header, gridlines, colored event bars, compact) */
.c2cal{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.c2dow{display:grid;grid-template-columns:repeat(7,1fr);background:#2E3550}
.c2dow span{text-align:center;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.9);padding:9px 4px}
.c2dow span.today{background:#161b30;color:var(--gold-l)}
.c2grid{display:grid;grid-template-columns:repeat(7,1fr)}
.c2{min-height:74px;border-left:1px solid var(--line);border-top:1px solid var(--line);background:#fff;padding:5px 6px;display:flex;flex-direction:column;gap:3px;overflow:hidden}
.c2:nth-child(7n+1){border-left:none}
.c2.other{background:#fafbfe}.c2.other .dn{color:var(--t3)}
.c2.has{cursor:pointer}.c2.has:hover{background:#fbfbfe}
.c2 .dn{font-size:12px;font-weight:700;color:var(--t1);align-self:flex-start}
.c2.today .dn{background:var(--red);color:#fff;min-width:21px;height:21px;padding:0 5px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11.5px}
.c2evt{font-size:10.5px;font-weight:700;color:#fff;background:var(--cc);border-radius:4px;padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.c2more{font-size:10px;font-weight:800;color:var(--t2)}
/* week (reference: dark header, day numbers, colored event bars) */
.c2wk{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.wkhead{display:grid;grid-template-columns:repeat(7,1fr);background:#2E3550}
.wkhead span{text-align:center;font-size:12.5px;font-weight:700;color:rgba(255,255,255,.9);padding:11px 4px}
.wkhead span.today{background:#161b30;color:var(--gold-l)}
.wknums{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line)}
.wknum{padding:8px 10px;border-left:1px solid var(--line);font-size:13px;font-weight:800;color:var(--t1)}
.wknum:first-child{border-left:none}
.wknum.today span{background:var(--red);color:#fff;padding:2px 8px;border-radius:6px}
.wkbars{display:grid;grid-template-columns:repeat(7,1fr);min-height:70px}
.wkcol{border-left:1px solid var(--line);padding:8px 6px;display:flex;flex-direction:column;gap:5px}
.wkcol:first-child{border-left:none}
.wkbar{background:var(--cc);color:#fff;border-radius:6px;padding:6px 8px;cursor:pointer;transition:.15s}
.wkbar:hover{filter:brightness(1.06)}
.wkbar .wt{font-size:10px;font-weight:800;opacity:.9;display:block}
.wkbar b{font-size:11.5px;font-weight:700;line-height:1.2;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* day */
.c2day{display:flex;flex-direction:column;gap:10px}
.c2day-h{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;color:var(--t2);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 14px}
.c2day-h svg{width:14px;height:14px;color:var(--gold)}
.drow{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;transition:.15s}
.drow:hover{border-color:transparent;box-shadow:var(--shadow-sm);transform:translateX(3px)}
.drow .dtime{width:72px;flex:none;font-size:13.5px;font-weight:800;color:var(--navy)}
.drow .dbar{width:4px;align-self:stretch;border-radius:4px;flex:none}
.drow .dthumb{width:72px;height:54px;border-radius:10px;object-fit:cover;flex:none;background:#e9ebf3}
.drow .dinfo{flex:1;min-width:0}
.drow .dcat{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}
.drow .dinfo b{display:block;font-size:15px;font-weight:800;color:var(--t1);margin:2px 0}
.drow .dmeta{font-size:12.5px;color:var(--t2);display:flex;align-items:center;gap:6px}
.drow .dmeta svg{width:13px;height:13px;color:var(--gold);flex:none}
.drow .dprice{font-size:13.5px;font-weight:800;color:var(--navy);flex:none}
.cal-empty2{text-align:center;color:var(--t3);font-size:14px;padding:40px 10px}
.cal-empty2 svg{width:40px;height:40px;color:var(--line);margin:0 auto 10px;display:block}
.cal2-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:11.5px;color:var(--t2);font-weight:600}
.cal2-legend span{display:inline-flex;align-items:center;gap:6px}
.cal2-legend i{width:9px;height:9px;border-radius:3px}

/* AGENDA (onemax "Upcoming Events" â€” flat date strip) */
.ag2-bar{display:flex;align-items:center;gap:18px;margin-bottom:10px;flex-wrap:wrap}
.ag2-today{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--t2);background:none;border:none;cursor:pointer;font-family:inherit}
.ag2-today svg{width:15px;height:15px;color:var(--gold)}
.ag2-today:hover{color:var(--navy)}
.ag2-datenav{display:inline-flex;align-items:center;gap:12px}
.ag2-navb{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.ag2-navb svg{width:14px;height:14px}
.ag2-navb:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.ag2-month{font-size:14.5px;font-weight:800;color:var(--navy);min-width:118px;text-align:center}
.ag2-strip{display:flex;gap:2px;overflow-x:auto;padding:2px 0 5px;border-bottom:1px solid var(--line);margin-bottom:10px}
.ag2-strip::-webkit-scrollbar{height:6px}
.ag2-strip::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.amcell{flex:none;width:46px;padding:5px 4px 9px;text-align:center;cursor:pointer;border-radius:9px;position:relative;transition:.15s}
.amcell:hover{background:var(--bg)}
.amcell .mwd{font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--t3)}
.amcell .mnum{font-size:17px;font-weight:800;color:var(--t1);margin-top:2px;line-height:1}
.amcell.has::after{content:"";position:absolute;left:50%;bottom:4px;transform:translateX(-50%);width:20px;height:3px;border-radius:3px;background:var(--gold)}
.amcell.sel{background:var(--navy)}
.amcell.sel .mwd{color:var(--gold-l)}.amcell.sel .mnum{color:#fff}
.amcell.sel.has::after{background:var(--gold-l)}
.amcell.monthcell{width:54px;background:var(--bg);cursor:default}
.amcell.monthcell:hover{background:var(--bg)}
.amcell.monthcell .mnum{font-size:15px;color:var(--navy)}
.ag2-sub{font-size:13.5px;font-weight:800;color:var(--t1);margin-bottom:6px}
.ag2-list{display:flex;flex-direction:column}
.agrow{display:flex;align-items:center;gap:12px;padding:9px 4px;border-bottom:1px solid var(--line);transition:.15s}
.agrow:hover{background:var(--bg)}
.agrow .agi{width:38px;height:38px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff}
.agrow .agi svg{width:18px;height:18px}
.agrow .agbody{flex:1;min-width:0}
.agrow .agbody b{font-size:14.5px;font-weight:800;color:var(--t1);display:block;line-height:1.25}
.agrow .agtime{font-size:12px;color:var(--t2);display:flex;align-items:center;gap:6px;margin-top:2px}
.agrow .agtime svg{width:13px;height:13px;color:var(--gold);flex:none}
.agrow .agstatus{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:99px;flex:none}
.ag2-legend{display:flex;gap:10px;justify-content:center;margin-top:14px;flex-wrap:wrap}
.ag2-legend span{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:4px 12px;border-radius:99px}
.ag2-legend .st-soon{background:var(--bg);color:var(--t2)}
.ag2-legend .st-prog{background:#F0A020;color:#fff}
.ag2-legend .st-exp{background:#EEF0F6;color:var(--t3)}
.amcell.today .mnum{color:var(--red)}
.ag2-mgroup{font-size:12.5px;font-weight:800;color:var(--t1);margin:11px 0 2px}
.ag2-mgroup:first-child{margin-top:2px}
.agrow.flash{background:rgba(206,137,36,.12)}
.ag2-showmore{display:block;width:100%;text-align:center;background:var(--navy);color:#fff;border:none;border-radius:8px;padding:12px;font-family:inherit;font-weight:800;font-size:13px;letter-spacing:.3px;cursor:pointer;margin-top:16px;transition:.18s}
.ag2-showmore:hover{background:var(--navy2)}
.loadmore{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:26px}
.loadmore[hidden]{display:none!important}
.loadmore-error{margin:0;font-size:13px;font-weight:700;color:var(--red)}
.loadmore-error[hidden]{display:none!important}

/* Override legacy homepage card fade-in (style.css sets opacity:0 until .img-loaded) */
#events-discovery .ecard .thumb img,
#events-discovery .lthumb,
#events-discovery .dthumb,
#events-discovery .slide .sbg{
  opacity:1!important;
  visibility:visible
}
#events-discovery .hs-arrow.is-hidden,
#events-discovery .hs-dots.is-hidden{display:none!important}
.noresult{text-align:center;padding:44px 20px;color:var(--t3)}
.noresult svg{width:48px;height:48px;color:var(--line);margin:0 auto 12px;display:block}
.noresult b{display:block;color:var(--t2);font-size:15px;font-weight:800;margin-bottom:4px}

/* ===== IMPACT ===== */
.impact{background:linear-gradient(120deg,#1A2440 0%,#2D3C69 62%,#37477A 100%);border-radius:20px;padding:30px clamp(20px,3vw,44px);color:#fff;position:relative;overflow:hidden}
.impact::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 320px at 96% 0%,rgba(206,137,36,.36),transparent 60%),radial-gradient(520px 360px at 2% 100%,rgba(58,75,130,.45),transparent 62%)}
.impact .ih{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.impact .ih h2{font-size:clamp(21px,2.6vw,28px);font-weight:800}
.impact .ih p{color:rgba(255,255,255,.78);margin-top:6px;font-size:14px;max-width:460px}
.statgrid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.istat{text-align:center;padding:16px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px}
.istat b{font-size:clamp(26px,3.2vw,38px);font-weight:900;color:#fff;font-family:'Playfair Display',serif;letter-spacing:-1px;line-height:1}
.istat b em{color:var(--gold-l);font-style:normal}
.istat span{display:block;font-size:12.5px;color:rgba(255,255,255,.78);margin-top:7px;font-weight:600}

/* ===== SPEAKERS ===== */
.spk-scroll{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x mandatory}
.spk-scroll::-webkit-scrollbar{height:7px}
.spk-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.spk{flex:none;width:190px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.2s;cursor:pointer}
.spk:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.spk .sphoto{aspect-ratio:1/.92;overflow:hidden;background:#e9ebf3}
.spk .sphoto img{width:100%;height:100%;object-fit:cover;transition:.4s}
.spk:hover .sphoto img{transform:scale(1.05)}
.spk .sbody{padding:12px 13px}
.spk .sbody b{font-size:14.5px;font-weight:800;color:var(--t1);display:block}
.spk .sbody span{font-size:12px;color:var(--gold);font-weight:700}
.spk .sbody p{font-size:12px;color:var(--t2);margin-top:5px}

/* ===== APP BAND (slim) ===== */
.appband{position:relative;border-radius:20px;overflow:hidden;background:linear-gradient(115deg,#1A2440 0%,#2D3C69 58%,#37477A 100%);color:#fff;padding:34px 40px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;box-shadow:0 22px 50px rgba(26,36,64,.32)}
.appband::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(500px 320px at 96% 0%,rgba(206,137,36,.38),transparent 60%)}
.appband-copy{position:relative;z-index:2;max-width:560px}
.appband h2{font-size:clamp(22px,2.7vw,30px);font-weight:800;margin:8px 0 8px;line-height:1.1}
.appband h2 .hl{color:var(--gold-l)}
.appband p{color:rgba(255,255,255,.82);font-size:14.5px;max-width:480px}
.appfeats{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 18px}
.appfeats div{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.9)}
.appfeats .fk{width:20px;height:20px;border-radius:6px;background:rgba(206,137,36,.18);border:1px solid rgba(228,166,63,.4);display:flex;align-items:center;justify-content:center;color:var(--gold-l);flex:none}
.appfeats .fk svg{width:12px;height:12px}
.storebadges{display:flex;gap:12px;flex-wrap:wrap}
.store{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--navy);border-radius:12px;padding:9px 16px;transition:.2s;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.store:hover{transform:translateY(-2px)}
.store svg{width:23px;height:23px;flex:none}
.store .st{line-height:1.1}
.store .st small{font-size:9.5px;font-weight:600;color:var(--t2);display:block}
.store .st b{font-size:15px;font-weight:800;font-family:'Source Sans 3',sans-serif}
.appphones{position:relative;z-index:2;width:300px;height:360px}
.appphones .glow{position:absolute;inset:30px 40px;border-radius:50%;background:radial-gradient(circle,rgba(206,137,36,.45),transparent 66%);filter:blur(54px);z-index:0}
.appphones .phone{position:absolute;width:186px;border-radius:34px;background:linear-gradient(155deg,#3a4056 0%,#12172a 55%,#080b16 100%);padding:7px;z-index:1;box-shadow:0 44px 80px rgba(0,0,0,.55),0 8px 22px rgba(0,0,0,.4),inset 0 0 0 1.5px rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.05)}
.appphones .phone .scr{position:relative;border-radius:27px;overflow:hidden;display:block;background:#0b1020}
.appphones .phone img{width:100%;display:block}
.appphones .phone .island{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:54px;height:15px;background:#05070e;border-radius:12px;z-index:3}
.appphones .phone .island::after{content:"";position:absolute;right:8px;top:4px;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#33477e,#05070e)}
.appphones .phone .gloss{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(122deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.05) 20%,transparent 42%,transparent 74%,rgba(255,255,255,.09) 100%)}
.appphones .phone::after{content:"";position:absolute;right:-2px;top:82px;width:3px;height:42px;border-radius:2px;background:rgba(255,255,255,.16)}
.appphones .phone::before{content:"";position:absolute;left:-2px;top:70px;width:3px;height:26px;border-radius:2px;background:rgba(255,255,255,.12)}
.appphones .p-back{right:6px;top:8px;transform:rotate(7deg);width:172px;filter:brightness(.9)}
.appphones .p-front{left:2px;top:44px;transform:rotate(-4deg);z-index:2}
.appchip{position:absolute;z-index:5;left:-16px;bottom:40px;display:flex;align-items:center;gap:10px;background:#fff;border-radius:13px;padding:9px 13px 9px 10px;box-shadow:0 16px 34px rgba(0,0,0,.32);border:2px solid var(--grn)}
.appchip .ac-ic{width:32px;height:32px;border-radius:9px;background:rgba(30,158,106,.14);color:var(--grn);display:flex;align-items:center;justify-content:center;flex:none}
.appchip .ac-ic svg{width:17px;height:17px}
.appchip b{display:block;font-size:12.5px;font-weight:800;color:var(--t1);line-height:1.15}
.appchip span{font-size:11px;color:var(--t2);font-weight:600}


.reveal{animation:rise .6s both cubic-bezier(.2,.7,.2,1)}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.reveal,.cell.has:hover,.spk:hover,.ecard:hover{animation:none;transform:none}}

/* ===== RESPONSIVE ===== */
@media(max-width:1080px){
  .egrid{grid-template-columns:repeat(3,1fr)}
  .cal-wrap,.map-wrap{grid-template-columns:1fr}
  .cal-side{position:static}
  .map-main{min-height:400px}
}
@media(max-width:900px){
  .navlinks,.navcta .login{display:none}
  .burger{display:flex}
  .heroslider{height:300px}
  .slide h2{font-size:clamp(24px,6vw,32px)}
  .hsearch{grid-template-columns:1fr 1fr}
  .hsearch .go{grid-column:1/3}
  .hsearch .fld+.fld{border-left:none}
  .egrid{grid-template-columns:repeat(2,1fr)}
  .statgrid{grid-template-columns:repeat(2,1fr)}
  .appband{grid-template-columns:1fr;padding:30px 24px}
  .appphones{margin:14px auto 0}
  .news{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .heroslider{height:270px}
  .hs-arrow{display:none}
  .hsearch{grid-template-columns:1fr}.hsearch .go{grid-column:auto}
  .hsearch .fld+.fld{border-left:none;border-top:1px solid var(--line)}
  .egrid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .daygroup{grid-template-columns:56px 1fr;gap:12px}
  .daycol{position:static}
  .lrow{flex-wrap:wrap}.lrow .lthumb{width:100%;height:110px}
  .c2{min-height:54px;padding:5px;position:relative}.c2 .dn{font-size:11px}.c2pill,.c2more{display:none}
  .c2.has::after{content:"";position:absolute;left:6px;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
  .c2wk{overflow-x:auto}
  .wkhead,.wknums,.wkbars{grid-template-columns:repeat(7,minmax(108px,1fr));min-width:760px}
  .drow{flex-wrap:wrap}.drow .dthumb{display:none}
  .viewsw,.seg{flex-wrap:wrap}
  .loc-pop{width:210px}
}

