:root{
  --transport-blue:#58d4ff;
  --transport-yellow:#e8d84a;
  --transport-orange:#ff9f55;
  --transport-red:#ff6b6b;
  --transport-green:#52e0a3;
}
.transport-main{position:relative;z-index:1}
.transport-shell{width:min(1180px,100%);margin:0 auto;padding:0 22px}
.transport-hero{padding:74px 0 34px}
.transport-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:30px;align-items:center}
.transport-kicker{font-family:'Space Grotesk';text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-weight:700;font-size:13px}
.transport-hero h1{font-size:clamp(42px,7vw,78px);max-width:800px}
.transport-lead{max-width:780px;color:#dbeafe;font-size:clamp(18px,2.1vw,24px);line-height:1.45;margin:20px 0 0}
.transport-note{max-width:780px;color:#aab6d8;line-height:1.65;margin:14px 0 0}
.transport-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.transport-badge{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);border-radius:999px;padding:8px 11px;color:#dbeafe;font-size:13px}
.transport-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:20px;padding:0 17px;border-radius:14px;background:rgba(88,212,255,.13);border:1px solid rgba(88,212,255,.32);color:#dff7ff;font-family:'Space Grotesk';font-weight:700;text-decoration:none}
.transport-cta:hover{background:rgba(88,212,255,.19);border-color:rgba(88,212,255,.48)}
#carte{scroll-margin-top:88px}
.hero-meter{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:28px;padding:24px}
.hero-meter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.hero-meter h2{font-size:28px;margin:0}
.hero-meter p{color:#aab6d8;line-height:1.55;margin:8px 0 0;font-size:14px}
.metric-demo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.metric-demo-card{border:1px solid rgba(255,255,255,.11);background:rgba(7,16,31,.28);border-radius:18px;padding:16px}
.metric-demo-card span{display:block;color:#9fb0d1;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.metric-demo-card b{display:block;font-family:'Space Grotesk';font-size:30px;margin-top:5px;letter-spacing:-.04em}
.metric-demo-card small{display:block;color:#aab6d8;margin-top:2px}
.cross-value{color:var(--transport-orange)}
.demo-warning{margin-top:14px;color:#8798bb;font-size:12px;line-height:1.5}
.transport-section{padding:26px 0 38px}
.transport-section+.transport-section{padding-top:18px}
.transport-section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}
.transport-section-head h2{font-size:clamp(30px,4vw,46px)}
.transport-section-copy{max-width:640px;color:#aab6d8;line-height:1.6;font-size:14px}
.transport-panel{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.075);border-radius:24px;padding:24px}
.transport-panel h3{font-family:'Space Grotesk';font-size:24px;margin:0 0 10px}
.transport-panel p{color:#c7d2fe;line-height:1.65;margin:0}
.transport-panel p+p{margin-top:12px}
.control-panel{padding:20px;margin-bottom:18px}
.control-grid{display:grid;grid-template-columns:1.05fr 1fr .85fr minmax(240px,1.5fr);gap:14px;align-items:end}
.field label{display:block;color:#aebbd5;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 7px}
.field select{width:100%;min-height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#111d3c;color:#eef2fb;padding:0 13px;font:inherit;font-size:15px;outline:none}
.field select:focus{border-color:rgba(88,212,255,.68);box-shadow:0 0 0 3px rgba(88,212,255,.12)}
.hour-field input[type="range"]{width:100%;accent-color:var(--transport-blue);margin-top:8px}
.hour-meta{display:flex;justify-content:space-between;gap:12px;color:#8fa0c2;font-size:12px;margin-top:3px}
.hour-meta strong{color:#dbeafe}
.status{min-height:22px;color:#9fb0d1;font-size:13px;margin:-7px 2px 8px}
.status.error{color:#ff9a9a;font-weight:700}
.map-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:18px}
.map-panel{padding:18px;overflow:hidden}
.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.map-toolbar>div:first-child{display:flex;flex-direction:column;gap:2px}
.map-eyebrow{color:#8fa0c2;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.map-toolbar b{font-family:'Space Grotesk';font-size:18px}
.map-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#8fa0c2;font-size:12px}
#back-france{border:1px solid rgba(88,212,255,.34);background:rgba(88,212,255,.10);color:#dff7ff;border-radius:999px;padding:8px 12px;font:inherit;font-weight:700;cursor:pointer}
#back-france:hover{background:rgba(88,212,255,.18)}
#map{height:min(68vh,690px);min-height:520px;border-radius:18px;overflow:hidden;background:#e9edf0}
.maplibregl-popup-content{color:#17212b;font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;border-radius:12px;padding:13px 15px;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.maplibregl-popup-content strong{font-size:15px}.maplibregl-popup-content hr{border:0;border-top:1px solid #dde2e6;margin:8px 0}
.map-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;color:#8fa0c2;font-size:12px}
.map-side{align-self:start}
.side-copy{font-size:13px!important;color:#aab6d8!important}
.legend{display:grid;gap:9px;margin-top:18px}
.legend-row{display:grid;grid-template-columns:24px 72px 1fr;gap:9px;align-items:center;font-size:13px;color:#b8c5df;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.legend-row:last-child{border-bottom:0}.legend-row b{color:#eef2fb}
.legend-swatch{width:24px;height:7px;border-radius:5px}.legend-swatch.signal{background:#e0b93d}.legend-swatch.strong{background:#e38232}.legend-swatch.severe{background:#c84343}
.map-side-stat{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10)}
.map-side-stat span{display:block;color:#8fa0c2;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.map-side-stat b{display:block;font-family:'Space Grotesk';font-size:28px;margin-top:4px;letter-spacing:-.03em}
.map-side-stat small{color:#93a4c8;line-height:1.4}
.important-note{margin-top:18px;padding:15px 16px;border-radius:16px;border:1px solid rgba(232,216,74,.28);background:rgba(232,216,74,.08);color:#f6efb2;line-height:1.55;font-size:14px}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.formula{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:22px 0 8px;padding:18px;border-radius:18px;background:rgba(7,16,31,.32);border:1px solid rgba(255,255,255,.08);font-family:'Space Grotesk';font-weight:700}
.formula span{padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.07)}.formula .plus{padding:0;background:none;color:#7f90b3}
.scale-list{display:grid;gap:10px;margin-top:15px}.scale-list>div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.09);background:rgba(7,16,31,.28);border-radius:15px}.scale-list b{font-family:'Space Grotesk';color:#eef2fb}.scale-list span{color:#b8c5df;font-size:13px;line-height:1.5}
.method-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.method-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:20px;padding:20px}
.method-card h3{font-family:'Space Grotesk';font-size:20px;margin:0 0 8px}.method-card p{color:#aab6d8;font-size:13px;line-height:1.6;margin:0}
@media(max-width:980px){.transport-hero-grid,.map-layout,.info-grid,.method-panel{grid-template-columns:1fr}.control-grid{grid-template-columns:1fr 1fr}.hero-meter{max-width:720px}.map-side{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.map-side>.transport-kicker,.map-side>h3,.map-side>.side-copy,.map-side>.legend{grid-column:1/-1}}
@media(max-width:760px){.transport-shell{padding-left:16px;padding-right:16px}.transport-hero{padding:34px 0 14px}.transport-hero h1{font-size:clamp(36px,11vw,52px);line-height:.98}.transport-lead{font-size:18px;margin-top:14px}.transport-note{font-size:14px;line-height:1.55;margin-top:10px}.transport-badges{margin-top:15px}.transport-section{padding:18px 0 24px}.transport-section+.transport-section{padding-top:12px}.transport-section-head{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:13px}.transport-section-head h2{font-size:clamp(27px,8vw,36px)}.transport-section-copy{font-size:13px}.control-grid{grid-template-columns:1fr}.field select{min-height:52px;font-size:16px}.hero-meter{display:none}.transport-panel{padding:17px}#map{min-height:58vh;height:58vh}.map-toolbar{align-items:flex-start}.map-actions{width:100%;justify-content:space-between}.map-side{display:block}}
@media(max-width:520px){.transport-badges{gap:6px}.transport-badge{font-size:11px;padding:7px 9px}.transport-cta{width:100%;margin-top:16px}.metric-demo{grid-template-columns:1fr 1fr}.scale-list>div{grid-template-columns:1fr;gap:5px}#map{min-height:55vh;height:55vh}}
@media(max-width:360px){.transport-badge:nth-child(n+3){display:none}}
[hidden]{display:none!important}

/* V1.0.4 — stronger risk overlay + wide interactive hit area */
.map-stage{position:relative}
.map-empty{position:absolute;left:50%;top:18px;transform:translateX(-50%);z-index:5;width:min(520px,calc(100% - 32px));padding:12px 15px;border-radius:14px;background:rgba(8,19,39,.90);border:1px solid rgba(88,212,255,.32);box-shadow:0 10px 30px rgba(0,0,0,.22);color:#eef6ff;text-align:center;pointer-events:none;backdrop-filter:blur(7px)}
.map-empty b{display:block;font-family:'Space Grotesk';font-size:15px}.map-empty span{display:block;color:#b8c8e8;font-size:12px;line-height:1.45;margin-top:3px}
.legend-row span{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}.legend-row em{font-style:normal;color:#9fb0d1;font-size:11px;white-space:nowrap}.legend-row strong{font-family:'Space Grotesk';font-size:14px;color:#fff;min-width:34px;text-align:right}
.legend-swatch{box-shadow:0 0 0 2px rgba(4,15,32,.75),0 0 10px rgba(255,255,255,.12)}
.maplibregl-canvas{outline:none}
@media(max-width:760px){.map-empty{top:12px}.legend-row{grid-template-columns:24px 64px 1fr}}

/* V1.0.5 — transport overlay must visually dominate the muted PLAN IGN base. */
.map-panel{isolation:isolate}
#map{cursor:grab}
#map:active{cursor:grabbing}
.maplibregl-popup{z-index:30}
.maplibregl-popup-content{border:2px solid rgba(0,212,255,.48)}
.map-meta span:first-child::after{content:" · routes non colorées = aucun dépassement affiché";color:#aebbd3}
.legend::before{content:"Routes du fond IGN : sans surcouche Climae au seuil choisi";display:block;margin-bottom:5px;padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.055);border-left:5px solid #9da8b7;color:#b9c6da;font-size:11px;line-height:1.35}

.legend-swatch.extreme{background:#8e3f8f}
