/* ============================================================================
   LIGHT CONTENT OVERRIDE
   Shared stylesheet to flip the .CENTRE content area from dark to white.
   Shell (sidebar-nav, header, footer) stays dark - this only scopes .CENTRE.

   Accent variable must be set on the .CENTRE element via inline style:
   style="--content-accent:#3b82f6"  (stories blue, events red, etc.)

   Design rules:
   - white cards only, never grey fill
   - 1px hairline border rgba(0,0,0,.08)
   - subtle shadow 0 1px 3px rgba(0,0,0,.05)
   - hover: translateY(-2px) + 0 8px 20px rgba(0,0,0,.08)
   - accent used only on borders/badges/eyebrows
============================================================================ */

body .CENTRE.light-content,
body .CENTRE.light-content * {
    color-scheme: light;
}

body .CENTRE.light-content {
    /* ACCENT UNIFICATION 2026-08-28, live-phone-sweep/FINDINGS.md item 14.
       The sweep measured three different accents across one site while the
       city pack sets exactly one colour_scheme. This slate literal was the
       third one: it is not in either scheme, so no city could ever configure
       it away, and it painted plan, notify-me, 404 and index.php.

       functions.php:313 already prints every scheme token into :root as
       --dotz-*, so the configured CTA colour is in scope on every route. This
       reads it instead of hardcoding, and keeps the slate as the fallback for
       an install with no tokens.

       !important is deliberate and is the whole point of the line. single.php
       hardcodes style="--content-accent:#7C3AED" inline on the story single,
       which is the purple in the same finding. An important author declaration
       outranks a normal inline one, so this single line brings the story
       single onto the configured scheme without editing single.php, a file the
       28 Aug stories deploy replaced and which no longer matches this payload.
       Per-topic term colours are editorial data and are NOT touched here. */
    --content-accent: var(--dotz-cta, #64748b) !important;
    --lc-bg: #ffffff;
    --lc-surface: #ffffff;
    --lc-border: rgba(0,0,0,.08);
    --lc-border-strong: rgba(0,0,0,.14);
    --lc-shadow: 0 1px 3px rgba(0,0,0,.05);
    --lc-shadow-hover: 0 8px 20px rgba(0,0,0,.08);
    --lc-text: #0f172a;
    --lc-text-muted: #475569;
    --lc-text-subtle: #64748b;

    background: var(--lc-bg) !important;
    color: var(--lc-text) !important;
}

/* Wipe dark section backgrounds inside .CENTRE */
body .CENTRE.light-content section,
body .CENTRE.light-content header,
body .CENTRE.light-content main,
body .CENTRE.light-content > div {
    background-color: transparent !important;
}

/* Generic card/panel reset - real component roots only. */
body .CENTRE.light-content :is(
    .area-card,
    .areas-directory-search-panel,
    .areas-drawer-panel,
    .author-card,
    .bh-card,
    .dir-card,
    .dir-cat-tile,
    .dir-hood-tile,
    .dir-map-panel,
    .ev1-card,
    .ev1-ev-card,
    .ev1-faq-item,
    .ev5-card,
    .evs-date-card,
    .evs-more-item,
    .evs-rel-card,
    .evs-sidebar-card,
    .evs-ticket-card,
    .evs-transport-item,
    .fa-id-card,
    .hero-image-card,
    .hh-card,
    .hh-quick-card,
    .hh-urgent-card,
    .home-wot-inline-card,
    .hs-route-card,
    .hub-card,
    .job-card,
    .jobs-saved-panel,
    .longread-card,
    .lu-card,
    .lu-tier-card,
    .mcr-box,
    .mcr-contact-form-card,
    .mcr-map-card,
    .mcr-ps-card,
    .mcrd-wknd-card,
    .mcrd-wot-card,
    .ms-card,
    .ms-panel,
    .nav-tile,
    .nearby-card,
    .new-home-card,
    .next-tile,
    .pick-card,
    .story-card,
    .sv2-rel-card,
    .tier-card,
    .v3-linked-item
) {
    background: var(--lc-surface) !important;
    border: 1px solid var(--lc-border) !important;
    box-shadow: var(--lc-shadow);
    color: var(--lc-text);
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

body .CENTRE.light-content :is(
    a.area-card,
    a.dir-card,
    a.dir-cat-tile,
    a.dir-hood-tile,
    a.hh-quick-card,
    a.hh-urgent-card,
    a.home-wot-inline-card,
    a.hs-route-card,
    a.hub-card,
    a.longread-card,
    a.mcr-map-card,
    a.nav-tile,
    a.nearby-card,
    a.new-home-card,
    a.next-tile,
    a.pick-card,
    a.story-card,
    a.sv2-rel-card,
    a.tier-card
):hover {
    box-shadow: var(--lc-shadow-hover) !important;
    transform: translateY(-2px);
    border-color: var(--lc-border-strong) !important;
}

/* Typography */
body .CENTRE.light-content h1,
body .CENTRE.light-content h2,
body .CENTRE.light-content h3,
body .CENTRE.light-content h4,
body .CENTRE.light-content h5,
body .CENTRE.light-content h6 {
    color: var(--lc-text) !important;
}

body .CENTRE.light-content p,
body .CENTRE.light-content li,
body .CENTRE.light-content dd,
body .CENTRE.light-content dt,
body .CENTRE.light-content span,
body .CENTRE.light-content small {
    color: inherit;
}

body .CENTRE.light-content .muted,
body .CENTRE.light-content [class*="-muted"],
body .CENTRE.light-content [class*="-sub"],
body .CENTRE.light-content [class*="-desc"],
body .CENTRE.light-content [class*="-meta"],
body .CENTRE.light-content [class*="-caption"],
body .CENTRE.light-content [class*="-excerpt"],
body .CENTRE.light-content [class*="-bio"],
body .CENTRE.light-content [class*="-label"]:not([class*="-eyebrow"]) {
    color: var(--lc-text-muted) !important;
}

/* Eyebrows and kickers - use accent colour */
body .CENTRE.light-content [class*="-eyebrow"],
body .CENTRE.light-content [class*="-kicker"],
body .CENTRE.light-content [class*="-section-label"] {
    color: var(--content-accent) !important;
}

/* Links */
body .CENTRE.light-content a {
    color: var(--content-accent);
}
body .CENTRE.light-content a:hover {
    color: var(--lc-text);
}
body .CENTRE.light-content a[class*="-card"],
body .CENTRE.light-content a[class*="-tile"] {
    color: var(--lc-text);
    text-decoration: none;
}

/* Buttons - keep accent for primary, neutral for ghost */
body .CENTRE.light-content .btn-ghost,
body .CENTRE.light-content [class*="btn-ghost"],
body .CENTRE.light-content [class*="-btn-ghost"] {
    background: transparent !important;
    border: 1px solid var(--lc-border-strong) !important;
    color: var(--lc-text) !important;
}
body .CENTRE.light-content .btn-ghost:hover,
body .CENTRE.light-content [class*="btn-ghost"]:hover {
    background: #f8fafc !important;
    border-color: var(--content-accent) !important;
}

body .CENTRE.light-content .btn-primary,
body .CENTRE.light-content [class*="btn-primary"],
body .CENTRE.light-content [class*="-btn-primary"] {
    background: var(--content-accent) !important;
    border: 1px solid var(--content-accent) !important;
    color: #ffffff !important;
}
body .CENTRE.light-content .btn-primary:hover {
    opacity: .9;
}

/* Inputs */
body .CENTRE.light-content input:not([type="submit"]):not([type="button"]),
body .CENTRE.light-content textarea,
body .CENTRE.light-content select {
    background: #ffffff !important;
    color: var(--lc-text) !important;
    border: 1px solid var(--lc-border-strong) !important;
}
body .CENTRE.light-content input:focus,
body .CENTRE.light-content textarea:focus,
body .CENTRE.light-content select:focus {
    outline: 2px solid var(--content-accent);
    outline-offset: 1px;
    border-color: var(--content-accent) !important;
}

/* Rules and dividers */
body .CENTRE.light-content hr,
body .CENTRE.light-content [class*="-rule"],
body .CENTRE.light-content [class*="-divider"] {
    background: var(--lc-border) !important;
    border-color: var(--lc-border) !important;
}

/* Pill / chip style filters */
body .CENTRE.light-content [class*="-pill"],
body .CENTRE.light-content [class*="-chip"] {
    background: #ffffff !important;
    border: 1px solid var(--lc-border) !important;
    color: var(--lc-text-muted) !important;
    box-shadow: var(--lc-shadow);
}
body .CENTRE.light-content [class*="-pill"].on,
body .CENTRE.light-content [class*="-pill"].active,
body .CENTRE.light-content [class*="-chip"].on,
body .CENTRE.light-content [class*="-chip"].active {
    background: var(--content-accent) !important;
    border-color: var(--content-accent) !important;
    color: #ffffff !important;
}

/* Sticky bars / rails - white with hairline */
body .CENTRE.light-content [class*="-rail"],
body .CENTRE.light-content [class*="-bar"]:not([class*="-price"]):not([class*="-live-bar"]) {
    background: #ffffff !important;
    border-color: var(--lc-border) !important;
}

/* Dark gradient / scrim removal inside content cards */
body .CENTRE.light-content [class*="-scrim"] {
    background: linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.1) 60%, transparent 100%) !important;
}

/* Empty state / messages */
body .CENTRE.light-content [class*="-empty"] {
    background: #f8fafc !important;
    border: 1px dashed var(--lc-border-strong) !important;
    color: var(--lc-text-muted) !important;
}

/* Accent stripe on left border of featured items */
body .CENTRE.light-content [class*="-lr-card"] {
    border-left: 3px solid var(--lc-border) !important;
    padding-left: 20px;
    background: transparent !important;
    box-shadow: none !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
}
body .CENTRE.light-content [class*="-lr-card"]:hover {
    border-left-color: var(--content-accent) !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Writer avatars / team headshots keep border light */
body .CENTRE.light-content [class*="-avatar"],
body .CENTRE.light-content [class*="-initials"] {
    border-color: var(--lc-border) !important;
}

/* Kill dark hero backgrounds when the surrounding wrapper is light */
body .CENTRE.light-content [class*="-hero"]:not([class*="-hero-main"]):not([class*="-hero-img"]) {
    background: transparent !important;
}

/* Section-wrapper variants that render a dark band (longreads, newsletter) */
body .CENTRE.light-content [class*="-longreads"],
body .CENTRE.light-content [class*="-newsletter"] {
    background: #f8fafc !important;
    border-top: 1px solid var(--lc-border) !important;
    border-bottom: 1px solid var(--lc-border) !important;
    color: var(--lc-text) !important;
}
body .CENTRE.light-content [class*="-longreads"] *,
body .CENTRE.light-content [class*="-newsletter"] * {
    color: var(--lc-text);
}
body .CENTRE.light-content [class*="-newsletter"] [class*="-title"],
body .CENTRE.light-content [class*="-longreads"] [class*="-title"] {
    color: var(--lc-text) !important;
}
body .CENTRE.light-content [class*="-newsletter"] [class*="-kicker"],
body .CENTRE.light-content [class*="-longreads"] [class*="-kicker"],
body .CENTRE.light-content [class*="-newsletter"] [class*="-prop"]::before {
    color: var(--content-accent) !important;
}

/* Masthead on listing pages */
body .CENTRE.light-content [class*="-masthead"] {
    background: #ffffff !important;
    border-bottom: 1px solid var(--lc-border) !important;
    color: var(--lc-text) !important;
}
body .CENTRE.light-content [class*="-masthead"] * {
    color: inherit;
}
body .CENTRE.light-content [class*="-masthead-title"] {
    color: var(--lc-text) !important;
}

/* Breadcrumbs */
body .CENTRE.light-content [class*="-breadcrumb"] {
    color: var(--lc-text-muted) !important;
}
body .CENTRE.light-content [class*="-breadcrumb"] a {
    color: var(--lc-text-muted) !important;
}
body .CENTRE.light-content [class*="-breadcrumb"] a:hover {
    color: var(--lc-text) !important;
}

/* ---- Stories hub specific (.stories-hub) ------------------------------- */
body .CENTRE.light-content .stories-hub {
    background: #ffffff !important;
    color: var(--lc-text) !important;
    --sh-bg: #ffffff;
    --sh-surface: #ffffff;
    --sh-border: rgba(0,0,0,.08);
    --sh-text: var(--lc-text);
    --sh-muted: var(--lc-text-muted);
    --sh-red: var(--content-accent);
    --sh-accent: var(--content-accent);
}
body .CENTRE.light-content .sh-ticker {
    background: #f8fafc !important;
    border-color: var(--lc-border) !important;
}
body .CENTRE.light-content .sh-cat-rail {
    background: #ffffff !important;
    border-bottom-color: var(--lc-border) !important;
}
body .CENTRE.light-content .sh-hero-main,
body .CENTRE.light-content .sh-sec-card,
body .CENTRE.light-content .sh-pick-card,
body .CENTRE.light-content .lg-card {
    background: #ffffff !important;
    border: 1px solid var(--lc-border) !important;
    box-shadow: var(--lc-shadow) !important;
    color: var(--lc-text) !important;
}
body .CENTRE.light-content .sh-hero-main {
    /* keep image visible, only override fallback background */
    background: #f1f5f9 !important;
}
body .CENTRE.light-content .sh-hero-title,
body .CENTRE.light-content .sh-sec-title,
body .CENTRE.light-content .sh-pick-title,
body .CENTRE.light-content .lg-title {
    color: var(--lc-text) !important;
}
body .CENTRE.light-content .sh-hero-title { color: #ffffff !important; } /* on image */
body .CENTRE.light-content .sh-hero-excerpt,
body .CENTRE.light-content .sh-hero-strip { color: rgba(255,255,255,.85) !important; }

/* .lg-card is an overlay card: its body sits OVER the dark-scrim image, so the
   generic dark-text/muted rules above would make the title and meta near
   invisible. Force light text for the overlaid heading and meta. */
body .CENTRE.light-content .lg-title,
body .CENTRE.light-content .lg-title a {
    color: #ffffff !important;
}
body .CENTRE.light-content .lg-meta {
    color: rgba(255,255,255,.78) !important;
}

/* Stories cards and neighbourhood/location tiles should stay dark + premium.
   The generic light-content card reset was washing them out into cheap white boxes. */
body .CENTRE.light-content .stories-hub .lg-card,
body .CENTRE.light-content .stories-hub .smg-card,
body .CENTRE.light-content .stories-hub .sstory-card,
body .CENTRE.light-content .stories-hub .sh-hood-tile {
    background: #111114 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 6px 22px rgba(0,0,0,.10) !important;
    color: #ffffff !important;
}
body .CENTRE.light-content .stories-hub .lg-card:hover,
body .CENTRE.light-content .stories-hub .smg-card:hover,
body .CENTRE.light-content .stories-hub .sstory-card:hover,
body .CENTRE.light-content .stories-hub .sh-hood-tile:hover {
    border-color: rgba(255,255,255,.16) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.16) !important;
}
body .CENTRE.light-content .stories-hub .lg-card-body,
body .CENTRE.light-content .stories-hub .smg-body,
body .CENTRE.light-content .stories-hub .ssc-body {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
}
body .CENTRE.light-content .stories-hub .smg-title,
body .CENTRE.light-content .stories-hub .smg-title a,
body .CENTRE.light-content .stories-hub .ssc-title,
body .CENTRE.light-content .stories-hub .sh-hood-name {
    color: #ffffff !important;
}
body .CENTRE.light-content .stories-hub .smg-sub,
body .CENTRE.light-content .stories-hub .ssc-sub,
body .CENTRE.light-content .stories-hub .ssc-meta,
body .CENTRE.light-content .stories-hub .smg-foot {
    color: rgba(255,255,255,.60) !important;
}
body .CENTRE.light-content .stories-hub .smg-cat,
body .CENTRE.light-content .stories-hub .ssc-cat {
    color: var(--content-accent) !important;
}

/* Focus ring uses the accessible page accent (white text = ~6.7:1 on #1d4ed8) */
body .CENTRE.light-content .stories-hub a:focus-visible,
body .CENTRE.light-content .stories-hub button:focus-visible,
body .CENTRE.light-content .stories-hub input:focus-visible,
body .CENTRE.light-content .stories-hub .sh-pick-card:focus-within,
body .CENTRE.light-content .stories-hub .lg-card:focus-within {
    outline-color: var(--content-accent) !important;
}

/* Events specific (.cat-page-centre / .ev-* )
   ev-card is a dark image-overlay card. The filter bar, results head,
   submit banner, and live stats bar sit on the white page background. */

/* OUTER CARD: preserve dark gradient - ev-card is NOT a light surface */
body .CENTRE.light-content .ev-card,
body .CENTRE.light-content .ev-card.featured {
    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%
        ) !important;
    border: 1.5px solid color-mix(in srgb, var(--cc,#e8201a) 30%, rgba(255,255,255,.06)) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,.18) !important;
    color: #fff !important;
}
body .CENTRE.light-content .ev-card:hover {
    box-shadow: 0 8px 36px rgba(0,0,0,.28) !important;
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--cc,#e8201a) 55%, rgba(255,255,255,.18)) !important;
}

/* INNER ELEMENTS: transparent so text floats over the card image/gradient */
body .CENTRE.light-content .ev-card-body,
body .CENTRE.light-content .ev-card-img,
body .CENTRE.light-content .ev-card-ctas {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: inherit !important;
}
body .CENTRE.light-content .ev-card-cat {
    background: color-mix(in srgb, var(--cc,#e8201a) 30%, rgba(0,0,0,.35)) !important;
    border: 1px solid color-mix(in srgb, var(--cc,#e8201a) 50%, rgba(255,255,255,.1)) !important;
    color: #fff !important;
    box-shadow: none !important;
}
body .CENTRE.light-content .ev-card-title,
body .CENTRE.light-content .ev-card-title a {
    color: #fff !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
body .CENTRE.light-content .ev-card-meta,
body .CENTRE.light-content .ev-card-meta span {
    color: rgba(255,255,255,.78) !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
body.page-template-tpl-events .CENTRE.light-content .ev-card-title,
body.page-template-tpl-events .CENTRE.light-content .ev-card-title *,
body.page-template-tpl-events .CENTRE.light-content .ev-card-meta,
body.page-template-tpl-events .CENTRE.light-content .ev-card-meta * {
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}
body .CENTRE.light-content .ev-card-ctas .btn-ghost-sm {
    background: rgba(255,255,255,.18) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255,255,255,.38) !important;
    color: #fff !important;
    box-shadow: none !important;
}
body .CENTRE.light-content .ev-card-ctas .btn-primary-sm,
body .CENTRE.light-content .ev-card-ctas .btn-tickets {
    background: var(--cc, #e8201a) !important;
    border: 1px solid color-mix(in srgb, var(--cc, #e8201a) 70%, rgba(255,255,255,.3)) !important;
    color: #fff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.22) !important;
}
body .CENTRE.light-content .ev-tonight-pill,
body .CENTRE.light-content .ev-this-week-pill {
    color: #fff !important;
    border: none !important;
}
body .CENTRE.light-content .ev-tonight-pill {
    background: #e8201a !important;
    box-shadow: 0 4px 14px rgba(232,32,26,.45) !important;
}
body .CENTRE.light-content .ev-this-week-pill {
    background: #ff6b00 !important;
    box-shadow: 0 4px 14px rgba(255,107,0,.45) !important;
}
body .CENTRE.light-content .ev-date-badge {
    background: rgba(0,0,0,.5) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
}
body .CENTRE.light-content .ev-date-day { color: #ffffff !important; }
body .CENTRE.light-content .ev-date-month { color: rgba(255,255,255,.55) !important; }
body .CENTRE.light-content .ev-price-tag {
    background: rgba(0,0,0,.68) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.12) !important;
}

/* Filter bar, results head, submit banner: white page surfaces */
body .CENTRE.light-content .ev-filter-advanced {
    background: #ffffff !important;
    border: 1px solid var(--lc-border) !important;
    box-shadow: var(--lc-shadow);
}
body .CENTRE.light-content .ev-results-head { color: var(--lc-text) !important; }
body .CENTRE.light-content .ev-submit-banner {
    background: #f8fafc !important;
    border: 1px solid var(--lc-border) !important;
    color: var(--lc-text) !important;
    box-shadow: var(--lc-shadow);
}
body .CENTRE.light-content .evt-row {
    background: #ffffff !important;
    border: 1px solid var(--lc-border) !important;
    color: var(--lc-text) !important;
}
body .CENTRE.light-content .evt-day-label { color: var(--lc-text) !important; }

/* MASTHEAD & EDITORIAL HERO: dark panels, not white */
body .CENTRE.light-content .ev-page-masthead {
    background: #0c0c0e !important;
    color: #fff !important;
}
body .CENTRE.light-content .ev-page-masthead h1,
body .CENTRE.light-content .ev-page-masthead h2 {
    color: #fff !important;
    text-shadow: none;
}
body .CENTRE.light-content .ev-page-masthead p {
    color: rgba(255,255,255,.7) !important;
}

/* New editorial hero (.ev-editorial) */
body .CENTRE.light-content .ev-editorial {
    background-color: #0c0c0e !important;
}
body .CENTRE.light-content .ev-editorial-overlay {
    background:
        linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.55) 40%, rgba(0,0,0,.18) 100%),
        linear-gradient(100deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 60%) !important;
    border: none !important;
    box-shadow: none !important;
}
body .CENTRE.light-content .ev-editorial-body,
body .CENTRE.light-content .ev-editorial-stats,
body .CENTRE.light-content .ev-editorial-ctas {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
body .CENTRE.light-content .ev-editorial-eyebrow { color: #e8201a !important; }
body .CENTRE.light-content .ev-editorial-title   { color: #ffffff !important; text-shadow: 0 4px 32px rgba(0,0,0,.5) !important; }
body .CENTRE.light-content .ev-editorial-title em { color: #e8201a !important; background: transparent !important; }
body .CENTRE.light-content .ev-editorial-lead    { color: rgba(255,255,255,.62) !important; background: transparent !important; border: none !important; box-shadow: none !important; }
body .CENTRE.light-content .ev-ih-n             { color: #ffffff !important; }
body .CENTRE.light-content .ev-ih-red           { color: #ef4444 !important; }
body .CENTRE.light-content .ev-ih-l             { color: rgba(255,255,255,.45) !important; }
body .CENTRE.light-content .ev-editorial-feat-info,
body .CENTRE.light-content .ev-editorial-feat-info span { color: rgba(255,255,255,.7) !important; background: transparent !important; }
body .CENTRE.light-content .ev-editorial-feat-tag { color: inherit !important; background: transparent !important; }
body .CENTRE.light-content .ev-eh-primary {
    background: #e8201a !important;
    border: 1px solid #e8201a !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(232,32,26,.3) !important;
}
body .CENTRE.light-content .ev-eh-ghost {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.38) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}
body.page-template-tpl-events .CENTRE.light-content .ev-editorial,
body.page-template-tpl-events .CENTRE.light-content .ev-editorial * {
    color: inherit;
}
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-editorial-title,
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-editorial-title a,
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-editorial-feat-title,
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-ih-n,
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-editorial-feat-info,
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-editorial-feat-info span,
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-editorial-lead,
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-eh-primary,
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-eh-ghost {
    color: #ffffff !important;
}
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-editorial-eyebrow,
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-editorial-title em,
body.page-template-tpl-events .CENTRE.light-content .ev-editorial .ev-ih-red {
    color: #e8201a !important;
}

/* Live stats bar: white strip below the dark hero */
body .CENTRE.light-content .epm-live-bar {
    background: #ffffff !important;
    border: 1px solid var(--lc-border) !important;
    box-shadow: var(--lc-shadow);
}
body .CENTRE.light-content .epm-lb-item {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--lc-text-muted) !important;
}
body .CENTRE.light-content .epm-lb-item.active { color: var(--lc-text) !important; }

/* About page specific (.about-page) */
body .CENTRE.light-content .about-page {
    --dark: #ffffff;
    --card: #ffffff;
    --border: rgba(0,0,0,.08);
    --text: #0f172a;
    --muted: #475569;
    --red: var(--content-accent);
    background: #ffffff !important;
    color: var(--lc-text) !important;
}
body .CENTRE.light-content .ap-hero::before { opacity: .35; }
body .CENTRE.light-content .ap-stat-card,
body .CENTRE.light-content .ap-flow-step,
body .CENTRE.light-content .ap-team-card,
body .CENTRE.light-content .ap-standards-col,
body .CENTRE.light-content .ap-cta-tile,
body .CENTRE.light-content .ap-press-block {
    background: #ffffff !important;
    border: 1px solid var(--lc-border) !important;
    box-shadow: var(--lc-shadow) !important;
}
body .CENTRE.light-content .ap-stat-n { color: var(--content-accent) !important; }
body .CENTRE.light-content .ap-hero-badge {
    background: #ffffff !important;
    border: 1px solid var(--lc-border) !important;
    color: var(--lc-text-muted) !important;
}
body .CENTRE.light-content .ap-cities-strip {
    background: #f8fafc !important;
    border-color: var(--lc-border) !important;
}
body .CENTRE.light-content .ap-cta-tile:hover {
    border-color: var(--content-accent) !important;
}
body .CENTRE.light-content .ap-city-chip.soon {
    background: #ffffff !important;
    border-color: var(--lc-border) !important;
    color: var(--lc-text-muted) !important;
}

/* Neighbourhood page generic resets */
body .CENTRE.light-content .nh-hero,
body .CENTRE.light-content .nh-section,
body .CENTRE.light-content .nh-wrap {
    background: #ffffff !important;
    color: var(--lc-text) !important;
}

/* Static page body (page.php, contact, 404, generic) */
body .CENTRE.light-content .generic-page,
body .CENTRE.light-content .page-body,
body .CENTRE.light-content .entry-content {
    background: #ffffff !important;
    color: var(--lc-text) !important;
}

/* ============================================================================
   HOOD HERO OVERRIDES (tpl-neighbourhood.php)
   The rest of the hood page uses the light-content cream treatment, but the
   top hero is a full-bleed image with white text on a dark scrim. Force-
   override the generic wipe rules so the codex hero renders correctly.
============================================================================ */
body .CENTRE.light-content .hood-hero-full {
    background-color: #0f172a !important;  /* fallback while codex image loads */
    background-size: cover !important;
    background-position: center !important;
    height: 360px !important;
    border: none !important;
    box-shadow: none !important;
}
body .CENTRE.light-content .hhf-scrim {
    background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.05) 100%) !important;
    border: none !important;
    box-shadow: none !important;
}
body .CENTRE.light-content .hood-hero-full .hhf-name,
body .CENTRE.light-content .hood-hero-full h1.hhf-name {
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.5);
}
body .CENTRE.light-content .hood-hero-full .hhf-label {
    color: rgba(255,255,255,.72) !important;
    letter-spacing: .18em;
}
body .CENTRE.light-content .hood-hero-full .hhf-tagline {
    color: rgba(255,255,255,.92) !important;
    text-shadow: 0 1px 8px rgba(0,0,0,.4);
    font-size: .95rem;
    line-height: 1.45;
    max-width: 640px;
}
body .CENTRE.light-content .hood-hero-full .hhf-stats,
body .CENTRE.light-content .hood-hero-full .hhf-stats span {
    color: rgba(255,255,255,.75) !important;
}
body .CENTRE.light-content .hood-hero-full .hhf-body,
body .CENTRE.light-content .hood-hero-full .hhf-quick-links {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
body .CENTRE.light-content .hood-hero-full .hhf-ql {
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    color: #ffffff !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 8px 14px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 600;
    margin-right: 6px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background .2s ease;
}
body .CENTRE.light-content .hood-hero-full .hhf-ql:hover {
    background: rgba(255,255,255,.28) !important;
}
/* Watch placeholder panel */
body .CENTRE.light-content .hs-watch-placeholder {
    background: #f8fafc !important;
    border: 1px dashed var(--lc-border-strong) !important;
    border-radius: 10px;
    padding: 28px 22px;
    text-align: center;
    color: var(--lc-text-muted) !important;
}
body .CENTRE.light-content .hs-watch-placeholder i {
    font-size: 2rem;
    color: var(--content-accent);
    opacity: .55;
    margin-bottom: 10px;
    display: block;
}
body .CENTRE.light-content .hs-watch-placeholder p {
    margin: 4px 0;
    font-size: .85rem;
}
body .CENTRE.light-content .hs-watch-placeholder .hs-watch-hint {
    font-size: .7rem;
    opacity: .6;
    margin-top: 8px;
}

/* ---------------------------------------------------------------------------
   COMING-SOON BADGE ON THE WHITE SURFACE
   live-phone-sweep/FINDINGS.md item 7: div.csp-badge measured
   rgba(255,255,255,.6) on rgb(255,255,255), contrast 1.00, 9.6px w800. It is
   the one label that explains the empty page and no visitor could read it.

   Cause, not a new design: .csp-badge in style.css:5719 was written for the
   dark coming-soon panel and paints white-on-translucent-white. tpl-signup.php
   renders that panel inside .CENTRE.light-content on a #ffffff background. The
   blanket light-content overrides above only reach h1 (line 132) and p (line
   141), so .csp-title and .csp-desc flipped to dark and the badge, a div, kept
   its dark-surface colours. This is the missing member of that same override
   set: same pill, same position, same weight and tracking, dark ink instead of
   white, and 12px instead of 9.6px.
   --------------------------------------------------------------------------- */
body .CENTRE.light-content .csp-badge {
    background: rgba(15,23,42,.06) !important;
    color: #334155 !important;
    border: 1px solid rgba(15,23,42,.14) !important;
    font-size: .75rem !important;
}
