/* Page composition: one shared grid for search, results, access and footer. */
:root{--page-width:1160px;--page-gutter:40px;--section-inset:32px;--section-radius:20px;--paper:#f6f7fb}
body{background:var(--paper);-webkit-font-smoothing:antialiased}
header,main,footer{width:100%;max-width:var(--page-width);margin-inline:auto}
header{padding:24px var(--page-gutter);background:transparent;color:var(--brand-navy)}
.account-nav a{color:var(--brand-navy)}
.account-nav .small-note{color:var(--muted)}
.brand{font-size:28px}
.account-nav a{font-size:12px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:white}
.map-hero{margin:0 var(--page-gutter) 28px;padding:36px;grid-template-columns:1fr 1fr;gap:32px;border-radius:var(--section-radius);overflow:hidden;min-height:440px}
.map-message h1{font-size:clamp(35px,4.1vw,54px);line-height:1.07;letter-spacing:-2.3px;margin:0 0 30px}
.map-message h1 em{display:block;font-size:.76em;line-height:1.18;margin-top:18px;letter-spacing:-1.4px}
.map-message .eyebrow{font-size:10px;line-height:1.6;letter-spacing:1.8px;margin:0 0 28px;color:#b8c5f1}
.map-search-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 0;font-size:13px;text-decoration:none;border-bottom:1px solid #ffffff40;color:white}
.map-search-link:hover{color:var(--brand-orange);border-color:var(--brand-orange)}
.europe-map{width:100%;min-width:0}
.europe-map img{width:100%;max-height:440px;aspect-ratio:1;object-fit:contain;border-radius:12px}
.price-preview,.access-section{margin:0 var(--page-gutter) 24px;padding:var(--section-inset);border:1px solid var(--line);border-radius:var(--section-radius);background:white;min-width:0}
.price-preview{border-top:1px solid var(--line);box-shadow:0 8px 32px #08086604}
.price-preview h2,.signup-panel h2{font-family:system-ui,-apple-system,sans-serif;font-size:30px;line-height:1.2;font-weight:730;letter-spacing:-1px;color:var(--brand-navy);margin:0 0 24px}
.price-preview form,.access-section .signup-panel{max-width:720px;width:100%}
.search-tabs{display:inline-flex;gap:4px;margin:0 0 12px;background:var(--brand-ice);border:1px solid #e3e8f3;border-radius:10px;padding:4px;max-width:100%}
.search-tabs button{border:0;background:transparent;padding:10px 15px;min-height:40px;font-size:12px}
.search-tabs button.selected{background:var(--brand-navy);box-shadow:0 2px 5px #08086612}
.price-preview form>label,.price-preview label[for]{font-size:12px;margin:10px 0 8px}
.input-row{padding:5px;border-radius:12px;min-height:58px;background:#fff;box-shadow:none;border-color:#cdd5e7;align-items:stretch}
.input-row>input{font-size:15px!important;padding:12px 14px;min-height:46px}
.input-row>button{min-height:46px;padding:12px 20px;font-size:12px;border-radius:8px}
.input-row:focus-within{border-color:var(--brand-blue);box-shadow:0 0 0 3px #5368b215}
.location-button{min-height:42px;margin-top:12px;padding:10px 14px;border-color:var(--line);font-size:12px}
#lookup-status{margin:14px 0 0}#preview-quota{margin:12px 0 0;font-size:11px}
#price-output{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.price-preview #grid-title{font-size:21px;line-height:1.3;letter-spacing:-.5px;margin:0 0 4px}
#price-location{margin:0 0 20px}
.chart-panel:not(.chart-expanded){margin-top:20px}
.chart-panel:not(.chart-expanded) .chart-toolbar{justify-content:flex-end}
.price-preview .chart-wrap{max-width:none;margin-top:14px;border-radius:12px}
.day-buttons button{font-size:12px;padding:9px 13px;min-height:38px}
.chart-legend{padding-top:8px;border-top:1px solid var(--line);gap:8px 20px}
.chart-legend label{min-height:34px}
.demand-panel{padding:18px;margin:20px 0;border-radius:12px}
.data-details,.price-table{padding:14px 0;margin:0;border-bottom:1px solid var(--line)}
.data-details>summary,.price-table>summary{font-size:12px}
.api-response{border-radius:12px}
.access-section{background:#eef1fa;box-shadow:none}
#form-status:empty{display:none}
#form-status{margin:12px 0 0}
main>#coverage,main>#privacy{margin:0 calc(var(--page-gutter) + var(--section-inset));max-width:none;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}
main>#coverage>summary,main>#privacy>summary{min-height:24px;line-height:24px}
main>details p{max-width:800px}
.map-attribution{margin-left:0}
footer{padding:28px calc(var(--page-gutter) + var(--section-inset));font-size:12px}
#preview-title{scroll-margin-top:28px}
@media(min-width:1500px){:root{--page-width:1240px}.map-hero{min-height:480px}}
@media(max-width:850px){:root{--page-gutter:24px;--section-inset:26px}.map-hero{padding:28px;gap:24px;min-height:360px}.map-message h1{font-size:39px}.map-message h1 em{font-size:.78em}.map-message .eyebrow{font-size:9px;margin-bottom:20px}.map-search-link{font-size:12px}.price-preview h2,.signup-panel h2{font-size:28px}}
@media(max-width:560px){:root{--page-gutter:16px;--section-inset:20px;--section-radius:16px}header{padding:18px var(--page-gutter)}.brand{font-size:25px}.account-nav{max-width:180px;gap:6px}.account-nav a{font-size:10px;padding:8px 10px}.account-nav .small-note{font-size:10px}.map-hero{display:grid;grid-template-columns:1fr;padding:24px;gap:24px;min-height:0;margin-bottom:20px}.map-message{display:block}.map-message .eyebrow{display:block;font-size:9px;margin-bottom:16px}.map-message h1{font-size:39px;letter-spacing:-1.8px;margin:0}.map-message h1 em{font-size:.72em;margin-top:10px;letter-spacing:-.9px}.map-search-link{display:none}.europe-map{grid-row:auto}.europe-map img{max-height:350px;width:100%}.price-preview,.access-section{margin-bottom:20px}.price-preview h2,.signup-panel h2{font-size:26px;letter-spacing:-.8px;margin-bottom:20px}.search-tabs{display:flex}.search-tabs button{flex:1;padding:9px 8px;font-size:11px}.input-row{flex-direction:column;gap:4px}.input-row>input{padding:12px;min-height:48px}.input-row>button{width:100%;min-height:46px}.location-button{margin-top:10px}.price-preview #grid-title{font-size:20px}.chart-panel:not(.chart-expanded) .chart-toolbar{justify-content:space-between;gap:8px}.chart-type button{padding:7px 9px}.chart-toolbar>button{padding:8px 10px;font-size:11px}main>#coverage,main>#privacy{font-size:11px}footer{font-size:11px;padding-top:24px;padding-bottom:28px}.demand-panel{padding:14px}}

/* Authentication follows a successful network match. */
#access-gate{margin-top:20px;padding:22px;background:var(--brand-ice);border:1px solid var(--line);border-radius:12px;max-width:720px}
.price-preview #access-gate h3{margin:0 0 8px;font-size:20px;line-height:1.3}
#access-gate p{font-size:13px;margin:0 0 16px;color:var(--muted)}
#login-to-prices{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;background:var(--brand-orange);color:var(--brand-navy);font-weight:650;font-size:13px;border-radius:8px;text-decoration:none}
#login-to-prices:hover{background:#ffb239}
