:root{
--bg:#eef0f4;--card:rgba(255,255,255,.62);--ink:#111827;--muted:#5f6877;--primary:#111827;--accent:#f59e0b;--line:rgba(255,255,255,.64);--danger:#b91c1c;
--glass-bg:rgba(255,255,255,.62);--glass-bg-strong:rgba(255,255,255,.78);--glass-border:rgba(255,255,255,.72);--glass-shadow:0 10px 34px rgba(17,24,39,.10),inset 0 1px 0 rgba(255,255,255,.68);--blur:18px;--event-bg-image:none
}
html[data-theme="dark"]{
--bg:#101217;--card:rgba(24,28,36,.60);--ink:#f7f8fb;--muted:#b5bdca;--line:rgba(255,255,255,.13);--glass-bg:rgba(24,28,36,.62);--glass-bg-strong:rgba(16,19,25,.78);--glass-border:rgba(255,255,255,.16);--glass-shadow:0 14px 40px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.12)
}
*{box-sizing:border-box}
html,body{min-height:100%}html{background:var(--bg)}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background-color:var(--bg);background-image:var(--event-bg-image);background-size:cover;background-position:center;background-attachment:fixed}
body.no-event-bg{background-image:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 36%),linear-gradient(145deg,var(--bg),color-mix(in srgb,var(--primary) 8%,var(--bg)))}
.background-wash{position:fixed;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(244,246,250,.42),rgba(244,246,250,.56));backdrop-filter:saturate(88%) blur(1.5px);-webkit-backdrop-filter:saturate(88%) blur(1.5px)}
html[data-theme="dark"] .background-wash{background:linear-gradient(180deg,rgba(8,10,14,.36),rgba(8,10,14,.58));backdrop-filter:saturate(78%) blur(1.5px);-webkit-backdrop-filter:saturate(78%) blur(1.5px)}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.app{position:relative;z-index:2;max-width:820px;margin:0 auto;min-height:100vh;padding-bottom:112px;background:transparent}
.hero{margin:12px 12px 0;padding:24px 20px;border:1px solid var(--glass-border);border-radius:26px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 70%,transparent),color-mix(in srgb,var(--primary) 45%,var(--glass-bg)));color:#fff;box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--blur)) saturate(150%);-webkit-backdrop-filter:blur(var(--blur)) saturate(150%)}
.hero-row{display:flex;gap:16px;align-items:center}.hero-logo{width:84px;height:84px;object-fit:contain;border-radius:17px;background:rgba(255,255,255,.82);padding:2px;border:1px solid rgba(255,255,255,.75);box-shadow:0 8px 20px rgba(0,0,0,.10)}
.hero h1{margin:0;font-size:30px;text-shadow:0 1px 8px rgba(0,0,0,.14)}.hero p{margin:7px 0 0;color:rgba(255,255,255,.86)}
.announce,.card,.search input,.mapwrap,.stall-logo{
border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--blur)) saturate(145%);-webkit-backdrop-filter:blur(var(--blur)) saturate(145%)
}
.announce{margin:12px 16px 0;padding:12px 14px;border-left:5px solid var(--accent);border-radius:16px}
.section{padding:18px 16px}.section h2{font-size:20px;margin:0 0 12px;text-shadow:0 1px 12px color-mix(in srgb,var(--bg) 65%,transparent)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{display:block;border-radius:21px;padding:16px;transition:transform .16s ease,background .16s ease,border-color .16s ease}.card:active{transform:scale(.988)}.card:hover{background:var(--glass-bg-strong)}.card h3{margin:0 0 6px;font-size:17px}.muted{color:var(--muted);font-size:14px}
.pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--glass-bg-strong) 86%,var(--accent) 14%);border:1px solid var(--glass-border);font-size:12px;margin:2px 3px 2px 0}
.search{display:flex;gap:8px;margin:14px 0}.search input{flex:1;border-radius:16px;padding:13px 14px;color:var(--ink);outline:none}.search input::placeholder{color:var(--muted)}.search input:focus{border-color:color-mix(in srgb,var(--accent) 55%,white)}
.btn{border:1px solid rgba(255,255,255,.22);border-radius:14px;background:color-mix(in srgb,var(--primary) 82%,transparent);color:#fff;padding:11px 14px;cursor:pointer;box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 18%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.btn.alt{background:var(--glass-bg-strong);color:var(--ink);border:1px solid var(--glass-border)}.btn.accent{background:color-mix(in srgb,var(--accent) 88%,transparent);color:#111}.glass-control{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--blur)) saturate(145%);-webkit-backdrop-filter:blur(var(--blur)) saturate(145%)}




.bottomnav{position:fixed;bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px));left:50%;transform:translateX(-50%);width:min(796px,calc(100% - 20px));background:var(--glass-bg-strong);backdrop-filter:blur(24px) saturate(165%);-webkit-backdrop-filter:blur(24px) saturate(165%);border:1px solid var(--glass-border);border-radius:23px;box-shadow:0 12px 34px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.38);display:grid;grid-template-columns:repeat(5,1fr);z-index:20;overflow:hidden}
.bottomnav a{padding:11px 4px 10px;text-align:center;font-size:12px}.bottomnav a:active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.bottomnav b{display:block;font-size:23px;line-height:1;margin-bottom:5px;font-weight:800}
.list{display:grid;gap:11px}.row{display:flex;gap:12px;align-items:center}.thumb{width:64px;height:64px;object-fit:cover;border-radius:15px;background:var(--glass-bg-strong);border:1px solid var(--glass-border)}.grow{flex:1}
.status-sold_out{color:#dc2626;font-weight:700}.status-low{color:#d97706;font-weight:700}.stars button{border:0;background:none;font-size:28px;padding:2px;cursor:pointer;color:color-mix(in srgb,var(--muted) 55%,transparent)}.stars button.on{color:#f59e0b}
.mapwrap{position:relative;overflow:hidden;border-radius:21px}.mapwrap img{display:block;width:100%}.pin{position:absolute;transform:translate(-50%,-100%);background:color-mix(in srgb,var(--primary) 78%,transparent);color:white;border:2px solid rgba(255,255,255,.8);border-radius:999px;min-width:34px;height:34px;padding:0 8px;display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 5px 16px rgba(0,0,0,.25);backdrop-filter:blur(10px)}
.now{border-color:color-mix(in srgb,var(--accent) 70%,white);border-width:2px}.offline{position:fixed;top:8px;right:8px;background:var(--glass-bg-strong);color:var(--ink);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:blur(16px);padding:7px 10px;border-radius:999px;font-size:12px;z-index:50;display:none}.offline.show{display:block}
.stall-link{transition:border-color .15s ease,transform .15s ease}.stall-link:active{transform:scale(.985)}.stall-link:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--glass-border))}.open-stall{white-space:nowrap;pointer-events:none}.back-link{display:inline-block;margin:0 0 16px;color:var(--muted);font-weight:600}.stall-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}.stall-head h2{margin:0 0 5px}.stall-logo{width:76px;height:76px;object-fit:contain;border-radius:17px;padding:5px}
@supports not (backdrop-filter:blur(10px)){.card,.announce,.search input,.bottomnav,.hero,.mapwrap{background:var(--glass-bg-strong)}}
@media(max-width:520px){body{background-attachment:scroll}.grid{grid-template-columns:1fr 1fr}.hero{margin:8px 8px 0;border-radius:23px;padding:22px 17px}.hero h1{font-size:25px}.section{padding:15px 12px}.open-stall{padding:9px 11px}.stall-link .thumb{width:54px;height:54px}.bottomnav{width:calc(100% - 16px);bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px));border-radius:21px}}

.event-background-layer{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:0!important;pointer-events:none!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;filter:saturate(.72) brightness(.82) contrast(.92)}

.appearance-section{padding-top:2px;padding-bottom:18px;display:flex;justify-content:flex-end}
.appearance-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--muted);box-shadow:var(--glass-shadow);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);padding:8px 11px;border-radius:999px;font-size:12px;cursor:pointer}
.appearance-pill strong{color:var(--ink);font-weight:700}
.appearance-dot{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#fff 0 49%,#111 51% 100%);border:1px solid rgba(127,127,127,.45)}

/* Section colour language: intentionally small accents rather than coloured panels */
:root{
  --tone-home:#5b8cff;
  --tone-bars:#f59e0b;
  --tone-beers:#28b8a9;
  --tone-map:#70b84b;
  --tone-my:#d65aa5;
  --tone-now:#7b6ee8;
}
.bottomnav .nav-home b{color:var(--tone-home)}
.bottomnav .nav-stalls b{color:var(--tone-bars)}
.bottomnav .nav-products b{color:var(--tone-beers)}
.bottomnav .nav-map b{color:var(--tone-map)}
.bottomnav .nav-my b{color:var(--tone-my)}

.shortcut{position:relative;overflow:hidden}
.shortcut::before{
  content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 999px 999px 0
}
.shortcut-schedule::before{background:var(--tone-now)}
.shortcut-stalls::before{background:var(--tone-bars)}
.shortcut-map::before{background:var(--tone-map)}
.shortcut-my::before{background:var(--tone-my)}

.section-now>h2::before,
.section-featured>h2::before,
.section-stalls>h2::before,
.section-products>h2::before,
.section-schedule>h2::before,
.section-map>h2::before,
.section-my>h2::before{
  content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:2px
}
.section-now>h2::before{background:var(--tone-now)}
.section-featured>h2::before{background:var(--tone-beers)}
.section-stalls>h2::before{background:var(--tone-bars)}
.section-products>h2::before{background:var(--tone-beers)}
.section-schedule>h2::before{background:var(--tone-now)}
.section-map>h2::before{background:var(--tone-map)}
.section-my>h2::before{background:var(--tone-my)}

html[data-theme="dark"] .bottomnav a{color:rgba(255,255,255,.82)}
html[data-theme="dark"] .bottomnav b{filter:saturate(1.08) brightness(1.08)}

/* Product metadata refinement */
.product-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.meta-abv{
  width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--tone-beers) 22%,var(--glass-bg-strong));
  border:1px solid color-mix(in srgb,var(--tone-beers) 55%,var(--glass-border));
  color:var(--ink);font-weight:800;font-size:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)
}
.meta-chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;
  background:var(--glass-bg-strong);border:1px solid var(--glass-border);color:var(--ink);
  font-size:12px;font-weight:650
}
.meta-style{border-color:color-mix(in srgb,var(--tone-now) 42%,var(--glass-border))}
.meta-package{border-color:color-mix(in srgb,var(--tone-bars) 42%,var(--glass-border))}
.meta-number{color:var(--muted);font-weight:700}
.meta-icon{font-size:14px;line-height:1;opacity:.9}
html[data-theme="dark"] .meta-abv{background:color-mix(in srgb,var(--tone-beers) 28%,rgba(18,22,28,.82))}

/* Availability stamp */
.availability-stamp-wrap{display:flex;justify-content:flex-end;margin-top:2px;padding-right:3px}
.availability-stamp{
  display:inline-block;padding:5px 10px 4px;border:2px solid currentColor;border-radius:6px;
  font-size:11px;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase;
  transform:rotate(-3deg);opacity:.88;background:rgba(0,0,0,.08);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent)
}
.availability-stamp.status-available{color:#49c77b}
.availability-stamp.status-unavailable{color:#f0a442;transform:rotate(2.5deg)}
.availability-stamp.status-sold_out{color:#ef5b63;transform:rotate(-4deg)}
html[data-theme="light"] .availability-stamp{background:rgba(255,255,255,.28)}

.home-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.print-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--muted);box-shadow:var(--glass-shadow);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);padding:8px 11px;border-radius:999px;font-size:12px;font-weight:700}
.print-icon{font-size:17px;line-height:1;color:var(--tone-home)}

/* Interactive event map marker logos */
.event-map-logo-wrap{background:transparent!important;border:0!important}
.event-map-logo-wrap img{
  display:block;width:46px;height:46px;object-fit:contain;border-radius:12px;
  background:rgba(255,255,255,.92);padding:3px;border:2px solid rgba(255,255,255,.95);
  box-shadow:0 5px 14px rgba(0,0,0,.35)
}
.leaflet-control-layers,.leaflet-bar{border-radius:10px!important;overflow:hidden}
.leaflet-popup-content-wrapper{border-radius:14px}

.global-search-results{display:none;margin:-5px 0 14px;border:1px solid var(--glass-border);border-radius:16px;overflow:hidden;background:var(--glass-bg-strong);box-shadow:var(--glass-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.global-search-results.show{display:block}.global-search-hit{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.global-search-hit:last-child{border-bottom:0}.global-search-hit img{width:42px;height:42px;object-fit:cover;border-radius:10px}.global-search-hit strong{display:block;font-size:14px}.global-search-hit small{display:block;color:var(--muted);margin-top:2px}.global-search-hit em{font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted)}.search-empty{padding:14px;color:var(--muted);font-size:13px}.rating-row{display:flex;align-items:center;gap:8px;margin-top:8px}.tasting-btn{margin-left:auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg-strong);color:var(--ink);font-size:18px;cursor:pointer}.tasting-modal{position:fixed;inset:0;z-index:100;display:none}.tasting-modal.open{display:block}.tasting-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(6px)}.tasting-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(760px,100%);max-height:92vh;overflow:auto;background:var(--glass-bg-strong);color:var(--ink);border:1px solid var(--glass-border);border-radius:26px 26px 0 0;padding:18px 16px max(22px,env(safe-area-inset-bottom));box-shadow:0 -18px 60px rgba(0,0,0,.32);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%)}.tasting-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.tasting-head h2{margin:2px 0 0}.small-label{text-transform:uppercase;letter-spacing:.09em;font-size:10px;color:var(--muted);font-weight:800}.tasting-close{margin-left:auto;width:38px;height:38px;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--ink);font-size:24px}.tasting-guide{display:grid;gap:9px}.tasting-guide label{display:grid;grid-template-columns:46px 120px 1fr;gap:10px;align-items:center;border:1px solid var(--glass-border);border-radius:17px;padding:10px;background:var(--glass-bg)}.tasting-guide strong{display:block;font-size:14px}.tasting-guide small{display:block;color:var(--muted);font-size:11px;line-height:1.25;margin-top:2px}.taste-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tone-bars) 24%,var(--glass-bg-strong));font-size:24px}.tasting-guide textarea{min-height:56px;resize:vertical;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg-strong);color:var(--ink);padding:9px}.tasting-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.modal-open{overflow:hidden}@media(max-width:560px){.tasting-guide label{grid-template-columns:42px 1fr}.tasting-guide textarea{grid-column:1/-1;min-height:48px}.taste-icon{width:38px;height:38px}}
/* Rating + compact tasting notes */
.rating-row{display:flex;align-items:center;gap:7px;margin-top:7px}
.tasting-btn{margin-left:auto;width:32px;height:32px;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg-strong);color:var(--ink);font-size:17px;line-height:1;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}

.tasting-modal{position:fixed;inset:0;z-index:100;display:none}
.tasting-modal.open{display:block}
.tasting-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.tasting-sheet{
  position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:min(680px,100%);max-height:94dvh;overflow:auto;
  background:var(--glass-bg-strong);color:var(--ink);
  border:1px solid var(--glass-border);border-radius:24px 24px 0 0;
  padding:12px 12px max(12px,env(safe-area-inset-bottom));
  box-shadow:0 -18px 60px rgba(0,0,0,.32);
  backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%)
}
.tasting-head{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}
.tasting-head h2{margin:1px 0 0;font-size:18px;line-height:1.1}
.small-label{text-transform:uppercase;letter-spacing:.09em;font-size:9px;color:var(--muted);font-weight:800}
.tasting-close{margin-left:auto;width:32px;height:32px;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--ink);font-size:21px;cursor:pointer}

.tasting-compact{display:grid;gap:5px}
.taste-row{
  display:grid;grid-template-columns:32px minmax(78px,.8fr) auto;grid-template-areas:
    "icon copy stars"
    "note note note";
  gap:4px 7px;align-items:center;
  border:1px solid var(--glass-border);border-radius:13px;padding:6px 7px;
  background:var(--glass-bg)
}
.taste-icon{
  grid-area:icon;width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--tone-bars) 22%,var(--glass-bg-strong));
  font-size:18px;font-weight:800
}
.taste-copy{grid-area:copy;min-width:0}
.taste-copy strong{display:block;font-size:12px;line-height:1.05}
.taste-copy small{display:block;color:var(--muted);font-size:9px;line-height:1.1;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.taste-stars{grid-area:stars;display:flex;gap:0;justify-content:flex-end}
.taste-stars button{
  border:0;background:transparent;padding:1px;font-size:18px;line-height:1;color:color-mix(in srgb,var(--muted) 50%,transparent);cursor:pointer
}
.taste-stars button.on{color:#f59e0b}

.taste-row input{
  grid-area:note;width:100%;height:26px;min-height:0;margin:0;padding:4px 7px;
  border:1px solid var(--glass-border);border-radius:8px;
  background:var(--glass-bg-strong);color:var(--ink);font-size:10px
}

.taste-average{display:flex;align-items:center;justify-content:space-between;margin-top:7px;padding:6px 8px;border-radius:10px;background:color-mix(in srgb,var(--tone-beers) 12%,var(--glass-bg));border:1px solid var(--glass-border);font-size:11px}
.taste-average strong{font-size:14px}
.tasting-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:7px}
.tasting-actions .btn{padding:7px 10px;font-size:12px}
.modal-open{overflow:hidden}

@media(max-width:430px){
  .tasting-sheet{padding:9px 9px max(9px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0}
  .tasting-compact{gap:4px}
  .taste-row{grid-template-columns:29px minmax(72px,.75fr) auto;padding:5px 6px;gap:3px 5px}
  .taste-icon{width:27px;height:27px;font-size:16px}
  .taste-copy strong{font-size:11px}
  .taste-copy small{font-size:8.5px}
  .taste-stars button{font-size:17px}
  .taste-row input{height:24px;font-size:9.5px}
}

/* V1.8.2 tasting sheet position + charts */
.tasting-sheet{bottom:calc(68px + env(safe-area-inset-bottom))!important;max-height:calc(100dvh - 92px)!important;border-radius:22px!important;width:min(680px,calc(100% - 10px))!important;padding-bottom:10px!important}
@media(max-width:430px){.tasting-sheet{bottom:calc(66px + env(safe-area-inset-bottom))!important;max-height:calc(100dvh - 86px)!important;border-radius:18px!important}}
.charts-link{font-weight:700}
.chart-group{margin:0 0 20px}.chart-group h3{margin:0 0 8px;font-size:16px}.chart-row{display:flex;align-items:center;gap:10px;padding:11px 12px}.chart-rank{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tone-beers) 20%,var(--glass-bg-strong));font-weight:800}.chart-row strong{display:block}.chart-row small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.chart-score{text-align:right;font-weight:800;color:#f59e0b}.chart-score small{color:var(--muted);font-weight:500}

/* Find event / routing */
.find-event-tools{
  margin:0 0 12px;padding:11px 12px;border:1px solid var(--glass-border);border-radius:16px;
  background:var(--glass-bg);box-shadow:var(--glass-shadow);
  backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%)
}
.find-event-title{font-size:12px;font-weight:800;margin-bottom:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.find-event-actions{display:flex;gap:8px;flex-wrap:wrap}
.find-event-actions .btn{font-size:12px;padding:8px 10px}
.route-status{font-size:12px;color:var(--muted);margin-top:7px;min-height:1em}

.global-search-section{padding-bottom:0}
.global-search-section .global-search-results.show{margin-bottom:12px}

.schedule-card{overflow:hidden;padding:0}
.schedule-image{display:block;width:100%;max-height:260px;object-fit:cover}
.schedule-content{padding:16px}
.schedule-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.schedule-actions .btn{font-size:12px;padding:9px 11px}
@media(max-width:520px){.schedule-image{max-height:210px}.schedule-actions .btn{flex:1;text-align:center}}

.day-intro-card{
  overflow:hidden;
  margin:22px 0 12px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.07));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 45px rgba(0,0,0,.16);
  backdrop-filter:blur(16px);
}
.day-intro-image{display:block;width:100%;max-height:300px;object-fit:cover}
.day-intro-content{padding:20px}
.day-intro-date{font-size:12px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.day-intro-content h3{font-size:25px;line-height:1.1;margin:0 0 10px}
.day-intro-content p{margin:0;line-height:1.55}
