/* London Free Guide — light / dark theming.
   Dark is the brand default. Light remaps the core tokens (so most text,
   borders and the opacity ladder flip automatically) plus targeted surface
   overrides for hard-coded darks. Red accent is constant in both modes.
   Load AFTER home.css and any page css. */

/* ---- logo swap + theme toggle (work in both modes) ---- */
.logo-lockup { display: inline-flex; align-items: center; }
.logo-light { display: none; }
:root[data-theme="light"] .logo-dark { display: none; }
:root[data-theme="light"] .logo-light { display: block; }

.theme-toggle {
  width: 34px; height: 34px; flex-shrink: 0; border-radius: 50%;
  border: 1px solid var(--lfg-white-15); color: var(--lfg-white-70);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .98rem; transition: color .15s, border-color .15s, background .15s;
}
.theme-toggle:hover { color: var(--lfg-white); border-color: var(--lfg-white-30); }
.theme-toggle .ti { width: 18px; height: 18px; display: block; }

/* ===================== LIGHT MODE ===================== */
:root[data-theme="light"] {
  --lfg-black: #f4f0ea;        /* page background (warm off-white) */
  --lfg-white: #1c140d;        /* primary text (warm near-black) */
  --lfg-white-90: rgba(28,20,13,0.90);
  --lfg-white-70: rgba(28,20,13,0.64);
  --lfg-white-50: rgba(28,20,13,0.48);
  --lfg-white-30: rgba(28,20,13,0.30);
  --lfg-white-15: rgba(28,20,13,0.14);
  --lfg-white-08: rgba(28,20,13,0.06);
}

/* ---- shared surfaces (home.css) ---- */
[data-theme="light"] .nav { background: rgba(244,240,234,0.82); }
[data-theme="light"] .nav-scroll { background: rgba(244,240,234,0.82); }
[data-theme="light"] .nav-scroll a:active { color: var(--lfg-black); }
[data-theme="light"] .rail-sec { background: linear-gradient(180deg,#efe8dc 0%, #f4f0ea 100%); }
[data-theme="light"] .post-img { background: #e6ded2; }
[data-theme="light"] .search { background: #ffffff; }
[data-theme="light"] .search input { color: var(--lfg-white); }
[data-theme="light"] .band { background: #efe8dc; }
[data-theme="light"] .nl-form input { background: #ffffff; }
[data-theme="light"] .nav-links a:hover { color: var(--lfg-white); }
[data-theme="light"] .pill:hover { color: var(--lfg-white); }
[data-theme="light"] .pill.toggle.on { background: var(--lfg-white); color: #f4f0ea; border-color: var(--lfg-white); }
[data-theme="light"] .loadmore { color: var(--lfg-white); }
[data-theme="light"] .nav-burger i { background: var(--lfg-white); }
[data-theme="light"] .drawer-panel { background: #ffffff; }
[data-theme="light"] .badge.guide { background: #1c140d; color: #fff; }
[data-theme="light"] .cost.ticketed { background: rgba(28,20,13,0.12); color: var(--lfg-white-90); }

/* assistant panel */
[data-theme="light"] .agent-panel { background: #ffffff; }
[data-theme="light"] .agent-input input { background: #f4f0ea; color: var(--lfg-white); }
[data-theme="light"] .agent-msg.assistant { background: rgba(28,20,13,0.07); }

/* ---- spot page surfaces ---- */
[data-theme="light"] .factcard { background: #ffffff; }
[data-theme="light"] .mapcard { background: #ffffff; }
[data-theme="light"] .mapview { background: #ece4d8; }
[data-theme="light"] .mapview .grid { background-image: radial-gradient(rgba(28,20,13,0.10) 1px, transparent 1px); }
[data-theme="light"] .gethere { background: #f3ede3; }
[data-theme="light"] .gate { background: #ffffff; }
[data-theme="light"] .gate-tip { background: rgba(28,20,13,0.06); }
[data-theme="light"] .media-frame { background: #e6ded2; }
[data-theme="light"] .hero-hook { color: var(--lfg-white); }

/* ---- guide page surfaces ---- */
[data-theme="light"] .gd-map { background: #ece4d8; }
[data-theme="light"] .gd-map .grid { background-image: radial-gradient(rgba(28,20,13,0.10) 1px, transparent 1px); }
[data-theme="light"] .gd-row { background: #ffffff; }
[data-theme="light"] .gd-cover { background: #e6ded2; }
[data-theme="light"] .gd-empty { background: #ffffff; }
[data-theme="light"] .cookiebar { background: #ffffff; box-shadow: 0 16px 44px rgba(28,20,13,0.18); }

/* soften heavy dark shadows in light mode */
[data-theme="light"] .media-frame,
[data-theme="light"] .gd-cover { box-shadow: 0 16px 40px rgba(28,20,13,0.16); }
[data-theme="light"] .agent-panel { box-shadow: 0 20px 60px rgba(28,20,13,0.22); }

/* ---- membership: account popover + magic-link form + member chip ---- */
[data-theme="light"] .account-pop { background: #faf7f2; border-color: rgba(28,20,13,0.12); box-shadow: 0 24px 60px rgba(28,20,13,0.22); }
[data-theme="light"] .account-x { color: rgba(28,20,13,0.45); }
[data-theme="light"] .account-x:hover { color: var(--lfg-black); }
[data-theme="light"] .acc-pending { background: rgba(28,20,13,0.05); }
[data-theme="light"] .acc-perks li::before { background: rgba(28,20,13,0.08); }
[data-theme="light"] .acc-confirm { border-color: rgba(28,20,13,0.25); }
[data-theme="light"] .acc-confirm:hover { border-color: var(--lfg-black); }
[data-theme="light"] .acc-actions { border-top-color: rgba(28,20,13,0.10); }
[data-theme="light"] .nav-member { background: rgba(28,20,13,0.05); border-color: rgba(28,20,13,0.14); }
[data-theme="light"] .nav-member:hover { border-color: rgba(28,20,13,0.3); }
[data-theme="light"] .ml-row input { background: #f4f0ea; color: var(--lfg-black); border-color: rgba(28,20,13,0.18); }
[data-theme="light"] .ml-row input::placeholder { color: rgba(28,20,13,0.4); }
[data-theme="light"] .ml-row input:focus { border-color: rgba(28,20,13,0.4); }
[data-theme="light"] .acc-news { background: rgba(28,20,13,0.05); }
