:root {
  /* Light theme tokens override */
  --bg: #f8f9fa;
  --surface: #ffffff;
  --text: #0f172a;
  --primary: #0d6efd;
  --secondary: #6c757d;
  --accent: #0d6efd;

  --hero-bg: #f6f8ff;
  --hero-fg: #0f172a;
  --cta: #0d6efd;
  --cta-hover: #0b5ed7;

  --gray-100: #f8f9fa;
  --gray-200: #e9ecef;
  --gray-300: #dee2e6;
  --gray-400: #ced4da;
  --gray-500: #adb5bd;
  --gray-600: #6c757d;
  --gray-700: #495057;

  --success: #198754;
  --danger: #dc3545;
  --warning: #ffc107;

  --link: var(--primary);
  --link-hover: #0b5ed7;

  --accent-hover: #0b5ed7;
  --accent-deep: #004085;

  --card-accent: #0d6efd;
  --card-border: #e6eaf2;
  --card-border-hover: #d6deef;
  --card-bg-top: #ffffff;
  --card-bg-bottom: #f9fbff;
  --pill-bg: #eef2ff;
  --pill-border: #dde5ff;
  --chip-bg: #f8fafc;
  --chip-border: #e5e7eb;
  --muted: #475569;
}

html { color-scheme: light; background-color: var(--bg); }
body { background: var(--bg); color: var(--text); }

/* Light theme overrides for the search hero and sections */
.search-page {
  background-color: var(--bg);
  background-image: linear-gradient(180deg, color-mix(in srgb, var(--hero-bg) 92%, #ffffff 8%), color-mix(in srgb, var(--hero-bg) 50%, var(--bg) 50%) 40%, var(--bg) 100%);
}

/* Softer footer text and border on light */
.search-page .disclaimer-footer {
  background: transparent;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  color: rgba(15, 23, 42, 0.7);
}
.search-page .disclaimer-footer a { color: #0d6efd; }
.search-page .disclaimer-footer a:hover { color: #0b5ed7; }

/* Ensure content panels are light */
.search-page .accordion-content { background: var(--surface) !important; }
.search-page .map-section { border-color: rgba(15, 23, 42, 0.12); box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08); }

/* Cards: remove greyish gradient in light mode */
.search-page .result-card {
  background: #ffffff !important;
  border-color: var(--gray-300) !important;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08) !important;
}
.search-page .summary-card { background: #ffffff !important; }

/* Accordion headers and buttons: ensure dark readable text */
body.search-page .results-container .accordion-header {
  background: var(--surface) !important;
  border-bottom: 1px solid var(--gray-300) !important;
}
body.search-page .results-container .accordion-header h3,
body.search-page .results-container .accordion-header h4 { color: var(--text) !important; }
body.search-page .results-container .accordion-toggle { color: var(--primary) !important; }
.accordion-header--button { color: var(--text) !important; }


/* Light hero palette */
.hero {
  background-color: var(--hero-bg) !important;
  background-image: radial-gradient(1200px 600px at 20% -10%, rgba(13, 110, 253, 0.08) 0%, transparent 60%),
                    radial-gradient(1000px 500px at 90% 10%, rgba(13, 110, 253, 0.06) 0%, transparent 55%),
                    linear-gradient(180deg, var(--hero-bg), color-mix(in srgb, var(--hero-bg) 40%, var(--bg) 60%));
  color: var(--text) !important;
}

.brand-logo { filter: drop-shadow(0 2px 6px rgba(0,0,0,.12)) brightness(1) !important; }

.search-field {
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid var(--gray-300) !important;
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.06) !important;
}
.search-icon { color: var(--primary) !important; }
.hero-input { color: var(--text) !important; }
.hero-input::placeholder { color: var(--gray-600) !important; }

.hero-compare-button {
  border-color: rgba(15, 23, 42, 0.18) !important;
  color: var(--text) !important;
}
.hero-compare-button:hover {
  background: rgba(13, 110, 253, 0.08) !important;
  border-color: rgba(13, 110, 253, 0.45) !important;
  color: var(--text) !important;
}
.hero-compare-button[disabled] {
  border-color: rgba(15, 23, 42, 0.12) !important;
  background: rgba(255,255,255,.75) !important;
}
.hero-compare-note { color: var(--gray-600) !important; }
.hero-compare-panel {
  background: rgba(255,255,255,.98) !important;
  border: 1px solid var(--gray-300) !important;
  box-shadow: 0 20px 40px rgba(15, 23, 42, .12) !important;
}
.hero-compare-input {
  background: #ffffff !important;
  border: 1px solid var(--gray-300) !important;
  color: var(--text) !important;
}
.hero-compare-input::placeholder { color: var(--gray-600) !important; }
.hero-compare-input:focus { border-color: #0d6efd !important; box-shadow: 0 0 0 2px rgba(13,110,253,.18) !important; }

/* Autocomplete inside hero, light version */
.hero .autocomplete-suggestions { background: #ffffff !important; border-color: var(--gray-300) !important; box-shadow: var(--shadow-md); }
.hero .autocomplete-item { border-bottom-color: var(--gray-200) !important; }
.hero .autocomplete-item:hover, .hero .autocomplete-item.focused { background-color: var(--gray-100) !important; }
.hero .suggestion-label { color: var(--text) !important; }
.hero .suggestion-context { color: var(--gray-600) !important; }

/* Account badge - light theme */
.account-badge-floating .account-badge {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #0f172a !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12) !important;
  border: 1px solid #e2e8f0 !important;
}
.account-badge__label,
.account-badge__caption { color: #334155 !important; }
.account-badge__hint { color: #1f2937 !important; }
.account-badge__email,
.account-badge__value { color: #0f172a !important; }

/* Ensure all non-CTA text in the badge is dark and high-contrast */
.account-badge-floating .account-badge { color: #0f172a !important; }
.account-badge-floating .account-badge * { text-shadow: none !important; }
.account-badge-floating .account-badge [class^="account-badge__"],
.account-badge-floating .account-badge [class*=" account-badge__"] {
  color: #0f172a !important;
  opacity: 1 !important;
}
/* Keep CTA text white */
.account-badge-floating .account-badge .account-badge__cta,
.account-badge-floating .account-badge .account-badge__cta * {
  color: #ffffff !important;
}
.account-badge__cta.account-badge__cta--secondary {
  background: #0040858d !important;
}
.account-badge__cta { background: #0d6efd !important; color: #ffffff !important; }
.account-badge__cta:hover { filter: none !important; background: #0b5ed7 !important; }
.account-badge__cta--secondary { background: transparent !important; color: #0d6efd !important; border-color: rgba(13,110,253,0.5) !important; }

/* Leaflet controls - light theme tidy */
.leaflet-bar { background: #ffffff !important; border: 1px solid #e5e7eb !important; box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08) !important; }
.leaflet-bar a { background: #ffffff !important; color: #0f172a !important; border-bottom: 1px solid #e5e7eb !important; }
.leaflet-bar a:hover { background: #f3f4f6 !important; }
.leaflet-control-layers { background: #ffffff !important; color: #0f172a !important; border: 1px solid #e5e7eb !important; }
.leaflet-control-layers-separator { border-top: 1px solid #e5e7eb !important; }

/* Hero compare suggestions - light */
.hero-compare-suggestions { background: #ffffff !important; border-color: var(--gray-300) !important; box-shadow: var(--shadow-md) !important; }
.hero-compare-suggestion { color: #0f172a !important; }
.hero-compare-suggestion__label { color: #0f172a !important; }
.hero-compare-suggestion__context { color: #64748b !important; }
.hero-compare-suggestion--empty { color: #475569 !important; }
.hero-compare-suggestion:hover, .hero-compare-suggestion.is-focused { background: rgba(13,110,253,0.08) !important; }
