/* SO-OEPNV-PlanerPRO · Light theme outdoor/senior contrast guard
   Loaded LAST. Applies only to the light theme. Green theme remains unchanged. */
html[data-theme="light"]{
  --bg:#f3f6f4;
  --bg-2:#ffffff;
  --panel:#ffffff;
  --panel-strong:#ffffff;
  --line:#91a89c;
  --line-strong:#4f745f;
  --text:#0c1711;
  --muted:#31463b;
  --green:#005c35;
  --green-2:#006b3f;
  --focus:0 0 0 4px rgba(0,92,53,.28);
}

html[data-theme="light"],
html[data-theme="light"] body{
  color:var(--text);
  background:#f3f6f4;
}

html[data-theme="light"] body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

html[data-theme="light"] .glass-panel,
html[data-theme="light"] .route-card,
html[data-theme="light"] .quick-card,
html[data-theme="light"] .side-card,
html[data-theme="light"] .planner-more,
html[data-theme="light"] .address-card,
html[data-theme="light"] .favorite-route-card,
html[data-theme="light"] .map-route-summary{
  background:#ffffff;
  border-color:#9aafa4;
}

html[data-theme="light"] .brand strong,
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] .route-time,
html[data-theme="light"] .dep-dest strong{
  color:#0c1711;
}

html[data-theme="light"] .brand small,
html[data-theme="light"] .intro-copy,
html[data-theme="light"] .small,
html[data-theme="light"] .muted,
html[data-theme="light"] .hint,
html[data-theme="light"] .privacy-note,
html[data-theme="light"] .compact-disclaimer,
html[data-theme="light"] .route-meta,
html[data-theme="light"] .route-from-to,
html[data-theme="light"] .route-keyfacts span,
html[data-theme="light"] .dep-dest span,
html[data-theme="light"] .site-footer,
html[data-theme="light"] .field-stack,
html[data-theme="light"] label,
html[data-theme="light"] .filter-fieldset legend{
  color:#31463b;
}

html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea{
  color:#0c1711;
  background:#fff;
  border-color:#829b8e;
  font-weight:650;
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder{
  color:#4b5e54;
  opacity:1;
  font-weight:650;
}

html[data-theme="light"] .primary-button{
  background:#00623a;
  color:#fff;
  border:1px solid #00532f;
  box-shadow:0 8px 18px rgba(0,82,47,.16);
}
html[data-theme="light"] .primary-button:hover,
html[data-theme="light"] .primary-button:focus-visible{
  background:#005c35;
  color:#fff;
}

html[data-theme="light"] .icon-button,
html[data-theme="light"] .radar-link,
html[data-theme="light"] .mini-button,
html[data-theme="light"] .square-button,
html[data-theme="light"] .swap-button,
html[data-theme="light"] .secondary-action,
html[data-theme="light"] .route-actions a,
html[data-theme="light"] .route-actions button{
  background:#fff;
  color:#17251d;
  border-color:#829b8e;
}

html[data-theme="light"] .desktop-nav a,
html[data-theme="light"] .mobile-nav a{
  color:#2f4338;
}
html[data-theme="light"] .desktop-nav a.is-active,
html[data-theme="light"] .mobile-nav a.is-active{
  color:#005c35;
  background:#e0f0e7;
}

/* Map / route information: eliminate faint text in the light theme. */
html[data-theme="light"] .map-page .route-mode-filter__hint,
html[data-theme="light"] .map-page .map-insight-card>p,
html[data-theme="light"] .map-page .map-insight-row span,
html[data-theme="light"] .map-page .map-favorite-chip span,
html[data-theme="light"] .map-page .map-detail-note span,
html[data-theme="light"] .map-page .map-route-summary small,
html[data-theme="light"] .map-page .map-route-summary .muted,
html[data-theme="light"] .map-page .map-loading,
html[data-theme="light"] .map-page .map-fallback{
  color:#31463b;
}
html[data-theme="light"] .map-page .map-insight-kicker,
html[data-theme="light"] .map-page .route-mode-filter__head small{
  color:#005c35;
  font-weight:900;
}
html[data-theme="light"] .map-page .route-filter-chip,
html[data-theme="light"] .map-page .globe-line-chip,
html[data-theme="light"] .map-page .map-favorite-chip{
  color:#17251d;
  border-color:#829b8e;
}

/* Live buses: stronger secondary text and overlays in daylight. */
html[data-theme="light"] .live-bus-root{
  --text:#0c1711;
  --muted:#31463b;
  --line:#91a89c;
  color:#0c1711;
  background:#f3f6f4;
}
html[data-theme="light"] .live-bus-root .city-picker input::placeholder{
  color:#4b5e54;
}
html[data-theme="light"] .live-bus-root .status-pill,
html[data-theme="light"] .live-bus-root .line-favorite,
html[data-theme="light"] .live-bus-root .group-favorite,
html[data-theme="light"] .live-bus-root .service-filter-state,
html[data-theme="light"] .live-bus-root .hint,
html[data-theme="light"] .live-bus-root .connection-meta,
html[data-theme="light"] .live-bus-root .group-copy small,
html[data-theme="light"] .live-bus-root .nearby-copy small,
html[data-theme="light"] .live-bus-root .city-suggestion-copy small,
html[data-theme="light"] .live-bus-root .city-suggestion-badge{
  color:#31463b;
}
html[data-theme="light"] .live-bus-root .map-legend,
html[data-theme="light"] .live-bus-root .zoom-hint{
  background:rgba(255,255,255,.98);
  color:#17251d;
  border-color:#6f8f7e;
  box-shadow:0 2px 10px rgba(0,0,0,.14);
}
html[data-theme="light"] .live-bus-root .leaflet-control-attribution{
  background:rgba(255,255,255,.97)!important;
  color:#2f4338!important;
}
html[data-theme="light"] .live-bus-root .leaflet-control-attribution a{
  color:#005c35!important;
  font-weight:800;
}

/* Outdoor/senior minimum type sizes on phones. Avoid tiny 9–12 px helper text. */
@media (max-width:900px){
  html[data-theme="light"] body{font-size:17px;line-height:1.55}
  html[data-theme="light"] .brand small,
  html[data-theme="light"] .theme-toggle-label,
  html[data-theme="light"] .eyebrow,
  html[data-theme="light"] .live-badge,
  html[data-theme="light"] .status-pill,
  html[data-theme="light"] .intro-copy,
  html[data-theme="light"] .small,
  html[data-theme="light"] .privacy-note,
  html[data-theme="light"] .compact-disclaimer,
  html[data-theme="light"] .route-meta,
  html[data-theme="light"] .route-duration,
  html[data-theme="light"] .route-from-to,
  html[data-theme="light"] .route-keyfacts span,
  html[data-theme="light"] .step-time small,
  html[data-theme="light"] .platform-row small,
  html[data-theme="light"] .ride-detail,
  html[data-theme="light"] .transfer-callout span,
  html[data-theme="light"] .walk-step small,
  html[data-theme="light"] .direct-route-detail span,
  html[data-theme="light"] .direct-route-detail p,
  html[data-theme="light"] .next-departure-card span,
  html[data-theme="light"] .dep-dest span,
  html[data-theme="light"] .dep-delay,
  html[data-theme="light"] .quick-card p,
  html[data-theme="light"] .quick-stop-button span,
  html[data-theme="light"] .home-favorite-link span,
  html[data-theme="light"] .home-favorite-link small,
  html[data-theme="light"] .last-route-link span,
  html[data-theme="light"] .last-route-link small,
  html[data-theme="light"] .recent-route-link span,
  html[data-theme="light"] .recent-route-link small{
    font-size:14px!important;
    line-height:1.42!important;
  }

  html[data-theme="light"] .field-stack,
  html[data-theme="light"] label,
  html[data-theme="light"] .filter-fieldset legend,
  html[data-theme="light"] .filter-chip span,
  html[data-theme="light"] .quick-stops,
  html[data-theme="light"] .quick-stops button,
  html[data-theme="light"] .mini-button,
  html[data-theme="light"] .route-actions a,
  html[data-theme="light"] .route-actions button,
  html[data-theme="light"] .secondary-action,
  html[data-theme="light"] .planner-more>summary{
    font-size:15px!important;
  }

  html[data-theme="light"] .map-page .route-filter-chip,
  html[data-theme="light"] .map-page .route-mode-filter__hint,
  html[data-theme="light"] .map-page .map-insight-kicker,
  html[data-theme="light"] .map-page .map-insight-card>p,
  html[data-theme="light"] .map-page .map-favorite-chip,
  html[data-theme="light"] .map-page .map-detail-note,
  html[data-theme="light"] .map-page .map-route-summary{
    font-size:14px!important;
    line-height:1.4!important;
  }

  html[data-theme="light"] .live-bus-root .status-pill,
  html[data-theme="light"] .live-bus-root .map-legend,
  html[data-theme="light"] .live-bus-root .zoom-hint,
  html[data-theme="light"] .live-bus-root .service-filter-state,
  html[data-theme="light"] .live-bus-root .connection-meta,
  html[data-theme="light"] .live-bus-root .group-copy small,
  html[data-theme="light"] .live-bus-root .nearby-copy small,
  html[data-theme="light"] .live-bus-root .city-suggestion-copy small,
  html[data-theme="light"] .live-bus-root .city-suggestion-badge,
  html[data-theme="light"] .live-bus-root .stop-extra,
  html[data-theme="light"] .live-bus-root .stop-destination small,
  html[data-theme="light"] .live-bus-root .stop-dep-time small{
    font-size:14px!important;
    line-height:1.35!important;
  }

  html[data-theme="light"] .mobile-nav a{
    min-height:64px;
    font-size:14px!important;
    font-weight:900;
  }
}

/* Honor OS/browser requests for even more contrast. */
@media (prefers-contrast:more){
  html[data-theme="light"]{
    --line:#6f897b;
    --line-strong:#355945;
    --text:#07100b;
    --muted:#24372d;
  }
  html[data-theme="light"] input,
  html[data-theme="light"] select,
  html[data-theme="light"] textarea,
  html[data-theme="light"] .glass-panel{
    border-width:2px;
  }
}
