/* Visitor light mode. Active only when <html data-theme="light"> (set from
   localStorage by the inline head script). Default is dark. Loaded last. */
:root:root[data-theme="light"] {
  --bg: #f7f8fa; --surface: #ffffff; --surface-2: #f3f4f6; --ink-band: #111827;
  --ink: #111827; --ink-2: #374151; --ink-3: #4b5563;
  --line: #e5e7eb; --line-2: #eef0f3;
  --brand: #a86b00; --brand-dark: #8a5800; --brand-tint: #fdf3dc;
  --accent: #a86b00; --accent-tint: #fdf3dc; --gold: #d99a1e;
  --cta: #d99a1e; --cta-dark: #c4870f; --cta-tint: #fdf3dc; --cta-ink: #111827; --brand-ink: #111827;
  --cool: #0d9488; --cool-tint: rgba(13,148,136,.08);
  --ok: #047857; --ok-tint: #ecfdf5; --warn: #a86b00; --warn-tint: #fdf3dc; --bad: #b91c1c; --bad-tint: #fef2f2;
  --shadow-1: 0 1px 2px rgba(17,24,39,.05), 0 2px 8px rgba(17,24,39,.05);
  --shadow-2: 0 8px 24px rgba(17,24,39,.10);
  --shadow-3: 0 16px 40px rgba(17,24,39,.14);
  color-scheme: light;
}
:root:root[data-theme="light"] .rd-page {
  --bg: #f7f8fa; --surface: #ffffff; --surface-2: #f3f4f6; --ink-band: #111827;
  --ink: #111827; --ink-2: #374151; --ink-3: #4b5563;
  --line: #e5e7eb; --line-2: #eef0f3;
  --brand: #a86b00; --brand-dark: #8a5800; --brand-tint: #fdf3dc;
  --accent: #a86b00; --accent-tint: #fdf3dc; --gold: #d99a1e;
  --cta: #d99a1e; --cta-dark: #c4870f; --cta-tint: #fdf3dc; --cta-ink: #111827; --brand-ink: #111827;
  --cool: #0d9488; --cool-tint: rgba(13,148,136,.08);
  --ok: #047857; --ok-tint: #ecfdf5; --warn: #a86b00; --warn-tint: #fdf3dc; --bad: #b91c1c; --bad-tint: #fef2f2;
  --shadow-1: 0 1px 2px rgba(17,24,39,.05), 0 2px 8px rgba(17,24,39,.05);
  --shadow-2: 0 8px 24px rgba(17,24,39,.10);
  --shadow-3: 0 16px 40px rgba(17,24,39,.14);
  color-scheme: light;
  background: #f7f8fa;
}
:root:root[data-theme="light"] body { background: #f7f8fa; background-image: none; color: #111827; }
:root:root[data-theme="light"] a { color: #8a5800; }
:root:root[data-theme="light"] a:hover { color: #6b4400; }
:root:root[data-theme="light"] .site-header { background: rgba(255,255,255,.88); border-bottom: 1px solid #e5e7eb; box-shadow: 0 2px 12px rgba(17,24,39,.06); }
:root:root[data-theme="light"] .subnav { background: #ffffff; border-bottom: 1px solid #e5e7eb; }
:root:root[data-theme="light"] .subnav a, :root:root[data-theme="light"] .site-nav a { color: #374151; }
:root:root[data-theme="light"] .subnav a:hover { background: rgba(13,148,136,.08); color: #0f766e; }
:root:root[data-theme="light"] .site-nav a:hover { background: #f3f4f6; color: #111827; }
:root:root[data-theme="light"] .brand, :root:root[data-theme="light"] .brand:hover { color: #111827; }
:root:root[data-theme="light"] .brand__top { color: #a86b00; }
:root:root[data-theme="light"] .site-footer { background: #ffffff; color: #4b5563; border-top: 1px solid #e5e7eb; }
:root:root[data-theme="light"] .site-footer h3 { color: #111827; }
:root:root[data-theme="light"] .site-footer a { color: #4b5563; }
:root:root[data-theme="light"] .site-footer a:hover { color: #111827; }
:root:root[data-theme="light"] .footer-bottom { border-top-color: #e5e7eb; }
:root:root[data-theme="light"] .card, :root:root[data-theme="light"] .listing, :root:root[data-theme="light"] .filter-panel, :root:root[data-theme="light"] .type-tile, :root:root[data-theme="light"] .steps__item, :root:root[data-theme="light"] .answer-block, :root:root[data-theme="light"] .faq,
:root:root[data-theme="light"] .key-facts table, :root:root[data-theme="light"] .rd-page .listing, :root:root[data-theme="light"] .rd-filters, :root:root[data-theme="light"] .rd-page .card, :root:root[data-theme="light"] .rd-page .faq, :root:root[data-theme="light"] .rd-page details,
:root:root[data-theme="light"] .fcp .card, :root:root[data-theme="light"] [class*="fcp-"][class*="card"], :root:root[data-theme="light"] .fcp-mock {
  background: #ffffff; background-image: none; border: 1px solid #e5e7eb; box-shadow: 0 1px 2px rgba(17,24,39,.05), 0 2px 8px rgba(17,24,39,.05);
}
:root:root[data-theme="light"] .listing:hover, :root:root[data-theme="light"] .rd-page .listing:hover, :root:root[data-theme="light"] .type-tile:hover { border-color: #d99a1e; box-shadow: 0 8px 24px rgba(17,24,39,.10); }
:root:root[data-theme="light"] .listing--featured { border-color: #e8c06a; background: linear-gradient(180deg, #fffaf0, #fff 40%); }
:root:root[data-theme="light"] .key-facts th { background: #f7f8fa; }
:root:root[data-theme="light"] .answer-block.rd-lead { background: none; border: 0; box-shadow: none; }
:root:root[data-theme="light"] .btn--primary, :root:root[data-theme="light"] .rd-page .btn--primary { background: #d99a1e; border-color: #d99a1e; color: #111827; box-shadow: 0 4px 12px rgba(217,154,30,.25); }
:root:root[data-theme="light"] .btn--primary:hover, :root:root[data-theme="light"] .rd-page .btn--primary:hover { background: #c4870f; border-color: #c4870f; color: #111827; }
:root:root[data-theme="light"] .site-nav a.btn--primary { color: #111827; }
:root:root[data-theme="light"] .btn--ghost, :root:root[data-theme="light"] .rd-page .btn--ghost { background: #ffffff; border-color: #d1d5db; color: #111827; }
:root:root[data-theme="light"] .btn--ghost:hover, :root:root[data-theme="light"] .rd-page .btn--ghost:hover { border-color: #d99a1e; color: #111827; background: #fffaf0; }
:root:root[data-theme="light"] .btn--quiet { color: #374151; }
:root:root[data-theme="light"] .chip, :root:root[data-theme="light"] .rd-page .chip { background: #ffffff; border-color: #e5e7eb; color: #374151; }
:root:root[data-theme="light"] .chip .muted, :root:root[data-theme="light"] .rd-page .chip .muted { color: #0f766e; }
:root:root[data-theme="light"] a.chip:hover { background: rgba(13,148,136,.08); border-color: #0d9488; color: #0f766e; }
:root:root[data-theme="light"] .chip--solid, :root:root[data-theme="light"] .rd-page .chip--solid { background: #111827; border-color: #111827; color: #fff; }
:root:root[data-theme="light"] .chip--ok, :root:root[data-theme="light"] .rd-page .chip--ok { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
:root:root[data-theme="light"] .chip--gold, :root:root[data-theme="light"] .chip--brand, :root:root[data-theme="light"] .badge-featured { background: #fdf3dc; border-color: #e8c06a; color: #8a5800; }
:root:root[data-theme="light"] .stars, :root:root[data-theme="light"] .rd-page .rd-rating .stars { color: #c4870f; }
:root:root[data-theme="light"] input:not([type=checkbox]):not([type=radio]):not([type=range]), :root:root[data-theme="light"] select, :root:root[data-theme="light"] textarea { background-color: #ffffff; border-color: #d1d5db; color: #111827; }
:root:root[data-theme="light"] input:focus, :root:root[data-theme="light"] select:focus, :root:root[data-theme="light"] textarea:focus { border-color: #0d9488; box-shadow: 0 0 0 3px rgba(13,148,136,.15); }
:root:root[data-theme="light"] ::placeholder { color: #6b7280; }
:root:root[data-theme="light"] .eyebrow { color: #0f766e; }
:root:root[data-theme="light"] .section--ink, :root:root[data-theme="light"] .band { background: #eef1f5; }
:root:root[data-theme="light"] .steps__icon { background: rgba(13,148,136,.08); border-color: rgba(13,148,136,.25); color: #0d9488; }
:root:root[data-theme="light"] .plan__tag { background: rgba(13,148,136,.1); color: #0f766e; border-color: rgba(13,148,136,.3); }
:root:root[data-theme="light"] .pagination [aria-current="page"] { background: #d99a1e; border-color: #d99a1e; color: #111827; }
:root:root[data-theme="light"] .muted, :root:root[data-theme="light"] .small.muted { color: #4b5563; }
/* city redesign */
:root:root[data-theme="light"] .rd-facts .rd-fact { background: #ffffff; border-color: #e5e7eb; }
:root:root[data-theme="light"] .rd-fact__n { color: #8a5800; }
:root:root[data-theme="light"] .rd-page .rd-fact__ic { color: #0d9488; }
:root:root[data-theme="light"] .rd-page .rd-card__stats div { background: #f7f8fa; border-color: #e5e7eb; }
:root:root[data-theme="light"] .rd-card__stats dd { color: #8a5800; }
:root:root[data-theme="light"] .rd-page .listing__title a { color: #111827; }
:root:root[data-theme="light"] .rd-card__rank { color: #f5b942; }
/* heroes keep their photo + dark overlay: keep their text light */
:root:root[data-theme="light"] .rd-hero h1, :root:root[data-theme="light"] .page-hero__inner h1, :root:root[data-theme="light"] .page-hero__inner, :root:root[data-theme="light"] .rd-hero .answer-block.rd-lead { color: #fff; }
:root:root[data-theme="light"] .rd-page .rd-hero .rd-cta__alt { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.45); color: #fff; }
/* for-caterers */
:root:root[data-theme="light"] .fcp-hero { background: radial-gradient(60rem 30rem at 85% -10%, rgba(217,154,30,.14), transparent 60%), #f7f8fa; }
:root:root[data-theme="light"] .fcp-search { background: #fff; border-color: #d1d5db; box-shadow: 0 8px 24px rgba(17,24,39,.08); }
:root:root[data-theme="light"] .fcp-mock { box-shadow: 0 20px 40px rgba(17,24,39,.12); }
:root:root[data-theme="light"] .fcp-mock__bar { background: #f3f4f6; }
:root:root[data-theme="light"] .fcp-pill { background: #fdf3dc; color: #8a5800; border-color: #e8c06a; }
:root:root[data-theme="light"] .fcp-mock__btn--gold { background: #d99a1e; border-color: #d99a1e; color: #111827; }
:root:root[data-theme="light"] .fcp { --fcp-g: #a86b00; }
/* dashboard shell keeps working in light: rail stays dark-on-light */
:root:root[data-theme="light"] .shell { --rail: #ffffff; --rail-2: #f3f4f6; --rail-line: #e5e7eb; --rail-ink: #4b5563; --rail-ink-hi: #111827; --work-bg: #f7f8fa; }

/* the toggle itself (all themes) */
.tt-btn { display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 999px; border: 1px solid var(--line);
  background: transparent; color: var(--ink-2); cursor: pointer; padding: 0; flex: none; }
.tt-btn:hover { color: var(--ink); border-color: var(--brand); }
.tt-btn:focus-visible { outline: 2px solid var(--cool, #2dd4bf); outline-offset: 2px; }
.tt-btn svg { width: 1.1rem; height: 1.1rem; }
.tt-btn .tt-sun { display: none; }
html[data-theme="light"] .tt-btn .tt-sun { display: block; }
html[data-theme="light"] .tt-btn .tt-moon { display: none; }
.tt-foot { display: none; align-items: center; gap: .5rem; font-size: .85rem; }
@media (max-width: 56rem) { .site-nav .tt-btn { display: none; } .tt-foot { display: inline-flex; } }
/* photo heroes stay dark: keep their copy light */
:root:root[data-theme="light"] .hero--photo, :root:root[data-theme="light"] .hero--photo p, :root:root[data-theme="light"] .hero--photo .muted, :root:root[data-theme="light"] .hero--photo .small { color: rgba(255,255,255,.92); }
:root:root[data-theme="light"] .hero--photo a:not(.btn) { color: #f5b942; }
