/* MCR v9.40 - cache bust 202604011200 */
/* ── Skip-to-content accessibility link (hidden until focused) ──── */
.skip-to-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:99999}
.skip-to-content:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;overflow:visible;padding:12px 24px;background:#E8201A;color:#fff;font-weight:700;border-radius:8px;outline:none;text-decoration:none}

/* ── Global link reset - no underlines anywhere in theme ─────────── */
a { text-decoration: none !important; }
a:hover { text-decoration: none !important; }

/* ── Sidebar: kill all underlines on every element ─────────────── */
.sb-item,
.sb-item:link,
.sb-item:visited,
.sb-item:hover,
.sb-item:active,
.sb-item > *,
.sb-item-name,
.sb-label,
.sb-area-code,
.sb-ev,
.sb-ev-title,
.sb-ev-more,
.sb-footer a,
.sb-dotcity a,
.sb-nl-form a,
aside.SB a,
aside.SB a:any-link {
  text-decoration: none !important;
}

/* v13.1 hub hero contrast - photo/dark banners keep white text on hub pages */
@media (min-width:901px){
  body.page-template-tpl-events .eh-hero h1,
  body.page-template-page-templates-tpl-events-php .eh-hero h1,
  body.page-template-tpl-events .evh h1,
  body.page-template-page-templates-tpl-events-php .evh h1,
  body.page-template-tpl-food .hood-hero-full h1,
  body.page-template-page-templates-tpl-food-php .hood-hero-full h1,
  body.page-template-tpl-nightlife .hood-hero-full h1,
  body.page-template-page-templates-tpl-nightlife-php .hood-hero-full h1,
  body.page-template-tpl-culture .hood-hero-full h1,
  body.page-template-page-templates-tpl-culture-php .hood-hero-full h1,
  body.page-template-tpl-music .music-hub [class*="hero"] h1,
  body.page-template-page-templates-tpl-music-php .music-hub [class*="hero"] h1,
  body.page-template-tpl-sport .sport-v2-hero h1,
  body.page-template-page-templates-tpl-sport-php .sport-v2-hero h1,
  body.page-template-tpl-stories .stories-hub [class*="hero"] h1,
  body.page-template-page-templates-tpl-stories-php .stories-hub [class*="hero"] h1,
  body.page-template-tpl-students .students-page [class*="hero"] h1,
  body.page-template-page-templates-tpl-students-php .students-page [class*="hero"] h1,
  body.page-template-tpl-neighbourhoods .hoods-hub [class*="hero"] h1,
  body.page-template-page-templates-tpl-neighbourhoods-php .hoods-hub [class*="hero"] h1,
  body.page-template-tpl-fashion .fhub-hero h1,
  body.page-template-page-templates-tpl-fashion-php .fhub-hero h1,
  main.CENTRE.fhub .fhub-hero h1,
  main.CENTRE.hoods-hub [class*="hero"] h1{
    color:#fff !important;
    text-shadow:0 2px 18px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.35) !important;
  }

  body.page-template-tpl-events .eh-hero p,
  body.page-template-page-templates-tpl-events-php .eh-hero p,
  body.page-template-tpl-events .evh p,
  body.page-template-page-templates-tpl-events-php .evh p,
  body.page-template-tpl-food .hood-hero-full p,
  body.page-template-page-templates-tpl-food-php .hood-hero-full p,
  body.page-template-tpl-nightlife .hood-hero-full p,
  body.page-template-page-templates-tpl-nightlife-php .hood-hero-full p,
  body.page-template-tpl-culture .hood-hero-full p,
  body.page-template-page-templates-tpl-culture-php .hood-hero-full p,
  body.page-template-tpl-music .music-hub [class*="hero"] p,
  body.page-template-page-templates-tpl-music-php .music-hub [class*="hero"] p,
  body.page-template-tpl-sport .sport-v2-hero p,
  body.page-template-page-templates-tpl-sport-php .sport-v2-hero p,
  body.page-template-tpl-stories .stories-hub [class*="hero"] p,
  body.page-template-page-templates-tpl-stories-php .stories-hub [class*="hero"] p,
  body.page-template-tpl-students .students-page [class*="hero"] p,
  body.page-template-page-templates-tpl-students-php .students-page [class*="hero"] p,
  body.page-template-tpl-neighbourhoods .hoods-hub [class*="hero"] p,
  body.page-template-page-templates-tpl-neighbourhoods-php .hoods-hub [class*="hero"] p,
  body.page-template-tpl-fashion .fhub-hero p,
  body.page-template-page-templates-tpl-fashion-php .fhub-hero p,
  main.CENTRE.fhub .fhub-hero p,
  main.CENTRE.hoods-hub [class*="hero"] p,
  .eh-dek,
  .fhub-hero-sub{
    color:rgba(255,255,255,.78) !important;
    text-shadow:0 2px 14px rgba(0,0,0,.45) !important;
  }
}


/* v12.10.14 - WOT crawlability, touch targets and reduced-motion polish. */
html body .WOT .wot-sr-title{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

html body .WOT .wot-ep-link{
  display:block !important;
  color:inherit !important;
  text-decoration:none !important;
}

html body .WOT .wot-ep-link:focus-visible{
  outline:2px solid #fff !important;
  outline-offset:3px !important;
  border-radius:8px !important;
}

@media (max-width:900px){
  html body #MOB-HEADER.mcr-nav-built .wot-mode-opt,
  html body #MOB-HEADER.mcr-nav-built .wot-radar.wot-radar-nav,
  html body .WOT .wot-ep-add{
    position:relative !important;
  }

  html body #MOB-HEADER.mcr-nav-built .wot-mode-opt::after,
  html body #MOB-HEADER.mcr-nav-built .wot-radar.wot-radar-nav::after,
  html body .WOT .wot-ep-add::after{
    content:"" !important;
    position:absolute !important;
    inset:-10px !important;
  }
}

@media (prefers-reduced-motion: reduce){
  html body .WOT *,
  html body #MOB-HEADER .wot-radar,
  html body #MOB-HEADER .wot-radar *{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}

/* v12.10.12 - Mobile WOT/header emergency correction.
   Final layer for live issues:
   - dark/light visible on left
   - map button visible on right, without a heavy nav minimap
   - WOT ticker stops animating on phones to remove lag
   - Your Night sits lower
   - map panel is centred */
@media (max-width:900px){
  html body #MOB-HEADER.mcr-nav-built{
    display:grid !important;
    grid-template-columns:minmax(92px,auto) 1fr 42px !important;
    align-items:center !important;
    gap:8px !important;
    height:56px !important;
    padding:0 10px !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left{
    grid-column:1 !important;
    order:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-self:start !important;
    margin:0 !important;
    min-width:92px !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left .wot-mode-switch{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    align-items:center !important;
    gap:0 !important;
    height:26px !important;
    padding:2px !important;
    margin:0 !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.14) !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left .wot-mode-opt{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:22px !important;
    min-height:22px !important;
    padding:0 8px !important;
    border:0 !important;
    border-radius:999px !important;
    background:transparent !important;
    color:rgba(255,255,255,.72) !important;
    font-size:10px !important;
    font-weight:800 !important;
    line-height:1 !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left .wot-mode-opt span{
    display:inline !important;
    color:inherit !important;
    font-size:10px !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left .wot-mode-opt.is-on{
    background:#fff !important;
    color:#0b0b10 !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mob-hdr-logo{
    grid-column:2 !important;
    order:2 !important;
    position:static !important;
    transform:none !important;
    justify-self:center !important;
    margin:0 !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mob-hdr-actions{
    grid-column:3 !important;
    order:3 !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    justify-self:end !important;
    width:42px !important;
    min-width:42px !important;
    margin:0 !important;
  }

  html body #MOB-HEADER.mcr-nav-built .wot-radar.wot-radar-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    margin:0 !important;
    border-radius:9px !important;
    border:1px solid rgba(255,255,255,.18) !important;
    background:#14141a !important;
    overflow:hidden !important;
    box-shadow:none !important;
  }

  html body #MOB-HEADER.mcr-nav-built .wot-radar .wot-radar-bg{
    width:18px !important;
    height:18px !important;
    border-radius:5px !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px),
      linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
      #20202a !important;
    background-size:7px 7px !important;
  }

  html body .WOT .wot-ticker-track,
  html body section.WOT .wot-ticker .wot-ticker-track,
  html body section#WOT .wot-ticker .wot-ticker-track{
    animation:wotTickerScroll 1200s linear infinite !important;
    padding-left:100% !important;
    will-change:auto !important;
  }

  html body .WOT .wot-ticker-viewport{
    overflow:hidden !important;
  }

  html body .plan-fab,
  html body #planFab.plan-fab{
    bottom:calc(58px + env(safe-area-inset-bottom)) !important;
    right:12px !important;
    z-index:820 !important;
  }

  html body .plan,
  html body #plan{
    bottom:0 !important;
    transform:translateY(calc(100% - 58px)) !important;
  }

  html body.plan-open .plan,
  html body.plan-open #plan{
    transform:translateY(0) !important;
  }

  html body.home section.WOT .wot-mapview,
  html body section.WOT .wot-mapview,
  html body .WOT .wot-mapview{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
  }

  html body.home section.WOT .wot-filterbar .wot-flt.on{
    opacity:1 !important;
    filter:none !important;
  }

  html body.home .CENTRE{
    overflow-x:visible !important;
  }

  html body.home section.WOT{
    overflow-x:hidden !important;
  }

  html body .leaflet-marker-icon.mcr-now .pin-gem,
  html body .leaflet-marker-icon.happening-now .pin-gem{
    animation:none !important;
  }
}


/* ── Sidebar logo SVG fallback ──────────────────────────────── */
.sb-logo-svg {
  font-family:'Inter Tight',sans-serif;font-weight:900;
  font-size:1.35rem;letter-spacing:-.04em;
  display:flex;align-items:baseline;gap:0;padding:4px 0;
  text-decoration:none;line-height:1;
}
.sb-logo-mcr { color:#fff;font-size:1.35rem;font-weight:900; }
.sb-logo-dot  { font-size:1.35rem;font-weight:900;color:var(--dc-red);margin:0 1px; }
.sb-logo-city { font-size:.9rem;font-weight:900;color:rgba(255,255,255,.45);letter-spacing:-.02em; }


/* ══ CINEMATIC EVENT CARDS - 2030 design ════════════════════════ */
.ev-card {
  position:relative !important;
  display:block !important;
  text-decoration:none;
  border-radius:22px;
  overflow:hidden !important;
  aspect-ratio:3/4 !important;
  border:1.5px solid color-mix(in srgb, var(--cc,#e8201a) 30%, rgba(255,255,255,.06));
  background:
    radial-gradient(ellipse at 70% 20%, rgba(255,255,255,.04) 0%, transparent 55%),
    linear-gradient(148deg,
      color-mix(in srgb, var(--cc,#e8201a) 65%, #02020a) 0%,
      color-mix(in srgb, var(--cc,#e8201a) 28%, #02020a) 45%,
      #02020a 100%
    );
  box-shadow:0 6px 24px rgba(0,0,0,.2);
  transition:transform .35s cubic-bezier(.4,0,.2,1),
             box-shadow .35s,
             border-color .35s;
  cursor:pointer;
  opacity:0;
  animation:cardIn .5s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes cardIn { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.ev-card:nth-child(1){animation-delay:.04s}
.ev-card:nth-child(2){animation-delay:.11s}
.ev-card:nth-child(3){animation-delay:.18s}
.ev-card:nth-child(4){animation-delay:.25s}
.ev-card:nth-child(5){animation-delay:.32s}
.ev-card:nth-child(6){animation-delay:.39s}
.ev-card:nth-child(7){animation-delay:.46s}
.ev-card:nth-child(8){animation-delay:.53s}
.ev-card:nth-child(9){animation-delay:.60s}
.ev-card:nth-child(10){animation-delay:.67s}
.ev-card:nth-child(11){animation-delay:.74s}
.ev-card:nth-child(12){animation-delay:.81s}
.ev-card:hover {
  transform:translateY(-8px) scale(1.015);
  border-color:color-mix(in srgb, var(--cc,#e8201a) 45%, rgba(255,255,255,.1));
  box-shadow:
    0 24px 60px rgba(0,0,0,.45),
    0 0 0 1px color-mix(in srgb, var(--cc,#e8201a) 25%, transparent);
}

/* Full-bleed image - covers entire card */
.ev-card-img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  display:block !important;
}
.ev-card-img img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  display:block !important;
  color:transparent !important; /* hide alt text if image fails to load */
}
.ev-card:hover .ev-card-img img { transform:scale(1.09); }

/* Bottom gradient only - keeps image readable, darkens bottom portion so
   card title/meta text is legible over the image. */
.ev-card-img::after {
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 0% 0%,
      color-mix(in srgb, var(--cc,#e8201a) 18%, transparent) 0%,
      transparent 52%
    ),
    linear-gradient(180deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 40%,
      rgba(0,0,0,.45) 62%,
      rgba(0,0,0,.82) 82%,
      rgba(0,0,0,.94) 100%
    );
  pointer-events:none;z-index:1;
}

/* No image filter - show API promo art at full fidelity. */

/* Empty image fallback - category-colour gradient when no real image exists.
   Prevents broken-image icons and matches card's --cc colour variable. */
.ev-card-img--empty {
  background:linear-gradient(135deg,
    color-mix(in srgb, var(--cc,#e8201a) 55%, #0c0c0e) 0%,
    color-mix(in srgb, var(--cc,#e8201a) 15%, #0c0c0e) 50%,
    #0c0c0e 100%
  ) !important;
}
.ev-card-img--empty::before {
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 30% 20%,
    rgba(255,255,255,.08) 0%,
    transparent 50%);
  z-index:0;
}

/* Remove old card-level ::after overlay */
.ev-card::after { display:none !important; }

/* Category colour bloom at bottom of card */
.ev-card::before {
  content:'';position:absolute;
  bottom:-20px;left:-30px;right:-30px;height:180px;
  background:radial-gradient(ellipse at center bottom,
    color-mix(in srgb, var(--cc,#e8201a) 22%, transparent) 0%,
    transparent 68%
  );
  z-index:2;pointer-events:none;
  opacity:.65;transition:opacity .35s;
}
.ev-card:hover::before { opacity:.85; }

/* Text overlaid at bottom - floats over image gradient scrim */
.ev-card-body {
  position:absolute !important;bottom:0 !important;left:0 !important;right:0 !important;
  padding:20px 16px 18px;
  z-index:3;
  display:flex;flex-direction:column;gap:5px;
  background:transparent !important;
}

/* Category badge - small coloured chip */
.ev-card-cat {
  display:inline-flex;align-items:center;gap:5px;
  font-size:.52rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;
  color:#fff;margin-bottom:1px;
  width:fit-content;
  padding:3px 9px 3px 7px;
  background:color-mix(in srgb, var(--cc,#e8201a) 30%, rgba(0,0,0,.35));
  border:1px solid color-mix(in srgb, var(--cc,#e8201a) 50%, rgba(255,255,255,.1));
  border-radius:20px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.ev-card-cat::before {
  content:'';display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--cc, #fff);flex-shrink:0;
  box-shadow:0 0 5px var(--cc, transparent);
}

/* Unsplash attribution credit - bottom-right of card image */
.ev-photo-credit{
  position:absolute;bottom:5px;right:8px;
  font-size:.48rem;line-height:1;
  color:rgba(255,255,255,.38);
  z-index:4;pointer-events:none;
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.ev-photo-credit a{color:inherit;text-decoration:none;pointer-events:all;}
.ev-photo-credit a:hover{color:rgba(255,255,255,.7);}

.ev-card-title {
  font-size:.95rem;font-weight:900;line-height:1.2;
  letter-spacing:-.025em;color:#fff;
  text-shadow:0 2px 16px rgba(0,0,0,.85), 0 0 30px rgba(0,0,0,.5);
  /* v12.7.74 — allow 3 lines so longer event titles ("Jim Henson's Labyrinth: In Concert") don't truncate */
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:break-word;
  hyphens:auto;
}
.ev-card-title a { color:inherit;text-decoration:none; }

.ev-card-meta {
  display:flex;flex-direction:column;gap:2px;
  font-size:.58rem;color:rgba(255,255,255,.78);
  margin-bottom:2px;
}
.ev-card-meta span { display:flex;align-items:center;gap:5px; }
.ev-card-meta i { width:10px;flex-shrink:0;color:color-mix(in srgb,var(--cc,#fff) 80%,rgba(255,255,255,.5)); }

.ev-card-ctas {
  display:flex;gap:6px;margin-top:5px;align-items:center;
}
.ev-card-ctas .btn-ghost-sm {
  display:inline-flex;align-items:center;cursor:pointer;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.38);
  color:#fff;
  font-size:.58rem;padding:7px 14px;
  border-radius:7px;
  font-weight:700;
  letter-spacing:.02em;
}
.ev-card-ctas .btn-ghost-sm:hover {
  background:rgba(255,255,255,.30);
  border-color:rgba(255,255,255,.55);
}
.ev-card-ctas .btn-primary-sm,
.ev-card-ctas .btn-tickets {
  display:inline-flex;align-items:center;cursor:pointer;
  font-size:.58rem;padding:7px 14px;
  border-radius:7px;
  font-weight:700;
  letter-spacing:.02em;
  background:var(--cc,var(--dc-red));
  border:1px solid color-mix(in srgb,var(--cc,var(--dc-red)) 70%,rgba(255,255,255,.3));
  box-shadow:0 2px 6px rgba(0,0,0,.25);
  color:#fff;
}
.ev-card-ctas .btn-primary-sm:hover,
.ev-card-ctas .btn-tickets:hover {
  filter:brightness(1.12);
}

/* Grid layout - auto-fits columns. v12.7.74: bumped from 200px → 240px so titles fit cleanly */
.ev-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:18px;
  padding:20px 20px 32px;
  margin:0;
  max-width:100%;
  box-sizing:border-box;
}

.ev-card.sold-out { display:none; } /* hidden - sold-out events don't show in grid */

/* Badges */
.ev-sold-badge {
  position:absolute;top:12px;right:12px;z-index:4;
  background:rgba(0,0,0,.7);backdrop-filter:blur(8px);
  color:#fff;font-size:.5rem;font-weight:800;padding:4px 10px;
  border-radius:20px;text-transform:uppercase;letter-spacing:.08em;
  border:1px solid rgba(255,255,255,.18);
}

/* No-image fallback */
.ev-card:not(:has(.ev-card-img)) {
  background:var(--dark3,#1a1a20);
}
.ev-card:not(:has(.ev-card-img)) .ev-card-body { position:relative; }


/* White-bg page shadow override */
.CENTRE.white-bg .ev-card { box-shadow:0 4px 24px rgba(0,0,0,.18); }
.CENTRE.white-bg .ev-card:hover { box-shadow:0 16px 48px rgba(0,0,0,.25); }

/* Category pill colours */
.ev-pill {
  display:inline-flex;align-items:center;padding:5px 12px;border-radius:20px;
  font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.6);text-decoration:none;
  border:1px solid rgba(255,255,255,.08);transition:all .15s;
}
.ev-pill.on,.ev-pill:hover {
  background:var(--dc-red);color:#fff;border-color:var(--dc-red);
}
.ev-pill[style*="--pc"] { border-color:var(--pc); }
.ev-pill[style*="--pc"].on,.ev-pill[style*="--pc"]:hover { background:var(--pc);color:#fff; }
.ev-cat-pills { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px; }

/* Submit banner */
.ev-submit-banner {
  display:flex;align-items:center;gap:16px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:18px 22px;margin-top:24px;
}
.ev-submit-banner i { font-size:1.4rem;color:var(--dc-red);flex-shrink:0; }
.ev-submit-banner strong { display:block;margin-bottom:3px; }

/* Filter bar */
.ev-filters { margin-bottom:16px; }
.ev-filter-row { display:flex;gap:8px;flex-wrap:wrap;align-items:center; }
.ev-filter-row input,.ev-filter-row select {
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  color:#fff;padding:8px 12px;border-radius:6px;font-size:.7rem;
  font-family:inherit;
}
.ev-filter-row input[type=date]::-webkit-calendar-picker-indicator { filter:invert(1); }

/* Page header */
.pg-header { padding:24px 0 20px; }
.pg-eyebrow { font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--dc-red);margin-bottom:6px; }
.pg-title { font-size:2rem;font-weight:900;margin:0 0 8px;font-family:'Inter Tight',sans-serif; }
.pg-desc { font-size:.8rem;color:rgba(255,255,255,.5);margin:0; }

/* No results */
.no-results {
  grid-column:1/-1;text-align:center;padding:60px 20px;
  color:rgba(255,255,255,.3);
}
.no-results i { font-size:2.5rem;display:block;margin-bottom:14px; }
.no-results p { margin-bottom:16px; }

/* Load more */
.load-more-wrap { text-align:center;padding:24px 0; }
.btn-load-more {
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:#fff;padding:12px 28px;border-radius:6px;font-size:.75rem;
  font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit;
}
.btn-load-more:hover { background:rgba(255,255,255,.12); }

/* Buttons */
.btn-primary,.btn-ghost,.btn-primary-sm,.btn-ghost-sm,.btn-disabled-sm {
  display:inline-flex;align-items:center;padding:8px 16px;border-radius:6px;
  font-size:.65rem;font-weight:700;text-decoration:none;text-transform:uppercase;
  letter-spacing:.06em;cursor:pointer;border:none;font-family:inherit;transition:all .15s;
}
.btn-primary,.btn-primary-sm { background:var(--dc-red);color:#fff; }
.btn-primary:hover,.btn-primary-sm:hover { background:#c01815; }
.btn-ghost,.btn-ghost-sm { background:rgba(255,255,255,.06);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.1); }
.btn-ghost:hover,.btn-ghost-sm:hover { background:rgba(255,255,255,.12); }
.btn-disabled-sm { background:rgba(255,255,255,.06);color:rgba(255,255,255,.3);cursor:not-allowed; }


/* ── Hero fallback when no featured posts ───────────────────── */
.vs-slide { min-height:340px;background:linear-gradient(135deg,#0c0c0e 0%,#1a1a2e 100%); }

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden;scroll-behavior:smooth}

:root{
  /* Brand primaries from logo */
  --dc-blue:#1A56FF;
  --dc-red:#E8201A;
  --dc-yellow:#F5C400;
  --dc-green:#2DB54B;
  /* Extended palette */
  --orange:#FF6B00;
  --violet:#7C3AED;
  --teal:#00BFA5;
  --pink:#E91E8C;

  /* Surfaces - DARK sidebar/nav */
  --dark:#0C0C0E;
  --dark2:#111114;
  --dark3:#18181C;
  --dark4:#1F1F24;
  --dark5:#26262C;
  --dark-b1:rgba(255,255,255,.06);
  --dark-b2:rgba(255,255,255,.10);
  --dark-b3:rgba(255,255,255,.18);
  --dark-tx:#F2F2F4;
  --dark-tx2:rgba(242,242,244,.88);
  --dark-tx3:rgba(242,242,244,.6);
  --dark-tx4:rgba(242,242,244,.35);

  /* Surfaces - WHITE content */
  --white:#FFFFFF;
  --w1:#F7F7F8;
  --w2:#EFEFEF;
  --w3:#E6E6E8;
  --w-b1:rgba(0,0,0,.06);
  --w-b2:rgba(0,0,0,.10);
  --w-b3:rgba(0,0,0,.16);
  --w-tx:#0C0C0E;
  --w-tx2:rgba(12,12,14,.62);
  --w-tx3:rgba(12,12,14,.40);
  --w-tx4:rgba(12,12,14,.20);

  --r:6px;--rl:10px;--rx:14px;--rxx:20px;
  --nav-h:0px;
  --sb-w:240px;
  --rp-w:220px;
}

body{
  font-family:'Inter',sans-serif;
  /* 2026-07-05: was var(--dark) - only ever visible as a flash/edge behind
     .BODY (which now defaults white too), kept dark before which could
     bleed through as a black flash on load. Text color left alone: every
     page's real content lives inside .CENTRE, which now sets its own
     explicit dark ink color, so nothing relies on inheriting --dark-tx
     from here. Sections genuinely outside .BODY (header/footer/nav) already
     set their own explicit dark background + light text. */
  background:#ffffff;
  color:var(--dark-tx);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  min-height:100vh;
}

/* ══════════════════════════════════════
   RETRO PIXEL CURSOR
══════════════════════════════════════ */
*{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='18'%3E%3Cpolygon points='0,0 0,14 4,10 6,16 8,15.5 6,9 10,9' fill='white' stroke='black' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") 0 0, default}
a,button,[onclick],.sb-item,.SC,.BT,.AP,.cg-main,.cg-sm,.cta,.hood,.tn-row,.tr-card,.ai-chip,.ai-send-btn,.mob-tab,.ft-si{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='18'%3E%3Cpolygon points='0,0 0,14 4,10 6,16 8,15.5 6,9 10,9' fill='%231A56FF' stroke='black' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") 0 0, pointer}
.blink{animation:blink .9s ease infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.15}}

/* ══════════════════════════════════════
   MOBILE DRAWER - APP STYLE
══════════════════════════════════════ */
#MOB-DRAWER{
  display:none;
  position:fixed;inset:0;z-index:799;
  background:var(--dark);
  padding-top:var(--nav-h);
  overflow-y:auto;
}
#MOB-DRAWER.open{display:block}
.mob-inner{padding:16px}
.mob-section{margin-bottom:24px}
.mob-section-label{
  font-size:.52rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--dark-tx4);padding:0 4px;margin-bottom:8px;
}
.mob-link{
  display:flex;align-items:center;gap:12px;
  padding:13px 12px;border-radius:var(--rl);
  font-size:.88rem;font-weight:500;color:var(--dark-tx2);
  transition:background .15s;
  border:1px solid transparent;
}
.mob-link:hover,.mob-link:active{background:var(--dark3);color:#fff;border-color:var(--dark-b1)}
.mob-link-ico{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;flex-shrink:0;
}
.mob-link-badge{
  margin-left:auto;font-size:.52rem;font-weight:700;
  padding:2px 7px;border-radius:100px;background:var(--dc-red);color:#fff;
}
.mob-tab{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;padding:6px 4px 8px;cursor:pointer;
  font-size:.48rem;font-weight:700;letter-spacing:.04em;
  color:rgba(255,255,255,.38);text-transform:uppercase;
  transition:color .15s;text-decoration:none;
  position:relative;
}
.mob-tab span{display:block;line-height:1;}
.mob-tab i{font-size:1.15rem;display:block;line-height:1;transition:transform .15s;}
.mob-tab.on{color:#fff;}
.mob-tab.on i{transform:scale(1.1);}
.mob-tab.on::after{
  content:'';position:absolute;top:0;left:25%;right:25%;
  height:2px;
  background:linear-gradient(90deg,#E8201A,#1A56FF);
  border-radius:0 0 3px 3px;
  box-shadow:0 0 8px rgba(232,32,26,.6);
}
.mob-tab-more { color:rgba(255,255,255,.38); }
@media(max-width:900px){
  #WRAP{padding-bottom:64px;}
}

/* ══════════════════════════════════════
   MOBILE TOP HEADER
══════════════════════════════════════ */
#MOB-HEADER {
  display:none;
  position:fixed;top:0;left:0;right:0;z-index:900;
  height:64px;
  background:#000;
  border-bottom:1px solid rgba(255,255,255,.07);
  align-items:center;justify-content:center;
  padding:0 14px;
  overflow:visible;
}
.mob-hdr-logo {
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;
  padding:4px;
}
.mob-hdr-actions { display:none !important; }
.mob-hdr-logo svg { flex-shrink:0;width:34px;height:34px; }
/* Burger icon */
.mob-burger {
  display:flex;flex-direction:column;justify-content:center;
  gap:5px;width:18px;height:18px;
}
.mob-burger span {
  display:block;height:2px;border-radius:2px;
  background:rgba(255,255,255,.8);
  transition:all .2s;
}
.mob-burger span:first-child { width:100%; }
.mob-burger span:nth-child(2) { width:75%; }
.mob-burger span:last-child { width:100%; }
.mob-hdr-menu.open .mob-burger span:first-child { transform:rotate(45deg) translate(5px,5px); }
.mob-hdr-menu.open .mob-burger span:nth-child(2) { opacity:0; }
.mob-hdr-menu.open .mob-burger span:last-child { transform:rotate(-45deg) translate(5px,-5px); }
.mob-hdr-act {
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:10px;
  background:rgba(255,255,255,.07);border:none;
  color:rgba(255,255,255,.75);font-size:.95rem;
  cursor:pointer;text-decoration:none;
  transition:background .15s;flex-shrink:0;
}
.mob-hdr-act:hover { background:rgba(255,255,255,.14); }
/* .mob-hdr-actions hidden on mobile - logo centred */
@media(max-width:900px){
  #MOB-HEADER { display:flex; }
  #WRAP { padding-top:64px; }
  #MOB-DRAWER { padding-top:56px; }
}

/* ══════════════════════════════════════
   MAIN WRAP
══════════════════════════════════════ */
#WRAP{padding-top:var(--nav-h)}

/* ══════════════════════════════════════
   VIDEO SLIDER HERO
══════════════════════════════════════ */
.vs-track{
  display:flex;height:100%;
  transition:transform .55s cubic-bezier(.4,0,.2,1);
}
.vs-slide{
  min-width:100%;height:100%;position:relative;overflow:hidden;flex-shrink:0;
}
.vs-video,.vs-img{
  width:100%;height:100%;object-fit:cover;position:absolute;inset:0;
}
.vs-img-blend{ display:none; }
.vs-vid-wrap{
  position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:.6;
}
.vs-vid{
  position:absolute;top:50%;left:50%;border:0;
  width:177.78vh;height:100%;
  min-width:100%;min-height:56.25vw;
  transform:translate(-50%,-50%);
}
.vs-scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(to top,  rgba(0,0,0,.88) 0%, rgba(0,0,0,.35) 50%, transparent 80%),
    linear-gradient(to left, rgba(0,0,0,.88) 0%, rgba(0,0,0,.5) 45%, transparent 72%);
}
.vs-content{
  position:absolute;bottom:52px;right:28px;left:40%;z-index:2;
  display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:8px;
}
.vs-tag{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.5rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;padding:3px 10px;border-radius:4px;margin-bottom:0;
}
.vs-title{
  font-family:'Inter Tight',sans-serif;font-weight:900;
  font-size:clamp(1.2rem,3vw,1.85rem);
  color:#fff;line-height:1.08;letter-spacing:-.02em;margin-bottom:0;
  text-shadow:0 1px 18px rgba(0,0,0,.6);
}
.vs-meta{font-size:.62rem;color:rgba(255,255,255,.5);font-weight:500}

/* Overlaid eyebrow */
.vs-eyebrow{
  position:absolute;top:16px;left:24px;z-index:3;
  font-size:.5rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(255,255,255,.35);
  display:flex;align-items:center;gap:8px;
}
.vs-eyebrow::before{content:'';width:14px;height:1px;background:var(--dc-blue);opacity:.8}

/* Weather overlay top-right */
.vs-wx{
  position:absolute;top:12px;right:16px;z-index:3;
  background:rgba(0,0,0,.4);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.12);border-radius:10px;
  padding:8px 12px;display:flex;align-items:center;gap:10px;
}
.vs-wx-temp{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1.6rem;color:#fff;letter-spacing:-.04em}
.vs-wx-right{display:flex;flex-direction:column;gap:1px}
.vs-wx-ico{font-size:1rem}
.vs-wx-desc{font-size:.48rem;color:rgba(255,255,255,.45);line-height:1.4}

/* Dots */
.vs-dots{
  position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:3;
  display:flex;gap:6px;
}
.vs-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.3);transition:all .2s;
}
.vs-dot.on{background:#fff;width:18px;border-radius:3px}

/* Arrows */
.vs-arrow,.vs-prev,.vs-next{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:36px;height:54px;border-radius:4px;
  background:rgba(0,0,0,.35);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;font-size:.85rem;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;cursor:pointer;
}
.vs-arrow:hover,.vs-prev:hover,.vs-next:hover{background:rgba(26,86,255,.6)}
.vs-prev{left:12px}
.vs-next{right:12px}

/* CTAs overlaid bottom-right */
.vs-ctas{
  position:absolute;bottom:14px;right:16px;z-index:3;
  display:flex;gap:6px;
}

@media(max-width:768px){
  .vs-content{left:10px;right:12px;bottom:44px;align-items:flex-end;text-align:right}
  .vs-ctas{right:10px;bottom:10px}
  .vs-wx{display:none}
}

/* Keep cta styles from before */
.cta{
  font-size:.65rem;font-weight:700;letter-spacing:.02em;
  padding:8px 15px;border-radius:var(--r);transition:all .22s;
  display:inline-flex;align-items:center;gap:6px;
  white-space:nowrap;
}
.cta.primary{background:#fff;color:#000;border:1.5px solid #fff}
.cta.primary:hover{background:#e8e8e8;transform:translateY(-1px)}
.cta.ghost{background:rgba(0,0,0,.3);color:rgba(255,255,255,.75);border:1.5px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
.cta.ghost:hover{border-color:rgba(255,255,255,.5);color:#fff}


/* ══════════════════════════════════════
   TICKER - DARK
══════════════════════════════════════ */
.TICKER{
  height:36px;
  background:var(--dark2);
  border-top:none;
  border-bottom:1px solid var(--dark-b1);
  display:flex;align-items:center;overflow:hidden;
  position:relative;
}
.TICKER::after{
  content:'';position:absolute;right:0;top:0;bottom:0;width:80px;
  background:linear-gradient(to left,var(--dark2),transparent);
  z-index:2;pointer-events:none;
}
.tk-badge{
  display:none;
  padding:0 16px;height:100%;
  background:linear-gradient(135deg,rgba(26,86,255,.9),#0a3acc);
  display:none;align-items:center;gap:6px;
  font-size:.56rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;
  flex-shrink:0;z-index:3;
  box-shadow:4px 0 16px rgba(26,86,255,.2);
}
.tk-track{flex:1;overflow:hidden}
.tk-inner{display:flex;animation:ticker 95s linear infinite;white-space:nowrap}
.tk-inner:hover{animation-play-state:paused}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tk-item{
  font-size:.65rem;font-weight:400;color:rgba(255,255,255,.4);
  padding:0 28px;display:flex;align-items:center;gap:8px;
  border-right:1px solid var(--dark-b1);
}
.tk-item em{color:rgba(255,255,255,.8);font-style:normal;font-weight:700}
.tk-sep{color:var(--dark-b3);font-size:.8em}

/* ══════════════════════════════════════
   3-COL LAYOUT
══════════════════════════════════════ */
.BODY{
  display:grid;
  grid-template-columns:var(--sb-w) 1fr;
  /* 2026-07-05: content track defaults to white now (see .CENTRE below);
     only the nav rail stays black. Previously only tpl-food opted into
     white here, so every other template's .BODY showed a dark gradient
     behind .CENTRE - a second layer of the same black-on-black bug. */
  background:linear-gradient(to right,#0c0c0e var(--sb-w),#ffffff var(--sb-w));
  min-height:100vh;
}
@media(max-width:900px){.BODY{grid-template-columns:1fr}}

/* ══════════════════════════════════════
   LEFT SIDEBAR - DARK SOLID BLACK
══════════════════════════════════════ */
.SB{
  background:#0c0c0e;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  border-right:1px solid rgba(255,255,255,.07);
  position:sticky;top:0;
  height:100vh;
  overflow-y:auto;padding:16px 0 24px;
  scrollbar-width:none;
}
.SB a,.SB a:hover,.SB a:visited{text-decoration:none !important;}
.SB::-webkit-scrollbar{display:none}
@media(max-width:900px){.SB{display:none}}

.sb-section{padding:0 12px;margin-bottom:6px}
.sb-label{
  font-size:.48rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.38);padding:0 10px;margin-bottom:4px;margin-top:16px;
  display:block;
}

/* Each nav item */
.sb-item{
  display:flex;align-items:center;gap:11px;
  padding:7px 10px;border-radius:10px;
  font-size:.76rem;font-weight:500;color:rgba(255,255,255,.72);
  transition:all .15s;cursor:pointer;
  border:1px solid transparent;
  position:relative;
  text-decoration:none !important;
}
.sb-item,.sb-item *,.sb-item:hover,.sb-item:focus,.sb-item:visited{text-decoration:none !important;}
.sb-item:hover{background:var(--dark3);color:rgba(255,255,255,.75)}
.sb-item:hover .sb-ico-wrap{opacity:1}
.sb-item.on{background:var(--dark3);color:#fff;border-color:var(--dark-b1)}
.sb-item.on .sb-ico-wrap{opacity:1}

/* Premium icon container - gradient pill */
.sb-ico-wrap{
  width:32px;height:32px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  font-size:.78rem;flex-shrink:0;
  opacity:.75;
  transition:opacity .15s;
  position:relative;overflow:hidden;
}

/* Subtle inner shine */
.sb-ico-wrap::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 60%);
  border-radius:inherit;pointer-events:none;
}

/* 2040 SVG glyphs */
.sb-ico-wrap svg{width:14px;height:14px;overflow:visible;position:relative;z-index:2;opacity:0;transition:filter .3s,opacity .3s}
.sb-item:hover .sb-ico-wrap svg,.sb-item.on .sb-ico-wrap svg{opacity:1;filter:drop-shadow(0 0 6px var(--ic)) drop-shadow(0 0 12px var(--ic))}

.sb-item-name{flex:1;line-height:1;text-decoration:none !important;}

.sb-badge{
  margin-left:auto;flex-shrink:0;
  font-size:.5rem;font-weight:700;letter-spacing:.04em;
  background:var(--dc-red);color:#fff;
  padding:3px 7px;border-radius:100px;
  min-width:22px;text-align:center;
}
.sb-dot{
  width:6px;height:6px;border-radius:50%;
  margin-left:auto;flex-shrink:0;
  animation:blink 2.2s ease infinite;
}
/* Active indicator bar */
.sb-item.on::before{
  content:'';position:absolute;left:0;top:25%;bottom:25%;
  width:2.5px;border-radius:0 2px 2px 0;
  background:var(--dc-blue);
}

/* Area items - text code badges */
.sb-area-code{
  width:32px;height:32px;border-radius:9px;
  background:var(--dark3);border:1px solid var(--dark-b1);
  display:flex;align-items:center;justify-content:center;
  font-size:.52rem;font-weight:800;letter-spacing:.04em;
  color:var(--dark-tx2);flex-shrink:0;
  font-family:'Inter Tight',sans-serif;
}

/* Weather widget */
.sb-wx{
  margin:0 12px 8px;padding:14px 14px 12px;
  background:linear-gradient(135deg,var(--dark3) 0%,var(--dark2) 100%);
  border:1px solid var(--dark-b1);
  border-radius:12px;
}
.wx-top{display:flex;justify-content:space-between;align-items:flex-start}
.wx-temp{
  font-family:'Inter Tight',sans-serif;font-weight:900;
  font-size:2.2rem;color:#fff;line-height:1;letter-spacing:-.03em;
}
.wx-desc{font-size:.5rem;font-weight:500;color:var(--dark-tx3);margin-top:3px;line-height:1.5}
.wx-icon{font-size:1.6rem;opacity:.6;margin-top:2px}
.wx-row{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:11px;padding-top:11px;
  border-top:1px solid var(--dark-b1);
  gap:0;
}
.wx-cell{text-align:center}
.wx-val{font-size:.62rem;font-weight:700;color:var(--dark-tx2);display:block;font-variant-numeric:tabular-nums}
.wx-key{font-size:.42rem;font-weight:500;color:var(--dark-tx4);text-transform:uppercase;letter-spacing:.08em;margin-top:1px;display:block}

/* ══════════════════════════════════════
   CENTRE - WHITE CONTENT AREA
══════════════════════════════════════ */
.CENTRE{
  background:#ffffff;
  color:#111114;
  padding:28px;
  min-width:0;
}
/* 2026-07-05: inverted the old dark-by-default architecture. White is now
   the default page background (nav rail and footer stay dark independently
   via .SB and .mcr-nl). The old approach required every light page to
   explicitly carry .white-bg on .CENTRE, and any page/template that missed
   that class silently rendered dark text on a dark background (or white
   card content on a dark canvas) - the "black on black" bug. Pages that
   genuinely need a dark canvas (rare) should opt in with .CENTRE.dark-bg
   rather than relying on a template whitelist. */
.cat-page-centre {
  background:#ffffff;
}
.CENTRE.dark-bg,
.cat-page-centre.dark-bg {
  background:var(--dark2) !important;
  color:var(--dark-tx) !important;
}
/* legacy class kept as a no-op alias now that white is the default */
.cat-page-centre.white-bg,
.CENTRE.white-bg {
  background:#ffffff !important;
  color:#111114 !important;
}
@media(max-width:900px){.CENTRE{padding:16px}}

/* Section header - premium */
.SH{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;gap:12px}
.sh-eyebrow{
  font-size:.5rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.35);margin-bottom:5px;display:flex;align-items:center;gap:7px;
}
.sh-eyebrow::before{content:'';width:14px;height:2px;background:currentColor;border-radius:2px;opacity:.5}
.sh-title{
  font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1.8rem;
  color:#fff;letter-spacing:-.04em;line-height:.95;
}
.sh-link{
  font-size:.6rem;font-weight:700;color:rgba(255,255,255,.5);
  display:flex;align-items:center;gap:5px;
  padding:5px 11px;border-radius:100px;
  border:1px solid rgba(255,255,255,.07);
  transition:all .18s;white-space:nowrap;
}
.sh-link:hover{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.07)}

/* ══════════════════════════════════════
   CINEMATIC GRID - TOP POST = VIDEO
══════════════════════════════════════ */
.CG{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  grid-template-rows:220px 220px;
  gap:4px;border-radius:12px;overflow:hidden;
  margin-bottom:0;
  outline:none;
}
.cg-main{grid-row:1/3;position:relative;overflow:hidden;cursor:pointer;background:#000}
.cg-sm{position:relative;overflow:hidden;cursor:pointer;background:var(--dark3)}
.cg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.65)}
.cg-img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.4,0,.2,1);filter:brightness(.72)}
.cg-main:hover .cg-video{filter:brightness(.78)}
.cg-sm:hover .cg-img{transform:scale(1.07);filter:brightness(.85)}
.cg-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.1) 60%,transparent 100%);z-index:1}
.cg-body{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:20px}
.cg-main .cg-body{padding:28px}
.cg-accent{position:absolute;top:0;left:0;right:0;height:2px;z-index:4}
.cg-tag{
  font-size:.52rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.45);margin-bottom:7px;
  display:flex;align-items:center;gap:6px;
}
.cg-dot{width:4px;height:4px;border-radius:50%;flex-shrink:0}
.cg-title{
  font-family:'Inter Tight',sans-serif;font-weight:800;color:#fff;
  line-height:1.02;letter-spacing:-.02em;
}
.cg-main .cg-title{font-size:clamp(1.2rem,2.4vw,1.95rem)}
.cg-sm .cg-title{font-size:.9rem}
.cg-meta{font-size:.56rem;font-weight:400;color:rgba(255,255,255,.28);margin-top:6px}
.cg-arrow{
  position:absolute;bottom:18px;right:18px;z-index:3;
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;
  font-size:.6rem;color:rgba(255,255,255,.55);
  opacity:0;transform:scale(.7);transition:all .2s;
}
.cg-main:hover .cg-arrow,.cg-sm:hover .cg-arrow{opacity:1;transform:scale(1)}

/* Video controls */
.vid-badge{
  position:absolute;top:14px;left:14px;z-index:4;
  background:var(--dc-red);color:#fff;
  font-size:.5rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:100px;
  display:flex;align-items:center;gap:4px;
}
.vid-mute{
  position:absolute;top:14px;right:14px;z-index:4;
  width:30px;height:30px;border-radius:50%;
  background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:.65rem;cursor:pointer;
  backdrop-filter:blur(8px);transition:background .18s;
}
.vid-mute:hover{background:rgba(0,0,0,.75)}

@media(max-width:768px){
  .CG{grid-template-columns:1fr;grid-template-rows:200px 130px 130px}
  .cg-main{grid-row:auto}
}

/* ══════════════════════════════════════
   STORY CARDS - PREMIUM
══════════════════════════════════════ */
.CARDS{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}
@media(max-width:640px){.CARDS{grid-template-columns:1fr 1fr}}
@media(max-width:400px){.CARDS{grid-template-columns:1fr}}
/* .SC card styles moved to v9.5 dark theme block below */

/* ══════════════════════════════════════
   BENTO GRID
══════════════════════════════════════ */
.BENTO{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr;
  grid-template-rows:116px 116px;
  gap:8px;margin-bottom:22px;
}
@media(max-width:640px){.BENTO{grid-template-columns:1fr 1fr;grid-template-rows:auto}}
.BT{
  border-radius:var(--rl);padding:16px;cursor:pointer;
  border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.04);
  transition:all .18s;position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:space-between;
}
.BT:hover{border-color:rgba(255,255,255,.14);transform:translateY(-2px);background:rgba(255,255,255,.07);}
.BT.span2{grid-column:span 2}
@media(max-width:640px){.BT.span2{grid-column:span 1}}
.bt-ico{font-size:1rem;margin-bottom:auto}
.bt-num{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1.9rem;line-height:1;letter-spacing:-.03em}
.bt-label{font-size:.48rem;font-weight:700;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.1em;margin-top:2px}
.bt-h{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:.95rem;color:#fff;line-height:1.15;letter-spacing:-.02em}
.bt-sub{font-size:.58rem;color:rgba(255,255,255,.5);margin-top:5px;line-height:1.6}
.bt-pill{font-size:.44rem;font-weight:700;padding:3px 8px;border-radius:100px;display:inline-flex;align-items:center;gap:5px;margin-top:8px}

/* ══════════════════════════════════════
   VIDEO WALL
══════════════════════════════════════ */
.VW{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  gap:3px;border-radius:var(--rx);overflow:hidden;
  border:1px solid rgba(255,255,255,.07);margin-bottom:22px;
}
@media(max-width:580px){.VW{grid-template-columns:1fr}}
.vw-card{position:relative;aspect-ratio:16/9;overflow:hidden;cursor:pointer;background:var(--dark3)}
.vw-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.65) saturate(1.1);transition:all .35s}
.vw-card:hover img{filter:brightness(.85) saturate(1.2);transform:scale(1.05)}
.vw-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85),transparent 60%)}
.vw-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;
  font-size:.65rem;color:#fff;
  opacity:0;transition:all .2s;
}
.vw-card:hover .vw-play{opacity:1;transform:translate(-50%,-50%) scale(1.1)}
.vw-body{position:absolute;bottom:0;left:0;right:0;padding:10px 11px;z-index:2}
.vw-cat{font-size:.44rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.32);margin-bottom:3px}
.vw-title{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:.82rem;color:#fff;line-height:1.2}
.vw-dur{position:absolute;top:7px;right:7px;font-size:.46rem;font-weight:600;color:rgba(255,255,255,.7);background:rgba(0,0,0,.55);padding:2px 6px;border-radius:3px}

/* ══════════════════════════════════════
   APPS
══════════════════════════════════════ */
.APPS{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}
@media(max-width:580px){.APPS{grid-template-columns:1fr 1fr}}
.AP{
  padding:16px 14px;border-radius:var(--rl);
  border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.04);
  cursor:pointer;transition:all .18s;text-align:center;
}
.AP:hover{border-color:rgba(255,255,255,.14);transform:translateY(-2px);}
.ap-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:.95rem}
.ap-name{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:.78rem;color:#fff;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:3px}
.ap-desc{font-size:.56rem;font-weight:400;color:rgba(255,255,255,.5)}
.ap-tag{display:inline-flex;margin-top:5px;font-size:.42rem;font-weight:700;padding:2px 7px;border-radius:100px}

/* ══════════════════════════════════════
   HOODS - 3 × 2 even grid
══════════════════════════════════════ */
.hoods-section { padding:0 0 4px; }
.HOODS{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:4px;
  margin-bottom:28px;
  border-radius:20px;
  overflow:hidden;
}
/* Equal 3-col layout - all cards same height */
.hood:nth-child(n)            { grid-column:span 1; height:190px; }
.hood{
  position:relative;
  overflow:hidden;
  cursor:pointer;
  border-radius:6px;
}
.hood img{
  width:100%;height:100%;
  object-fit:cover;
  filter:brightness(.5) saturate(1.1);
  transition:filter .4s ease, transform .5s cubic-bezier(.4,0,.2,1);
}
.hood:hover img{
  filter:brightness(.7) saturate(1.2);
  transform:scale(1.06);
}
/* Bottom gradient scrim */
.hood-scrim{
  position:absolute;inset:0;
  background:linear-gradient(to top,
    rgba(0,0,0,.88) 0%,
    rgba(0,0,0,.3) 45%,
    transparent 75%);
  pointer-events:none;
}
/* Top-left glass color tint from --hc */
.hood-glass-top {
  position:absolute;inset:0;
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--hc,#1A56FF) 22%,transparent) 0%,
    transparent 55%);
  pointer-events:none;
  transition:opacity .3s ease;
  opacity:.7;
}
.hood:hover .hood-glass-top { opacity:1; }
/* Content */
.hood-body{
  position:absolute;bottom:0;left:0;right:0;
  padding:16px 18px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.hood-abbr{
  font-size:.4rem;font-weight:900;
  letter-spacing:.2em;text-transform:uppercase;
  color:color-mix(in srgb,var(--hc,#fff) 90%,rgba(255,255,255,.5));
  line-height:1;
}
.hood-name{
  font-family:'Inter Tight',sans-serif;
  font-weight:900;
  font-size:1.05rem;
  color:#fff;
  line-height:1.1;
  letter-spacing:-.02em;
}
.hood:nth-child(n) .hood-name { font-size:.95rem; }
.hood-cta {
  font-size:.52rem;
  font-weight:700;
  color:rgba(255,255,255,.7);
  letter-spacing:.04em;
  display:flex;
  align-items:center;
  gap:5px;
  opacity:1;
  transform:translateY(0);
  transition:opacity .25s ease, transform .25s ease, color .25s ease;
}
.hood-cta i { font-size:.55em; }
.hood:hover .hood-cta { color:rgba(255,255,255,.95); }
/* Left accent bar - always visible */
.hood::before {
  content:'';
  position:absolute;
  top:0;bottom:0;left:0;
  width:3px;
  background:var(--hc,#1A56FF);
  transform:scaleX(1);
  transform-origin:left;
  transition:width .25s ease;
  z-index:3;
}
.hood:hover::before { width:5px; }
/* Responsive */
@media(max-width:900px){
  .HOODS{grid-template-columns:repeat(3,1fr);}
  .hood:nth-child(n){grid-column:span 1;height:160px;}
  .hood-name{font-size:.85rem;}
}
@media(max-width:640px){
  .HOODS{grid-template-columns:repeat(2,1fr);border-radius:14px;}
  .hood:nth-child(n){grid-column:span 1 !important;height:130px !important;}
  .hood-name{font-size:.78rem !important;}
  .hood-body{padding:10px 12px;}
}

/* ══════════════════════════════════════
   RIGHT PANEL - HAIR LINE + RED TAB
══════════════════════════════════════ */
.RP{
  position:fixed;top:0;right:0;
  width:1px;height:100vh;z-index:700;
  background:rgba(255,255,255,.1);
  overflow:visible;
  transition:width .35s cubic-bezier(.4,0,.2,1);
  display:block !important;
}
.RP.open{
  width:260px;
  background:rgba(10,10,16,0.95);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-left:1px solid rgba(255,255,255,.08);
  overflow-y:auto;
}
.RP::-webkit-scrollbar{display:none}
.RP.open{scrollbar-width:none}

/* Collapsed strip - hidden when closed, shown when open */
.rp-strip{ display:none }
.RP.open .rp-strip{ display:none }

/* Pull tab - black, clean colour-cycling border */
.rp-tab{
  position:fixed;top:50%;right:1px;
  transform:translateY(-50%);
  width:42px;height:144px;z-index:701;
  background:#000;
  border-left:2px solid #1A56FF;
  border-top:1px solid #1A56FF;
  border-bottom:1px solid #1A56FF;
  border-right:none;
  border-radius:12px 0 0 12px;
  display:flex;align-items:center;justify-content:center;
  transition:right .35s cubic-bezier(.4,0,.2,1),width .2s;
  cursor:pointer;
  animation:tab-cycle 4s linear infinite;
}
@keyframes tab-cycle{
  0%,100%{ border-color:#1A56FF }
  25%    { border-color:#E8201A }
  50%    { border-color:#F5C400 }
  75%    { border-color:#2DB54B }
}
.rp-tab:hover{width:48px}
.rp-tab.open{right:260px;animation:none;border-color:rgba(255,255,255,.12);background:#0a0a0a}
.rp-tab i{font-size:1rem;color:rgba(255,255,255,.4);transition:transform .35s}
.rp-tab.open i{transform:rotate(180deg)}

/* Expanded panel content */
.rp-inner{
  width:260px;padding:20px 16px 80px;
  opacity:0;pointer-events:none;
  transition:opacity .2s .15s;
  min-height:100%;
}
.RP.open .rp-inner{opacity:1;pointer-events:all}

/* ══════════════════════════════════════
   CLIPPY - ORBITAL LOGO ANIMATIONS
══════════════════════════════════════ */
@keyframes clippy-pop{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes clippy-bounce{
  0%,100%{transform:translateY(0) rotate(-2deg)}
  35%{transform:translateY(-8px) rotate(2deg)}
  65%{transform:translateY(-3px) rotate(0deg)}
}

.rp-section{margin-bottom:18px}
.rp-label{
  font-size:.46rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dark-tx4);margin-bottom:8px;
  display:flex;align-items:center;gap:8px;
}
.rp-label::after{content:'';flex:1;height:1px;background:var(--dark-b1)}

/* Events */
.EV{
  display:flex;gap:8px;padding:7px 0;
  border-bottom:1px solid var(--dark-b1);cursor:pointer;
}
.EV:last-child{border-bottom:none}
.EV:hover .ev-title{color:#fff}
.ev-stripe{width:2px;border-radius:1px;align-self:stretch;flex-shrink:0;min-height:24px}
.ev-body{flex:1;min-width:0}
.ev-cat{font-size:.42rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dark-tx4);margin-bottom:2px}
.ev-title{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:.75rem;color:var(--dark-tx2);line-height:1.2;transition:color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-meta{font-size:.5rem;font-weight:400;color:var(--dark-tx3);margin-top:1px}
.ev-day{font-size:.42rem;font-weight:700;color:var(--dark-tx4);flex-shrink:0;margin-top:1px}

/* Map */
.MAP{
  height:134px;border-radius:var(--rl);overflow:hidden;
  border:1px solid var(--dark-b1);background:var(--dark3);position:relative;
}
.map-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(var(--dark-b1) 1px,transparent 1px),
                   linear-gradient(90deg,var(--dark-b1) 1px,transparent 1px);
  background-size:16px 16px;
}
.map-dot{
  position:absolute;border-radius:50%;transform:translate(-50%,-50%);
  border:1.5px solid var(--dark);
}
.map-dot::after{
  content:'';position:absolute;inset:-4px;border-radius:50%;
  border:1px solid currentColor;opacity:.2;animation:ping 2.2s ease infinite;
}
@keyframes ping{0%{transform:scale(1);opacity:.35}100%{transform:scale(3);opacity:0}}
.map-label{
  position:absolute;transform:translate(-50%,-50%);
  font-size:.36rem;font-weight:600;color:var(--dark-tx3);
  background:rgba(12,12,14,.85);padding:1px 5px;border-radius:3px;white-space:nowrap;
}
.map-fade{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,var(--dark) 100%)}

/* Transport */
.TR{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.tr-card{
  padding:10px 8px;border-radius:var(--r);
  border:1px solid var(--dark-b1);background:var(--dark3);
  text-align:center;cursor:pointer;transition:all .14s;
}
.tr-card:hover{border-color:var(--dark-b2);background:var(--dark4)}
.tr-icon{font-size:.95rem;display:block;margin-bottom:4px}
.tr-val{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:.82rem;color:#fff;display:block;line-height:1}
.tr-label{font-size:.44rem;font-weight:500;color:var(--dark-tx3);text-transform:uppercase;letter-spacing:.06em}

/* Trending */
.TN{display:flex;flex-direction:column}
.tn-row{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--dark-b1);cursor:pointer}
.tn-row:last-child{border-bottom:none}
.tn-num{font-size:.48rem;font-weight:700;color:var(--dark-tx4);width:14px;flex-shrink:0;font-variant-numeric:tabular-nums}
.tn-info{flex:1}
.tn-title{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:.8rem;color:var(--dark-tx)}
.tn-sub{font-size:.54rem;color:var(--dark-tx3)}
.tn-arrow{font-size:.48rem;color:var(--dc-green)}

/* ══════════════════════════════════════
   NEWSLETTER - DARK
══════════════════════════════════════ */
.NL{
  padding:56px 48px;
  background:linear-gradient(135deg,#0c0c0e 0%,#111114 100%);
  border-top:1px solid rgba(255,255,255,.06);
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  position:relative;overflow:hidden;
}
.NL::before{
  content:'';position:absolute;top:-80px;left:-60px;
  width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.03) 0%,transparent 65%);
  pointer-events:none;
}
.NL::after{
  content:'';position:absolute;bottom:-60px;right:10%;
  width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.02) 0%,transparent 65%);
  pointer-events:none;
}
@media(max-width:768px){.NL{grid-template-columns:1fr;padding:36px 18px;gap:24px}}
.nl-heading{
  font-family:'Inter Tight',sans-serif;font-weight:900;font-size:2.6rem;
  color:#fff;line-height:.88;margin-bottom:10px;letter-spacing:-.05em;
  position:relative;z-index:1;
}
.nl-heading span{
  color:#fff;
}
.nl-sub{font-size:.7rem;font-weight:400;color:rgba(255,255,255,.35);line-height:1.9;position:relative;z-index:1}
.nl-form{display:flex;gap:0;position:relative;z-index:1}
.nl-input{
  flex:1;padding:13px 16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);border-right:none;
  border-radius:var(--r) 0 0 var(--r);
  font-family:'Inter',sans-serif;font-size:.72rem;color:#fff;outline:none;
  transition:border-color .18s;backdrop-filter:blur(8px);
}
.nl-input:focus{border-color:rgba(255,255,255,.25)}
.nl-input::placeholder{color:rgba(255,255,255,.2)}
.nl-btn{
  padding:0 22px;
  background:var(--dc-red);
  color:#fff;border:none;
  border-radius:0 var(--r) var(--r) 0;cursor:pointer;
  font-family:'Inter',sans-serif;font-weight:700;font-size:.7rem;
  letter-spacing:.08em;text-transform:uppercase;transition:all .2s;
  box-shadow:none;
}
.nl-btn:hover{opacity:.88;transform:translateX(1px)}

/* ══════════════════════════════════════
   FOOTER - DARK
══════════════════════════════════════ */
/* .FT - see footer section below */
@media(max-width:768px){.FT{grid-template-columns:1fr 1fr;padding:28px 18px 18px}}
.ft-brand{
  display:flex;align-items:center;gap:8px;
  font-family:'Inter Tight',sans-serif;font-weight:900;font-size:.9rem;
  letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:10px;
}
.ft-desc{font-size:.62rem;font-weight:400;color:var(--dark-tx3);line-height:1.85;max-width:200px}
.ft-soc{display:flex;gap:7px;margin-top:12px}
.ft-si{
  width:30px;height:30px;border-radius:8px;
  background:var(--dark3);border:1px solid var(--dark-b1);
  display:flex;align-items:center;justify-content:center;
  font-size:.7rem;color:var(--dark-tx3);cursor:pointer;transition:all .14s;
}
.ft-si:hover{background:var(--dark5);color:#fff;border-color:var(--dark-b2)}
.ft-col h4{font-size:.48rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--dark-tx4);margin-bottom:12px}
.ft-col ul{display:flex;flex-direction:column;gap:7px}
.FT a,.FT a:hover,.FT a:visited,.NL a,.ft-bottom a{text-decoration:none;}
.ft-col a{font-size:.7rem;font-weight:400;color:var(--dark-tx3);transition:color .14s;text-decoration:none}
.ft-col a:hover{color:#fff}
.ft-bottom{
  background:var(--dark);border-top:1px solid var(--dark-b1);
  padding:12px 48px;display:flex;justify-content:space-between;
  font-size:.52rem;font-weight:500;color:var(--dark-tx4);
}
@media(max-width:768px){.ft-bottom{padding:10px 18px;flex-direction:column;gap:3px}}

/* ══════════════════════════════════════
   CITY PULSE
══════════════════════════════════════ */
.pulse-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pulse-card{
  background:var(--dark3);border:1px solid var(--dark-b1);
  border-radius:10px;padding:10px 11px;
}
.pulse-val{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1rem;line-height:1;letter-spacing:-.02em}
.pulse-bar{height:2px;background:var(--dark-b1);border-radius:2px;margin:5px 0 4px}
.pulse-fill{height:100%;border-radius:2px}
.pulse-label{font-size:.44rem;font-weight:600;color:var(--dark-tx4);text-transform:uppercase;letter-spacing:.06em}

/* ══════════════════════════════════════
   HERO WEATHER FLOAT CARD
══════════════════════════════════════ */
.hero-wx{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  padding:16px 18px;
  backdrop-filter:blur(12px);
  min-width:190px;
  flex-shrink:0;
}
.hero-wx-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.hero-wx-temp{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:2.2rem;color:#fff;line-height:1;letter-spacing:-.04em}
.hero-wx-desc{font-size:.58rem;color:rgba(255,255,255,.4);margin-top:4px;line-height:1.5}
.hero-wx-icon{font-size:1.8rem;opacity:.8}
.hero-wx-row{display:flex;gap:10px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px}
.hero-wx-cell{display:flex;flex-direction:column;align-items:center;gap:2px}
.hero-wx-val{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:.8rem;color:rgba(255,255,255,.8)}
.hero-wx-key{font-size:.42rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.25)}

/* ══════════════════════════════════════
   SIDEBAR CLIPPY SLOT
══════════════════════════════════════ */
.sb-clippy-slot{
  padding:14px 14px 12px;
  border-bottom:1px solid rgba(255,255,255,.06);
  margin-bottom:6px;
  display:flex;flex-direction:column;align-items:center;
  gap:6px;
}
#sb-clippy-bubble{
  background:#1c1c22;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  padding:10px 12px;
  width:100%;
  font-family:'Inter',sans-serif;
  font-size:.64rem;line-height:1.55;
  color:rgba(255,255,255,.88);
  box-shadow:0 4px 20px rgba(0,0,0,.5);
  display:none;position:relative;
}
#sb-clippy-bubble.show{display:block;animation:clippy-pop .2s ease}
/* Arrow pointing down toward clippy */
#sb-clippy-bubble::after{
  content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);
  border:5px solid transparent;border-top-color:#1c1c22;
}
#sb-clippy-bubble::before{
  content:'';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);
  border:6px solid transparent;border-top-color:rgba(255,255,255,.1);
}
.clippy-btns{display:flex;gap:6px;margin-top:8px}
.clippy-btn{
  flex:1;padding:4px 0;text-align:center;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  font-size:.6rem;font-weight:600;color:rgba(255,255,255,.75);
  border-radius:5px;
}
.clippy-btn:hover{background:rgba(255,255,255,.16);color:#fff}
#sb-clippy-char{
  width:88px;height:88px;
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.7));
  transition:transform .2s ease;
}
#sb-clippy-char:hover{transform:scale(1.06)}
#sb-clippy-char svg{width:100%;height:100%}

/* ══════════════════════════════════════
   SIDEBAR TONIGHT
══════════════════════════════════════ */
.sb-tonight{display:flex;flex-direction:column;gap:0;margin:0 2px}
.sb-ev{
  display:flex;align-items:center;gap:8px;
  padding:7px 10px;border-radius:8px;
  transition:background .15s;
}
.sb-ev:hover{background:rgba(255,255,255,.04)}
.sb-ev-stripe{width:2px;border-radius:1px;align-self:stretch;flex-shrink:0;min-height:22px}
.sb-ev-body{flex:1;min-width:0}
.sb-ev-cat{font-size:.4rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dark-tx4);margin-bottom:1px}
.sb-ev-title{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:.7rem;color:var(--dark-tx2);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-ev-meta{font-size:.48rem;color:var(--dark-tx4);margin-top:1px}
.sb-ev-day{font-size:.4rem;font-weight:700;color:var(--dark-tx4);flex-shrink:0;letter-spacing:.06em}
.sb-ev-more{
  display:block;text-align:center;margin:6px 10px 2px;
  font-size:.55rem;font-weight:600;color:var(--dark-tx4);
  padding:6px;border:1px solid var(--dark-b1);border-radius:7px;
  transition:all .15s;
}
.sb-ev-more:hover{color:var(--dark-tx2);border-color:var(--dark-b2);background:rgba(255,255,255,.03)}



/* ══════════════════════════════════════
   SIDEBAR LOGO SLOT
══════════════════════════════════════ */
/* sb-logo-slot/img - see below */

/* ══════════════════════════════════════
   WHITE PARTNER SCROLL BAR
══════════════════════════════════════ */
.PBAR{
  background:#fff;
  border-top:1px solid #f0f0f0;
  border-bottom:1px solid #f0f0f0;
  overflow:hidden;
  height:36px;
  display:flex;align-items:center;
  margin:24px -28px;
  position:relative;
}
.PBAR::before,.PBAR::after{
  content:'';position:absolute;top:0;bottom:0;width:40px;z-index:2;
}
.PBAR::before{left:0;background:linear-gradient(to right,#fff,transparent)}
.PBAR::after{right:0;background:linear-gradient(to left,#fff,transparent)}
.pbar-inner{
  display:flex;align-items:center;gap:0;
  white-space:nowrap;
  animation:pbar-scroll 38s linear infinite;
}
.pbar-inner:hover{animation-play-state:paused}
@keyframes pbar-scroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.pbar-item{
  font-family:'Inter Tight',sans-serif;
  font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#111;padding:0 14px;
}
.pbar-sep{color:#ccc;font-size:.7rem}

/* ══════════════════════════════════════
   MCR.TV - FULL BROADCAST CHANNEL
══════════════════════════════════════ */
.MCTV{
  background:#050508;
  margin:32px -28px -28px -28px;
  padding:0;
  border-top:1px solid rgba(255,255,255,.08);
  font-family:'Inter','Inter Tight',sans-serif;
}

/* ── Top bar ── */
.tv-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 28px;
  background:#050508;
  border-bottom:1px solid rgba(255,255,255,.06);
  gap:16px;flex-wrap:wrap;
}
.tv-brand{
  display:flex;align-items:center;gap:12px;
}
.tv-brand-logo{
  background:#fff;
  font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1rem;
  letter-spacing:-.02em;color:#000;padding:5px 12px;border-radius:5px;
}
.tv-brand-sub{
  font-size:.5rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(255,255,255,.22);
}
.tv-liveclock{
  display:flex;align-items:center;gap:12px;
}
.tv-clock{
  font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums;
  color:rgba(255,255,255,.9);letter-spacing:.06em;font-family:var(--font-mono,monospace);
}
.tv-live-pill{
  display:flex;align-items:center;gap:5px;
  background:transparent;border:1px solid rgba(255,255,255,.18);
  border-radius:20px;padding:4px 12px;
  font-size:.44rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);
}
.tv-live-dot{
  width:5px;height:5px;border-radius:50%;background:#fff;
  animation:wot-blink 1.2s ease infinite;flex-shrink:0;
}
.tv-channel-select{
  display:flex;gap:6px;
}
.tv-ch-btn{
  display:flex;align-items:center;gap:7px;
  padding:7px 16px;border-radius:100px;
  border:1px solid rgba(255,255,255,.1);background:transparent;
  color:rgba(255,255,255,.3);font-size:.55rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .18s;
}
.tv-ch-btn:hover{color:rgba(255,255,255,.75);border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06)}
.tv-ch-btn.on,.tv-ch-btn[data-ch].on{background:#fff;border-color:#fff;color:#000}
.tv-ch-num{
  font-size:.38rem;opacity:.45;font-variant-numeric:tabular-nums;
}

/* ── Main body ── */
.tv-body{
  display:grid;
  grid-template-columns:1fr 340px;
  min-height:520px;
}
@media(max-width:900px){.tv-body{grid-template-columns:1fr}}

/* ── Player side ── */
.tv-player-col{display:flex;flex-direction:column;min-width:0}
.tv-player-wrap{
  position:relative;width:100%;padding-bottom:56.25%;
  background:#000;
  flex-shrink:0;
}
.tv-player-wrap iframe{
  position:absolute;inset:0;width:100%;height:100%;border:none;
}
/* Loading state */
.tv-loading{
  position:absolute;inset:0;background:#000;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  z-index:5;
}
.tv-loading-spinner{
  width:36px;height:36px;border:2px solid rgba(255,255,255,.1);
  border-top-color:rgba(255,255,255,.7);border-radius:50%;
  animation:tv-spin .7s linear infinite;
}
@keyframes tv-spin{to{transform:rotate(360deg)}}
.tv-loading-label{font-size:.6rem;color:rgba(255,255,255,.4);font-weight:600;letter-spacing:.1em;text-transform:uppercase}
/* Now playing bar */
.tv-now-bar{
  background:#0a0a0d;
  padding:14px 24px;
  display:flex;align-items:center;gap:14px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.tv-now-badge{
  font-size:.4rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  padding:4px 10px;border-radius:100px;
  background:rgba(255,255,255,.1)!important;color:rgba(255,255,255,.7);flex-shrink:0;
  border:1px solid rgba(255,255,255,.12);
}
.tv-now-title{
  font-family:'Inter Tight',sans-serif;font-weight:700;font-size:.85rem;
  color:#fff;flex:1;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.tv-now-dur{font-size:.52rem;color:rgba(255,255,255,.25);flex-shrink:0;font-variant-numeric:tabular-nums;}
/* Progress bar */
.tv-progress{height:3px;background:rgba(255,255,255,.08);position:relative;cursor:pointer}
.tv-progress-fill{height:100%;transition:width .5s linear;background:rgba(255,255,255,.55)}

/* ── EPG / Schedule ── */
.tv-epg{
  background:#0c0c18;
  padding:16px 18px 14px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.tv-epg-head{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;
}
.tv-epg-label{
  font-size:.5rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.3);
}
.tv-epg-view-all{
  font-size:.5rem;font-weight:700;color:rgba(255,255,255,.3);cursor:pointer;
  letter-spacing:.06em;text-transform:uppercase;transition:color .14s;
}
.tv-epg-view-all:hover{color:rgba(255,255,255,.7)}
.tv-epg-grid{
  display:flex;gap:4px;overflow-x:auto;
  scrollbar-width:none;
}
.tv-epg-grid::-webkit-scrollbar{display:none}
.tv-epg-slot{
  flex:0 0 auto;min-width:120px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);
  border-radius:8px;padding:10px 12px;
  cursor:pointer;transition:all .18s;position:relative;overflow:hidden;
}
.tv-epg-slot:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)}
.tv-epg-slot.now{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
.tv-epg-slot.now::before{
  content:'NOW';
  position:absolute;top:7px;right:8px;
  font-size:.35rem;font-weight:900;letter-spacing:.14em;
  color:rgba(255,255,255,.5);
}
.tv-epg-time{font-size:.45rem;font-weight:600;color:rgba(255,255,255,.28);margin-bottom:4px;font-variant-numeric:tabular-nums;}
.tv-epg-title{font-size:.6rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:4px}
.tv-epg-ch{font-size:.4rem;font-weight:700;color:rgba(255,255,255,.25);text-transform:uppercase;letter-spacing:.08em}
.tv-epg-prog{height:1px;background:rgba(255,255,255,.06);border-radius:1px;margin-top:8px}
.tv-epg-prog-fill{height:100%;border-radius:1px}

/* ── Ad break screen (policy-safe - no fake ads) ── */
.tv-break-overlay{
  position:absolute;inset:0;z-index:20;
  background:linear-gradient(135deg,#0c0c18,#0c0c0e);
  display:none;flex-direction:column;align-items:center;justify-content:center;
}
.tv-break-overlay.show{display:flex}
.tv-break-inner{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:24px;}
.tv-break-logo{
  font-family:'Inter Tight',sans-serif;font-weight:900;font-size:2rem;color:#fff;letter-spacing:-.02em;
}
.tv-break-logo span{color:#fff}
.tv-break-msg{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.tv-break-cd{font-size:1.4rem;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
.tv-break-skip{
  margin-top:8px;font-size:.62rem;font-weight:700;
  background:rgba(255,255,255,.08);color:rgba(255,255,255,.6);
  border:1px solid rgba(255,255,255,.15);
  padding:8px 18px;border-radius:6px;cursor:pointer;
  transition:all .14s;white-space:nowrap;
}
.tv-break-skip:hover:not(:disabled){background:rgba(255,255,255,.14);color:#fff}
.tv-break-skip:disabled{opacity:.4;cursor:not-allowed}
/* ── PiP pop-out button ── */
.tv-pip-btn{
  position:absolute;top:10px;right:10px;z-index:10;
  background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.2);
  color:#fff;font-size:.9rem;width:28px;height:28px;
  border-radius:5px;cursor:pointer;opacity:0;transition:opacity .2s;
  display:flex;align-items:center;justify-content:center;
}
.tv-player-wrap:hover .tv-pip-btn{opacity:1}
/* ── AI description ── */
.tv-now-info{flex:1;min-width:0}
.tv-ai-desc{
  font-size:.52rem;color:rgba(255,255,255,.38);line-height:1.4;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-top:2px;
  animation:tv-desc-fade .4s ease;
}
@keyframes tv-desc-fade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
/* ── Keyboard shortcut hint ── */
.tv-kb-hint{
  font-size:.44rem;color:rgba(255,255,255,.2);
  border:1px solid rgba(255,255,255,.08);border-radius:4px;
  padding:2px 7px;letter-spacing:.06em;cursor:help;
}
/* ── SEO / text content section ── */
.tv-seo-section{
  padding:32px 24px 40px;
  background:#0c0c18;
  border-top:1px solid rgba(255,255,255,.05);
}
.tv-seo-header{text-align:center;margin-bottom:24px}
.tv-seo-title{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1.1rem;color:#fff;margin:0 0 6px}
.tv-seo-sub{font-size:.65rem;color:rgba(255,255,255,.4);margin:0}
.tv-seo-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:14px;margin-bottom:28px;
}
.tv-seo-card{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:16px;
}
.tv-seo-card-icon{font-size:1.4rem;margin-bottom:8px}
.tv-seo-card-title{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:.78rem;color:#fff;margin:0 0 6px}
.tv-seo-card-body{font-size:.62rem;color:rgba(255,255,255,.45);line-height:1.6;margin:0}
.tv-seo-ad{max-width:728px;margin:0 auto}
@media(max-width:900px){.tv-seo-section{padding:24px 16px 32px}.tv-seo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tv-seo-grid{grid-template-columns:1fr}}

/* ── Right sidebar ── */
.tv-sidebar-col{
  background:#030305;
  border-left:1px solid rgba(255,255,255,.04);
  display:flex;flex-direction:column;overflow:hidden;
  max-height:720px;
}
.tv-sidebar-tabs{
  display:flex;border-bottom:1px solid rgba(255,255,255,.05);
  padding:0 4px;
}
.tv-stab{
  flex:1;text-align:center;padding:12px 4px;
  font-size:.45rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.25);cursor:pointer;border-bottom:1px solid transparent;
  transition:all .15s;background:none;border-top:none;border-left:none;border-right:none;
}
.tv-stab:hover{color:rgba(255,255,255,.55)}
.tv-stab.on{color:#fff;border-bottom-color:rgba(255,255,255,.6)}
.tv-panel{display:none;flex-direction:column;overflow:hidden;flex:1}
.tv-panel.on{display:flex}
.tv-queue-scroll{overflow-y:auto;flex:1}

/* Queue items */
.tv-qi{
  display:flex;align-items:center;gap:12px;
  padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.03);
  cursor:pointer;transition:background .15s;
}
.tv-qi:hover{background:rgba(255,255,255,.04)}
.tv-qi.active{background:rgba(255,255,255,.07);border-left:2px solid rgba(255,255,255,.5);padding-left:14px;}
.tv-qi.ad-marker{
  background:rgba(26,86,255,.05);border-left:2px solid rgba(26,86,255,.4);
  cursor:default;padding:8px 16px;
}
.tv-qi-num{
  font-size:.46rem;font-weight:700;color:rgba(255,255,255,.15);
  width:14px;text-align:center;flex-shrink:0;font-variant-numeric:tabular-nums;
}
.tv-qi-thumb{
  width:84px;height:48px;flex-shrink:0;border-radius:5px;overflow:hidden;
  background:#111;position:relative;
}
.tv-qi-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s;}
.tv-qi:hover .tv-qi-thumb img{transform:scale(1.04)}
.tv-qi-play-ico{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .15s;background:rgba(0,0,0,.5);
  font-size:.5rem;color:#fff;
}
.tv-qi:hover .tv-qi-play-ico{opacity:1}
.tv-qi.active .tv-qi-play-ico{opacity:1;background:rgba(0,0,0,.35)}
.tv-qi-body{flex:1;min-width:0}
.tv-qi-cat{font-size:.36rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:2px}
.tv-qi-title{font-size:.63rem;font-weight:600;color:rgba(255,255,255,.8);line-height:1.35;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tv-qi-dur{font-size:.42rem;color:rgba(255,255,255,.2);margin-top:3px;font-variant-numeric:tabular-nums;}

/* Info panel */
.tv-info-panel{padding:16px 16px;overflow-y:auto;flex:1}
.tv-info-ch-name{
  font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1.1rem;
  color:#fff;margin-bottom:4px;
}
.tv-info-desc{font-size:.65rem;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:14px}
.tv-info-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.tv-stat-box{background:rgba(255,255,255,.04);border-radius:7px;padding:10px;text-align:center}
.tv-stat-val{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1.1rem;color:#fff}
.tv-stat-lbl{font-size:.44rem;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.tv-info-tags{display:flex;gap:5px;flex-wrap:wrap}
.tv-info-tag{
  font-size:.5rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:4px 10px;border-radius:4px;border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.4);
}

/* Powered by strip */
.tv-powered-strip{
  padding:10px 14px;
  background:rgba(255,255,255,.03);border-top:1px solid rgba(255,255,255,.05);
  font-size:.48rem;color:rgba(255,255,255,.2);
  display:flex;align-items:center;gap:5px;flex-wrap:wrap;
}
.tv-powered-strip a{color:rgba(255,255,255,.35);font-weight:700}

::-webkit-scrollbar{width:2px}
::-webkit-scrollbar-thumb{background:var(--dark-b3);border-radius:2px}
::-webkit-scrollbar-track{background:transparent}

/* ══════════════════════════════════════
   CITY TOOLS - COMING SOON SHOWCASE
══════════════════════════════════════ */
.CITY-TOOLS-SECTION{
  margin:0 -28px;
  padding:40px 28px 44px;
  background:#0c0c0e;
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
}
/* Header */
.cts-head{margin-bottom:28px;text-align:center}
.cts-eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-size:.52rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-bottom:8px;
}
.cts-live-dot{
  display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--dc-red);animation:wot-blink 1.2s ease infinite;
}
.cts-live-dot-sm{
  display:inline-block;width:5px;height:5px;border-radius:50%;
  background:#fff;animation:wot-blink 1.2s ease infinite;flex-shrink:0;
}
.cts-title{
  font-family:'Inter Tight',sans-serif;font-weight:900;
  font-size:clamp(1.6rem,3.5vw,2.6rem);letter-spacing:-.04em;
  color:#fff;line-height:1;margin-bottom:10px;
}
.cts-sub{
  font-size:.68rem;color:rgba(255,255,255,.4);
  max-width:480px;margin:0 auto;line-height:1.7;
}
/* Grid */
.cts-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;margin-bottom:20px;
}
@media(max-width:860px){.cts-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.cts-grid{grid-template-columns:1fr}}
/* Cards */
.cts-card{
  background:#111114;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  padding:20px 18px 18px;
  display:flex;flex-direction:column;gap:10px;
  transition:border-color .18s,transform .18s;
  position:relative;overflow:hidden;
}
.cts-card:hover{border-color:rgba(255,255,255,.14);transform:translateY(-2px)}
.cts-coming{opacity:.92}
.cts-live{
  border-color:rgba(245,196,0,.2);
  background:linear-gradient(135deg,#111114 0%,#151510 100%);
}
.cts-live:hover{border-color:rgba(245,196,0,.4)}
.cts-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.cts-icon{
  width:40px;height:40px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;flex-shrink:0;
}
/* Badges */
.cts-badge{
  font-size:.44rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  padding:3px 9px;border-radius:20px;
}
.cts-badge-soon{
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.35);
  border:1px solid rgba(255,255,255,.08);
}
.cts-badge-live{
  background:rgba(45,181,75,.15);
  color:var(--dc-green);
  border:1px solid rgba(45,181,75,.25);
  display:flex;align-items:center;gap:4px;
}
/* Card content */
.cts-name{
  font-family:'Inter Tight',sans-serif;font-weight:800;
  font-size:.95rem;letter-spacing:-.02em;color:#fff;
}
.cts-desc{
  font-size:.62rem;color:rgba(255,255,255,.45);
  line-height:1.65;flex:1;
}
.cts-features{
  display:flex;gap:6px;flex-wrap:wrap;
}
.cts-features span{
  font-size:.5rem;font-weight:600;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.07);
  border-radius:4px;padding:3px 7px;
  color:rgba(255,255,255,.5);
}
/* Buttons */
.cts-notify-btn{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.5);
  font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:9px 14px;border-radius:7px;cursor:pointer;
  transition:all .16s;text-align:center;
  font-family:'Inter',sans-serif;
}
.cts-notify-btn:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}
.cts-notify-btn.notified{
  background:rgba(45,181,75,.12);border-color:rgba(45,181,75,.25);
  color:var(--dc-green);cursor:default;
}
.cts-live-btn{
  background:var(--dc-yellow);color:#0c0c0e;
  font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:10px 16px;border-radius:7px;text-align:center;text-decoration:none;
  transition:opacity .15s;display:block;
}
.cts-live-btn:hover{opacity:.88}
/* Notify strip */
.cts-notify-strip{
  background:#111114;border:1px solid rgba(255,255,255,.07);
  border-radius:12px;padding:20px 22px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.cts-notify-title{
  font-family:'Inter Tight',sans-serif;font-weight:800;
  font-size:.9rem;color:#fff;margin-bottom:3px;letter-spacing:-.02em;
}
.cts-notify-sub{font-size:.6rem;color:rgba(255,255,255,.35)}
.cts-notify-form{display:flex;gap:0;flex:0 0 auto}
.cts-notify-input{
  padding:10px 14px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);border-right:none;
  border-radius:7px 0 0 7px;font-size:.68rem;color:#fff;outline:none;
  font-family:'Inter',sans-serif;width:200px;
}
.cts-notify-input::placeholder{color:rgba(255,255,255,.2)}
.cts-notify-input:focus{border-color:rgba(255,255,255,.25)}
.cts-notify-submit{
  background:var(--dc-red);color:#fff;border:none;
  padding:0 18px;border-radius:0 7px 7px 0;
  font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;transition:opacity .15s;font-family:'Inter',sans-serif;
}
.cts-notify-submit:hover{opacity:.85}


/* ══════════════════════════════════════
   NEWS STRIP
══════════════════════════════════════ */
.NEWS-STRIP{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;margin-bottom:28px;
}
@media(max-width:760px){.NEWS-STRIP{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.NEWS-STRIP{grid-template-columns:1fr}}
.ns-card{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;
  padding:14px 13px;display:flex;flex-direction:column;gap:5px;
  transition:border-color .15s,box-shadow .15s;cursor:pointer;
  text-decoration:none;
}
.ns-card:hover{border-color:rgba(255,255,255,.18);transform:translateY(-1px);}
.ns-cat{font-size:.48rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ns-title{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:.78rem;color:#fff;line-height:1.3;flex:1}
.ns-meta{font-size:.52rem;color:rgba(255,255,255,.35);font-weight:500;margin-top:2px}

/* ══════════════════════════════════════
   EVENTS LIST (gigs)
══════════════════════════════════════ */
.EVENTS-LIST{
  display:flex;flex-direction:column;gap:6px;margin-bottom:28px;
}
.el-row{
  display:grid;grid-template-columns:52px 64px 1fr auto;
  gap:12px;align-items:center;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;
  padding:11px 14px;text-decoration:none;
  transition:border-color .15s,box-shadow .15s;
}
.el-row:hover{border-color:#c0c0c8;box-shadow:0 3px 14px rgba(0,0,0,.06)}
.el-date{text-align:center}
.el-day{font-size:.44rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#999}
.el-num{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1.5rem;color:#0c0c0e;line-height:1;letter-spacing:-.04em}
.el-img{width:64px;height:44px;border-radius:6px;overflow:hidden;flex-shrink:0}
.el-img img{width:100%;height:100%;object-fit:cover}
.el-body{min-width:0}
.el-title{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:.78rem;color:#0c0c0e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.el-venue{font-size:.56rem;color:#888;margin-top:2px}
.el-venue i{font-size:.45rem;margin-right:3px}
.el-tags{display:flex;gap:6px;margin-top:5px}
.el-tags span{font-size:.46rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#f4f4f6;padding:2px 7px;border-radius:4px}
.el-price{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:.75rem;color:#0c0c0e;white-space:nowrap;text-align:right;flex-shrink:0}
@media(max-width:600px){.el-row{grid-template-columns:44px 1fr auto}.el-img{display:none}}

/* ══════════════════════════════════════
   SPORT GRID
══════════════════════════════════════ */
.SPORT-GRID{
  display:grid;grid-template-columns:1.2fr 1fr;
  gap:10px;margin-bottom:28px;
}
@media(max-width:640px){.SPORT-GRID{grid-template-columns:1fr}}
.sg-main{
  position:relative;border-radius:12px;overflow:hidden;
  height:240px;cursor:pointer;display:block;text-decoration:none;
}
.sg-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sg-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.2) 60%,transparent 100%)}
.sg-body{position:absolute;bottom:0;left:0;right:0;padding:16px 14px}
.sg-league{font-size:.5rem;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.6);margin-bottom:4px;display:flex;align-items:center;gap:4px}
.sg-title{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1.2rem;color:#fff;line-height:1.1;letter-spacing:-.02em}
.sg-kickoff{font-size:.58rem;color:rgba(255,255,255,.6);margin-top:5px}
.sg-kickoff i{font-size:.5rem;margin-right:3px}
.sg-badge{position:absolute;top:12px;right:12px;font-size:.48rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:5px;color:#fff}
.sg-sidebar{display:flex;flex-direction:column;gap:8px}
.sg-sm{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;
  padding:12px 13px;display:flex;align-items:center;gap:10px;
  text-decoration:none;transition:border-color .15s,box-shadow .15s;flex:1;
}
.sg-sm:hover{border-color:#c0c0c8;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.sg-sm-sport{font-size:1.1rem;flex-shrink:0;width:32px;text-align:center}
.sg-sm-body{flex:1;min-width:0}
.sg-sm-title{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:.72rem;color:#0c0c0e;line-height:1.2}
.sg-sm-meta{font-size:.53rem;color:#999;margin-top:2px}
.sg-sm-pill{font-size:.48rem;font-weight:700;letter-spacing:.06em;padding:4px 9px;border-radius:5px;white-space:nowrap;flex-shrink:0}

/* ══════════════════════════════════════
   STORIES GRID (editorial)
══════════════════════════════════════ */
.STORIES-GRID{
  display:grid;grid-template-columns:1.4fr 1fr;
  gap:10px;margin-bottom:28px;
}
@media(max-width:640px){.STORIES-GRID{grid-template-columns:1fr}}
.stg-feat{
  position:relative;border-radius:12px;overflow:hidden;
  min-height:280px;display:block;text-decoration:none !important;
  background-size:cover;background-position:center;
}
.stg-feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.stg-feat:hover img,.stg-feat:hover{filter:brightness(1.05);}
.stg-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.1) 55%,transparent 100%)}
.stg-body{position:absolute;bottom:0;left:0;right:0;padding:18px 16px}
.stg-cat{font-size:.48rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px}
.stg-title{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1.1rem;color:#fff;line-height:1.2;letter-spacing:-.02em}
.stg-meta{font-size:.55rem;color:rgba(255,255,255,.45);margin-top:6px}
.stg-list{display:flex;flex-direction:column;gap:8px}
.stg-item{
  display:grid;grid-template-columns:70px 1fr;gap:10px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;
  padding:10px;text-decoration:none !important;
  transition:border-color .15s,transform .15s;align-items:center;
}
.stg-item:hover{border-color:rgba(255,255,255,.15);transform:translateX(2px);}
.stg-item img{width:70px;height:50px;object-fit:cover;border-radius:6px;display:block;}
.stg-item-cat{font-size:.46rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px;}
.stg-item-title{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:.7rem;color:#fff;line-height:1.3;}
.stg-item-meta{font-size:.5rem;color:rgba(255,255,255,.35);margin-top:3px;}


/* ── Events page extra card states ──────────────────────────── */
.ev-card-noimg {
  padding:14px 16px;min-height:72px;
  display:flex;align-items:center;gap:10px;
  position:relative;
}
.ev-noimg-date {
  font-size:1.1rem;font-weight:800;color:rgba(255,255,255,.15);
  font-family:'Inter Tight',sans-serif;letter-spacing:-.02em;
  margin-left:auto;
}
.ev-feat-badge { display:none; } /* hidden - featured star was showing as dark box */
.ev-card.featured { border-color:rgba(245,196,0,.3); }
.ev-card.featured:hover { border-color:var(--dc-yellow); }

/* WOT calendar empty state handled in main block above */

/* ── MCR.TV click-to-play ────────────────────────────────────── */
#tv-player { position:absolute;inset:0;width:100%;height:100%; }

/* ── Better hero slider fallback ─────────────────────────────── */
.vs-slide {
  position:relative;
  background:linear-gradient(135deg,#0d0d14 0%,#1a1a2e 50%,#0d0d14 100%);
}
.vs-slide:not(:has(img)):not(:has(video)) .vs-scrim { display:none; }

/* ── Sidebar logo SVG ─────────────────────────────────────────── */
/* sb-logo consolidated above */

/* ── Single event page ───────────────────────────────────────── */
.ev-single-hero {
  height:320px;overflow:hidden;position:relative;border-radius:10px;
  background:linear-gradient(135deg,#1a1a2e,#0c0c0e);margin-bottom:28px;
}
.ev-single-hero img { width:100%;height:100%;object-fit:cover; }
.ev-single-hero-scrim { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent); }
.ev-meta-grid {
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;
}
.ev-meta-item {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:8px;padding:14px 16px;
}
.ev-meta-label { font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.35);margin-bottom:5px; }
.ev-meta-val { font-size:.8rem;font-weight:600; }

/* ── Responsive fixes ────────────────────────────────────────── */
@media (max-width:900px) {
  .ev-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .ev-grid { grid-template-columns:1fr; }
  .ev-meta-grid { grid-template-columns:1fr; }
}

/* ── Single page styles ──────────────────────────────────────── */
.back-link {
  display:inline-flex;align-items:center;gap:6px;
  font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:rgba(255,255,255,.4);text-decoration:none;margin-bottom:16px;
  padding:6px 10px;border-radius:5px;border:1px solid rgba(255,255,255,.08);
  transition:all .15s;
}
.back-link:hover { color:#fff;border-color:rgba(255,255,255,.2); }
.ev-single-cat {
  font-size:.62rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;margin-bottom:8px;
}
.ev-single-title {
  font-size:2rem;font-weight:900;line-height:1.15;margin:0 0 20px;
  font-family:'Inter Tight',sans-serif;
}
.ev-single-hero {
  height:380px;overflow:hidden;position:relative;
  border-radius:10px;margin-bottom:24px;
  background:#1a1a2e;
}
.ev-single-hero img { width:100%;height:100%;object-fit:cover;display:block; }
.ev-single-hero-scrim {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 60%);
}
.ev-sold-banner {
  position:absolute;top:16px;right:16px;
  background:var(--dc-red);color:#fff;
  font-size:.65rem;font-weight:800;padding:6px 14px;
  border-radius:4px;text-transform:uppercase;letter-spacing:.08em;
}
.verified-badge {
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;background:#2DB54B;color:#fff;
  border-radius:50%;font-size:.6rem;font-weight:800;
  vertical-align:middle;margin-left:6px;
}
.single-content {
  font-size:.8rem;line-height:1.75;color:rgba(255,255,255,.8);
  margin:20px 0;
}
.single-content p { margin-bottom:16px; }
.single-content h2 { font-size:1.1rem;font-weight:800;margin:24px 0 12px; }
.single-content h3 { font-size:.9rem;font-weight:700;margin:20px 0 10px; }
.single-content strong { color:#fff;font-weight:700; }
.single-content a { color:var(--dc-red);text-decoration:none; }
.single-content a:hover { text-decoration:underline !important; }
.story-standfirst {
  font-size:.95rem;color:rgba(255,255,255,.6);line-height:1.6;
  margin:0 0 20px;font-style:italic;
}
.story-byline {
  display:flex;align-items:center;gap:10px;
  padding:14px 0;border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  margin-bottom:20px;
}
.story-byline img { border-radius:50%;width:36px;height:36px; }
.ev-organiser {
  font-size:.7rem;color:rgba(255,255,255,.4);
  padding-top:16px;border-top:1px solid rgba(255,255,255,.06);
  margin-top:16px;
}
.ev-organiser a { color:rgba(255,255,255,.6); }

/* ── single-centre: replaces inline style on single.php CENTRE ── */
.single-centre {
  padding:0;
  max-width:none;
}
@media(max-width:900px){ .single-centre { padding:16px; } }
@media(max-width:480px){ .single-centre { padding:12px; } }

/* ── single.php mobile breakpoints ───────────────────────────── */
@media(max-width:600px){
  .ev-single-hero     { height:200px;margin-bottom:16px; }
  .ev-single-title    { font-size:1.5rem;margin-bottom:14px; }
  .story-standfirst   { font-size:.85rem; }
  .ev-meta-grid       { gap:8px;margin:14px 0; }
  .ev-meta-item       { padding:10px 12px; }
  .ev-meta-val        { font-size:.75rem; }
}
@media(max-width:400px){
  .ev-single-hero     { height:160px; }
  .ev-single-title    { font-size:1.25rem; }
  .ev-meta-grid       { grid-template-columns:1fr;gap:6px; }
  .story-byline       { gap:8px;padding:10px 0; }
  .story-byline img   { width:30px;height:30px; }
  .single-content     { font-size:.75rem; }
}

/* ─── Sidebar box (legacy single layout support) ──────────────── */
.ev-sidebar-box {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:8px;padding:16px;margin-bottom:12px;
}
.esb-title { font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.35);margin-bottom:12px; }
.esb-row { display:flex;align-items:flex-start;gap:8px;font-size:.72rem;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);color:rgba(255,255,255,.7); }
.esb-row:last-child { border-bottom:none; }
.esb-row i { width:14px;flex-shrink:0;margin-top:2px;color:rgba(255,255,255,.3); }
.esb-back { margin-top:8px; }
.esb-back a { font-size:.65rem;color:rgba(255,255,255,.4);text-decoration:none; }
.esb-back a:hover { color:#fff; }
.esm-item { display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:7px; }
.esm-label { font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.3);margin-bottom:3px; }
.esm-val { font-size:.75rem;font-weight:600; }
.esm-item i { margin-top:3px;font-size:.8rem;flex-shrink:0; }

/* (end) */

/* ═══════════════════════════════════════════════════════════════════
   EVENT SINGLE PAGE v2 - Advanced editorial layout
   ═══════════════════════════════════════════════════════════════════ */

/* Breadcrumb */
.evs-breadcrumb {
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  font-size:.65rem;color:rgba(255,255,255,.35);padding:18px 0 0;font-weight:500;
}
.evs-breadcrumb a { color:rgba(255,255,255,.35);transition:color .15s; }
.evs-breadcrumb a:hover { color:rgba(255,255,255,.8); }
.evs-bc-current { color:rgba(255,255,255,.6); }

/* Hero */
.evs-hero {
  position:relative;margin:16px -28px 0;height:400px;overflow:hidden;
}
@media(max-width:860px){
  .evs-hero { margin:12px 0 0; }
}
.evs-hero-img {
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(1.04);transition:transform 8s ease;filter:brightness(.6) saturate(.9);
}
.evs-hero:hover .evs-hero-img { transform:scale(1.08); }
.evs-hero-scrim {
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(to right, rgba(9,9,12,.9) 0%, rgba(9,9,12,.35) 55%, transparent 100%),
    linear-gradient(to top, rgba(9,9,12,.98) 0%, rgba(9,9,12,.15) 45%, transparent 70%);
}
.evs-sold-bar {
  position:absolute;top:16px;right:16px;z-index:4;
  background:rgba(0,0,0,.75);color:#fff;border:1px solid rgba(255,255,255,.2);
  font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 12px;border-radius:4px;backdrop-filter:blur(8px);
}
.evs-hero-body {
  position:absolute;bottom:0;left:0;right:0;z-index:3;
  padding:28px 28px 22px;
  display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;
}
.evs-hero-cat {
  display:inline-flex;align-items:center;gap:6px;
  color:#fff;font-size:.5rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  padding:4px 10px;border-radius:3px;margin-bottom:10px;
}
.evs-hero-title {
  font-family:'Inter Tight',sans-serif;font-weight:900;
  font-size:clamp(1.6rem,4vw,3rem);line-height:.98;
  letter-spacing:-.025em;color:#fff;margin-bottom:10px;
  text-shadow:0 2px 20px rgba(0,0,0,.4);
}
.evs-hero-meta {
  display:flex;flex-wrap:wrap;gap:10px;
  font-size:.68rem;color:rgba(255,255,255,.65);
}
.evs-hero-meta span { display:flex;align-items:center;gap:5px; }
.evs-hero-meta i { color:rgba(255,255,255,.3);font-size:.62rem; }
.evs-date-card {
  background:rgba(255,255,255,.08);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.14);border-radius:10px;
  padding:12px 16px;text-align:center;flex-shrink:0;
  display:flex;flex-direction:column;gap:2px;
}
.evs-date-num { font-family:'Inter Tight',sans-serif;font-weight:900;font-size:2.4rem;color:#fff;line-height:1; }
.evs-date-mon { font-size:.55rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
.evs-date-yr  { font-size:.5rem;color:rgba(255,255,255,.3); }

/* Body grid */
.evs-body {
  display:grid;grid-template-columns:1fr 300px;gap:28px;
  margin-top:24px;align-items:start;
  padding:0 28px 28px;
}
@media(max-width:860px){ .evs-body{grid-template-columns:1fr;} }

/* CTA row */
.evs-cta-row {
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:22px;
}
.evs-btn-tickets {
  display:inline-flex;align-items:center;gap:8px;
  color:#fff;font-size:.78rem;font-weight:700;
  padding:11px 20px;border-radius:8px;border:none;cursor:pointer;
  transition:filter .15s,transform .1s;text-decoration:none;
}
.evs-btn-tickets:hover { filter:brightness(1.12);transform:translateY(-1px); }
.evs-btn-full { width:100%;justify-content:center; }
.evs-price-tag {
  background:rgba(0,0,0,.2);border-radius:4px;
  padding:2px 8px;font-size:.7rem;
}
.evs-btn-secondary {
  display:inline-flex;align-items:center;gap:6px;
  background:transparent;color:rgba(255,255,255,.6);
  font-size:.72rem;font-weight:600;
  padding:10px 14px;border-radius:7px;
  border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .15s;
}
.evs-btn-secondary:hover { color:#fff;border-color:rgba(255,255,255,.22); }
.evs-btn-sold {
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.4);
  font-size:.78rem;font-weight:700;padding:11px 20px;border-radius:8px;
}

/* Facts grid */
.evs-facts {
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px;
}
.evs-fact {
  background:var(--dark3);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--rl);padding:12px 14px;
}
.evs-fact--accent {
  border-color:rgba(var(--ac-rgb,255,255,255),.25);
  background:color-mix(in srgb, var(--ac,var(--dc-red)) 6%, var(--dark3));
}
.evs-fact-label {
  font-size:.55rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.35);margin-bottom:5px;
  display:flex;align-items:center;gap:5px;
}
.evs-fact-label i { font-size:.58rem; }
.evs-fact--accent .evs-fact-label { color:var(--ac,var(--dc-red)); }
.evs-fact-val {
  font-family:'Inter Tight',sans-serif;font-weight:700;
  font-size:.9rem;color:#fff;line-height:1.2;
}
.evs-fact-val small { font-family:inherit;font-weight:400;font-size:.65rem;color:rgba(255,255,255,.4);display:block;margin-top:2px; }
.evs-past-chip {
  display:inline-block;font-size:.52rem;font-weight:700;
  background:rgba(255,255,255,.08);color:rgba(255,255,255,.4);
  padding:1px 6px;border-radius:3px;margin-left:4px;
}

/* Section head */
.evs-section-head {
  font-size:.6rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.3);margin-bottom:12px;
  display:flex;align-items:center;gap:8px;margin-top:24px;
}
.evs-section-head::after { content:'';flex:1;height:1px;background:rgba(255,255,255,.07); }

/* Description */
.evs-description {
  font-size:.86rem;color:rgba(255,255,255,.6);line-height:1.75;margin-bottom:4px;
}
.evs-description p { margin-bottom:12px; }
.evs-description p:last-child { margin-bottom:0; }
.evs-description strong,.evs-description b { color:#fff; }
.evs-description h2,.evs-description h3 { font-family:'Inter Tight',sans-serif;font-weight:800;color:#fff;margin:18px 0 8px; }
.evs-description a { color:var(--dc-blue); }

/* Getting there */
.evs-transport {
  background:var(--dark3);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--rl);overflow:hidden;margin-bottom:4px;
}
.evs-transport-item {
  display:flex;align-items:flex-start;gap:12px;
  padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.05);font-size:.78rem;
}
.evs-transport-item:last-child { border-bottom:none; }
.evs-transport-icon {
  width:30px;height:30px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  font-size:.72rem;flex-shrink:0;margin-top:1px;
}
.evs-transport-title { font-weight:700;color:#fff;margin-bottom:3px; }
.evs-transport-detail { font-size:.72rem;color:rgba(255,255,255,.5);line-height:1.55; }
.evs-transport-tip {
  display:inline-flex;align-items:center;gap:4px;
  font-size:.58rem;font-weight:700;color:var(--dc-green);margin-top:5px;
}

/* Venue block */
.evs-venue-block {
  display:flex;align-items:center;gap:12px;
  background:var(--dark3);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--rl);overflow:hidden;text-decoration:none;
  transition:border-color .15s;margin-bottom:4px;
}
.evs-venue-block:hover { border-color:rgba(255,255,255,.18); }
.evs-venue-block img { width:80px;height:60px;object-fit:cover;flex-shrink:0; }
.evs-vb-body { padding:10px 12px; }
.evs-vb-name { font-family:'Inter Tight',sans-serif;font-weight:800;font-size:.88rem;color:#fff;margin-bottom:2px; }
.evs-vb-address { font-size:.62rem;color:rgba(255,255,255,.4);margin-bottom:4px; }
.evs-vb-link { font-size:.62rem;font-weight:700;color:var(--dc-blue); }

/* Tags */
.evs-tags { display:flex;flex-wrap:wrap;gap:6px;margin-top:16px; }
.evs-tag {
  font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  background:var(--dark4);border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.5);padding:4px 10px;border-radius:4px;
  transition:all .15s;text-decoration:none;
}
.evs-tag:hover { color:#fff;border-color:rgba(255,255,255,.2); }

/* Sidebar cards */
.evs-sidebar-card {
  background:var(--dark3);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--rl);overflow:hidden;margin-bottom:14px;
}
.evs-ticket-card { border-color:rgba(var(--ac,255,107,0),.3); }
.evs-sc-head {
  padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.07);
  font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.35);display:flex;align-items:center;gap:6px;
}
.evs-ticket-card .evs-sc-head { border-color:rgba(255,255,255,.07); }
.evs-sc-body { padding:14px; }
.evs-price-big {
  padding:16px 14px 8px;display:flex;align-items:baseline;gap:4px;
}
.evs-price-from { font-size:.65rem;color:rgba(255,255,255,.35);margin-right:2px; }
.evs-price-amount {
  font-family:'Inter Tight',sans-serif;font-weight:900;font-size:2.2rem;color:#fff;line-height:1;
}
.evs-ticket-meta {
  display:flex;flex-direction:column;gap:5px;
  font-size:.68rem;color:rgba(255,255,255,.5);margin-top:10px;
  padding-top:10px;border-top:1px solid rgba(255,255,255,.07);
}
.evs-ticket-meta div { display:flex;align-items:center;gap:6px; }

/* Mini map */
.evs-mini-map { height:120px;background:var(--dark4); }
.evs-mini-map-embed { height:120px;overflow:hidden; }
.evs-mini-map-embed iframe { width:100%;height:100%;border:none;filter:brightness(.6) saturate(.4); }
.evs-venue-name { font-family:'Inter Tight',sans-serif;font-weight:800;font-size:.92rem;color:#fff;margin-bottom:3px; }
.evs-venue-addr { font-size:.65rem;color:rgba(255,255,255,.45);margin-bottom:8px;line-height:1.5; }
.evs-venue-btns { display:flex;gap:6px; }
.evs-venue-btn {
  flex:1;text-align:center;font-size:.62rem;font-weight:700;
  padding:6px 10px;border-radius:5px;
  border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.55);
  transition:all .15s;
}
.evs-venue-btn:hover { color:#fff;border-color:rgba(255,255,255,.22); }

/* Weather */
.evs-weather-body { padding:12px 14px 0; }
.evs-weather-main { display:flex;align-items:center;justify-content:space-between;margin-bottom:8px; }
.evs-weather-temp { font-family:'Inter Tight',sans-serif;font-weight:900;font-size:2rem;color:#fff;line-height:1; }
.evs-weather-desc { font-size:.62rem;color:rgba(255,255,255,.4);margin-top:3px; }
.evs-weather-tip { font-size:.65rem;font-weight:600;color:var(--dc-green);padding:8px 14px 12px;border-top:1px solid rgba(255,255,255,.07); }

/* More events list */
.evs-more-list { padding:4px 0; }
.evs-more-item {
  display:flex;align-items:center;gap:10px;
  padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.05);
  transition:background .1s;text-decoration:none;
}
.evs-more-item:last-child { border-bottom:none; }
.evs-more-item:hover { background:rgba(255,255,255,.03); }
.evs-more-date {
  font-family:'Inter Tight',sans-serif;font-weight:900;font-size:1.1rem;
  min-width:26px;text-align:center;line-height:1;
}
.evs-more-date small { display:block;font-size:.46rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3); }
.evs-more-body { flex:1;min-width:0; }
.evs-more-title { font-size:.72rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.evs-more-sub { font-size:.58rem;color:rgba(255,255,255,.35);margin-top:1px; }
.evs-more-price { font-size:.65rem;font-weight:700;color:rgba(255,255,255,.5);white-space:nowrap; }

/* Ask Manc card */
.evs-ask-card .evs-sc-head { color:var(--dc-yellow); }

/* Related events */
.evs-related { margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.07); }
.evs-related-head {
  font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.3);margin-bottom:14px;
  display:flex;align-items:center;gap:8px;
}
.evs-related-head::after { content:'';flex:1;height:1px;background:rgba(255,255,255,.07); }
.evs-related-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
@media(max-width:640px){ .evs-related-grid{grid-template-columns:1fr 1fr;} }
.evs-rel-card {
  background:var(--dark3);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--rl);overflow:hidden;text-decoration:none;
  transition:border-color .15s,transform .15s;
}
.evs-rel-card:hover { border-color:rgba(255,255,255,.18);transform:translateY(-2px); }
.evs-rel-img { position:relative;height:110px;overflow:hidden;background:var(--dark4); }
.evs-rel-img img { width:100%;height:100%;object-fit:cover;transition:transform .3s; }
.evs-rel-card:hover .evs-rel-img img { transform:scale(1.07); }
.evs-rel-scrim { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent 55%); }
.evs-rel-stripe { position:absolute;top:0;left:0;right:0;height:3px;z-index:2; }
.evs-rel-body { padding:10px 12px; }
.evs-rel-cat { font-size:.48rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px; }
.evs-rel-title { font-family:'Inter Tight',sans-serif;font-weight:800;font-size:.8rem;color:#fff;line-height:1.2;margin-bottom:4px; }
.evs-rel-meta { font-size:.58rem;color:rgba(255,255,255,.35); }

/* Responsive */
@media(max-width:768px){
  .evs-hero{height:280px;margin:12px -18px 0;}
  .evs-hero-body{padding:18px 18px 14px;}
  .evs-date-card{display:none;}
  .evs-facts{grid-template-columns:1fr;}
}


/* ══════════════════════════════════════
   STATIC PAGE - SHARED FORM COMPONENTS
══════════════════════════════════════ */

/* Two-col grid for form fields */
.sf-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 16px;
  margin-bottom:20px;
}
.sf-field { display:flex;flex-direction:column;gap:5px; }
.sf-field.sf-full { grid-column:1/-1; }
.sf-field label {
  font-size:.58rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:rgba(255,255,255,.45);
}
.sf-field input,
.sf-field select,
.sf-field textarea {
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:7px;padding:10px 12px;
  font-size:.75rem;color:#fff;
  transition:border-color .15s,background .15s;
  font-family:inherit;
}
.sf-field input:focus,
.sf-field select:focus,
.sf-field textarea:focus {
  outline:none;
  border-color:rgba(255,255,255,.3);
  background:rgba(255,255,255,.08);
}
.sf-field select { appearance:none;cursor:pointer; }
.sf-field textarea { resize:vertical;min-height:110px; }

/* Status messages */
.sf-msg {
  margin-top:14px;padding:12px 16px;
  border-radius:8px;font-size:.72rem;
  display:flex;align-items:flex-start;gap:8px;
  line-height:1.5;
}
.sf-msg.sf-success {
  background:rgba(45,181,75,.12);
  border:1px solid rgba(45,181,75,.3);
  color:#4ade80;
}
.sf-msg.sf-error {
  background:rgba(220,38,38,.12);
  border:1px solid rgba(220,38,38,.3);
  color:#f87171;
}
.sf-note {
  font-size:.62rem;color:rgba(255,255,255,.4);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:7px;padding:10px 14px;margin-bottom:16px;
  display:flex;align-items:flex-start;gap:8px;line-height:1.6;
}
.sf-submit { margin-top:4px; }

@media(max-width:500px){
  .sf-grid { grid-template-columns:1fr; }
  .sf-field.sf-full { grid-column:1; }
}

/* ══════════════════════════════════════
   CONTACT PAGE
══════════════════════════════════════ */
.contact-wrap {
  display:grid;grid-template-columns:1fr 340px;
  gap:28px;align-items:start;
}
.contact-form-col {}
.contact-info-col {}
.contact-info-col h3 {
  font-size:.7rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:rgba(255,255,255,.5);
  margin:0 0 12px;
}
.contact-list {
  list-style:none;padding:0;margin:0 0 8px;
  display:flex;flex-direction:column;gap:8px;
}
.contact-list li {
  display:flex;align-items:center;gap:10px;
  font-size:.72rem;color:rgba(255,255,255,.6);
}
.contact-list li i { width:16px;flex-shrink:0;color:rgba(255,255,255,.3); }
.contact-list li a { color:rgba(255,255,255,.7);text-decoration:none; }
.contact-list li a:hover { color:#fff; }
.contact-social-btn {
  display:inline-flex;align-items:center;gap:7px;
  font-size:.68rem;font-weight:600;
  color:rgba(255,255,255,.6);text-decoration:none;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  border-radius:6px;padding:7px 12px;margin:4px 4px 0 0;
  transition:all .15s;
}
.contact-social-btn:hover { color:#fff;background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.18); }

@media(max-width:680px){
  .contact-wrap { grid-template-columns:1fr; }
}

/* ══════════════════════════════════════
   ABOUT PAGE
══════════════════════════════════════ */
.about-content {
  display:grid;grid-template-columns:1fr 260px;
  gap:28px;align-items:start;
}
.about-main {
  font-size:.8rem;line-height:1.75;color:rgba(255,255,255,.75);
}
.about-main h2 {
  font-size:1.1rem;font-weight:800;color:#fff;
  margin:28px 0 10px;font-family:'Inter Tight',sans-serif;
}
.about-main ul {
  padding-left:0;list-style:none;
  display:flex;flex-direction:column;gap:7px;margin:0 0 16px;
}
.about-main ul li {
  padding-left:18px;position:relative;
  color:rgba(255,255,255,.7);
}
.about-main ul li::before {
  content:'-';position:absolute;left:0;color:var(--dc-red);font-weight:700;
}
.about-main p { margin-bottom:14px; }
.about-main a { color:var(--dc-blue);text-decoration:none; }
.about-main a:hover { text-decoration:underline !important; }

.about-sidebar {
  display:flex;flex-direction:column;gap:10px;
}
.about-sidebar h3 {
  font-size:.65rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:rgba(255,255,255,.4);margin:0 0 6px;
}
.about-stat-box {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:10px;padding:16px;text-align:center;
}
.about-stat-box .asb-num {
  font-size:1.8rem;font-weight:900;color:#fff;
  font-family:'Inter Tight',sans-serif;letter-spacing:-.03em;line-height:1;
}
.about-stat-box .asb-label {
  font-size:.55rem;color:rgba(255,255,255,.4);margin-top:4px;text-transform:uppercase;
  font-weight:700;letter-spacing:.08em;
}

@media(max-width:640px){
  .about-content { grid-template-columns:1fr; }
  .about-sidebar { flex-direction:row;flex-wrap:wrap; }
  .about-stat-box { flex:1;min-width:110px; }
}

/* ══════════════════════════════════════
   ADVERTISE PAGE
══════════════════════════════════════ */
.advert-content {
  display:flex;flex-direction:column;gap:36px;
}
.advert-packages {
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.advert-pkg {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:24px 20px;
  display:flex;flex-direction:column;gap:12px;
  position:relative;transition:border-color .2s,box-shadow .2s;
}
.advert-pkg:hover {
  border-color:rgba(255,255,255,.16);
  box-shadow:0 4px 24px rgba(0,0,0,.2);
}
.advert-pkg.popular {
  border-color:rgba(220,38,38,.3);
  background:rgba(220,38,38,.06);
}
.pkg-badge {
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  background:var(--dc-red);color:#fff;
  font-size:.5rem;font-weight:800;padding:4px 12px;
  border-radius:20px;text-transform:uppercase;letter-spacing:.08em;
  white-space:nowrap;
}
.pkg-tier {
  font-size:.62rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;
}
.pkg-price {
  font-size:1.6rem;font-weight:900;color:#fff;
  font-family:'Inter Tight',sans-serif;letter-spacing:-.03em;line-height:1;
}
.pkg-desc {
  font-size:.68rem;color:rgba(255,255,255,.5);line-height:1.6;
  flex:1;
}
.pkg-features {
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:7px;
}
.pkg-features li {
  font-size:.68rem;color:rgba(255,255,255,.7);
  display:flex;align-items:flex-start;gap:8px;
}
.pkg-features li i { flex-shrink:0;margin-top:2px; }

.advert-stat-row {
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:12px;margin-top:12px;
}
.a-stat {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:16px;text-align:center;
}
.a-stat-n {
  font-size:1.5rem;font-weight:900;font-family:'Inter Tight',sans-serif;
  letter-spacing:-.03em;line-height:1;margin-bottom:5px;
}
.a-stat-l {
  font-size:.55rem;color:rgba(255,255,255,.4);font-weight:600;
  text-transform:uppercase;letter-spacing:.07em;line-height:1.4;
}

@media(max-width:720px){
  .advert-packages { grid-template-columns:1fr; }
}
@media(max-width:560px){
  .advert-stat-row { grid-template-columns:1fr 1fr; }
}

/* ══════════════════════════════════════
   SUBMIT PAGE
══════════════════════════════════════ */
.submit-form-wrap {
  display:grid;grid-template-columns:1fr 280px;
  gap:28px;align-items:start;
}
.submit-sidebar {}
.submit-sidebar h3 {
  font-size:.65rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:rgba(255,255,255,.4);margin:0 0 10px;
}
.submit-sidebar ul {
  list-style:none;padding:0;margin:0 0 8px;
  display:flex;flex-direction:column;gap:8px;
}
.submit-sidebar ul li {
  font-size:.7rem;color:rgba(255,255,255,.65);
  display:flex;align-items:center;gap:8px;
}
.submit-sidebar a { color:var(--dc-blue);text-decoration:none; }
.submit-sidebar a:hover { text-decoration:underline; }

@media(max-width:680px){
  .submit-form-wrap { grid-template-columns:1fr; }
  .submit-sidebar { order:2; }
}

/* ══════════════════════════════════════
   pg-title FONT REDUCTION - 375px
══════════════════════════════════════ */
@media(max-width:375px){
  .pg-title      { font-size:1.45rem; }
  .pg-desc       { font-size:.72rem; }
  .pg-header     { padding:18px 0 16px; }
}

/* Hood image placeholder (shown when no WP media or local JPG exists) */
.hood-img-placeholder {
  position:absolute;inset:0;
  background:linear-gradient(135deg,#1a1a2e 0%,#0c0c14 100%);
}


/* ══════════════════════════════════════
   PASS-2 - ALL REMAINING MISSING CLASSES
══════════════════════════════════════ */

/* ── btn-lg modifier ─────────────────────────────────────────── */
.btn-lg { padding:13px 24px;font-size:.75rem; }

/* ── submit-form (the <form> itself) ─────────────────────────── */
.submit-form { width:100%; }

/* ── content-body (single.php prose wrapper) ─────────────────── */
.content-body {
  font-size:.8rem;line-height:1.8;color:rgba(255,255,255,.75);
}
.content-body p  { margin-bottom:14px; }
.content-body h2 { font-size:1.1rem;font-weight:800;color:#fff;margin:24px 0 10px;font-family:'Inter Tight',sans-serif; }
.content-body h3 { font-size:.9rem;font-weight:700;color:#fff;margin:18px 0 8px; }
.content-body a  { color:var(--dc-blue);text-decoration:none; }
.content-body a:hover { text-decoration:underline; }
.content-body ul,
.content-body ol { padding-left:20px;margin-bottom:14px; }
.content-body li { margin-bottom:6px; }

/* ── legal-content ───────────────────────────────────────────── */
.legal-content {
  font-size:.78rem;line-height:1.85;color:rgba(255,255,255,.7);
}
.legal-content h2 { font-size:1rem;font-weight:800;color:#fff;margin:24px 0 10px;font-family:'Inter Tight',sans-serif; }
.legal-content h3 { font-size:.85rem;font-weight:700;color:#fff;margin:18px 0 8px; }
.legal-content p  { margin-bottom:12px; }
.legal-content a  { color:var(--dc-blue);text-decoration:none; }
.legal-content a:hover { text-decoration:underline; }

/* ── advert-stats wrapper ────────────────────────────────────── */
.advert-stats {}
.advert-stats h2 {
  font-size:1.1rem;font-weight:800;color:#fff;
  font-family:'Inter Tight',sans-serif;margin:0 0 16px;
}

/* ── no-content-notice ───────────────────────────────────────── */
.no-content-notice {
  padding:48px 24px;text-align:center;
  font-size:.75rem;color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.08);
  border-radius:10px;
}
.no-content-notice a { color:var(--dc-blue);text-decoration:none; }
.no-content-notice a:hover { text-decoration:underline; }

/* ── hood-hero (neighbourhood page) ─────────────────────────── */
.hood-hero {
  position:relative;
  border-radius:var(--rx);overflow:hidden;
  margin-bottom:24px;
}

/* ── Bento Featured (BF) cards ───────────────────────────────── */
.BF {
  position:relative;overflow:hidden;border-radius:var(--rl);
  display:block;text-decoration:none;
  background:#111118 center/cover no-repeat;
  min-height:220px;
}
.bf-scrim {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.1) 60%,transparent 100%);
}
.bf-body {
  position:absolute;bottom:0;left:0;right:0;
  padding:16px 18px;z-index:2;
}
.bf-cat {
  font-size:.5rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:5px;
}
.bf-title {
  font-family:'Inter Tight',sans-serif;font-weight:900;
  font-size:1rem;color:#fff;line-height:1.2;letter-spacing:-.02em;
}

/* ── Right panel - events + newsletter + pulse ───────────────── */
.rp-evlist {
  display:flex;flex-direction:column;gap:3px;
}
.rp-ev {
  display:flex;align-items:flex-start;gap:8px;
  padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);
  text-decoration:none;
  transition:opacity .15s;
}
.rp-ev:last-child { border-bottom:none; }
.rp-ev:hover { opacity:.75; }
.rp-ev-dot {
  width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:5px;
}
.rp-ev-body { flex:1;min-width:0; }
.rp-ev-title {
  font-size:.68rem;font-weight:700;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;
}
.rp-ev-meta {
  font-size:.55rem;color:rgba(255,255,255,.4);margin-top:2px;
}
.rp-nl {
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
  border-radius:8px;padding:12px;
}
.rp-nl-copy {
  font-size:.6rem;color:rgba(255,255,255,.45);margin-bottom:8px;line-height:1.5;
}
.rp-nl-form {
  display:flex;gap:5px;
}
.rp-nl-form input {
  flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  border-radius:5px;padding:7px 10px;font-size:.65rem;color:#fff;outline:none;
}
.rp-nl-form input:focus { border-color:rgba(255,255,255,.25); }
.rp-nl-form button {
  background:var(--dc-red);border:none;border-radius:5px;
  color:#fff;font-size:.65rem;font-weight:700;padding:7px 12px;cursor:pointer;
}
.rp-pulse { display:flex;flex-direction:column;gap:8px; }

/* ── Sport grid sidebar items (sg-) ──────────────────────────── */
.sg-list { display:flex;flex-direction:column;gap:6px; }
.sg-item {
  display:grid;grid-template-columns:56px 1fr;gap:8px;
  text-decoration:none;align-items:center;
  padding:6px;border-radius:7px;
  border:1px solid rgba(255,255,255,.05);
  transition:border-color .15s;
}
.sg-item:hover { border-color:rgba(255,255,255,.12); }
.sg-item img { width:56px;height:40px;object-fit:cover;border-radius:5px; }
.sg-item-body {}
.sg-item-cat {
  font-size:.46rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:2px;
}
.sg-item-title {
  font-size:.65rem;font-weight:700;color:#fff;line-height:1.3;
}
.sg-meta { font-size:.55rem;color:rgba(255,255,255,.35);margin-top:2px; }

/* ── Sponsors bar (sp-) ───────────────────────────────────────── */
.SPONSORS {
  padding:28px 0;
  border-top:1px solid rgba(255,255,255,.07);
}
.sp-inner {
  display:flex;flex-wrap:wrap;align-items:center;
  justify-content:center;gap:12px 20px;
  padding:14px 0;
}
.sp-item {
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;opacity:.45;transition:opacity .2s;
}
.sp-item:hover { opacity:.85; }
.sp-item img { height:28px;width:auto;filter:grayscale(1) brightness(5); }
.sp-name {
  font-size:.6rem;font-weight:700;color:rgba(255,255,255,.5);
  letter-spacing:.04em;white-space:nowrap;
}

/* ── stg-item-body (stories grid list items) ─────────────────── */
.stg-item-body {}
.stg-item-cat {
  font-size:.46rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:3px;
}
.stg-item-title {
  font-family:'Inter Tight',sans-serif;font-weight:700;
  font-size:.7rem;color:#0c0c0e;line-height:1.3;
}
.stg-item-meta { font-size:.5rem;color:#999;margin-top:3px; }

/* ── Story cards (used across category templates) ────────────── */
.STORIES {
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:10px;margin-bottom:22px;
}
@media(max-width:500px){ .STORIES { grid-template-columns:1fr; } }

.story-card {
  display:grid;grid-template-columns:90px 1fr;gap:10px;
  text-decoration:none;align-items:center;
  background:var(--dark2);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--rl);padding:10px;
  transition:border-color .15s,box-shadow .15s;
}
.story-card:hover { border-color:rgba(255,255,255,.14);box-shadow:0 2px 10px rgba(0,0,0,.08); }
.story-img { flex-shrink:0; }
.story-img img { width:90px;height:64px;object-fit:cover;border-radius:6px;display:block; }
.story-body {}
.story-cat {
  font-size:.46rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:3px;
}
.story-title {
  font-family:'Inter Tight',sans-serif;font-weight:700;
  font-size:.72rem;color:#fff;line-height:1.3;
}
.story-meta { font-size:.52rem;color:rgba(255,255,255,.4);margin-top:4px; }

/* ── Story grid card (card-list.php) ─────────────────────────── */
.story-grid-card {
  background:var(--dark2);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--rl);overflow:hidden;
  transition:border-color .15s,box-shadow .15s;
}
.story-grid-card:hover { border-color:rgba(255,255,255,.14);box-shadow:0 2px 12px rgba(0,0,0,.08); }
.sgc-img { display:block;aspect-ratio:16/9;overflow:hidden; }
.sgc-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.story-grid-card:hover .sgc-img img { transform:scale(1.04); }
.sgc-body { padding:14px 16px; }
.sgc-cat {
  font-size:.46rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:5px;
}
.sgc-title {
  font-family:'Inter Tight',sans-serif;font-weight:800;
  font-size:.82rem;color:#fff;line-height:1.3;margin-bottom:6px;
}
.sgc-title a { color:inherit;text-decoration:none; }
.sgc-sub {
  font-size:.65rem;color:rgba(255,255,255,.5);
  line-height:1.6;margin-bottom:8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.sgc-meta { font-size:.52rem;color:rgba(255,255,255,.35); }

/* ── Venue card (directory / food / neighbourhood) ───────────── */
.venue-grid {
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:10px;margin-bottom:22px;
}
@media(max-width:720px){ .venue-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:440px){ .venue-grid { grid-template-columns:1fr; } }

.venue-card {
  background:var(--dark2);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--rl);overflow:hidden;
  transition:border-color .15s,box-shadow .15s;
  display:flex;flex-direction:column;
}
.venue-card:hover { border-color:rgba(255,255,255,.14);box-shadow:0 2px 12px rgba(0,0,0,.1); }
.venue-card-img {
  display:block;aspect-ratio:16/9;overflow:hidden;position:relative;
}
.venue-card-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.venue-card:hover .venue-card-img img { transform:scale(1.04); }
.v-verified {
  position:absolute;top:8px;right:8px;
  background:var(--dc-green);color:#fff;
  font-size:.48rem;font-weight:800;padding:3px 8px;
  border-radius:3px;text-transform:uppercase;letter-spacing:.06em;
}
.venue-card-body { padding:14px;flex:1;display:flex;flex-direction:column;gap:5px; }
.venue-card-head { display:flex;align-items:flex-start;justify-content:space-between;gap:8px; }
.venue-card-name { font-size:.8rem;font-weight:800;line-height:1.2; }
.venue-card-name a { color:#fff;text-decoration:none; }
.venue-card-name a:hover { color:var(--dc-blue); }
.venue-card-price { font-size:.65rem;color:rgba(255,255,255,.4);flex-shrink:0; }
.venue-card-area { font-size:.6rem;color:rgba(255,255,255,.45); }
.venue-card-cuisine { font-size:.6rem;color:rgba(255,255,255,.45); }
.venue-card-rating { font-size:.6rem;color:var(--dc-yellow); }
.venue-card-exc {
  font-size:.65rem;color:rgba(255,255,255,.5);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  flex:1;
}
.venue-hours { font-size:.6rem;color:rgba(255,255,255,.4); }
.venue-card-ctas { display:flex;gap:6px;margin-top:auto;padding-top:8px; }

/* ── Filter rows (dir-filters, fd-filters) ───────────────────── */
.dir-filters,
.fd-filters {
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:18px;align-items:center;
}
.dir-filters input[type=search],
.fd-filters input[type=search],
.dir-filters select,
.fd-filters select {
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:7px;padding:9px 12px;font-size:.7rem;color:#fff;
  outline:none;font-family:inherit;
}
.dir-filters input[type=search] { min-width:180px; }
.dir-filters input[type=search]:focus,
.fd-filters input[type=search]:focus,
.dir-filters select:focus,
.fd-filters select:focus { border-color:rgba(255,255,255,.3); }
.dir-filters select,
.fd-filters select { appearance:none;cursor:pointer;padding-right:28px; }

/* ── Video wall (vwall-) used in TV and Videos pages ─────────── */
.VWALL {
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:10px;margin-bottom:22px;
}
@media(max-width:600px){ .VWALL { grid-template-columns:1fr 1fr; } }
@media(max-width:380px){ .VWALL { grid-template-columns:1fr; } }

.vwall-card {
  background:var(--dark2);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--rl);overflow:hidden;cursor:pointer;
  transition:border-color .15s,box-shadow .15s;
}
.vwall-card:hover { border-color:rgba(255,255,255,.18);box-shadow:0 2px 14px rgba(0,0,0,.15); }
.vwall-thumb {
  position:relative;aspect-ratio:16/9;overflow:hidden;
}
.vwall-thumb img { width:100%;height:100%;object-fit:cover;display:block; }
.vwall-play {
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.35);opacity:0;transition:opacity .2s;
}
.vwall-card:hover .vwall-play { opacity:1; }
.vwall-play i { font-size:1.6rem;color:#fff; }
.vwall-dur {
  position:absolute;bottom:6px;right:7px;
  background:rgba(0,0,0,.75);color:#fff;
  font-size:.5rem;font-weight:700;padding:2px 6px;border-radius:3px;
}
.vwall-body { padding:10px 12px; }
.vwall-cat {
  font-size:.48rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dc-red);margin-bottom:4px;
}
.vwall-title {
  font-family:'Inter Tight',sans-serif;font-weight:700;
  font-size:.74rem;color:#fff;line-height:1.3;
}

/* ── TV page extras ───────────────────────────────────────────── */
.tv-click-play {} /* styled inline - just needs class to exist for JS targeting */
.tv-meta {
  font-size:.68rem;color:rgba(255,255,255,.5);padding:8px 0;line-height:1.5;
}
.tv-tabs {
  display:flex;gap:2px;margin-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.tv-epg-col {
  flex:1;overflow-y:auto;max-height:480px;
  border-left:1px solid rgba(255,255,255,.06);
}

/* ── Hero slider extras (vs-cta, vs-weather) ─────────────────── */
.vs-cta {
  position:absolute;bottom:60px;right:28px;z-index:10;
}
.vs-cta-btn {
  display:inline-flex;align-items:center;gap:7px;
  background:#000;color:#fff;
  font-size:.7rem;font-weight:800;padding:11px 20px;
  border-radius:6px;text-decoration:none;letter-spacing:.04em;
  transition:background .15s;
}
.vs-cta-btn:hover { background:#1a1a1a; }
.vs-weather {
  position:absolute;top:14px;right:14px;z-index:10;
  background:rgba(0,0,0,.45);backdrop-filter:blur(6px);
  color:rgba(255,255,255,.8);font-size:.62rem;font-weight:600;
  padding:5px 11px;border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
}

/* ── WOT legend + week-strip dots ───────────────────────────── */
.wot-legend { display:flex;gap:12px;flex-wrap:wrap; }
.wot-leg-item {
  display:flex;align-items:center;gap:5px;
  font-size:.55rem;color:rgba(255,255,255,.5);
}
.wot-leg-dot {
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
}

/* ── Sitemap ──────────────────────────────────────────────────── */
.sitemap-grid {
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:20px 28px;margin-bottom:28px;
}
.sm-section h3 {
  font-size:.65rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:rgba(255,255,255,.4);
  margin:0 0 10px;
}
.sm-section ul {
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:6px;
}
.sm-section ul li a {
  font-size:.72rem;color:rgba(255,255,255,.6);text-decoration:none;
}
.sm-section ul li a:hover { color:#fff; }
@media(max-width:640px){ .sitemap-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:360px){ .sitemap-grid { grid-template-columns:1fr; } }

/* ── Sidebar newsletter + footer (sidebar-nav.php) ───────────── */
.sb-nl {
  padding:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:8px;margin:8px 12px;
}
.sb-nl-label {
  font-size:.58rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:rgba(255,255,255,.5);margin-bottom:3px;
}
.sb-nl-sub { font-size:.58rem;color:rgba(255,255,255,.35);margin-bottom:8px;line-height:1.4; }
.sb-nl-form {
  display:flex;gap:5px;
}
.sb-nl-form input {
  flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  border-radius:5px;padding:7px 8px;font-size:.62rem;color:#fff;outline:none;
}
.sb-nl-form input:focus { border-color:rgba(255,255,255,.25); }
.sb-nl-form button {
  background:var(--dc-red);border:none;border-radius:5px;
  color:#fff;font-size:.62rem;font-weight:700;padding:7px 10px;cursor:pointer;
  white-space:nowrap;
}
.sb-footer {
  display:flex;flex-wrap:wrap;gap:4px 10px;
  padding:8px 12px 4px;
}
.sb-footer a {
  font-size:.58rem;color:rgba(255,255,255,.3);text-decoration:none;
}
.sb-footer a:hover { color:rgba(255,255,255,.7); }
.sb-dotcity {
  font-size:.55rem;color:rgba(255,255,255,.2);padding:0 12px 10px;
}
.sb-dotcity a { color:rgba(255,255,255,.35);text-decoration:none; }
.sb-dotcity a:hover { color:rgba(255,255,255,.6); }

/* ── Ask Manc AI chatbot (sb-clippy) ─────────────────────────── */
.sb-clippy {
  margin:6px 12px 0;
}
.sb-clippy-trigger {
  display:flex;align-items:center;gap:7px;cursor:pointer;
  width:100%;font:inherit;text-align:left;color:inherit;
  padding:7px 10px;border-radius:7px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  transition:background .15s;
}
.sb-clippy-trigger:hover { background:rgba(255,255,255,.07); }
.sb-clippy-trigger:focus-visible { outline:2px solid #fff;outline-offset:2px; }
.sb-clippy-icon { font-size:.9rem;line-height:1; }
.sb-clippy-label { font-size:.62rem;font-weight:700;color:rgba(255,255,255,.6); }
.sb-clippy-bubble {
  display:none;
  margin-top:6px;padding:10px 12px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
}
.sb-clippy-bubble.open { display:block; }
.sb-clippy-msg { font-size:.65rem;color:rgba(255,255,255,.6);margin-bottom:8px;line-height:1.5; }
.sb-clippy-btns { display:flex;gap:6px;flex-wrap:wrap; }
.sb-clippy-btns button {
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
  border-radius:5px;color:#fff;font-size:.62rem;font-weight:600;
  padding:6px 10px;cursor:pointer;transition:background .15s;
}
.sb-clippy-btns button:hover { background:rgba(255,255,255,.14); }

/* ── City Tools - notify strip extras ───────────────────────── */
.cts-notify-left {
  flex:1;min-width:0;
}
.cts-bottom-strip {
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;
  padding:14px 16px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);border-radius:8px;
  margin-top:16px;
}
.cts-strip-btn {
  background:var(--dc-blue);border:none;border-radius:6px;
  color:#fff;font-size:.7rem;font-weight:700;padding:9px 16px;
  cursor:pointer;white-space:nowrap;flex-shrink:0;
  transition:background .15s;
}
.cts-strip-btn:hover { background:#1445d4; }

/* ── sec-title (section heading in food/directory) ───────────── */
.sec-title {
  font-size:.62rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.12em;color:rgba(255,255,255,.4);
  margin:24px 0 10px;
}

/* ═══════════════════════════════════════════════════════════════════
   SINGLE.PHP - STORY EDITORIAL LAYOUT v9
   ═══════════════════════════════════════════════════════════════════ */

/* CENTRE override for story pages - dark background, readable width */
.single-template-default .CENTRE,
.single .CENTRE {
  background:var(--dark2);
}

/* Story article wrapper */
.story-article {
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.07);
  margin-bottom:48px;
}

/* Eyebrow category label above headline */
.story-eyebrow {
  font-size:.62rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:14px;
}

/* Headline */
.story-headline {
  font-family:'Inter Tight',sans-serif;
  font-size:2.2rem;font-weight:900;line-height:1.1;
  margin:0 0 18px;color:#fff;
  letter-spacing:-.02em;
}
@media(max-width:600px){.story-headline{font-size:1.65rem;}}
@media(max-width:400px){.story-headline{font-size:1.35rem;}}

/* Standfirst */
.story-standfirst {
  font-size:1.05rem;line-height:1.6;
  color:rgba(255,255,255,.6);
  margin:0 0 24px;font-style:italic;
  border-left:3px solid rgba(255,255,255,.12);
  padding-left:16px;
}

/* Byline row */
.story-byline {
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:16px 0;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
  margin-bottom:28px;
}
.story-byline-avatar {
  width:44px;height:44px;border-radius:50%;
  object-fit:cover;flex-shrink:0;
  background:rgba(255,255,255,.08);
}
.story-byline-meta {
  display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;
}
.story-byline-name {
  font-size:.8rem;font-weight:700;color:#fff;
}
.story-byline-detail {
  font-size:.68rem;color:rgba(255,255,255,.4);
  display:flex;align-items:center;gap:6px;
}
.story-byline-sep {
  opacity:.4;
}
.story-cat-pill {
  font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:4px 10px;border-radius:20px;border:1px solid;
  flex-shrink:0;
}

/* Hero image */
.story-hero-img {
  border-radius:10px;overflow:hidden;margin-bottom:32px;
}
.story-hero-img img {
  width:100%;height:auto;display:block;
}

/* Body text */
.story-body {
  font-size:.95rem;line-height:1.85;
  color:rgba(255,255,255,.82);
  margin:0;
}
.story-body p { margin-bottom:20px; }
.story-body h2 {
  font-family:'Inter Tight',sans-serif;
  font-size:1.25rem;font-weight:800;
  margin:36px 0 14px;color:#fff;
  letter-spacing:-.01em;
}
.story-body h3 {
  font-size:1rem;font-weight:700;
  margin:28px 0 10px;color:rgba(255,255,255,.9);
}
.story-body blockquote {
  border-left:3px solid var(--dc-red);
  padding:12px 20px;margin:28px 0;
  background:rgba(255,255,255,.03);
  border-radius:0 8px 8px 0;
  font-style:italic;font-size:1rem;
  color:rgba(255,255,255,.7);
}
.story-body ul,.story-body ol {
  padding-left:22px;margin-bottom:20px;
}
.story-body li {margin-bottom:8px;}
.story-body a {color:var(--dc-red);text-decoration:none;}
.story-body a:hover {text-decoration:underline;}
.story-body strong {color:#fff;font-weight:700;}
.story-body img {
  width:100%;border-radius:8px;
  margin:16px 0;display:block;
}

/* Story footer - author credit + share */
.story-footer {
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;
  padding:24px 0 0;
  margin-top:32px;
  border-top:1px solid rgba(255,255,255,.08);
}
.story-footer-author {
  display:flex;align-items:center;gap:12px;
}
.story-footer-avatar {
  width:48px;height:48px;border-radius:50%;
  object-fit:cover;background:rgba(255,255,255,.08);
}
.story-footer-by {
  font-size:.6rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.3);
  margin-bottom:3px;
}
.story-footer-name {
  font-size:.82rem;font-weight:700;color:#fff;
}
.story-share {
  display:flex;align-items:center;gap:8px;
}
.story-share-label {
  font-size:.6rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.3);
  margin-right:2px;
}
.story-share-btn {
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.5);
  text-decoration:none;font-size:.75rem;
  transition:all .15s;cursor:pointer;
  font-family:inherit;
}
.story-share-btn:hover {
  background:rgba(255,255,255,.12);
  color:#fff;border-color:rgba(255,255,255,.2);
}

/* Related stories */
.story-related { margin-top:8px; }
.story-related-head {
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:20px;
}
.story-related-title {
  font-size:.65rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.4);
}
.story-related-all {
  font-size:.65rem;font-weight:700;
  color:rgba(255,255,255,.4);text-decoration:none;
  transition:color .15s;
}
.story-related-all:hover {color:#fff;}
.story-related-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
@media(max-width:600px){.story-related-grid{grid-template-columns:1fr;gap:12px;}}
.rel-card {
  display:block;text-decoration:none;
  border-radius:10px;overflow:hidden;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  transition:border-color .15s,transform .15s;
}
.rel-card:hover {
  border-color:rgba(255,255,255,.15);
  transform:translateY(-2px);
}
.rel-card-img {
  height:120px;overflow:hidden;
}
.rel-card-img img {
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .3s;
}
.rel-card:hover .rel-card-img img {transform:scale(1.04);}
.rel-card-body {padding:12px;}
.rel-card-cat {
  font-size:.55rem;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;margin-bottom:5px;
}
.rel-card-title {
  font-size:.78rem;font-weight:700;color:rgba(255,255,255,.9);
  line-height:1.35;margin-bottom:6px;
}
.rel-card-date {
  font-size:.6rem;color:rgba(255,255,255,.3);
}

/* Misc fixes */
.btn-tickets {
  font-size:.8rem;padding:14px 28px;
  margin-bottom:28px;display:inline-flex;gap:8px;
  align-items:center;
}
.ev-sold-inline {
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  padding:14px 28px;border-radius:6px;font-size:.8rem;
  color:rgba(255,255,255,.4);margin-bottom:28px;
}
.ev-single-hero--gradient {
  background:linear-gradient(135deg,rgba(30,10,60,.9),#0c0c0e);
}
.ev-single-hero-text {
  padding:40px 32px;
  position:relative;z-index:1;
}
.ev-single-cat-pill {
  font-size:.6rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:12px;
}
.ev-hero-title {
  font-family:'Inter Tight',sans-serif;
  font-size:2rem;font-weight:900;line-height:1.1;color:#fff;margin:0 0 10px;
}
.ev-hero-date {
  font-size:.75rem;color:rgba(255,255,255,.5);
}
.venue-rating-row {
  font-size:1.1rem;margin-bottom:16px;display:flex;align-items:center;gap:8px;
}
.venue-rating-num {
  font-size:.65rem;color:rgba(255,255,255,.4);
}
.venue-cta-row {
  display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap;
}
.venue-hours {margin-top:28px;}
.venue-hours-label {
  font-size:.65rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:rgba(255,255,255,.35);
  margin-bottom:12px;display:flex;align-items:center;gap:7px;
}
.venue-hours-row {
  font-size:.78rem;padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
  color:rgba(255,255,255,.7);
}
.single-content--empty {
  color:rgba(255,255,255,.3);font-size:.78rem;
  padding:20px 0;border-top:1px solid rgba(255,255,255,.07);
  margin-top:20px;
}

/* ═══════════════════════════════════════════════════════════════════
   ADVANCED PAGE TEMPLATES - v9
   ═══════════════════════════════════════════════════════════════════ */

/* ── Cat page centre override - higher specificity than .CENTRE ─── */
.CENTRE.cat-page-centre,
main.cat-page-centre {
  padding:0;
  background:var(--dark2) !important;
  color:rgba(255,255,255,.85);
}
/* white-bg wins over cat-page-centre dark (3-class beats 2-class !important) */
.CENTRE.cat-page-centre.white-bg,
main.cat-page-centre.white-bg {
  background:#ffffff !important;
  color:#0c0c0e;
}

/* ── Category hero banner ─────────────────────────────────────── */
.cat-hero {
  position:relative;padding:36px 32px 32px;
  background:var(--dark3);
  border-bottom:1px solid rgba(255,255,255,.06);
  overflow:hidden;
}
.cat-hero--minimal { padding:24px 32px 20px; }
.cat-hero-glow {
  position:absolute;top:-60px;right:-60px;
  width:300px;height:300px;border-radius:50%;
  background:var(--cat-col,#1A56FF);
  opacity:.06;filter:blur(60px);pointer-events:none;
}
.cat-hero-content { position:relative;z-index:1; }
.cat-hero-eyebrow {
  font-size:.58rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cat-col,var(--dc-blue));margin-bottom:10px;
}
.cat-hero-title {
  font-family:'Inter Tight',sans-serif;
  font-size:2rem;font-weight:900;line-height:1.1;color:#fff;
  margin:0 0 14px;letter-spacing:-.02em;
}
.cat-hero-stats {
  display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap;
}
.cat-hero-stat { display:flex;align-items:baseline;gap:5px; }
.cat-hero-stat-num {
  font-size:1.1rem;font-weight:900;color:#fff;
  font-family:'Inter Tight',sans-serif;
}
.cat-hero-stat-lbl { font-size:.65rem;color:rgba(255,255,255,.4); }
.cat-hero-stat-live { color:var(--cat-col,var(--dc-blue)); }
.cat-hero-stat-sep { color:rgba(255,255,255,.2); }
.cat-hero-quick {
  display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;
}
.cat-hero-btn {
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 18px;border-radius:6px;font-size:.72rem;font-weight:700;
  text-decoration:none;color:#fff;transition:filter .15s;
}
.cat-hero-btn:hover { filter:brightness(1.12); }
.cat-hero-btn--ghost {
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.12);
}
.cat-hero-btn--ghost:hover { background:rgba(255,255,255,.14) !important; }

/* ── AI summary inline ──────────────────────────────────────────── */
.cat-ai-summary,.hood-ai-summary {
  min-height:20px;margin-top:6px;
}
.cat-ai-loading,.hood-ai-summary {
  display:flex;align-items:center;gap:4px;
}
.ai-dot {
  width:5px;height:5px;border-radius:50%;
  background:rgba(255,255,255,.25);
  animation:ai-pulse 1.2s ease-in-out infinite;
}
.ai-dot:nth-child(2){animation-delay:.2s}
.ai-dot:nth-child(3){animation-delay:.4s}
@keyframes ai-pulse{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:.9;transform:scale(1.3)}}
.cat-ai-text,.hood-ai-text {
  font-size:.72rem;font-style:italic;color:rgba(255,255,255,.55);
  display:flex;align-items:center;gap:6px;
}
.cat-ai-text i,.hood-ai-text i { font-size:.55rem; }

/* ── Featured event hero card ──────────────────────────────────── */
.cat-featured-event {
  display:block;position:relative;text-decoration:none;
  height:240px;border-radius:12px;overflow:hidden;
  background:#1a1a2e;background-size:cover;background-position:center;
  margin:24px 24px 0;
  transition:transform .2s;
}
.cat-featured-event:hover { transform:scale(1.005); }
.cfe-scrim {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.2) 60%);
}
.cfe-body {
  position:absolute;bottom:0;left:0;right:0;
  padding:20px 24px;
}
.cfe-badge {
  display:inline-flex;align-items:center;gap:5px;
  font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;padding:4px 10px;border-radius:4px;margin-bottom:10px;
}
.cfe-title {
  font-family:'Inter Tight',sans-serif;
  font-size:1.4rem;font-weight:900;color:#fff;line-height:1.15;margin:0 0 8px;
}
.cfe-meta {
  display:flex;flex-wrap:wrap;gap:12px;font-size:.65rem;color:rgba(255,255,255,.65);margin-bottom:12px;
}
.cfe-meta span { display:flex;align-items:center;gap:5px; }
.cfe-cta {
  display:inline-block;padding:8px 18px;border-radius:5px;
  font-size:.7rem;font-weight:700;color:#fff;background:rgba(255,255,255,.15);
  backdrop-filter:blur(4px);
}

/* ── Section header (cat pages) ────────────────────────────────── */
.cat-section-head {
  display:flex;align-items:flex-end;justify-content:space-between;
  padding:24px 24px 16px;gap:12px;
}
.csh-eyebrow {
  font-size:.55rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:4px;
}
.csh-title {
  font-family:'Inter Tight',sans-serif;
  font-size:1.1rem;font-weight:900;color:#fff;margin:0;
  display:flex;align-items:center;gap:10px;
}
.csh-count {
  font-size:.65rem;font-weight:700;
  background:rgba(255,255,255,.1);
  padding:2px 8px;border-radius:10px;
  color:rgba(255,255,255,.5);
}

/* ── Advanced event grid (cat pages) ───────────────────────────── */
.cat-ev-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:16px;padding:0 24px 24px;
}
.cat-ev-card {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;overflow:hidden;
  transition:border-color .15s,transform .15s;
  display:flex;flex-direction:column;
}
.cat-ev-card:hover { border-color:rgba(255,255,255,.15);transform:translateY(-2px); }
.cat-ev-sold { opacity:.6; }
.cec-img {
  display:block;height:140px;overflow:hidden;position:relative;
}
.cec-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.cat-ev-card:hover .cec-img img { transform:scale(1.05); }
.cec-img--noimg {
  height:80px;display:flex;align-items:center;justify-content:center;
}
.cec-noimg-date {
  font-size:.65rem;font-weight:800;color:rgba(255,255,255,.3);letter-spacing:.06em;
}
.cec-tonight-badge,.cec-sold-badge {
  position:absolute;top:8px;right:8px;
  font-size:.5rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;padding:3px 8px;border-radius:3px;
}
.cec-sold-badge { background:rgba(0,0,0,.6); }
.cec-body { padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:4px; }
.cec-date-row { display:flex;align-items:center;justify-content:space-between;gap:6px; }
.cec-date {
  font-size:.6rem;font-weight:700;color:rgba(255,255,255,.4);
}
.cec-date--today { color:var(--dc-red); }
.cec-date--soon  { color:var(--orange); }
.cec-time { font-size:.55rem;color:rgba(255,255,255,.3); }
.cec-title { font-size:.8rem;font-weight:800;line-height:1.25;margin:2px 0; }
.cec-title a { color:#fff;text-decoration:none; }
.cec-title a:hover { color:rgba(255,255,255,.7); }
.cec-venue { font-size:.6rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:4px; }
.cec-price { font-size:.6rem;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:4px; }
.cec-ctas { display:flex;gap:6px;margin-top:auto;padding-top:8px; }

/* ── Stories grid (cat pages) ────────────────────────────────── */
.cat-stories-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 24px 24px;
}
@media(max-width:700px){.cat-stories-grid{grid-template-columns:1fr;}}
.cst-card {
  display:block;text-decoration:none;
  border-radius:10px;overflow:hidden;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  transition:border-color .15s,transform .15s;
}
.cst-card:hover { border-color:rgba(255,255,255,.15);transform:translateY(-2px); }
.cst-card--hero { grid-column:1/-1; display:grid;grid-template-columns:1.6fr 1fr; }
@media(max-width:700px){.cst-card--hero{grid-template-columns:1fr;}}
.cst-img { height:140px;overflow:hidden; }
.cst-card--hero .cst-img { height:100%;min-height:200px; }
.cst-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.cst-card:hover .cst-img img { transform:scale(1.04); }
.cst-body { padding:14px 16px; }
.cst-card--hero .cst-body { padding:20px 22px;display:flex;flex-direction:column;justify-content:center; }
.cst-cat { font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px; }
.cst-title { font-size:.85rem;font-weight:800;color:#fff;line-height:1.3;margin-bottom:6px; }
.cst-card--hero .cst-title { font-size:1.1rem; }
.cst-sub { font-size:.72rem;color:rgba(255,255,255,.55);line-height:1.5;margin-bottom:8px; }
.cst-meta { font-size:.55rem;color:rgba(255,255,255,.3); }

/* ── Newsletter CTA (cat pages) ─────────────────────────────── */
.cat-nl-cta {
  display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:16px;
  margin:32px 24px 24px;
  padding:20px 24px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
}
@media(max-width:700px){.cat-nl-cta{grid-template-columns:1fr;gap:12px;}}
.cat-nl-icon { font-size:1.4rem; }
.cat-nl-title { font-size:.85rem;font-weight:700;color:#fff;margin-bottom:3px; }
.cat-nl-sub { font-size:.65rem;color:rgba(255,255,255,.4); }
.cat-nl-form { display:flex;gap:6px;align-items:center; }
.cat-nl-form input {
  padding:8px 12px;border-radius:5px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);color:#fff;font-size:.72rem;
  outline:none;width:180px;
}
.cat-nl-form input:focus { border-color:rgba(255,255,255,.25); }
.cat-nl-form button {
  padding:8px 16px;border-radius:5px;border:none;
  font-size:.72rem;font-weight:700;color:#fff;cursor:pointer;
  transition:filter .15s;white-space:nowrap;
}
.cat-nl-form button:hover { filter:brightness(1.12); }

/* ── Cuisine pills (food page) ───────────────────────────────── */
.food-cuisine-pills {
  display:flex;flex-wrap:wrap;gap:6px;padding:20px 24px 0;
}
.food-cpill {
  padding:5px 14px;border-radius:20px;font-size:.65rem;font-weight:700;
  text-decoration:none;color:rgba(255,255,255,.5);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  transition:all .15s;
}
.food-cpill:hover,.food-cpill.on {
  background:var(--dc-green);color:#fff;border-color:var(--dc-green);
}

/* ── Advanced filter bar (food page) ─────────────────────────── */
.food-filter-bar { padding:16px 24px 0; }
.ffb-inner {
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  padding:12px 16px;border-radius:10px;
}
.ffb-search {
  display:flex;align-items:center;gap:8px;
  flex:1;min-width:180px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:6px;padding:6px 12px;
}
.ffb-search i { color:rgba(255,255,255,.35);font-size:.75rem; }
.ffb-search input {
  background:none;border:none;outline:none;
  color:#fff;font-size:.72rem;width:100%;
}
.ffb-inner select {
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.7);padding:6px 10px;border-radius:6px;font-size:.72rem;
  outline:none;cursor:pointer;
}

/* ── Food venue grid ─────────────────────────────────────────── */
.food-venue-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:16px;padding:0 24px 24px;
}
.fvg-card {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;overflow:hidden;
  transition:border-color .15s,transform .15s;
  display:flex;flex-direction:column;
}
.fvg-card:hover { border-color:rgba(255,255,255,.15);transform:translateY(-2px); }
.fvg-img {
  display:block;height:150px;overflow:hidden;position:relative;
}
.fvg-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.fvg-card:hover .fvg-img img { transform:scale(1.05); }
.fvg-img-placeholder {
  height:100%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;
}
.fvg-verified {
  position:absolute;top:8px;left:8px;
  background:rgba(45,181,75,.9);color:#fff;
  font-size:.48rem;font-weight:800;letter-spacing:.08em;padding:3px 7px;border-radius:3px;
}
.fvg-price {
  position:absolute;bottom:8px;right:8px;
  background:rgba(0,0,0,.7);color:rgba(255,255,255,.8);
  font-size:.55rem;font-weight:700;padding:3px 7px;border-radius:3px;
}
.fvg-body { padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:4px; }
.fvg-head { display:flex;align-items:flex-start;justify-content:space-between;gap:6px; }
.fvg-name { font-size:.82rem;font-weight:800;line-height:1.2; }
.fvg-name a { color:#fff;text-decoration:none; }
.fvg-name a:hover { color:rgba(255,255,255,.7); }
.fvg-rating { font-size:.6rem;color:var(--dc-yellow);display:flex;align-items:center;gap:3px;flex-shrink:0; }
.fvg-rating span { color:rgba(255,255,255,.4); }
.fvg-cuisine { font-size:.6rem;color:rgba(255,255,255,.45); }
.fvg-area { font-size:.6rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:4px; }
.fvg-exc { font-size:.65rem;color:rgba(255,255,255,.55);line-height:1.5;margin:2px 0; }
.fvg-ctas { display:flex;gap:6px;margin-top:auto;padding-top:8px; }

/* ── Stories page ────────────────────────────────────────────── */
.stories-hero-card {
  display:block;position:relative;text-decoration:none;
  height:280px;border-radius:12px;overflow:hidden;
  background:#1a1a2e;background-size:cover;background-position:center;
  margin:0 0 24px;transition:transform .2s;
}
.stories-hero-card:hover { transform:scale(1.005); }
.shc-scrim { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.15)); }
.shc-body { position:absolute;bottom:0;left:0;right:0;padding:24px 28px; }
.shc-cat { font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px; }
.shc-title { font-family:'Inter Tight',sans-serif;font-size:1.6rem;font-weight:900;color:#fff;margin:0 0 8px;line-height:1.15; }
.shc-sub { font-size:.8rem;color:rgba(255,255,255,.65);margin-bottom:8px; }
.shc-meta { font-size:.62rem;color:rgba(255,255,255,.4); }
.stories-masonry {
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
@media(max-width:700px){.stories-masonry{grid-template-columns:1fr;}}
.sm-card {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;overflow:hidden;
  transition:border-color .15s,transform .15s;
}
.sm-card:hover { border-color:rgba(255,255,255,.15);transform:translateY(-2px); }
.sm-card--wide { grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr; }
@media(max-width:700px){.sm-card--wide{grid-template-columns:1fr;}}
.sm-img { display:block;aspect-ratio:16/9;overflow:hidden; }
.sm-card--wide .sm-img { height:100%;aspect-ratio:unset; }
.sm-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.sm-card:hover .sm-img img { transform:scale(1.04); }
.sm-body { padding:14px 16px; }
.sm-card--wide .sm-body { padding:20px 24px;display:flex;flex-direction:column;justify-content:center; }
.sm-cat { font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px; }
.sm-title { font-size:.85rem;font-weight:800;color:#fff;line-height:1.3;margin-bottom:5px; }
.sm-card--wide .sm-title { font-size:1.05rem; }
.sm-title a { color:inherit;text-decoration:none; }
.sm-title a:hover { color:rgba(255,255,255,.7); }
.sm-sub { font-size:.7rem;color:rgba(255,255,255,.5);line-height:1.5;margin-bottom:6px; }
.sm-meta { font-size:.55rem;color:rgba(255,255,255,.3); }

/* ── Neighbourhood page ───────────────────────────────────────── */
.hood-hero-full {
  height:320px;position:relative;
  background-size:cover;background-position:center;
  display:flex;flex-direction:column;justify-content:flex-end;
}
.hhf-scrim { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.25) 60%); }
.hhf-body { position:relative;z-index:1;padding:24px 28px 8px; }
.hhf-label { font-size:.52rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:6px; }
.hhf-name { font-family:'Inter Tight',sans-serif;font-size:2.2rem;font-weight:900;color:#fff;margin:0 0 8px;letter-spacing:-.02em; }
.hhf-stats { display:flex;gap:16px;font-size:.65rem;color:rgba(255,255,255,.5);flex-wrap:wrap;margin-bottom:6px; }
.hhf-stats span { display:flex;align-items:center;gap:5px; }
.hhf-quick-links { display:flex;gap:1px;position:relative;z-index:1;padding:0 28px 20px; }
.hhf-ql {
  display:flex;align-items:center;gap:5px;
  padding:7px 14px;font-size:.65rem;font-weight:700;text-decoration:none;
  background:rgba(255,255,255,.1);color:rgba(255,255,255,.75);
  backdrop-filter:blur(8px);
  transition:background .15s,color .15s;
}
.hhf-ql:first-child { border-radius:6px 0 0 6px; }
.hhf-ql:last-child  { border-radius:0 6px 6px 0; }
.hhf-ql:hover { background:rgba(255,255,255,.2);color:#fff; }
.hood-ai-summary { display:flex;align-items:center;gap:4px;min-height:18px;margin-bottom:8px; }
.hood-ai-text { font-size:.7rem;font-style:italic;color:rgba(255,255,255,.5); }
.hood-content { padding:24px; }
.hood-cat-grid {
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;
}
.hcg-pill {
  display:flex;align-items:center;gap:6px;
  padding:5px 14px;border-radius:20px;border:1px solid;
  font-size:.65rem;font-weight:700;text-decoration:none;
  transition:opacity .15s;
}
.hcg-pill:hover { opacity:.8; }
.hcg-count { font-weight:900; }
.hcg-name { opacity:.85; }

/* ── Submit page ─────────────────────────────────────────────── */
.submit-page-hero {
  padding:32px 32px 28px;
  background:linear-gradient(135deg,rgba(26,86,255,.08),rgba(232,32,26,.05));
  border-bottom:1px solid rgba(255,255,255,.06);
  text-align:center;
}
.sph-badge {
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(45,181,75,.15);color:var(--dc-green);
  border:1px solid rgba(45,181,75,.3);
  font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 12px;border-radius:20px;margin-bottom:12px;
}
.sph-title {
  font-family:'Inter Tight',sans-serif;
  font-size:1.8rem;font-weight:900;color:#fff;margin:0 0 10px;letter-spacing:-.02em;
}
.sph-desc { font-size:.85rem;color:rgba(255,255,255,.55);margin-bottom:20px; }
.sph-stats {
  display:flex;justify-content:center;gap:32px;flex-wrap:wrap;
}
.sph-stat { text-align:center; }
.sph-stat-n { font-size:1.4rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif; }
.sph-stat-l { font-size:.6rem;color:rgba(255,255,255,.4); }
.submit-layout { display:grid;grid-template-columns:1fr 280px;gap:28px;margin-top:28px; }
@media(max-width:800px){ .submit-layout { grid-template-columns:1fr; } }
.sfa-section { margin-bottom:20px; }
.sfa-section-label {
  font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-bottom:12px;
  display:flex;align-items:center;gap:7px;
  padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06);
}
.sfa-section-label i { color:var(--dc-blue); }
.sfa-section--contact .sfa-section-label i { color:var(--dc-green); }
.sf-req { color:var(--dc-red); }
.sf-note-inline { font-size:.55rem;color:rgba(255,255,255,.3);font-weight:400;letter-spacing:0; }
.submit-aside { display:flex;flex-direction:column;gap:16px; }
.sa-block {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:16px;
}
.sa-block h3 { font-size:.8rem;font-weight:800;color:#fff;margin:0 0 10px; }
.sa-block p { font-size:.65rem;color:rgba(255,255,255,.5);line-height:1.6;margin:0; }
.sa-checklist { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px; }
.sa-checklist li { font-size:.7rem;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px; }
.sa-checklist li i { flex-shrink:0; }
.sa-ev { display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);text-decoration:none; }
.sa-ev:last-child { border-bottom:none; }
.sa-ev-dot { width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px; }
.sa-ev-title { font-size:.7rem;font-weight:700;color:rgba(255,255,255,.8);line-height:1.3; }
.sa-ev-date { font-size:.58rem;color:rgba(255,255,255,.35);margin-top:2px; }

/* ── Contact page ─────────────────────────────────────────────── */
.contact-layout { display:grid;grid-template-columns:1fr 280px;gap:28px;margin-top:0; }
@media(max-width:800px){ .contact-layout { grid-template-columns:1fr; } }
.contact-info-col { display:flex;flex-direction:column;gap:16px; }
.cic-block {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:16px;
}
.cic-block h3 { font-size:.8rem;font-weight:800;color:#fff;margin:0 0 12px; }
.contact-list { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px; }
.contact-list li { font-size:.7rem;display:flex;align-items:center;gap:9px; }
.contact-list a { color:rgba(255,255,255,.7);text-decoration:none; }
.contact-list a:hover { color:#fff; }
.cic-socials { display:flex;flex-direction:column;gap:6px; }
.cic-social-btn {
  display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:6px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  text-decoration:none;font-size:.72rem;color:rgba(255,255,255,.65);
  transition:all .15s;
}
.cic-social-btn:hover { background:rgba(255,255,255,.1);color:#fff; }
.cic-action-btn {
  display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:6px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  text-decoration:none;font-size:.72rem;color:rgba(255,255,255,.65);
  transition:all .15s;margin-bottom:6px;
}
.cic-action-btn:hover { background:rgba(255,255,255,.1);color:#fff; }
.cic-action-btn i { color:var(--dc-blue);width:14px;text-align:center; }
.cic-response-time {
  display:flex;align-items:center;gap:12px;
}
.crt-label { font-size:.55rem;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.08em; }
.crt-val { font-size:.8rem;font-weight:700;color:#fff; }

/* ── About page ──────────────────────────────────────────────── */
.about-hero {
  padding:32px;text-align:center;
  background:linear-gradient(135deg,rgba(26,86,255,.06),rgba(232,32,26,.04));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ah-wordmark {
  font-family:'Inter Tight',sans-serif;font-size:2.4rem;font-weight:900;
  color:rgba(255,255,255,.15);letter-spacing:-.02em;margin-bottom:12px;
}
.ah-wordmark span { color:var(--dc-red); }
.ah-title { font-family:'Inter Tight',sans-serif;font-size:1.6rem;font-weight:900;color:#fff;margin:0 0 10px; }
.ah-desc { font-size:.9rem;color:rgba(255,255,255,.5);margin:0; }
.about-stats-row {
  display:flex;flex-wrap:wrap;gap:0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.asr-stat {
  flex:1;min-width:100px;text-align:center;
  padding:20px 12px;border-right:1px solid rgba(255,255,255,.07);
}
.asr-stat:last-child { border-right:none; }
.asr-n { font-size:1.5rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif; }
.asr-l { font-size:.58rem;color:rgba(255,255,255,.35);margin-top:3px; }
.about-layout { display:grid;grid-template-columns:1fr 260px;gap:28px;padding:28px; }
@media(max-width:800px){ .about-layout { grid-template-columns:1fr; } }
.about-body p { font-size:.82rem;line-height:1.75;color:rgba(255,255,255,.75);margin-bottom:16px; }
.about-body h2 { font-size:1rem;font-weight:800;color:#fff;margin:24px 0 14px; }
.about-features-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px; }
@media(max-width:500px){ .about-features-grid { grid-template-columns:1fr; } }
.afg-card {
  display:flex;align-items:flex-start;gap:10px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:8px;padding:12px 14px;
}
.afg-icon { font-size:1rem;margin-top:1px;flex-shrink:0; }
.afg-title { font-size:.75rem;font-weight:800;color:#fff;margin-bottom:3px; }
.afg-desc { font-size:.62rem;color:rgba(255,255,255,.45);line-height:1.5; }
.about-sidebar-col { display:flex;flex-direction:column;gap:16px; }
.asb-card {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:16px;
}
.asb-card-title { font-size:.8rem;font-weight:800;color:#fff;margin-bottom:8px; }
.asb-card-desc { font-size:.65rem;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:12px; }
.asb-card-desc a { color:var(--dc-blue); }
.asb-dotcity-grid { display:flex;flex-wrap:wrap;gap:5px; }
.asb-city-pill {
  font-size:.58rem;font-weight:700;padding:3px 10px;border-radius:12px;
  background:rgba(255,255,255,.07);color:rgba(255,255,255,.5);
}
.asb-cta-stack { display:flex;flex-direction:column; }

/* ── Responsive overrides for new templates ──────────────────── */
@media(max-width:900px){
  .cat-ev-grid { grid-template-columns:1fr 1fr; padding:0 16px 16px; }
  .cat-stories-grid { grid-template-columns:1fr 1fr; padding:0 16px 16px; }
  .cat-featured-event { margin:16px 16px 0; }
  .cat-section-head { padding:20px 16px 12px; }
  .food-venue-grid { grid-template-columns:1fr 1fr; padding:0 16px 16px; }
  .cat-nl-cta { margin:20px 16px 16px; grid-template-columns:auto 1fr; }
}
@media(max-width:600px){
  .cat-hero { padding:24px 16px 20px; }
  .cat-hero-title { font-size:1.5rem; }
  .cat-ev-grid { grid-template-columns:1fr; }
  .cat-stories-grid { grid-template-columns:1fr; }
  .food-venue-grid { grid-template-columns:1fr; }
  .cat-nl-cta { grid-template-columns:1fr; }
  .cat-nl-form { flex-direction:column; }
  .cat-nl-form input { width:100%; }
  .cst-card--hero { grid-template-columns:1fr; }
  .sm-card--wide { grid-template-columns:1fr; }
  .hhf-name { font-size:1.6rem; }
  .sph-title { font-size:1.4rem; }
  .stories-masonry { grid-template-columns:1fr; }
  .stories-hero-card { height:220px; }
  .shc-title { font-size:1.2rem; }
}

/* ═══════════════════════════════════════════════════════════════════
   REMAINING PAGE TEMPLATES - v9 continued
   ═══════════════════════════════════════════════════════════════════ */

/* ── Directory ──────────────────────────────────────────────────── */
.dir-hero {
  padding:32px 28px 24px;
  background:linear-gradient(135deg,rgba(245,196,0,.06),rgba(26,86,255,.04));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.dir-hero-content { margin-bottom:20px; }
.dir-hero-desc { font-size:.85rem;color:rgba(255,255,255,.55);margin:8px 0 12px; }
.dir-hero-total { font-size:.7rem;color:rgba(255,255,255,.35); }
.dir-hero-total span { font-weight:800;color:rgba(255,255,255,.7);font-size:.85rem; }
.dir-cat-breakdown { display:flex;flex-wrap:wrap;gap:8px; }
.dcb-pill {
  display:flex;flex-direction:column;align-items:center;
  padding:8px 14px;border-radius:10px;text-decoration:none;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);
  transition:all .15s;min-width:60px;
}
.dcb-pill:hover { background:rgba(255,255,255,.1); }
.dcb-pill.on { background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2); }
.dcb-pill[style*="--dc"] { border-color:var(--dc)44; }
.dcb-pill[style*="--dc"]:hover,.dcb-pill[style*="--dc"].on { background:var(--dc)22;border-color:var(--dc)88; }
.dcb-n { font-size:.9rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif; }
.dcb-l { font-size:.55rem;color:rgba(255,255,255,.4);font-weight:600;margin-top:2px; }
.dir-filter-bar { padding:16px 28px 0; }
.dfb-form { display:flex;flex-wrap:wrap;gap:8px;align-items:center; }
.dfb-search {
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:8px;padding:8px 14px;flex:1;min-width:200px;
}
.dfb-search i { color:rgba(255,255,255,.3); }
.dfb-search input { background:none;border:none;outline:none;color:#fff;font-size:.75rem;width:100%; }
.dfb-selects { display:flex;flex-wrap:wrap;gap:6px; }
.dfb-selects select {
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.75);padding:7px 12px;border-radius:6px;font-size:.72rem;
  outline:none;cursor:pointer;
}
.dfb-check {
  display:flex;align-items:center;gap:5px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  padding:7px 12px;border-radius:6px;font-size:.72rem;color:rgba(255,255,255,.6);
  cursor:pointer;transition:all .15s;
}
.dfb-check input { display:none; }
.dfb-check.on { background:rgba(45,181,75,.15);border-color:rgba(45,181,75,.4);color:var(--dc-green); }
.dfb-check i { font-size:.7rem; }
.dfb-actions { display:flex;gap:6px; }
.dir-results-bar {
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px 10px;
}
.drb-count { font-size:.7rem;color:rgba(255,255,255,.4); }
.drb-count em { color:rgba(255,255,255,.7);font-style:normal;font-weight:700; }
.drb-view-toggle { display:flex;gap:3px; }
.drvt-btn {
  padding:5px 9px;border-radius:5px;border:1px solid rgba(255,255,255,.1);
  background:transparent;color:rgba(255,255,255,.35);cursor:pointer;font-size:.75rem;
  transition:all .15s;
}
.drvt-btn.on { background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2); }
.dir-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:16px;padding:0 28px 24px;
}
.dir-grid--list { grid-template-columns:1fr; }
.dir-grid--list .dir-card { flex-direction:row; }
.dir-grid--list .dir-card-img { width:140px;height:100%;min-height:90px;flex-shrink:0; }
.dir-card {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;overflow:hidden;
  transition:border-color .15s,transform .15s;
  display:flex;flex-direction:column;
}
.dir-card:hover { border-color:rgba(255,255,255,.16);transform:translateY(-2px); }
.dir-card-img {
  display:block;height:150px;overflow:hidden;position:relative;text-decoration:none;
}
.dir-card-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.dir-card:hover .dir-card-img img { transform:scale(1.05); }
.dir-card-noimg {
  height:100%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;
}
.dir-verified {
  position:absolute;top:8px;left:8px;
  background:rgba(45,181,75,.9);color:#fff;
  font-size:.5rem;font-weight:800;padding:3px 7px;border-radius:3px;
}
.dir-price {
  position:absolute;bottom:8px;right:8px;
  background:rgba(0,0,0,.7);color:rgba(255,255,255,.8);
  font-size:.55rem;font-weight:700;padding:3px 7px;border-radius:3px;
}
.dir-card-body { padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:4px; }
.dir-card-head { display:flex;align-items:flex-start;justify-content:space-between;gap:6px; }
.dir-card-name { font-size:.82rem;font-weight:800;line-height:1.2; }
.dir-card-name a { color:#fff;text-decoration:none; }
.dir-card-name a:hover { color:rgba(255,255,255,.7); }
.dir-card-rating { font-size:.58rem;color:var(--dc-yellow);display:flex;align-items:center;gap:3px;flex-shrink:0; }
.dir-card-rating span { color:rgba(255,255,255,.3); }
.dir-card-cat { font-size:.58rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase; }
.dir-card-cuisine,.dir-card-area { font-size:.6rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:4px; }
.dir-card-exc { font-size:.65rem;color:rgba(255,255,255,.5);line-height:1.5;margin:2px 0; }
.dir-card-ctas { display:flex;gap:6px;margin-top:auto;padding-top:8px; }
.dir-submit-cta { margin:8px 28px 24px; }
.dir-submit-cta-inner {
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:rgba(45,181,75,.08);border:1px solid rgba(45,181,75,.2);
  border-radius:12px;padding:18px 22px;
}
.dsc-title { font-size:.85rem;font-weight:700;color:#fff;margin-bottom:3px; }
.dsc-sub { font-size:.65rem;color:rgba(255,255,255,.5); }

/* ── Advertise page ──────────────────────────────────────────── */
.adv-hero {
  position:relative;overflow:hidden;
  padding:48px 32px 36px;text-align:center;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.adv-hero-bg {
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(232,32,26,.12) 0%,transparent 70%);
  pointer-events:none;
}
.adv-hero-content { position:relative;z-index:1; }
.adv-eyebrow {
  display:inline-flex;align-items:center;gap:5px;
  font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dc-red);margin-bottom:12px;
}
.adv-title { font-family:'Inter Tight',sans-serif;font-size:2.4rem;font-weight:900;color:#fff;margin:0 0 12px;letter-spacing:-.02em; }
.adv-desc { font-size:.9rem;color:rgba(255,255,255,.55);margin:0 0 24px; }
.adv-hero-stats { display:flex;justify-content:center;gap:36px;flex-wrap:wrap; }
.adv-hs { text-align:center; }
.adv-hs-n { font-size:1.5rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif; }
.adv-hs-l { font-size:.6rem;color:rgba(255,255,255,.4);margin-top:3px; }
.adv-section-label {
  font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.3);margin-bottom:20px;
  padding:24px 28px 0;
}
.adv-packages-wrap { padding:0 28px 32px; }
.adv-packages { display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px; }
@media(max-width:700px){ .adv-packages { grid-template-columns:1fr; } }
.adv-pkg {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:14px;padding:24px 20px;position:relative;
  display:flex;flex-direction:column;gap:14px;
  transition:border-color .2s,transform .2s;
}
.adv-pkg:hover { border-color:rgba(255,255,255,.16);transform:translateY(-2px); }
.adv-pkg--popular { border-color:rgba(232,32,26,.35);background:rgba(232,32,26,.06); }
.adv-pkg-badge {
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:var(--dc-red);color:#fff;
  font-size:.5rem;font-weight:800;padding:4px 14px;
  border-radius:20px;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;
}
.adv-pkg-tier { font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em; }
.adv-pkg-price { font-size:1.5rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif;line-height:1; }
.adv-pkg-desc { font-size:.7rem;color:rgba(255,255,255,.5);line-height:1.6;flex:1; }
.adv-pkg-feats { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px; }
.adv-pkg-feats li { font-size:.7rem;color:rgba(255,255,255,.75);display:flex;align-items:flex-start;gap:8px; }
.adv-pkg-feats li i { flex-shrink:0;margin-top:2px; }
.adv-pkg-cta {
  display:block;text-align:center;padding:11px;border-radius:7px;
  font-size:.75rem;font-weight:800;color:#fff;text-decoration:none;
  transition:filter .15s;
}
.adv-pkg-cta:hover { filter:brightness(1.12); }
.adv-bespoke { font-size:.65rem;color:rgba(255,255,255,.35);text-align:center; }
.adv-bespoke a { color:var(--dc-blue); }
.adv-audience { padding:0 28px 32px; }
.adv-audience-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
@media(max-width:700px){ .adv-audience-grid { grid-template-columns:1fr; } }
.adv-aud-block {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:12px;padding:20px;
}
.adv-aud-bar-row { display:flex;align-items:center;gap:10px;margin-bottom:12px; }
.adv-aud-bar-label { font-size:.65rem;color:rgba(255,255,255,.6);width:140px;flex-shrink:0; }
.adv-aud-bar-track { flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden; }
.adv-aud-bar-fill { height:100%;border-radius:3px;transition:width .6s; }
.adv-aud-bar-pct { font-size:.65rem;font-weight:800;width:36px;text-align:right; }
.adv-aud-stats { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.adv-aud-stat { display:flex;align-items:center;gap:10px; }
.adv-aud-stat-icon { font-size:1rem;width:28px;text-align:center;flex-shrink:0; }
.adv-aud-stat-n { font-size:.95rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif; }
.adv-aud-stat-l { font-size:.58rem;color:rgba(255,255,255,.4); }
.adv-placements { padding:0 28px 32px; }
.adv-placement-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
@media(max-width:700px){ .adv-placement-grid { grid-template-columns:1fr 1fr; } }
.adv-pl-card {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:16px;
  transition:border-color .15s;
}
.adv-pl-card:hover { border-color:rgba(255,255,255,.14); }
.adv-pl-icon { font-size:1.2rem;color:var(--dc-blue);margin-bottom:8px; }
.adv-pl-title { font-size:.78rem;font-weight:800;color:#fff;margin-bottom:5px; }
.adv-pl-desc { font-size:.65rem;color:rgba(255,255,255,.5);line-height:1.55;margin-bottom:8px; }
.adv-pl-reach { font-size:.6rem;color:rgba(255,255,255,.35);display:flex;align-items:center;gap:5px; }
.adv-cta-strip {
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin:0 28px 28px;padding:22px 24px;
  background:linear-gradient(135deg,rgba(232,32,26,.1),rgba(26,86,255,.06));
  border:1px solid rgba(232,32,26,.2);border-radius:12px;
}
.adv-cta-title { font-size:1rem;font-weight:800;color:#fff;margin-bottom:5px; }
.adv-cta-sub { font-size:.7rem;color:rgba(255,255,255,.5); }
.adv-cta-btns { display:flex;gap:8px;flex-shrink:0; }

/* ── TV page ────────────────────────────────────────────────── */
.tv-page-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;background:var(--dark3);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.tv-ph-left { display:flex;align-items:center;gap:12px; }
.tv-ph-live {
  display:flex;align-items:center;gap:5px;
  font-size:.55rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.tv-live-dot {
  width:6px;height:6px;border-radius:50%;background:#fff;
  animation:tv-live-pulse 1.2s ease-in-out infinite;
}
@keyframes tv-live-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.tv-ph-brand { font-family:'Inter Tight',sans-serif;font-size:1.1rem;font-weight:900;color:#fff; }
.tv-ph-sub { font-size:.6rem;color:rgba(255,255,255,.35); }
.tv-ph-right { display:flex;align-items:center;gap:12px; }
.tv-ph-admin {
  display:flex;align-items:center;gap:5px;
  font-size:.65rem;font-weight:700;padding:5px 11px;border-radius:5px;
  background:rgba(26,86,255,.15);border:1px solid rgba(26,86,255,.3);
  color:var(--dc-blue);text-decoration:none;
}
.tv-ph-clock { font-size:.75rem;font-weight:700;color:rgba(255,255,255,.4);font-family:var(--font-mono,monospace); }
/* TV page: remove MCTV margin since CENTRE has padding:0 */
.page-template-tpl-tv .MCTV { margin:0; }
/* EPG current slot - white instead of channel colour */
.tv-epg-slot.now { color:#fff !important; }
.tv-epg-prog-fill { background:rgba(255,255,255,.45) !important; }
.tv-archive { padding:0 24px 24px; }
.tv-archive-header { display:flex;align-items:center;justify-content:space-between;margin:24px 0 16px; }
.tv-archive-title { font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4); }
.tv-arch-channel { margin-bottom:28px; }
.tv-arch-ch-head { display:flex;align-items:center;gap:8px;margin-bottom:12px; }
.tv-arch-ch-dot { width:8px;height:8px;border-radius:50%;flex-shrink:0; }
.tv-arch-ch-name { font-size:.75rem;font-weight:800;letter-spacing:.06em; }
.tv-arch-ch-count { font-size:.6rem;color:rgba(255,255,255,.3); }
.tv-arch-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px; }
.tv-arch-card {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:8px;overflow:hidden;transition:border-color .15s,transform .15s;
}
.tv-arch-card:hover { border-color:rgba(255,255,255,.16);transform:translateY(-1px); }
.tv-arch-thumb { position:relative;aspect-ratio:16/9;overflow:hidden; }
.tv-arch-thumb img { width:100%;height:100%;object-fit:cover;display:block; }
.tv-arch-play {
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.4);opacity:0;transition:opacity .2s;
}
.tv-arch-card:hover .tv-arch-play { opacity:1; }
.tv-arch-play i { color:#fff;font-size:1.2rem; }
.tv-arch-dur {
  position:absolute;bottom:4px;right:5px;
  background:rgba(0,0,0,.75);color:#fff;font-size:.48rem;font-weight:700;padding:2px 5px;border-radius:2px;
}
.tv-arch-title { font-size:.62rem;font-weight:700;color:rgba(255,255,255,.8);padding:8px 10px;line-height:1.3; }

/* ── Videos page ────────────────────────────────────────────── */
.vids-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:28px 24px 16px;
}
.vids-ch-tabs {
  display:flex;flex-wrap:wrap;gap:6px;padding:0 24px 16px;
}
.vct-tab {
  display:flex;align-items:center;gap:6px;
  padding:7px 16px;border-radius:22px;font-size:.7rem;font-weight:700;
  text-decoration:none;
  background:rgba(255,255,255,.07);color:rgba(255,255,255,.5);
  border:1px solid rgba(255,255,255,.1);transition:all .15s;
}
.vct-tab:hover { background:rgba(255,255,255,.12);color:#fff; }
.vct-tab.on { background:var(--vc,var(--dc-red));color:#fff;border-color:transparent; }
.vct-dot { width:6px;height:6px;border-radius:50%;flex-shrink:0; }
.vids-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:14px;padding:0 24px 24px;
}
.vid-card {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;overflow:hidden;
  transition:border-color .15s,transform .15s;
}
.vid-card:hover { border-color:rgba(255,255,255,.16);transform:translateY(-2px); }
.vid-card-thumb { position:relative;aspect-ratio:16/9;overflow:hidden; }
.vid-card-thumb img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.vid-card:hover .vid-card-thumb img { transform:scale(1.04); }
.vid-card-overlay {
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.4);opacity:0;transition:opacity .2s;
}
.vid-card:hover .vid-card-overlay { opacity:1; }
.vid-card-play { color:#fff;font-size:1.6rem; }
.vid-card-dur {
  position:absolute;bottom:6px;right:7px;
  background:rgba(0,0,0,.75);color:#fff;font-size:.5rem;font-weight:700;padding:2px 6px;border-radius:3px;
}
.vid-card-ch-badge {
  position:absolute;top:7px;left:7px;
  color:#fff;font-size:.5rem;font-weight:800;padding:3px 8px;border-radius:3px;
  text-transform:uppercase;letter-spacing:.07em;
}
.vid-card-body { padding:10px 12px; }
.vid-card-title { font-size:.72rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:4px; }
.vid-card-meta { font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase; }
/* Video lightbox */
.vid-lightbox {
  display:none;position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.9);align-items:center;justify-content:center;
  padding:24px;
}
.vid-lightbox.open { display:flex; }
.vid-lb-inner { position:relative;width:100%;max-width:900px; }
.vid-lb-close {
  position:absolute;top:-44px;right:0;
  background:rgba(255,255,255,.1);border:none;color:#fff;
  width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:.9rem;
  transition:background .15s;
}
.vid-lb-close:hover { background:rgba(255,255,255,.2); }
.vid-lb-player { position:relative;padding-bottom:56.25%;background:#000;border-radius:8px;overflow:hidden; }
.vids-tv-cta { margin:4px 24px 24px; }
.vtc-inner {
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:rgba(232,32,26,.08);border:1px solid rgba(232,32,26,.2);
  border-radius:12px;padding:18px 22px;
}
.vtc-icon { font-size:1.6rem;flex-shrink:0; }
.vtc-title { font-size:.85rem;font-weight:700;color:#fff;margin-bottom:3px; }
.vtc-sub { font-size:.65rem;color:rgba(255,255,255,.5); }

/* ── Legal page ─────────────────────────────────────────────── */
.legal-body { font-size:.82rem;line-height:1.8;color:rgba(255,255,255,.75); }
.legal-body p { margin-bottom:16px; }
.legal-body h2 { font-size:1rem;font-weight:800;color:#fff;margin:24px 0 12px; }
.legal-body h3 { font-size:.85rem;font-weight:700;color:#fff;margin:18px 0 8px; }
.legal-body a { color:var(--dc-blue); }
.legal-body ul,.legal-body ol { padding-left:22px;margin-bottom:16px; }
.legal-body li { margin-bottom:7px; }
.legal-footer { margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.07);font-size:.7rem; }
.legal-footer a { color:var(--dc-blue); }

/* ── Sitemap ────────────────────────────────────────────────── */
.sitemap-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
@media(max-width:700px){ .sitemap-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:420px){ .sitemap-grid { grid-template-columns:1fr; } }
.sm-section { background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:16px; }
.sm-section-title { font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06); }
.sm-list { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px; }
.sm-link { display:flex;align-items:center;gap:8px;text-decoration:none;font-size:.72rem;color:rgba(255,255,255,.65);padding:5px 6px;border-radius:5px;transition:all .15s; }
.sm-link:hover { background:rgba(255,255,255,.06);color:#fff; }

/* ── Responsive ─────────────────────────────────────────────── */
@media(max-width:900px){
  .dir-grid { padding:0 16px 16px; grid-template-columns:1fr 1fr; }
  .dir-hero { padding:24px 16px 20px; }
  .dir-filter-bar { padding:12px 16px 0; }
  .dir-results-bar { padding:10px 16px 8px; }
  .adv-hero { padding:32px 16px 28px; }
  .adv-packages-wrap,.adv-audience,.adv-placements { padding:0 16px 24px; }
  .adv-cta-strip { margin:0 16px 16px; }
  .adv-section-label { padding:16px 16px 0; }
  .adv-placement-grid { grid-template-columns:1fr 1fr; }
  .tv-page-header { padding:10px 16px; }
  .tv-archive { padding:0 16px 16px; }
  .vids-grid { padding:0 16px 16px; }
  .vids-ch-tabs { padding:0 16px 12px; }
  .vids-header { padding:20px 16px 12px; }
  .vids-tv-cta { margin:4px 16px 16px; }
}
@media(max-width:600px){
  .dir-grid { grid-template-columns:1fr; }
  .adv-aud-stats { grid-template-columns:1fr; }
  .adv-hero-stats { gap:20px; }
  .vids-grid { grid-template-columns:1fr 1fr; }
  .tv-arch-grid { grid-template-columns:1fr 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════
   DEEP PAGE CSS v9.2 - Food / Nightlife / Sport mastheads + components
   ═══════════════════════════════════════════════════════════════════ */

/* ── SHARED: food-stories-grid (used on all 3 pages) ─────────────────── */
.food-stories-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:auto auto;
  gap:12px;
  padding:0 24px 24px;
}
@media(max-width:760px){.food-stories-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:500px){.food-stories-grid{grid-template-columns:1fr;}}
.fstory-card {
  display:block;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);border-radius:10px;
  overflow:hidden;transition:border-color .15s,transform .15s;
}
.fstory-card:hover{border-color:rgba(255,255,255,.18);transform:translateY(-2px);}
.fstory-card--hero{grid-row:1/3;}
.fstory-card--hero .fstory-img{height:260px;}
.fstory-img{height:130px;overflow:hidden;}
.fstory-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.fstory-card:hover .fstory-img img{transform:scale(1.05);}
.fstory-body{padding:13px 15px;}
.fstory-cat{font-size:.55rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;}
.fstory-title{font-size:.82rem;font-weight:800;color:#fff;line-height:1.3;margin:0 0 5px;}
.fstory-card--hero .fstory-title{font-size:1.05rem;}
.fstory-sub{font-size:.7rem;color:rgba(255,255,255,.55);line-height:1.5;margin:0 0 7px;}
.fstory-meta{font-size:.55rem;color:rgba(255,255,255,.3);}

/* ── SHARED: newsletter block ─────────────────────────────────────────── */
.food-nl-block {
  margin:32px 24px 32px;
  background:linear-gradient(135deg,rgba(var(--col-r,26),var(--col-g,86),var(--col-b,255),.08),rgba(0,0,0,0));
  border:1px solid rgba(255,255,255,.08);border-radius:14px;
}
.fnl-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:24px 28px;}
@media(max-width:700px){.fnl-inner{grid-template-columns:1fr;gap:16px;}}
.fnl-left{display:flex;align-items:center;gap:16px;}
.fnl-icon{font-size:1.8rem;flex-shrink:0;}
.fnl-title{font-size:.95rem;font-weight:800;color:#fff;margin:0 0 4px;}
.fnl-sub{font-size:.7rem;color:rgba(255,255,255,.5);line-height:1.5;margin:0;}
.fnl-form{display:flex;gap:8px;align-items:center;}
.fnl-input{padding:10px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff;font-size:.75rem;outline:none;min-width:220px;}
.fnl-input:focus{border-color:rgba(255,255,255,.3);}
.fnl-btn{padding:10px 18px;border-radius:6px;border:none;font-size:.75rem;font-weight:700;color:#fff;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:filter .15s;}
.fnl-btn:hover{filter:brightness(1.1);}
@media(max-width:500px){.fnl-form{flex-direction:column;width:100%;}.fnl-input{min-width:0;width:100%;}.fnl-btn{width:100%;justify-content:center;}}

/* ══════════════════════════════════════════════
   FOOD PAGE
══════════════════════════════════════════════ */
.food-masthead{position:relative;height:240px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;}
.fm-bg{position:absolute;inset:0;}
.fm-bg img{width:100%;height:100%;object-fit:cover;display:block;}
.fm-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.6) 40%,rgba(0,0,0,.2) 100%);}
.fm-inner{position:relative;z-index:1;padding:28px 28px 16px;}
.fm-kicker{font-size:.58rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.fm-headline{font-family:'Inter Tight',sans-serif;font-size:2.6rem;font-weight:900;color:#fff;margin:0 0 10px;letter-spacing:-.035em;line-height:1.0;}
.fm-headline em{font-style:normal;}
.fm-sub{font-size:.85rem;color:rgba(255,255,255,.6);max-width:500px;line-height:1.6;margin:0 0 18px;}
.fm-live-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;}
.fm-live-item{display:flex;align-items:baseline;gap:5px;}
.fm-live-n{font-size:1.1rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif;}
.fm-live-l{font-size:.6rem;color:rgba(255,255,255,.4);}
.fm-live-div{width:1px;height:20px;background:rgba(255,255,255,.15);}
.fm-ai-line{min-height:22px;padding-bottom:4px;}
.fm-ai-text{font-size:.72rem;font-style:italic;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:6px;}
.fm-ctas{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;padding:0 28px 20px;}
.fm-cta-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:6px;font-size:.76rem;font-weight:700;color:#fff;transition:filter .15s;}
.fm-cta-btn:hover{filter:brightness(1.1);}
.fm-cta-ghost{background:rgba(255,255,255,.1) !important;border:1px solid rgba(255,255,255,.18);}
.fm-cta-ghost:hover{background:rgba(255,255,255,.18) !important;}

/* Food category nav */
.food-cat-nav{display:flex;gap:5px;padding:16px 24px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;z-index:50;background:#111114;}
.food-cat-nav::-webkit-scrollbar{display:none}
.fcn-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:20px;font-size:.68rem;font-weight:700;white-space:nowrap;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.6);transition:all .15s;flex-shrink:0;}
.fcn-pill:hover{background:rgba(255,255,255,.1);color:#fff;}
.fcn-on{background:rgba(45,181,75,.15);border-color:rgba(45,181,75,.4);color:#2DB54B;}

/* Food search bar */
.food-search-bar{padding:16px 24px 0;}
.fsb-form{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;}
.fsb-main{display:flex;flex-wrap:wrap;gap:0;align-items:stretch;}
.fsb-search-wrap{flex:1;min-width:220px;display:flex;align-items:center;gap:8px;padding:10px 14px;border-right:1px solid rgba(255,255,255,.07);position:relative;}
.fsb-ico{color:rgba(255,255,255,.35);font-size:.8rem;flex-shrink:0;}
.fsb-input{flex:1;background:none;border:none;outline:none;color:#fff;font-size:.78rem;}
.fsb-input::placeholder{color:rgba(255,255,255,.3);}
.fsb-clear{background:none;border:none;color:rgba(255,255,255,.35);cursor:pointer;padding:0 4px;font-size:.8rem;}
.fsb-selects{display:flex;align-items:center;gap:0;flex-wrap:wrap;}
.fsb-sel{background:none;border:none;border-right:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,.65);padding:10px 14px;font-size:.72rem;outline:none;cursor:pointer;}
.fsb-sel:last-of-type{border-right:none;}
.fsb-view-toggle{display:flex;gap:0;border-left:1px solid rgba(255,255,255,.07);}
.fsb-view{padding:10px 12px;color:rgba(255,255,255,.35);font-size:.8rem;transition:all .15s;}
.fsb-view:hover,.fsb-view-on{color:#fff;background:rgba(255,255,255,.06);}
.fsb-actions{display:flex;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid rgba(255,255,255,.06);}
.fsb-active-filters{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0;}
.fsb-af-tag{font-size:.6rem;background:rgba(255,255,255,.08);border-radius:4px;padding:3px 8px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:5px;}
.fsb-af-tag a{color:rgba(255,255,255,.4);font-weight:700;}
.fsb-af-tag a:hover{color:#fff;}

/* Results header */
.food-results-head{display:flex;align-items:center;justify-content:space-between;padding:16px 24px 12px;}
.frh-count{font-size:.75rem;color:rgba(255,255,255,.55);}
.frh-count strong{color:#fff;font-weight:800;}
.frh-count em{color:rgba(255,255,255,.8);font-style:normal;}
.frh-add-btn{font-size:.65rem;font-weight:700;color:var(--dc-blue);display:flex;align-items:center;gap:5px;}

/* Venue grid & list */
.food-venues{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;padding:0 24px 24px;}
.fv-list{grid-template-columns:1fr;}
.fvg-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;transition:border-color .15s,transform .15s;display:flex;flex-direction:column;}
.fvg-card:hover{border-color:rgba(255,255,255,.16);transform:translateY(-2px);}
.fvg-card-list{flex-direction:row;height:100px;}
.fvg-card-list .fvg-img{height:100%;width:140px;flex-shrink:0;}
.fvg-card-list .fvg-body{padding:10px 14px;}
.fvg-img{display:block;height:150px;overflow:hidden;position:relative;flex-shrink:0;}
.fvg-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.fvg-card:hover .fvg-img img{transform:scale(1.05);}
.fvg-img-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;}
.fvg-price{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.75);color:rgba(255,255,255,.85);font-size:.55rem;font-weight:700;padding:3px 8px;border-radius:3px;}
.fvg-verified{position:absolute;top:8px;left:8px;background:rgba(45,181,75,.9);color:#fff;font-size:.48rem;font-weight:800;letter-spacing:.06em;padding:3px 7px;border-radius:3px;}
.fvg-body{padding:13px 15px;flex:1;display:flex;flex-direction:column;gap:4px;}
.fvg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;}
.fvg-name{font-size:.84rem;font-weight:800;line-height:1.2;margin:0;}
.fvg-name a{color:#fff;}
.fvg-name a:hover{color:rgba(255,255,255,.7);}
.fvg-stars{color:#F5C400;font-size:.6rem;flex-shrink:0;letter-spacing:1px;}
.fvg-tags{display:flex;flex-wrap:wrap;gap:4px;}
.fvg-tag-c{font-size:.58rem;font-weight:700;color:rgba(255,255,255,.5);}
.fvg-tag-h{font-size:.58rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:3px;}
.fvg-exc{font-size:.65rem;color:rgba(255,255,255,.5);line-height:1.5;margin:2px 0;flex:1;}
.fvg-ctas{display:flex;gap:6px;margin-top:auto;padding-top:8px;align-items:center;}

/* Map */
.food-map-section{padding:0 24px 24px;}
.food-map-container{height:300px;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.04);transition:height .3s;}
.food-map-expanded{height:500px !important;}
.food-map-note{font-size:.62rem;color:rgba(255,255,255,.3);margin:8px 0 0;display:flex;align-items:center;gap:5px;}
.food-map-note strong{color:rgba(255,255,255,.5);}
.fsm-expand-btn{font-size:.65rem;}

/* Neighbourhood cards */
.food-hoods{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 24px 24px;}
@media(max-width:700px){.food-hoods{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.food-hoods{grid-template-columns:1fr;}}
.fhood-card{display:block;position:relative;height:150px;border-radius:10px;overflow:hidden;transition:transform .2s;}
.fhood-card:hover{transform:scale(1.02);}
.fhc-img{position:absolute;inset:0;}
.fhc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.fhood-card:hover .fhc-img img{transform:scale(1.06);}
.fhc-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.15) 60%);}
.fhc-body{position:absolute;bottom:0;left:0;right:0;padding:12px 14px;}
.fhc-count{display:inline-block;font-size:.52rem;font-weight:800;color:#fff;padding:2px 8px;border-radius:10px;margin-bottom:5px;}
.fhc-name{font-size:.82rem;font-weight:800;color:#fff;margin:0 0 3px;}
.fhc-desc{font-size:.58rem;color:rgba(255,255,255,.65);line-height:1.4;margin:0;}

/* Guide grid */
.food-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 24px 24px;}
@media(max-width:700px){.food-guide-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.food-guide-grid{grid-template-columns:1fr;}}
.fgg-card{display:block;position:relative;height:170px;border-radius:10px;overflow:hidden;transition:transform .2s;}
.fgg-card:hover{transform:translateY(-3px);}
.fgg-img{position:absolute;inset:0;}
.fgg-img img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.5);transition:filter .3s;}
.fgg-card:hover .fgg-img img{filter:brightness(.65);}
.fgg-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.3) 70%);}
.fgg-body{position:absolute;bottom:0;left:0;right:0;padding:14px;}
.fgg-icon{font-size:.9rem;margin-bottom:5px;}
.fgg-title{font-size:.78rem;font-weight:800;color:#fff;margin:0 0 4px;}
.fgg-desc{font-size:.58rem;color:rgba(255,255,255,.65);line-height:1.4;margin:0 0 5px;}
.fgg-meta{font-size:.55rem;color:rgba(255,255,255,.4);}

/* ══════════════════════════════════════════════
   NIGHTLIFE PAGE
══════════════════════════════════════════════ */
.nl-masthead,.fm-masthead{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:380px;}
.nlm-bg{position:absolute;inset:0;}
.nlm-poster{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;}
.nlm-video{display:none;}
.nlm-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.98) 0%,rgba(0,0,0,.7) 40%,rgba(20,5,0,.35) 100%);}
.nlm-scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px);pointer-events:none;}
.nlm-inner{position:relative;z-index:1;padding:32px 28px 16px;}
.nlm-kicker{font-size:.6rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.nlm-live-dot{width:7px;height:7px;border-radius:50%;background:#FF6B00;display:inline-block;animation:live-pulse 1.5s ease-in-out infinite;}
@keyframes live-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,107,0,.5)}50%{box-shadow:0 0 0 6px rgba(255,107,0,0)}}
.nlm-headline{font-family:'Inter Tight',sans-serif;font-size:2.8rem;font-weight:900;color:#fff;margin:0 0 10px;letter-spacing:-.04em;line-height:1.0;}
.nlm-headline em{font-style:normal;}
.nlm-sub{font-size:.85rem;color:rgba(255,255,255,.6);max-width:520px;line-height:1.6;margin:0 0 20px;}
.nlm-tonight-stat{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.nlm-stat-wrap{display:flex;align-items:baseline;gap:5px;}
.nlm-stat-big{font-size:1.4rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif;}
.nlm-stat-label{font-size:.62rem;color:rgba(255,255,255,.45);}
.nlm-stat-label strong{color:#fff;}
.nlm-stat-sep{color:rgba(255,255,255,.2);font-size:.8rem;}
.nlm-ai{min-height:22px;margin-bottom:16px;}
.nlm-ai-text{font-size:.72rem;font-style:italic;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:6px;}
.nlm-ctas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.nlm-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:6px;font-size:.76rem;font-weight:700;color:#fff;transition:filter .15s;}
.nlm-btn:hover{filter:brightness(1.1);}
.nlm-btn-ghost{background:rgba(255,255,255,.1) !important;border:1px solid rgba(255,255,255,.2);}
.nlm-ticker{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:12px 28px;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);border-top:1px solid rgba(255,107,0,.2);overflow:hidden;}
.nlm-ticker-label{font-size:.55rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;flex-shrink:0;display:flex;align-items:center;gap:5px;}
.nlm-ticker-track{display:flex;gap:20px;overflow:hidden;flex:1;transition:transform .5s ease;}
.nlm-tick-item{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:.65rem;flex-shrink:0;}
.nlm-tick-name{font-weight:700;color:#fff;}
.nlm-tick-venue{color:rgba(255,255,255,.45);}
.nlm-tick-time{font-size:.58rem;background:rgba(255,107,0,.2);color:#FF6B00;padding:2px 6px;border-radius:3px;}
.nlm-ticker-all{font-size:.6rem;font-weight:800;flex-shrink:0;}

/* Genre bar */
.nl-genre-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.06);}
.nlgb-label{font-size:.6rem;font-weight:700;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.1em;margin-right:4px;}
.nlgb-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;border-radius:20px;font-size:.65rem;font-weight:700;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.55);transition:all .15s;}
.nlgb-pill:hover{background:rgba(255,107,0,.1);border-color:rgba(255,107,0,.3);color:#FF6B00;}
.nlgb-on{background:rgba(255,107,0,.15);border-color:rgba(255,107,0,.4);}
.nlgb-clear{font-size:.62rem;font-weight:700;color:rgba(255,255,255,.35);padding:4px 10px;border-radius:4px;background:rgba(255,255,255,.06);}

/* Nightlife v12 - FAQ accordion only (everything else uses shared .mm-*, .mvg-*, .ev-card patterns) */
.nl-faq-section{padding:0 24px 36px;}
.nl-faq{margin-top:16px;border-radius:10px;overflow:hidden;}
.nl-faq-item{border-bottom:1px solid rgba(255,255,255,.06);}
.nl-faq-item:last-child{border-bottom:none;}
.nl-faq-q{width:100%;text-align:left;background:rgba(255,255,255,.02);border:none;color:rgba(255,255,255,.75);font-family:inherit;font-size:.78rem;font-weight:700;padding:16px 20px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:background .15s,color .15s;line-height:1.4;}
.nl-faq-q:hover{background:rgba(255,255,255,.05);color:#fff;}
.nl-faq-item.open .nl-faq-q{color:#FF6B00;background:rgba(255,107,0,.07);}
.nl-faq-arrow{font-size:.6rem;color:rgba(255,255,255,.28);flex-shrink:0;transition:transform .25s,color .15s;}
.nl-faq-item.open .nl-faq-arrow{transform:rotate(180deg);color:#FF6B00;}
.nl-faq-a{padding:0 20px 16px;background:rgba(255,107,0,.025);}
.nl-faq-a p{font-size:.74rem;color:rgba(255,255,255,.52);line-height:1.75;margin:0;padding-top:8px;}
@media(max-width:700px){.nl-faq-section{padding:0 16px 24px;}.nl-faq-q{font-size:.72rem;padding:14px 16px;}.nl-faq-a{padding:0 16px 14px;}}

/* ══════════════════════════════════════════════
   SPORT PAGE
══════════════════════════════════════════════ */
.sport-masthead{position:relative;height:460px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;}
.spm-bg{position:absolute;inset:0;}
.spm-bg img{width:100%;height:100%;object-fit:cover;display:block;}
.spm-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,10,.97) 0%,rgba(0,5,20,.65) 40%,rgba(5,10,30,.25) 100%);}
.spm-grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(26,86,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(26,86,255,.04) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;}
.spm-inner{position:relative;z-index:1;padding:28px 28px 16px;}
.spm-kicker{font-size:.6rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.spm-headline{font-family:'Inter Tight',sans-serif;font-size:2.8rem;font-weight:900;color:#fff;margin:0 0 10px;letter-spacing:-.04em;line-height:1.0;}
.spm-headline em{font-style:normal;}
.spm-sub{font-size:.85rem;color:rgba(255,255,255,.6);max-width:520px;line-height:1.6;margin:0 0 18px;}
.spm-stats-row{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap;}
.spm-stat{display:flex;align-items:baseline;gap:5px;}
.spm-stat-n{font-size:1.2rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif;}
.spm-stat-l{font-size:.62rem;color:rgba(255,255,255,.4);}
.spm-stat-sep{color:rgba(255,255,255,.2);}
.spm-ai{min-height:22px;margin-bottom:16px;}
.spm-ai-text{font-size:.72rem;font-style:italic;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:6px;}
.spm-ctas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.spm-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:6px;font-size:.76rem;font-weight:700;color:#fff;transition:filter .15s;}
.spm-btn:hover{filter:brightness(1.1);}
.spm-btn-ghost{background:rgba(255,255,255,.1) !important;border:1px solid rgba(255,255,255,.18);}
.spm-live-bar{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:10px 28px;background:rgba(0,0,0,.8);backdrop-filter:blur(8px);border-top:1px solid rgba(26,86,255,.2);overflow:hidden;}
.spm-live-label{font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;flex-shrink:0;display:flex;align-items:center;gap:5px;}
.spm-live-track{display:flex;gap:20px;flex:1;overflow:hidden;white-space:nowrap;}
.spm-live-item{font-size:.65rem;color:rgba(255,255,255,.75);flex-shrink:0;font-weight:600;}
.spm-live-sep{color:rgba(255,255,255,.2);flex-shrink:0;}
.spm-live-note{font-size:.55rem;color:rgba(255,255,255,.25);flex-shrink:0;}
.spm-live-note strong{color:rgba(255,255,255,.4);}

/* Sport type nav */
.sport-type-nav{display:flex;gap:4px;padding:16px 24px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid rgba(255,255,255,.06);}
.sport-type-nav::-webkit-scrollbar{display:none}
.stn-pill{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 16px;border-radius:8px;min-width:64px;flex-shrink:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);transition:all .15s;}
.stn-pill:hover{background:rgba(26,86,255,.1);border-color:rgba(26,86,255,.3);}
.stn-icon{font-size:.95rem;color:rgba(255,255,255,.5);}
.stn-label{font-size:.56rem;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;}
.stn-pill:hover .stn-icon,.stn-pill:hover .stn-label{color:#1A56FF;}

/* Fixture list */
.sport-fixture-list{display:flex;flex-direction:column;gap:3px;padding:0 24px 8px;}
.sfl-row{display:grid;grid-template-columns:1fr 2fr 1fr auto;align-items:center;gap:16px;padding:14px 18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:8px;transition:border-color .15s;}
.sfl-row:hover{border-color:rgba(255,255,255,.12);}
@media(max-width:760px){.sfl-row{grid-template-columns:1fr;gap:8px;}}
.sfl-comp-date{display:flex;flex-direction:column;gap:3px;}
.sfl-comp{font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.35);}
.sfl-date{font-size:.6rem;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:4px;}
.sfl-time{font-size:.6rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:4px;}
.sfl-match-block{display:flex;align-items:center;justify-content:center;gap:10px;}
.sfl-team{display:flex;align-items:center;gap:7px;}
.sfl-away{flex-direction:row-reverse;}
.sfl-away-name{text-align:right;}
.sfl-team-badge{width:32px;height:32px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:900;color:#fff;letter-spacing:.04em;}
.sfl-team-name{font-size:.78rem;font-weight:700;color:#fff;white-space:nowrap;}
.sfl-vs-block{display:flex;align-items:center;justify-content:center;width:32px;}
.sfl-vs{font-size:.6rem;font-weight:800;color:rgba(255,255,255,.3);}
.sfl-venue-col{font-size:.6rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:4px;}
.sfl-ctas{display:flex;gap:6px;justify-content:flex-end;}
.sport-db-notice{font-size:.68rem;color:rgba(255,255,255,.35);padding:10px 24px 24px;display:flex;align-items:center;gap:6px;line-height:1.6;}
.sport-db-notice a{color:var(--dc-blue);}
.sport-db-notice strong{color:rgba(255,255,255,.55);}

/* Sport clubs deep */
.sport-clubs-deep{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:0 24px 24px;}
@media(max-width:760px){.sport-clubs-deep{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.sport-clubs-deep{grid-template-columns:1fr;}}
.scd-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;transition:border-color .15s,transform .15s;}
.scd-card:hover{border-color:rgba(255,255,255,.15);transform:translateY(-2px);}
.scd-img{height:200px;position:relative;overflow:hidden;}
.scd-img img{width:100%;height:100%;object-fit:cover;display:block;}
.scd-img-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.1),rgba(0,0,0,.6));}
.scd-badge-big{position:absolute;bottom:8px;left:10px;font-size:.55rem;font-weight:900;color:#fff;padding:4px 10px;border-radius:4px;letter-spacing:.06em;}
.scd-body{padding:12px 14px;}
.scd-league{font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.scd-name{font-size:.88rem;font-weight:800;color:#fff;margin:0 0 6px;}
.scd-meta-row{display:flex;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
.scd-meta-item{font-size:.6rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:4px;}
.scd-desc{font-size:.62rem;color:rgba(255,255,255,.5);line-height:1.5;margin:0 0 10px;}
.scd-ctas{display:flex;gap:6px;}

/* Stadiums */
.sport-stadiums{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 24px 24px;}
@media(max-width:760px){.sport-stadiums{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.sport-stadiums{grid-template-columns:1fr;}}
.sstd-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;transition:border-color .15s;}
.sstd-card:hover{border-color:rgba(255,255,255,.15);}
.sstd-img{height:160px;position:relative;overflow:hidden;}
.sstd-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.sstd-card:hover .sstd-img img{transform:scale(1.05);}
.sstd-ico-badge{position:absolute;bottom:8px;right:8px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff;}
.sstd-body{padding:12px 14px;}
.sstd-name{font-size:.82rem;font-weight:800;color:#fff;margin:0 0 3px;}
.sstd-team{font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;}
.sstd-meta{display:flex;gap:10px;margin-bottom:5px;flex-wrap:wrap;}
.sstd-meta span{font-size:.6rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:3px;}
.sstd-desc{font-size:.62rem;color:rgba(255,255,255,.5);line-height:1.5;margin:0;}

/* Sport map */
.sport-map-wrap{display:grid;grid-template-columns:1fr 200px;gap:0;margin:0 24px 24px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08);}
@media(max-width:700px){.sport-map-wrap{grid-template-columns:1fr;}}
.sport-map{height:320px;}
.sport-map-pins{background:rgba(255,255,255,.04);padding:14px;display:flex;flex-direction:column;gap:8px;}
.smp-item{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);border-left:2px solid;}
.smp-item:last-child{border-bottom:none;}
.smp-item{padding-left:8px;}
.smp-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px;}
.smp-name{font-size:.65rem;font-weight:700;color:#fff;line-height:1.2;}
.smp-team{font-size:.55rem;color:rgba(255,255,255,.35);}

/* ── Responsive final pass ────────────────────────────────────────── */
@media(max-width:900px){
  .fm-headline,.spm-headline,.nlm-headline{font-size:2rem;}
  .food-masthead{height:220px;}.sport-masthead{height:400px;}
  .food-hoods,.food-guide-grid{padding:0 16px 16px;}
  .food-venues,.sport-clubs-deep,.sport-stadiums,.sport-fixture-list{padding:0 16px 16px;}
  .food-search-bar,.food-results-head,.food-cat-nav{padding-left:16px;padding-right:16px;}
  .food-map-section{padding:0 16px 16px;}
  .food-nl-block{margin:20px 16px 20px;}
  .cat-section-head{padding:20px 16px 12px;}
  .nl-genre-bar,.sport-type-nav{padding:12px 16px;}
  .nlm-inner,.spm-inner,.fm-inner{padding:20px 18px 12px;}
  .nlm-ticker,.spm-live-bar{padding:10px 18px;}
  .nlm-ctas,.spm-ctas,.fm-ctas{padding:0 18px 16px;}
  .sport-map-wrap{margin:0 16px 16px;}
  .nl-area-blocks{padding:0 16px 16px;}
  .food-stories-grid{padding:0 16px 16px;}
}
@media(max-width:600px){
  .fm-headline,.spm-headline,.nlm-headline{font-size:1.7rem;}
  .food-masthead{height:200px;}
  .sport-masthead{height:380px;}
  .sport-clubs-deep{grid-template-columns:1fr;}
  .sport-stadiums{grid-template-columns:1fr 1fr;}
  .food-stories-grid{grid-template-columns:1fr;}
  .fstory-card--hero{grid-row:auto;}
  .sport-map-wrap{grid-template-columns:1fr;}
  .sport-map{height:240px;}
  .sfl-row{grid-template-columns:1fr;}
  .fnl-inner{grid-template-columns:1fr;}
  .fnl-form{flex-direction:column;width:100%;}
  .fnl-input{min-width:0;width:100%;}
  .fnl-btn{width:100%;justify-content:center;}
}

/* ═══════════════════════════════════════════════════════════════════
   MUSIC / CULTURE PAGES + FOOTER UPGRADE - v9.3
   ═══════════════════════════════════════════════════════════════════ */

/* ── MUSIC page ────────────────────────────────────────────────────── */
.music-masthead{position:relative;height:460px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;}
.mm-bg{position:absolute;inset:0;}
.mm-bg img{width:100%;height:100%;object-fit:cover;display:block;}
.mm-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.97) 0%,rgba(0,0,0,.65) 40%,rgba(20,0,0,.25) 100%);}
.mm-vinyl{position:absolute;top:-60px;right:-60px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle at 50%,#111 18%,#1a1a1a 18.5%,#1a1a1a 60%,#111 60.5%);border:2px solid rgba(255,255,255,.06);animation:vinyl-spin 8s linear infinite;opacity:.3;}
.mm-vinyl-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:rgba(232,32,26,.6);box-shadow:0 0 0 4px rgba(232,32,26,.2);}
@keyframes vinyl-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.mm-inner{position:relative;z-index:1;padding:28px 28px 16px;}
.mm-kicker{font-size:.6rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.mm-headline{font-family:'Inter Tight',sans-serif;font-size:2.8rem;font-weight:900;color:#fff;margin:0 0 10px;letter-spacing:-.04em;line-height:1.0;}
.mm-headline em{font-style:normal;}
.mm-sub{font-size:.85rem;color:rgba(255,255,255,.6);max-width:520px;line-height:1.6;margin:0 0 16px;}
.mm-stats{display:flex;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap;}
.mm-stat{display:flex;align-items:baseline;gap:5px;}
.mm-stat-n{font-size:1.2rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif;}
.mm-stat-l{font-size:.62rem;color:rgba(255,255,255,.4);}
.mm-stat-sep{color:rgba(255,255,255,.2);}
.mm-ai{min-height:22px;margin-bottom:16px;}
.mm-ai-text{font-size:.72rem;font-style:italic;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:6px;}
.mm-ctas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.mm-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:6px;font-size:.76rem;font-weight:700;color:#fff;transition:filter .15s;}
.mm-btn:hover{filter:brightness(1.1);}
.mm-btn-ghost{background:rgba(255,255,255,.1) !important;border:1px solid rgba(255,255,255,.18);}
.mm-tonight-bar{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:12px 28px;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);border-top:1px solid rgba(232,32,26,.2);overflow:hidden;}
.mm-tb-label{font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;display:flex;align-items:center;gap:5px;}
.mm-tb-track{display:flex;gap:20px;overflow:hidden;flex:1;}
.mm-tb-item{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:.65rem;flex-shrink:0;}
.mm-tb-name{font-weight:700;color:#fff;}
.mm-tb-venue{color:rgba(255,255,255,.45);}
.mm-tb-time{font-size:.58rem;background:rgba(232,32,26,.2);color:#E8201A;padding:2px 6px;border-radius:3px;}
.mm-tb-all{font-size:.6rem;font-weight:800;flex-shrink:0;}
.music-genre-bar{display:flex;flex-wrap:wrap;gap:6px;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.06);}
.mgb-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;border-radius:20px;font-size:.65rem;font-weight:700;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.6);transition:all .15s;text-decoration:none !important;}
.mgb-pill:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22);}
/* Genre pill varied colours - Indie=red, Electronic=blue, Post-Punk=violet, Dance=orange, Pop=green, Jazz=yellow, Classical=teal, Hip-Hop=pink */
.mgb-pill:nth-child(1){background:rgba(232,32,26,.08);border-color:rgba(232,32,26,.25);color:#f52020;}
.mgb-pill:nth-child(1):hover{background:rgba(232,32,26,.18);color:#E8201A;}
.mgb-pill:nth-child(2){background:rgba(26,86,255,.08);border-color:rgba(26,86,255,.25);color:rgba(100,140,255,.9);}
.mgb-pill:nth-child(2):hover{background:rgba(26,86,255,.18);color:#6B9FFF;}
.mgb-pill:nth-child(3){background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.25);color:rgba(167,139,250,.9);}
.mgb-pill:nth-child(3):hover{background:rgba(124,58,237,.18);color:#a78bfa;}
.mgb-pill:nth-child(4){background:rgba(255,107,0,.08);border-color:rgba(255,107,0,.25);color:rgba(255,107,0,.85);}
.mgb-pill:nth-child(4):hover{background:rgba(255,107,0,.18);color:#FF6B00;}
.mgb-pill:nth-child(5){background:rgba(45,181,75,.08);border-color:rgba(45,181,75,.25);color:rgba(45,181,75,.85);}
.mgb-pill:nth-child(5):hover{background:rgba(45,181,75,.18);color:#2DB54B;}
.mgb-pill:nth-child(6){background:rgba(245,196,0,.08);border-color:rgba(245,196,0,.25);color:rgba(245,196,0,.85);}
.mgb-pill:nth-child(6):hover{background:rgba(245,196,0,.18);color:#F5C400;}
.mgb-pill:nth-child(7){background:rgba(20,184,166,.08);border-color:rgba(20,184,166,.25);color:rgba(20,184,166,.85);}
.mgb-pill:nth-child(7):hover{background:rgba(20,184,166,.18);color:#14b8a6;}
.mgb-pill:nth-child(8){background:rgba(236,72,153,.08);border-color:rgba(236,72,153,.25);color:#ec4899;}
.mgb-pill:nth-child(8):hover{background:rgba(236,72,153,.18);color:#ec4899;}
.music-venues-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:0 24px 24px;}
.mvg-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;transition:border-color .15s,transform .15s;}
.mvg-card:hover{border-color:rgba(255,255,255,.15);transform:translateY(-2px);}
.mvg-img{height:140px;overflow:hidden;position:relative;}
.mvg-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.mvg-card:hover .mvg-img img{transform:scale(1.05);}
.mvg-cap{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.7);color:rgba(255,255,255,.8);font-size:.52rem;font-weight:700;padding:3px 8px;border-radius:3px;}
.mvg-body{padding:13px 15px;}
.mvg-type{font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.mvg-name{font-size:.88rem;font-weight:800;color:#fff;margin:0 0 4px;}
.mvg-hood{font-size:.6rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:4px;margin-bottom:6px;}
.mvg-desc{font-size:.65rem;color:rgba(255,255,255,.55);line-height:1.5;margin:0 0 10px;}
.music-acts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 24px 24px;}
@media(max-width:900px){.music-acts-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:500px){.music-acts-grid{grid-template-columns:1fr;}}
.mag-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-top:2px solid;border-radius:10px;padding:16px;transition:border-color .15s,transform .15s;}
.mag-card:hover{transform:translateY(-2px);}
.mag-genre{font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.mag-name{font-size:.88rem;font-weight:800;color:#fff;margin:0 0 6px;}
.mag-desc{font-size:.65rem;color:rgba(255,255,255,.55);line-height:1.5;margin:0 0 10px;flex:1;}
.mag-link{font-size:.65rem;font-weight:700;}
.music-tv-cta{margin:0 24px 24px;background:linear-gradient(135deg,rgba(232,32,26,.1),rgba(232,32,26,.04));border:1px solid rgba(232,32,26,.2);border-radius:12px;padding:24px 28px;}
.mtv-inner{display:flex;align-items:center;gap:24px;}
@media(max-width:700px){.mtv-inner{flex-direction:column;align-items:flex-start;}}
.mtv-left{flex:1;}
.mtv-badge{font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dc-red);display:flex;align-items:center;gap:5px;margin-bottom:8px;}
.mtv-title{font-size:1rem;font-weight:800;color:#fff;margin:0 0 6px;}
.mtv-desc{font-size:.72rem;color:rgba(255,255,255,.55);line-height:1.5;margin:0;}
.mtv-btn{display:inline-flex;align-items:center;gap:7px;padding:12px 22px;border-radius:6px;font-size:.78rem;font-weight:700;color:#fff;white-space:nowrap;transition:filter .15s;}
.mtv-btn:hover{filter:brightness(1.1);}
.music-no-events{text-align:center;padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;}
.music-no-events i{font-size:2rem;opacity:.3;}
.music-no-events p{font-size:.82rem;color:rgba(255,255,255,.5);margin:0;}
.music-no-events a{color:var(--dc-red);}

/* ── CULTURE page ──────────────────────────────────────────────────── */
.culture-masthead{position:relative;height:440px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;}
.cm-bg{position:absolute;inset:0;}
.cm-bg img{width:100%;height:100%;object-fit:cover;display:block;}
.cm-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.15) 100%);}
.cm-color-wash{position:absolute;inset:0;opacity:.12;mix-blend-mode:multiply;}
.cm-inner{position:relative;z-index:1;padding:28px 28px 20px;}
.cm-kicker{font-size:.6rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.cm-headline{font-family:'Inter Tight',sans-serif;font-size:2.8rem;font-weight:900;color:#fff;margin:0 0 10px;letter-spacing:-.04em;line-height:1.0;}
.cm-headline em{font-style:normal;}
.cm-sub{font-size:.85rem;color:rgba(255,255,255,.6);max-width:520px;line-height:1.6;margin:0 0 16px;}
.cm-stats{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.cm-stat{display:flex;align-items:baseline;gap:5px;}
.cm-stat-n{font-size:1.2rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif;}
.cm-stat-l{font-size:.62rem;color:rgba(255,255,255,.4);}
.cm-stat-sep{color:rgba(255,255,255,.2);}
.cm-ai{min-height:22px;margin-bottom:16px;}
.cm-ctas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.cm-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:6px;font-size:.76rem;font-weight:700;color:#fff;transition:filter .15s;}
.cm-btn:hover{filter:brightness(1.1);}
.cm-btn-ghost{background:rgba(255,255,255,.1) !important;border:1px solid rgba(255,255,255,.18);}
.culture-strands{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-bottom:1px solid rgba(255,255,255,.06);}
@media(max-width:900px){.culture-strands{grid-template-columns:repeat(3,1fr);}}
@media(max-width:500px){.culture-strands{grid-template-columns:repeat(2,1fr);}}
.cs-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border-right:1px solid rgba(255,255,255,.06);transition:background .15s;text-align:center;text-decoration:none !important;color:inherit;}
.cs-item:last-child{border-right:none;}
.cs-item:hover{background:rgba(255,255,255,.04);}
.cs-icon{font-size:1rem;}
.cs-label{font-size:.62rem;font-weight:700;color:#fff;text-decoration:none !important;}
.cs-desc{font-size:.54rem;color:rgba(255,255,255,.4);line-height:1.4;}
.culture-venues-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:0 24px 24px;}
.cvg-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;transition:border-color .15s,transform .15s;}
.cvg-card:hover{border-color:rgba(255,255,255,.15);transform:translateY(-2px);}
.cvg-img{height:140px;overflow:hidden;}
.cvg-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.cvg-card:hover .cvg-img img{transform:scale(1.05);}
.cvg-body{padding:13px 15px;}
.cvg-type{font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.cvg-name{font-size:.88rem;font-weight:800;color:#fff;margin:0 0 4px;}
.cvg-hood{font-size:.6rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:4px;margin-bottom:6px;}
.cvg-desc{font-size:.65rem;color:rgba(255,255,255,.55);line-height:1.5;margin:0 0 10px;}

/* ── FOOTER upgrade ────────────────────────────────────────────────── */
.NL {
  display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center;
  background:var(--dark3);padding:48px 56px;
  border-top:1px solid rgba(255,255,255,.07);
}
@media(max-width:800px){.NL{grid-template-columns:1fr;gap:24px;padding:28px 24px;}}
.nl-left{display:flex;flex-direction:column;gap:10px;}
.nl-heading{font-family:'Inter Tight',sans-serif;font-size:2rem;font-weight:900;color:#fff;line-height:1.1;}
.nl-heading span{color:var(--dc-red);}
.nl-sub{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.6;}
.nl-trust{font-size:.65rem;color:rgba(255,255,255,.35);display:flex;align-items:center;gap:5px;}
.nl-right{display:flex;align-items:center;}
.nl-form-wrap{width:100%;}
.nl-form{display:flex;gap:8px;margin-bottom:12px;}
.nl-input{flex:1;padding:11px 16px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff;font-size:.8rem;outline:none;}
.nl-input:focus{border-color:rgba(255,255,255,.3);}
.nl-btn{padding:11px 20px;border-radius:6px;border:none;background:var(--dc-red);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:filter .15s;}
.nl-btn:hover{filter:brightness(1.1);}
.nl-categories{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.nl-cat-label{font-size:.6rem;color:rgba(255,255,255,.35);margin-right:2px;}
.nl-cat-check{display:flex;align-items:center;gap:5px;cursor:pointer;}
.nl-cat-check input{accent-color:var(--dc-red);cursor:pointer;}
.nl-cat-check span{font-size:.65rem;color:rgba(255,255,255,.55);font-weight:600;}
.FT{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding:40px 56px;background:var(--dark);border-top:1px solid rgba(255,255,255,.07);}
@media(max-width:900px){.FT{grid-template-columns:1fr 1fr;gap:24px;padding:28px 24px;}}
@media(max-width:500px){.FT{grid-template-columns:1fr;}}
.ft-brand-col{display:flex;flex-direction:column;gap:12px;}
.ft-brand{display:flex;align-items:center;gap:8px;font-family:'Inter Tight',sans-serif;font-size:.95rem;font-weight:900;color:#fff;letter-spacing:.04em;}
.ft-desc{font-size:.65rem;color:rgba(255,255,255,.4);line-height:1.7;}
.ft-desc a{color:var(--dc-blue);}
.ft-soc{display:flex;gap:6px;}
.ft-si{width:30px;height:30px;border-radius:7px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:rgba(255,255,255,.55);transition:all .14s;}
.ft-si:hover{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.2);}
.ft-live-stats{display:flex;gap:16px;flex-wrap:wrap;}
.ft-ls-item{display:flex;flex-direction:column;gap:2px;}
.ft-ls-n{font-size:1.1rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif;}
.ft-ls-l{font-size:.55rem;color:rgba(255,255,255,.35);}
.ft-col h4{font-size:.48rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3);margin:0 0 14px;}
.ft-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.ft-col a{font-size:.72rem;font-weight:400;color:rgba(255,255,255,.5);transition:color .14s;display:flex;align-items:center;gap:6px;}
.ft-col a:hover{color:#fff;}
.ft-col a i{font-size:.65rem;width:12px;text-align:center;color:rgba(255,255,255,.3);}
.ft-new{font-size:.48rem;font-weight:800;letter-spacing:.08em;background:var(--dc-red);color:#fff;padding:1px 5px;border-radius:3px;text-transform:uppercase;}
.ft-bottom{display:flex;align-items:center;justify-content:space-between;padding:14px 56px;background:var(--dark);border-top:1px solid rgba(255,255,255,.06);font-size:.58rem;color:rgba(255,255,255,.3);flex-wrap:wrap;gap:8px;}
@media(max-width:700px){.ft-bottom{padding:12px 24px;flex-direction:column;gap:6px;text-align:center;}}
.ft-bottom a{color:rgba(255,255,255,.4);}
.ft-bottom a:hover{color:#fff;}
.ft-bottom-links{display:flex;gap:14px;}

/* ── Responsive fixes for new pages ──────────────────────────────── */
@media(max-width:900px){
  .music-masthead,.culture-masthead{height:380px;}
  .mm-headline,.cm-headline{font-size:2rem;}
  .music-venues-grid,.culture-venues-grid,.music-acts-grid{padding:0 16px 16px;}
  .music-genre-bar,.culture-strands{padding:12px 16px;}
  .music-tv-cta{margin:0 16px 16px;padding:18px 20px;}
  .mm-inner,.cm-inner{padding:20px 18px 12px;}
  .mm-tonight-bar{padding:10px 18px;}
  .mm-ctas,.cm-ctas{margin-bottom:12px;}
}
@media(max-width:600px){
  .music-masthead,.culture-masthead{height:320px;}
  .mm-headline,.cm-headline{font-size:1.7rem;}
  .music-acts-grid{grid-template-columns:1fr 1fr;}
  .culture-strands{grid-template-columns:repeat(3,1fr);}
}

/* ── Hide Events This Week bento tile ─────────────────────── */
.BENTO .BT:has(#stat-week) { display:none !important; }
.BENTO { grid-template-columns:1fr 1fr 1fr; grid-template-rows:116px; }
@media(max-width:640px){ .BENTO { grid-template-columns:1fr 1fr; grid-template-rows:auto; } }

/* ═══════════════════════════════════════════════════════════════════
   STORY v2 SINGLE + COMING SOON PAGES - v9.3
   ═══════════════════════════════════════════════════════════════════ */

/* ── Story: back link ─────────────────────────────────────────────── */
.story-back {
  display:inline-flex;align-items:center;gap:6px;
  font-size:.68rem;font-weight:700;color:rgba(255,255,255,.4);
  padding:16px 28px 8px;transition:color .15s;
}
.story-back:hover{color:#fff;}

/* ── Story: full-bleed hero ───────────────────────────────────────── */
.story-hero-full {
  position:relative;
  height:400px;overflow:hidden;
  margin:0 0 0;
}
.story-hero-img-full {
  width:100%;height:100%;object-fit:cover;display:block;
}
.shf-scrim {
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,rgba(0,0,0,.6) 100%);
}
.shf-cat {
  position:absolute;top:20px;left:28px;
  font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;padding:5px 12px;border-radius:4px;
}

/* ── Story article v2 ────────────────────────────────────────────── */
.story-article-v2 {
  max-width:680px;margin:0 auto;padding:32px 28px 0;
}
@media(max-width:760px){.story-article-v2{padding:24px 18px 0;}}

.sv2-header {margin-bottom:28px;}
.sv2-cat {
  display:flex;align-items:center;gap:7px;
  font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:12px;
}
.sv2-cat-dot {width:7px;height:7px;border-radius:50%;display:inline-block;}
.sv2-headline {
  font-family:'Inter Tight',sans-serif;
  font-size:clamp(1.6rem,3.5vw,2.4rem);
  font-weight:900;color:#fff;line-height:1.1;
  letter-spacing:-.03em;margin:0 0 14px;
}
.sv2-standfirst {
  font-size:1.05rem;color:rgba(255,255,255,.65);line-height:1.65;
  font-weight:400;margin:0 0 20px;border-left:3px solid rgba(255,255,255,.12);
  padding-left:16px;font-style:italic;
}
.sv2-byline {
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:14px 0;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
  flex-wrap:wrap;
}
.sv2-byline-left {display:flex;align-items:center;gap:10px;}
.sv2-avatar {width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.1);}
.sv2-byline-text {display:flex;flex-direction:column;gap:2px;}
.sv2-author {font-size:.75rem;font-weight:700;color:#fff;}
.sv2-meta {font-size:.62rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:5px;}
.sv2-sep {opacity:.4;}
.sv2-actions {display:flex;align-items:center;gap:10px;}

/* Progress ring */
.sv2-progress-wrap {
  display:flex;align-items:center;justify-content:center;
  position:relative;width:32px;height:32px;
}
.sv2-progress-ring {overflow:visible;}
.sv2-progress-pct {
  position:absolute;font-size:.42rem;font-weight:800;
  color:rgba(255,255,255,.5);
}

/* Share buttons */
.sv2-share {display:flex;align-items:center;gap:5px;}
.sv2-share-label {font-size:.6rem;color:rgba(255,255,255,.35);margin-right:3px;}
.sv2-share-btn {
  width:30px;height:30px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  font-size:.7rem;border:none;cursor:pointer;transition:all .15s;
}
.sv2-tw {background:rgba(255,255,255,.08);color:rgba(255,255,255,.6);}
.sv2-tw:hover{background:#000;color:#fff;}
.sv2-fb {background:rgba(26,86,255,.15);color:#60a5fa;}
.sv2-fb:hover{background:#1877f2;color:#fff;}
.sv2-wa {background:rgba(37,211,102,.12);color:#25d366;}
.sv2-wa:hover{background:#25d366;color:#fff;}
.sv2-cp {background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);}
.sv2-cp:hover{background:rgba(255,255,255,.15);color:#fff;}

/* Category rule */
.sv2-cat-rule {
  height:3px;border-radius:2px;margin-top:20px;
  opacity:.7;
}

/* Body */
.sv2-body {
  font-size:.95rem;line-height:1.85;color:rgba(255,255,255,.82);
  margin-top:28px;
}
.sv2-body p {margin-bottom:1.4em;}
.sv2-body h2 {font-family:'Inter Tight',sans-serif;font-size:1.3rem;font-weight:900;color:#fff;margin:2em 0 .6em;letter-spacing:-.02em;}
.sv2-body h3 {font-family:'Inter Tight',sans-serif;font-size:1.05rem;font-weight:800;color:#fff;margin:1.6em 0 .5em;}
.sv2-body img {width:100%;border-radius:8px;margin:1.5em 0;display:block;}
.sv2-body blockquote {
  border-left:3px solid var(--dc-red);padding:14px 20px;
  margin:1.5em 0;background:rgba(255,255,255,.04);border-radius:0 8px 8px 0;
  font-style:italic;color:rgba(255,255,255,.7);font-size:1.05em;
}
.sv2-body ul,.sv2-body ol {padding-left:1.5em;margin-bottom:1.4em;}
.sv2-body li {margin-bottom:.4em;}
.sv2-body a {color:var(--dc-blue);text-decoration:underline !important;}
.sv2-body strong {color:#fff;font-weight:700;}
.sv2-body .wp-block-image {margin:1.5em 0;}
.sv2-body .wp-block-image figcaption {font-size:.72rem;color:rgba(255,255,255,.35);text-align:center;margin-top:6px;font-style:italic;}
.sv2-body .wp-block-pullquote {
  border-top:2px solid var(--dc-red);border-bottom:2px solid var(--dc-red);
  padding:20px 0;margin:2em 0;text-align:center;
}
.sv2-body .wp-block-pullquote blockquote {border:none;padding:0;margin:0;background:none;}
.sv2-body .wp-block-pullquote p {font-size:1.25rem;font-weight:700;color:#fff;font-style:normal;}

/* Tags */
.sv2-tags {
  display:flex;flex-wrap:wrap;gap:6px;margin:24px 0 0;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.07);
}
.sv2-tag {
  font-size:.62rem;font-weight:700;padding:4px 12px;border-radius:20px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.55);transition:all .15s;
}
.sv2-tag:hover{background:rgba(255,255,255,.12);color:#fff;}

/* Footer */
.sv2-footer {
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:24px 0;margin-top:24px;
  border-top:1px solid rgba(255,255,255,.07);
  flex-wrap:wrap;
}
.sv2-footer-author {display:flex;align-items:center;gap:12px;}
.sv2-footer-avatar {width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.1);}
.sv2-footer-by {font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.35);}
.sv2-footer-name {font-size:.82rem;font-weight:800;color:#fff;}
.sv2-footer-bio {font-size:.62rem;color:rgba(255,255,255,.4);}
.sv2-footer-share {display:flex;flex-direction:column;gap:6px;align-items:flex-end;}
.sv2-footer-share-label {font-size:.6rem;color:rgba(255,255,255,.35);}

/* Related stories */
.sv2-related {
  max-width:680px;margin:0 auto;padding:32px 28px 0;
}
@media(max-width:760px){.sv2-related{padding:24px 18px 0;}}
.sv2-related-head {
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;
}
.sv2-related-title {
  font-family:'Inter Tight',sans-serif;font-size:1rem;font-weight:900;color:#fff;
}
.sv2-related-all {font-size:.68rem;font-weight:700;color:var(--dc-blue);}
.sv2-related-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
}
@media(max-width:600px){.sv2-related-grid{grid-template-columns:1fr;}}
.sv2-rel-card {
  display:block;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;
  transition:border-color .15s,transform .15s;
}
.sv2-rel-card:hover{border-color:rgba(255,255,255,.18);transform:translateY(-2px);}
.sv2-rel-img {height:120px;overflow:hidden;}
.sv2-rel-img img {width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.sv2-rel-card:hover .sv2-rel-img img{transform:scale(1.06);}
.sv2-rel-body {padding:12px 13px;}
.sv2-rel-cat {font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.sv2-rel-title {font-size:.78rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:5px;}
.sv2-rel-meta {font-size:.55rem;color:rgba(255,255,255,.3);}

/* Newsletter CTA below article */
.sv2-nl-cta {
  max-width:680px;margin:24px auto 32px;padding:0 28px;
}
@media(max-width:760px){.sv2-nl-cta{padding:0 18px;}}
.sv2-nl-inner {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:24px 28px;
  display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;
}
@media(max-width:600px){.sv2-nl-inner{grid-template-columns:1fr;}}
.sv2-nl-title {font-size:.88rem;font-weight:800;color:#fff;margin-bottom:4px;}
.sv2-nl-sub {font-size:.7rem;color:rgba(255,255,255,.5);}
.sv2-nl-form {display:flex;gap:8px;}
.sv2-nl-input {padding:9px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff;font-size:.75rem;outline:none;min-width:180px;}
.sv2-nl-input:focus{border-color:rgba(255,255,255,.3);}
.sv2-nl-btn {padding:9px 16px;border-radius:6px;border:none;font-size:.75rem;font-weight:700;color:#fff;cursor:pointer;transition:filter .15s;white-space:nowrap;}
.sv2-nl-btn:hover{filter:brightness(1.1);}
@media(max-width:500px){.sv2-nl-form{flex-direction:column;}.sv2-nl-input{min-width:0;}}

/* ── COMING SOON PAGES ────────────────────────────────────────────── */
.cs-page-wrap {
  position:relative;min-height:calc(100vh - 60px);
  display:flex;align-items:center;justify-content:center;
  padding:40px 24px;overflow:hidden;
}
.csp-glow {
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:500px;height:500px;border-radius:50%;
  opacity:.06;filter:blur(80px);pointer-events:none;
}
.csp-inner {
  position:relative;z-index:1;
  max-width:560px;width:100%;text-align:center;
}
.csp-icon {
  width:72px;height:72px;border-radius:20px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;margin:0 auto 20px;
}
.csp-badge {
  display:inline-block;font-size:.6rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;padding:5px 14px;border-radius:20px;
  background:rgba(255,255,255,.1);color:rgba(255,255,255,.6);
  border:1px solid rgba(255,255,255,.15);margin-bottom:16px;
}
.csp-title {
  font-family:'Inter Tight',sans-serif;font-size:2.4rem;font-weight:900;
  color:#fff;margin:0 0 14px;letter-spacing:-.03em;
}
.csp-desc {
  font-size:.9rem;color:rgba(255,255,255,.6);line-height:1.65;margin:0 0 24px;
}
.csp-waitlist-bar {
  height:4px;background:rgba(255,255,255,.08);border-radius:2px;
  margin:0 auto 10px;max-width:400px;overflow:hidden;
}
.csp-wbar-fill {
  height:100%;width:68%;border-radius:2px;
  animation:wbar-grow 1.5s ease-out forwards;
}
@keyframes wbar-grow{from{width:0}to{width:68%}}
.csp-stats {
  display:flex;align-items:baseline;justify-content:center;gap:6px;margin-bottom:28px;
}
.csp-stat-n {font-size:1.6rem;font-weight:900;color:#fff;font-family:'Inter Tight',sans-serif;}
.csp-stat-l {font-size:.72rem;color:rgba(255,255,255,.45);}
.csp-form {margin:0 0 24px;}
.csp-form-inner {display:flex;gap:8px;max-width:420px;margin:0 auto 8px;}
.csp-input {
  flex:1;padding:12px 16px;border-radius:7px;
  border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);
  color:#fff;font-size:.82rem;outline:none;
}
.csp-input:focus{border-color:rgba(255,255,255,.3);}
.csp-btn {
  padding:12px 20px;border-radius:7px;border:none;
  font-size:.8rem;font-weight:700;color:#fff;cursor:pointer;
  white-space:nowrap;display:flex;align-items:center;gap:6px;
  transition:filter .15s;
}
.csp-btn:hover{filter:brightness(1.1);}
.csp-form-note {font-size:.62rem;color:rgba(255,255,255,.35);}
.csp-features {
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  max-width:400px;margin:0 auto 32px;text-align:left;
}
.csp-feat {
  font-size:.72rem;color:rgba(255,255,255,.65);
  display:flex;align-items:center;gap:7px;
}
.csp-feat i {flex-shrink:0;width:14px;text-align:center;}
.csp-success {
  display:flex;align-items:center;gap:12px;
  padding:16px 20px;background:rgba(45,181,75,.1);border:1px solid rgba(45,181,75,.25);
  border-radius:8px;text-align:left;max-width:420px;margin:0 auto;
}
.csp-success i {font-size:1.4rem;flex-shrink:0;}
.csp-success strong {display:block;font-size:.82rem;font-weight:700;color:#fff;margin-bottom:3px;}
.csp-success p {font-size:.68rem;color:rgba(255,255,255,.5);margin:0;}

/* Preview mockups */
.csp-preview {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:16px;margin-top:0;
}
.csp-preview-inner { padding:20px;overflow:hidden; }
.csp-preview-label {
  font-size:.55rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.3);margin-bottom:12px;text-align:left;
}
/* Dating preview */
.csp-prev-dating {display:flex;gap:10px;justify-content:center;}
.csp-prev-card {
  flex:1;max-width:160px;padding:14px;border-radius:10px;
  display:flex;flex-direction:column;gap:8px;
}
.csp-prev-avatar {
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#fff;
}
.csp-prev-name {font-size:.68rem;font-weight:700;color:#fff;}
.csp-prev-tags {display:flex;flex-wrap:wrap;gap:4px;}
.csp-prev-tags span {font-size:.55rem;background:rgba(255,255,255,.1);padding:2px 7px;border-radius:10px;color:rgba(255,255,255,.6);}
/* Market preview */
.csp-prev-market {display:flex;flex-direction:column;gap:8px;}
.csp-prev-listing {display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);border-radius:7px;padding:8px;}
.csp-prev-listing-img {width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.9rem;}
.csp-prev-listing-title {font-size:.72rem;font-weight:700;color:#fff;}
.csp-prev-listing-meta {font-size:.6rem;color:rgba(255,255,255,.4);}
/* Jobs preview */
.csp-prev-jobs {display:flex;flex-direction:column;gap:8px;}
.csp-prev-job {display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);border-radius:7px;padding:8px;flex:1;}
.csp-prev-job-co {width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;}
.csp-prev-job-title {font-size:.72rem;font-weight:700;color:#fff;}
.csp-prev-job-meta {font-size:.6rem;color:rgba(255,255,255,.4);}
.csp-prev-job-badge {font-size:.48rem;font-weight:800;letter-spacing:.08em;background:var(--dc-red);color:#fff;padding:2px 6px;border-radius:3px;margin-left:auto;flex-shrink:0;}

/* ── single-centre override ───────────────────────────────────────── */
.single-centre {
  background:var(--dark2,#111114) !important;
  padding:0 !important;
  max-width:none;
}
/* white-bg on event/venue/story pages overrides dark single-centre */
.CENTRE.single-centre.white-bg {
  background:#ffffff !important;
}

/* Responsive story v2 */
@media(max-width:760px){
  .story-hero-full{height:260px;}
  .sv2-headline{font-size:1.5rem;}
  .sv2-standfirst{font-size:.9rem;}
  .sv2-nl-inner{grid-template-columns:1fr;}
  .csp-title{font-size:1.8rem;}
  .csp-features{grid-template-columns:1fr;}
  .csp-prev-dating{flex-direction:column;align-items:center;}
}

/* ═══════════════════════════════════════════════════════════════════
   v9.3 FIXES - Hero brand, BENTO 3-col, LIVE dot red
   ═══════════════════════════════════════════════════════════════════ */

/* ── Hero: LIVE badge left, MCR.CITY brand right ─────────────────── */
.vs-eyebrow-left {
  position:absolute;top:16px;left:20px;z-index:3;
}
.vs-live-badge {
  display:inline-flex;align-items:center;gap:5px;
  font-size:.55rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  background:var(--dc-red);color:#fff;
  padding:4px 10px;border-radius:4px;
}
.vs-live-dot-sm {
  display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff;
  animation:wot-blink 1.2s ease infinite;
}
.vs-brand-right {
  position:absolute;top:16px;right:20px;z-index:3;
  font-family:'Inter Tight',sans-serif;font-size:.85rem;font-weight:900;
  color:rgba(255,255,255,.9);letter-spacing:.08em;
}
.vs-brand-right span { color:var(--dc-red); }

/* ── BENTO 3-column (stats row + 2 feature cards) ────────────────── */
.BENTO.bento-3col {
  grid-template-columns:1fr 1fr 1fr;
  grid-template-rows:auto auto;
}
.BENTO.bento-3col .BT { min-height:100px; }
.BENTO.bento-3col .BF { grid-column:span 1; min-height:160px; }
@media(max-width:640px){.BENTO.bento-3col{grid-template-columns:1fr 1fr;}}
@media(max-width:400px){.BENTO.bento-3col{grid-template-columns:1fr;}}

/* ── Override old :has() rule with display:none on stat-week BT ───── */
#stat-week { display:none; }

/* ── Calendar: ensure all category pill colours are vivid ─────────── */
.wot-cal-ev[data-c="music"]    { background:rgba(232,32,26,.22) !important;  color:#ff9999 !important;  border-left-color:#E8201A !important; }
.wot-cal-ev[data-c="sport"]    { background:rgba(26,86,255,.22) !important;  color:#8ab4ff !important;  border-left-color:#1A56FF !important; }
.wot-cal-ev[data-c="food"]     { background:rgba(45,181,75,.18) !important;  color:#7ee89a !important;  border-left-color:#2DB54B !important; }
.wot-cal-ev[data-c="nightlife"]{ background:rgba(255,107,0,.22) !important;  color:#ffb366 !important;  border-left-color:#FF6B00 !important; }
.wot-cal-ev[data-c="night"]    { background:rgba(255,107,0,.22) !important;  color:#ffb366 !important;  border-left-color:#FF6B00 !important; }
.wot-cal-ev[data-c="culture"]  { background:rgba(124,58,237,.22) !important; color:#c4a0ff !important;  border-left-color:#7C3AED !important; }
.wot-cal-ev[data-c="family"]   { background:rgba(245,196,0,.18) !important;  color:#ffe066 !important;  border-left-color:#F5C400 !important; }

/* ── Logo sizing ──────────────────────────────────────────────────── */
.sb-logo-img {
  width:110px !important;
  height:110px !important;
  object-fit:contain;
  display:block;
  border-radius:10px;
}
/* SVG fallback logo - compact */
/* sb-logo-svg consolidated - see top of CSS */
.sb-logo-city { color:rgba(255,255,255,.42);font-size:.9rem; }
.sb-logo-slot {
  padding:14px 10px 10px !important;
  display:flex;align-items:center;justify-content:center;
}

/* ── WOT LIVE eyebrow - red ───────────────────────────────────────── */
.wot-eyebrow { color:var(--dc-red) !important; }

/* ═══════════════════════════════════════════════════════════════════
   STORIES PAGE v2 - Advanced editorial layout
   ═══════════════════════════════════════════════════════════════════ */

/* ── Masthead ─────────────────────────────────────────────────────── */
.stories-masthead {
  background:var(--dark3);
  border-bottom:1px solid rgba(255,255,255,.07);
  padding:36px 28px 24px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  flex-wrap:wrap;
}
.stm-inner { flex:1;min-width:280px; }
.stm-kicker { font-size:.58rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--dc-red);margin-bottom:10px;display:flex;align-items:center;gap:6px; }
.stm-title { font-family:'Inter Tight',sans-serif;font-size:2.2rem;font-weight:900;color:#fff;margin:0 0 8px;letter-spacing:-.03em; }
.stm-sub { font-size:.82rem;color:rgba(255,255,255,.55);margin:0 0 12px; }
.stm-stats { display:flex;gap:10px;align-items:center;font-size:.68rem;color:rgba(255,255,255,.45);flex-wrap:wrap; }
.stm-stats strong { color:#fff;font-weight:800; }
.stm-sep { color:rgba(255,255,255,.2); }
.stm-ai { min-height:20px;margin-top:8px; }
.stm-ai-text { font-size:.72rem;font-style:italic;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:6px; }
.stm-search { display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 14px;min-width:260px; }
.stm-search-ico { color:rgba(255,255,255,.35);font-size:.8rem;flex-shrink:0; }
.stm-search-input { background:none;border:none;outline:none;color:#fff;font-size:.78rem;flex:1; }
.stm-search-input::placeholder { color:rgba(255,255,255,.3); }
.stm-search-btn { background:var(--dc-red);border:none;color:#fff;font-size:.72rem;font-weight:700;padding:6px 14px;border-radius:5px;cursor:pointer;white-space:nowrap;transition:filter .15s; }
.stm-search-btn:hover { filter:brightness(1.1); }

/* ── Category filter bar ──────────────────────────────────────────── */
.stories-cat-bar { display:flex;flex-wrap:wrap;gap:6px;padding:16px 28px;border-bottom:1px solid rgba(255,255,255,.06);overflow-x:auto;scrollbar-width:none; }
.stories-cat-bar::-webkit-scrollbar { display:none; }
.scb-pill { display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:20px;font-size:.68rem;font-weight:700;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.55);transition:all .15s;white-space:nowrap; }
.scb-pill:hover { background:rgba(255,255,255,.1);color:#fff; }
.scb-on { background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2); }
.scb-pill[style*="--pc"] { border-color:rgba(var(--pc),.3); }
.scb-pill[style*="--pc"].scb-on { background:var(--pc);color:#fff;border-color:var(--pc); }
.scb-dot { width:7px;height:7px;border-radius:50%;flex-shrink:0; }
.scb-count { font-size:.55rem;opacity:.6;font-weight:600; }

/* ── Search notice ────────────────────────────────────────────────── */
.stories-search-notice { padding:12px 28px;font-size:.75rem;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:8px; }
.stories-search-notice strong { color:#fff; }
.ssn-clear { color:rgba(255,255,255,.35);font-weight:700;margin-left:auto; }
.ssn-clear:hover { color:#fff; }

/* ── Hero story ───────────────────────────────────────────────────── */
.stories-hero {
  display:block;position:relative;height:420px;overflow:hidden;
  text-decoration:none;margin:0;transition:transform .2s;
}
.stories-hero:hover { transform:scale(1.005); }
.sh-img { position:absolute;inset:0; }
.sh-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s; }
.stories-hero:hover .sh-img img { transform:scale(1.04); }
.sh-scrim { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.4) 55%,rgba(0,0,0,.1) 100%); }
.sh-body { position:absolute;bottom:0;left:0;right:0;padding:28px 32px; }
.sh-meta { display:flex;align-items:center;gap:8px;margin-bottom:10px; }
.sh-cat { font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;padding:4px 10px;border-radius:4px; }
.sh-badge { font-size:.52rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.2);padding:3px 8px;border-radius:4px; }
.sh-title { font-family:'Inter Tight',sans-serif;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:900;color:#fff;margin:0 0 8px;line-height:1.1;letter-spacing:-.02em; }
.sh-sub { font-size:.85rem;color:rgba(255,255,255,.7);margin:0 0 12px;line-height:1.5;max-width:600px; }
.sh-foot { display:flex;align-items:center;gap:8px;font-size:.68rem;color:rgba(255,255,255,.5); }
.sh-sep { opacity:.4; }

/* ── Secondary 3-grid ─────────────────────────────────────────────── */
.stories-secondary { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.07); }
@media(max-width:700px) { .stories-secondary { grid-template-columns:1fr; } }
.sstory-card { display:block;background:var(--dark2);padding:0;overflow:hidden;text-decoration:none;transition:background .15s; }
.sstory-card:hover { background:rgba(255,255,255,.04); }
.ssc-img { height:160px;overflow:hidden; }
.ssc-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.sstory-card:hover .ssc-img img { transform:scale(1.05); }
.ssc-body { padding:14px 18px; }
.ssc-cat { font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px; }
.ssc-title { font-size:.88rem;font-weight:800;color:#fff;line-height:1.3;margin:0 0 5px; }
.ssc-sub { font-size:.7rem;color:rgba(255,255,255,.5);line-height:1.5;margin:0 0 7px; }
.ssc-meta { font-size:.58rem;color:rgba(255,255,255,.3); }

/* ── Section header ───────────────────────────────────────────────── */
.stories-section-head { display:flex;align-items:center;justify-content:space-between;padding:20px 28px 12px; }
.ssh-title { font-family:'Inter Tight',sans-serif;font-size:1rem;font-weight:900;color:#fff; }
.ssh-sort { display:flex;gap:4px; }
.ssh-sort-btn { font-size:.65rem;font-weight:700;padding:5px 12px;border-radius:5px;color:rgba(255,255,255,.45);background:rgba(255,255,255,.05);transition:all .15s; }
.ssh-sort-btn:hover { color:#fff; }
.ssh-sort-btn.on { background:rgba(255,255,255,.1);color:#fff; }

/* ── Main stories grid ────────────────────────────────────────────── */
.stories-main-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding:0 28px 28px;
}
@media(max-width:900px) { .stories-main-grid { grid-template-columns:1fr 1fr; padding:0 16px 16px; } }
@media(max-width:500px) { .stories-main-grid { grid-template-columns:1fr; } }
.smg-card { background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;transition:border-color .15s,transform .15s;display:flex;flex-direction:column; }
.smg-card:hover { border-color:rgba(255,255,255,.18);transform:translateY(-2px); }
.smg-wide { grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr; }
@media(max-width:700px) { .smg-wide { grid-template-columns:1fr; } }
.smg-img { display:block;height:170px;overflow:hidden;position:relative;flex-shrink:0; }
.smg-wide .smg-img { height:100%;min-height:200px; }
.smg-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.smg-card:hover .smg-img img { transform:scale(1.05); }
.smg-feat-badge { position:absolute;top:8px;right:8px;background:rgba(0,0,0,.7);color:#F5C400;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem; }
.smg-body { padding:14px 16px;flex:1;display:flex;flex-direction:column; }
.smg-wide .smg-body { padding:20px 24px;justify-content:center; }
.smg-cat { font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:5px; }
.smg-cat-dot { width:6px;height:6px;border-radius:50%;flex-shrink:0; }
.smg-title { font-size:.88rem;font-weight:800;color:#fff;line-height:1.3;margin:0 0 5px; }
.smg-wide .smg-title { font-size:1.1rem; }
.smg-title a { color:inherit; }
.smg-title a:hover { color:rgba(255,255,255,.7); }
.smg-sub { font-size:.7rem;color:rgba(255,255,255,.5);line-height:1.5;margin:0 0 auto;flex:1; }
.smg-foot { display:flex;align-items:center;gap:5px;font-size:.58rem;color:rgba(255,255,255,.35);margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05); }
.smg-rt { display:flex;align-items:center;gap:3px; }
.smg-rt i { font-size:.5rem;opacity:.7; }
.smg-sep { opacity:.4; }

/* ── Empty state ──────────────────────────────────────────────────── */
.stories-empty { text-align:center;padding:60px 24px;display:flex;flex-direction:column;align-items:center;gap:14px; }
.stories-empty i { font-size:2.5rem;opacity:.2; }
.stories-empty p { font-size:.82rem;color:rgba(255,255,255,.45);margin:0; }

/* Responsive stories masthead */
@media(max-width:700px) {
  .stories-masthead { flex-direction:column;align-items:flex-start; }
  .stm-search { min-width:0;width:100%; }
  .sh-body { padding:18px 18px; }
  .stories-hero { height:300px; }
  .stories-section-head,.stories-cat-bar { padding-left:16px;padding-right:16px; }
  .stories-main-grid { padding:0 16px 16px; }
}

/* ═══════════════════════════════════════════════════════════════════
   404 PAGE, GENERIC PAGE, MISSING COMPONENTS - v9.4
   ═══════════════════════════════════════════════════════════════════ */

/* ── 404 page ─────────────────────────────────────────────────────── */
.notfound-wrap {
  text-align:center;padding:40px 24px;max-width:520px;margin:0 auto;
}
.nf-num {
  font-family:'Inter Tight',sans-serif;font-size:8rem;font-weight:900;
  color:rgba(255,255,255,.04);line-height:1;margin-bottom:0;
  letter-spacing:-.05em;
}
.nf-title {
  font-family:'Inter Tight',sans-serif;font-size:1.8rem;font-weight:900;
  color:#fff;margin:0 0 12px;letter-spacing:-.02em;
}
.nf-desc {
  font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.65;margin:0 0 28px;
}
.nf-links {
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;
}
.nf-suggestions {
  border-top:1px solid rgba(255,255,255,.07);padding-top:24px;
}
.nf-sug-label {
  font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  color:rgba(255,255,255,.3);margin-bottom:14px;
}
.nf-sug-grid {
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
}
.nf-sug-item {
  display:flex;align-items:center;gap:7px;padding:8px 16px;
  border-radius:7px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  font-size:.7rem;font-weight:600;color:rgba(255,255,255,.6);
  transition:all .15s;
}
.nf-sug-item:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.15);}

/* ── Generic page.php content ────────────────────────────────────── */
.page-content {
  font-size:.85rem;color:rgba(255,255,255,.75);line-height:1.8;
}
.page-content h2 {
  font-family:'Inter Tight',sans-serif;font-size:1.3rem;font-weight:900;
  color:#fff;margin:2em 0 .6em;letter-spacing:-.02em;
}
.page-content h3 {
  font-family:'Inter Tight',sans-serif;font-size:1rem;font-weight:800;color:#fff;margin:1.5em 0 .5em;
}
.page-content p { margin-bottom:1.2em; }
.page-content a { color:var(--dc-blue);text-decoration:underline !important; }
.page-content ul,.page-content ol { padding-left:1.4em;margin-bottom:1.2em; }
.page-content li { margin-bottom:.4em; }
.page-content strong { color:#fff;font-weight:700; }
.page-content blockquote {
  border-left:3px solid var(--dc-red);padding:12px 18px;
  margin:1.5em 0;background:rgba(255,255,255,.04);border-radius:0 6px 6px 0;
  font-style:italic;color:rgba(255,255,255,.65);
}

/* ── Legal page body ─────────────────────────────────────────────── */
.legal-body {
  font-size:.82rem;color:rgba(255,255,255,.7);line-height:1.8;
}
.legal-body h2 {
  font-size:1rem;font-weight:800;color:#fff;margin:2em 0 .5em;
  border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:8px;
}
.legal-body p { margin-bottom:1em; }
.legal-body a { color:var(--dc-blue); }
.legal-footer {
  margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.07);
  font-size:.72rem;color:rgba(255,255,255,.4);
}
.legal-footer a { color:var(--dc-blue); }

/* ── Sitemap page ────────────────────────────────────────────────── */
.sitemap-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
@media(max-width:700px){.sitemap-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:450px){.sitemap-grid{grid-template-columns:1fr;}}
.sm-section h3 {
  font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.3);margin:0 0 12px;
}
.sm-section ul { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px; }
.sm-section a {
  font-size:.75rem;color:rgba(255,255,255,.55);
  display:flex;align-items:center;gap:8px;transition:color .15s;
}
.sm-section a:hover { color:#fff; }
.sm-section a i { width:14px;text-align:center;font-size:.7rem; }

/* ── ev-feat-badge - hidden, was rendering as dark box ─────────── */
.ev-feat-badge { display:none; }

/* ── ev-card-noimg ───────────────────────────────────────────────── */
.ev-card-noimg {
  height:120px;display:flex;align-items:flex-end;padding:12px;
  position:relative;
}
.ev-noimg-date {
  font-family:'Inter Tight',sans-serif;font-size:1.1rem;font-weight:900;
  color:rgba(255,255,255,.2);letter-spacing:-.02em;
}

/* btn-primary/ghost: defined in core button styles above */

/* ── cat-section-head shared ────────────────────────────────────── */
.cat-section-head {
  display:flex;align-items:flex-end;justify-content:space-between;
  padding:28px 24px 14px;gap:12px;flex-wrap:wrap;
}
.csh-eyebrow {
  font-size:.55rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;margin-bottom:5px;
}
.csh-title {
  font-family:'Inter Tight',sans-serif;font-size:1.3rem;font-weight:900;
  color:#fff;margin:0;letter-spacing:-.02em;display:flex;align-items:center;gap:8px;
}
.csh-count {
  font-size:.65rem;font-weight:700;color:rgba(255,255,255,.4);
  background:rgba(255,255,255,.07);padding:2px 8px;border-radius:10px;
}
.sh-link {
  font-size:.68rem;font-weight:700;color:var(--dc-blue);white-space:nowrap;flex-shrink:0;
}
.sh-link:hover { color:#fff; }

/* ── load-more-wrap ─────────────────────────────────────────────── */
.load-more-wrap {
  text-align:center;padding:16px 24px 24px;
}
.btn-load-more {
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.7);padding:11px 28px;border-radius:6px;
  font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s;
}
.btn-load-more:hover { background:rgba(255,255,255,.12);color:#fff; }
.btn-load-more:disabled { opacity:.5;cursor:not-allowed; }

/* ── Responsive final pass ──────────────────────────────────────── */
@media(max-width:700px){
  .ev-filter-row{flex-direction:column;align-items:stretch;}
  .ev-filter-row input,.ev-filter-row select,.ev-filter-row button{width:100%;}
  .nf-links{flex-direction:column;align-items:center;}
  .sitemap-grid{grid-template-columns:1fr;}
  .cat-section-head{padding:20px 16px 12px;}
}

/* ── Hero overlay fixes: top-right group + weather pill ─────────── */
.vs-top-right {
  position:absolute;top:14px;right:16px;z-index:3;
  display:flex;flex-direction:column;align-items:flex-end;gap:6px;
}
.vs-weather-pill {
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(0,0,0,.45);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.12);border-radius:20px;
  padding:4px 10px;font-size:.65rem;font-weight:600;color:rgba(255,255,255,.85);
}
/* Remove old vs-weather position if it clashes */
.vs-weather { display:none; }

/* ═══════════════════════════════════════════════════════════════════
   HOMEPAGE ENHANCEMENTS v9.5 - City bar, SC fallbacks, Sport grid
   ═══════════════════════════════════════════════════════════════════ */

/* ── Manchester City Links Bar ────────────────────────────────────── */
.mcr-city-bar {
  display:grid;
  grid-template-columns:repeat(8,1fr);
  background:var(--dark3);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  margin:-28px -28px 28px -28px;
}
@media(max-width:900px){ .mcr-city-bar { grid-template-columns:repeat(4,1fr); } }
@media(max-width:500px){ .mcr-city-bar { grid-template-columns:repeat(4,1fr); } }
.mcb-item {
  display:flex;flex-direction:column;align-items:center;
  gap:5px;padding:14px 8px;
  border-right:1px solid rgba(255,255,255,.05);
  transition:background .15s;text-align:center;
}
.mcb-item:last-child { border-right:none; }
.mcb-item:hover { background:rgba(255,255,255,.05); }
.mcb-icon { font-size:1rem; }
.mcb-label { font-size:.6rem;font-weight:700;color:#fff; }
.mcb-sub { font-size:.52rem;color:rgba(255,255,255,.35); }

/* ── SC card (homepage category cards) polish ─────────────────────── */
.SC {
  display:block;border-radius:var(--rl);overflow:hidden;
  background:var(--dark3);border:1px solid rgba(255,255,255,.06);
  transition:border-color .15s,transform .15s;text-decoration:none !important;
}
.SC:hover { border-color:rgba(255,255,255,.15);transform:translateY(-2px); }
.sc-thumb {
  position:relative;aspect-ratio:16/7;overflow:hidden;
  background:var(--dark2);
}
.sc-thumb img {
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .3s;
}
.SC:hover .sc-thumb img { transform:scale(1.05); }
.sc-stripe {
  position:absolute;top:0;left:0;right:0;height:3px;z-index:2;
}
.sc-body { padding:8px 10px; }
.sc-cat {
  display:flex;align-items:center;gap:5px;
  font-size:.55rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:rgba(255,255,255,.45);margin-bottom:5px;
}
.sc-cat-dot { width:5px;height:5px;border-radius:50%;flex-shrink:0; }
.sc-title {
  font-size:.72rem;font-weight:700;color:#fff;
  line-height:1.25;margin-bottom:3px;
}
.sc-meta { font-size:.56rem;color:rgba(255,255,255,.4);line-height:1.5; }

/* ── Sport grid improvements ──────────────────────────────────────── */
.sg-main {
  position:relative;overflow:hidden;border-radius:var(--rl);
  grid-column:1;grid-row:1/3;min-height:200px;
  display:block;text-decoration:none !important;
}
.sg-main img {
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;transition:transform .3s;
}
.sg-main:hover img { transform:scale(1.04); }
.sg-scrim {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.2) 70%);
}
.sg-body {
  position:absolute;bottom:0;left:0;right:0;padding:16px;z-index:2;
}
.sg-league { font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px; }
.sg-title { font-size:.95rem;font-weight:800;color:#fff;line-height:1.2;margin-bottom:4px; }
.sg-meta { font-size:.6rem;color:rgba(255,255,255,.5); }

/* ── Responsive ─────────────────────────────────────────────────── */
@media(max-width:760px){
  .mcr-city-bar{margin:-16px -16px 16px -16px;}
  .mcb-sub{display:none;}
  .mcb-label{font-size:.55rem;}
}
@media(max-width:500px){
  .mcb-item{padding:10px 6px;gap:4px;}
  .mcb-icon{font-size:.85rem;}
}

.ev-page-masthead {
  position:relative;min-height:180px;max-height:260px;display:flex;flex-direction:column;
  justify-content:flex-end;overflow:hidden;
}

/* ══ CLEAN LIGHT HERO - matches white-bg main content area ══════════
   Typography + spacing tuned to match the rest of the site: smaller titles,
   refined stat row, subtle borders, brand red for accent only. */
.epm-clean {
  position:relative;z-index:2;
  background:#0c0c0e;
  padding:26px 28px 22px !important;
  border-bottom:1px solid rgba(255,255,255,.08);
  max-height:none;min-height:auto;
}
/* When clean hero is in use, strip the parent's flex/height constraints */
.ev-page-masthead:has(.epm-clean),
.CENTRE.white-bg .ev-page-masthead:has(.epm-clean) {
  min-height:auto !important;
  max-height:none !important;
  background:#0c0c0e !important;
  overflow:visible !important;
  display:block !important;
  color:#fff !important;
  margin-bottom:0 !important;
}
.CENTRE.white-bg .ev-page-masthead:has(.epm-clean) a { color:inherit !important; }
.CENTRE.white-bg .ev-page-masthead:has(.epm-clean) .epm-clean-btn-primary { color:#fff !important; }

/* Live category bar on white-bg - kill the dark translucent + blur frost
   (which rendered as grey haze on white pages) and use flat light surface. */
.CENTRE.white-bg .epm-live-bar {
  background:#fafafa !important;
  border-top:1px solid #eee !important;
  border-bottom:1px solid #eee !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Generic safety net - any element using translucent-black + blur on a
   white-bg page gets flattened to a solid neutral surface so there's no
   grey frost bleeding through from the page behind. */
.CENTRE.white-bg [class*="-masthead"],
.CENTRE.white-bg [class*="-tonight-bar"],
.CENTRE.white-bg [class*="-live-bar"] {
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
/* Live bar sits on the WHITE hero strip at the top of /events/ - dark ink for contrast.
   (Previously inherited white from dark-mode rules - white-on-white bug) */
.CENTRE.white-bg .epm-live-bar .epm-lb-item,
.CENTRE.white-bg .epm-live-bar .epm-lb-label {
  color:#1a1a1f !important;
}
.CENTRE.white-bg .epm-live-bar .epm-lb-item {
  color:#4a4a55 !important;font-weight:700 !important;
}
.CENTRE.white-bg .epm-live-bar .epm-lb-item:hover {
  color:#0c0c0e !important;background:rgba(0,0,0,.04) !important;
}
.CENTRE.white-bg .epm-live-bar .epm-lb-item.active,
.CENTRE.white-bg .epm-live-bar .epm-lb-item.active .epm-lb-label {
  color:#0c0c0e !important;
}
.CENTRE.white-bg .epm-live-bar .epm-lb-item.active {
  border-bottom-color:var(--dc-red) !important;
}
.CENTRE.white-bg .epm-live-bar .epm-lb-count {
  background:rgba(0,0,0,.06) !important;color:#2a2a32 !important;font-weight:800 !important;
}
.CENTRE.white-bg .epm-lb-item.active .epm-lb-count {
  background:rgba(232,32,26,.12) !important;color:var(--dc-red) !important;
}
.epm-clean-stats {
  display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap;
}
.epm-clean-stat {
  display:inline-flex;align-items:baseline;gap:5px;
}
.epm-clean-stat + .epm-clean-stat {
  padding-left:14px;border-left:1px solid rgba(255,255,255,.12);
}
.epm-clean-n {
  font-family:'Inter Tight',sans-serif;font-size:1.05rem;font-weight:800;
  color:#fff;letter-spacing:-.01em;line-height:1;
}
.epm-clean-n-red { color:var(--dc-red); }
.epm-clean-l {
  font-size:.62rem;font-weight:700;color:rgba(255,255,255,.45);text-transform:uppercase;
  letter-spacing:.08em;
}
.epm-clean-title {
  font-family:'Inter Tight',sans-serif;font-size:1.65rem;font-weight:900;
  color:#fff;line-height:1.05;letter-spacing:-.025em;margin:0 0 6px;
}
.epm-clean-title em {
  color:#7C3AED;font-style:normal;
}
.epm-clean-sub {
  font-size:.78rem;color:rgba(255,255,255,.55);margin:0 0 16px;line-height:1.5;max-width:620px;
}
.epm-clean-ctas { display:flex;gap:8px;flex-wrap:wrap; }
.epm-clean-btn-primary,
.epm-clean-btn-ghost {
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 14px;border-radius:7px;
  font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  text-decoration:none;transition:all .15s ease;
}
.epm-clean-btn-primary {
  background:var(--dc-red);color:#fff !important;
  box-shadow:0 2px 6px rgba(232,32,26,.2);
}
.epm-clean-btn-primary:hover {
  filter:brightness(1.08);transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(232,32,26,.32);
}
.epm-clean-btn-ghost {
  background:transparent;color:#fff !important;border:1.5px solid rgba(255,255,255,.25);
}
.epm-clean-btn-ghost:hover {
  background:rgba(255,255,255,.1);color:#fff !important;border-color:rgba(255,255,255,.5);
}
@media(max-width:700px){
  .epm-clean { padding:20px 16px 18px !important; }
  .epm-clean-title { font-size:1.35rem; }
  .epm-clean-sub { font-size:.74rem; }
  .epm-clean-n { font-size:.95rem; }
  .epm-clean-stat + .epm-clean-stat { padding-left:10px; }
  .epm-clean-stats { gap:10px;margin-bottom:12px; }
}
.epm-bg {
  position:absolute;inset:0;background-size:cover;background-position:center;
  z-index:0;
}
.epm-scrim {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.15) 100%);
}
.epm-content {
  position:relative;z-index:2;padding:28px 28px 20px;
}
.epm-label {
  display:inline-flex;align-items:center;gap:6px;
  font-size:.55rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;padding:4px 10px;border-radius:4px;margin-bottom:10px;
}
.epm-title {
  font-family:'Inter Tight',sans-serif;font-size:1.6rem;font-weight:900;
  color:#fff;line-height:1.1;letter-spacing:-.03em;margin:0 0 10px;
}
.epm-stats-row {
  display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;
}
.epm-stat { display:flex;align-items:baseline;gap:5px; }
.epm-stat-n { font-family:'Inter Tight',sans-serif;font-size:1.4rem;font-weight:900;color:#fff; }
.epm-stat-l { font-size:.6rem;color:rgba(255,255,255,.5); }
.epm-stat-sep { color:rgba(255,255,255,.25);font-size:.8rem; }
.epm-main-title {
  font-family:'Inter Tight',sans-serif;font-size:2.4rem;font-weight:900;
  color:#fff;line-height:1;letter-spacing:-.04em;margin:0 0 10px;
}
.epm-main-title em { color:var(--dc-red);font-style:normal; }
.epm-sub { font-size:.82rem;color:rgba(255,255,255,.6);margin:0 0 16px;line-height:1.5;max-width:540px; }
.epm-meta { display:flex;flex-wrap:wrap;gap:12px;font-size:.68rem;color:rgba(255,255,255,.6);margin-bottom:14px; }
.epm-meta span { display:flex;align-items:center;gap:5px; }
.epm-meta i { color:rgba(255,255,255,.35); }
.epm-ctas { display:flex;gap:8px;flex-wrap:wrap; }

/* Events live bar (category tabs) */
.epm-live-bar {
  position:relative;z-index:2;
  display:flex;border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.4);backdrop-filter:blur(8px);
  overflow-x:auto;scrollbar-width:none;
}
.epm-live-bar::-webkit-scrollbar { display:none; }
.epm-lb-item {
  display:flex;align-items:center;gap:7px;padding:11px 16px;
  font-size:.65rem;font-weight:700;color:rgba(255,255,255,.5);
  border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;
  flex-shrink:0;
}
.epm-lb-item:hover { color:#fff;background:rgba(255,255,255,.05); }
.epm-lb-item.active { color:#fff;border-bottom-color:var(--dc-red); }
.epm-lb-dot { width:7px;height:7px;border-radius:50%;flex-shrink:0; }
.epm-lb-label { }
.epm-lb-count {
  background:rgba(255,255,255,.1);border-radius:10px;
  padding:1px 7px;font-size:.55rem;font-weight:800;color:rgba(255,255,255,.6);
}
.epm-lb-item.active .epm-lb-count { background:rgba(232,32,26,.2);color:var(--dc-red); }

/* ── Events filter bar (efa-*) ─────────────────────────────────────── */
.ev-filter-advanced {
  background:rgba(255,255,255,.03);
  border-bottom:1px solid rgba(255,255,255,.06);
  padding:14px 20px 0;
}
.efa-form { margin-bottom:0; }
.efa-row {
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  padding-bottom:12px;
}
.efa-sel {
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:#fff;padding:8px 12px;border-radius:6px;font-size:.72rem;
  font-family:inherit;flex:1;min-width:140px;cursor:pointer;
}
.efa-sel option { background:var(--dark2); }
.efa-date {
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:#fff;padding:8px 12px;border-radius:6px;font-size:.72rem;
  font-family:inherit;
}
.efa-date::-webkit-calendar-picker-indicator { filter:invert(1); }
.efa-bottom {
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0;gap:12px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.05);
}
.efa-pills { display:flex;flex-wrap:wrap;gap:5px; }
.efa-view-btns { display:flex;gap:4px;flex-shrink:0; }
.efa-vb {
  width:32px;height:32px;border-radius:6px;display:flex;align-items:center;
  justify-content:center;font-size:.75rem;color:rgba(255,255,255,.4);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  transition:all .15s;
}
.efa-vb:hover { color:#fff;background:rgba(255,255,255,.1); }
.efa-vb.on { color:#fff;background:var(--dc-red);border-color:var(--dc-red); }

/* ── Events results header (erh-*) ────────────────────────────────── */
.ev-results-head {
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.06);
  gap:12px;flex-wrap:wrap;
}
.erh-count { font-size:.78rem;color:rgba(255,255,255,.6); }
.erh-count strong { color:#fff;font-weight:800; }
.erh-count em { color:rgba(255,255,255,.8);font-style:normal; }
.erh-submit {
  display:inline-flex;align-items:center;gap:6px;
  font-size:.65rem;font-weight:700;color:rgba(255,255,255,.5);
  border:1px solid rgba(255,255,255,.1);border-radius:5px;padding:6px 12px;
  transition:all .15s;
}
.erh-submit:hover { color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.06); }

/* ── Tonight pill badge on event cards ─────────────────────────────── */
.ev-tonight-pill {
  position:absolute;top:14px;left:14px;z-index:5;
  background:#e8201a;color:#fff;
  font-size:.46rem;font-weight:800;padding:5px 13px;
  border-radius:20px;text-transform:uppercase;letter-spacing:.12em;
  font-family:'Inter Tight',sans-serif;
  box-shadow:0 2px 8px rgba(232,32,26,.35);
  animation:tonightPulse 2.6s ease-in-out infinite;
}
@keyframes tonightPulse {
  0%,100% { box-shadow:0 4px 16px rgba(232,32,26,.55), 0 0 0 0 rgba(232,32,26,.3); }
  55%      { box-shadow:0 4px 16px rgba(232,32,26,.55), 0 0 0 7px rgba(232,32,26,0); }
}
.ev-this-week-pill {
  position:absolute;top:12px;left:12px;z-index:4;
  background:#ff6b00;color:#fff;
  font-size:.52rem;font-weight:800;padding:5px 13px;
  border-radius:20px;text-transform:uppercase;letter-spacing:.1em;
  box-shadow:0 4px 14px rgba(255,107,0,.45);
}
.ev-date-badge {
  position:absolute;top:12px;right:12px;z-index:5;
  background:rgba(0,0,0,.5);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:12px;
  padding:7px 10px;text-align:center;min-width:40px;
}
.ev-date-day { display:block;font-family:'Inter Tight',sans-serif;font-size:1.15rem;font-weight:900;color:#fff;letter-spacing:-.03em;line-height:1; }
.ev-date-month { display:block;font-size:.4rem;font-weight:700;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.14em;margin-top:3px; }
.ev-price-tag {
  /* v12.7.79 - moved from bottom-right (overlapping Tickets button) to top-right under date badge */
  position:absolute;top:62px;right:12px;z-index:5;
  background:rgba(0,0,0,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-radius:6px;
  border:1px solid rgba(255,255,255,.18);
  padding:4px 9px;font-size:.55rem;font-weight:800;color:#fff;letter-spacing:.04em;
  text-transform:uppercase;
}
.ev-section-head { grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:4px 0;margin:12px 0 2px; }
.ev-section-dot { width:7px;height:7px;border-radius:50%;background:#e8201a;flex-shrink:0;animation:sectionPing 2s ease-in-out infinite; }
@keyframes sectionPing { 0%{box-shadow:0 0 0 0 rgba(232,32,26,.55)} 70%{box-shadow:0 0 0 9px rgba(232,32,26,0)} 100%{box-shadow:0 0 0 0 rgba(232,32,26,0)} }
.ev-section-label { font-family:'Inter Tight',sans-serif;font-size:1rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.18em; }
.ev-section-rule { flex:1;height:1px;background:rgba(255,255,255,.12); }

/* ── Timeline view (evt-*) ─────────────────────────────────────────── */
.ev-timeline { padding:0 20px 20px; }
.evt-day { margin-bottom:28px; }
.evt-day-label {
  font-size:.7rem;font-weight:800;color:rgba(255,255,255,.5);
  padding:8px 0 10px;
  border-bottom:1px solid rgba(255,255,255,.06);
  margin-bottom:4px;display:flex;align-items:center;gap:8px;
}
.evt-day-label.evt-today { color:#fff; }
.evt-today-dot {
  width:7px;height:7px;border-radius:50%;background:var(--dc-red);flex-shrink:0;
}
.evt-day-count {
  margin-left:auto;font-size:.58rem;font-weight:600;
  color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.06);padding:2px 8px;border-radius:10px;
}
.evt-day-events { display:flex;flex-direction:column; }
.evt-row {
  display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;
  padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.04);
  transition:background .12s;position:relative;
}
.evt-row:hover { background:rgba(255,255,255,.04); }
.evt-row-stripe {
  position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:0 2px 2px 0;
}
.evt-row-time {
  font-size:.62rem;font-weight:700;color:rgba(255,255,255,.4);text-align:right;
  padding-left:10px;
}
.evt-row-main { min-width:0; }
.evt-row-title {
  font-size:.78rem;font-weight:700;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;
}
.evt-row-venue { font-size:.6rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:4px; }
.evt-row-right { display:flex;align-items:center;gap:6px;flex-shrink:0; }
.evt-row-cat {
  font-size:.52rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
}
.evt-row-price {
  font-size:.6rem;font-weight:700;color:rgba(255,255,255,.5);
  background:rgba(255,255,255,.07);padding:2px 6px;border-radius:3px;
}
.evt-row-tix {
  font-size:.55rem;font-weight:800;color:#fff;
  background:var(--dc-red);padding:3px 7px;border-radius:3px;
  text-transform:uppercase;letter-spacing:.06em;
}

/* ── Stories masthead (stm-*) ─────────────────────────────────────── */
.stm-kicker {
  font-size:.55rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:8px;
}
.stm-title {
  font-family:'Inter Tight',sans-serif;font-size:2.2rem;font-weight:900;
  color:#fff;letter-spacing:-.04em;line-height:1;margin:0 0 8px;
}
.stm-sub { font-size:.82rem;color:rgba(255,255,255,.5);margin:0 0 14px;line-height:1.6; }
.stm-stats { display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap; }
.stm-stat { font-size:.7rem;color:rgba(255,255,255,.55); }
.stm-stat strong { color:#fff;font-size:.82rem; }
.stm-sep { color:rgba(255,255,255,.2); }
.stm-ai { min-height:24px;font-size:.75rem;color:rgba(255,255,255,.6);margin-bottom:4px; }
.stm-search {
  position:relative;display:flex;align-items:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:8px;overflow:hidden;
}
.stm-search-ico { position:absolute;left:12px;color:rgba(255,255,255,.3);font-size:.75rem; }
.stm-search-input {
  flex:1;background:transparent;border:none;outline:none;
  padding:11px 12px 11px 36px;color:#fff;font-size:.8rem;font-family:inherit;
}
.stm-search-input::placeholder { color:rgba(255,255,255,.25); }
.stm-search-btn {
  background:var(--dc-red);color:#fff;border:none;padding:0 16px;
  font-size:.7rem;font-weight:700;cursor:pointer;height:100%;align-self:stretch;
  transition:filter .15s;
}
.stm-search-btn:hover { filter:brightness(1.1); }

/* Stories hero card (sh-date, sh-rt) */
.sh-date { font-size:.65rem;color:rgba(255,255,255,.4); }
.sh-rt   { font-size:.65rem;color:rgba(255,255,255,.4); }
.sh-sep  { color:rgba(255,255,255,.2);font-size:.6rem; }

/* Stories masonry grid (smg-*) */
.smg-date { font-size:.62rem;color:rgba(255,255,255,.35); }
.smg-sep  { color:rgba(255,255,255,.2); }
.smg-wide { grid-column:1/-1; }
.smg-feat-badge {
  position:absolute;top:8px;left:8px;
  color:#fff;font-size:.52rem;font-weight:800;padding:3px 8px;
  border-radius:3px;display:flex;align-items:center;gap:4px;
  text-transform:uppercase;letter-spacing:.06em;
}

/* ── Submit form (submit-form-adv, sfa-section--contact) ──────────── */
.submit-form-adv { display:flex;flex-direction:column;gap:0; }
.sfa-section--contact {
  background:rgba(255,255,255,.02);border-radius:8px;
  border:1px solid rgba(255,255,255,.06);
}

/* Submit sidebar recent events */
.sa-recent { margin-top:4px; }

/* ── About page (about-main-col, about-body) ───────────────────────── */
.about-main-col { min-width:0; }
.about-body {
  font-size:.85rem;color:rgba(255,255,255,.75);line-height:1.8;
}
.about-body p { margin-bottom:1.3em; }
.about-body h2 {
  font-family:'Inter Tight',sans-serif;font-size:1.2rem;font-weight:900;
  color:#fff;margin:2em 0 .6em;letter-spacing:-.02em;
}
.about-body a { color:var(--dc-blue); }

/* ── Footer column base (ft-col) ───────────────────────────────────── */
.ft-col { display:flex;flex-direction:column; }

/* ── City links bar text (mcb-text) ────────────────────────────────── */
.mcb-text { display:flex;flex-direction:column;align-items:center;gap:2px; }

/* ── Newsletter badge/cap (nl-badge, nl-cap-badges) ───────────────── */
.nl-badge {
  display:inline-flex;align-items:center;gap:5px;font-size:.58rem;font-weight:700;
  color:rgba(255,255,255,.4);background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:3px 9px;
}
.nl-cap-badges { display:flex;flex-wrap:wrap;gap:5px;margin-top:6px; }

/* ── HERO class (homepage) ─────────────────────────────────────────── */
.HERO { position:relative; }

/* ── Responsive ─────────────────────────────────────────────────────── */
@media(max-width:760px) {
  .epm-main-title { font-size:1.7rem; }
  .epm-content { padding:20px 16px 16px; }
  .ev-filter-advanced { padding:12px 14px 0; }
  .efa-row { flex-direction:column;align-items:stretch; }
  .efa-sel,.efa-date { width:100%; }
  .efa-bottom { flex-direction:column;align-items:flex-start;gap:10px; }
  .ev-results-head { padding:10px 14px; }
  .ev-timeline { padding:0 14px 16px; }
  .evt-row { grid-template-columns:46px 1fr auto;gap:8px; }
  .epm-live-bar { overflow-x:scroll; }
  .stm-title { font-size:1.6rem; }
}

/* ── Homepage: hide header ticker, show inline ticker below hero ──── */
.home > .TICKER:first-of-type { display:none; }
.hp-ticker { display:flex !important; }

/* ── LIVE pill on hero (right-aligned, red) ────────────────────────── */
.vs-live-pill {
  display:inline-flex;align-items:center;gap:5px;
  background:var(--dc-red);color:#fff;
  font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 10px;border-radius:4px;
}

/* ── Homepage white/light alternating sections ──────────────────────── */
/* The CENTRE column on homepage gets white sections for contrast */
.home .CENTRE .section-white {
  background:#f5f5f7;
  color:#0c0c0e;
  margin:0 -28px;
  padding:36px 28px;
  border-top:1px solid rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.06);

  position:relative;z-index:1;
}

/* ── Section headers inside white ── */
.section-white .SH .sh-title,
.section-white .sh-title { color:#0c0c0e; }
.section-white .sh-eyebrow { color:#666; }
.section-white .sh-link {
  color:var(--dc-blue);
  border-color:rgba(26,86,255,.2);
  background:rgba(26,86,255,.06);
}
.section-white .sh-link:hover { color:#fff; background:var(--dc-blue); border-color:var(--dc-blue); }

/* ── SC cards (venue/event cards) inside white ── */
.section-white .SC {
  background:#fff;
  border-color:rgba(0,0,0,.08);
  box-shadow:0 1px 4px rgba(0,0,0,.06);
}
.section-white .SC:hover {
  border-color:rgba(0,0,0,.18);
  box-shadow:0 4px 18px rgba(0,0,0,.1);
}
.section-white .sc-thumb { background:#e8e8ec; }
.section-white .sc-cat { color:rgba(0,0,0,.45); }
.section-white .sc-title { color:#0c0c0e; }
.section-white .sc-meta { color:rgba(0,0,0,.45); }

/* ── HOODS section standalone (not inside section-white) ── */
.hoods-section { background:#f9f9fb; padding:20px 0 0; }
.hoods-section .SH { padding:0 0 14px; }

/* ── News strip cards inside white ── */
.section-white .ns-card {
  background:#fff;
  border-color:rgba(0,0,0,.08);
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.section-white .ns-card:hover {
  border-color:rgba(0,0,0,.18);
  box-shadow:0 4px 14px rgba(0,0,0,.08);
}
.section-white .ns-title { color:#0c0c0e; }
.section-white .ns-meta { color:rgba(0,0,0,.38); }

/* ── Stories grid inside white ── */
.section-white .STORIES-GRID { background:transparent; }
.section-white .stg-item {
  background:#fff;
  border-color:rgba(0,0,0,.08);
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.section-white .stg-item:hover {
  border-color:rgba(0,0,0,.18);
  box-shadow:0 4px 14px rgba(0,0,0,.08);
}
.section-white .stg-item-title { color:#0c0c0e; }
.section-white .stg-item-meta { color:rgba(0,0,0,.38); }

/* ── Sponsors scroll inside white ── */
.section-white .SPONSORS { background:transparent; }
.section-white .sp-item img { filter:grayscale(1) brightness(.15); opacity:.5; }
.section-white .sp-item img:hover { opacity:.9; }
.section-white .sp-name { color:rgba(0,0,0,.45); }
.section-white .sp-item:hover { opacity:.85; }

/* ── Category pages: section-white inside cat-page-centre ── */
.cat-page-centre .section-white {
  background:#f5f5f7;
  color:#0c0c0e;
  margin:0 -28px;
  padding:36px 28px;
  border-top:1px solid rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.cat-page-centre .section-white .SH .sh-title,
.cat-page-centre .section-white .sh-title { color:#0c0c0e; }
.cat-page-centre .section-white .sh-eyebrow { color:#666; }
.cat-page-centre .section-white .sh-link { color:var(--dc-blue); border-color:rgba(26,86,255,.2); background:rgba(26,86,255,.06); }
.cat-page-centre .section-white .SC { background:#fff; border-color:rgba(0,0,0,.08); box-shadow:0 1px 4px rgba(0,0,0,.06); }
.cat-page-centre .section-white .SC:hover { border-color:rgba(0,0,0,.18); box-shadow:0 4px 18px rgba(0,0,0,.1); }
.cat-page-centre .section-white .sc-thumb { background:#e8e8ec; }
.cat-page-centre .section-white .sc-cat { color:rgba(0,0,0,.45); }
.cat-page-centre .section-white .sc-title { color:#0c0c0e; }
.cat-page-centre .section-white .sc-meta { color:rgba(0,0,0,.45); }
.cat-page-centre .section-white .ns-card { background:#fff; border-color:rgba(0,0,0,.08); box-shadow:0 1px 4px rgba(0,0,0,.05); }
.cat-page-centre .section-white .ns-card:hover { border-color:rgba(0,0,0,.18); }
.cat-page-centre .section-white .ns-title { color:#0c0c0e; }
.cat-page-centre .section-white .ns-meta { color:rgba(0,0,0,.38); }
.cat-page-centre .section-white .stg-item { background:#fff; border-color:rgba(0,0,0,.08); box-shadow:0 1px 4px rgba(0,0,0,.05); }
.cat-page-centre .section-white .stg-item-title { color:#0c0c0e; }
.cat-page-centre .section-white .stg-item-meta { color:rgba(0,0,0,.38); }

/* Section dividers */
.home .CENTRE > section,
.home .CENTRE > div.section-block {
  border-bottom:1px solid rgba(255,255,255,.05);
}

/* Ensure mcr-city-bar has proper dark background */
/* mcr-city-bar - see line 5816 */

/* ── Hero multi-CTA buttons ─────────────────────────────────────────── */
.vs-cta { display:flex;gap:8px;flex-wrap:wrap; }
.vs-cta-ghost {
  background:rgba(255,255,255,.12) !important;
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.25) !important;
}
.vs-cta-ghost:hover { background:rgba(255,255,255,.22) !important; }

/* ── Homepage ticker strip (below hero) ─────────────────────────────── */
.hp-ticker {
  border-top:none;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:var(--dark);
  position:relative;z-index:10;
}
.hp-ticker .tk-badge {
  background:var(--dc-red) !important;
  color:#fff !important;
  font-weight:900;
  letter-spacing:.1em;
  padding:0 16px;
  display:flex;align-items:center;gap:6px;
}

/* ── News strip image cards ─────────────────────────────────────────── */
.NEWS-STRIP {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  padding:0 0 24px;
}
@media(max-width:1100px){ .NEWS-STRIP { grid-template-columns:repeat(3,1fr); } }
@media(max-width:700px)  { .NEWS-STRIP { grid-template-columns:1fr 1fr; } }
@media(max-width:450px)  { .NEWS-STRIP { grid-template-columns:1fr; } }

.ns-card-img {
  display:flex !important;
  flex-direction:column;
  overflow:hidden;
  border-radius:10px;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.07) !important;
  text-decoration:none !important;
  transition:transform .15s,border-color .15s;
}
.ns-card-img:hover { transform:translateY(-2px); border-color:rgba(255,255,255,.16) !important; }
.ns-card-thumb {
  aspect-ratio:16/10;
  overflow:hidden;
  position:relative;
}
.ns-card-thumb img {
  width:100%; height:100%; object-fit:cover;
  display:block; transition:transform .3s;
}
.ns-card-img:hover .ns-card-thumb img { transform:scale(1.05); }
.ns-card-body { padding:12px; }
.ns-cat  { font-size:.52rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px; }
.ns-title{ font-size:.78rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:5px; }
.ns-meta { font-size:.58rem;color:rgba(255,255,255,.35); }

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE FIXES v9.9.8 - comprehensive responsive pass
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Touch targets - minimum 44px hit area on mobile ─────────────────── */
@media(max-width:900px) {
  .btn-primary,.btn-ghost,.btn-primary-sm {
    min-height:44px;
    padding:10px 16px;
    font-size:.7rem;
  }
  .btn-ghost-sm {
    padding:9px 14px;
    font-size:.7rem;
  }
  /* Sidebar items need bigger hit areas */
  .sb-item { min-height:44px; }
  /* Event card CTAs */
  .ev-card-ctas .btn-primary,
  .ev-card-ctas .btn-ghost,
  .cec-ctas .btn-primary,
  .cec-ctas .btn-ghost { min-height:40px; font-size:.65rem; padding:8px 14px; }
  /* Keep ghost-sm in event cards at its designed height - not the 44px touch target */
  .ev-card-ctas .btn-ghost-sm,
  .ev-card-ctas .btn-primary-sm,
  .ev-card-ctas .btn-tickets { min-height:0 !important; padding:7px 14px !important; font-size:.58rem !important; }
}

/* ── Hub card touch targets (Food / Nightlife / Culture) ─── */
@media(max-width:900px) {
  body.page-template-tpl-food .hs-ev-card .btn-ghost-sm,
  body.page-template-tpl-food .hs-ev-card .btn-primary-sm,
  body.page-template-tpl-nightlife .hs-ev-card .btn-ghost-sm,
  body.page-template-tpl-nightlife .hs-ev-card .btn-primary-sm,
  body.page-template-tpl-culture .hs-ev-card .btn-ghost-sm,
  body.page-template-tpl-culture .hs-ev-card .btn-primary-sm {
    min-height: 44px !important;
    padding: 9px 14px !important;
    font-size: .65rem !important;
  }
}

/* ── Category page masthead - tighter on small screens ───────────────── */
@media(max-width:480px) {
  .nl-masthead,.fm-masthead,.spm-masthead { min-height:260px; }
  .nlm-inner,.fm-inner,.spm-inner { padding:16px 14px 10px; }
  .nlm-sub,.fm-sub,.spm-sub { display:none; }
  .nlm-ctas,.fm-ctas,.spm-ctas { flex-wrap:wrap; gap:6px; }
  .nlm-btn,.fm-btn,.spm-btn { flex:1; min-width:120px; justify-content:center; font-size:.65rem; }
}

/* ── Event single page on mobile ─────────────────────────────────────── */
@media(max-width:640px) {
  .evs-hero { height:240px !important; margin:10px 0 0; }
  .evs-hero-title { font-size:1.4rem !important; }
  .evs-hero-meta { flex-wrap:wrap; gap:6px; }
  .evs-hero-actions { margin-top:10px; }
  .evs-hero-actions .btn-primary,
  .evs-hero-actions .btn-ghost { flex:1; justify-content:center; }
  .evs-facts { grid-template-columns:1fr 1fr; }
  .evs-fact { padding:10px 12px; }
  .evs-related-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .evs-transport-item { padding:10px 12px; }
}
@media(max-width:400px) {
  .evs-hero { height:200px !important; }
  .evs-hero-title { font-size:1.2rem !important; }
  .evs-facts { grid-template-columns:1fr; }
  .evs-related-grid { grid-template-columns:1fr; }
}

/* ── Planner page on mobile ───────────────────────────────────────────── */
@media(max-width:640px) {
  .planner-hero { padding:24px 16px 20px; }
  .planner-title { font-size:1.8rem; }
  .planner-quick { padding:14px 14px 0; }
  .planner-quick-chips { gap:6px; }
  .plq-chip { font-size:.66rem; padding:6px 11px; }
  .planner-chat { padding:14px 14px; }
  .pm-input-row { padding:10px 12px; }
}

/* ── Sport clubs deep grid on mobile ─────────────────────────────────── */
@media(max-width:380px) {
  .sport-clubs-deep { grid-template-columns:1fr; }
  .sport-stadiums { grid-template-columns:1fr; }
}

/* ── Search overlay on mobile ────────────────────────────────────────── */
@media(max-width:640px) {
  .mcr-search-overlay { padding-top:0;align-items:flex-start; }
  .mcr-search-inner { border-radius:0 0 14px 14px;max-width:100%; }
  .mcr-search-bar { padding:14px 14px; }
  .mcr-search-tabs { padding:0 12px 10px; }
  .msr-item { padding:10px 14px; }
}

/* ── Tonight bar on mobile ─────────────────────────────────────────────── */
@media(max-width:480px) {
  .tnb-ev-venue { display:none; }
  .tnb-events { gap:8px; }
  .tnb-event { font-size:.6rem; }
}

/* ── Directory page on mobile ────────────────────────────────────────── */
@media(max-width:440px) {
  .dir-grid { grid-template-columns:1fr !important; padding:0 12px 12px; }
  .dir-card-img { height:130px; }
  .dir-card-body { padding:10px 12px; }
}

/* ── About/Contact/Submit pages padding on mobile ────────────────────── */
@media(max-width:640px) {
  main.CENTRE[style*="padding:28px 32px"] { padding:16px !important; }
  .pg-title { font-size:1.4rem; }
  .pg-desc { font-size:.8rem; }
}
.mob-tab { flex-shrink:1; min-width:0; }

/* ── Hero slider CTAs - stack on very small screens ─────────────────── */
@media(max-width:400px) {
  .vs-cta { flex-direction:column; gap:6px; }
  .vs-cta-btn { justify-content:center; font-size:.62rem; padding:9px 14px; }
  .vs-content { bottom:44px; left:8px; right:10px; align-items:flex-end; text-align:right; }
}

/* ── City bar - scroll on mobile ────────────────────────────────────── */
@media(max-width:640px) {
  .mcr-city-bar {
    grid-template-columns:repeat(8,1fr);
    overflow-x:auto;
    scrollbar-width:none;
  }
  .mcr-city-bar::-webkit-scrollbar { display:none; }
  .mcb-item { min-width:62px; }
}


/* ── Events page masthead - mobile ──────────────────────────────────── */
@media(max-width:640px) {
  .ev-page-masthead { min-height:260px; }
  .epm-main-title { font-size:1.5rem; }
  .epm-content { padding:16px 16px 14px; }
  .epm-ctas { gap:6px; }
  .epm-ctas .btn-primary,
  .epm-ctas .btn-ghost { padding:8px 14px; font-size:.68rem; }
  .epm-live-bar { overflow-x:auto; scrollbar-width:none; }
  .epm-live-bar::-webkit-scrollbar { display:none; }
  .epm-lb-item { padding:9px 12px; }
}

/* ── Filter bars - full width on mobile ─────────────────────────────── */
@media(max-width:640px) {
  .efa-row { flex-direction:column; }
  .efa-sel, .efa-date { width:100%; min-width:0; }
  .ev-results-head { padding:10px 16px; }
  .ev-timeline { padding:0 14px 16px; }
  .evt-row { grid-template-columns:44px 1fr; }
  .evt-row-right { display:none; }
}

/* ── CENTRE padding on mobile ────────────────────────────────────────── */
@media(max-width:640px) {
  .CENTRE { padding:16px !important; }
  .cat-page-centre { padding:0 !important; }
}

/* ── Section headers on mobile ───────────────────────────────────────── */
@media(max-width:480px) {
  .SH { margin-bottom:12px; }
  .sh-title { font-size:1.1rem !important; }
  .sh-eyebrow { font-size:.5rem; }
}

/* ── HOODS grid on mobile ────────────────────────────────────────────── */
@media(max-width:480px) {
  .HOODS { grid-template-columns:1fr 1fr; gap:6px; }
  .hood { min-height:80px; }
  .hood-name { font-size:.65rem; }
}

/* ── News strip on mobile ────────────────────────────────────────────── */
@media(max-width:400px) {
  .NEWS-STRIP { grid-template-columns:1fr; }
}

/* ── Story grid on mobile ────────────────────────────────────────────── */
@media(max-width:640px) {
  .STORIES-GRID { grid-template-columns:1fr; }
  .stg-feat { min-height:200px; }
  .stg-list { gap:6px; }
}

/* ── Single event/story hero on mobile ───────────────────────────────── */
@media(max-width:480px) {
  .ev-single-hero { height:200px; }
  .story-hero-full { height:200px; }
  .story-headline { font-size:1.4rem !important; }
  .ev-single-title { font-size:1.3rem; }
}

/* ── Submit + contact forms on mobile ───────────────────────────────── */
@media(max-width:640px) {
  .sfa-section-label { font-size:.7rem; }
  .sf-grid { grid-template-columns:1fr !important; }
  .sf-field.sf-full { grid-column:1; }
  .submit-layout, .contact-layout { grid-template-columns:1fr !important; }
}

/* ── Footer on mobile ────────────────────────────────────────────────── */
@media(max-width:480px) {
  .FT { grid-template-columns:1fr !important; padding:24px 16px !important; }
  .NL { padding:28px 16px !important; }
  .ft-bottom { padding:10px 16px !important; font-size:.52rem; }
}

/* ── vs-top-right on mobile - smaller ───────────────────────────────── */
@media(max-width:480px) {
  .vs-brand-right { font-size:.75rem; }
  .vs-weather-pill { font-size:.55rem; padding:3px 8px; }
  .vs-live-pill { font-size:.5rem; padding:3px 7px; }
  .vs-top-right { gap:4px; top:10px; right:10px; }
}

/* ── Ticker on mobile - smaller text ────────────────────────────────── */
@media(max-width:480px) {
  .TICKER, .hp-ticker { height:32px; }
  .tk-item { font-size:.58rem; }
  .tk-badge { padding:0 10px; font-size:.55rem; }
}

   GLOBAL SEARCH - overlay, results, sidebar button
   ═══════════════════════════════════════════════════════════════════════ */

/* Sidebar search button */
.sb-search-btn {
  display:flex;align-items:center;gap:9px;
  margin:0 10px 14px;padding:10px 12px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;cursor:pointer;
  transition:background .15s,border-color .15s;
  font-size:.72rem;color:rgba(255,255,255,.55);
}
.sb-search-btn:hover { background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.75); }
.sb-search-btn i { font-size:.7rem;flex-shrink:0; }
.sb-search-btn span:first-of-type { flex:1; }
.sb-search-shortcut {
  font-size:.55rem;font-weight:600;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
  border-radius:4px;padding:2px 5px;color:rgba(255,255,255,.3);
  flex-shrink:0;
}

/* Overlay backdrop */
.mcr-search-overlay {
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.7);backdrop-filter:blur(6px);
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:80px;
  opacity:0;pointer-events:none;
  transition:opacity .18s;
}
.mcr-search-overlay.open { opacity:1;pointer-events:all; }
body.search-open { overflow:hidden; }

/* Search modal inner */
.mcr-search-inner {
  width:100%;max-width:640px;
  background:var(--dark2);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;overflow:hidden;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
  transform:translateY(-12px);transition:transform .18s;
}
.mcr-search-overlay.open .mcr-search-inner { transform:translateY(0); }

/* Search bar row */
.mcr-search-bar {
  display:flex;align-items:center;gap:12px;
  padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.mcr-search-ico { color:rgba(255,255,255,.35);font-size:.85rem;flex-shrink:0; }
.mcr-search-input {
  flex:1;background:transparent;border:none;outline:none;
  font-size:1rem;color:#fff;font-family:inherit;
}
.mcr-search-input::placeholder { color:rgba(255,255,255,.25); }
.mcr-search-close {
  width:28px;height:28px;border-radius:6px;
  background:rgba(255,255,255,.07);border:none;
  color:rgba(255,255,255,.4);font-size:.75rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .12s,color .12s;flex-shrink:0;
}
.mcr-search-close:hover { background:rgba(255,255,255,.14);color:#fff; }

/* Type tabs */
.mcr-search-tabs {
  display:flex;gap:0;
  padding:10px 16px 0;border-bottom:1px solid rgba(255,255,255,.07);
}
.msr-tab {
  padding:7px 14px;font-size:.68rem;font-weight:700;
  color:rgba(255,255,255,.4);background:none;border:none;
  border-bottom:2px solid transparent;cursor:pointer;
  transition:all .12s;
}
.msr-tab:hover { color:rgba(255,255,255,.7); }
.msr-tab.on { color:#fff;border-bottom-color:var(--dc-red); }

/* Results area */
.mcr-search-results {
  max-height:420px;overflow-y:auto;scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.1) transparent;
}
.mcr-search-results::-webkit-scrollbar { width:4px; }
.mcr-search-results::-webkit-scrollbar-thumb { background:rgba(255,255,255,.1);border-radius:2px; }

/* Empty / suggestions state */
.mcr-search-empty { padding:28px 20px;text-align:center; }
.mse-icon { font-size:2rem;color:rgba(255,255,255,.12);margin-bottom:10px; }
.mse-text { font-size:.82rem;color:rgba(255,255,255,.3);margin-bottom:16px; }
.mse-suggestions { display:flex;flex-wrap:wrap;gap:6px;justify-content:center; }
.mse-suggestions span {
  font-size:.68rem;padding:5px 11px;border-radius:20px;cursor:pointer;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.5);transition:all .12s;
}
.mse-suggestions span:hover { background:rgba(255,255,255,.1);color:#fff; }

/* Loading dots */
.mcr-search-loading { display:flex;align-items:center;justify-content:center;gap:6px;padding:32px; }
.msl-dot {
  width:7px;height:7px;border-radius:50%;background:var(--dc-red);
  animation:msl-bounce .6s ease-in-out infinite;
}
.msl-dot:nth-child(2){ animation-delay:.1s; }
.msl-dot:nth-child(3){ animation-delay:.2s; }
@keyframes msl-bounce { 0%,60%,100%{transform:translateY(0)} 30%{transform:translateY(-8px)} }

/* Result list */
.mcr-search-list { padding:6px 0; }
.msr-item {
  display:flex;align-items:center;gap:12px;
  padding:10px 18px;transition:background .1s;
  text-decoration:none;
}
.msr-item:hover { background:rgba(255,255,255,.05); }
.msr-thumb {
  width:44px;height:44px;border-radius:7px;overflow:hidden;flex-shrink:0;
}
.msr-thumb img { width:100%;height:100%;object-fit:cover; }
.msr-thumb-placeholder { width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.85rem; }
.msr-body { flex:1;min-width:0; }
.msr-type { font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px; }
.msr-title { font-size:.82rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.msr-meta { font-size:.62rem;color:rgba(255,255,255,.4);margin-top:1px; }
.msr-arrow { color:rgba(255,255,255,.2);font-size:.65rem;flex-shrink:0; }
.msr-item:hover .msr-arrow { color:rgba(255,255,255,.5); }

/* No result */
.mcr-search-noresult { padding:24px 20px;text-align:center;font-size:.82rem;color:rgba(255,255,255,.35); }
.mcr-search-noresult strong { color:rgba(255,255,255,.6); }

/* See all link */
.msr-see-all {
  display:block;text-align:center;padding:12px;
  font-size:.72rem;font-weight:700;color:var(--dc-red);
  border-top:1px solid rgba(255,255,255,.06);
  transition:background .12s;
}
.msr-see-all:hover { background:rgba(232,32,26,.08); }

/* Mobile search overlay */
@media(max-width:640px) {
  .mcr-search-overlay { padding-top:0;align-items:flex-start; }
  .mcr-search-inner { border-radius:0 0 14px 14px;max-width:100%; }
}

/* ── Venue map ──────────────────────────────────────────────────────────── */
.venue-map-section { margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.07); }
.venue-map-wrap {
  height:300px;border-radius:10px;overflow:hidden;
  border:1px solid rgba(255,255,255,.08);margin-top:10px;
}
.venue-map-embed { margin-top:10px; }
.venue-map-embed iframe { border-radius:10px;border:1px solid rgba(255,255,255,.08) !important; }
.venue-map-fallback-note { font-size:.68rem;color:rgba(255,255,255,.4);margin-top:6px;display:flex;align-items:center;gap:8px; }
.venue-map-fallback-note a { color:var(--dc-blue); }
.venue-map-pin {
  width:32px;height:40px;display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;color:var(--dc-red);filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));
}

/* ═══════════════════════════════════════════════════════════════════════
   TONIGHT BAR - persistent event strip above mobile tabs
   ═══════════════════════════════════════════════════════════════════════ */
.tonight-bar {
  display:none; /* shown only when events exist via PHP */
  position:fixed;bottom:64px;left:0;right:0;z-index:900;
  background:var(--dark);border-top:1px solid rgba(255,255,255,.06);
  padding:0 16px;height:44px;
  align-items:center;gap:12px;
}
@media(max-width:900px){ .tonight-bar { display:flex; } }
@media(min-width:901px){
  /* On desktop, show as a subtle bar below the sidebar */
  .tonight-bar {
    display:flex;position:static;
    border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.05);
    height:40px;padding:0 20px;background:rgba(255,255,255,.03);
    margin:0 0 0 var(--sb-w,140px);
  }
}
.tnb-eyebrow {
  display:none;
}
.tnb-dot { display:none; }
@keyframes tnb-pulse{ 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.7)} }
.tnb-events {
  display:flex;align-items:center;gap:14px;flex:1;min-width:0;
  overflow:hidden;
}
.tnb-event {
  display:inline-flex;align-items:center;gap:5px;flex-shrink:0;
  font-size:.65rem;color:rgba(255,255,255,.6);
  text-decoration:none;transition:color .12s;
  white-space:nowrap;
}
.tnb-event:hover { color:#fff; }
.tnb-ev-dot { width:5px;height:5px;border-radius:50%;flex-shrink:0; }
.tnb-ev-name { font-weight:600;color:rgba(255,255,255,.85); }
.tnb-ev-venue,.tnb-ev-time { color:rgba(255,255,255,.4);font-size:.6rem; }
.tnb-all {
  display:inline-flex;align-items:center;gap:5px;
  font-size:.6rem;font-weight:700;color:var(--dc-red);
  white-space:nowrap;flex-shrink:0;transition:opacity .12s;
}
.tnb-all:hover { opacity:.75; }
.tnb-close {
  background:none;border:none;color:rgba(255,255,255,.25);
  font-size:.65rem;cursor:pointer;padding:4px;flex-shrink:0;
  transition:color .12s;
}
.tnb-close:hover { color:rgba(255,255,255,.6); }

/* Adjust WRAP bottom padding when tonight bar is visible */
@media(max-width:900px){ #WRAP { padding-bottom:64px; } }
@media(max-width:900px){ body.has-tonight-bar #WRAP { padding-bottom:108px; } }

/* ═══════════════════════════════════════════════════════════════════════
   MY MANCHESTER - dashboard, auth, saved grid
   ═══════════════════════════════════════════════════════════════════════ */

/* Dashboard header */
.mym-header {
  display:flex;align-items:center;gap:16px;
  padding:24px 24px 20px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.mym-avatar img {
  width:56px;height:56px;border-radius:50%;
  border:2px solid rgba(255,255,255,.1);
}
.mym-identity { flex:1;min-width:0; }
.mym-greeting { font-size:.55rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:3px; }
.mym-name { font-family:'Inter Tight',sans-serif;font-size:1.4rem;font-weight:900;color:#fff;letter-spacing:-.02em;line-height:1; }
.mym-since { font-size:.65rem;color:rgba(255,255,255,.35);margin-top:3px; }

/* Stats strip */
.mym-stats {
  display:flex;align-items:center;gap:16px;
  padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.07);
  flex-wrap:wrap;
}
.mym-stat { display:flex;align-items:baseline;gap:6px; }
.mym-stat-n { font-family:'Inter Tight',sans-serif;font-size:1.4rem;font-weight:900;color:#fff; }
.mym-stat-l { font-size:.65rem;color:rgba(255,255,255,.4); }
.mym-stat-sep { color:rgba(255,255,255,.15); }

/* Saved grid */
.mym-saved-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  padding:0 0 24px;
}
@media(max-width:900px){ .mym-saved-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .mym-saved-grid { grid-template-columns:1fr; } }

.mym-card {
  border-radius:10px;overflow:hidden;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  transition:opacity .3s,transform .3s;
}
.mym-card--past { opacity:.55; }
.mym-card-img { display:block;aspect-ratio:16/9;overflow:hidden;position:relative; }
.mym-card-img img { width:100%;height:100%;object-fit:cover;transition:transform .3s; }
.mym-card:hover .mym-card-img img { transform:scale(1.04); }
.mym-past-badge {
  position:absolute;top:8px;right:8px;
  background:rgba(0,0,0,.6);color:rgba(255,255,255,.5);
  font-size:.52rem;font-weight:700;padding:3px 7px;border-radius:3px;
}
.mym-card-body { padding:12px; }
.mym-card-type { font-size:.52rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px; }
.mym-card-title { font-size:.82rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:4px; }
.mym-card-title a { color:inherit;text-decoration:none; }
.mym-card-title a:hover { color:rgba(255,255,255,.7); }
.mym-card-meta { font-size:.62rem;color:rgba(255,255,255,.35);margin-bottom:8px; }
.mym-unsave {
  display:inline-flex;align-items:center;gap:5px;
  font-size:.62rem;font-weight:600;color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);
  border-radius:4px;padding:4px 9px;cursor:pointer;transition:all .12s;
}
.mym-unsave:hover { color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1); }
.mym-unsave .fas { color:var(--dc-red); }

/* Empty state */
.mym-empty {
  grid-column:1/-1;text-align:center;padding:40px 20px;
}
.mym-empty-icon { font-size:2.5rem;color:rgba(255,255,255,.1);margin-bottom:12px; }
.mym-empty-title { font-size:1.1rem;font-weight:700;color:rgba(255,255,255,.6);margin-bottom:6px; }
.mym-empty-desc { font-size:.8rem;color:rgba(255,255,255,.3);line-height:1.6; }

/* Auth page */
.mym-auth-wrap {
  display:flex;justify-content:center;align-items:flex-start;
  padding:40px 20px;min-height:60vh;
}
.mym-auth-card {
  width:100%;max-width:420px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:32px;
}
.mym-auth-logo {
  font-family:'Inter Tight',sans-serif;font-size:1.6rem;font-weight:900;
  color:#fff;letter-spacing:-.04em;margin-bottom:12px;
}
.mym-auth-title {
  font-family:'Inter Tight',sans-serif;font-size:2rem;font-weight:900;
  color:#fff;letter-spacing:-.03em;margin:0 0 8px;
}
.mym-auth-sub { font-size:.85rem;color:rgba(255,255,255,.4);line-height:1.6;margin-bottom:24px; }
.mym-tabs {
  display:flex;gap:0;margin-bottom:20px;
  border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;
}
.mym-tab {
  flex:1;padding:10px;font-size:.75rem;font-weight:700;
  background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;
  transition:all .12s;
}
.mym-tab.on { background:rgba(255,255,255,.08);color:#fff; }
.mym-form { display:flex;flex-direction:column;gap:10px; }
.mym-input {
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:#fff;padding:12px 14px;border-radius:8px;font-size:.85rem;
  font-family:inherit;outline:none;transition:border-color .12s;
  width:100%;
}
.mym-input:focus { border-color:rgba(255,255,255,.25); }
.mym-input::placeholder { color:rgba(255,255,255,.25); }
.mym-msg { font-size:.75rem;min-height:20px;text-align:center; }

/* Save button on cards (injected via JS) */
.mcr-save-btn {
  position:absolute;top:8px;right:8px;z-index:2;
  width:30px;height:30px;border-radius:6px;
  background:rgba(0,0,0,.5);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:.75rem;color:rgba(255,255,255,.6);
  transition:all .12s;
}
.mcr-save-btn:hover,
.mcr-save-btn.saved { color:#fff;background:rgba(232,32,26,.7);border-color:var(--dc-red); }

/* ═══════════════════════════════════════════════════════════════════════
   VENUE REVIEWS
   ═══════════════════════════════════════════════════════════════════════ */
.venue-reviews-section {
  margin-top:28px;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.07);
}
.vr-header {
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;gap:12px;flex-wrap:wrap;
}
.vr-header-left { display:flex;align-items:center;gap:12px;flex-wrap:wrap; }
.vr-summary { display:flex;align-items:center;gap:7px; }
.vr-avg { font-family:'Inter Tight',sans-serif;font-size:1.4rem;font-weight:900;color:#fff; }
.vr-stars { color:var(--dc-yellow);font-size:.85rem; }
.vr-count { font-size:.68rem;color:rgba(255,255,255,.4); }

/* Review form */
.vr-form-wrap {
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  border-radius:10px;padding:18px;margin-bottom:20px;
}
.vr-form { display:flex;flex-direction:column;gap:10px; }
.vr-rating-input { display:flex;align-items:center;gap:10px; }
.vr-rating-label { font-size:.72rem;color:rgba(255,255,255,.5); }
.vr-stars-input { display:flex;gap:4px;cursor:pointer; }
.vr-stars-input i {
  font-size:1.3rem;color:rgba(255,255,255,.2);transition:color .1s;cursor:pointer;
}
.vr-stars-input i.fas,
.vr-stars-input i.vr-hover { color:var(--dc-yellow); }
.vr-input {
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  color:#fff;padding:10px 12px;border-radius:7px;font-size:.82rem;
  font-family:inherit;outline:none;transition:border-color .12s;
}
.vr-input:focus { border-color:rgba(255,255,255,.25); }
.vr-input::placeholder { color:rgba(255,255,255,.25); }
.vr-textarea {
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  color:#fff;padding:10px 12px;border-radius:7px;font-size:.82rem;
  font-family:inherit;outline:none;resize:vertical;transition:border-color .12s;
}
.vr-textarea:focus { border-color:rgba(255,255,255,.25); }
.vr-textarea::placeholder { color:rgba(255,255,255,.25); }
.vr-msg { font-size:.72rem;min-height:18px; }

/* Review list */
.vr-list { display:flex;flex-direction:column;gap:16px; }
.vr-loading { display:flex;gap:5px;padding:16px 0; }
.vr-empty { font-size:.8rem;color:rgba(255,255,255,.3);padding:16px 0;font-style:italic; }
.vr-item {
  padding:16px;background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);border-radius:9px;
}
.vr-item-head { display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap; }
.vr-item-stars { color:var(--dc-yellow);font-size:.8rem;letter-spacing:1px; }
.vr-item-name { font-size:.75rem;font-weight:700;color:rgba(255,255,255,.8); }
.vr-verified {
  font-size:.55rem;color:var(--dc-green);font-weight:800;
  background:rgba(45,181,75,.1);padding:1px 5px;border-radius:3px;margin-left:3px;
}
.vr-item-date { font-size:.62rem;color:rgba(255,255,255,.3);margin-left:auto; }
.vr-item-title { font-size:.8rem;font-weight:700;color:#fff;margin-bottom:4px; }
.vr-item-body { font-size:.78rem;color:rgba(255,255,255,.6);line-height:1.6; }

/* ═══════════════════════════════════════════════════════════════════════
   AI PLANNER PAGE
   ═══════════════════════════════════════════════════════════════════════ */
.planner-hero {
  position:relative;padding:40px 28px 32px;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.planner-hero-bg {
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 60% 50%, rgba(124,58,237,.2) 0%, transparent 70%),
             radial-gradient(ellipse at 20% 80%, rgba(26,86,255,.15) 0%, transparent 60%);
  pointer-events:none;
}
.planner-eyebrow {
  display:inline-flex;align-items:center;gap:7px;
  font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--violet);margin-bottom:12px;
}
.planner-title {
  font-family:'Inter Tight',sans-serif;font-size:clamp(2rem,5vw,3.2rem);
  font-weight:900;color:#fff;letter-spacing:-.04em;line-height:1;margin:0 0 12px;
  position:relative;
}
.planner-title em { color:var(--violet);font-style:normal; }
.planner-sub { font-size:.88rem;color:rgba(255,255,255,.5);max-width:540px;line-height:1.6;position:relative; }

/* Quick prompt chips */
.planner-quick { padding:20px 28px 0;border-bottom:1px solid rgba(255,255,255,.06); }
.planner-quick-label { font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:10px; }
.planner-quick-chips { display:flex;flex-wrap:wrap;gap:7px;padding-bottom:18px; }
.plq-chip {
  display:inline-flex;align-items:center;gap:5px;
  font-size:.72rem;font-weight:600;padding:7px 13px;border-radius:20px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.6);cursor:pointer;transition:all .12s;
  font-family:inherit;
}
.plq-chip:hover { background:rgba(124,58,237,.15);border-color:var(--violet);color:#fff; }

/* Chat interface */
.planner-chat {
  display:flex;flex-direction:column;
  padding:20px 28px;gap:16px;
}
.planner-messages {
  display:flex;flex-direction:column;gap:16px;
  max-height:500px;overflow-y:auto;scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.1) transparent;
  padding-right:4px;
}
.planner-messages::-webkit-scrollbar { width:3px; }
.planner-messages::-webkit-scrollbar-thumb { background:rgba(255,255,255,.1); }

/* Chat bubbles */
.pm-bubble { display:flex;gap:10px;align-items:flex-start; }
.pm-bubble--user { flex-direction:row-reverse; }
.pm-avatar {
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--violet),var(--dc-blue));
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;color:#fff;
}
.pm-content { max-width:78%; }
.pm-text {
  padding:12px 15px;border-radius:12px;font-size:.82rem;line-height:1.6;
}
.pm-bubble--ai .pm-text {
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.85);
  border-radius:4px 12px 12px 12px;
}
.pm-bubble--user .pm-text {
  background:var(--violet);color:#fff;
  border-radius:12px 4px 12px 12px;
}

/* Typing dots */
.pm-dots { display:flex;gap:4px;padding:14px 16px; }
.pm-dots span {
  width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3);
  animation:pm-dot .9s ease-in-out infinite;
}
.pm-dots span:nth-child(2){ animation-delay:.15s; }
.pm-dots span:nth-child(3){ animation-delay:.3s; }
@keyframes pm-dot { 0%,60%,100%{transform:translateY(0);opacity:.3} 30%{transform:translateY(-6px);opacity:1} }

/* Input area */
.planner-input-wrap {
  display:flex;gap:10px;align-items:flex-end;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:12px;padding:10px 12px;
}
.planner-input {
  flex:1;background:transparent;border:none;outline:none;
  color:#fff;font-size:.85rem;font-family:inherit;resize:none;
  max-height:120px;line-height:1.5;min-height:24px;
}
.planner-input::placeholder { color:rgba(255,255,255,.25); }
.planner-send {
  width:44px;height:44px;border-radius:8px;flex-shrink:0;
  background:var(--violet);border:none;color:#fff;
  font-size:.85rem;cursor:pointer;transition:all .12s;
  display:flex;align-items:center;justify-content:center;
}
.planner-send:hover { background:#6d28d9; }
.planner-send:disabled { opacity:.4;cursor:not-allowed; }
.planner-hint { font-size:.58rem;color:rgba(255,255,255,.2);text-align:center; }

/* Actions row */
.planner-actions { display:flex;gap:8px;justify-content:center;padding:0 28px 20px; }

@media(max-width:640px) {
  .planner-hero { padding:28px 16px 22px; }
  .planner-quick { padding:14px 16px 0; }
  .planner-chat { padding:14px 16px; }
  .planner-messages { max-height:360px; }
  .pm-content { max-width:88%; }
}

/* ═══════════════════════════════════════════════════════════════════════
   SPORT LIVE SCORES
   ═══════════════════════════════════════════════════════════════════════ */
.spm-live-dot {
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--dc-red);margin-right:2px;
  animation:spm-pulse 1.4s ease-in-out infinite;
}
@keyframes spm-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.6)}}
.spm-live-bar--live .spm-live-dot { animation-duration:.8s; }
.spm-live-item--live { color:#fff !important; }
.spm-live-item--live strong { color:var(--dc-red); }
.spm-live-item em { font-size:.55rem;font-style:normal;color:var(--dc-red);font-weight:800; }

.sv2-nl-text { font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:14px; }
.sv2-footer-text { font-size:.72rem;color:rgba(255,255,255,.35);line-height:1.6; }

/* ── Venue single - hero action buttons ─────────────────────────── */
.evs-hero-actions {
  display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;
}
.evs-hero-actions .btn-primary,
.evs-hero-actions .btn-ghost {
  font-size:.68rem;padding:8px 16px;
}

/* ══════════════════════════════════════════════════════════════════════
   iOS ZOOM FIX - prevent auto-zoom on input focus (requires font-size >= 16px)
   ══════════════════════════════════════════════════════════════════════ */
@supports (-webkit-touch-callout: none) {
  input, select, textarea {
    font-size: 16px !important;
  }
}


/* ── Fallback index.php grid ────────────────────────────────────────── */
.PGRID {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:20px;margin:20px 0 40px;
}
.no-content-notice {
  padding:40px 20px;text-align:center;
  font-size:.85rem;color:rgba(255,255,255,.4);
}
.story-card {
  display:flex;flex-direction:column;
  background:var(--dark3);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;overflow:hidden;text-decoration:none;
  transition:border-color .15s,transform .15s;
}
.story-card:hover { border-color:rgba(255,255,255,.16);transform:translateY(-2px); }
.story-img { height:160px;overflow:hidden; }
.story-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.story-card:hover .story-img img { transform:scale(1.04); }
.story-body { padding:14px 16px;display:flex;flex-direction:column;gap:5px; }
.story-cat { font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em; }
.story-title { font-size:.88rem;font-weight:700;color:#fff;line-height:1.35; }
.story-meta { font-size:.58rem;color:rgba(255,255,255,.35); }
@media(max-width:600px) { .PGRID { grid-template-columns:1fr; } }


/* ══════════════════════════════════════════════════════════════════════
   COMMUNITY & GRASSROOTS SPORT
   ══════════════════════════════════════════════════════════════════════ */

/* Section sub-heading */
.sport-sub-head {
  font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;
  color:rgba(255,255,255,.5);margin:0 0 16px;display:flex;align-items:center;gap:8px;
  padding:20px 28px 0;
}
.sport-sub-head i { font-size:.85rem; }

/* ── Sunday League cards ──────────────────────────────────────────── */
.community-leagues-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:14px;padding:0 28px;
}
.clg-card {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:12px;
  transition:border-color .15s;
}
.clg-card:hover { border-color:rgba(255,255,255,.16); }
.clg-top { display:flex;gap:14px;align-items:flex-start; }
.clg-icon {
  width:40px;height:40px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;
}
.clg-meta { display:flex;flex-direction:column;gap:3px; }
.clg-sport { font-size:.52rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }
.clg-name { font-size:.82rem;font-weight:700;color:#fff;margin:0; }
.clg-teams { font-size:.58rem;color:rgba(255,255,255,.4); }
.clg-desc { font-size:.65rem;color:rgba(255,255,255,.5);line-height:1.55;margin:0; }
.clg-footer { display:flex;gap:8px;flex-wrap:wrap;margin-top:auto; }

.community-cta-note {
  font-size:.65rem;color:rgba(255,255,255,.35);padding:12px 28px 0;
  line-height:1.6;
}
.community-cta-note a { text-decoration:underline; }

/* ── Grassroots clubs filter ─────────────────────────────────────── */
.community-filter-row {
  display:flex;gap:8px;padding:0 28px 16px;flex-wrap:wrap;
}
.cfl-btn {
  padding:6px 14px;border-radius:6px;font-size:.58rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;cursor:pointer;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.5);transition:all .15s;
}
.cfl-btn:hover { border-color:rgba(255,255,255,.25);color:#fff; }
.cfl-btn.on {
  background:var(--dc-red);border-color:var(--dc-red);color:#fff;
}

/* ── Club cards ──────────────────────────────────────────────────── */
.community-clubs-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:12px;padding:0 28px;
}
.cgc-card {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:16px;transition:border-color .15s;
}
.cgc-card:hover { border-color:rgba(255,255,255,.15); }
.cgc-top { display:flex;gap:12px;align-items:flex-start;margin-bottom:10px; }
.cgc-badge {
  width:44px;height:44px;border-radius:8px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.cgc-info { display:flex;flex-direction:column;gap:2px;min-width:0; }
.cgc-sport { font-size:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }
.cgc-name { font-size:.8rem;font-weight:700;color:#fff;margin:0;line-height:1.25; }
.cgc-area { font-size:.58rem;color:rgba(255,255,255,.35); }
.cgc-desc { font-size:.63rem;color:rgba(255,255,255,.45);line-height:1.55;margin:0; }

/* ── Add your club CTA ───────────────────────────────────────────── */
.community-add-club {
  margin:20px 28px 0;
  background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.12);
  border-radius:10px;
}
.cac-inner {
  padding:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.cac-icon {
  width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;color:rgba(255,255,255,.4);flex-shrink:0;
}
.cac-title { font-size:.78rem;font-weight:700;color:#fff;margin-bottom:3px; }
.cac-sub { font-size:.62rem;color:rgba(255,255,255,.4);line-height:1.5; }
.cac-inner > div:nth-child(2) { flex:1;min-width:180px; }

/* ── Places to play ──────────────────────────────────────────────── */
.community-pitches-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:12px;padding:0 28px;
}
.cpp-card {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:16px;transition:border-color .15s;
}
.cpp-card:hover { border-color:rgba(255,255,255,.14); }
.cpp-header { margin-bottom:6px; }
.cpp-name { font-size:.8rem;font-weight:700;color:#fff; }
.cpp-type { font-size:.55rem;color:rgba(255,255,255,.4);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-top:2px; }
.cpp-loc { font-size:.6rem;color:rgba(255,255,255,.35);margin-bottom:8px; }
.cpp-desc { font-size:.63rem;color:rgba(255,255,255,.45);line-height:1.55;margin:0 0 10px; }

/* ── Mobile ──────────────────────────────────────────────────────── */
@media(max-width:640px) {
  .community-leagues-grid { grid-template-columns:1fr;padding:0 16px; }
  .community-clubs-grid   { grid-template-columns:1fr;padding:0 16px; }
  .community-pitches-grid { grid-template-columns:1fr;padding:0 16px; }
  .community-filter-row   { padding:0 16px 14px; }
  .community-add-club     { margin:16px 16px 0; }
  .cac-inner              { flex-direction:column;align-items:flex-start; }
  .sport-sub-head         { padding:16px 16px 0; }
}

/* ── Event page light/white section breaks ─────────────────────────── */
.evs-transport--light {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:20px;
  margin-bottom:8px;
}
.evs-related--light {
  background:#f8f8f8;
  padding:32px 28px;
  margin:0 -28px;
}
.evs-related--light .evs-related-head {
  color:#111;
}
.evs-related--light .evs-rel-card {
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.evs-related--light .evs-rel-card:hover {
  border-color:rgba(0,0,0,.15);
  transform:translateY(-2px);
}
.evs-related--light .evs-rel-title { color:#111; }
.evs-related--light .evs-rel-meta  { color:#666; }

/* ── Event page breadcrumb ─────────────────────────────────────────── */
.evs-breadcrumb { padding:16px 28px 0; }

/* ── Event hero fills full width ───────────────────────────────────── */
.evs-hero { margin:16px 0 0; }

/* ── Fix inner content padding ─────────────────────────────────────── */
.evs-section-head {
  padding:0;
  margin:24px 0 12px;
}
.evs-facts { margin:16px 0; }

@media(max-width:860px) {
  .evs-transport--light { padding:14px; }
  .evs-related--light { padding:24px 16px; margin:0 -16px; }
  .evs-breadcrumb { padding:12px 16px 0; }
  .evs-body { padding:0 12px 20px; grid-template-columns:1fr !important; }
  .evs-left { min-width:0; max-width:100%; overflow:hidden; }
  .evs-sidebar { display:none; }
  .CENTRE { overflow-x:hidden; }
}


/* ══════════════════════════════════════════════════════════════════════
   WHITE-BG MODE
   Rule: base color dark. Hero mastheads + dark cards keep white text.
   DO NOT set h1/h2/h3/a globally - too broad, bleeds into dark heroes.
   ══════════════════════════════════════════════════════════════════════ */

.CENTRE.white-bg,
.white-bg.CENTRE {
  background:#ffffff;
  color:#0c0c0e;
}

/* ── Section heads that sit directly on white surface ─────────── */
.CENTRE.white-bg .csh-title,
.CENTRE.white-bg .sh-title       { color:#0c0c0e; }
.CENTRE.white-bg .csh-eyebrow,
.CENTRE.white-bg .sh-eyebrow     { color:var(--dc-red); }
.CENTRE.white-bg .csh-sub,
.CENTRE.white-bg .sh-sub         { color:rgba(0,0,0,.5); }
.CENTRE.white-bg .csh-count      { color:rgba(0,0,0,.35); background:rgba(0,0,0,.06); }
.CENTRE.white-bg .sh-link        { color:rgba(0,0,0,.45); }
.CENTRE.white-bg .cat-section-head { border-color:rgba(0,0,0,.08); }

/* ── Filters, pills, dropdowns on white ───────────────────────── */
.CENTRE.white-bg .ev-pill { background:rgba(0,0,0,.05); color:rgba(0,0,0,.65); border-color:rgba(0,0,0,.1); }
.CENTRE.white-bg .ev-pill.on,.CENTRE.white-bg .ev-pill:hover { background:var(--dc-red);color:#fff;border-color:var(--dc-red); }
.CENTRE.white-bg select,.CENTRE.white-bg .ev-filter-select,.CENTRE.white-bg .fsb-sel,.CENTRE.white-bg .fsb-input {
  background:#fff; border-color:rgba(0,0,0,.12); color:#0c0c0e;
}
.CENTRE.white-bg .ev-count,.CENTRE.white-bg .events-count { color:rgba(0,0,0,.5); }

/* ── Buttons on white surface ─────────────────────────────────── */
.CENTRE.white-bg .btn-ghost,.CENTRE.white-bg .btn-ghost-sm { color:#0c0c0e; border-color:rgba(0,0,0,.2); }
.CENTRE.white-bg .ev-section-label { color:#0c0c0e; }
.CENTRE.white-bg .ev-section-rule { background:rgba(0,0,0,.1); }
.CENTRE.white-bg .btn-ghost:hover,.CENTRE.white-bg .btn-ghost-sm:hover { background:rgba(0,0,0,.06); color:#0c0c0e; }
.CENTRE.white-bg .btn-primary,.CENTRE.white-bg .btn-primary-sm { color:#fff; }
.CENTRE.white-bg .btn-load-more { background:rgba(0,0,0,.06); color:#0c0c0e; border-color:rgba(0,0,0,.12); }
.CENTRE.white-bg .btn-load-more:hover { background:rgba(0,0,0,.1); }

/* ── cs-item strands (sit directly on white) ──────────────────── */
.CENTRE.white-bg .cs-label { color:#0c0c0e; }
.CENTRE.white-bg .cs-desc  { color:rgba(0,0,0,.45); }

/* ══ DARK CARD CONTAINERS - give solid bg + restore white text ══ */
/* Background overrides */
.CENTRE.white-bg .ev-card      { /* keep category gradient - shadow only */ box-shadow:0 6px 28px rgba(0,0,0,.22),0 2px 6px rgba(0,0,0,.12); }
.CENTRE.white-bg .ev-card:hover{ box-shadow:0 18px 50px rgba(0,0,0,.32),0 0 60px color-mix(in srgb,var(--cc,#ff6b00) 25%,transparent); }
.CENTRE.white-bg .cat-ev-card  { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); box-shadow:0 2px 10px rgba(0,0,0,.1); }
.CENTRE.white-bg .cvg-card     { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); }
.CENTRE.white-bg .fvg-card     { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); box-shadow:0 2px 10px rgba(0,0,0,.1); }
.CENTRE.white-bg .scd-card     { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); }
.CENTRE.white-bg .sstd-card    { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); }
.CENTRE.white-bg .clg-card     { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); }
.CENTRE.white-bg .cgc-card     { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); }
.CENTRE.white-bg .cpp-card     { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); }
.CENTRE.white-bg .fstory-card  { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); }
.CENTRE.white-bg .fhood-card   { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); }
.CENTRE.white-bg .dir-card     { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); }
.CENTRE.white-bg .evs-sidebar-card,.CENTRE.white-bg .evs-ticket-card { background:var(--dark3,#1a1a20); }

/* White text on ALL dark cards - one rule, children inherit */
.CENTRE.white-bg .ev-card,
.CENTRE.white-bg .cat-ev-card,
.CENTRE.white-bg .cvg-card,
.CENTRE.white-bg .fvg-card,
.CENTRE.white-bg .scd-card,.CENTRE.white-bg .sstd-card,
.CENTRE.white-bg .clg-card,.CENTRE.white-bg .cgc-card,.CENTRE.white-bg .cpp-card,
.CENTRE.white-bg .fstory-card,.CENTRE.white-bg .fhood-card,
.CENTRE.white-bg .dir-card,
.CENTRE.white-bg .evs-sidebar-card,.CENTRE.white-bg .evs-ticket-card { color:rgba(255,255,255,.85); }

/* Links inside dark cards */
.CENTRE.white-bg .ev-card a,.CENTRE.white-bg .cat-ev-card a,
.CENTRE.white-bg .cvg-card a,.CENTRE.white-bg .fvg-card a,
.CENTRE.white-bg .scd-card a,.CENTRE.white-bg .sstd-card a,
.CENTRE.white-bg .clg-card a,.CENTRE.white-bg .cgc-card a,
.CENTRE.white-bg .dir-card a,.CENTRE.white-bg .fstory-card a,
.CENTRE.white-bg .fhood-card a { color:rgba(255,255,255,.9); }

/* btn-ghost inside dark cards - keep light style */
.CENTRE.white-bg .cat-ev-card .btn-ghost-sm,
.CENTRE.white-bg .fvg-card .btn-ghost-sm,
.CENTRE.white-bg .ev-card .btn-ghost-sm { color:rgba(255,255,255,.7); border-color:rgba(255,255,255,.2); }

/* ══ DARK HERO MASTHEADS - always dark image bg, keep white text ══ */
.CENTRE.white-bg .culture-masthead,
.CENTRE.white-bg .ev-page-masthead,
.CENTRE.white-bg .food-masthead,
.CENTRE.white-bg .spm-hero,
.CENTRE.white-bg [class*="-masthead"] { color:rgba(255,255,255,.9); }

/* Links inside mastheads */
.CENTRE.white-bg .culture-masthead a,
.CENTRE.white-bg .ev-page-masthead a,
.CENTRE.white-bg [class*="-masthead"] a { color:rgba(255,255,255,.9); }

/* ── Newsletter blocks - always dark gradient bg ──────────────── */
.CENTRE.white-bg [class*="nl-block"],.CENTRE.white-bg [class*="-nl-"] { color:rgba(255,255,255,.9); }
.CENTRE.white-bg .fnl-title  { color:#fff; }
.CENTRE.white-bg .fnl-sub    { color:rgba(255,255,255,.6); }
.CENTRE.white-bg .fnl-input  { color:#fff; background:rgba(255,255,255,.1); }

/* ── scb active pill keeps white ──────────────────────────────── */
.CENTRE.white-bg .scb-on { color:#fff; }

/* ── Single event page meta grid ─────────────────────────────── */
.CENTRE.white-bg .ev-meta-item {
  background:var(--dark3,#1a1a20);
  border-color:rgba(255,255,255,.07);
}
.CENTRE.white-bg .ev-meta-label { color:rgba(255,255,255,.4); }
.CENTRE.white-bg .ev-meta-val   { color:rgba(255,255,255,.9); }

/* ── Single event page - elements on white surface ───────────── */
.CENTRE.white-bg .evs-left,
.CENTRE.white-bg .evs-body       { color:#0c0c0e; }
.CENTRE.white-bg .evs-breadcrumb { color:rgba(0,0,0,.4); }
.CENTRE.white-bg .evs-breadcrumb a { color:rgba(0,0,0,.55); }
.CENTRE.white-bg .evs-section-head { color:rgba(0,0,0,.5); }
.CENTRE.white-bg .evs-section-head::after { background:rgba(0,0,0,.1); }
.CENTRE.white-bg .evs-description { color:rgba(0,0,0,.72); }
.CENTRE.white-bg .evs-description a { color:#1a56ff; }
.CENTRE.white-bg .evs-description h2,
.CENTRE.white-bg .evs-description h3 { color:#0c0c0e; }
.CENTRE.white-bg .evs-fact-label { color:rgba(0,0,0,.45); }
.CENTRE.white-bg .evs-fact-val,
.CENTRE.white-bg .evs-fact-value { color:#0c0c0e; }
.CENTRE.white-bg .evs-tag { background:rgba(0,0,0,.06); color:rgba(0,0,0,.65); border-color:rgba(0,0,0,.1); }
.CENTRE.white-bg .evs-hero-title { color:#fff; }
.CENTRE.white-bg .evs-hero-meta  { color:rgba(255,255,255,.85); }
.CENTRE.white-bg .evs-cta-row .evs-btn-secondary { background:#f4f4f6; border:1px solid rgba(0,0,0,.12); color:#0c0c0e; }
.CENTRE.white-bg .venue-reviews-section { border-top-color:rgba(0,0,0,.08); }
.CENTRE.white-bg .vr-avg   { color:#0c0c0e; }
.CENTRE.white-bg .vr-count { color:rgba(0,0,0,.4); }
.CENTRE.white-bg #vr-list > div { color:rgba(0,0,0,.35); }
.CENTRE.white-bg .evs-about-label,
.CENTRE.white-bg .evs-getting-there-label { color:rgba(0,0,0,.5); }
.CENTRE.white-bg .evs-desc  { color:rgba(0,0,0,.75); }
.CENTRE.white-bg .eti-name  { color:#0c0c0e; }
.CENTRE.white-bg .eti-desc  { color:rgba(0,0,0,.55); }

/* ── Transport block - has dark bg, needs solid bg on white pages ── */
.CENTRE.white-bg .evs-transport--light {
  background:var(--dark3,#1a1a20);
  border-color:rgba(255,255,255,.07);
}
/* transport text already white in base CSS - no override needed */

/* ── Venue block - dark bg, keep white text (remove dark overrides) ── */
.CENTRE.white-bg .evs-venue-block { background:var(--dark3,#1a1a20); border-color:rgba(255,255,255,.07); }
.CENTRE.white-bg .evs-vb-name    { color:#fff; }
.CENTRE.white-bg .evs-vb-address { color:rgba(255,255,255,.45); }
.CENTRE.white-bg .evs-vb-link    { color:var(--dc-blue); }

/* ── Text directly on white background ─────────────────────────────── */
.CENTRE.white-bg .evs-left,
.CENTRE.white-bg .evs-body {
  color: #0c0c0e;
}
/* Breadcrumb */
.CENTRE.white-bg .evs-breadcrumb { color: rgba(0,0,0,.4); }
.CENTRE.white-bg .evs-breadcrumb a { color: rgba(0,0,0,.55); }
/* Section divider labels */
.CENTRE.white-bg .evs-section-head { color: rgba(0,0,0,.5); }
.CENTRE.white-bg .evs-section-head::after { background: rgba(0,0,0,.1); }
/* Description body text */
.CENTRE.white-bg .evs-description { color: rgba(0,0,0,.72); }
.CENTRE.white-bg .evs-description strong,
.CENTRE.white-bg .evs-description b { color: #0c0c0e; }
.CENTRE.white-bg .evs-description h2,
.CENTRE.white-bg .evs-description h3 { color: #0c0c0e; }
.CENTRE.white-bg .evs-description a { color: #1a56ff; }
/* Facts grid labels/values */
.CENTRE.white-bg .evs-fact-label { color: rgba(0,0,0,.45); }
.CENTRE.white-bg .evs-fact-val,
.CENTRE.white-bg .evs-fact-value { color: #0c0c0e; }
/* Tags */
.CENTRE.white-bg .evs-tag { background: rgba(0,0,0,.06); color: rgba(0,0,0,.65); border-color: rgba(0,0,0,.1); }
/* Hero (always has image/scrim behind it - keep white text) */
.CENTRE.white-bg .evs-hero-title { color: #fff; }
.CENTRE.white-bg .evs-hero-meta { color: rgba(255,255,255,.85); }
/* CTA secondary buttons on white */
.CENTRE.white-bg .evs-cta-row .evs-btn-secondary {
  background: #f4f4f6; border: 1px solid rgba(0,0,0,.12); color: #0c0c0e;
}
/* Reviews section - sits on white */
.CENTRE.white-bg .venue-reviews-section { border-top-color: rgba(0,0,0,.08); }
.CENTRE.white-bg .vr-avg { color: #0c0c0e; }
.CENTRE.white-bg .vr-count { color: rgba(0,0,0,.4); }
.CENTRE.white-bg #vr-list > div { color: rgba(0,0,0,.35); }
/* Legacy field names */
.CENTRE.white-bg .evs-about-label,
.CENTRE.white-bg .evs-getting-there-label { color: rgba(0,0,0,.5); }
.CENTRE.white-bg .evs-desc { color: rgba(0,0,0,.75); }
.CENTRE.white-bg .eti-name { color: #0c0c0e; }
.CENTRE.white-bg .eti-desc { color: rgba(0,0,0,.55); }

/* ── Events listing page - elements that sit on white background ── */
/* Filter pills */
.CENTRE.white-bg .ev-pill {
  background: rgba(0,0,0,.05); color: rgba(0,0,0,.65);
  border-color: rgba(0,0,0,.1);
}
.CENTRE.white-bg .ev-pill.on,
.CENTRE.white-bg .ev-pill:hover {
  background: var(--dc-red); color: #fff; border-color: var(--dc-red);
}
/* Category count pills (Music 319 etc.) */
.CENTRE.white-bg .ev-cat-pills .ev-pill { background: rgba(0,0,0,.04); }
/* Page count text ("701 events") */
.CENTRE.white-bg .ev-count,
.CENTRE.white-bg .events-count,
.CENTRE.white-bg [class*="ev-count"] { color: rgba(0,0,0,.5); }
/* Section/page headings */
.CENTRE.white-bg .sh-title { color: #0c0c0e; }
.CENTRE.white-bg .sh-eyebrow { color: var(--dc-red); }
.CENTRE.white-bg .sh-sub { color: rgba(0,0,0,.5); }
/* Filter bar dropdowns */
.CENTRE.white-bg select,
.CENTRE.white-bg .ev-filter-select {
  background: #fff; border-color: rgba(0,0,0,.12); color: #0c0c0e;
}
/* ── Dark cards on white pages - keep category gradient, shadow only ── */
/* ev-card (events listing) - DO NOT override background, let category gradient show */
.CENTRE.white-bg .ev-card {
  box-shadow: 0 6px 28px rgba(0,0,0,.22), 0 2px 6px rgba(0,0,0,.12);
}
.CENTRE.white-bg .ev-card:hover {
  box-shadow: 0 20px 55px rgba(0,0,0,.34),
              0 0 70px color-mix(in srgb, var(--cc,#ff6b00) 28%, transparent);
}
.CENTRE.white-bg .ev-card .ev-card-title,
.CENTRE.white-bg .ev-card .ev-card-title a { color: rgba(255,255,255,.9); }
.CENTRE.white-bg .ev-card .ev-card-meta  { color: rgba(255,255,255,.5); }
.CENTRE.white-bg .ev-card .ev-card-meta i { color: rgba(255,255,255,.3); }
.CENTRE.white-bg .ev-card .ev-card-excerpt { color: rgba(255,255,255,.5); }
/* cat-ev-card (sport/culture/music event cards) */
.CENTRE.white-bg .cat-ev-card {
  background: var(--dark3, #1a1a20);
  border-color: rgba(255,255,255,.08);
}
/* scd-card (sport clubs/stadiums) */
.CENTRE.white-bg .scd-card,
.CENTRE.white-bg .sstd-card {
  background: var(--dark3, #1a1a20);
  border-color: rgba(255,255,255,.08);
}
/* cvg-card (culture venues) */
.CENTRE.white-bg .cvg-card {
  background: var(--dark3, #1a1a20);
  border-color: rgba(255,255,255,.08);
}
/* fstory-card (stories) */
.CENTRE.white-bg .fstory-card {
  background: var(--dark3, #1a1a20);
  border-color: rgba(255,255,255,.08);
}
/* Generic white-alpha cards that become invisible on white */
.CENTRE.white-bg [class*="-card"]:not(.evs-sidebar-card):not(.evs-ticket-card):not([class*="ev-card-"]):not(.ev-card):not([class*="dir-card"]) {
  background: var(--dark3, #1a1a20);
}
/* cs-item (culture strand icons) - sit directly on white, use dark text */
.CENTRE.white-bg .cs-label { color: #0c0c0e; }
.CENTRE.white-bg .cs-desc  { color: rgba(0,0,0,.45); }
/* Sidebar/info boxes */
.CENTRE.white-bg .evs-sidebar-card { background: var(--dark3, #1a1a20); }
/* Load-more button on white */
.CENTRE.white-bg .btn-load-more {
  background: rgba(0,0,0,.06);
  color: #0c0c0e;
  border-color: rgba(0,0,0,.12);
}
/* Section headings/eyebrows inside white pages */
.CENTRE.white-bg .cat-section-head,
.CENTRE.white-bg .csh-label { color: rgba(0,0,0,.5); }
.CENTRE.white-bg .csh-label::after { background: rgba(0,0,0,.1); }

/* ── Events filter bar & count on white bg ───────────────────────── */
.CENTRE.white-bg .ev-filter-advanced {
  background:rgba(0,0,0,.02);
  border-bottom-color:rgba(0,0,0,.08);
}
.CENTRE.white-bg .efa-date {
  background:rgba(0,0,0,.04);
  border-color:rgba(0,0,0,.12);
  color:#0c0c0e;
}
.CENTRE.white-bg .efa-sel option { background:#fff; color:#0c0c0e; }
.CENTRE.white-bg .efa-bottom { border-top-color:rgba(0,0,0,.08); }
.CENTRE.white-bg .efa-vb {
  color:#3a3a42 !important;
  background:rgba(0,0,0,.04) !important;
  border-color:rgba(0,0,0,.12) !important;
}
.CENTRE.white-bg .efa-vb i { color:inherit !important; }
.CENTRE.white-bg .efa-vb:hover { color:#fff !important;background:var(--dc-red) !important;border-color:var(--dc-red) !important; }
.CENTRE.white-bg .efa-vb.on { color:#fff !important;background:var(--dc-red) !important;border-color:var(--dc-red) !important; }
.CENTRE.white-bg .efa-vb.on i { color:#fff !important; }
/* keep all three view-toggle buttons exactly the same size and baseline */
.efa-view-btns { align-items:center; }
.efa-vb { flex-shrink:0;box-sizing:border-box; }
/* ensure count chips are exact same height across all categories */
.epm-live-bar .epm-lb-item { box-sizing:border-box;line-height:1; }
.epm-live-bar .epm-lb-count { display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;box-sizing:border-box;line-height:1; }
.CENTRE.white-bg .ev-results-head { border-bottom-color:rgba(0,0,0,.08); }
.CENTRE.white-bg .erh-count { color:rgba(0,0,0,.5); }
.CENTRE.white-bg .erh-count strong { color:#0c0c0e; }
.CENTRE.white-bg .erh-count em { color:rgba(0,0,0,.7); }
.CENTRE.white-bg .erh-submit { color:rgba(0,0,0,.65);border-color:rgba(0,0,0,.1); }
.CENTRE.white-bg .erh-submit:hover { color:#0c0c0e;border-color:rgba(0,0,0,.2);background:rgba(0,0,0,.05); }

/* ── Food cat nav + search bar on white bg ───────────────────────── */
.CENTRE.white-bg .food-cat-nav { border-bottom-color:rgba(0,0,0,.08); }
.CENTRE.white-bg .fcn-pill {
  background:rgba(0,0,0,.05);
  border-color:rgba(0,0,0,.1);
  color:rgba(0,0,0,.6);
}
.CENTRE.white-bg .fcn-pill:hover { background:rgba(0,0,0,.09);color:#0c0c0e; }
.CENTRE.white-bg .fcn-on { background:rgba(45,181,75,.1);border-color:rgba(45,181,75,.35);color:#1a7a30; }
.CENTRE.white-bg .fsb-form {
  background:rgba(0,0,0,.03);
  border-color:rgba(0,0,0,.1);
}
.CENTRE.white-bg .fsb-search-wrap { border-right-color:rgba(0,0,0,.08); }
.CENTRE.white-bg .fsb-ico { color:rgba(0,0,0,.3); }
.CENTRE.white-bg .fsb-input { background:transparent; }
.CENTRE.white-bg .fsb-input::placeholder { color:rgba(0,0,0,.35); }
.CENTRE.white-bg .fsb-clear { color:rgba(0,0,0,.3); }
.CENTRE.white-bg .fsb-sel { background:transparent;border-right-color:rgba(0,0,0,.08); }
.CENTRE.white-bg .fsb-view-toggle { border-left-color:rgba(0,0,0,.08); }
.CENTRE.white-bg .fsb-view { color:rgba(0,0,0,.3); }
.CENTRE.white-bg .fsb-view:hover,.CENTRE.white-bg .fsb-view-on { color:#0c0c0e;background:rgba(0,0,0,.05); }
.CENTRE.white-bg .fsb-actions { border-top-color:rgba(0,0,0,.08); }
.CENTRE.white-bg .fsb-af-tag { background:rgba(0,0,0,.06);color:rgba(0,0,0,.55); }
.CENTRE.white-bg .fsb-af-tag a { color:rgba(0,0,0,.35); }
.CENTRE.white-bg .fsb-af-tag a:hover { color:#0c0c0e; }
.CENTRE.white-bg .frh-count { color:rgba(0,0,0,.5); }
.CENTRE.white-bg .frh-count strong { color:#0c0c0e; }
.CENTRE.white-bg .frh-count em { color:rgba(0,0,0,.7); }

/* ── Sport type nav on white bg ──────────────────────────────────── */
.CENTRE.white-bg .sport-type-nav { border-bottom-color:rgba(0,0,0,.08); }
.CENTRE.white-bg .stn-pill {
  background:rgba(0,0,0,.04);
  border-color:rgba(0,0,0,.1);
}
.CENTRE.white-bg .stn-icon,
.CENTRE.white-bg .stn-label { color:rgba(0,0,0,.5); }
.CENTRE.white-bg .stn-pill:hover { background:rgba(26,86,255,.08);border-color:rgba(26,86,255,.25); }
.CENTRE.white-bg .stn-pill:hover .stn-icon,
.CENTRE.white-bg .stn-pill:hover .stn-label { color:#1A56FF; }

/* ── Event single: fact boxes on white bg ────────────────────────── */
.CENTRE.white-bg .evs-fact {
  background:#f4f4f6;
  border-color:rgba(0,0,0,.08);
}
.CENTRE.white-bg .evs-fact--accent {
  border-color:color-mix(in srgb, var(--ac,var(--dc-red)) 30%, transparent);
  background:color-mix(in srgb, var(--ac,var(--dc-red)) 8%, #f4f4f6);
}
.CENTRE.white-bg .evs-fact-val small { color:rgba(0,0,0,.4); }
.CENTRE.white-bg .evs-past-chip { background:rgba(0,0,0,.06);color:rgba(0,0,0,.45); }

/* ── Story single: all text on white bg ──────────────────────────── */
.CENTRE.white-bg .story-back { color:rgba(0,0,0,.4); }
.CENTRE.white-bg .story-back:hover { color:#0c0c0e; }
.CENTRE.white-bg .sv2-headline { color:#0c0c0e; }
.CENTRE.white-bg .sv2-standfirst {
  color:rgba(0,0,0,.62);
  border-left-color:rgba(0,0,0,.15);
}
.CENTRE.white-bg .sv2-byline {
  border-top-color:rgba(0,0,0,.08);
  border-bottom-color:rgba(0,0,0,.08);
}
.CENTRE.white-bg .sv2-avatar { border-color:rgba(0,0,0,.1); }
.CENTRE.white-bg .sv2-author { color:#0c0c0e; }
.CENTRE.white-bg .sv2-meta { color:rgba(0,0,0,.4); }
.CENTRE.white-bg .sv2-body { color:rgba(0,0,0,.78); }
.CENTRE.white-bg .sv2-body h2,
.CENTRE.white-bg .sv2-body h3 { color:#0c0c0e; }
.CENTRE.white-bg .sv2-body strong { color:#0c0c0e; }
.CENTRE.white-bg .sv2-body blockquote {
  background:rgba(0,0,0,.03);
  color:rgba(0,0,0,.62);
}
.CENTRE.white-bg .sv2-body .wp-block-pullquote p { color:#0c0c0e; }
.CENTRE.white-bg .sv2-body .wp-block-image figcaption { color:rgba(0,0,0,.35); }
.CENTRE.white-bg .sv2-tags { border-top-color:rgba(0,0,0,.08); }
.CENTRE.white-bg .sv2-tag {
  background:rgba(0,0,0,.05);
  border-color:rgba(0,0,0,.1);
  color:rgba(0,0,0,.55);
}
.CENTRE.white-bg .sv2-tag:hover { background:rgba(0,0,0,.09);color:#0c0c0e; }
.CENTRE.white-bg .sv2-footer {
  border-top-color:rgba(0,0,0,.08);
}
.CENTRE.white-bg .sv2-footer-by { color:rgba(0,0,0,.35); }
.CENTRE.white-bg .sv2-footer-name { color:#0c0c0e; }
.CENTRE.white-bg .sv2-footer-bio { color:rgba(0,0,0,.4); }
.CENTRE.white-bg .sv2-footer-avatar { border-color:rgba(0,0,0,.1); }
.CENTRE.white-bg .sv2-footer-share-label { color:rgba(0,0,0,.35); }
.CENTRE.white-bg .sv2-related-title { color:#0c0c0e; }
/* General .single-content (fallback for WP posts) */
.CENTRE.white-bg .single-content { color:rgba(0,0,0,.78); }
.CENTRE.white-bg .single-content strong { color:#0c0c0e; }
.CENTRE.white-bg .single-content h2,
.CENTRE.white-bg .single-content h3 { color:#0c0c0e; }

/* ── This Week in Manchester - white background ─────────────────── */
.CG-WRAP { background:#ffffff; padding:0 0 24px; margin:0 -28px; padding:0 28px 24px; }

/* CG-WRAP section-head on white */
.CG-WRAP .sh-title { color:#0c0c0e; }
.CG-WRAP .sh-eyebrow { color:var(--dc-red); }

/* ══════════════════════════════════════════════════════════════
   WHAT'S ON TONIGHT - REDESIGNED v2
   White background, two-panel layout, hourly timeline + weekly grid
══════════════════════════════════════════════════════════════ */
.WOT {
  margin:-28px -28px 0 -28px;
  background:#ffffff;
  border-bottom:1px solid rgba(0,0,0,.08);
}

/* ── Top bar ─────────────────────────────────────────────────── */
.wot-topbar {
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px 0;gap:16px;flex-wrap:wrap;
}
.wot-topbar-left {}
.wot-title {
  font-family:'Inter Tight',sans-serif;font-weight:900;
  font-size:clamp(1.3rem,2.5vw,1.8rem);letter-spacing:-.04em;
  color:#0c0c0e;line-height:1;margin:0 0 4px;
}
.wot-date-label {font-size:.6rem;font-weight:500;color:rgba(0,0,0,.4);letter-spacing:.02em;}
.wot-topbar-center {display:flex;align-items:center;gap:5px;flex:1;justify-content:center;}
.wot-nav-btn {
  width:32px;height:32px;border-radius:8px;
  border:1px solid rgba(0,0,0,.12);background:#fff;
  color:rgba(0,0,0,.5);font-size:.55rem;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .15s;flex-shrink:0;
}
.wot-nav-btn:hover {border-color:rgba(0,0,0,.25);color:#0c0c0e;background:#f5f5f7;}
.wot-week-strip {display:flex;gap:3px;}
.wot-wday {
  width:40px;height:44px;border-radius:8px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  border:1px solid rgba(0,0,0,.1);background:#fafafa;
  cursor:pointer;transition:all .15s;position:relative;
}
.wot-wday:hover {border-color:rgba(0,0,0,.2);background:#f0f0f2;}
.wot-wday.active {background:#E8201A;border-color:#E8201A;}
.wot-wday-dn {font-size:.38rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(0,0,0,.35);}
.wot-wday.active .wot-wday-dn {color:rgba(255,255,255,.8);}
.wot-wday-num {font-size:.82rem;font-weight:900;color:#0c0c0e;line-height:1;}
.wot-wday.active .wot-wday-num {color:#fff;}
.wot-wday-dot {
  position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;
  background:rgba(0,0,0,.2);
}
.wot-wday.active .wot-wday-dot {background:rgba(255,255,255,.7);}
.wot-live-badge {
  display:flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:100px;
  background:#E8201A;color:#fff;
  font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;
}
.wot-live-dot {
  width:6px;height:6px;border-radius:50%;background:#fff;
  animation:wot-blink 1.2s ease infinite;flex-shrink:0;
}
@keyframes wot-blink{0%,100%{opacity:1}50%{opacity:.3}}
.wot-topbar-right {display:flex;align-items:center;}

/* ── Filter pills ─────────────────────────────────────────────── */
.wot-filterbar {
  display:flex;align-items:center;gap:7px;
  padding:14px 20px;flex-wrap:nowrap;
  overflow-x:auto;scrollbar-width:none;
  border-bottom:1px solid rgba(0,0,0,.07);
}
.wot-filterbar::-webkit-scrollbar{display:none;}
/* 2030 pill design */
.wot-flt {
  flex-shrink:0;
  padding:7px 16px;border-radius:100px;
  font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  border:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);
  display:flex;align-items:center;gap:6px;
  color:#fff;
  position:relative;
  /* default inactive - dark glass */
  background:rgba(255,255,255,.07);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 2px 8px rgba(0,0,0,.2);
}
.wot-flt:hover { transform:translateY(-1px); filter:brightness(1.15); }
.wot-flt.on { transform:translateY(-1px); }
/* ALL */
.wot-flt[data-cat="all"] { background:rgba(255,255,255,.1); color:rgba(255,255,255,.6); }
.wot-flt[data-cat="all"].on {
  background:linear-gradient(135deg,#1a1a20,#333);
  color:#fff;
  box-shadow:0 4px 18px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.15) inset;
}
/* MUSIC - red */
.wot-flt[data-cat="music"] { color:rgba(255,80,60,.7);background:rgba(232,32,26,.08); }
.wot-flt[data-cat="music"].on {
  background:linear-gradient(135deg,#E8201A,#ff5533);
  color:#fff;
  box-shadow:0 4px 20px rgba(232,32,26,.5), 0 0 30px rgba(232,32,26,.25), 0 1px 0 rgba(255,255,255,.2) inset;
}
/* SPORT - blue */
.wot-flt[data-cat="sport"] { color:rgba(60,120,255,.8);background:rgba(26,86,255,.08); }
.wot-flt[data-cat="sport"].on {
  background:linear-gradient(135deg,#1A56FF,#4d7fff);
  color:#fff;
  box-shadow:0 4px 20px rgba(26,86,255,.5), 0 0 30px rgba(26,86,255,.25), 0 1px 0 rgba(255,255,255,.2) inset;
}
/* FOOD - green */
.wot-flt[data-cat="food"] { color:rgba(45,181,75,.9);background:rgba(45,181,75,.08); }
.wot-flt[data-cat="food"].on {
  background:linear-gradient(135deg,#2DB54B,#40d960);
  color:#fff;
  box-shadow:0 4px 20px rgba(45,181,75,.5), 0 0 30px rgba(45,181,75,.25), 0 1px 0 rgba(255,255,255,.2) inset;
}
/* NIGHTLIFE - orange */
.wot-flt[data-cat="nightlife"] { color:rgba(255,107,0,.9);background:rgba(255,107,0,.08); }
.wot-flt[data-cat="nightlife"].on {
  background:linear-gradient(135deg,#FF6B00,#ff9933);
  color:#fff;
  box-shadow:0 4px 20px rgba(255,107,0,.5), 0 0 30px rgba(255,107,0,.25), 0 1px 0 rgba(255,255,255,.2) inset;
}
/* CULTURE - purple */
.wot-flt[data-cat="culture"] { color:rgba(150,80,255,.9);background:rgba(124,58,237,.08); }
.wot-flt[data-cat="culture"].on {
  background:linear-gradient(135deg,#7C3AED,#a855f7);
  color:#fff;
  box-shadow:0 4px 20px rgba(124,58,237,.5), 0 0 30px rgba(124,58,237,.25), 0 1px 0 rgba(255,255,255,.2) inset;
}
.wot-flt-dot {width:6px;height:6px;border-radius:50%;flex-shrink:0;background:currentColor;opacity:.7;}
.wot-full-cal-btn {
  margin-left:auto;display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;border-radius:100px;
  background:#E8201A;color:#fff;font-size:.58rem;font-weight:800;
  text-decoration:none;letter-spacing:.03em;white-space:nowrap;
  transition:opacity .15s;flex-shrink:0;
}
.wot-full-cal-btn:hover {opacity:.85;}
.wot-full-cal-btn i {font-size:.5em;}

/* ══════════════════════════════════════════════════════════════
   WOT - PREMIUM TIME GRID (Disney · Apple · Tesla)
══════════════════════════════════════════════════════════════ */

/* ── Time grid container ───────────────────────────────────── */
.wot-tg {
  overflow-y:auto;
  max-height:560px;
  background:#0d0d10;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.1) transparent;
  padding:4px 0 16px;
}
.wot-tg::-webkit-scrollbar{width:3px;}
.wot-tg::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:2px;}

/* ── Hour rows ─────────────────────────────────────────────── */
.wot-tg-row {
  display:flex;
  align-items:flex-start;
  min-height:20px;
  border-bottom:1px solid rgba(255,255,255,.04);
  position:relative;
}
.wot-tg-row:not(.has-ev){opacity:0;height:0;min-height:0;overflow:hidden;border:none;}

/* ── Time label ────────────────────────────────────────────── */
.wot-tg-time {
  width:52px;
  flex-shrink:0;
  padding:13px 10px 10px 16px;
  font-size:.54rem;
  font-weight:300;
  color:rgba(255,255,255,.55);
  letter-spacing:.04em;
  text-transform:uppercase;
  text-align:right;
  line-height:1;
  font-variant-numeric:tabular-nums;
}

/* ── Event row ─────────────────────────────────────────────── */
.wot-tg-ev-row {
  flex:1;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:5px;
  padding:8px 14px 8px 10px;
  border-left:1px solid rgba(255,255,255,.06);
  min-height:24px;
  overflow-x:auto;
  overflow-y:visible;
  scrollbar-width:none;
}
.wot-tg-ev-row::-webkit-scrollbar{display:none;}

/* ══ EVENT PILLS - compact dark glass ═══════════════════════ */
/* WOT V19: old .wot-ev-pill glassmorphism definition removed */
/* WOT V19: old .wot-ev-pill::before flat-color removed */
.wot-ev-pill>* { position:relative; z-index:1; }
.wot-ev-pill:hover::before { opacity:.25; }
.wot-ev-pill:hover {
  background:rgba(0,0,0,.4);
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(0,0,0,.45);
}
.wot-ev-pill.active {
  background:rgba(0,0,0,.4) !important;
  border-color:rgba(255,255,255,.15) !important;
}

/* ── Title ─────────────────────────────────────────────────── */
/* WOT V19: old .wot-ep-title sizing removed */

/* ── Sub (venue · price) ───────────────────────────────────── */
/* WOT V19: old .wot-ep-sub sizing removed */

/* keep badge/venue hidden */
.wot-ep-badge { display:none; }
.wot-ep-venue { display:none; }

/* ══ INLINE EXPAND DRAWER - ultra premium ══════════════════ */
.wot-expand {
  display:none;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.wot-expand.open {
  display:block;
  animation:wotExpandIn .32s cubic-bezier(.4,0,.2,1) both;
}
@keyframes wotExpandIn {
  from{opacity:0;transform:translateY(-8px);}
  to{opacity:1;transform:translateY(0);}
}
.wot-expand-inner {
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:22px 28px 24px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--ec,#888) 12%,#0f0f14) 0%,#111116 60%);
  border-left:4px solid var(--ec,#888);
  flex-wrap:wrap;position:relative;overflow:hidden;
}
.wot-expand-img {
  width:120px;height:90px;flex-shrink:0;
  border-radius:10px;overflow:hidden;
}
.wot-expand-img img { width:100%;height:100%;object-fit:cover;display:block; }
.wot-expand-left { flex:1;min-width:0; }
.wot-expand-toprow { display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap; }
.wot-expand-badge {
  display:inline-flex;align-items:center;
  padding:3px 10px;border-radius:5px;
  font-size:.38rem;font-weight:900;letter-spacing:.12em;
  text-transform:uppercase;color:#fff;
  margin-bottom:8px;
}
.wot-expand-title {
  font-family:'Inter Tight',sans-serif;
  font-size:1.05rem;font-weight:900;
  color:#fff;letter-spacing:-.04em;line-height:1.2;
  margin-bottom:8px;
}
.wot-expand-meta {
  display:flex;align-items:center;flex-wrap:wrap;
  gap:12px;font-size:.57rem;
  color:rgba(255,255,255,.5);font-weight:600;margin-bottom:8px;
}
.wot-xm-item { display:inline-flex;align-items:center;gap:5px; }
.wot-xm-item i { color:rgba(255,255,255,.35);font-size:.7em; }
.wot-xm-price {
  color:#fff;font-weight:800;
  background:rgba(255,255,255,.1);
  padding:2px 9px;border-radius:20px;
}
.wot-expand-desc {
  font-size:.56rem;color:rgba(255,255,255,.38);font-weight:400;
  line-height:1.6;margin:0;max-width:520px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.wot-expand-btn {
  display:inline-flex;align-items:center;gap:9px;
  flex-shrink:0;padding:13px 26px;border-radius:12px;
  font-size:.6rem;font-weight:900;color:#fff;
  text-decoration:none;letter-spacing:.06em;text-transform:uppercase;
  white-space:nowrap;transition:opacity .18s ease;
}
.wot-expand-btn:hover { opacity:.85; }
@media(max-width:640px){
  /* ── Grid: image left spanning rows, content+btn right column ── */
  .wot-expand-inner{
    display:grid !important;
    grid-template-columns:80px 1fr !important;
    grid-template-rows:1fr auto !important;
    padding:16px !important;
    gap:0 14px !important;
    align-items:start;
  }
  .wot-expand-img{
    grid-column:1 !important;grid-row:1 / 3 !important;
    width:80px !important;height:80px !important;
    border-radius:8px !important;align-self:center;
  }
  .wot-expand-img img{border-radius:8px;}
  .wot-expand-left{
    grid-column:2 !important;grid-row:1 !important;
    min-width:0;
  }
  /* Hide cheesy badge - category already shown by border + gradient */
  .wot-expand-badge{display:none !important;}
  .wot-expand-title{font-size:.92rem !important;margin-bottom:4px !important;}
  .wot-expand-meta{font-size:.58rem !important;margin-bottom:5px !important;}
  .wot-expand-desc{
    font-size:.58rem !important;margin-bottom:0 !important;
    display:-webkit-box !important;-webkit-line-clamp:2;
    -webkit-box-orient:vertical;overflow:hidden;
  }
  .wot-expand-btn{
    grid-column:2 !important;grid-row:2 !important;
    justify-self:start !important;
    margin-top:10px !important;
    padding:7px 18px !important;font-size:.52rem !important;
    border-radius:6px !important;
    background:transparent !important;
    border:1.5px solid var(--ec,#888) !important;
    color:#fff !important;
  }
}

/* ══ EMPTY STATE ═══════════════════════════════════════════ */
.wot-tg-empty{
  display:flex;flex-direction:column;align-items:center;
  gap:12px;padding:64px 20px;text-align:center;
}
.wot-tg-empty i{font-size:2.5rem;color:rgba(255,255,255,.1);}
.wot-tg-empty div{font-size:.78rem;color:rgba(255,255,255,.3);font-weight:700;}
.wot-tg-empty a{font-size:.68rem;color:#E8201A;font-weight:800;text-decoration:none;}

/* ══ BOTTOM NAV BAR ════════════════════════════════════════ */
.wot-nav-bar{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  border-top:1px solid rgba(0,0,0,.06);
  background:#fafafa;
}
.wnb-item{
  display:flex;align-items:center;gap:10px;
  padding:14px 14px;
  text-decoration:none;
  color:rgba(0,0,0,.55);
  font-size:.58rem;
  font-weight:700;
  border-right:1px solid rgba(0,0,0,.055);
  transition:background .15s,color .15s;
}
.wnb-item:last-child{border-right:none;}
.wnb-item:hover{background:#f0f0f5;color:#0c0c0e;}
.wnb-icon{font-size:.95rem;flex-shrink:0;}
.wnb-label{font-size:.6rem;font-weight:800;color:#0c0c0e;line-height:1.1;}
.wnb-sub{font-size:.5rem;color:rgba(0,0,0,.38);margin-top:1px;font-weight:500;}

/* ══ RESPONSIVE ════════════════════════════════════════════ */
@media(max-width:900px) {
  .wot-nav-bar{grid-template-columns:repeat(4,1fr);}
  .wnb-item:nth-child(4){border-right:none;}
  .wnb-item:nth-child(n+5){border-top:1px solid rgba(0,0,0,.055);}
}
@media(max-width:640px) {
  .wot-topbar{padding:12px 14px 0;flex-wrap:wrap;gap:10px;}
  .wot-topbar-left{width:100%;order:1;}
  .wot-topbar-center{order:2;width:100%;justify-content:flex-start;padding-bottom:4px;overflow-x:auto;}
  .wot-topbar-right{order:1;margin-left:auto;}
  .wot-week-strip{gap:4px;flex-wrap:nowrap;}
  .wot-filterbar{padding:8px 14px;gap:5px;overflow-x:auto;flex-wrap:nowrap;}
  .wot-wday{width:36px;height:40px;flex-shrink:0;}
  .wot-wday-num{font-size:.72rem;}
  .wot-tg{max-height:380px;}
  .wot-tg-time{width:42px;font-size:.42rem;padding:14px 7px 10px 10px;}
  .wot-tg-ev-row{padding:8px 12px 8px 8px;gap:6px;}
  .wot-ep-title{max-width:110px;font-size:.6rem !important;}
  .wot-ep-venue{display:none;}
  .wot-ev-pill{padding:5px 8px 5px 7px;min-width:90px;max-width:160px;border-radius:6px;}
  .wot-nav-bar{grid-template-columns:repeat(4,1fr);}
  .wnb-item{padding:11px 10px;gap:7px;}
  .wnb-sub{display:none;}
}
@media(max-width:400px) {
  .wot-week-strip{gap:2px;}
  .wot-wday{width:32px;height:38px;}
}

/* ══════════════════════════════════════
   MCR CITY CUSTOMIZATIONS v10
══════════════════════════════════════ */

/* 1. Hide the Right Panel (RP) sticky tab completely */
.RP, 
.rp-tab, 
.rp-strip, 
.rp-inner, 
#rp, 
#rp-tab { 
  display:none !important; 
  visibility:hidden !important;
}

/* 2. WOT - premium dark top / white grid ══════════════════ */
.WOT {
  background:#000000 !important;
  border-top:none !important;
  margin-top:0 !important;
  padding-top:0 !important;
  padding-bottom:28px !important;
  position:relative !important;
  z-index:1 !important;
  overflow:hidden !important;
}

/* ── Section intro accent line ── */
.WOT::before {
  content:'';
  display:block;
  height:2px;
  background:linear-gradient(90deg,#E8201A 0%,#FF6B00 30%,#1A56FF 60%,#7C3AED 100%);
  opacity:.7;
}

/* ── Top bar: premium black ── */
.wot-topbar {
  background:#000000 !important;
  padding:16px 20px 0 !important;
  border-bottom:none !important;
}
.wot-title {
  color:#fff !important;
  font-size:1.35rem !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
}
.wot-date-label { color:rgba(255,255,255,.38) !important; }
.wot-nav-btn {
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  color:rgba(255,255,255,.6) !important;
  transition:background .15s,border-color .15s !important;
}
.wot-nav-btn:hover {
  background:rgba(255,255,255,.13) !important;
  border-color:rgba(255,255,255,.2) !important;
  color:#fff !important;
}

/* ── Day strip buttons ── */
.wot-wday {
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:12px !important;
  transition:background .15s,transform .15s !important;
}
.wot-wday-dn { color:rgba(255,255,255,.38) !important; font-size:.42rem !important; letter-spacing:.06em !important; }
.wot-wday-num { color:#fff !important; font-size:.8rem !important; font-weight:900 !important; }
.wot-wday:hover {
  background:rgba(255,255,255,.12) !important;
  transform:translateY(-2px) !important;
}
.wot-wday.active {
  background:linear-gradient(155deg,#ff3b30 0%,#E8201A 100%) !important;
  border-color:transparent !important;
  box-shadow:0 4px 18px rgba(232,32,26,.45) !important;
}
.wot-wday.active .wot-wday-dn { color:rgba(255,255,255,.75) !important; }
.wot-wday.active .wot-wday-num { color:#fff !important; }
.wot-wday-dot { background:rgba(255,255,255,.28) !important; }
.wot-wday.active .wot-wday-dot { background:rgba(255,255,255,.9) !important; }
.wot-live-badge {
  background:rgba(232,32,26,.15) !important;
  border:1px solid rgba(232,32,26,.3) !important;
  color:#ff6060 !important;
  animation:wotLivePulse 2s ease-in-out infinite !important;
}
@keyframes wotLivePulse{0%,100%{opacity:1;}50%{opacity:.65;}}

/* ── Filter bar ── */
.wot-filterbar {
  background:#000000 !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
  padding:10px 20px !important;
  gap:6px !important;
  align-items:center !important;
}

/* ── Filter pills - sleek outlined style ── */
.wot-flt {
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  padding:5px 13px !important;
  border-radius:100px !important;
  font-size:.49rem !important;
  font-weight:600 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  transition:background .15s ease, color .15s ease, border-color .15s ease !important;
  box-shadow:none !important;
  position:relative !important;
  overflow:visible !important;
}
.wot-flt::before { display:none !important; }

/* inactive - ghost outlined with category tint */
.wot-flt[data-cat="all"]       { background:transparent !important; border:1px solid rgba(255,255,255,.18) !important; color:rgba(255,255,255,.5) !important; }
.wot-flt[data-cat="music"]     { background:transparent !important; border:1px solid rgba(232,32,26,.4) !important;    color:rgba(232,32,26,.85) !important; }
.wot-flt[data-cat="sport"]     { background:transparent !important; border:1px solid rgba(26,86,255,.45) !important;   color:rgba(80,130,255,.95) !important; }
.wot-flt[data-cat="food"]      { background:transparent !important; border:1px solid rgba(45,181,75,.4) !important;    color:rgba(45,181,75,.9) !important; }
.wot-flt[data-cat="nightlife"] { background:transparent !important; border:1px solid rgba(255,107,0,.4) !important;    color:rgba(255,107,0,.9) !important; }
.wot-flt[data-cat="culture"]   { background:transparent !important; border:1px solid rgba(124,58,237,.45) !important;  color:rgba(160,100,255,.95) !important; }
.wot-flt[data-cat="family"]    { background:transparent !important; border:1px solid rgba(245,196,0,.4) !important;    color:rgba(245,196,0,.9) !important; }

/* active - solid fill */
.wot-flt[data-cat="all"].on       { background:rgba(255,255,255,.9) !important; border-color:transparent !important; color:#0c0c0e !important; }
.wot-flt[data-cat="music"].on     { background:#E8201A !important; border-color:transparent !important; color:#fff !important; }
.wot-flt[data-cat="sport"].on     { background:#1A56FF !important; border-color:transparent !important; color:#fff !important; }
.wot-flt[data-cat="food"].on      { background:#2DB54B !important; border-color:transparent !important; color:#fff !important; }
.wot-flt[data-cat="nightlife"].on { background:#FF6B00 !important; border-color:transparent !important; color:#fff !important; }
.wot-flt[data-cat="culture"].on   { background:#7C3AED !important; border-color:transparent !important; color:#fff !important; }
.wot-flt[data-cat="family"].on    { background:#d4a900 !important; border-color:transparent !important; color:#fff !important; }

.wot-flt:hover { opacity:.8 !important; }
.wot-flt-dot { display:none !important; }

.wot-full-cal-btn {
  background:transparent !important;
  border:1px solid rgba(255,255,255,.2) !important;
  color:rgba(255,255,255,.6) !important;
  font-size:.49rem !important;
  font-weight:600 !important;
  letter-spacing:.05em !important;
  padding:5px 13px !important;
  border-radius:100px !important;
  box-shadow:none !important;
  transition:border-color .15s,color .15s !important;
}
.wot-full-cal-btn:hover { border-color:rgba(255,255,255,.4) !important; color:#fff !important; opacity:1 !important; }

/* ── Time grid: full dark (scoped so .wot-light can override) ── */
.WOT:not(.wot-light) .wot-tg { background:#000000 !important; }
.WOT:not(.wot-light) .wot-tg-row { border-bottom-color:rgba(255,255,255,.07) !important; }
.WOT:not(.wot-light) .wot-tg-time {
  color:#ffffff !important;
  font-size:.56rem !important;
  font-weight:200 !important;
  letter-spacing:.05em !important;
  opacity:1 !important;
}
.WOT:not(.wot-light) .wot-tg-ev-row { border-left-color:rgba(255,255,255,.1) !important; }
.WOT:not(.wot-light) .wot-tg-empty i { color:rgba(255,255,255,.1) !important; }
.WOT:not(.wot-light) .wot-tg-empty div { color:rgba(255,255,255,.3) !important; }

/* Light-mode equivalents */
.WOT.wot-light .wot-tg { background:#ffffff !important; }
.WOT.wot-light .wot-tg-row { border-bottom-color:rgba(0,0,0,.06) !important; }
.WOT.wot-light .wot-tg-time {
  color:rgba(0,0,0,.6) !important; font-weight:700 !important; opacity:1 !important;
}
.WOT.wot-light .wot-tg-ev-row { border-left-color:rgba(0,0,0,.08) !important; }
.WOT.wot-light .wot-tg-empty i { color:rgba(0,0,0,.1) !important; }
.WOT.wot-light .wot-tg-empty div { color:rgba(0,0,0,.35) !important; }
/* ── Expand: dark glass ── */
.wot-expand { border-bottom-color:rgba(255,255,255,.04) !important; }
.wot-expand-title { color:#ffffff !important; }
.wot-expand-meta { color:rgba(255,255,255,.45) !important; }
/* responsive expand img hide on tiny screens */

/* ── Nav bar: premium dark ── */
.wot-nav-bar {
  background:#000 !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
  grid-template-columns:repeat(6,1fr) !important;
  position:relative !important;
}
.wnb-item {
  color:rgba(255,255,255,.35) !important;
  border-right:1px solid rgba(255,255,255,.04) !important;
  transition:background .15s, color .15s !important;
  padding:18px 16px !important;
  background:transparent !important;
  display:flex !important; align-items:center !important; gap:10px !important;
  text-decoration:none !important;
}
.wnb-item:last-child { border-right:none !important; }
.wnb-item:hover {
  background:rgba(255,255,255,.03) !important;
  color:rgba(255,255,255,.8) !important;
}
.wnb-icon { font-size:1rem !important; flex-shrink:0 !important; opacity:.5 !important; }
.wnb-label {
  color:rgba(255,255,255,.75) !important;
  font-size:.6rem !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  line-height:1.1 !important;
}
.wnb-sub {
  color:rgba(255,255,255,.28) !important;
  font-size:.45rem !important;
  font-weight:400 !important;
  margin-top:1px !important;
}

/* 3. Hide the This Week / CG section completely */
.CG-WRAP, .CG { display:none !important; }

/* 4. Hero spacing */
section.HERO.hero-slider { margin-bottom:0 !important; }

/* 5. Mobile - hero first, then WOT */
@media(max-width:900px) {
  main.CENTRE { display:flex !important; flex-direction:column !important; }
  main.CENTRE > section.HERO.hero-slider { order:1; }
  main.CENTRE > section.WOT { order:2; }
  main.CENTRE > * { order:3; }
  /* WOT flush to edges on mobile */
  section.WOT { margin-left:-14px !important; margin-right:-14px !important; }
  /* hero margin restore + taller on mobile */
  section.HERO.hero-slider { margin:0 -16px 0 -16px !important; min-height:45vh !important; }
  /* hide WOT nav bar on mobile - bottom tabs replace it */
  .wot-nav-bar { display:none !important; }
  /* hide YouTube iframes on mobile - no autoplay videos, use static images */
  section.HERO.hero-slider .vs-vid-wrap { display:none !important; }
  /* hide hero CTA buttons on mobile - too large, out of place */
  section.HERO.hero-slider .vs-cta { display:none !important; }
  /* hide prev/next arrow buttons on mobile */
  .vs-prev, .vs-next { display:none !important; }
}
@media(max-width:640px) {
  section.HERO.hero-slider { margin:0 -28px 0 -28px !important; }
  section.WOT { margin-left:-14px !important; margin-right:-14px !important; }
}

/* 6. Change footer/newsletter subscribe button from red to blue */
.nl-btn {
  background:#1A56FF !important;
}
.nl-btn:hover {
  background:#1449dd !important;
}
.nl-heading span {
  color:#1A56FF !important;
}

/* 7. Fix events page layout - prevent squishing */
.cat-page-centre, 
.CENTRE {
  max-width:100% !important;
}
.ev-page-masthead {
  margin-bottom:24px !important;
}

/* 8. Single event page - prevent squishing */
.single-mcr_event .CENTRE,
.single-mcr_event .cat-page-centre {
  max-width:100% !important;
}

/* 9. Ensure all interactive elements remain clickable */
.wot-nav-btn,
.wot-wday,
.wot-flt,
.vs-dot,
.vs-prev,
.vs-next,
.vs-cta-btn,
.wnb-item,
.sb-item,
.mob-tab,
button,
a {
  pointer-events:auto !important;
}


/* Visually hidden - for screen readers and SEO only */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ═══════════════════════════════════════════════════════════════════════
   MCR CITY v9.80 - FOOD / SPORT / STORIES UPGRADES
   Appended 2026-03-27
══════════════════════════════════════════════════════════════════════ */

/* ── Shared: bigger heroes */
.food-masthead--xl{height:660px;}
.sport-masthead--xl{height:660px;}
.stories-masthead--xl{height:540px;}
@media(max-width:600px){.food-masthead--xl,.sport-masthead--xl{height:460px;}.stories-masthead--xl{height:380px;}}

/* ── Shared: scroll reveal */
.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;}
.reveal-on-scroll.revealed{opacity:1;transform:translateY(0);}

/* ── What's Hot Strip */
.whats-hot-strip{padding:12px 24px;background:linear-gradient(90deg,rgba(45,181,75,.08) 0%,transparent 60%);border-bottom:1px solid rgba(45,181,75,.12);}
.whs-inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.whs-label{font-size:.65rem;font-weight:800;color:rgba(255,255,255,.6);white-space:nowrap;display:flex;align-items:center;gap:5px;}
.whs-fire{font-size:.85rem;}
.whs-pills{display:flex;gap:6px;flex-wrap:wrap;flex:1;}
.whs-pill{font-size:.62rem;font-weight:700;padding:4px 12px;border-radius:20px;background:rgba(45,181,75,.1);border:1px solid rgba(45,181,75,.25);color:#2DB54B;transition:all .15s;white-space:nowrap;}
.whs-pill:hover{background:rgba(45,181,75,.2);color:#fff;}
.whs-ai-rec{font-size:.68rem;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:6px;min-height:20px;}
.whs-ai-rec em{font-style:italic;}

/* ── Good For Row */
.good-for-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.05);}
.gfr-label{font-size:.6rem;font-weight:800;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;}
.gfr-tag{font-size:.65rem;font-weight:600;padding:5px 12px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.65);transition:all .15s;white-space:nowrap;}
.gfr-tag:hover{background:rgba(45,181,75,.12);border-color:rgba(45,181,75,.3);color:#2DB54B;}

/* ── Open Now Badge */
.fvg-open-badge{position:absolute;top:8px;left:8px;font-size:.5rem;font-weight:800;letter-spacing:.06em;padding:3px 8px;border-radius:3px;pointer-events:none;}
.fvg-open{background:rgba(45,181,75,.9);color:#fff;}
.fvg-closed{background:rgba(0,0,0,.7);color:rgba(255,255,255,.5);}

/* ── Awards Strip */
.awards-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 24px 24px;}
@media(max-width:900px){.awards-strip{grid-template-columns:1fr 1fr;}}
@media(max-width:500px){.awards-strip{grid-template-columns:1fr;}}
.award-card{display:block;position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);transition:transform .2s,border-color .2s;}
.award-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.18);}
.acd-img{height:140px;overflow:hidden;}
.acd-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;filter:brightness(.7);}
.award-card:hover .acd-img img{transform:scale(1.06);filter:brightness(.85);}
.acd-scrim{position:absolute;top:0;left:0;right:0;height:140px;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.6) 100%);pointer-events:none;}
.acd-body{padding:14px 16px;}
.acd-badge{display:inline-block;font-size:.55rem;font-weight:800;letter-spacing:.06em;padding:3px 10px;border-radius:20px;margin-bottom:8px;}
.acd-name{font-size:.9rem;font-weight:900;color:#fff;margin:0 0 4px;}
.acd-hood{font-size:.6rem;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:4px;margin-bottom:6px;}
.acd-desc{font-size:.65rem;color:rgba(255,255,255,.55);line-height:1.5;margin:0;}

/* ── Tonight's Pick */
.tonights-pick-block{margin:0 24px 24px;padding:20px 24px;background:linear-gradient(135deg,rgba(45,181,75,.06) 0%,rgba(45,181,75,.02) 100%);border:1px solid rgba(45,181,75,.15);border-radius:12px;}
.tpb-inner{display:flex;flex-direction:column;gap:10px;}
.tpb-label{display:flex;align-items:center;gap:8px;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.tpb-text{font-size:.88rem;font-weight:600;color:rgba(255,255,255,.9);margin:0;line-height:1.5;}
.tpb-link{font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;gap:4px;}
.tpb-link:hover{opacity:.8;}

/* ── This Weekend Block */
.this-weekend-block{padding:20px 24px;background:rgba(232,32,26,.04);border-top:1px solid rgba(232,32,26,.1);border-bottom:1px solid rgba(232,32,26,.1);}
.twd-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.twd-label{font-size:.72rem;font-weight:800;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px;}
.twd-all{font-size:.65rem;font-weight:700;color:#E8201A;}
.twd-fixtures{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media(max-width:800px){.twd-fixtures{grid-template-columns:1fr;}}
.twd-fix{padding:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s;}
.twd-fix:hover{border-color:rgba(232,32,26,.25);}
.twd-fix-comp{display:flex;align-items:center;justify-content:space-between;}
.twd-comp-badge{font-size:.52rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;background:rgba(255,255,255,.07);border-radius:4px;color:rgba(255,255,255,.55);}
.twd-tagline{font-size:.6rem;font-weight:700;color:#E8201A;}
.twd-fix-match{display:flex;align-items:center;gap:8px;}
.twd-team{display:flex;align-items:center;gap:8px;flex:1;}
.twd-team-away{justify-content:flex-end;}
.twd-badge{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:900;color:#fff;flex-shrink:0;letter-spacing:.04em;}
.twd-tname{font-size:.72rem;font-weight:800;color:#fff;}
.twd-vs{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;width:44px;}
.twd-vs-time{font-size:.52rem;color:rgba(255,255,255,.4);font-weight:600;white-space:nowrap;}
.twd-vs-text{font-size:.65rem;font-weight:900;color:rgba(255,255,255,.25);letter-spacing:.1em;}
.twd-fix-venue{font-size:.6rem;color:rgba(255,255,255,.35);display:flex;align-items:center;gap:5px;}

/* ── Sport Records Grid */
.sport-records-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 24px 24px;}
@media(max-width:900px){.sport-records-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:500px){.sport-records-grid{grid-template-columns:1fr;}}
.spr-card{padding:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s,transform .2s;}
.spr-card:hover{border-color:rgba(255,255,255,.16);transform:translateY(-3px);}
.spr-icon{font-size:1.2rem;margin-bottom:4px;}
.spr-num{font-family:'Inter Tight',sans-serif;font-size:2rem;font-weight:900;line-height:1;}
.spr-title{font-size:.78rem;font-weight:800;color:#fff;}
.spr-desc{font-size:.65rem;color:rgba(255,255,255,.5);line-height:1.5;margin:0;flex:1;}

/* ── Editor's Picks */
.editors-picks-block{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.06);}
.epb-header{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;}
.epb-label{font-size:.7rem;font-weight:800;color:rgba(255,255,255,.8);display:flex;align-items:center;gap:7px;}
.epb-sub{font-size:.6rem;color:rgba(255,255,255,.35);}
.epb-strip{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;}
.epb-strip::-webkit-scrollbar{display:none;}
.ep-card{display:block;position:relative;min-width:200px;height:150px;border-radius:10px;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.08);transition:transform .2s;}
.ep-card:hover{transform:scale(1.03);}
.ep-img{position:absolute;inset:0;}
.ep-img img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.55);transition:filter .3s;}
.ep-card:hover .ep-img img{filter:brightness(.7);}
.ep-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 60%);}
.ep-body{position:absolute;bottom:0;left:0;right:0;padding:12px;}
.ep-cat{font-size:.52rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;}
.ep-title{font-size:.72rem;font-weight:800;color:#fff;margin:0 0 4px;line-height:1.3;}
.ep-meta{font-size:.55rem;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:4px;}

/* ── Trending Topics */
.trending-topics-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 24px;border-bottom:1px solid rgba(255,255,255,.05);}
.tt-label{font-size:.6rem;font-weight:800;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;}
.tt-chip{font-size:.65rem;font-weight:600;padding:4px 12px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.6);transition:all .15s;white-space:nowrap;}
.tt-chip:hover{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.3);color:#DC2626;}

/* ── Enhanced card hovers */
.fvg-card{transition:border-color .2s,transform .25s,box-shadow .25s;}
.fvg-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(0,0,0,.35);border-color:rgba(255,255,255,.18)!important;}
.fvg-img img{transition:transform .4s ease;}
.fvg-card:hover .fvg-img img{transform:scale(1.08);}
.scd-card{transition:transform .25s,box-shadow .25s,border-color .2s;}
.scd-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.4);}
.smg-card{transition:border-color .2s,transform .25s,box-shadow .25s;}
.smg-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(0,0,0,.3);border-color:rgba(255,255,255,.16)!important;}

/* ── Bigger masthead headlines at XL */
.food-masthead--xl .fm-headline,.sport-masthead--xl .spm-headline{font-size:3.2rem;}
@media(max-width:600px){.food-masthead--xl .fm-headline,.sport-masthead--xl .spm-headline{font-size:2.4rem;}}
.stories-masthead--xl .stm-title{font-size:3rem;}
@media(max-width:600px){.stories-masthead--xl .stm-title{font-size:2.2rem;}}

/* ── Better section headers */
.csh-title{font-size:1.35rem;font-weight:900;}

/* ── Improved fixture list rows */
.sfl-row{transition:background .15s;border-radius:8px;}
.sfl-row:hover{background:rgba(255,255,255,.04);}

/* ── Glass shimmer on award cards */
.award-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 60%);pointer-events:none;z-index:1;border-radius:12px;}
.acd-body{position:relative;z-index:2;}

/* ── Fix: This Weekend block - force dark bg so white text is visible */
.this-weekend-block{background:#130404 !important;border-top:1px solid rgba(232,32,26,.2) !important;border-bottom:1px solid rgba(232,32,26,.2) !important;}
.twd-fix{background:rgba(255,255,255,.05) !important;border-color:rgba(255,255,255,.1) !important;}

/* ── Fix: What's Hot strip - ensure dark bg */
.whats-hot-strip{background:linear-gradient(90deg,rgba(45,181,75,.12) 0%,rgba(45,181,75,.03) 100%) !important;}

/* ═══════════════════════════════════════════════════════════════════════
   MCR CITY v9.85 - STORIES PAGE DEEP UPGRADE
   Appended 2026-03-28
══════════════════════════════════════════════════════════════════════ */

/* ── Stories masthead: dramatic background image */
.stories-masthead--xl{background-image:linear-gradient(to bottom right,rgba(17,17,20,.93) 0%,rgba(232,32,26,.11) 100%),url('/wp-content/themes/mcrcity-theme-v9-fixed/assets/img/hero-home.png');background-size:cover;background-position:center 30%;}

/* ── Editor's Picks: taller, more impactful cards */
.ep-card{min-width:230px;height:210px;}

/* ── Editorial Focus Bar */
.stories-focus-bar{display:flex;align-items:center;gap:7px;padding:10px 28px;border-bottom:1px solid rgba(255,255,255,.06);overflow-x:auto;scrollbar-width:none;flex-wrap:wrap;}
.stories-focus-bar::-webkit-scrollbar{display:none;}
.sfb-label{font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);white-space:nowrap;flex-shrink:0;}
.sfb-chip{font-size:.65rem;font-weight:600;padding:5px 13px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.65);white-space:nowrap;transition:all .15s;}
.sfb-chip:hover{background:rgba(232,32,26,.12);border-color:rgba(232,32,26,.3);color:#fff;}

/* ── Must-Read This Week */
.must-reads-block{padding:22px 28px;border-bottom:1px solid rgba(255,255,255,.05);}
.mrb-header{margin-bottom:14px;}
.mrb-label{font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:6px;}
.mrb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:700px){.mrb-grid{grid-template-columns:1fr;}}
.mr-card{display:block;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);transition:transform .2s,border-color .2s,box-shadow .2s;}
.mr-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.18);box-shadow:0 10px 28px rgba(0,0,0,.3);}
.mr-img{height:175px;overflow:hidden;}
.mr-img img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.82);transition:transform .35s,filter .35s;}
.mr-card:hover .mr-img img{transform:scale(1.05);filter:brightness(.95);}
.mr-body{padding:14px 16px;}
.mr-cat{font-size:.52rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;}
.mr-title{font-size:.88rem;font-weight:800;color:#fff;line-height:1.3;margin:0 0 8px;}
.mr-meta{font-size:.58rem;color:rgba(255,255,255,.35);display:flex;align-items:center;gap:4px;}
.mr-meta i{font-size:.5rem;}

/* ── Browse by Category Showcase */
.stories-cat-showcase{padding:22px 28px;border-bottom:1px solid rgba(255,255,255,.05);}
.scs-header{margin-bottom:14px;}
.scs-title{font-family:'Inter Tight',sans-serif;font-size:1rem;font-weight:900;color:#fff;}
.scs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
@media(max-width:900px){.scs-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:500px){.scs-grid{grid-template-columns:repeat(2,1fr);}}
.scs-card{display:block;position:relative;height:110px;border-radius:10px;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.scs-card:hover{transform:scale(1.04);box-shadow:0 8px 24px rgba(0,0,0,.35);}
.scs-img{position:absolute;inset:0;}
.scs-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.scs-card:hover .scs-img img{transform:scale(1.08);}
.scs-overlay{position:absolute;inset:0;opacity:.82;transition:opacity .2s;}
.scs-card:hover .scs-overlay{opacity:.68;}
.scs-body{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-shadow:0 1px 6px rgba(0,0,0,.6);}
.scs-icon{font-size:1.1rem;color:#fff;}
.scs-name{font-size:.65rem;font-weight:800;color:#fff;letter-spacing:.04em;}

/* ── From the Editor */
.from-editor-block{padding:22px 28px;border-bottom:1px solid rgba(255,255,255,.05);}
.feb-inner{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:22px 26px;display:flex;align-items:center;gap:22px;}
@media(max-width:600px){.feb-inner{flex-direction:column;align-items:flex-start;gap:14px;}}
.feb-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.15);flex-shrink:0;}
.feb-content{flex:1;}
.feb-kicker{font-size:.55rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dc-red);margin-bottom:8px;}
.feb-quote{font-size:.84rem;font-style:italic;color:rgba(255,255,255,.7);line-height:1.65;margin:0 0 10px;border-left:3px solid var(--dc-red);padding-left:14px;}
.feb-sig{display:flex;align-items:center;gap:8px;font-size:.7rem;}
.feb-sig strong{color:#fff;font-weight:800;}
.feb-sig span{color:rgba(255,255,255,.4);}

/* ── Fix: Good For row - ensure dark bg */
.good-for-row{background:transparent !important;}

/* ═══════════════════════════════════════════════════════════════════════
   MCR CITY v9.86 - STORIES: Big Read + Numbers + Voices
   Appended 2026-03-28
══════════════════════════════════════════════════════════════════════ */

/* ── Manchester in Numbers */
.mcr-numbers-block{padding:22px 28px;border-bottom:1px solid rgba(255,255,255,.05);}
.mnb-header{margin-bottom:14px;}
.mnb-title{font-family:'Inter Tight',sans-serif;font-size:1rem;font-weight:900;color:#fff;}
.mnb-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
@media(max-width:1000px){.mnb-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:500px){.mnb-grid{grid-template-columns:repeat(2,1fr);}}
.mnb-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:16px 12px;text-align:center;transition:border-color .2s,transform .2s;}
.mnb-card:hover{border-color:rgba(255,255,255,.16);transform:translateY(-3px);}
.mnb-icon{font-size:1.1rem;margin-bottom:8px;}
.mnb-num{font-family:'Inter Tight',sans-serif;font-size:1.5rem;font-weight:900;line-height:1;margin-bottom:4px;}
.mnb-label{font-size:.6rem;color:rgba(255,255,255,.45);line-height:1.4;}

/* ── The Big Read */
.big-read-block{padding:0 28px 22px;}
.brb-inner{border-radius:14px;overflow:hidden;background-image:linear-gradient(135deg,#1a0033 0%,#3a0066 40%,#FF2D95 100%);min-height:280px;display:flex;align-items:center;padding:40px 44px;}
.brb-content{max-width:560px;}
.brb-kicker{font-size:.57rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--dc-red);margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.brb-title{font-family:'Inter Tight',sans-serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:900;color:#fff;margin:0 0 12px;line-height:1.15;letter-spacing:-.02em;}
.brb-sub{font-size:.82rem;color:rgba(255,255,255,.65);line-height:1.65;margin:0 0 18px;max-width:460px;}
.brb-meta{display:flex;align-items:center;gap:8px;margin-bottom:18px;}
.brb-author-img{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.2);}
.brb-author{font-size:.68rem;font-weight:700;color:rgba(255,255,255,.8);}
.brb-sep{color:rgba(255,255,255,.2);font-size:.8rem;}
.brb-time{font-size:.65rem;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:4px;}
.brb-time i{font-size:.55rem;}
.brb-btn{display:inline-flex;align-items:center;gap:8px;background:var(--dc-red);color:#fff;font-size:.72rem;font-weight:800;padding:11px 22px;border-radius:6px;transition:filter .15s,transform .15s;}
.brb-btn:hover{filter:brightness(1.12);transform:translateX(3px);}
@media(max-width:600px){.brb-inner{padding:28px 22px;min-height:200px;}.brb-title{font-size:1.3rem;}.big-read-block{padding:0 16px 16px;}}

/* ── Editorial Voices */
.editorial-voices{padding:22px 28px;border-bottom:1px solid rgba(255,255,255,.05);}
.ev-header{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;}
.ev-title{font-family:'Inter Tight',sans-serif;font-size:1rem;font-weight:900;color:#fff;}
.ev-sub{font-size:.62rem;color:rgba(255,255,255,.3);}
.editorial-voices .ev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media(max-width:800px){.editorial-voices .ev-grid{grid-template-columns:repeat(2,1fr);}}
.editorial-voices .ev-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:18px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;transition:border-color .2s,transform .2s;aspect-ratio:unset;position:static;overflow:visible;}
.editorial-voices .ev-card:hover{border-color:rgba(255,255,255,.18);transform:translateY(-3px);}
.ev-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.12);}
.ev-body{display:flex;flex-direction:column;gap:3px;}
.ev-name{font-size:.78rem;font-weight:800;color:#fff;}
.ev-role{font-size:.6rem;font-weight:700;letter-spacing:.04em;}
.ev-beat{font-size:.6rem;color:rgba(255,255,255,.38);line-height:1.4;}

/* ── Food New Openings grid ─────────────────────────────────────── */
.food-new-openings{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding:4px 0 8px;}
.fno-card{display:block;text-decoration:none;border-radius:16px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.08);transition:transform .25s,box-shadow .25s;}
.fno-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.35);}
.fno-img{position:relative;aspect-ratio:4/3;overflow:hidden;}
.fno-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.fno-card:hover .fno-img img{transform:scale(1.06);}
.fno-badge{position:absolute;top:10px;left:10px;font-size:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#fff;padding:4px 10px;border-radius:20px;}
.fno-body{padding:14px 14px 16px;}
.fno-price{display:inline-block;font-size:.58rem;font-weight:700;color:rgba(255,255,255,.45);margin-bottom:4px;}
.fno-name{font-family:'Inter Tight',sans-serif;font-size:.92rem;font-weight:900;color:#fff;margin-bottom:3px;line-height:1.2;}
.fno-cuisine{font-size:.58rem;font-weight:600;color:rgba(255,255,255,.5);margin-bottom:3px;}
.fno-hood{font-size:.56rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:4px;margin-bottom:6px;}
.fno-exc{font-size:.6rem;color:rgba(255,255,255,.55);line-height:1.45;margin:0;}

/* ═══ END v9.80 UPGRADES ════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
   MCR CITY v9.89 - SPORT PAGE: NO MORE GREY BOXES
   Full visual redesign of records, stadiums, clubs, fixtures
   Appended 2026-03-28
══════════════════════════════════════════════════════════════════════ */

/* ── Records Grid: colour-driven premium cards ─────────────────────── */
.spr-card{
  position:relative;overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(14,14,17,1);
  padding:28px 16px 22px;
  text-align:center;
  transition:transform .25s,border-color .25s,box-shadow .3s;
}
.spr-card::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 120% -20%, var(--c,#E8201A) 0%, transparent 58%);
  opacity:.15;pointer-events:none;
}
.spr-card::after{
  content:'';position:absolute;
  bottom:0;left:0;right:0;height:3px;
  background:var(--c,#E8201A);
  opacity:.6;
}
.spr-card:hover{
  transform:translateY(-7px);
  border-color:var(--c,rgba(255,255,255,.2));
  box-shadow:0 0 0 1px var(--c,transparent),0 20px 48px rgba(0,0,0,.55);
}
.spr-icon{font-size:1.6rem;margin-bottom:12px;position:relative;display:block;}
.spr-num{font-family:'Inter Tight',sans-serif;font-size:2.5rem;font-weight:900;line-height:1;margin-bottom:7px;position:relative;}
.spr-title{font-size:.78rem;font-weight:800;color:#fff;margin-bottom:6px;position:relative;}
.spr-desc{font-size:.62rem;color:rgba(255,255,255,.5);line-height:1.55;margin:0;position:relative;}

/* ── Fixture Cards: team-colour gradients ───────────────────────────── */
.twd-fix{
  position:relative;overflow:hidden;
  padding:18px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(14,14,17,1);
  display:flex;flex-direction:column;gap:12px;
  transition:border-color .2s,box-shadow .2s;
}
.twd-fix::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--hc,#DA291C) 0%,transparent 45%,var(--ac,#C8102E) 100%);
  opacity:.08;pointer-events:none;
}
.twd-fix:hover{border-color:rgba(255,255,255,.22);box-shadow:0 10px 32px rgba(0,0,0,.4);}
.twd-badge{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.52rem;font-weight:900;color:#fff;flex-shrink:0;letter-spacing:.04em;}
.twd-vs-text{font-size:.7rem;font-weight:900;color:rgba(255,255,255,.3);letter-spacing:.12em;}
.twd-vs-time{font-size:.55rem;color:rgba(255,255,255,.45);font-weight:700;}
.twd-tname{font-size:.75rem;font-weight:800;color:#fff;}
.twd-comp-badge{font-size:.52rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;background:rgba(255,255,255,.08);border-radius:4px;color:rgba(255,255,255,.6);}
.twd-tagline{font-size:.6rem;font-weight:700;color:#E8201A;letter-spacing:.04em;}
.twd-fix-venue{font-size:.6rem;color:rgba(255,255,255,.38);display:flex;align-items:center;gap:5px;}

/* ── Club Cards: accent top-border + gradient ───────────────────────── */
.scd-card{
  position:relative;
  border-radius:12px;overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(14,14,17,1);
  transition:transform .25s,border-color .2s,box-shadow .25s;
}
.scd-card::after{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--c,#E8201A);
}
.scd-card:hover{transform:translateY(-5px);border-color:var(--c,rgba(255,255,255,.2));box-shadow:0 16px 44px rgba(0,0,0,.5);}
.scd-img{height:175px;position:relative;overflow:hidden;}
.scd-img img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.75);transition:transform .4s,filter .3s;}
.scd-card:hover .scd-img img{transform:scale(1.06);filter:brightness(.9);}
.scd-img-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(14,14,17,.9) 100%);}
.scd-badge-big{position:absolute;bottom:10px;left:14px;font-size:.6rem;font-weight:900;color:#fff;padding:4px 10px;border-radius:5px;letter-spacing:.06em;}
.scd-body{padding:14px 16px;}
.scd-league{font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.scd-name{font-size:.95rem;font-weight:900;color:#fff;margin:0 0 8px;}
.scd-meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.scd-meta-item{font-size:.6rem;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:4px;}
.scd-desc{font-size:.65rem;color:rgba(255,255,255,.55);line-height:1.55;margin:0 0 10px;}

/* ── Stadium Cards: cinematic image-forward ─────────────────────────── */
.sstd-card{
  position:relative;
  border-radius:12px;overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(14,14,17,1);
  transition:transform .2s,border-color .2s,box-shadow .2s;
  display:flex;flex-direction:column;
}
.sstd-card::after{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--c,#E8201A);
}
.sstd-card:hover{transform:translateY(-5px);border-color:var(--c,rgba(255,255,255,.2));box-shadow:0 14px 40px rgba(0,0,0,.5);}
.sstd-img{height:190px;position:relative;overflow:hidden;}
.sstd-img img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.78);transition:transform .4s,filter .3s;}
.sstd-card:hover .sstd-img img{transform:scale(1.06);filter:brightness(.92);}
.sstd-ico-badge{position:absolute;bottom:10px;right:10px;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;}
.sstd-body{padding:14px 16px;flex:1;display:flex;flex-direction:column;gap:3px;}
.sstd-name{font-size:.9rem;font-weight:900;color:#fff;margin:0;}
.sstd-team{font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;}
.sstd-meta{display:flex;gap:10px;flex-wrap:wrap;}
.sstd-meta span{font-size:.6rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:3px;}
.sstd-desc{font-size:.65rem;color:rgba(255,255,255,.55);line-height:1.55;margin:4px 0 0;flex:1;}

/* ── Sport clubs grid: 3-col on wide screens ────────────────────────── */
@media(min-width:960px){.sport-clubs-deep{grid-template-columns:repeat(3,1fr);}}

/* ── Stadiums grid: 3-col on wide screens ───────────────────────────── */
@media(min-width:960px){.sport-stadiums{grid-template-columns:repeat(3,1fr);}}

/* ── FIX: Community cards - force solid dark bg, never inherit white ─── */
.cgc-card,
.cpp-card,
.clg-card,
.community-leagues-grid,
.community-clubs-grid,
.community-pitches-grid,
.CENTRE.white-bg .cgc-card,
.CENTRE.white-bg .cpp-card,
.CENTRE.white-bg .clg-card{
  background:#111115 !important;
  color:rgba(255,255,255,.8) !important;
}
.cgc-card *,
.cpp-card *,
.clg-card *{color:inherit;}
.cgc-name,.cpp-name,.clg-name{color:#fff !important;}
.cgc-sport,.cgc-area,.cgc-desc,
.cpp-type,.cpp-loc,.cpp-desc,
.clg-sport,.clg-teams,.clg-desc{color:rgba(255,255,255,.5) !important;}
.sport-sub-head{color:rgba(255,255,255,.55) !important;}
#community,.sport-records-section,
.community-leagues-grid,.community-clubs-grid,.community-pitches-grid{
  background:transparent !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   COMMUNITY SPORT PAGE - v9.92.0
   Light / premium design system - .cs-* prefix
   mcr.city/community-sport
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Page wrapper ───────────────────────────────────────────────────── */
.cs-page{
  background:#f7f8fc;
  min-height:100vh;
  padding:0;
  margin:0;
  font-family:inherit;
}

/* ── Shared section shell ───────────────────────────────────────────── */
.cs-section{
  padding:56px 24px;
  max-width:1160px;
  margin:0 auto;
}
.cs-section--white{background:#fff;max-width:none;padding:56px 0;}
.cs-section--white>.cs-section-head,
.cs-section--white>.cs-stories-grid,
.cs-section--white>.cs-fixtures-grid,
.cs-section--white>.cs-facilities-grid{max-width:1160px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;}
.cs-section--grey{background:#f0f2f7;max-width:none;padding:56px 0;}
.cs-section--grey>.cs-section-head,
.cs-section--grey>.cs-leagues-grid,
.cs-section--grey>.cs-filter-row,
.cs-section--grey>.cs-clubs-grid{max-width:1160px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;}
.cs-section--accent{background:linear-gradient(135deg,#0e0e11 0%,#1a1a22 100%);max-width:none;padding:64px 0;}
.cs-section--accent>.cs-section-head,
.cs-section--accent>.cs-pathways-grid{max-width:1160px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;}

/* ── Section heading ────────────────────────────────────────────────── */
.cs-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:32px;
  flex-wrap:wrap;
}
.cs-sh-kicker{
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#E8201A;
  margin-bottom:5px;
}
.cs-sh-kicker--light{color:rgba(255,255,255,.5);}
.cs-sh-title{
  font-size:1.7rem;
  font-weight:900;
  color:#0d0d0f;
  margin:0;
  line-height:1.15;
}
.cs-sh-title--light{color:#fff;}
.cs-link-more{
  font-size:.75rem;
  font-weight:700;
  color:#E8201A;
  text-decoration:none;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:5px;
  transition:opacity .2s;
}
.cs-link-more:hover{opacity:.7;}

/* ── Buttons ────────────────────────────────────────────────────────── */
.cs-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:11px 20px;
  border-radius:8px;
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
  transition:transform .18s,box-shadow .18s,opacity .18s;
  cursor:pointer;
  border:none;
}
.cs-btn:hover{transform:translateY(-2px);}
.cs-btn-primary{background:#E8201A;color:#fff;box-shadow:0 4px 16px rgba(232,32,26,.3);}
.cs-btn-primary:hover{box-shadow:0 8px 24px rgba(232,32,26,.45);}
.cs-btn-outline{background:transparent;color:#0d0d0f;border:2px solid rgba(0,0,0,.15);}
.cs-btn-outline:hover{border-color:rgba(0,0,0,.35);}
.cs-btn-white{background:#fff;color:#0d0d0f;box-shadow:0 4px 16px rgba(0,0,0,.15);}
.cs-btn-white:hover{box-shadow:0 8px 24px rgba(0,0,0,.25);}
.cs-btn-ghost-white{background:transparent;color:rgba(255,255,255,.75);border:2px solid rgba(255,255,255,.3);}
.cs-btn-ghost-white:hover{color:#fff;border-color:rgba(255,255,255,.6);}

/* ══ MASTHEAD ═══════════════════════════════════════════════════════════ */
.cs-masthead{
  position:relative;
  background:#0d0d0f;
  overflow:hidden;
  min-height:540px;
  display:flex;
  flex-direction:column;
}
.cs-mh-bg{
  position:absolute;
  inset:0;
}
.cs-mh-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 40%;
  filter:grayscale(15%);
  display:block;
}
.cs-mh-scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,rgba(13,13,15,.96) 0%,rgba(13,13,15,.78) 55%,rgba(26,10,10,.88) 100%);
}
.cs-mh-inner{
  position:relative;
  z-index:2;
  max-width:1160px;
  margin:0 auto;
  padding:80px 24px 48px;
  flex:1;
}
.cs-mh-content{max-width:660px;}
.cs-mh-kicker{
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#E8201A;
  margin-bottom:16px;
  display:flex;
  align-items:center;
  gap:6px;
}
.cs-mh-title{
  font-size:clamp(2.2rem,5vw,4rem);
  font-weight:900;
  color:#fff;
  line-height:1.02;
  margin:0 0 18px;
}
.cs-mh-accent{
  display:block;
  background:linear-gradient(135deg,#E8201A 0%,#ff6b5b 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.cs-mh-sub{
  font-size:.95rem;
  color:rgba(255,255,255,.65);
  line-height:1.65;
  max-width:500px;
  margin:0 0 28px;
}
.cs-mh-sport-pills{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:32px;
}
.cs-mh-pill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 13px;
  border-radius:20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  font-size:.65rem;
  font-weight:700;
  color:rgba(255,255,255,.75);
}
.cs-mh-ctas{display:flex;gap:10px;flex-wrap:wrap;}
/* Stats bar - sits at bottom of masthead */
.cs-mh-stats-bar{
  position:relative;
  z-index:2;
  background:rgba(255,255,255,.05);
  border-top:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.cs-mh-stats{
  max-width:1160px;
  margin:0 auto;
  padding:20px 24px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  row-gap:12px;
}
.cs-mh-stat{
  display:flex;
  flex-direction:column;
  padding:0 24px;
}
.cs-mh-stat:first-child{padding-left:0;}
.cs-mh-stat strong{font-size:1.4rem;font-weight:900;color:#fff;line-height:1;}
.cs-mh-stat span{font-size:.6rem;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.07em;margin-top:3px;}
.cs-mh-stat-sep{width:1px;height:32px;background:rgba(255,255,255,.15);}
@media(max-width:640px){
  .cs-masthead{min-height:auto;}
  .cs-mh-inner{padding:56px 16px 36px;}
  .cs-mh-stats{padding:16px;}
  .cs-mh-stat{padding:0 14px;}
  .cs-mh-stat strong{font-size:1.1rem;}
}

/* ══ FIXTURES ═══════════════════════════════════════════════════════════ */
.cs-fixtures-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:16px;
}
.cs-fix-card{
  background:#fff;
  border:1px solid #eaecf2;
  border-radius:12px;
  padding:16px 18px;
  position:relative;
  overflow:hidden;
  transition:box-shadow .22s,transform .22s;
}
.cs-fix-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--hc,#DA291C) 0%,transparent 40%,var(--ac,#003087) 100%);
  opacity:.04;
  pointer-events:none;
}
.cs-fix-card::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--hc,#DA291C),var(--ac,#003087));
}
.cs-fix-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.1);transform:translateY(-3px);}
.cs-fix-comp{
  font-size:.55rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#999;
  margin-bottom:12px;
}
.cs-fix-match{
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:space-between;
}
.cs-fix-team{
  display:flex;
  align-items:center;
  gap:9px;
  flex:1;
}
.cs-fix-team--away{
  flex-direction:row-reverse;
  text-align:right;
}
.cs-fix-badge{
  width:34px;
  height:34px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.58rem;
  font-weight:900;
  color:#fff;
  letter-spacing:.03em;
  flex-shrink:0;
}
.cs-fix-name{
  font-size:.78rem;
  font-weight:800;
  color:#0d0d0f;
  line-height:1.2;
}
.cs-fix-vs{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  flex-shrink:0;
  padding:0 6px;
}
.cs-fix-time{
  font-size:.58rem;
  font-weight:700;
  color:#E8201A;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.cs-fix-vs-text{
  font-size:.65rem;
  font-weight:900;
  color:#bbb;
  letter-spacing:.08em;
}
.cs-fix-venue{
  font-size:.6rem;
  color:#999;
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:4px;
}

/* ══ CLUB SPOTLIGHT ══════════════════════════════════════════════════════ */
.cs-spotlight{
  position:relative;
  min-height:480px;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.cs-spotlight-img{
  position:absolute;
  inset:0;
}
.cs-spotlight-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.cs-spotlight-scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.55) 50%,rgba(0,0,0,.2) 100%);
}
.cs-spotlight-inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1160px;
  margin:0 auto;
  padding:64px 24px;
}
.cs-spotlight-content{
  max-width:560px;
}
.cs-spotlight-kicker{
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#DA291C;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  gap:6px;
}
.cs-spotlight-title{
  font-size:clamp(1.6rem,3.5vw,2.6rem);
  font-weight:900;
  color:#fff;
  margin:0 0 6px;
  line-height:1.1;
}
.cs-spotlight-league{
  font-size:.75rem;
  color:rgba(255,255,255,.6);
  margin-bottom:16px;
}
.cs-spotlight-desc{
  font-size:.88rem;
  color:rgba(255,255,255,.8);
  line-height:1.65;
  margin:0 0 24px;
}
.cs-spotlight-stats{
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  margin-bottom:28px;
}
.cs-spotlight-stat{
  display:flex;
  flex-direction:column;
}
.cs-spotlight-stat strong{
  font-size:1.25rem;
  font-weight:900;
  color:#fff;
  line-height:1;
}
.cs-spotlight-stat span{
  font-size:.6rem;
  color:rgba(255,255,255,.5);
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-top:2px;
}
.cs-spotlight-ctas{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* ══ LEAGUES ═════════════════════════════════════════════════════════════ */
.cs-leagues-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:14px;
}
.cs-league-card{
  background:#fff;
  border:1px solid #dde0e8;
  border-radius:12px;
  padding:18px;
  transition:box-shadow .22s,transform .22s;
}
.cs-league-card:hover{
  box-shadow:0 8px 24px rgba(0,0,0,.09);
  transform:translateY(-3px);
}
.cs-lc-top{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-bottom:10px;
}
.cs-lc-icon{
  width:42px;
  height:42px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1rem;
  flex-shrink:0;
}
.cs-lc-sport{
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:3px;
}
.cs-lc-name{
  font-size:.85rem;
  font-weight:900;
  color:#0d0d0f;
  margin:0 0 4px;
  line-height:1.2;
}
.cs-lc-info{
  font-size:.6rem;
  color:#999;
  display:flex;
  align-items:center;
  gap:4px;
}
.cs-lc-desc{
  font-size:.72rem;
  color:#666;
  line-height:1.55;
  margin:0;
}

/* ══ COMMUNITY STORIES ═══════════════════════════════════════════════════ */
.cs-stories-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:auto auto;
  gap:16px;
}
.cs-story-card{
  display:flex;
  flex-direction:column;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  border:1px solid #eaecf2;
  text-decoration:none;
  color:inherit;
  transition:box-shadow .22s,transform .22s;
}
.cs-story-card:hover{
  box-shadow:0 10px 32px rgba(0,0,0,.1);
  transform:translateY(-4px);
}
.cs-story-card--wide{
  grid-column:1/-1;
  flex-direction:row;
}
.cs-story-card--wide .cs-sc-img{
  width:42%;
  flex-shrink:0;
}
.cs-story-card--wide .cs-sc-img img{height:100%;}
.cs-sc-img{
  width:100%;
  height:180px;
  overflow:hidden;
  flex-shrink:0;
}
.cs-sc-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .4s;
}
.cs-story-card:hover .cs-sc-img img{transform:scale(1.05);}
.cs-sc-body{
  padding:16px;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.cs-sc-cat{
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cs-sc-title{
  font-size:.9rem;
  font-weight:900;
  color:#0d0d0f;
  margin:0;
  line-height:1.3;
}
.cs-story-card--wide .cs-sc-title{font-size:1.15rem;}
.cs-sc-desc{
  font-size:.75rem;
  color:#666;
  line-height:1.55;
  margin:0;
  flex:1;
}
.cs-sc-meta{
  font-size:.62rem;
  color:#aaa;
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:5px;
}
@media(max-width:800px){
  .cs-stories-grid{grid-template-columns:1fr;}
  .cs-story-card--wide{flex-direction:column;}
  .cs-story-card--wide .cs-sc-img{width:100%;}
  .cs-story-card--wide .cs-sc-img img{height:220px;}
}

/* ══ CLUBS DIRECTORY ══════════════════════════════════════════════════════ */
.cs-filter-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:24px;
}
.cs-filter-btn{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 14px;
  border-radius:20px;
  border:2px solid #dde0e8;
  background:#fff;
  font-size:.7rem;
  font-weight:700;
  color:#555;
  cursor:pointer;
  transition:all .18s;
}
.cs-filter-btn:hover{border-color:#E8201A;color:#E8201A;}
.cs-filter-btn.cs-filter-on{
  background:#E8201A;
  border-color:#E8201A;
  color:#fff;
}
.cs-clubs-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:14px;
}
.cs-club-card{
  background:#fff;
  border:1px solid #dde0e8;
  border-radius:12px;
  padding:16px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  transition:box-shadow .22s,transform .22s;
}
.cs-club-card:hover{
  box-shadow:0 8px 24px rgba(0,0,0,.09);
  transform:translateY(-3px);
}
.cs-club-badge{
  width:48px;
  height:48px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.65rem;
  font-weight:900;
  color:#fff;
  letter-spacing:.03em;
  flex-shrink:0;
  text-align:center;
}
.cs-club-body{flex:1;min-width:0;}
.cs-club-sport{
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:3px;
}
.cs-club-name{
  font-size:.88rem;
  font-weight:900;
  color:#0d0d0f;
  margin:0 0 4px;
  line-height:1.2;
}
.cs-club-area{
  font-size:.63rem;
  color:#999;
  margin-bottom:5px;
  display:flex;
  align-items:center;
  gap:4px;
}
.cs-club-desc{
  font-size:.7rem;
  color:#666;
  line-height:1.5;
  margin:0;
}

/* ══ GET INVOLVED PATHWAYS ════════════════════════════════════════════════ */
.cs-pathways-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:16px;
}
.cs-pathway-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  padding:24px;
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:background .22s,border-color .22s,transform .22s;
}
.cs-pathway-card:hover{
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.22);
  transform:translateY(-3px);
}
.cs-pw-icon{
  width:48px;
  height:48px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  color:#fff;
  flex-shrink:0;
}
.cs-pw-title{
  font-size:1rem;
  font-weight:900;
  color:#fff;
  margin:0;
}
.cs-pw-desc{
  font-size:.75rem;
  color:rgba(255,255,255,.6);
  line-height:1.6;
  margin:0;
  flex:1;
}
.cs-pw-cta{
  font-size:.72rem;
  font-weight:800;
  color:rgba(255,255,255,.5);
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:auto;
  transition:color .18s;
}
.cs-pathway-card:hover .cs-pw-cta{color:#fff;}

/* ══ FACILITIES ══════════════════════════════════════════════════════════ */
.cs-facilities-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:16px;
}
.cs-facility-card{
  background:#fff;
  border:1px solid #eaecf2;
  border-radius:12px;
  overflow:hidden;
  transition:box-shadow .22s,transform .22s;
}
.cs-facility-card:hover{
  box-shadow:0 8px 28px rgba(0,0,0,.1);
  transform:translateY(-3px);
}
.cs-fac-header{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
}
.cs-fac-icon{
  font-size:1.2rem;
  flex-shrink:0;
  width:28px;
  text-align:center;
}
.cs-fac-sport{
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:2px;
}
.cs-fac-name{
  font-size:.88rem;
  font-weight:900;
  color:#0d0d0f;
  margin:0;
  line-height:1.2;
}
.cs-fac-body{
  padding:12px 16px 16px;
}
.cs-fac-loc{
  font-size:.62rem;
  color:#999;
  margin-bottom:6px;
  display:flex;
  align-items:center;
  gap:4px;
}
.cs-fac-desc{
  font-size:.72rem;
  color:#555;
  line-height:1.55;
  margin:0 0 10px;
}
.cs-fac-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:.68rem;
  font-weight:800;
  color:#E8201A;
  text-decoration:none;
  transition:opacity .18s;
}
.cs-fac-link:hover{opacity:.7;}

/* ══ NEWSLETTER ══════════════════════════════════════════════════════════ */
.cs-newsletter{
  background:linear-gradient(135deg,#E8201A 0%,#b51814 100%);
  padding:48px 24px;
}
.cs-nl-inner{
  max-width:1160px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
}
.cs-nl-left{
  display:flex;
  align-items:center;
  gap:20px;
}
.cs-nl-icon{
  width:52px;
  height:52px;
  border-radius:12px;
  background:rgba(255,255,255,.15);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
  color:#fff;
  flex-shrink:0;
}
.cs-nl-title{
  font-size:1.05rem;
  font-weight:900;
  color:#fff;
  margin:0 0 4px;
}
.cs-nl-sub{
  font-size:.75rem;
  color:rgba(255,255,255,.75);
  margin:0;
}
.cs-nl-form{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.cs-nl-input{
  padding:11px 16px;
  border-radius:8px;
  border:none;
  font-size:.82rem;
  min-width:240px;
  outline:none;
  background:#fff;
  color:#0d0d0f;
}
.cs-nl-btn{
  padding:11px 20px;
  border-radius:8px;
  background:#0d0d0f;
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  border:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:background .18s;
}
.cs-nl-btn:hover{background:#222;}

/* ══ BACK BAR ════════════════════════════════════════════════════════════ */
.cs-back-bar{
  background:#fff;
  border-top:1px solid #eaecf2;
  padding:16px 24px;
}
.cs-back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.75rem;
  font-weight:700;
  color:#888;
  text-decoration:none;
  max-width:1160px;
  margin:0 auto;
  display:flex;
  transition:color .18s;
}
.cs-back-link:hover{color:#0d0d0f;}

/* ══ SCROLL REVEAL ═══════════════════════════════════════════════════════ */
.cs-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .45s ease,transform .45s ease;
}
.cs-revealed{
  opacity:1;
  transform:none;
}
.cs-card-show{
  opacity:1;
  transform:none;
}

/* ── Club card website link ─────────────────────────────────────────── */
.cs-club-link{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.65rem;font-weight:800;color:#E8201A;
  text-decoration:none;margin-top:8px;transition:opacity .18s;
}
.cs-club-link:hover{opacity:.7;}

/* ── Area filter secondary style ────────────────────────────────────── */
.cs-filter-btn--area{background:#f5f6fa;border-color:#dde0e8;font-size:.65rem;}
.cs-filter-btn--area.cs-filter-on{background:#0d0d0f;border-color:#0d0d0f;color:#fff;}
.cs-filter-btn--area:hover:not(.cs-filter-on){border-color:#0d0d0f;color:#0d0d0f;}

/* ══ WOMEN'S SPORT GRID ══════════════════════════════════════════════════ */
.cs-womens-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;
}
.cs-womens-card{
  background:#fff;border:1px solid #eaecf2;border-radius:12px;
  padding:20px;display:flex;gap:14px;align-items:flex-start;
  transition:box-shadow .22s,transform .22s;
}
.cs-womens-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.09);transform:translateY(-3px);}
.cs-wc-icon{
  width:44px;height:44px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;flex-shrink:0;
}
.cs-wc-body{flex:1;min-width:0;}
.cs-wc-league{font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;}
.cs-wc-name{font-size:.9rem;font-weight:900;color:#0d0d0f;margin:0 0 8px;line-height:1.2;}
.cs-wc-desc{font-size:.72rem;color:#666;line-height:1.55;margin:0 0 10px;}
@media(max-width:640px){.cs-womens-grid{grid-template-columns:1fr;}}

/* ══ LIGHT PATHWAY CARDS (youth section) ════════════════════════════════ */
.cs-pathway-card--light{background:#fff;border:1px solid #eaecf2;}
.cs-pathway-card--light:hover{background:#f7f8fc;border-color:#dde0e8;transform:translateY(-3px);}

/* ── Community Sport responsive tweaks ──────────────────────────────── */
@media(max-width:640px){
  .cs-section{padding:40px 16px;}
  .cs-section--white,
  .cs-section--grey,
  .cs-section--accent{padding:40px 0;}
  .cs-section--white>.cs-section-head,
  .cs-section--white>.cs-stories-grid,
  .cs-section--white>.cs-fixtures-grid,
  .cs-section--white>.cs-facilities-grid,
  .cs-section--grey>.cs-section-head,
  .cs-section--grey>.cs-leagues-grid,
  .cs-section--grey>.cs-filter-row,
  .cs-section--grey>.cs-clubs-grid,
  .cs-section--accent>.cs-section-head,
  .cs-section--accent>.cs-pathways-grid{padding-left:16px;padding-right:16px;}
  .cs-sh-title{font-size:1.3rem;}
  .cs-mh-inner{padding:36px 16px 24px;}
  .cs-fixtures-grid{grid-template-columns:1fr;}
  .cs-leagues-grid{grid-template-columns:1fr;}
  .cs-clubs-grid{grid-template-columns:1fr;}
  .cs-pathways-grid{grid-template-columns:1fr 1fr;}
  .cs-facilities-grid{grid-template-columns:1fr;}
  .cs-nl-inner{flex-direction:column;align-items:stretch;}
  .cs-nl-form{flex-direction:column;}
  .cs-nl-input{min-width:0;width:100%;}
  .cs-spotlight-inner{padding:48px 16px;}
  .cs-spotlight-stats{gap:16px;}
}
@media(max-width:480px){
  .cs-pathways-grid{grid-template-columns:1fr;}
}

/* ═══════════════════════════════════════════════════════════════════════
   SPORT PAGE - Community Sport promo block - v9.92.0
   ═══════════════════════════════════════════════════════════════════════ */
.sport-cs-promo{
  background:linear-gradient(135deg,#0d0d0f 0%,#1a1a24 60%,#1e1a2e 100%);
  border-radius:16px;
  margin:40px 0;
  overflow:hidden;
  position:relative;
}
.sport-cs-promo::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 80% 50%,rgba(232,32,26,.12) 0%,transparent 65%);
  pointer-events:none;
}
.scp-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding:40px 36px;
  position:relative;
  z-index:1;
  flex-wrap:wrap;
}
.scp-left{flex:1;min-width:260px;}
.scp-kicker{
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#E8201A;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  gap:6px;
}
.scp-title{
  font-size:1.5rem;
  font-weight:900;
  color:#fff;
  margin:0 0 10px;
  line-height:1.15;
}
.scp-desc{
  font-size:.8rem;
  color:rgba(255,255,255,.6);
  line-height:1.65;
  margin:0 0 18px;
  max-width:500px;
}
.scp-pills{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:22px;
}
.scp-pills span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 11px;
  border-radius:20px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  font-size:.65rem;
  font-weight:700;
  color:rgba(255,255,255,.7);
}
.scp-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 22px;
  border-radius:9px;
  background:#E8201A;
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 4px 18px rgba(232,32,26,.35);
  transition:transform .18s,box-shadow .18s;
}
.scp-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(232,32,26,.5);}
.scp-stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  flex-shrink:0;
}
.scp-stat{
  display:flex;
  flex-direction:column;
  align-items:center;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:16px 20px;
  text-align:center;
}
.scp-stat strong{
  font-size:1.6rem;
  font-weight:900;
  color:#fff;
  line-height:1;
}
.scp-stat span{
  font-size:.6rem;
  color:rgba(255,255,255,.45);
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-top:3px;
}
@media(max-width:640px){
  .scp-inner{padding:28px 20px;gap:24px;}
  .scp-title{font-size:1.2rem;}
  .scp-stats{grid-template-columns:repeat(4,1fr);width:100%;}
}

/* ── Community Sport: editorial intro ───────────────────────────────── */
.cs-editorial-intro{
  max-width:760px;
  margin:0 auto;
  padding:0 24px;
}
.cs-ei-lead{
  font-size:1.1rem;
  font-weight:700;
  color:#0d0d0f;
  line-height:1.55;
  margin:0 0 14px;
}
.cs-ei-body{
  font-size:.88rem;
  color:#555;
  line-height:1.75;
  margin:0 0 22px;
}
.cs-ei-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.cs-ei-tag{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 13px;
  border-radius:20px;
  background:#f3f4f8;
  border:1px solid #dde0e8;
  font-size:.7rem;
  font-weight:700;
  color:#444;
  text-decoration:none;
  transition:background .18s,border-color .18s,color .18s;
}
.cs-ei-tag:hover{background:#E8201A;border-color:#E8201A;color:#fff;}

/* ═══════════════════════════════════════════════════════════════════════
   MCR CITY v9.91 - STORIES: White EP surface + Ultra-premium hero
   Appended 2026-03-28
══════════════════════════════════════════════════════════════════════ */

/* ── Editor's Picks: white surface ─────────────────────────────────── */
.editors-picks-block {
  background:#fff !important;
  border-top:1px solid rgba(0,0,0,.07);
  border-bottom:1px solid rgba(0,0,0,.08);
  padding:22px 28px;
}
.epb-label { color:#0c0c0e !important; }
.epb-label i { color:var(--dc-red) !important; }
.epb-sub { color:rgba(0,0,0,.45) !important; }
.epb-header { margin-bottom:16px; }
/* ep-cards: keep their own dark overlay look - images handle bg */
.ep-card { border-color:rgba(0,0,0,.1) !important; }

/* ── Hero story: ultra-premium treatment ────────────────────────────── */
.stories-hero {
  height:580px !important;
}
.sh-scrim {
  background:
    linear-gradient(to top,  rgba(0,0,0,.97) 0%, rgba(0,0,0,.62) 42%, rgba(0,0,0,.18) 75%, transparent 100%),
    linear-gradient(to right, rgba(0,0,0,.5)  0%, transparent 60%) !important;
}
.sh-body {
  padding:52px 56px !important;
}
.sh-cat {
  font-size:.54rem !important;
  letter-spacing:.14em !important;
  padding:5px 12px !important;
  border-radius:4px !important;
}
.sh-badge {
  letter-spacing:.16em !important;
  color:rgba(255,255,255,.75) !important;
  border-color:rgba(255,255,255,.35) !important;
  font-size:.52rem !important;
}
.sh-title {
  font-size:clamp(2.1rem,4.5vw,3.4rem) !important;
  letter-spacing:-.04em !important;
  line-height:1.03 !important;
  margin:0 0 16px !important;
}
.sh-sub {
  font-size:.96rem !important;
  color:rgba(255,255,255,.78) !important;
  max-width:600px !important;
  line-height:1.62 !important;
  margin:0 0 20px !important;
}
.sh-foot {
  font-size:.72rem !important;
  color:rgba(255,255,255,.55) !important;
  gap:10px !important;
}
@media(max-width:700px){
  .stories-hero{height:400px !important;}
  .sh-body{padding:28px 24px !important;}
  .sh-title{font-size:1.7rem !important;}
}

/* ══════════════════════════════════════════════════════════
   WOT MOBILE REDESIGN - clean, compact, app-style
══════════════════════════════════════════════════════════ */
@media(max-width:640px){

  /* ── Topbar: grid layout - title+live row 1, date strip row 2 ── */
  .wot-topbar {
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-rows:auto auto !important;
    align-items:start !important;
    padding:14px 14px 0 !important;
    gap:0 !important;
  }
  .wot-topbar-left   { grid-column:1; grid-row:1; }
  .wot-topbar-right  { grid-column:2; grid-row:1; padding-top:4px; }
  .wot-topbar-center {
    grid-column:1 / -1;
    grid-row:2;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    padding:10px 0 12px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
    width:auto !important;
    margin:0 !important;
  }
  .wot-topbar-center::-webkit-scrollbar { display:none !important; }

  /* Hide < > nav buttons - use swipe */
  .wot-nav-btn { display:none !important; }

  /* Compact title */
  .wot-title       { font-size:1.05rem !important; letter-spacing:-.03em !important; }
  .wot-date-label  { font-size:.5rem !important; margin-top:1px !important; }

  /* Compact LIVE badge */
  .wot-live-badge  { padding:5px 10px !important; font-size:.44rem !important; gap:4px !important; }
  .wot-live-dot    { width:5px !important; height:5px !important; }

  /* Day strip scrollable */
  .wot-week-strip  { gap:6px !important; flex-wrap:nowrap !important; }
  .wot-wday        { width:44px !important; height:48px !important; flex-shrink:0 !important; border-radius:12px !important; }
  .wot-wday-dn     { font-size:.38rem !important; }
  .wot-wday-num    { font-size:.78rem !important; }

  /* Filter bar */
  .wot-filterbar { padding:8px 14px 12px !important; gap:6px !important; flex-wrap:nowrap !important; }
  .wot-flt       { padding:5px 11px !important; font-size:.46rem !important; flex-shrink:0 !important; white-space:nowrap !important; }
  .wot-flt-dot   { width:5px !important; height:5px !important; }

  /* Time grid - internal scroll box (50vh), day-switch stays compact, JS scrollTop works */
  .wot-tg          { max-height:50vh !important; overflow-y:auto !important; overflow-x:hidden !important; -webkit-overflow-scrolling:touch !important; }
  .wot-tg::after   { display:none !important; }

  /* Time grid rows - horizontal scroll per row, no touch-action override */
  .wot-tg-time     { width:40px !important; font-size:.4rem !important; padding:12px 6px 10px 10px !important; }
  .wot-tg-ev-row   { padding:6px 10px 6px 8px !important; gap:6px !important; overflow-x:auto !important; overflow-y:hidden !important; -webkit-overflow-scrolling:touch !important; }

  /* Event pills */
  .wot-ev-pill     { padding:5px 8px 5px 7px !important; min-width:90px !important; max-width:150px !important; border-radius:6px !important; gap:1px !important; }
  .wot-ep-title    { font-size:.58rem !important; max-width:105px !important; }
  .wot-ep-sub      { font-size:.48rem !important; }

  /* NOW row - horizontal scroll on mobile, no wrap */
  .wot-tg-row.wot-now.double-layer .wot-tg-ev-row,
  .wot-tg-row.double-layer .wot-tg-ev-row {
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    max-height:none !important;
  }

  /* Last 2 rows - show all pills wrapped */
  .wot-tg-row.wot-last-two .wot-tg-ev-row {
    flex-wrap:wrap !important;
    overflow-x:hidden !important;
    overflow-y:visible !important;
    max-height:none !important;
    padding-bottom:8px !important;
  }
}
@keyframes glow-anim{0%,100%{opacity:.5;filter:blur(0)}50%{opacity:1;filter:blur(.5px)}}
@keyframes bounce-up{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:.9}}

/* ── SECTION HEADER ───────────────────── */
.sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}

/* Search results overlay */
#SEARCH-PANEL{
  position:absolute;top:42px;left:0;right:0;
  background:rgba(8,8,12,.98);
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  z-index:50;overflow:hidden;
  display:none;
  box-shadow:0 16px 48px rgba(0,0,0,.6);
  max-height:360px;overflow-y:auto;scrollbar-width:none;
}
#SEARCH-PANEL::-webkit-scrollbar{display:none}
#SEARCH-PANEL.show{display:block;animation:panel-in .18s ease}
@keyframes panel-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

.sp-section{padding:8px 0 4px}
.sp-section-title{
  font-size:.42rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.22);padding:0 14px 6px;
}
.sp-row{
  display:flex;align-items:center;gap:11px;
  padding:9px 14px;cursor:pointer;
  transition:background .12s;text-decoration:none;color:#fff;
}
.sp-row:hover{background:rgba(255,255,255,.05)}
.sp-type-ico{
  width:32px;height:32px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:.75rem;
}
.sp-body{flex:1;min-width:0}
.sp-title{
  font-family:'Inter Tight',sans-serif;font-weight:700;font-size:.65rem;
  color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sp-sub{font-size:.48rem;color:rgba(255,255,255,.35);margin-top:1px}
.sp-cat{
  font-size:.4rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:2px 7px;border-radius:4px;flex-shrink:0;
  background:rgba(255,255,255,.07);color:rgba(255,255,255,.5);
}
.sp-divider{height:1px;background:rgba(255,255,255,.05);margin:4px 14px}
.sp-no-results{
  padding:28px;text-align:center;
  font-size:.65rem;color:rgba(255,255,255,.28);
}
.sp-recent-clear{
  font-size:.48rem;font-weight:600;color:rgba(26,86,255,.7);
  padding:4px 14px 10px;cursor:pointer;display:block;
  transition:color .15s;text-decoration:none;
}
.sp-recent-clear:hover{color:#1A56FF}

@keyframes live-p{0%,100%{box-shadow:0 0 0 2px rgba(232,0,42,.25)}50%{box-shadow:0 0 0 5px rgba(232,0,42,.07)}}

/* ═══ SCORES ════════════════════════════ */
.scores-row{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin-bottom:22px}
.scores-row::-webkit-scrollbar{display:none}
.score-card{
  flex-shrink:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:12px;padding:10px 12px;min-width:132px;
  cursor:pointer;text-decoration:none;color:#fff;transition:background .15s;
}
.score-card:hover{background:rgba(255,255,255,.07)}
.score-comp{
  font-size:.39rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.28);margin-bottom:7px;display:flex;align-items:center;gap:4px;
}
.sc-live-dot{width:5px;height:5px;border-radius:50%;background:#e8002a;animation:live-p 1.6s ease infinite}
.score-teams{display:flex;flex-direction:column;gap:5px}
.score-team{display:flex;align-items:center;gap:7px}
.sc-badge{
  width:18px;height:18px;border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  font-size:.42rem;font-weight:900;flex-shrink:0;
  border:1px solid rgba(255,255,255,.08);
}
.score-name{flex:1;font-size:.55rem;font-weight:700;color:rgba(255,255,255,.75)}
.score-num{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:.75rem;color:#fff;min-width:12px;text-align:right}
.score-team.winner .score-name{color:#fff}

/* ═══ NEWSLETTER ════════════════════════ */
.nl{background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:15px;margin-bottom:24px}

@keyframes slide-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* ── Mobile: show drawer, hide tab bar ── */
@media(max-width:900px){
  #WRAP{padding-bottom:48px!important}
}

/* ── RGB colour lines - top nav + bottom drawer tab ── */
#MOB-HEADER { position:relative !important; }
#MOB-HEADER::after {
  content:"" !important;display:block !important;
  position:absolute !important;bottom:0 !important;left:0 !important;right:0 !important;
  height:2px !important;z-index:10 !important;
  background:linear-gradient(90deg,#e8002a 0%,#ff6600 20%,#ffd200 38%,#00d26a 55%,#1A56FF 75%,#8b5cf6 100%) !important;
  opacity:.8 !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE HOMEPAGE FIXES - v9.91
══════════════════════════════════════════════════════════════════════ */
@media(max-width:900px){

  /* 1. Homepage video slider hero - FULLY REMOVED on mobile. Targets ONLY
     .hero-slider (the YouTube video carousel on homepage), not other page
     heroes. Belt + braces: display:none plus zeroed dimensions/spacing so
     margin-collapse cannot leave a gap at the top of the page. */
  section.HERO.hero-slider,
  main.CENTRE > section.HERO.hero-slider,
  body.home section.HERO.hero-slider,
  body.home .vs-track,
  body.home #vs-track {
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    visibility:hidden !important;
  }

  /* Neutralise .CENTRE's 28px top padding on mobile homepage so the WOT
     section flows directly under the mobile header with no dead space. */
  body.home main.CENTRE {
    padding-top:0 !important;
  }

  /* RGB line under mobile nav is handled by the drawer v5a #MOB-HEADER::after
     rule above - duplicate 3-colour rule removed to prevent stacked lines. */
}

/* 5. Cookie consent - ultra minimal */
#cookie-law-info-bar,
.cookie-notice-container,
.cc-window,
.cc-banner,
[id*="cookie-law"],
[class*="cookie-notice"],
[class*="cookie-consent"],
[id*="cookie_notice"],
.wp-gdpr-cookie-notice {
  background:rgba(8,8,10,.92) !important;
  border:none !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
  box-shadow:none !important;
  padding:8px 16px !important;
  font-size:.5rem !important;
  color:rgba(255,255,255,.35) !important;
  border-radius:0 !important;
}
#cookie-law-info-bar a,
.cookie-notice-container a,
.cc-window a,
[class*="cookie-notice"] a,
[class*="cookie-consent"] a {
  color:rgba(255,255,255,.4) !important;
  font-size:.5rem !important;
}
#cookie-law-info-bar .medium,
#cookie-law-info-bar button,
#cookie-law-info-bar .btn,
.cookie-notice-container button,
.cookie-notice-container .btn,
.cc-btn,
[class*="cookie-notice"] button,
[class*="cookie-consent"] button {
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  color:rgba(255,255,255,.5) !important;
  font-size:.48rem !important;
  font-weight:600 !important;
  padding:4px 10px !important;
  border-radius:4px !important;
  box-shadow:none !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

/* ══════════════════════════════════════════════════════════════
   HERO - 6 CATEGORY SLIDES
══════════════════════════════════════════════════════════════ */
.vs-cat-link {
  position:absolute; inset:0; z-index:5;
  display:flex; align-items:flex-end; justify-content:flex-start;
  padding:10px 14px; text-decoration:none;
}
.vs-cat-badge {
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 12px; border-radius:20px;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  font-size:.52rem; font-weight:800;
  color:#fff; letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 2px 10px rgba(0,0,0,.4);
}
.vs-cat-badge-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--cc,#fff); flex-shrink:0;
}

/* ══════════════════════════════════════════════════════════════
   WOT REDESIGN - v5  Premium dark glass
══════════════════════════════════════════════════════════════ */

/* Section */
section.WOT { background:#000 !important; border-bottom:1px solid rgba(255,255,255,.06) !important; }

/* Mini label */
.wot-mini-label {
  display:flex; align-items:center; gap:8px;
  padding:14px 18px 0;
}
.wot-mini-tonight {
  font-size:.42rem; font-weight:800; letter-spacing:.22em;
  text-transform:uppercase; white-space:nowrap;
  color:#fff;
}
.wot-mini-line {
  flex:1; height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,.08),transparent);
}
.wot-mini-live {
  display:flex; align-items:center; gap:4px;
  font-size:.42rem; font-weight:800; letter-spacing:.14em;
  color:rgba(232,32,26,.75); text-transform:uppercase;
  white-space:nowrap;
}
.wot-mini-dot {
  width:4px; height:4px; border-radius:50%;
  background:#e8201a; display:inline-block;
  animation:wot-blink 1.6s ease-in-out infinite;
}

/* ── Segmented Dark/Light switch for WOT ─────────────────── */
.wot-mode-switch {
  display:inline-flex; align-items:center;
  margin-left:auto; padding:3px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px; gap:2px;
  flex-shrink:0;
}
.wot-mode-opt {
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 11px; border:0; background:transparent;
  color:rgba(255,255,255,.58); cursor:pointer;
  border-radius:999px; font-size:.7rem; font-weight:700;
  letter-spacing:.02em; text-transform:uppercase;
  line-height:1; transition:background .18s ease, color .18s ease, box-shadow .18s ease;
}
.wot-mode-opt i { font-size:.72rem; }
.wot-mode-opt:hover { color:#fff; }
.wot-mode-opt.is-on {
  background:#fff; color:#0c0c0e;
  box-shadow:0 1px 4px rgba(0,0,0,.25);
}
.wot-light .wot-mode-switch {
  background:rgba(0,0,0,.05); border-color:rgba(0,0,0,.12);
}
.wot-light .wot-mode-opt { color:rgba(0,0,0,.55); }
.wot-light .wot-mode-opt:hover { color:#0c0c0e; }
.wot-light .wot-mode-opt.is-on {
  background:#0c0c0e; color:#fff; box-shadow:0 1px 4px rgba(0,0,0,.18);
}

/* ── Legacy single-button toggle (kept harmless for cached markup) ── */
.wot-mode-btn {
  width:28px; height:28px; border-radius:50%;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.6);
  font-size:.55rem;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .2s ease;
  flex-shrink:0; margin-left:4px;
}
.wot-mode-btn:hover { background:rgba(255,255,255,.15); color:#fff; }
.wot-light .wot-mode-btn {
  border-color:rgba(0,0,0,.12);
  background:rgba(0,0,0,.05);
  color:rgba(0,0,0,.5);
}
.wot-light .wot-mode-btn:hover { background:rgba(0,0,0,.1); color:#0c0c0e; }

/* ══ WOT LIGHT MODE ══════════════════════════════════════════ */
.WOT.wot-light { background:#ffffff !important; }

/* Mini label */
.wot-light .wot-mini-tonight { color:#0c0c0e !important; }
.wot-light .wot-mini-line { background:linear-gradient(90deg,rgba(0,0,0,.1),transparent) !important; }

/* Day strip */
.wot-light .wot-wday { background:#fff !important; border:1px solid rgba(0,0,0,.1) !important; box-shadow:0 1px 2px rgba(0,0,0,.04) !important; }
.wot-light .wot-wday:hover { background:#fafafa !important; border-color:rgba(0,0,0,.18) !important; }
.wot-light .wot-wday-dn { color:rgba(0,0,0,.5) !important; font-weight:700 !important; }
.wot-light .wot-wday-num { color:#0c0c0e !important; font-weight:800 !important; }
.wot-light .wot-wday.active { background:#E8201A !important; border-color:#E8201A !important; box-shadow:0 4px 12px rgba(232,32,26,.3) !important; }
.wot-light .wot-wday.active .wot-wday-dn { color:rgba(255,255,255,.9) !important; }
.wot-light .wot-wday.active .wot-wday-num { color:#fff !important; }

/* Filter bar - stronger pills for light mode */
.wot-light .wot-filterbar { border-bottom:1px solid rgba(0,0,0,.08) !important; background:#fafafa !important; }

/* WOT light-mode event pills - fix white-on-white bug on homepage.
   In dark mode pill titles are forced white (#fff) and the coloured bg uses 15% opacity.
   On light bg that renders as invisible ghost pills. Scope a proper light treatment. */
.wot-light .wot-tg { background:#ffffff !important; }
.wot-light .wot-tg-row { border-bottom:1px solid rgba(0,0,0,.06) !important; }
.wot-light .wot-tg-time { color:rgba(0,0,0,.55) !important; font-weight:700 !important; }
.wot-light .wot-tg-row.wot-past { opacity:.42 !important; }
.wot-light .wot-tg-row.wot-past .wot-tg-time { color:rgba(0,0,0,.3) !important; }
.wot-light .wot-ep-title { color:#ffffff !important; text-shadow:0 1px 2px rgba(0,0,0,.15); }
.wot-light .wot-ep-venue { color:rgba(255,255,255,.88) !important; }
.wot-light .wot-ep-time { color:rgba(255,255,255,.95) !important; font-weight:700 !important; }
.wot-light .wot-ep-cat { color:rgba(255,255,255,.95) !important; }

/* same fix for the site-wide .CENTRE.white-bg context in case .wot-light class isn't added */
.CENTRE.white-bg .wot-ep-title { color:#0c0c0e !important; }
.CENTRE.white-bg .wot-ev-pill {
  background:#ffffff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-left:3px solid var(--ec,#888) !important;
  box-shadow:0 1px 3px rgba(0,0,0,.06) !important;
}
.CENTRE.white-bg .wot-ev-pill::before { opacity:.10 !important; }
.CENTRE.white-bg .wot-tg-time { color:rgba(0,0,0,.55) !important; font-weight:700 !important; }
.wot-light .wot-flt { background:#fff !important; color:rgba(0,0,0,.65) !important; border:1px solid rgba(0,0,0,.1) !important; box-shadow:0 1px 2px rgba(0,0,0,.04) !important; font-weight:700 !important; }
.wot-light .wot-flt[data-cat="all"] { background:#fff !important; color:#0c0c0e !important; }
.wot-light .wot-flt[data-cat="all"].on { background:#0c0c0e !important; color:#fff !important; border-color:#0c0c0e !important; }
.wot-light .wot-flt[data-cat="music"] { color:#E8201A !important; border-color:rgba(232,32,26,.2) !important; }
.wot-light .wot-flt[data-cat="music"].on { background:#E8201A !important; color:#fff !important; border-color:#E8201A !important; }
.wot-light .wot-flt[data-cat="sport"] { color:#1A56FF !important; border-color:rgba(26,86,255,.2) !important; }
.wot-light .wot-flt[data-cat="sport"].on { background:#1A56FF !important; color:#fff !important; border-color:#1A56FF !important; }
.wot-light .wot-flt[data-cat="food"] { color:#1e8a37 !important; border-color:rgba(45,181,75,.2) !important; }
.wot-light .wot-flt[data-cat="food"].on { background:#2DB54B !important; color:#fff !important; border-color:#2DB54B !important; }
.wot-light .wot-flt[data-cat="nightlife"] { color:#cc5500 !important; border-color:rgba(255,107,0,.2) !important; }
.wot-light .wot-flt[data-cat="nightlife"].on { background:#FF6B00 !important; color:#fff !important; border-color:#FF6B00 !important; }
.wot-light .wot-flt[data-cat="culture"] { color:#6a2ec7 !important; border-color:rgba(124,58,237,.2) !important; }
.wot-light .wot-flt[data-cat="culture"].on { background:#7C3AED !important; color:#fff !important; border-color:#7C3AED !important; }

/* Time grid - the big swap */
.wot-light .wot-tg { background:#ffffff !important; }
.wot-light .wot-tg-row { border-bottom-color:rgba(0,0,0,.06) !important; }
.wot-light .wot-tg-time { color:rgba(0,0,0,.4) !important; }
.wot-light .wot-tg-ev-row { border-left-color:rgba(0,0,0,.08) !important; }

/* Event pills on white - FLAT MODERN (Notion/Spotify aesthetic) */
.wot-light .wot-ev-pill {
  background:var(--ec,#666) !important;
  background-image:none !important;
  border:none !important;
  border-radius:8px !important;
  box-shadow:0 1px 2px rgba(0,0,0,.06) !important;
  position:relative !important;
  overflow:hidden !important;
  transition:transform .15s ease, box-shadow .15s ease !important;
}
.wot-light .wot-ev-pill::before { display:none !important; }
.wot-light /* WOT V19: old .wot-ev-pill::after display:none removed */

.wot-light .wot-ev-pill:hover {
  transform:translateY(-1px) !important;
  box-shadow:0 2px 6px rgba(0,0,0,.1) !important;
}

.wot-light .wot-ev-pill.active {
  box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--ec,#666), 0 2px 6px rgba(0,0,0,.1) !important;
}

/* Text - crisp white, clean hierarchy */
.wot-light .wot-ep-title {
  color:#ffffff !important;
  font-weight:600 !important;
  letter-spacing:-.01em !important;
  text-shadow:none !important;
}
.wot-light .wot-ep-sub,
.wot-light .wot-ep-venue {
  color:rgba(255,255,255,.75) !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-shadow:none !important;
}
.wot-light .wot-ep-time {
  color:#ffffff !important;
  font-weight:600 !important;
  text-shadow:none !important;
}
.wot-light .wot-ep-cat {
  color:rgba(255,255,255,.85) !important;
  font-weight:600 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  font-size:.58rem !important;
  text-shadow:none !important;
}

/* Expand drawer */
.wot-light .wot-expand { border-bottom-color:rgba(0,0,0,.08) !important; }
.wot-light .wot-expand-inner { background:linear-gradient(135deg,#f8f8fa,#fff) !important; }
.wot-light .wot-expand-title { color:#0c0c0e !important; }
.wot-light .wot-expand-meta { color:rgba(0,0,0,.5) !important; }
.wot-light .wot-expand-desc { color:rgba(0,0,0,.6) !important; }

/* Time state overrides */
.wot-light .wot-tg-row.wot-now .wot-tg-time { color:#0c0c0e !important; text-shadow:none !important; }
.wot-light .wot-tg-row.wot-past .wot-tg-time { color:rgba(0,0,0,.2) !important; }
.wot-light .wot-tg-row.wot-near-past .wot-tg-time { color:rgba(0,0,0,.25) !important; }
.wot-light .wot-tg-row.wot-near-future .wot-tg-time { color:rgba(0,0,0,.4) !important; }
.wot-light .wot-tg-row:not(.wot-past):hover { background:rgba(0,0,0,.02) !important; }

/* Now-line glow */
.wot-light .wot-tg-row.wot-now::after { background:linear-gradient(90deg,#E8201A,transparent) !important; opacity:.15 !important; }

/* Scrollbar */
.wot-light .wot-tg::-webkit-scrollbar-thumb { background:rgba(0,0,0,.12) !important; }
.wot-light .wot-tg { scrollbar-color:rgba(0,0,0,.1) transparent !important; }

/* Empty state */
.wot-light .wot-tg-empty i { color:rgba(0,0,0,.1) !important; }
.wot-light .wot-tg-empty div { color:rgba(0,0,0,.35) !important; }

/* Nav bar */
.wot-light .wot-nav-bar { border-top-color:rgba(0,0,0,.08) !important; }

/* ── Mobile: bigger tap target ─────────────────────────────── */
@media(max-width:600px){
  .wot-mode-btn { width:32px; height:32px; font-size:.6rem; }
}

/* Day strip */
.wot-week-strip {
  display:flex !important; gap:5px !important;
  padding:10px 18px 8px !important;
  overflow-x:auto !important; scrollbar-width:none !important;
  flex-wrap:nowrap !important;
}
.wot-week-strip::-webkit-scrollbar { display:none !important; }
.wot-wday {
  display:flex !important; flex-direction:column !important;
  align-items:center !important; justify-content:center !important;
  gap:1px !important; min-width:44px !important; width:auto !important;
  height:auto !important; padding:7px 4px 8px !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.07) !important;
  cursor:pointer !important; flex-shrink:0 !important;
}
.wot-wday-dn { font-size:.37rem !important; font-weight:700 !important; letter-spacing:.1em !important; color:rgba(255,255,255,.28) !important; text-transform:uppercase !important; }
.wot-wday-num { font-size:.88rem !important; font-weight:800 !important; color:rgba(255,255,255,.55) !important; line-height:1.15 !important; }
.wot-wday-dot { display:none !important; }
.wot-wday.active {
  background:linear-gradient(160deg,#ff2d20 0%,#c0100a 100%) !important;
  border-color:rgba(255,60,50,.3) !important;
  box-shadow:0 0 0 1px rgba(255,60,50,.15), 0 6px 22px rgba(220,20,15,.4) !important;
}
.wot-wday.active .wot-wday-dn { color:rgba(255,255,255,.7) !important; }
.wot-wday.active .wot-wday-num { color:#fff !important; }

/* Filter bar */
.wot-filterbar {
  display:flex !important; gap:5px !important;
  padding:8px 16px 10px !important;
  overflow-x:auto !important; scrollbar-width:none !important;
  flex-wrap:nowrap !important; align-items:center !important;
  border-bottom:1px solid rgba(255,255,255,.04) !important;
  background:#000 !important;
}
.wot-filterbar::-webkit-scrollbar { display:none !important; }
.wot-flt {
  display:inline-flex !important; align-items:center !important; gap:4px !important;
  padding:4px 11px !important; border-radius:20px !important;
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  font-size:.45rem !important; font-weight:800 !important;
  letter-spacing:.07em !important; text-transform:uppercase !important;
  white-space:nowrap !important; flex-shrink:0 !important;
  cursor:pointer !important; color:rgba(255,255,255,.45) !important;
  box-shadow:none !important; transform:none !important;
  transition:all .18s ease !important;
}
.wot-flt:hover { background:rgba(255,255,255,.09) !important; color:rgba(255,255,255,.7) !important; transform:none !important; filter:none !important; }
.wot-flt.on    { transform:none !important; }
.wot-flt-dot   { display:none !important; }
/* inactive - coloured text only */
.wot-flt[data-cat="all"]       { color:rgba(255,255,255,.55) !important; border-color:rgba(255,255,255,.12) !important; }
.wot-flt[data-cat="music"]     { color:rgba(255,59,48,.7) !important;   border-color:rgba(255,59,48,.2) !important; }
.wot-flt[data-cat="sport"]     { color:rgba(59,130,255,.8) !important;  border-color:rgba(59,130,255,.2) !important; }
.wot-flt[data-cat="food"]      { color:rgba(50,215,75,.8) !important;   border-color:rgba(50,215,75,.2) !important; }
.wot-flt[data-cat="nightlife"] { color:rgba(255,159,10,.8) !important;  border-color:rgba(255,159,10,.2) !important; }
.wot-flt[data-cat="culture"]   { color:rgba(191,90,242,.8) !important;  border-color:rgba(191,90,242,.2) !important; }
.wot-flt[data-cat="family"]    { color:rgba(255,214,10,.8) !important;  border-color:rgba(255,214,10,.2) !important; }
/* active - filled */
.wot-flt[data-cat="all"].on       { background:rgba(255,255,255,.12) !important; color:#fff !important; border-color:rgba(255,255,255,.25) !important; }
.wot-flt[data-cat="music"].on     { background:rgba(255,59,48,.15) !important;   color:#ff5040 !important; border-color:rgba(255,59,48,.4) !important; box-shadow:0 0 12px rgba(255,59,48,.15) !important; }
.wot-flt[data-cat="sport"].on     { background:rgba(59,130,255,.15) !important;  color:#6aa3ff !important; border-color:rgba(59,130,255,.4) !important; box-shadow:0 0 12px rgba(59,130,255,.15) !important; }
.wot-flt[data-cat="food"].on      { background:rgba(50,215,75,.12) !important;   color:#4de870 !important; border-color:rgba(50,215,75,.4) !important;  box-shadow:0 0 12px rgba(50,215,75,.12) !important; }
.wot-flt[data-cat="nightlife"].on { background:rgba(255,159,10,.15) !important;  color:#ffb340 !important; border-color:rgba(255,159,10,.4) !important; box-shadow:0 0 12px rgba(255,159,10,.15) !important; }
.wot-flt[data-cat="culture"].on   { background:rgba(191,90,242,.15) !important;  color:#d08af7 !important; border-color:rgba(191,90,242,.4) !important; box-shadow:0 0 12px rgba(191,90,242,.15) !important; }
.wot-flt[data-cat="family"].on    { background:rgba(255,214,10,.12) !important;  color:#ffe040 !important; border-color:rgba(255,214,10,.4) !important;  box-shadow:0 0 12px rgba(255,214,10,.12) !important; }
.wot-full-cal-btn {
  border:1.5px solid rgba(255,255,255,.2) !important;
  color:rgba(255,255,255,.4) !important;
  background:transparent !important;
  padding:5px 13px !important; border-radius:20px !important;
  font-size:.48rem !important; font-weight:800 !important;
  box-shadow:none !important;
}
.wot-full-cal-btn i { display:none !important; }

/* ── V6 Time grid (dark mode only - light mode handled elsewhere) ─── */
.wot-tg { perspective:1200px !important; }
.WOT:not(.wot-light) .wot-tg { background:#000 !important; }
.WOT:not(.wot-light) .wot-tg-row { background:#000 !important; }
.WOT:not(.wot-light) .wot-tg-ev-row { background:#000 !important; }
.WOT:not(.wot-light) .wot-filterbar { background:#000 !important; }

.WOT.wot-light .wot-tg-row { background:#fff !important; }
.WOT.wot-light .wot-tg-ev-row { background:#fff !important; }

/* Time labels - dark mode: white; light mode: dark */
.wot-tg-time { font-weight:600 !important; transition:color .2s ease !important; }
.WOT:not(.wot-light) .wot-tg-time { color:rgba(255,255,255,.45) !important; }
.WOT:not(.wot-light) .wot-tg-row.wot-past .wot-tg-time        { color:rgba(255,255,255,.12) !important; }
.WOT:not(.wot-light) .wot-tg-row.wot-near-past .wot-tg-time   { color:rgba(255,255,255,.2) !important; }
.WOT:not(.wot-light) .wot-tg-row.wot-now .wot-tg-time         { color:#fff !important; font-weight:900 !important; text-shadow:0 0 12px rgba(255,255,255,.4) !important; }
.WOT:not(.wot-light) .wot-tg-row.wot-near-future .wot-tg-time { color:rgba(255,255,255,.45) !important; }
.WOT:not(.wot-light) .wot-tg-row.wot-far-future .wot-tg-time  { color:rgba(255,255,255,.35) !important; }

.WOT.wot-light .wot-tg-time { color:rgba(0,0,0,.55) !important; }
.WOT.wot-light .wot-tg-row.wot-past .wot-tg-time        { color:rgba(0,0,0,.2) !important; }
.WOT.wot-light .wot-tg-row.wot-near-past .wot-tg-time   { color:rgba(0,0,0,.3) !important; }
.WOT.wot-light .wot-tg-row.wot-now .wot-tg-time         { color:#0c0c0e !important; font-weight:900 !important; text-shadow:none !important; }
.WOT.wot-light .wot-tg-row.wot-near-future .wot-tg-time { color:rgba(0,0,0,.5) !important; }
.WOT.wot-light .wot-tg-row.wot-far-future .wot-tg-time  { color:rgba(0,0,0,.4) !important; }

/* Row hover highlight */
.WOT:not(.wot-light) .wot-tg-row:not(.wot-past):hover { background:rgba(255,255,255,.015) !important; }
.WOT.wot-light .wot-tg-row:not(.wot-past):hover { background:rgba(0,0,0,.03) !important; }

/* Past-hour - darker + compressed (desktop: dim, mobile: hide) */
.wot-tg-row.wot-past {
  opacity:.18 !important;
}
.wot-tg-row.wot-past .wot-ev-pill   { transform:none !important; }
.wot-tg-row.wot-near-past { opacity:.35 !important; }
/* Mobile 10PM+ night mode: JS adds .wot-night-mode - hide past rows */
@media(max-width:640px){
  .wot-night-mode .wot-tg-row.wot-past { display:none !important; }
  .wot-night-mode .wot-tg-row.wot-near-past { display:none !important; }
}

/* NOW row - top white line + left vertical accent */
.wot-tg-row.wot-now { position:relative !important; }
/* Top horizontal line */
.wot-tg-row.wot-now::after {
  content:'' !important; position:absolute !important; top:0 !important; left:48px !important; right:0 !important;
  height:1px !important; z-index:2 !important;
  background:linear-gradient(90deg, rgba(255,255,255,.85) 0%, rgba(255,255,255,.5) 55%, rgba(255,255,255,.15) 80%, transparent 100%) !important;
  box-shadow:0 0 14px rgba(255,255,255,.25), 0 0 30px rgba(255,255,255,.1) !important;
}
/* NOW pulsing dot */
.wot-now-dot {
  display:inline-block !important; width:5px !important; height:5px !important;
  background:#fff !important; border-radius:50% !important;
  box-shadow:0 0 8px rgba(255,255,255,.5), 0 0 20px rgba(255,255,255,.2) !important;
  animation:wotPulse 2s ease-in-out infinite !important;
  margin-right:3px !important; vertical-align:middle !important;
}
@keyframes wotPulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%     { opacity:.5; transform:scale(.7); }
}

/* Scroll snap on event row */
.wot-tg-ev-row {
  scroll-snap-type:x proximity !important;
  -webkit-overflow-scrolling:touch !important;
  position:relative !important;
}

/* Scroll fade hint - right edge */
.wot-tg-row.has-ev { position:relative !important; }
.wot-tg-row.has-ev /* WOT V19: old .wot-tg-ev-row::after removed - was hardcoding #000 in light mode */

/* Event count badge */
.wot-ev-count {
  position:absolute !important; right:8px !important; top:50% !important; transform:translateY(-50%) !important;
  font-size:.36rem !important; font-weight:700 !important;
  color:rgba(255,255,255,.12) !important;
  z-index:3 !important; pointer-events:none !important;
}

/* ── Double-layer rows (>7 events) ──────────────────────── */
.wot-tg-row.double-layer .wot-tg-ev-row {
  flex-wrap:wrap !important;
  overflow-x:hidden !important;
  overflow-y:hidden !important;
  max-height:90px !important;
  padding-bottom:6px !important;
  gap:4px !important;
}
.wot-tg-row.double-layer .wot-ev-pill {
  flex-shrink:0 !important;
}

/* ── V6 Entrance animation ───────────────────────────────── */
@keyframes wotPillSlideIn {
  from { opacity:0; transform:translateX(20px) scale(.95); }
  to   { opacity:1; transform:translateX(0) scale(1); }
}

/* ── V6 Event pills - colourful + 3D ─────────────────────── */
.wot-ev-pill {
  padding:5px 10px 6px 9px !important;
  border-radius:8px !important;
  background:var(--bg, rgba(16,16,20,.9)) !important;
  border:1px solid var(--border, rgba(255,255,255,.08)) !important;
  border-left:2.5px solid var(--ec, rgba(255,255,255,.15)) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  min-width:80px !important; max-width:200px !important;
  position:relative !important; overflow:hidden !important;
  /* 3D shadow stack */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 -1px 0 rgba(0,0,0,.2),
    0 1px 2px rgba(0,0,0,.3),
    0 3px 8px rgba(0,0,0,.25),
    0 1px 14px var(--glow, transparent) !important;
  transition:transform .25s cubic-bezier(.34,1.4,.64,1), box-shadow .25s ease, background .15s ease !important;
  transform-style:preserve-3d !important;
  transform:translateZ(0) !important;
  scroll-snap-align:start !important;
  animation:wotPillSlideIn .4s cubic-bezier(.22,1,.36,1) both !important;
  animation-delay:var(--d, 0s) !important;
}
/* Category colour wash overlay */
.wot-ev-pill::before {
  content:'' !important; display:block !important;
  position:absolute !important; inset:0 !important;
  background:linear-gradient(135deg, var(--ec, transparent) 0%, transparent 70%) !important;
  opacity:.12 !important;
  border-radius:inherit !important;
  pointer-events:none !important;
  transition:opacity .2s ease !important;
}
/* Bottom colour bar */
/* WOT V19: old .wot-ev-pill::after bottom bar removed */
.wot-ev-pill > * { position:relative !important; z-index:1 !important; }

/* Hover: lift + tilt + category glow */
.wot-ev-pill:hover {
  transform:translateY(-3px) rotateX(2deg) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.1),
    inset 0 -1px 0 rgba(0,0,0,.15),
    0 2px 4px rgba(0,0,0,.35),
    0 8px 20px rgba(0,0,0,.3),
    0 2px 24px var(--glow-hover, transparent) !important;
}
.wot-ev-pill:hover::before { opacity:.2 !important; }

/* Active state - pressed in when drawer open */
.wot-ev-pill.active {
  transform:translateY(1px) scale(.97) !important;
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,.4),
    inset 0 -1px 0 rgba(255,255,255,.03),
    0 0 0 1px var(--ec, #888),
    0 0 16px var(--glow, transparent) !important;
}
.wot-ev-pill.active::before { opacity:.25 !important; }
.wot-ev-pill.active::after  { opacity:1 !important; height:2px !important; }

/* Past rows: no fancy shadows or animations */
.wot-tg-row.wot-past .wot-ev-pill      { box-shadow:0 1px 4px rgba(0,0,0,.3) !important; animation:none !important; transform:none !important; }
.wot-tg-row.wot-past .wot-ev-pill:hover { transform:none !important; }
.wot-tg-row.wot-near-past .wot-ev-pill  { animation:none !important; }

/* Per-category tinted backgrounds + 3D glow */
.wot-ev-pill[data-cat="music"]     { --bg:rgba(255,59,48,.08);  --border:rgba(255,59,48,.22);  --glow:rgba(255,59,48,.08);  --glow-hover:rgba(255,59,48,.25); }
.wot-ev-pill[data-cat="sport"]     { --bg:rgba(59,130,255,.08); --border:rgba(59,130,255,.22); --glow:rgba(59,130,255,.08); --glow-hover:rgba(59,130,255,.25); }
.wot-ev-pill[data-cat="food"]      { --bg:rgba(50,215,75,.07);  --border:rgba(50,215,75,.22);  --glow:rgba(50,215,75,.07);  --glow-hover:rgba(50,215,75,.2); }
.wot-ev-pill[data-cat="nightlife"] { --bg:rgba(255,159,10,.08); --border:rgba(255,159,10,.22); --glow:rgba(255,159,10,.08); --glow-hover:rgba(255,159,10,.25); }
.wot-ev-pill[data-cat="night"]     { --bg:rgba(255,159,10,.08); --border:rgba(255,159,10,.22); --glow:rgba(255,159,10,.08); --glow-hover:rgba(255,159,10,.25); }
.wot-ev-pill[data-cat="culture"]   { --bg:rgba(191,90,242,.08); --border:rgba(191,90,242,.22); --glow:rgba(191,90,242,.08); --glow-hover:rgba(191,90,242,.25); }
.wot-ev-pill[data-cat="family"]    { --bg:rgba(255,214,10,.07); --border:rgba(255,214,10,.22); --glow:rgba(255,214,10,.07); --glow-hover:rgba(255,214,10,.2); }
/* Fallback for pills with no matching category (e.g. attractions) - use neutral family-ish tint, NEVER plain grey */
.wot-ev-pill:not([data-cat="music"]):not([data-cat="sport"]):not([data-cat="food"]):not([data-cat="nightlife"]):not([data-cat="night"]):not([data-cat="culture"]):not([data-cat="family"]) {
  --bg:rgba(255,214,10,.07) !important;
  --border:rgba(255,214,10,.22) !important;
  --glow:rgba(255,214,10,.07) !important;
  --glow-hover:rgba(255,214,10,.2) !important;
}

/* ── ALL DAY row (events with no specific start time, e.g. attractions) ─ */
.wot-tg-row.wot-tg-allday .wot-tg-time {
  font-size:.42rem !important;
  line-height:1.05 !important;
  font-weight:700 !important;
  letter-spacing:.05em !important;
  padding-top:11px !important;
  padding-bottom:9px !important;
}
/* Pills inside the ALL DAY row must behave like every other pill - no full-width grey bar */
.wot-tg-row.wot-tg-allday .wot-tg-ev-row {
  flex-wrap:nowrap !important;
  gap:5px !important;
}
.wot-tg-row.wot-tg-allday .wot-ev-pill {
  flex:0 0 auto !important;
  width:auto !important;
  min-width:110px !important;
  max-width:200px !important;
  align-self:center !important;
}
/* Light mode - ALL DAY label must stay readable, never grey-on-white */
.wot-light .wot-tg-row.wot-tg-allday .wot-tg-time,
.CENTRE.white-bg .wot-tg-row.wot-tg-allday .wot-tg-time {
  color:rgba(0,0,0,.55) !important;
  font-weight:700 !important;
}

/* Title + venue */
.wot-ep-title { font-size:.58rem !important; font-weight:800 !important; color:#fff !important; text-shadow:0 1px 4px rgba(0,0,0,.7) !important; }
.wot-ep-sub   { font-size:.4rem !important; color:rgba(255,255,255,.3) !important; text-shadow:none !important; }

/* ── V6 Drawer upgrades ──────────────────────────────────── */
.wot-expand-inner {
  background:linear-gradient(135deg, rgba(255,255,255,.03) 0%, rgba(0,0,0,.2) 100%) !important;
  position:relative !important;
}
.wot-expand-inner::before {
  content:'' !important; position:absolute !important; inset:0 !important;
  background:linear-gradient(135deg, var(--ec, transparent) 0%, transparent 60%) !important;
  opacity:.06 !important; pointer-events:none !important;
}
.wot-expand-btn {
  box-shadow:0 4px 16px rgba(0,0,0,.3), 0 0 20px color-mix(in srgb, var(--ec, #888) 30%, transparent) !important;
  transition:transform .15s ease, box-shadow .15s ease !important;
}
.wot-expand-btn:hover {
  transform:translateY(-1px) !important;
  box-shadow:0 6px 24px rgba(0,0,0,.4), 0 0 30px color-mix(in srgb, var(--ec, #888) 40%, transparent) !important;
}

/* ── V6 Filter pill counts ───────────────────────────────── */
.wot-flt-count {
  font-size:.36rem !important; font-weight:700 !important;
  opacity:.5 !important; font-variant-numeric:tabular-nums !important;
  margin-left:2px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   MCR MOBILE APP POLISH - WOT alignment, LED, nav buttons, cat grid
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Rainbow brand gradient (shared between WOT top line + mobile header) */
:root {
  --mcr-rainbow: linear-gradient(90deg, #E8201A 0%, #FF6B00 20%, #FFD600 38%, #2DB54B 55%, #1A56FF 75%, #7C3AED 100%);
}

/* ── Coloured top line on WOT section (desktop + mobile) */
section.WOT { position:relative !important; }
section.WOT::before {
  content:'' !important; position:absolute !important;
  top:0 !important; left:0 !important; right:0 !important;
  height:1px !important; z-index:5 !important;
  background:var(--mcr-rainbow) !important;
  opacity:.7 !important;
}

/* ── Mobile header bottom line - match same gradient, 1px thin */
#MOB-HEADER::after {
  background:var(--mcr-rainbow) !important;
  opacity:.7 !important;
  height:1px !important;
  bottom:-1px !important;
}

/* ── Mobile category buttons (hidden on desktop) */
.mob-cats { display:none; }

/* ── Mobile-only category section (hidden on desktop) */
.mob-only-block { display:none; }

/* ── Explore Manchester section - white bg */
.mob-explore-section {
  background:#fff !important;
  padding:24px 16px 16px !important;
  border:none !important;
}
.mob-explore-section .SH {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:4px !important;
}
.mob-explore-section .SH .sh-title,
.mob-explore-section .sh-title { color:#0c0c0e !important; }
.mob-explore-section .sh-eyebrow { color:#888 !important; width:100% !important; }
.mob-explore-section .sh-link {
  color:var(--dc-blue) !important;
  border-color:rgba(26,86,255,.2) !important;
  background:rgba(26,86,255,.06) !important;
}

/* Category card gradient background - replaces photo */
.cat-hood-bg {
  position:absolute; inset:0;
  background:linear-gradient(135deg,
    color-mix(in srgb, var(--hc) 55%, #030306) 0%,
    color-mix(in srgb, var(--hc) 20%, #030306) 50%,
    #030306 75%
  );
}

@media(max-width:640px) {
  .mob-only-block { display:block !important; }
}

@media(max-width:640px) {

  /* Grey bar fix: match backgrounds + clip all horizontal overflow */
  body, #WRAP, .BODY, main.CENTRE {
    overflow-x:hidden !important;
    max-width:100vw !important;
  }
  main.CENTRE {
    padding-top:64px !important;
  }

  /* ── Explore Manchester section - matches Neighbourhoods style exactly */
  .mob-explore-section {
    margin:0 -16px !important;
    padding:24px 16px 16px !important;
    background:#fff !important;
  }
  .mob-explore-section .SH { margin-bottom:12px !important; padding:0 !important; }
  /* WOT section - flush under fixed header, edge-to-edge */
  section.WOT { margin:0 -16px !important; }

  /* Bigger, brighter LED dot */
  .wot-mini-dot {
    width:7px !important; height:7px !important;
    box-shadow:0 0 6px #e8201a, 0 0 14px rgba(232,32,26,.6) !important;
  }
  .wot-mini-live { color:#e8201a !important; font-weight:900 !important; }

  /* Remove the small coloured dots from filter pills - cleaner look */
  .wot-flt-dot { display:none !important; }

  /* ── Nav bar - hidden on mobile (replaced by mob-cats section) */
  .wot-nav-bar { display:none !important; }

  /* ── Nav bar - large pill buttons, coloured border, text only */
  /* ── Mobile category explore grid - hidden */
  .mob-cats {
    display:grid !important;
    background:#000 !important;
    padding:18px 14px 22px !important;
    margin:0 -16px !important;
    border-bottom:1px solid rgba(255,255,255,.06) !important;
  }
  .mob-cats-hdr {
    display:flex !important; align-items:center !important;
    justify-content:space-between !important;
    margin-bottom:14px !important;
  }
  .mob-cats-hdr-label {
    font-size:.46rem !important; font-weight:800 !important;
    letter-spacing:.18em !important;
    color:rgba(255,255,255,.38) !important;
  }
  .mob-cats-hdr-link {
    font-size:.46rem !important; font-weight:700 !important;
    color:#1A56FF !important; text-decoration:none !important;
  }
  .mob-cats-grid {
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:10px !important;
  }
  .mob-cat-btn {
    display:flex !important; flex-direction:column !important;
    align-items:center !important; justify-content:center !important;
    gap:10px !important;
    padding:18px 6px 14px !important;
    background:#1c1c1e !important;
    border-radius:18px !important;
    text-decoration:none !important;
    -webkit-tap-highlight-color:transparent !important;
    transition:opacity .12s ease !important;
  }
  .mob-cat-btn:active { opacity:.55 !important; }
  .mob-cat-diamond {
    width:28px !important; height:28px !important;
    background:var(--cc) !important;
    transform:rotate(45deg) !important;
    border-radius:5px !important;
    flex-shrink:0 !important;
    display:block !important;
  }
  .mob-cat-name {
    font-size:.46rem !important; font-weight:700 !important;
    color:#fff !important; text-align:center !important;
    line-height:1 !important; letter-spacing:.01em !important;
  }

  /* ── Fix grey bar: section-white has margin:-28px but CENTRE only has 16px padding on mobile ── */
  .home .CENTRE .section-white,
  .section-white {
    margin-left:-16px !important;
    margin-right:-16px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  /* ── Latest News section - compact horizontal scroll, black bg ── */
  .news-section-mob {
    background:#000 !important;
    margin:0 -16px !important;
    padding:16px 0 8px !important;
  }
  .news-section-mob .SH { padding:0 16px !important; margin-bottom:10px !important; }
  .news-section-mob .NEWS-STRIP {
    display:flex !important;
    grid-template-columns:none !important;
    overflow-x:auto !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    gap:8px !important;
    padding:0 16px 10px !important;
    margin-bottom:0 !important;
  }
  .news-section-mob .NEWS-STRIP::-webkit-scrollbar { display:none !important; }
  /* Full-bleed image cards - image fills card, text overlaid */
  .news-section-mob .ns-card-img {
    flex:0 0 260px !important;
    scroll-snap-align:start !important;
    border-radius:12px !important;
    background:#111 !important;
    border:none !important;
    position:relative !important;
    overflow:hidden !important;
    min-height:180px !important;
  }
  .news-section-mob .ns-card-thumb {
    position:absolute !important;
    inset:0 !important;
    aspect-ratio:auto !important;
    z-index:0 !important;
  }
  .news-section-mob .ns-card-thumb img {
    width:100% !important; height:100% !important;
    object-fit:cover !important;
    filter:brightness(.55) saturate(1.1) !important;
  }
  .news-section-mob .ns-card-img:hover .ns-card-thumb img {
    filter:brightness(.7) saturate(1.2) !important;
  }
  .news-section-mob .ns-card-body {
    position:relative !important;
    z-index:2 !important;
    padding:0 14px 14px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
    min-height:180px !important;
    background:linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.4) 50%, transparent 100%) !important;
  }
  .news-section-mob .ns-cat {
    font-size:.42rem !important;
    margin-bottom:4px !important;
    text-shadow:0 1px 4px rgba(0,0,0,.8) !important;
  }
  .news-section-mob .ns-title {
    font-size:.72rem !important;
    line-height:1.25 !important;
    color:#fff !important;
    text-shadow:0 1px 6px rgba(0,0,0,.9) !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }
  .news-section-mob .ns-meta {
    font-size:.44rem !important;
    margin-top:4px !important;
    color:rgba(255,255,255,.5) !important;
    text-shadow:0 1px 3px rgba(0,0,0,.8) !important;
  }

  /* ── SC cards on dark sections - subtle border, no grey ── */
  .SC {
    background:rgba(255,255,255,.03) !important;
    border:1px solid rgba(255,255,255,.06) !important;
    box-shadow:none !important;
    border-radius:10px !important;
    overflow:hidden !important;
  }
  .sc-body { padding:10px 12px !important; }

  /* ── SC cards inside white sections - restore proper light styling ── */
  .section-white .SC {
    background:#fff !important;
    border:1px solid rgba(0,0,0,.08) !important;
    box-shadow:0 1px 4px rgba(0,0,0,.05) !important;
  }
  .section-white .SC:hover {
    border-color:rgba(0,0,0,.15) !important;
    box-shadow:0 3px 12px rgba(0,0,0,.08) !important;
  }
  .section-white .sc-title { color:#0c0c0e !important; }
  .section-white .sc-meta { color:rgba(0,0,0,.45) !important; }
  .section-white .sc-cat { color:rgba(0,0,0,.5) !important; }

  /* ── CARDS grids - edge-to-edge on mobile ── */
  .CARDS {
    margin-left:0 !important;
    margin-right:0 !important;
    gap:8px !important;
    margin-bottom:8px !important;
  }

  /* ── Section headers (.SH) - tighten on mobile ── */
  .SH { margin-bottom:12px !important; }

  /* ── Section spacing - consistent 16px rhythm between sections ── */
  .section-white {
    padding-top:24px !important;
    padding-bottom:16px !important;
    margin-bottom:0 !important;
  }

  /* ── Dark→Light section transitions - subtle border ── */
  .section-white {
    border-top:1px solid rgba(0,0,0,.06) !important;
    border-bottom:1px solid rgba(0,0,0,.06) !important;
  }

  /* ── SPORT grid inside white - fix dark styling ── */
  .section-white .SPORT-GRID .sg-main,
  .section-white .SPORT-GRID .sg-item {
    border-radius:10px !important;
    overflow:hidden !important;
  }

  /* ── Word-break safety - prevent overflow from long titles ── */
  h1, h2, h3, .sh-title, .hood-name, .sc-title, .ns-title {
    word-break:break-word !important;
    overflow-wrap:break-word !important;
  }

  /* ── Eyebrow labels - better contrast on light sections ── */
  .section-white .sh-eyebrow { color:#555 !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FOOTER V4 - Newsletter, Trending, Grid, About, Bottom
   ═══════════════════════════════════════════════════════════════════════════ */
.mcr-nl{position:relative;overflow:hidden;background:linear-gradient(160deg,#0d0d10 0%,#111118 50%,#0f0f15 100%);border-top:1px solid var(--b1)}
.mcr-nl-inner{max-width:1200px;margin:0 auto;padding:64px 56px;display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;position:relative;z-index:2}
.mcr-nl::before{content:'';position:absolute;top:-120px;left:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(26,86,255,.08) 0%,transparent 60%);pointer-events:none}
.mcr-nl::after{content:'';position:absolute;bottom:-100px;right:-40px;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(232,0,42,.06) 0%,transparent 60%);pointer-events:none}
.mcr-nl-line{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--dc-blue) 25%,var(--dc-red) 50%,var(--dc-orange) 75%,transparent 100%);background-size:200% 100%;animation:nl-shimmer 6s ease infinite;opacity:.5}
@keyframes nl-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.mcr-nl-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:100px;padding:4px 12px 4px 8px;font-size:.6rem;font-weight:700;color:var(--tx3);margin-bottom:16px}
.mcr-nl-badge i{font-size:.5rem}
.mcr-nl h2{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:2.8rem;line-height:.92;letter-spacing:-.04em;color:#fff;margin-bottom:14px}
.mcr-nl h2 span{color:#fff}
.mcr-nl-sub{font-size:.82rem;color:var(--tx3);line-height:1.7;max-width:380px}
.mcr-nl-form-area{display:flex;flex-direction:column;gap:14px}
.mcr-nl-form{display:flex;gap:0;border-radius:14px;overflow:hidden;border:1px solid var(--b2);background:rgba(255,255,255,.04);transition:border-color .2s}
.mcr-nl-form:focus-within{border-color:rgba(26,86,255,.35);background:rgba(26,86,255,.04)}
.mcr-nl-form input{flex:1;padding:15px 18px;background:transparent;border:none;color:#fff;font-family:'Inter',sans-serif;font-size:.82rem;outline:none}
.mcr-nl-form input::placeholder{color:rgba(255,255,255,.2)}
.mcr-nl-form button{padding:0 28px;background:#0f2f7a;border:none;color:#fff;font-family:'Inter',sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:filter .2s;white-space:nowrap}
.mcr-nl-form button:hover{filter:brightness(1.15)}
.mcr-nl-interests{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.mcr-nl-interests-label{font-size:.58rem;font-weight:600;color:var(--tx4);margin-right:4px}
.mcr-nl-chip{display:flex;align-items:center;gap:5px;padding:5px 11px;border-radius:100px;border:1px solid var(--b1);background:transparent;font-size:.6rem;font-weight:600;color:var(--tx3);cursor:pointer;transition:all .15s;user-select:none}
.mcr-nl-chip:hover{border-color:var(--b2);color:var(--tx2)}
.mcr-nl-chip.active{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:rgba(255,255,255,.85)}
.mcr-nl-chip i{font-size:.5rem;opacity:.7}
.mcr-nl-trust{display:flex;align-items:center;gap:16px;font-size:.56rem;color:var(--tx4)}
.mcr-nl-trust span{display:flex;align-items:center;gap:5px}
.mcr-nl-trust i{font-size:.5rem}
@media(max-width:800px){.mcr-nl-inner{grid-template-columns:1fr;gap:28px;padding:36px 20px} .mcr-nl h2{font-size:2rem}}

/* Trending */
.mcr-trending{background:#0a0a0d;border-top:1px solid var(--b1);border-bottom:1px solid var(--b1)}
.mcr-trending-inner{max-width:1200px;margin:0 auto;padding:28px 56px}
.mcr-trending h3{font-size:.48rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--tx4);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.mcr-trending h3 .ft-pulse-sm{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--dc-green);box-shadow:0 0 0 2px rgba(0,210,106,.15);animation:ft-pulse 2s ease infinite}
.mcr-trending-grid{display:flex;flex-wrap:wrap;gap:6px}
.mcr-trending-grid a{padding:6px 14px;border-radius:100px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);font-size:.62rem;font-weight:500;color:var(--tx3);transition:all .15s;white-space:nowrap}
.mcr-trending-grid a:hover{background:rgba(255,255,255,.08);border-color:var(--b2);color:var(--tx2)}
.mcr-trending-grid a.hot{border-color:rgba(232,0,42,.2);background:rgba(232,0,42,.06);color:rgba(255,255,255,.7)}
.mcr-trending-grid a.hot:hover{background:rgba(232,0,42,.12);border-color:rgba(232,0,42,.35);color:var(--tx2)}
.mcr-trending-grid .trend-fire{color:var(--dc-orange);font-size:.5rem;margin-right:2px}
.mcr-seasonal{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.04)}
.mcr-seasonal-label{font-size:.46rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--tx4);display:flex;align-items:center;margin-right:4px}
.mcr-seasonal a{padding:5px 12px;border-radius:8px;background:rgba(139,92,246,.06);border:1px solid rgba(139,92,246,.12);font-size:.58rem;font-weight:600;color:rgba(139,92,246,.7);transition:all .15s}
.mcr-seasonal a:hover{background:rgba(139,92,246,.14);border-color:rgba(139,92,246,.3);color:#fff}
@media(max-width:700px){.mcr-trending-inner{padding:20px}}

/* Footer grid */
.mcr-ft{background:#060608;border-top:1px solid var(--b1)}
.mcr-ft-inner{max-width:1200px;margin:0 auto;padding:48px 56px 40px;display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:40px}
.mcr-ft-brand-col{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.mcr-ft-brand-stack{display:flex;flex-direction:column;align-items:center;margin-bottom:16px}
.mcr-ft-logo-hero{margin-bottom:-8px;opacity:1;transition:opacity .3s}
.mcr-ft-logo-hero:hover{opacity:.85}
.mcr-ft-everything-label{font-family:'Inter Tight',sans-serif;font-weight:500;font-size:.85rem;letter-spacing:.32em;text-transform:uppercase;color:var(--tx4);margin-bottom:3px;line-height:1}
.mcr-ft-everything-city{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:1.15rem;letter-spacing:.08em;color:var(--tx3);text-transform:uppercase;margin-bottom:16px;line-height:1}
.mcr-ft-desc{font-size:.68rem;color:var(--tx3);line-height:1.8;max-width:280px;margin-bottom:20px}
.mcr-ft-desc a{color:var(--tx2);font-weight:600}
.mcr-ft-desc a:hover{text-decoration:underline}
.mcr-ft-social{display:flex;gap:6px}
.mcr-ft-si{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.05);border:1px solid var(--b1);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--tx3);transition:all .18s}
.mcr-ft-si:hover{background:rgba(255,255,255,.1);color:var(--tx2);border-color:var(--b2);transform:translateY(-2px)}
.mcr-ft-si.si-ig:hover{color:#E4405F}
.mcr-ft-si.si-tt:hover,.mcr-ft-si.si-tw:hover{color:var(--tx2)}
.mcr-ft-si.si-fb:hover{color:#1877F2}
.mcr-ft-si.si-yt:hover{color:#FF0000}
.mcr-ft-col h4{font-size:.5rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--tx2);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.04)}
.mcr-ft-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.mcr-ft-col a{font-size:.72rem;font-weight:400;color:var(--tx3);display:flex;align-items:center;gap:8px;transition:color .14s,transform .14s}
.mcr-ft-col a:hover{color:var(--tx2);transform:translateX(2px)}
.mcr-ft-col a i{font-size:.6rem;width:14px;text-align:center;color:var(--tx4);transition:color .14s}
.mcr-ft-col a:hover i{color:var(--tx2)}
.ft-tag{font-size:.42rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px;line-height:1}
.ft-tag-new{background:var(--dc-red);color:#fff}
.ft-tag-ai{background:rgba(139,92,246,.15);color:var(--dc-purple)}
.ft-tag-soon{background:rgba(255,255,255,.08);color:var(--tx3)}
.mcr-ft-hoods{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}
.mcr-ft-hood{padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);font-size:.58rem;font-weight:600;color:var(--tx3);transition:all .3s;text-align:center;--hc:rgba(255,255,255,.12)}
.mcr-ft-hood:hover{background:color-mix(in srgb,var(--hc) 15%,transparent);color:var(--tx2);border-color:var(--hc)}
.mcr-ft-col-group{display:flex;flex-direction:column;gap:28px}
@media(max-width:900px){.mcr-ft-inner{grid-template-columns:1fr 1fr;gap:28px;padding:32px 24px}}
@media(max-width:600px){.mcr-ft-inner{grid-template-columns:1fr;gap:32px;padding:32px 20px} .mcr-ft-brand-col{align-items:center;text-align:center} .mcr-ft-desc{max-width:100%} .mcr-ft-social{justify-content:center} .mcr-ft-hoods{grid-template-columns:repeat(3,1fr)} .mcr-nl-inner{grid-template-columns:1fr;gap:24px;padding:32px 20px} .mcr-nl h2{font-size:1.8rem} .mcr-nl-form{border-radius:12px} .mcr-nl-form button{padding:0 18px;font-size:.65rem} .mcr-nl-interests{justify-content:center} .mcr-nl-trust{justify-content:center;flex-wrap:wrap} .mcr-trending-inner{padding:20px} .mcr-ft-about-inner{grid-template-columns:1fr;gap:20px;padding:24px 20px} .mcr-ft-bottom-inner{flex-direction:column;padding:14px 20px;text-align:center} .mcr-ft-bottom-links{flex-wrap:wrap;justify-content:center} .mcr-ft-everything-label{font-size:.8rem} .mcr-ft-everything-city{font-size:1.1rem}}
@media(max-width:380px){.mcr-ft-hoods{grid-template-columns:repeat(2,1fr)} .mcr-nl h2{font-size:1.5rem} .mcr-nl-chip{padding:4px 9px;font-size:.55rem}}

/* About Manchester */
.mcr-ft-about{background:#070709;border-top:1px solid var(--b1)}
.mcr-ft-about-inner{max-width:1200px;margin:0 auto;padding:32px 56px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.mcr-ft-about h3{font-family:'Inter Tight',sans-serif;font-size:.9rem;font-weight:800;color:rgba(255,255,255,.7);margin-bottom:10px}
.mcr-ft-about p{font-size:.65rem;color:var(--tx3);line-height:1.9}
.mcr-ft-about p a{color:var(--tx2);font-weight:600}
.mcr-ft-about p a:hover{text-decoration:underline}
@media(max-width:700px){.mcr-ft-about-inner{grid-template-columns:1fr;gap:20px;padding:24px 20px}}

/* Override old styles - force correct colors on new footer
   Headings = white, body/links/descriptions = light grey (.4) */
section.mcr-nl .mcr-nl-sub{color:rgba(255,255,255,.4)!important}
section.mcr-nl .mcr-nl-badge{color:rgba(255,255,255,.4)!important}
section.mcr-nl .mcr-nl-trust{color:rgba(255,255,255,.25)!important}
footer.mcr-ft .mcr-ft-everything-label{color:#fff!important}
footer.mcr-ft .mcr-ft-everything-city{color:#fff!important}
footer.mcr-ft .mcr-ft-desc{color:rgba(255,255,255,.4)!important}
footer.mcr-ft .mcr-ft-desc a{color:rgba(255,255,255,.55)!important}
footer.mcr-ft .mcr-ft-col a{color:rgba(255,255,255,.4)!important}
footer.mcr-ft .mcr-ft-col a:hover{color:rgba(255,255,255,.65)!important}
footer.mcr-ft .mcr-ft-col a i{color:rgba(255,255,255,.25)!important}
footer.mcr-ft .mcr-ft-hood{color:rgba(255,255,255,.4)!important}
footer.mcr-ft .mcr-ft-hood:hover{color:rgba(255,255,255,.65)!important}
footer.mcr-ft .mcr-ft-si{color:rgba(255,255,255,.4)!important}
footer.mcr-ft .mcr-ft-si:hover{color:rgba(255,255,255,.6)!important}
section.mcr-ft-about h3{color:rgba(255,255,255,.4)!important}
section.mcr-ft-about p{color:rgba(255,255,255,.4)!important}
section.mcr-ft-about p a{color:rgba(255,255,255,.55)!important;font-weight:600}
.mcr-ft-bottom .mcr-ft-copy{color:rgba(255,255,255,.25)!important}
.mcr-ft-bottom .mcr-ft-copy a{color:rgba(255,255,255,.35)!important}
.mcr-ft-bottom .mcr-ft-bottom-links a{color:rgba(255,255,255,.25)!important}
.mcr-ft-bottom .mcr-ft-tagline{color:rgba(255,255,255,.25)!important}
section.mcr-trending .mcr-trending-grid a{color:rgba(255,255,255,.35)!important;border-color:rgba(255,255,255,.08)!important;background:rgba(255,255,255,.03)!important}
section.mcr-trending .mcr-trending-grid a:hover{color:rgba(255,255,255,.55)!important;border-color:rgba(255,255,255,.15)!important;background:rgba(255,255,255,.06)!important}
section.mcr-trending .mcr-trending-grid a.hot{color:rgba(255,255,255,.4)!important;border-color:rgba(255,255,255,.1)!important;background:rgba(255,255,255,.04)!important}
section.mcr-trending .mcr-seasonal a{color:rgba(139,92,246,.45)!important;border-color:rgba(139,92,246,.1)!important;background:rgba(139,92,246,.04)!important}
section.mcr-trending .mcr-seasonal a:hover{color:rgba(139,92,246,.7)!important;border-color:rgba(139,92,246,.25)!important}
section.mcr-trending h3{color:rgba(255,255,255,.25)!important}

/* Bottom bar */
.mcr-ft-bottom{background:#050507;border-top:1px solid rgba(255,255,255,.04)}
.mcr-ft-bottom-inner{max-width:1200px;margin:0 auto;padding:16px 56px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.mcr-ft-copy{font-size:.56rem;font-weight:500;color:var(--tx4)}
.mcr-ft-copy a{color:var(--tx3)}
.mcr-ft-copy a:hover{color:var(--tx2)}
.mcr-ft-bottom-links{display:flex;gap:16px}
.mcr-ft-bottom-links a{font-size:.56rem;font-weight:500;color:var(--tx4);transition:color .14s}
.mcr-ft-bottom-links a:hover{color:var(--tx2)}
.mcr-ft-tagline{font-size:.52rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--tx4)}
@media(max-width:700px){.mcr-ft-bottom-inner{flex-direction:column;padding:14px 20px;text-align:center}}

/* Collapsible editorial intros - keeps content for SEO but out of users' way */
.page-editorial-intro{max-width:800px;margin:48px auto 24px;padding:0 20px;font-size:.9rem}
.page-editorial-intro summary{cursor:pointer;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dc-red,#e8201a);padding:14px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);list-style:none;display:flex;align-items:center;justify-content:space-between}
.page-editorial-intro summary::after{content:'+';font-size:1.4rem;font-weight:300;transition:transform .2s}
.page-editorial-intro[open] summary::after{transform:rotate(45deg)}
.page-editorial-intro summary::-webkit-details-marker{display:none}
.page-editorial-intro .pei-body{padding:24px 0;color:rgba(255,255,255,.75);line-height:1.7}
.page-editorial-intro .pei-body p{margin:0 0 16px}
.CENTRE.white-bg .page-editorial-intro summary{color:var(--dc-red);border-color:rgba(0,0,0,.08)}
.CENTRE.white-bg .page-editorial-intro .pei-body{color:#333}
@media(max-width:767px){.page-editorial-intro{margin:32px 16px;padding:0;font-size:.85rem}}

/* Mobile typography rescue - the sub-0.5rem sizes are unreadable on phones */
@media (max-width: 640px) {
  .wot-tg-time { font-size: .68rem !important; }
  .mob-tab span { font-size: .62rem !important; }
  .mob-cat-name { font-size: .7rem !important; }
  .wnb-sub { font-size: .62rem !important; }
  .wot-ep-title { font-size: .82rem !important; }
  .wot-filt-pill { font-size: .68rem !important; padding: 8px 12px !important; }
  .wnb-item { font-size: .7rem !important; }
  .epm-lb-item { font-size: .72rem !important; }
  .sc-cat, .ns-cat, .stg-item-cat { font-size: .6rem !important; }
  .sc-meta, .ns-meta { font-size: .72rem !important; }
}

/* Mobile UX Fixes - April 2026 ────────────────────────────────────────── */

/* FIX 2: Mobile ticket fallback display */
@media(max-width:768px){
  .mobile-ticket-fallback{
    display:block !important;
    margin:16px 0
  }
}

/* FIX 4: Mobile form stacking */
@media(max-width:480px){
  .csp-form-inner{
    flex-direction:column !important;
    gap:8px
  }
  .csp-form-inner input,
  .csp-form-inner select,
  .csp-form-inner button{
    width:100% !important
  }
}

/* FIX 6: Directory filters mobile stacking */
@media(max-width:600px){
  .directory-filters,
  .dir-filter-row,
  .filter-stack{
    flex-direction:column;
    gap:8px
  }
  .directory-filters select,
  .directory-filters input{
    width:100%
  }
}

/* FIX 7: Advertise CTA mobile stacking */
@media(max-width:600px){
  .advertise-cta,
  .tpl-advertise .cta-block{
    flex-direction:column;
    text-align:center
  }
  .advertise-cta .btn,
  .tpl-advertise .btn{
    width:100%;
    max-width:320px;
    margin:8px auto
  }
}

/* FIX 8: Touch target minimum size */
@media(max-width:768px){
  button,
  .btn,
  a.btn,
  input[type=submit]{
    min-height:44px
  }
  .icon-btn,
  .close-btn{
    min-width:44px;
    min-height:44px
  }
}

/* FIX 9: Mobile heading sizes */
@media(max-width:480px){
  h1{
    font-size:1.6rem;
    line-height:1.2
  }
  h2{
    font-size:1.3rem
  }
  .hero-title{
    font-size:2rem;
    line-height:1.1
  }
}

/* ── Editorial readability rescue ── */
/* BUG 1: Section page intro text was dark-grey on near-black - force readable colour */
.tpl-music .cat-intro, .tpl-food .cat-intro, .tpl-nightlife .cat-intro, .tpl-culture .cat-intro, .tpl-sport .cat-intro, .tpl-stories .cat-intro,
.cat-intro, .page-editorial, .page-editorial-intro .pei-body,
.cat-intro p, .page-editorial p, .page-editorial-intro .pei-body p { color: #d0d0d0 !important; }
.cat-intro blockquote, .page-editorial blockquote { color: #e8e8e8 !important; }

/* White-bg rescue: when a section uses .CENTRE.white-bg, inherited white text becomes invisible.
   Force readable dark text on common text containers inside white-bg sections. */
.CENTRE.white-bg,
.CENTRE.white-bg p,
.CENTRE.white-bg .stm-stat,
.CENTRE.white-bg .stm-sub,
.CENTRE.white-bg .stm-ai-text,
.CENTRE.white-bg .epm-lb-item,
.CENTRE.white-bg .epm-stats,
.CENTRE.white-bg .ep-kicker,
.CENTRE.white-bg .ev-count,
.CENTRE.white-bg .event-count,
.CENTRE.white-bg .section-kicker,
.CENTRE.white-bg span:not([class*="pill"]):not([class*="tag"]):not([class*="badge"]):not([class*="chip"]):not([class*="btn"]) {
  color: #1a1a1a;
}
.CENTRE.white-bg a:not([class*="btn"]):not([class*="pill"]) { color: #0066cc; }
.CENTRE.white-bg h1, .CENTRE.white-bg h2, .CENTRE.white-bg h3, .CENTRE.white-bg h4 { color: #0b0b0b; }

/* BUG 3: Venue card location tag (.fvg-tag-h) was stretching full-width due to display:flex on a block container.
   fvg-card-meta needs flex layout; fvg-tag-h must be inline-flex so it only takes its content width. */
.fvg-card-meta { display:flex; flex-wrap:wrap; align-items:center; gap:4px; margin-top:4px; }
.fvg-tag-h { display:inline-flex !important; align-items:center; gap:3px; width:auto !important; }

/* END OF STYLESHEET - v10/v11 nightlife CSS removed in v12 rebuild */

/* ── WOT white-bg variant rescue ── */
/* Activates only when the WOT box sits inside a .CENTRE.white-bg section page.
   Dark-theme rules above set white text/rgba-white backgrounds - all invisible on white.
   These scoped selectors flip every problematic colour to a dark-on-light equivalent. */

/* Top bar + title */
.CENTRE.white-bg .wot-topbar { background:#f5f5f7 !important; border-bottom:1px solid rgba(0,0,0,.07) !important; }
.CENTRE.white-bg .wot-title { color:#0c0c0e !important; }
.CENTRE.white-bg .wot-date-label { color:rgba(0,0,0,.4) !important; }

/* Nav buttons */
.CENTRE.white-bg .wot-nav-btn { background:rgba(0,0,0,.05) !important; border:1px solid rgba(0,0,0,.12) !important; color:rgba(0,0,0,.6) !important; }
.CENTRE.white-bg .wot-nav-btn:hover { background:rgba(0,0,0,.09) !important; border-color:rgba(0,0,0,.2) !important; color:#0c0c0e !important; }

/* Day strip */
.CENTRE.white-bg .wot-wday { background:#fff !important; border:1px solid rgba(0,0,0,.1) !important; box-shadow:0 1px 3px rgba(0,0,0,.06) !important; }
.CENTRE.white-bg .wot-wday-dn { color:rgba(0,0,0,.45) !important; }
.CENTRE.white-bg .wot-wday-num { color:#0c0c0e !important; }
.CENTRE.white-bg .wot-wday:hover { background:#f0f0f2 !important; }
.CENTRE.white-bg .wot-wday.active { background:linear-gradient(155deg,#ff3b30 0%,#E8201A 100%) !important; border-color:transparent !important; box-shadow:0 4px 14px rgba(232,32,26,.35) !important; }
.CENTRE.white-bg .wot-wday.active .wot-wday-dn { color:rgba(255,255,255,.8) !important; }
.CENTRE.white-bg .wot-wday.active .wot-wday-num { color:#fff !important; }
.CENTRE.white-bg .wot-wday-dot { background:rgba(0,0,0,.2) !important; }
.CENTRE.white-bg .wot-wday.active .wot-wday-dot { background:rgba(255,255,255,.9) !important; }

/* Live badge - keep red accent */
.CENTRE.white-bg .wot-live-badge { background:rgba(232,32,26,.1) !important; border:1px solid rgba(232,32,26,.25) !important; color:#c41c14 !important; }
.CENTRE.white-bg .wot-live-dot { background:var(--dc-red) !important; }

/* Filter bar */
.CENTRE.white-bg .wot-filterbar { background:#fafafa !important; border-bottom:1px solid rgba(0,0,0,.08) !important; }

/* Filter pills - ghost outlined, dark text, category tints on light */
.CENTRE.white-bg .wot-flt { box-shadow:0 1px 2px rgba(0,0,0,.05) !important; }
.CENTRE.white-bg .wot-flt[data-cat="all"]       { background:#fff !important; border:1px solid rgba(0,0,0,.14) !important; color:rgba(0,0,0,.55) !important; }
.CENTRE.white-bg .wot-flt[data-cat="music"]     { background:#fff !important; border:1px solid rgba(232,32,26,.25) !important;    color:#c41c14 !important; }
.CENTRE.white-bg .wot-flt[data-cat="sport"]     { background:#fff !important; border:1px solid rgba(26,86,255,.3) !important;   color:#1340cc !important; }
.CENTRE.white-bg .wot-flt[data-cat="food"]      { background:#fff !important; border:1px solid rgba(45,181,75,.3) !important;    color:#1a7a30 !important; }
.CENTRE.white-bg .wot-flt[data-cat="nightlife"] { background:#fff !important; border:1px solid rgba(255,107,0,.3) !important;    color:#b84c00 !important; }
.CENTRE.white-bg .wot-flt[data-cat="culture"]   { background:#fff !important; border:1px solid rgba(124,58,237,.3) !important;  color:#6a2ec7 !important; }
.CENTRE.white-bg .wot-flt[data-cat="family"]    { background:#fff !important; border:1px solid rgba(200,160,0,.35) !important;  color:#8a6a00 !important; }

/* Active pills - solid fill, same accent colours as dark variant */
.CENTRE.white-bg .wot-flt[data-cat="all"].on       { background:#0c0c0e !important; border-color:#0c0c0e !important; color:#fff !important; }
.CENTRE.white-bg .wot-flt[data-cat="music"].on     { background:#E8201A !important; border-color:transparent !important; color:#fff !important; }
.CENTRE.white-bg .wot-flt[data-cat="sport"].on     { background:#1A56FF !important; border-color:transparent !important; color:#fff !important; }
.CENTRE.white-bg .wot-flt[data-cat="food"].on      { background:#2DB54B !important; border-color:transparent !important; color:#fff !important; }
.CENTRE.white-bg .wot-flt[data-cat="nightlife"].on { background:#FF6B00 !important; border-color:transparent !important; color:#fff !important; }
.CENTRE.white-bg .wot-flt[data-cat="culture"].on   { background:#7C3AED !important; border-color:transparent !important; color:#fff !important; }
.CENTRE.white-bg .wot-flt[data-cat="family"].on    { background:#d4a900 !important; border-color:transparent !important; color:#fff !important; }
.CENTRE.white-bg .wot-flt:hover { opacity:.8 !important; }

/* Full calendar button */
.CENTRE.white-bg .wot-full-cal-btn { background:#fff !important; border:1px solid rgba(0,0,0,.15) !important; color:rgba(0,0,0,.6) !important; }
.CENTRE.white-bg .wot-full-cal-btn:hover { border-color:rgba(0,0,0,.3) !important; color:#0c0c0e !important; opacity:1 !important; }

/* Time grid */
.CENTRE.white-bg .wot-tg { background:#ffffff !important; }
.CENTRE.white-bg .wot-tg::-webkit-scrollbar-thumb { background:rgba(0,0,0,.12) !important; }
.CENTRE.white-bg .wot-tg-row { border-bottom-color:rgba(0,0,0,.07) !important; }
.CENTRE.white-bg .wot-tg-row:not(.wot-past):hover { background:rgba(0,0,0,.02) !important; }
.CENTRE.white-bg .wot-tg-time { color:rgba(0,0,0,.45) !important; font-weight:500 !important; text-shadow:none !important; }
.CENTRE.white-bg .wot-tg-row.wot-past .wot-tg-time { color:rgba(0,0,0,.18) !important; }
.CENTRE.white-bg .wot-tg-row.wot-near-past .wot-tg-time { color:rgba(0,0,0,.22) !important; }
.CENTRE.white-bg .wot-tg-row.wot-now .wot-tg-time { color:#0c0c0e !important; font-weight:900 !important; text-shadow:none !important; }
.CENTRE.white-bg .wot-tg-row.wot-near-future .wot-tg-time { color:rgba(0,0,0,.4) !important; }
.CENTRE.white-bg .wot-tg-row.wot-far-future .wot-tg-time { color:rgba(0,0,0,.3) !important; }
.CENTRE.white-bg .wot-tg-row.wot-now::after { background:linear-gradient(90deg,#E8201A,transparent) !important; opacity:.12 !important; }
.CENTRE.white-bg .wot-tg-ev-row { border-left-color:rgba(0,0,0,.1) !important; background:transparent !important; }

/* Event pills - light surface with subtle shadow to separate from white bg */
.CENTRE.white-bg .wot-ev-pill {
  background:#fff !important;
  border:1px solid rgba(0,0,0,.1) !important;
  border-left:2.5px solid var(--ec, rgba(0,0,0,.2)) !important;
  box-shadow:0 2px 8px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.05) !important;
}
.CENTRE.white-bg .wot-ev-pill:hover {
  box-shadow:0 4px 16px rgba(0,0,0,.12), 0 1px 3px rgba(0,0,0,.06) !important;
  transform:translateY(-2px) !important;
}
.CENTRE.white-bg .wot-ev-pill.active {
  box-shadow:inset 0 1px 3px rgba(0,0,0,.1), 0 0 0 1px var(--ec,rgba(0,0,0,.2)) !important;
  transform:translateY(0) scale(.98) !important;
}
.CENTRE.white-bg .wot-tg-row.wot-past .wot-ev-pill { box-shadow:0 1px 3px rgba(0,0,0,.06) !important; }

/* Pill text */
.CENTRE.white-bg .wot-ep-title { color:#0c0c0e !important; text-shadow:none !important; }
.CENTRE.white-bg .wot-ep-sub { color:rgba(0,0,0,.5) !important; }

/* Expand drawer */
.CENTRE.white-bg .wot-expand { border-bottom-color:rgba(0,0,0,.07) !important; }
.CENTRE.white-bg .wot-expand-inner { background:linear-gradient(135deg,#f8f8fa,#fff) !important; }
.CENTRE.white-bg .wot-expand-title { color:#0c0c0e !important; }
.CENTRE.white-bg .wot-expand-meta { color:rgba(0,0,0,.5) !important; }
.CENTRE.white-bg .wot-expand-desc { color:rgba(0,0,0,.65) !important; }
.CENTRE.white-bg .wot-xm-item i { color:rgba(0,0,0,.3) !important; }
.CENTRE.white-bg .wot-xm-price { color:rgba(0,0,0,.6) !important; }

/* Empty state */
.CENTRE.white-bg .wot-tg-empty i { color:rgba(0,0,0,.12) !important; }
.CENTRE.white-bg .wot-tg-empty div { color:rgba(0,0,0,.4) !important; }
.CENTRE.white-bg .wot-tg-empty a { color:#E8201A !important; }

/* Nav bar at bottom */
.CENTRE.white-bg .wot-nav-bar { background:#fff !important; border-top-color:rgba(0,0,0,.08) !important; }

/* ── Neighbourhood page seamless layout ── */

/* Hero tagline */
.hhf-tagline {
  font-size:.95rem;
  color:rgba(255,255,255,.8);
  margin:.5rem 0 0;
  max-width:520px;
  line-height:1.5;
}

/* Container */
.hood-seamless {
  background:#111;
  color:#e8e8e8;
  padding-bottom:40px;
}
/* Collapse hs-two-col to single column when the watch section is absent
   (prevents the half-blank "Video" well on pages without a configured video). */
.hood-seamless .hs-two-col:not(:has(.hs-watch)) { grid-template-columns:1fr !important; }
.hood-seamless .hs-two-col > section:only-child { grid-column:1 / -1; }
.hood-seamless .cat-section-head { margin-bottom:16px; }
.hood-seamless .csh-eyebrow { color:rgba(255,255,255,.45); font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:4px; }
.hood-seamless .csh-title { color:#fff; font-size:1.2rem; font-weight:800; margin:0; }
.hood-seamless .sh-link { color:#E8201A; font-size:.8rem; font-weight:600; text-decoration:none; white-space:nowrap; }
.hood-seamless .sh-link:hover { text-decoration:underline; }

/* MCR Take */
.hs-take { padding:28px 20px 4px; border-bottom:1px solid rgba(255,255,255,.06); }
.hs-eyebrow { font-size:.65rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#E8201A; margin-bottom:10px; }
.hs-take-inner { max-width:720px; }
.hs-take-body { font-size:.92rem; line-height:1.7; color:rgba(255,255,255,.92); margin:0 0 10px; }
.hs-take-more { margin-top:6px; }
.hs-take-more summary { font-size:.8rem; color:#E8201A; cursor:pointer; list-style:none; text-decoration:underline; }
.hs-take-more summary::-webkit-details-marker { display:none; }
.hs-take-full { font-size:.85rem; line-height:1.75; color:rgba(255,255,255,.92); margin:12px 0 0; }
@media(max-width:900px){
  .hs-take-body { display:none !important; }
  .hs-take-more { margin-top:8px; }
  .hs-take-more summary {
    font-size:.85rem;
    padding:10px 14px;
    background:rgba(255,255,255,.05);
    border-radius:8px;
    display:inline-block;
    cursor:pointer;
  }
}

/* Stats bar */
.hs-stats-bar {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:20px 20px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.hs-stat-chip {
  display:flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:100px;
  padding:7px 14px;
  font-size:.8rem;
}
.hs-stat-chip i { color:#E8201A; font-size:.8rem; }
.hs-stat-value { font-weight:800; color:#fff; }
.hs-stat-label { color:rgba(255,255,255,.55); }

/* Two-col layout (tonight+watch, venues+stories, map+nearby) */
.hs-two-col {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  padding:28px 20px 0;
}
@media (max-width:800px) {
  .hs-two-col { grid-template-columns:1fr; gap:0; padding:0; }
}

/* Tonight events list */
.hs-tonight { display:flex; flex-direction:column; }
.hs-tonight-list { display:flex; flex-direction:column; gap:12px; }
.hs-ev-card {
  display:grid;
  grid-template-columns:80px 1fr;
  gap:12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  overflow:hidden;
}
.hs-ev-card.hs-ev-sold { opacity:.55; }
.hs-ev-thumb { position:relative; display:block; }
.hs-ev-thumb img { width:80px; height:80px; object-fit:cover; display:block; }
.hs-ev-badge {
  position:absolute;
  bottom:4px;
  left:4px;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#fff;
  padding:2px 5px;
  border-radius:4px;
}
.hs-ev-body { padding:10px 12px 10px 0; display:flex; flex-direction:column; justify-content:center; gap:4px; }
.hs-ev-title { font-size:.85rem; font-weight:700; margin:0; line-height:1.3; }
.hs-ev-title a { color:#fff; text-decoration:none; }
.hs-ev-title a:hover { color:#E8201A; }
.hs-ev-venue { font-size:.72rem; color:rgba(255,255,255,.5); }
.hs-ev-meta { display:flex; gap:10px; flex-wrap:wrap; }
.hs-ev-time,.hs-ev-price { font-size:.72rem; color:rgba(255,255,255,.5); }
.hs-ev-ctas { display:flex; gap:6px; flex-wrap:wrap; margin-top:2px; }
.hs-ev-sold-label { font-size:.7rem; color:#888; font-weight:700; align-self:center; }

/* Watch section */
.hs-watch { display:flex; flex-direction:column; }
.hs-watch-inner { flex:1; display:flex; flex-direction:column; justify-content:center; }
.hs-watch-full { padding:28px 20px 0; }
.hs-watch-placeholder {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:rgba(255,255,255,.03);
  border:1px dashed rgba(255,255,255,.1);
  border-radius:12px;
  padding:40px 20px;
  text-align:center;
}
.hs-watch-placeholder i { font-size:2.4rem; color:rgba(255,255,255,.15); }
.hs-watch-placeholder p { font-size:.82rem; color:rgba(255,255,255,.4); margin:0; }
.hs-watch-hint { font-size:.73rem !important; color:rgba(255,255,255,.25) !important; }
.hs-watch-hint code { font-size:.7rem; color:rgba(255,255,255,.35); }
/* Ensure the youtube embed block fills the panel */
.hs-watch-inner .mcr-yt-embed { width:100%; }
.hs-watch-inner .mcr-yt-embed iframe { width:100%; aspect-ratio:16/9; border:none; border-radius:10px; }

/* Venue grid */
.hs-venues { display:flex; flex-direction:column; }
.hs-venue-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media (max-width:600px) {
  .hs-venue-grid { grid-template-columns:1fr; }
}
.hs-venue-card {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.hs-venue-card.hs-venue-featured { border-color:rgba(232,32,26,.35); }
.hs-vc-img { position:relative; display:block; }
.hs-vc-img img { width:100%; height:120px; object-fit:cover; display:block; }
.hs-vc-price {
  position:absolute;
  bottom:6px;
  right:6px;
  background:rgba(0,0,0,.7);
  color:#fff;
  font-size:.72rem;
  font-weight:700;
  padding:2px 7px;
  border-radius:4px;
}
.hs-vc-feat-badge {
  position:absolute;
  top:6px;
  left:6px;
  background:#f5c400;
  color:#000;
  font-size:.62rem;
  font-weight:800;
  padding:2px 6px;
  border-radius:4px;
  letter-spacing:.04em;
}
.hs-vc-body { padding:10px 12px 12px; display:flex; flex-direction:column; gap:4px; flex:1; }
.hs-vc-cat { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.hs-vc-name { font-size:.88rem; font-weight:700; margin:0; line-height:1.3; }
.hs-vc-name a { color:#fff; text-decoration:none; }
.hs-vc-name a:hover { color:#E8201A; }
.hs-vc-ctas { display:flex; gap:6px; margin-top:auto; padding-top:6px; }

/* Stories list */
.hs-stories { display:flex; flex-direction:column; }
.hs-stories-list { display:flex; flex-direction:column; gap:12px; }
.hs-story-card {
  display:grid;
  grid-template-columns:90px 1fr;
  gap:12px;
  text-decoration:none;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  overflow:hidden;
  transition:border-color .15s;
}
.hs-story-card:hover { border-color:rgba(232,32,26,.4); }
.hs-story-img img { width:90px; height:90px; object-fit:cover; display:block; }
.hs-story-body { padding:10px 12px 10px 0; display:flex; flex-direction:column; gap:3px; }
.hs-story-kicker { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.hs-story-title { font-size:.85rem; font-weight:700; color:#fff; line-height:1.3; margin:0; }
.hs-story-exc { font-size:.76rem; color:rgba(255,255,255,.5); margin:0; line-height:1.5; }
.hs-story-meta { font-size:.7rem; color:rgba(255,255,255,.35); margin-top:auto; }

/* Sub-sections grid */
.hs-subsections { padding:28px 20px 0; }
.hs-sub-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
@media (max-width:680px) {
  .hs-sub-grid { grid-template-columns:repeat(2,1fr); }
}
.hs-sub-tile {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:color-mix(in srgb, var(--sub-color) 12%, rgba(255,255,255,.04));
  border:1px solid color-mix(in srgb, var(--sub-color) 30%, transparent);
  border-radius:12px;
  padding:22px 12px;
  text-decoration:none;
  color:#fff;
  font-size:.82rem;
  font-weight:700;
  text-align:center;
  transition:background .15s,border-color .15s;
}
.hs-sub-tile:hover { background:color-mix(in srgb, var(--sub-color) 22%, rgba(255,255,255,.06)); }
.hs-sub-tile i { font-size:1.5rem; color:var(--sub-color); }
.hs-sub-label { color:#fff; }
.hs-sub-count { font-size:.68rem; color:rgba(255,255,255,.45); font-weight:400; }

/* Map section */
.hs-two-col--mn { padding-top:28px; align-items:start; }
.hs-map { display:flex; flex-direction:column; }
.hs-map-frame { border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.1); position:relative; }
.hs-map-frame iframe { width:100%; height:260px; border:none; display:block; }
.hs-map-link { display:block; text-align:right; font-size:.74rem; color:rgba(255,255,255,.4); padding:6px 10px 0; text-decoration:none; }
.hs-map-link:hover { color:#E8201A; }
.hs-map-note { font-size:.72rem; color:rgba(255,255,255,.3); padding:6px 10px; margin:0; }
.hs-map-note code { font-size:.68rem; }

/* Nearby neighbourhoods */
.hs-nearby { display:flex; flex-direction:column; }
.hs-nearby-list { display:flex; flex-direction:column; gap:10px; }
.hs-nearby-card { text-decoration:none; border-radius:10px; overflow:hidden; display:block; }
.hs-nearby-img {
  position:relative;
  height:80px;
  background-size:cover;
  background-position:center;
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}
.hs-nearby-scrim {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.1) 100%);
}
.hs-nearby-name {
  position:absolute;
  bottom:12px;
  left:14px;
  color:#fff;
  font-size:.9rem;
  font-weight:800;
  text-shadow:0 1px 4px rgba(0,0,0,.5);
}
.hs-nearby-card:hover .hs-nearby-img { border-color:rgba(232,32,26,.4); }

/* Footer links bar */
.hs-footer-links {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:28px 20px 0;
  border-top:1px solid rgba(255,255,255,.06);
  margin-top:28px;
}
.hs-footer-links a {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:.8rem;
  color:rgba(255,255,255,.55);
  text-decoration:none;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:100px;
  transition:color .15s,border-color .15s;
}
.hs-footer-links a:hover { color:#E8201A; border-color:rgba(232,32,26,.4); }
.hs-footer-links a i { color:#E8201A; font-size:.8rem; }

/* hood-cat-grid lives inside seamless - keep existing styles but ensure dark bg */
.hood-seamless .hood-cat-grid { padding:12px 20px; }

/* Padding for sections that live inside the two-col */
.hood-seamless .hs-tonight,
.hood-seamless .hs-watch,
.hood-seamless .hs-venues,
.hood-seamless .hs-stories,
.hood-seamless .hs-map,
.hood-seamless .hs-nearby { background:transparent; }

/* Mobile stacking - sections get side padding */
@media (max-width:800px) {
  .hood-seamless .hs-take,
  .hood-seamless .hs-stats-bar,
  .hood-seamless .hs-subsections,
  .hood-seamless .hs-footer-links { padding-left:16px; padding-right:16px; }
  .hood-seamless .hs-two-col > section { padding:20px 16px 0; }
  .hood-seamless .hs-two-col--mn { padding:20px 16px 0; }
  .hs-sub-tile { padding:18px 8px; font-size:.75rem; }
}
/* Area Hub: full-width stacked sections for Food/Nightlife/Culture/Venues/
   Guides/Latest Stories (see page-templates/tpl-neighbourhood.php). Replaces
   the old 2-up grid for this group since the section count is variable
   (index-gated per MCR-AREA-HUB-SYSTEM.md), not a fixed pair. */
.hood-hub-sections {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.hood-hub-sections > section { padding: 28px 20px 0; }
.hood-hub-sections > section:first-child { padding-top: 0; }
@media (max-width: 800px) {
  .hood-hub-sections > section { padding: 0 16px; }
  .hood-hub-sections > section:first-child { padding-top: 0; }
}

/* Mobile-only: Food/Nightlife/Culture/Venues card rows become a single
   swipeable row instead of a wrapping grid (MCR-AREA-HUB-SYSTEM.md "Mobile"
   rule). Scoped to max-width so desktop's 2-up grid is untouched (Rule 1,
   MCR-DESIGN-DEV-RULES.md). */
@media (max-width: 680px) {
  .hood-hub-sections .hs-venue-grid {
    display: flex;
    grid-template-columns: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 12px;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }
  .hood-hub-sections .hs-venue-grid .hs-venue-card {
    flex: 0 0 78%;
    scroll-snap-align: start;
  }
}
/* ── End neighbourhood seamless layout ── */

/* ── YouTube embed ──────────────────────────────────────────────────────────
   .mcr-yt-embed: responsive 16:9 container for youtube-nocookie iframes.
   Used on venue, event, and neighbourhood pages.
   ───────────────────────────────────────────────────────────────────────── */
.mcr-yt-wrap { margin: 28px 0 4px; }
.mcr-yt-wrap-head {
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.4);
  margin-bottom: 10px;
}
.hood-content .mcr-yt-wrap-head { color: rgba(0,0,0,.4); }
.mcr-yt-embed {
  position: relative;
  width: 100%;
  max-width: 720px;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  overflow: hidden;
  background: #000;
}
.mcr-yt-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 10px;
}

/* ══════════════════════════════════════
   EVENT CARD CTA ALIGNMENT FIX
   "More info" + "Tickets" buttons must sit level
══════════════════════════════════════ */
.ev-card-ctas {
  display:flex;
  gap:6px;
  margin-top:auto;
  align-items:stretch;
  padding-top:8px;
}
.ev-card-ctas .btn-ghost-sm,
.ev-card-ctas .btn-primary-sm,
.ev-card-ctas .btn-tickets {
  flex:1 1 0;
  justify-content:center;
  text-align:center;
  min-height:30px;
  line-height:1.1;
  box-sizing:border-box;
  white-space:nowrap;
}
.ev-card-body {
  display:flex;
  flex-direction:column;
  min-height:0;
}

/* ══════════════════════════════════════
   SMALLER EVENT CARDS ON MOBILE
══════════════════════════════════════ */
@media (max-width: 600px) {
  .ev-grid {
    grid-template-columns:repeat(2, 1fr);
    gap:10px;
    padding:12px 12px 20px;
  }
  .ev-card-img { aspect-ratio:4/3; }
  .ev-card-body { padding:8px 9px 9px; gap:4px; }
  .ev-card-title { font-size:.78rem; line-height:1.2; }
  .ev-card-cat { font-size:.55rem; padding:2px 6px; }
  .ev-card-meta { font-size:.58rem; gap:6px; }
  .ev-card-meta i { width:9px; }
  .ev-card-ctas { gap:4px; padding-top:6px; }
  .ev-card-ctas .btn-ghost-sm,
  .ev-card-ctas .btn-primary-sm,
  .ev-card-ctas .btn-tickets {
    font-size:.54rem;
    padding:6px 8px;
    min-height:26px;
  }
}
@media (max-width: 420px) {
  .ev-grid { gap:8px; padding:10px 10px 18px; }
  .ev-card-title { font-size:.72rem; }
  .ev-card-ctas .btn-ghost-sm,
  .ev-card-ctas .btn-primary-sm,
  .ev-card-ctas .btn-tickets {
    font-size:.5rem;
    padding:5px 6px;
    min-height:24px;
  }
}

/* ══════════════════════════════════════
   Neighbourhood count badge on category pages
   (/food, /nightlife, /music, /culture "By Neighbourhood" tiles)
══════════════════════════════════════ */
.hs-nearby-count {
  position:absolute;
  top:8px;
  right:8px;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.02em;
  padding:4px 8px;
  border-radius:999px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  z-index:3;
  pointer-events:none;
}
.hs-nearby-img { position:relative; }
@media (max-width: 600px) {
  .hs-nearby-count {
    font-size:.55rem;
    padding:3px 6px;
    top:6px;
    right:6px;
  }
}

/* ══════════════════════════════════════
   Breadcrumb on seamless category pages
   (/food, /nightlife, /music, /culture)
══════════════════════════════════════ */
.hs-breadcrumb {
  padding:14px 20px 0;
  font-size:.72rem;
  color:rgba(255,255,255,.55);
  letter-spacing:.02em;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.CENTRE.white-bg .hs-breadcrumb { color:rgba(0,0,0,.55); }
.hs-breadcrumb a {
  color:inherit;
  text-decoration:none;
  opacity:.75;
  transition:opacity .15s;
}
.hs-breadcrumb a:hover { opacity:1; text-decoration:underline; }
.hs-breadcrumb span[aria-current="page"] { font-weight:600; opacity:1; }
.hs-breadcrumb span[aria-hidden="true"] { opacity:.35; }

/* ==========================================================================
   SPORT HUB - Participation / Clubs / parkrun sections (2026 build)
   ========================================================================== */
.hs-subnav { display:flex; gap:0; padding:0 20px; border-bottom:1px solid rgba(255,255,255,.08); overflow-x:auto; scrollbar-width:none; position:sticky; top:0; z-index:80; background:#111114; }
.hs-subnav::-webkit-scrollbar { display:none; }
.hs-subnav a { flex-shrink:0; font-size:.74rem; font-weight:600; color:rgba(255,255,255,.45); padding:13px 16px; border-bottom:2px solid transparent; text-decoration:none; transition:color .15s,border-color .15s; white-space:nowrap; }
.hs-subnav a:hover { color:#fff; }
.hs-play-section,.hs-clubs-section,.hs-parkrun-section,.hs-routes-section { padding:28px 20px 0; }
.hs-play-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:16px; }
.hs-act-card { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:12px; padding:14px 13px; text-decoration:none; display:flex; flex-direction:column; gap:5px; transition:background .15s,border-color .15s; }
.hs-act-card:hover { background:rgba(255,255,255,.07); border-color:rgba(26,86,255,.45); }
.hs-act-icon { font-size:1.2rem; color:rgba(255,255,255,.55); }
.hs-act-title { font-size:.8rem; font-weight:700; color:#fff; line-height:1.25; margin:0; }
.hs-act-exc { font-size:.7rem; color:rgba(255,255,255,.4); line-height:1.4; margin:0; }
.hs-act-cta { font-size:.68rem; font-weight:700; color:#1A56FF; margin-top:auto; padding-top:5px; }
.hs-club-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:16px; }
.hs-club-card { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:12px; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; transition:border-color .15s; }
.hs-club-card:hover { border-color:rgba(26,86,255,.45); }
.hs-club-img { position:relative; height:76px; background:rgba(255,255,255,.06); overflow:hidden; display:flex; align-items:center; justify-content:center; }
.hs-club-img img { width:100%; height:100%; object-fit:cover; display:block; }
.hs-club-img .mcr-img-fallback { font-size:1.8rem; color:rgba(255,255,255,.18); }
.hs-club-sport-badge { position:absolute; top:7px; left:7px; font-size:.52rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; background:rgba(0,0,0,.72); color:rgba(255,255,255,.88); padding:3px 7px; border-radius:20px; }
.hs-club-body { padding:9px 12px 12px; display:flex; flex-direction:column; gap:3px; flex:1; }
.hs-club-name { font-size:.8rem; font-weight:700; color:#fff; margin:0; line-height:1.25; }
.hs-club-meta { font-size:.66rem; color:rgba(255,255,255,.38); }
.hs-club-area { font-size:.64rem; color:rgba(255,255,255,.28); }
.hs-parkrun-rail { display:flex; gap:10px; overflow-x:auto; scrollbar-width:none; padding-bottom:4px; margin-top:16px; }
.hs-parkrun-rail::-webkit-scrollbar { display:none; }
.hs-pr-card { flex-shrink:0; width:210px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:12px; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; transition:border-color .15s; }
.hs-pr-card:hover { border-color:rgba(26,86,255,.45); }
.hs-pr-img { height:66px; background:rgba(255,255,255,.06); overflow:hidden; position:relative; display:flex; align-items:center; justify-content:center; }
.hs-pr-img img { width:100%; height:100%; object-fit:cover; display:block; }
.hs-pr-img .mcr-img-fallback { font-size:1.6rem; color:rgba(255,255,255,.18); }
.hs-pr-terrain { position:absolute; bottom:5px; right:6px; font-size:.5rem; font-weight:700; text-transform:uppercase; background:rgba(0,0,0,.72); color:rgba(255,255,255,.75); padding:2px 6px; border-radius:20px; }
.hs-pr-body { padding:9px 12px 11px; }
.hs-pr-name { font-size:.78rem; font-weight:700; color:#fff; margin:0 0 3px; line-height:1.25; }
.hs-pr-area { font-size:.66rem; color:rgba(255,255,255,.38); }
.hs-pr-free { font-size:.63rem; font-weight:700; color:#2DB54B; margin-top:4px; }
.hs-route-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:16px; }
.hs-route-card { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:12px; text-decoration:none; display:flex; gap:10px; padding:12px; transition:border-color .15s; align-items:flex-start; }
.hs-route-card:hover { border-color:rgba(26,86,255,.45); }
.hs-route-icon { width:38px; height:38px; border-radius:9px; background:rgba(26,86,255,.15); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hs-route-icon i { font-size:.85rem; color:#1A56FF; }
.hs-route-body { display:flex; flex-direction:column; gap:2px; }
.hs-route-name { font-size:.78rem; font-weight:700; color:#fff; margin:0; line-height:1.25; }
.hs-route-terrain { font-size:.66rem; color:rgba(255,255,255,.38); }
.hs-route-area { font-size:.62rem; color:rgba(255,255,255,.28); }
@media (max-width:680px) {
  .hs-play-grid { grid-template-columns:repeat(2,1fr); }
  .hs-club-grid,.hs-route-grid { grid-template-columns:1fr; }
  .hs-pr-card { width:180px; }
}

@media (max-width: 600px) {
  .hs-breadcrumb { padding:10px 14px 0; font-size:.68rem; }
}

/* ==========================================================================
   SKY SPORTS MODE - /sport page dark premium sports-network styling.
   Scoped to .sky-sport wrapper so it only affects /sport.
   White island .sky-local for community + neighbourhood sport.
   ========================================================================== */
.sky-sport{
  background:#0a0a0a;color:#fff;padding:0;margin-top:-1px;
  --sky-red:#EB1C23;--sky-yellow:#FFCC00;--sky-card:#141414;--sky-line:rgba(255,255,255,.08);
}
.sky-sport .hs-take,
.sky-sport .hs-stats-bar,
.sky-sport .hs-tonight,
.sky-sport .hs-watch,
.sky-sport .hs-venues,
.sky-sport .hs-stories,
.sky-sport .hs-subsections,
.sky-sport .hs-footer-links{
  background:transparent;padding:28px 24px;border-top:1px solid var(--sky-line);
}
.sky-sport .hs-two-col{gap:0;padding:0;background:transparent;}
.sky-sport .hs-two-col > *{border-top:1px solid var(--sky-line);}
.sky-sport .hs-two-col > *:first-child{border-right:1px solid var(--sky-line);}
@media (max-width:900px){.sky-sport .hs-two-col > *:first-child{border-right:none;}}
.sky-sport .csh-eyebrow{
  color:var(--sky-red) !important;font-weight:900;letter-spacing:.18em;
  text-transform:uppercase;font-size:.7rem;position:relative;padding-left:14px;
}
.sky-sport .csh-eyebrow::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:6px;height:14px;background:var(--sky-red);
}
.sky-sport .csh-title{
  color:#fff !important;font-weight:900;letter-spacing:-.01em;
  text-transform:uppercase;font-size:1.4rem;line-height:1.05;margin-top:6px;
}
.sky-sport .sh-link{
  color:var(--sky-yellow) !important;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;
}
.sky-sport .hs-stats-bar{
  display:flex;gap:0;flex-wrap:wrap;background:#000;padding:0;
  border-top:1px solid var(--sky-red);border-bottom:1px solid var(--sky-red);
}
.sky-sport .hs-stat-chip{
  flex:1;min-width:140px;background:transparent;border:none;
  border-right:1px solid var(--sky-line);border-radius:0;padding:18px 14px;
  display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff;
}
.sky-sport .hs-stat-chip:last-child{border-right:none;}
.sky-sport .hs-stat-chip i{color:var(--sky-red);font-size:1.2rem;margin-bottom:4px;}
.sky-sport .hs-stat-value{font-size:1.8rem;font-weight:900;line-height:1;color:#fff;font-variant-numeric:tabular-nums;}
.sky-sport .hs-stat-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.55);}
/* sport hero CSS reverted - sport now uses default white/colourful style */
.sky-sport .hs-take-inner{background:transparent;padding:4px 0;}
.sky-sport .hs-eyebrow{color:var(--sky-red);font-weight:900;letter-spacing:.18em;}
.sky-sport .hs-take-body,.sky-sport .hs-take-full{color:rgba(255,255,255,.82);}
.sky-sport .hs-take-more summary{color:var(--sky-yellow);font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.sky-sport .hs-tonight-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0;}
.sky-sport .hs-ev-card{
  background:var(--sky-card);border:none;border-bottom:1px solid var(--sky-line);
  border-right:1px solid var(--sky-line);border-radius:0;padding:0;overflow:hidden;
  display:flex;flex-direction:column;transition:background .15s;
}
.sky-sport .hs-ev-card:hover{background:#1c1c1c;}
.sky-sport .hs-ev-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;}
.sky-sport .hs-ev-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.92);}
.sky-sport .hs-ev-badge{
  position:absolute;top:10px;left:10px;background:var(--sky-red) !important;color:#fff !important;
  font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;padding:4px 8px;border-radius:0;
}
.sky-sport .hs-ev-body{padding:14px 16px 16px;background:transparent;}
.sky-sport .hs-ev-title{font-weight:900;color:#fff;font-size:1rem;line-height:1.2;margin:0 0 6px;}
.sky-sport .hs-ev-title a{color:#fff;text-decoration:none;}
.sky-sport .hs-ev-title a:hover{color:var(--sky-yellow);}
.sky-sport .hs-ev-venue{color:rgba(255,255,255,.6);font-size:.72rem;}
.sky-sport .hs-ev-meta{color:rgba(255,255,255,.65);font-size:.72rem;margin-top:6px;}
.sky-sport .hs-ev-ctas{margin-top:10px;display:flex;gap:8px;}
.sky-sport .hs-ev-ctas .btn-ghost-sm{
  background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;padding:7px 12px;border-radius:0;
}
.sky-sport .hs-ev-ctas .btn-primary-sm{
  background:var(--sky-red) !important;border-color:var(--sky-red) !important;color:#fff !important;
  font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;padding:7px 12px;border-radius:0;
}
.sky-sport .hs-venue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0;}
.sky-sport .hs-venue-card{
  background:var(--sky-card);border:none;border-right:1px solid var(--sky-line);
  border-bottom:1px solid var(--sky-line);border-radius:0;overflow:hidden;transition:background .15s;
}
.sky-sport .hs-venue-card:hover{background:#1c1c1c;}
.sky-sport .hs-venue-featured{box-shadow:inset 4px 0 0 var(--sky-red);}
.sky-sport .hs-vc-img{aspect-ratio:16/10;}
.sky-sport .hs-vc-img img{filter:saturate(.9);}
.sky-sport .hs-vc-feat-badge{background:var(--sky-red) !important;color:#fff !important;border-radius:0;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.6rem;padding:3px 8px;}
.sky-sport .hs-vc-price{background:#000 !important;color:var(--sky-yellow) !important;border-radius:0;font-weight:900;}
.sky-sport .hs-vc-body{background:transparent;padding:12px 14px 14px;}
.sky-sport .hs-vc-cat{text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.62rem;}
.sky-sport .hs-vc-name{color:#fff;font-weight:900;font-size:1.02rem;}
.sky-sport .hs-vc-name a{color:#fff;text-decoration:none;}
.sky-sport .hs-vc-name a:hover{color:var(--sky-yellow);}
.sky-sport .hs-vc-ctas .btn-ghost-sm,
.sky-sport .hs-vc-ctas .btn-primary-sm{
  background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;
  text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.66rem;border-radius:0;padding:6px 10px;
}
.sky-sport .hs-vc-ctas .btn-primary-sm{background:var(--sky-red);border-color:var(--sky-red);}
.sky-sport .hs-stories-list{display:flex;flex-direction:column;gap:0;}
.sky-sport .hs-story-card{
  background:transparent;border:none;border-bottom:1px solid var(--sky-line);padding:14px 0;
  display:grid;grid-template-columns:120px 1fr;gap:14px;border-radius:0;
}
.sky-sport .hs-story-card:hover{background:rgba(255,255,255,.03);}
.sky-sport .hs-story-img{border-radius:0;overflow:hidden;aspect-ratio:4/3;}
.sky-sport .hs-story-img img{filter:saturate(.9);}
.sky-sport .hs-story-kicker{color:var(--sky-red) !important;font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;}
.sky-sport .hs-story-title{color:#fff;font-weight:900;font-size:1rem;line-height:1.2;margin:4px 0;}
.sky-sport .hs-story-exc{color:rgba(255,255,255,.6);font-size:.76rem;}
.sky-sport .hs-story-meta{color:rgba(255,255,255,.4);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;}
.sky-sport .hs-sub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--sky-line);}
.sky-sport .hs-sub-tile{
  background:#000;color:#fff;border:none;border-radius:0;padding:22px 14px;
  display:flex;flex-direction:column;align-items:center;gap:8px;transition:background .15s,color .15s;
}
.sky-sport .hs-sub-tile:hover{background:var(--sub-color,var(--sky-red));color:#fff;}
.sky-sport .hs-sub-tile i{color:var(--sub-color,var(--sky-red));font-size:1.5rem;}
.sky-sport .hs-sub-tile:hover i{color:#fff;}
.sky-sport .hs-sub-label{text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.74rem;}
.sky-sport .hs-footer-links{display:flex;flex-wrap:wrap;gap:0;background:#000;border-top:2px solid var(--sky-red);padding:0;}
.sky-sport .hs-footer-links a{
  flex:1;min-width:180px;background:transparent;color:#fff;padding:18px 16px;
  border-right:1px solid var(--sky-line);border-radius:0;
  text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.74rem;
  display:flex;align-items:center;gap:8px;transition:background .15s,color .15s;
}
.sky-sport .hs-footer-links a:hover{background:var(--sky-red);color:#fff;}
.sky-sport .hs-footer-links a i{color:var(--sky-red);}
.sky-sport .hs-footer-links a:hover i{color:#fff;}
/* sport breadcrumb reverted to default */

/* ==========================================================================
   SKY-LOCAL ISLAND - community + neighbourhood sport stays white
   ========================================================================== */
.sky-sport .sky-local{
  background:#ffffff;color:#0a0a0a;padding:0;margin:0;border-top:4px solid var(--sky-red);
}
.sky-sport .sky-local::before{
  content:"Local & Community";display:block;background:#fff;color:var(--sky-red);
  font-weight:900;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;padding:18px 24px 0;
}
.sky-sport .sky-local .csh-eyebrow{color:var(--sky-red) !important;}
.sky-sport .sky-local .csh-eyebrow::before{background:var(--sky-red);}
.sky-sport .sky-local .csh-title{color:#0a0a0a !important;text-transform:uppercase;font-weight:900;}
.sky-sport .sky-local .sh-link{color:#0a0a0a !important;}
.sky-sport .sky-local .hs-two-col{background:#fff;}
.sky-sport .sky-local .hs-two-col > *{border-top:1px solid rgba(0,0,0,.06);background:#fff;}
.sky-sport .sky-local .hs-two-col > *:first-child{border-right:1px solid rgba(0,0,0,.06);}
.sky-sport .sky-local .hs-nearby,
.sky-sport .sky-local .hs-map{background:#fff;padding:28px 24px;}
.sky-sport .sky-local .hs-nearby-card .hs-nearby-name,
.sky-sport .sky-local .hs-nearby-card .hs-nearby-count{color:#fff;}
.sky-sport .sky-local .hcg-pill{background:#f5f5f5;color:#0a0a0a;}

@media (max-width:640px){
  .sky-sport .hs-tonight-list,.sky-sport .hs-venue-grid{grid-template-columns:1fr;}
  .sky-sport .csh-title{font-size:1.15rem;}
  .sky-sport .hs-stat-value{font-size:1.4rem;}
}

/* ==========================================================================
   MORE INFO button - halve size per Dom. Applies site-wide on event cards.
   Bug 2 fix: the generic .btn-tickets rule (~line 3608) adds margin-bottom:28px,
   font-size:.8rem and padding:14px 28px which made TICKETS render taller/wider
   than the matching MORE INFO ghost button. Force both buttons to identical
   box model: same flex basis, margin, padding, height, gap, border-radius.
   ========================================================================== */
.ev-card-ctas .btn-ghost-sm,
.ev-card-ctas .btn-tickets,
.ev-card-ctas .btn-primary-sm,
.ev-card-ctas .btn-disabled-sm,
.card-list .btn-ghost-sm,
.card-list .btn-tickets{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:.62rem !important;
  padding:6px 10px !important;
  margin:0 !important;
  letter-spacing:.06em !important;
  font-weight:700 !important;
  border-radius:6px !important;
  line-height:1 !important;
  min-height:28px !important;
  height:28px !important;
  box-sizing:border-box !important;
  flex:1 1 0 !important;
  gap:4px !important;
  white-space:nowrap !important;
  text-align:center !important;
  vertical-align:middle !important;
}
.ev-card-ctas{ align-items:stretch !important; }


/* Extend Sky-style hero CSS to music + nightlife templates */
body.page-template-tpl-music .hood-hero-full,
body.page-template-tpl-nightlife .hood-hero-full{border-bottom:3px solid #EB1C23;}
body.page-template-tpl-music .hhf-label,
body.page-template-tpl-nightlife .hhf-label{color:#EB1C23 !important;font-weight:900;letter-spacing:.2em;}
body.page-template-tpl-music .hhf-name,
body.page-template-tpl-nightlife .hhf-name{font-weight:900;text-transform:uppercase;letter-spacing:-.01em;}
body.page-template-tpl-music .hhf-quick-links .hhf-ql,
body.page-template-tpl-nightlife .hhf-quick-links .hhf-ql{background:#000;border:1px solid #EB1C23;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
body.page-template-tpl-music .hhf-quick-links .hhf-ql:hover,
body.page-template-tpl-nightlife .hhf-quick-links .hhf-ql:hover{background:#EB1C23;color:#fff;}
body.page-template-tpl-music .hs-breadcrumb,
body.page-template-tpl-nightlife .hs-breadcrumb{background:#000;color:rgba(255,255,255,.7);border-bottom:1px solid rgba(255,255,255,.08);}
body.page-template-tpl-music .hs-breadcrumb a,
body.page-template-tpl-nightlife .hs-breadcrumb a{color:#FFCC00;}


/* MCR-INTRO-BOTTOM :: adaptive editorial block placed below grid */
.mcr-intro-bottom-wrap {
  max-width: 900px;
  margin: 48px auto 32px;
  padding: 28px 24px;
  border-top: 1px solid rgba(128,128,128,.18);
  color: inherit;
}
.mcr-intro-bottom-wrap .mib-heading {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 16px;
  letter-spacing: -.01em;
  opacity: .85;
}
.mcr-intro-bottom-wrap .mcr-section-intro {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
.mcr-intro-bottom-wrap .mcr-section-intro p {
  color: inherit !important;
  opacity: .78;
  font-size: .92rem !important;
  line-height: 1.7 !important;
  margin: 0 0 14px !important;
  font-weight: 400 !important;
}
.mcr-intro-bottom-wrap .mcr-section-intro p:first-child {
  font-weight: 600 !important;
  opacity: .92;
  border-left: 3px solid var(--dc-green, #2DB54B);
  padding-left: 14px !important;
  font-size: 1rem !important;
}
@media (max-width: 640px) {
  .mcr-intro-bottom-wrap { padding: 20px 16px; margin: 32px auto 24px; }
  .mcr-intro-bottom-wrap .mcr-section-intro p { font-size: .88rem !important; }
}


/* MCR-MOBILE-COMPACT-EVENTS :: tighten .ev-card on <=640 */
@media (max-width: 640px) {
  .ev-grid { gap: 8px !important; }
  .ev-card {
    padding: 8px !important;
    border-radius: 10px !important;
    min-height: unset !important;
  }
  .ev-card-img {
    height: 88px !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
  }
  .ev-card .ev-title {
    font-size: .9rem !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 2;
    margin: 4px 0 !important;
  }
  .ev-card .ev-meta {
    font-size: .72rem !important;
    gap: 6px !important;
  }
  .ev-card .ev-price-chip,
  .ev-card .ev-date-chip {
    padding: 2px 6px !important;
    font-size: .7rem !important;
  }
  .ev-section-head { margin: 10px 0 6px !important; }
}


/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 — Night Plan + Inline Drawer + Grid/Map toggle
   Shipped 2026-04-24 per WOT-HANDOFF. Appended at end = cascade wins.
   ═══════════════════════════════════════════════════════════════════════ */

/* =========================================================
   WOT V19 — drop-in styles for mcr.city theme
   ─────────────────────────────────────────────────────────
   Paste ALL of this into style.css, anywhere after the
   existing .WOT styles (it will override them cleanly).
   Or replace the existing WOT block in style.css with this.
   ─────────────────────────────────────────────────────────
   Dependencies: Inter font + FontAwesome (already loaded).
   Leaflet CSS: add this to wp_head or enqueue:
     <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css">
   ========================================================= */


/* =========================================================
   WOT V19 — DROP-IN UPGRADE TO LIVE STRUCTURE
   Uses the actual live classes: section.WOT / wot-mini-label
   / wot-week-strip / wot-filterbar / wot-tg / wot-tg-row /
   wot-tg-time / wot-tg-ev-row / wot-ev-pill / wot-nav-bar
   Adds on top: Night Plan (+ FAB + sheet) · inline pull-down
   drawer replacing the old popup · Grid/Map seg toggle.
   Font: Inter only (no Playfair). Icons: FontAwesome.
   ========================================================= */

/* Brand tokens matching live site */
:root{
  --dc-red:#E8201A;
  --dc-blue:#1A56FF;
  --dc-green:#2DB54B;
  --dc-orange:#FF6B00;
  --dc-purple:#7C3AED;
  --dc-yellow:#F5C400;
  --dc-pink:#EC4899;
  --dc-cyan:#06B6D4;

  --ec:currentColor;
  --bg:#0d0d10;
  --bg-elev:rgba(255,255,255,.04);
  --fg:#fff;
  --fg-muted:rgba(255,255,255,.58);
  --fg-dim:rgba(255,255,255,.35);
  --stroke:rgba(255,255,255,.08);
  --stroke-hi:rgba(255,255,255,.14);
  --glass:rgba(13,13,16,.9);

  --safe-top:env(safe-area-inset-top,0px);
  --safe-bot:env(safe-area-inset-bottom,0px);
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-spring:cubic-bezier(.34,1.4,.64,1);
}
.WOT.wot-light{
  --bg:#fff;
  --bg-elev:rgba(0,0,0,.028);
  --fg:#0c0c0e;
  --fg-muted:rgba(0,0,0,.6);
  --fg-dim:rgba(0,0,0,.4);
  --stroke:rgba(0,0,0,.08);
  --stroke-hi:rgba(0,0,0,.14);
  --glass:rgba(255,255,255,.92);
}

body.plan-open{padding-bottom:calc(85vh + var(--safe-bot));}
/* ══════════════════════════════════════════════════
   SECTION WOT
   ══════════════════════════════════════════════════ */
.WOT{
  background:var(--bg);color:var(--fg);
  padding:12px 14px 18px;
  transition:background .3s var(--ease-out),color .3s var(--ease-out);
}

/* ── MINI LABEL — Tonight · Live + Dark/Light + Grid/Map ── */
.wot-mini-label{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:6px 2px 10px;
}
.wot-mini-tonight{font-size:.68rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--fg);}
.wot-mini-line{flex:1;height:1px;background:var(--stroke-hi);min-width:20px;}
.wot-mini-live{display:inline-flex;align-items:center;gap:5px;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--dc-red);font-variant-numeric:tabular-nums;}
.wot-mini-dot{width:6px;height:6px;border-radius:50%;background:var(--dc-red);box-shadow:0 0 8px var(--dc-red);animation:miniDot 1.6s ease-in-out infinite;}
@keyframes miniDot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.7);}}

.wot-mode-switch,.wot-view-switch{
  display:inline-flex;gap:2px;
  background:var(--bg-elev);border:1px solid var(--stroke);border-radius:999px;padding:2.5px;
}
.wot-mode-opt,.wot-view-opt{
  all:unset;cursor:pointer;
  font-size:.5rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 9px;border-radius:999px;color:var(--fg-dim);
  display:inline-flex;align-items:center;gap:4px;min-height:24px;
  transition:all .2s;
}
.wot-mode-opt.is-on,.wot-view-opt.is-on{background:var(--fg);color:var(--bg);}
.wot-mode-opt i,.wot-view-opt i{font-size:.55rem;}

/* ── WEEK STRIP — 7 days ── */
.wot-week-strip{
  display:flex;gap:4px;margin:0 0 10px;
  overflow-x:auto;scrollbar-width:none;
}
.wot-week-strip::-webkit-scrollbar{display:none;}
.wot-wday{
  flex-shrink:0;width:42px;height:46px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  border:1px solid var(--stroke);border-radius:10px;
  background:var(--bg-elev);cursor:pointer;
  transition:all .2s var(--ease-out);
}
.wot-wday:active{transform:scale(.95);}
.wot-wday:hover{border-color:var(--stroke-hi);}
.wot-wday.active{background:var(--dc-red);border-color:var(--dc-red);}
.wot-wday-dn{font-size:.5rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);}
.wot-wday.active .wot-wday-dn{color:rgba(255,255,255,.85);}
.wot-wday-num{font-size:.92rem;font-weight:900;color:var(--fg);line-height:1;}
.wot-wday.active .wot-wday-num{color:#fff;}

/* ── FILTER BAR ── */
.wot-filterbar{
  display:flex;gap:6px;margin:0 0 10px;
  overflow-x:auto;scrollbar-width:none;align-items:center;
}
.wot-filterbar::-webkit-scrollbar{display:none;}
.wot-flt{
  all:unset;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;
  padding:7px 12px;border-radius:999px;
  font-size:.55rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  background:var(--bg-elev);color:var(--fg-muted);
  border:1px solid var(--stroke);white-space:nowrap;
  transition:all .2s var(--ease-out);min-height:32px;
}
.wot-flt:active{transform:scale(.95);}
.wot-flt-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7;flex-shrink:0;}
.wot-flt.on{color:var(--bg);font-weight:900;}
.wot-flt[data-cat="all"].on{background:var(--fg);color:var(--bg);border-color:transparent;}
.wot-flt[data-cat="music"].on{background:var(--dc-red);color:#fff;border-color:transparent;}
.wot-flt[data-cat="sport"].on{background:var(--dc-blue);color:#fff;border-color:transparent;}
.wot-flt[data-cat="food"].on{background:var(--dc-green);color:#fff;border-color:transparent;}
.wot-flt[data-cat="nightlife"].on{background:var(--dc-orange);color:#fff;border-color:transparent;}
.wot-flt[data-cat="culture"].on{background:var(--dc-purple);color:#fff;border-color:transparent;}
.wot-flt[data-cat="family"].on{background:var(--dc-yellow);color:var(--bg);border-color:transparent;}

.wot-full-cal-btn{
  margin-left:auto;
  display:inline-flex;align-items:center;gap:5px;
  padding:7px 12px;border-radius:999px;
  font-size:.55rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--dc-red);white-space:nowrap;flex-shrink:0;
  transition:opacity .2s;
}
.wot-full-cal-btn:hover{opacity:.8;}
.wot-full-cal-btn i{font-size:.5em;}

/* ══════════════════════════════════════════════════
   TIME GRID
   ══════════════════════════════════════════════════ */
.wot-tg{
  background:var(--bg);
  border-radius:12px;
  border:1px solid var(--stroke);
  overflow:hidden;
  position:relative;
}

.wot-tg-row{
  display:flex;align-items:stretch;
  border-bottom:1px solid var(--stroke);
  min-height:50px;position:relative;
}
.wot-tg-row:last-child{border-bottom:none;}
.wot-tg-row.wot-past .wot-ep-title{opacity:.5;}
.wot-tg-row.wot-past .wot-ep-sub{opacity:.5;}
.wot-tg-row.wot-past .wot-ev-pill::before{opacity:.12;}
.wot-tg-row.wot-now{background:linear-gradient(90deg,rgba(232,32,26,.1),transparent 40%);}
.wot-tg-row.wot-now::before{
  content:'';position:absolute;top:0;left:58px;right:0;height:1px;
  background:linear-gradient(90deg,var(--dc-red),transparent);
  box-shadow:0 0 8px var(--dc-red);z-index:2;
}

.wot-tg-time{
  width:58px;flex-shrink:0;
  display:flex;align-items:center;justify-content:flex-end;
  padding:0 14px 0 10px;
  font-size:.64rem;font-weight:700;letter-spacing:-.01em;color:var(--fg-muted);
  font-variant-numeric:tabular-nums;
  border-right:1px solid var(--stroke);
  user-select:none;
}
.wot-tg-row.wot-past .wot-tg-time{color:var(--fg-dim);}
.wot-tg-row.wot-now .wot-tg-time{color:var(--dc-red);font-weight:900;font-size:.72rem;text-shadow:0 0 10px rgba(232,32,26,.4);}

.wot-tg-ev-row{
  display:flex;flex-wrap:nowrap;gap:6px;
  flex:1;min-width:0;
  overflow-x:auto;overflow-y:visible;scrollbar-width:none;
  padding:6px 40px 6px 6px;align-items:center;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
  position:relative;
}
.wot-tg-ev-row::-webkit-scrollbar{display:none;}
.wot-tg-ev-row::after{
  content:'';position:absolute;right:0;top:0;bottom:0;width:40px;
  background:linear-gradient(90deg,transparent,var(--bg));
  pointer-events:none;z-index:3;
}
.wot-ev-count{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  font-size:.45rem;font-weight:700;color:var(--fg-dim);z-index:4;pointer-events:none;letter-spacing:.06em;text-transform:uppercase;
}

/* ══════════════════════════════════════════════════
   PILL — V19 brighter
   ══════════════════════════════════════════════════ */
.wot-ev-pill{
  all:unset;cursor:pointer;
  position:relative;overflow:hidden;flex-shrink:0;
  display:flex;flex-direction:column;justify-content:center;gap:2px;
  min-width:152px;max-width:204px;
  padding:8px 36px 8px 11px;
  border-radius:11px;
  background:color-mix(in srgb,var(--ec,var(--dc-red)) 10%,var(--bg-elev));
  border:1px solid color-mix(in srgb,var(--ec,var(--dc-red)) 35%,var(--stroke-hi));
  border-left:2.5px solid var(--ec,var(--dc-red));
  scroll-snap-align:start;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 1px 2px rgba(0,0,0,.26),
    0 5px 14px rgba(0,0,0,.22),
    0 0 18px color-mix(in srgb,var(--ec,var(--dc-red)) 12%,transparent);
  transition:transform .22s var(--ease-spring),box-shadow .22s;
  min-height:48px;
}
.WOT.wot-light .wot-ev-pill{
  background:color-mix(in srgb,var(--ec,var(--dc-red)) 8%,#fff);
  border-color:color-mix(in srgb,var(--ec,var(--dc-red)) 32%,var(--stroke-hi));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    0 1px 2px rgba(0,0,0,.05),
    0 4px 12px rgba(0,0,0,.07);
}
/* Category colour wash */
.wot-ev-pill::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--ec,var(--dc-red)) 0%,transparent 75%);
  opacity:.26;border-radius:inherit;pointer-events:none;z-index:0;
  transition:opacity .2s;
}
.WOT.wot-light .wot-ev-pill::before{opacity:.14;}
/* Specular sweep on hover — hint of V18 */
.wot-ev-pill::after{
  content:'';position:absolute;top:0;left:-110%;width:80%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.07),transparent);
  transition:left .65s var(--ease-out);pointer-events:none;z-index:0;
}
.wot-ev-pill:hover::after{left:130%;}
.wot-ev-pill:hover{
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 2px 4px rgba(0,0,0,.3),
    0 10px 24px rgba(0,0,0,.3),
    0 2px 24px color-mix(in srgb,var(--ec,var(--dc-red)) 24%,transparent);
}
.wot-ev-pill:hover::before{opacity:.22;}
.wot-ev-pill:active{transform:scale(.98);}
.wot-ev-pill.open{
  box-shadow:
    inset 0 0 0 1.5px var(--ec,var(--dc-red)),
    0 0 22px color-mix(in srgb,var(--ec,var(--dc-red)) 28%,transparent),
    0 8px 22px rgba(0,0,0,.38);
}
.wot-ev-pill.open::before{opacity:.24;}
.wot-ev-pill>*{position:relative;z-index:1;}

.wot-ep-title{
  font-family:'Inter',sans-serif;
  font-size:.72rem;font-weight:800;letter-spacing:-.01em;color:var(--fg);line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.wot-ep-sub{
  font-size:.56rem;font-weight:500;color:var(--fg-muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* + button */
.wot-ep-add{
  position:absolute;top:50%;right:5px;transform:translateY(-50%);z-index:3;
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.05);backdrop-filter:blur(6px);
  border:1px solid var(--stroke-hi);
  color:var(--fg-muted);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:400;line-height:1;
  transition:all .2s var(--ease-spring);
}
.WOT.wot-light .wot-ep-add{background:rgba(0,0,0,.04);}
.wot-ep-add:hover{background:var(--ec,var(--dc-red));color:#fff;border-color:transparent;}
.wot-ep-add:active{transform:translateY(-50%) scale(.88);}
.wot-ev-pill[data-added="1"] .wot-ep-add{background:var(--dc-green);color:#fff;border-color:transparent;box-shadow:0 0 10px rgba(45,181,75,.5);}
.wot-ev-pill[data-added="1"] .wot-ep-add span{display:none;}
.wot-ev-pill[data-added="1"] .wot-ep-add::before{content:'';width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-2px);}
.wot-ev-pill[data-added="1"]{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--dc-green) 60%,transparent),0 5px 14px rgba(0,0,0,.25);}

.wot-ep-order{
  position:absolute;top:-5px;left:-5px;z-index:4;
  width:18px;height:18px;border-radius:50%;
  background:var(--dc-green);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:900;
  box-shadow:0 0 8px rgba(45,181,75,.55),0 2px 5px rgba(0,0,0,.3);
  animation:orderPop .3s var(--ease-spring);
}
@keyframes orderPop{from{transform:scale(0);}to{transform:scale(1);}}

/* ══════════════════════════════════════════════════
   INLINE PULL-DOWN DRAWER — bulletproof grid
   ══════════════════════════════════════════════════ */
.wot-drawer{
  max-height:0;overflow:hidden;position:relative;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--ec,var(--dc-red)) 18%,var(--bg-elev)) 0%,var(--bg-elev) 60%,var(--bg-elev) 100%);
  border-bottom:1px solid var(--stroke);
  transition:max-height .5s var(--ease-out);
}
.WOT.wot-light .wot-drawer{
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--ec,var(--dc-red)) 22%,#fff) 0%,color-mix(in srgb,var(--ec,var(--dc-red)) 7%,#fff) 65%,#fff 100%);
}
.wot-drawer.open{max-height:720px;}
.wot-drawer::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--ec,var(--dc-red));
  box-shadow:0 0 14px color-mix(in srgb,var(--ec,var(--dc-red)) 45%,transparent);
}

.wot-dr-inner{
  position:relative;
  padding:20px 56px 20px 22px;
  display:flex;gap:18px;align-items:flex-start;
  box-sizing:border-box;
}
.wot-dr-img{
  width:120px;height:120px;border-radius:14px;overflow:hidden;
  background:var(--img) center/cover,color-mix(in srgb,var(--ec,var(--dc-red)) 20%,var(--bg-elev));
  position:relative;flex:0 0 120px;
  box-shadow:0 8px 20px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.04) inset;
}
.WOT.wot-light .wot-dr-img{box-shadow:0 6px 18px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.05) inset;}
.wot-dr-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.4));border-radius:inherit;}

.wot-dr-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;}
.wot-dr-cat{
  font-size:.54rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ec,var(--dc-red));align-self:flex-start;
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
}
.wot-dr-cat::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--ec,var(--dc-red));box-shadow:0 0 8px var(--ec,var(--dc-red));flex-shrink:0;}
.wot-dr-title{
  font-size:1.2rem;font-weight:900;letter-spacing:-.022em;color:var(--fg);line-height:1.12;
  word-wrap:break-word;overflow-wrap:break-word;
}
.wot-dr-meta{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  font-size:.64rem;color:var(--fg-muted);font-weight:600;
  font-variant-numeric:tabular-nums;letter-spacing:.01em;
}
.wot-dr-meta b{color:var(--fg);font-weight:800;}
.wot-dr-meta .sep{width:3px;height:3px;border-radius:50%;background:var(--stroke-hi);flex-shrink:0;}
.wot-dr-desc{font-size:.66rem;color:var(--fg-dim);line-height:1.6;margin-top:2px;max-width:640px;font-weight:500;}
.wot-dr-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px;}
.wot-dr-btn{
  all:unset;cursor:pointer;box-sizing:border-box;
  padding:10px 18px;border-radius:10px;
  font-size:.6rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;
  transition:transform .2s var(--ease-spring),box-shadow .2s;min-height:38px;
}
.wot-dr-btn:active{transform:scale(.95);}
.wot-dr-btn.primary{background:var(--ec,var(--dc-red));color:#fff;box-shadow:0 8px 22px -5px var(--ec,var(--dc-red)),0 1px 0 rgba(255,255,255,.15) inset;}
.wot-dr-btn.primary:hover{transform:translateY(-1px);}
.wot-dr-btn.ghost{
  background:rgba(255,255,255,.05);color:var(--fg);
  border:1px solid var(--stroke-hi);
}
.WOT.wot-light .wot-dr-btn.ghost{background:rgba(0,0,0,.04);}
.wot-dr-close{
  position:absolute;top:10px;right:10px;
  all:unset;cursor:pointer;
  width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.08);backdrop-filter:blur(6px);
  border:1px solid var(--stroke-hi);color:var(--fg-muted);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;z-index:4;
}
.WOT.wot-light .wot-dr-close{background:rgba(0,0,0,.06);}
.wot-dr-close:active{transform:scale(.9);}

/* Narrow: stack image on top */
@media (max-width:560px){
  .wot-dr-inner{flex-direction:column;padding:16px 16px 18px;gap:14px;}
  .wot-dr-img{width:100%;height:160px;flex:0 0 160px;border-radius:12px;}
  .wot-dr-title{font-size:1.08rem;}
  .wot-dr-close{top:10px;right:10px;width:30px;height:30px;}
}

/* ══════════════════════════════════════════════════
   MAP VIEW
   ══════════════════════════════════════════════════ */
.wot-mapview{
  display:none;margin-top:6px;
  height:calc(100vh - 280px);min-height:380px;
  border-radius:12px;overflow:hidden;position:relative;
  border:1px solid var(--stroke);
  background:var(--bg);
}
.WOT.map-on .wot-tg{display:none;}
.WOT.map-on .wot-mapview{display:block;}
#mcrmap{width:100%;height:100%;background:var(--bg);}
.leaflet-container{background:var(--bg);font-family:'Inter',sans-serif;}
.leaflet-control-attribution{background:var(--glass)!important;color:var(--fg-dim)!important;font-size:10px!important;opacity:.75!important;padding:2px 6px!important;}
.leaflet-control-attribution a{color:var(--fg-muted)!important;}
.leaflet-bar{border:none!important;box-shadow:none!important;}
.leaflet-bar a{background:var(--glass)!important;backdrop-filter:blur(10px);color:var(--fg)!important;border:1px solid var(--stroke-hi)!important;font-size:16px;font-weight:700;line-height:30px!important;width:32px!important;height:32px!important;border-radius:8px!important;margin-bottom:4px!important;}
.pin-marker{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--c);color:#fff;font-size:10px;font-weight:900;box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--c),0 0 12px var(--c),0 4px 10px rgba(0,0,0,.4);cursor:pointer;}
.pin-marker.plan-stop{background:var(--fg);color:var(--bg);}
.leaflet-popup-content-wrapper{background:var(--glass)!important;backdrop-filter:blur(14px);color:var(--fg)!important;border-radius:10px!important;border:1px solid var(--stroke-hi)!important;padding:0!important;}
.leaflet-popup-tip{background:var(--glass)!important;}
.leaflet-popup-content{margin:0!important;padding:10px 12px!important;min-width:180px;}
.leaflet-popup-close-button{color:var(--fg-muted)!important;font-size:16px!important;padding:6px!important;}
.pop-cat{font-size:.5rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ec);margin-bottom:3px;}
.pop-title{font-size:.8rem;font-weight:800;color:var(--fg);margin-bottom:4px;line-height:1.2;}
.pop-meta{font-size:.55rem;color:var(--fg-muted);display:flex;gap:6px;align-items:center;margin-bottom:6px;}
.pop-meta .sep{width:2px;height:2px;border-radius:50%;background:var(--stroke-hi);}
.pop-btn{display:inline-block;padding:6px 10px;border-radius:6px;background:var(--ec);color:#fff;font-size:.5rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;min-height:28px;}
.pop-btn.ghost{background:transparent;color:var(--fg-muted);border:1px solid var(--stroke-hi);margin-left:4px;}

/* ══════════════════════════════════════════════════
   SITE NAV BAR (below WOT, as live)
   ══════════════════════════════════════════════════ */
.wot-nav-bar{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;margin-top:14px;
  border:1px solid var(--stroke);border-radius:12px;overflow:hidden;
  background:var(--bg);
}
.wnb-item{
  display:flex;flex-direction:column;gap:3px;
  padding:14px 10px;
  border-right:1px solid var(--stroke);
  border-top:1px solid var(--stroke);
  text-align:center;align-items:center;
  color:var(--fg-muted);transition:all .2s;cursor:pointer;
}
.wnb-item:nth-child(-n+4){border-top:none;}
.wnb-item:nth-child(4n){border-right:none;}
.wnb-item:hover{background:var(--bg-elev);color:var(--fg);}
.wnb-ico{
  width:34px;height:34px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--wnb-col) 14%,transparent);
  color:var(--wnb-col);font-size:.8rem;
  box-shadow:0 0 18px -4px color-mix(in srgb,var(--wnb-col) 40%,transparent) inset;
}
.wnb-label{font-size:.6rem;font-weight:800;letter-spacing:.02em;color:var(--fg);}
.wnb-sub{font-size:.48rem;font-weight:600;letter-spacing:.02em;color:var(--fg-dim);text-transform:uppercase;}

/* ══════════════════════════════════════════════════
   PLAN FAB + SHEET
   ══════════════════════════════════════════════════ */
.plan-fab{
  position:fixed;bottom:calc(14px + var(--safe-bot));right:14px;z-index:70;
  display:inline-flex;align-items:center;gap:7px;padding:11px 16px 11px 13px;border-radius:999px;
  background:#0c0c0e;color:#fff;
  font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 14px 32px -10px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08) inset;
  cursor:pointer;border:none;transition:transform .3s var(--ease-spring),opacity .3s;min-height:42px;
}
.plan-fab .pf-count{ background:#fff !important; color:#0c0c0e !important; }
.plan-fab:active{transform:scale(.94);}
.plan-fab i{font-size:.7rem;}
.plan-fab .pf-count{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.3);font-size:.6rem;font-weight:900;font-variant-numeric:tabular-nums;}
.plan-fab .pf-count.bump{animation:bump .5s var(--ease-spring);}
@keyframes bump{0%{transform:scale(1);}40%{transform:scale(1.35);background:#fff;color:#000;}100%{transform:scale(1);}}
body.plan-open .plan-fab{transform:translateY(200px);opacity:0;pointer-events:none;}

.plan{
  position:fixed;left:0;right:0;bottom:0;z-index:65;
  background:var(--glass);
  backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);
  border-top:1px solid var(--stroke-hi);
  box-shadow:0 -22px 50px -14px rgba(0,0,0,.8);
  transform:translateY(calc(100% - 58px - var(--safe-bot)));
  transition:transform .5s var(--ease-out);
  max-width:1040px;margin:0 auto;
  border-radius:16px 16px 0 0;
  color:var(--fg);
}
body.plan-open .plan{transform:translateY(0);}
.plan-handle{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 16px 10px;cursor:pointer;user-select:none;
  border-bottom:1px solid var(--stroke);position:relative;min-height:58px;
}
.plan-handle::before{content:'';position:absolute;left:50%;top:5px;transform:translateX(-50%);width:34px;height:3px;border-radius:3px;background:var(--stroke-hi);}
.ph-left{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0;}
.ph-label{font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--dc-red);}
.ph-summary{font-size:.62rem;color:var(--fg-muted);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ph-summary b{color:var(--fg);font-weight:800;}
.ph-chevron{color:var(--fg-muted);transition:transform .4s;}
body.plan-open .ph-chevron{transform:rotate(180deg);}

.plan-body{max-height:calc(85vh - 58px - var(--safe-bot));overflow-y:auto;padding:0 0 calc(14px + var(--safe-bot));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
body:not(.plan-open) .plan-body{visibility:hidden;pointer-events:none;}
body.plan-open .plan-body{visibility:visible;pointer-events:auto;}

/* v12.7.74 — backdrop for plan sheet */
.plan-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .35s var(--ease-out);z-index:64;}
body.plan-open .plan-backdrop{opacity:1;pointer-events:auto;}

.plan-empty{padding:24px 18px 18px;text-align:center;color:var(--fg-muted);}
.plan-empty h3{font-size:.9rem;font-weight:800;color:var(--fg);letter-spacing:-.015em;margin-bottom:5px;}
.plan-empty p{font-size:.65rem;max-width:360px;margin:0 auto;line-height:1.55;}
.plan-empty kbd{display:inline-block;padding:1px 6px;border-radius:4px;background:var(--bg-elev);border:1px solid var(--stroke-hi);font-family:inherit;font-weight:700;color:var(--fg);font-size:.75rem;}

.plan-timeline{padding:10px 16px 0;position:relative;}
.plan-spine{position:absolute;top:24px;bottom:70px;left:36px;width:1.5px;background:linear-gradient(180deg,var(--dc-red),var(--dc-orange),var(--dc-purple));border-radius:2px;opacity:.4;z-index:0;}

.plan-step{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:8px 0;position:relative;z-index:1;animation:stepIn .3s var(--ease-out) both;}
@keyframes stepIn{from{opacity:0;transform:translateX(-6px);}to{opacity:1;transform:translateX(0);}}
.ps-bullet{width:28px;height:28px;border-radius:50%;background:var(--img) center/cover,var(--ec,var(--dc-red));color:#fff;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:900;box-shadow:0 0 10px var(--ec,var(--dc-red)),0 0 0 3px var(--glass);position:relative;z-index:2;}
.ps-bullet::before{content:'';position:absolute;inset:0;border-radius:50%;background:rgba(0,0,0,.45);}
.ps-bullet::after{content:attr(data-n);position:absolute;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.6);}
.ps-body{min-width:0;}
.ps-cat{font-size:.45rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ec,var(--dc-red));}
.ps-title{font-size:.72rem;font-weight:800;color:var(--fg);letter-spacing:-.01em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ps-meta{font-size:.55rem;color:var(--fg-muted);font-variant-numeric:tabular-nums;display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.ps-meta .sep{width:2px;height:2px;border-radius:50%;background:var(--stroke-hi);}
.ps-btn{all:unset;cursor:pointer;width:28px;height:28px;border-radius:8px;background:var(--bg-elev);border:1px solid var(--stroke);color:var(--fg-muted);display:flex;align-items:center;justify-content:center;}

.plan-transit{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:1px 0;position:relative;z-index:1;animation:stepIn .3s var(--ease-out) both;}
.pt-bullet{width:28px;height:28px;margin-left:4px;display:flex;align-items:center;justify-content:center;color:var(--fg-dim);font-size:.72rem;}
.pt-body{display:flex;align-items:center;gap:6px;padding:5px 9px;border-radius:8px;background:var(--bg-elev);border:1px dashed var(--stroke-hi);font-size:.55rem;font-weight:600;color:var(--fg-muted);flex-wrap:wrap;}
.pt-body .mode{display:inline-flex;align-items:center;gap:3px;font-weight:800;color:var(--fg);}
.pt-body .mode.walk{color:var(--dc-green);}
.pt-body .mode.tram{color:var(--dc-blue);}
.pt-body .mode.uber{color:var(--dc-orange);}
.pt-body .sep{width:2px;height:2px;border-radius:50%;background:var(--stroke-hi);}

.plan-summary{margin:12px 16px 4px;padding:11px 13px;border-radius:10px;background:var(--bg-elev);border:1px solid var(--stroke-hi);display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.ps-stat{display:flex;flex-direction:column;gap:1px;}
.ps-stat .k{font-size:.45rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);}
.ps-stat .v{font-size:.85rem;font-weight:900;color:var(--fg);letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.ps-actions-main{grid-column:1/-1;display:flex;gap:6px;margin-top:4px;}
.plan-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:11px 12px;border-radius:8px;font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;min-height:40px;}
.plan-btn.primary{background:linear-gradient(90deg,var(--dc-red),var(--dc-orange));color:#fff;}
.plan-btn.ghost{background:transparent;color:var(--fg-muted);border:1px solid var(--stroke-hi);}

/* Hint banner */
.hint{margin:18px 16px 0;padding:14px 16px;background:var(--bg-elev);border:1px solid var(--stroke);border-radius:10px;font-size:.62rem;color:var(--fg-muted);line-height:1.55;}
.hint b{color:var(--fg);font-weight:800;}

/* Mobile breakpoints */
@media (max-width:640px){
  .wot-mini-line{flex:0 0 20px;}
  .wot-nav-bar{grid-template-columns:repeat(4,1fr);}
  .wot-wday{width:40px;height:44px;}
  .wot-wday-num{font-size:.85rem;}
  .wot-ev-pill{min-width:162px;max-width:200px;padding:9px 38px 9px 12px;}
  .wot-ep-title{font-size:.7rem;}
  .wot-ep-sub{font-size:.56rem;}
}




/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 — Amendment 01 overrides (force V19 values over older CSS)
   Ensures + on every pill, colour intensity, compact rows.
   ═══════════════════════════════════════════════════════════════════════ */

.WOT .wot-ev-pill{
  min-height:48px !important;
  min-width:152px !important;
  max-width:204px !important;
  padding:8px 36px 8px 11px !important;
  border-radius:11px !important;
  background:color-mix(in srgb, var(--ec, #E8201A) 10%, rgba(255,255,255,.04)) !important;
  border:1px solid color-mix(in srgb, var(--ec, #E8201A) 35%, rgba(255,255,255,.14)) !important;
  border-left:2.5px solid var(--ec, #E8201A) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.WOT.wot-light .wot-ev-pill{
  background:color-mix(in srgb, var(--ec, #E8201A) 8%, #fff) !important;
  border-color:color-mix(in srgb, var(--ec, #E8201A) 32%, rgba(0,0,0,.14)) !important;
}
.WOT .wot-ev-pill::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(135deg, var(--ec, #E8201A) 0%, transparent 75%) !important;
  opacity:.26 !important;
  border-radius:inherit !important;
  pointer-events:none !important;
  z-index:0 !important;
}
.WOT.wot-light .wot-ev-pill::before{opacity:.14 !important;}

.WOT .wot-tg-row{min-height:50px !important;}
.WOT .wot-tg-ev-row{padding:6px 40px 6px 6px !important;}
.WOT .wot-ep-title{
  font-family:'Inter',sans-serif !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:-.01em !important;
  max-width:none !important;
  color:var(--fg, #fff) !important;
}
.WOT.wot-light .wot-ep-title{color:#0c0c0e !important;}
.WOT .wot-ep-sub{
  font-size:.56rem !important;
  font-weight:500 !important;
  color:var(--fg-muted, rgba(255,255,255,.58)) !important;
}
.WOT.wot-light .wot-ep-sub{color:rgba(0,0,0,.6) !important;}

/* Ensure + button is positioned INSIDE every pill (not at row end) */
.WOT .wot-ev-pill .wot-ep-add{
  position:absolute !important;
  top:50% !important;
  right:5px !important;
  left:auto !important;
  transform:translateY(-50%) !important;
  width:28px !important;
  height:28px !important;
  z-index:3 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 — Amendment 02 (12.4.22)
   Final cleanup: kill competing ::after rules + boost light mode colour
   body.home .WOT specificity beats any older !important rules
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Kill the BLACK scroll-fade that's bleeding onto pills ── */
body .WOT .wot-tg-ev-row::after{
  background:linear-gradient(90deg, transparent, var(--bg, #0d0d10)) !important;
  position:absolute !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:40px !important;
  min-height:0 !important;
  margin-left:0 !important;
  pointer-events:none !important;
  z-index:3 !important;
}
body .WOT.wot-light .wot-tg-ev-row::after{
  background:linear-gradient(90deg, transparent, #fff) !important;
}

/* ── Remove the competing bottom-bar ::after rule on pills ── */
body .WOT .wot-ev-pill::after{
  content:'' !important;
  position:absolute !important;
  top:0 !important;
  left:-110% !important;
  right:auto !important;
  bottom:auto !important;
  width:80% !important;
  height:100% !important;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.07), transparent) !important;
  border-radius:0 !important;
  opacity:1 !important;
  transition:left .65s cubic-bezier(.22,1,.36,1) !important;
  pointer-events:none !important;
  z-index:0 !important;
  display:block !important;
}
body .WOT .wot-ev-pill:hover::after{
  left:130% !important;
}

/* ── Boost LIGHT MODE intensity so colours actually read ── */
body .WOT.wot-light .wot-ev-pill{
  background:color-mix(in srgb, var(--ec, #E8201A) 15%, #fff) !important;
  border-color:color-mix(in srgb, var(--ec, #E8201A) 45%, rgba(0,0,0,.14)) !important;
  border-left:3px solid var(--ec, #E8201A) !important;
}
body .WOT.wot-light .wot-ev-pill::before{opacity:.22 !important;}

/* ── Shrink + button in light mode so it's not a grey blob ── */
body .WOT .wot-ep-add{
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:1.5px solid var(--ec, currentColor) !important;
  color:var(--ec, var(--fg-muted)) !important;
  opacity:.65 !important;
  width:24px !important;
  height:24px !important;
  font-size:14px !important;
}
body .WOT .wot-ep-add:hover{
  background:var(--ec, var(--dc-red)) !important;
  color:#fff !important;
  opacity:1 !important;
}
body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add{
  background:var(--dc-green, #2DB54B) !important;
  color:#fff !important;
  border-color:transparent !important;
  opacity:1 !important;
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 — Final CSS (designer's spec, 2026-04-24, v12.4.23)
   
   Amendment 01: + per pill, colourful pills, compact rows
   Amendment 02: light-mode fade bug fix
   
   Selector body.home .WOT beats any stray !important rule left elsewhere.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Row scroll fade: explicit light/dark background, never #000 in light ── */
body .WOT .wot-tg-ev-row::after{
  content:'' !important;
  position:absolute !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:40px !important;
  min-height:0 !important;
  margin-left:0 !important;
  pointer-events:none !important;
  z-index:3 !important;
}
body .WOT.wot-light .wot-tg-ev-row::after{
  background:linear-gradient(90deg, transparent 0%, #fafafa 100%) !important;
}
body .WOT:not(.wot-light) .wot-tg-ev-row::after{
  background:linear-gradient(90deg, transparent 0%, #0d0d10 100%) !important;
}

/* ── Pill ::after hover specular only - no bottom bar ── */
body .WOT .wot-ev-pill::after{
  content:'' !important;
  position:absolute !important;
  top:0 !important;
  left:-110% !important;
  right:auto !important;
  bottom:auto !important;
  width:80% !important;
  height:100% !important;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.07), transparent) !important;
  border-radius:0 !important;
  opacity:1 !important;
  transition:left .65s cubic-bezier(.22,1,.36,1) !important;
  pointer-events:none !important;
  z-index:0 !important;
  display:block !important;
}
body .WOT .wot-ev-pill:hover::after{left:130% !important;}

/* ── PILLS: compact + colourful ── */
body .WOT .wot-ev-pill{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:2px !important;
  min-height:48px !important;
  min-width:152px !important;
  max-width:204px !important;
  padding:8px 36px 8px 11px !important;
  border-radius:11px !important;
  position:relative !important;
  overflow:hidden !important;
  flex-shrink:0 !important;
  cursor:pointer !important;
  /* DARK MODE background */
  background:color-mix(in srgb, var(--ec, #E8201A) 12%, #1a1a1e) !important;
  border:1px solid color-mix(in srgb, var(--ec, #E8201A) 35%, rgba(255,255,255,.14)) !important;
  border-left:3px solid var(--ec, #E8201A) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 1px 2px rgba(0,0,0,.26),
    0 5px 14px rgba(0,0,0,.22),
    0 0 18px color-mix(in srgb, var(--ec, #E8201A) 12%, transparent) !important;
}
/* LIGHT MODE — more vibrant 22% tint so music reads as red, culture as purple etc. */
body .WOT.wot-light .wot-ev-pill{
  background:color-mix(in srgb, var(--ec, #E8201A) 22%, #fff) !important;
  border:1px solid color-mix(in srgb, var(--ec, #E8201A) 55%, rgba(0,0,0,.14)) !important;
  border-left:3px solid var(--ec, #E8201A) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 1px 2px rgba(0,0,0,.05),
    0 4px 12px rgba(0,0,0,.07) !important;
}

/* ── PILL ::before diagonal colour wash ── */
body .WOT .wot-ev-pill::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(135deg, var(--ec, #E8201A) 0%, transparent 75%) !important;
  opacity:.28 !important;
  border-radius:inherit !important;
  pointer-events:none !important;
  z-index:0 !important;
}
body .WOT.wot-light .wot-ev-pill::before{opacity:.22 !important;}

/* ── PILL children above overlays ── */
body .WOT .wot-ev-pill > *{position:relative !important; z-index:1 !important;}

/* ── TITLE + SUB ── */
body .WOT .wot-ep-title{
  font-family:'Inter', sans-serif !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  line-height:1.2 !important;
  max-width:none !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  color:#fff !important;
}
body .WOT.wot-light .wot-ep-title{color:#0c0c0e !important;}
body .WOT .wot-ep-sub{
  font-size:.56rem !important;
  font-weight:500 !important;
  line-height:1.3 !important;
  color:rgba(255,255,255,.7) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body .WOT.wot-light .wot-ep-sub{color:rgba(0,0,0,.6) !important;}

/* ── ROW HEIGHT: compact ── */
body .WOT .wot-tg-row{min-height:50px !important;}
body .WOT .wot-tg-ev-row{
  padding:6px 44px 6px 6px !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  align-items:center !important;
  gap:6px !important;
}

/* ── + BUTTON: small coloured outline, not grey blob ── */
body .WOT .wot-ev-pill .wot-ep-add{
  position:absolute !important;
  top:50% !important;
  right:5px !important;
  left:auto !important;
  transform:translateY(-50%) !important;
  width:22px !important;
  height:22px !important;
  padding:0 !important;
  border-radius:50%  !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:1.5px solid var(--ec, currentColor) !important;
  color:var(--ec, rgba(255,255,255,.7)) !important;
  opacity:.8 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  z-index:3 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  transition:all .2s !important;
}
body .WOT.wot-light .wot-ev-pill .wot-ep-add{color:var(--ec, #0c0c0e) !important;}
body .WOT .wot-ev-pill .wot-ep-add:hover{
  background:var(--ec, #E8201A) !important;
  color:#fff !important;
  border-color:transparent !important;
  opacity:1 !important;
}
body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add{
  background:var(--dc-green, #2DB54B) !important;
  color:#fff !important;
  border-color:transparent !important;
  opacity:1 !important;
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 — Final (v12.4.24)
   Amendment 01 Fix 1: + on EVERY pill (pill now a div, + a proper child button)
   Amendment 01 Fix 2: pills colourful (12% dark / 22% light)
   Amendment 01 Fix 3: compact rows - row 50px, pill 44px
   Amendment 02:       light mode fade to #fafafa
   Mobile:             FAB fixed, tap targets 26px, pills 140-190px
   ═══════════════════════════════════════════════════════════════════════ */

body .WOT .wot-ev-pill{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:1px !important;
  min-height:44px !important;
  max-height:44px !important;
  min-width:152px !important;
  max-width:204px !important;
  padding:5px 32px 5px 10px !important;
  border-radius:10px !important;
  position:relative !important;
  overflow:hidden !important;
  flex-shrink:0 !important;
  cursor:pointer !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  background:color-mix(in srgb, var(--ec, #E8201A) 12%, #1a1a1e) !important;
  border:1px solid color-mix(in srgb, var(--ec, #E8201A) 35%, rgba(255,255,255,.14)) !important;
  border-left:3px solid var(--ec, #E8201A) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 1px 2px rgba(0,0,0,.26),
    0 3px 10px rgba(0,0,0,.22),
    0 0 14px color-mix(in srgb, var(--ec, #E8201A) 12%, transparent) !important;
  transition:transform .22s cubic-bezier(.34,1.4,.64,1) !important;
}
body .WOT.wot-light .wot-ev-pill{
  background:color-mix(in srgb, var(--ec, #E8201A) 22%, #fff) !important;
  border:1px solid color-mix(in srgb, var(--ec, #E8201A) 55%, rgba(0,0,0,.14)) !important;
  border-left:3px solid var(--ec, #E8201A) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 1px 2px rgba(0,0,0,.05),
    0 3px 8px rgba(0,0,0,.06) !important;
}
body .WOT .wot-ev-pill:hover{transform:translateY(-1px) !important;}
body .WOT .wot-ev-pill:focus-visible{outline:2px solid var(--ec, #E8201A) !important; outline-offset:2px !important;}

body .WOT .wot-ev-pill::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(135deg, var(--ec, #E8201A) 0%, transparent 75%) !important;
  opacity:.28 !important;
  border-radius:inherit !important;
  pointer-events:none !important;
  z-index:0 !important;
}
body .WOT.wot-light .wot-ev-pill::before{opacity:.24 !important;}

body .WOT .wot-ev-pill::after{
  content:'' !important;
  position:absolute !important;
  top:0 !important;
  left:-110% !important;
  right:auto !important;
  bottom:auto !important;
  width:80% !important;
  height:100% !important;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.08), transparent) !important;
  border-radius:0 !important;
  opacity:1 !important;
  transition:left .65s cubic-bezier(.22,1,.36,1) !important;
  pointer-events:none !important;
  z-index:0 !important;
  display:block !important;
}
body .WOT .wot-ev-pill:hover::after{left:130% !important;}

body .WOT .wot-ev-pill > *{position:relative !important; z-index:1 !important;}

body .WOT .wot-ep-title{
  font-family:'Inter', sans-serif !important;
  font-size:.7rem !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  line-height:1.15 !important;
  max-width:none !important;
  width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  color:#fff !important;
}
body .WOT.wot-light .wot-ep-title{color:#0c0c0e !important;}
body .WOT .wot-ep-sub{
  font-size:.54rem !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  max-width:none !important;
  width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  color:rgba(255,255,255,.65) !important;
}
body .WOT.wot-light .wot-ep-sub{color:rgba(0,0,0,.6) !important;}

body .WOT .wot-tg{
  border:1px solid var(--stroke, rgba(255,255,255,.08)) !important;
  border-radius:12px !important;
  overflow:hidden !important;
}
body .WOT .wot-tg-row{
  display:flex !important;
  align-items:center !important;
  min-height:50px !important;
  max-height:50px !important;
  border-bottom:1px solid var(--stroke, rgba(255,255,255,.08)) !important;
  padding:0 !important;
  position:relative !important;
}
body .WOT .wot-tg-row:last-child{border-bottom:none !important;}
body .WOT .wot-tg-time{
  width:58px !important;
  flex-shrink:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  padding:0 14px 0 10px !important;
  font-size:.64rem !important;
  font-weight:700 !important;
  color:var(--fg-muted, rgba(255,255,255,.58)) !important;
  border-right:1px solid var(--stroke, rgba(255,255,255,.08)) !important;
  height:100% !important;
}
body .WOT .wot-tg-ev-row{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  align-items:center !important;
  gap:6px !important;
  padding:3px 44px 3px 6px !important;
  flex:1 !important;
  min-width:0 !important;
  height:100% !important;
  scrollbar-width:none !important;
  -webkit-overflow-scrolling:touch !important;
  scroll-snap-type:x proximity !important;
}
body .WOT .wot-tg-ev-row::-webkit-scrollbar{display:none !important;}

body .WOT .wot-tg-ev-row::after{
  content:'' !important;
  position:absolute !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:40px !important;
  min-height:0 !important;
  margin-left:0 !important;
  pointer-events:none !important;
  z-index:3 !important;
}
body .WOT.wot-light .wot-tg-ev-row::after{
  background:linear-gradient(90deg, transparent 0%, #fafafa 100%) !important;
}
body .WOT:not(.wot-light) .wot-tg-ev-row::after{
  background:linear-gradient(90deg, transparent 0%, #0d0d10 100%) !important;
}

body .WOT .wot-ev-pill .wot-ep-add{
  position:absolute !important;
  top:50% !important;
  right:5px !important;
  left:auto !important;
  transform:translateY(-50%) !important;
  width:22px !important;
  height:22px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:1.5px solid var(--ec, currentColor) !important;
  color:var(--ec, rgba(255,255,255,.7)) !important;
  opacity:.85 !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:1 !important;
  z-index:3 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  transition:all .2s !important;
  flex-shrink:0 !important;
}
body .WOT.wot-light .wot-ev-pill .wot-ep-add{color:var(--ec, #0c0c0e) !important;}
body .WOT .wot-ev-pill .wot-ep-add:hover{
  background:var(--ec, #E8201A) !important;
  color:#fff !important;
  border-color:transparent !important;
  opacity:1 !important;
  transform:translateY(-50%) scale(1.1) !important;
}
body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add{
  background:var(--dc-green, #2DB54B) !important;
  color:#fff !important;
  border-color:transparent !important;
  opacity:1 !important;
}

@media (max-width: 900px){
  body .plan-fab{
    position:fixed !important;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    right:14px !important;
    z-index:70 !important;
    display:inline-flex !important;
  }
  body .WOT .wot-ev-pill{min-width:140px !important; max-width:190px !important;}
  body .WOT .wot-tg-time{width:48px !important; font-size:.58rem !important; padding:0 10px 0 8px !important;}
  body .WOT .wot-ev-pill .wot-ep-add{width:26px !important; height:26px !important; font-size:16px !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 — Premium Drawer (v12.4.26)
   Hero image with category-coloured fallback, typography hierarchy,
   iconised meta, 4 action buttons, reveal animation.
   ═══════════════════════════════════════════════════════════════════════ */

body .WOT .wot-drawer{
  max-height:0 !important;
  overflow:hidden !important;
  position:relative !important;
  transition:max-height .55s cubic-bezier(.22,1,.36,1) !important;
  background:transparent !important;
  border-bottom:none !important;
}
body .WOT .wot-drawer.open{max-height:720px !important;}

body .WOT .wot-dr-inner{
  position:relative !important;
  padding:22px 60px 22px 22px !important;
  display:flex !important;
  gap:22px !important;
  align-items:flex-start !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--ec, #E8201A) 18%, transparent) 0%, transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.3)),
    #141418 !important;
  border-radius:14px !important;
  margin:10px 12px !important;
  border:1px solid color-mix(in srgb, var(--ec, #E8201A) 28%, rgba(255,255,255,.08)) !important;
  box-shadow:
    0 14px 40px -12px rgba(0,0,0,.55),
    0 2px 8px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.06),
    0 0 30px -6px color-mix(in srgb, var(--ec, #E8201A) 30%, transparent) !important;
  animation:drwReveal .55s cubic-bezier(.22,1,.36,1) !important;
  overflow:hidden !important;
}
body .WOT.wot-light .wot-dr-inner{
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--ec, #E8201A) 20%, transparent) 0%, transparent 55%),
    linear-gradient(180deg, #ffffff, #f5f5f7) !important;
  border-color:color-mix(in srgb, var(--ec, #E8201A) 32%, rgba(0,0,0,.08)) !important;
  box-shadow:
    0 14px 40px -12px rgba(0,0,0,.15),
    0 2px 8px rgba(0,0,0,.06),
    inset 0 1px 0 rgba(255,255,255,.8),
    0 0 24px -6px color-mix(in srgb, var(--ec, #E8201A) 28%, transparent) !important;
}

@keyframes drwReveal{
  from { opacity:0; transform:translateY(-8px); }
  to   { opacity:1; transform:translateY(0); }
}

/* Category-coloured glow blob in corner */
body .WOT .wot-dr-glow{
  position:absolute !important;
  top:-40px !important; right:-40px !important;
  width:220px !important; height:220px !important;
  background:radial-gradient(circle, color-mix(in srgb, var(--ec, #E8201A) 35%, transparent) 0%, transparent 70%) !important;
  pointer-events:none !important;
  z-index:0 !important;
  opacity:.6 !important;
}

/* Hero image: 160 desktop, full-width mobile */
body .WOT .wot-dr-img{
  position:relative !important;
  flex:0 0 170px !important;
  height:140px !important;
  border-radius:12px !important;
  background-size:cover !important;
  background-position:center !important;
  background-color:color-mix(in srgb, var(--ec, #E8201A) 18%, #1a1a1e) !important;
  box-shadow:
    0 10px 24px -8px rgba(0,0,0,.5),
    0 0 0 1px rgba(255,255,255,.06) inset,
    0 0 24px -8px color-mix(in srgb, var(--ec, #E8201A) 35%, transparent) !important;
  overflow:hidden !important;
  z-index:1 !important;
}
body .WOT.wot-light .wot-dr-img{
  box-shadow:
    0 8px 20px -6px rgba(0,0,0,.18),
    0 0 0 1px rgba(0,0,0,.06) inset,
    0 0 24px -8px color-mix(in srgb, var(--ec, #E8201A) 35%, transparent) !important;
}
body .WOT .wot-dr-img-scrim{
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, transparent 45%, rgba(0,0,0,.45) 100%) !important;
  border-radius:inherit !important;
}
body .WOT .wot-dr-img-fallback{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(135deg,
    color-mix(in srgb, var(--ec, #E8201A) 45%, #1a1a1e) 0%,
    color-mix(in srgb, var(--ec, #E8201A) 15%, #1a1a1e) 100%) !important;
  color:#fff !important;
  font-size:58px !important;
  opacity:.9 !important;
  text-shadow:0 4px 16px rgba(0,0,0,.4) !important;
}
body .WOT.wot-light .wot-dr-img-fallback{
  background:linear-gradient(135deg,
    color-mix(in srgb, var(--ec, #E8201A) 55%, #fff) 0%,
    color-mix(in srgb, var(--ec, #E8201A) 20%, #fff) 100%) !important;
  color:#fff !important;
}

/* Content column */
body .WOT .wot-dr-content{
  flex:1 !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  position:relative !important;
  z-index:1 !important;
}

/* Category eyebrow */
body .WOT .wot-dr-cat{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  font-size:.58rem !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:var(--ec, #E8201A) !important;
  align-self:flex-start !important;
}
body .WOT .wot-dr-cat-dot{
  width:7px !important; height:7px !important;
  border-radius:50% !important;
  background:var(--ec, #E8201A) !important;
  box-shadow:0 0 10px var(--ec, #E8201A) !important;
}

/* Title - premium */
body .WOT .wot-dr-title{
  font-family:'Inter Tight', 'Inter', sans-serif !important;
  font-size:1.38rem !important;
  font-weight:900 !important;
  letter-spacing:-.028em !important;
  line-height:1.08 !important;
  color:#fff !important;
  margin:0 !important;
  word-wrap:break-word !important;
}
body .WOT.wot-light .wot-dr-title{color:#0c0c0e !important;}

/* Meta row - iconised chips */
body .WOT .wot-dr-meta{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  font-size:.66rem !important;
  color:rgba(255,255,255,.72) !important;
  font-weight:600 !important;
  font-variant-numeric:tabular-nums !important;
  margin:2px 0 2px !important;
}
body .WOT.wot-light .wot-dr-meta{color:rgba(0,0,0,.68) !important;}
body .WOT .wot-dr-meta-item{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
}
body .WOT .wot-dr-meta-item i{
  font-size:.72em !important;
  color:var(--ec, #E8201A) !important;
  opacity:.85 !important;
}

/* Free/Price chip */
body .WOT .wot-dr-chip{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  padding:3px 9px !important;
  border-radius:999px !important;
  font-size:.58rem !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}
body .WOT .wot-dr-chip.free{
  background:color-mix(in srgb, #2DB54B 22%, transparent) !important;
  color:#2DB54B !important;
  border:1px solid color-mix(in srgb, #2DB54B 40%, transparent) !important;
}
body .WOT .wot-dr-chip.price{
  background:color-mix(in srgb, var(--ec, #E8201A) 22%, transparent) !important;
  color:var(--ec, #E8201A) !important;
  border:1px solid color-mix(in srgb, var(--ec, #E8201A) 40%, transparent) !important;
}
body .WOT .wot-dr-chip i{font-size:.8em !important;}

/* Description */
body .WOT .wot-dr-desc{
  font-size:.72rem !important;
  line-height:1.55 !important;
  color:rgba(255,255,255,.6) !important;
  max-width:620px !important;
  margin:2px 0 4px !important;
  font-weight:500 !important;
}
body .WOT.wot-light .wot-dr-desc{color:rgba(0,0,0,.6) !important;}

/* Action row */
body .WOT .wot-dr-actions{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  margin-top:6px !important;
  align-items:center !important;
}

body .WOT .wot-dr-btn{
  all:unset !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:11px 18px !important;
  border-radius:10px !important;
  font-family:'Inter', sans-serif !important;
  font-size:.66rem !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  min-height:40px !important;
  box-sizing:border-box !important;
  transition:transform .2s cubic-bezier(.34,1.4,.64,1), box-shadow .2s, background .2s !important;
}
body .WOT .wot-dr-btn i{font-size:.95em !important;}
body .WOT .wot-dr-btn:active{transform:scale(.96) !important;}

/* Primary Book button - gradient + glow */
body .WOT .wot-dr-btn.primary{
  background:linear-gradient(135deg, var(--ec, #E8201A) 0%, color-mix(in srgb, var(--ec, #E8201A) 70%, #000) 100%) !important;
  color:#fff !important;
  box-shadow:
    0 8px 22px -6px color-mix(in srgb, var(--ec, #E8201A) 60%, transparent),
    0 1px 0 rgba(255,255,255,.18) inset,
    0 -1px 0 rgba(0,0,0,.15) inset !important;
}
body .WOT .wot-dr-btn.primary:hover{
  transform:translateY(-1px) !important;
  box-shadow:
    0 12px 28px -6px color-mix(in srgb, var(--ec, #E8201A) 70%, transparent),
    0 1px 0 rgba(255,255,255,.18) inset !important;
}
body .WOT .wot-dr-btn.primary i{transition:transform .25s !important;}
body .WOT .wot-dr-btn.primary:hover i{transform:translateX(2px) !important;}

/* Add to night - outlined with category colour */
body .WOT .wot-dr-btn.add-btn{
  background:transparent !important;
  color:var(--ec, #E8201A) !important;
  border:1.5px solid color-mix(in srgb, var(--ec, #E8201A) 45%, transparent) !important;
}
body .WOT .wot-dr-btn.add-btn:hover{
  background:color-mix(in srgb, var(--ec, #E8201A) 12%, transparent) !important;
  border-color:var(--ec, #E8201A) !important;
}
body .WOT .wot-dr-btn.add-btn.is-added{
  background:#2DB54B !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 0 18px -4px rgba(45,181,75,.55) !important;
}

/* Ghost (Directions, Share) */
body .WOT .wot-dr-btn.ghost{
  background:rgba(255,255,255,.05) !important;
  color:rgba(255,255,255,.85) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}
body .WOT.wot-light .wot-dr-btn.ghost{
  background:rgba(0,0,0,.04) !important;
  color:rgba(0,0,0,.75) !important;
  border:1px solid rgba(0,0,0,.1) !important;
}
body .WOT .wot-dr-btn.ghost:hover{
  background:rgba(255,255,255,.09) !important;
  border-color:rgba(255,255,255,.22) !important;
}
body .WOT.wot-light .wot-dr-btn.ghost:hover{
  background:rgba(0,0,0,.07) !important;
  border-color:rgba(0,0,0,.2) !important;
}

/* Share icon-only - compact */
body .WOT .wot-dr-btn.share-btn{
  padding:11px 13px !important;
  min-width:40px !important;
  aspect-ratio:1 !important;
}

/* Close button */
body .WOT .wot-dr-close{
  all:unset !important;
  cursor:pointer !important;
  position:absolute !important;
  top:12px !important; right:12px !important;
  width:30px !important; height:30px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.06) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:rgba(255,255,255,.7) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:11px !important;
  z-index:4 !important;
  transition:all .2s !important;
}
body .WOT.wot-light .wot-dr-close{
  background:rgba(0,0,0,.05) !important;
  color:rgba(0,0,0,.6) !important;
  border-color:rgba(0,0,0,.1) !important;
}
body .WOT .wot-dr-close:hover{
  background:rgba(255,255,255,.12) !important;
  transform:rotate(90deg) !important;
}

/* Mobile: stack image on top, full-width */
@media (max-width: 640px){
  body .WOT .wot-dr-inner{
    flex-direction:column !important;
    padding:16px 16px 18px !important;
    gap:14px !important;
    margin:8px 8px !important;
  }
  body .WOT .wot-dr-img{
    width:100% !important;
    flex:0 0 auto !important;
    height:180px !important;
  }
  body .WOT .wot-dr-title{font-size:1.15rem !important;}
  body .WOT .wot-dr-btn{flex:1 !important; min-width:120px !important;}
  body .WOT .wot-dr-btn.share-btn{flex:0 !important; min-width:48px !important;}
  body .WOT .wot-dr-glow{width:160px !important; height:160px !important; top:-30px !important; right:-30px !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 — v12.4.27 polish
   1. Compact + button (18x18, flush top-right corner, thinner stroke)
   2. Book button: dramatically less glow (subtle shadow only)
   3. Mobile: strict overflow so pills never escape row + fix alignment
   4. Drawer: align with pill rhythm, tighter padding
   ═══════════════════════════════════════════════════════════════════════ */

/* Compact + button - less chunky, more integrated */
body .WOT .wot-ev-pill .wot-ep-add{
  width:18px !important;
  height:18px !important;
  top:5px !important;
  right:5px !important;
  transform:none !important;
  border-width:1px !important;
  font-size:11px !important;
  font-weight:500 !important;
  opacity:.7 !important;
  background:transparent !important;
  color:color-mix(in srgb, var(--ec, #E8201A) 80%, #fff) !important;
  border-color:color-mix(in srgb, var(--ec, #E8201A) 55%, transparent) !important;
}
body .WOT.wot-light .wot-ev-pill .wot-ep-add{
  color:color-mix(in srgb, var(--ec, #E8201A) 80%, #000) !important;
  border-color:color-mix(in srgb, var(--ec, #E8201A) 55%, transparent) !important;
}
body .WOT .wot-ev-pill .wot-ep-add:hover{
  background:var(--ec, #E8201A) !important;
  color:#fff !important;
  border-color:transparent !important;
  opacity:1 !important;
  transform:scale(1.15) !important;
}
body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add{
  background:var(--dc-green, #2DB54B) !important;
  color:#fff !important;
  border-color:transparent !important;
  opacity:1 !important;
  box-shadow:0 0 6px rgba(45,181,75,.4) !important;
}
/* Reposition + to not compete with text padding — tighten pill right padding */
body .WOT .wot-ev-pill{padding:5px 26px 5px 10px !important;}

/* Book button: MUCH less glow */
body .WOT .wot-dr-btn.primary{
  background:linear-gradient(135deg, var(--ec, #E8201A) 0%, color-mix(in srgb, var(--ec, #E8201A) 82%, #000) 100%) !important;
  box-shadow:
    0 2px 4px rgba(0,0,0,.18),
    0 1px 0 rgba(255,255,255,.12) inset !important;
}
body .WOT .wot-dr-btn.primary:hover{
  transform:translateY(-1px) !important;
  box-shadow:
    0 4px 10px rgba(0,0,0,.22),
    0 1px 0 rgba(255,255,255,.14) inset !important;
}

/* Drawer: tighter margin, align to pill edges */
body .WOT .wot-dr-inner{
  margin:8px 8px !important;
  padding:18px 52px 18px 18px !important;
  gap:18px !important;
  border-radius:12px !important;
}

/* Drawer glow more subtle */
body .WOT .wot-dr-glow{
  opacity:.4 !important;
  width:180px !important;
  height:180px !important;
}

/* Image slightly smaller, tighter */
body .WOT .wot-dr-img{
  flex:0 0 150px !important;
  height:120px !important;
  border-radius:10px !important;
}
body .WOT .wot-dr-img-fallback{font-size:48px !important;}

/* Title alignment tightened */
body .WOT .wot-dr-title{
  font-size:1.25rem !important;
  line-height:1.1 !important;
}

/* Description less aggressive */
body .WOT .wot-dr-desc{
  font-size:.68rem !important;
  line-height:1.5 !important;
}

/* Action buttons: smaller, tighter */
body .WOT .wot-dr-btn{
  padding:9px 15px !important;
  font-size:.62rem !important;
  min-height:36px !important;
  gap:7px !important;
}
body .WOT .wot-dr-btn.share-btn{
  padding:9px 11px !important;
  min-width:36px !important;
}

/* ══ MOBILE FIX ═══════════════════════════════════════════════════════
   Ensure pills stay contained to their row. Key: overflow-y:hidden on the
   scroll row prevents pills from bleeding into rows above/below.
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 900px){
  body .WOT .wot-tg{overflow:hidden !important;}
  body .WOT .wot-tg-row{
    overflow:hidden !important;
    position:relative !important;
    contain:layout style !important;
  }
  body .WOT .wot-tg-ev-row{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    height:100% !important;
    scroll-snap-type:x mandatory !important;
    padding:3px 20px 3px 6px !important;
  }
  body .WOT .wot-ev-pill{
    scroll-snap-align:start !important;
    min-width:calc(100vw - 130px) !important;
    max-width:calc(100vw - 130px) !important;
  }
  body .WOT .wot-ev-pill .wot-ep-add{
    width:22px !important; height:22px !important;
    top:6px !important; right:6px !important;
    font-size:13px !important;
  }
  /* Drawer mobile: stacked, full-width image */
  body .WOT .wot-dr-inner{
    flex-direction:column !important;
    gap:8px !important;
    padding:10px !important;
    margin:4px 4px !important;
  }
  body .WOT .wot-dr-img{
    width:100% !important;
    flex:0 0 auto !important;
    height:110px !important;
    border-radius:8px !important;
  }
  body .WOT .wot-dr-cat{ font-size:.55rem !important; }
  body .WOT .wot-dr-title{ font-size:.88rem !important; line-height:1.2 !important; }
  body .WOT .wot-dr-meta{ gap:6px !important; flex-wrap:wrap !important; }
  body .WOT .wot-dr-meta-item{ font-size:.55rem !important; }
  body .WOT .wot-dr-desc{ font-size:.6rem !important; margin:0 !important; }
  body .WOT .wot-dr-actions{ gap:5px !important; flex-wrap:wrap !important; }
  body .WOT .wot-dr-btn{
    flex:1 !important; min-width:0 !important;
    padding:6px 8px !important;
    font-size:.48rem !important;
    letter-spacing:.03em !important;
    min-height:28px !important;
    gap:4px !important;
    border-radius:8px !important;
  }
  body .WOT .wot-dr-btn i{ font-size:.8em !important; }
  body .WOT .wot-dr-btn.share-btn{ flex:0 0 auto !important; min-width:32px !important; padding:6px !important; }
  body .WOT .wot-dr-btn.share-btn span{ display:none !important; }
  /* FAB shouldn't overlap content - lift clear of plan sheet handle */
  body .plan{max-height:75vh !important;}
  body:not(.plan-open) .plan{transform:translateY(calc(100% - 54px - env(safe-area-inset-bottom, 0px))) !important;}
}

/* Very narrow phones: even more padding reduction */
@media (max-width: 400px){
  body .WOT .wot-ev-pill{
    min-width:calc(100vw - 80px) !important;
    max-width:calc(100vw - 80px) !important;
    padding:4px 24px 4px 8px !important;
  }
  body .WOT .wot-tg-time{width:42px !important; font-size:.55rem !important;}
}


/* Map pin - approx variant (venue not fully geocoded) shows with a dashed ring */
body .WOT .pin-marker.approx{
  opacity:.75 !important;
  box-shadow:0 0 0 2px var(--bg, #0d0d10), 0 0 0 3px var(--c, #fff), 0 0 12px var(--c), 0 4px 10px rgba(0,0,0,.4), inset 0 0 0 2px rgba(255,255,255,.2) !important;
}






/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 — v12.4.28 (COLOURFUL edition)
   Tight rows (44px) + pills still properly coloured (stronger in light mode)
   + compact + button + map pin fallback
   ═══════════════════════════════════════════════════════════════════════ */

/* ── ROW / PILL hard-heights ── */
body .WOT .wot-tg-row{
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
}
body .WOT .wot-tg-ev-row{padding:2px 44px 2px 6px !important;}
body .WOT .wot-ev-pill{
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  padding:4px 24px 4px 10px !important;
  gap:0 !important;
  border-radius:8px !important;
}

/* ── DARK MODE pills: vibrant 14% tint + 0.3 wash (more saturated) ── */
body .WOT:not(.wot-light) .wot-ev-pill{
  background:color-mix(in srgb, var(--ec, #E8201A) 18%, #1a1a1e) !important;
  border:1px solid color-mix(in srgb, var(--ec, #E8201A) 45%, rgba(255,255,255,.14)) !important;
  border-left:3px solid var(--ec, #E8201A) !important;
}
body .WOT:not(.wot-light) .wot-ev-pill::before{opacity:.32 !important;}

/* ── LIGHT MODE pills: properly coloured (35%), not washed out ── */
body .WOT.wot-light .wot-ev-pill{
  background:color-mix(in srgb, var(--ec, #E8201A) 32%, #fff) !important;
  border:1px solid color-mix(in srgb, var(--ec, #E8201A) 60%, rgba(0,0,0,.12)) !important;
  border-left:3px solid var(--ec, #E8201A) !important;
  box-shadow:
    0 1px 2px rgba(0,0,0,.06),
    inset 0 1px 0 rgba(255,255,255,.5) !important;
}
body .WOT.wot-light .wot-ev-pill::before{
  background:linear-gradient(135deg, var(--ec, #E8201A) 0%, transparent 80%) !important;
  opacity:.28 !important;
}

/* Text must be legible on coloured bg */
body .WOT:not(.wot-light) .wot-ep-title{color:#fff !important; font-size:.68rem !important; font-weight:700 !important; line-height:1.1 !important;}
body .WOT:not(.wot-light) .wot-ep-sub{color:rgba(255,255,255,.72) !important; font-size:.5rem !important; line-height:1.15 !important;}
/* Light mode: DARK text on coloured tint reads well at 32% tint */
body .WOT.wot-light .wot-ep-title{color:#0c0c0e !important; font-size:.68rem !important; font-weight:800 !important; line-height:1.1 !important;}
body .WOT.wot-light .wot-ep-sub{color:rgba(0,0,0,.58) !important; font-size:.5rem !important; font-weight:500 !important; line-height:1.15 !important;}

/* Hover lifts + saturates */
body .WOT .wot-ev-pill:hover{transform:translateY(-1px) !important;}
body .WOT:not(.wot-light) .wot-ev-pill:hover{
  background:color-mix(in srgb, var(--ec, #E8201A) 26%, #1a1a1e) !important;
}
body .WOT.wot-light .wot-ev-pill:hover{
  background:color-mix(in srgb, var(--ec, #E8201A) 38%, #fff) !important;
  box-shadow:
    0 4px 10px color-mix(in srgb, var(--ec, #E8201A) 25%, transparent),
    inset 0 1px 0 rgba(255,255,255,.6) !important;
}

body .WOT .wot-ev-pill.open,
body .WOT .wot-ev-pill[data-added="1"]{
  box-shadow:
    inset 0 0 0 1.5px var(--ec, #E8201A),
    0 3px 10px color-mix(in srgb, var(--ec, #E8201A) 30%, transparent) !important;
}

/* ── + button tiny, top-right, category coloured ── */
body .WOT .wot-ev-pill .wot-ep-add{
  width:16px !important;
  height:16px !important;
  top:4px !important;
  right:4px !important;
  border-width:1px !important;
  font-size:10px !important;
  opacity:.55 !important;
}
body .WOT:not(.wot-light) .wot-ev-pill .wot-ep-add{
  color:rgba(255,255,255,.65) !important;
  border-color:rgba(255,255,255,.25) !important;
  background:rgba(0,0,0,.25) !important;
}
body .WOT.wot-light .wot-ev-pill .wot-ep-add{
  color:var(--ec, #E8201A) !important;
  border-color:var(--ec, #E8201A) !important;
  background:rgba(255,255,255,.7) !important;
}
body .WOT .wot-ev-pill:hover .wot-ep-add{opacity:1 !important;}
body .WOT .wot-ev-pill .wot-ep-add:hover{
  background:var(--ec, #E8201A) !important;
  color:#fff !important;
  border-color:transparent !important;
  transform:scale(1.2) !important;
}
body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add{
  background:var(--dc-green, #2DB54B) !important;
  color:#fff !important;
  border-color:transparent !important;
  opacity:1 !important;
}

/* Time column + grid base colours */
body .WOT.wot-light .wot-tg{background:#fafafa !important; border-color:rgba(0,0,0,.08) !important;}
body .WOT.wot-light .wot-tg-time{color:rgba(0,0,0,.45) !important; border-right-color:rgba(0,0,0,.06) !important;}
body .WOT.wot-light .wot-tg-row{border-bottom-color:rgba(0,0,0,.05) !important;}

/* Past events fade (not invisible) */
body .WOT.wot-light .wot-tg-row.wot-past .wot-ev-pill{opacity:.55 !important;}
body .WOT:not(.wot-light) .wot-tg-row.wot-past .wot-ev-pill{opacity:.45 !important;}

/* ── MOBILE: one pill per row, snap scroll ── */
@media (max-width: 900px){
  body .WOT .wot-tg{overflow:hidden !important;}
  body .WOT .wot-tg-row{
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    overflow:hidden !important;
    position:relative !important;
    contain:layout style !important;
  }
  body .WOT .wot-tg-ev-row{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    padding:2px 12px 2px 6px !important;
    gap:4px !important;
  }
  body .WOT .wot-ev-pill{
    scroll-snap-align:start !important;
    min-width:calc(100vw - 110px) !important;
    max-width:calc(100vw - 110px) !important;
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
  }
  body .WOT .wot-tg-time{
    width:44px !important;
    font-size:.55rem !important;
    padding:0 8px 0 6px !important;
  }
  body .WOT .wot-ev-pill .wot-ep-add{
    width:20px !important; height:20px !important;
    top:4px !important; right:4px !important;
    font-size:12px !important;
    opacity:.75 !important;
  }
  body .WOT .wot-ep-title{font-size:.66rem !important;}
  body .WOT .wot-ep-sub{font-size:.48rem !important;}
}

@media (max-width: 480px){
  body .WOT .wot-ev-pill{
    min-width:calc(100vw - 80px) !important;
    max-width:calc(100vw - 80px) !important;
  }
  body .WOT .wot-tg-time{width:38px !important; font-size:.52rem !important;}
}









/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 — v12.4.34: clean segmented toggles + day switching
   iOS-style pill toggles - WITH text labels, active state solid white
   ═══════════════════════════════════════════════════════════════════════ */

/* Day switching */
body .WOT .wot-day{display:none !important;}
body .WOT .wot-day.active{display:block !important;}

/* ── TOGGLE GROUP CONTAINER ── */
body .WOT .wot-mode-switch,
body .WOT .wot-view-switch{
  display:inline-flex !important;
  padding:3px !important;
  border-radius:100px !important;
  gap:2px !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body .WOT.wot-light .wot-mode-switch,
body .WOT.wot-light .wot-view-switch{
  background:rgba(0,0,0,.05) !important;
  border-color:rgba(0,0,0,.08) !important;
}

/* ── INDIVIDUAL BUTTON ── */
body .WOT .wot-mode-opt,
body .WOT .wot-view-opt{
  all:unset !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  padding:6px 12px !important;
  border-radius:100px !important;
  font-family:'Inter', sans-serif !important;
  font-size:.58rem !important;
  font-weight:800 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.55) !important;
  min-height:24px !important;
  transition:background .2s, color .2s, box-shadow .2s !important;
  box-sizing:border-box !important;
}
body .WOT.wot-light .wot-mode-opt,
body .WOT.wot-light .wot-view-opt{
  color:rgba(0,0,0,.55) !important;
}

/* ── ACTIVE STATE: clean solid white pill, dark text ── */
body .WOT .wot-mode-opt.is-on,
body .WOT .wot-view-opt.is-on{
  background:#ffffff !important;
  color:#0c0c0e !important;
  box-shadow:
    0 1px 2px rgba(0,0,0,.15),
    0 2px 6px rgba(0,0,0,.08) !important;
}

/* ── ICON SIZING ── */
body .WOT .wot-mode-opt i,
body .WOT .wot-view-opt i{
  font-size:.66rem !important;
  line-height:1 !important;
}

/* ── HOVER on non-active ── */
body .WOT .wot-mode-opt:not(.is-on):hover,
body .WOT .wot-view-opt:not(.is-on):hover{
  color:#ffffff !important;
}
body .WOT.wot-light .wot-mode-opt:not(.is-on):hover,
body .WOT.wot-light .wot-view-opt:not(.is-on):hover{
  color:#0c0c0e !important;
}

/* ── MOBILE: tighter padding, keep text labels ── */
@media (max-width: 640px){
  body .WOT .wot-mode-opt,
  body .WOT .wot-view-opt{
    padding:5px 9px !important;
    font-size:.52rem !important;
    gap:4px !important;
    min-height:22px !important;
  }
  body .WOT .wot-mode-opt i,
  body .WOT .wot-view-opt i{font-size:.6rem !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 — v12.4.35: mobile pill multi-per-row (final override)
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 900px){
  body .WOT .wot-ev-pill{
    min-width:145px !important;
    max-width:190px !important;
    width:auto !important;
  }
  body .WOT .wot-tg-ev-row{
    padding:3px 30px 3px 6px !important;
    gap:5px !important;
  }
  body .WOT .wot-tg-time{width:46px !important; font-size:.56rem !important; padding:0 8px 0 6px !important;}
}
@media (max-width: 480px){
  body .WOT .wot-ev-pill{
    min-width:135px !important;
    max-width:165px !important;
  }
  body .WOT .wot-tg-time{width:40px !important; font-size:.52rem !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.36  ULTRA COMPACT + SPACED
   Pills must be SMALL (height 32px, max-width ~170px) AND have visible
   gaps between them, at ALL viewport widths (not just mobile).
   ═══════════════════════════════════════════════════════════════════════ */

/* ── All viewports: compact row + pill ── */
body .WOT .wot-tg-row{
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
}
body .WOT .wot-tg-ev-row{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  padding:3px 28px 3px 6px !important;
  align-items:center !important;
}
body .WOT .wot-ev-pill{
  height:32px !important;
  min-height:32px !important;
  max-height:32px !important;
  min-width:150px !important;
  max-width:175px !important;
  width:auto !important;
  flex:0 0 auto !important;
  padding:3px 20px 3px 9px !important;
  border-radius:7px !important;
  margin:0 !important;
}
body .WOT .wot-ep-title{
  font-size:.64rem !important;
  line-height:1.08 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body .WOT .wot-ep-sub{
  font-size:.46rem !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body .WOT .wot-ev-pill .wot-ep-add{
  width:14px !important;
  height:14px !important;
  top:3px !important;
  right:3px !important;
  font-size:9px !important;
  border-width:1px !important;
}

/* Time column tighter too */
body .WOT .wot-tg-time{
  width:42px !important;
  font-size:.54rem !important;
  padding:0 6px 0 4px !important;
}

/* ── Mobile ≤900: allow horizontal scroll, keep compact ── */
@media (max-width: 900px){
  body .WOT .wot-tg-ev-row{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x proximity !important;
    gap:6px !important;
    padding:3px 24px 3px 6px !important;
  }
  body .WOT .wot-ev-pill{
    min-width:140px !important;
    max-width:165px !important;
    scroll-snap-align:start !important;
  }
  body .WOT .wot-tg-time{width:38px !important; font-size:.5rem !important;}
}

/* ── Tiny phones ≤480 ── */
@media (max-width: 480px){
  body .WOT .wot-ev-pill{
    min-width:130px !important;
    max-width:150px !important;
    height:30px !important;
    min-height:30px !important;
    max-height:30px !important;
  }
  body .WOT .wot-tg-row{
    height:36px !important; min-height:36px !important; max-height:36px !important;
  }
  body .WOT .wot-ep-title{font-size:.6rem !important;}
  body .WOT .wot-ep-sub{font-size:.44rem !important;}
  body .WOT .wot-tg-time{width:34px !important; font-size:.48rem !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.36  MOBILE OPTIMISED
   - touch-friendly scroll (momentum)
   - hide scrollbar (cleaner look)
   - hardware accel on pills
   - snap scroll + overscroll-contain (no page hijack)
   - bigger tap target for + button on mobile
   - reduce repaints via contain:layout style paint
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 900px){
  body .WOT .wot-tg{
    contain:layout style !important;
  }
  body .WOT .wot-tg-row{
    contain:layout style paint !important;
    overflow:hidden !important;
  }
  body .WOT .wot-tg-ev-row{
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
    scrollbar-width:none !important;
    scroll-padding-left:6px !important;
  }
  body .WOT .wot-tg-ev-row::-webkit-scrollbar{
    display:none !important;
    height:0 !important;
    width:0 !important;
  }
  body .WOT .wot-ev-pill{
    will-change:transform !important;
    transform:translateZ(0) !important;
    backface-visibility:hidden !important;
    touch-action:manipulation !important;
  }
  /* Bigger + tap target on mobile (still visually small) */
  body .WOT .wot-ev-pill .wot-ep-add{
    width:22px !important;
    height:22px !important;
    top:-2px !important;
    right:-2px !important;
    font-size:11px !important;
    opacity:.85 !important;
  }
  /* Headers compact on mobile already handled in 12.4.31 - reinforce */
  body .WOT .wot-mode-switch,
  body .WOT .wot-view-switch{
    flex-shrink:0 !important;
  }
  /* Day bar: snap to active day */
  body .WOT .wot-wdays{
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  body .WOT .wot-wdays::-webkit-scrollbar{display:none !important;}
  body .WOT .wot-wday{scroll-snap-align:center !important;}
  /* Drawer: full width on mobile, safe-area bottom padding */
  body .WOT .wot-drawer{
    padding-bottom:env(safe-area-inset-bottom, 0) !important;
  }
}

/* Reduce motion: kill transforms/animations */
@media (prefers-reduced-motion: reduce){
  body .WOT .wot-ev-pill,
  body .WOT .wot-ev-pill:hover{
    transition:none !important;
    transform:none !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.37  NUCLEAR AUDIT
   OVERRIDES all 192 prior pill/row rules via html body .WOT specificity.
   Pills = IDENTICAL fixed size. No stretching. Visible gap.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── GRID container: compact ── */
html body .WOT .wot-tg{
  overflow:hidden !important;
}
html body .WOT .wot-tg-row{
  display:flex !important;
  align-items:stretch !important;
  height:40px !important;
  min-height:40px !important;
  max-height:40px !important;
  border-bottom:1px solid rgba(255,255,255,.04) !important;
  position:relative !important;
}
html body .WOT.wot-light .wot-tg-row{
  border-bottom-color:rgba(0,0,0,.04) !important;
}

/* Time column locked */
html body .WOT .wot-tg-time{
  flex:0 0 44px !important;
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  font-size:.55rem !important;
  padding:0 6px 0 4px !important;
  display:flex !important;
  align-items:center !important;
}

/* Event row: fixed flex, nowrap, explicit gap */
html body .WOT .wot-tg-ev-row{
  flex:1 1 auto !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  padding:3px 20px 3px 6px !important;
  align-items:center !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  min-width:0 !important;
}

/* PILL: locked identical size, NO stretch */
html body .WOT .wot-ev-pill{
  flex:0 0 168px !important;
  width:168px !important;
  min-width:168px !important;
  max-width:168px !important;
  height:34px !important;
  min-height:34px !important;
  max-height:34px !important;
  padding:3px 22px 3px 9px !important;
  border-radius:7px !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  position:relative !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* Text tight + ellipsis */
html body .WOT .wot-ev-pill .wot-ep-title{
  font-size:.64rem !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-width:100% !important;
  margin:0 !important;
}
html body .WOT .wot-ev-pill .wot-ep-sub{
  font-size:.45rem !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-width:100% !important;
  margin:1px 0 0 !important;
  opacity:.7 !important;
}

/* + button locked top-right, small */
html body .WOT .wot-ev-pill .wot-ep-add{
  position:absolute !important;
  width:16px !important;
  height:16px !important;
  top:3px !important;
  right:3px !important;
  font-size:10px !important;
  padding:0 !important;
  border-radius:50% !important;
  border-width:1px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

/* Hide scrollbar */
html body .WOT .wot-tg-ev-row::-webkit-scrollbar{display:none !important;}
html body .WOT .wot-tg-ev-row{scrollbar-width:none !important;}

/* ── MOBILE ≤900px ── */
@media (max-width: 900px){
  html body .WOT .wot-tg-row{
    height:38px !important; min-height:38px !important; max-height:38px !important;
  }
  html body .WOT .wot-tg-time{
    flex:0 0 38px !important; width:38px !important;
    min-width:38px !important; max-width:38px !important;
    font-size:.5rem !important; padding:0 4px !important;
  }
  html body .WOT .wot-tg-ev-row{
    gap:6px !important;
    padding:3px 16px 3px 4px !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
  }
  html body .WOT .wot-ev-pill{
    flex:0 0 150px !important;
    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;
    height:32px !important; min-height:32px !important; max-height:32px !important;
    padding:3px 20px 3px 8px !important;
    scroll-snap-align:start !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{font-size:.6rem !important;}
  html body .WOT .wot-ev-pill .wot-ep-sub{font-size:.43rem !important;}
  html body .WOT .wot-ev-pill .wot-ep-add{
    width:18px !important; height:18px !important;
    top:2px !important; right:2px !important;
    font-size:10px !important;
  }
  /* Toggles: stay on one row - compact */
  html body .WOT .wot-controls,
  html body .WOT .wot-tonight-controls{
    flex-wrap:wrap !important;
    gap:6px !important;
  }
  html body .WOT .wot-mode-switch,
  html body .WOT .wot-view-switch{
    flex-shrink:0 !important;
  }
  /* Day bar tighter */
  html body .WOT .wot-wday{
    flex:0 0 54px !important; min-width:54px !important;
    padding:6px 4px !important;
  }
  html body .WOT .wot-wday-d{font-size:.9rem !important;}
  html body .WOT .wot-wday-dn{font-size:.5rem !important;}
}

/* ── TINY ≤480px ── */
@media (max-width: 480px){
  html body .WOT .wot-ev-pill{
    flex:0 0 140px !important;
    width:140px !important;
    min-width:140px !important;
    max-width:140px !important;
    height:30px !important; min-height:30px !important; max-height:30px !important;
  }
  html body .WOT .wot-tg-row{
    height:36px !important; min-height:36px !important; max-height:36px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{font-size:.58rem !important;}
  html body .WOT .wot-ev-pill .wot-ep-sub{font-size:.42rem !important;}
  html body .WOT .wot-tg-time{
    flex:0 0 34px !important; width:34px !important;
    min-width:34px !important; max-width:34px !important;
    font-size:.46rem !important;
  }
}

/* Hide empty rows (rows with no pill children) for denser grid */
html body .WOT .wot-tg-row.wot-tg-empty{display:none !important;}

/* Past event rows fade but don't waste space - reduce their height */
html body .WOT .wot-tg-row.wot-past{
  opacity:.35 !important;
}
@media (max-width: 900px){
  html body .WOT .wot-tg-row.wot-past{
    height:28px !important; min-height:28px !important; max-height:28px !important;
  }
  html body .WOT .wot-tg-row.wot-past .wot-ev-pill{
    height:22px !important; min-height:22px !important; max-height:22px !important;
  }
  html body .WOT .wot-tg-row.wot-past .wot-ep-sub{display:none !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.38  FILL THE ROW
   Pills FLEX-SHARE available row width. Equal within a row. No black gap.
   min 150 / max 240 keeps them readable and not absurd.
   ═══════════════════════════════════════════════════════════════════════ */

html body .WOT .wot-tg-ev-row{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  padding:3px 12px 3px 6px !important;
  align-items:center !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
}

html body .WOT .wot-ev-pill{
  flex:1 1 0 !important;
  width:auto !important;
  min-width:150px !important;
  max-width:240px !important;
  height:34px !important;
  min-height:34px !important;
  max-height:34px !important;
  padding:3px 24px 3px 9px !important;
  border-radius:7px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* Mobile: still horizontal-scroll, fixed pill width (can't flex-share when scrolling) */
@media (max-width: 900px){
  html body .WOT .wot-tg-ev-row{
    padding:3px 10px 3px 4px !important;
    gap:6px !important;
  }
  html body .WOT .wot-ev-pill{
    flex:0 0 150px !important;
    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;
    height:32px !important;
    min-height:32px !important;
    max-height:32px !important;
  }
}

@media (max-width: 480px){
  html body .WOT .wot-ev-pill{
    flex:0 0 140px !important;
    width:140px !important;
    min-width:140px !important;
    max-width:140px !important;
    height:30px !important;
    min-height:30px !important;
    max-height:30px !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.39  BADGE NUKE + FILTER WIRING
   Force + button AND plan-count badges to small top-right corner.
   Stops the "tongue" shape and the 1/2/3 badges overlapping titles.
   ═══════════════════════════════════════════════════════════════════════ */

/* + button locked small top-right corner - beats all prior rules */
html body .WOT .wot-ev-pill .wot-ep-add,
html body .WOT .wot-ev-pill button.wot-ep-add,
html body .WOT .wot-ev-pill .wot-ep-add *{
  pointer-events:auto !important;
}
html body .WOT .wot-ev-pill .wot-ep-add{
  position:absolute !important;
  top:4px !important;
  right:4px !important;
  left:auto !important;
  bottom:auto !important;
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  max-width:16px !important;
  min-height:16px !important;
  max-height:16px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:50% !important;
  border-width:1px !important;
  font-size:10px !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  transform:none !important;
  box-shadow:none !important;
  background:rgba(0,0,0,.35) !important;
  color:#fff !important;
  opacity:.85 !important;
}
html body .WOT.wot-light .wot-ev-pill .wot-ep-add{
  background:rgba(255,255,255,.85) !important;
  color:#111 !important;
  border-color:rgba(0,0,0,.2) !important;
}
html body .WOT .wot-ev-pill .wot-ep-add span,
html body .WOT .wot-ev-pill .wot-ep-add i,
html body .WOT .wot-ev-pill .wot-ep-add svg{
  font-size:10px !important;
  width:auto !important;
  height:auto !important;
  line-height:1 !important;
  margin:0 !important;
  padding:0 !important;
}

/* Plan counter badge (green 1/2/3) - force tiny top-right, not overlap title */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add,
html body .WOT .wot-plan-count,
html body .WOT .wot-ev-pill .wot-plan-badge{
  position:absolute !important;
  top:4px !important;
  right:4px !important;
  left:auto !important;
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  max-width:16px !important;
  min-height:16px !important;
  max-height:16px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:50% !important;
  font-size:9px !important;
  font-weight:700 !important;
  line-height:1 !important;
  background:#2DB54B !important;
  color:#fff !important;
  border:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:none !important;
  transform:none !important;
}

/* Kill any ::before/::after tongue shapes on pills (old "open" indicator) */
html body .WOT .wot-ev-pill::before,
html body .WOT .wot-ev-pill::after{
  display:none !important;
  content:none !important;
}
/* BUT preserve the left accent bar if it was done via border-left (the 3px colour bar) */
/* (we're not touching border-left, just the pseudo-elements) */

/* Ensure pill text has room (right padding for the 16px badge + 4px margin) */
html body .WOT .wot-ev-pill{
  padding-right:26px !important;
}

/* Mobile: still compact */
@media (max-width: 900px){
  html body .WOT .wot-ev-pill{
    padding-right:22px !important;
    padding-left:8px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-add,
  html body .WOT .wot-plan-count{
    width:16px !important; height:16px !important;
    min-width:16px !important; max-width:16px !important;
    min-height:16px !important; max-height:16px !important;
    top:3px !important; right:3px !important;
    font-size:9px !important;
  }

  /* ── CONTROLS ROW: GRID/MAP + DARK/LIGHT + LIVE on ONE row, small ── */
  html body .WOT .wot-controls,
  html body .WOT .wot-tonight-controls,
  html body .WOT .wot-top-bar,
  html body .WOT .wot-header-row{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:6px !important;
    padding:4px 8px !important;
  }
  /* Toggle segmented controls: compact */
  html body .WOT .wot-view-switch,
  html body .WOT .wot-mode-switch{
    flex:0 0 auto !important;
    display:inline-flex !important;
    padding:2px !important;
    gap:0 !important;
    border-radius:999px !important;
    height:26px !important;
  }
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt{
    padding:3px 8px !important;
    min-height:22px !important;
    height:22px !important;
    font-size:.55rem !important;
    font-weight:700 !important;
    letter-spacing:.3px !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:3px !important;
    border-radius:999px !important;
  }
  html body .WOT .wot-view-opt span,
  html body .WOT .wot-mode-opt span{
    font-size:.55rem !important;
    display:inline !important;
  }
  html body .WOT .wot-view-opt i,
  html body .WOT .wot-mode-opt i{
    font-size:.6rem !important;
  }
  /* LIVE indicator compact */
  html body .WOT .wot-live,
  html body .WOT .wot-live-dot,
  html body .WOT .wot-live-label{
    font-size:.55rem !important;
    padding:0 !important;
    gap:4px !important;
  }

  /* Day strip pills tighter */
  html body .WOT .wot-wday{
    flex:0 0 52px !important;
    min-width:52px !important;
    max-width:52px !important;
    padding:6px 2px !important;
    border-radius:10px !important;
  }
  html body .WOT .wot-wday-d,
  html body .WOT .wot-wday-num{font-size:1rem !important; line-height:1.1 !important;}
  html body .WOT .wot-wday-dn{font-size:.48rem !important;}

  /* Category filter pills tighter */
  html body .WOT .wot-flt{
    padding:6px 10px !important;
    font-size:.6rem !important;
    height:30px !important;
    border-radius:999px !important;
  }
  html body .WOT .wot-flt-count{
    font-size:.5rem !important;
    margin-left:4px !important;
  }

  /* Grid: maximise width, remove side padding from section */
  html body .WOT .wot-tg{
    margin-left:-4px !important;
    margin-right:-4px !important;
  }
  html body .WOT .wot-tg-time{
    flex:0 0 34px !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    font-size:.48rem !important;
    padding:0 2px 0 3px !important;
  }
  html body .WOT .wot-tg-ev-row{
    padding:3px 8px 3px 4px !important;
    gap:5px !important;
  }
  /* Two pills per row on mobile - flex-share, not fixed width */
  html body .WOT .wot-ev-pill{
    flex:1 1 0 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
  }
}

/* ── TINY ≤420px: even tighter ── */
@media (max-width: 420px){
  html body .WOT .wot-view-opt span,
  html body .WOT .wot-mode-opt span{font-size:.5rem !important;}
  html body .WOT .wot-wday{flex:0 0 46px !important; min-width:46px !important; max-width:46px !important;}
  html body .WOT .wot-ev-pill .wot-ep-title{font-size:.58rem !important;}
  html body .WOT .wot-ev-pill .wot-ep-sub{font-size:.42rem !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.40  KILL GREEN + NUKE PAST ROWS
   1. No more green "1/2/3" plan badges, no green checkmark overlay
      → replaced with subtle 2px bottom accent (non-intrusive)
   2. Past-hour rows HIDDEN entirely (was the "huge black gap at top")
   3. All-day pills at top hidden too (they're faded past too)
   4. Remove max-width cap so single pills stretch to fill row (no black gap)
   ═══════════════════════════════════════════════════════════════════════ */

/* ── HIDE past rows completely ── */
html body .WOT .wot-tg-row.wot-past{
  display:none !important;
}
/* Also hide faded rows that have no actual pill (ghost placeholders) */
html body .WOT .wot-tg-row.wot-tg-empty{
  display:none !important;
}

/* ── Remove max-width so pills fill empty row space ── */
html body .WOT .wot-ev-pill{
  max-width:none !important;
}

/* ── KILL green plan badges (user hates them) ── */
html body .WOT .wot-plan-count,
html body .WOT .wot-plan-badge,
html body .WOT .wot-ev-pill .wot-plan-num,
html body .WOT .wot-ev-pill .wot-ep-check,
html body .WOT .wot-ev-pill[data-added="1"]::before,
html body .WOT .wot-ev-pill[data-added="1"]::after,
html body .WOT .wot-ev-pill.added::before,
html body .WOT .wot-ev-pill.added::after{
  display:none !important;
  content:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
}

/* ── When added: subtle 2px accent at pill bottom instead of overlay ── */
html body .WOT .wot-ev-pill[data-added="1"],
html body .WOT .wot-ev-pill.added{
  box-shadow:inset 0 -2px 0 #2DB54B !important;
  outline:none !important;
}
/* Change + button to a checkmark when added - same 16px corner position */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add{
  background:#2DB54B !important;
  color:#fff !important;
  border-color:#2DB54B !important;
  opacity:1 !important;
  font-size:9px !important;
  /* Keep small corner badge size - don't let old rules grow it */
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  max-width:16px !important;
  top:4px !important;
  right:4px !important;
}

/* Mobile: same treatment */
@media (max-width: 900px){
  html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
  html body .WOT .wot-ev-pill.added .wot-ep-add{
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    max-width:16px !important;
    top:3px !important;
    right:3px !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.41  REVERT COMPACT + SWIPE
   Before: flex:1 1 0 collapsed pills to icon-only cubes
   Now: FIXED pill width, row scrolls horizontally with swipe/touch
   Desktop: flex-share OK (wider viewport, usually enough room)
   Mobile: fixed 155px, scroll horizontally
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Desktop: flex-share BUT with a floor that prevents collapse ── */
html body .WOT .wot-ev-pill{
  flex:1 1 160px !important;
  width:auto !important;
  min-width:160px !important;
  max-width:240px !important;
  height:40px !important;
  min-height:40px !important;
  max-height:40px !important;
  padding:4px 24px 4px 10px !important;
}
html body .WOT .wot-tg-row{
  height:46px !important; min-height:46px !important; max-height:46px !important;
}
html body .WOT .wot-tg-ev-row{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  flex-wrap:nowrap !important;
  gap:7px !important;
  padding:3px 16px 3px 6px !important;
  scrollbar-width:thin !important;
}
html body .WOT .wot-ev-pill .wot-ep-title{
  font-size:.7rem !important; line-height:1.15 !important; font-weight:700 !important;
}
html body .WOT .wot-ev-pill .wot-ep-sub{
  font-size:.5rem !important; line-height:1.15 !important;
}

/* ── MOBILE: FIXED width, SWIPE scroll ── */
@media (max-width: 900px){
  html body .WOT .wot-tg-row{
    height:52px !important; min-height:52px !important; max-height:52px !important;
  }
  html body .WOT .wot-tg-ev-row{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
    scroll-snap-type:x proximity !important;
    scrollbar-width:none !important;
    padding:4px 12px 4px 4px !important;
    gap:6px !important;
  }
  html body .WOT .wot-tg-ev-row::-webkit-scrollbar{display:none !important;}
  html body .WOT .wot-ev-pill{
    flex:0 0 155px !important;
    width:155px !important;
    min-width:155px !important;
    max-width:155px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    padding:5px 22px 5px 9px !important;
    scroll-snap-align:start !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{
    font-size:.66rem !important; line-height:1.15 !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-sub{
    font-size:.48rem !important; line-height:1.15 !important;
  }
  html body .WOT .wot-tg-time{
    flex:0 0 40px !important; width:40px !important;
    min-width:40px !important; max-width:40px !important;
    font-size:.55rem !important; padding:0 4px !important;
  }
  /* + button readable size on mobile */
  html body .WOT .wot-ev-pill .wot-ep-add{
    width:20px !important; height:20px !important;
    min-width:20px !important; max-width:20px !important;
    top:4px !important; right:4px !important;
    font-size:11px !important;
  }
}

/* ── TINY ≤420px ── */
@media (max-width: 420px){
  html body .WOT .wot-ev-pill{
    flex:0 0 145px !important;
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
  }
}

/* ── UN-HIDE past rows (user wants to see them, just faded) ── */
html body .WOT .wot-tg-row.wot-past{
  display:flex !important;
  opacity:.4 !important;
}

/* Keep green badges nuked (from v12.4.40) */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add{
  background:#2DB54B !important;
  color:#fff !important;
  border-color:#2DB54B !important;
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.42  SWITCHES ALIGNED ONE ROW (mobile)
   All header pieces on single row: TONIGHT · line · •LIVE · [GRID|MAP] · [DARK|LIGHT]
   Force nowrap, shrink where needed, guarantee fit at 360px viewport.
   ═══════════════════════════════════════════════════════════════════════ */

html body .WOT .wot-mini-label{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:6px !important;
  width:100% !important;
  padding:6px 8px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

/* TONIGHT / line / LIVE: shrink but stay inline */
html body .WOT .wot-mini-tonight{
  flex:0 0 auto !important;
  font-size:.7rem !important;
  font-weight:800 !important;
  letter-spacing:.5px !important;
  white-space:nowrap !important;
}
html body .WOT .wot-mini-line{
  flex:1 1 auto !important;
  min-width:8px !important;
  height:1px !important;
  background:rgba(255,255,255,.12) !important;
  display:block !important;
}
html body .WOT .wot-mini-live{
  flex:0 0 auto !important;
  font-size:.55rem !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:3px !important;
}
html body .WOT .wot-mini-dot{
  width:5px !important;
  height:5px !important;
  background:#E8201A !important;
  border-radius:50% !important;
  display:inline-block !important;
}

/* View (Grid/Map) + Mode (Dark/Light) switches: same compact style */
html body .WOT .wot-view-switch,
html body .WOT .wot-mode-switch{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:2px !important;
  gap:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  height:26px !important;
}
html body .WOT.wot-light .wot-view-switch,
html body .WOT.wot-light .wot-mode-switch{
  background:rgba(0,0,0,.05) !important;
  border-color:rgba(0,0,0,.08) !important;
}

html body .WOT .wot-view-opt,
html body .WOT .wot-mode-opt{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
  padding:3px 8px !important;
  height:22px !important;
  min-height:22px !important;
  max-height:22px !important;
  font-size:.55rem !important;
  font-weight:700 !important;
  letter-spacing:.3px !important;
  border-radius:999px !important;
  border:none !important;
  background:transparent !important;
  color:inherit !important;
  cursor:pointer !important;
  white-space:nowrap !important;
}
html body .WOT .wot-view-opt.is-on,
html body .WOT .wot-mode-opt.is-on{
  background:#fff !important;
  color:#0a0a0d !important;
}
html body .WOT.wot-light .wot-view-opt.is-on,
html body .WOT.wot-light .wot-mode-opt.is-on{
  background:#0a0a0d !important;
  color:#fff !important;
}
html body .WOT .wot-view-opt i,
html body .WOT .wot-mode-opt i{
  font-size:.6rem !important;
}
html body .WOT .wot-view-opt span,
html body .WOT .wot-mode-opt span{
  font-size:.55rem !important;
  display:inline !important;
}

/* ── MOBILE ≤600px: shrink even tighter to guarantee one-row fit ── */
@media (max-width: 600px){
  html body .WOT .wot-mini-label{
    gap:5px !important;
    padding:6px 6px !important;
  }
  html body .WOT .wot-mini-tonight{font-size:.62rem !important;}
  html body .WOT .wot-mini-live{font-size:.5rem !important;}
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt{
    padding:3px 6px !important;
    font-size:.5rem !important;
    gap:2px !important;
  }
  html body .WOT .wot-view-opt i,
  html body .WOT .wot-mode-opt i{font-size:.55rem !important;}
  html body .WOT .wot-view-opt span,
  html body .WOT .wot-mode-opt span{font-size:.5rem !important;}
}

/* ── TINY ≤380px: icon-only for mode switch (keep grid/map labeled) ── */
@media (max-width: 380px){
  html body .WOT .wot-mini-line{display:none !important;}
  html body .WOT .wot-mode-opt span{display:none !important;}
  html body .WOT .wot-mode-opt{padding:3px 6px !important; min-width:22px !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.43  AUDIT FIX (addresses 7 issues cohesively)
   ═══════════════════════════════════════════════════════════════════════ */

/* ══ 1. HIDE PAST-HOUR ROWS - removes the huge black gap at top of WOT ══ */
html body .WOT .wot-tg-row.wot-past{display:none !important;}

/* ══ 2. NUKE GREEN BADGES + ADD 3D POPPED STATE ══ */
/* Hide every green checkmark/number overlay that existed before */
html body .WOT .wot-ev-pill .wot-ep-check,
html body .WOT .wot-ev-pill .wot-plan-count,
html body .WOT .wot-ev-pill .wot-plan-badge,
html body .WOT .wot-ev-pill .wot-plan-num,
html body .WOT .wot-ev-pill[data-added="1"]::before,
html body .WOT .wot-ev-pill[data-added="1"]::after,
html body .WOT .wot-ev-pill.added::before,
html body .WOT .wot-ev-pill.added::after{
  display:none !important;
  content:none !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
}

/* When pill is ADDED: 3D popped effect - raised + accent outline + subtle scale */
html body .WOT .wot-ev-pill[data-added="1"],
html body .WOT .wot-ev-pill.added{
  transform:translateY(-2px) scale(1.01) !important;
  box-shadow:
    0 8px 20px color-mix(in srgb, var(--ec, #E8201A) 45%, transparent),
    0 2px 4px rgba(0,0,0,.3),
    inset 0 0 0 2px var(--ec, #E8201A) !important;
  z-index:2 !important;
  position:relative !important;
}

/* + button becomes white NUMBER when added (shows plan position) */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add{
  background:#fff !important;
  color:#0a0a0d !important;
  border:none !important;
  font-weight:800 !important;
  font-size:10px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  top:4px !important;
  right:4px !important;
  position:absolute !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 1px 3px rgba(0,0,0,.4) !important;
  opacity:1 !important;
}

/* ══ 3. CATEGORY FILTER PILLS: compact, all 7 fit at 360px ══ */
html body .WOT .wot-filterbar{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:5px !important;
  padding:4px 8px !important;
  overflow-x:auto !important;
  scrollbar-width:none !important;
}
html body .WOT .wot-filterbar::-webkit-scrollbar{display:none !important;}
html body .WOT .wot-flt{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:4px !important;
  padding:5px 10px !important;
  height:28px !important;
  min-height:28px !important;
  max-height:28px !important;
  font-size:.58rem !important;
  font-weight:700 !important;
  letter-spacing:.3px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}
html body .WOT .wot-flt-dot{
  width:6px !important; height:6px !important;
  border-radius:50% !important;
  flex:0 0 6px !important;
}
html body .WOT .wot-flt-count{
  font-size:.5rem !important;
  opacity:.6 !important;
  margin-left:2px !important;
  font-weight:600 !important;
}

/* ══ 4. DAY STRIP shrunk - TUE + WED visible at 360px ══ */
@media (max-width: 600px){
  html body .WOT .wot-week-strip{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:4px !important;
    padding:4px 8px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
  }
  html body .WOT .wot-week-strip::-webkit-scrollbar{display:none !important;}
  html body .WOT .wot-wday{
    flex:0 0 48px !important;
    min-width:48px !important;
    max-width:48px !important;
    padding:5px 2px !important;
    border-radius:10px !important;
    scroll-snap-align:start !important;
  }
  html body .WOT .wot-wday-num{font-size:.95rem !important; line-height:1.1 !important; font-weight:800 !important;}
  html body .WOT .wot-wday-dn{font-size:.45rem !important; line-height:1.1 !important; letter-spacing:.5px !important;}
}

/* ══ 5. PILL GAP increased - pills breathe, don't feel glued ══ */
html body .WOT .wot-tg-ev-row{
  gap:12px !important;
  padding:4px 14px 4px 6px !important;
}
@media (max-width: 900px){
  html body .WOT .wot-tg-ev-row{
    gap:10px !important;
    padding:4px 12px 4px 4px !important;
  }
}

/* ══ 6. CATEGORY FILTER: smaller on tiny screens ══ */
@media (max-width: 420px){
  html body .WOT .wot-flt{
    padding:4px 8px !important;
    font-size:.52rem !important;
    height:26px !important;
  }
  html body .WOT .wot-flt-count{font-size:.45rem !important;}
}

/* ══ 7. MOBILE DRAWER fix - hero capped, sticky action bar ══ */
@media (max-width: 900px){
  html body .wot-drawer,
  html body .wot-popup,
  html body .wot-ev-popup{
    padding-bottom:env(safe-area-inset-bottom, 0) !important;
  }
  html body .wot-popup-hero,
  html body .wot-ev-popup .pop-hero,
  html body .wot-drawer-hero,
  html body .wot-drawer-img{
    max-height:140px !important;
    height:140px !important;
    min-height:140px !important;
    object-fit:cover !important;
    width:100% !important;
  }
  html body .wot-drawer-actions,
  html body .wot-popup-actions,
  html body .wot-ev-popup .pop-actions{
    position:sticky !important;
    bottom:0 !important;
    background:inherit !important;
    padding:10px 12px !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    backdrop-filter:blur(8px) !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.44  REAL FIX (the badge was .wot-ep-order all along)
   1. .wot-ep-order → white circle, black number, top-RIGHT corner (not left)
   2. No scale transform (was glitching text)
   3. + button → FAINT plus symbol (no circle bg)
   4. Multi-select filter pills: .on = solid accent bg
   ═══════════════════════════════════════════════════════════════════════ */

/* ══ REAL BADGE (.wot-ep-order) - was the green blob on left ══ */
html body .WOT .wot-ev-pill .wot-ep-order{
  position:absolute !important;
  top:4px !important;
  right:4px !important;
  left:auto !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#0a0a0d !important;
  font-size:10px !important;
  font-weight:900 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 2px 6px rgba(0,0,0,.35) !important;
  z-index:5 !important;
  animation:none !important;
  border:1px solid rgba(0,0,0,.12) !important;
}

/* ══ When pill has .wot-ep-order child = added state. Hide the + button. ══ */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add{
  display:none !important;
}

/* ══ ADDED PILL: subtle lift, no scale (scale was glitching text) ══ */
html body .WOT .wot-ev-pill[data-added="1"],
html body .WOT .wot-ev-pill.added{
  transform:translateY(-2px) !important;
  box-shadow:
    0 8px 18px color-mix(in srgb, var(--ec, #E8201A) 40%, transparent),
    0 2px 4px rgba(0,0,0,.25) !important;
  outline:2px solid var(--ec, #E8201A) !important;
  outline-offset:-2px !important;
  z-index:3 !important;
  position:relative !important;
}

/* ══ + BUTTON: faint plus symbol, NO circle background ══ */
html body .WOT .wot-ev-pill .wot-ep-add{
  position:absolute !important;
  top:50% !important;
  right:6px !important;
  left:auto !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  max-width:14px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:1 !important;
  color:rgba(255,255,255,.45) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:.65 !important;
  cursor:pointer !important;
}
html body .WOT.wot-light .wot-ev-pill .wot-ep-add{
  color:rgba(0,0,0,.4) !important;
}
html body .WOT .wot-ev-pill:hover .wot-ep-add{
  opacity:1 !important;
  color:#fff !important;
}
html body .WOT.wot-light .wot-ev-pill:hover .wot-ep-add{
  color:#0a0a0d !important;
}
/* Kill any pseudo-elements inside + that were making it a circle */
html body .WOT .wot-ev-pill .wot-ep-add::before,
html body .WOT .wot-ev-pill .wot-ep-add::after{
  display:none !important;
  content:none !important;
}
/* Inner span/i inside + */
html body .WOT .wot-ev-pill .wot-ep-add span,
html body .WOT .wot-ev-pill .wot-ep-add i{
  font-size:14px !important;
  background:transparent !important;
  color:inherit !important;
  width:auto !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  line-height:1 !important;
}

/* Shift pill right-padding to not overlap + (smaller now) */
html body .WOT .wot-ev-pill{
  padding-right:22px !important;
}

/* ══ MULTI-SELECT FILTER: .on state = solid accent fill ══ */
html body .WOT .wot-flt.on{
  background:currentColor !important;
  color:#0a0a0d !important;
  border-color:transparent !important;
  font-weight:800 !important;
}
html body .WOT .wot-flt[data-cat="music"].on{background:#E8201A !important; color:#fff !important;}
html body .WOT .wot-flt[data-cat="sport"].on{background:#1A56FF !important; color:#fff !important;}
html body .WOT .wot-flt[data-cat="food"].on{background:#2DB54B !important; color:#fff !important;}
html body .WOT .wot-flt[data-cat="nightlife"].on{background:#FF6B00 !important; color:#fff !important;}
html body .WOT .wot-flt[data-cat="culture"].on{background:#7C3AED !important; color:#fff !important;}
html body .WOT .wot-flt[data-cat="family"].on{background:#F5C400 !important; color:#0a0a0d !important;}
html body .WOT .wot-flt[data-cat="all"].on{background:rgba(255,255,255,.12) !important; color:#fff !important;}
html body .WOT.wot-light .wot-flt[data-cat="all"].on{background:#0a0a0d !important; color:#fff !important;}
html body .WOT .wot-flt.on .wot-flt-count{
  color:inherit !important;
  opacity:.8 !important;
}

/* Kill the orderPop animation keyframes entirely */
@keyframes orderPop{from{transform:none;}to{transform:none;}}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.45  CALM + COMPACT
   Problem: controls area too busy - every category pill shouting with
   full colored outline + colored text + count.
   Fix: GHOST style default (muted/outlined), ONLY .on gets full color fill.
   Day pills flatter. Pills on mobile: 2-column compact.
   ═══════════════════════════════════════════════════════════════════════ */

/* ══ CATEGORY FILTERS: ghost default, color only when active ══ */
html body .WOT .wot-flt{
  background:transparent !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:rgba(255,255,255,.6) !important;
  padding:5px 12px !important;
  font-size:.58rem !important;
  font-weight:700 !important;
  letter-spacing:.5px !important;
  text-transform:uppercase !important;
  height:28px !important;
  transition:all .15s ease !important;
}
html body .WOT.wot-light .wot-flt{
  border-color:rgba(0,0,0,.12) !important;
  color:rgba(0,0,0,.55) !important;
}
html body .WOT .wot-flt .wot-flt-dot{
  display:none !important; /* remove the colored dot - too busy */
}
html body .WOT .wot-flt-count{
  font-size:.5rem !important;
  opacity:.5 !important;
  margin-left:4px !important;
  font-weight:600 !important;
}
html body .WOT .wot-flt:hover{
  border-color:rgba(255,255,255,.3) !important;
  color:rgba(255,255,255,.9) !important;
}
html body .WOT.wot-light .wot-flt:hover{
  border-color:rgba(0,0,0,.3) !important;
  color:rgba(0,0,0,.9) !important;
}
/* ACTIVE: solid category fill */
html body .WOT .wot-flt.on{
  border-color:transparent !important;
  color:#fff !important;
  font-weight:800 !important;
}
html body .WOT .wot-flt.on .wot-flt-count{opacity:.85 !important; color:inherit !important;}
html body .WOT .wot-flt[data-cat="all"].on{background:rgba(255,255,255,.15) !important;}
html body .WOT.wot-light .wot-flt[data-cat="all"].on{background:#0a0a0d !important;}
html body .WOT .wot-flt[data-cat="music"].on{background:#E8201A !important;}
html body .WOT .wot-flt[data-cat="sport"].on{background:#1A56FF !important;}
html body .WOT .wot-flt[data-cat="food"].on{background:#2DB54B !important;}
html body .WOT .wot-flt[data-cat="nightlife"].on{background:#FF6B00 !important;}
html body .WOT .wot-flt[data-cat="culture"].on{background:#7C3AED !important;}
html body .WOT .wot-flt[data-cat="family"].on{background:#F5C400 !important; color:#0a0a0d !important;}

html body .WOT .wot-filterbar{
  gap:5px !important;
  padding:6px 8px !important;
}

/* ══ DAY PILLS: flatter, cleaner ══ */
html body .WOT .wot-wday{
  background:transparent !important;
  border:none !important;
  padding:6px 4px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:10px !important;
  cursor:pointer !important;
  transition:background .15s ease !important;
}
html body .WOT .wot-wday:hover{
  background:rgba(255,255,255,.05) !important;
}
html body .WOT.wot-light .wot-wday:hover{
  background:rgba(0,0,0,.04) !important;
}
html body .WOT .wot-wday-dn{
  font-size:.52rem !important;
  font-weight:600 !important;
  letter-spacing:.8px !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.5) !important;
  margin-bottom:2px !important;
}
html body .WOT.wot-light .wot-wday-dn{color:rgba(0,0,0,.5) !important;}
html body .WOT .wot-wday-num{
  font-size:1.1rem !important;
  font-weight:800 !important;
  line-height:1 !important;
  color:#fff !important;
}
html body .WOT.wot-light .wot-wday-num{color:#0a0a0d !important;}
/* ACTIVE day: red pill (only for today) */
html body .WOT .wot-wday.active{
  background:#E8201A !important;
  color:#fff !important;
}
html body .WOT .wot-wday.active .wot-wday-dn,
html body .WOT .wot-wday.active .wot-wday-num{color:#fff !important;}

html body .WOT .wot-week-strip{
  gap:2px !important;
  padding:4px 8px !important;
}

/* ══ KILL DOTS before category label in drawer/popup ══ */
html body .pop-cat::before,
html body .pop-cat::after,
html body .wot-expand-badge::before,
html body .wot-expand-badge::after,
html body .wot-drawer .pop-cat::before,
html body .wot-drawer-cat::before,
html body .wot-drawer-cat::after,
html body .wot-popup-cat::before,
html body .wot-popup-cat::after,
html body .wot-mini-dot.in-popup{
  display:none !important;
  content:none !important;
}
/* Pull in any stray bullet dots near category label inside expand */
html body .wot-expand-left > .wot-expand-badge + span.dot,
html body .wot-expand .live-dot,
html body .wot-expand .pulse-dot{
  display:none !important;
}

/* ══ EXPLORE / section H2 titles: BLACK text (not purple) ══ */
html body .SH .sh-title,
html body h2.sh-title{
  color:#0a0a0d !important;
}
/* On dark body background, use white-ish instead of invisible black */
html body.dark-mode .SH .sh-title,
html body .dark-bg .SH .sh-title{
  color:#f5f5f5 !important;
}
/* BUT the Explore Manchester section has white background per screenshot, so black works */

/* ══ MOBILE: 2-column pills, compact + clean ══ */
@media (max-width: 900px){
  html body .WOT .wot-tg-row{
    min-height:62px !important;
    height:auto !important;
    max-height:none !important;
  }
  html body .WOT .wot-tg-time{
    flex:0 0 42px !important;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    font-size:.55rem !important;
    color:rgba(255,255,255,.4) !important;
    font-weight:600 !important;
    padding:0 4px 0 6px !important;
  }
  html body .WOT .wot-tg-ev-row{
    gap:6px !important;
    padding:6px 8px 6px 4px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-snap-type:x proximity !important;
    scrollbar-width:none !important;
    flex-wrap:nowrap !important;
  }
  html body .WOT .wot-tg-ev-row::-webkit-scrollbar{display:none !important;}

  /* 3 pills per row: 2.75 visible (3rd peeks as swipe hint) */
  /* Viewport - 42 time - 8 padding = usable. divide by 2.75 */
  html body .WOT .wot-ev-pill{
    flex:0 0 calc((100vw - 50px) / 2.75 - 6px) !important;
    width:calc((100vw - 50px) / 2.75 - 6px) !important;
    min-width:calc((100vw - 50px) / 2.75 - 6px) !important;
    max-width:calc((100vw - 50px) / 2.75 - 6px) !important;
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
    padding:7px 8px 7px 9px !important;
    border-radius:9px !important;
    scroll-snap-align:start !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    border-left-width:3px !important;
    border-left-style:solid !important;
    box-sizing:border-box !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{
    font-size:.66rem !important;
    font-weight:800 !important;
    line-height:1.15 !important;
    margin:0 0 1px 0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-sub{
    font-size:.5rem !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    margin:0 !important;
    opacity:.55 !important;
    font-weight:500 !important;
  }
  /* + button shifts to not overlap title-ellipsis */
  html body .WOT .wot-ev-pill .wot-ep-add{
    top:4px !important;
    right:4px !important;
    transform:none !important;
    width:12px !important;
    height:12px !important;
    font-size:11px !important;
    opacity:.35 !important;
  }
  /* Order badge smaller on mobile to fit tiny pills */
  html body .WOT .wot-ev-pill .wot-ep-order{
    width:15px !important; height:15px !important;
    top:4px !important; right:4px !important;
    font-size:9px !important;
  }

  /* Category filters also calmer on mobile */
  html body .WOT .wot-flt{
    padding:4px 9px !important;
    font-size:.52rem !important;
    height:26px !important;
  }
  html body .WOT .wot-flt-count{font-size:.44rem !important;}

  /* Day strip compact */
  html body .WOT .wot-wday{
    flex:0 0 50px !important;
    min-width:50px !important;
    max-width:50px !important;
    padding:5px 2px !important;
  }
  html body .WOT .wot-wday-num{font-size:1rem !important;}
  html body .WOT .wot-wday-dn{font-size:.45rem !important;}
}

/* Tiny screens */
@media (max-width: 420px){
  html body .WOT .wot-ev-pill{
    flex:0 0 calc(50vw - 36px) !important;
    width:calc(50vw - 36px) !important;
    min-width:calc(50vw - 36px) !important;
    max-width:calc(50vw - 36px) !important;
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{font-size:.72rem !important;}
  html body .WOT .wot-ev-pill .wot-ep-sub{font-size:.54rem !important;}
  html body .WOT .wot-tg-time{
    flex:0 0 34px !important; width:34px !important;
    min-width:34px !important; max-width:34px !important;
    font-size:.5rem !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.46  BIG VISUAL FIX
   1. Cat pills: ghost + per-category COLOUR border + COLOUR text. ALL = solid white.
   2. Event pills: dark bg (#1a1a22) + vivid LEFT-BORDER accent + white text, bigger
   3. Time column: bigger, cleaner
   4. WOT topbar: ultra-compact (half the current height)
   5. My Night FAB: always visible, high z-index
   ═══════════════════════════════════════════════════════════════════════ */

/* ══ 1. CATEGORY FILTER PILLS ══ */
html body .WOT .wot-flt{
  background:transparent !important;
  border:1.5px solid rgba(255,255,255,.18) !important;
  color:rgba(255,255,255,.45) !important;
  font-size:.58rem !important;
  font-weight:700 !important;
  letter-spacing:.5px !important;
  text-transform:uppercase !important;
  padding:5px 13px !important;
  height:30px !important;
  min-height:30px !important;
  max-height:30px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  transition:all .15s ease !important;
  box-shadow:none !important;
}
/* Per-category: vivid outline + matching text colour */
html body .WOT .wot-flt[data-cat="music"]    {border-color:#E8201A !important; color:#E8201A !important;}
html body .WOT .wot-flt[data-cat="sport"]    {border-color:#1A56FF !important; color:#1A56FF !important;}
html body .WOT .wot-flt[data-cat="food"]     {border-color:#2DB54B !important; color:#2DB54B !important;}
html body .WOT .wot-flt[data-cat="nightlife"]{border-color:#FF6B00 !important; color:#FF6B00 !important;}
html body .WOT .wot-flt[data-cat="culture"]  {border-color:#7C3AED !important; color:#7C3AED !important;}
html body .WOT .wot-flt[data-cat="family"]   {border-color:#F5C400 !important; color:#F5C400 !important;}
/* ALL: solid white always (default active state look) */
html body .WOT .wot-flt[data-cat="all"]{
  background:#fff !important;
  color:#0a0a0d !important;
  border-color:#fff !important;
  font-weight:800 !important;
}
/* .on = solid fill */
html body .WOT .wot-flt[data-cat="all"].on    {background:#fff !important;color:#0a0a0d !important;border-color:#fff !important;}
html body .WOT .wot-flt[data-cat="music"].on  {background:#E8201A !important;color:#fff !important;border-color:#E8201A !important;}
html body .WOT .wot-flt[data-cat="sport"].on  {background:#1A56FF !important;color:#fff !important;border-color:#1A56FF !important;}
html body .WOT .wot-flt[data-cat="food"].on   {background:#2DB54B !important;color:#fff !important;border-color:#2DB54B !important;}
html body .WOT .wot-flt[data-cat="nightlife"].on{background:#FF6B00 !important;color:#fff !important;border-color:#FF6B00 !important;}
html body .WOT .wot-flt[data-cat="culture"].on{background:#7C3AED !important;color:#fff !important;border-color:#7C3AED !important;}
html body .WOT .wot-flt[data-cat="family"].on {background:#F5C400 !important;color:#0a0a0d !important;border-color:#F5C400 !important;}
html body .WOT .wot-flt .wot-flt-dot{display:none !important;}
html body .WOT .wot-flt-count{font-size:.48rem !important;opacity:.55 !important;margin-left:3px !important;font-weight:600 !important;}
html body .WOT .wot-flt.on .wot-flt-count{opacity:.85 !important;color:inherit !important;}
html body .WOT .wot-filterbar{
  gap:6px !important;
  padding:5px 10px 6px !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  scrollbar-width:none !important;
}
html body .WOT .wot-filterbar::-webkit-scrollbar{display:none !important;}

/* ══ 2. EVENT PILLS: dark bg + vivid left-border + white text ══ */
html body .WOT .wot-ev-pill{
  background:#16161e !important;
  border:none !important;
  border-left:3.5px solid var(--ec, #E8201A) !important;
  border-radius:10px !important;
  color:#fff !important;
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
  padding:10px 28px 10px 11px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  position:relative !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
  outline:none !important;
  transform:none !important;
}
html body .WOT .wot-ev-pill:hover{
  background:#1d1d28 !important;
  transform:none !important;
}
html body .WOT .wot-ev-pill .wot-ep-title{
  font-size:.83rem !important;
  font-weight:700 !important;
  color:#fff !important;
  line-height:1.2 !important;
  margin:0 0 3px 0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
html body .WOT .wot-ev-pill .wot-ep-sub{
  font-size:.62rem !important;
  color:rgba(255,255,255,.5) !important;
  line-height:1.2 !important;
  margin:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-weight:400 !important;
}
/* Added state: outline glow, no scale */
html body .WOT .wot-ev-pill[data-added="1"],
html body .WOT .wot-ev-pill.added{
  transform:translateY(-2px) !important;
  background:#1d1d2c !important;
  box-shadow:0 6px 20px rgba(0,0,0,.5) !important;
  outline:1.5px solid var(--ec, #E8201A) !important;
  outline-offset:-1px !important;
  z-index:3 !important;
}
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-title,
html body .WOT .wot-ev-pill.added .wot-ep-title{color:#fff !important;}

/* ══ 3. TIME COLUMN: bigger, cleaner ══ */
html body .WOT .wot-tg-time{
  font-size:.7rem !important;
  font-weight:700 !important;
  color:rgba(255,255,255,.4) !important;
  letter-spacing:.2px !important;
  flex:0 0 46px !important;
  width:46px !important;
  min-width:46px !important;
  max-width:46px !important;
  padding:0 6px 0 10px !important;
  display:flex !important;
  align-items:flex-start !important;
  padding-top:22px !important;
  box-sizing:border-box !important;
}
html body .WOT .wot-tg-row.has-ev{
  min-height:80px !important;
  height:auto !important;
  max-height:none !important;
}
html body .WOT .wot-tg-ev-row{
  gap:8px !important;
  padding:8px 10px 8px 0 !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
  align-items:stretch !important;
}
html body .WOT .wot-tg-ev-row::-webkit-scrollbar{display:none !important;}

/* ══ 4. WOT TOPBAR: ultra-compact ══ */
html body .WOT .wot-topbar{
  padding:6px 10px 4px !important;
  min-height:0 !important;
  gap:6px !important;
}
html body .WOT .wot-title{
  font-size:.68rem !important;
  font-weight:900 !important;
  letter-spacing:1.2px !important;
  text-transform:uppercase !important;
}
html body .WOT .wot-live-badge{
  padding:3px 7px !important;
  font-size:.44rem !important;
  gap:4px !important;
  height:20px !important;
}
html body .WOT .wot-live-dot{
  width:5px !important;
  height:5px !important;
}
html body .WOT .wot-view-switch{
  gap:2px !important;
  padding:2px !important;
}
html body .WOT .wot-view-opt,
html body .WOT .wot-mode-opt{
  font-size:.55rem !important;
  padding:4px 9px !important;
  height:24px !important;
  min-height:24px !important;
  letter-spacing:.5px !important;
}
html body .WOT .wot-week-strip{
  gap:3px !important;
  padding:3px 8px 4px !important;
}
html body .WOT .wot-wday{
  flex:0 0 46px !important;
  min-width:46px !important;
  max-width:46px !important;
  padding:4px 2px !important;
  border-radius:9px !important;
}
html body .WOT .wot-wday-dn{
  font-size:.44rem !important;
  font-weight:700 !important;
  letter-spacing:.6px !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.45) !important;
  margin-bottom:1px !important;
}
html body .WOT .wot-wday-num{
  font-size:.95rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  color:#fff !important;
}
html body .WOT .wot-wday.active{
  background:#E8201A !important;
}
html body .WOT .wot-wday.active .wot-wday-dn,
html body .WOT .wot-wday.active .wot-wday-num{color:#fff !important;}

/* ══ 5. MY NIGHT FAB: always visible, high z-index ══ */
html body .plan-fab{
  position:fixed !important;
  bottom:calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  right:14px !important;
  z-index:9990 !important;
  display:inline-flex !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
html body.plan-open .plan-fab{
  transform:translateY(200px) !important;
  opacity:0 !important;
  pointer-events:none !important;
}
html body .plan{
  z-index:9980 !important;
}

/* ══ MOBILE: 2 full pills per row ══ */
@media (max-width: 900px){
  html body .WOT .wot-ev-pill{
    flex:0 0 calc(50vw - 33px) !important;
    width:calc(50vw - 33px) !important;
    min-width:calc(50vw - 33px) !important;
    max-width:calc(50vw - 33px) !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
  }
  html body .WOT .wot-tg-time{
    flex:0 0 44px !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    font-size:.65rem !important;
    padding:0 4px 0 8px !important;
    padding-top:22px !important;
  }
  html body .WOT .wot-flt{
    padding:4px 11px !important;
    font-size:.54rem !important;
    height:28px !important;
    min-height:28px !important;
    max-height:28px !important;
  }
  html body .WOT .wot-topbar{
    padding:5px 8px 3px !important;
  }
  html body .WOT .wot-title{font-size:.62rem !important;}
}

@media (max-width: 420px){
  html body .WOT .wot-ev-pill{
    flex:0 0 calc(50vw - 30px) !important;
    width:calc(50vw - 30px) !important;
    min-width:calc(50vw - 30px) !important;
    max-width:calc(50vw - 30px) !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{font-size:.78rem !important;}
  html body .WOT .wot-ev-pill .wot-ep-sub{font-size:.58rem !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.47  MATCH REFERENCE
   User side-by-side: mine has + buttons, number badges, bright tints.
   Reference: CLEAN pills - dark bg, coloured left border, title, venue. DONE.
   - Hide + button in grid view (kept in popup/drawer)
   - Hide order badge in grid view (shows in My Night sheet instead)
   - Softer pill bg (#14141a, no saturated tint)
   - Cat pills smaller (24px)
   - plan-fab below bottom nav z-index
   ═══════════════════════════════════════════════════════════════════════ */

/* ══ HIDE CLUTTER: + button and order badge in grid ══ */
html body .WOT .wot-ev-pill .wot-ep-add{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:0 !important;
  height:0 !important;
}
html body .WOT .wot-ev-pill .wot-ep-order{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
}
/* Extra right-padding no longer needed without + button */
html body .WOT .wot-ev-pill{
  padding:9px 11px 9px 10px !important;
}

/* ══ EVENT PILLS: clean, dark, subtle, matches reference ══ */
html body .WOT .wot-ev-pill{
  background:#14141a !important;
  border:none !important;
  border-left:3px solid var(--ec, #E8201A) !important;
  border-radius:9px !important;
  color:#fff !important;
  height:54px !important;
  min-height:54px !important;
  max-height:54px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  position:relative !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
  outline:none !important;
  transform:none !important;
}
html body .WOT .wot-ev-pill:hover{background:#1c1c26 !important;}
html body .WOT .wot-ev-pill .wot-ep-title{
  font-size:.78rem !important;
  font-weight:700 !important;
  color:#fff !important;
  line-height:1.2 !important;
  margin:0 0 2px 0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
html body .WOT .wot-ev-pill .wot-ep-sub{
  font-size:.58rem !important;
  color:rgba(255,255,255,.5) !important;
  line-height:1.2 !important;
  margin:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-weight:400 !important;
}
/* Added pill: subtle glow, no scale */
html body .WOT .wot-ev-pill[data-added="1"],
html body .WOT .wot-ev-pill.added{
  transform:translateY(-1px) !important;
  background:#1e1e28 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.45) !important;
  outline:1px solid var(--ec, #E8201A) !important;
  outline-offset:-1px !important;
}

/* ══ CAT PILLS: smaller ══ */
html body .WOT .wot-flt{
  height:26px !important;
  min-height:26px !important;
  max-height:26px !important;
  padding:4px 11px !important;
  font-size:.54rem !important;
  letter-spacing:.5px !important;
  border-width:1.5px !important;
}
html body .WOT .wot-flt-count{
  font-size:.46rem !important;
  margin-left:4px !important;
}
html body .WOT .wot-filterbar{
  gap:5px !important;
  padding:4px 10px 5px !important;
}

/* ══ TIME COLUMN ══ */
html body .WOT .wot-tg-time{
  font-size:.65rem !important;
  font-weight:700 !important;
  color:rgba(255,255,255,.4) !important;
  letter-spacing:.3px !important;
  flex:0 0 44px !important;
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  padding:18px 4px 0 10px !important;
  display:flex !important;
  align-items:flex-start !important;
  box-sizing:border-box !important;
}
html body .WOT .wot-tg-row.has-ev{
  min-height:68px !important;
  height:auto !important;
  max-height:none !important;
}
html body .WOT .wot-tg-ev-row{
  gap:8px !important;
  padding:7px 10px 7px 0 !important;
}

/* ══ TOPBAR: tight ══ */
html body .WOT .wot-topbar{
  padding:5px 10px 3px !important;
}
html body .WOT .wot-title{
  font-size:.64rem !important;
  letter-spacing:1.1px !important;
  font-weight:900 !important;
}
html body .WOT .wot-live-badge{
  padding:2px 6px !important;
  font-size:.42rem !important;
  height:18px !important;
}
html body .WOT .wot-view-opt,
html body .WOT .wot-mode-opt{
  font-size:.5rem !important;
  padding:3px 8px !important;
  height:22px !important;
  min-height:22px !important;
}
html body .WOT .wot-week-strip{
  gap:3px !important;
  padding:3px 8px !important;
}
html body .WOT .wot-wday{
  flex:0 0 44px !important;
  min-width:44px !important;
  max-width:44px !important;
  padding:4px 2px !important;
}
html body .WOT .wot-wday-num{font-size:.9rem !important; font-weight:900 !important;}
html body .WOT .wot-wday-dn{font-size:.42rem !important;}
html body .plan{
  z-index:65 !important;
}

/* ══ MOBILE: 2 pills per row ══ */
@media (max-width: 900px){
  html body .WOT .wot-ev-pill{
    flex:0 0 calc(50vw - 32px) !important;
    width:calc(50vw - 32px) !important;
    min-width:calc(50vw - 32px) !important;
    max-width:calc(50vw - 32px) !important;
    height:54px !important;
    min-height:54px !important;
    max-height:54px !important;
    padding:8px 10px !important;
  }
  html body .WOT .wot-tg-time{
    flex:0 0 40px !important;
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    font-size:.58rem !important;
    padding:16px 3px 0 8px !important;
  }
  html body .WOT .wot-flt{
    padding:3px 10px !important;
    font-size:.5rem !important;
    height:24px !important;
    min-height:24px !important;
    max-height:24px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{font-size:.72rem !important;}
  html body .WOT .wot-ev-pill .wot-ep-sub{font-size:.56rem !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.48  RESTORE FUNCTIONALITY
   User: "i still want the + button and all the same functionality,
          just want the fucking pill to look like what i send"
   - Re-enable + button (subtle, top-right)
   - Re-enable order badge (white circle, black number, top-right when added)
   - Keep pill visual style from v12.4.47 (#14141a bg + coloured left border)
   ═══════════════════════════════════════════════════════════════════════ */

/* Restore + button: small, minimal, top-right */
html body .WOT .wot-ev-pill .wot-ep-add{
  display:flex !important;
  visibility:visible !important;
  opacity:.5 !important;
  pointer-events:auto !important;
  position:absolute !important;
  top:4px !important;
  right:5px !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  max-width:14px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  color:rgba(255,255,255,.55) !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
}
html body .WOT .wot-ev-pill .wot-ep-add:hover,
html body .WOT .wot-ev-pill:hover .wot-ep-add{
  opacity:1 !important;
  color:#fff !important;
}
html body .WOT .wot-ev-pill .wot-ep-add::before,
html body .WOT .wot-ev-pill .wot-ep-add::after{
  display:none !important;
  content:none !important;
}

/* Restore order badge: white circle + black number, top-right */
html body .WOT .wot-ev-pill .wot-ep-order{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:absolute !important;
  top:4px !important;
  right:4px !important;
  left:auto !important;
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  max-width:16px !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#0a0a0d !important;
  font-size:9px !important;
  font-weight:900 !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 2px 5px rgba(0,0,0,.35) !important;
  z-index:5 !important;
  animation:none !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  line-height:1 !important;
}

/* Hide + when order badge present (pill is added) */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add,
html body .WOT .wot-ev-pill:has(.wot-ep-order) .wot-ep-add{
  display:none !important;
}

/* Make room on right for + / badge */
html body .WOT .wot-ev-pill{
  padding:9px 22px 9px 10px !important;
}
@media (max-width: 900px){
  html body .WOT .wot-ev-pill{
    padding:8px 22px 8px 10px !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.49  MOBILE HEADER COLLAPSE
   User: kill TONIGHT + LIVE text on mobile, put days + GRID/MAP +
         DARK/LIGHT on ONE row, cats compact below, pill text bigger.
   Approach: absolute-position the view/mode switches over the week-strip.
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 900px){
  /* WOT needs relative for absolute child positioning */
  html body .WOT{
    position:relative !important;
  }

  /* HIDE TONIGHT + LIVE label entirely on mobile */
  html body .WOT .wot-topbar-left,
  html body .WOT .wot-title,
  html body .WOT .wot-live-badge,
  html body .WOT .wot-live-dot{
    display:none !important;
  }

  /* Topbar becomes floating right-aligned switches */
  html body .WOT .wot-topbar{
    position:absolute !important;
    top:8px !important;
    right:8px !important;
    left:auto !important;
    width:auto !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:none !important;
    z-index:6 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:6px !important;
    min-height:0 !important;
  }
  html body .WOT .wot-topbar-center,
  html body .WOT .wot-topbar-right{
    padding:0 !important;
    margin:0 !important;
    width:auto !important;
    order:unset !important;
  }
  html body .WOT .wot-view-switch,
  html body .WOT .wot-mode-switch{
    gap:1px !important;
    padding:2px !important;
  }
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt{
    font-size:.46rem !important;
    padding:3px 7px !important;
    height:20px !important;
    min-height:20px !important;
    letter-spacing:.4px !important;
  }

  /* Week strip: add right padding to clear the absolute switches */
  html body .WOT .wot-week-strip{
    padding:8px 180px 4px 10px !important;
    gap:3px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
  }
  html body .WOT .wot-week-strip::-webkit-scrollbar{display:none !important;}
  html body .WOT .wot-wday{
    flex:0 0 42px !important;
    min-width:42px !important;
    max-width:42px !important;
    padding:3px 2px !important;
    border-radius:9px !important;
  }
  html body .WOT .wot-wday-num{
    font-size:.88rem !important;
    font-weight:900 !important;
    line-height:1 !important;
  }
  html body .WOT .wot-wday-dn{
    font-size:.4rem !important;
    font-weight:700 !important;
    letter-spacing:.5px !important;
  }

  /* Cat pills directly below, compact */
  html body .WOT .wot-filterbar{
    padding:4px 10px 6px !important;
    gap:5px !important;
  }
  html body .WOT .wot-flt{
    height:24px !important;
    min-height:24px !important;
    max-height:24px !important;
    padding:3px 10px !important;
    font-size:.5rem !important;
    letter-spacing:.4px !important;
    border-width:1.5px !important;
  }
  html body .WOT .wot-flt-count{
    font-size:.44rem !important;
    margin-left:3px !important;
  }

  /* ══ PILLS: bigger title to match reference second image ══ */
  html body .WOT .wot-ev-pill{
    background:#14141a !important;
    border:none !important;
    border-left:3.5px solid var(--ec, #E8201A) !important;
    border-radius:10px !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    padding:8px 22px 8px 11px !important;
    flex:0 0 calc(50vw - 30px) !important;
    width:calc(50vw - 30px) !important;
    min-width:calc(50vw - 30px) !important;
    max-width:calc(50vw - 30px) !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{
    font-size:.82rem !important;
    font-weight:800 !important;
    line-height:1.15 !important;
    margin:0 0 2px 0 !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-sub{
    font-size:.6rem !important;
    color:rgba(255,255,255,.45) !important;
    line-height:1.15 !important;
    font-weight:400 !important;
  }

  /* Time column: bigger, readable */
  html body .WOT .wot-tg-time{
    font-size:.62rem !important;
    font-weight:700 !important;
    color:rgba(255,255,255,.4) !important;
    flex:0 0 40px !important;
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    padding:17px 3px 0 9px !important;
  }
  html body .WOT .wot-tg-row.has-ev{
    min-height:70px !important;
  }
  html body .WOT .wot-tg-ev-row{
    gap:8px !important;
    padding:7px 10px 7px 0 !important;
  }

  /* Tiny + button kept but minimal */
  html body .WOT .wot-ev-pill .wot-ep-add{
    width:13px !important;
    height:13px !important;
    font-size:12px !important;
    top:4px !important;
    right:5px !important;
    opacity:.45 !important;
    background:transparent !important;
    border:none !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-order{
    width:15px !important;
    height:15px !important;
    font-size:9px !important;
    top:4px !important;
    right:4px !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.51  HIDE wot-nav-bar ON DESKTOP
   .wot-nav-bar = the 8 colored-square "What's On / Food & Drink / ..." grid
   that was showing on desktop. User: REMOVE from desktop.
   Keep visible on mobile.
   ═══════════════════════════════════════════════════════════════════════ */

@media (min-width: 901px){
  html body .WOT .wot-nav-bar,
  html body .wot-nav-bar{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.52  REAL FIXES (cat filter + grey pills)
   ═══════════════════════════════════════════════════════════════════════ */

/* ══ CAT FILTER WORKS: respect JS inline display:none ══ */
html body .WOT .wot-ev-pill[style*="display: none"],
html body .WOT .wot-ev-pill[style*="display:none"],
html body .WOT .wot-tg-row[style*="display: none"],
html body .WOT .wot-tg-row[style*="display:none"]{
  display:none !important;
}

/* ══ PILLS GREY (not colored tints) ══ */
html body .WOT .wot-ev-pill,
html body .WOT .wot-ev-pill[data-cat],
html body .WOT.wot-light .wot-ev-pill,
body .WOT:not(.wot-light) .wot-ev-pill,
body .WOT.wot-light .wot-ev-pill{
  background:#1e1e24 !important;
  background-image:none !important;
  border:none !important;
  border-left:3.5px solid var(--ec, #E8201A) !important;
  border-radius:10px !important;
  color:#fff !important;
  box-shadow:none !important;
  outline:none !important;
  transform:none !important;
}
html body .WOT .wot-ev-pill:hover{background:#26262e !important;}
html body .WOT .wot-ev-pill[data-added="1"],
html body .WOT .wot-ev-pill.added{
  background:#2a2a33 !important;
  outline:1.5px solid var(--ec, #E8201A) !important;
  outline-offset:-1px !important;
  transform:translateY(-1px) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.4) !important;
}
html body .WOT .wot-ev-pill .wot-ep-title{color:#fff !important; font-weight:700 !important;}
html body .WOT .wot-ev-pill .wot-ep-sub{color:rgba(255,255,255,.5) !important;}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.53  REAL MOBILE LAYOUT FIX
   The real classes: .wot-mini-label / .wot-mini-tonight / .wot-mini-live
   (I was targeting wrong selectors all along)
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 900px){
  /* HIDE TONIGHT + LIVE text + separator on mobile */
  html body .WOT .wot-mini-tonight,
  html body .WOT .wot-mini-live,
  html body .WOT .wot-mini-line,
  html body .WOT .wot-mini-dot{
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    padding:0 !important;
    margin:0 !important;
    opacity:0 !important;
  }

  /* WOT relative so child can absolute position */
  html body .WOT{position:relative !important;}

  /* .wot-mini-label becomes floating switches top-right */
  html body .WOT .wot-mini-label{
    position:absolute !important;
    top:8px !important;
    right:8px !important;
    left:auto !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:none !important;
    z-index:6 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:5px !important;
    min-height:0 !important;
  }
  html body .WOT .wot-view-switch,
  html body .WOT .wot-mode-switch{
    gap:1px !important;
    padding:2px !important;
  }
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt{
    font-size:.45rem !important;
    padding:3px 7px !important;
    height:20px !important;
    min-height:20px !important;
    letter-spacing:.3px !important;
  }

  /* week-strip: right padding so days dont overlap the switches */
  html body .WOT .wot-week-strip{
    padding:8px 172px 4px 10px !important;
    gap:3px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
  }
  html body .WOT .wot-week-strip::-webkit-scrollbar{display:none !important;}

  html body .WOT .wot-wday{
    flex:0 0 42px !important;
    min-width:42px !important;
    max-width:42px !important;
    padding:3px 2px !important;
  }
  html body .WOT .wot-wday-num{font-size:.88rem !important;}
  html body .WOT .wot-wday-dn{font-size:.4rem !important;}

  /* Cat pills ultra compact */
  html body .WOT .wot-filterbar{
    padding:4px 10px 6px !important;
    gap:5px !important;
  }
  html body .WOT .wot-flt{
    height:24px !important;
    min-height:24px !important;
    padding:3px 10px !important;
    font-size:.5rem !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.54  SUBTLE CATEGORY TINT ON PILLS
   Reference: Chris Bridgett (music) = dark with subtle red tint.
   NOT grey. NOT fully saturated. Just a whisper of the category colour.
   ═══════════════════════════════════════════════════════════════════════ */

html body .WOT .wot-ev-pill,
html body .WOT .wot-ev-pill[data-cat],
html body .WOT.wot-light .wot-ev-pill,
body .WOT:not(.wot-light) .wot-ev-pill{
  background:color-mix(in srgb, var(--ec, #E8201A) 14%, #13131a) !important;
  background-image:none !important;
  border:none !important;
  border-left:3.5px solid var(--ec, #E8201A) !important;
  border-radius:10px !important;
  color:#fff !important;
  box-shadow:none !important;
  outline:none !important;
  transform:none !important;
}
html body .WOT .wot-ev-pill:hover{
  background:color-mix(in srgb, var(--ec, #E8201A) 22%, #13131a) !important;
}
/* Added pill: stronger tint + outline */
html body .WOT .wot-ev-pill[data-added="1"],
html body .WOT .wot-ev-pill.added{
  background:color-mix(in srgb, var(--ec, #E8201A) 28%, #13131a) !important;
  outline:1.5px solid var(--ec, #E8201A) !important;
  outline-offset:-1px !important;
  transform:translateY(-1px) !important;
  box-shadow:0 4px 14px color-mix(in srgb, var(--ec, #E8201A) 30%, transparent) !important;
}
/* Light mode */
html body .WOT.wot-light .wot-ev-pill{
  background:color-mix(in srgb, var(--ec, #E8201A) 18%, #ffffff) !important;
  color:#0a0a0d !important;
}
html body .WOT.wot-light .wot-ev-pill .wot-ep-title{color:#0a0a0d !important;}
html body .WOT.wot-light .wot-ev-pill .wot-ep-sub{color:rgba(0,0,0,.55) !important;}

/* Text */
html body .WOT .wot-ev-pill .wot-ep-title{color:#fff !important; font-weight:700 !important;}
html body .WOT .wot-ev-pill .wot-ep-sub{color:rgba(255,255,255,.55) !important;}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.55  HIDE ORDER NUMBER BADGES
   User doesn't like the 1/2/3/4/5 circles. Keep + button, keep
   added-outline glow, just hide the number badge. Plan order still
   shown in the My Night bottom sheet.
   ═══════════════════════════════════════════════════════════════════════ */

html body .WOT .wot-ev-pill .wot-ep-order{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
}

/* When pill is added, show + again (or hide it), but NOT the number.
   Keep + visible since functionality requested. */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add{
  display:flex !important;
  opacity:.6 !important;
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.56  RESTORE NUMBERS + 3D HOVER + HALVE MOBILE
   - Restore order number badge (number, not + dot)
   - Hide + button when pill added (no double symbol)
   - 3D lift on pill hover
   - Mobile cat pills: half size
   - Mobile event pills: half size
   - Fix top row overlap (shrink mini-label switches further)
   ═══════════════════════════════════════════════════════════════════════ */

/* ══ RESTORE ORDER NUMBER ══ */
html body .WOT .wot-ev-pill .wot-ep-order{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:absolute !important;
  top:4px !important;
  right:5px !important;
  left:auto !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#0a0a0d !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 2px 6px rgba(0,0,0,.4) !important;
  z-index:5 !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid rgba(0,0,0,.15) !important;
  animation:none !important;
}

/* Hide + when added (only show number) */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add{
  display:none !important;
  visibility:hidden !important;
}

/* ══ 3D HOVER LIFT ══ */
html body .WOT .wot-ev-pill{
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease !important;
  position:relative !important;
}
html body .WOT .wot-ev-pill:hover{
  transform:translateY(-4px) scale(1.015) !important;
  box-shadow:
    0 14px 32px rgba(0,0,0,.45),
    0 4px 10px rgba(0,0,0,.35),
    0 0 0 1.5px color-mix(in srgb, var(--ec, #E8201A) 50%, transparent) !important;
  z-index:10 !important;
}
html body .WOT .wot-ev-pill[data-added="1"]:hover,
html body .WOT .wot-ev-pill.added:hover{
  transform:translateY(-4px) scale(1.015) !important;
}

/* ══ MOBILE: HALF SIZE (cat pills + event pills) + FIX TOP ROW ══ */
@media (max-width: 900px){
  /* Top row: SHRINK switches so they don't overlap week days */
  html body .WOT .wot-mini-label{
    position:absolute !important;
    top:6px !important;
    right:6px !important;
    gap:3px !important;
    z-index:7 !important;
  }
  html body .WOT .wot-view-switch,
  html body .WOT .wot-mode-switch{
    gap:0 !important;
    padding:1px !important;
    transform:scale(.82) !important;
    transform-origin:right center !important;
  }
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt{
    font-size:.4rem !important;
    padding:2px 5px !important;
    height:18px !important;
    min-height:18px !important;
  }
  /* Week-strip: more right padding, horizontal scroll */
  html body .WOT .wot-week-strip{
    padding:6px 130px 4px 8px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
  }
  html body .WOT .wot-week-strip::-webkit-scrollbar{display:none !important;}
  html body .WOT .wot-wday{
    flex:0 0 36px !important;
    min-width:36px !important;
    max-width:36px !important;
    padding:3px 2px !important;
  }
  html body .WOT .wot-wday-num{font-size:.78rem !important;}
  html body .WOT .wot-wday-dn{font-size:.36rem !important;}

  /* CAT PILLS HALF SIZE */
  html body .WOT .wot-filterbar{
    padding:3px 8px 4px !important;
    gap:4px !important;
  }
  html body .WOT .wot-flt{
    height:18px !important;
    min-height:18px !important;
    max-height:18px !important;
    padding:2px 7px !important;
    font-size:.42rem !important;
    letter-spacing:.25px !important;
    border-width:1px !important;
  }
  html body .WOT .wot-flt-count{
    font-size:.36rem !important;
    margin-left:2px !important;
  }

  /* EVENT PILLS HALF SIZE */
  html body .WOT .wot-ev-pill{
    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;
    padding:4px 22px 4px 8px !important;
    border-left-width:2.5px !important;
    border-radius:7px !important;
    flex:0 0 calc(50vw - 28px) !important;
    width:calc(50vw - 28px) !important;
    min-width:calc(50vw - 28px) !important;
    max-width:calc(50vw - 28px) !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{
    font-size:.62rem !important;
    font-weight:800 !important;
    line-height:1.1 !important;
    margin:0 0 1px 0 !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-sub{
    font-size:.48rem !important;
    line-height:1.1 !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-order{
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    max-width:14px !important;
    font-size:8px !important;
    top:3px !important;
    right:3px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-add{
    width:11px !important;
    height:11px !important;
    font-size:10px !important;
    top:3px !important;
    right:4px !important;
  }
  html body .WOT .wot-tg-row.has-ev{
    min-height:48px !important;
  }
  html body .WOT .wot-tg-ev-row{
    gap:5px !important;
    padding:4px 8px 4px 0 !important;
  }
  html body .WOT .wot-tg-time{
    flex:0 0 34px !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    font-size:.5rem !important;
    padding:10px 2px 0 6px !important;
  }
  /* Mobile hover: smaller lift */
  html body .WOT .wot-ev-pill:hover{
    transform:translateY(-2px) scale(1.02) !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.57  PAPER PLANE + SMALLER + MORE SPACING
   Reference: faint paper plane glyph bottom-right (not a +).
   Small compact pill with breathing room between pills.
   ═══════════════════════════════════════════════════════════════════════ */

/* ══ PAPER PLANE ICON (replaces +) ══ */
html body .WOT .wot-ev-pill .wot-ep-add{
  color:transparent !important;
  font-size:0 !important;
  position:absolute !important;
  top:auto !important;
  bottom:5px !important;
  right:7px !important;
  left:auto !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  max-width:14px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:.55 !important;
  cursor:pointer !important;
  transform:none !important;
  line-height:1 !important;
}
html body .WOT .wot-ev-pill .wot-ep-add::before{
  font-family:"Font Awesome 6 Free","Font Awesome 5 Free","FontAwesome","Font Awesome 6 Pro" !important;
  font-weight:900 !important;
  content:"\f1d8" !important;
  font-size:10px !important;
  color:rgba(255,255,255,.5) !important;
  display:inline-block !important;
  line-height:1 !important;
}
html body .WOT.wot-light .wot-ev-pill .wot-ep-add::before{color:rgba(0,0,0,.4) !important;}
html body .WOT .wot-ev-pill:hover .wot-ep-add{opacity:1 !important;}
html body .WOT .wot-ev-pill:hover .wot-ep-add::before{color:#fff !important;}
html body .WOT.wot-light .wot-ev-pill:hover .wot-ep-add::before{color:#0a0a0d !important;}
html body .WOT .wot-ev-pill .wot-ep-add::after{display:none !important; content:none !important;}
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add{display:none !important;}

/* ══ DESKTOP: smaller pills + more spacing ══ */
html body .WOT .wot-ev-pill{
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  padding:6px 22px 6px 9px !important;
  border-radius:8px !important;
  border-left-width:3px !important;
}
html body .WOT .wot-ev-pill .wot-ep-title{
  font-size:.72rem !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  margin:0 0 1px 0 !important;
}
html body .WOT .wot-ev-pill .wot-ep-sub{
  font-size:.56rem !important;
  line-height:1.15 !important;
}
html body .WOT .wot-tg-ev-row{
  gap:14px !important;  /* MORE spacing between pills */
  padding:8px 14px 8px 0 !important;
}
html body .WOT .wot-tg-row.has-ev{
  min-height:58px !important;
}

/* ══ MOBILE: even smaller + generous spacing ══ */
@media (max-width: 900px){
  html body .WOT .wot-ev-pill{
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    padding:5px 20px 5px 8px !important;
    border-radius:7px !important;
    border-left-width:2.5px !important;
    flex:0 0 calc(50vw - 34px) !important;
    width:calc(50vw - 34px) !important;
    min-width:calc(50vw - 34px) !important;
    max-width:calc(50vw - 34px) !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{
    font-size:.62rem !important;
    font-weight:800 !important;
    line-height:1.1 !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-sub{
    font-size:.48rem !important;
    line-height:1.1 !important;
  }
  html body .WOT .wot-tg-ev-row{
    gap:10px !important;  /* spacing between pills mobile */
    padding:6px 12px 6px 0 !important;
  }
  html body .WOT .wot-tg-row.has-ev{
    min-height:52px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-order{
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    max-width:14px !important;
    font-size:8px !important;
    top:3px !important;
    right:3px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-add{
    width:12px !important;
    height:12px !important;
    bottom:3px !important;
    right:5px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-add::before{
    font-size:8px !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.58  MATCH REFERENCE PILL EXACTLY
   Reference: tall pill (~65px), big bold white title (.9rem+),
   muted venue subtitle, visible category tint, 4px colored left border,
   paper plane bottom-right.
   ═══════════════════════════════════════════════════════════════════════ */

html body .WOT .wot-ev-pill,
html body .WOT .wot-ev-pill[data-cat],
body .WOT:not(.wot-light) .wot-ev-pill{
  background:color-mix(in srgb, var(--ec, #E8201A) 22%, #0e0e14) !important;
  background-image:none !important;
  border:none !important;
  border-left:4px solid var(--ec, #E8201A) !important;
  border-radius:9px !important;
  color:#fff !important;
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
  padding:10px 26px 10px 12px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  position:relative !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
  outline:none !important;
  transition:transform .2s ease, box-shadow .2s ease !important;
}
html body .WOT .wot-ev-pill:hover{
  transform:translateY(-4px) scale(1.015) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.5), 0 0 0 1.5px color-mix(in srgb, var(--ec, #E8201A) 60%, transparent) !important;
  z-index:10 !important;
}
/* Title: big bold white */
html body .WOT .wot-ev-pill .wot-ep-title{
  font-size:.9rem !important;
  font-weight:800 !important;
  color:#fff !important;
  line-height:1.2 !important;
  margin:0 0 3px 0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  letter-spacing:-.005em !important;
}
/* Venue: muted */
html body .WOT .wot-ev-pill .wot-ep-sub{
  font-size:.65rem !important;
  color:rgba(255,255,255,.5) !important;
  line-height:1.2 !important;
  margin:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-weight:400 !important;
}
/* Added state: darker bg, visible outline */
html body .WOT .wot-ev-pill[data-added="1"],
html body .WOT .wot-ev-pill.added{
  background:color-mix(in srgb, var(--ec, #E8201A) 36%, #0e0e14) !important;
  outline:1.5px solid var(--ec, #E8201A) !important;
  outline-offset:-1px !important;
}

/* Order number (when added) */
html body .WOT .wot-ev-pill .wot-ep-order{
  position:absolute !important;
  top:6px !important;
  right:6px !important;
  left:auto !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#0a0a0d !important;
  font-size:10px !important;
  font-weight:900 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 2px 6px rgba(0,0,0,.4) !important;
  z-index:5 !important;
  padding:0 !important; margin:0 !important;
  animation:none !important;
  border:none !important;
}
/* Paper plane (when NOT added) */
html body .WOT .wot-ev-pill .wot-ep-add{
  color:transparent !important;
  font-size:0 !important;
  position:absolute !important;
  bottom:7px !important;
  right:9px !important;
  top:auto !important;
  left:auto !important;
  width:14px !important;
  height:14px !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:1 !important;
  cursor:pointer !important;
  transform:none !important;
}
html body .WOT .wot-ev-pill .wot-ep-add::before{
  font-family:"Font Awesome 6 Free","Font Awesome 5 Free","FontAwesome" !important;
  font-weight:900 !important;
  content:"\f1d8" !important;
  font-size:11px !important;
  color:rgba(255,255,255,.55) !important;
}
html body .WOT .wot-ev-pill .wot-ep-add::after{display:none !important;}
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add{display:none !important;}
html body .WOT .wot-ev-pill:hover .wot-ep-add::before{color:#fff !important;}

/* Spacing + grid */
html body .WOT .wot-tg-ev-row{
  gap:12px !important;
  padding:10px 14px 10px 0 !important;
}
html body .WOT .wot-tg-row.has-ev{
  min-height:80px !important;
}

/* Mobile: same design, 2 pills per row */
@media (max-width: 900px){
  html body .WOT .wot-ev-pill{
    height:60px !important;
    min-height:60px !important;
    max-height:60px !important;
    padding:9px 24px 9px 11px !important;
    flex:0 0 calc(50vw - 30px) !important;
    width:calc(50vw - 30px) !important;
    min-width:calc(50vw - 30px) !important;
    max-width:calc(50vw - 30px) !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{
    font-size:.78rem !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-sub{
    font-size:.58rem !important;
  }
  html body .WOT .wot-tg-ev-row{
    gap:10px !important;
    padding:8px 12px 8px 0 !important;
  }
  html body .WOT .wot-tg-row.has-ev{
    min-height:76px !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.59  FIX TOP ROW OVERLAP
   Issue: GRID/MAP + DARK/LIGHT text + toggle too wide, WED day hidden.
   Fix: ICON-ONLY buttons on mobile. Hide the GRID/MAP/DARK/LIGHT text,
        keep only the icons. Buttons tiny. Days fit cleanly.
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 900px){
  /* Hide text labels in switches on mobile - icons only */
  html body .WOT .wot-view-opt span,
  html body .WOT .wot-mode-opt span{
    display:none !important;
  }

  /* Tiny icon buttons */
  html body .WOT .wot-view-switch,
  html body .WOT .wot-mode-switch{
    gap:0 !important;
    padding:1px !important;
    transform:none !important;
    border-radius:18px !important;
  }
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt{
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:22px !important;
    min-height:22px !important;
    padding:0 !important;
    font-size:9px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  html body .WOT .wot-view-opt i,
  html body .WOT .wot-mode-opt i{
    font-size:10px !important;
    margin:0 !important;
  }

  /* .wot-mini-label container: compact, top-right */
  html body .WOT .wot-mini-label{
    position:absolute !important;
    top:6px !important;
    right:6px !important;
    gap:4px !important;
    z-index:8 !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    display:flex !important;
    align-items:center !important;
  }

  /* Week-strip: correct right padding to clear the icon switches */
  html body .WOT .wot-week-strip{
    padding:8px 110px 4px 8px !important;
    gap:3px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    flex-wrap:nowrap !important;
  }
  html body .WOT .wot-week-strip::-webkit-scrollbar{display:none !important;}

  /* Days slightly smaller so 7 fit + buffer */
  html body .WOT .wot-wday{
    flex:0 0 40px !important;
    min-width:40px !important;
    max-width:40px !important;
    padding:3px 2px !important;
  }
  html body .WOT .wot-wday-num{font-size:.82rem !important; font-weight:900 !important;}
  html body .WOT .wot-wday-dn{font-size:.38rem !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.60  COMPACT PILLS
   User: stop making them big, keep compact. Force small size.
   ═══════════════════════════════════════════════════════════════════════ */

html body .WOT .wot-ev-pill{
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  padding:5px 22px 5px 9px !important;
  border-left-width:3px !important;
  border-radius:8px !important;
}
html body .WOT .wot-ev-pill .wot-ep-title{
  font-size:.7rem !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  margin:0 0 1px 0 !important;
}
html body .WOT .wot-ev-pill .wot-ep-sub{
  font-size:.54rem !important;
  line-height:1.15 !important;
}
html body .WOT .wot-tg-row.has-ev{
  min-height:56px !important;
}
html body .WOT .wot-tg-ev-row{
  gap:12px !important;
  padding:7px 12px 7px 0 !important;
}
html body .WOT .wot-ev-pill .wot-ep-order{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  max-width:16px !important;
  font-size:9px !important;
  top:3px !important;
  right:3px !important;
}
html body .WOT .wot-ev-pill .wot-ep-add{
  width:12px !important;
  height:12px !important;
  bottom:3px !important;
  right:6px !important;
}
html body .WOT .wot-ev-pill .wot-ep-add::before{
  font-size:9px !important;
}

@media (max-width: 900px){
  html body .WOT .wot-ev-pill{
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
    padding:4px 20px 4px 8px !important;
    border-left-width:2.5px !important;
    border-radius:7px !important;
    flex:0 0 calc(50vw - 32px) !important;
    width:calc(50vw - 32px) !important;
    min-width:calc(50vw - 32px) !important;
    max-width:calc(50vw - 32px) !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{
    font-size:.6rem !important;
    font-weight:800 !important;
    line-height:1.1 !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-sub{
    font-size:.46rem !important;
    line-height:1.1 !important;
  }
  html body .WOT .wot-tg-row.has-ev{
    min-height:50px !important;
  }
  html body .WOT .wot-tg-ev-row{
    gap:10px !important;
    padding:6px 10px 6px 0 !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-order{
    width:13px !important;
    height:13px !important;
    min-width:13px !important;
    max-width:13px !important;
    font-size:7.5px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-add{
    width:10px !important;
    height:10px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-add::before{
    font-size:7.5px !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.61  SMALLEST PILLS + KILL OVERLAP
   Match reference 1: tinted bg, 4px colored left border, bold white title,
   muted venue, paper plane bottom-right. Smallest possible. Overlap gone.
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══ PILL CORE (reference 1 design) ═══ */
html body .WOT .wot-ev-pill,
html body .WOT .wot-ev-pill[data-cat],
body .WOT:not(.wot-light) .wot-ev-pill{
  background:color-mix(in srgb, var(--ec, #E8201A) 20%, #0e0e14) !important;
  background-image:none !important;
  border:none !important;
  border-left:4px solid var(--ec, #E8201A) !important;
  border-radius:8px !important;
  color:#fff !important;
  height:40px !important;
  min-height:40px !important;
  max-height:40px !important;
  padding:5px 22px 5px 10px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  position:relative !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
  outline:none !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}
html body .WOT .wot-ev-pill[style*="display: none"]{display:none !important;}
html body .WOT .wot-ev-pill:hover{
  transform:translateY(-3px) scale(1.015) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.5), 0 0 0 1.5px color-mix(in srgb, var(--ec,#E8201A) 55%, transparent) !important;
  z-index:10 !important;
}

/* Title: bold white, compact */
html body .WOT .wot-ev-pill .wot-ep-title{
  font-size:.72rem !important;
  font-weight:800 !important;
  color:#fff !important;
  line-height:1.15 !important;
  margin:0 0 1px 0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  letter-spacing:-.005em !important;
}
/* Venue: muted */
html body .WOT .wot-ev-pill .wot-ep-sub{
  font-size:.54rem !important;
  color:rgba(255,255,255,.5) !important;
  line-height:1.15 !important;
  margin:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-weight:400 !important;
}
/* Added state */
html body .WOT .wot-ev-pill[data-added="1"],
html body .WOT .wot-ev-pill.added{
  background:color-mix(in srgb, var(--ec, #E8201A) 34%, #0e0e14) !important;
  outline:1.5px solid var(--ec, #E8201A) !important;
  outline-offset:-1px !important;
}

/* Order number circle (when added) */
html body .WOT .wot-ev-pill .wot-ep-order{
  position:absolute !important;
  top:4px !important;
  right:4px !important;
  left:auto !important;
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  max-width:15px !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#0a0a0d !important;
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 2px 5px rgba(0,0,0,.4) !important;
  z-index:5 !important;
  padding:0 !important; margin:0 !important;
  animation:none !important;
  border:none !important;
}

/* Paper plane (when NOT added) */
html body .WOT .wot-ev-pill .wot-ep-add{
  color:transparent !important;
  font-size:0 !important;
  position:absolute !important;
  bottom:4px !important;
  right:6px !important;
  top:auto !important;
  left:auto !important;
  width:12px !important;
  height:12px !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:1 !important;
  cursor:pointer !important;
  transform:none !important;
}
html body .WOT .wot-ev-pill .wot-ep-add::before{
  font-family:"Font Awesome 6 Free","Font Awesome 5 Free","FontAwesome" !important;
  font-weight:900 !important;
  content:"\f1d8" !important;
  font-size:10px !important;
  color:rgba(255,255,255,.55) !important;
}
html body .WOT .wot-ev-pill .wot-ep-add::after{display:none !important;}
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add{display:none !important;}
html body .WOT .wot-ev-pill:hover .wot-ep-add::before{color:#fff !important;}

/* Row spacing */
html body .WOT .wot-tg-ev-row{
  gap:10px !important;
  padding:6px 12px 6px 0 !important;
}
html body .WOT .wot-tg-row.has-ev{
  min-height:52px !important;
}

/* ═══ KILL THE OVERLAP: switches tiny, absolute, week-strip padding heavy ═══ */
@media (max-width: 900px){
  /* Icon-only switches, tiny */
  html body .WOT .wot-view-opt span,
  html body .WOT .wot-mode-opt span{display:none !important;}

  html body .WOT .wot-mini-label{
    position:absolute !important;
    top:5px !important;
    right:5px !important;
    gap:3px !important;
    z-index:20 !important;
    padding:0 !important;
    margin:0 !important;
    background:rgba(10,10,14,.75) !important;
    backdrop-filter:blur(4px) !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
  }
  html body .WOT .wot-mini-tonight,
  html body .WOT .wot-mini-live{display:none !important;}

  html body .WOT .wot-view-switch,
  html body .WOT .wot-mode-switch{
    gap:0 !important;
    padding:1px !important;
    transform:none !important;
    border-radius:14px !important;
    background:transparent !important;
  }
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt{
    width:20px !important;
    min-width:20px !important;
    max-width:20px !important;
    height:20px !important;
    min-height:20px !important;
    padding:0 !important;
    font-size:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
  }
  html body .WOT .wot-view-opt i,
  html body .WOT .wot-mode-opt i{
    font-size:9px !important;
    margin:0 !important;
  }

  /* Week-strip: BIG right padding so days NEVER touch switches */
  html body .WOT .wot-week-strip{
    padding:8px 100px 4px 8px !important;
    gap:3px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    flex-wrap:nowrap !important;
    position:relative !important;
  }
  html body .WOT .wot-week-strip::-webkit-scrollbar{display:none !important;}
  html body .WOT .wot-wday{
    flex:0 0 36px !important;
    min-width:36px !important;
    max-width:36px !important;
    padding:3px 2px !important;
  }
  html body .WOT .wot-wday-num{font-size:.78rem !important; font-weight:900 !important;}
  html body .WOT .wot-wday-dn{font-size:.36rem !important;}

  /* Pills smaller still on mobile */
  html body .WOT .wot-ev-pill{
    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;
    padding:4px 20px 4px 8px !important;
    border-left-width:3px !important;
    border-radius:7px !important;
    flex:0 0 calc(50vw - 30px) !important;
    width:calc(50vw - 30px) !important;
    min-width:calc(50vw - 30px) !important;
    max-width:calc(50vw - 30px) !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{
    font-size:.62rem !important;
    font-weight:800 !important;
    line-height:1.1 !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-sub{
    font-size:.46rem !important;
    line-height:1.1 !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-order{
    width:13px !important;
    height:13px !important;
    min-width:13px !important;
    max-width:13px !important;
    font-size:8px !important;
    top:3px !important;
    right:3px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-add{
    width:10px !important;
    height:10px !important;
    bottom:3px !important;
    right:5px !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-add::before{
    font-size:8px !important;
  }
  html body .WOT .wot-tg-ev-row{
    gap:8px !important;
    padding:5px 10px 5px 0 !important;
  }
  html body .WOT .wot-tg-row.has-ev{
    min-height:46px !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.62  KILL OVERLAP FOR REAL
   Put switches in own flow row above week-strip. No absolute = no overlap.
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 900px){
  /* Force switches into normal flow, own row, right-aligned */
  html body .WOT .wot-mini-label{
    position:static !important;
    top:auto !important;
    right:auto !important;
    left:auto !important;
    bottom:auto !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:4px !important;
    width:100% !important;
    padding:6px 8px 2px 8px !important;
    margin:0 !important;
    background:transparent !important;
    backdrop-filter:none !important;
    border-radius:0 !important;
    z-index:1 !important;
  }
  html body .WOT .wot-mini-tonight,
  html body .WOT .wot-mini-live{display:none !important;}

  /* Week-strip NO extra right padding needed now */
  html body .WOT .wot-week-strip{
    padding:4px 8px 4px 8px !important;
    gap:4px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    flex-wrap:nowrap !important;
  }
  html body .WOT .wot-week-strip::-webkit-scrollbar{display:none !important;}

  /* 7 days fit: 7*44 + 6*4 = 332px; fits on 360+ viewport */
  html body .WOT .wot-wday{
    flex:1 1 0 !important;
    min-width:0 !important;
    max-width:none !important;
    padding:3px 2px !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.64  DESELECT BUTTON ON ADDED PILLS
   When added, .wot-ep-add shows an X icon (deselect). Click toggles off.
   ═══════════════════════════════════════════════════════════════════════ */

/* Override previous "display:none" on added .wot-ep-add - make it visible as X */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add::before,
html body .WOT .wot-ev-pill.added .wot-ep-add::before{
  content:"\f00d" !important; /* fa-xmark (X) */
  color:rgba(255,255,255,.9) !important;
  font-size:11px !important;
}
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add:hover::before,
html body .WOT .wot-ev-pill.added .wot-ep-add:hover::before{
  color:#fff !important;
}

/* Move the X to bottom-right (don't clash with order badge top-right) */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add{
  bottom:4px !important;
  right:6px !important;
  top:auto !important;
  left:auto !important;
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.65  SMALL TIME COL + MAP FULL-BLEED
   - Time column narrow + small text, pills shift left
   - Map view stretched edge-to-edge (full width)
   ═══════════════════════════════════════════════════════════════════════ */

/* Time column - narrow */
html body .WOT .wot-tg-time{
  flex:0 0 34px !important;
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  font-size:.58rem !important;
  font-weight:700 !important;
  color:rgba(255,255,255,.45) !important;
  padding:8px 2px 0 8px !important;
  letter-spacing:.3px !important;
  text-align:left !important;
}
html body .WOT .wot-tg-ev-row{
  padding:6px 10px 6px 0 !important;
  gap:8px !important;
}

/* MAP: full-bleed edge to edge */
html body .WOT .wot-mapview,
html body .WOT #wotMapView{
  margin-left:calc(-1 * var(--wot-pad, 12px)) !important;
  margin-right:calc(-1 * var(--wot-pad, 12px)) !important;
  width:calc(100% + 2 * var(--wot-pad, 12px)) !important;
  max-width:none !important;
  border-radius:0 !important;
  padding:0 !important;
}
html body .WOT .wot-mapview .wot-map,
html body .WOT .wot-mapview #wotMap,
html body .WOT #wotMap{
  width:100% !important;
  min-height:60vh !important;
  height:60vh !important;
  border-radius:0 !important;
  margin:0 !important;
}

@media (max-width: 900px){
  html body .WOT .wot-tg-time{
    flex:0 0 28px !important;
    width:28px !important;
    min-width:28px !important;
    max-width:28px !important;
    font-size:.5rem !important;
    padding:7px 2px 0 6px !important;
  }
  html body .WOT .wot-tg-ev-row{
    padding:5px 8px 5px 0 !important;
    gap:6px !important;
  }
  /* Map full-bleed on mobile - ignore any parent padding */
  html body .WOT .wot-mapview,
  html body .WOT #wotMapView{
    margin-left:-12px !important;
    margin-right:-12px !important;
    width:calc(100% + 24px) !important;
  }
  html body .WOT .wot-mapview .wot-map,
  html body .WOT .wot-mapview #wotMap,
  html body .WOT #wotMap{
    min-height:70vh !important;
    height:70vh !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.66  NO BOTTOM DOT + COLORED ORDER BADGE
   - Hide deselect icon on added pills (clicking pill still toggles)
   - Order badge: category color background, white number
   ═══════════════════════════════════════════════════════════════════════ */

/* Hide the bottom icon entirely when added - no more empty white dot */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add,
html body .WOT .wot-ev-pill.added .wot-ep-add{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

/* Order number badge: pill-color bg + white text */
html body .WOT .wot-ev-pill .wot-ep-order{
  background:var(--ec, #E8201A) !important;
  color:#fff !important;
  border:1.5px solid rgba(255,255,255,.9) !important;
  box-shadow:0 2px 5px rgba(0,0,0,.4) !important;
  font-weight:900 !important;
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.67  CLEAN HEADER REDESIGN
   Kill empty circles. Flat icon-only toggles. Single compact pill top-right.
   ═══════════════════════════════════════════════════════════════════════ */

/* ══ WIPE all previous mini-label/switch styling ══ */
html body .WOT .wot-mini-label{
  position:absolute !important;
  top:8px !important;
  right:10px !important;
  left:auto !important;
  bottom:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:2px !important;
  width:auto !important;
  padding:3px 5px !important;
  margin:0 !important;
  background:rgba(20,20,26,.7) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:999px !important;
  z-index:25 !important;
  line-height:1 !important;
}
html body .WOT .wot-mini-tonight,
html body .WOT .wot-mini-live,
html body .WOT .wot-mini-line{display:none !important;}

html body .WOT .wot-view-switch,
html body .WOT .wot-mode-switch{
  display:inline-flex !important;
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  gap:0 !important;
  border-radius:0 !important;
  transform:none !important;
  box-shadow:none !important;
}
html body .WOT .wot-view-switch{border-right:1px solid rgba(255,255,255,.1) !important; padding-right:3px !important; margin-right:3px !important;}

html body .WOT .wot-view-opt,
html body .WOT .wot-mode-opt{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:24px !important;
  min-width:24px !important;
  max-width:24px !important;
  height:24px !important;
  min-height:24px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:50% !important;
  color:rgba(255,255,255,.4) !important;
  cursor:pointer !important;
  font-size:0 !important;
  letter-spacing:0 !important;
  transition:color .15s ease, background .15s ease !important;
  box-shadow:none !important;
  outline:none !important;
}
html body .WOT .wot-view-opt span,
html body .WOT .wot-mode-opt span{display:none !important;}
html body .WOT .wot-view-opt i,
html body .WOT .wot-mode-opt i{
  font-size:11px !important;
  line-height:1 !important;
  margin:0 !important;
  display:inline-block !important;
}
html body .WOT .wot-view-opt.is-on,
html body .WOT .wot-mode-opt.is-on,
html body .WOT .wot-view-opt[aria-pressed="true"],
html body .WOT .wot-mode-opt[aria-pressed="true"]{
  background:rgba(255,255,255,.15) !important;
  color:#fff !important;
}
html body .WOT .wot-view-opt:hover,
html body .WOT .wot-mode-opt:hover{
  color:#fff !important;
  background:rgba(255,255,255,.1) !important;
}

/* Give the WOT head container position:relative so the absolute toggle sits right */
html body .WOT .wot-head,
html body .WOT .wot-topbar{
  position:relative !important;
}

/* Leave room at the top of week-strip for the floating toggle */
html body .WOT .wot-week-strip{
  padding-right:80px !important;
}

@media (max-width: 900px){
  html body .WOT .wot-mini-label{
    top:6px !important;
    right:8px !important;
    padding:2px 4px !important;
  }
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt{
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:22px !important;
    min-height:22px !important;
  }
  html body .WOT .wot-view-opt i,
  html body .WOT .wot-mode-opt i{
    font-size:10px !important;
  }
  html body .WOT .wot-week-strip{
    padding-right:72px !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.68  FULL-BLEED MOBILE REDESIGN
   Delete broken switches. Day + filter rows = full viewport width.
   ═══════════════════════════════════════════════════════════════════════ */

/* ══ KILL SWITCHES COMPLETELY ══ */
html body .WOT .wot-mini-label,
html body .WOT .wot-view-switch,
html body .WOT .wot-mode-switch,
html body .WOT .wot-mini-tonight,
html body .WOT .wot-mini-live,
html body .WOT .wot-mini-line,
html body .WOT .wot-view-opt,
html body .WOT .wot-mode-opt{
  display:none !important;
  visibility:hidden !important;
}

@media (max-width: 900px){
  /* ══ FULL-BLEED: break out of any parent padding ══ */
  html body .WOT .wot-week-strip,
  html body .WOT .wot-filterbar{
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    width:100vw !important;
    max-width:100vw !important;
    box-sizing:border-box !important;
  }

  /* ══ DAY STRIP: 7 equal days, edge-to-edge ══ */
  html body .WOT .wot-week-strip{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:4px !important;
    padding:8px 6px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    background:transparent !important;
  }
  html body .WOT .wot-week-strip::-webkit-scrollbar{display:none !important;}
  html body .WOT .wot-wday{
    flex:1 1 0 !important;
    min-width:0 !important;
    max-width:none !important;
    padding:6px 2px !important;
    border-radius:10px !important;
  }
  html body .WOT .wot-wday-dn{
    font-size:.54rem !important;
    letter-spacing:.4px !important;
    font-weight:700 !important;
    color:rgba(255,255,255,.5) !important;
    text-transform:uppercase !important;
  }
  html body .WOT .wot-wday-num{
    font-size:1.05rem !important;
    font-weight:900 !important;
    line-height:1.1 !important;
  }
  html body .WOT .wot-wday.is-today,
  html body .WOT .wot-wday.is-active{
    background:var(--mcr-red, #E8201A) !important;
  }

  /* ══ FILTER PILLS: edge-to-edge horizontal scroll ══ */
  html body .WOT .wot-filterbar{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:6px !important;
    padding:6px 10px 8px 10px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    background:transparent !important;
  }
  html body .WOT .wot-filterbar::-webkit-scrollbar{display:none !important;}
  html body .WOT .wot-flt{
    flex:0 0 auto !important;
    height:26px !important;
    padding:0 12px !important;
    font-size:.6rem !important;
    font-weight:800 !important;
    letter-spacing:.4px !important;
    border-width:1.5px !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
  }
  html body .WOT .wot-flt-count{
    font-size:.5rem !important;
    opacity:.65 !important;
    font-weight:700 !important;
  }

  /* ══ MAP: full viewport bleed ══ */
  html body .WOT .wot-mapview,
  html body .WOT #wotMapView{
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    width:100vw !important;
    max-width:100vw !important;
    padding:0 !important;
    border-radius:0 !important;
  }
  html body .WOT #wotMap,
  html body .WOT .wot-mapview .wot-map{
    width:100% !important;
    height:75vh !important;
    min-height:75vh !important;
    border-radius:0 !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.69  FIT EVERYTHING IN ONE ROW
   [grid|map] [days THU...WED] [dark|light] - all coexist, no overlap.
   ═══════════════════════════════════════════════════════════════════════ */

/* ══ UN-HIDE toggles (override 12.4.68) ══ */
html body .WOT .wot-mini-label,
html body .WOT .wot-view-switch,
html body .WOT .wot-mode-switch,
html body .WOT .wot-view-opt,
html body .WOT .wot-mode-opt{
  display:inline-flex !important;
  visibility:visible !important;
}
html body .WOT .wot-mini-tonight,
html body .WOT .wot-mini-live,
html body .WOT .wot-mini-line{display:none !important;}

/* ══ Toggles pinned to corners, day strip fills middle ══ */
html body .WOT .wot-mini-label{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  left:6px !important;
  right:6px !important;
  bottom:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  pointer-events:none !important;
  z-index:5 !important;
}
html body .WOT .wot-mini-label > *{pointer-events:auto !important;}

/* Segmented toggle groups - small pill each */
html body .WOT .wot-view-switch,
html body .WOT .wot-mode-switch{
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  padding:2px !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:999px !important;
  transform:none !important;
  box-shadow:none !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}

html body .WOT .wot-view-opt,
html body .WOT .wot-mode-opt{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  min-width:22px !important;
  max-width:22px !important;
  height:20px !important;
  min-height:20px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:999px !important;
  color:rgba(255,255,255,.55) !important;
  cursor:pointer !important;
  transition:all .15s ease !important;
  box-shadow:none !important;
  outline:none !important;
  font-size:0 !important;
}
html body .WOT .wot-view-opt span,
html body .WOT .wot-mode-opt span{display:none !important;}

/* FORCE icon render */
html body .WOT .wot-view-opt i,
html body .WOT .wot-mode-opt i,
html body .WOT .wot-view-opt .fas,
html body .WOT .wot-mode-opt .fas{
  font-size:10px !important;
  line-height:1 !important;
  display:inline-block !important;
  margin:0 !important;
  color:inherit !important;
}
html body .WOT .wot-view-opt.is-on,
html body .WOT .wot-mode-opt.is-on{
  background:#fff !important;
  color:#0a0a0d !important;
}
html body .WOT .wot-view-opt.is-on i,
html body .WOT .wot-mode-opt.is-on i{color:#0a0a0d !important;}

/* ══ Week strip: padding to clear toggles, small day pills ══ */
html body .WOT .wot-week-strip{
  position:relative !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:3px !important;
  padding:8px 66px !important;  /* leave 66px each side for toggles */
  overflow-x:auto !important;
  scrollbar-width:none !important;
  background:transparent !important;
}
html body .WOT .wot-week-strip::-webkit-scrollbar{display:none !important;}

html body .WOT .wot-wday{
  flex:1 1 0 !important;
  min-width:0 !important;
  max-width:none !important;
  padding:4px 2px !important;
  border-radius:9px !important;
}
html body .WOT .wot-wday-dn{
  font-size:.48rem !important;
  letter-spacing:.3px !important;
  font-weight:700 !important;
  color:rgba(255,255,255,.5) !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  margin-bottom:1px !important;
}
html body .WOT .wot-wday-num{
  font-size:.88rem !important;
  font-weight:900 !important;
  line-height:1.1 !important;
}

@media (max-width: 900px){
  html body .WOT .wot-mini-label{
    left:5px !important;
    right:5px !important;
  }
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt{
    width:20px !important;
    min-width:20px !important;
    max-width:20px !important;
    height:18px !important;
    min-height:18px !important;
  }
  html body .WOT .wot-view-opt i,
  html body .WOT .wot-mode-opt i{font-size:9px !important;}

  html body .WOT .wot-week-strip{
    padding:6px 58px !important;
    gap:2px !important;
  }
  html body .WOT .wot-wday{
    padding:3px 1px !important;
    border-radius:7px !important;
  }
  html body .WOT .wot-wday-dn{font-size:.42rem !important;}
  html body .WOT .wot-wday-num{font-size:.78rem !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.70  EVENT TICKER
   Marquee of today's event titles. Sits above day strip.
   ═══════════════════════════════════════════════════════════════════════ */

html body .WOT .wot-ticker{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  padding:5px 10px !important;
  background:linear-gradient(90deg, rgba(232,32,26,.08), rgba(232,32,26,.02) 40%, transparent) !important;
  border-top:1px solid rgba(255,255,255,.04) !important;
  border-bottom:1px solid rgba(255,255,255,.04) !important;
  overflow:hidden !important;
  position:relative !important;
  height:24px !important;
  box-sizing:border-box !important;
}
html body .WOT .wot-ticker-live{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  padding:2px 8px 2px 6px !important;
  background:rgba(232,32,26,.14) !important;
  border:1px solid rgba(232,32,26,.5) !important;
  border-radius:999px !important;
  line-height:1 !important;
}
html body .WOT .wot-ticker-live-txt{
  font-size:.56rem !important;
  font-weight:900 !important;
  letter-spacing:.8px !important;
  color:#E8201A !important;
  text-shadow:0 0 6px rgba(232,32,26,.6) !important;
}
html body .WOT .wot-ticker-dot{
  flex:0 0 auto !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:#E8201A !important;
  box-shadow:0 0 10px rgba(232,32,26,.85), 0 0 4px rgba(232,32,26,1) !important;
  animation:wotTickerPulse 1.4s ease-in-out infinite !important;
}
@keyframes wotTickerPulse{
  0%,100%{opacity:1; transform:scale(1);}
  50%{opacity:.4; transform:scale(.7);}
}
html body .WOT .wot-ticker-viewport{
  flex:1 1 auto !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  mask-image:linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 20px), transparent 100%) !important;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 20px), transparent 100%) !important;
}
html body .WOT .wot-ticker-track{
  display:inline-flex !important;
  align-items:center !important;
  gap:22px !important;
  white-space:nowrap !important;
  animation:wotTickerScroll 55s linear infinite !important;
  will-change:transform !important;
  padding-left:100% !important;
}
html body .WOT .wot-ticker:hover .wot-ticker-track{animation-play-state:paused !important;}
@keyframes wotTickerScroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
html body .WOT .wot-ticker-item{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  font-size:.62rem !important;
  font-weight:600 !important;
  color:rgba(255,255,255,.75) !important;
  letter-spacing:.2px !important;
}
html body .WOT .wot-ticker-item b{
  color:#fff !important;
  font-weight:800 !important;
}
html body .WOT .wot-ticker-item::before{
  content:"\25CF" !important;
  color:var(--tc, #E8201A) !important;
  font-size:6px !important;
  margin-right:2px !important;
}
html body .WOT .wot-ticker-item .tk-time{
  color:rgba(255,255,255,.45) !important;
  font-weight:700 !important;
}

@media (max-width: 900px){
  html body .WOT .wot-ticker{
    height:22px !important;
    padding:4px 8px !important;
    gap:6px !important;
  }
  html body .WOT .wot-ticker-item{font-size:.56rem !important;}
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.71  TOGGLES WITH LABELS
   GRID MAP DARK LIGHT visible. Own row, segmented, icon+text.
   ═══════════════════════════════════════════════════════════════════════ */

/* Put the toggle row back to NORMAL FLOW, above the ticker/days */
html body .WOT .wot-mini-label{
  position:static !important;
  top:auto !important; right:auto !important; left:auto !important; bottom:auto !important;
  transform:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  max-width:100% !important;
  padding:8px 10px 4px !important;
  margin:0 !important;
  gap:8px !important;
  background:transparent !important;
  backdrop-filter:none !important;
  border:none !important;
  border-radius:0 !important;
  pointer-events:auto !important;
  z-index:1 !important;
}
html body .WOT .wot-mini-tonight,
html body .WOT .wot-mini-live,
html body .WOT .wot-mini-line{display:none !important;}

/* Segmented pill groups */
html body .WOT .wot-view-switch,
html body .WOT .wot-mode-switch{
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  padding:2px !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:999px !important;
  transform:none !important;
  box-shadow:none !important;
  visibility:visible !important;
}

/* Each button: icon + text visible */
html body .WOT .wot-view-opt,
html body .WOT .wot-mode-opt{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:24px !important;
  min-height:24px !important;
  padding:0 10px !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:999px !important;
  color:rgba(255,255,255,.55) !important;
  cursor:pointer !important;
  transition:all .15s ease !important;
  box-shadow:none !important;
  outline:none !important;
  font-size:.6rem !important;
  font-weight:800 !important;
  letter-spacing:.6px !important;
  text-transform:uppercase !important;
  visibility:visible !important;
}
html body .WOT .wot-view-opt span,
html body .WOT .wot-mode-opt span{
  display:inline !important;
  visibility:visible !important;
  font-size:inherit !important;
  color:inherit !important;
}
html body .WOT .wot-view-opt i,
html body .WOT .wot-mode-opt i,
html body .WOT .wot-view-opt .fas,
html body .WOT .wot-mode-opt .fas{
  font-size:10px !important;
  line-height:1 !important;
  display:inline-block !important;
  margin:0 !important;
  color:inherit !important;
}

/* Active state */
html body .WOT .wot-view-opt.is-on,
html body .WOT .wot-mode-opt.is-on{
  background:#fff !important;
  color:#0a0a0d !important;
}
html body .WOT .wot-view-opt.is-on i,
html body .WOT .wot-mode-opt.is-on i,
html body .WOT .wot-view-opt.is-on span,
html body .WOT .wot-mode-opt.is-on span{color:#0a0a0d !important;}

html body .WOT .wot-view-opt:not(.is-on):hover,
html body .WOT .wot-mode-opt:not(.is-on):hover{color:#fff !important;}

/* Week-strip: no need for huge side padding now, toggles are in own row */
html body .WOT .wot-week-strip{
  padding:6px 10px !important;
}

/* Slow the ticker scroll (was 55s, now 140s for comfortable reading) */
html body .WOT .wot-ticker-track{
  animation-duration:140s !important;
}
@media (max-width: 900px){
  html body .WOT .wot-ticker-track{animation-duration:120s !important;}
}

@media (max-width: 900px){
  html body .WOT .wot-mini-label{
    padding:6px 8px 3px !important;
    gap:6px !important;
  }
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt{
    height:22px !important;
    min-height:22px !important;
    padding:0 8px !important;
    font-size:.54rem !important;
    gap:4px !important;
  }
  html body .WOT .wot-view-opt i,
  html body .WOT .wot-mode-opt i{font-size:9px !important;}

  html body .WOT .wot-week-strip{
    padding:4px 8px !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.72  COMPACT TOGGLE GROUP (right side, inline style)
   Switches grouped right, smaller, not a full row.
   ═══════════════════════════════════════════════════════════════════════ */

/* Toggle row = thin strip, both groups right-aligned together, compact */
html body .WOT .wot-mini-label{
  position:static !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;  /* right-aligned, grouped */
  gap:6px !important;
  width:100% !important;
  padding:4px 8px 2px !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  transform:none !important;
  pointer-events:auto !important;
}

/* Compact pills */
html body .WOT .wot-view-switch,
html body .WOT .wot-mode-switch{
  display:inline-flex !important;
  padding:2px !important;
  gap:0 !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:999px !important;
  visibility:visible !important;
  transform:none !important;
  box-shadow:none !important;
}
html body .WOT .wot-view-opt,
html body .WOT .wot-mode-opt{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:20px !important;
  min-height:20px !important;
  padding:0 8px !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:999px !important;
  color:rgba(255,255,255,.55) !important;
  cursor:pointer !important;
  font-size:.48rem !important;
  font-weight:800 !important;
  letter-spacing:.5px !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
  outline:none !important;
  visibility:visible !important;
}
html body .WOT .wot-view-opt span,
html body .WOT .wot-mode-opt span{
  display:inline !important;
  visibility:visible !important;
  font-size:inherit !important;
  color:inherit !important;
}
html body .WOT .wot-view-opt i,
html body .WOT .wot-mode-opt i{
  font-size:9px !important;
  line-height:1 !important;
  display:inline-block !important;
  color:inherit !important;
}
html body .WOT .wot-view-opt.is-on,
html body .WOT .wot-mode-opt.is-on{
  background:#fff !important;
  color:#0a0a0d !important;
}
html body .WOT .wot-view-opt.is-on span,
html body .WOT .wot-view-opt.is-on i,
html body .WOT .wot-mode-opt.is-on span,
html body .WOT .wot-mode-opt.is-on i{color:#0a0a0d !important;}

@media (max-width: 900px){
  html body .WOT .wot-mini-label{
    padding:3px 6px 2px !important;
    gap:5px !important;
  }
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt{
    height:18px !important;
    min-height:18px !important;
    padding:0 6px !important;
    font-size:.44rem !important;
  }
  html body .WOT .wot-view-opt i,
  html body .WOT .wot-mode-opt i{font-size:8px !important;}

  /* Pills 1/4 narrower so ~3 fit per row */
  html body .WOT .wot-ev-pill{
    flex:0 0 calc(37vw - 22px) !important;
    width:calc(37vw - 22px) !important;
    min-width:calc(37vw - 22px) !important;
    max-width:calc(37vw - 22px) !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-title{
    font-size:.56rem !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-sub{
    font-size:.42rem !important;
  }
}






/* ═══════════════════════════════════════════════════════════════════════
   WOT V19 - v12.4.74  MOBILE CAT PILLS REDESIGN + DROPDOWN LINE FIX
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 900px){
  /* Cat filter pills: flat, small, dot+label, solid when active */
  html body .WOT .wot-filterbar{
    padding:6px 10px 8px !important;
    gap:6px !important;
  }
  html body .WOT .wot-flt{
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;
    height:24px !important;
    min-height:24px !important;
    max-height:24px !important;
    padding:0 10px !important;
    background:rgba(255,255,255,.04) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:999px !important;
    color:rgba(255,255,255,.7) !important;
    font-size:.56rem !important;
    font-weight:800 !important;
    letter-spacing:.4px !important;
    text-transform:uppercase !important;
    box-shadow:none !important;
    transition:all .15s ease !important;
  }
  html body .WOT .wot-flt .wot-flt-dot{
    width:6px !important;
    height:6px !important;
    border-radius:50% !important;
    display:inline-block !important;
    flex:0 0 auto !important;
  }
  html body .WOT .wot-flt-count{
    font-size:.48rem !important;
    font-weight:700 !important;
    opacity:.55 !important;
    margin-left:2px !important;
  }
  /* Active: solid cat color */
  html body .WOT .wot-flt.on[data-cat="all"]{background:#fff !important; color:#0a0a0d !important; border-color:#fff !important;}
  html body .WOT .wot-flt.on[data-cat="music"]{background:#E8201A !important; color:#fff !important; border-color:#E8201A !important;}
  html body .WOT .wot-flt.on[data-cat="sport"]{background:#1A56FF !important; color:#fff !important; border-color:#1A56FF !important;}
  html body .WOT .wot-flt.on[data-cat="food"]{background:#2DB54B !important; color:#fff !important; border-color:#2DB54B !important;}
  html body .WOT .wot-flt.on[data-cat="nightlife"]{background:#FF6B00 !important; color:#fff !important; border-color:#FF6B00 !important;}
  html body .WOT .wot-flt.on[data-cat="culture"]{background:#9B2BFF !important; color:#fff !important; border-color:#9B2BFF !important;}
  html body .WOT .wot-flt.on[data-cat="family"]{background:#00B3C5 !important; color:#fff !important; border-color:#00B3C5 !important;}
  html body .WOT .wot-flt.on .wot-flt-dot{background:rgba(255,255,255,.8) !important;}
  html body .WOT .wot-flt.on[data-cat="all"] .wot-flt-dot{background:#0a0a0d !important;}
  html body .WOT .wot-flt.on .wot-flt-count{opacity:.75 !important; color:inherit !important;}

  /* Dropdown / expanded drawer on mobile - remove thick white line */
  html body .WOT .wot-drawer,
  html body .WOT .wot-dr,
  html body .wot-drawer{
    border:none !important;
    border-top:none !important;
    border-bottom:none !important;
    box-shadow:none !important;
  }
  html body .WOT .wot-drawer::before,
  html body .WOT .wot-drawer::after,
  html body .WOT .wot-dr::before,
  html body .WOT .wot-dr::after,
  html body .wot-drawer::before,
  html body .wot-drawer::after{
    display:none !important;
    content:none !important;
    background:none !important;
    border:none !important;
  }
  html body .WOT .wot-dr-meta,
  html body .WOT .wot-dr-head,
  html body .WOT .wot-dr-close{
    border:none !important;
    border-bottom:none !important;
    box-shadow:none !important;
  }
  /* Any hr inside drawer */
  html body .WOT .wot-drawer hr,
  html body .WOT .wot-dr hr{display:none !important;}
}





/* ═══════════════════════════════════════════════════════════════════════
   v12.4.76  BIGGER MOBILE LOGO + THINNER RAINBOW
   ═══════════════════════════════════════════════════════════════════════ */

/* Mobile header rainbow line: half as thick */
html body #MOB-HEADER::after{
  height:1px !important;
  opacity:.7 !important;
}
@media(max-width:900px){
  html body #MOB-HEADER::after{
    height:1px !important;
  }
}

/* Mobile logo: bigger (36 -> 44) */
@media(max-width:900px){
  html body .mob-hdr-logo{padding:2px !important;}
  html body .mob-hdr-logo img{
    width:44px !important;
    height:44px !important;
  }
  html body #MOB-HEADER{
    height:60px !important;
  }
}


/* v12.4.77 LOGO BIGGER ON MOBILE */
@media(max-width:900px){
  html body .mob-hdr-logo{padding:0 !important;}
  html body .mob-hdr-logo img{
    width:54px !important;
    height:54px !important;
  }
  html body #MOB-HEADER{
    height:66px !important;
  }
  html body #WRAP{padding-top:70px !important;}
}


/* v12.4.78 TIGHTER LOGO + THINNER RAINBOW */
@media(max-width:900px){
  html body .mob-hdr-logo{
    padding:0 !important;
    margin:0 !important;
    line-height:0 !important;
  }
  html body .mob-hdr-logo img{
    width:52px !important;
    height:52px !important;
    display:block !important;
    margin:0 !important;
  }
  html body #MOB-HEADER{
    height:56px !important;
    padding-top:2px !important;
    padding-bottom:2px !important;
    align-items:center !important;
  }
  html body #WRAP{padding-top:58px !important;}

  /* Rainbow line: thinner */
  html body #MOB-HEADER::after{
    height:0.5px !important;
    min-height:0.5px !important;
    opacity:.65 !important;
  }
}



/* v12.4.79 KILL MOBILE TOP GAP */
@media(max-width:900px){
  html body #WRAP{
    padding-top:56px !important;  /* exact nav height, no sliver */
  }
  html body main.CENTRE{
    padding-top:0 !important;
    margin-top:0 !important;
  }
  html body main.CENTRE > h1:first-child{
    display:none !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body main.CENTRE > section.HERO.hero-slider{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  /* WOT flush under nav */
  html body main.CENTRE > section.WOT{
    margin-top:0 !important;
  }

  /* v12.4.79 CAT PILLS: hide counts + ultra compact */
  html body .WOT .wot-flt-count{
    display:none !important;
  }
  html body .WOT .wot-filterbar{
    padding:5px 8px 7px !important;
    gap:5px !important;
  }
  html body .WOT .wot-flt{
    height:20px !important;
    min-height:20px !important;
    max-height:20px !important;
    padding:0 8px !important;
    font-size:.5rem !important;
    gap:4px !important;
    border-width:1px !important;
    letter-spacing:.3px !important;
  }
  html body .WOT .wot-flt .wot-flt-dot{
    width:5px !important;
    height:5px !important;
  }
}



/* v12.4.80 KILL GAP - FORCE NAV FIXED */
@media(max-width:900px){
  html body #MOB-HEADER{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:9999 !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
  }
  html body #WRAP{
    padding-top:56px !important;
    margin-top:0 !important;
  }
  html body{
    padding-top:0 !important;
    margin-top:0 !important;
    background:#0c0c0e !important;
  }
  html body main.CENTRE{
    padding-top:0 !important;
    margin-top:0 !important;
  }
  html body main.CENTRE > h1:first-child,
  html body main.CENTRE > .page-hero,
  html body main.CENTRE > .hero,
  html body main.CENTRE > section.HERO.hero-slider{
    display:none !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body main.CENTRE > section.WOT{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  /* v12.4.80 LIGHT THEME: also lighten the page around WOT */
  html body.wot-page-light,
  html body .wot-light-active{
    background:#f6f6f8 !important;
  }
  html body.wot-page-light main.CENTRE{
    background:#f6f6f8 !important;
  }
  html body.wot-page-light #MOB-HEADER{
    background:#fff !important;
    color:#111 !important;
  }
  html body.wot-page-light #MOB-HEADER .mob-hdr-logo img{
    filter:invert(1) !important;
  }
}





/* v12.4.82 NUKE LIGHT-MODE PILL MUD */
html body.wot-page-light .WOT .wot-ev-pill,
html body .WOT.wot-light .wot-ev-pill{
  background:#ffffff !important;
  background-image:none !important;
  border:1px solid #e3e3ea !important;
  border-left:4px solid var(--ec,#888) !important;
  border-radius:6px !important;
  box-shadow:0 1px 2px rgba(0,0,0,.05) !important;
  color:#111 !important;
  overflow:hidden !important;
}
/* KILL every dark overlay on the pill in light mode */
html body.wot-page-light .WOT .wot-ev-pill::before,
html body.wot-page-light .WOT .wot-ev-pill::after,
html body .WOT.wot-light .wot-ev-pill::before,
html body .WOT.wot-light .wot-ev-pill::after{
  display:none !important;
  content:none !important;
  background:none !important;
  opacity:0 !important;
}
/* Text: dark on white, readable */
html body.wot-page-light .WOT .wot-ep-title,
html body .WOT.wot-light .wot-ep-title{
  color:#0c0c0e !important;
  text-shadow:none !important;
  font-weight:600 !important;
}
html body.wot-page-light .WOT .wot-ep-sub,
html body.wot-page-light .WOT .wot-ep-venue,
html body .WOT.wot-light .wot-ep-sub,
html body .WOT.wot-light .wot-ep-venue{
  color:#5a5a66 !important;
  text-shadow:none !important;
}
html body.wot-page-light .WOT .wot-ep-time,
html body .WOT.wot-light .wot-ep-time{
  color:#0c0c0e !important;
  font-weight:700 !important;
}
/* + add button: keep visible, subtle */
html body.wot-page-light .WOT .wot-ep-add,
html body .WOT.wot-light .wot-ep-add{
  background:#f1f1f5 !important;
  color:#111 !important;
  border:1px solid #e3e3ea !important;
}
/* Hover: soft lift, no dark */
html body.wot-page-light .WOT .wot-ev-pill:hover,
html body .WOT.wot-light .wot-ev-pill:hover{
  background:#fafafc !important;
  transform:translateY(-1px) !important;
  box-shadow:0 3px 8px rgba(0,0,0,.08) !important;
}
/* Past hours: gently fade but still legible */
html body.wot-page-light .WOT .wot-tg-row.wot-past .wot-ev-pill,
html body .WOT.wot-light .wot-tg-row.wot-past .wot-ev-pill{
  opacity:.55 !important;
}



/* v12.4.83b SOLID COLOUR PILLS + WHITE TEXT + NO TEXT SHADOW */
html body.wot-page-light .WOT .wot-ev-pill,
html body .WOT.wot-light .wot-ev-pill{
  background:var(--ec,#888) !important;
  background-image:none !important;
  border:none !important;
  border-radius:6px !important;
  box-shadow:0 2px 6px rgba(0,0,0,.18), 0 1px 2px rgba(0,0,0,.12) !important;
  color:#fff !important;
  overflow:hidden !important;
}
/* Kill EVERY overlay — pill must stay pure category colour */
html body.wot-page-light .WOT .wot-ev-pill::before,
html body.wot-page-light .WOT .wot-ev-pill::after,
html body .WOT.wot-light .wot-ev-pill::before,
html body .WOT.wot-light .wot-ev-pill::after{
  display:none !important;
  content:none !important;
  background:none !important;
  opacity:0 !important;
}
/* Crisp white text with tiny shadow for legibility on any cat colour */
html body.wot-page-light .WOT .wot-ep-title,
html body .WOT.wot-light .wot-ep-title{
  color:#ffffff !important;
  font-weight:700 !important;
  text-shadow:none !important;
}
html body.wot-page-light .WOT .wot-ep-sub,
html body.wot-page-light .WOT .wot-ep-venue,
html body .WOT.wot-light .wot-ep-sub,
html body .WOT.wot-light .wot-ep-venue{
  color:rgba(255,255,255,.92) !important;
  text-shadow:none !important;
}
html body.wot-page-light .WOT .wot-ep-time,
html body .WOT.wot-light .wot-ep-time{
  color:#ffffff !important;
  font-weight:700 !important;
  text-shadow:none !important;
}
/* + add button on coloured pill: white translucent chip */
html body.wot-page-light .WOT .wot-ep-add,
html body .WOT.wot-light .wot-ep-add{
  background:rgba(255,255,255,.22) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.35) !important;
  backdrop-filter:blur(2px) !important;
}
/* Hover: lift a touch + deeper shadow */
html body.wot-page-light .WOT .wot-ev-pill:hover,
html body .WOT.wot-light .wot-ev-pill:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 4px 12px rgba(0,0,0,.22), 0 2px 4px rgba(0,0,0,.14) !important;
  filter:brightness(1.05) !important;
}
/* Past hours: soft fade */
html body.wot-page-light .WOT .wot-tg-row.wot-past .wot-ev-pill,
html body .WOT.wot-light .wot-tg-row.wot-past .wot-ev-pill{
  opacity:.55 !important;
}



/* v12.4.84 WHITE TEXT ON LIGHT-MODE PILLS — SPECIFICITY FIX */
html body.wot-page-light .WOT .wot-ev-pill .wot-ep-title,
html body .WOT.wot-light .wot-ev-pill .wot-ep-title{
  color:#ffffff !important;
  font-weight:700 !important;
  text-shadow:none !important;
}
html body.wot-page-light .WOT .wot-ev-pill .wot-ep-sub,
html body.wot-page-light .WOT .wot-ev-pill .wot-ep-venue,
html body .WOT.wot-light .wot-ev-pill .wot-ep-sub,
html body .WOT.wot-light .wot-ev-pill .wot-ep-venue{
  color:rgba(255,255,255,.92) !important;
  text-shadow:none !important;
}
html body.wot-page-light .WOT .wot-ev-pill .wot-ep-time,
html body .WOT.wot-light .wot-ev-pill .wot-ep-time{
  color:#ffffff !important;
  font-weight:700 !important;
  text-shadow:none !important;
}
html body.wot-page-light .WOT .wot-ev-pill .wot-ep-cat,
html body .WOT.wot-light .wot-ev-pill .wot-ep-cat{
  color:rgba(255,255,255,.95) !important;
}
/* Also re-assert the pill bg + shadow at this higher specificity in case
   another rule is overriding the pill background too */
html body.wot-page-light .WOT .wot-ev-pill,
html body .WOT.wot-light .wot-ev-pill{
  background:var(--ec,#888) !important;
  background-image:none !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 2px 6px rgba(0,0,0,.18), 0 1px 2px rgba(0,0,0,.12) !important;
}

/* v12.4.84 + button = JUST a plus, no box, no border */
html body .WOT .wot-ev-pill .wot-ep-add,
html body.wot-page-light .WOT .wot-ev-pill .wot-ep-add,
html body .WOT.wot-light .wot-ev-pill .wot-ep-add{
  background:transparent !important;
  background-image:none !important;
  border:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  color:#ffffff !important;
  opacity:.95 !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:2px !important;
  border-radius:0 !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1 !important;
}
html body .WOT .wot-ev-pill .wot-ep-add::before,
html body .WOT .wot-ev-pill .wot-ep-add::after{
  display:none !important;
  content:none !important;
  background:none !important;
}
html body .WOT .wot-ev-pill .wot-ep-add span{
  display:inline !important;
  color:inherit !important;
}
html body .WOT .wot-ev-pill .wot-ep-add:hover{
  background:transparent !important;
  transform:translateY(-50%) scale(1.15) !important;
}
/* Added state: green checkmark tiny, still no box */
html body .WOT .wot-ev-pill[data-added="1"] .wot-ep-add{
  background:transparent !important;
  color:#2DB54B !important;
  box-shadow:none !important;
}



/* v12.4.85 HIDE TOP VIDEO/HERO SLIDER */
html body.home main.CENTRE > section.HERO,
html body.home main.CENTRE > section.HERO.hero-slider,
html body.home main.CENTRE > .hero-slider,
html body.home main.CENTRE > .hero,
html body.home main.CENTRE > .page-hero,
html body.home main.CENTRE > .mcr-hero,
html body.home main.CENTRE > section.hero-video,
html body.home main.CENTRE > section.video-hero,
html body.home main.CENTRE > section.top-video,
html body.home main.CENTRE > .top-video-slider{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}



/* v12.4.87 HOMEPAGE DESKTOP SPLIT VIEW */
@media(min-width:901px){
  html body.home.wot-split .WOT{
    display:flex !important;
    flex-direction:column !important;
  }
  /* v12.9.4 — bigger desktop map (280 → 460px) */
  html body.home.wot-split .WOT .wot-mapview{
    display:block !important;
    order:-1 !important;
    height:460px !important;
    min-height:460px !important;
    max-height:460px !important;
    width:100% !important;
    margin:0 0 18px 0 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    position:relative !important;
    z-index:1 !important;
    box-shadow:0 4px 14px rgba(0,0,0,.18) !important;
  }
  html body.home.wot-split .WOT .wot-mapview #mcrmap,
  html body.home.wot-split .WOT .wot-mapview .wot-map{
    height:460px !important;
    min-height:460px !important;
    width:100% !important;
  }
  /* v12.9.4 — Move the rainbow gradient line from TOP of section to UNDER the map.
     Hide the section::before line on desktop, render an equivalent ::after on .wot-mapview */
  html body.home section.WOT::before{ display:none !important; }
  html body.home.wot-split .WOT .wot-mapview::after{
    content:'' !important;
    position:absolute !important;
    left:0 !important; right:0 !important; bottom:0 !important;
    height:2px !important;
    background:var(--mcr-rainbow) !important;
    opacity:.85 !important;
    z-index:10 !important;
    pointer-events:none !important;
  }
  /* Grid stays visible below - override the .map-on hides */
  html body.home.wot-split .WOT.map-on .wot-tg{display:block !important;}
  html body.home.wot-split .WOT .wot-tg{display:block !important;}
}

/* v12.7.95 HOMEPAGE MOBILE SPLIT-MINI: half map + half grid, tap to expand */
@media(max-width:900px){
  /* Mini split: map preview above small grid, both visible, both tappable */
  html body.home.wot-split-mini .WOT{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    padding:0 !important;
  }
  /* Order: cat pills → ticker → map (hero) → grid */
  html body.home.wot-split-mini .WOT .wot-ticker{ order:-5 !important; margin:0 !important; }
  /* Hide view-toggle buttons and day pickers — map+grid are the full focus */
  html body.home.wot-split-mini .WOT .wot-view-bar,
  html body.home.wot-split-mini .WOT .wot-view-opt,
  html body.home.wot-split-mini .WOT .wot-day-picker,
  html body.home.wot-split-mini .WOT .wot-day-chip-wrap{ display:none !important; }
  html body.home.wot-split-mini .WOT .wot-mapview{
    display:block !important;
    order:-4 !important;
    height:42vh !important; min-height:42vh !important; max-height:42vh !important;
    width:100% !important;
    margin:0 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    position:relative !important;
    cursor:pointer !important;
    box-shadow:0 2px 12px rgba(0,0,0,.3) !important;
  }
  /* Cat pill row — ABOVE ticker */
  html body.home.wot-split-mini .WOT .wot-filterbar{
    order:-6 !important;
    display:flex !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    gap:3px !important;
    padding:0 0 3px !important;
    margin:0 !important;
    flex-wrap:nowrap !important;
  }
  html body.home.wot-split-mini .WOT .wot-filterbar::-webkit-scrollbar{ display:none !important; }
  html body.home.wot-split-mini .WOT .wot-filterbar .wot-full-cal-btn{ display:none !important; }
  html body.home.wot-split-mini .WOT .wot-filterbar .wot-flt{
    padding:2px 7px !important;
    font-size:9px !important;
    border-radius:10px !important;
    min-height:0 !important;
    height:auto !important;
    line-height:1.4 !important;
    flex-shrink:0 !important;
  }
  /* dots shown — organic styles applied globally below */
  /* Hide the legacy red day-picker pill. Restore the original .wot-week-strip
     as a tiny, clean, minimal row below the map. */
  html body.home.wot-split-mini .WOT .wot-day-picker{ display:none !important; }
  html body.home.wot-split-mini .WOT .wot-week-strip{
    display:none !important;
    order:-1 !important;
    gap:4px !important;
    overflow-x:auto !important;
    padding:4px 2px !important;
    margin:0 0 6px !important;
    scrollbar-width:none !important;
    background:transparent !important;
  }
  html body.home.wot-split-mini .WOT .wot-week-strip::-webkit-scrollbar{ display:none !important; }
  html body.home.wot-split-mini .WOT .wot-week-strip .wot-wday{
    flex:0 0 auto !important;
    display:flex !important; flex-direction:column !important; align-items:center !important;
    padding:3px 8px !important;
    min-width:36px !important; width:auto !important; height:auto !important;
    border-radius:10px !important;
    background:transparent !important;
    line-height:1.1 !important;
  }
  html body.home.wot-split-mini .WOT .wot-week-strip .wot-wday.active{
    background:#111 !important; color:#fff !important;
  }
  html body.home.wot-split-mini .WOT .wot-week-strip .wot-wday-dn{
    font-size:8px !important; letter-spacing:.06em !important;
    text-transform:uppercase !important; opacity:.7 !important;
    font-weight:700 !important;
  }
  html body.home.wot-split-mini .WOT .wot-week-strip .wot-wday-num{
    font-size:13px !important; font-weight:800 !important; margin-top:1px !important;
  }
  html body.home.wot-split-mini .WOT .wot-mapview::after{ content:none; display:none; }
  html body.home.wot-split-mini .WOT .wot-mapview #mcrmap,
  html body.home.wot-split-mini .WOT .wot-mapview .wot-map{
    height:100% !important; min-height:100% !important; width:100% !important;
  }
  /* Mini grid: capped height, scrollable, tappable to expand */
  html body.home.wot-split-mini .WOT .wot-tg{
    display:block !important;
    max-height:38vh !important;
    overflow:hidden !important;
    position:relative !important;
    cursor:pointer !important;
    border-radius:10px !important;
    transform:scale(0.85);
    transform-origin:top left;
    width:117.6% !important;
  }
  html body.home.wot-split-mini .WOT::after{
    content:"Tap grid to expand";
    display:block;
    text-align:center;
    background:rgba(32,32,40,.88); color:rgba(255,255,255,.9);
    padding:5px 12px; border-radius:20px;
    font-size:11px; font-weight:700; letter-spacing:.02em;
    margin:-26px auto 4px;
    width:fit-content;
    position:relative; z-index:500;
    box-shadow:0 2px 8px rgba(0,0,0,.4);
    pointer-events:none;
  }

  /* Expanded states: map fullscreen */
  html body.home.wot-mini-map .WOT .wot-mapview{
    display:block !important; order:-1 !important;
    height:calc(100vh - 80px) !important; min-height:calc(100vh - 80px) !important;
    width:100% !important;
    border-radius:10px !important;
  }
  html body.home.wot-mini-map .WOT .wot-tg{ display:none !important; }
  html body.home.wot-mini-map .WOT .wot-mapview #mcrmap,
  html body.home.wot-mini-map .WOT .wot-mapview .wot-map{
    height:100% !important; min-height:100% !important; width:100% !important;
  }

  /* Expanded states: grid fullscreen (default) */
  html body.home.wot-mini-grid .WOT .wot-mapview{ display:none !important; }
  html body.home.wot-mini-grid .WOT .wot-tg{
    display:block !important; max-height:none !important; overflow:visible !important;
    transform:none !important; width:100% !important;
  }

  /* Back-to-split FAB shown only in expanded mobile states */
  .wot-back-to-split{
    display:none;
    position:fixed; top:64px; right:10px; z-index:9000;
    background:rgba(32,32,40,.92); color:rgba(255,255,255,.9);
    border:1px solid rgba(255,255,255,.14);
    padding:7px 12px; border-radius:18px;
    font-size:12px; font-weight:700;
    cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.35);
    font-family:'Inter',system-ui,sans-serif;
  }
  html body.home.wot-mini-map .wot-back-to-split,
  html body.home.wot-mini-grid .wot-back-to-split{ display:inline-block; }

  /* Day rail — frosted tab bar pinned to bottom of map */
  .wot-map-dayrail{
    position:absolute; bottom:0; left:0; right:0;
    display:flex; gap:0;
    overflow-x:auto; overflow-y:hidden;
    padding:0; margin:0;
    z-index:500;
    scrollbar-width:none; -ms-overflow-style:none;
    pointer-events:auto;
    background:rgba(10,10,14,.72);
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    border-top:1px solid rgba(255,255,255,.07);
  }
  .wot-map-dayrail::-webkit-scrollbar{ display:none; }
  .wot-mdr-chip{
    flex:1 1 0;
    display:inline-flex; flex-direction:row; align-items:center; justify-content:center;
    gap:3px;
    padding:7px 2px;
    background:transparent; border:none;
    border-bottom:2px solid transparent;
    color:rgba(255,255,255,.38);
    cursor:pointer;
    font-family:'Inter',system-ui,sans-serif;
    transition:color .15s, border-color .15s;
    min-width:0;
  }
  .wot-mdr-chip.is-on{
    color:#fff;
    border-bottom-color:#E8201A;
  }
  .wot-mdr-dn{ font-size:8px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
  .wot-mdr-num{ font-size:9px; font-weight:800; }
  .wot-mdr-chip.is-on .wot-mdr-dn,
  .wot-mdr-chip.is-on .wot-mdr-num{ opacity:1; }
  /* Day chip trigger + dropdown — single pill above map replacing week-strip */
  .wot-day-chip-wrap{
    position:relative; z-index:600;
    margin:0 0 4px;
  }
  .wot-day-chip-trigger{
    display:inline-flex; align-items:center; gap:5px;
    padding:5px 12px; border-radius:16px;
    background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.18);
    color:#fff; font-size:11px; font-weight:700;
    cursor:pointer; font-family:'Inter',system-ui,sans-serif;
    white-space:nowrap; letter-spacing:.04em;
  }
  .wot-day-chip-trigger:active{ background:rgba(255,255,255,.15); }
  .wot-day-caret{ font-size:8px; opacity:.6; transition:transform .15s; }
  .wot-day-chip-trigger[aria-expanded="true"] .wot-day-caret{ transform:rotate(180deg); }
  .wot-day-chip-dd{
    position:absolute; top:calc(100% + 6px); left:0;
    background:rgba(18,18,22,.97); border:1px solid rgba(255,255,255,.13);
    border-radius:14px; padding:6px; min-width:110px;
    box-shadow:0 6px 18px rgba(0,0,0,.5);
    z-index:9999;
  }
  .wot-day-dd-item{
    display:block; width:100%;
    padding:6px 12px; border-radius:10px;
    background:transparent; border:none;
    color:rgba(255,255,255,.72); font-size:11px; font-weight:600;
    cursor:pointer; text-align:left;
    font-family:'Inter',system-ui,sans-serif;
    white-space:nowrap; letter-spacing:.03em;
  }
  .wot-day-dd-item:hover{ background:rgba(255,255,255,.08); color:#fff; }
  .wot-day-dd-item.active{ background:rgba(255,255,255,.12); color:#fff; font-weight:800; }
}

/* Body lock when ticket sheet open */
body.tk-open{overflow:hidden}



/* v12.4.90 FIX HERO TEXT VISIBILITY ON IMAGE HEROES */
html body .fstory-card--hero,
html body .fstory-card.fstory-card--hero{
  position:relative !important;
}
/* Soft dark scrim so any image still shows through but text is legible */
html body .fstory-card--hero::after{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.55) 100%) !important;
  pointer-events:none !important;
  z-index:0 !important;
  border-radius:inherit !important;
}
html body .fstory-card--hero > *,
html body .fstory-card--hero .fm-inner,
html body .fstory-card--hero .csh-eyebrow,
html body .fstory-card--hero h1,
html body .fstory-card--hero p,
html body .fstory-card--hero .csh-stats,
html body .fstory-card--hero .csh-actions{
  position:relative !important;
  z-index:1 !important;
}
html body .fstory-card--hero h1,
html body .fstory-card--hero h2,
html body .fstory-card--hero .fm-inner h1{
  color:#ffffff !important;
  text-shadow:0 2px 8px rgba(0,0,0,.55) !important;
}
html body .fstory-card--hero p,
html body .fstory-card--hero .lead,
html body .fstory-card--hero .csh-desc{
  color:rgba(255,255,255,.95) !important;
  text-shadow:0 1px 4px rgba(0,0,0,.5) !important;
}
html body .fstory-card--hero .csh-stat,
html body .fstory-card--hero .csh-stat *,
html body .fstory-card--hero .stat-num,
html body .fstory-card--hero .stat-label{
  color:#ffffff !important;
  text-shadow:0 1px 3px rgba(0,0,0,.5) !important;
}
/* Eyebrow keeps its accent colour but adds shadow for legibility */
html body .fstory-card--hero .csh-eyebrow{
  text-shadow:0 1px 3px rgba(0,0,0,.55) !important;
}



/* v12.6.1 FOOD MASTHEAD HERO TEXT */
html body .food-masthead{position:relative !important;}
html body .food-masthead::after{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.65) 100%) !important;
  pointer-events:none !important;
  z-index:0 !important;
  border-radius:inherit !important;
}
html body .food-masthead .fm-inner,
html body .food-masthead > *{position:relative !important; z-index:1 !important;}
html body .food-masthead .fm-headline,
html body .food-masthead h1,
html body .food-masthead h2{
  color:#ffffff !important;
  text-shadow:0 2px 10px rgba(0,0,0,.6) !important;
}
html body .food-masthead p,
html body .food-masthead .fm-lead,
html body .food-masthead .fm-desc{
  color:rgba(255,255,255,.95) !important;
  text-shadow:0 1px 4px rgba(0,0,0,.55) !important;
}
html body .food-masthead .fm-eyebrow,
html body .food-masthead .csh-eyebrow{
  color:rgba(255,255,255,.85) !important;
  text-shadow:0 1px 3px rgba(0,0,0,.55) !important;
}
html body .food-masthead .fm-stats *,
html body .food-masthead .stat-num,
html body .food-masthead .stat-label{
  color:#ffffff !important;
  text-shadow:0 1px 3px rgba(0,0,0,.5) !important;
}



/* v12.6.2 SITE-WIDE HERO TEXT WHITEWASH */
html body .mcrev-hero,
html body .cat-hero,
html body .cs-masthead,
html body .dir-hero,
html body .ev-page-masthead,
html body .evs-hero,
html body .nf-hero,
html body .planner-hero,
html body .sh-hero,
html body .sh-hero-main,
html body .sh-hero-secondary,
html body .sh-hero-split,
html body .sh-masthead,
html body .story-hero-full,
html body .students-hero,
html body .sub-hero,
html body .tv-hero,
html body .ap-hero,
html body .food-masthead{
  position:relative !important;
}
/* Dark gradient scrim so any image bg still shows but text is legible */
html body .mcrev-hero::after,
html body .cat-hero::after,
html body .cs-masthead::after,
html body .dir-hero::after,
html body .ev-page-masthead::after,
html body .evs-hero::after,
html body .nf-hero::after,
html body .planner-hero::after,
html body .sh-masthead::after,
html body .story-hero-full::after,
html body .students-hero::after,
html body .sub-hero::after,
html body .tv-hero::after,
html body .ap-hero::after{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.55) 100%) !important;
  pointer-events:none !important;
  z-index:0 !important;
  border-radius:inherit !important;
}
/* All children stay above the scrim */
html body .mcrev-hero > *,
html body .cat-hero > *,
html body .cs-masthead > *,
html body .dir-hero > *,
html body .ev-page-masthead > *,
html body .evs-hero > *,
html body .nf-hero > *,
html body .planner-hero > *,
html body .sh-masthead > *,
html body .story-hero-full > *,
html body .students-hero > *,
html body .sub-hero > *,
html body .tv-hero > *,
html body .ap-hero > *,
html body .food-masthead > *{
  position:relative !important;
  z-index:1 !important;
}
/* Headings — force white with shadow */
html body .mcrev-hero h1, html body .mcrev-hero h2, html body .mcrev-hero .mcrev-h1,
html body .cat-hero h1, html body .cat-hero h2, html body .cat-hero-title,
html body .cs-masthead h1, html body .cs-masthead h2,
html body .dir-hero h1, html body .dir-hero h2,
html body .ev-page-masthead h1, html body .ev-page-masthead h2,
html body .evs-hero h1, html body .evs-hero h2,
html body .nf-hero h1, html body .nf-hero h2,
html body .planner-hero h1, html body .planner-hero h2,
html body .sh-masthead h1, html body .sh-masthead h2, html body .sh-masthead-title,
html body .sh-hero-title,
html body .story-hero-full h1, html body .story-hero-full h2,
html body .students-hero h1, html body .students-hero h2,
html body .sub-hero h1, html body .sub-hero h2,
html body .tv-hero h1, html body .tv-hero h2, html body .tv-hero__title,
html body .ap-hero h1, html body .ap-hero h2, html body .ap-hero__h1,
html body .food-masthead h1, html body .food-masthead h2, html body .food-masthead .fm-headline{
  color:#ffffff !important;
  text-shadow:0 2px 10px rgba(0,0,0,.6) !important;
}
/* Sub copy / description / breadcrumbs / eyebrow */
html body .mcrev-hero p, html body .mcrev-hero .mcrev-hero-meta, html body .mcrev-hero .mcrev-hero-meta *,
html body .cat-hero p, html body .cat-hero-eyebrow, html body .cat-hero-stat-lbl, html body .cat-hero-stat-num,
html body .cs-masthead p,
html body .dir-hero p, html body .dir-hero-desc, html body .dir-hero-eyebrow, html body .dir-hero-stats *,
html body .ev-page-masthead p,
html body .evs-hero p,
html body .nf-hero p,
html body .planner-hero p, html body .planner-hero-content *,
html body .sh-masthead p, html body .sh-masthead-kicker, html body .sh-masthead-sub,
html body .sh-hero-kicker, html body .sh-hero-excerpt,
html body .story-hero-full p,
html body .students-hero p,
html body .sub-hero p, html body .sub-hero-badge,
html body .tv-hero p, html body .tv-hero__sub, html body .tv-hero__meta, html body .tv-hero__pill,
html body .ap-hero p, html body .ap-hero__eyebrow, html body .ap-hero__sub, html body .ap-hero__stat-note, html body .ap-hero-eyebrow, html body .ap-hero-sub, html body .ap-hero-badge,
html body .food-masthead p, html body .food-masthead .fm-lead, html body .food-masthead .fm-eyebrow, html body .food-masthead .fm-stats *{
  color:rgba(255,255,255,.95) !important;
  text-shadow:0 1px 4px rgba(0,0,0,.5) !important;
}
/* Breadcrumbs inside heroes */
html body .mcrev-hero a,
html body .cat-hero a,
html body .cs-masthead a,
html body .dir-hero a,
html body .evs-hero a,
html body .nf-hero a,
html body .sh-masthead a,
html body .sub-hero a{
  color:rgba(255,255,255,.85) !important;
  text-shadow:0 1px 3px rgba(0,0,0,.55) !important;
}



/* v12.6.3 LIGHT MODE SWITCHES + TICKER + DESKTOP RGB LINE */

/* GRID/MAP + DARK/LIGHT switches — readable in light mode */
html body .WOT.wot-light .wot-view-opt,
html body .WOT.wot-light .wot-mode-opt{
  background:#ffffff !important;
  color:#0c0c0e !important;
  border:1px solid rgba(0,0,0,.12) !important;
  text-shadow:none !important;
}
html body .WOT.wot-light .wot-view-opt i,
html body .WOT.wot-light .wot-mode-opt i{
  color:#0c0c0e !important;
}
/* Active (is-on) — invert: black pill, white text */
html body .WOT.wot-light .wot-view-opt.is-on,
html body .WOT.wot-light .wot-mode-opt.is-on{
  background:#0c0c0e !important;
  color:#ffffff !important;
  border-color:#0c0c0e !important;
}
html body .WOT.wot-light .wot-view-opt.is-on i,
html body .WOT.wot-light .wot-mode-opt.is-on i{
  color:#ffffff !important;
}
/* Hover state — soft grey */
html body .WOT.wot-light .wot-view-opt:not(.is-on):hover,
html body .WOT.wot-light .wot-mode-opt:not(.is-on):hover{
  background:#f1f1f5 !important;
  color:#0c0c0e !important;
}

/* LIVE ticker scrolling text — dark on white in light mode */
html body .WOT.wot-light .wot-ticker,
html body .WOT.wot-light .wot-ticker-viewport{
  background:#ffffff !important;
  border:1px solid rgba(0,0,0,.08) !important;
}
html body .WOT.wot-light .wot-ticker-track,
html body .WOT.wot-light .wot-ticker-track *,
html body .WOT.wot-light .wot-ticker-item,
html body .WOT.wot-light .wot-ticker-item *{
  color:#0c0c0e !important;
  text-shadow:none !important;
}
html body .WOT.wot-light .wot-ticker-live{
  background:#E8201A !important;
  color:#ffffff !important;
}
html body .WOT.wot-light .wot-ticker-live-txt{
  color:#ffffff !important;
}

/* RGB line under nav — restore on desktop too */
@media(min-width:901px){
  html body #MOB-HEADER::after,
  html body #TOP-HEADER::after,
  html body #DESK-HEADER::after,
  html body .site-header::after{
    content:'' !important;
    position:absolute !important;
    bottom:0 !important;
    left:0 !important;
    right:0 !important;
    height:1.5px !important;
    background:linear-gradient(90deg,
      #E8201A 0%, #FF7A00 16%, #FFD400 32%,
      #2DB54B 48%, #1A56FF 64%, #7C3AED 80%, #FF1A8C 100%) !important;
    opacity:.8 !important;
    z-index:9 !important;
    pointer-events:none !important;
  }
}



/* v12.6.4 LIGHT MODE SWITCHES - NUCLEAR SPECIFICITY */
/* Selector adds .wot-mini-label parent and #WOT id-equivalent specificity boost */
html body section#WOT.WOT.wot-light .wot-mini-label .wot-view-opt,
html body section#WOT.WOT.wot-light .wot-mini-label .wot-mode-opt,
html body section.WOT.wot-light .wot-mini-label .wot-view-opt,
html body section.WOT.wot-light .wot-mini-label .wot-mode-opt,
html body .WOT.wot-light .wot-mini-label .wot-view-opt,
html body .WOT.wot-light .wot-mini-label .wot-mode-opt,
html body .WOT.wot-light .wot-view-switch .wot-view-opt,
html body .WOT.wot-light .wot-mode-switch .wot-mode-opt{
  background:#ffffff !important;
  color:#0c0c0e !important;
  border:1px solid rgba(0,0,0,.15) !important;
  text-shadow:none !important;
  opacity:1 !important;
}
html body .WOT.wot-light .wot-mini-label .wot-view-opt i,
html body .WOT.wot-light .wot-mini-label .wot-mode-opt i,
html body .WOT.wot-light .wot-view-switch .wot-view-opt i,
html body .WOT.wot-light .wot-mode-switch .wot-mode-opt i,
html body .WOT.wot-light .wot-mini-label .wot-view-opt span,
html body .WOT.wot-light .wot-mini-label .wot-mode-opt span,
html body .WOT.wot-light .wot-view-switch .wot-view-opt span,
html body .WOT.wot-light .wot-mode-switch .wot-mode-opt span{
  color:#0c0c0e !important;
  opacity:1 !important;
}
/* Active state - inverted */
html body section.WOT.wot-light .wot-mini-label .wot-view-opt.is-on,
html body section.WOT.wot-light .wot-mini-label .wot-mode-opt.is-on,
html body .WOT.wot-light .wot-mini-label .wot-view-opt.is-on,
html body .WOT.wot-light .wot-mini-label .wot-mode-opt.is-on,
html body .WOT.wot-light .wot-view-switch .wot-view-opt.is-on,
html body .WOT.wot-light .wot-mode-switch .wot-mode-opt.is-on{
  background:#0c0c0e !important;
  color:#ffffff !important;
  border-color:#0c0c0e !important;
}
html body .WOT.wot-light .wot-view-opt.is-on i,
html body .WOT.wot-light .wot-mode-opt.is-on i,
html body .WOT.wot-light .wot-view-opt.is-on span,
html body .WOT.wot-light .wot-mode-opt.is-on span{
  color:#ffffff !important;
}
/* Hover */
html body .WOT.wot-light .wot-view-opt:not(.is-on):hover,
html body .WOT.wot-light .wot-mode-opt:not(.is-on):hover{
  background:#f1f1f5 !important;
  color:#0c0c0e !important;
  border-color:rgba(0,0,0,.25) !important;
}

/* LIVE TICKER - dark text on white viewport in light mode */
html body section.WOT.wot-light .wot-ticker,
html body .WOT.wot-light .wot-ticker{
  background:#ffffff !important;
  border:1px solid rgba(0,0,0,.08) !important;
}
html body section.WOT.wot-light .wot-ticker-viewport,
html body .WOT.wot-light .wot-ticker-viewport{
  background:#ffffff !important;
}
html body section.WOT.wot-light .wot-ticker-track,
html body section.WOT.wot-light .wot-ticker-track *,
html body section.WOT.wot-light .wot-ticker-item,
html body section.WOT.wot-light .wot-ticker-item *,
html body .WOT.wot-light .wot-ticker-track,
html body .WOT.wot-light .wot-ticker-track *,
html body .WOT.wot-light .wot-ticker-item,
html body .WOT.wot-light .wot-ticker-item *{
  color:#0c0c0e !important;
  text-shadow:none !important;
  opacity:1 !important;
}
html body .WOT.wot-light .wot-ticker-live{
  background:#E8201A !important;
  color:#ffffff !important;
}
html body .WOT.wot-light .wot-ticker-live-txt,
html body .WOT.wot-light .wot-ticker-dot{
  color:#ffffff !important;
}



/* v12.6.5 EXEMPT WHITE-BG / LIGHT-CONTENT HEROES FROM WHITEWASH */

/* Kill the dark scrim on heroes inside light-content/white-bg parents */
html body main.white-bg .mcrev-hero::after,
html body main.white-bg .cat-hero::after,
html body main.white-bg .cs-masthead::after,
html body main.white-bg .dir-hero::after,
html body main.white-bg .ev-page-masthead::after,
html body main.white-bg .evs-hero::after,
html body main.white-bg .nf-hero::after,
html body main.white-bg .planner-hero::after,
html body main.white-bg .sh-masthead::after,
html body main.white-bg .story-hero-full::after,
html body main.white-bg .students-hero::after,
html body main.white-bg .sub-hero::after,
html body main.white-bg .tv-hero::after,
html body main.white-bg .ap-hero::after,
html body main.light-content .mcrev-hero::after,
html body main.light-content .cat-hero::after,
html body main.light-content .cs-masthead::after,
html body main.light-content .dir-hero::after,
html body main.light-content .ev-page-masthead::after,
html body main.light-content .evs-hero::after,
html body main.light-content .nf-hero::after,
html body main.light-content .planner-hero::after,
html body main.light-content .sh-masthead::after,
html body main.light-content .story-hero-full::after,
html body main.light-content .students-hero::after,
html body main.light-content .sub-hero::after,
html body main.light-content .tv-hero::after,
html body main.light-content .ap-hero::after{
  display:none !important;
  content:none !important;
  background:none !important;
  opacity:0 !important;
}

/* Restore DARK text on heroes inside light-content/white-bg parents */
html body main.white-bg .ev-page-masthead h1,
html body main.white-bg .ev-page-masthead h2,
html body main.white-bg .ev-page-masthead .epm-clean-title,
html body main.light-content .ev-page-masthead h1,
html body main.light-content .ev-page-masthead h2,
html body main.light-content .ev-page-masthead .epm-clean-title,
html body main.white-bg .cat-hero h1,
html body main.white-bg .cat-hero h2,
html body main.white-bg .cat-hero-title,
html body main.light-content .cat-hero h1,
html body main.light-content .cat-hero h2,
html body main.light-content .cat-hero-title,
html body main.white-bg .mcrev-hero h1,
html body main.white-bg .mcrev-hero .mcrev-h1,
html body main.light-content .mcrev-hero h1,
html body main.light-content .mcrev-hero .mcrev-h1,
html body main.white-bg .evs-hero h1,
html body main.white-bg .evs-hero h2,
html body main.light-content .evs-hero h1,
html body main.light-content .evs-hero h2{
  color:#0f172a !important;
  text-shadow:none !important;
}
html body main.white-bg .ev-page-masthead p,
html body main.white-bg .ev-page-masthead .epm-clean-sub,
html body main.light-content .ev-page-masthead p,
html body main.light-content .ev-page-masthead .epm-clean-sub,
html body main.white-bg .cat-hero p,
html body main.white-bg .cat-hero-eyebrow,
html body main.light-content .cat-hero p,
html body main.light-content .cat-hero-eyebrow,
html body main.white-bg .mcrev-hero p,
html body main.white-bg .mcrev-hero .mcrev-hero-meta *,
html body main.light-content .mcrev-hero p,
html body main.light-content .mcrev-hero .mcrev-hero-meta *,
html body main.white-bg .evs-hero p,
html body main.light-content .evs-hero p{
  color:rgba(15,23,42,.78) !important;
  text-shadow:none !important;
}
html body main.white-bg .mcrev-hero a,
html body main.white-bg .ev-page-masthead a,
html body main.white-bg .cat-hero a,
html body main.light-content .mcrev-hero a,
html body main.light-content .ev-page-masthead a,
html body main.light-content .cat-hero a{
  color:#0f172a !important;
  text-shadow:none !important;
}



/* v12.6.8 DRAWER PEEK FIX - handle was 44px from a11y rule, eating the search */
@media(max-width:900px){
  
  html body #mcrd-handle{
    min-height:0 !important;
    height:auto !important;
    padding:6px 0 4px !important;
  }
}
@media(max-width:900px){
  #WRAP{ padding-bottom:70px !important; }
}
html body #mcrd-handle{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}



/* v12.6.11 LIGHT-MODE SWITCH TEXT + MANCHESTER TITLE BLACK */
/* Children of switches were color:white (parent was wot-view-switch not wot-mini-label) */
html body .WOT.wot-light .wot-view-switch .wot-view-opt i,
html body .WOT.wot-light .wot-view-switch .wot-view-opt span,
html body .WOT.wot-light .wot-mode-switch .wot-mode-opt i,
html body .WOT.wot-light .wot-mode-switch .wot-mode-opt span{
  color:#0c0c0e !important;
}
/* Active (is-on) - inverted: dark bg + white children */
html body .WOT.wot-light .wot-view-switch .wot-view-opt.is-on,
html body .WOT.wot-light .wot-mode-switch .wot-mode-opt.is-on{
  background:#0c0c0e !important;
  color:#ffffff !important;
  border-color:#0c0c0e !important;
}
html body .WOT.wot-light .wot-view-switch .wot-view-opt.is-on i,
html body .WOT.wot-light .wot-view-switch .wot-view-opt.is-on span,
html body .WOT.wot-light .wot-mode-switch .wot-mode-opt.is-on i,
html body .WOT.wot-light .wot-mode-switch .wot-mode-opt.is-on span{
  color:#ffffff !important;
}
/* Manchester title in Explore section - black not purple */
html body .mob-explore-section .sh-title,
html body .mob-explore-section h2.sh-title{
  color:#0c0c0e !important;
}



/* v12.6.12 NUCLEAR LIGHT-MODE FIX - switches + title + section-white text */

/* ACTIVE switch in light mode - dark bg + white children. Use ID + section for max specificity */
html body section#WOT.WOT.wot-light .wot-view-switch button.wot-view-opt.is-on,
html body section#WOT.WOT.wot-light .wot-mode-switch button.wot-mode-opt.is-on,
html body section.WOT.wot-light .wot-view-switch button.wot-view-opt.is-on,
html body section.WOT.wot-light .wot-mode-switch button.wot-mode-opt.is-on{
  background:#0a0a0d !important;
  background-color:#0a0a0d !important;
  color:#fff !important;
  border-color:#0a0a0d !important;
}
html body section.WOT.wot-light .wot-view-switch button.wot-view-opt.is-on i,
html body section.WOT.wot-light .wot-view-switch button.wot-view-opt.is-on span,
html body section.WOT.wot-light .wot-mode-switch button.wot-mode-opt.is-on i,
html body section.WOT.wot-light .wot-mode-switch button.wot-mode-opt.is-on span{
  color:#fff !important;
}

/* Manchester title in mob-explore-section - black not purple. ID-level specificity */
html body main#CENTRE .mob-explore-section .sh-title,
html body main .mob-explore-section h2.sh-title,
html body section.mob-explore-section .sh-title,
html body .mob-explore-section h2.sh-title{
  color:#0c0c0e !important;
}

/* WHITE-ON-WHITE section-white text fix - any descendant text in light sections gets dark */
html body section.section-white .SC,
html body section.section-white .SC *:not(.btn):not([class*=pill]):not([class*=chip]),
html body section.section-white .sport-card,
html body section.section-white .sport-card *,
html body section.section-white .news-card,
html body section.section-white .news-card .t,
html body section.section-white .news-card .nm,
html body section.section-white .news-card .title{
  color:#0c0c0e !important;
}
html body section.section-white .SC .sub,
html body section.section-white .SC .meta,
html body section.section-white .SC .v,
html body section.section-white .sport-card .sub,
html body section.section-white .sport-card .meta{
  color:rgba(0,0,0,.55) !important;
}

/* WOT pill hover - kill any white overlay that appears on hover in light mode */
html body section.WOT.wot-light .wot-ev-pill:hover,
html body section.WOT.wot-light .wot-tg-pill:hover,
html body section.WOT.wot-light .wot-tg-row:hover{
  background-color:transparent !important;
  background-image:none !important;
}



/* v12.6.13 WOT PILL: bigger title + drop shadow for readability */
html body section.WOT .wot-ev-pill .wot-ev-t,
html body section.WOT .wot-ev-pill .wot-pill-t,
html body section.WOT .wot-ev-pill .t,
html body section.WOT .wot-ev-pill b{
  font-size:.78rem !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  letter-spacing:.1px !important;
  text-shadow:0 1px 2px rgba(0,0,0,.55), 0 0 1px rgba(0,0,0,.35) !important;
  -webkit-font-smoothing:antialiased !important;
}
html body section.WOT .wot-ev-pill .wot-ev-v,
html body section.WOT .wot-ev-pill .wot-pill-v,
html body section.WOT .wot-ev-pill .v,
html body section.WOT .wot-ev-pill .sub{
  font-size:.55rem !important;
  text-shadow:0 1px 1px rgba(0,0,0,.4) !important;
}
/* Light mode: keep title dark text but with subtle white shadow for contrast */
html body section.WOT.wot-light .wot-ev-pill .wot-ev-t,
html body section.WOT.wot-light .wot-ev-pill b{
  text-shadow:0 1px 0 rgba(255,255,255,.45), 0 0 2px rgba(255,255,255,.6) !important;
}



/* v12.6.14 WOT: per-hour event counter + sticky scroll-to-NOW button */
.wot-tg-time{ position:relative; }
.wot-tg-count{
  display:inline-flex; align-items:center; justify-content:center;
  margin-left:6px; min-width:18px; height:14px; padding:0 5px;
  font-size:.42rem; font-weight:800; letter-spacing:.04em;
  color:rgba(255,255,255,.55);
  background:rgba(255,255,255,.08);
  border-radius:999px;
  vertical-align:middle;
}
.wot-tg-row.wot-now .wot-tg-count{
  color:#fff; background:rgba(232,32,26,.55);
}
.wot-light .wot-tg-count{
  color:rgba(0,0,0,.55); background:rgba(0,0,0,.07);
}
.wot-light .wot-tg-row.wot-now .wot-tg-count{
  color:#fff; background:rgba(232,32,26,.85);
}

/* Floating Scroll-to-NOW pill */
.wot-now-fab{
  position:fixed; left:50%; bottom:88px; transform:translateX(-50%) translateY(20px);
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px 10px 14px;
  background:linear-gradient(135deg, #E8201A 0%, #FF6B00 100%);
  color:#fff; font-size:.65rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  border-radius:999px; border:none; cursor:pointer;
  box-shadow:0 8px 24px rgba(232,32,26,.45), 0 0 0 1px rgba(255,255,255,.08) inset;
  opacity:0; pointer-events:none;
  transition:opacity .25s ease, transform .25s cubic-bezier(.22,1,.36,1);
  z-index:850;
}
.wot-now-fab.show{ opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.wot-now-fab .wot-now-dot{
  width:8px; height:8px; border-radius:50%; background:#fff;
  box-shadow:0 0 8px rgba(255,255,255,.8);
  animation:wot-now-pulse 1.6s ease infinite;
}
@keyframes wot-now-pulse{
  0%,100%{opacity:1; transform:scale(1)}
  50%{opacity:.5; transform:scale(.7)}
}
.wot-now-fab:hover{ filter:brightness(1.08); }
@media(max-width:640px){
  .wot-now-fab{ bottom:84px; padding:9px 16px 9px 12px; font-size:.6rem; }
}



/* v12.6.17 KILL PILL HOVER WHITE OVERLAY */
/* The ::before pseudo or filter is causing a wash on hover. Suppress completely. */
html body section.WOT .wot-ev-pill:hover,
html body section.WOT.wot-light .wot-ev-pill:hover{
  filter:none !important;
  background-image:none !important;
}
html body section.WOT .wot-ev-pill:hover::before,
html body section.WOT .wot-ev-pill:hover::after,
html body section.WOT .wot-ev-pill.active::before,
html body section.WOT .wot-ev-pill.active::after,
html body section.WOT.wot-light .wot-ev-pill:hover::before,
html body section.WOT.wot-light .wot-ev-pill:hover::after,
html body section.WOT.wot-light .wot-ev-pill.active::before,
html body section.WOT.wot-light .wot-ev-pill.active::after{
  opacity:0 !important;
  background:none !important;
  background-image:none !important;
  display:none !important;
  content:none !important;
}
/* Active state - keep base color, just slight darken via box-shadow */
html body section.WOT .wot-ev-pill.active,
html body section.WOT.wot-light .wot-ev-pill.active{
  background-image:none !important;
  filter:brightness(.92) !important;
}



/* v12.6.18 FIX hour-counter chip pushing time text to single 'M' */
html body section.WOT .wot-tg-time{
  white-space:normal !important;
  line-height:1.1 !important;
}
html body section.WOT .wot-tg-time .wot-tg-count{
  display:block !important;
  margin:3px 0 0 0 !important;
  width:fit-content !important;
}



/* v12.6.19 PAST = GHOST + 3-HOUR BAND RHYTHM */

/* Past hours: desaturated + lower opacity. Future feels alive, past feels archived */
html body section.WOT .wot-tg-row.wot-past .wot-ev-pill{
  filter:grayscale(.55) brightness(.85) !important;
  opacity:.45 !important;
}
html body section.WOT.wot-light .wot-tg-row.wot-past .wot-ev-pill{
  filter:grayscale(.55) brightness(1.05) !important;
  opacity:.5 !important;
}
html body section.WOT .wot-tg-row.wot-past .wot-tg-time,
html body section.WOT .wot-tg-row.wot-past .wot-tg-count{
  opacity:.5 !important;
}

/* 3-hour band dividers - subtle thicker line above each band start */
/* Bands: 6am morning, 9am, 12pm noon, 3pm afternoon, 6pm evening, 9pm, 12am late */
html body section.WOT .wot-tg-row[data-h="6"],
html body section.WOT .wot-tg-row[data-h="9"],
html body section.WOT .wot-tg-row[data-h="12"],
html body section.WOT .wot-tg-row[data-h="15"],
html body section.WOT .wot-tg-row[data-h="18"],
html body section.WOT .wot-tg-row[data-h="21"],
html body section.WOT .wot-tg-row[data-h="0"]{
  border-top:1px solid rgba(255,255,255,.10) !important;
  margin-top:6px !important;
  padding-top:6px !important;
}
html body section.WOT.wot-light .wot-tg-row[data-h="6"],
html body section.WOT.wot-light .wot-tg-row[data-h="9"],
html body section.WOT.wot-light .wot-tg-row[data-h="12"],
html body section.WOT.wot-light .wot-tg-row[data-h="15"],
html body section.WOT.wot-light .wot-tg-row[data-h="18"],
html body section.WOT.wot-light .wot-tg-row[data-h="21"],
html body section.WOT.wot-light .wot-tg-row[data-h="0"]{
  border-top-color:rgba(0,0,0,.08) !important;
}



/* v12.6.20 STACK time + count chip vertically (parent was flex-row squishing text) */
html body section.WOT .wot-tg-time{
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
}
html body section.WOT .wot-tg-time .wot-tg-count{
  margin:3px 0 0 0 !important;
  align-self:flex-start !important;
}



/* v12.6.21 LIGHT MODE DEPTH - layered greys + shadows + hairlines (Apple Calendar feel) */

/* Section: subtle off-white gradient, not flat */
html body section.WOT.wot-light{
  background:
    linear-gradient(180deg, #fafafb 0%, #f4f4f6 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,1),
    inset 0 -1px 0 rgba(0,0,0,.04) !important;
}

/* Inner timeline frame - slightly recessed feel */
html body section.WOT.wot-light .wot-tg{
  background:#ffffff !important;
  border:1px solid rgba(0,0,0,.06) !important;
  border-radius:14px !important;
  box-shadow:
    0 1px 2px rgba(0,0,0,.03),
    0 4px 16px rgba(0,0,0,.04),
    0 12px 40px rgba(0,0,0,.05) !important;
  overflow:hidden !important;
}

/* Time gutter: very light grey strip with right hairline divider */
html body section.WOT.wot-light .wot-tg-time{
  background:linear-gradient(180deg, #f7f7f9 0%, #f1f1f3 100%) !important;
  border-right:1px solid rgba(0,0,0,.05) !important;
  color:rgba(0,0,0,.55) !important;
  font-weight:700 !important;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.6) !important;
}

/* Row hairline divider (between hours) */
html body section.WOT.wot-light .wot-tg-row{
  border-bottom:1px solid rgba(0,0,0,.04) !important;
}
html body section.WOT.wot-light .wot-tg-row:last-child{ border-bottom:none !important; }

/* Pills: keep their category colour fill, add proper depth shadows + inner highlight */
html body section.WOT.wot-light .wot-ev-pill{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 1px 2px rgba(0,0,0,.06),
    0 3px 8px rgba(0,0,0,.08),
    0 8px 22px rgba(0,0,0,.06) !important;
  border:1px solid rgba(0,0,0,.04) !important;
}
html body section.WOT.wot-light .wot-ev-pill:hover{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 2px 4px rgba(0,0,0,.08),
    0 6px 14px rgba(0,0,0,.10),
    0 14px 32px rgba(0,0,0,.10) !important;
  transform:translateY(-1px) !important;
}

/* Hour count chip: lifted card feel */
html body section.WOT.wot-light .wot-tg-count{
  background:#ffffff !important;
  color:rgba(0,0,0,.6) !important;
  border:1px solid rgba(0,0,0,.06) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.05) !important;
}
html body section.WOT.wot-light .wot-tg-row.wot-now .wot-tg-count{
  background:#E8201A !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 2px 6px rgba(232,32,26,.4), 0 0 0 3px rgba(232,32,26,.12) !important;
}

/* 3-hour band divider stronger in light mode for visible rhythm */
html body section.WOT.wot-light .wot-tg-row[data-h="6"],
html body section.WOT.wot-light .wot-tg-row[data-h="9"],
html body section.WOT.wot-light .wot-tg-row[data-h="12"],
html body section.WOT.wot-light .wot-tg-row[data-h="15"],
html body section.WOT.wot-light .wot-tg-row[data-h="18"],
html body section.WOT.wot-light .wot-tg-row[data-h="21"],
html body section.WOT.wot-light .wot-tg-row[data-h="0"]{
  border-top:1px solid rgba(0,0,0,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,1) !important;
  margin-top:0 !important;
  padding-top:0 !important;
}



/* v12.6.22 STRIP outer frame chrome from v12.6.21, keep depth INSIDE grid */
html body section.WOT.wot-light{
  background:#ffffff !important;
  box-shadow:none !important;
}
html body section.WOT.wot-light .wot-tg{
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* INSIDE the grid - real depth */

/* Zebra striping: alternating very-subtle greys for hour rows */
html body section.WOT.wot-light .wot-tg-row{
  background:#fafafb !important;
  border-bottom:1px solid rgba(0,0,0,.05) !important;
  position:relative !important;
}
html body section.WOT.wot-light .wot-tg-row:nth-child(even){
  background:#f4f4f6 !important;
}

/* NOW row - distinct lift, soft red wash */
html body section.WOT.wot-light .wot-tg-row.wot-now{
  background:linear-gradient(180deg, #fff5f5 0%, #ffeaea 100%) !important;
  box-shadow:
    inset 3px 0 0 #E8201A,
    inset 0 1px 0 rgba(255,255,255,1) !important;
}

/* Time gutter - soft inset shadow makes it feel recessed */
html body section.WOT.wot-light .wot-tg-time{
  background:rgba(0,0,0,.025) !important;
  border-right:1px solid rgba(0,0,0,.06) !important;
  box-shadow:inset -1px 0 1px rgba(0,0,0,.03) !important;
  color:rgba(0,0,0,.55) !important;
  font-weight:700 !important;
}

/* PILLS - richer depth via stacked shadows + subtle inner highlight */
html body section.WOT.wot-light .wot-ev-pill{
  border:1px solid rgba(0,0,0,.06) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    inset 0 -1px 0 rgba(0,0,0,.06),
    0 1px 1px rgba(0,0,0,.04),
    0 2px 4px rgba(0,0,0,.06),
    0 6px 14px rgba(0,0,0,.07) !important;
}
html body section.WOT.wot-light .wot-ev-pill:hover{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    inset 0 -1px 0 rgba(0,0,0,.06),
    0 1px 2px rgba(0,0,0,.06),
    0 4px 10px rgba(0,0,0,.08),
    0 12px 28px rgba(0,0,0,.10) !important;
  transform:translateY(-1px) !important;
}

/* 3-hour band: stronger divider INSIDE the grid as a real visual break */
html body section.WOT.wot-light .wot-tg-row[data-h="6"],
html body section.WOT.wot-light .wot-tg-row[data-h="9"],
html body section.WOT.wot-light .wot-tg-row[data-h="12"],
html body section.WOT.wot-light .wot-tg-row[data-h="15"],
html body section.WOT.wot-light .wot-tg-row[data-h="18"],
html body section.WOT.wot-light .wot-tg-row[data-h="21"],
html body section.WOT.wot-light .wot-tg-row[data-h="0"]{
  border-top:2px solid rgba(0,0,0,.09) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 -1px 0 rgba(0,0,0,.04) !important;
}

/* Hour count chip - keep the lift */
html body section.WOT.wot-light .wot-tg-count{
  background:#ffffff !important;
  color:rgba(0,0,0,.6) !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.06) !important;
}
html body section.WOT.wot-light .wot-tg-row.wot-now .wot-tg-count{
  background:#E8201A !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 2px 6px rgba(232,32,26,.4) !important;
}



/* v12.6.23 ALIGN WOT LIGHT MODE WITH /food (Apple-feel restraint) */

/* Section bg: subtle off-white like /food page chrome */
html body section.WOT.wot-light{ background:#fafafa !important; }

/* Lose the heavy zebra striping - use a subtle warm grey wash instead */
html body section.WOT.wot-light .wot-tg-row{
  background:transparent !important;
  border-bottom:1px solid rgba(0,0,0,.045) !important;
}
html body section.WOT.wot-light .wot-tg-row:nth-child(even){
  background:rgba(0,0,0,.012) !important;
}

/* Time gutter: lighter, hairline divider only */
html body section.WOT.wot-light .wot-tg-time{
  background:transparent !important;
  border-right:1px solid rgba(0,0,0,.06) !important;
  box-shadow:none !important;
  color:rgba(0,0,0,.5) !important;
  font-weight:600 !important;
}

/* PILLS: keep their colours, refine shadow to match /food card recipe */
html body section.WOT.wot-light .wot-ev-pill{
  border:1px solid rgba(0,0,0,.05) !important;
  box-shadow:
    0 1px 2px rgba(0,0,0,.04),
    0 4px 12px rgba(0,0,0,.05) !important;
  border-radius:10px !important;
}
html body section.WOT.wot-light .wot-ev-pill:hover{
  box-shadow:
    0 1px 2px rgba(0,0,0,.05),
    0 8px 22px rgba(0,0,0,.10) !important;
  transform:translateY(-1px) !important;
  border-color:rgba(0,0,0,.07) !important;
}

/* NOW row: less heavy red wash, use a clean green-style left accent like /food JUST OPENED */
html body section.WOT.wot-light .wot-tg-row.wot-now{
  background:rgba(232,32,26,.04) !important;
  box-shadow:inset 3px 0 0 #E8201A !important;
}

/* 3-hour band: hairline only, no shadow inset (looked too letterpress) */
html body section.WOT.wot-light .wot-tg-row[data-h="6"],
html body section.WOT.wot-light .wot-tg-row[data-h="9"],
html body section.WOT.wot-light .wot-tg-row[data-h="12"],
html body section.WOT.wot-light .wot-tg-row[data-h="15"],
html body section.WOT.wot-light .wot-tg-row[data-h="18"],
html body section.WOT.wot-light .wot-tg-row[data-h="21"],
html body section.WOT.wot-light .wot-tg-row[data-h="0"]{
  border-top:1px solid rgba(0,0,0,.10) !important;
  box-shadow:none !important;
}

/* Hour count chip: matches /food chip style - white with thin border */
html body section.WOT.wot-light .wot-tg-count{
  background:#fff !important;
  color:rgba(0,0,0,.55) !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.04) !important;
  font-weight:700 !important;
}

/* Filter pills (top of WOT) match /food pill style if not already */
html body section.WOT.wot-light .wot-flt{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.03) !important;
  color:rgba(0,0,0,.65) !important;
  font-weight:600 !important;
}



/* v12.6.25 nav-bar-hosted toggles - keep ORIGINAL switch size, just position them */
#MOB-HEADER.mob-hdr-with-toggles{
  display:flex; align-items:center;
  gap:8px;
  padding:0 8px;
}
#MOB-HEADER .mob-hdr-tog{ display:flex; align-items:center; flex:0 0 auto; }
#MOB-HEADER .mob-hdr-tog-left{ order:1; }
#MOB-HEADER .mob-hdr-logo{ order:2; flex:1 1 auto; justify-content:center; display:flex; }
#MOB-HEADER .mob-hdr-tog-right{ order:3; }
#MOB-HEADER .mob-hdr-act.mob-hdr-menu{ order:0; }
#MOB-HEADER .mob-hdr-act:not(.mob-hdr-menu){ order:4; }

/* Hide empty wot-mini-label after toggles moved out */
section.WOT .wot-mini-label:empty{ display:none !important; }



/* v12.6.27 WOT pill density slider + gate nav-toggle relocation to mobile */

/* The relocated toggles in MOB-HEADER must NEVER show on desktop */
@media(min-width:901px){
  #MOB-HEADER.mob-hdr-with-toggles{ display:none !important; }
}

/* Density slider control */
section.WOT .wot-density{
  position:absolute; left:10px; bottom:10px;
  z-index:5;
  display:inline-flex; align-items:center; gap:8px;
  padding:5px 10px 5px 8px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 4px 14px rgba(0,0,0,.25);
  font-size:.5rem; font-weight:700; letter-spacing:.04em;
  color:rgba(255,255,255,.65);
}
section.WOT.wot-light .wot-density{
  background:#ffffff;
  border:1px solid rgba(0,0,0,.08);
  color:rgba(0,0,0,.6);
  box-shadow:0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.06);
}
section.WOT .wot-density-ico i{ font-size:.55rem; opacity:.7; }
section.WOT .wot-density-range{
  -webkit-appearance:none; appearance:none;
  width:90px; height:3px;
  background:rgba(255,255,255,.18);
  border-radius:999px; outline:none;
  cursor:pointer; padding:0; margin:0;
}
section.WOT.wot-light .wot-density-range{ background:rgba(0,0,0,.12); }
section.WOT .wot-density-range::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:14px; height:14px; border-radius:50%;
  background:#fff;
  border:1px solid rgba(0,0,0,.25);
  box-shadow:0 1px 3px rgba(0,0,0,.4);
  cursor:grab;
}
section.WOT .wot-density-range::-moz-range-thumb{
  width:14px; height:14px; border-radius:50%;
  background:#fff; border:1px solid rgba(0,0,0,.25);
  box-shadow:0 1px 3px rgba(0,0,0,.4); cursor:grab;
}
section.WOT .wot-density-val{ min-width:30px; text-align:right; font-variant-numeric:tabular-nums; }

/* Apply --wot-pill-scale to pills + labels */
section.WOT{ --wot-pill-scale:1; }
section.WOT .wot-ev-pill{
  padding:calc(5px * var(--wot-pill-scale)) calc(8px * var(--wot-pill-scale)) calc(5px * var(--wot-pill-scale)) calc(7px * var(--wot-pill-scale)) !important;
  min-width:calc(90px * var(--wot-pill-scale)) !important;
  max-width:calc(160px * var(--wot-pill-scale)) !important;
}
section.WOT .wot-ev-pill .wot-ev-t,
section.WOT .wot-ev-pill .wot-pill-t,
section.WOT .wot-ev-pill b{
  font-size:calc(.78rem * var(--wot-pill-scale)) !important;
}
section.WOT .wot-ev-pill .wot-ev-v,
section.WOT .wot-ev-pill .wot-pill-v,
section.WOT .wot-ev-pill .v,
section.WOT .wot-ev-pill .sub{
  font-size:calc(.55rem * var(--wot-pill-scale)) !important;
}

/* Pad the WOT bottom so the floating slider doesn't overlap last row */
section.WOT{ padding-bottom:60px !important; }



/* v12.6.31 FIX density slider - target the ACTUAL class names .wot-ep-title and .wot-ep-sub */
html body section.WOT .wot-ev-pill .wot-ep-title{
  font-size:calc(.7rem * var(--wot-pill-scale, 1)) !important;
  line-height:1.2 !important;
}
html body section.WOT .wot-ev-pill .wot-ep-sub{
  font-size:calc(.5rem * var(--wot-pill-scale, 1)) !important;
}
/* Also let pill heights / paddings / widths flex with the scale */
html body section.WOT .wot-ev-pill{
  min-width:calc(110px * var(--wot-pill-scale, 1)) !important;
  max-width:calc(180px * var(--wot-pill-scale, 1)) !important;
  padding:calc(5px * var(--wot-pill-scale, 1)) calc(10px * var(--wot-pill-scale, 1)) calc(5px * var(--wot-pill-scale, 1)) calc(8px * var(--wot-pill-scale, 1)) !important;
}



/* v12.6.34 HALF-SIZE switches IN NAV ONLY (leave WOT section untouched) */
#MOB-HEADER .wot-view-switch,
#MOB-HEADER .wot-mode-switch{
  padding:1px !important;
  gap:0 !important;
  height:auto !important;
}
#MOB-HEADER .wot-view-opt,
#MOB-HEADER .wot-mode-opt{
  height:14px !important;
  min-height:14px !important;
  max-height:14px !important;
  padding:0 5px !important;
  font-size:.36rem !important;
  letter-spacing:.04em !important;
  gap:2px !important;
}
#MOB-HEADER .wot-view-opt span,
#MOB-HEADER .wot-mode-opt span{ font-size:.36rem !important; }
#MOB-HEADER .wot-view-opt i,
#MOB-HEADER .wot-mode-opt i{ font-size:.38rem !important; }



/* v12.6.35 SWITCH active = grey not white (dark mode) */
html body section.WOT:not(.wot-light) .wot-view-opt.is-on,
html body section.WOT:not(.wot-light) .wot-mode-opt.is-on,
#MOB-HEADER .wot-view-opt.is-on,
#MOB-HEADER .wot-mode-opt.is-on{
  background:rgba(255,255,255,.22) !important;
  color:#fff !important;
}
html body section.WOT:not(.wot-light) .wot-view-opt.is-on i,
html body section.WOT:not(.wot-light) .wot-view-opt.is-on span,
html body section.WOT:not(.wot-light) .wot-mode-opt.is-on i,
html body section.WOT:not(.wot-light) .wot-mode-opt.is-on span,
#MOB-HEADER .wot-view-opt.is-on i,
#MOB-HEADER .wot-view-opt.is-on span,
#MOB-HEADER .wot-mode-opt.is-on i,
#MOB-HEADER .wot-mode-opt.is-on span{
  color:#fff !important;
}



/* v12.6.37 GTA RADAR thumbnail */
section.WOT .wot-view-switch{ display:none !important; }
#MOB-HEADER .wot-view-switch,
#MOB-HEADER .mob-hdr-tog-right{ display:none !important; }

section.WOT .wot-radar{
  position:absolute; top:14px; right:14px;
  width:78px; height:78px;
  z-index:6;
  padding:0; border:none; background:transparent;
  cursor:pointer;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.45));
  transition:transform .18s ease, filter .18s ease;
}
section.WOT .wot-radar:hover{ transform:scale(1.06); filter:drop-shadow(0 8px 22px rgba(0,0,0,.55)); }
section.WOT .wot-radar:active{ transform:scale(0.97); }

section.WOT .wot-radar-ring{
  position:absolute; inset:-3px;
  border-radius:50%;
  background:conic-gradient(from 0deg, #1A56FF 0%, #1A56FF 45%, #E8201A 50%, #E8201A 95%, #1A56FF 100%);
  opacity:.85;
  z-index:0;
  filter:blur(.4px);
}
section.WOT .wot-radar:hover .wot-radar-ring{ animation:wot-radar-spin 6s linear infinite; }
@keyframes wot-radar-spin{ to{ transform:rotate(360deg); } }

section.WOT .wot-radar-bg{
  position:absolute; inset:3px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 60%, rgba(255,255,255,.08) 0%, transparent 60%),
    var(--dotz-radar-tile-dark) center/cover,
    #1a1a22;
  box-shadow:inset 0 0 12px rgba(0,0,0,.6), inset 0 0 0 2px rgba(0,0,0,.7);
  overflow:hidden;
}
section.WOT.wot-light .wot-radar-bg{
  background:
    radial-gradient(circle at 50% 60%, rgba(0,0,0,.06) 0%, transparent 60%),
    var(--dotz-radar-tile-light) center/cover,
    #efefef;
  box-shadow:inset 0 0 12px rgba(0,0,0,.15), inset 0 0 0 2px rgba(255,255,255,.6);
}

section.WOT .wot-radar-me{
  position:absolute; left:50%; top:50%;
  width:8px; height:8px; margin:-4px 0 0 -4px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 2px rgba(232,32,26,.85), 0 0 10px rgba(232,32,26,.6);
  z-index:3;
  animation:wot-radar-pulse 1.6s ease-in-out infinite;
}
@keyframes wot-radar-pulse{
  0%,100%{ transform:scale(1); }
  50%   { transform:scale(1.18); }
}

section.WOT .wot-radar-pin{
  position:absolute; width:7px; height:7px;
  border-radius:50%; z-index:2;
  box-shadow:0 0 0 1px rgba(0,0,0,.6);
}
section.WOT .wot-radar-pin-1{ top:30%; left:40%; background:#FF6B00; }
section.WOT .wot-radar-pin-2{ top:42%; left:62%; background:#7C3AED; }
section.WOT .wot-radar-pin-3{ top:58%; left:35%; background:#2DB54B; }
section.WOT .wot-radar-pin-4{ top:68%; left:55%; background:#E8201A; }
section.WOT .wot-radar-pin-5{ top:38%; left:25%; background:#1A56FF; }

section.WOT .wot-radar-n{
  position:absolute; top:6px; right:8px; z-index:4;
  font-size:.5rem; font-weight:900; letter-spacing:.04em;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.85);
}
section.WOT.wot-light .wot-radar-n{ color:#0c0c0e; text-shadow:0 1px 0 rgba(255,255,255,.8); }

section.WOT.wot-view-map .wot-radar{ display:none !important; }

/* Back-to-grid pill */
section.WOT .wot-map-back{
  position:absolute; top:14px; left:14px; z-index:6;
  display:none; align-items:center; gap:6px;
  padding:6px 12px 6px 10px;
  background:rgba(0,0,0,.7);
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  color:#fff; font-size:.55rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  cursor:pointer;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}
section.WOT.wot-view-map .wot-map-back{ display:inline-flex; }
section.WOT.wot-light .wot-map-back{
  background:#fff; color:#0c0c0e; border-color:rgba(0,0,0,.08);
}
section.WOT .wot-map-back i{ font-size:.55rem; }

/* GPS button on map view */
section.WOT .wot-gps-btn{
  position:absolute; bottom:90px; right:14px; z-index:7;
  width:42px; height:42px; border-radius:50%;
  background:#fff; color:#1A56FF;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  cursor:pointer;
  display:none; align-items:center; justify-content:center;
  font-size:1rem;
}
section.WOT.wot-view-map .wot-gps-btn{ display:flex; }
section.WOT .wot-gps-btn.loading{ animation:wot-radar-pulse 1s ease infinite; }
section.WOT .wot-gps-btn.on{ background:#1A56FF; color:#fff; }

/* GPS marker on map - pulsing blue dot */
.mcr-gps-pulse{ pointer-events:none !important; }
.mcr-gps-pulse .gps-dot{
  position:absolute; left:50%; top:50%; width:14px; height:14px; margin:-7px 0 0 -7px;
  background:#1A56FF; border:2px solid #fff; border-radius:50%;
  box-shadow:0 0 8px rgba(26,86,255,.6);
}
.mcr-gps-pulse .gps-pulse{
  position:absolute; left:50%; top:50%; width:14px; height:14px; margin:-7px 0 0 -7px;
  background:rgba(26,86,255,.5);
  border-radius:50%;
  animation:gps-ping 1.6s ease-out infinite;
}
@keyframes gps-ping{
  0%{ transform:scale(1); opacity:.6; }
  100%{ transform:scale(3); opacity:0; }
}



/* v12.6.38 SQUARE map thumbnail (override v12.6.37 round radar) */
section.WOT .wot-radar{
  width:96px !important; height:74px !important;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.45)) !important;
}
/* Kill the round ring + N indicator + player marker */
section.WOT .wot-radar-ring,
section.WOT .wot-radar-n,
section.WOT .wot-radar-me{ display:none !important; }

/* Square card with rounded corners */
section.WOT .wot-radar-bg{
  position:absolute !important;
  inset:0 !important;
  border-radius:10px !important;
  background:
    var(--dotz-radar-tile-dark) center/cover,
    #1a1a22 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 0 0 1px rgba(0,0,0,.5) !important;
  overflow:hidden !important;
}
section.WOT.wot-light .wot-radar-bg{
  background:
    var(--dotz-radar-tile-light) center/cover,
    #efefef !important;
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.06),
    0 0 0 1px rgba(0,0,0,.04) !important;
}

/* Pins: scale up slightly + better positions for square aspect */
section.WOT .wot-radar-pin{
  width:9px !important; height:9px !important;
  box-shadow:0 0 0 1.5px rgba(0,0,0,.75), 0 0 6px rgba(0,0,0,.4) !important;
}
section.WOT .wot-radar-pin-1{ top:25%; left:38%; background:#FF6B00 !important; }
section.WOT .wot-radar-pin-2{ top:35%; left:60%; background:#7C3AED !important; }
section.WOT .wot-radar-pin-3{ top:60%; left:30%; background:#2DB54B !important; }
section.WOT .wot-radar-pin-4{ top:65%; left:55%; background:#E8201A !important; }
section.WOT .wot-radar-pin-5{ top:42%; left:75%; background:#1A56FF !important; }

section.WOT .wot-radar:hover{ transform:translateY(-1px) scale(1.04) !important; }
section.WOT .wot-radar:hover .wot-radar-bg{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.18),
    0 0 0 1px rgba(0,0,0,.5) !important;
}



/* v12.6.39 micro-map cosmetics inside the thumbnail */
section.WOT .wot-radar .wot-radar-mini{ filter:saturate(1.1) contrast(1.05); }
section.WOT .wot-radar .wot-radar-mini .leaflet-control-attribution{ display:none !important; }
section.WOT .wot-radar .leaflet-tile-pane{ filter:none; }
section.WOT .wot-radar .leaflet-pane{ pointer-events:none !important; }



/* v12.6.40 Mobile-only nav-docked map radar with white outline + shadow */

/* Desktop: hide the radar entirely (Grid/Map switch lives inside WOT instead) */
@media(min-width:901px){
  section.WOT .wot-radar,
  #MOB-HEADER .wot-radar{ display:none !important; }
  /* Keep the original Grid/Map switch visible on desktop */
  section.WOT .wot-view-switch{ display:inline-flex !important; }
}

/* Mobile: radar lives in the nav header right slot */
@media(max-width:900px){
  section.WOT .wot-view-switch{ display:none !important; }

  #MOB-HEADER .wot-radar{
    position:relative !important;
    top:auto !important; right:auto !important;
    width:48px !important; height:36px !important;
    padding:0 !important; margin:0 !important;
    border:1.5px solid #ffffff !important;
    background:#1a1a22 !important;
    border-radius:8px !important;
    overflow:hidden !important;
    box-shadow:
      0 2px 6px rgba(0,0,0,.35),
      0 6px 18px rgba(0,0,0,.45) !important;
    cursor:pointer !important;
    filter:none !important;
    transition:transform .15s ease, box-shadow .15s ease !important;
  }
  #MOB-HEADER .wot-radar:hover,
  #MOB-HEADER .wot-radar:active{
    transform:scale(1.04) !important;
    box-shadow:
      0 3px 8px rgba(0,0,0,.45),
      0 8px 22px rgba(0,0,0,.55) !important;
  }
  #MOB-HEADER .wot-radar .wot-radar-bg{
    position:absolute !important;
    inset:0 !important;
    border-radius:6px !important;
    background:#1a1a22 !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }
  #MOB-HEADER .wot-radar .wot-radar-mini{
    position:absolute !important; inset:0 !important;
    border-radius:6px !important; overflow:hidden !important;
  }
  #MOB-HEADER .wot-radar .leaflet-control-attribution{ display:none !important; }
  #MOB-HEADER .wot-radar .leaflet-pane{ pointer-events:none !important; }

  /* Hide all the decorative round-radar bits (they were for the old design) */
  #MOB-HEADER .wot-radar .wot-radar-ring,
  #MOB-HEADER .wot-radar .wot-radar-n,
  #MOB-HEADER .wot-radar .wot-radar-me,
  #MOB-HEADER .wot-radar .wot-radar-pin{ display:none !important; }

  /* Dock layout in header: keep logo center, radar right */
  #MOB-HEADER.mob-hdr-with-radar{ display:flex; align-items:center; padding:0 10px; gap:6px; }
  #MOB-HEADER.mob-hdr-with-radar .mob-hdr-act.mob-hdr-menu{ order:0; }
  #MOB-HEADER.mob-hdr-with-radar .mob-hdr-tog-left{ order:1; }
  #MOB-HEADER.mob-hdr-with-radar .mob-hdr-logo{ order:2; flex:1 1 auto; display:flex; justify-content:center; }
  #MOB-HEADER.mob-hdr-with-radar .mob-hdr-tog-right{ order:3; }
  #MOB-HEADER.mob-hdr-with-radar .mob-hdr-act:not(.mob-hdr-menu){ order:4; }
}






/* v12.6.43 VERY SLOW ticker + kill cat-button dot before text */
html body section.WOT .wot-ticker-track,
html body section#WOT .wot-ticker-track{
  animation-duration:300s !important;
}
@media (max-width: 900px){
  html body section.WOT .wot-ticker-track,
  html body section#WOT .wot-ticker-track{ animation-duration:300s !important; }
}

/* Kill the colored dot before category-filter button text */
html body section.WOT .wot-flt .wot-flt-dot,
html body section.WOT .wot-flt::before,
html body section.WOT .wot-flt::after{
  display:none !important;
  content:none !important;
}






/* v12.6.45 ticker x0.5 (3000s -> 1500s) */
html body section.WOT .wot-ticker-track,
html body section#WOT .wot-ticker-track{
  animation-duration:1500s !important;
}
@media (max-width: 900px){
  html body section.WOT .wot-ticker-track,
  html body section#WOT .wot-ticker-track{ animation-duration:1500s !important; }
}



/* v12.6.46 MOBILE: WOT box edge-to-edge (no L/R margins, full bleed) */
@media (max-width:900px){
  html body main.CENTRE section.WOT,
  html body section.WOT,
  html body section#WOT{
    margin-left:calc(-50vw + 50%) !important;
    margin-right:calc(-50vw + 50%) !important;
    width:100vw !important;
    max-width:100vw !important;
    padding-left:0 !important;
    padding-right:0 !important;
    border-radius:0 !important;
  }
  /* Inner timeline grid + ticker still need a touch of side breathing room */
  html body section.WOT .wot-tg{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body section.WOT .wot-tg-ev-row{
    padding-left:6px !important;
    padding-right:8px !important;
  }
  html body section.WOT .wot-ticker,
  html body section.WOT .wot-week-strip,
  html body section.WOT .wot-flt-wrap{
    margin-left:8px !important;
    margin-right:8px !important;
  }
}



/* v12.6.47 Hide LIVE badge + ticker treatment when below filterbar */
html body section.WOT .wot-ticker-live{ display:none !important; }
@media (max-width:900px){
  html body section.WOT .wot-ticker{
    margin-top:8px !important;
    margin-bottom:6px !important;
  }
}



/* v12.6.48 Radar inside .mob-hdr-actions next to the search button */
@media(max-width:900px){
  #MOB-HEADER .mob-hdr-actions{
    display:flex !important; align-items:center !important; gap:8px !important;
  }
  #MOB-HEADER .mob-hdr-actions .wot-radar.wot-radar-nav{
    position:relative !important;
    top:auto !important; right:auto !important;
    width:48px !important; height:36px !important;
    padding:0 !important; margin:0 !important;
    border:1.5px solid #ffffff !important;
    background:#1a1a22 !important;
    border-radius:8px !important;
    overflow:hidden !important;
    box-shadow:
      0 2px 6px rgba(0,0,0,.35),
      0 6px 18px rgba(0,0,0,.45) !important;
    cursor:pointer !important;
    flex:0 0 auto !important;
  }
  #MOB-HEADER .mob-hdr-actions .wot-radar .wot-radar-bg{
    position:absolute !important; inset:0 !important;
    border-radius:6px !important;
    background:#1a1a22 !important;
    box-shadow:none !important; overflow:hidden !important;
  }
}



/* v12.6.50 thinner radar outline + tighter ticker margins */
@media(max-width:900px){
  /* Tighter ticker spacing */
  html body section.WOT .wot-ticker{
    margin-top:2px !important;
    margin-bottom:2px !important;
    padding-top:2px !important;
    padding-bottom:2px !important;
  }
  /* Thinner radar outline (was 1.5px, now 0.5px hairline) */
  #MOB-HEADER .mob-hdr-actions .wot-radar.wot-radar-nav{
    border:0.5px solid rgba(255,255,255,.85) !important;
    box-shadow:
      0 1px 3px rgba(0,0,0,.4),
      0 4px 12px rgba(0,0,0,.35) !important;
  }
}



/* v12.6.51 ticker starts ON-SCREEN (kill the 100vw left-padding empty gap) */
html body section.WOT .wot-ticker-track,
html body section#WOT .wot-ticker-track{
  padding-left:0 !important;
}



/* v12.6.55 Radar inline in WOT next to day strip + tight WOT spacing on mobile */
@media(max-width:900px){
  /* Row holding day strip + radar */
  html body section.WOT .wot-day-row{
    display:flex !important;
    align-items:stretch !important;
    gap:6px !important;
    margin:0 8px !important;
    padding:0 !important;
  }
  html body section.WOT .wot-day-row .wot-week-strip{
    flex:1 1 auto !important;
    margin:0 !important;
    padding:0 !important;
    min-width:0 !important;
  }
  html body section.WOT .wot-day-row .wot-radar.wot-radar-inline{
    flex:0 0 auto !important;
    width:54px !important;
    height:auto !important;        /* match day strip height */
    min-height:46px !important;
    padding:0 !important; margin:0 !important;
    border:0.5px solid rgba(255,255,255,.85) !important;
    background:#1a1a22 !important;
    border-radius:8px !important;
    overflow:hidden !important;
    box-shadow:0 1px 3px rgba(0,0,0,.4), 0 4px 12px rgba(0,0,0,.35) !important;
    cursor:pointer !important;
    position:relative !important;
  }
  html body section.WOT.wot-light .wot-day-row .wot-radar.wot-radar-inline{
    border-color:rgba(0,0,0,.5) !important;
    background:#fff !important;
  }
  html body section.WOT .wot-day-row .wot-radar .wot-radar-bg{
    position:absolute !important; inset:0 !important;
    border-radius:6px !important; overflow:hidden !important;
    background:#1a1a22 !important;
  }
  /* Tight stack of WOT components under nav */
  html body section.WOT .wot-ticker{ margin:2px 8px !important; padding:2px 0 !important; }
  html body section.WOT .wot-day-row{ margin:4px 8px !important; }
  html body section.WOT .wot-week-strip{ padding:0 !important; gap:3px !important; }
  html body section.WOT .wot-filterbar{ margin:4px 8px !important; padding:0 !important; gap:5px !important; }
  html body section.WOT .wot-tg{ margin-top:4px !important; }

  /* Hide the empty mini-label spacer under nav since toggles are gone from there */
  html body section.WOT .wot-mini-label{ display:none !important; }
}



/* v12.6.56 hide leftover empty radar slots in nav */
#MOB-HEADER .mob-hdr-tog,
#MOB-HEADER .mob-hdr-tog-left,
#MOB-HEADER .mob-hdr-tog-right{ display:none !important; }
#MOB-HEADER:not(.mob-hdr-with-radar) .mob-hdr-with-radar{ display:none !important; }



/* v12.6.57 nav-docked Dark/Light switch styling (compact pill, beside search) */
@media(max-width:900px){
  #MOB-HEADER .mob-hdr-actions{ display:flex !important; align-items:center !important; gap:8px !important; }
  #MOB-HEADER .mob-hdr-actions .wot-mode-switch{
    display:inline-flex !important; align-items:center !important;
    gap:0 !important; padding:1px !important; height:24px !important;
    background:rgba(255,255,255,.06) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:999px !important; margin:0 !important;
  }
  #MOB-HEADER .mob-hdr-actions .wot-mode-opt{
    height:20px !important; min-height:20px !important; max-height:20px !important;
    padding:0 7px !important;
    font-size:.36rem !important; letter-spacing:.04em !important; gap:2px !important;
    background:transparent !important; color:rgba(255,255,255,.7) !important;
    border:none !important;
  }
  #MOB-HEADER .mob-hdr-actions .wot-mode-opt span{ font-size:.36rem !important; }
  #MOB-HEADER .mob-hdr-actions .wot-mode-opt i{ font-size:.4rem !important; color:inherit !important; }
  #MOB-HEADER .mob-hdr-actions .wot-mode-opt.is-on{
    background:rgba(255,255,255,.22) !important;
    color:#fff !important;
  }
  #MOB-HEADER .mob-hdr-actions .wot-mode-opt.is-on i,
  #MOB-HEADER .mob-hdr-actions .wot-mode-opt.is-on span{ color:#fff !important; }
}



/* v12.6.58 hid the empty search button in MOB-HEADER (icon font failed to load); */
/* v12.7.79 — search trigger now works, restored display. Font Awesome confirmed loading. */
@media(max-width:900px){
  #MOB-HEADER .mob-hdr-actions .mob-hdr-act{ display:flex !important; }
}



/* v12.6.59 inline radar must NOT be absolute (overrides earlier position:absolute) */
@media(max-width:900px){
  html body section.WOT .wot-radar.wot-radar-inline{
    position:relative !important;
    top:auto !important; right:auto !important; left:auto !important; bottom:auto !important;
    transform:none !important;
    z-index:auto !important;
    align-self:stretch !important;
  }
  /* Make sure the parent flex row is visible & sized */
  html body section.WOT .wot-day-row{
    width:auto !important;
    min-height:46px !important;
  }
}



/* v12.6.60 ALL radars on mobile go relative - kill any leftover absolute positioning */
@media(max-width:900px){
  html body section.WOT .wot-radar,
  html body section#WOT .wot-radar{
    position:relative !important;
    top:auto !important; right:auto !important; left:auto !important; bottom:auto !important;
    transform:none !important;
  }
  /* Day row flex with the radar must clamp width to container */
  html body section.WOT .wot-day-row{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    width:auto !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  html body section.WOT .wot-day-row .wot-week-strip{
    flex:1 1 0% !important;
    overflow-x:auto !important;
    min-width:0 !important;
    max-width:100% !important;
  }
}



/* v12.6.61 PAST hour row in WOT: ultra compact - thin sliver of recent past */
html body section.WOT .wot-tg-row.wot-past{
  min-height:0 !important;
  padding-top:0 !important; padding-bottom:0 !important;
  border-bottom:1px solid rgba(255,255,255,.04) !important;
}
html body section.WOT .wot-tg-row.wot-past .wot-ev-pill{
  height:18px !important;
  min-height:18px !important;
  max-height:18px !important;
  padding:2px 6px !important;
  border-radius:5px !important;
  opacity:.45 !important;
}
html body section.WOT .wot-tg-row.wot-past .wot-ev-pill .wot-ep-title{
  font-size:.55rem !important; line-height:1 !important;
}
html body section.WOT .wot-tg-row.wot-past .wot-ev-pill .wot-ep-sub,
html body section.WOT .wot-tg-row.wot-past .wot-ev-pill .wot-ep-add{
  display:none !important;
}
html body section.WOT .wot-tg-row.wot-past .wot-tg-time{
  font-size:.42rem !important;
  padding-top:2px !important; padding-bottom:2px !important;
}
html body section.WOT .wot-tg-row.wot-past .wot-tg-count{
  height:12px !important; font-size:.36rem !important; padding:0 4px !important;
  margin-top:1px !important;
}



/* v12.6.64 Smaller nav radar + center logo + dark-grey WOT bands */

@media(max-width:900px){
  /* Center logo even with toggles + radar in actions */
  #MOB-HEADER{
    display:flex !important;
    align-items:center !important;
    padding:0 8px !important;
    position:relative !important;
  }
  #MOB-HEADER .mob-hdr-logo{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    margin:0 !important;
  }
  #MOB-HEADER .mob-hdr-actions{
    margin-left:auto !important;
    display:flex !important; align-items:center !important; gap:8px !important;
  }

  /* Mini map: 1/3 smaller (was 48x36 -> 32x24) */
  #MOB-HEADER .mob-hdr-actions .wot-radar.wot-radar-nav{
    position:relative !important;
    width:32px !important; height:24px !important;
    padding:0 !important; margin:0 !important;
    border:0.5px solid rgba(255,255,255,.85) !important;
    background:#1a1a22 !important;
    border-radius:6px !important;
    overflow:hidden !important;
    box-shadow:0 1px 3px rgba(0,0,0,.4), 0 4px 12px rgba(0,0,0,.35) !important;
    cursor:pointer !important;
    flex:0 0 auto !important;
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease;
  }
  #MOB-HEADER .mob-hdr-actions .wot-radar.wot-radar-nav.wot-radar-visible{
    opacity:1; pointer-events:auto;
  }
  #MOB-HEADER .mob-hdr-actions .wot-radar .wot-radar-bg{
    position:absolute !important; inset:0 !important;
    border-radius:4px !important; overflow:hidden !important;
    background:#1a1a22 !important;
  }

  /* Very-dark-grey bands to break up the WOT box on mobile */
  html body section.WOT{ background:#0a0a0c !important; }
  html body section.WOT .wot-ticker{
    background:#16161c !important;
    border-top:1px solid rgba(255,255,255,.04) !important;
    border-bottom:1px solid rgba(255,255,255,.04) !important;
    margin:0 !important;
    padding:4px 8px !important;
  }
  html body section.WOT .wot-week-strip{
    background:#101015 !important;
    margin:0 !important;
    padding:4px 6px !important;
  }
  html body section.WOT .wot-filterbar{
    background:#16161c !important;
    border-top:1px solid rgba(255,255,255,.04) !important;
    margin:0 !important;
    padding:5px 8px !important;
  }
  html body section.WOT .wot-tg{
    background:#0c0c10 !important;
  }
}



/* v12.6.65 Square radar zoomed in + Dark/Light moved LEFT of logo */
@media(max-width:900px){
  /* Square mini map */
  #MOB-HEADER .mob-hdr-actions .wot-radar.wot-radar-nav{
    width:28px !important;
    height:28px !important;
  }
  /* Move .wot-mode-switch OUT of the right actions group, position absolutely on the left */
  #MOB-HEADER .wot-mode-switch{
    position:absolute !important;
    left:8px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:2 !important;
    margin:0 !important;
  }
  /* Make sure mode-switch styles still apply when positioned absolutely */
  #MOB-HEADER .wot-mode-switch.wot-mode-switch{
    display:inline-flex !important; align-items:center !important;
    padding:1px !important; height:24px !important;
    background:rgba(255,255,255,.06) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:999px !important;
  }
  /* Right actions only contains radar (search hidden in v12.6.58) */
  #MOB-HEADER .mob-hdr-actions{
    margin-left:auto !important;
    z-index:2 !important;
  }
}



/* v12.6.66 NUKE size of nav radar - force square hard */
@media(max-width:900px){
  html body #MOB-HEADER .mob-hdr-actions .wot-radar,
  html body #MOB-HEADER .mob-hdr-actions .wot-radar.wot-radar-nav,
  html body #MOB-HEADER .wot-radar.wot-radar-nav{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    max-width:32px !important;
    max-height:32px !important;
    aspect-ratio:1 / 1 !important;
    flex:0 0 32px !important;
  }
  html body #MOB-HEADER .wot-radar .wot-radar-bg,
  html body #MOB-HEADER .wot-radar .wot-radar-mini,
  html body #MOB-HEADER .wot-radar .leaflet-container{
    width:100% !important;
    height:100% !important;
    aspect-ratio:1 / 1 !important;
  }
}



/* v12.6.67 Nav radar shows OTHER view as preview - toggle */

/* Default: show the map preview, hide the grid SVG */
#MOB-HEADER .wot-radar .wot-radar-bg{ opacity:1; }
#MOB-HEADER .wot-radar .wot-radar-grid{
  position:absolute; inset:2px;
  width:calc(100% - 4px); height:calc(100% - 4px);
  display:block;
  opacity:0;
  background:#0a0a0c;
  border-radius:4px;
  transition:opacity .2s ease;
  pointer-events:none;
}
/* When WOT is in map view, show the grid preview instead */
#MOB-HEADER .wot-radar.show-grid .wot-radar-bg{ opacity:0; }
#MOB-HEADER .wot-radar.show-grid .wot-radar-grid{ opacity:1; }



/* v12.6.68 MAP VIEW: keep day/cat/ticker visible + GPS button + move zoom controls */
@media(max-width:900px){
  /* Keep WOT chrome visible while in map view */
  html body section.WOT.wot-view-map .wot-day-row,
  html body section.WOT.wot-view-map .wot-week-strip,
  html body section.WOT.wot-view-map .wot-ticker,
  html body section.WOT.wot-view-map .wot-filterbar{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    z-index:5 !important;
  }
  /* Map view container size */
  html body section.WOT.wot-view-map .wot-mapview{
    display:block !important;
    height:60vh !important;
    min-height:340px !important;
    margin:6px 8px !important;
    border-radius:10px !important;
  }

  /* GPS button - always visible & well-positioned in map view */
  html body section.WOT.wot-view-map .wot-gps-btn,
  html body section.WOT .wot-gps-btn{
    display:flex !important;
    position:absolute !important;
    bottom:14px !important; right:14px !important;
    width:40px !important; height:40px !important;
    border-radius:50% !important;
    background:#fff !important; color:#1A56FF !important;
    border:1px solid rgba(0,0,0,.08) !important;
    box-shadow:0 6px 18px rgba(0,0,0,.45) !important;
    align-items:center !important; justify-content:center !important;
    z-index:8 !important;
    cursor:pointer !important;
  }
  html body section.WOT.wot-view-map .wot-gps-btn::before{
    content:"\f3c5";
    font-family:"Font Awesome 6 Free", "Font Awesome 5 Free", system-ui;
    font-weight:900;
    font-size:16px;
  }
  html body section.WOT.wot-view-map .wot-gps-btn i{ font-size:16px; }

  /* Move Leaflet zoom control to top-right so it doesn''t collide with Plan-your-night bottom tab */
  html body section.WOT .leaflet-bottom.leaflet-right{ display:none !important; }
  html body section.WOT .leaflet-control-zoom{
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    z-index:8 !important;
  }
  html body section.WOT .leaflet-bar a{
    width:34px !important; height:34px !important; line-height:34px !important;
    background:rgba(0,0,0,.7) !important; color:#fff !important;
    border:1px solid rgba(255,255,255,.15) !important;
  }

  /* Map should not cover the day/cat chrome */
  html body section.WOT.wot-view-map{ display:flex !important; flex-direction:column !important; }
}



/* v12.6.69 LIGHT MODE: undo the dark-grey banding so day strip + ticker + filters look clean white */
@media(max-width:900px){
  html body section.WOT.wot-light{ background:#fafafa !important; }
  html body section.WOT.wot-light .wot-ticker{
    background:#ffffff !important;
    border-top:1px solid rgba(0,0,0,.05) !important;
    border-bottom:1px solid rgba(0,0,0,.05) !important;
  }
  html body section.WOT.wot-light .wot-week-strip{
    background:transparent !important;
  }
  html body section.WOT.wot-light .wot-filterbar{
    background:#ffffff !important;
    border-top:1px solid rgba(0,0,0,.05) !important;
  }
  html body section.WOT.wot-light .wot-tg{
    background:transparent !important;
  }
}



/* v12.6.70 hide the orange NOW fab + recolour Night plan FAB to black */
.wot-now-fab{ display:none !important; }

html body .plan-fab,
html body button.plan-fab,
html body #planFab{
  background:#0c0c0e !important;
  background-image:none !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3) !important;
}
html body .plan-fab .pf-count{
  background:#ffffff !important;
  color:#0c0c0e !important;
}

/* NUCLEAR Night fab black + hide NOW orange — beat any later override */
html body button.plan-fab,
html body #planFab,
html body #planFab.plan-fab,
html body main button.plan-fab,
html body section.WOT button.plan-fab{
  background:#0c0c0e !important;
  background-image:none !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.45), 0 1px 2px rgba(0,0,0,.3) !important;
}
html body button.plan-fab .pf-count,
html body #planFab .pf-count{
  background:#ffffff !important;
  color:#0c0c0e !important;
}
html body .wot-now-fab,
html body button.wot-now-fab{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}



/* v12.6.77 plan tab starts ABOVE the bottom drawer peek (not behind it) */
@media(max-width:900px){
  html body .plan{
    bottom:70px !important; /* sit on top of MCR-DRAWER peek */
  }
  /* Plan FAB also lifts up so it doesn''t hide behind the drawer */
  html body .plan-fab,
  html body #planFab{
    bottom:calc(70px + 14px + var(--safe-bot, 0px)) !important;
  }
}

/* Pin marker style (small, branded by category) */
.mcrd-pin{
  width:14px; height:14px; border-radius:50%;
  background:var(--c, #E8201A);
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.45);
  transition:transform .15s;
}
.leaflet-marker-icon:hover .mcrd-pin{ transform:scale(1.2); }



/* v12.6.81 plan panel must stop AT TOP of MCR-DRAWER peek (no overlap) */
@media(max-width:900px){
  html body .plan{
    bottom:70px !important;
    max-height:calc(100vh - 70px) !important;
    z-index:65 !important; /* under drawer (900) */
  }
  /* plan handle peeks from bottom of panel which is now 70px above viewport bottom */
  html body .plan{
    transform:translateY(calc(100% - 58px)) !important;
  }
  html body.plan-open .plan{
    transform:translateY(0) !important;
  }
  /* night fab also lifted */
  html body .plan-fab,
  html body #planFab{
    bottom:calc(70px + 14px + var(--safe-bot, 0px)) !important;
  }
  /* the body padding adjustment when plan-open should account for new bottom */
  html body.plan-open{
    padding-bottom:calc(85vh + var(--safe-bot, 0px) - 70px) !important;
  }
}



/* v12.6.87 walk-there + cluster + happening-now */



/* Cluster styling */
.marker-cluster{
  background:rgba(232,32,26,.85) !important;
  border:2px solid rgba(255,255,255,.6) !important;
  color:#fff !important;
  font-weight:800 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.35) !important;
}
.marker-cluster div{ background:transparent !important; color:#fff !important; }
.marker-cluster span{ font-weight:800 !important; }
.marker-cluster-small{ background-color:rgba(232,32,26,.85) !important; }
.marker-cluster-medium{ background-color:rgba(255,107,0,.9) !important; }
.marker-cluster-large{ background-color:rgba(124,58,237,.9) !important; }

/* Happening-now pulse on map pins */
.leaflet-marker-icon.happening-now{
  animation:wot-now-pulse 1.6s ease-in-out infinite;
  z-index:1000 !important;
}
@keyframes wot-now-pulse{
  0%,100%{ filter:drop-shadow(0 0 0 rgba(232,32,26,.0)); }
  50%{ filter:drop-shadow(0 0 12px rgba(232,32,26,.85)); }
}

/* Happening-now pulse on grid pills */
.wot-ev-pill.happening-now{
  animation:wot-pill-pulse 1.6s ease-in-out infinite;
  position:relative;
}
.wot-ev-pill.happening-now::after{
  content:'NOW'; position:absolute; top:-8px; right:-6px;
  background:#E8201A; color:#fff;
  font-size:.42rem; font-weight:900; letter-spacing:.06em;
  padding:2px 5px; border-radius:8px;
  box-shadow:0 2px 6px rgba(232,32,26,.5);
  z-index:5;
}
@keyframes wot-pill-pulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(232,32,26,.0); }
  50%{ box-shadow:0 0 0 4px rgba(232,32,26,.18); }
}



/* v12.6.88 PREMIUM pins + map polish */



/* MAP TILES — light mode only gets a subtle polish; dark mode handled at end of file */
section.WOT.wot-light .leaflet-tile-pane{
  filter:saturate(1.1) contrast(1.05);
}

/* Subtle vignette overlay on the map for depth */
section.WOT .leaflet-container::after{
  content:''; position:absolute; inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,.35) 100%);
  z-index:401;
}
section.WOT.wot-light .leaflet-container::after{
  background:radial-gradient(ellipse at center, transparent 60%, rgba(0,0,0,.12) 100%);
}








/* v12.7.70 IMPERFECT DOTS — organic blob shape, no rotation, slight per-marker variation
   (was diamond pins — user wanted hand-drawn dot feel) */
.leaflet-marker-icon .pin-marker{
  width:14px !important; height:14px !important;
  border-radius: 47% 53% 51% 49% / 49% 51% 47% 53% !important;
  transform:none !important;
  background:var(--c, #888a94) !important;
  border:0 !important;
  box-shadow:
    0 3px 8px rgba(0,0,0,.42),
    0 1px 2px rgba(0,0,0,.55) !important;
  display:block !important;
  font-size:0 !important;
  color:transparent !important;
  text-indent:-9999px !important;
  cursor:pointer !important;
  transition:transform .18s ease, box-shadow .18s ease, border-radius .25s ease !important;
}
/* Per-marker subtle blob variation - hand-drawn feel */
.leaflet-marker-icon:nth-of-type(2n) .pin-marker{ border-radius: 53% 47% 49% 51% / 51% 49% 53% 47% !important; }
.leaflet-marker-icon:nth-of-type(3n) .pin-marker{ border-radius: 49% 51% 53% 47% / 47% 53% 49% 51% !important; }
.leaflet-marker-icon:nth-of-type(5n) .pin-marker{ border-radius: 51% 49% 47% 53% / 53% 47% 51% 49% !important; }
.leaflet-marker-icon:nth-of-type(7n) .pin-marker{ border-radius: 50% 48% 52% 50% / 48% 52% 50% 48% !important; }
.leaflet-marker-icon:nth-of-type(11n) .pin-marker{ border-radius: 48% 52% 50% 50% / 52% 50% 48% 50% !important; }
.leaflet-marker-icon:hover .pin-marker,
.leaflet-marker-icon:active .pin-marker{
  transform:scale(1.32) !important;
  border-radius:50% !important;
  box-shadow:
    0 6px 16px rgba(0,0,0,.5),
    0 2px 4px rgba(0,0,0,.65),
    0 0 0 2px rgba(255,255,255,1),
    inset 0 1px 2px rgba(255,255,255,.55) !important;
}
.leaflet-marker-icon .pin-marker.approx{ opacity:.55 !important; }

/* Happening-now soft pulse on dot */
.leaflet-marker-icon.happening-now .pin-marker{
  animation:wot-dot-pulse 1.8s ease-in-out infinite;
}
@keyframes wot-dot-pulse{
  0%,100%{ filter:drop-shadow(0 0 0 rgba(255,255,255,0)); }
  50%{ filter:drop-shadow(0 0 9px rgba(255,255,255,.9)); }
}

/* ──────────── v12.7.70 Pokemon-card popup (anchored to dot, mimics WOT drawer) ──────────── */
.mcr-pcard{
  position:fixed;
  z-index:9999;
  width:240px; max-width:calc(100vw - 24px);
  pointer-events:none; opacity:0;
  transform:translate(-50%, calc(-100% - 18px)) scale(.92);
  transform-origin:50% calc(100% + 12px);
  transition:opacity .18s ease, transform .22s cubic-bezier(.4,1.4,.5,1);
  filter:drop-shadow(0 14px 30px rgba(0,0,0,.5));
}
.mcr-pcard.open{ pointer-events:auto; opacity:1; transform:translate(-50%, calc(-100% - 18px)) scale(1); }
.mcr-pcard-inner{
  position:relative;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--ec,#E8201A) 22%, transparent) 0%, transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.35)),
    #141418;
  border-radius:14px;
  border:1px solid color-mix(in srgb, var(--ec,#E8201A) 32%, rgba(255,255,255,.08));
  overflow:hidden;
  color:#fff;
}
.mcr-pcard-inner::before{
  content:''; position:absolute; top:-30px; right:-30px;
  width:140px; height:140px;
  background:radial-gradient(circle, color-mix(in srgb, var(--ec,#E8201A) 38%, transparent) 0%, transparent 70%);
  pointer-events:none; z-index:0;
}
.mcr-pcard-img{
  position:relative; height:84px; width:100%;
  background-size:cover; background-position:center;
  background-color:color-mix(in srgb, var(--ec,#E8201A) 18%, #1a1a1e);
  border-radius:12px 12px 0 0;
  z-index:1;
}
.mcr-pcard-img.empty{
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, color-mix(in srgb, var(--ec,#E8201A) 45%, #1a1a1e), color-mix(in srgb, var(--ec,#E8201A) 15%, #1a1a1e));
  color:#fff; font-size:32px; opacity:.92;
}
.mcr-pcard-img::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(0,0,0,.55));
  pointer-events:none;
}
.mcr-pcard-x{
  position:absolute; top:6px; right:6px;
  width:24px; height:24px; border:0; border-radius:50%;
  background:rgba(0,0,0,.55); color:#fff;
  font-size:14px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  z-index:3; backdrop-filter:blur(4px);
}
.mcr-pcard-x:hover{ background:rgba(0,0,0,.78); }
.mcr-pcard-body{
  position:relative; z-index:1;
  padding:10px 12px 12px;
  display:flex; flex-direction:column; gap:6px;
}
.mcr-pcard-cat{
  display:inline-flex; align-items:center; gap:6px;
  font-size:.55rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ec,#E8201A);
  align-self:flex-start;
}
.mcr-pcard-cat::before{
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--ec,#E8201A);
  box-shadow:0 0 8px var(--ec,#E8201A);
}
.mcr-pcard-title{
  font-family:'Inter Tight','Inter',sans-serif;
  font-size:.95rem; font-weight:900; line-height:1.18;
  letter-spacing:-.018em;
  color:#fff;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.mcr-pcard-meta{
  display:flex; gap:8px; flex-wrap:wrap;
  font-size:.62rem; font-weight:600;
  color:rgba(255,255,255,.72);
  font-variant-numeric:tabular-nums;
}
.mcr-pcard-meta-item{
  display:inline-flex; align-items:center; gap:4px;
}
.mcr-pcard-meta-item i{
  font-size:.7em; color:var(--ec,#E8201A); opacity:.9;
}
.mcr-pcard-acts{
  display:flex; gap:5px; margin-top:6px;
}
.mcr-pcard-acts a, .mcr-pcard-acts button{
  flex:1 1 0; min-width:0;
  display:inline-flex; align-items:center; justify-content:center; gap:4px;
  padding:8px 6px;
  border-radius:9px;
  border:0; font-family:inherit; cursor:pointer;
  font-size:.6rem; font-weight:800; letter-spacing:.02em;
  text-decoration:none;
  transition:transform .12s ease, background .15s ease, color .15s ease;
}
.mcr-pcard-acts a:active, .mcr-pcard-acts button:active{ transform:scale(.96); }
.mcr-pcard-acts .ppc-tix{
  background:var(--ec,#E8201A); color:#fff;
  box-shadow:0 4px 12px -4px color-mix(in srgb, var(--ec,#E8201A) 60%, transparent);
}
.mcr-pcard-acts .ppc-tix:hover{ filter:brightness(1.1); }
.mcr-pcard-acts .ppc-info{
  background:rgba(255,255,255,.09); color:#fff;
  border:1px solid rgba(255,255,255,.12);
}
.mcr-pcard-acts .ppc-info:hover{ background:rgba(255,255,255,.15); }
.mcr-pcard-acts .ppc-add{
  background:rgba(255,255,255,.09); color:#fff;
  border:1px solid rgba(255,255,255,.12);
}
.mcr-pcard-acts .ppc-add:hover{ background:rgba(255,255,255,.15); }
.mcr-pcard-acts .ppc-add.is-added{
  background:#10b981; color:#fff; border-color:transparent;
}
.mcr-pcard-acts i{ font-size:.85em; }
/* Triangle pointer down to the dot */
.mcr-pcard::after{
  content:'';
  position:absolute;
  left:50%; bottom:-7px;
  transform:translateX(-50%) rotate(45deg);
  width:14px; height:14px;
  background:#141418;
  border-right:1px solid color-mix(in srgb, var(--ec,#E8201A) 32%, rgba(255,255,255,.08));
  border-bottom:1px solid color-mix(in srgb, var(--ec,#E8201A) 32%, rgba(255,255,255,.08));
  z-index:0;
}
/* Mobile: scale a bit smaller */
@media(max-width:480px){
  .mcr-pcard{ width:220px; }
  .mcr-pcard-title{ font-size:.88rem; }
  .mcr-pcard-img{ height:74px; }
  .mcr-pcard-acts a, .mcr-pcard-acts button{ font-size:.56rem; padding:7px 5px; }
}



/* v12.6.93 Map full-bleed inside WOT box (fills available space) */
section.WOT.wot-view-map .wot-mapview,
html body section.WOT.wot-view-map .wot-mapview{
  height:auto !important;
  min-height:60vh !important;
  flex:1 1 auto !important;
}
section.WOT.wot-view-map{
  display:flex !important;
  flex-direction:column !important;
  min-height:80vh !important;
}
@media(max-width:900px){
  section.WOT.wot-view-map .wot-mapview,
  html body section.WOT.wot-view-map .wot-mapview{
    min-height:70vh !important;
    margin:6px 0 !important;
    border-radius:0 !important;
  }
  section.WOT.wot-view-map{ min-height:90vh !important; }
}
section.WOT.wot-view-map #mcrmap{
  height:100% !important;
  min-height:inherit !important;
}



/* v12.6.94 Desktop map: fill big - 80vh tall, dominate the viewport */
@media(min-width:901px){
  html body section.WOT.wot-view-map{
    min-height:90vh !important;
    display:flex !important;
    flex-direction:column !important;
  }
  html body section.WOT.wot-view-map .wot-mapview{
    height:80vh !important;
    min-height:80vh !important;
    flex:1 1 auto !important;
    margin:6px 0 !important;
    border-radius:0 !important;
  }
  html body section.WOT.wot-view-map #mcrmap{
    height:80vh !important;
    min-height:80vh !important;
  }
  /* Keep day-strip and filterbar visible above the map */
  html body section.WOT.wot-view-map .wot-week-strip,
  html body section.WOT.wot-view-map .wot-filterbar,
  html body section.WOT.wot-view-map .wot-ticker{
    flex-shrink:0 !important;
  }
}



/* v12.6.97 Bottom time slider on the map */
section.WOT.wot-view-map .wot-mapview{ position:relative !important; }
.wot-time-slider{
  position:absolute; left:50%; bottom:14px;
  transform:translateX(-50%);
  z-index:7;
  display:flex; flex-direction:column; align-items:stretch; gap:4px;
  width:min(560px, 90%);
  padding:10px 16px 8px;
  background:rgba(0,0,0,.78);
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  backdrop-filter:blur(14px) saturate(1.1);
  -webkit-backdrop-filter:blur(14px) saturate(1.1);
  box-shadow:0 8px 24px rgba(0,0,0,.5);
  color:#fff;
  font-family:inherit;
}
.wot-ts-label{
  font-size:.55rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  text-align:center;
  color:rgba(255,255,255,.85);
}
.wot-ts-range{
  -webkit-appearance:none; appearance:none;
  width:100%; height:4px;
  background:linear-gradient(to right, #1A56FF, #7C3AED, #E8201A, #FF6B00, #FFD60A);
  border-radius:999px; outline:none;
  cursor:pointer; padding:0;
}
.wot-ts-range::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:18px; height:18px; border-radius:50%;
  background:#fff;
  border:2px solid rgba(0,0,0,.4);
  box-shadow:0 2px 6px rgba(0,0,0,.5);
  cursor:grab;
}
.wot-ts-range::-moz-range-thumb{
  width:18px; height:18px; border-radius:50%;
  background:#fff; border:2px solid rgba(0,0,0,.4);
  box-shadow:0 2px 6px rgba(0,0,0,.5); cursor:grab;
}
.wot-ts-ticks{
  display:flex; justify-content:space-between;
  font-size:.42rem; font-weight:700; letter-spacing:.04em;
  color:rgba(255,255,255,.5);
  padding:0 4px;
}
@media(max-width:900px){
  .wot-time-slider{ bottom:80px; width:calc(100% - 24px); }
}



/* v12.6.98 Custom Leaflet popup card */
.leaflet-popup.mcr-pop .leaflet-popup-content-wrapper{
  background:#0e0e14 !important;
  color:#fff !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 12px 40px rgba(0,0,0,.6) !important;
  padding:0 !important;
  overflow:hidden !important;
}
.leaflet-popup.mcr-pop .leaflet-popup-content{
  margin:0 !important; padding:0 !important; width:240px !important;
}
.leaflet-popup.mcr-pop .leaflet-popup-tip{ background:#0e0e14 !important; }
.leaflet-popup.mcr-pop .leaflet-popup-close-button{
  color:rgba(255,255,255,.5) !important;
  font-size:16px !important;
  padding:8px !important;
  z-index:5 !important;
}
.mcr-pop-img{
  width:100%; height:120px;
  background-size:cover; background-position:center;
  background-color:#222;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.mcr-pop-body{ padding:10px 12px 12px; }
.mcr-pop-cat{
  display:inline-block;
  font-size:.42rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--c, #E8201A);
  margin-bottom:4px;
}
.mcr-pop-title{
  font-size:.78rem; font-weight:800; line-height:1.2;
  color:#fff;
  margin-bottom:4px;
}
.mcr-pop-meta{
  font-size:.55rem; font-weight:600;
  color:rgba(255,255,255,.6);
  margin-bottom:10px;
}
.mcr-pop-meta b{ color:#fff; font-weight:800; }
.mcr-pop-go{
  display:inline-block;
  padding:8px 12px;
  background:linear-gradient(135deg, #E8201A 0%, #FF6B00 100%);
  color:#fff;
  font-size:.55rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
  border-radius:8px;
  text-decoration:none;
}
.mcr-pop-go:hover{ filter:brightness(1.1); }



/* v12.7.1 MAP: tall, simple, obvious */
section.WOT.wot-view-map .wot-mapview,
section.WOT.map-on .wot-mapview,
html body section.WOT.wot-view-map .wot-mapview,
html body section.WOT.map-on .wot-mapview{
  display:block !important;
  height:78vh !important;
  min-height:78vh !important;
  max-height:78vh !important;
  margin:0 !important;
  border-radius:0 !important;
  position:relative !important;
}
section.WOT.wot-view-map #mcrmap,
section.WOT.map-on #mcrmap,
html body #mcrmap{
  width:100% !important;
  height:100% !important;
  min-height:78vh !important;
}
@media(max-width:900px){
  section.WOT.wot-view-map .wot-mapview,
  section.WOT.map-on .wot-mapview{
    height:75vh !important;
    min-height:75vh !important;
    max-height:75vh !important;
  }
  section.WOT.wot-view-map #mcrmap,
  section.WOT.map-on #mcrmap{ min-height:75vh !important; }
}

/* Time slider: bottom centred, prominent, always visible in map view */
section.WOT.wot-view-map .wot-time-slider,
section.WOT.map-on .wot-time-slider{
  display:flex !important;
  position:absolute !important;
  left:50% !important;
  bottom:16px !important;
  transform:translateX(-50%) !important;
  z-index:8 !important;
  width:min(560px, 92%) !important;
  background:rgba(0,0,0,.82) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.55) !important;
}
section.WOT.wot-view-map.wot-light .wot-time-slider{
  background:rgba(255,255,255,.95) !important;
  border-color:rgba(0,0,0,.08) !important;
  color:#0c0c0e !important;
}
section.WOT.wot-view-map.wot-light .wot-ts-label,
section.WOT.wot-view-map.wot-light .wot-ts-ticks span{ color:#0c0c0e !important; }

/* Count chip top-left of map: "X events from now" */
section.WOT.wot-view-map .wot-map-count,
section.WOT.map-on .wot-map-count{
  display:inline-flex !important;
  position:absolute !important;
  top:14px !important; left:14px !important;
  z-index:7 !important;
}

/* GPS button top-right of map (Leaflet.Locate output, plus our explicit positioning) */
.leaflet-control-locate{
  display:block !important;
}
.leaflet-control-locate a{
  background:rgba(0,0,0,.78) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.14) !important;
  width:36px !important; height:36px !important;
  line-height:36px !important;
  font-size:18px !important;
  border-radius:8px !important;
}
section.WOT.wot-light .leaflet-control-locate a{
  background:#fff !important;
  color:#1A56FF !important;
  border-color:rgba(0,0,0,.08) !important;
}



/* v12.7.2 Gamified map - urban/neon, adult discover vibe */

/* HUD chip top of map */
.wot-map-hud{
  position:absolute; top:14px; left:50%;
  transform:translateX(-50%);
  z-index:8;
  display:flex; align-items:center; gap:10px;
  padding:8px 14px;
  background:rgba(0,0,0,.78);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  font-size:.55rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:rgba(255,255,255,.7);
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  box-shadow:0 6px 20px rgba(0,0,0,.5);
}
.wot-map-hud b{ color:#fff; font-weight:900; font-size:.7rem; padding-right:3px; }
.wot-map-hud .hud-sep{
  width:1px; height:14px;
  background:linear-gradient(to bottom, transparent, rgba(255,255,255,.18), transparent);
}
.wot-map-hud .hud-now{ color:#FF6B00; }
.wot-map-hud .hud-now b{ color:#FF6B00; }
.wot-map-hud .hud-dot{
  display:inline-block;
  width:8px; height:8px; border-radius:50%;
  background:#E8201A;
  margin-right:5px;
  box-shadow:0 0 8px rgba(232,32,26,.95);
  animation:hud-pulse 1.4s ease-in-out infinite;
}
@keyframes hud-pulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.3); opacity:.6; }
}
section.WOT.wot-light .wot-map-hud{
  background:rgba(255,255,255,.92); color:rgba(0,0,0,.55);
  border-color:rgba(0,0,0,.06);
}
section.WOT.wot-light .wot-map-hud b{ color:#0c0c0e; }

/* PROXIMITY: events within 1km get a stronger pulsing aura */
.leaflet-marker-icon.mcr-near .pin-marker{
  box-shadow:
    0 4px 12px rgba(0,0,0,.45),
    0 1px 3px rgba(0,0,0,.6),
    inset 0 1px 2px rgba(255,255,255,.45),
    0 0 16px var(--c, #1A56FF) !important;
  animation:mcr-near-pulse 2.6s ease-in-out infinite;
}
@keyframes mcr-near-pulse{
  0%,100%{ filter:brightness(1); }
  50%{ filter:brightness(1.35) saturate(1.2); }
}

/* SAVED: gold corner tick + warm aura */
.leaflet-marker-icon.mcr-saved .pin-marker{
  box-shadow:
    0 4px 12px rgba(255,193,7,.45),
    0 0 18px rgba(255,193,7,.55),
    inset 0 1px 2px rgba(255,255,255,.45) !important;
}
.leaflet-marker-icon.mcr-saved .pin-marker::after{
  content:'\2713';
  position:absolute; top:-6px; right:-6px;
  width:14px; height:14px; line-height:14px;
  background:#FFC107; color:#0c0c0e;
  border:2px solid #fff;
  border-radius:50%;
  font-size:9px; font-weight:900;
  text-align:center;
  box-shadow:0 2px 6px rgba(0,0,0,.5);
  z-index:5;
  transform:rotate(-45deg); /* counter-rotate against the diamond */
}

/* HAPPENING NOW: red urgent pulse, brighter than proximity */
.leaflet-marker-icon.mcr-now .pin-marker{
  animation:mcr-now-pulse 1.2s ease-in-out infinite;
}
@keyframes mcr-now-pulse{
  0%,100%{
    filter:drop-shadow(0 0 0 rgba(232,32,26,0)) brightness(1);
    transform:rotate(45deg) scale(1);
  }
  50%{
    filter:drop-shadow(0 0 14px rgba(232,32,26,.95)) brightness(1.25);
    transform:rotate(45deg) scale(1.12);
  }
}

/* TAP RIPPLE: satisfying ring on click */
.leaflet-marker-icon .pin-marker{ position:relative; }
.leaflet-marker-icon:active .pin-marker::before{
  content:''; position:absolute; inset:-8px;
  border:2px solid currentColor;
  border-radius:6px;
  animation:mcr-tap-ripple .5s ease-out forwards;
  pointer-events:none;
}
@keyframes mcr-tap-ripple{
  0%{ opacity:.7; transform:rotate(0deg) scale(1); }
  100%{ opacity:0; transform:rotate(0deg) scale(2.2); }
}

/* Idle: subtle bob on event diamonds */
.leaflet-marker-icon .pin-marker{
  animation:mcr-idle-bob 4s ease-in-out infinite;
}
@keyframes mcr-idle-bob{
  0%,100%{ transform:rotate(45deg) translateY(0); }
  50%{ transform:rotate(45deg) translateY(-2px); }
}
/* Override on hover/active: stop bob */
.leaflet-marker-icon:hover .pin-marker,
.leaflet-marker-icon.mcr-now .pin-marker{
  animation:mcr-now-pulse 1.2s ease-in-out infinite;
}
.dotcity-suggest{ display:none !important; }



/* v12.7.9 Mobile nav layout: mode-switch left, logo center, radar right */
@media(max-width:900px){
  #MOB-HEADER.mcr-nav-built{
    display:flex !important;
    align-items:center !important;
    padding:0 10px !important;
    height:56px !important;
  }
  #MOB-HEADER.mcr-nav-built .mcr-nav-left{
    flex:0 0 auto !important;
    z-index:2;
    order:1;
  }
  #MOB-HEADER.mcr-nav-built .mob-hdr-logo{
    position:absolute !important;
    left:50% !important; top:50% !important;
    transform:translate(-50%,-50%) !important;
    margin:0 !important;
    z-index:1;
    order:2;
  }
  #MOB-HEADER.mcr-nav-built .mob-hdr-actions{
    margin-left:auto !important;
    z-index:2;
    order:3;
    display:flex !important;
    align-items:center !important;
  }
  #MOB-HEADER.mcr-nav-built .wot-radar.wot-radar-nav{
    display:block !important;
    width:42px !important; height:32px !important;
    border:1.5px solid rgba(255,255,255,.85) !important;
    background:#1a1a22 !important;
    border-radius:7px !important;
    overflow:hidden !important;
    box-shadow:0 2px 6px rgba(0,0,0,.35), 0 6px 16px rgba(0,0,0,.45) !important;
    cursor:pointer !important;
    position:relative !important;
    padding:0 !important;
    flex:0 0 auto !important;
  }
  #MOB-HEADER.mcr-nav-built .wot-radar .wot-radar-bg{
    position:absolute !important; inset:0 !important;
    border-radius:5px !important; overflow:hidden !important;
    background:#1a1a22 !important;
  }
}



/* v12.7.10 stop hiding past hours on mobile - show full day always */
@media(max-width:900px){
  /* Disable night-mode hide of past rows */
  html body section.WOT .wot-night-mode .wot-tg-row.wot-past,
  html body section.WOT .wot-night-mode .wot-tg-row.wot-near-past{
    display:flex !important;
  }
  /* Past rows readable - undo the v12.6.61 ultra-compact heights */
  html body section.WOT .wot-tg-row.wot-past{
    min-height:auto !important;
    padding-top:initial !important; padding-bottom:initial !important;
    border-bottom:1px solid rgba(255,255,255,.06) !important;
  }
  html body section.WOT .wot-tg-row.wot-past .wot-ev-pill{
    height:auto !important; min-height:auto !important; max-height:none !important;
    padding:5px 8px 5px 7px !important;
    opacity:.5 !important;
  }
  html body section.WOT .wot-tg-row.wot-past .wot-ev-pill .wot-ep-sub{ display:block !important; }
  html body section.WOT .wot-tg-row.wot-past .wot-ev-pill .wot-ep-add{ display:flex !important; }
}



/* v12.7.14 hide any leftover cluster bubbles */
.marker-cluster, .leaflet-marker-icon.marker-cluster{ display:none !important; }


/* v12.7.49 event single header fixes - force white on all hero text (CENTRE.white-bg was making title/breadcrumb dark) */
body.single-mcr_event .CENTRE.white-bg .mcrev-hero,
body.single-mcr_event .CENTRE.white-bg .mcrev-hero *,
body.single-mcr_event .mcrev-hero,
body.single-mcr_event .mcrev-hero *{ color:#fff !important; }
body.single-mcr_event .mcrev-hero h1,
body.single-mcr_event .mcrev-hero .mcrev-h1{ text-shadow:0 2px 8px rgba(0,0,0,.7); }
body.single-mcr_event .mcrev-hero a{ color:#fff !important; }
body.single-mcr_event .mcrev-hero .mcrev-bc-sep{ color:rgba(255,255,255,.5) !important; }

/* v12.7.59 — kill white logo placeholder flash on mobile (alt text / broken-img frame was rendering as a grey square before bee.png decoded) */
.mob-hdr-logo, .mob-hdr-logo img{ background:transparent !important; }
.mob-hdr-logo img{ background-color:transparent !important; color:transparent !important; }
.mob-hdr-logo img:not([src]), .mob-hdr-logo img[src=""]{ visibility:hidden; }

/* v12.7.59 — In-map event card (self-contained, fires on dot tap; no dependency on openSheet/wotShowPopup) */
#mcrmap .mcr-map-card{
  position:absolute; left:50%; bottom:8px; z-index:1100;
  width:calc(100% - 16px); max-width:560px;
  background:#0e0e12; color:#fff; border-radius:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.55);
  display:grid; grid-template-columns:90px 1fr; gap:10px; padding:10px 12px 12px;
  border-left:4px solid var(--ec,#E8201A);
  opacity:0; transform:translateX(-50%) translateY(10px); transition:opacity .18s, transform .18s;
}
#mcrmap .mcr-map-card.open{ opacity:1; transform:translateX(-50%) translateY(0); }
#mcrmap .mmc-x{
  position:absolute; top:6px; right:8px; width:28px; height:28px; border:0;
  background:rgba(255,255,255,.1); color:#fff; font-size:18px; line-height:1;
  border-radius:50%; cursor:pointer; padding:0; z-index:2;
}
#mcrmap .mmc-x:hover{ background:rgba(255,255,255,.18); }
#mcrmap .mmc-img{ width:90px; height:90px; border-radius:10px; background:#1a1a22 center/cover no-repeat; align-self:start; }
#mcrmap .mmc-img-empty{ background:linear-gradient(135deg,#222,#11111a); }
#mcrmap .mmc-body{ min-width:0; padding-right:24px; display:flex; flex-direction:column; gap:5px; }
#mcrmap .mmc-badge{ align-self:flex-start; color:#fff; font-size:9px; font-weight:800; letter-spacing:.08em; padding:3px 7px; border-radius:4px; }
#mcrmap .mmc-title{ font-size:14px; font-weight:900; line-height:1.2; color:#fff; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
#mcrmap .mmc-meta{ display:flex; flex-wrap:wrap; gap:4px 10px; font-size:11px; color:rgba(255,255,255,.6); }
#mcrmap .mmc-meta i{ font-size:9px; opacity:.8; margin-right:2px; }
#mcrmap .mmc-price{ font-weight:800; color:#fff; }
#mcrmap .mmc-actions{ display:flex; gap:6px; flex-wrap:wrap; margin-top:4px; }
#mcrmap .mmc-btn{
  font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
  padding:7px 11px; border-radius:999px; text-decoration:none; white-space:nowrap;
  border:0; cursor:pointer;
}
#mcrmap .mmc-tix{ background:#E8201A; color:#fff; }
#mcrmap .mmc-info{ background:rgba(255,255,255,.1); color:#fff; }
#mcrmap .mmc-dir{ background:rgba(255,255,255,.06); color:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.16); }
#mcrmap .mmc-tix:hover{ filter:brightness(1.1); }
#mcrmap .mmc-info:hover, #mcrmap .mmc-dir:hover{ background:rgba(255,255,255,.15); }
@media(max-width:480px){
  #mcrmap .mcr-map-card{ grid-template-columns:70px 1fr; padding:8px 10px 10px; gap:8px; }
  #mcrmap .mmc-img{ width:70px; height:70px; }
  #mcrmap .mmc-title{ font-size:13px; }
  #mcrmap .mmc-btn{ font-size:10px; padding:6px 10px; }
}

/* v12.7.58 — Light-mode overrides for WOT header strip + day row (was reading dark on dark when Light selected on mobile) */
.WOT.wot-light .wot-mini-label,
.WOT.wot-light .wot-week-strip,
.WOT.wot-light .wot-filterbar{ background:#ffffff !important; color:#0c0c0e !important; }
.WOT.wot-light .wot-week-strip .wot-wday-num,
.WOT.wot-light .wot-week-strip .wot-wday-dn{ color:#0c0c0e !important; }
.WOT.wot-light .wot-week-strip .wot-wday:not(.active){ background:#fff !important; border:1px solid rgba(0,0,0,.1) !important; }
.WOT.wot-light .wot-mini-label,
.WOT.wot-light .wot-mini-tonight,
.WOT.wot-light .wot-mini-live{ color:#0c0c0e !important; }
section.WOT.wot-light{ background:#ffffff !important; }

/* v12.7.58 — Book All sequence overlay (each stop is a big tap-target; popup-blocker safe; affiliate-wrapped) */
.bs-wrap{ position:fixed; inset:0; z-index:10000; visibility:hidden; pointer-events:none; }
.bs-wrap.open{ visibility:visible; pointer-events:auto; }
.bs-back{ position:absolute; inset:0; background:rgba(0,0,0,.6); opacity:0; transition:opacity .22s; }
.bs-wrap.open .bs-back{ opacity:1; }
.bs-card{
  position:absolute; left:0; right:0; bottom:0; background:#0e0e12; color:#fff;
  border-radius:18px 18px 0 0; box-shadow:0 -10px 40px rgba(0,0,0,.5);
  padding:18px 18px 22px; transform:translateY(100%); transition:transform .25s ease;
  max-width:560px; margin:0 auto; max-height:88vh; overflow-y:auto;
}
.bs-wrap.open .bs-card{ transform:translateY(0); }
.bs-x{ position:absolute; top:10px; right:10px; width:34px; height:34px; border:0; border-radius:50%; background:rgba(255,255,255,.08); color:#fff; font-size:22px; line-height:1; cursor:pointer; padding:0; }
.bs-x:hover{ background:rgba(255,255,255,.16); }
.bs-header{ padding:4px 0 14px; border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:14px; }
.bs-eyebrow{ font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#E8201A; margin-bottom:4px; }
.bs-title{ font-size:20px; font-weight:900; line-height:1.2; margin-bottom:4px; }
.bs-sub{ font-size:13px; color:rgba(255,255,255,.55); }
.bs-stops{ display:flex; flex-direction:column; gap:10px; margin-bottom:16px; }
.bs-stop{
  display:grid; grid-template-columns:28px 60px 1fr auto; gap:10px; align-items:center;
  padding:10px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06);
  border-radius:12px; transition:background .18s, border-color .18s;
}
.bs-stop:hover{ background:rgba(255,255,255,.06); }
.bs-stop.is-booked{ background:rgba(45,181,75,.08); border-color:rgba(45,181,75,.22); }
.bs-stop-num{ width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:13px; }
.bs-stop.is-booked .bs-stop-num{ background:#2DB54B; color:#fff; }
.bs-stop-img{ width:60px; height:60px; border-radius:8px; background:#1a1a22 center/cover no-repeat; }
.bs-stop-body{ min-width:0; }
.bs-stop-cat{ font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; margin-bottom:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bs-stop-title{ font-size:14px; font-weight:800; line-height:1.2; margin-bottom:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bs-stop-meta{ font-size:12px; color:rgba(255,255,255,.55); }
.bs-stop-price{ color:#fff; font-weight:700; }
.bs-stop-go{
  background:#E8201A; color:#fff; font-weight:800; font-size:12px; letter-spacing:.04em;
  padding:10px 14px; border-radius:999px; text-decoration:none; white-space:nowrap;
  transition:filter .15s, transform .1s;
}
.bs-stop-go:hover{ filter:brightness(1.1); }
.bs-stop-go:active{ transform:scale(.96); }
.bs-stop.is-booked .bs-stop-go{ background:#2DB54B; }
.bs-stop-no{ font-size:11px; color:rgba(255,255,255,.4); white-space:nowrap; }
.bs-foot{ display:flex; gap:8px; padding-top:12px; border-top:1px solid rgba(255,255,255,.08); }
.bs-btn{ flex:1; padding:12px 14px; border:0; border-radius:999px; font-weight:800; font-size:13px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.bs-cal{ background:rgba(255,255,255,.08); color:#fff; }
.bs-cal:hover{ background:rgba(255,255,255,.14); }
.bs-share{ background:#fff; color:#0d0d10; }
.bs-share:hover{ background:#f0f0f0; }
@media(max-width:480px){
  .bs-stop{ grid-template-columns:50px 1fr auto; gap:8px; padding:8px; }
  .bs-stop-img{ width:50px; height:50px; }
  .bs-stop-title{ font-size:13px; }
  .bs-stop-go{ font-size:11px; padding:9px 12px; }
}

/* v12.7.70 — Smart Book Sequence: per-partner groups (Skiddle / Ticketmaster / etc.) */
.bs-groups{ display:flex; flex-direction:column; gap:14px; margin-bottom:18px; }
.bs-grp{
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:12px 12px 6px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--partner-tone, #444) 14%, transparent) 0%, transparent 80%);
}
.bs-grp-head{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.bs-grp-icon{
  width:36px; height:36px; border-radius:10px;
  background:var(--partner-tone, #444); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:16px; flex-shrink:0;
  box-shadow:0 4px 14px -4px color-mix(in srgb, var(--partner-tone, #444) 60%, transparent);
}
.bs-grp-meta{ flex:1; min-width:0; }
.bs-grp-name{ font-size:14px; font-weight:900; color:#fff; }
.bs-grp-sub{ font-size:11px; color:rgba(255,255,255,.55); margin-top:1px; }
.bs-grp-hint{
  font-size:11px; color:rgba(255,255,255,.5);
  margin:0 4px 8px; line-height:1.4;
}
.bs-grp-events{ display:flex; flex-direction:column; gap:8px; }
.bs-grp .bs-stop{
  background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.05);
  grid-template-columns:54px 1fr auto;
}
.bs-grp .bs-stop-num{ display:none; }

.bs-actions-row{
  display:flex; gap:6px; padding-top:14px; border-top:1px solid rgba(255,255,255,.08);
  flex-wrap:wrap;
}
.bs-actions-row .bs-btn{ flex:1 1 0; min-width:90px; padding:11px 10px; font-size:12px; gap:6px; }
.bs-email{ background:rgba(255,255,255,.08); color:#fff; }
.bs-email:hover{ background:rgba(255,255,255,.14); }
@media(max-width:480px){
  .bs-grp{ padding:10px 10px 4px; }
  .bs-grp-icon{ width:32px; height:32px; font-size:14px; }
  .bs-grp-name{ font-size:13px; }
  .bs-grp-hint{ font-size:10.5px; }
  .bs-actions-row .bs-btn{ font-size:11px; padding:10px 8px; }
}

/* v12.7.57 — show Dark/Light text labels (icons were removed at user's request, so the desktop buttons were empty) */
html body .WOT .wot-mode-opt span{ display:inline !important; font-size:.7rem !important; letter-spacing:.02em !important; }
html body .WOT .wot-mode-opt{ font-size:.7rem !important; padding:5px 11px !important; }

/* v12.7.57 — Event info link in drawer (was missing — only had ticket affiliate, no link to single page) */
.wot-dr-btn.info-btn{
  background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.18);
  text-decoration:none; display:inline-flex; align-items:center; gap:7px;
}
.wot-dr-btn.info-btn:hover{ background:rgba(255,255,255,.14); }
.WOT.wot-light .wot-dr-btn.info-btn{ background:rgba(0,0,0,.04); color:#0d0d10; border-color:rgba(0,0,0,.12); }
.WOT.wot-light .wot-dr-btn.info-btn:hover{ background:rgba(0,0,0,.08); }

/* v12.7.67 — guarantee the Plan It handle is interactive (was getting blocked by stacking issues with the bottom drawer) */
#planFab, .plan-fab{ pointer-events:auto !important; }
#planHandle, .plan-handle{ pointer-events:auto !important; cursor:pointer !important; }
.plan{ pointer-events:auto !important; }

/* v12.7.66 — kill the leftover map corner chips/surprise box if any remain in DOM (CSS hide as belt+braces over the JS removal in footer.php) */
#mcrmap .mcr-tchips, #mcrmap .mcr-surprise, #mcrmap .mcrmap-pop{ display:none !important; }
/* v12.7.66 — day-strip + filter pills must sit ABOVE the WOT section's other layers but BELOW the fixed mobile top header */
section.WOT .wot-week-strip, section.WOT .wot-filterbar{ position:relative; z-index:5; }

/* v12.7.55 — bottom-sheet that opens when a map dot is tapped (was rendered but had no CSS) */
#mcrPinSheet{ position:fixed; inset:0; z-index:9999; pointer-events:none; visibility:hidden; }
#mcrPinSheet.open{ pointer-events:auto; visibility:visible; }
#mcrPinSheet .mcr-ps-back{ position:absolute; inset:0; background:rgba(0,0,0,.55); opacity:0; transition:opacity .2s; }
#mcrPinSheet.open .mcr-ps-back{ opacity:1; }
#mcrPinSheet .mcr-ps-card{
  position:absolute; left:0; right:0; bottom:0; background:#fff; color:#0d0d10;
  border-radius:18px 18px 0 0; box-shadow:0 -10px 30px rgba(0,0,0,.4);
  padding:16px 16px 22px; transform:translateY(100%); transition:transform .25s ease;
  max-width:560px; margin:0 auto; max-height:85vh; overflow-y:auto;
}
#mcrPinSheet.open .mcr-ps-card{ transform:translateY(0); }
#mcrPinSheet .mcr-ps-x{
  position:absolute; top:10px; right:10px; width:32px; height:32px; border:0; border-radius:50%;
  background:rgba(0,0,0,.06); font-size:22px; line-height:1; cursor:pointer; padding:0; color:#0d0d10;
}
#mcrPinSheet .mcr-ps-x:hover{ background:rgba(0,0,0,.12); }
#mcrPinSheet .mcr-ps-img{
  width:100%; height:160px; border-radius:12px; background:#eee center/cover no-repeat; margin-bottom:12px;
}
#mcrPinSheet .mcr-ps-img.empty{ background:linear-gradient(135deg,#f3f3f5,#e8e8ec); }
#mcrPinSheet .mcr-ps-when{ font-size:12px; font-weight:800; color:#E8201A; letter-spacing:.06em; text-transform:uppercase; margin-bottom:4px; }
#mcrPinSheet .mcr-ps-title{ font-size:18px; font-weight:900; line-height:1.2; margin-bottom:4px; }
#mcrPinSheet .mcr-ps-venue{ font-size:14px; color:#555; margin-bottom:8px; }
#mcrPinSheet .mcr-ps-meta{ font-size:13px; color:#333; margin-bottom:14px; }
#mcrPinSheet .mcr-ps-meta b{ color:#0d0d10; }
#mcrPinSheet .mcr-ps-acts{ display:flex; gap:8px; flex-wrap:wrap; }
#mcrPinSheet .mcr-ps-acts a{
  flex:1 1 auto; text-align:center; padding:12px 14px; border-radius:999px; text-decoration:none;
  font-weight:800; font-size:14px;
}
#mcrPinSheet .mcr-ps-tix{ background:#E8201A; color:#fff; }
#mcrPinSheet .mcr-ps-walk{ background:#0d0d10; color:#fff; }
#mcrPinSheet .mcr-ps-soldout{ background:#999; color:#fff; flex:1 1 auto; text-align:center; padding:12px 14px; border-radius:999px; font-weight:800; }

/* v12.7.54 — shrink Now/Next/Tonight mini-label + day-strip boxes per user request */
.wot-mini-label{ gap:6px !important; font-size:11px !important; padding:4px 0 !important; }
.wot-mini-tonight{ font-size:11px !important; letter-spacing:.04em !important; }
.wot-mini-live{ font-size:10px !important; padding:2px 6px !important; }
.wot-mini-dot{ width:6px !important; height:6px !important; }
.wot-view-switch, .wot-mode-switch{ transform:scale(.85); transform-origin:right center; }
.wot-wday{ width:34px !important; height:38px !important; padding:4px 0 !important; }
.wot-wday-dn{ font-size:.34rem !important; }
.wot-wday-num{ font-size:.72rem !important; }
@media (max-width:480px){
  .wot-wday{ width:30px !important; height:34px !important; }
  .wot-wday-num{ font-size:.66rem !important; }
}
.wot-map-hud{ font-size:11px !important; padding:6px 8px !important; gap:6px !important; }
.wot-map-hud b{ font-size:13px !important; }

/* v12.7.52 in-map event popup (fires when user taps a map marker on mobile WOT) */
#mcrmap .mcrmap-pop{
  position:absolute; left:12px; right:12px; bottom:12px; z-index:1000;
  background:#fff; color:#0d0d10; border-radius:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.45), 0 0 0 1px rgba(0,0,0,.06);
  display:flex; flex-direction:row; gap:12px; padding:10px;
  animation:mcrmapPopIn .18s ease-out;
  border-left:4px solid var(--ec,#E8201A);
}
@keyframes mcrmapPopIn { from{ opacity:0; transform:translateY(8px) } to{ opacity:1; transform:none } }
#mcrmap .mcrmap-pop-x{
  position:absolute; top:6px; right:8px; width:28px; height:28px; border:0; background:rgba(0,0,0,.06);
  border-radius:50%; font-size:18px; line-height:1; cursor:pointer; color:#0d0d10; padding:0;
}
#mcrmap .mcrmap-pop-x:hover{ background:rgba(0,0,0,.12); }
#mcrmap .mcrmap-pop-img{ flex:0 0 90px; height:90px; border-radius:10px; overflow:hidden; background:#eee; }
#mcrmap .mcrmap-pop-img img{ width:100%; height:100%; object-fit:cover; display:block; }
#mcrmap .mcrmap-pop-body{ flex:1 1 auto; min-width:0; padding-right:24px; display:flex; flex-direction:column; gap:6px; }
#mcrmap .mcrmap-pop-badge{
  display:inline-block; align-self:flex-start; color:#fff; font-size:10px; font-weight:800;
  letter-spacing:.06em; padding:3px 8px; border-radius:4px; text-transform:uppercase;
}
#mcrmap .mcrmap-pop-title{ font-weight:800; font-size:15px; line-height:1.25; color:#0d0d10; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
#mcrmap .mcrmap-pop-meta{ display:flex; flex-wrap:wrap; gap:4px 10px; font-size:12px; color:#555; }
#mcrmap .mcrmap-pop-mi.mcrmap-pop-pr{ color:#0d0d10; font-weight:700; }
#mcrmap .mcrmap-pop-btn{
  margin-top:4px; align-self:flex-start; color:#fff; font-weight:700; font-size:13px;
  padding:8px 14px; border-radius:999px; text-decoration:none; display:inline-flex; align-items:center; gap:6px;
}
#mcrmap .mcrmap-pop-btn:hover{ filter:brightness(1.08); }
@media (max-width:480px){
  #mcrmap .mcrmap-pop{ left:8px; right:8px; bottom:8px; padding:8px; gap:8px; }
  #mcrmap .mcrmap-pop-img{ flex:0 0 70px; height:70px; }
  #mcrmap .mcrmap-pop-title{ font-size:14px; }
}

/* =========================================================================
   === FASHION HUB === v12.7.84
   /fashion Google-vibrant playground - tpl-fashion.php
   White bg, dark text, multi-color Google accents (red EA4335 / yellow FBBC05
   / green 34A853 / blue 4285F4 / hot pink ff003a). Big rounded corners,
   bouncy hovers, lots of white space, Inter Black headlines. Sits inside
   .CENTRE.white-bg.light-content. Multi-city safe. Self-contained.
   ========================================================================= */
.fashion-hub.fashion-hub{ background:#ffffff; color:#0f172a; font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif; padding:0; }
.fashion-hub *{ box-sizing:border-box; }
.fashion-hub a{ color:inherit; text-decoration:none; }
.fashion-hub h1,.fashion-hub h2,.fashion-hub h3,.fashion-hub h4{ margin:0; font-family:'Inter','Helvetica Neue',Arial,sans-serif; font-weight:900; letter-spacing:-0.025em; color:#0f172a; }
.fashion-hub p{ margin:0; line-height:1.55; color:#475569; }
.fashion-hub .fhub-section{ max-width:1180px; margin:0 auto; padding:72px 28px; }
.fashion-hub .fhub-sec-head{ margin:0 0 36px; }
.fashion-hub .fhub-sec-head-c{ text-align:center; }
.fashion-hub .fhub-sec-head h2{ font-size:clamp(30px,4.2vw,48px); line-height:1.05; margin:10px 0 12px; }
.fashion-hub .fhub-sec-head p{ font-size:18px; max-width:680px; }
.fashion-hub .fhub-sec-head-c p{ margin-left:auto; margin-right:auto; }

/* Eyebrow pills */
.fashion-hub .fhub-eyebrow-pill{ display:inline-block; padding:7px 14px; border-radius:999px; background:#0f172a; color:#fff; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.fashion-hub .fhub-eyebrow-pink{ background:#ff003a; }
.fashion-hub .fhub-eyebrow-yellow{ background:#FBBC05; color:#1f2937; }
.fashion-hub .fhub-eyebrow-green{ background:#34A853; }
.fashion-hub .fhub-eyebrow-blue{ background:#4285F4; }
.fashion-hub .fhub-eyebrow-red{ background:#EA4335; }

/* HERO */
.fashion-hub .fhub-hero{ position:relative; padding:96px 28px 72px; text-align:center; overflow:hidden; background:radial-gradient(ellipse at 50% 0%, #fff8fb 0%, #ffffff 60%); }
.fashion-hub .fhub-hero-inner{ max-width:980px; margin:0 auto; position:relative; z-index:2; }
.fashion-hub .fhub-hero-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:800; letter-spacing:.18em; color:#1f2937; background:#fff; border:1px solid #e5e7eb; padding:8px 16px; border-radius:999px; box-shadow:0 4px 14px rgba(15,23,42,.06); margin-bottom:26px; }
.fashion-hub .fhub-dot{ width:8px; height:8px; border-radius:50%; display:inline-block; }
.fashion-hub .fhub-dot-r{ background:#EA4335; }
.fashion-hub .fhub-dot-y{ background:#FBBC05; }
.fashion-hub .fhub-dot-g{ background:#34A853; }
.fashion-hub .fhub-dot-b{ background:#4285F4; }
.fashion-hub .fhub-hero-title{ font-size:clamp(44px,8vw,96px); line-height:.95; font-weight:900; letter-spacing:-0.04em; margin:0 0 24px; }
.fashion-hub .fhub-w{ display:inline-block; transition:transform .35s cubic-bezier(.22,1.4,.4,1); }
.fashion-hub .fhub-w:hover{ transform:translateY(-6px) rotate(-2deg); }
.fashion-hub .fhub-w-r{ color:#EA4335; }
.fashion-hub .fhub-w-y{ color:#FBBC05; }
.fashion-hub .fhub-w-g{ color:#34A853; }
.fashion-hub .fhub-w-b{ color:#4285F4; }
.fashion-hub .fhub-hero-lede{ font-size:clamp(18px,2.4vw,24px); color:#1f2937; font-weight:500; max-width:620px; margin:0 auto 36px; }
.fashion-hub .fhub-hero-cta{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.fashion-hub .fhub-btn{ display:inline-flex; align-items:center; gap:10px; padding:18px 30px; border-radius:999px; font-weight:800; font-size:15px; letter-spacing:.04em; cursor:pointer; border:none; transition:transform .22s cubic-bezier(.22,1.4,.4,1), box-shadow .22s ease, background .2s ease; }
.fashion-hub .fhub-btn-primary{ background:#ff003a; color:#fff; box-shadow:0 10px 28px rgba(255,0,58,.32); }
.fashion-hub .fhub-btn-primary:hover{ transform:translateY(-3px) scale(1.04); background:#ff1f55; box-shadow:0 16px 36px rgba(255,0,58,.42); }
.fashion-hub .fhub-btn-ghost{ background:#fff; color:#0f172a; border:2px solid #0f172a; }
.fashion-hub .fhub-btn-ghost:hover{ transform:translateY(-3px) scale(1.04); background:#0f172a; color:#fff; }
.fashion-hub .fhub-hero-bubbles{ position:absolute; inset:0; pointer-events:none; }
.fashion-hub .fhub-bubble{ position:absolute; border-radius:50%; opacity:.55; filter:blur(2px); animation:fhubFloat 9s ease-in-out infinite; }
.fashion-hub .fhub-b1{ width:80px; height:80px; background:#FBBC05; top:18%; left:7%; animation-delay:0s; }
.fashion-hub .fhub-b2{ width:120px; height:120px; background:#4285F4; top:60%; left:4%; animation-delay:1.2s; }
.fashion-hub .fhub-b3{ width:64px; height:64px; background:#34A853; top:14%; right:10%; animation-delay:.6s; }
.fashion-hub .fhub-b4{ width:96px; height:96px; background:#EA4335; top:62%; right:6%; animation-delay:1.8s; }
@keyframes fhubFloat{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-22px) } }

/* DotZ EXPLAINED */
.fashion-hub .fhub-rainbow{ background:linear-gradient(90deg,#EA4335,#FBBC05,#34A853,#4285F4,#ff003a); -webkit-background-clip:text; background-clip:text; color:transparent; }
.fashion-hub .fhub-steps{ display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:18px; align-items:start; max-width:1080px; margin:0 auto 36px; }
.fashion-hub .fhub-step{ background:#fff; border:1px solid #e5e7eb; border-radius:24px; padding:32px 24px; text-align:center; transition:transform .25s cubic-bezier(.22,1.4,.4,1), box-shadow .25s ease; box-shadow:0 6px 20px rgba(15,23,42,.04); position:relative; }
.fashion-hub .fhub-step:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(15,23,42,.10); }
.fashion-hub .fhub-step-circle{ width:88px; height:88px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:34px; margin:0 auto 16px; box-shadow:0 8px 24px rgba(15,23,42,.18); }
.fashion-hub .fhub-c-blue{ background:#4285F4; }
.fashion-hub .fhub-c-yellow{ background:#FBBC05; }
.fashion-hub .fhub-c-pink{ background:#ff003a; }
.fashion-hub .fhub-step-num{ position:absolute; top:14px; left:14px; width:28px; height:28px; border-radius:50%; background:#0f172a; color:#fff; font-size:13px; font-weight:800; display:inline-flex; align-items:center; justify-content:center; }
.fashion-hub .fhub-step h3{ font-size:20px; margin:0 0 6px; }
.fashion-hub .fhub-step p{ font-size:15px; }
.fashion-hub .fhub-step-arrow{ display:flex; align-items:center; justify-content:center; color:#cbd5e1; font-size:24px; padding-top:60px; }
.fashion-hub .fhub-explain-foot{ text-align:center; font-size:16px; max-width:760px; margin:0 auto 40px; color:#1f2937; }
.fashion-hub .fhub-explain-foot strong{ color:#0f172a; }

/* Card preview */
.fashion-hub .fhub-card-preview{ display:flex; gap:20px; justify-content:center; flex-wrap:wrap; }
.fashion-hub .fhub-card{ position:relative; width:240px; aspect-ratio:3/4; border-radius:20px; overflow:hidden; background:#0f172a; box-shadow:0 14px 36px rgba(15,23,42,.18); transition:transform .35s cubic-bezier(.22,1.4,.4,1); }
.fashion-hub .fhub-card:hover{ transform:translateY(-8px) rotate(1.5deg) scale(1.03); }
.fashion-hub .fhub-card-img{ position:absolute; inset:0; background-size:cover; background-position:center; }
.fashion-hub .fhub-card-shine{ position:absolute; inset:0; background:linear-gradient(115deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.6) 50%, rgba(255,255,255,0) 70%), linear-gradient(45deg,rgba(255,0,58,.32),rgba(255,189,5,.32),rgba(52,168,83,.32),rgba(66,133,244,.32)); mix-blend-mode:overlay; animation:fhubShine 3.6s linear infinite; pointer-events:none; }
@keyframes fhubShine{ 0%{ background-position:-200% 0, 0 0; } 100%{ background-position:200% 0, 0 0; } }
.fashion-hub .fhub-card-meta{ position:absolute; left:0; right:0; bottom:0; padding:14px 16px; background:linear-gradient(to top, rgba(0,0,0,.78), transparent); color:#fff; }
.fashion-hub .fhub-card-handle{ font-weight:800; font-size:15px; }
.fashion-hub .fhub-card-hood{ font-size:12px; opacity:.85; }
.fashion-hub .fhub-card-rarity{ position:absolute; top:12px; right:12px; padding:5px 10px; border-radius:999px; font-size:10px; font-weight:900; letter-spacing:.1em; background:#fff; color:#0f172a; }
.fashion-hub .fhub-card-shiny .fhub-card-rarity{ background:linear-gradient(90deg,#FBBC05,#ff003a,#4285F4); color:#fff; }

/* FIT PIT */
.fashion-hub .fhub-fitpit-sec{ background:#fff7f9; border-radius:32px; }
.fashion-hub .fhub-week-bar{ max-width:780px; margin:0 auto 36px; background:#fff; border-radius:20px; padding:18px 22px; box-shadow:0 8px 24px rgba(15,23,42,.06); border:1px solid #ffe1ea; }
.fashion-hub .fhub-week-bar-track{ height:10px; background:#ffe1ea; border-radius:999px; overflow:hidden; margin-bottom:10px; }
.fashion-hub .fhub-week-bar-fill{ height:100%; background:linear-gradient(90deg,#FBBC05,#ff003a); border-radius:999px; transition:width .6s ease; }
.fashion-hub .fhub-week-bar-meta{ display:flex; justify-content:space-between; font-size:12px; font-weight:800; letter-spacing:.06em; color:#1f2937; }
.fashion-hub .fhub-fitpit-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.fashion-hub .fhub-fitpit-card{ position:relative; background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 8px 24px rgba(15,23,42,.06); transition:transform .25s cubic-bezier(.22,1.4,.4,1), box-shadow .25s ease; border:2px solid transparent; }
.fashion-hub .fhub-fitpit-card:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(15,23,42,.12); }
.fashion-hub .fhub-fitpit-card.is-leading{ grid-row:span 2; border-color:#FBBC05; box-shadow:0 14px 36px rgba(251,188,5,.28); }
.fashion-hub .fhub-leading-chip{ position:absolute; top:14px; left:14px; z-index:2; background:#FBBC05; color:#1f2937; font-size:11px; font-weight:900; letter-spacing:.1em; padding:7px 12px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; box-shadow:0 6px 18px rgba(251,188,5,.4); }
.fashion-hub .fhub-fitpit-img{ width:100%; aspect-ratio:3/4; background-size:cover; background-position:center; }
.fashion-hub .fhub-fitpit-card.is-leading .fhub-fitpit-img{ aspect-ratio:3/4.6; }
.fashion-hub .fhub-fitpit-meta{ padding:14px 16px 0; }
.fashion-hub .fhub-fitpit-handle{ font-weight:800; font-size:16px; color:#0f172a; }
.fashion-hub .fhub-fitpit-hood{ font-size:13px; color:#64748b; margin-top:2px; }
.fashion-hub .fhub-fitpit-hood i{ color:#ff003a; margin-right:4px; }
.fashion-hub .fhub-vote-btn{ display:flex; align-items:center; gap:8px; margin:14px 16px 16px; padding:11px 16px; border-radius:999px; background:#fff; border:2px solid #ffe1ea; color:#ff003a; font-weight:800; font-size:14px; cursor:pointer; transition:transform .2s cubic-bezier(.22,1.4,.4,1), background .2s ease, color .2s ease, border-color .2s ease; }
.fashion-hub .fhub-vote-btn:hover{ background:#ff003a; color:#fff; border-color:#ff003a; transform:scale(1.04); }
.fashion-hub .fhub-vote-btn.is-voted{ background:#ff003a; color:#fff; border-color:#ff003a; }
.fashion-hub .fhub-vote-btn.is-voted i{ animation:fhubPop .4s; }
@keyframes fhubPop{ 0%{ transform:scale(1) } 50%{ transform:scale(1.6) } 100%{ transform:scale(1) } }

/* WALLET */
.fashion-hub .fhub-wallet{ background:#fff; border-radius:28px; padding:36px; box-shadow:0 16px 48px rgba(15,23,42,.08); border:1px solid #f1f5f9; }
.fashion-hub .fhub-wallet-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:32px; padding-bottom:32px; border-bottom:2px dashed #f1f5f9; }
.fashion-hub .fhub-stat{ text-align:center; }
.fashion-hub .fhub-stat-num{ font-size:clamp(34px,5vw,52px); font-weight:900; line-height:1; letter-spacing:-0.03em; background:linear-gradient(135deg,#ff003a,#FBBC05); -webkit-background-clip:text; background-clip:text; color:transparent; }
.fashion-hub .fhub-stat-lbl{ margin-top:6px; font-size:11px; font-weight:800; letter-spacing:.14em; color:#64748b; }
.fashion-hub .fhub-collections{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.fashion-hub .fhub-collection{ position:relative; padding:22px 18px; border-radius:20px; color:#fff; overflow:hidden; transition:transform .3s cubic-bezier(.22,1.4,.4,1), box-shadow .3s ease; isolation:isolate; }
.fashion-hub .fhub-collection:hover{ transform:translateY(-6px) scale(1.025); }
.fashion-hub .fhub-col-pink{ background:#ff003a; box-shadow:0 8px 24px rgba(255,0,58,.32); }
.fashion-hub .fhub-col-red{ background:#EA4335; box-shadow:0 8px 24px rgba(234,67,53,.32); }
.fashion-hub .fhub-col-blue{ background:#4285F4; box-shadow:0 8px 24px rgba(66,133,244,.32); }
.fashion-hub .fhub-col-yellow{ background:#FBBC05; color:#1f2937; box-shadow:0 8px 24px rgba(251,188,5,.32); }
.fashion-hub .fhub-col-green{ background:#34A853; box-shadow:0 8px 24px rgba(52,168,83,.32); }
.fashion-hub .fhub-col-icon{ width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,.22); display:inline-flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:14px; }
.fashion-hub .fhub-col-yellow .fhub-col-icon{ background:rgba(31,41,55,.18); color:#1f2937; }
.fashion-hub .fhub-col-name{ font-weight:900; font-size:16px; letter-spacing:.06em; }
.fashion-hub .fhub-col-count{ font-size:13px; opacity:.92; margin-top:4px; }
.fashion-hub .fhub-col-shiny{ font-size:12px; opacity:.78; }
.fashion-hub .fhub-col-link{ margin-top:14px; font-size:11px; font-weight:800; letter-spacing:.1em; opacity:.95; display:flex; align-items:center; gap:6px; }
.fashion-hub .fhub-col-link i{ font-size:10px; transition:transform .25s ease; }
.fashion-hub .fhub-collection:hover .fhub-col-link i{ transform:translateX(4px); }
.fashion-hub .fhub-wallet-empty{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:24px; padding:18px; background:#fffbe5; border:2px dashed #FBBC05; border-radius:16px; color:#1f2937; font-weight:600; font-size:15px; }

/* LEADERBOARD */
.fashion-hub .fhub-leaderboard{ list-style:none; padding:0; margin:0; max-width:760px; margin-left:auto; margin-right:auto; display:flex; flex-direction:column; gap:10px; }
.fashion-hub .fhub-leader{ display:grid; grid-template-columns:48px 56px 1fr auto auto; gap:16px; align-items:center; padding:14px 18px; background:#fff; border:1px solid #f1f5f9; border-radius:18px; transition:transform .2s ease, box-shadow .2s ease; }
.fashion-hub .fhub-leader:hover{ transform:translateX(4px); box-shadow:0 8px 22px rgba(15,23,42,.08); }
.fashion-hub .fhub-leader-rank{ display:flex; align-items:center; gap:6px; font-weight:900; font-size:18px; color:#0f172a; }
.fashion-hub .fhub-leader-rank i{ font-size:18px; }
.fashion-hub .fhub-medal-gold .fhub-leader-rank i{ color:#FBBC05; }
.fashion-hub .fhub-medal-silver .fhub-leader-rank i{ color:#94a3b8; }
.fashion-hub .fhub-medal-bronze .fhub-leader-rank i{ color:#c2710c; }
.fashion-hub .fhub-medal-gold{ background:linear-gradient(90deg,#fffbe5,#fff); border-color:#FBBC05; }
.fashion-hub .fhub-leader-avatar{ width:48px; height:48px; border-radius:50%; }
.fashion-hub .fhub-leader-handle{ font-weight:800; font-size:15px; color:#0f172a; }
.fashion-hub .fhub-leader-dotz{ font-size:14px; color:#64748b; }
.fashion-hub .fhub-leader-dotz strong{ color:#ff003a; font-weight:900; }
.fashion-hub .fhub-leader-sections{ display:flex; gap:5px; }
.fashion-hub .fhub-leader-badge{ width:26px; height:26px; border-radius:8px; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:11px; }

/* HOOD GRID */
.fashion-hub .fhub-hood-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.fashion-hub .fhub-hood-card{ position:relative; background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 6px 20px rgba(15,23,42,.05); transition:transform .25s cubic-bezier(.22,1.4,.4,1), box-shadow .25s ease; border:1px solid #f1f5f9; }
.fashion-hub .fhub-hood-card:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(15,23,42,.10); }
.fashion-hub .fhub-hood-img{ height:160px; background-size:cover; background-position:center; background-color:#f1f5f9; }
.fashion-hub .fhub-hood-img-empty{ display:flex; align-items:center; justify-content:center; font-size:34px; color:var(--accent,#cbd5e1); background:linear-gradient(135deg,#f8fafc,#fff); }
.fashion-hub .fhub-hood-body{ padding:16px 18px 18px; }
.fashion-hub .fhub-hood-tag{ display:inline-block; background:var(--accent,#0f172a); color:#fff; font-weight:800; font-size:11px; letter-spacing:.08em; padding:4px 10px; border-radius:999px; margin-bottom:8px; }
.fashion-hub .fhub-hood-card h3{ font-size:18px; margin:0 0 6px; }
.fashion-hub .fhub-hood-go{ font-size:12px; font-weight:800; letter-spacing:.06em; color:var(--accent,#0f172a); display:flex; align-items:center; gap:6px; }
.fashion-hub .fhub-hood-go i{ font-size:10px; transition:transform .25s ease; }
.fashion-hub .fhub-hood-card:hover .fhub-hood-go i{ transform:translateX(4px); }

/* GUIDES GRID */
.fashion-hub .fhub-guides-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.fashion-hub .fhub-guide-card{ background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 6px 20px rgba(15,23,42,.05); transition:transform .25s cubic-bezier(.22,1.4,.4,1); border:1px solid #f1f5f9; }
.fashion-hub .fhub-guide-card:hover{ transform:translateY(-4px); }
.fashion-hub .fhub-guide-img{ height:160px; background:#f1f5f9; background-size:cover; background-position:center; }
.fashion-hub .fhub-guide-body{ padding:14px 16px 16px; }
.fashion-hub .fhub-guide-card h3{ font-size:15px; line-height:1.3; margin:0 0 8px; min-height:40px; }
.fashion-hub .fhub-guide-go{ font-size:11px; font-weight:800; letter-spacing:.08em; color:#ff003a; display:flex; align-items:center; gap:6px; }
.fashion-hub .fhub-guide-go i{ font-size:9px; }

/* BRAND GRID */
.fashion-hub .fhub-brand-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.fashion-hub .fhub-brand-card{ background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 6px 20px rgba(15,23,42,.05); transition:transform .25s cubic-bezier(.22,1.4,.4,1), box-shadow .25s ease; border:1px solid #f1f5f9; }
.fashion-hub .fhub-brand-card:hover{ transform:translateY(-6px) rotate(-.5deg); box-shadow:0 16px 36px rgba(15,23,42,.10); }
.fashion-hub .fhub-brand-img{ height:120px; background:#f1f5f9; background-size:cover; background-position:center; }
.fashion-hub .fhub-brand-img-empty{ display:flex; align-items:center; justify-content:center; font-size:32px; color:#cbd5e1; }
.fashion-hub .fhub-brand-body{ padding:14px 16px 16px; }
.fashion-hub .fhub-brand-card h3{ font-size:15px; margin:0 0 4px; }
.fashion-hub .fhub-brand-card p{ font-size:12px; color:#64748b; line-height:1.4; }

/* MAP */
.fashion-hub .fhub-map{ height:480px; border-radius:24px; overflow:hidden; box-shadow:0 16px 48px rgba(15,23,42,.08); border:1px solid #f1f5f9; }
.fashion-hub .fhub-map-legend{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:18px; }
.fashion-hub .fhub-legend-chip{ display:inline-flex; align-items:center; gap:7px; padding:7px 14px; border-radius:999px; background:#fff; border:1px solid #e5e7eb; font-size:12px; font-weight:700; color:#1f2937; }
.fashion-hub .fhub-legend-chip i{ font-size:10px; color:var(--c,#888); }
.fashion-hub .fhub-pin span{ display:block; width:20px; height:20px; border-radius:50%; border:3px solid #fff; box-shadow:0 4px 10px rgba(0,0,0,.25); }

/* JOIN */
.fashion-hub .fhub-join-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.fashion-hub .fhub-join-tile{ padding:32px 26px; border-radius:24px; color:#fff; transition:transform .25s cubic-bezier(.22,1.4,.4,1); }
.fashion-hub .fhub-join-tile:hover{ transform:translateY(-6px) rotate(.8deg); }
.fashion-hub .fhub-jt-red{ background:#EA4335; }
.fashion-hub .fhub-jt-yellow{ background:#FBBC05; color:#1f2937; }
.fashion-hub .fhub-jt-blue{ background:#4285F4; }
.fashion-hub .fhub-join-tile i{ font-size:30px; margin-bottom:14px; }
.fashion-hub .fhub-join-tile h3{ color:inherit; font-size:22px; margin:0 0 6px; }
.fashion-hub .fhub-join-tile p{ color:inherit; opacity:.9; margin:0 0 14px; font-size:14px; }
.fashion-hub .fhub-join-form{ display:flex; gap:8px; }
.fashion-hub .fhub-join-form input{ flex:1; min-width:0; padding:12px 14px; border-radius:999px; border:none; font-size:14px; outline:none; }
.fashion-hub .fhub-join-form button{ padding:12px 20px; border-radius:999px; border:none; background:#0f172a; color:#fff; font-weight:800; cursor:pointer; transition:transform .2s ease; }
.fashion-hub .fhub-join-form button:hover{ transform:scale(1.05); }
.fashion-hub .fhub-join-cta{ display:inline-block; padding:12px 22px; border-radius:999px; background:#0f172a; color:#fff; font-weight:800; font-size:14px; letter-spacing:.04em; transition:transform .2s ease; }
.fashion-hub .fhub-join-cta:hover{ transform:scale(1.05); }

/* RESPONSIVE */
@media (max-width:1024px){
  .fashion-hub .fhub-fitpit-grid{ grid-template-columns:repeat(2,1fr); }
  .fashion-hub .fhub-collections{ grid-template-columns:repeat(3,1fr); }
  .fashion-hub .fhub-hood-grid{ grid-template-columns:repeat(3,1fr); }
  .fashion-hub .fhub-guides-grid{ grid-template-columns:repeat(3,1fr); }
  .fashion-hub .fhub-brand-grid{ grid-template-columns:repeat(3,1fr); }
  .fashion-hub .fhub-steps{ grid-template-columns:1fr; }
  .fashion-hub .fhub-step-arrow{ transform:rotate(90deg); padding:0; }
  .fashion-hub .fhub-join-grid{ grid-template-columns:1fr; }
}
@media (max-width:720px){
  .fashion-hub .fhub-section{ padding:56px 20px; }
  .fashion-hub .fhub-hero{ padding:64px 20px 48px; }
  .fashion-hub .fhub-fitpit-grid{ grid-template-columns:1fr; }
  .fashion-hub .fhub-fitpit-card.is-leading{ grid-row:span 1; }
  .fashion-hub .fhub-wallet-stats{ grid-template-columns:repeat(2,1fr); }
  .fashion-hub .fhub-collections{ grid-template-columns:repeat(2,1fr); }
  .fashion-hub .fhub-hood-grid{ grid-template-columns:repeat(2,1fr); }
  .fashion-hub .fhub-guides-grid{ grid-template-columns:repeat(2,1fr); }
  .fashion-hub .fhub-brand-grid{ grid-template-columns:repeat(2,1fr); }
  .fashion-hub .fhub-leader{ grid-template-columns:36px 40px 1fr; }
  .fashion-hub .fhub-leader-dotz, .fashion-hub .fhub-leader-sections{ grid-column:2 / -1; }
  .fashion-hub .fhub-map{ height:340px; }
  .fashion-hub .fhub-wallet{ padding:24px 18px; }
}
@media (max-width:480px){
  .fashion-hub .fhub-hood-grid,.fashion-hub .fhub-guides-grid,.fashion-hub .fhub-brand-grid,.fashion-hub .fhub-collections{ grid-template-columns:1fr; }
  .fashion-hub .fhub-wallet-stats{ grid-template-columns:repeat(2,1fr); }
}
/* === END FASHION HUB === */


/* === SPORT WHITE ====================================================
   White/light theme override for /sport page. Scoped to .sport-white
   wrapper on BODY div. Overrides all dark .hs-* base styles plus the
   .hood-seamless dark container. Sport accent = blue #1A56FF.
==================================================================== */

/* Hero text stays white (over photo) but scrim lightened inline.
   Force the labels to white/high-contrast for legibility. */

/* Section headings */

/* Take, stats bar, sections - all white, no dividers using white opacity */

/* Stat chips - white card, blue number */

/* Event, venue, story cards - white with subtle shadow */

/* Venue/Story image - photo at full saturation, no scrim */

/* Buttons */

/* Image fallback tile - blue accent on white */

/* Sub-section tiles - white with coloured icon */

/* Sport V2 community sections - override retired dark hub styles */

/* Watch placeholder - light dashed */

/* Neighbourhood cards - keep photo, lighten scrim a lot for readability */

/* Footer link buttons */

/* Breadcrumb */

/* Empty state */
/* === END SPORT WHITE === */


/* === FOOD WHITE =====================================================
   White/light theme override for /food page. Scoped to .food-white
   wrapper on BODY div. Mirrors SPORT WHITE pattern. Food accent =
   green #2DB54B.
==================================================================== */

/* Hero text stays white (over photo) but scrim lightened inline.
   Force the labels to white/high-contrast for legibility. */

/* Section headings */

/* Take, stats bar, sections - all white, no dividers using white opacity */

/* Stat chips - white card, green number */

/* Event, venue, story cards - white with subtle shadow */

/* Venue/Story image - photo at full saturation, no scrim */

/* Buttons */

/* Image fallback tile - green accent on white */

/* Sub-section tiles - white with coloured icon */

/* Watch placeholder - light dashed */

/* Neighbourhood cards - keep photo, lighten scrim a lot for readability */

/* Footer link buttons */

/* Breadcrumb */

/* Empty state */
/* === END FOOD WHITE === */


/* === MUSIC WHITE ====================================================
   White/light theme override for /music page. Scoped to .music-white
   wrapper on BODY div. Mirrors SPORT WHITE pattern. Music accent =
   red #E8201A.
==================================================================== */

/* Hero text stays white (over photo) but scrim lightened inline.
   Force the labels to white/high-contrast for legibility. */

/* Section headings */

/* Take, stats bar, sections - all white, no dividers using white opacity */

/* Stat chips - white card, red number */

/* Event, venue, story cards - white with subtle shadow */

/* Venue/Story image - photo at full saturation, no scrim */

/* Buttons */

/* Image fallback tile - red accent on white */

/* Sub-section tiles - white with coloured icon */

/* Watch placeholder - light dashed */

/* Neighbourhood cards - keep photo, lighten scrim a lot for readability */

/* Footer link buttons */

/* Breadcrumb */

/* Empty state */

/* Commercial, local and artist index sections */

/* === MUSIC HUB A11Y / VISUAL QA — FOCUS + TOUCH TARGETS ============
   Scoped to the Music hub. Adds visible keyboard focus rings on the
   white shell (no global focus styling exists for these link/card
   patterns) and restores comfortable touch targets on mobile so the
   Music CTAs, pills and footer links are not below ~44px.
==================================================================== */

/* Visible keyboard focus on the light Music shell. Red ring with a
   white offset keeps it visible over photos and white cards alike. */
/* Card-level links get a ring that follows the rounded card edge. */
/* Hero quick links sit on a photo - give them a light halo too. */

/* Touch targets: keep primary controls comfortable on phones. */
@media (max-width:768px) {
  /* Genre pills are compact secondary controls - hold the WCAG 2.2
     24px floor with breathing room so neighbours are not mis-tapped. */
}
/* === END MUSIC WHITE === */


/* === CULTURE WHITE =================================================
   White/light theme override for /culture page. Scoped to .culture-white
   wrapper on BODY div. Mirrors SPORT WHITE pattern. Culture accent =
   violet #7C3AED.
==================================================================== */

/* Hero text stays white (over photo) but scrim lightened inline.
   Force the labels to white/high-contrast for legibility. */

/* Section headings */

/* Take, stats bar, sections - all white, no dividers using white opacity */

/* Stat chips - white card, violet number */

/* Event, venue, story cards - white with subtle shadow */

/* Venue/Story image - photo at full saturation, no scrim */

/* Buttons */

/* Image fallback tile - violet accent on white */

/* Sub-section tiles - white with coloured icon */

/* Watch placeholder - light dashed */

/* Neighbourhood cards - keep photo, lighten scrim a lot for readability */

/* Footer link buttons */

/* Breadcrumb */

/* Empty state */
/* === END CULTURE WHITE === */


/* === NIGHTLIFE WHITE =================================================
   White/light theme override for /nightlife page. Scoped to .nightlife-white
   wrapper on BODY div. Mirrors SPORT WHITE pattern. Nightlife accent =
   orange #FF6B00.
==================================================================== */

/* Hero text stays white (over photo) but scrim lightened inline.
   Force the labels to white/high-contrast for legibility. */

/* Section headings */

/* Take, stats bar, sections - all white, no dividers using white opacity */

/* Stat chips - white card, orange number */

/* Event, venue, story cards - white with subtle shadow */

/* Venue/Story image - photo at full saturation, no scrim */

/* Buttons */

/* Image fallback tile - orange accent on white */

/* Sub-section tiles - white with coloured icon */

/* Watch placeholder - light dashed */

/* Neighbourhood cards - keep photo, lighten scrim a lot for readability */

/* Footer link buttons */

/* Breadcrumb */

/* Empty state */
/* === END NIGHTLIFE WHITE === */


/* === VENUE WHITE ===================================================
   White/light theme override for single venue posts. Scoped to
   .single-venue-white wrapper on BODY. Mirrors SPORT WHITE pattern.
   Venue accent = orange #FF6B00 (broad).
==================================================================== */
.single-venue-white .CENTRE.single-centre,
.single-venue-white .CENTRE.single-centre.white-bg {
  background:#fff !important;
  color:#111 !important;
}

/* Hero scrim - lighten so photo reads, but keep title legible */
.single-venue-white .evs-hero-scrim {
  background:linear-gradient(to bottom, rgba(0,0,0,.05) 0%, rgba(0,0,0,.30) 55%, rgba(0,0,0,.65) 100%) !important;
}
.single-venue-white .evs-hero-meta { color:rgba(255,255,255,.95) !important; }
.single-venue-white .evs-hero-meta i { color:rgba(255,255,255,.85) !important; }

/* Breadcrumb */
.single-venue-white .evs-breadcrumb { color:#555 !important; }
.single-venue-white .evs-breadcrumb a { color:#111 !important; }
.single-venue-white .evs-breadcrumb a:hover { color:#FF6B00 !important; }
.single-venue-white .evs-bc-current { color:#FF6B00 !important; }

/* Section heads - orange accent */
.single-venue-white .evs-section-head {
  color:#111 !important;
  border-bottom:1px solid rgba(0,0,0,.08) !important;
}
.single-venue-white .evs-section-head::before { background:#FF6B00 !important; }

/* Body prose */
.single-venue-white .evs-description,
.single-venue-white .evs-description p,
.single-venue-white .evs-description li,
.single-venue-white .single-content,
.single-venue-white .single-content p,
.single-venue-white .single-content li { color:#222 !important; }
.single-venue-white .evs-description a,
.single-venue-white .single-content a { color:#FF6B00 !important; }

/* Quick-fact chips - white card with subtle border */
.single-venue-white .evs-chip {
  background:#fff !important;
  border:1px solid rgba(0,0,0,.10) !important;
  color:#222 !important;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.single-venue-white .evs-chip:hover { border-color:rgba(255,107,0,.45) !important; }
.single-venue-white .evs-chip i { color:#FF6B00 !important; }

/* Transport / opening-hours rows */
.single-venue-white .evs-transport-item {
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  color:#222 !important;
}
.single-venue-white .evs-transport-icon {
  background:rgba(255,107,0,.10) !important;
}
.single-venue-white .evs-transport-icon i { color:#FF6B00 !important; }

/* Buttons */
.single-venue-white .btn-ghost {
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(0,0,0,.15) !important;
}
.single-venue-white .btn-ghost:hover {
  border-color:#FF6B00 !important;
  color:#FF6B00 !important;
}
.single-venue-white .btn-primary {
  background:#FF6B00 !important;
  border-color:#FF6B00 !important;
  color:#fff !important;
}

/* Related venue cards + sidebar tiles */
.single-venue-white .evs-related-card,
.single-venue-white .evs-side-card,
.single-venue-white .evs-event-row {
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
  color:#111 !important;
}
.single-venue-white .evs-related-card:hover,
.single-venue-white .evs-side-card:hover,
.single-venue-white .evs-event-row:hover {
  border-color:rgba(255,107,0,.35) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.single-venue-white .evs-related-card a,
.single-venue-white .evs-side-card a { color:#111 !important; }
.single-venue-white .evs-related-card a:hover,
.single-venue-white .evs-side-card a:hover { color:#FF6B00 !important; }

/* Sticky CTA bar - flip dark backdrop to white */
.single-venue-white .mcr-sticky-cta {
  background:rgba(255,255,255,.97) !important;
  border-top:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 -4px 24px rgba(0,0,0,.10) !important;
}
.single-venue-white .mcr-sticky-cta .mcr-sticky-ticket {
  background:#FF6B00 !important;
  color:#fff !important;
}
.single-venue-white .mcr-sticky-cta .mcr-sticky-more {
  color:#222 !important;
  border:1px solid rgba(0,0,0,.18) !important;
  background:#fff !important;
}

/* Share bar */
.single-venue-white .mcr-share-bar {
  border-top:1px solid rgba(0,0,0,.08) !important;
}
.single-venue-white .mcr-share-bar a {
  background:#fff !important;
  color:#222 !important;
  border:1px solid rgba(0,0,0,.12) !important;
}
.single-venue-white .mcr-share-bar a:hover {
  border-color:#FF6B00 !important;
  color:#FF6B00 !important;
}
/* === END VENUE WHITE === */


/* === STORY WHITE ===================================================
   White/light theme override for single story / standard post.
   Scoped to .single-story-white wrapper on BODY. Mirrors SPORT WHITE
   pattern. Story accent = violet #7C3AED (culture).
==================================================================== */
.single-story-white .CENTRE.single-centre,
.single-story-white .CENTRE.single-centre.white-bg {
  background:#fff !important;
  color:#111 !important;
}

/* Hero scrim - lighten for hero photo */
.single-story-white .shf-scrim,
.single-story-white .story-hero-scrim {
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.20) 60%, rgba(0,0,0,.55) 100%) !important;
}
.single-story-white .shf-cat {
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}

/* Back link */
.single-story-white .story-back {
  color:#7C3AED !important;
}
.single-story-white .story-back:hover { color:#5B21B6 !important; }

/* Article header */
.single-story-white .sv2-cat,
.single-story-white .sv2-kicker { color:#7C3AED !important; }
.single-story-white .sv2-title,
.single-story-white .story-title { color:#111 !important; }
.single-story-white .sv2-sub,
.single-story-white .story-sub,
.single-story-white .sv2-meta,
.single-story-white .story-meta { color:#555 !important; }
.single-story-white .sv2-author a,
.single-story-white .story-author a { color:#111 !important; }
.single-story-white .sv2-author a:hover { color:#7C3AED !important; }

/* Article body prose */
.single-story-white .story-article-v2,
.single-story-white .sv2-body,
.single-story-white .single-content,
.single-story-white .story-content {
  color:#222 !important;
}
.single-story-white .sv2-body p,
.single-story-white .single-content p,
.single-story-white .story-content p { color:#222 !important; }
.single-story-white .sv2-body h2,
.single-story-white .sv2-body h3,
.single-story-white .single-content h2,
.single-story-white .single-content h3 { color:#111 !important; }
.single-story-white .sv2-body a,
.single-story-white .single-content a,
.single-story-white .story-content a { color:#7C3AED !important; }
.single-story-white .sv2-body a:hover,
.single-story-white .single-content a:hover { color:#5B21B6 !important; }
.single-story-white .sv2-body blockquote,
.single-story-white .single-content blockquote {
  border-left:3px solid #7C3AED !important;
  color:#333 !important;
  background:#faf7ff !important;
}

/* Tags / chips */
.single-story-white .sv2-tag,
.single-story-white .story-tag {
  background:#fff !important;
  color:#222 !important;
  border:1px solid rgba(0,0,0,.12) !important;
}
.single-story-white .sv2-tag:hover,
.single-story-white .story-tag:hover {
  border-color:#7C3AED !important;
  color:#7C3AED !important;
}

/* Related cards */
.single-story-white .sv2-rel-card,
.single-story-white .story-related-card,
.single-story-white .evs-related-card {
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
  color:#111 !important;
}
.single-story-white .sv2-rel-card:hover,
.single-story-white .story-related-card:hover {
  border-color:rgba(124,58,237,.35) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.single-story-white .sv2-rel-card a,
.single-story-white .story-related-card a { color:#111 !important; }
.single-story-white .sv2-rel-card a:hover { color:#7C3AED !important; }
.single-story-white .sv2-rel-cat,
.single-story-white .story-related-cat { color:#7C3AED !important; }

/* Share bar */
.single-story-white .mcr-share-bar {
  border-top:1px solid rgba(0,0,0,.08) !important;
}
.single-story-white .mcr-share-bar a {
  background:#fff !important;
  color:#222 !important;
  border:1px solid rgba(0,0,0,.12) !important;
}
.single-story-white .mcr-share-bar a:hover {
  border-color:#7C3AED !important;
  color:#7C3AED !important;
}

/* Sticky CTA bar (rare on stories but covers any inheritance) */
.single-story-white .mcr-sticky-cta {
  background:rgba(255,255,255,.97) !important;
  border-top:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 -4px 24px rgba(0,0,0,.10) !important;
}
/* === END STORY WHITE === */


/* === GTA-STYLE FILTER v12.7.84 — applied to all photo cards site-wide === */
.fhub-fitpit-photo, .fhub-fitpit-photo img,
.fhub-cardgame-frame img, .fhub-cardgame-frame .fhub-card-photo,
.fhub-photo-tile, .fhub-photo-tile img,
.fhub-style-tile img, .fhub-style-tile,
.fhub-hood-card img, .fhub-brand-card img,
.fhub-shop-img, .fhub-shop-img img,
.ev-card-img img,
.cat-ev-card img, .scd-card img, .cvg-card img {
  filter:saturate(1.45) contrast(1.1) brightness(1.03);
  transition:filter .25s ease;
}
.fhub-fitpit-photo:hover, .fhub-fitpit-photo img:hover,
.fhub-cardgame-frame:hover img,
.fhub-photo-tile:hover img,
.fhub-style-tile:hover img,
.fhub-hood-card:hover img, .fhub-brand-card:hover img,
.ev-card-img:hover img {
  filter:saturate(1.65) contrast(1.15) brightness(1.06);
}
.fhub-cardgame-frame::after,
.fhub-fitpit-card::after {
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(255,140,0,.08) 0%, transparent 45%, rgba(0,150,255,.08) 100%);
  mix-blend-mode:overlay;
  pointer-events:none;
  border-radius:inherit;
}
/* === END GTA FILTER === */


/* === EVENT CARD WHITE-THEME OVERRIDE v12.7.85 === */
/* Event cards keep white text + dark shadow on ALL *-white category pages.
   The *-white blocks made hs-* cards have dark text but applied too broadly to ev-card. */
/* End: lift any blue/colored highlight from text spans inside .ev-card-meta */
/* === END EVENT CARD WHITE OVERRIDE === */


/* === HERO TEXT CONTRAST OVERRIDE v12.7.86 — white text + dark shadow on hero photos for all *-white pages === */
/* breadcrumb on hero */
/* === END HERO CONTRAST OVERRIDE === */

/* v12.7.95 NAV-CONTENT GAP KILL
   Anchors/anchors-as-struts + wrapper padding can leave visible space
   between the fixed 56px nav and the first page content on mobile. */
@media(max-width:900px){
  /* Collapse the #main-content skip-target anchor so it takes zero height */
  html body #main-content{
    display:block !important;
    height:0 !important;
    overflow:hidden !important;
    font-size:0 !important;
    line-height:0 !important;
  }
  html body #WRAP{ padding-top:56px !important; }
  html body .BODY{ margin-top:0 !important; padding-top:0 !important; }
  html body main.CENTRE{ margin-top:0 !important; padding-top:0 !important; }
  html body main.CENTRE > section.WOT{ margin-top:0 !important; padding-top:0 !important; }
}

/* ── Organic imperfect dots on category filter pills ──────────────────────
   Overrides all previous display:none rules. Each category gets a unique
   hand-drawn blob shape via 8-value border-radius + slight rotation.      */
html body .WOT .wot-flt .wot-flt-dot,
html body section.WOT .wot-flt .wot-flt-dot{
  display:inline-block !important;
  width:7px !important; height:7px !important;
  flex:0 0 7px !important;
  background:currentColor !important;
  opacity:.82 !important;
  box-shadow:inset 0 -1px 2px rgba(0,0,0,.22) !important;
  transition:transform .2s, opacity .2s !important;
}
html body .WOT .wot-flt[data-cat="all"] .wot-flt-dot{
  border-radius:50% !important;
}
html body .WOT .wot-flt[data-cat="music"] .wot-flt-dot{
  border-radius:52% 48% 44% 56% / 46% 54% 48% 52% !important;
  transform:rotate(-13deg) !important;
}
html body .WOT .wot-flt[data-cat="sport"] .wot-flt-dot{
  border-radius:45% 55% 53% 47% / 54% 46% 50% 50% !important;
  transform:rotate(7deg) !important;
}
html body .WOT .wot-flt[data-cat="food"] .wot-flt-dot{
  border-radius:58% 42% 47% 53% / 50% 50% 44% 56% !important;
  transform:rotate(-4deg) !important;
}
html body .WOT .wot-flt[data-cat="nightlife"] .wot-flt-dot{
  border-radius:46% 54% 52% 48% / 53% 47% 56% 44% !important;
  transform:rotate(11deg) !important;
}
html body .WOT .wot-flt[data-cat="culture"] .wot-flt-dot{
  border-radius:55% 45% 48% 52% / 47% 53% 45% 55% !important;
  transform:rotate(-19deg) !important;
}
html body .WOT .wot-flt[data-cat="family"] .wot-flt-dot{
  border-radius:49% 51% 56% 44% / 52% 48% 45% 55% !important;
  transform:rotate(15deg) !important;
}
/* Active pill: dot brightens and gets a soft halo */
html body .WOT .wot-flt.on .wot-flt-dot{
  opacity:1 !important;
  box-shadow:inset 0 -1px 1px rgba(0,0,0,.18), 0 0 5px 1px rgba(255,255,255,.18) !important;
}
html body .WOT .wot-flt.on[data-cat="all"] .wot-flt-dot{
  background:rgba(10,10,13,.7) !important;
}

/* ── Paint-spot texture on category dots ─────────────────────────────────
   Radial gradient gives lit top-left highlight + dark base — like a
   real painted / inked dot. Each hue uses its category colour.           */
html body .WOT .wot-flt[data-cat="all"] .wot-flt-dot{
  background:radial-gradient(circle at 38% 32%, rgba(255,255,255,.55) 0%, rgba(200,200,210,.9) 45%, rgba(140,140,155,1) 100%) !important;
}
html body .WOT .wot-flt[data-cat="music"] .wot-flt-dot{
  background:radial-gradient(circle at 36% 30%, #ff7a74 0%, #E8201A 48%, #8c0d09 100%) !important;
}
html body .WOT .wot-flt[data-cat="sport"] .wot-flt-dot{
  background:radial-gradient(circle at 38% 30%, #7ea8ff 0%, #1A56FF 48%, #0a28a8 100%) !important;
}
html body .WOT .wot-flt[data-cat="food"] .wot-flt-dot{
  background:radial-gradient(circle at 35% 32%, #7ddea0 0%, #2DB54B 48%, #156828 100%) !important;
}
html body .WOT .wot-flt[data-cat="nightlife"] .wot-flt-dot{
  background:radial-gradient(circle at 38% 30%, #ffb06a 0%, #FF6B00 48%, #a03d00 100%) !important;
}
html body .WOT .wot-flt[data-cat="culture"] .wot-flt-dot{
  background:radial-gradient(circle at 36% 30%, #c490ff 0%, #7C3AED 48%, #3d1278 100%) !important;
}
html body .WOT .wot-flt[data-cat="family"] .wot-flt-dot{
  background:radial-gradient(circle at 38% 30%, #ffe97a 0%, #F5C400 48%, #926e00 100%) !important;
}

/* ── Dot-only pills — compact, no text, no bg, just the painted dot ──────
   Text is visually hidden (font-size:0) but remains in DOM for a11y.
   Pills are just a tap target around the organic dot.                    */
html body .WOT .wot-flt{
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  padding:4px 5px !important;
  font-size:0 !important;
  min-height:0 !important;
  gap:0 !important;
  border-radius:0 !important;
  transform:none !important;
}
html body .WOT .wot-flt:hover{ background:none !important; filter:none !important; }
html body .WOT .wot-flt .wot-flt-dot{
  width:10px !important; height:10px !important;
  flex:0 0 10px !important;
  transition:transform .18s cubic-bezier(.34,1.5,.64,1), box-shadow .18s !important;
  transform:rotate(var(--dot-r, 0deg)) !important;
  display:inline-block !important;
}
html body .WOT .wot-flt:hover .wot-flt-dot{
  transform:rotate(var(--dot-r, 0deg)) scale(1.15) !important;
}
/* Active: larger dot + white ring */
html body .WOT .wot-flt.on .wot-flt-dot{
  transform:rotate(var(--dot-r, 0deg)) scale(1.3) !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.9), 0 2px 6px rgba(0,0,0,.35) !important;
}
/* Per-category rotation baked in via custom property */
html body .WOT .wot-flt[data-cat="music"]    { --dot-r: -13deg; }
html body .WOT .wot-flt[data-cat="sport"]    { --dot-r: 7deg; }
html body .WOT .wot-flt[data-cat="food"]     { --dot-r: -4deg; }
html body .WOT .wot-flt[data-cat="nightlife"]{ --dot-r: 11deg; }
html body .WOT .wot-flt[data-cat="culture"]  { --dot-r: -19deg; }
html body .WOT .wot-flt[data-cat="family"]   { --dot-r: 15deg; }
/* Keep full-cal link hidden */
html body .WOT .wot-filterbar .wot-full-cal-btn{ display:none !important; }

/* ── Ticker: white band with black text ──────────────────────────────── */
html body .WOT .wot-ticker{
  background:#fff !important;
  border-top:1px solid rgba(0,0,0,.06) !important;
  border-bottom:1px solid rgba(0,0,0,.06) !important;
}
html body .WOT .wot-ticker-item{
  color:rgba(0,0,0,.65) !important;
}
/* ── Hide pill-size debug slider on mobile ───────────────────────────── */
@media(max-width:900px){
  html body .WOT .wot-density,
  html body section.WOT .wot-density{ display:none !important; }
}
/* Kill "Tap grid to expand" overlay text in split-mini */
html body.home.wot-split-mini .WOT::after{ content:none !important; display:none !important; }

/* ── Day strip: slim underline tabs, not chunky cards ───────────────── */
html body .WOT .wot-week-strip{
  gap:0 !important;
  padding:0 !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  background:transparent !important;
  overflow-x:auto !important;
  flex-wrap:nowrap !important;
  scrollbar-width:none !important;
}
html body .WOT .wot-week-strip::-webkit-scrollbar{ display:none !important; }
html body .WOT .wot-wday{
  width:auto !important; height:auto !important;
  padding:7px 14px !important;
  border-radius:0 !important;
  background:transparent !important;
  border:none !important;
  border-bottom:2px solid transparent !important;
  box-shadow:none !important;
  flex-shrink:0 !important;
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:center !important;
  cursor:pointer !important;
  transition:color .15s, border-color .15s !important;
}
html body .WOT .wot-wday:hover{ background:rgba(255,255,255,.04) !important; }
html body .WOT .wot-wday.active{
  background:transparent !important;
  border-bottom:2px solid #E8201A !important;
  box-shadow:none !important;
}
html body .WOT .wot-wday-dn{ color:rgba(255,255,255,.3) !important; font-size:.38rem !important; }
html body .WOT .wot-wday-num{ color:rgba(255,255,255,.6) !important; font-size:.78rem !important; }
html body .WOT .wot-wday.active .wot-wday-dn{ color:rgba(255,255,255,.55) !important; }
html body .WOT .wot-wday.active .wot-wday-num{ color:#fff !important; }
html body .WOT .wot-wday-dot{ display:none !important; }
/* Light theme day strip */
html body .WOT.wot-light .wot-week-strip{
  border-bottom:1px solid rgba(0,0,0,.08) !important;
}
html body .WOT.wot-light .wot-wday{
  background:transparent !important;
  border-bottom:2px solid transparent !important;
  box-shadow:none !important;
}
html body .WOT.wot-light .wot-wday:hover{ background:rgba(0,0,0,.03) !important; }
html body .WOT.wot-light .wot-wday.active{
  background:transparent !important;
  border-bottom:2px solid #E8201A !important;
  box-shadow:none !important;
}
html body .WOT.wot-light .wot-wday-dn{ color:rgba(0,0,0,.35) !important; }
html body .WOT.wot-light .wot-wday-num{ color:rgba(0,0,0,.6) !important; }
html body .WOT.wot-light .wot-wday.active .wot-wday-dn{ color:rgba(0,0,0,.5) !important; }
html body .WOT.wot-light .wot-wday.active .wot-wday-num{ color:#0a0a0d !important; }
/* Also hide event-count dot on each day chip */
html body .WOT .wot-wday-dot{ display:none !important; }
/* Hide count badge inside filter pills — dots only */
html body .WOT .wot-flt-count{ display:none !important; }

/* ── Day rail: light-theme override ─────────────────────────────────── */
html body .WOT.wot-light .wot-map-dayrail,
html body section.WOT.wot-light .wot-map-dayrail{
  background:rgba(255,255,255,.88) !important;
  border-top:1px solid rgba(0,0,0,.08) !important;
  backdrop-filter:blur(10px) !important; -webkit-backdrop-filter:blur(10px) !important;
}
html body .WOT.wot-light .wot-mdr-chip,
html body section.WOT.wot-light .wot-mdr-chip{
  color:rgba(0,0,0,.3) !important;
}
html body .WOT.wot-light .wot-mdr-chip.is-on,
html body section.WOT.wot-light .wot-mdr-chip.is-on{
  color:#0a0a0d !important;
  border-bottom-color:#E8201A !important;
}
html body .WOT .wot-ticker-item b{
  color:#0a0a0d !important;
}
html body .WOT .wot-ticker-item .tk-time{
  color:rgba(0,0,0,.38) !important;
}
html body .WOT .wot-ticker-item::before{
  color:#E8201A !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   v12.7.88 VISUAL AUDIT FIXES — 2026-05-14
   Batch fix for all issues found in 5-agent visual audit.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 1. WOT filter pills: readable font size (was .45rem ≈ 7px) ── */
html body .WOT .wot-flt {
  font-size: .65rem !important;
  letter-spacing: .04em !important;
}
@media (max-width: 900px) {
  html body .WOT .wot-flt { font-size: .58rem !important; }
}

/* ── 2. WOT LIVE ticker badge: un-hide (was display:none !important) ── */
html body section.WOT .wot-ticker-live {
  display: inline-flex !important;
}

/* ── 3. wot-mini-tonight + wot-mini-live: force visible on desktop ── */
@media (min-width: 901px) {
  html body .WOT .wot-mini-tonight {
    display: block !important;
    visibility: visible !important;
  }
  html body .WOT .wot-mini-live {
    display: inline-flex !important;
    visibility: visible !important;
  }
}

/* ── 4. WOT map HUD: raise z-index above Leaflet overlay panes (z:400) ── */
.wot-map-hud,
html body .WOT .wot-map-hud,
html body section.WOT .wot-map-hud {
  z-index: 1000 !important;
  pointer-events: none !important;
}

/* ── 5. WOT mini-label controls: right padding to clear fixed PLAN IT FAB ── */
@media (min-width: 901px) {
  html body .WOT .wot-mini-label {
    padding-right: 125px !important;
    box-sizing: border-box !important;
  }
}

/* ── 6. PLAN IT FAB: ensure it sits below the controls row (not at same y) ── */
html body .plan-fab,
html body #planFab {
  bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important;
}
@media (max-width: 992px) {
  html body .plan-fab,
  html body #planFab {
    bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* ── 7. Sidebar event stripe: wider colour bar (was 2px) ── */
.sb-ev-stripe { width: 4px !important; border-radius: 2px !important; }

/* ── 8. Sidebar section labels: readable size (was .48rem ≈ 7.7px) ── */
.sb-label {
  font-size: .6rem !important;
  letter-spacing: .18em !important;
}

/* ── 9. Section eyebrow labels: readable (was .5rem ≈ 8px) ── */
.sh-eyebrow,
.csh-eyebrow {
  font-size: .65rem !important;
}

/* ── 10. Hero backgrounds: prevent tiling (browser default is repeat) ── */
.hood-hero-full {
  background-repeat: no-repeat !important;
}

/* ── 11. WOT view/mode buttons: show text labels on desktop ── */
@media (min-width: 901px) {
  html body .WOT .wot-view-opt,
  html body .WOT .wot-mode-opt {
    font-size: .58rem !important;
    width: auto !important;
    min-width: 38px !important;
    max-width: none !important;
    padding: 0 8px !important;
  }
  html body .WOT .wot-view-opt span,
  html body .WOT .wot-mode-opt span {
    display: inline !important;
    font-size: inherit !important;
  }
}

/* ── 12. Footer bottom bar: readable text (was rgba .25 = near-invisible) ── */
.mcr-ft-bottom .mcr-ft-copy                { color: rgba(255,255,255,.55) !important; font-size: .65rem !important; }
.mcr-ft-bottom .mcr-ft-copy a              { color: rgba(255,255,255,.65) !important; }
.mcr-ft-bottom .mcr-ft-bottom-links a      { color: rgba(255,255,255,.55) !important; font-size: .65rem !important; }
.mcr-ft-bottom .mcr-ft-tagline             { color: rgba(255,255,255,.5)  !important; font-size: .6rem  !important; }

/* ── 13. Footer body text and column links: better contrast ── */
footer.mcr-ft .mcr-ft-desc                 { color: rgba(255,255,255,.65) !important; }
footer.mcr-ft .mcr-ft-col a               { color: rgba(255,255,255,.55) !important; }
footer.mcr-ft .mcr-ft-col a:hover         { color: rgba(255,255,255,.85) !important; }
section.mcr-ft-about p                    { color: rgba(255,255,255,.55) !important; }
section.mcr-ft-about p a                  { color: rgba(255,255,255,.7)  !important; }

/* ── 14. Newsletter section: fix horizontal overflow ── */
.mcr-nl {
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
}
.mcr-nl-inner {
  box-sizing: border-box !important;
  max-width: 100% !important;
}
@media (max-width: 1060px) {
  .mcr-nl-inner { padding-left: 24px !important; padding-right: 24px !important; }
}

/* ── 15. Watch placeholder: hide dev hint text; collapse section if no video ── */
/* v13.1.14 - launch footer polish: keep it big, but make it balanced and tappable */
section.mcr-nl{
  background:
    radial-gradient(circle at 18% 35%,rgba(26,86,255,.14),transparent 34%),
    radial-gradient(circle at 84% 62%,rgba(232,0,42,.11),transparent 34%),
    linear-gradient(160deg,#090a0f 0%,#111118 52%,#0b080d 100%) !important;
}
section.mcr-nl .mcr-nl-inner{
  max-width:1320px !important;
  min-height:320px !important;
  padding:56px 68px !important;
  grid-template-columns:minmax(340px,.9fr) minmax(520px,1.25fr) !important;
  gap:58px !important;
}
section.mcr-nl .mcr-nl-inner > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
}
section.mcr-nl .mcr-nl-badge{
  margin-left:auto !important;
  margin-right:auto !important;
  color:rgba(255,255,255,.58) !important;
}
section.mcr-nl h2{
  max-width:640px !important;
  margin:0 auto 16px !important;
  font-size:clamp(2.65rem,3.9vw,4.1rem) !important;
  line-height:.94 !important;
  letter-spacing:-.015em !important;
  text-align:center !important;
  text-wrap:balance;
}
section.mcr-nl .mcr-nl-sub{
  max-width:470px !important;
  margin:0 auto !important;
  color:rgba(255,255,255,.56) !important;
  font-size:.92rem !important;
  line-height:1.65 !important;
  text-align:center !important;
}
section.mcr-nl .mcr-nl-form-area{
  align-self:center !important;
  width:100% !important;
  max-width:720px !important;
}
section.mcr-nl .mcr-nl-form{
  min-height:62px !important;
  border-radius:17px !important;
  background:rgba(255,255,255,.055) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
section.mcr-nl .mcr-nl-form input{
  font-size:.94rem !important;
  padding:0 24px !important;
}
section.mcr-nl .mcr-nl-form button{
  min-width:164px !important;
  background:#2457ff !important;
  font-size:.78rem !important;
}
section.mcr-nl .mcr-nl-interests,
section.mcr-nl .mcr-nl-trust{
  justify-content:center !important;
}
section.mcr-nl .mcr-nl-chip{
  min-height:30px !important;
  padding:6px 13px !important;
}
.mcr-trending-grid a,
.mcr-seasonal a{
  min-height:32px !important;
  display:inline-flex !important;
  align-items:center !important;
}
footer.mcr-ft .mcr-ft-col a{
  min-height:32px !important;
  padding:4px 0 !important;
  line-height:1.28 !important;
}
footer.mcr-ft .mcr-ft-hood{
  min-height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1.15 !important;
}
.mcr-ft-bottom .mcr-ft-bottom-links a{
  min-height:30px !important;
  display:inline-flex !important;
  align-items:center !important;
}
@media (max-width: 980px){
  section.mcr-nl .mcr-nl-inner{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:44px 24px !important;
  }
  section.mcr-nl .mcr-nl-form-area{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
@media (max-width: 640px){
  section.mcr-nl .mcr-nl-inner{
    min-height:0 !important;
    padding:34px 16px !important;
  }
  section.mcr-nl h2{
    max-width:11ch !important;
    font-size:clamp(2.05rem,10vw,2.7rem) !important;
    line-height:.96 !important;
  }
  section.mcr-nl .mcr-nl-sub{
    font-size:.86rem !important;
  }
  section.mcr-nl .mcr-nl-form{
    flex-direction:column !important;
    min-height:0 !important;
    border-radius:16px !important;
  }
  section.mcr-nl .mcr-nl-form input{
    min-height:54px !important;
    text-align:center !important;
  }
  section.mcr-nl .mcr-nl-form button{
    min-height:52px !important;
    width:100% !important;
  }
  section.mcr-nl .mcr-nl-chip,
  .mcr-trending-grid a,
  .mcr-seasonal a,
  footer.mcr-ft .mcr-ft-col a,
  footer.mcr-ft .mcr-ft-hood,
  .mcr-ft-bottom .mcr-ft-bottom-links a{
    min-height:42px !important;
  }
}

.hs-watch-hint { display: none !important; }
/* Collapse entire watch column when only placeholder remains */
.hs-watch:has(.hs-watch-placeholder),
section.hs-watch-full:has(.hs-watch-placeholder) {
  display: none !important;
}
/* Expand content column to full width when watch section hidden */
.hs-two-col:has(.hs-watch:has(.hs-watch-placeholder)) {
  grid-template-columns: 1fr !important;
}
.hs-two-col:has(section.hs-watch-full:has(.hs-watch-placeholder)) {
  grid-template-columns: 1fr !important;
}

/* ── 16. WOT map HUD responsive size on small mobile ── */
@media (max-width: 480px) {
  .wot-map-hud {
    font-size: 10px !important;
    padding: 5px 8px !important;
    gap: 5px !important;
    max-width: calc(100vw - 28px) !important;
  }
  .wot-map-hud b { font-size: 11px !important; }
}

/* ── 17. Cookie banner: lower z-index so it doesn't block nav controls ── */
#mcr-cookie-banner {
  z-index: 9000 !important;
}

/* ── 18. WOT flt-count: show count badges again (hidden at end of file) ── */
/* Count badges hidden — dot-only pills */
html body .WOT .wot-flt-count,
html body section.WOT .wot-flt-count{ display:none !important; }

/* ══ END v12.7.88 VISUAL AUDIT FIXES ══ */

/* ════════════════════════════════════════════════════════════════════════
   MOBILE WOT: MAP-FIRST LAYOUT — CSS-only, no JS body-class dependency.
   Works even if wot-split-mini class never gets added.
   ════════════════════════════════════════════════════════════════════════ */
@media(max-width:900px){
  /* WOT flex column: cat pills → ticker → map → grid */
  html body section.WOT,
  html body .WOT{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    padding-left:0 !important; padding-right:0 !important;
  }
  /* Cat pills: top of stack */
  html body .WOT .wot-filterbar{ order:-6 !important; }
  /* Ticker: second */
  html body .WOT .wot-ticker{ order:-5 !important; }
  /* Map: hero — always on, 44vh */
  html body section.WOT .wot-mapview,
  html body .WOT .wot-mapview{
    display:block !important;
    order:-4 !important;
    height:44vh !important; min-height:44vh !important; max-height:44vh !important;
    width:100% !important;
    margin:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    position:relative !important;
    flex-shrink:0 !important;
  }
  html body .WOT .wot-mapview #mcrmap,
  html body .WOT .wot-mapview .wot-map,
  html body .WOT .wot-mapview .leaflet-container{
    height:100% !important; width:100% !important; min-height:100% !important;
  }
  /* Hide legacy day picker pill — day rail handles it */
  html body .WOT .wot-day-picker{ display:none !important; }
  /* Week strip hidden — overlay rail on map instead */
  html body .WOT .wot-week-strip{ display:none !important; }
  /* View toggle and density slider hidden */
  html body .WOT .wot-view-bar,
  html body .WOT .wot-view-opt,
  html body .WOT .wot-density{ display:none !important; }
  /* Grid: below map — scaled preview like original split-mini design */
  html body .WOT .wot-tg{
    order:0 !important;
    display:block !important;
    max-height:42vh !important;
    overflow:hidden !important;
    transform:scale(0.85) !important;
    transform-origin:top left !important;
    width:117.6% !important;
    border-radius:8px !important;
    position:relative !important;
  }
}

/* ── Mobile WOT pills: natural size inside scaled grid preview ───────── */
@media(max-width:900px){
  html body .WOT .wot-tg-row{
    overflow:hidden !important;
    position:relative !important;
    contain:layout style !important;
  }
  html body .WOT .wot-tg-ev-row{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    height:100% !important;
    scroll-snap-type:x mandatory !important;
    padding:3px 20px 3px 6px !important;
  }
  html body .WOT .wot-ev-pill{
    scroll-snap-align:start !important;
    min-width:calc(100vw - 130px) !important;
    max-width:calc(100vw - 130px) !important;
  }
  html body .WOT .wot-ev-pill .wot-ep-add{
    width:22px !important; height:22px !important;
    top:6px !important; right:6px !important;
    font-size:13px !important;
  }
  /* "Tap grid to expand" hint below the scaled grid */
  html body .WOT .wot-tg::after{
    content:"Tap grid to expand";
    display:block;
    position:absolute;
    bottom:6px; left:50%;
    transform:translateX(-50%) scale(1.176);
    transform-origin:bottom center;
    background:rgba(15,15,18,.85);
    color:#fff;
    padding:4px 10px;
    border-radius:14px;
    font-size:10px; font-weight:700;
    pointer-events:none;
    z-index:10;
    box-shadow:0 2px 8px rgba(0,0,0,.3);
    white-space:nowrap;
  }
}

/* ── Ticker: theme-aware. Dark mode = dark grey bg + light text. Light mode = white bg + black text. */
html body .WOT .wot-ticker,
html body section.WOT .wot-ticker{
  background:#1a1a20 !important;
  border-top:1px solid rgba(255,255,255,.05) !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
}
html body .WOT .wot-ticker-track,
html body .WOT .wot-ticker-track *,
html body .WOT .wot-ticker-item,
html body .WOT .wot-ticker-item *{
  color:rgba(255,255,255,.7) !important;
}
html body .WOT .wot-ticker-item b{ color:#fff !important; font-weight:800 !important; }
html body .WOT .wot-ticker-item .tk-time{ color:rgba(255,255,255,.45) !important; }
html body .WOT .wot-ticker-item::before{ color:#E8201A !important; }
/* Light theme override */
html body .WOT.wot-light .wot-ticker,
html body section.WOT.wot-light .wot-ticker{
  background:#fff !important;
  border-top:1px solid rgba(0,0,0,.08) !important;
  border-bottom:1px solid rgba(0,0,0,.08) !important;
}
html body .WOT.wot-light .wot-ticker-track,
html body .WOT.wot-light .wot-ticker-track *,
html body .WOT.wot-light .wot-ticker-item,
html body .WOT.wot-light .wot-ticker-item *{
  color:rgba(0,0,0,.7) !important;
}
html body .WOT.wot-light .wot-ticker-item b{ color:#0a0a0d !important; }
html body .WOT.wot-light .wot-ticker-item .tk-time{ color:rgba(0,0,0,.4) !important; }

/* ════════════════════════════════════════════════════════════════════════
   CAT FILTER — TEXT-ONLY TABS, NO PILLS, NO DOTS, NO STRETCH.
   Clean editorial tab nav with category-coloured underline on active.
   Overrides everything above.
   ════════════════════════════════════════════════════════════════════════ */
html body .WOT .wot-filterbar,
html body section.WOT .wot-filterbar{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  scrollbar-width:none !important;
  gap:0 !important;
  padding:0 6px !important;
  margin:0 !important;
  background:transparent !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
}
html body .WOT .wot-filterbar::-webkit-scrollbar,
html body section.WOT .wot-filterbar::-webkit-scrollbar{ display:none !important; }
html body .WOT .wot-filterbar .wot-flt,
html body section.WOT .wot-filterbar .wot-flt{
  all:unset !important;
  cursor:pointer !important;
  padding:8px 10px !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.38) !important;
  border-bottom:2px solid transparent !important;
  white-space:nowrap !important;
  flex-shrink:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  transition:color .15s, border-color .15s !important;
  box-sizing:border-box !important;
  line-height:1 !important;
}
html body .WOT .wot-filterbar .wot-flt:hover{ color:rgba(255,255,255,.7) !important; }
html body .WOT .wot-filterbar .wot-flt.on{ color:#fff !important; }
html body .WOT .wot-filterbar .wot-flt-dot,
html body section.WOT .wot-filterbar .wot-flt-dot{ display:none !important; }
html body .WOT .wot-filterbar .wot-flt-count,
html body section.WOT .wot-filterbar .wot-flt-count{ display:none !important; }
html body .WOT .wot-filterbar .wot-full-cal-btn{ display:none !important; }
/* Category-coloured underlines on active */
html body .WOT .wot-flt.on[data-cat="all"]      { border-bottom-color:#fff !important; }
html body .WOT .wot-flt.on[data-cat="music"]    { border-bottom-color:#E8201A !important; }
html body .WOT .wot-flt.on[data-cat="sport"]    { border-bottom-color:#1A56FF !important; }
html body .WOT .wot-flt.on[data-cat="food"]     { border-bottom-color:#2DB54B !important; }
html body .WOT .wot-flt.on[data-cat="nightlife"]{ border-bottom-color:#FF6B00 !important; }
html body .WOT .wot-flt.on[data-cat="culture"]  { border-bottom-color:#7C3AED !important; }
html body .WOT .wot-flt.on[data-cat="family"]   { border-bottom-color:#F5C400 !important; }

/* Light theme */
html body .WOT.wot-light .wot-filterbar,
html body section.WOT.wot-light .wot-filterbar{
  border-bottom:1px solid rgba(0,0,0,.08) !important;
}
html body .WOT.wot-light .wot-filterbar .wot-flt{
  color:rgba(0,0,0,.4) !important;
}
html body .WOT.wot-light .wot-filterbar .wot-flt:hover{ color:rgba(0,0,0,.7) !important; }
html body .WOT.wot-light .wot-filterbar .wot-flt.on{ color:#0a0a0d !important; }
html body .WOT.wot-light .wot-flt.on[data-cat="all"]{ border-bottom-color:#0a0a0d !important; }

/* ════════════════════════════════════════════════════════════════════════
   v12.8.6 — PAINT 3D-STYLE BLOB DOTS
   Imperfect hand-painted dabs of colour, slight 3D thickness from inner
   shadow + highlight. Every marker a different organic shape + rotation.
   Tier colours match the logo confetti palette.
   ════════════════════════════════════════════════════════════════════════ */
/* v12.9.9 — Dead simple solid-colour dots. Just a circle. Premium minimal. */
html body .leaflet-marker-icon .pin-marker,
html body .leaflet-marker-icon.mcr-now .pin-marker,
html body .leaflet-marker-icon.mcr-near .pin-marker,
html body .leaflet-marker-icon.mcr-saved .pin-marker,
html body .leaflet-marker-icon.happening-now .pin-marker{
  position:relative !important;
  width:10px !important; height:10px !important;
  border-radius:50% !important;
  background:var(--c,#888a94) !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
  animation:none !important;
  filter:none !important;
}
html body .leaflet-marker-icon .pin-marker::after,
html body .leaflet-marker-icon .pin-marker::before{
  display:none !important; content:none !important;
}
@media(min-width:901px){
  html body .leaflet-marker-icon .pin-marker,
  html body .leaflet-marker-icon.mcr-now .pin-marker,
  html body .leaflet-marker-icon.mcr-near .pin-marker,
  html body .leaflet-marker-icon.mcr-saved .pin-marker,
  html body .leaflet-marker-icon.happening-now .pin-marker{
    width:12px !important; height:12px !important;
  }
}
/* No ::before — only ::after is used as the crater dot */
html body .leaflet-marker-icon .pin-marker::before{
  display:none !important; content:none !important;
}
/* Balls are perfectly round — no shape variation, just clean 3D spheres */
/* No surface pit at small size — keeps the 4K look crisp */
html body .leaflet-marker-icon .pin-marker::after{
  display:none !important; content:none !important;
}
/* PREMIUM TIER BALLS — 3D spheres in premium materials.
   Distribution: gold ~5%, silver ~1.5%, platinum ~0.5%, holographic ~1%. */
/* GOLD ball — molten gold sphere */
html body .leaflet-marker-icon .pin-marker.tier-gold{
  background:radial-gradient(circle at 30% 28%,
    #fffbe0 0%, #FFE680 18%, #FFD700 50%, #B8860B 90%, #6e4a00 100%) !important;
  box-shadow:
    0 2px 3px rgba(0,0,0,.55),
    inset -1px -1px 1.5px rgba(80,50,0,.35),
    0 0 4px rgba(255,200,0,.55) !important;
}
/* SILVER ball — chrome sphere */
html body .leaflet-marker-icon .pin-marker.tier-silver{
  background:radial-gradient(circle at 30% 28%,
    #ffffff 0%, #f0f0f5 18%, #c8c8d2 50%, #6e6e7c 90%, #2a2a32 100%) !important;
  box-shadow:
    0 2px 3px rgba(0,0,0,.55),
    inset -1px -1px 1.5px rgba(20,20,30,.4),
    0 0 4px rgba(220,225,240,.55) !important;
}
/* PLATINUM ball — icy blue sphere */
html body .leaflet-marker-icon .pin-marker.tier-platinum{
  background:radial-gradient(circle at 30% 28%,
    #ffffff 0%, #f4f8ff 18%, #c0d0e8 50%, #6080a8 90%, #1a2a48 100%) !important;
  box-shadow:
    0 2px 3px rgba(0,0,0,.55),
    inset -1px -1px 1.5px rgba(10,20,50,.45),
    0 0 6px rgba(180,210,255,.7) !important;
}
/* HOLOGRAPHIC ball — rainbow shimmer sphere */
html body .leaflet-marker-icon .pin-marker.tier-holographic{
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 22%),
    linear-gradient(135deg,
      #ff4081 0%, #ff9100 18%, #ffea00 36%,
      #00e676 54%, #00b0ff 72%, #b388ff 90%, #ff4081 100%) !important;
  background-size:auto, 280% 280% !important;
  animation:mcr-holo-shimmer 3s linear infinite !important;
  box-shadow:
    0 2px 3px rgba(0,0,0,.55),
    inset -1px -1px 1.5px rgba(0,0,0,.3),
    0 0 5px rgba(255,255,255,.55) !important;
}
@keyframes mcr-holo-shimmer{
  0%   { background-position:0% 50%; }
  50%  { background-position:100% 50%; }
  100% { background-position:0% 50%; }
}
/* Approx (geocoded fallback) — washed-out paint */
html body .leaflet-marker-icon .pin-marker.approx{
  opacity:.55 !important;
}
/* Plan-stop — numbered blob */
html body .leaflet-marker-icon .pin-marker.plan-stop{
  font-size:10px !important; color:#fff !important; text-indent:0 !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  font-weight:900 !important; overflow:visible !important;
  width:16px !important; height:16px !important;
  background:var(--c,#E8201A) !important;
}
/* Hover - let original v12.7.70 rule handle it; just bring marker to front */
html body .leaflet-marker-icon:hover .pin-marker,
html body .leaflet-marker-icon:active .pin-marker,
html body .leaflet-marker-icon:focus-visible .pin-marker{
  z-index:9999 !important;
}
/* Keep the v12.9.7 gem pulse running — no animation:none overrides */
html body .leaflet-marker-icon:active .pin-marker::before{ display:none !important; }

/* ════════════════════════════════════════════════════════════════════════
   EVENT DRAWER: kill all icons / emojis inside the popup
   ════════════════════════════════════════════════════════════════════════ */
html body .WOT .wot-drawer i,
html body .WOT .wot-drawer .fas,
html body .WOT .wot-drawer .far,
html body .WOT .wot-drawer .fab,
html body .WOT .wot-drawer svg,
html body .WOT .wot-drawer .wot-dr-cat-dot,
html body .WOT .wot-dr-img-fallback i,
html body .WOT .wot-dr-img-fallback .fas,
html body .WOT .wot-dr-img-fallback{ /* whole fallback img if no real image */
  /* allow fallback img to still display, but kill icon glyph inside */
}
html body .WOT .wot-drawer i,
html body .WOT .wot-drawer .fas,
html body .WOT .wot-drawer .far,
html body .WOT .wot-drawer .fab,
html body .WOT .wot-drawer svg{
  display:none !important;
}
/* Remove the · separator dot inside category line */
html body .WOT .wot-dr-cat .wot-dr-cat-dot{
  display:none !important;
}
/* Tighten button gaps where icon was removed */
html body .WOT .wot-dr-btn{ gap:0 !important; }

/* Hide the ALL button — every category is selected by default */
html body .WOT .wot-filterbar .wot-flt[data-cat="all"],
html body section.WOT .wot-filterbar .wot-flt[data-cat="all"]{ display:none !important; }
/* Default state: every category visually active */
html body .WOT .wot-filterbar .wot-flt:not([data-cat="all"]){
  color:#fff !important;
}
html body .WOT.wot-light .wot-filterbar .wot-flt:not([data-cat="all"]){
  color:#0a0a0d !important;
}
html body .WOT .wot-filterbar .wot-flt:not([data-cat="all"]){
  border-bottom:2px solid transparent !important;
}
/* When a specific cat is filtered (one has .on), dim the others */
html body .WOT .wot-filterbar:has(.wot-flt.on:not([data-cat="all"])) .wot-flt:not(.on):not([data-cat="all"]){
  color:rgba(255,255,255,.32) !important;
}
html body .WOT.wot-light .wot-filterbar:has(.wot-flt.on:not([data-cat="all"])) .wot-flt:not(.on):not([data-cat="all"]){
  color:rgba(0,0,0,.32) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   GPS LOCATE BUTTON + USER LOCATION DOT
   ════════════════════════════════════════════════════════════════════════ */
html body .WOT .wot-map-locate{
  position:absolute !important;
  bottom:50px !important; right:10px !important;
  z-index:650 !important;
  width:34px !important; height:34px !important;
  border-radius:50% !important;
  background:rgba(20,20,26,.9) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:rgba(255,255,255,.85) !important;
  cursor:pointer !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  font-size:14px !important;
  backdrop-filter:blur(8px) !important; -webkit-backdrop-filter:blur(8px) !important;
  box-shadow:0 2px 8px rgba(0,0,0,.4) !important;
  transition:background .15s, transform .15s !important;
}
html body .WOT .wot-map-locate:hover{ background:rgba(30,30,38,.95) !important; }
html body .WOT .wot-map-locate:active{ transform:scale(.92) !important; }
html body .WOT .wot-map-locate.is-loading{
  color:rgba(255,255,255,.4) !important;
  animation:mcr-locate-spin 1.2s linear infinite !important;
}
html body .WOT .wot-map-locate.is-active{
  background:#1A56FF !important;
  border-color:#1A56FF !important;
  color:#fff !important;
}
html body .WOT .wot-map-locate.is-error{
  background:#E8201A !important;
  border-color:#E8201A !important;
  color:#fff !important;
}
@keyframes mcr-locate-spin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}
/* Light theme */
html body .WOT.wot-light .wot-map-locate{
  background:rgba(255,255,255,.95) !important;
  border-color:rgba(0,0,0,.12) !important;
  color:#0a0a0d !important;
}

/* User location dot — pulsing blue */
html body .leaflet-marker-icon .mcr-user-dot{
  position:relative;
  width:14px; height:14px;
  border-radius:50% !important;
  background:#1A56FF !important;
  border:2px solid #fff !important;
  box-shadow:0 0 0 1px rgba(26,86,255,.5), 0 2px 6px rgba(0,0,0,.45) !important;
  filter:none !important;
}
html body .leaflet-marker-icon .mcr-user-pulse{
  position:absolute;
  top:-7px; left:-7px;
  width:24px; height:24px;
  border-radius:50%;
  background:rgba(26,86,255,.35);
  animation:mcr-user-pulse 1.8s ease-out infinite;
  pointer-events:none;
}
@keyframes mcr-user-pulse{
  0%   { transform:scale(.35); opacity:1; }
  100% { transform:scale(1.6); opacity:0; }
}

/* ════════════════════════════════════════════════════════════════════════
   MAP OVERLAY: DATE RAIL (top) + TIME SLIDER (bottom) — PRIMARY OBJECTIVE
   Both pinned inside .wot-mapview, always visible on mobile.
   ════════════════════════════════════════════════════════════════════════ */
html body .WOT .wot-mapview{ position:relative !important; }

/* Date rail — top of map (force thin bar, no stretch) */
html body .WOT .wot-map-dayrail{
  position:absolute !important;
  top:8px !important; left:8px !important; right:8px !important;
  bottom:auto !important;
  height:32px !important;
  max-height:32px !important;
  min-height:32px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:4px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:none !important; -ms-overflow-style:none !important;
  z-index:600 !important;
  pointer-events:auto !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
}
html body .WOT .wot-map-dayrail::-webkit-scrollbar{ display:none !important; }
html body .WOT .wot-mdr-chip{
  flex:0 0 auto !important;
  align-self:center !important;
  height:26px !important;
  max-height:26px !important;
  min-height:26px !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  padding:0 10px !important;
  border-radius:13px !important;
  background:rgba(15,15,18,.78) !important;
  color:rgba(255,255,255,.7) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  cursor:pointer !important;
  backdrop-filter:blur(8px) !important; -webkit-backdrop-filter:blur(8px) !important;
  line-height:1 !important;
  box-shadow:0 2px 6px rgba(0,0,0,.25) !important;
  white-space:nowrap !important;
  flex-shrink:0 !important;
}
html body .WOT .wot-mdr-chip.is-on{
  background:#ffffff !important;
  color:#0a0a0d !important;
  border-color:#ffffff !important;
  box-shadow:0 2px 8px rgba(0,0,0,.5) !important;
}
html body .WOT .wot-mdr-dn{ font-size:8px !important; font-weight:700 !important; letter-spacing:.05em !important; text-transform:uppercase !important; opacity:.7 !important; }
html body .WOT .wot-mdr-num{ font-size:11px !important; font-weight:800 !important; }
html body .WOT .wot-mdr-chip.is-on .wot-mdr-dn{ opacity:.85 !important; }

/* ════════════════════════════════════════════════════════════════════════
   v12.8.9 — PREMIUM TIME SLIDER (overlaid on map, mobile-first)
   Plain, clear, premium. Frosted glass capsule with hour scale visible,
   smooth fill, refined thumb. Just the hours — easy to read at a glance.
   ════════════════════════════════════════════════════════════════════════ */
html body .WOT .wot-map-timeslider{
  position:absolute !important;
  bottom:10px !important; left:10px !important; right:10px !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:9px 14px 11px !important;
  /* Frosted dark glass */
  background:linear-gradient(180deg, rgba(22,22,28,.78) 0%, rgba(12,12,16,.88) 100%) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:18px !important;
  backdrop-filter:blur(14px) saturate(1.4) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.4) !important;
  z-index:600 !important;
  box-shadow:
    0 8px 28px rgba(0,0,0,.45),
    0 1px 0 rgba(255,255,255,.06) inset !important;
}
/* NOW pill — small, refined, with a subtle pulse dot */
html body .WOT .wot-mts-now{
  all:unset !important;
  cursor:pointer !important;
  flex:0 0 auto !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  padding:6px 14px !important;
  background:#ffffff !important;
  color:#0a0a0d !important;
  border-radius:999px !important;
  font-family:-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', 'Helvetica Neue', system-ui, sans-serif !important;
  font-size:10px !important;
  font-weight:700 !important;
  font-stretch:normal !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  box-shadow:0 1px 2px rgba(0,0,0,.25) !important;
  transition:transform .12s ease, box-shadow .12s ease !important;
  position:relative !important;
}
/* No dot — clean "NOW" text only */
html body .WOT .wot-mts-now::before{
  display:none !important; content:none !important;
}
html body .WOT .wot-mts-now:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset, 0 4px 10px rgba(0,0,0,.45) !important;
}
@keyframes mcrNowPulse{
  0%,100%{ opacity:.7; transform:scale(.85); }
  50%    { opacity:1;  transform:scale(1.15); }
}
/* Slider track — premium look with progress fill via CSS var --p (0..100) */
html body .WOT .wot-mts-range{
  flex:1 !important;
  -webkit-appearance:none !important; appearance:none !important;
  height:18px !important; /* track padding for tap target */
  background:transparent !important;
  outline:none !important;
  margin:0 !important;
  cursor:pointer !important;
  position:relative !important;
  --p: 0;
}
/* Track (Webkit) — white progress fill, no red */
html body .WOT .wot-mts-range::-webkit-slider-runnable-track{
  height:5px !important;
  border-radius:999px !important;
  background:
    linear-gradient(90deg, #ffffff 0%, #ffffff calc(var(--p,0) * 1%), rgba(255,255,255,.12) calc(var(--p,0) * 1%), rgba(255,255,255,.12) 100%) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 1px 2px rgba(0,0,0,.5) inset !important;
}
/* Track (Firefox) */
html body .WOT .wot-mts-range::-moz-range-track{
  height:5px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.12) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 1px 2px rgba(0,0,0,.5) inset !important;
}
html body .WOT .wot-mts-range::-moz-range-progress{
  height:5px !important; border-radius:999px !important;
  background:#ffffff !important;
}
/* Thumb — refined white pill with red ring and 3D feel */
html body .WOT .wot-mts-range::-webkit-slider-thumb{
  -webkit-appearance:none !important; appearance:none !important;
  width:16px !important; height:16px !important;
  background:radial-gradient(circle at 35% 30%, #ffffff 0%, #f0f0f4 60%, #d0d0d6 100%) !important;
  border:0 !important;
  border-radius:50% !important;
  cursor:grab !important;
  margin-top:-5.5px !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 0 0 1.5px rgba(255,255,255,.95),
    0 0 0 3px rgba(255,255,255,.18),
    0 3px 7px rgba(0,0,0,.55) !important;
  transition:transform .12s ease, box-shadow .12s ease !important;
}
html body .WOT .wot-mts-range::-webkit-slider-thumb:hover,
html body .WOT .wot-mts-range:active::-webkit-slider-thumb{
  transform:scale(1.12) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 0 0 2px #ffffff,
    0 0 0 4.5px rgba(255,255,255,.22),
    0 4px 10px rgba(0,0,0,.6) !important;
  cursor:grabbing !important;
}
html body .WOT .wot-mts-range::-moz-range-thumb{
  width:16px !important; height:16px !important;
  background:radial-gradient(circle at 35% 30%, #ffffff 0%, #f0f0f4 60%, #d0d0d6 100%) !important;
  border:0 !important;
  border-radius:50% !important;
  cursor:grab !important;
  box-shadow:
    0 0 0 1.5px rgba(255,255,255,.95),
    0 0 0 3px rgba(255,255,255,.18),
    0 3px 7px rgba(0,0,0,.55) !important;
}
/* Current-time value display — clean tabular numerals */
html body .WOT .wot-mts-val{
  flex:0 0 auto !important;
  min-width:44px !important;
  text-align:right !important;
  color:#fff !important;
  font-family:-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', 'Helvetica Neue', system-ui, sans-serif !important;
  font-size:13px !important;
  font-weight:600 !important;
  font-stretch:normal !important;
  letter-spacing:0 !important;
  line-height:1 !important;
  font-variant-numeric:tabular-nums !important;
  text-shadow:none !important;
}
/* No decorative line under slider — the slider track itself shows progress */
html body .WOT .wot-map-timeslider::after,
html body .WOT.wot-light .wot-map-timeslider::after{
  display:none !important; content:none !important;
}
/* Light mode */
html body .WOT.wot-light .wot-map-timeslider{
  background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(248,248,250,.95) 100%) !important;
  border-color:rgba(0,0,0,.08) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.18), 0 1px 0 rgba(255,255,255,.6) inset !important;
}
html body .WOT.wot-light .wot-mts-val{
  color:#0a0a0d !important; text-shadow:none !important;
}
html body .WOT.wot-light .wot-mts-range::-webkit-slider-runnable-track{
  background:
    linear-gradient(90deg, #0a0a0d 0%, #0a0a0d calc(var(--p,0) * 1%), rgba(0,0,0,.1) calc(var(--p,0) * 1%), rgba(0,0,0,.1) 100%) !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.08) inset !important;
}

/* ════════════════════════════════════════════════════════════════════════
   v12.8.9 — WALKING ROUTE BADGE (premium, minimal, no big red button)
   Auto-appears on dot tap (when GPS is on). Sits above the time slider.
   ════════════════════════════════════════════════════════════════════════ */
html body #mcrmap .mcr-route-badge{
  position:absolute !important;
  bottom:74px !important; left:50% !important;
  transform:translateX(-50%) !important;
  z-index:670 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:6px 12px 6px 10px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, rgba(22,22,28,.88) 0%, rgba(12,12,16,.94) 100%) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
  font:800 10px/1 'Inter',system-ui,sans-serif !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  backdrop-filter:blur(14px) saturate(1.4) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.4) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.08) inset !important;
  pointer-events:none !important;
  animation:mcrRouteBadgeIn .35s cubic-bezier(.2,.9,.3,1.2) !important;
}
html body #mcrmap .mcr-route-badge .mrb-ico{
  width:8px !important; height:8px !important;
  border-radius:50% !important;
  background:#ffffff !important;
  box-shadow:0 0 8px rgba(255,255,255,.5), inset 0 0 0 1.5px rgba(0,0,0,.25) !important;
  flex:0 0 auto !important;
}
html body #mcrmap .mcr-route-badge .mrb-time{
  color:#fff !important;
  font-weight:900 !important;
  font-size:11px !important;
}
html body #mcrmap .mcr-route-badge .mrb-dot{
  width:2px !important; height:2px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.35) !important;
}
html body #mcrmap .mcr-route-badge .mrb-dist{
  color:rgba(255,255,255,.65) !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
}
@keyframes mcrRouteBadgeIn{
  from { opacity:0; transform:translateX(-50%) translateY(6px); }
  to   { opacity:1; transform:translateX(-50%) translateY(0); }
}
/* Light mode */
html body .WOT.wot-light #mcrmap .mcr-route-badge{
  background:linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(248,248,250,.98) 100%) !important;
  border-color:rgba(0,0,0,.08) !important;
  color:#0a0a0d !important;
  box-shadow:0 8px 24px rgba(0,0,0,.18), 0 1px 0 rgba(255,255,255,.6) inset !important;
}
html body .WOT.wot-light #mcrmap .mcr-route-badge .mrb-time{ color:#0a0a0d !important; }
html body .WOT.wot-light #mcrmap .mcr-route-badge .mrb-dist{ color:rgba(0,0,0,.55) !important; }
/* Hide the floating HUD stats badge everywhere — competes with day rail */
html body .WOT .wot-map-hud,
html body section.WOT .wot-map-hud{ display:none !important; }
/* Desktop: let original v12.7.70 18px size apply */



/* ════════════════════════════════════════════════════════════════════════
   MOBILE WOT — SUPER COMPACT HIGH-TECH PALETTE
   Pure black is too dark. Layer in dark greys for depth + hierarchy.
   ════════════════════════════════════════════════════════════════════════ */
/* v12.10.1 — Hide duplicate dark/light switch in WOT toolbar (both desktop + mobile).
   Mobile top header has its own dark/light at the top; desktop only needs ONE. */
html body section.WOT .wot-mode-switch,
html body .WOT .wot-mode-switch{ display:none !important; }
/* v12.10.4 — On DESKTOP: day picker lives in the GRID section (week-strip),
   not on the map. Hide the chip-rail overlay above the map; show the week strip.
   On mobile: opposite — chip rail on map, week strip hidden. */
@media(min-width:901px){
  html body.home section.WOT .wot-map-dayrail{ display:none !important; }
  html body.home section.WOT .wot-week-strip{ display:flex !important; }
  /* v12.10.5 — gentle dark grey for the grid (no more pure black) */
  html body section.WOT:not(.wot-light) .wot-tg,
  html body section.WOT:not(.wot-light){
    background:#0f0f14 !important;
  }
}

/* ════════════════════════════════════════════════════════════════════════
   v12.10.6 — Mobile WOT polish batch
   ════════════════════════════════════════════════════════════════════════ */
@media(max-width:900px){
  /* 1. Slider on mobile WOT: no black box. Container transparent, only the
        controls have their own pills. */
  html body section.WOT .wot-map-timeslider{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
    padding:6px 4px !important;
  }
  /* Slider track gets a thin black stroke so it's still readable over light tiles */
  html body section.WOT .wot-mts-range::-webkit-slider-runnable-track{
    box-shadow:0 0 0 0.5px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.6) !important;
  }
  /* NOW pill needs its own shadow for legibility on the map */
  html body section.WOT .wot-mts-now{
    box-shadow:0 2px 8px rgba(0,0,0,.45) !important;
  }
  /* Time value gets a subtle text shadow so it reads over tiles */
  html body section.WOT .wot-mts-val{
    text-shadow:0 1px 4px rgba(0,0,0,.7), 0 0 8px rgba(0,0,0,.5) !important;
  }

  /* 2. Move the rolling-text ticker BETWEEN map and grid (was above map) */
  html body.home.wot-split-mini .WOT .wot-ticker{
    order:-3 !important;
    margin:0 !important;
  }

  /* 3. Dark mode background slightly darker grey (less flat pure black) */
  html body section.WOT:not(.wot-light),
  html body.home section.WOT:not(.wot-light){
    background:#0a0a0e !important;
  }

  /* 5. Map looks more lively — brighten + saturate the tiles */
  html body section.WOT:not(.wot-light) #mcrmap .leaflet-tile{
    filter:brightness(1.18) saturate(1.4) contrast(1.05) !important;
  }
}

/* v12.10.8 — Hide the mobile nav minimap (radar) for now */
@media(max-width:900px){
  html body #MOB-HEADER .wot-radar,
  html body #MOB-HEADER .wot-radar-nav,
  html body #MOB-HEADER .mob-hdr-actions .wot-radar{ display:none !important; }
}

/* 4. Mobile top nav — dark/light switch moves to the RIGHT side */
@media(max-width:900px){
  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left{
    order:3 !important;
    margin-left:auto !important;
    flex:0 0 auto !important;
  }
  html body #MOB-HEADER.mcr-nav-built .mob-hdr-actions{
    order:1 !important;
    margin-left:0 !important;
    margin-right:auto !important;
  }
  /* Keep the logo perfectly centred regardless of left/right swap */
  html body #MOB-HEADER.mcr-nav-built .mob-hdr-logo{
    order:2 !important;
  }
}

/* 6. Thinner white outline on map dots (the dark rim shadow was 0.5px;
      anything wider on legacy rules now overridden). */
html body .leaflet-pane .leaflet-marker-icon .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.mcr-now .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.mcr-near .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.mcr-saved .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.happening-now .pin-marker{
  box-shadow:
    0 0 0 0.25px rgba(0,0,0,.45),
    0 2px 5px rgba(0,0,0,.55),
    0 1px 2px rgba(0,0,0,.55) !important;
}
@media(max-width:900px){
  html body.home section.WOT .wot-week-strip{ display:none !important; }
}

/* v12.10.11 - Mobile header control order.
   Final authority: theme switch left, logo centre, map/radar right. */
@media(max-width:900px){
  html body #MOB-HEADER.mcr-nav-built{
    display:grid !important;
    grid-template-columns:minmax(88px,auto) 1fr minmax(42px,auto) !important;
    align-items:center !important;
    gap:8px !important;
    height:56px !important;
    padding:0 10px !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left{
    grid-column:1 !important;
    order:1 !important;
    margin:0 !important;
    justify-self:start !important;
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mob-hdr-logo{
    grid-column:2 !important;
    order:2 !important;
    position:static !important;
    transform:none !important;
    justify-self:center !important;
    margin:0 !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mob-hdr-actions{
    grid-column:3 !important;
    order:3 !important;
    margin:0 !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    gap:0 !important;
    min-width:42px !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mob-hdr-actions .wot-mode-switch{
    display:none !important;
  }

  html body #MOB-HEADER.mcr-nav-built .wot-radar.wot-radar-nav,
  html body #MOB-HEADER.mcr-nav-built .mob-hdr-actions .wot-radar.wot-radar-nav{
    display:block !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    flex:0 0 34px !important;
    position:relative !important;
    margin:0 !important;
  }
}

@media(max-width:900px){
  /* WOT section: deep dark grey base */
  html body section.WOT,
  html body .WOT,
  html body main.CENTRE > section.WOT{
    background:#0d0d12 !important;
  }
  /* Map container: slightly lighter dark grey frame */
  html body .WOT .wot-mapview{
    background:#13131a !important;
    border-top:1px solid rgba(255,255,255,.03) !important;
    border-bottom:1px solid rgba(255,255,255,.03) !important;
  }
  /* Filter bar: darkest layer */
  html body .WOT .wot-filterbar{
    background:#08080c !important;
    border-bottom:1px solid rgba(255,255,255,.04) !important;
  }
  /* Time grid */
  html body .WOT .wot-tg{
    background:#0d0d12 !important;
  }
  html body .WOT .wot-tg-row{
    background:transparent !important;
    border-bottom:1px solid rgba(255,255,255,.03) !important;
  }
  html body .WOT .wot-tg-row:nth-child(odd){
    background:rgba(255,255,255,.015) !important;
  }
  html body .WOT .wot-tg-row.is-current,
  html body .WOT .wot-tg-row.now{
    background:rgba(255,255,255,.04) !important;
  }
  /* Row matching the time slider selection — strong highlight */
  html body .WOT .wot-tg-row.wot-tg-row-selected{
    background:rgba(255,255,255,.06) !important;
    box-shadow:inset 2px 0 0 #fff !important;
  }
  html body .WOT .wot-tg-row.wot-tg-row-selected .wot-tg-time{
    color:#fff !important;
    font-weight:800 !important;
  }
  /* Time labels: dark grey pill */
  html body .WOT .wot-tg-time{
    color:rgba(255,255,255,.5) !important;
    background:transparent !important;
    border-right:1px solid rgba(255,255,255,.04) !important;
    font-variant-numeric:tabular-nums !important;
  }
  /* Day rail chips: tighter, more "tech", theme-aware active state */
  html body .WOT .wot-mdr-chip{
    background:rgba(20,20,26,.85) !important;
    border:1px solid rgba(255,255,255,.1) !important;
    height:24px !important; min-height:24px !important; max-height:24px !important;
    padding:0 8px !important;
    border-radius:6px !important;
    font-variant-numeric:tabular-nums !important;
    color:rgba(255,255,255,.7) !important;
  }
  /* Dark mode active: red accent */
  html body .WOT .wot-mdr-chip.is-on{
    background:#E8201A !important;
    color:#fff !important;
    border-color:#E8201A !important;
    box-shadow:0 0 0 1px rgba(232,32,26,.35), 0 2px 8px rgba(232,32,26,.3) !important;
  }
  html body .WOT .wot-mdr-chip.is-on .wot-mdr-dn,
  html body .WOT .wot-mdr-chip.is-on .wot-mdr-num{ color:#fff !important; opacity:1 !important; }
  /* Light mode chips */
  html body .WOT.wot-light .wot-mdr-chip{
    background:rgba(255,255,255,.92) !important;
    border:1px solid rgba(0,0,0,.1) !important;
    color:rgba(0,0,0,.65) !important;
  }
  html body .WOT.wot-light .wot-mdr-chip.is-on{
    background:#E8201A !important; color:#fff !important; border-color:#E8201A !important;
  }
  /* Time slider strip: dark grey */
  html body .WOT .wot-map-timeslider{
    background:rgba(20,20,26,.88) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:8px !important;
    padding:5px 8px !important;
  }
  html body .WOT .wot-mts-range{
    background:rgba(255,255,255,.12) !important;
  }
  /* Event pill borders: thin dark grey */
  html body .WOT .wot-ev-pill{
    border:1px solid rgba(255,255,255,.06) !important;
  }
  /* Compactness — tighten the gaps across WOT */
  html body .WOT .wot-filterbar{ height:30px !important; }
  html body .WOT .wot-filterbar .wot-flt{ line-height:30px !important; padding:0 7px !important; font-size:8.5px !important; }
  html body .WOT .wot-ticker{ height:22px !important; padding:3px 8px !important; }
  html body .WOT .wot-ticker-item{ font-size:.52rem !important; }
  /* Day rail offset down so it doesn't crowd top of map */
  html body .WOT .wot-map-dayrail{
    top:6px !important; left:6px !important; right:6px !important;
    height:28px !important; max-height:28px !important; min-height:28px !important;
  }
  /* Time slider tighter at bottom of map */
  html body .WOT .wot-map-timeslider{
    bottom:6px !important; left:6px !important; right:6px !important;
  }
  /* Empty time rows: subtle dark grey instead of pure black */
  html body .WOT .wot-tg-row .wot-tg-ev-row:empty{
    background:rgba(255,255,255,.02) !important;
  }
  /* Container around explore section: dark grey card feel */
  html body section.WOT{
    padding-bottom:8px !important;
  }
}
html body .WOT .wot-mts-val{
  flex:0 0 auto !important;
  min-width:36px !important;
  text-align:right !important;
  color:#fff !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  font-variant-numeric:tabular-nums !important;
}

/* Light theme map overlay */
html body .WOT.wot-light .wot-mdr-chip{
  background:rgba(255,255,255,.88) !important;
  color:rgba(0,0,0,.7) !important;
  border-color:rgba(0,0,0,.1) !important;
}
html body .WOT.wot-light .wot-mdr-chip.is-on{
  background:#E8201A !important; color:#fff !important;
}
html body .WOT.wot-light .wot-map-timeslider{
  background:rgba(255,255,255,.92) !important;
  border-color:rgba(0,0,0,.08) !important;
}
html body .WOT.wot-light .wot-mts-val{ color:#0a0a0d !important; }
html body .WOT.wot-light .wot-mts-range{ background:rgba(0,0,0,.15) !important; }

/* ── Cat pills: WAY more compact on both desktop + mobile ────────────── */
html body .WOT .wot-filterbar,
html body section.WOT .wot-filterbar{
  height:22px !important;
  padding:0 4px !important;
}
html body .WOT .wot-filterbar .wot-flt,
html body section.WOT .wot-filterbar .wot-flt{
  font-size:8px !important;
  padding:0 5px !important;
  letter-spacing:.04em !important;
  height:22px !important;
  line-height:22px !important;
}
@media(max-width:900px){
  html body .WOT .wot-filterbar,
  html body section.WOT .wot-filterbar{
    height:20px !important;
    padding:0 3px !important;
  }
  html body .WOT .wot-filterbar .wot-flt,
  html body section.WOT .wot-filterbar .wot-flt{
    font-size:7.5px !important;
    padding:0 4px !important;
    letter-spacing:.03em !important;
    height:20px !important;
    line-height:20px !important;
  }
}

/* ── Drawer popup: kill the huge white box, much more compact ────────── */
@media(max-width:900px){
  html body .WOT .wot-drawer{
    margin:4px 6px !important;
    padding:0 !important;
    border-radius:10px !important;
    max-height:none !important;
    box-shadow:0 4px 14px rgba(0,0,0,.3) !important;
  }
  html body .WOT .wot-dr-inner{
    margin:0 !important;
    padding:8px !important;
    gap:6px !important;
    border-radius:10px !important;
  }
  html body .WOT .wot-dr-img{ height:90px !important; border-radius:6px !important; }
  html body .WOT .wot-dr-cat{ font-size:.5rem !important; opacity:.7 !important; margin:0 !important; }
  html body .WOT .wot-dr-title{ font-size:.78rem !important; line-height:1.15 !important; margin:0 !important; }
  html body .WOT .wot-dr-meta{ gap:5px !important; }
  html body .WOT .wot-dr-meta-item{ font-size:.5rem !important; }
  html body .WOT .wot-dr-desc{ display:none !important; }
  html body .WOT .wot-dr-actions{ gap:4px !important; margin-top:2px !important; }
  html body .WOT .wot-dr-btn{
    padding:5px 6px !important;
    font-size:.42rem !important;
    min-height:24px !important;
    letter-spacing:.02em !important;
    border-radius:6px !important;
    gap:3px !important;
  }
  html body .WOT .wot-dr-btn i{ font-size:.75em !important; }
  html body .WOT .wot-dr-btn.share-btn{ min-width:28px !important; padding:5px !important; }
  html body .WOT .wot-dr-btn.share-btn span{ display:none !important; }
}

/* ════════════════════════════════════════════════════════════════════════
   v12.7.89 FIXES - single post white gap, focus states, footer cleanup
   ════════════════════════════════════════════════════════════════════════ */

/* 1. Single post blank white area at bottom
      The BODY grid stretches CENTRE to min-height:100vh by default.
      align-self:start lets CENTRE size to its content only, no white void. */
.CENTRE.single-centre { align-self: start; }

/* 2. Visible focus indicators - keyboard and assistive tech accessibility */
:focus-visible {
  outline: 2px solid #1A56FF !important;
  outline-offset: 2px !important;
  border-radius: 2px;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #1A56FF !important;
  outline-offset: 2px !important;
  border-radius: 3px;
}
/* On dark sidebar, use a lighter ring so it's visible against dark bg */
.SB :focus-visible,
aside.SB :focus-visible,
.mcr-ft :focus-visible {
  outline-color: rgba(255,255,255,.75) !important;
}

/* 3. Plan FAB: slight right shift so it clears 3rd-column event cards */
@media (min-width: 901px) {
  .plan-fab, #planFab { right: 20px !important; }
}

/* 4. Single post light-theme body background - prevents dark BODY bleed
      below the white content area when align-self:start shrinks CENTRE */
body.single-mcr_story .BODY,
body.single-mcr_venue .BODY,
body.single .BODY {
  background: linear-gradient(to right, #0c0c0e var(--sb-w), #ffffff var(--sb-w)) !important;
}

/* ══ END v12.7.89 ══ */

/* ════════════════════════════════════════════════════════════════════════
   v12.10.3 — FINAL TIME SLIDER (clean rewrite, max specificity at file end).
   All previous slider rules above are overridden by this single block.
   ════════════════════════════════════════════════════════════════════════ */
/* Wipe leftover decorative ::before/::after on the container */
html body section.WOT .wot-map-timeslider::after,
html body section.WOT .wot-map-timeslider::before,
html body section.WOT.wot-light .wot-map-timeslider::after,
html body section.WOT.wot-light .wot-map-timeslider::before{
  display:none !important; content:none !important;
  background:none !important; height:0 !important;
}
/* Container — single clean glass capsule */
html body section.WOT .wot-map-timeslider{
  position:absolute !important;
  bottom:10px !important; left:10px !important; right:10px !important;
  display:flex !important; align-items:center !important; gap:12px !important;
  padding:8px 14px !important;
  background:rgba(15,15,18,.88) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:999px !important;
  backdrop-filter:blur(12px) !important; -webkit-backdrop-filter:blur(12px) !important;
  box-shadow:0 6px 20px rgba(0,0,0,.45) !important;
  z-index:600 !important;
}
/* NOW button — small clean white pill */
html body section.WOT .wot-mts-now{
  all:unset !important;
  flex:0 0 auto !important;
  display:inline-block !important;
  padding:5px 11px !important;
  background:#ffffff !important; color:#0a0a0d !important;
  border-radius:999px !important;
  font:700 10px/1 -apple-system,BlinkMacSystemFont,'Inter',system-ui,sans-serif !important;
  letter-spacing:.05em !important; text-transform:uppercase !important;
  cursor:pointer !important;
}
/* Range input — generous tap area, transparent input element */
html body section.WOT .wot-mts-range{
  flex:1 1 auto !important;
  -webkit-appearance:none !important; appearance:none !important;
  width:auto !important; min-width:0 !important;
  height:22px !important;
  background:transparent !important;
  outline:0 !important; border:0 !important; margin:0 !important; padding:0 !important;
  cursor:pointer !important;
  --p:0;
}
/* Track — visible white-ish base with white progress fill */
html body section.WOT .wot-mts-range::-webkit-slider-runnable-track{
  height:4px !important; border-radius:999px !important;
  background:linear-gradient(90deg,
    #ffffff 0%, #ffffff calc(var(--p,0) * 1%),
    rgba(255,255,255,.18) calc(var(--p,0) * 1%), rgba(255,255,255,.18) 100%) !important;
  border:0 !important;
}
html body section.WOT .wot-mts-range::-moz-range-track{
  height:4px !important; border-radius:999px !important;
  background:rgba(255,255,255,.18) !important; border:0 !important;
}
html body section.WOT .wot-mts-range::-moz-range-progress{
  height:4px !important; border-radius:999px !important;
  background:#ffffff !important;
}
/* Thumb — clean visible white circle */
html body section.WOT .wot-mts-range::-webkit-slider-thumb{
  -webkit-appearance:none !important; appearance:none !important;
  width:16px !important; height:16px !important;
  background:#ffffff !important;
  border:0 !important; border-radius:50% !important;
  margin-top:-6px !important;
  box-shadow:0 2px 4px rgba(0,0,0,.5), 0 0 0 1px rgba(0,0,0,.4) !important;
  cursor:grab !important;
}
html body section.WOT .wot-mts-range::-moz-range-thumb{
  width:16px !important; height:16px !important;
  background:#ffffff !important; border:0 !important; border-radius:50% !important;
  box-shadow:0 2px 4px rgba(0,0,0,.5), 0 0 0 1px rgba(0,0,0,.4) !important;
}
/* Time value — fixed-width so it never truncates */
html body section.WOT .wot-mts-val{
  flex:0 0 50px !important;
  text-align:right !important;
  color:#fff !important;
  font:700 13px/1 -apple-system,BlinkMacSystemFont,'Inter',system-ui,sans-serif !important;
  font-variant-numeric:tabular-nums !important;
  letter-spacing:0 !important;
  font-stretch:normal !important;
  white-space:nowrap !important;
  overflow:visible !important;
}
/* Hide the redundant NOW dot pseudo-element if anything else tries to add it */
html body section.WOT .wot-mts-now::before,
html body section.WOT .wot-mts-now::after{ display:none !important; content:none !important; }
/* Light mode */
html body section.WOT.wot-light .wot-map-timeslider{
  background:rgba(255,255,255,.95) !important;
  border-color:rgba(0,0,0,.08) !important;
}
html body section.WOT.wot-light .wot-mts-val{ color:#0a0a0d !important; }
html body section.WOT.wot-light .wot-mts-range::-webkit-slider-runnable-track{
  background:linear-gradient(90deg,
    #0a0a0d 0%, #0a0a0d calc(var(--p,0) * 1%),
    rgba(0,0,0,.15) calc(var(--p,0) * 1%), rgba(0,0,0,.15) 100%) !important;
}
html body section.WOT.wot-light .wot-mts-range::-webkit-slider-thumb{
  background:#0a0a0d !important;
  box-shadow:0 2px 4px rgba(0,0,0,.25), 0 0 0 1px rgba(0,0,0,.1) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   v12.10.0 — DEFINITIVE MAP MARKER STYLE (final audit, max specificity)
   AUDITED 30+ legacy `.pin-marker` rules. This block is the LAST rule in
   the file so it wins the cascade. Premium minimal: clean coloured pin,
   1px subtle ring, soft drop-shadow, no childish glow/border/animation.
   ════════════════════════════════════════════════════════════════════════ */
html body .leaflet-pane .leaflet-marker-icon .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.mcr-now .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.mcr-near .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.mcr-saved .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.happening-now .pin-marker{
  /* Reset */
  display:block !important;
  position:relative !important;
  margin:0 !important; padding:0 !important;
  border:0 !important;
  outline:0 !important;
  transform:none !important;
  animation:none !important;
  filter:none !important;
  text-indent:-9999px !important; color:transparent !important; font-size:0 !important;
  overflow:visible !important;
  /* Shape + size — small premium dot */
  width:11px !important; height:11px !important;
  border-radius:50% !important;
  /* Solid colour (neutral grey fallback — NEVER red) */
  background:var(--c, #9ea3ad) !important;
  /* Premium drop-shadow stack — gives the dot weight, lifts it off the map.
     Slight opacity (.92) so the dot doesn't look like a flat sticker. */
  opacity:.92 !important;
  box-shadow:
    0 2px 6px rgba(0,0,0,.55),
    0 1px 2px rgba(0,0,0,.6),
    0 0 0 0.5px rgba(0,0,0,.5) !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  -webkit-tap-highlight-color:transparent !important;
}
/* No pseudo-element decorations */
html body .leaflet-pane .leaflet-marker-icon .pin-marker::before,
html body .leaflet-pane .leaflet-marker-icon .pin-marker::after,
html body .leaflet-pane .leaflet-marker-icon.mcr-now .pin-marker::before,
html body .leaflet-pane .leaflet-marker-icon.mcr-now .pin-marker::after,
html body .leaflet-pane .leaflet-marker-icon.mcr-near .pin-marker::before,
html body .leaflet-pane .leaflet-marker-icon.mcr-near .pin-marker::after,
html body .leaflet-pane .leaflet-marker-icon.mcr-saved .pin-marker::before,
html body .leaflet-pane .leaflet-marker-icon.mcr-saved .pin-marker::after{
  display:none !important; content:none !important;
}
/* Approx (geocoded fallback): faded */
html body .leaflet-pane .leaflet-marker-icon .pin-marker.approx{
  opacity:.45 !important;
}
/* Plan-stop: numbered badge — keep readable */
html body .leaflet-pane .leaflet-marker-icon .pin-marker.plan-stop{
  width:18px !important; height:18px !important;
  text-indent:0 !important; color:#fff !important;
  font:900 10px/1 'Inter',system-ui,sans-serif !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
}
/* Hover/active: gentle scale, no over-zoom */
html body .leaflet-pane .leaflet-marker-icon:hover .pin-marker,
html body .leaflet-pane .leaflet-marker-icon:active .pin-marker,
html body .leaflet-pane .leaflet-marker-icon:focus-visible .pin-marker{
  transform:scale(1.18) !important;
  box-shadow:
    0 0 0 0.5px rgba(0,0,0,.6),
    0 3px 6px rgba(0,0,0,.55),
    inset 0 1px 1.5px rgba(255,255,255,.35),
    inset 0 -1px 1.5px rgba(0,0,0,.22) !important;
  z-index:9999 !important;
}
/* PREMIUM TIERS — same shape, premium materials */
html body .leaflet-pane .leaflet-marker-icon .pin-marker.tier-gold{
  background:linear-gradient(135deg, #FFE680 0%, #F5C400 55%, #B8860B 100%) !important;
}
html body .leaflet-pane .leaflet-marker-icon .pin-marker.tier-silver{
  background:linear-gradient(135deg, #ffffff 0%, #d4d7e0 55%, #8a8d9a 100%) !important;
}
html body .leaflet-pane .leaflet-marker-icon .pin-marker.tier-platinum{
  background:linear-gradient(135deg, #ffffff 0%, #e2e8f0 50%, #94a3b8 100%) !important;
}
html body .leaflet-pane .leaflet-marker-icon .pin-marker.tier-holographic{
  background:linear-gradient(135deg,
    #ff4081 0%, #ff9100 20%, #ffea00 40%,
    #00e676 55%, #00b0ff 75%, #b388ff 95%) !important;
}
/* Desktop: slightly bigger so it reads on bigger map */
@media(min-width:901px){
  html body .leaflet-pane .leaflet-marker-icon .pin-marker,
  html body .leaflet-pane .leaflet-marker-icon.mcr-now .pin-marker,
  html body .leaflet-pane .leaflet-marker-icon.mcr-near .pin-marker,
  html body .leaflet-pane .leaflet-marker-icon.mcr-saved .pin-marker,
  html body .leaflet-pane .leaflet-marker-icon.happening-now .pin-marker{
    width:13px !important; height:13px !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   DEV.4 BRIEF - implemented by dev5 - 2026-05-17
   Mobile WOT polish. All rules appended at file end to win the cascade.
   Tasks A (chips), B (ticker), C (GPS icon), D (centre button).
   ══════════════════════════════════════════════════════════════════════════ */

/* DEV.4 A1 - chip size + black & white */
html body .WOT .wot-map-dayrail{
  gap:4px !important;
  padding:0 8px !important;
}
html body .WOT .wot-mdr-chip{
  flex:0 0 auto !important;
  height:22px !important;
  padding:0 9px !important;
  background:rgba(255,255,255,.07) !important;
  color:rgba(255,255,255,.62) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
  border-radius:11px !important;
  box-shadow:none !important;
  backdrop-filter:blur(4px) !important;
  -webkit-backdrop-filter:blur(4px) !important;
}
html body .WOT .wot-mdr-chip .wot-mdr-dn{ font-size:7px !important; letter-spacing:.04em !important; }
html body .WOT .wot-mdr-chip .wot-mdr-num{ font-size:8px !important; }

/* DEV.4 A2 - active chip = blue (not red), no glow */
html body .WOT .wot-mdr-chip.is-on{
  background:#1A56FF !important;
  color:#ffffff !important;
  border-color:#1A56FF !important;
  border-bottom-color:#1A56FF !important;
  box-shadow:none !important;
}
html body .WOT .wot-mdr-chip.is-on .wot-mdr-dn,
html body .WOT .wot-mdr-chip.is-on .wot-mdr-num{ color:#ffffff !important; opacity:1 !important; }
html body .WOT .wot-mdr-chip.is-on:focus,
html body .WOT .wot-mdr-chip.is-on:active{ box-shadow:none !important; outline:none !important; }

/* DEV.4 A3 - move chip rail BELOW the time slider on mobile */
@media(max-width:900px){
  html body.home.wot-split-mini .WOT .wot-mapview{ position:relative !important; }
  html body section.WOT .wot-map-dayrail,
  html body .WOT .wot-map-dayrail{
    position:absolute !important;
    bottom:6px !important;
    left:10px !important;
    right:10px !important;
    top:auto !important;
    z-index:640 !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    background:transparent !important;
    border-top:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  html body .WOT .wot-map-dayrail::-webkit-scrollbar{ display:none !important; }
  html body section.WOT .wot-map-timeslider{ bottom:34px !important; }
}

/* DEV.4 B1 - stacking order: ticker (top) -> map -> filterbar -> grid */
@media(max-width:900px){
  html body.home.wot-split-mini .WOT .wot-ticker,
  html body section.WOT .wot-ticker,
  html body .WOT .wot-ticker{ order:-7 !important; }
  html body.home.wot-split-mini .WOT .wot-mapview,
  html body section.WOT .wot-mapview,
  html body .WOT .wot-mapview{ order:-6 !important; }
  html body section.WOT .wot-filterbar,
  html body .WOT .wot-filterbar{ order:-5 !important; }
}

/* DEV.4 B2 - 2x slower ticker (current effective duration is 300s -> 600s) */
html body section.WOT .wot-ticker .wot-ticker-track,
html body section#WOT .wot-ticker .wot-ticker-track,
html body .WOT .wot-ticker .wot-ticker-track{
  animation-duration:600s !important;
}
@media(max-width:900px){
  html body section.WOT .wot-ticker .wot-ticker-track,
  html body section#WOT .wot-ticker .wot-ticker-track,
  html body .WOT .wot-ticker .wot-ticker-track{
    animation-duration:600s !important;
  }
}

/* DEV.4 B3 - LIVE badge: plain text + flashing dot, no pill */
html body section.WOT .wot-ticker-live,
html body .WOT .wot-ticker-live{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  flex:0 0 auto !important;
  padding:0 6px 0 0 !important;
  background:none !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  line-height:1 !important;
}
html body .WOT .wot-ticker-live-txt{
  font-size:.58rem !important;
  font-weight:800 !important;
  letter-spacing:.7px !important;
  color:#ffffff !important;
  text-shadow:none !important;
  text-transform:uppercase !important;
}
html body .WOT .wot-ticker-dot{
  flex:0 0 auto !important;
  width:5px !important;
  height:5px !important;
  border-radius:50% !important;
  background:#ff3030 !important;
  box-shadow:none !important;
  animation:wotTickerPulse 1.2s ease-in-out infinite !important;
}

/* DEV.4 B4 - ticker row background pure black */
html body section.WOT .wot-ticker,
html body .WOT .wot-ticker{
  background:#000000 !important;
  border-top:none !important;
  border-bottom:none !important;
}

/* DEV.4 B5 - per-category coloured dots (JS sets --tc on each item) */
html body section.WOT .wot-ticker-item::before,
html body .WOT .wot-ticker-item::before{
  content:'' !important;
  display:inline-block !important;
  width:5px !important;
  height:5px !important;
  border-radius:50% !important;
  margin-right:6px !important;
  vertical-align:middle !important;
  background:var(--tc, #9ea3ad) !important;
  color:transparent !important;
}

/* DEV.4 C1 - GPS icon fix (constrain stretched glyph) */
html body .WOT .wot-map-locate{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  height:34px !important;
  padding:0 !important;
}
html body .WOT .wot-map-locate i,
html body .WOT .wot-map-locate svg{
  width:15px !important;
  height:15px !important;
  font-size:15px !important;
  line-height:1 !important;
  aspect-ratio:1 / 1 !important;
  transform:none !important;
  flex-shrink:0 !important;
}

/* DEV.4 D2 - centre map button */
html body .WOT .wot-map-centre{
  position:absolute !important;
  bottom:90px !important;
  right:10px !important;
  z-index:650 !important;
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  background:rgba(20,20,26,.9) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:rgba(255,255,255,.85) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  box-shadow:0 2px 8px rgba(0,0,0,.4) !important;
  padding:0 !important;
  transition:background .15s, transform .15s !important;
}
html body .WOT .wot-map-centre:hover{ background:rgba(26,86,255,.92) !important; }
html body .WOT .wot-map-centre:active{ transform:scale(.92) !important; }
html body .WOT.wot-light .wot-map-centre{
  background:rgba(255,255,255,.95) !important;
  border-color:rgba(0,0,0,.12) !important;
  color:#0a0a0d !important;
}
html body .WOT .wot-map-centre i,
html body .WOT .wot-map-centre svg{
  width:14px !important;
  height:14px !important;
  font-size:14px !important;
  line-height:1 !important;
  aspect-ratio:1 / 1 !important;
  flex-shrink:0 !important;
}

/* =====================================================================
   DEV.5 - Week-at-hour mode
   When user drags the time slider, .WOT gets .wot-all-days-mode.
   All 7 .wot-day blocks are shown; non-matching hour rows are hidden
   by JS; days with zero events at that hour get .wot-day-has-hour=false
   and are hidden by CSS.
   ===================================================================== */

/* Show ALL day blocks in week mode (overrides the display:none on inactive days) */
/* Specificity: body(0,0,1) .WOT(0,1,0) .wot-all-days-mode(0,1,0) .wot-day(0,1,0) = 0,3,1 = 31 */
/* beats existing body .WOT .wot-day{display:none} which is 0,2,1 = 21 */
body .WOT.wot-all-days-mode .wot-day{
  display:block !important;
}
/* Hide days that have no events at the selected hour */
body .WOT.wot-all-days-mode .wot-day:not(.wot-day-has-hour){
  display:none !important;
}
/* Day label header - shows "Mon 19" / "Sun 18 - Today" etc */
body .WOT.wot-all-days-mode .wot-day::before{
  content:attr(data-label) !important;
  display:block !important;
  font-size:.6rem !important;
  font-weight:800 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.45) !important;
  padding:10px 12px 2px !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
}
body .WOT.wot-all-days-mode .wot-day:first-child::before{
  border-top:none !important;
}
/* Tighter row padding in week mode (no surrounding context rows) */
body .WOT.wot-all-days-mode .wot-tg-row.wot-tg-row-selected{
  padding-top:0 !important;
}
/* Remove empty-state message when in week mode */
body .WOT.wot-all-days-mode .wot-tg-empty{
  display:none !important;
}

/* =====================================================================
   DEV.5 E - 3D sphere map pins ("pin coming out of the ground" look)
   Overrides the definitive flat-dot block above. Same selector + later
   position in file = wins. radial-gradient gives sphere highlight/shadow
   without needing color-mix() (works in all modern browsers).
   ===================================================================== */

/* 3D sphere: white highlight top-left, solid --c mid, dark edge bottom-right */
html body .leaflet-pane .leaflet-marker-icon .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.mcr-now .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.mcr-near .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.mcr-saved .pin-marker,
html body .leaflet-pane .leaflet-marker-icon.happening-now .pin-marker{
  width:13px !important;
  height:13px !important;
  background:radial-gradient(
    circle at 36% 32%,
    rgba(255,255,255,.6) 0%,
    var(--c,#9ea3ad) 46%,
    rgba(0,0,0,.30) 100%
  ) !important;
  box-shadow:
    inset -2px -3px 5px rgba(0,0,0,.26),
    inset 2px 2px 4px rgba(255,255,255,.30),
    0 5px 8px rgba(0,0,0,.52),
    0 9px 14px rgba(0,0,0,.26),
    0 0 0 0.5px rgba(0,0,0,.28) !important;
  transform:translateY(-4px) !important;
  transition:transform .12s ease, box-shadow .12s ease !important;
  animation:none !important;
}

/* Hover/active/focus: lift higher, bigger shadow */
html body .leaflet-pane .leaflet-marker-icon:hover .pin-marker,
html body .leaflet-pane .leaflet-marker-icon:active .pin-marker,
html body .leaflet-pane .leaflet-marker-icon:focus-visible .pin-marker{
  transform:translateY(-7px) scale(1.22) !important;
  box-shadow:
    inset -2px -3px 5px rgba(0,0,0,.26),
    inset 2px 2px 4px rgba(255,255,255,.30),
    0 8px 14px rgba(0,0,0,.58),
    0 14px 22px rgba(0,0,0,.28),
    0 0 0 0.5px rgba(0,0,0,.32) !important;
}

/* Ground shadow blob - the "pin is elevated" cue */
/* Overrides the "display:none !important" set on ::after above.
   Same selector specificity + later position in file = wins. */
html body .leaflet-pane .leaflet-marker-icon .pin-marker::after,
html body .leaflet-pane .leaflet-marker-icon.mcr-now .pin-marker::after,
html body .leaflet-pane .leaflet-marker-icon.mcr-near .pin-marker::after,
html body .leaflet-pane .leaflet-marker-icon.mcr-saved .pin-marker::after{
  display:block !important;
  content:'' !important;
  position:absolute !important;
  bottom:-7px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:11px !important;
  height:5px !important;
  background:rgba(0,0,0,.25) !important;
  border-radius:50% !important;
  filter:blur(3px) !important;
  pointer-events:none !important;
}

/* Plan-stop (numbered): keep text readable, same 3D lift */
html body .leaflet-pane .leaflet-marker-icon .pin-marker.plan-stop{
  width:20px !important;
  height:20px !important;
  transform:translateY(-4px) !important;
  background:radial-gradient(
    circle at 36% 32%,
    rgba(255,255,255,.55) 0%,
    var(--c,#1A56FF) 50%,
    rgba(0,0,0,.28) 100%
  ) !important;
}

/* Tier premium: keep gradient backgrounds, add 3D shadows */
html body .leaflet-pane .leaflet-marker-icon .pin-marker.tier-gold{
  background:radial-gradient(circle at 36% 32%, #fff4b0 0%, #F5C400 50%, #7a5c00 100%) !important;
}
html body .leaflet-pane .leaflet-marker-icon .pin-marker.tier-silver{
  background:radial-gradient(circle at 36% 32%, #ffffff 0%, #d4d7e0 50%, #5a5d6a 100%) !important;
}
html body .leaflet-pane .leaflet-marker-icon .pin-marker.tier-platinum{
  background:radial-gradient(circle at 36% 32%, #ffffff 0%, #e2e8f0 50%, #6b7a8d 100%) !important;
}
html body .leaflet-pane .leaflet-marker-icon .pin-marker.tier-holographic{
  background:radial-gradient(circle at 36% 32%,
    rgba(255,255,255,.8) 0%, transparent 30%),
    linear-gradient(135deg, #ff4081 0%, #ff9100 20%, #ffea00 40%, #00e676 55%, #00b0ff 75%, #b388ff 95%) !important;
}

/* Desktop: slightly larger (existing rule was 13px already, keep consistent) */
@media(min-width:901px){
  html body .leaflet-pane .leaflet-marker-icon .pin-marker,
  html body .leaflet-pane .leaflet-marker-icon.mcr-now .pin-marker,
  html body .leaflet-pane .leaflet-marker-icon.mcr-near .pin-marker,
  html body .leaflet-pane .leaflet-marker-icon.mcr-saved .pin-marker,
  html body .leaflet-pane .leaflet-marker-icon.happening-now .pin-marker{
    width:14px !important;
    height:14px !important;
  }
}

/* =====================================================================
   v12.7.94 - ALIEN GEM MAP PINS
   Pure CSS, zero images. Alien crystal shape + monochromatic circus swirl.
   Performance: drop-shadow static (no per-frame GPU cost).
   Tap ring: ::after on leaflet wrapper (outside clip-path).
   ===================================================================== */

/* Leaflet icon container - allow glow/ring to bleed outside bounds */
.leaflet-marker-icon:has(.pin-gem){overflow:visible !important;position:relative}

/* Base gem - alien crystal shape, 14px visual in 28px hit-box */
.leaflet-marker-icon .pin-gem{
  display:block !important;
  width:14px !important;
  height:14px !important;
  clip-path:polygon(50% 0,69% 11%,100% 38%,86% 76%,56% 100%,20% 88%,0 44%,28% 15%) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  animation:none !important;
  transform:none !important;
  position:relative !important;
  cursor:pointer !important;
  transition:transform .15s ease,filter .15s ease !important;
  /* Stronger base glow */
  filter:
    drop-shadow(0 0 6px var(--gl,rgba(180,180,200,.8)))
    drop-shadow(0 0 14px var(--gl,rgba(180,180,200,.45)))
    drop-shadow(0 3px 5px rgba(0,0,0,.6)) !important
}

/* Hover */
.leaflet-marker-icon:hover .pin-gem{
  transform:scale(1.45) !important;
  filter:
    drop-shadow(0 0 10px var(--gl,rgba(180,180,200,1)))
    drop-shadow(0 0 22px var(--gl,rgba(180,180,200,.6)))
    drop-shadow(0 5px 8px rgba(0,0,0,.65)) !important
}

/* Tap ring - expands outward from the icon center on click */
.leaflet-marker-icon:has(.pin-gem):active::after{
  content:'';
  position:absolute;
  top:50%;left:50%;
  width:14px;height:14px;
  border-radius:50%;
  border:1.5px solid rgba(255,255,255,.75);
  transform:translate(-50%,-50%) scale(1);
  animation:gem-tap-ring .55s ease-out forwards;
  pointer-events:none;
  z-index:10
}
@keyframes gem-tap-ring{
  0%{transform:translate(-50%,-50%) scale(1);opacity:.9;border-color:rgba(255,255,255,.8)}
  100%{transform:translate(-50%,-50%) scale(2.8);opacity:0;border-color:rgba(255,255,255,0)}
}

/* Approx location - faded */
.leaflet-marker-icon .pin-gem.approx{opacity:.45 !important}

/* ---- Category fills - vibrant monochromatic circus swirl ---- */
/* Lighter 3D shadow + brighter conic peaks = more vivid at small size */

.leaflet-marker-icon .pin-gem.fill-r{
  --gl:rgba(255,20,55,.9);
  background:
    radial-gradient(circle at 33% 26%,rgba(255,255,255,.97) 0%,rgba(255,255,255,.4) 12%,transparent 38%,rgba(18,0,5,.42) 80%,rgba(14,0,4,.58) 100%),
    radial-gradient(circle at 50% 50%,transparent 18%,rgba(0,0,0,.38) 100%),
    conic-gradient(from 70deg at 40% 58%,#cc0015,#ff0028,#ff2244,#ee0020,#ff1838,#bb0010,#ff0028,#ff2244,#cc0015),
    radial-gradient(circle at 50% 50%,#ff0828 22%,#cc0018 52%,#3a0006 100%) !important
}
.leaflet-marker-icon .pin-gem.fill-v{
  --gl:rgba(185,50,255,.9);
  background:
    radial-gradient(circle at 33% 26%,rgba(255,255,255,.97) 0%,rgba(255,255,255,.4) 12%,transparent 38%,rgba(12,0,26,.42) 80%,rgba(10,0,22,.58) 100%),
    radial-gradient(circle at 50% 50%,transparent 17%,rgba(0,0,0,.36) 100%),
    conic-gradient(from 60deg at 38% 58%,#5500bb,#cc33ff,#ee55ff,#8800cc,#cc44ff,#4400aa,#bb22ff,#ee55ff,#5500bb),
    radial-gradient(circle at 50% 50%,#cc33ff 22%,#8800cc 52%,#240048 100%) !important
}
.leaflet-marker-icon .pin-gem.fill-g{
  --gl:rgba(20,255,90,.9);
  background:
    radial-gradient(circle at 33% 26%,rgba(255,255,255,.97) 0%,rgba(255,255,255,.4) 12%,transparent 38%,rgba(0,18,6,.42) 80%,rgba(0,15,5,.58) 100%),
    radial-gradient(circle at 50% 50%,transparent 18%,rgba(0,0,0,.36) 100%),
    conic-gradient(from 65deg at 37% 57%,#007722,#00ff55,#33ff77,#009933,#22ff66,#006618,#00ee44,#33ff77,#007722),
    radial-gradient(circle at 50% 50%,#00ff55 22%,#009933 52%,#001e0a 100%) !important
}
.leaflet-marker-icon .pin-gem.fill-a{
  --gl:rgba(255,175,0,.9);
  background:
    radial-gradient(circle at 33% 26%,rgba(255,255,255,.97) 0%,rgba(255,255,255,.4) 12%,transparent 38%,rgba(20,10,0,.42) 80%,rgba(16,8,0,.58) 100%),
    radial-gradient(circle at 50% 50%,transparent 18%,rgba(0,0,0,.36) 100%),
    conic-gradient(from 62deg at 38% 57%,#bb4400,#ffaa00,#ffcc00,#dd7700,#ffbb00,#993300,#ffaa00,#ffcc00,#bb4400),
    radial-gradient(circle at 50% 50%,#ffaa00 22%,#cc5500 52%,#2e1200 100%) !important
}
.leaflet-marker-icon .pin-gem.fill-b{
  --gl:rgba(40,110,255,.9);
  background:
    radial-gradient(circle at 33% 26%,rgba(255,255,255,.97) 0%,rgba(255,255,255,.4) 12%,transparent 38%,rgba(0,6,26,.42) 80%,rgba(0,5,22,.58) 100%),
    radial-gradient(circle at 50% 50%,transparent 18%,rgba(0,0,0,.36) 100%),
    conic-gradient(from 64deg at 38% 57%,#1144cc,#2266ff,#44aaff,#1a55dd,#3388ff,#0033bb,#2266ff,#44aaff,#1144cc),
    radial-gradient(circle at 50% 50%,#2266ff 22%,#1144cc 52%,#061022 100%) !important
}

/* ---- NOW (happening now) - rainbow conic + slow hue-rotate ---- */
.leaflet-marker-icon.mcr-now .pin-gem,
.leaflet-marker-icon.happening-now .pin-gem{
  --gl:rgba(200,120,255,.9);
  background:
    radial-gradient(circle at 33% 26%,rgba(255,255,255,.97) 0%,rgba(255,255,255,.38) 12%,transparent 38%,rgba(0,0,0,.38) 80%,rgba(0,0,0,.55) 100%),
    conic-gradient(from -12deg at 50% 50%,
      #ff2a55 0deg 30deg,#ff8a00 30deg 60deg,#ffe400 60deg 90deg,
      #48ff7a 90deg 120deg,#00e6d2 120deg 150deg,#00a8ff 150deg 180deg,
      #3a5bff 180deg 210deg,#9a3bff 210deg 240deg,#e23bff 240deg 270deg,
      #ff2ea0 270deg 300deg,#ff5a3a 300deg 330deg,#ff2a55 330deg 360deg) !important;
  animation:gem-now-hue 9s linear infinite !important
}
@keyframes gem-now-hue{
  from{filter:drop-shadow(0 0 8px rgba(200,120,255,1)) drop-shadow(0 0 18px rgba(200,120,255,.6)) drop-shadow(0 3px 5px rgba(0,0,0,.55)) hue-rotate(0deg)}
  to{filter:drop-shadow(0 0 8px rgba(200,120,255,1)) drop-shadow(0 0 18px rgba(200,120,255,.6)) drop-shadow(0 3px 5px rgba(0,0,0,.55)) hue-rotate(360deg)}
}

/* ---- Nearby pulse (mcr-near) ---- */
.leaflet-marker-icon.mcr-near .pin-gem{
  animation:gem-near-pulse 2.6s ease-in-out infinite !important
}
@keyframes gem-near-pulse{
  0%,100%{filter:drop-shadow(0 0 6px var(--gl,rgba(180,180,200,.8))) drop-shadow(0 3px 5px rgba(0,0,0,.55))}
  50%{filter:drop-shadow(0 0 12px var(--gl,rgba(180,180,200,1))) drop-shadow(0 0 24px var(--gl,rgba(180,180,200,.55))) drop-shadow(0 3px 5px rgba(0,0,0,.55))}
}

/* v12.8.6 - no filter on tiles: raw dark_matter shows native road lines */
html body section.WOT:not(.wot-light) #mcrmap .leaflet-tile-pane,
html body section.WOT:not(.wot-light) #mcrmap .leaflet-tile{
  filter:none !important;
}
/* Override the older saturate rule at line 22870 */
html body section.WOT:not(.wot-light) #mcrmap .leaflet-tile-pane{
  filter:none !important;
}

/* v12.7.97 - Desktop: Your Night plan - right-side compact panel, raised above bottom bars */
@media (min-width:901px){
  /* Right-align as compact panel, raised 80px so cookie/browser bars can't cover it */
  html body .plan{
    left:auto !important;
    right:16px !important;
    max-width:340px !important;
    bottom:80px !important;
    margin:0 !important;
    border-radius:16px !important;
    transform:translateY(calc(100% - 58px)) !important;
    box-shadow:0 12px 48px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08) inset !important;
  }
  html body.plan-open .plan{
    transform:translateY(0) !important;
    max-height:calc(100vh - 100px) !important;
  }
  html body .plan-body{
    max-height:calc(100vh - 230px) !important;
  }
  /* No drag pill on desktop - it's a click-to-open panel not a swipeable sheet */
  html body .plan-handle::before{ display:none !important; }
  /* Slightly warmer handle on desktop so it reads clearly */
  html body .plan-handle{
    border-bottom:1px solid rgba(255,255,255,.07) !important;
    border-radius:16px 16px 0 0 !important;
  }
  /* FAB: raise it clear of cookie bars, sit to the left of the plan panel */
  html body .plan-fab{
    bottom:88px !important;
    right:372px !important;
  }
  html body.plan-open .plan-fab{
    transform:translateY(200px) !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
}

/* v12.8.0 - Ticker: slower scroll + mobile alignment fix */
html body .WOT .wot-ticker-track{
  animation-duration:260s !important;
}
@media (max-width:900px){
  html body .WOT .wot-ticker{
    height:26px !important;
    align-items:center !important;
  }
  html body .WOT .wot-ticker-track{
    animation-duration:190s !important;
    align-items:center !important;
    line-height:1 !important;
  }
  html body .WOT .wot-ticker-item{
    align-items:center !important;
    line-height:1 !important;
  }
  html body .WOT .wot-ticker-live{
    align-items:center !important;
    line-height:1 !important;
  }
}

/* DEV.6 - ULTIMATE GEM PIN */
html body .leaflet-pane .leaflet-marker-icon .pin-marker,
html body .WOT .pin-marker {
  width:13px !important;
  height:13px !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle at 32% 28%,
      rgba(255,255,255,.9) 0%,
      rgba(255,255,255,.3) 18%,
      var(--c,#9ea3ad) 38%,
      color-mix(in srgb,var(--c,#9ea3ad) 55%,#000) 70%,
      rgba(0,0,0,.85) 100%
    ) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.12),
    0 3px 6px rgba(0,0,0,.65),
    0 1px 2px rgba(0,0,0,.4),
    inset 0 1px 1px rgba(255,255,255,.25) !important;
  transform:translateY(-3px) !important;
  position:relative !important;
  transition:transform .12s,box-shadow .12s !important;
}
html body .WOT .pin-marker::after,
html body .leaflet-pane .leaflet-marker-icon .pin-marker::after {
  content:'' !important;
  display:block !important;
  position:absolute !important;
  bottom:-5px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:9px !important;
  height:3px !important;
  background:rgba(0,0,0,.4) !important;
  border-radius:50% !important;
  filter:blur(2px) !important;
}
html body .WOT .pin-marker:hover,
html body .leaflet-pane .leaflet-marker-icon .pin-marker:hover {
  transform:translateY(-6px) scale(1.25) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.2),
    0 6px 12px rgba(0,0,0,.7),
    0 0 8px color-mix(in srgb,var(--c,#9ea3ad) 80%,transparent),
    inset 0 1px 2px rgba(255,255,255,.3) !important;
}
html body .WOT .pin-marker.approx {
  opacity:.45 !important;
}
.efa-budget {
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 0 0;
  flex-wrap:wrap;
}
.efa-budget label {
  font-size:.72rem;
  font-weight:800;
  color:inherit;
}
.efa-budget-summary {
  font-size:.72rem;
  color:rgba(255,255,255,.65);
}
.light-content .efa-budget-summary { color:#666; }
.ev-card[hidden], .ev-section-head[hidden] { display:none !important; }
.wot-map-budget {
  position:absolute;
  top:58px;
  right:10px;
  z-index:520;
  display:flex;
  align-items:center;
  gap:5px;
  padding:5px 7px;
  border-radius:8px;
  background:rgba(12,12,14,.88);
  color:#fff;
  font-size:.55rem;
  font-weight:800;
}
.wot-map-budget select,
.plan-budget select {
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  background:#18181d;
  color:#fff;
  padding:4px 6px;
  font:inherit;
}
.plan-budget {
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  font-size:.55rem;
  font-weight:800;
}
.plan-budget-status {
  grid-column:1/-1;
  color:var(--fg-muted);
  font-size:.55rem;
}

/* ════════════════════════════════════════════════════════════════════════
   EVENTS + MUSIC LIGHT-THEME REPAIR — FINAL OVERRIDE (consistency pass)
   ────────────────────────────────────────────────────────────────────────
   Page-scoped to the Events (.page-template-tpl-events) and Music
   (.page-template-tpl-music) templates only. Fills the remaining gaps where
   dark-theme chrome (white text on translucent-white surfaces) was left
   unstyled on the white-bg content area and became invisible/low-contrast:
   the Events timeline view, empty state, submit banner, and a few spacing /
   accessibility tidies. The earlier per-element white-bg rules above are kept
   as-is; this block only covers what they missed. Do NOT add page-global
   colour rules here — keep everything behind the page-template scope.
   ════════════════════════════════════════════════════════════════════════ */

/* ── EVENTS: timeline view (evt-*) on the white content area ───────────────
   Base rules (~L6336) paint these white-on-dark; on the white-bg events page
   they were invisible. Re-tone for a light surface, brand-red accents kept. */
.page-template-tpl-events .CENTRE.white-bg .evt-day-label {
  color:rgba(0,0,0,.55);
  border-bottom-color:rgba(0,0,0,.08);
}
.page-template-tpl-events .CENTRE.white-bg .evt-day-label.evt-today { color:#0c0c0e; }
.page-template-tpl-events .CENTRE.white-bg .evt-day-count {
  color:rgba(0,0,0,.45);
  background:rgba(0,0,0,.05);
}
.page-template-tpl-events .CENTRE.white-bg .evt-row { border-bottom-color:rgba(0,0,0,.07); }
.page-template-tpl-events .CENTRE.white-bg .evt-row:hover { background:rgba(0,0,0,.03); }
.page-template-tpl-events .CENTRE.white-bg .evt-row-time { color:rgba(0,0,0,.45); }
.page-template-tpl-events .CENTRE.white-bg .evt-row-title { color:#0c0c0e; }
.page-template-tpl-events .CENTRE.white-bg .evt-row-venue { color:rgba(0,0,0,.5); }
.page-template-tpl-events .CENTRE.white-bg .evt-row-price {
  color:rgba(0,0,0,.6);
  background:rgba(0,0,0,.06);
}
/* evt-row-tix and evt-row-cat already carry their own solid colour - leave. */

/* ── EVENTS: empty / no-results state on white (events lacked a light rule) ─ */
.page-template-tpl-events .CENTRE.white-bg .no-results { color:rgba(0,0,0,.5); }
.page-template-tpl-events .CENTRE.white-bg .no-results i { color:rgba(0,0,0,.2); }
.page-template-tpl-events .CENTRE.white-bg .no-results a { color:var(--dc-red); }

/* ── EVENTS: results-header "showing all" sub-label (was inline white) ────── */
.page-template-tpl-events .CENTRE.white-bg .erh-count-all { color:rgba(0,0,0,.5); }

/* ── EVENTS: submit banner — light surface so card + border read on white ── */
.page-template-tpl-events .CENTRE.white-bg .ev-submit-banner {
  background:#fafafa;
  border:1px solid rgba(0,0,0,.08);
  color:rgba(0,0,0,.7);
}
.page-template-tpl-events .CENTRE.white-bg .ev-submit-banner strong { color:#0c0c0e; }

/* ── EVENTS: spacing — let the dark masthead breathe into the white page ─── */
.page-template-tpl-events .ev-filter-advanced { padding-top:18px; }

/* ── EVENTS + MUSIC: respect reduced-motion for the card entrance / pulses ─ */
@media (prefers-reduced-motion: reduce) {
  .page-template-tpl-events .ev-card,
  .page-template-tpl-events .ev-tonight-pill,
  .page-template-tpl-events .ev-section-dot {
    animation:none !important;
    opacity:1 !important;
  }
}

/* ── EVENTS + MUSIC: tighter card grid gutters on small tablets / phones ─── */
@media (max-width:600px) {
  .page-template-tpl-events .ev-grid { gap:14px;padding:16px 14px 28px; }
  .page-template-tpl-music .hs-sub-grid { gap:10px; }
}
/* === END EVENTS + MUSIC LIGHT-THEME REPAIR === */

/* ════════════════════════════════════════════════════════════════════════
   EVENTS MOBILE TOUCH TARGETS — HQA-06 (FINAL OVERRIDE)
   ────────────────────────────────────────────────────────────────────────
   Restores WCAG-friendly touch targets on the Events page at mobile widths.
   Page-scoped to body.page-template-tpl-events ONLY — desktop appearance and
   every other hub are untouched. This block is intentionally LAST in source
   and uses !important so it beats the earlier mobile rules that defeated the
   target, specifically:
     - L6703-6705  .ev-card-ctas .btn-* { min-height:0 !important }
     - L12802 / L12834 / L12845  card CTAs min-height 30 / 26 / 24px
     - L6264  .efa-vb view buttons fixed at 32x32 with no mobile bump
   Primary controls (filters, search, view toggle, card info/ticket actions,
   hero CTAs, submit/load-more) get a >=44x44px target. Compact secondary
   chips (category pills, live-bar links) get >=24px height plus wider gaps so
   adjacent targets stay separable.
   ════════════════════════════════════════════════════════════════════════ */
@media (max-width:768px) {

  /* ── Primary filter inputs: full-height tap targets ─────────────────── */
  body.page-template-tpl-events .efa-sel,
  body.page-template-tpl-events .efa-date,
  body.page-template-tpl-events #mcr-budget-filter,
  body.page-template-tpl-events #mcr-price-sort {
    min-height:44px !important;
  }

  /* ── Filter Search / Clear buttons ──────────────────────────────────── */
  body.page-template-tpl-events .efa-row .btn-primary,
  body.page-template-tpl-events .efa-row .btn-ghost {
    min-height:44px !important;
    display:inline-flex;
    align-items:center;
  }

  /* ── View toggle (grid / list / timeline): square 44px targets ──────── */
  body.page-template-tpl-events .efa-view-btns { gap:8px; }
  body.page-template-tpl-events .efa-vb {
    width:44px !important;
    height:44px !important;
    font-size:.95rem;
  }

  /* ── Event card actions: More Info + Tickets reach the 44px target ──── */
  body.page-template-tpl-events .ev-card-ctas .btn-ghost-sm,
  body.page-template-tpl-events .ev-card-ctas .btn-primary-sm,
  body.page-template-tpl-events .ev-card-ctas .btn-tickets {
    min-height:44px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
    align-items:center;
  }

  /* ── Featured + clean hero CTAs ─────────────────────────────────────── */
  body.page-template-tpl-events .epm-ctas .btn-ghost,
  body.page-template-tpl-events .epm-ctas .btn-primary,
  body.page-template-tpl-events .epm-clean-btn-primary,
  body.page-template-tpl-events .epm-clean-btn-ghost {
    min-height:44px !important;
    display:inline-flex;
    align-items:center;
  }

  /* ── Results header submit + load-more + submit banner button ───────── */
  body.page-template-tpl-events .erh-submit,
  body.page-template-tpl-events .btn-load-more,
  body.page-template-tpl-events .ev-submit-banner .btn-primary {
    min-height:44px !important;
    display:inline-flex;
    align-items:center;
  }

  /* ── Timeline rows are whole-row links: guarantee a 44px tall target ── */
  body.page-template-tpl-events .evt-row { min-height:44px; }

  /* ── Compact secondary chips: >=24px tall + clear spacing so adjacent
        targets don't merge (WCAG 2.2 target-spacing exception) ────────── */
  body.page-template-tpl-events .efa-pills { gap:8px; }
  body.page-template-tpl-events .ev-pill {
    min-height:32px;
    display:inline-flex;
    align-items:center;
  }
  body.page-template-tpl-events .epm-live-bar .epm-lb-item {
    min-height:44px;
  }
}
/* === END EVENTS MOBILE TOUCH TARGETS === */
/* v12.10.10 - Mobile homepage WOT stabiliser.
   Keep the existing WOT design; only stop mobile overflow and cramped controls. */
@media (max-width: 900px) {
  html body.home .CENTRE,
  html body.home main.CENTRE {
    overflow-x: hidden !important;
  }

  html body.home section#WOT.WOT,
  html body.home section.WOT {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  html body.home section.WOT .wot-mapview {
    width: calc(100% - 16px) !important;
    height: clamp(220px, 58vw, 292px) !important;
    min-height: 220px !important;
    max-height: 292px !important;
    margin: 8px 8px 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  html body.home section.WOT .wot-mapview #mcrmap,
  html body.home section.WOT .wot-mapview .wot-map,
  html body.home section.WOT .wot-mapview .leaflet-container {
    width: 100% !important;
    height: 100% !important;
    min-height: 220px !important;
  }

  html body.home section.WOT .wot-week-strip,
  html body.home section.WOT .wot-filterbar {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  html body.home section.WOT .wot-week-strip::-webkit-scrollbar,
  html body.home section.WOT .wot-filterbar::-webkit-scrollbar {
    display: none !important;
  }

  html body.home section.WOT .wot-week-strip > *,
  html body.home section.WOT .wot-filterbar .wot-flt {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  html body.home section.WOT .wot-tg {
    order: 5 !important;
    width: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
  }

  html body.home section.WOT .wot-tg-row {
    overflow: hidden !important;
    max-width: 100% !important;
  }

  html body.home section.WOT .wot-tg-ev-row {
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  html body.home section.WOT .wot-tg-ev-row::-webkit-scrollbar {
    display: none !important;
  }

  html body.home section.WOT .wot-ev-pill {
    min-width: 158px !important;
    max-width: 220px !important;
    flex: 0 0 auto !important;
  }

  html body.home section.WOT .wot-ep-title {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* v12.10.12 - Mobile WOT/header emergency correction.
   Final EOF layer for live issues:
   - dark/light visible on left
   - map button visible on right, without a heavy nav minimap
   - WOT ticker stops animating on phones to remove lag
   - Your Night sits lower
   - map panel is centred */
@media (max-width:900px){
  html body #MOB-HEADER.mcr-nav-built{
    display:grid !important;
    grid-template-columns:minmax(92px,auto) 1fr 42px !important;
    align-items:center !important;
    gap:8px !important;
    height:56px !important;
    padding:0 10px !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left{
    grid-column:1 !important;
    order:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-self:start !important;
    margin:0 !important;
    min-width:92px !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left .wot-mode-switch{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    align-items:center !important;
    gap:0 !important;
    height:26px !important;
    padding:2px !important;
    margin:0 !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.14) !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left .wot-mode-opt{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:22px !important;
    min-height:22px !important;
    padding:0 8px !important;
    border:0 !important;
    border-radius:999px !important;
    background:transparent !important;
    color:rgba(255,255,255,.72) !important;
    font-size:10px !important;
    font-weight:800 !important;
    line-height:1 !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left .wot-mode-opt span{
    display:inline !important;
    color:inherit !important;
    font-size:10px !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mcr-nav-left .wot-mode-opt.is-on{
    background:#fff !important;
    color:#0b0b10 !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mob-hdr-logo{
    grid-column:2 !important;
    order:2 !important;
    position:static !important;
    transform:none !important;
    justify-self:center !important;
    margin:0 !important;
  }

  html body #MOB-HEADER.mcr-nav-built .mob-hdr-actions{
    grid-column:3 !important;
    order:3 !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    justify-self:end !important;
    width:42px !important;
    min-width:42px !important;
    margin:0 !important;
  }

  html body #MOB-HEADER.mcr-nav-built .wot-radar.wot-radar-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    margin:0 !important;
    border-radius:9px !important;
    border:1px solid rgba(255,255,255,.18) !important;
    background:#14141a !important;
    overflow:hidden !important;
    box-shadow:none !important;
  }

  html body #MOB-HEADER.mcr-nav-built .wot-radar .wot-radar-bg{
    width:18px !important;
    height:18px !important;
    border-radius:5px !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px),
      linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
      #20202a !important;
    background-size:7px 7px !important;
  }

  html body .WOT .wot-ticker-track,
  html body section.WOT .wot-ticker .wot-ticker-track,
  html body section#WOT .wot-ticker .wot-ticker-track{
    animation:none !important;
    padding-left:0 !important;
    will-change:auto !important;
  }

  html body .WOT .wot-ticker-viewport{
    overflow:hidden !important;
  }

  html body .plan-fab,
  html body #planFab.plan-fab{
    bottom:calc(58px + env(safe-area-inset-bottom)) !important;
    right:12px !important;
    z-index:820 !important;
  }

  html body.home section.WOT .wot-mapview,
  html body section.WOT .wot-mapview,
  html body .WOT .wot-mapview{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
  }

  html body.home section.WOT .wot-filterbar .wot-flt.on{
    opacity:1 !important;
    filter:none !important;
  }
}

/* v12.10.15 - Claude 6 mobile WOT second-pass fixes.
   Final authority: slow ticker, lower Your Night, centre map, remove mobile marker animation. */
@media (max-width:900px){
  html body .WOT .wot-ticker-track,
  html body section.WOT .wot-ticker .wot-ticker-track,
  html body section#WOT .wot-ticker .wot-ticker-track{
    animation:wotTickerScroll 1200s linear infinite !important;
    padding-left:100% !important;
    transform:none;
    will-change:auto !important;
  }

  html body .plan,
  html body #plan{
    bottom:0 !important;
    transform:translateY(calc(100% - 58px)) !important;
  }

  html body.plan-open .plan,
  html body.plan-open #plan{
    transform:translateY(0) !important;
  }

  html body.home .CENTRE{
    overflow-x:visible !important;
  }

  html body.home section.WOT{
    overflow-x:hidden !important;
  }

  html body .leaflet-marker-icon.mcr-now .pin-gem,
  html body .leaflet-marker-icon.happening-now .pin-gem{
    animation:none !important;
  }
}

/* v12.10.24 - mobile WOT simplification authority.
   Remove legacy planner/drawer overlap and keep the homepage map compact. */
@media (max-width:900px){
  html body #MOB-DRAWER{
    display:none !important;
  }

  html body,
  html body.mob-menu-open{
    overflow-x:hidden !important;
  }

  html body .plan-fab,
  html body #planFab,
  html body .plan,
  html body #plan{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  html body.home section.WOT,
  html body.home .WOT{
    overflow:hidden !important;
  }

  html body.home section.WOT .wot-mapview,
  html body.home .WOT .wot-mapview{
    width:100% !important;
    max-width:100% !important;
    min-height:clamp(300px,44dvh,420px) !important;
    height:clamp(300px,44dvh,420px) !important;
    margin:0 !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }

  html body.home section.WOT #wot-tg,
  html body.home .WOT #wot-tg{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }
}

/* v12.10.16 - Temporary mobile nav map removal.
   Keep the header simple: mode switch, centred logo, no map or menu button for now. */
@media (max-width:900px){
  html body #MOB-HEADER .wot-radar-nav,
  html body #MOB-HEADER .wot-radar{
    display:none !important;
  }

  html body.mob-menu-open{
    overflow:hidden !important;
    touch-action:none !important;
  }

  html body .plan{
    z-index:825 !important;
  }

  html body .plan-fab,
  html body #planFab{
    z-index:820 !important;
  }

  html body.plan-open .plan{
    z-index:9500 !important;
  }
}

/* v12.10.18 - Final mobile authority after user device QA. */
@media (max-width:900px){
  html,
  body,
  html body #WRAP,
  html body .CENTRE{
    max-width:100% !important;
    overflow-x:clip !important;
  }

  html body #MOB-HEADER.mcr-nav-built{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    position:fixed !important;
  }

  html body #MOB-HEADER .mcr-nav-left{
    display:flex !important;
    position:absolute !important;
    left:8px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    visibility:visible !important;
    opacity:1 !important;
    z-index:3 !important;
  }

  html body #MOB-HEADER .wot-mode-switch{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    transform:none !important;
  }

  html body #MOB-HEADER .mob-hdr-logo{
    display:flex !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    z-index:2 !important;
  }

  html body #MOB-HEADER .mob-hdr-actions,
  html body #MOB-HEADER .wot-radar,
  html body #MOB-HEADER .wot-radar-nav,
  html body #MOB-HEADER .wot-radar-mini,
  html body #MOB-HEADER .wot-nav-map,
  html body #MOB-HEADER .leaflet-container{
    display:none !important;
  }

  html body.home section.WOT{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow-x:clip !important;
  }

  html body.home section.WOT .wot-mapview,
  html body section.WOT .wot-mapview,
  html body .WOT .wot-mapview{
    box-sizing:border-box !important;
    width:calc(100% - 16px) !important;
    max-width:calc(100% - 16px) !important;
    margin-left:8px !important;
    margin-right:8px !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
  }

  html body .WOT .wot-mapview #mcrmap,
  html body .WOT .wot-mapview .wot-map,
  html body .WOT .wot-mapview .leaflet-container{
    width:100% !important;
    max-width:100% !important;
    left:0 !important;
    right:0 !important;
  }

  html body .WOT .wot-ticker-track,
  html body section.WOT .wot-ticker .wot-ticker-track,
  html body section#WOT .wot-ticker .wot-ticker-track{
    animation-duration:2400s !important;
    animation-timing-function:linear !important;
    will-change:transform !important;
  }

  html body .WOT .wot-live-dot,
  html body .WOT .wot-mini-dot{
    animation:none !important;
  }

  html body .tk-inner{
    animation-duration:240s !important;
    animation-timing-function:linear !important;
    will-change:transform !important;
  }
}

/* v12.10.19 - Phone QA: clean nav edge and dock theme switch right. */
@media (max-width:900px){
  html body #MOB-HEADER::after{
    content:none !important;
    display:none !important;
  }

  html body #MOB-HEADER .mcr-nav-left{
    left:auto !important;
    right:8px !important;
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
  }

  html body #MOB-HEADER .wot-mode-switch{
    position:static !important;
    margin:0 !important;
  }
}

/* v12.10.21 - Phone QA: real bottom nav + unobtrusive drawer handle. */

/* v12.10.22 - Founder QA: remove old cheap mobile footer tab bar.
   Keep drawer + Plan Your Night; kill the legacy 5-icon footer nav. */
@media(max-width:900px){
  html body #WRAP{padding-bottom:0 !important;}
}
@media (max-width:900px){

  html body #WRAP{
    padding-bottom:0 !important;
  }
}

/* v12.10.23 - Founder QA: one clean mobile shell.
   Remove stray grey seams/peeks and let homepage WOT use the full phone canvas. */
@media (max-width:900px){
  html body #MOB-HEADER{
    border-bottom:none !important;
    box-shadow:none !important;
  }

  html body #MOB-HEADER::after{
    display:none !important;
    content:none !important;
  }

  html body.home,
  html body.home #WRAP,
  html body.home .BODY,
  html body.home main.CENTRE,
  html body.home section.WOT{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  html body.home #WRAP{
    padding-top:56px !important;
    overflow-x:hidden !important;
  }

  html body.home .BODY,
  html body.home main.CENTRE,
  html body.home section.WOT{
    padding-top:0 !important;
  }

  html body.home section.WOT .wot-mapview,
  html body.home .WOT .wot-mapview{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    left:auto !important;
    right:auto !important;
    border-radius:0 !important;
  }
}

/* v12.10.25 — Founder QA: nav black, logo +25%, ticker gone, grey music box gone,
   Pokemon expand card, compact grid pills, bold white time labels, tiny dark mode switch. */

/* 1. Nav solidly black on mobile regardless of light/dark mode */
@media (max-width:900px){
  html body #MOB-HEADER{
    background:#000 !important;
  }
}

/* 2. Logo 25% bigger (52 -> 65px) */
@media (max-width:900px){
  html body .mob-hdr-logo img{
    width:65px !important;
    height:65px !important;
  }
  html body #MOB-HEADER{
    height:64px !important;
  }
  html body.home #WRAP{
    padding-top:64px !important;
  }
}

/* 3. Ticker removed on mobile — lags on device */
@media (max-width:900px){
  html body .WOT .wot-ticker,
  html body section.WOT .wot-ticker{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    border:none !important;
  }
}

/* 4. Kill white "All" pill — it makes the filterbar look like a light grey box.
   Also keep filterbar black even if wot-light mode is toggled. */
html body .WOT .wot-flt[data-cat="all"].on{
  background:rgba(255,255,255,.13) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  color:#fff !important;
  box-shadow:none !important;
}
@media (max-width:900px){
  html body section.WOT .wot-filterbar,
  html body section.WOT.wot-light .wot-filterbar{
    background:#000 !important;
    border-top:1px solid rgba(255,255,255,.06) !important;
    border-bottom:1px solid rgba(255,255,255,.06) !important;
  }
}

/* 5. WOT grid expand card — Pokemon portrait card on mobile */
@media (max-width:900px){
  html body .wot-expand-inner{
    display:flex !important;
    flex-direction:column !important;
    padding:0 !important;
    gap:0 !important;
    border-left:none !important;
    border-top:4px solid var(--ec,#888) !important;
    border-radius:0 !important;
    background:linear-gradient(180deg,
      color-mix(in srgb,var(--ec,#888) 18%,#0f0f14) 0%,
      #111116 100%) !important;
  }
  html body .wot-expand-img{
    width:100% !important;
    height:120px !important;
    max-height:120px !important;
    border-radius:0 !important;
    grid-column:unset !important;
    grid-row:unset !important;
  }
  html body .wot-expand-img img{
    border-radius:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  html body .wot-expand-left{
    grid-column:unset !important;
    grid-row:unset !important;
    padding:10px 14px 4px !important;
    min-width:0 !important;
    width:100% !important;
  }
  html body .wot-expand-badge{
    display:inline-flex !important;
    font-size:.38rem !important;
    padding:3px 8px !important;
    border-radius:4px !important;
    background:var(--ec,#888) !important;
    color:#fff !important;
    font-weight:900 !important;
    letter-spacing:.1em !important;
    text-transform:uppercase !important;
    margin-bottom:6px !important;
  }
  html body .wot-expand-title{
    font-size:.95rem !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
    line-height:1.15 !important;
    margin-bottom:6px !important;
    color:#fff !important;
  }
  html body .wot-expand-meta{
    font-size:.56rem !important;
    gap:10px !important;
    margin-bottom:6px !important;
    color:rgba(255,255,255,.55) !important;
  }
  html body .wot-expand-desc{
    font-size:.56rem !important;
    color:rgba(255,255,255,.42) !important;
    -webkit-line-clamp:2 !important;
    margin-bottom:4px !important;
  }
  html body .wot-expand-btn{
    grid-column:unset !important;
    grid-row:unset !important;
    margin:10px 14px 14px !important;
    align-self:flex-start !important;
    padding:8px 20px !important;
    font-size:.54rem !important;
    border-radius:8px !important;
    background:transparent !important;
    border:1.5px solid var(--ec,#888) !important;
    color:#fff !important;
    justify-self:unset !important;
  }
}

/* 6. WOT grid pills — 3-across portrait collectible cards on mobile */
@media (max-width:900px){
  html body section.WOT .wot-tg-ev-row{
    flex-wrap:wrap !important;
    overflow-x:hidden !important;
    overflow-y:visible !important;
    gap:5px !important;
    padding:5px 6px 6px !important;
    align-items:stretch !important;
  }
  html body section.WOT .wot-ev-pill{
    flex-shrink:0 !important;
    flex-grow:0 !important;
    min-width:calc(33.33% - 4px) !important;
    max-width:calc(33.33% - 4px) !important;
    min-height:76px !important;
    height:auto !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    padding:0 !important;
    border-radius:8px !important;
    position:relative !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-left:none !important;
    background:rgba(255,255,255,.04) !important;
    box-shadow:none !important;
    gap:0 !important;
  }
  /* Category colour stripe at top */
  html body section.WOT .wot-ev-pill::before{
    content:'' !important;
    display:block !important;
    position:absolute !important;
    top:0 !important; left:0 !important; right:0 !important;
    height:3px !important;
    background:var(--ec,#888) !important;
    opacity:1 !important;
    z-index:2 !important;
  }
  html body section.WOT .wot-ev-pill .wot-ep-title,
  html body section.WOT .wot-ev-pill .wot-ep-link{
    font-size:.58rem !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    padding:8px 6px 2px !important;
    margin:0 !important;
    color:#fff !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    width:100% !important;
    position:relative !important;
    z-index:1 !important;
    pointer-events:none !important;
  }
  html body section.WOT .wot-ev-pill .wot-ep-sub{
    font-size:.45rem !important;
    color:rgba(255,255,255,.48) !important;
    padding:0 6px 5px !important;
    margin:0 !important;
    width:100% !important;
    position:relative !important;
    z-index:1 !important;
    display:block !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
  }
  html body section.WOT .wot-ev-pill .wot-ep-add{
    position:absolute !important;
    bottom:4px !important;
    right:4px !important;
    width:16px !important;
    height:16px !important;
    font-size:.55rem !important;
    padding:0 !important;
    z-index:3 !important;
  }
  html body section.WOT .wot-tg-row{
    min-height:auto !important;
  }
}

/* 7. Time labels — bold and near-white */
@media (max-width:900px){
  html body .WOT .wot-tg-time,
  html body .WOT:not(.wot-light) .wot-tg-time{
    font-weight:800 !important;
    color:rgba(255,255,255,.88) !important;
    font-size:.52rem !important;
    width:36px !important;
    padding:8px 4px 8px 8px !important;
  }
  html body .WOT:not(.wot-light) .wot-tg-row.wot-past .wot-tg-time{
    color:rgba(255,255,255,.22) !important;
  }
  html body .WOT:not(.wot-light) .wot-tg-row.wot-now .wot-tg-time{
    color:#fff !important;
    font-weight:900 !important;
  }
}

/* 8. Light/dark mode switch — smaller, very dark grey */
@media (max-width:900px){
  html body #MOB-HEADER .wot-mode-switch,
  html body #MOB-HEADER .mcr-nav-left .wot-mode-switch{
    height:22px !important;
    min-height:22px !important;
    padding:2px !important;
    background:rgba(6,6,10,.95) !important;
    border:1px solid rgba(255,255,255,.1) !important;
    gap:0 !important;
    border-radius:999px !important;
  }
  html body #MOB-HEADER .wot-mode-opt,
  html body #MOB-HEADER .mcr-nav-left .wot-mode-opt{
    height:18px !important;
    min-height:18px !important;
    padding:0 7px !important;
    font-size:8.5px !important;
    font-weight:700 !important;
    color:rgba(255,255,255,.45) !important;
    border-radius:999px !important;
    background:transparent !important;
    border:none !important;
  }
  html body #MOB-HEADER .wot-mode-opt.is-on,
  html body #MOB-HEADER .mcr-nav-left .wot-mode-opt.is-on{
    background:rgba(28,28,36,.98) !important;
    color:rgba(255,255,255,.82) !important;
    border:1px solid rgba(255,255,255,.1) !important;
  }
}

/* ==========================================================================
   FOUNDER MOBILE HOMEPAGE CORRECTION — 2026-06-29
   This sits at EOF because older emergency mobile blocks above were still
   beating footer.php and causing the phone to show the wrong nav/drawer/WOT.
   ========================================================================== */
@media (max-width:900px){
  /* 1) Mobile nav must be black, full stop. */
  html body #MOB-HEADER,
  html body #MOB-HEADER.mcr-nav-built,
  html body header#MOB-HEADER,
  html body .mob-header,
  html body .mobile-header,
  html body .mcr-mobile-header{
    background:#000 !important;
    background-color:#000 !important;
    background-image:none !important;
    border:0 !important;
    border-bottom:0 !important;
    box-shadow:none !important;
  }
  html body #MOB-HEADER::before,
  html body #MOB-HEADER::after{
    display:none !important;
    content:none !important;
    background:none !important;
  }
  html body #MOB-HEADER,
  html body #MOB-HEADER.mcr-nav-built{
    border-bottom:0 !important;
    outline:0 !important;
  }
  html body #MOB-HEADER .mob-hdr-logo,
  html body #MOB-HEADER .mob-hdr-logo img{
    background:#000 !important;
    box-shadow:none !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
  }

  /* 2) WOT category controls: compact footer-area-button style. */
  html body.home #WOT .mcr-map-v2-dock .wot-filterbar,
  html body.home section.WOT .mcr-map-v2-dock .wot-filterbar{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:4px !important;
    height:auto !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  html body.home #WOT .wot-filterbar .wot-flt,
  html body.home section.WOT .wot-filterbar .wot-flt{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    height:24px !important;
    min-height:24px !important;
    padding:0 6px !important;
    border-radius:6px !important;
    font-size:9.5px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    background:#101114 !important;
    border:1px solid rgba(255,255,255,.08) !important;
    color:rgba(255,255,255,.52) !important;
    box-shadow:none !important;
  }
  html body.home #WOT .wot-filterbar .wot-flt .wot-flt-dot{display:none !important}
  html body.home #WOT .wot-filterbar .wot-flt[data-cat="all"]{display:none !important}
  html body.home #WOT .wot-filterbar .wot-flt.on{
    background:#101114 !important;
    border-color:var(--wot-cat,#08b8c8) !important;
    color:#fff !important;
    box-shadow:inset 0 0 0 1px var(--wot-cat,#08b8c8) !important;
  }
  html body.home #WOT .wot-filterbar .wot-flt[data-cat="music"]{--wot-cat:#E8201A}
  html body.home #WOT .wot-filterbar .wot-flt[data-cat="sport"]{--wot-cat:#1A56FF}
  html body.home #WOT .wot-filterbar .wot-flt[data-cat="food"]{--wot-cat:#2DB54B}
  html body.home #WOT .wot-filterbar .wot-flt[data-cat="nightlife"]{--wot-cat:#FF6B00}
  html body.home #WOT .wot-filterbar .wot-flt[data-cat="culture"]{--wot-cat:#7C3AED}
  html body.home #WOT .wot-filterbar .wot-flt[data-cat="family"]{--wot-cat:#F5C400}

  /* 3) Current WOT map: keep working Leaflet live map, give it a deeper angled shell.
        Full Cesium/3D map remains separate route work, not faked here. */
  html body.home #WOT .wot-mapview,
  html body.home section.WOT .wot-mapview{
    position:relative !important;
    margin:4px 8px 8px !important;
    width:calc(100% - 16px) !important;
    max-width:calc(100% - 16px) !important;
    transform:perspective(900px) rotateX(2deg) !important;
    transform-origin:center top !important;
    border-radius:14px !important;
    box-shadow:0 18px 42px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.06) !important;
    overflow:hidden !important;
  }
  html body .plan-fab,
  html body #planFab.plan-fab{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    right:12px !important;
    bottom:calc(98px + env(safe-area-inset-bottom,0px)) !important;
    z-index:100130 !important;
  }
  html body .plan{
    display:block !important;
    visibility:visible !important;
    z-index:100100 !important;
  }

  /* 5) Restore older/classic WOT dropdown feel, not the newer portrait cards. */
  html body.home #WOT .wot-drawer,
  html body.home section.WOT .wot-drawer{
    margin:6px 8px !important;
    padding:0 !important;
    border-radius:12px !important;
    background:#0d0e13 !important;
    border:1px solid rgba(255,255,255,.09) !important;
    box-shadow:0 8px 22px rgba(0,0,0,.42) !important;
  }
  html body.home #WOT .wot-dr-inner,
  html body.home section.WOT .wot-dr-inner{
    display:grid !important;
    grid-template-columns:104px minmax(0,1fr) !important;
    gap:9px !important;
    margin:0 !important;
    padding:9px !important;
    border:1px solid color-mix(in srgb,var(--ec,#E8201A) 36%,rgba(255,255,255,.08)) !important;
    border-radius:12px !important;
    background:#111218 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px rgba(0,0,0,.34) !important;
  }
  html body.home #WOT .wot-dr-img,
  html body.home section.WOT .wot-dr-img{
    grid-column:1 !important;
    width:104px !important;
    height:118px !important;
    min-height:0 !important;
    border-radius:9px !important;
  }
  html body.home #WOT .wot-dr-content,
  html body.home section.WOT .wot-dr-content{
    grid-column:2 !important;
    min-width:0 !important;
  }
  html body.home #WOT .wot-expand-inner{
    display:grid !important;
    grid-template-columns:104px minmax(0,1fr) !important;
    gap:9px !important;
    padding:9px !important;
    border-top:0 !important;
    border-left:2px solid var(--ec,#888) !important;
    border-radius:12px !important;
    background:#111218 !important;
  }
  html body.home #WOT .wot-expand-img{
    width:104px !important;
    height:118px !important;
    max-height:118px !important;
    border-radius:9px !important;
  }

  /* 6) Homepage mobile dark text/grey box fixes. */
  html body.home .news-section-mob,
  html body.home .news-section-mob .SH,
  html body.home .news-section-mob .NEWS-STRIP,
  html body.home .CARDS{
    background:#0c0c0e !important;
  }
  html body.home .news-section-mob .sh-title,
  html body.home .news-section-mob h2.sh-title,
  html body.home .news-section-mob .ns-title,
  html body.home .SH .sh-title,
  html body.home h2.sh-title,
  html body.home .SC .sc-title{
    color:#fff !important;
  }
  html body.home .news-section-mob .sh-eyebrow,
  html body.home .SC .sc-cat{
    color:rgba(255,255,255,.78) !important;
  }
  html body.home .news-section-mob .ns-meta,
  html body.home .SC .sc-meta{
    color:rgba(255,255,255,.58) !important;
  }
  html body.home .news-section-mob .ns-card-body,
  html body.home .SC .sc-body{
    background:#17181d !important;
    border-color:rgba(255,255,255,.08) !important;
    box-shadow:none !important;
  }
}
/* === SPORT HUB V2 FINAL OVERRIDE 2026-07-01 ============================= */
.sport-hub-v2 {
  --sport:#1A56FF;
  --ink:#0a0a0b;
  --ink-2:#3a3d44;
  --muted:#71757e;
  --line:#e7e9ee;
  --bg-soft:#f7f8fa;
  --live:#15c26b;
}
.sport-hub-v2 .CENTRE { background:#fff !important; color:var(--ink) !important; }
.sport-hub-v2 .hub-subnav {
  position:sticky; top:0; z-index:80;
  display:flex; align-items:center; gap:6px;
  padding:10px 26px;
  overflow-x:auto; scrollbar-width:none;
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line) !important;
}
.sport-hub-v2 .hub-subnav::-webkit-scrollbar { display:none; }
.sport-hub-v2 .hub-subnav a {
  flex:0 0 auto;
  padding:7px 12px;
  border-radius:9px;
  color:var(--ink-2) !important;
  background:transparent !important;
  border:0 !important;
  font-weight:800;
  font-size:.84rem;
  text-decoration:none !important;
  white-space:nowrap;
}
.sport-hub-v2 .hub-subnav a.on,
.sport-hub-v2 .hub-subnav a:hover { background:var(--bg-soft) !important; color:var(--ink) !important; }
.sport-hub-v2 .hub-subnav .live-flag {
  margin-left:auto;
  display:inline-flex; align-items:center; gap:6px;
  font-size:.72rem; font-weight:900;
  color:var(--live);
  letter-spacing:.06em; text-transform:uppercase;
  white-space:nowrap;
}
.sport-hub-v2 .hub-subnav .dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--live);
  animation:sportHubBlink 1.1s infinite;
}
@keyframes sportHubBlink { 50% { opacity:.25; } }
.sport-hub-v2 .crumb.hs-breadcrumb {
  padding:16px 26px 0 !important;
  margin:0 !important;
  background:#fff !important;
  color:var(--muted) !important;
  font-size:.8rem;
  text-shadow:none !important;
}
.sport-hub-v2 .crumb.hs-breadcrumb a { color:var(--sport) !important; font-weight:800; text-shadow:none !important; }
.sport-hub-v2 .sport-v2-hero {
  position:relative;
  margin:18px 26px 0;
  min-height:390px;
  border-radius:24px;
  overflow:hidden;
  background:#0a0e1f;
  color:#fff;
  box-shadow:0 2px 4px rgba(10,12,19,.04),0 12px 30px rgba(10,12,19,.08);
}
.sport-hub-v2 .sport-v2-hero-bg {
  position:absolute; inset:0;
  background:center/cover no-repeat;
  z-index:0;
}
.sport-hub-v2 .sport-v2-hero::after {
  content:"";
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(120deg,rgba(10,14,31,.93),rgba(16,32,79,.72) 55%,rgba(26,86,255,.42) 130%),
    radial-gradient(700px 300px at 6% 120%,rgba(218,41,28,.34),transparent 55%);
}
.sport-hub-v2 .sport-v2-hero-in {
  position:relative; z-index:2;
  padding:46px 40px;
  max-width:780px;
}
.sport-hub-v2 .sport-v2-hero .eyebrow,
.sport-hub-v2 .eyebrow {
  font-weight:900;
  font-size:.72rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#9ec5ff !important;
}
.sport-hub-v2 .sport-v2-hero h1 {
  margin:12px 0;
  max-width:17ch;
  color:#fff !important;
  font-size:clamp(2rem,4.2vw,3.4rem);
  line-height:1.02;
  font-weight:950;
  letter-spacing:0;
  text-shadow:none !important;
}
.sport-hub-v2 .sport-v2-hero h1 span {
  background:linear-gradient(90deg,#9ec5ff,#fff);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.sport-hub-v2 .sport-v2-hero p {
  max-width:62ch;
  margin:0 0 22px;
  color:#c7d2ea !important;
  font-size:1.06rem;
  line-height:1.55;
  text-shadow:none !important;
}
.sport-hub-v2 .hero-pills { display:flex; flex-wrap:wrap; gap:9px; }
.sport-hub-v2 .pill,
.sport-hub-v2 .hero-pills a {
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 15px;
  border-radius:999px;
  font-weight:800;
  font-size:.84rem;
  text-decoration:none !important;
  white-space:nowrap;
}
.sport-hub-v2 .hero-pills a {
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  color:#fff !important;
}
.sport-hub-v2 .hero-pills a:hover { background:rgba(255,255,255,.20) !important; }
.sport-hub-v2 .stats {
  display:flex; flex-wrap:wrap; gap:26px;
  margin-top:26px;
}
.sport-hub-v2 .stat .n {
  color:#fff !important;
  font-weight:950;
  font-size:1.7rem;
  line-height:1;
}
.sport-hub-v2 .stat .l {
  margin-top:4px;
  color:#9fb0d0 !important;
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.sport-hub-v2 .follow {
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  margin:22px 26px 0;
  padding:14px 18px;
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:16px;
}
.sport-hub-v2 .follow .lab {
  display:flex; align-items:center; gap:8px;
  color:var(--ink);
  font-weight:900;
}
.sport-hub-v2 .follow .lab i { color:var(--sport); }
.sport-hub-v2 .follow .teams { display:flex; gap:8px; flex-wrap:wrap; }
.sport-hub-v2 .fchip {
  display:inline-flex; align-items:center; gap:7px;
  padding:5px 12px 5px 5px;
  border:1px solid var(--line) !important;
  border-radius:999px;
  background:#fff !important;
  color:var(--ink) !important;
  font-weight:800;
  font-size:.8rem;
  text-decoration:none !important;
}
.sport-hub-v2 .fchip.on { background:var(--sport) !important; color:#fff !important; border-color:var(--sport) !important; }
.sport-hub-v2 .fchip .c {
  width:22px; height:22px; border-radius:50%;
  display:grid; place-items:center;
  color:#fff; font-size:.55rem; font-weight:950;
}
.sport-hub-v2 .follow .hint { margin-left:auto; color:var(--muted); font-size:.76rem; }
.sport-hub-v2 .hood-content {
  max-width:none !important;
  padding:0 26px 48px !important;
}
.sport-hub-v2 .hood-content > section,
.sport-hub-v2 .hs-two-col {
  max-width:1140px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.sport-hub-v2 .hs-take {
  margin-top:34px !important;
  padding:0 0 26px !important;
}
.sport-hub-v2 .hs-take-inner { max-width:900px; }
.sport-hub-v2 .hs-take-body {
  color:var(--ink) !important;
  font-size:1.02rem !important;
  line-height:1.65 !important;
}
.sport-hub-v2 .hs-stats-bar { display:none !important; }
.sport-hub-v2 .hs-subnav { display:none !important; }
.sport-hub-v2 .cat-section-head,
.sport-hub-v2 .sec-head {
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px;
  margin:0 0 18px;
}
.sport-hub-v2 .csh-eyebrow { color:var(--sport) !important; font-size:.72rem; letter-spacing:.13em; font-weight:900; }
.sport-hub-v2 .csh-title { color:var(--ink) !important; font-size:1.55rem !important; line-height:1.1; font-weight:950; }
.sport-hub-v2 .hs-play-section,
.sport-hub-v2 .hs-clubs-section,
.sport-hub-v2 .hs-parkrun-section,
.sport-hub-v2 .hs-routes-section,
.sport-hub-v2 .hs-tonight,
.sport-hub-v2 .hs-watch,
.sport-hub-v2 .hs-venues,
.sport-hub-v2 .hs-stories,
.sport-hub-v2 .hs-subsections,
.sport-hub-v2 .hs-nearby,
.sport-hub-v2 .hs-map {
  padding:42px 0 !important;
  border:0 !important;
}
.sport-hub-v2 .hs-play-grid,
.sport-hub-v2 .hs-club-grid,
.sport-hub-v2 .hs-route-grid,
.sport-hub-v2 .hs-venue-grid,
.sport-hub-v2 .hs-stories-list {
  gap:15px !important;
}
.sport-hub-v2 .hs-act-card,
.sport-hub-v2 .hs-club-card,
.sport-hub-v2 .hs-pr-card,
.sport-hub-v2 .hs-route-card,
.sport-hub-v2 .hs-ev-card,
.sport-hub-v2 .hs-venue-card,
.sport-hub-v2 .hs-story-card {
  border:1px solid var(--line) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 2px 4px rgba(10,12,19,.04),0 12px 30px rgba(10,12,19,.06) !important;
  color:var(--ink) !important;
  overflow:hidden;
}
.sport-hub-v2 .hs-act-card:hover,
.sport-hub-v2 .hs-club-card:hover,
.sport-hub-v2 .hs-pr-card:hover,
.sport-hub-v2 .hs-route-card:hover,
.sport-hub-v2 .hs-ev-card:hover,
.sport-hub-v2 .hs-venue-card:hover,
.sport-hub-v2 .hs-story-card:hover {
  transform:translateY(-3px);
  box-shadow:0 8px 26px rgba(10,12,19,.12) !important;
}
.sport-hub-v2 .hs-act-thumb,
.sport-hub-v2 .hs-club-img,
.sport-hub-v2 .hs-pr-img,
.sport-hub-v2 .hs-route-img,
.sport-hub-v2 .hs-ev-thumb,
.sport-hub-v2 .hs-vc-img,
.sport-hub-v2 .hs-story-img {
  background:#eef2f7 !important;
}
.sport-hub-v2 .hs-act-thumb img,
.sport-hub-v2 .hs-club-img img,
.sport-hub-v2 .hs-pr-img img,
.sport-hub-v2 .hs-route-img img,
.sport-hub-v2 .hs-ev-thumb img,
.sport-hub-v2 .hs-vc-img img,
.sport-hub-v2 .hs-story-img img {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(1.08) contrast(1.03) !important;
}
.sport-hub-v2 .hs-act-title a,
.sport-hub-v2 .hs-club-title a,
.sport-hub-v2 .hs-pr-title a,
.sport-hub-v2 .hs-route-title a,
.sport-hub-v2 .hs-ev-title a,
.sport-hub-v2 .hs-vc-name a {
  color:var(--ink) !important;
}
.sport-hub-v2 .hs-act-title a:hover,
.sport-hub-v2 .hs-club-title a:hover,
.sport-hub-v2 .hs-pr-title a:hover,
.sport-hub-v2 .hs-route-title a:hover,
.sport-hub-v2 .hs-ev-title a:hover,
.sport-hub-v2 .hs-vc-name a:hover {
  color:var(--sport) !important;
}
.sport-hub-v2 .hs-act-excerpt,
.sport-hub-v2 .hs-route-excerpt,
.sport-hub-v2 .hs-club-meta,
.sport-hub-v2 .hs-pr-area,
.sport-hub-v2 .hs-route-meta,
.sport-hub-v2 .hs-story-exc,
.sport-hub-v2 .hs-story-meta,
.sport-hub-v2 .hs-ev-venue,
.sport-hub-v2 .hs-ev-meta {
  color:var(--muted) !important;
}
.sport-hub-v2 .hs-club-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.sport-hub-v2 .hs-parkrun-rail {
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;
}
.sport-hub-v2 .hs-two-col {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.62fr) !important;
  gap:24px !important;
  align-items:start !important;
}
.sport-hub-v2 .hs-two-col--vs,
.sport-hub-v2 .hs-two-col--mn {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
}
.sport-hub-v2 .hs-footer-links {
  max-width:1140px !important;
  margin:0 auto !important;
  padding:24px 0 48px !important;
}
@media (max-width:1000px) {
  .sport-hub-v2 .hs-two-col,
  .sport-hub-v2 .hs-two-col--vs,
  .sport-hub-v2 .hs-two-col--mn,
  .sport-hub-v2 .hs-club-grid { grid-template-columns:1fr !important; }
}
@media (max-width:700px) {
  .sport-hub-v2 .hub-subnav { padding:9px 14px; }
  .sport-hub-v2 .hub-subnav .live-flag { display:none; }
  .sport-hub-v2 .sport-v2-hero { margin:12px 14px 0; min-height:0; border-radius:18px; }
  .sport-hub-v2 .sport-v2-hero-in { padding:32px 22px; }
  .sport-hub-v2 .sport-v2-hero h1 { font-size:2rem; }
  .sport-hub-v2 .follow { margin:14px 14px 0; }
  .sport-hub-v2 .follow .hint { margin-left:0; width:100%; }
  .sport-hub-v2 .hood-content { padding:0 14px 40px !important; }
  .sport-hub-v2 .hs-play-grid,
  .sport-hub-v2 .hs-club-grid,
  .sport-hub-v2 .hs-route-grid,
  .sport-hub-v2 .hs-parkrun-rail { grid-template-columns:1fr !important; }
}
/* === END SPORT HUB V2 FINAL OVERRIDE ==================================== */

/* CEO1 2026-07-01: mobile WOT split must show both map and grid. */
@media (max-width:900px) {
html body.home.wot-split-mini .WOT:not(.map-on) .wot-mapview,
html body.home.wot-split-mini section.WOT:not(.map-on) .wot-mapview,
html body.home.wot-split-mini #WOT:not(.map-on) .wot-mapview,
html body.home.wot-split-mini .WOT .wot-mapview,
html body.home.wot-split-mini section.WOT .wot-mapview,
html body.home.wot-split-mini #WOT .wot-mapview {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    min-height:240px !important;
    height:42vh !important;
    max-height:360px !important;
  }
}

/* v13.0.2 - WOT main block white while shell/sidebar stays dark */
html body.home .WOT,
html body.home section.WOT,
html body.home #WOT{
  background:#ffffff !important;
  border-radius:18px !important;
  box-shadow:0 18px 46px rgba(10,12,19,.08) !important;
}
html body.home .WOT::before,
html body.home section.WOT::before,
html body.home #WOT::before{
  opacity:0 !important;
}
html body.home .WOT .wot-ticker,
html body.home .WOT .wot-mapview,
html body.home .WOT .wot-tg,
html body.home .WOT .wot-filterbar,
html body.home .WOT .wot-week-strip{
  margin-left:16px !important;
  margin-right:16px !important;
}
html body.home .WOT .wot-ticker{
  margin-top:16px !important;
  border-radius:12px !important;
}
html body.home .WOT .wot-tg{
  margin-bottom:16px !important;
}
html body.home .WOT .wot-ticker,
html body.home .WOT .wot-mapview,
html body.home .WOT .wot-tg,
html body.home .WOT .wot-filterbar,
html body.home .WOT .wot-week-strip{
  background:#0c0c0e !important;
}
html body.home .WOT .wot-mapview,
html body.home .WOT .wot-tg{
  box-shadow:0 0 0 1px rgba(255,255,255,.92) !important;
  border-radius:18px !important;
}
html body.home.wot-split .WOT .wot-mapview,
html body.home.wot-split .WOT .wot-tg,
html body.home .WOT.wot-view-map .wot-mapview,
html body.home .WOT.wot-view-grid .wot-tg{
  box-shadow:0 0 0 1px rgba(255,255,255,.92) !important;
}
html body.home .WOT .wot-mapview{
  border-bottom-left-radius:0 !important;
  border-bottom-right-radius:0 !important;
}
html body.home .WOT .wot-tg{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top-left-radius:0 !important;
  border-top-right-radius:0 !important;
  border-top:1px solid rgba(255,255,255,.92) !important;
}
html body.home .WOT #mcrmap,
html body.home .WOT .leaflet-container{
  background:#0c0c0e !important;
}
html body.home .WOT #mcrmap .leaflet-tile-pane,
html body.home .WOT #mcrmap .leaflet-tile{
  filter:invert(1) hue-rotate(180deg) brightness(.82) contrast(1.04) saturate(.72) !important;
}
@media (max-width:900px){
  html body.home .WOT,
  html body.home section.WOT,
  html body.home #WOT{
    border-radius:16px !important;
  }
  html body.home .WOT .wot-ticker,
  html body.home .WOT .wot-mapview,
  html body.home .WOT .wot-tg,
  html body.home .WOT .wot-filterbar,
  html body.home .WOT .wot-week-strip{
    margin-left:10px !important;
    margin-right:10px !important;
  }
  html body.home .WOT .wot-ticker{
    margin-top:10px !important;
  }
  html body.home.wot-split-mini .WOT .wot-mapview{
    box-shadow:0 10px 24px rgba(0,0,0,.16) !important;
  }
  html body.home .WOT .wot-mapview,
  html body.home .WOT .wot-tg{
    border-radius:14px !important;
  }
  html body.home .WOT .wot-mapview{
    border-bottom-left-radius:0 !important;
    border-bottom-right-radius:0 !important;
  }
  html body.home .WOT .wot-tg{
    border-top-left-radius:0 !important;
    border-top-right-radius:0 !important;
  }
}

/* v13.1.3 - nav logo is a plain asset, no generated glow or 3D effects */
.SB .sb-logo-slot a,
html body #MOB-HEADER .mob-hdr-logo,
.new-home-logo {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:visible !important;
}

.SB .sb-logo-slot a::before,
.SB .sb-logo-slot a::after,
html body #MOB-HEADER .mob-hdr-logo::before,
html body #MOB-HEADER .mob-hdr-logo::after,
.new-home-logo::before,
.new-home-logo::after {
  content:none !important;
  display:none !important;
}

.SB .sb-logo-img,
html body #MOB-HEADER .mob-hdr-logo img,
.new-home-logo img,
.SB .sb-logo-slot a:hover .sb-logo-img,
html body #MOB-HEADER .mob-hdr-logo:hover img,
.new-home-logo:hover img {
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
  transition:none !important;
  will-change:auto !important;
}
/* v13.1.12 - desktop sidebar uses the full height instead of leaving a dead gap after tools */
@media (min-width:901px){
  html body .SB{
    display:flex !important;
    flex-direction:column !important;
    padding-bottom:10px !important;
  }
  html body .SB nav.sb-section:last-of-type{
    margin-top:auto !important;
    padding-bottom:0 !important;
  }
  html body .SB .sb-section{flex:0 0 auto}
}
/* v13.1 hub desktop width normalisation - hub pages fill the available desktop column */
@media (min-width:901px){
  body.page-template-tpl-events main.CENTRE,
  body.page-template-page-templates-tpl-events-php main.CENTRE,
  body.page-template-tpl-food main.CENTRE,
  body.page-template-page-templates-tpl-food-php main.CENTRE,
  body.page-template-tpl-nightlife main.CENTRE,
  body.page-template-page-templates-tpl-nightlife-php main.CENTRE,
  body.page-template-tpl-music main.CENTRE,
  body.page-template-page-templates-tpl-music-php main.CENTRE,
  body.page-template-tpl-sport main.CENTRE,
  body.page-template-page-templates-tpl-sport-php main.CENTRE,
  body.page-template-tpl-culture main.CENTRE,
  body.page-template-page-templates-tpl-culture-php main.CENTRE,
  body.page-template-tpl-stories main.CENTRE,
  body.page-template-page-templates-tpl-stories-php main.CENTRE,
  body.page-template-tpl-students main.CENTRE,
  body.page-template-page-templates-tpl-students-php main.CENTRE,
  body.page-template-tpl-neighbourhoods main.CENTRE,
  body.page-template-page-templates-tpl-neighbourhoods-php main.CENTRE,
  body.page-template-tpl-neighbourhood main.CENTRE,
  body.page-template-page-templates-tpl-neighbourhood-php main.CENTRE,
  body.page-template-tpl-directory main.CENTRE,
  body.page-template-page-templates-tpl-directory-php main.CENTRE,
  body.page-template-tpl-tv main.CENTRE,
  body.page-template-page-templates-tpl-tv-php main.CENTRE,
  body.page-template-tpl-videos main.CENTRE,
  body.page-template-page-templates-tpl-videos-php main.CENTRE,
  body.page-template-tpl-fashion main.CENTRE,
  body.page-template-page-templates-tpl-fashion-php main.CENTRE,
  body.music-hub-page main.CENTRE,
  main.CENTRE.fhub,
  main.CENTRE.hoods-hub,
  main.CENTRE.tv-hub{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    justify-self:stretch !important;
  }

  body.page-template-tpl-events .cat-page-centre,
  body.page-template-page-templates-tpl-events-php .cat-page-centre,
  body.page-template-tpl-music .music-hub,
  body.page-template-page-templates-tpl-music-php .music-hub,
  body.page-template-tpl-sport .hood-content,
  body.page-template-page-templates-tpl-sport-php .hood-content,
  body.page-template-tpl-culture .hood-content,
  body.page-template-page-templates-tpl-culture-php .hood-content,
  body.page-template-tpl-nightlife .hood-content,
  body.page-template-page-templates-tpl-nightlife-php .hood-content,
  body.page-template-tpl-food .hood-content,
  body.page-template-page-templates-tpl-food-php .hood-content,
  body.page-template-tpl-stories .stories-hub,
  body.page-template-page-templates-tpl-stories-php .stories-hub,
  body.page-template-tpl-students .students-page > *,
  body.page-template-page-templates-tpl-students-php .students-page > *,
  body.page-template-tpl-fashion .fhub,
  body.page-template-page-templates-tpl-fashion-php .fhub,
  main.CENTRE.hoods-hub > *,
  main.CENTRE.tv-hub > *{
    width:100% !important;
    max-width:none !important;
  }

  main.CENTRE > .hub,
  main.CENTRE.static-prototype-page,
  main.CENTRE.static-prototype-page > .hub{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
}

/* v13.1 final hub banner text contrast - wins over light-content/static black text */
@media (min-width:901px){
  .CENTRE.light-content .hood-hero-full .hhf-name,.page-template-tpl-events .eh-title,.page-template-page-templates-tpl-events-php .eh-title,.page-template-tpl-events .evh-title,.page-template-page-templates-tpl-events-php .evh-title,.fhub-hero .fhub-hero-h1,.page-template-tpl-neighbourhoods .hs-hero-h1,.page-template-page-templates-tpl-neighbourhoods-php .hs-hero-h1,.page-template-tpl-stories .sh-hero-title,.page-template-page-templates-tpl-stories-php .sh-hero-title,.page-template-tpl-students .students-hero-title,.page-template-page-templates-tpl-students-php .students-hero-title,main.CENTRE > .hub .masthead .mast-title,main.CENTRE > .hub .masthead-wrap .mast-title,.static-prototype-page .masthead .mast-title,.static-prototype-page .masthead-wrap .mast-title {
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    text-shadow:0 2px 18px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.35) !important;
  }

  .CENTRE.light-content .hood-hero-full .hhf-tagline,.page-template-tpl-events .eh-dek,.page-template-page-templates-tpl-events-php .eh-dek,.page-template-tpl-events .evh-subtitle,.page-template-page-templates-tpl-events-php .evh-subtitle,.fhub-hero .fhub-hero-sub,.page-template-tpl-neighbourhoods .hs-hero-tag,.page-template-page-templates-tpl-neighbourhoods-php .hs-hero-tag,.page-template-tpl-stories .sh-hero-excerpt,.page-template-page-templates-tpl-stories-php .sh-hero-excerpt,.page-template-tpl-students .students-hero-dek,.page-template-page-templates-tpl-students-php .students-hero-dek,main.CENTRE > .hub .masthead .mast-dek,main.CENTRE > .hub .masthead-wrap .mast-dek,.static-prototype-page .masthead .mast-dek,.static-prototype-page .masthead-wrap .mast-dek {
    color:rgba(255,255,255,.82) !important;
    -webkit-text-fill-color:rgba(255,255,255,.82) !important;
    text-shadow:0 2px 14px rgba(0,0,0,.45) !important;
  }

  .CENTRE.light-content .hood-hero-full .hhf-label,.page-template-tpl-events .eh-eyebrow,.page-template-page-templates-tpl-events-php .eh-eyebrow,.page-template-tpl-events .evh-eyebrow,.page-template-page-templates-tpl-events-php .evh-eyebrow,.fhub-hero .fhub-hero-kicker,.page-template-tpl-neighbourhoods .hs-hero-eyebrow,.page-template-page-templates-tpl-neighbourhoods-php .hs-hero-eyebrow,.page-template-tpl-stories .sh-hero-kicker,.page-template-page-templates-tpl-stories-php .sh-hero-kicker,.page-template-tpl-students .students-hero-eyebrow,.page-template-page-templates-tpl-students-php .students-hero-eyebrow,main.CENTRE > .hub .masthead .mast-eyebrow,main.CENTRE > .hub .masthead-wrap .mast-eyebrow,.static-prototype-page .masthead .mast-eyebrow,.static-prototype-page .masthead-wrap .mast-eyebrow {
    color:rgba(255,255,255,.72) !important;
    -webkit-text-fill-color:rgba(255,255,255,.72) !important;
    text-shadow:0 2px 12px rgba(0,0,0,.42) !important;
  }
}
/* v13.1.8 - narrow WOT map clipping only; no hub hero overrides */
html body.home .WOT,
html body.home section.WOT,
html body.home #WOT,
html body.home .WOT .wot-mapview,
html body.home .WOT #mcrmap,
html body.home .WOT .leaflet-container,
html body.home .WOT .leaflet-map-pane,
html body.home .WOT .leaflet-tile-pane,
html body.home .WOT .leaflet-overlay-pane{
  overflow:hidden !important;
}
html body.home .WOT .leaflet-marker-pane,
html body.home .WOT .leaflet-tooltip-pane,
html body.home .WOT .leaflet-popup-pane,
html body.home .WOT .mcr-pcard,
html body.home .WOT .mcr-map-card,
html body.home .WOT .mcrmap-pop{
  overflow:visible !important;
}
html body.home .WOT .wot-mapview{z-index:2 !important;}
html body.home .WOT .wot-tg{position:relative !important;z-index:3 !important;overflow:hidden !important;}
@media (min-width:901px){
  html body.home .WOT .wot-tg,
  html body.home .WOT.wot-view-map .wot-tg{max-height:320px !important;}
}

/* v13.1.9 - scoped mobile static hub masthead contrast */
@media (max-width:900px){
  .static-prototype-page .masthead-wrap .mast-title{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    text-shadow:0 2px 16px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.45) !important;
  }
  .static-prototype-page .masthead-wrap .mast-dek{
    color:rgba(255,255,255,.86) !important;
    -webkit-text-fill-color:rgba(255,255,255,.86) !important;
    text-shadow:0 2px 14px rgba(0,0,0,.5) !important;
  }
  .static-prototype-page .masthead-wrap .mast-eyebrow{
    color:rgba(255,255,255,.76) !important;
    -webkit-text-fill-color:rgba(255,255,255,.76) !important;
    text-shadow:0 2px 12px rgba(0,0,0,.48) !important;
  }
}

/* v13.1.10 - static prototype pages must not let imported .page CSS shrink the WP body */
body.page-template-tpl-static-prototype.page,
body.page-template-page-templates-tpl-static-prototype-php.page{
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

body.page-template-tpl-static-prototype.page #WRAP,
body.page-template-page-templates-tpl-static-prototype-php.page #WRAP,
body.page-template-tpl-static-prototype.page .BODY,
body.page-template-page-templates-tpl-static-prototype-php.page .BODY,
body.page-template-tpl-static-prototype.page footer.mcr-ft,
body.page-template-page-templates-tpl-static-prototype-php.page footer.mcr-ft{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* ── Global 90% density (2026-07-12) ─────────────────────────────────────
   Desktop loads at 90% scale for more breathing room; rem-based text is
   compensated back up so it renders at full size. px-based text renders at
   90% like the rest of the chrome. Mobile is untouched. */
@media (min-width: 901px) {
  html { font-size: 111.12%; }
  body { zoom: 0.9; }
}

/* Single-event related cards sit inside a light page but retain dark image overlays. */
body.single-mcr_event .CENTRE.white-bg :is(.mcrev-ev-card,.ev1-ev-card),
body.single-mcr_event .CENTRE.white-bg :is(.mcrev-ev-card,.ev1-ev-card) :is(.mcrev-ev-title,.ev1-ev-title,.mcrev-ev-date-d,.ev1-ev-date-d){
  color:#fff!important;
}
body.single-mcr_event .CENTRE.white-bg :is(.mcrev-ev-card,.ev1-ev-card) :is(.mcrev-ev-date-m,.ev1-ev-date-m){
  color:rgba(255,255,255,.78)!important;
}
body.single-mcr_event .CENTRE.white-bg :is(.mcrev-ev-card,.ev1-ev-card) :is(.mcrev-ev-meta,.ev1-ev-meta),
body.single-mcr_event .CENTRE.white-bg :is(.mcrev-ev-card,.ev1-ev-card) :is(.mcrev-ev-meta,.ev1-ev-meta) span{
  color:rgba(255,255,255,.76)!important;
}

/* v13.1.13 - desktop sidebar logo/nav spacing hardening
   Keep the bee in a real, compact logo row so it cannot overlap the first nav
   items on desktop pages such as /areas/. */
@media (min-width:901px){
  html body .SB{
    padding-top:8px !important;
    padding-bottom:12px !important;
  }
  html body .SB .sb-logo-slot{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 74px !important;
    width:100% !important;
    min-height:74px !important;
    max-height:74px !important;
    margin:0 !important;
    padding:7px 12px 5px !important;
    position:relative !important;
    z-index:1 !important;
    overflow:visible !important;
  }
  html body .SB .sb-logo-slot a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:62px !important;
    height:62px !important;
    max-width:62px !important;
    max-height:62px !important;
    margin:0 auto !important;
    padding:0 !important;
    position:static !important;
  }
  html body .SB .sb-logo-img{
    display:block !important;
    width:62px !important;
    height:62px !important;
    max-width:62px !important;
    max-height:62px !important;
    object-fit:contain !important;
    position:static !important;
  }
  html body .SB .sb-section{
    padding-left:10px !important;
    padding-right:10px !important;
  }
  html body .SB .sb-section:first-of-type{
    margin-top:0 !important;
  }
  html body .SB .sb-label{
    margin:8px 0 4px !important;
    padding:0 10px !important;
    line-height:1.2 !important;
  }
  html body .SB .sb-item{
    min-height:38px !important;
    padding:6px 10px !important;
    gap:10px !important;
  }
  html body .SB .sb-ico-wrap{
    width:34px !important;
    height:34px !important;
  }
}

/* v13.2.0 Codex mobile visual P0 repair - 2026-07-21 */
@media (max-width:900px){
  html body #MOB-HEADER.mcr-nav-built{height:50px!important;min-height:50px!important;padding:0 10px!important;background:#050507!important}
  html body #WRAP{padding-top:50px!important}
  html body #MOB-HEADER .mob-hdr-logo img{width:30px!important;height:30px!important}
  html body .mcr-global-burger{width:38px!important;height:38px!important;left:8px!important}
  html body .mcr-global-mob-panel{top:50px!important;width:216px!important;padding:7px 8px 18px!important}
  html body .mcr-global-mob-scrim{top:50px!important;left:216px!important}
  html body.nav-open #WRAP{transform:translateX(216px)!important}
  html body .mcr-global-mob-panel .sb-label{font-size:.5rem!important;margin:10px 0 4px!important;padding:0 8px!important}
  html body .mcr-global-mob-panel .sb-item{min-height:34px!important;padding:5px 8px!important;border-radius:8px!important;font-size:.72rem!important;color:rgba(255,255,255,.66)!important;background:transparent!important;transform:none!important;box-shadow:none!important}
  html body .mcr-global-mob-panel .sb-item.on{min-height:38px!important;padding:6px 9px!important;font-size:.76rem!important;background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.14)!important;color:#fff!important}
  html body .mcr-global-mob-panel .sb-ico-wrap{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important;min-width:20px!important;margin-right:8px!important;border-radius:6px!important;font-size:.58rem!important;opacity:.7!important}
  html body .mcr-global-mob-panel .sb-item.on .sb-ico-wrap{opacity:1!important}
  html body .mcr-global-mob-panel .sb-badge{font-size:.46rem!important;padding:2px 5px!important}
}

/* v13.2.6 CEO live visual recovery - mobile tap blocker, nav, WOT controls */
@media (min-width:901px){
  html body #MOB-HEADER,
  html body #MOB-DRAWER,
  html body .mcr-global-mob-panel,
  html body .mcr-global-mob-scrim{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  html body.mcr-new-home .BODY,
  html body.home .BODY{padding-top:0!important;margin-top:0!important}
  html body.mcr-new-home main.CENTRE,
  html body.home main.CENTRE{padding-top:0!important;margin-top:0!important}
  html body .SB{
    min-height:100vh!important;
    min-height:100dvh!important;
    align-self:stretch!important;
    padding-top:10px!important;
    padding-bottom:0!important;
  }
  html body .SB .sb-logo-slot{
    flex-basis:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    padding:8px 10px 8px!important;
  }
  html body .SB .sb-logo-slot a,
  html body .SB .sb-logo-img{
    width:78px!important;
    height:78px!important;
    max-width:78px!important;
    max-height:78px!important;
  }
  html body .SB .sb-item{min-height:40px!important}
}
@media (max-width:900px){
  /* Keep the active site navigation above older panel geometry rules. */
  html body.nav-open #MCR-GLOBAL-MOB-NAV{
    transform:translateX(0)!important;
  }
  html body .mcr-global-mob-scrim{
    opacity:0!important;
    pointer-events:none!important;
  }
  html body.nav-open .mcr-global-mob-scrim{
    opacity:1!important;
    pointer-events:auto!important;
  }
  html body .mcr-global-mob-panel{width:224px!important}
  html body .mcr-global-mob-panel .sb-item{
    min-height:42px!important;
    font-size:.9rem!important;
    font-weight:780!important;
    gap:0!important;
  }
  html body .mcr-global-mob-panel .sb-item:not(.on) .sb-ico-wrap{
    display:none!important;
  }
  html body .mcr-global-mob-panel .sb-item.on .sb-ico-wrap{
    display:inline-flex!important;
  }
  html body.home #mv.wot-mapview .hud.skins,
  html body.home .wot-mapview .hud.skins{
    display:flex!important;
    visibility:visible!important;
    top:46px!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:auto!important;
    max-width:calc(100vw - 28px)!important;
    z-index:1180!important;
    background:rgba(16,17,22,.86)!important;
  }
  html body.home #mv.wot-mapview .hud.cats,
  html body.home .wot-mapview .hud.cats{
    top:8px!important;
    left:52px!important;
    right:8px!important;
    transform:none!important;
    max-width:none!important;
    justify-content:flex-start!important;
    z-index:1190!important;
  }
  html body.home .wot-mapview.mcr-tilt-3d #mcrmap,
  html body.home #mv.wot-mapview.mcr-tilt-3d #mcrmap{
    inset:-14% -10%!important;
    transform:rotateX(36deg) scale(1.06)!important;
    transform-origin:50% 50%!important;
  }
  html body.home .wot-mapview{height:clamp(286px,40dvh,360px)!important}
  html body.home .mcr-city-label{
    opacity:.36!important;
    font-size:14px!important;
    letter-spacing:.24em!important;
  }
}

@media (max-width:760px){
  html body main.CENTRE.static-prototype-page{padding:58px 10px 56px!important}
  html body main.CENTRE.static-prototype-page .hub{gap:12px!important}
  html body main.CENTRE.static-prototype-page .masthead-wrap{min-height:154px!important;max-height:190px!important;padding:14px 12px!important;border-radius:10px!important;background:#111 url('/wp-content/themes/mcrcity-theme-v9-fixed/assets/img/cats/food.png') center/cover no-repeat!important}
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="food-hub-v3.html"] .masthead-wrap{background:#111 url('/wp-content/themes/mcrcity-theme-v9-fixed/assets/video/food/mcr-city-food-hub-banner-poster.jpg') center/cover no-repeat!important}
  html body main.CENTRE.static-prototype-page .masthead-video{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;opacity:.88!important}
  html body main.CENTRE.static-prototype-page .masthead-scrim{background:linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.82))!important}
  html body main.CENTRE.static-prototype-page .mast-title{font-size:clamp(1.55rem,7.2vw,2.1rem)!important;line-height:1!important;color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.75)!important;margin:0 0 5px!important}
  html body main.CENTRE.static-prototype-page .mast-dek,
  html body main.CENTRE.static-prototype-page .mast-eyebrow{color:rgba(255,255,255,.9)!important;text-shadow:0 2px 12px rgba(0,0,0,.62)!important}
  html body main.CENTRE.static-prototype-page .mast-dek{font-size:.78rem!important;line-height:1.28!important;max-width:32ch!important}
  html body main.CENTRE.static-prototype-page .mast-search{display:grid!important;grid-template-columns:minmax(0,1fr) 38px!important;gap:6px!important;width:100%!important;margin:8px 0 0!important}
  html body main.CENTRE.static-prototype-page .mast-search .search-box{min-height:38px!important;height:38px!important;border-radius:999px!important;padding:0 12px!important;background:#fff!important}
  html body main.CENTRE.static-prototype-page .mast-search .search-box input{height:38px!important;font-size:.82rem!important;color:#111114!important;-webkit-text-fill-color:#111114!important}
  html body main.CENTRE.static-prototype-page .mast-search .add-btn{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border-radius:50%!important;font-size:0!important}
  html body main.CENTRE.static-prototype-page .mast-search .add-btn::before{content:"+"!important;font-size:1.35rem!important;font-weight:700!important;line-height:1!important}
  html body main.CENTRE.static-prototype-page .mast-search .add-btn svg,
  html body main.CENTRE.static-prototype-page .mast-search .add-btn span{display:none!important}
  html body main.CENTRE.static-prototype-page .section,
  html body main.CENTRE.static-prototype-page section{margin-top:18px!important}
}

@media (max-width:760px){
  html body.single-mcr_event .ev1-hero{min-height:255px!important;align-items:flex-end!important}
  html body.single-mcr_event .ev1-hero .ev1-hero-photo{object-position:center 28%!important;opacity:.52!important}
  html body.single-mcr_event .ev1-hero .ev1-hero-fade{height:235px!important;background:linear-gradient(to top,rgba(6,5,10,.98),rgba(6,5,10,.74) 44%,transparent)!important}
  html body.single-mcr_event .ev1-hero .ev1-hero-stamp{display:none!important}
  html body.single-mcr_event .ev1-hero .ev1-hero-inner{padding:0 14px 18px!important}
  html body.single-mcr_event .ev1-bc{display:none!important}
  html body.single-mcr_event .ev1-hero-badge{padding:4px 9px!important;font-size:.62rem!important;margin-bottom:8px!important}
  html body.single-mcr_event .ev1-h1{font-size:clamp(1.65rem,8vw,2.25rem)!important;line-height:1.02!important;margin-bottom:10px!important;letter-spacing:0!important}
  html body.single-mcr_event .ev1-hero-meta{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 10px!important;margin-bottom:12px!important}
  html body.single-mcr_event .ev1-hm{font-size:.78rem!important;line-height:1.2!important;min-width:0!important}
  html body.single-mcr_event .ev1-hm strong{overflow-wrap:anywhere!important}
  html body.single-mcr_event .ev1-hero-btns{gap:7px!important}
  html body.single-mcr_event .ev1-btn{min-height:38px!important}
  html body.single-mcr_event .ev1-btn-cta,
  html body.single-mcr_event .ev1-btn-ghost{padding:9px 12px!important;font-size:.78rem!important;border-radius:8px!important}
  html body.single-mcr_event .ev1-grid{display:block!important;padding:12px 0 30px!important}
  html body.single-mcr_event .ev1-wrap{padding:0 12px!important}
  html body.single-mcr_event .ev1-related{padding:24px 0!important}
  html body.single-mcr_event .ev1-rel-hd{display:block!important;margin-bottom:12px!important}
  html body.single-mcr_event .ev1-rel-title{font-size:1.18rem!important;line-height:1.1!important;margin-bottom:8px!important}
  html body.single-mcr_event .ev1-ev-grid-2,
  html body.single-mcr_event .ev1-ev-grid-3{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  html body.single-mcr_event .ev1-ev-card{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;min-height:118px!important;border-radius:10px!important}
  html body.single-mcr_event .ev1-ev-img{height:100%!important;min-height:118px!important}
  html body.single-mcr_event .ev1-ev-body{padding:10px!important;display:flex!important;flex-direction:column!important}
  html body.single-mcr_event .ev1-ev-title{font-size:.92rem!important;line-height:1.12!important;margin-bottom:5px!important}
  html body.single-mcr_event .ev1-ev-meta{font-size:.66rem!important;gap:4px!important}
  html body.single-mcr_event .ev1-ev-btns{margin-top:auto!important;display:flex!important;gap:6px!important}
  html body.single-mcr_event .ev1-ev-btn-ghost,
  html body.single-mcr_event .ev1-ev-btn-ticket{min-height:31px!important;padding:0 8px!important;font-size:.62rem!important;flex:1!important}
}

/* v13.2.1 Codex mobile static hub specificity pass */
@media (max-width:760px){
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="art-hub-v3.html"] .masthead-wrap,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="music-hub-v3.html"] .masthead-wrap,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="nightlife-hub-v3.html"] .masthead-wrap,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="fashion-hub-v3.html"] .masthead-wrap,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="film-hub-v3.html"] .masthead-wrap{
    width:100%!important;
    max-width:100%!important;
    min-height:172px!important;
    height:auto!important;
    max-height:204px!important;
    margin:0!important;
    padding:14px 12px!important;
    border-radius:10px!important;
  }
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="art-hub-v3.html"] .masthead,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="music-hub-v3.html"] .masthead,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="nightlife-hub-v3.html"] .masthead,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="fashion-hub-v3.html"] .masthead,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="film-hub-v3.html"] .masthead{
    min-height:0!important;
    gap:7px!important;
    padding:0!important;
  }
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="art-hub-v3.html"] .mast-title,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="music-hub-v3.html"] .mast-title,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="nightlife-hub-v3.html"] .mast-title,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="fashion-hub-v3.html"] .mast-title,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="film-hub-v3.html"] .mast-title{
    font-size:clamp(1.5rem,7vw,2rem)!important;
    line-height:1!important;
  }
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="art-hub-v3.html"] .mast-dek,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="music-hub-v3.html"] .mast-dek,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="nightlife-hub-v3.html"] .mast-dek,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="fashion-hub-v3.html"] .mast-dek,
  html body main.CENTRE.static-prototype-page[data-mcr-static-file="film-hub-v3.html"] .mast-dek{
    font-size:.77rem!important;
    line-height:1.25!important;
    max-width:32ch!important;
  }
}

/* v13.2.2 Codex mobile home WOT light/dark toggle restore */
@media (max-width:760px){
  html body.home #mv.wot-mapview .hud.skins,
  html body.home .wot-mapview .hud.skins{
    display:inline-flex!important;
    visibility:visible!important;
    position:absolute!important;
    z-index:1091!important;
    top:42px!important;
    right:10px!important;
    width:auto!important;
    height:24px!important;
    padding:2px!important;
    gap:2px!important;
    border-radius:999px!important;
    background:rgba(8,8,10,.78)!important;
    border:1px solid rgba(255,255,255,.22)!important;
    box-shadow:0 8px 18px rgba(0,0,0,.22)!important;
    backdrop-filter:blur(10px)!important;
  }
  html body.home #mv.wot-mapview .hud.skins button.skin,
  html body.home .wot-mapview .hud.skins button.skin,
  html body.home .wot-mapview .hud.skins .skin{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:38px!important;
    height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
    margin:0!important;
    padding:0 7px!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    color:rgba(255,255,255,.72)!important;
    font-size:.52rem!important;
    font-weight:900!important;
    letter-spacing:0!important;
    line-height:1!important;
  }
  html body.home .wot-mapview .hud.skins .skin.on{
    background:#fff!important;
    color:#0b0b0d!important;
  }
  html body.home .wot-mapview .hud.skins #skC{
    display:none!important;
  }
  html body.home .wot-mapview .hud.skins #skP{
    display:none!important;
  }
}

/* ==========================================================================
   DOTZ CITY SHELL v2 - poison repair guard.
   Added by the shell build, 25/26 Aug 2026. Not present in the live mcr sheet.

   The live sheet carried a form feed byte (0x0C) at offset 917,450 inside the
   .wot-gps-btn::before rule. Browsers stop parsing there, so the last 269,671
   bytes of the sheet have never rendered on mcr.city. The shell build removes
   that byte (founder instruction) and repairs the mangled Font Awesome escape
   back to "\f3c5". That wakes 1,498 previously dead rules.

   css-poison-impact-20260823/IMPACT.md names four rules in that tail which
   nothing else holds down. Three of them would change this shell on sight.
   They are neutralised here, at the end of the sheet, so the shell renders the
   way live mcr.city renders today. Nothing else in the tail is touched.

   1. body{zoom:0.9} plus html{font-size:111.12%} above 901px would repaint every
      desktop page 10 per cent smaller.
   2. 76px of reserved bottom padding on every mobile page, for a bottom drawer
      this shell does not ship.
   3. .plan-fab thrown to bottom:88px / right:372px. The shell does not ship a
      plan fab today; the guard is here so it cannot appear if one is added.

   The fourth hazard, #MCR-DRAWER waking on mobile, needs no guard: the shell
   does not carry template-parts/mcr-bottom-drawer.php, so the markup is absent.
   ========================================================================== */
@media (min-width:901px){
  html{font-size:100%!important}
  body{zoom:normal!important}
}
@media (max-width:900px){
  html body:not(.wp-admin){padding-bottom:0!important}
}
html body .plan-fab{bottom:16px!important}
@media (min-width:901px){
  html body .plan-fab{bottom:16px!important;right:16px!important}
}

/* ==========================================================================
   DOTZ CITY SHELL v2 - chrome tokens.
   Added by the shell build. Not present in the live mcr sheet.

   Per-city colour is configuration. functions.php prints the token values into
   the page head from the city pack (dotz_shell_chrome_tokens()); these rules
   are the only consumers. One theme, one stylesheet, no per-city CSS file.

   For the 'mcr' scheme the token values are the live mcr values, so this block
   repaints nothing. For 'red' (soton.city) it turns the top nav, the left nav,
   the mobile drawer and the footer red with white text.
   ========================================================================== */
html body #MOB-HEADER{
  background:var(--dotz-topnav-bg,#000)!important;
  border-bottom-color:var(--dotz-chrome-border,rgba(255,255,255,.07))!important;
}
html body #MOB-HEADER .mob-hdr-logo,
html body #MOB-HEADER .mcr-global-burger{color:var(--dotz-chrome-fg,#f3f3f5)!important}
html body #MOB-HEADER .mob-burger span{background:var(--dotz-chrome-fg,#f3f3f5)!important}

html body .mcr-global-mob-panel{
  background:var(--dotz-drawer-bg,#070709)!important;
  border-right-color:var(--dotz-chrome-border,rgba(255,255,255,.06))!important;
}
html body .mcr-global-mob-panel .sb-item,
html body .mcr-global-mob-panel .sb-item span{color:var(--dotz-chrome-fg,#f3f3f5)!important}
html body .mcr-global-mob-panel .sb-label{color:var(--dotz-chrome-fg-dim,#b9bbc1)!important}
html body .mcr-global-mob-panel .sb-item.on,
html body .mcr-global-mob-panel .sb-item:hover{background:var(--dotz-chrome-hover,rgba(255,255,255,.06))!important}
html body .mcr-global-mob-panel .mobnav-search{
  background:var(--dotz-chrome-hover,rgba(255,255,255,.06))!important;
  border-color:var(--dotz-chrome-border,rgba(255,255,255,.07))!important;
}
html body .mcr-global-mob-panel .mobnav-search input{color:var(--dotz-chrome-fg,#f3f3f5)!important}
html body .mcr-global-mob-panel .mobnav-foot-meta{color:var(--dotz-chrome-fg-dim,#b9bbc1)!important}

html body aside.SB{
  background:var(--dotz-rail-bg,#0c0c0e)!important;
  border-right-color:var(--dotz-chrome-border,rgba(255,255,255,.07))!important;
}
html body aside.SB .sb-item,
html body aside.SB .sb-item-name,
html body aside.SB a{color:var(--dotz-chrome-fg,#f3f3f5)!important}
html body aside.SB .sb-label{color:var(--dotz-chrome-fg-dim,#b9bbc1)!important}
html body aside.SB .sb-item.on,
html body aside.SB .sb-item:hover{background:var(--dotz-chrome-hover,rgba(255,255,255,.06))!important}
html body aside.SB .sb-logo-mark{color:var(--dotz-chrome-fg,#f3f3f5)!important}

html body footer.mcr-ft{
  background:var(--dotz-footer-bg,#060608)!important;
  border-top-color:var(--dotz-chrome-border,rgba(255,255,255,.07))!important;
}
html body footer.mcr-ft .mcr-ft-col h4,
html body footer.mcr-ft .mcr-ft-everything-city{color:var(--dotz-chrome-fg,#f3f3f5)!important}
html body footer.mcr-ft .mcr-ft-col a,
html body footer.mcr-ft .mcr-ft-desc,
html body footer.mcr-ft .mcr-ft-everything-label{color:var(--dotz-chrome-fg-dim,#b9bbc1)!important}
html body footer.mcr-ft .mcr-ft-col a i{color:var(--dotz-chrome-fg-faint,rgba(255,255,255,.45))!important}
html body footer.mcr-ft .mcr-ft-col a:hover{color:var(--dotz-chrome-fg,#f3f3f5)!important}
html body footer.mcr-ft .mcr-ft-wordmark{color:var(--dotz-chrome-fg,#f3f3f5)!important}

html body .mcr-ft-bottom{
  background:var(--dotz-footer-foot-bg,#050507)!important;
  border-top-color:var(--dotz-chrome-border,rgba(255,255,255,.04))!important;
}
html body .mcr-ft-bottom .mcr-ft-copy,
html body .mcr-ft-bottom .mcr-ft-tagline{color:var(--dotz-chrome-fg-dim,#b9bbc1)!important}

/* The logo space carries text until a city supplies artwork (SHELL-SPEC rule 8).
   No logo is invented, so the slot is typographic, sized to the 36px bee it
   replaces in the top bar and the 133px mark it replaces in the footer. */
.dotz-logo-space{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'Inter Tight',Inter,system-ui,sans-serif;
  font-weight:900;letter-spacing:.06em;line-height:1;
  color:var(--dotz-chrome-fg,#f3f3f5);
}
#MOB-HEADER .dotz-logo-space{height:36px;min-width:36px;font-size:.92rem;padding:0 6px}
aside.SB .dotz-logo-space{height:40px;font-size:1.02rem}
footer.mcr-ft .dotz-logo-space{height:56px;font-size:1.6rem;letter-spacing:.1em}

/* Poison repair guard, addendum.
   css-poison-impact-20260823/IMPACT.md line 56 records one more woken rule:
   @media (max-width:900px){html body #main-content{height:0;overflow:hidden}}
   It was judged safe on mcr.city because only the header's empty skip-link
   anchor carries that id there. It is still only the skip anchor in this shell,
   but a template that ever puts the id on a real element would be clipped to
   nothing on every phone, so the collapse is scoped to the anchor it was
   written for. */
@media (max-width:900px){
  html body main#main-content,
  html body div#main-content,
  html body section#main-content{height:auto!important;overflow:visible!important}
}

/* The .BODY grid paints its own two-tone track behind the rail column
   (assets/css/style.css:1007, linear-gradient(to right,#0c0c0e var(--sb-w),
   #ffffff var(--sb-w))). On mcr.city that dark half is the same colour as the
   rail, so the two read as one surface. Under a per-city scheme the rail moves
   and the track does not, leaving a black strip below the rail. Bind the track
   to the same token the rail uses. */
html body .BODY{
  background:linear-gradient(to right,var(--dotz-rail-bg,#0c0c0e) var(--sb-w),#ffffff var(--sb-w))!important;
}
@media(max-width:900px){
  html body .BODY{background:#ffffff!important}
}
