/* SafeRoute 2026 theme — direction B "Warm Afro-modern".
   Loaded after the legacy inline styles; selectors are prefixed with `html`
   (and !important where legacy rules or inline styles would otherwise win). */

:root{
  --sand:#F3E7D6; --sand-2:#EAD9C2; --paper:#FFF8EE; --line:#E2CFB4;
  --ink:#2B1A10; --ink-2:#3A2517; --ink-3:#4E3524; --brown:#5E4636; --muted-2:#6B5443;
  --terra:#B4532A; --terra-d:#9A4321; --ochre:#D9A441; --olive:#56603A;
  --ok:#2E6B3F; --ok-bg:#E3EFE3; --warnc:#8A5A10; --warn-bg:#F6E7C4; --bad:#9E2F22; --bad-bg:#F6DCD5;

  /* legacy variable names, remapped */
  --black:var(--sand); --deep:var(--sand-2); --card:var(--paper); --card2:#F7EDDF;
  --gold:var(--terra); --gold-l:var(--terra-d); --gold-d:var(--terra-d);
  --purple:var(--terra); --purple-l:var(--terra); --purple-d:var(--terra-d);
  --teal:var(--terra); --orange:var(--terra); --blue:var(--terra);
  --green:var(--ok); --red:var(--bad);
  --text:var(--ink); --muted:var(--muted-2); --border:var(--line); --border2:#D8C2A3;
  --safe:var(--ok); --unsafe:var(--bad); --mixed:var(--warnc);
  --r:20px;
  --display:'Bricolage Grotesque',system-ui,sans-serif;
  --sans:'DM Sans',system-ui,sans-serif;
}

html body{
  background:var(--sand) !important;
  background-image:none !important;
  color:var(--ink);
  font-family:var(--sans) !important;
}
html body *{font-family:inherit !important}
html body input, html body button, html body select, html body textarea{font-family:var(--sans) !important}
html body h1, html body h2, html body h3,
html .sec-title, html .s-title, html .hero-title, html .feat-title, html .bh-country, html .logo{
  font-family:var(--display) !important; letter-spacing:-0.02em;
}
html ::selection{background:var(--ochre);color:var(--ink)}
html a{color:var(--terra-d)}
html :focus-visible{outline:3px solid var(--ochre) !important;outline-offset:2px}

/* ── Top band (replaces the rainbow stripe) ─────────────────────────── */
html body::before{
  content:"";position:fixed;top:0;left:0;right:0;height:4px;z-index:10001;
  background:linear-gradient(90deg,var(--terra) 0 25%,var(--ochre) 25% 50%,var(--olive) 50% 75%,var(--ink) 75% 100%) !important;
}

/* ── Header ────────────────────────────────────────────────────────── */
html .topbar{
  background:rgba(243,231,214,0.94) !important;
  backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);
  border-bottom:1px solid var(--line) !important;
  box-shadow:none !important;
}
html .logo{color:var(--ink) !important;font-weight:800 !important;font-size:22px !important;display:flex;align-items:center;gap:10px;text-shadow:none !important;background:none !important;-webkit-text-fill-color:currentColor !important}
html .logo .logo-mark{width:36px;height:36px;border-radius:11px;background:var(--terra);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;flex-shrink:0}
html .logo .logo-sub{font-family:var(--sans);font-weight:500;font-size:13px;color:var(--muted-2);letter-spacing:0}
html .topbar-search{background:var(--paper) !important;border:1px solid var(--line) !important;border-radius:999px !important}
html .topbar-search input{color:var(--ink) !important;background:transparent !important}
html .topbar-search input::placeholder{color:#8C7461}
html .topbar-search .si{display:none}
html .nav-tab{color:var(--ink) !important;font-weight:500 !important;font-size:15px !important;border-radius:999px !important;padding:10px 14px !important;background:transparent !important}
html .nav-tab:hover{background:var(--sand-2) !important}
html .nav-tab.active{background:var(--ink) !important;color:var(--sand) !important}
html .nav-more{position:relative}
html .nav-more > summary{list-style:none;cursor:pointer;color:var(--ink);font-weight:500;font-size:15px;padding:10px 14px;border-radius:999px;display:flex;align-items:center;gap:6px;white-space:nowrap}
html .nav-more > summary::-webkit-details-marker{display:none}
html .nav-more > summary:hover, html .nav-more[open] > summary{background:var(--sand-2)}
html .nav-more-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px rgba(43,26,16,.16);padding:8px;display:flex;flex-direction:column;z-index:1000}
html .nav-more-panel button{all:unset;cursor:pointer;padding:11px 14px;border-radius:12px;font-size:15px;color:var(--ink);font-family:var(--sans)}
html .nav-more-panel button:hover, html .nav-more-panel button:focus-visible{background:var(--sand-2)}
html #signInBtnTop{background:var(--terra) !important;color:var(--paper) !important;border-radius:999px !important;font-weight:700 !important;border:0 !important;padding:10px 20px !important;box-shadow:none !important}
html .avatar-btn{background:var(--sand-2) !important;border:1px solid var(--line) !important;color:var(--ink) !important;box-shadow:none !important}
html .signout-btn{background:transparent !important;border:1px solid var(--line) !important;color:var(--ink) !important;border-radius:999px !important}
html .user-name-tag{color:var(--ink) !important}

/* Feature strip → secondary pill row (mobile only; desktop uses "More") */
html #featuresStrip{background:var(--sand) !important;border-bottom:1px solid var(--line) !important;padding:8px 12px !important;gap:8px}
html #featuresStrip .fs-btn{background:var(--paper) !important;border:1px solid var(--line) !important;border-radius:999px !important;padding:9px 16px !important;border-bottom-width:1px !important;width:auto !important;justify-content:center}
html #featuresStrip .fs-icon{display:none !important}
html #featuresStrip .fs-label{color:var(--ink) !important;font-size:14px !important;font-weight:500 !important;letter-spacing:0 !important;font-family:var(--sans) !important}
html #featuresStrip .fs-btn.fs-active{background:var(--ink) !important;border-color:var(--ink) !important}
html #featuresStrip .fs-btn.fs-active .fs-label{color:var(--sand) !important}
@media (min-width:769px){ html #featuresStrip{display:none !important} }

/* ── Buttons ───────────────────────────────────────────────────────── */
html .btn-gold, html .btn.btn-gold, html .hero-btn, html .auth-submit, html .map-gps-btn, html .ep-save{
  background:var(--terra) !important;color:var(--paper) !important;border:0 !important;border-radius:999px !important;box-shadow:none !important;font-weight:700 !important;
}
html .btn-gold:hover, html .hero-btn:hover, html .auth-submit:hover{background:var(--terra-d) !important;transform:none !important}
html .btn-outline, html .map-layer-btn, html .sr-more-btn{background:var(--paper) !important;color:var(--ink) !important;border:1px solid var(--line) !important;border-radius:999px !important}
html .map-layer-btn.active{background:var(--ink) !important;color:var(--sand) !important;border-color:var(--ink) !important}

/* ── Hero (full redesign comes in stage 2) ─────────────────────────── */
html .hero{background:transparent !important;background-image:none !important}
html .hero::before, html .hero::after{display:none !important}
html .hero-title{color:var(--ink) !important;font-weight:800 !important;text-shadow:none !important}
html .hero-title .hl, html .hl{color:var(--terra) !important;-webkit-text-fill-color:currentColor !important;background:none !important;text-shadow:none !important}
html .hero-tagline, html .hero-tagline em{color:var(--brown) !important;font-family:var(--sans) !important;font-style:normal !important}
html .pan-bar, html .hero-tagline-rule{display:none !important}

/* ── Cards & surfaces ──────────────────────────────────────────────── */
html .s-card, html .exp-card, html .media-card, html .venue-card, html .biz-card, html .briefing-card,
html .briefing-header, html .map-stat-chip, html .vc-card, html .hd-card, html .feat-card, html .lp-card,
html .partner-card, html .comm-card, html .radar-card, html .auth-box, html .modal-box, html .warn-modal-box, html .disc-box{
  background:var(--paper) !important;border:1px solid var(--line) !important;border-radius:var(--r) !important;box-shadow:none !important;color:var(--ink) !important;
}
html .s-title, html .sec-title, html .bc-title{color:var(--ink) !important}
html .exp-title, html .media-title, html .biz-name, html .bh-country{color:var(--ink) !important}
html .exp-text, html .biz-desc, html .media-meta, html .exp-who, html .biz-loc{color:var(--brown) !important}
html .exp-tag, html .vtag, html .tag-filter, html .biz-filter{background:var(--sand-2) !important;color:var(--ink) !important;border:1px solid transparent !important;border-radius:999px !important}
html .biz-filter.active, html .tag-filter.active{background:var(--ink) !important;color:var(--sand) !important}

/* Safety semantics — text always accompanies colour */
html .type-safe, html .lp-badge-safe, html .hd-safe{background:var(--ok-bg) !important;color:var(--ok) !important;border-color:transparent !important}
html .type-mixed, html .lp-badge-watch, html .hd-mixed{background:var(--warn-bg) !important;color:var(--warnc) !important;border-color:transparent !important}
html .type-unsafe, html .lp-badge-avoid, html .hd-warn{background:var(--bad-bg) !important;color:var(--bad) !important;border-color:transparent !important}

/* Sidebar */
html .sm-row, html .warning-item, html .trend-item{background:transparent !important;border-color:var(--line) !important}
html .sm-country, html .w-head-left, html .trend-name{color:var(--ink) !important}
html .w-sub, html .trend-count, html .sm-detail-why, html .trend-detail-why{color:var(--brown) !important}
html .warning-item{background:var(--sand) !important;border:1px solid var(--line) !important;border-radius:14px !important}

/* Inputs */
html input[type=text], html input[type=search], html input[type=email], html input[type=password], html textarea, html select,
html .form-input, html .map-search-input, html .biz-search, html .twins-search, html .ep-input{
  background:var(--paper) !important;color:var(--ink) !important;border:1px solid var(--border2) !important;
}
html input::placeholder, html textarea::placeholder{color:#8C7461 !important}

/* Ticker → calm ink bar */
html .warn-ticker{background:var(--ink) !important;border:0 !important}
html .warn-ticker-item{color:var(--sand) !important;font-weight:500 !important}
html .warn-ticker-dot{background:var(--ochre) !important;box-shadow:none !important}

/* Mobile bottom nav */
html .mbn-inner{background:var(--ink) !important;border:0 !important;border-radius:999px !important;box-shadow:0 12px 30px rgba(43,26,16,.28) !important}
html .mbn-btn{color:#E9D6BD !important;font-family:var(--sans) !important;font-weight:700 !important;letter-spacing:0 !important;text-transform:none !important}
html .mbn-btn.active{color:var(--ink) !important;background:var(--ochre) !important;border-radius:999px !important}
html .mbn-icon{display:flex !important;justify-content:center}
html .mbn-icon svg{width:20px;height:20px}

/* Footer + social */
html .site-footer{background:var(--ink) !important;color:#E3D2BC !important;border-top:0 !important}
html .footer-logo-f{font-family:var(--display) !important;font-weight:800;color:var(--sand) !important}
html .footer-links-f button, html .footer-links-f a{color:#E9D6BD !important;background:none !important}
html .footer-links-f button:hover, html .footer-links-f a:hover{color:var(--ochre) !important}
html .footer-disclaimer, html .footer-copy{color:#BFA98F !important}
html .footer-sep{color:#6B5443 !important}
html .social-bar-full{background:var(--ink-2) !important;border-top:1px solid var(--ink-3) !important}
html .social-bar-label{color:var(--sand) !important;font-family:var(--display) !important}
html .social-bar-link{color:var(--sand) !important;background:var(--ink-3) !important;border-radius:999px !important;padding:8px 16px !important}
html .social-bar-divider{display:none !important}
html .footer-sound{all:unset;cursor:pointer;color:#E9D6BD;font-size:13px;border:1px solid var(--ink-3);border-radius:999px;padding:8px 14px;margin-top:6px}
html .footer-sound:hover{color:var(--ochre)}

/* Music: opt-in from the footer instead of a floating button */
html #afroBtn{display:none !important}

/* Modals */
html .modal-overlay, html .auth-overlay, html .warn-modal{background:rgba(43,26,16,.55) !important}

/* ── Stage 1 fixes from the screen-by-screen pass ─────────────────── */
html .hero *, html .hero-title, html .hero-tagline{text-shadow:none !important}
html .filters-bar{background:var(--sand) !important;border-bottom:1px solid var(--line) !important;backdrop-filter:none !important}
html .cotw-section{background:var(--ink) !important;border:0 !important;border-radius:var(--r) !important}
html .cotw-name{color:var(--sand) !important;font-family:var(--display) !important;font-weight:800 !important;font-size:28px !important}
html .cotw-label{color:var(--ochre) !important}
html .cotw-score{color:#A9D3B2 !important}
html .cotw-desc{color:#E3D2BC !important}
html .profile-hero{background:var(--ink) !important;background-image:none !important}
html .p-name{color:var(--sand) !important}
html .p-handle{color:#D9C4A8 !important}
html .warning-item{padding:10px 12px !important;margin-bottom:8px !important}
html .warning-banner{background:var(--bad-bg) !important;border-color:transparent !important}
html .vc-photo, html .vc-photo-fallback, html .media-thumb, html .media-thumb-fallback{background:var(--sand-2) !important}
html #leafletMap{background:#E9E1D3 !important}
html .leaflet-container{font-family:var(--sans) !important}

/* ── Stage 2: homepage ─────────────────────────────────────────────── */
html .sr-only{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html .hero2{position:relative;margin:16px auto 0;width:calc(100% - 48px);max-width:1392px;height:clamp(460px,62vh,640px);border-radius:32px;overflow:hidden;background:#6E4A2F;display:flex;align-items:flex-end}
html .hero2-media, html .hero2-media img{position:absolute;inset:0;width:100%;height:100%}
html .hero2-media img{object-fit:cover;object-position:center 40%}
html .hero2-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,26,16,0) 30%,rgba(43,26,16,.55) 68%,rgba(43,26,16,.82) 100%)}
html .hero2-copy{position:relative;padding:0 64px 88px;max-width:980px}
html .hero2-title{margin:0 !important;color:#FFF8EE !important;font-family:var(--display) !important;font-weight:800 !important;font-size:clamp(48px,7.4vw,112px) !important;line-height:.92 !important;letter-spacing:-.04em !important;text-shadow:0 2px 24px rgba(43,26,16,.35) !important}
html .hero2-sub{margin:22px 0 0;color:#F6E9D6;font-size:clamp(16px,1.5vw,21px);line-height:1.55;max-width:640px}
html .hero2-search{position:relative;z-index:2;margin:-44px auto 0;width:min(880px,calc(100% - 48px));height:88px;border-radius:999px;background:var(--paper);box-shadow:0 18px 40px rgba(43,26,16,.18);display:flex;align-items:center;gap:14px;padding:0 12px 0 30px;box-sizing:border-box;color:var(--ink)}
html .hero2-search input{flex:1;min-width:0;border:0 !important;background:transparent !important;font-size:19px !important;color:var(--ink) !important;outline:none;box-shadow:none !important;padding:0 !important}
html .hero2-search button{height:64px;padding:0 36px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:700;font-size:17px;cursor:pointer}
html .hero2-search button:hover{background:var(--terra)}
html .hero2-proof{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:28px 16px 0}
html .hero2-proof span{padding:12px 20px;border-radius:999px;background:var(--sand-2);font-size:16px;color:var(--ink)}
html .hero2-proof strong{font-family:var(--display);font-size:19px;font-weight:800}
html .hero-join{text-align:center;margin:18px 16px 8px;color:var(--brown) !important;font-size:15px}
html .hero-join button{color:var(--terra-d) !important;font-weight:700;text-decoration:underline;background:none;border:0;cursor:pointer;font-size:inherit}
html .warn-ticker{margin-top:40px}

html .top-rated{margin:48px 0 40px}
html .tr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}
html .tr-head h2{margin:0;font-family:var(--display) !important;font-weight:800;font-size:clamp(34px,4vw,56px);letter-spacing:-.04em;color:var(--ink)}
html .tr-all{background:none;border:0;color:var(--terra-d);font-weight:700;font-size:16px;cursor:pointer;white-space:nowrap}
html .tr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
html .tr-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;background:var(--paper);border-radius:24px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
html .tr-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(43,26,16,.12)}
html .tr-card:focus-visible{outline:3px solid var(--ochre)}
html .tr-media{position:relative;display:block;height:280px}
html .tr-media img{width:100%;height:100%;object-fit:cover;display:block}
html .tr-badge{position:absolute;top:14px;left:14px;padding:7px 13px;border-radius:999px;background:var(--paper);font-weight:700;font-size:14px}
html .tr-safe{color:var(--ok)} html .tr-watch{color:var(--warnc)} html .tr-warn, html .tr-avoid{color:var(--bad)}
html .tr-body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 22px}
html .tr-name{font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.02em;color:var(--ink)}
html .tr-line{font-size:15px;line-height:1.5;color:var(--brown)}
@media (max-width:1000px){ html .tr-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:768px){
  html .hero2{width:calc(100% - 24px);margin-top:8px;height:auto;aspect-ratio:4/5;max-height:560px;border-radius:26px}
  html .hero2-copy{padding:0 22px 64px}
  html .hero2-search{height:64px;margin-top:-32px;width:calc(100% - 40px);padding:0 8px 0 18px}
  html .hero2-search input{font-size:16px !important}
  html .hero2-search button{height:48px;padding:0 20px;font-size:15px}
  html .hero2-proof{gap:8px;margin-top:20px}
  html .hero2-proof span{padding:9px 14px;font-size:14px}
  html .hero2-proof strong{font-size:16px}
  html .tr-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:-16px;padding-right:16px;scrollbar-width:none}
  html .tr-grid::-webkit-scrollbar{display:none}
  html .tr-card{flex:0 0 72%;scroll-snap-align:start}
  html .tr-media{height:220px}
}
html .warn-ticker{z-index:1 !important}
html .hero-join{margin:18px auto 8px !important;padding:0 16px;text-align:center}
html .hero2-shade{background:linear-gradient(90deg,rgba(43,26,16,.62) 0%,rgba(43,26,16,.28) 45%,rgba(43,26,16,0) 70%),linear-gradient(180deg,rgba(43,26,16,0) 45%,rgba(43,26,16,.7) 100%) !important}
html .hero2-copy{max-width:820px}
@media (max-width:768px){
  html .hero2-title{font-size:44px !important}
  html .hero2-shade{background:linear-gradient(180deg,rgba(43,26,16,0) 25%,rgba(43,26,16,.55) 55%,rgba(43,26,16,.85) 100%) !important}
  html .hero2-proof{flex-wrap:nowrap;gap:6px;margin:18px 12px 0}
  html .hero2-proof span{padding:8px 11px;font-size:12.5px;white-space:nowrap}
  html .hero2-proof strong{font-size:14px}
  html .tr-head{flex-direction:column;align-items:flex-start;gap:6px}
  html .tr-all{padding:0}
}
@media (max-width:768px){ html .hero2-proof span:nth-child(3){display:none} html .hero2-proof{flex-wrap:wrap} }
@media (max-width:1320px){ html .topbar-search{display:none !important} }
html .tr-media{height:320px;overflow:hidden}
html .tr-media img{transition:transform .5s ease}
html .tr-card:hover .tr-media img{transform:scale(1.04)}
@media (max-width:768px){ html .tr-media{height:260px} }
@media (max-width:768px){
  html #featuresStrip{flex-wrap:nowrap !important;overflow-x:auto;scrollbar-width:none}
  html #featuresStrip::-webkit-scrollbar{display:none}
  html #featuresStrip .fs-btn{flex-shrink:0 !important;width:auto !important}
}

/* ── Stage 4: in-app screens ───────────────────────────────────────── */
/* Feature page headers (Before You Go, Vibe Check, Roots, History, Twins, Business, Radar) */
html .feat-hero{background:none !important;text-align:left !important;max-width:1232px;margin:0 auto;padding:32px 24px 24px !important}
html .feat-title{font-weight:800 !important;font-size:clamp(40px,6vw,80px) !important;line-height:.95 !important;letter-spacing:-.04em !important;color:var(--ink) !important}
html .feat-sub{color:var(--brown) !important;font-size:18px !important;margin-top:12px !important;max-width:640px;margin-left:0 !important}
html .feat-back, html .about-back-btn, html .legal-back{background:var(--paper) !important;border:1px solid var(--line) !important;color:var(--ink) !important;border-radius:999px !important;padding:8px 16px !important;font-weight:500 !important;margin-bottom:18px}
html .feat-page{max-width:1232px;margin:0 auto}

/* Briefing search */
html .briefing-search-box{display:flex;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 8px 8px 22px;margin-bottom:28px;max-width:720px}
html .briefing-input{flex:1;border:0 !important;background:transparent !important;font-size:17px !important;padding:8px 0 !important;box-shadow:none !important}
html .btn-roots{background:var(--ink) !important;color:var(--paper) !important;border:0 !important;border-radius:999px !important;font-weight:700 !important}
html .briefing-result{background:none !important;border:0 !important;padding:0 !important}

/* Briefing (bx-) */
html .bx-hero{position:relative;border-radius:30px;overflow:hidden;background:var(--ink);color:var(--paper);min-height:360px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:40px}
html .bx-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html .bx-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(43,26,16,.8),rgba(43,26,16,.35) 60%,rgba(43,26,16,.1))}
html .bx-plain::after{content:"";position:absolute;right:-90px;top:-90px;width:380px;height:380px;border-radius:50%;background:var(--ink-2);box-shadow:0 0 0 60px rgba(58,37,23,.55),0 0 0 120px rgba(58,37,23,.3)}
html .bx-hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;max-width:720px}
html .bx-chips{display:flex;flex-wrap:wrap;gap:8px}
html .bx-chip{padding:7px 14px;border-radius:999px;background:var(--paper);font-weight:700;font-size:14px}
html .bx-soft{background:rgba(255,248,238,.16);color:var(--paper);font-weight:500}
html .bx-title{margin:0 !important;color:var(--paper) !important;font-weight:800 !important;font-size:clamp(34px,5vw,72px) !important;line-height:.95 !important;letter-spacing:-.04em !important}
html .bx-lead{margin:0;color:#F6E9D6;font-size:18px;line-height:1.55}
html .bx-score{position:relative;z-index:1;flex-shrink:0;width:220px;border-radius:24px;background:var(--paper);color:var(--ink);padding:22px}
html .bx-score-lbl{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--muted-2)}
html .bx-score-num{font-family:var(--display);font-weight:800;font-size:96px;line-height:.9;letter-spacing:-.06em}
html .bx-score-sub{font-size:13px;color:var(--muted-2)}
html .bx-ok{color:var(--ok) !important} html .bx-watch{color:var(--warnc) !important} html .bx-bad{color:var(--bad) !important}
html .bx-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;margin-top:24px}
html .bx-card{grid-column:span 4;background:var(--paper);border-radius:24px;padding:26px;color:var(--ink)}
html .bx-why{grid-column:span 7} html .bx-dark{grid-column:span 5;background:var(--ink);color:var(--sand)}
html .bx-card h3{margin:0 0 14px;font-family:var(--display) !important;font-weight:800;font-size:24px;letter-spacing:-.02em}
html .bx-dark h3{color:var(--sand)}
html .bx-big{font-size:17px;line-height:1.7;margin:0 0 16px}
html .bx-facts{background:var(--sand-2);border-radius:16px;padding:16px 18px;font-size:14px;display:flex;flex-direction:column;gap:6px}
html .bx-small{font-size:13px;color:var(--muted-2)}
html .bx-bar{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
html .bx-bar-row{display:flex;justify-content:space-between;font-size:15px}
html .bx-bar-row b{font-family:var(--display);font-size:17px}
html .bx-track{height:8px;border-radius:99px;background:var(--ink-3);overflow:hidden;display:block}
html .bx-track span{display:block;height:100%;background:var(--ochre);border-radius:99px}
html .bx-dl dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);padding-top:10px;border-top:1px solid var(--sand-2)}
html .bx-dl dd{margin:2px 0 10px;font-size:15px}
html .bx-warn{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
html .bx-warn li{display:flex;gap:10px;line-height:1.5;font-size:15px}
html .bx-warn li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--terra);margin-top:8px;flex-shrink:0}
html .bx-tip{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--sand-2);font-size:14px}
html .bx-biz{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
html .bx-biz li{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--sand-2);font-size:15px}
html .bx-biz span{color:var(--brown);font-size:14px}
html .bx-biz a{font-size:14px;font-weight:700}
html .bx-link{background:none;border:0;color:var(--terra-d);font-weight:700;cursor:pointer;padding:0;font-size:15px}
html .bx-cta{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 8px}
html .bx-btn{display:inline-flex;align-items:center;padding:13px 22px;border-radius:999px;background:var(--terra);color:var(--paper) !important;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:15px}
html .bx-ghost{background:var(--paper);color:var(--ink) !important;border:1px solid var(--line)}
@media (max-width:900px){ html .bx-why, html .bx-dark, html .bx-card{grid-column:span 12} }
@media (max-width:640px){
  html .bx-hero{flex-direction:column;align-items:flex-start;padding:26px 20px;border-radius:24px;min-height:0}
  html .bx-score{width:100%;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;padding:16px 18px}
  html .bx-score-lbl{width:100%} html .bx-score-num{font-size:64px}
  html .bx-card{padding:20px;border-radius:20px} html .bx-grid{gap:14px}
}

/* Places & Businesses cards */
html .venue-card{border-radius:24px !important;border:0 !important;background:var(--paper) !important}
html .venue-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(43,26,16,.12) !important}
html .vc-photo{height:210px !important}
html .vc-cat-badge, html .vc-price-badge{background:var(--paper) !important;color:var(--ink) !important;backdrop-filter:none !important;font-weight:700 !important;text-transform:capitalize}
html .vc-photo-fallback{font-size:0 !important;background:var(--sand-2) !important}
html .vc-name{font-family:var(--display) !important;font-weight:800 !important;font-size:20px !important;letter-spacing:-.02em;color:var(--ink) !important}
html .vc-black-owned{background:var(--ink) !important;color:var(--sand) !important;font-size:11px !important}
html .vc-loc, html .vc-desc, html .vc-review-cnt, html .vc-owner{color:var(--brown) !important}
html .vc-desc{font-size:14px !important}
html .vc-btn{border-radius:999px !important;font-weight:700 !important;font-size:13px !important}
html .vc-btn-visit{background:var(--terra) !important;color:var(--paper) !important;border:0 !important}
html .vc-btn-venue, html .vc-btn-report{background:var(--paper) !important;color:var(--ink) !important;border:1px solid var(--line) !important}
html .venue-featured{border-radius:28px !important}
html .vf-badge{background:var(--paper) !important;color:var(--ink) !important}
html .vf-name{font-family:var(--display) !important;font-weight:800 !important}
html .vf-visit-btn{background:var(--terra) !important;color:var(--paper) !important;border-radius:999px !important}

/* Community / destination notes */
html .exp-card{border:0 !important;border-radius:24px !important;padding:24px !important}
html .exp-card.safe, html .exp-card.mixed, html .exp-card.unsafe{border-left:0 !important}
html .exp-thumb{background:var(--sand-2) !important;border-radius:16px !important;border:0 !important}
html .exp-title{font-family:var(--display) !important;font-weight:800 !important;font-size:21px !important;letter-spacing:-.02em}
html .exp-type-badge{border-radius:999px !important;font-weight:700 !important;letter-spacing:0 !important;text-transform:none !important}
html .action-btn, html .m-action{background:var(--sand) !important;border:1px solid var(--line) !important;color:var(--ink) !important;border-radius:999px !important}
html .media-card{border:0 !important;border-radius:22px !important;overflow:hidden}
html .media-type-tag{background:var(--paper) !important;color:var(--ink) !important;font-weight:700 !important}
html .mt-play{background:var(--paper) !important;color:var(--ink) !important}
html .btn-watch{background:var(--terra) !important;color:var(--paper) !important}

/* Map screen */
html .map-stat-chip{border:0 !important;border-radius:20px !important}
html .msc-num{font-family:var(--display) !important;font-weight:800 !important;font-size:36px !important;letter-spacing:-.03em}
html .msc-lbl{color:var(--brown) !important;letter-spacing:.04em !important}
html #leafletMap{border-radius:26px !important}
html .map-legend{color:var(--brown) !important}
html .leaflet-popup-content-wrapper, html .leaflet-popup-tip{background:var(--paper) !important;color:var(--ink) !important;border-radius:16px !important}

/* Sign-up / sign-in pop-up */
html .auth-box{padding:0 !important;overflow:hidden;max-width:440px !important}
html .auth-photo{display:block;width:100%;height:170px;object-fit:cover;object-position:center 30%}
html .auth-box > *:not(.auth-photo){margin-left:28px;margin-right:28px}
html .auth-box > *:last-child{margin-bottom:28px}
html .auth-logo-row{margin-top:20px !important;font-family:var(--display) !important;font-weight:800 !important;color:var(--ink) !important;font-size:20px !important}
html .auth-logo-row .logo-mark{width:30px;height:30px;border-radius:9px;background:var(--terra);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;font-size:15px}
html .auth-tab{border-radius:999px !important}
html .auth-tab.active{background:var(--ink) !important;color:var(--sand) !important}
html .google-btn{background:var(--paper) !important;color:var(--ink) !important;border:1px solid var(--line) !important;border-radius:999px !important}
html .briefing-search-box .briefing-input, html .hero2-search input{border:0 !important;background:transparent !important;box-shadow:none !important}
html .briefing-search-box{margin:0 0 28px !important}
html .vc-actions{flex-wrap:wrap}
html .vc-btn{white-space:nowrap;text-decoration:none !important;padding:9px 16px !important}
html .vf-chip{background:var(--paper) !important;color:var(--ink) !important;border:1px solid var(--line) !important;border-radius:999px !important;font-weight:600 !important}
html .vf-chip.active{background:var(--ink) !important;color:var(--sand) !important;border-color:var(--ink) !important}
html .auth-tabs{background:var(--sand-2) !important;border:0 !important;border-radius:999px !important;padding:4px !important}
html .auth-tab{color:var(--ink) !important;background:transparent !important}
html .auth-tab.active{background:var(--ink) !important;color:var(--sand) !important}
@media (max-width:768px){ html .tr-grid{margin-right:0 !important;padding-right:0 !important} html .top-rated{overflow:hidden} }

html .sr-tiles{filter:saturate(.45) sepia(.18) brightness(1.02)}

/* SR_A11Y_V694: colour contrast fixes (WCAG 2 AA) */
:root{--gold:#9A4321 !important}
.cotw-btn,.aff-inline-btn,.partner-submit,#cvtFeed,#cvtFeed .btn,#cvtFeed button,.tier-btn-primary{color:#fff !important}
.tier-badge{color:#15803d !important}
.biz-cat-hotel{color:#6b21a8 !important}.biz-cat-food{color:#7a3b0c !important}.biz-cat-tour{color:#0f5f58 !important}.biz-cat-spa{color:#9d174d !important}.biz-cat-exp{color:#166534 !important}
.aff-sponsored{opacity:1 !important;color:#6B5443 !important}
