/* ViraWise · Light Discovery Edition
   Loaded after virawise-v2.css to retain application behavior while replacing
   the previous dark presentation system. */
:root {
  --light-paper:#f8fafc;
  --light-bg:#fff;
  --light-ink:#183049;
  --light-dark:#0d2436;
  --light-muted:#64788b;
  --light-stroke:#e2eaf1;
  --light-teal:#087e79;
  --light-teal-bright:#0b9f94;
  --light-blue:#2f689a;
  --light-shadow:0 14px 45px rgba(28,62,93,.085);
}
html {color-scheme:light;}
body {
  background:#fbfcfe!important;
  background-image:linear-gradient(180deg,#fff 0%,#f8fafb 37%,#fff 100%)!important;
  color:var(--light-ink)!important;
}
/* Limit decorative background dimming to visual effects, never the actual route loader. */
body > div.fixed.inset-0.overflow-hidden:not(#loading-view) {opacity:.16;}
body > div.fixed.inset-0.overflow-hidden .bg-emerald-500\/15 {background:rgba(94,201,176,.17)!important;}
:where(#search-view,#results-view) .glass-card {
  background:#fff!important;
  border:1px solid var(--light-stroke)!important;
  box-shadow:var(--light-shadow)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
:where(#search-view,#results-view) .glass-card:hover {
  border-color:rgba(8,126,121,.32)!important;
  box-shadow:0 18px 42px rgba(30,69,104,.11)!important;
}
#search-view {
  background:transparent!important;
  padding-top:clamp(132px,12vw,168px)!important;
  column-gap:clamp(36px,5vw,84px)!important;
}
#search-view.hidden {display:none!important;}
#search-view > nav {
  background:rgba(255,255,255,.93);
  border-bottom:1px solid rgba(219,231,238,.95);
  box-shadow:0 8px 32px rgba(22,55,79,.045);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
#search-view > nav::before {display:none!important;}
#brand-logo, #brand-logo-results {
  color:#143449!important;
  text-shadow:none!important;
  letter-spacing:-.064em!important;
}
#brand-logo::before {
  background:linear-gradient(140deg,#0c9e91,#1484aa)!important;
  color:#fff!important;
  box-shadow:0 5px 18px rgba(19,151,145,.14)!important;
  border:none!important;
}
#brand-logo-results {font-family:Manrope,sans-serif;font-size:22px!important;}
#search-view .lang-switcher {color:var(--light-dark)!important;}
#search-view > nav .glass-card {
  border:1px solid var(--light-stroke)!important;
  background:#f6f9fb!important;box-shadow:none!important;
}
#search-view > nav .text-slate-400 {color:#7e91a1!important;}
#global-nav-actions :where(button,a) {
  box-shadow:none!important;
  border-color:#dce7ee!important;
  color:var(--light-ink)!important;
}
#global-nav-actions :where(button,a).bg-emerald-500,#global-nav-actions :where(button,a).bg-emerald-600 {
  background:var(--light-teal)!important;color:white!important;border-color:transparent!important;
}
#search-view > .v2-hero-content {max-width:620px!important;}
.v2-eyebrow {
  background:#e8f7f3!important;
  border:1px solid #bde8dd!important;
  color:#0c8079!important;
  font-weight:800;letter-spacing:.11em;
}
.v2-eyebrow::before {background:#159b8c;box-shadow:0 0 0 4px rgba(30,154,136,.11);}
#search-view .v2-hero-content > h1 {
  font-size:clamp(3.5rem,6.65vw,6.9rem)!important;
  line-height:1.065!important;
  color:#142f47!important;
  letter-spacing:-.088em!important;
  margin-bottom:22px!important;
}
#search-view .v2-hero-content > h1 span:first-child {color:#132f43!important;}
#search-view .v2-hero-content > h1 span:last-child {
  background-image:linear-gradient(105deg,#0c9e89,#167ec6)!important;
}
.v2-lead {color:#5e7486!important;line-height:1.77;font-weight:500;}
#route-form {
  background:#fff!important;
  border:1px solid #dce7ed!important;
  box-shadow:0 25px 60px rgba(24,76,93,.13)!important;
  border-radius:23px!important;
}
#route-form input {
  background:#f6f9fc!important;
  border:1px solid #e0e9f0!important;
  color:#213649!important;
  font-weight:700;
}
#route-form input::placeholder {color:#8596a6!important;}
#route-form input:focus {border-color:#0c9e90!important;box-shadow:0 0 0 3px rgba(12,158,144,.11)!important;}
#route-form .fa-location-crosshairs {color:#178c88!important;}
#route-form .fa-compass {color:#0d9d90!important;}
#route-form > .flex.gap-3 button[type="submit"] {
  background:linear-gradient(110deg,#0ca394,#087e84)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(5,136,127,.2)!important;
}
#route-form > .flex.gap-3 button[type="button"] {
  background:#f0f3ff!important;color:#5262a4!important;
  border:1px solid #e0e4fb!important;box-shadow:none!important;
}
#route-form > .flex.gap-3 button:hover {filter:brightness(.98);}
#auth-status-text {color:#647c8b!important;}
#auth-status-text .text-emerald-400 {color:#087d74!important;}
.v2-presets-label {color:#6c8191!important;}
.v2-preset {
  background:#fff!important;
  border:1px solid #e0e9ef!important;
  color:#36526a!important;
  box-shadow:0 4px 14px rgba(26,57,82,.04);
}
.v2-preset:hover {background:#e8f7f5!important;border-color:#8cd6ca!important;color:#067b72!important;}
.v2-proofline {color:#708495!important;}
.v2-proofline i {color:#0a9287!important;}
/* Three rich, photographic destination tiles: Discover / Plan / Travel. */
#search-view .v2-visual.v3-photo-grid {
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.88fr)!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:15px;
  height:clamp(440px,44vw,555px)!important;
  min-height:440px!important;
  max-height:none!important;
  align-self:stretch;
  align-items:stretch;
  margin:0!important;
}
#search-view .v2-visual.v3-photo-grid::before {
  background:radial-gradient(circle,rgba(133,190,206,.16),transparent 72%);
  filter:blur(48px);
}
.v3-photo-card {
  position:relative;
  overflow:hidden;
  width:100%;height:100%;
  min-height:0;
  padding:0;
  display:block;
  text-align:left;
  background:linear-gradient(135deg,#dbe9ed,#9ab8c6);
  border:1px solid rgba(16,54,77,.07);
  border-radius:24px;
  box-shadow:0 18px 38px rgba(27,69,99,.115);
  transition:transform .25s ease,box-shadow .25s ease;
  isolation:isolate;
}
.v3-photo-card:hover {transform:translateY(-4px);box-shadow:0 22px 45px rgba(27,69,99,.18);}
.v3-photo-card img {
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;object-position:center;
  transition:transform .55s ease;
}
.v3-photo-card:hover img {transform:scale(1.045);}
.v3-photo-card::after {
  content:'';
  position:absolute;inset:0;z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(6,17,29,.31),transparent 45%,rgba(8,23,38,.78));
}
.v3-photo-main {grid-row:1/3;}
.v3-photo-top {
  position:absolute;top:20px;left:19px;z-index:2;
  font-size:9px;letter-spacing:.075em;font-weight:800;
  color:#fff;
  background:rgba(19,35,47,.35);
  border:1px solid rgba(255,255,255,.37);
  backdrop-filter:blur(8px);
  border-radius:999px;
  padding:8px 11px;
}
.v3-photo-caption {position:absolute;z-index:2;bottom:21px;left:19px;right:42px;display:flex;flex-direction:column;gap:5px;}
.v3-photo-caption strong {font-family:Manrope,sans-serif;color:white;font-size:clamp(18px,2vw,25px);font-weight:800;letter-spacing:-.045em;text-shadow:0 3px 14px rgba(0,0,0,.35);}
.v3-photo-caption small {color:rgba(255,255,255,.90);font-size:11px;font-weight:600;line-height:1.5;}
.v3-photo-arrow {
  position:absolute;bottom:23px;right:17px;z-index:2;
  width:27px;height:27px;display:grid;place-items:center;
  font-size:11px;color:white;
  border:1px solid rgba(255,255,255,.6);border-radius:50%;
}
.v3-photo-secondary img {object-position:50% 55%;}
.v3-photo-third img {object-position:center;}
/* Image-based three-step destination cards. */
.v2-capabilities {margin-top:105px!important;}
.v2-section-eyebrow {color:#0e9587!important;font-weight:800!important;}
.v2-section-head h2 {color:#162f43!important;letter-spacing:-.065em;}
.v2-section-head p {color:#697e90!important;}
.v2-capability-grid {gap:19px!important;}
.v2-capability {
  padding:0!important;
  background:#fff!important;
  border:1px solid #e0e9ee!important;
  box-shadow:0 14px 42px rgba(23,54,79,.065)!important;
  border-radius:25px!important;
  min-height:380px!important;
  transform:none;
}
.v2-capability:hover {border-color:#b3dcd5!important;transform:translateY(-4px)!important;box-shadow:0 21px 50px rgba(22,72,102,.095)!important;}
.v2-capability::after {display:none!important;}
.v3-feature-photo {
  display:block;position:relative;overflow:hidden;
  height:190px;width:calc(100% - 16px);margin:8px 8px 0;
  border-radius:19px;background:#dce9e9;
}
.v3-feature-photo img {width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s ease;}
.v2-capability:hover .v3-feature-photo img {transform:scale(1.04);}
.v3-feature-photo::after {content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,34,48,.28),transparent 75%);}
.v3-feature-count {
  position:absolute;z-index:2;top:14px;right:14px;
  width:37px;height:37px;display:grid;place-items:center;border-radius:12px;
  background:rgba(255,255,255,.90);color:#2b5364;
  font-size:11px;font-weight:900;
}
.v2-capability .v2-capability-icon {
  margin:18px 22px 0!important;
  color:#087e79!important;
  background:#e9f6f3!important;
  border:1px solid #d2eae4!important;
  width:39px;height:39px;border-radius:13px;
}
.v2-capability:nth-child(2) .v2-capability-icon {color:#315bba!important;background:#eff2ff!important;border-color:#dfe6ff!important;}
.v2-capability:nth-child(3) .v2-capability-icon {color:#c2682e!important;background:#fff2e8!important;border-color:#fbe6d1!important;}
.v2-capability h3 {margin:13px 22px 6px!important;font-size:21px!important;color:#172f43!important;letter-spacing:-.055em!important;}
.v2-capability p {margin:0 22px 16px!important;color:#6c8090!important;font-size:12px!important;line-height:1.7!important;max-width:280px;}
.v3-feature-action {display:inline-flex;gap:8px;align-items:center;margin:auto 22px 21px;font-weight:800;font-size:12px;color:#098b7f!important;}
#search-view > .mt-8.w-full.max-w-3xl,#search-view > .mt-8.md\:mt-12 {margin-top:85px!important;}
#search-view > .mt-8.w-full.max-w-3xl > .glass-card {
  background:linear-gradient(115deg,#eef8f7,#f3f8fd)!important;
  border:1px solid #dcecea!important;
  box-shadow:0 10px 35px rgba(28,65,90,.055)!important;
}
#search-view > .mt-8.w-full.max-w-3xl :where(h3,p) {color:#223b4f!important;}
#search-view > .mt-8.w-full.max-w-3xl .text-blue-400,
#search-view > .mt-8.w-full.max-w-3xl .text-blue-500 {color:#2c6ba7!important;}
#search-view > .mt-8.md\:mt-12 > h3 {color:#24384b!important;}
#search-view > .mt-8.md\:mt-12 > h3 .text-emerald-500 {color:#098c7f!important;}
#search-view #summer-card,#search-view #winter-card {box-shadow:0 13px 34px rgba(24,56,77,.13)!important;border-color:#e6edf1!important;}
#search-view #summer-card .text-white,#search-view #winter-card .text-white {color:#fff!important;}
#search-view #summer-card > .absolute.inset-0.bg-gradient-to-t,#search-view #winter-card > .absolute.inset-0.bg-gradient-to-t {background:linear-gradient(0deg,rgba(9,27,39,.84),transparent 79%)!important;}
#search-view > div.absolute.bottom-4 > div {background:#fff!important;border:1px solid #e5edf1!important;box-shadow:0 8px 25px rgba(25,60,90,.05)!important;}
#search-view > div.absolute.bottom-4 :is(a,button) {color:#687d90!important;}
#search-view > div.absolute.bottom-4 :is(a,button):hover {color:#0b8b80!important;}
/* Results: editorial dashboard with white cards, real map, dark text. */
#results-view {background:linear-gradient(180deg,#f8fafc,#f3f7fa 85%,#fff)!important;}
#results-view > nav {
  background:rgba(255,255,255,.96)!important;
  border-color:#e2eaf0!important;
  box-shadow:0 8px 30px rgba(31,62,82,.055)!important;
}
#results-view > nav .glass-card,#results-view #currency-bar {
  background:#f6f9fb!important;
  border-color:#e3ebf0!important;
  box-shadow:none!important;
}
#results-view .lang-switcher,#results-view :is(.text-slate-400,.text-slate-500) {color:#647a8b!important;}
#results-view .v2-result-toolbar {padding-top:16px!important;}
#results-view .v2-result-toolbar h2 {color:#1c3448!important;}
#results-view .v2-result-toolbar p {color:#667e91!important;}
#results-view .v2-tool-btn {
  background:#fff!important;
  border:1px solid #dae6ed!important;
  color:#254154!important;
  box-shadow:0 5px 18px rgba(23,69,102,.06);
}
#results-view .v2-tool-btn i {color:#0b9186!important;}
#results-view .v2-tool-btn:hover {background:#edf8f6!important;border-color:#a5d9cb!important;}
#results-view .glass-card {
  background:#fff!important;
  color:#243a4b!important;
  border:1px solid #e1eaf0!important;
  box-shadow:0 10px 30px rgba(27,65,92,.055)!important;
}
#results-view .glass-card :where(h2,h3,h4,.font-black) {color:#1a3549!important;}
#results-view .glass-card .text-white,#results-view .text-white {color:#263c4f!important;}
#results-view .text-slate-300 {color:#5c7184!important;}
#results-view .text-slate-400 {color:#748797!important;}
#results-view .text-slate-500 {color:#8596a2!important;}
#results-view .text-emerald-400,#results-view .text-emerald-500 {color:#0a8e82!important;}
#results-view .text-blue-400,#results-view .text-blue-500 {color:#3068a2!important;}
#results-view .border-slate-700,#results-view .border-slate-800 {border-color:#e0e9f0!important;}
#results-view .bg-slate-900,#results-view .bg-slate-900\/80,
#results-view .bg-slate-800,#results-view .bg-slate-800\/50,
#results-view .bg-slate-900\/40,
#results-view .bg-\[\#0f172a\] {background:#f4f8fa!important;}
#results-view .bg-slate-700 {background:#eaf1f5!important;}
#results-view :where(input,select,textarea) {
  background:#f8fafc!important;
  color:#1a3549!important;
  border:1px solid #dce6ed!important;
}
#results-view :where(input,textarea)::placeholder {color:#8698a4!important;}
#results-view :where(.bg-emerald-500,.bg-emerald-600) {
  background:#0a9b8d!important;
  color:#fff!important;
}
#results-view :where(button,a).bg-emerald-500,
#results-view :where(button,a).bg-emerald-600 {
  background:#078d83!important;color:white!important;
}
#results-view :where(button,a).bg-blue-600 {background:#2e6cb1!important;color:#fff!important;}
#results-view .cur-tab.active {background:#078f83!important;color:#fff!important;}
#results-view .cur-tab:not(.active) {background:transparent!important;color:#5f7281!important;}
#results-view .glass-card :where(button,a).bg-emerald-500 :is(span,i),
#results-view .glass-card :where(button,a).bg-emerald-600 :is(span,i) {color:#fff!important;}
#results-view #map,#results-view #walking-map {background:#e8f0f3!important;border-color:#dce8ed!important;}
/* Preserve readable contrast on coloured actions within the new white cards. */
#results-view .glass-card :is(button,a).bg-emerald-500,
#results-view .glass-card :is(button,a).bg-emerald-600,
#results-view .glass-card :is(button,a).bg-blue-600,
#results-view .glass-card :is(button,a).bg-emerald-500 :is(span,i),
#results-view .glass-card :is(button,a).bg-emerald-600 :is(span,i) {color:#fff!important;}
#results-view .glass-card :is(button,a).bg-emerald-500 :is(.font-black,.font-bold) {color:#fff!important;}
/* Shared auth, information, budget, calendar modal treatment. */
#auth-card {
  background:rgba(20,41,55,.50)!important;
  backdrop-filter:blur(13px)!important;
}
#auth-card > .glass-card,
[id$="-modal"] > .glass-card {
  background:#fff!important;color:#243b4d!important;
  border:1px solid #e0e8ee!important;
  box-shadow:0 30px 95px rgba(16,39,63,.23)!important;
}
#auth-card :where(h2,h3,p,span,label,.text-white),
[id$="-modal"] :where(h2,h3,p,span,label,.text-white) {color:#243b4d!important;}
#auth-card :where(input,textarea,select),
[id$="-modal"] :where(input,textarea,select) {
  background:#f6f9fb!important;color:#243b4d!important;border:1px solid #dfe9ee!important;
}
#auth-card :where(.bg-slate-900,.bg-slate-800),
[id$="-modal"] :where(.bg-slate-900,.bg-slate-800) {background:#f1f5f8!important;}
#auth-card :where(button,a).bg-emerald-500,
[id$="-modal"] :where(button,a).bg-emerald-500 {background:#078f82!important;color:#fff!important;}
:is(#vira-expense-dialog,#vira-dayplanner-dialog) {
  background:#fff!important;color:#273d50!important;
  border-color:#dde8ee!important;
  box-shadow:0 30px 95px rgba(15,41,62,.25)!important;
}
:is(#vira-expense-dialog,#vira-dayplanner-dialog) :where(.text-white,h2,h3,p,span,label,.font-bold,.font-black) {color:#263c4e!important;}
:is(#vira-expense-dialog,#vira-dayplanner-dialog) :where(.bg-slate-900,.bg-slate-800,.bg-slate-800\/40,.bg-slate-900\/60,.bg-slate-900\/70) {background:#f4f8fa!important;}
:is(#vira-expense-dialog,#vira-dayplanner-dialog) :where(.border-slate-700,.border-slate-600) {border-color:#dde7ed!important;}
:is(#vira-expense-dialog,#vira-dayplanner-dialog) :where(input,select) {background:#fff!important;color:#263c4e!important;border-color:#dce7eb!important;}
:is(#vira-expense-dialog,#vira-dayplanner-dialog) button.bg-emerald-500,
:is(#vira-expense-dialog,#vira-dayplanner-dialog) button.bg-blue-600 {color:#fff!important;}
:is(#vira-expense-dialog,#vira-dayplanner-dialog) .text-amber-300 {color:#9a6508!important;}
:is(#vira-expense-dialog,#vira-dayplanner-dialog) .text-slate-400 {color:#667d8b!important;}
#loading-view {background:#f7fafb!important;}
#loading-view > div.absolute {opacity:.15!important;}
#loading-view h2,#loading-view .text-white {color:#1b3549!important;}
#loading-view p {color:#0a897e!important;}
#error-toast {background:#fff!important;color:#20394c!important;border:1px solid #d2e7e5!important;box-shadow:0 10px 40px rgba(21,59,80,.16)!important;}
#error-toast #error-msg {color:#213b4f!important;}
/* Mobile-first finishing touches. */
@media(max-width:1100px) {
  #search-view .v2-visual.v3-photo-grid {height:470px!important;min-height:470px!important;gap:10px;}
  .v3-photo-card {border-radius:20px;}
  .v3-photo-caption strong {font-size:20px;}
  .v2-capabilities {margin-top:72px!important;}
}
@media(max-width:830px) {
  #search-view {background:#fff!important;}
  #search-view .v2-visual.v3-photo-grid {display:grid!important;height:425px!important;min-height:425px!important;margin:34px 0 0!important;}
  #search-view.hidden {display:none!important;}
  .v2-capabilities {margin-top:68px!important;}
  .v2-capability-grid {grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
  .v3-feature-photo {height:135px;}
  .v2-capability {min-height:340px!important;}
  .v2-capability h3 {font-size:17px!important;}
  .v2-capability p {font-size:11px!important;}
}
@media(max-width:640px) {
  #search-view {padding-top:111px!important;}
  #search-view > nav {padding:15px!important;}
  #search-view .v2-hero-content > h1 {font-size:clamp(3rem,12vw,4.8rem)!important;}
  #search-view .v2-visual.v3-photo-grid {height:370px!important;min-height:370px!important;gap:8px;}
  .v3-photo-card {border-radius:16px;}
  .v3-photo-top {top:13px;left:12px;font-size:8px;padding:6px 8px;}
  .v3-photo-caption {left:13px;right:22px;bottom:14px;}
  .v3-photo-caption strong {font-size:clamp(14px,4vw,19px);}
  .v3-photo-caption small {display:none;}
  .v3-photo-arrow {right:12px;bottom:14px;width:22px;height:22px;font-size:9px;}
  .v2-capability-grid {grid-template-columns:1fr!important;}
  .v2-capability {min-height:0!important;}
  .v3-feature-photo {height:210px;}
  .v2-capability p {font-size:12px!important;}
  #search-view > .mt-8.w-full.max-w-3xl,#search-view > .mt-8.md\:mt-12 {margin-top:55px!important;}
  #results-view .v2-tool-list {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:390px) {
  #search-view .v2-visual.v3-photo-grid {grid-template-columns:1fr 1fr!important;grid-template-rows:245px 155px!important;height:408px!important;min-height:408px!important;}
  .v3-photo-main {grid-column:1 / -1;grid-row:1;}
  .v3-photo-secondary {grid-column:1;grid-row:2;}
  .v3-photo-third {grid-column:2;grid-row:2;}
}
@media(prefers-reduced-motion:reduce) {
  .v3-photo-card,.v3-photo-card img,.v2-capability {transition:none!important;transform:none!important;}
}
@media print {
  body,#results-view {background:#fff!important;color:#142c40!important;}
  #results-view .glass-card {box-shadow:none!important;}
}

/* === Readability pass · light theme / WCAG-oriented text contrast ===
   Legacy dark-mode utilities were sometimes placed on white cards without a
   matching foreground. Keep deliberate dark/photo surfaces and action buttons.
   All changes below are presentation-only. */
:root {
  --light-ink-strong:#1c3345;
  --light-copy:#334f62;
  --light-secondary:#455f71;
  --light-muted-readable:#526778;
  --light-action:#086f68;
}
/* Core white surfaces: accessible body copy instead of faint slate. */
#search-view .v2-lead,
#search-view .v2-proofline,
#search-view .v2-section-head p,
#search-view .v2-capability p,
#search-view .v2-presets-label {
  color:var(--light-copy)!important;
}
#search-view .v2-section-eyebrow,
#search-view .v2-eyebrow,
#search-view .v3-feature-action,
#search-view .text-emerald-400,
#search-view .text-emerald-500,
#results-view .text-emerald-400,
#results-view .text-emerald-500 {
  color:var(--light-action)!important;
}
#search-view .v2-capability h3,
#search-view .v2-section-head h2,
#results-view .v2-result-toolbar h2 {
  color:var(--light-ink-strong)!important;
}
/* Neutral utility colours from the original dark design are unreadable on white. */
#search-view > nav :is(.text-slate-400,.text-slate-500),
#search-view > .mt-8.w-full.max-w-3xl :is(.text-slate-300,.text-slate-400,.text-slate-500),
#search-view > .mt-8.md\:mt-12 > h3,
#search-view #auth-status-text,
#search-view > div.absolute.bottom-4 :is(a,button),
#results-view :is(.text-slate-300,.text-slate-400,.text-slate-500),
#results-view .v2-result-toolbar p,
#results-view .cur-tab:not(.active) {
  color:var(--light-secondary)!important;
}
#results-view .glass-card :is(p,li,label,span).text-slate-500,
#results-view .glass-card :is(p,li,label,span).text-slate-400 {
  color:var(--light-muted-readable)!important;
}
#route-form input::placeholder,
#auth-card input::placeholder,
#results-view :where(input,textarea)::placeholder,
:is(#vira-expense-dialog,#vira-dayplanner-dialog) :where(input,textarea)::placeholder {
  color:#526a7d!important;
  opacity:1!important;
}
#route-form input,
#results-view :where(input,textarea,select),
#auth-card :where(input,textarea,select),
:is(#vira-expense-dialog,#vira-dayplanner-dialog) :where(input,textarea,select) {
  color:#1c3446!important;
}
/* E-book card: white background, dark titles, legible small description. */
#search-view > .mt-8.w-full.max-w-3xl .glass-card :is(h3,p) {
  color:#213c51!important;
}
#search-view > .mt-8.w-full.max-w-3xl .glass-card [data-i18n="ebook_desc"],
#search-view #ebook-action-container :is(.text-slate-400,.text-slate-500),
#search-view > .mt-8.w-full.max-w-3xl .glass-card .text-slate-300 {
  color:#41596b!important;
  font-size:clamp(12px,.95vw,14px)!important;
  line-height:1.65!important;
}
#search-view > .mt-8.w-full.max-w-3xl .glass-card [data-i18n="ebook_tag"] {
  color:#17558b!important;
  background:#deeffb!important;
  border-color:#acd1ec!important;
  font-size:10px!important;
}
#search-view > .mt-8.w-full.max-w-3xl .glass-card .bg-gradient-to-br.from-\[\#0f172a\] {
  color:#fff!important;
}
#search-view > .mt-8.w-full.max-w-3xl .glass-card .bg-gradient-to-br.from-\[\#0f172a\] :not(.text-blue-400) {
  color:#fff!important;
}
/* Real photo tiles and seasonal photography keep bright on-image captions. */
#search-view :is(.v3-photo-card,#summer-card,#winter-card) :is(.v3-photo-top,.v3-photo-caption,.v3-photo-caption strong,.v3-photo-caption small,.text-white,h4,[data-i18n="summer_route"],[data-i18n="winter_route"]) {
  color:#fff!important;
  text-shadow:0 1px 7px rgba(0,0,0,.62);
}
#search-view .v3-photo-card::after {
  background:linear-gradient(180deg,rgba(6,18,29,.56),rgba(8,24,39,.08) 44%,rgba(6,20,31,.88))!important;
}
/* White cards deserve dark text, but action surfaces deserve bright text. */
#results-view .glass-card :is(.text-white,.font-black) {
  color:var(--light-ink-strong)!important;
}
#results-view .glass-card :is(button,a).bg-emerald-500,
#results-view .glass-card :is(button,a).bg-emerald-600,
#results-view .glass-card :is(button,a).bg-blue-600,
#results-view .glass-card :is(button,a).bg-emerald-500 :is(span,i,.text-white,.font-black,.font-bold),
#results-view .glass-card :is(button,a).bg-emerald-600 :is(span,i,.text-white,.font-black,.font-bold),
#results-view .glass-card :is(button,a).bg-blue-600 :is(span,i,.text-white,.font-black,.font-bold) {
  color:#fff!important;
}
#results-view :is(.bg-emerald-500,.bg-emerald-600),
#results-view :is(button,a).bg-emerald-500,
#results-view :is(button,a).bg-emerald-600,
#results-view .cur-tab.active {
  background:#086f68!important;
}
#route-form > .flex.gap-3 button[type="submit"] {
  background:linear-gradient(115deg,#087f75,#065d65)!important;
  color:#fff!important;
}
#global-nav-actions :where(button,a).bg-emerald-500,
#global-nav-actions :where(button,a).bg-emerald-600,
#auth-card :where(button,a).bg-emerald-500,
[id$="-modal"] :where(button,a).bg-emerald-500 {
  background:#086f68!important;
  color:#fff!important;
}
/* Leaflet markers and badges positioned over maps have a dark background. */
#results-view .glass-card > span.absolute.top-4.bg-\[\#0b1120\]\/90,
#results-view .glass-card > span.absolute.top-4.bg-\[\#0b1120\]\/90 :is(span,i),
#results-view #map .leaflet-control-attribution,
#results-view #walking-map .leaflet-control-attribution {
  color:#fff!important;
}
#results-view #map .leaflet-control-attribution,
#results-view #walking-map .leaflet-control-attribution {
  color:#233f50!important;
}
/* White authentication dialogs: dark copy except buttons and close icons. */
#auth-card :is(.text-slate-400,.text-slate-500,.text-slate-300),
[id$="-modal"] :is(.text-slate-400,.text-slate-500,.text-slate-300),
:is(#vira-expense-dialog,#vira-dayplanner-dialog) :is(.text-slate-400,.text-slate-500,.text-slate-300) {
  color:var(--light-secondary)!important;
}
#auth-card :is(button,a).bg-emerald-500 :is(span,i),
[id$="-modal"] :is(button,a).bg-emerald-500 :is(span,i),
:is(#vira-expense-dialog,#vira-dayplanner-dialog) :is(button,a).bg-emerald-500 :is(span,i),
:is(#vira-expense-dialog,#vira-dayplanner-dialog) :is(button,a).bg-blue-600 :is(span,i) {
  color:#fff!important;
}
:is(#vira-expense-dialog,#vira-dayplanner-dialog) :is(button,a).bg-emerald-500 {
  background:#086f68!important;
  color:#fff!important;
}
:is(#vira-expense-dialog,#vira-dayplanner-dialog) :is(button,a).bg-blue-600 {
  background:#245f9b!important;
  color:#fff!important;
}
/* Status and loading labels were previously translucent/very small. */
#loading-view p,
#loading-view .text-emerald-500\/70 {
  color:#086e65!important;
  opacity:1!important;
}
#results-view .glass-card .text-\[9px\],
#search-view #ebook-action-container .text-\[10px\] {
  font-size:11px!important;
}


/* Legal/help/profile popups: legacy dark panels had become dark text on dark
   background after the white theme was introduced. Convert panels together. */
:is(#about-modal,#privacy-modal,#terms-modal,#kvkk-modal,#feedback-modal) > div,
#profile-modal > div {
  background:#fff!important;
  color:#263e50!important;
  border:1px solid #dce6ed!important;
  box-shadow:0 28px 90px rgba(12,37,58,.25)!important;
}
:is(#about-modal,#privacy-modal,#terms-modal,#kvkk-modal,#feedback-modal,#profile-modal) :is(h2,h3,h4,p,li,label,strong,span,.text-white,.text-slate-300,.text-slate-400,.text-slate-500) {
  color:#30495c!important;
}
:is(#about-modal,#privacy-modal,#terms-modal,#kvkk-modal,#feedback-modal,#profile-modal) :where(.bg-slate-900,.bg-slate-900\/50,.bg-slate-900\/60,.bg-slate-900\/80,.bg-slate-800,.bg-slate-800\/30,.bg-slate-800\/40,.bg-slate-800\/50,.bg-\[\#0b1120\]) {
  background:#f2f7f9!important;
}
:is(#about-modal,#privacy-modal,#terms-modal,#kvkk-modal,#feedback-modal,#profile-modal) :is(input,select,textarea) {
  background:#f8fbfc!important;
  color:#1c3446!important;
  border-color:#d4e1e8!important;
}
:is(#feedback-modal,#profile-modal) :where(input,textarea)::placeholder {
  color:#536a7b!important;
  opacity:1!important;
}
:is(#feedback-modal,#kvkk-modal,#profile-modal) :where(button,a).bg-emerald-500,
:is(#feedback-modal,#kvkk-modal,#profile-modal) :where(button,a).bg-emerald-600 {
  background:#086f68!important;color:#fff!important;
}
:is(#feedback-modal,#kvkk-modal,#profile-modal) :where(button,a).bg-emerald-500 :is(span,i),
:is(#feedback-modal,#kvkk-modal,#profile-modal) :where(button,a).bg-emerald-600 :is(span,i) {
  color:#fff!important;
}
/* Stronger close icons and links in dialogs. */
:is(#about-modal,#privacy-modal,#terms-modal,#kvkk-modal,#feedback-modal,#profile-modal) button[onclick*="hidden"] {
  color:#344f63!important;
}
:is(#about-modal,#privacy-modal,#terms-modal,#kvkk-modal,#feedback-modal,#profile-modal) :is(.text-emerald-400,.text-emerald-500) {
  color:#086e65!important;
}
:is(#about-modal,#privacy-modal,#terms-modal,#kvkk-modal,#feedback-modal,#profile-modal) :is(.text-blue-400,.text-blue-500) {
  color:#275f97!important;
}
#profile-modal #pro-promo-box {
  background:linear-gradient(135deg,#ebf8f3,#e9f2fa)!important;
  border-color:#b9dcd1!important;
}
#profile-modal #pro-promo-box :is(.text-white,.text-slate-300) {
  color:#304b5e!important;
}
#profile-modal #pro-promo-box button.bg-amber-500 {
  color:#1e2d33!important;
}
/* Do not allow dark-on-dark overrides on original legal dialog wrappers. */
#kvkk-modal > div > div,
#profile-modal > div > div {
  border-color:#e2eaf0!important;
}


/* Functional navigation occupies the previously empty desktop header area. */
#search-view > nav > div { gap:clamp(12px,2vw,26px); }
#search-view .v6-main-links {
  display:flex; align-items:center; justify-content:center; gap:4px;
  padding:6px;
  border:1px solid #dfeae9;
  border-radius:17px;
  background:#f4faf8;
  box-shadow:0 5px 18px rgba(26,70,88,.035);
  flex:0 1 auto;
}
#search-view .v6-main-links a {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:11px clamp(10px,1.4vw,18px);
  text-decoration:none;
  font-size:12px; font-weight:800;
  white-space:nowrap;
  border-radius:12px;
  color:#25475a;
  transition:background-color .15s ease,color .15s ease;
}
#search-view .v6-main-links a i { color:#137d78; font-size:12px; }
#search-view .v6-main-links a:hover,
#search-view .v6-main-links a:focus-visible {
  background:#dff4ee;
  color:#075f5a;
}
#search-view #route-form,
#search-view #v2-capabilities-title,
#search-view #summer-card { scroll-margin-top:130px; }
@media(max-width:1080px) {
  #search-view .v6-main-links { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  #search-view .v6-main-links a { transition:none; }
}
