/* 5ort design system: independently authored from the approved visual preview. */
@font-face{font-family:Onest;src:url('Onest.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{background:#08080a;color:#f1f1f3;color-scheme:dark;--bg:#08080a;--surface:#101014;--panel:#101014;--raised:#18181e;--ink:#f1f1f3;--text:#f1f1f3;--muted:#a7a7b1;--line:#24242c;--blue:#bac9e8;--green:#91baa8;--red:#efa5b0;--accent:#f1f1f3;font-family:Onest,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
body{background:var(--bg);color:var(--text);font-family:Onest,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit;color:var(--text);background:#101014;border-color:var(--line)}
input::placeholder,textarea::placeholder{color:#82828e}
input[type=checkbox],input[type=range]{accent-color:#b7c3d9}
a{color:#d5d5df}a:hover{color:#fff}
h1,h2,h3{letter-spacing:-.035em}
button{border-radius:7px}button:hover{background:#1b1b22;border-color:#3a3a45}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #bac9e8;outline-offset:3px}
.primary,.button.primary{background:#f1f1f3;color:#111113;border-color:#f1f1f3;font-weight:600}
.primary:hover,.button.primary:hover{background:#d8d8de;color:#111113;border-color:#d8d8de}
.panel,.card,.consent,.consent-banner,.legal,.legal-page{background:#101014;color:var(--text);border-color:var(--line);box-shadow:none}
.subtitle,.lead,.intro,.help,.helptext,.muted,.column-help,.legal-date,small{color:var(--muted)}
.site-footer,.sidebar-foot{background:#0c0c10;color:var(--muted);border-color:var(--line)}
.site-footer a,.consent a,.consent-banner a{color:#d2d2dd}
.language-switch{background:#111115!important;border-color:#2a2a33!important;color:#b5b5c0!important}
.language-switch select,.language-switch option{color:#c7c7d1!important;background:#111115!important}
.language-switch .language-icon{filter:grayscale(1)}
.family-home{color:#b0b0bc;font-size:12px;white-space:nowrap}.family-home:hover{color:#fff}
/* Informational and translated entry pages share the same palette and type. */
body>.legal,body>.legal-page{background:#08080a}
body>main>.brand,body>main>.brand a{color:#f1f1f3}
body>main>.lead,body>main>.intro{color:#a7a7b1}
body>main>.panel{background:#101014;border-color:#24242c;border-radius:12px;box-shadow:none}
body>main>.panel .button{background:#f1f1f3;color:#111113;border-color:#f1f1f3;border-radius:7px}
body>main>.languages a,body>main>footer a{color:#d2d2dd}
body>main>footer{color:#9696a2}
/* Map geometry, data layers and marker semantics are retained. */
#map,.map-section{background:#14141a}
.leaflet-container{font-family:Onest,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.leaflet-tile-pane .leaflet-tile{filter:grayscale(1) invert(.9) hue-rotate(180deg) brightness(.82)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-tooltip{background:#141419;color:#eeeeF3;border-color:#34343f;box-shadow:0 5px 24px #0005}
.leaflet-popup-content-wrapper a,.leaflet-popup-content-wrapper p,.leaflet-popup-content-wrapper small{color:#c4c4d0}
.leaflet-control-zoom a{background:#141419!important;color:#e4e4ed!important;border-color:#34343f!important}
.leaflet-control-zoom a:hover{background:#25252d!important}
.leaflet-control-attribution{background:#111115e8!important;color:#c0c0ca!important}
.leaflet-control-attribution a{color:#d8d8e2!important}
dialog{background:#101014;color:#f1f1f3;border-color:#34343f;box-shadow:0 20px 80px #0008}
dialog::backdrop{background:#000b}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.map-page .app-header{background:#08080a;border-color:#24242c}
.map-page .app-header h1{font-weight:600;letter-spacing:-.6px}.map-page .app-header p{color:#92929f}
.map-page .brand-symbol{background:#101014;border:1px solid #303038;color:#f1f1f3;border-radius:8px;font-size:23px}
.map-page .source-update,.map-page .source-update time{color:#9494a1}.map-page .source-update>span{color:#dedee7}
.map-page .sidebar,.map-page .controls,.map-page .regions,.map-page .side-top,.map-page .side-top:before{background:#101014;border-color:#24242c}
.map-page .sidebar label,.map-page .check,.map-page .side-top p,.map-page .country{color:#a7a7b1}
.map-page input,.map-page select,.map-page button,.more-filters>summary{background:#101014;color:#dedee7;border-color:#2e2e38}
.map-page input:hover,.map-page select:hover,.map-page button:hover{background:#19191f;border-color:#41414e}
.map-page .regions button[aria-pressed=true]{background:#f1f1f3;color:#111113;border-color:#f1f1f3}
.map-page .more-filters,.map-page .extra-controls{background:#101014;border-color:#24242c}
.map-page th{background:#19191f;color:#a7a7b1;border-color:#30303a}.map-page td{border-color:#22222a;color:#e1e1e9}
.map-page tr[data-id]:hover{background:#1b1b22}
.map-page .site-footer,.map-page .site-footer nav,.map-page .mobile-toolbar{background:#0c0c10;color:#8e8e9b;border-color:#24242c}
.map-page .site-footer a,.map-page .site-footer button{color:#b5b5c1}
.map-page .map-status,.map-page .legend{background:#101014ed;color:#b5b5c0;border:1px solid #30303a;box-shadow:0 4px 16px #0005}
.map-page .map-status p{color:#c2c2ce}.map-page .empty{color:#a7a7b1}
.map-page #trip-dialog,.map-page .detail-header{background:#101014;color:#f1f1f3;border-color:#30303a}
.map-page .detail-note,.map-page .comparison td small,.map-page .favorite-card p{color:#a7a7b1}
.map-page .calendar-day{background:#17171d;color:#e2e2eb;border-color:#30303a}
.map-page .calendar-day.selected{background:#292934;border-color:#aebbd4;box-shadow:0 0 0 1px #aebbd4}
.map-page .calendar-day:disabled{background:#0c0c10;color:#868693}
.map-page .comparison .chosen-hub,.map-page .history-chart{background:#19191f}
.map-page .history-chart text{fill:#bcbcc8}
.map-page .comparison td,.map-page .comparison th,.map-page .favorite-card,.map-page .offers li{border-color:#2a2a34}
.map-page .price-cluster{background:#303b3a;border-color:#91baa8;color:#eef7f2}
.map-page .freshness.fresh{color:#91baa8}.map-page .freshness.aging{color:#e2c68e}.map-page .freshness.old{color:#d9a8af}
.map-page #notice{background:#281a1f;color:#efb4bf}
.consent{background:#141419;color:#e8e8ef;border-color:#3a3a45}.consent p{color:#a7a7b1}
.legal{background:#08080a;color:#f1f1f3}.legal p,.legal li{color:#b8b8c4}
@media(max-width:800px){.map-page .header-actions .family-home{font-size:10px;padding:6px 0}}
/* The existing map layout declares page-level tokens; keep their geometry and replace the visual values. */
body.map-page{--ink:#f1f1f3;--muted:#a7a7b1;--line:#24242c;--blue:#bac9e8;background:#08080a;color:#f1f1f3;font-family:Onest,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.map-page .app-header h1{color:#f1f1f3}.map-page a{color:#c6c6d3}
.map-page .map-shell{background:#08080a}.map-page #map{background:#17171e}
.map-page .header-actions button,.map-page .regions button{border-radius:7px}
.map-page #favorites{background:#141419;color:#dedee7;border:1px solid #30303a}
.map-page #refresh{background:#f1f1f3;color:#111113;border:1px solid #f1f1f3}
.map-page #refresh:hover{background:#d8d8de}
.map-page .side-top input{background:#17171d;color:#dedee7;border-color:#34343f;border-radius:7px}
.map-page .budget-control input[type=range],.map-page .check input{accent-color:#b7c3d9}
.map-page .list td{background:#101014;border-color:#2b2b35;color:#dedee7}
.map-page .list tr:hover td{background:#1c1c24;border-color:#454551}
.map-page .leaflet-control-zoom{border-color:#34343f!important;box-shadow:0 4px 16px #0005!important}
.map-page .leaflet-control-zoom a{color:#ededf3!important;background:#141419}
.map-page .leaflet-popup-content-wrapper{color:#ededf3}
.map-page .primary,.map-page .primary:hover{background:#f1f1f3;color:#111113;border-color:#f1f1f3}
.map-page #more-results{color:#dedee7}
@media(max-width:800px){
 .map-page.filters-open .controls,.map-page.filters-open .regions{background:#101014;border-color:#34343f}
 .map-page.filters-open #filters-close{background:#f1f1f3;color:#111113;border-color:#f1f1f3}
 .map-page .side-top #list-toggle,.map-page .mobile-toolbar button{background:#101014;color:#dedee7}
 .map-page .side-top #list-toggle::before{background:#51515e}
}
