/* TruckConnect Brand Guide v1.2 — operational surfaces */
.locations-section{background:var(--paper)}.location-filters label,.onboarding-section label,.onboarding-section legend{font-size:14px}.location-filters input,.location-filters select,.onboarding-section input,.onboarding-section select,.onboarding-section textarea{border-color:#7A8791;min-height:48px;border-radius:10px;background:var(--paper);color:var(--ink)}.onboarding-section input[type=checkbox]{min-height:0;width:20px;height:20px;accent-color:#008075}.map-toolbar button{min-height:44px;background:var(--paper);border-color:#7A8791;color:var(--ink)}#mapview{background:#E6ECF2;border:1px solid #7A8791;border-radius:20px}.map-pin{background:#0F2942;color:white;font-family:JetBrains,monospace}.map-pin.selected{background:#F26419;color:#0F2942;border-color:#0F2942}.map-region{color:#0F2942;background:#ffffffed}.location-detail{background:var(--sand);border-radius:10px;padding:32px}.location-detail h3{font-size:24px;line-height:1.3}.location-detail dt,#onboarding-review dt{color:var(--muted)}.location-detail dd{font-size:15px}.location-list{scrollbar-color:#7A8791 transparent}.site-row{color:var(--ink);border-color:var(--line);min-height:60px}.site-row.selected{background:#E8F5F3;color:#0F2942}.site-row small{font-family:JetBrains,monospace;font-size:11px}.map-credit,.map-note,.source-note,.form-note,.location-count{font-size:13px;color:var(--muted)}.onboarding-section{background:var(--sand)}.form-surface{background:var(--paper);padding:36px;border-radius:10px}.onboarding-section .section-heading{align-items:start}.onboarding-progress li.active{color:var(--teal)}.onboarding-progress>span{font-family:JetBrains,monospace;font-size:12px}.field-grid fieldset{border-color:#7A8791;border-radius:10px;padding:18px}.field-grid .check-option{min-height:38px}.form-surface h3{font-size:24px;line-height:1.25}.form-surface .button{border:0}.form-surface .secondary{border:1px solid var(--ink);color:var(--ink)}#onboarding-review>div{border-color:var(--line)}.site-status{color:var(--teal)}.location-detail .button{font-size:14px;background:transparent;color:var(--ink);border:1px solid var(--ink)}.result-actions .lime{background:#0F2942;color:#fff}#form-error{background:#fff0ed;color:#8B271D}#onboarding-result{overflow-wrap:anywhere}#mapview:focus-visible{outline-offset:4px}.source-note{max-width:110ch}@media(max-width:700px){.map-layout,.onboarding-layout{grid-template-columns:1fr}.map-layout>div{display:flex;flex-direction:column}.map-toolbar{order:0}#mapview{height:300px;order:1}.map-credit{order:2}.map-note{order:3}.location-list{order:4;max-height:300px}.form-surface{padding:26px 20px}.field-grid{grid-template-columns:1fr}.location-detail{padding:26px}.onboarding-progress ol{display:block;list-style:decimal;padding-left:22px}.onboarding-progress li{font-size:14px}.onboarding-layout{gap:24px}.location-filters{flex-direction:column;align-items:stretch}.map-pin{width:30px;height:30px;font-size:11px}}
@media(prefers-color-scheme:dark){#mapview{background:#173955}.map-toolbar button{background:#10263B}.site-row.selected{background:#173955;color:#E8EEF3}.location-detail{background:#10263B}.form-surface{background:#0A1A2B}.onboarding-section input,.onboarding-section textarea,.onboarding-section select,.location-filters input,.location-filters select{color-scheme:dark}.map-pin.selected{background:#FF7A33}#form-error{background:#492A2A;color:#FFDAD4}.result-actions .lime{background:#E8EEF3;color:#0F2942}}
#mobile-map-toggle{display:none}@media(max-width:700px){#mobile-map-toggle{display:block;order:0;align-self:start;min-height:48px;padding:12px 18px;border:1px solid #7A8791;border-radius:10px;background:var(--paper);color:var(--ink);margin-bottom:16px;font-size:14px}.map-layout .map-toolbar,.map-layout #mapview{display:none}.map-layout.map-open .map-toolbar{display:flex}.map-layout.map-open #mapview{display:block}}
/* Inline field errors and touch targets (18.10.2026) */
.field-error{display:block;margin-top:6px;color:#8B271D;font-size:13px;font-weight:600}.onboarding-section [aria-invalid="true"]{border-color:#B23A2C;box-shadow:0 0 0 1px #B23A2C}
@media(prefers-color-scheme:dark){.field-error{color:#FFB4A8}.onboarding-section [aria-invalid="true"]{border-color:#FF8A78;box-shadow:0 0 0 1px #FF8A78}}
@media(pointer:coarse),(max-width:700px){.underlink{min-height:44px;align-items:flex-end}.text-link,.audience-footnote a{padding:12px 0}.field-grid .check-option{min-height:44px;margin:2px 0}}

/* Map layers and fullscreen (18.10.2026) */
.map-frame{position:relative;display:flex;flex-direction:column}#map-overlay{position:absolute;inset:0;pointer-events:none}#map-overlay img{position:absolute;max-width:none}#map-points[hidden]{display:none}
.map-layers{position:absolute;right:12px;top:66px;z-index:5;width:min(300px,calc(100% - 24px));max-height:calc(100% - 80px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid #7A8791;border-radius:12px;padding:14px 16px;box-shadow:0 8px 24px #0A1A2B33}
.map-layers fieldset{border:0;padding:0;margin:0 0 12px}.map-layers fieldset:last-child{margin-bottom:0}.map-layers legend{font-size:12px;font-weight:700;color:var(--teal);margin-bottom:6px;padding:0}
.layer-option{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:6px 0;font-size:14px;cursor:pointer}.layer-option input{margin-top:3px;accent-color:#008075}.layer-option small{display:block;font-size:12px;color:var(--muted)}
.map-attribution{position:absolute;right:0;bottom:0;z-index:3;margin:0;max-width:100%;padding:3px 8px;font-size:11px;line-height:1.4;color:#0F2942;background:#ffffffe0;border-top-left-radius:6px}.map-attribution a{text-decoration:underline;color:inherit}
.map-selected{display:none}
.map-frame.fullscreen-active{position:fixed;inset:0;z-index:1000;margin:0;padding:12px;background:var(--paper);width:100vw;height:100vh;height:100dvh}
.map-frame:fullscreen{position:static;width:100%;height:100%}
.map-frame.fullscreen-active .map-toolbar{display:flex}.map-frame.fullscreen-active #mapview{display:block;flex:1;height:auto;min-height:0;border-radius:12px}
.map-frame.fullscreen-active .map-selected:not(:empty){display:block;position:absolute;left:12px;top:12px;z-index:3;margin:0;padding:8px 12px;font-size:13px;font-weight:600;color:#fff;background:#0F2942e6;border-radius:8px}
.map-frame.fullscreen-active .map-region{bottom:36px}
html.map-fullscreen-lock,html.map-fullscreen-lock body{overflow:hidden}
#map-fullscreen[aria-pressed="true"],#map-layers-toggle[aria-expanded="true"]{background:#0F2942;color:#fff;border-color:#0F2942}
@media(max-width:700px){.map-frame{order:1}.map-layers{top:auto;bottom:40px;right:8px;width:calc(100% - 16px);max-height:60%}.map-attribution{font-size:10px}}
@media(prefers-color-scheme:dark){.map-attribution{color:#E8EEF3;background:#0A1A2Be0}#map-fullscreen[aria-pressed="true"],#map-layers-toggle[aria-expanded="true"]{background:#E8EEF3;color:#0A1A2B}}
.map-loading{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:3;margin:0;padding:5px 12px;font-size:12px;color:#fff;background:#0F2942d9;border-radius:999px;pointer-events:none}.map-loading[hidden]{display:none}
/* Fullscreen with location details (18.10.2026) */
.map-frame.fullscreen-active{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-template-rows:auto minmax(0,1fr);column-gap:12px}
.map-frame.fullscreen-active .map-toolbar{grid-column:1/-1}.map-frame.fullscreen-active #mapview{grid-column:1;grid-row:2}
.map-frame.fullscreen-active .location-detail{grid-column:2;grid-row:2;margin:0;overflow:auto;align-self:stretch;padding:24px;border-radius:12px}
.map-frame.fullscreen-active .location-detail h3{font-size:22px}.map-frame.fullscreen-active .location-detail dl>div{margin:14px 0}
.map-frame.fullscreen-active .map-layers{right:404px}.map-frame.fullscreen-active .map-selected{display:none!important}
@media(max-width:900px){.map-frame.fullscreen-active{grid-template-columns:minmax(0,1fr) 300px}.map-frame.fullscreen-active .map-layers{right:324px}}
@media(max-width:700px){.map-frame.fullscreen-active{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;row-gap:10px}
.map-frame.fullscreen-active .location-detail{grid-column:1;grid-row:3;max-height:42vh;max-height:42dvh;padding:16px 18px}.map-frame.fullscreen-active .location-detail h3{font-size:18px}
.map-frame.fullscreen-active .map-layers{right:8px}}
/* Germany screening (18.10.2026) */
.map-pin.pin-de{background:#008075;color:#fff}.map-pin.pin-de.selected{background:#F26419;color:#0F2942}
.map-legend{position:absolute;left:16px;bottom:44px;z-index:2;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;max-width:calc(100% - 32px);padding:5px 10px;font-size:11px;color:#0F2942;background:#ffffffed;border-radius:4px;pointer-events:none}.map-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:-1px}.legend-de{background:#008075}.legend-nb{background:#0F2942}
.location-detail ul.criteria{margin:4px 0 0;padding-left:18px;display:grid;gap:4px}.location-detail ul.criteria a{text-decoration:underline}
.map-frame.fullscreen-active .map-legend{bottom:64px}
@media(prefers-color-scheme:dark){.map-legend{color:#E8EEF3;background:#0A1A2Be0}}
#map-points[data-zoom="far"] .map-pin{width:24px;height:24px;font-size:9px;border-width:1.5px}#map-points[data-zoom="far"] .map-pin.selected{width:30px;height:30px}
.map-region{top:12px;left:12px;bottom:auto}.map-frame.fullscreen-active .map-region{bottom:auto}
