/* Trail overview: all five forecasts stay visible; no rotating cards. */
.network-weather{grid-column:1/-1;background:#fff;border:1px solid #dbe3e6;border-radius:12px;overflow:hidden;scroll-margin-top:24px}
.network-weather-heading{padding:24px 26px 0}
.network-weather-heading h2{font-size:20px;line-height:1.5;margin:0}
.network-weather-heading p{font-size:14px;line-height:1.6;color:#63757d;margin:5px 0 0}
.network-weather-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:22px}
.network-weather-place{display:flex;flex-direction:column;min-width:0;padding:4px 22px 18px;text-decoration:none;border-left:1px solid #e4ebed;color:#183341}
.network-weather-place:first-child{border-left:0}
.network-weather-place:hover{background:#f1f6f8}
.network-weather-place:focus-visible,.network-map-card:focus-visible{outline:3px solid #427da5;outline-offset:-3px}
.network-weather-name{display:block;min-height:49px}
.network-weather-name strong{font:700 16px/1.5 Manrope,Arial,sans-serif;letter-spacing:-.02em}
.network-weather-reference{display:block;font-size:10px;line-height:1.6;color:#63757d}
.network-weather-summary{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:8px;min-height:119px;font-size:13px;line-height:1.6}
.network-weather .weather-icon{width:52px;height:52px;display:block}
.network-weather .weather-temperature{font-size:32px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.network-weather .weather-condition{grid-column:1/-1;font-size:14px}
.network-weather .weather-wind{grid-column:1/-1;font-size:13px;white-space:nowrap;color:#63757d}
.network-weather-updated{display:block;margin-top:14px;font-size:10px;line-height:1.6;color:#63757d}
.network-weather-yr{align-self:flex-start;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px;line-height:1.7;margin-top:7px}
.network-weather-source{padding:13px 26px;border-top:1px solid #e4ebed;font-size:11px;line-height:1.7;color:#63757d;margin:0}
.network-weather-source a{text-decoration:underline;text-underline-offset:3px}
.network-weather-preview{padding:0 26px 14px;font-size:11px;line-height:1.7;color:#63757d;margin:0}
.network-weather-place:not([data-state="ready"]) .network-weather-summary{display:flex;align-items:center}

/* Show the complete map overview without cropping the route network. */
.network-map-card{display:block;width:330px;flex:none;border:1px solid #c5d6df;border-radius:10px;overflow:hidden;background:#fff;text-decoration:none;box-shadow:0 3px 12px #18334108}
.network-map-picture{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#e5edcf}
.network-map-picture img{display:block;width:100%;max-width:100%;height:100%;object-fit:contain;object-position:center}
.network-map-caption{display:block;padding:12px 17px;background:#183341;color:#fff}
.network-map-caption strong{display:block;font-size:16px;line-height:1.5}
.network-map-caption>span{display:block;font-size:12px;line-height:1.6;opacity:.85}
.network-map-card:hover .network-map-caption{background:#2a4c5c}

/* Keep title and fee together on the left, with a larger map beside them. */
.network-intro-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:24px 22px;align-items:start;margin-bottom:24px}
.network-intro-layout .network-hero{grid-column:1;grid-row:1;display:block;margin:0}
.network-intro-layout .network-fee{grid-column:1;grid-row:2;display:block;align-self:end;margin:0;text-align:center}
.network-intro-layout .network-fee .network-primary{margin-top:20px}
.network-intro-layout .network-map-card{grid-column:2;grid-row:1/span 2;justify-self:end;align-self:end;width:100%;max-width:none;margin:0}

/* Keep map and status together, with arrival details below the fee. */
@media(min-width:701px){
 .network-grid .network-status{grid-column:2;grid-row:1/span 2}
 .network-grid .network-parking{grid-column:1;grid-row:1}
 .network-grid .network-practical{grid-column:1;grid-row:2}
}

/* Practical details alongside status; the rules get a readable full-width row. */
.network-practical{grid-column:auto;display:block}
.network-practical p{margin-bottom:18px}
.network-rules-summary{grid-column:1/-1}
.network-rules-header p{max-width:740px;margin-bottom:22px}
.network-rules-header strong{color:#183341}
.network-rules-columns{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:32px}
.network-rules-columns h3{font:700 16px/1.5 Manrope,Arial,sans-serif;letter-spacing:0;text-transform:none;margin:0 0 14px}
.network-rule-list{margin:0;font-size:13px;line-height:1.7}
.network-rule-list>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid #e4ebed}
.network-rule-list dt{color:#63757d}
.network-rule-list dd{flex:none;margin:0;font-weight:700;white-space:nowrap}
.network-rule-points{margin:0;padding-left:18px;font-size:13px;line-height:1.8;color:#63757d}
.network-rule-points li+li{margin-top:10px}
.network-rules-summary .network-rules-footer{margin:24px 0 0;padding-top:18px;border-top:1px solid #e4ebed;font-size:12px;line-height:1.8}
.network-rules-footer .network-rules-link{display:flex;width:fit-content;max-width:100%;min-height:54px;margin-top:14px;font-size:16px;text-decoration:none}

@media(max-width:1000px) and (min-width:701px){
 .network-weather-place{padding-inline:14px}
 .network-weather-name strong{font-size:14px}
 .network-weather-summary{grid-template-columns:44px 1fr;column-gap:5px}
 .network-weather .weather-icon{width:44px;height:44px}
 .network-weather .weather-temperature{font-size:28px}
 .network-map-card{width:285px}
 .network-rules-columns{grid-template-columns:1fr 1fr;gap:24px}
 .network-rules-columns>div:last-child{grid-column:1/-1}
}
@media(max-width:700px){
 .network-intro-layout{grid-template-columns:1fr;gap:22px;margin-bottom:22px}
 .network-intro-layout .network-hero,.network-intro-layout .network-fee,.network-intro-layout .network-map-card{grid-column:1;grid-row:auto}
 .network-intro-layout .network-map-card{justify-self:start;max-width:420px}
 .network-map-card{width:100%;max-width:420px;margin-top:22px}
 .network-map-caption{padding:12px 18px}
 .network-weather{border-radius:10px}
 .network-weather-heading{padding:22px 20px 0}
 .network-weather-grid{grid-template-columns:1fr;margin-top:16px}
 .network-weather-place{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;border:0;border-top:1px solid #e4ebed;padding:17px 20px}
 .network-weather-name{grid-column:1;min-height:0}
 .network-weather-name strong{font-size:16px}
 .network-weather-reference{font-size:11px}
 .network-weather-summary{display:contents;min-height:0}
 .network-weather .weather-icon{grid-column:2;grid-row:1;width:32px;height:32px;justify-self:start;align-self:center;margin-right:46px}
 .network-weather .weather-temperature{grid-column:2;grid-row:1;align-self:center;justify-self:end;font-size:26px}
 .network-weather .weather-condition{grid-column:1;grid-row:2;font-size:13px}
 .network-weather .weather-wind{grid-column:2;grid-row:2;font-size:12px;text-align:right}
 .network-weather-updated{grid-column:1;grid-row:3;margin:1px 0 0;font-size:10px}
 .network-weather-yr{grid-column:2;grid-row:3;justify-self:end;margin:1px 0 0;font-size:11px}
 .network-weather-source{padding:13px 20px;font-size:10px}
 .network-weather-preview{padding:0 20px 14px;font-size:10px}
 .network-weather-place:not([data-state="ready"]) .network-weather-summary{grid-column:1/-1;grid-row:2}
 .network-rules-columns{grid-template-columns:1fr;gap:24px}
 .network-rule-list,.network-rule-points{font-size:14px}
 .network-rules-columns h3{font-size:17px}
 .network-rules-summary .network-rules-footer{font-size:13px}
}
