.alb-core-cartography-page .entry-title{display:none!important}
.alb-core-cartography-page .entry-content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
.alb-core-cartography{--alb-panel:#fbfaf6;--alb-carto-edge-x:18px;--alb-carto-toolbar-top:18px;--alb-carto-panel-top:92px;position:relative;width:100vw;max-width:none;height:calc(100dvh - 24px);min-height:620px;margin-left:calc(50% - 50vw);overflow:hidden;background:#dcecf1;font-family:inherit}
body.admin-bar .alb-core-cartography{height:calc(100dvh - 56px)}
.alb-cartography-map,.alb-cartography-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.alb-cartography-toolbar{position:absolute;z-index:20;top:var(--alb-carto-toolbar-top);left:var(--alb-carto-edge-x);right:var(--alb-carto-edge-x);display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(251,250,246,.94);border:1px solid rgba(104,119,126,.28);border-radius:14px;box-shadow:0 6px 24px rgba(44,63,70,.14);backdrop-filter:blur(8px)}
.alb-cartography-brand{display:flex;flex-direction:column;min-width:140px;padding:0 6px}.alb-cartography-brand strong{font-size:15px;line-height:1.2}.alb-cartography-brand span{font-size:11px;color:#63727a;margin-top:2px}
.alb-cartography-views{display:flex;gap:4px;flex:1;min-width:0;overflow:auto;scrollbar-width:none}.alb-cartography-views::-webkit-scrollbar{display:none}.alb-cartography-views button,.alb-cartography-settings-button{appearance:none;border:0;border-radius:9px;background:transparent;padding:9px 12px;font:inherit;font-size:13px;font-weight:650;white-space:nowrap;cursor:pointer;color:#34464e}.alb-cartography-views button:hover,.alb-cartography-settings-button:hover{background:#eef3f2}.alb-cartography-views button.is-active{background:#223e49;color:#fff}.alb-cartography-toolbar-tools{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-width:0}.alb-cartography-settings-button{border-left:1px solid #d7ddda;border-radius:0;padding-left:16px}.alb-cartography-zoom-control{display:flex;align-items:center;gap:7px;height:34px;padding:0 9px;border:1px solid #d7ddda;border-radius:9px;background:rgba(255,255,255,.54);color:#4a5c64;transition:opacity .15s ease,background .15s ease}.alb-cartography-zoom-control:hover{background:#f7faf9}.alb-cartography-zoom-control.is-waiting{opacity:.48;pointer-events:none}.alb-cartography-zoom-control[hidden]{display:none!important}.alb-cartography-zoom-label{font-size:11px;font-weight:750;white-space:nowrap}.alb-cartography-zoom-control output{min-width:24px;text-align:right;font-size:10px;font-weight:750;color:#68777e;font-variant-numeric:tabular-nums}.alb-cartography-zoom-control input[type=range]{appearance:none;-webkit-appearance:none;width:112px;height:22px;margin:0;background:transparent;cursor:pointer}.alb-cartography-zoom-control input[type=range]::-webkit-slider-runnable-track{height:8px;border:1px solid #bcc8c7;border-radius:3px;background:repeating-linear-gradient(90deg,#eef3f2 0,#eef3f2 10px,#9aa9aa 10px,#9aa9aa 11px)}.alb-cartography-zoom-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:18px;margin-top:-6px;border:2px solid #fff;border-radius:3px;background:#223e49;box-shadow:0 1px 4px rgba(34,62,73,.3)}.alb-cartography-zoom-control input[type=range]::-moz-range-track{height:7px;border:1px solid #bcc8c7;border-radius:3px;background:repeating-linear-gradient(90deg,#eef3f2 0,#eef3f2 10px,#9aa9aa 10px,#9aa9aa 11px)}.alb-cartography-zoom-control input[type=range]::-moz-range-thumb{width:10px;height:16px;border:2px solid #fff;border-radius:3px;background:#223e49;box-shadow:0 1px 4px rgba(34,62,73,.3)}
.alb-cartography-settings{position:absolute;z-index:25;top:84px;right:var(--alb-carto-edge-x);width:min(330px,calc(100vw - 36px));max-height:calc(100% - 104px);overflow:auto;padding:0;background:rgba(251,250,246,.97);border:1px solid rgba(104,119,126,.30);border-radius:14px;box-shadow:0 10px 34px rgba(44,63,70,.19);transform:translateX(calc(100% + 40px));opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}.alb-cartography-settings.is-open{transform:translateX(0);opacity:1;pointer-events:auto}
.alb-cartography-settings-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:16px;border-bottom:1px solid #e1e4df}.alb-cartography-settings-head>div{display:flex;flex-direction:column}.alb-cartography-settings-head strong{font-size:15px}.alb-cartography-settings-head span{font-size:12px;color:#68777e;margin-top:3px}.alb-cartography-settings-head button{border:0;background:transparent;font-size:25px;line-height:1;cursor:pointer;color:#526169}
.alb-cartography-layer-list{padding:9px}.alb-cartography-layer-list label{display:flex;gap:10px;align-items:center;padding:10px;border-radius:9px;font-size:13px;cursor:pointer}.alb-cartography-layer-list label:hover{background:#f0f3ef}.alb-cartography-layer-list label.is-contextual{display:none}.alb-cartography-layer-list input{width:17px;height:17px;margin:0}.alb-cartography-settings-foot{padding:10px 14px 14px;border-top:1px solid #e1e4df}.alb-cartography-settings-foot button{border:0;background:transparent;color:#395865;font-weight:650;cursor:pointer;padding:5px 0}
.alb-core-cartography.is-loading:after{content:"";position:absolute;z-index:15;inset:0;background:rgba(220,236,241,.18);pointer-events:none}
@media(min-width:701px){.alb-core-cartography>aside:not(.alb-cartography-settings){right:var(--alb-carto-edge-x)!important;top:var(--alb-carto-panel-top)!important}}
@media(max-width:780px){.alb-core-cartography{--alb-carto-edge-x:10px;--alb-carto-toolbar-top:10px;height:calc(100dvh - 12px);min-height:560px}.alb-cartography-toolbar{top:var(--alb-carto-toolbar-top);left:var(--alb-carto-edge-x);right:var(--alb-carto-edge-x);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:8px}.alb-cartography-brand{min-width:0}.alb-cartography-brand span{display:none}.alb-cartography-views{grid-column:1/-1;grid-row:2}.alb-cartography-views button{padding:8px 10px}.alb-cartography-toolbar-tools{grid-column:2;grid-row:1;gap:5px}.alb-cartography-zoom-control{height:32px;padding:0 7px}.alb-cartography-zoom-label,.alb-cartography-zoom-control output{display:none}.alb-cartography-zoom-control input[type=range]{width:82px}.alb-cartography-settings-button{border-left:0;padding:7px 9px}.alb-cartography-settings{top:auto;bottom:10px;right:10px;left:10px;width:auto;max-height:65%;transform:translateY(calc(100% + 30px))}.alb-cartography-settings.is-open{transform:translateY(0)}}
@media(max-width:782px){body.admin-bar .alb-core-cartography{height:calc(100dvh - 58px)}}

/* Actions contextuelles ajoutées par les vues fonctionnelles (ex. Aviation). */
.alb-cartography-extension-actions{display:flex;align-items:center;gap:4px;border-left:1px solid #d7ddda;padding-left:10px}
.alb-cartography-extension-actions[hidden]{display:none!important}
.alb-cartography-extension-actions button{appearance:none;border:0;border-radius:9px;background:transparent;padding:9px 11px;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;cursor:pointer;color:#34464e}
.alb-cartography-extension-actions button:hover{background:#eef3f2}.alb-cartography-extension-actions button.is-active{background:#dbe8ec;color:#173946}
@media(max-width:780px){.alb-cartography-toolbar-tools{max-width:72vw;overflow-x:auto;scrollbar-width:none}.alb-cartography-toolbar-tools::-webkit-scrollbar{display:none}.alb-cartography-extension-actions{border-left:0;padding-left:0;margin-right:0}.alb-cartography-extension-actions button{padding:7px 8px;font-size:11px}}

/* TPA 0.3.3 — panneau voyageurs + signalétique du suivi en direct. */
.alb-cartography-tpa-panel{position:absolute;z-index:9;right:18px;top:92px;width:min(370px,calc(100% - 36px));max-height:calc(100% - 112px);overflow:auto;background:#101827;color:#fff;border:1px solid rgba(255,255,255,.10);border-radius:20px;box-shadow:0 18px 50px rgba(15,25,40,.28);display:none;box-sizing:border-box;scrollbar-width:thin}.alb-cartography-tpa-panel.is-open{display:block}.alb-cartography-tpa-panel[aria-hidden="true"]{display:none}.alb-cartography-tpa-panel-head{padding:20px 20px 16px;background:linear-gradient(135deg,#0b2e63 0%,#101827 100%);border-bottom:1px solid rgba(255,255,255,.10)}.alb-cartography-tpa-panel-head>div{display:flex;flex-direction:column;align-items:flex-start}.alb-cartography-tpa-panel-head strong{font-size:23px;line-height:1.05;color:#fff;letter-spacing:-.035em}.alb-cartography-tpa-panel-head>div>span{margin-top:7px;color:rgba(255,255,255,.62);font-size:11px;font-variant-numeric:tabular-nums}.alb-cartography-tpa-panel-head .alb-cartography-tpa-panel-subtitle{margin-top:6px;color:rgba(255,255,255,.72);font-size:11px;line-height:1.35;font-variant-numeric:normal}.alb-cartography-tpa-live-kicker{display:flex!important;align-items:center;gap:8px!important;margin:0 0 8px!important;color:rgba(255,255,255,.74)!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.08em}.alb-cartography-tpa-live-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 rgba(34,197,94,.55);animation:albTpaLivePulse 1.5s infinite;flex:0 0 9px}@keyframes albTpaLivePulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.alb-cartography-tpa-panel [data-tpa-departures-view]{padding:16px 18px 18px}.alb-cartography-tpa-section-label{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.55);margin-bottom:8px}.alb-cartography-tpa-lines{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}.alb-cartography-tpa-lines button{appearance:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:rgba(255,255,255,.82);border-radius:9px;min-width:42px;height:34px;padding:0 9px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.alb-cartography-tpa-lines button:hover{background:rgba(255,255,255,.13)}.alb-cartography-tpa-lines button.is-active{background:#fff;color:#0b2e63;border-color:#fff}.alb-cartography-tpa-lines button.is-t1:not(.is-active){background:#2437ff;color:#fff;border-color:#5261ff}.alb-cartography-tpa-lines button.is-bus:not(.is-active){background:#f0c600;color:#003578;border-color:#f0c600}
.alb-cartography-tpa-stop-field{display:flex;flex-direction:column;gap:6px;margin-bottom:7px}.alb-cartography-tpa-stop-field>span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.55)}.alb-cartography-tpa-stop-field select{width:100%;min-height:42px;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:#fff;color:#152033;padding:0 38px 0 12px;font:inherit;font-size:13px;font-weight:700}.alb-cartography-tpa-hint{margin:0 0 16px;color:rgba(255,255,255,.50);font-size:11px;line-height:1.4}.alb-cartography-tpa-board-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;padding-top:13px;border-top:1px solid rgba(255,255,255,.11);margin-bottom:5px}.alb-cartography-tpa-board-head strong{font-size:14px;color:#fff}.alb-cartography-tpa-board-head span{font-size:11px;color:rgba(255,255,255,.62);text-align:right;max-width:170px}.alb-cartography-tpa-departures{display:grid}.alb-cartography-tpa-departure{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.09)}.alb-cartography-tpa-departure:last-child{border-bottom:0}.alb-cartography-tpa-line-badge{display:flex;align-items:center;justify-content:center;width:44px;height:30px;border-radius:8px;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}.alb-cartography-tpa-line-badge.is-bus{background:#f0c600;color:#003578}.alb-cartography-tpa-line-badge.is-t1{background:#2437ff;color:#fff}.alb-cartography-tpa-destination{min-width:0}.alb-cartography-tpa-destination strong{display:block;color:#fff;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alb-cartography-tpa-destination span{display:block;color:rgba(255,255,255,.52);font-size:10px;margin-top:4px;font-variant-numeric:tabular-nums}.alb-cartography-tpa-destination em{display:inline-block;color:#ffad9e;font-style:normal;font-size:10px;font-weight:800;margin-top:3px}.alb-cartography-tpa-countdown{text-align:right;min-width:64px}.alb-cartography-tpa-countdown strong{color:#f0c600;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.alb-cartography-tpa-departure.is-due .alb-cartography-tpa-countdown strong{color:#22c55e}.alb-cartography-tpa-empty{margin:0;padding:14px 0 4px;color:rgba(255,255,255,.60);font-size:12px}
.alb-cartography-tpa-vehicle-view{padding:18px}.alb-cartography-tpa-back{appearance:none;border:0;background:transparent;color:#f0c600;padding:0;margin:0 0 18px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.alb-cartography-tpa-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:rgba(255,255,255,.55);margin-bottom:4px}.alb-cartography-tpa-vehicle-view>strong{font-size:22px;display:block;color:#fff}.alb-cartography-tpa-vehicle-view>span{display:block;margin-top:3px;color:rgba(255,255,255,.72)}.alb-cartography-tpa-vehicle-view dl{margin:16px 0 0;display:grid;gap:8px}.alb-cartography-tpa-vehicle-view dl>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.10)}.alb-cartography-tpa-vehicle-view dt{font-size:11px;color:rgba(255,255,255,.50)}.alb-cartography-tpa-vehicle-view dd{margin:0;font-size:12px;font-weight:700;color:#fff}.alb-cartography-tpa-next-button{width:100%;margin-top:18px;border:0;border-radius:11px;background:#f0c600;color:#003578;padding:11px 13px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
@media(max-width:700px){.alb-cartography-tpa-panel{top:auto;right:10px;left:10px;bottom:10px;width:auto;max-height:52%;border-radius:18px}.alb-cartography-tpa-panel-head{padding:15px 16px 12px}.alb-cartography-tpa-panel-head strong{font-size:20px}.alb-cartography-tpa-panel [data-tpa-departures-view],.alb-cartography-tpa-vehicle-view{padding:13px 15px 15px}.alb-cartography-tpa-hint{display:none}.alb-cartography-tpa-departure{padding:10px 0}.alb-cartography-tpa-lines{flex-wrap:nowrap;overflow:auto;padding-bottom:2px;scrollbar-width:none}.alb-cartography-tpa-lines::-webkit-scrollbar{display:none}}

.alb-cartography-tpa-lines button.is-t1.is-active{background:#2437ff;color:#fff;border-color:#2437ff;box-shadow:0 0 0 2px #fff}.alb-cartography-tpa-lines button.is-bus.is-active{background:#f0c600;color:#003578;border-color:#f0c600;box-shadow:0 0 0 2px #fff}

@media (prefers-reduced-motion: reduce){.alb-cartography-tpa-live-dot{animation:none;box-shadow:0 0 0 4px rgba(34,197,94,.16)}}

.alb-cartography-tpa-service-end{padding:18px 0 8px;text-align:center}.alb-cartography-tpa-service-end strong{display:block;color:#fff;font-size:14px}.alb-cartography-tpa-service-end span{display:block;margin-top:5px;color:rgba(255,255,255,.56);font-size:11px;font-variant-numeric:tabular-nums}

/* Core 0.4.0 — panneau Réseau routier. */
.alb-cartography-road-panel{position:absolute;z-index:9;right:18px;top:92px;width:min(370px,calc(100% - 36px));max-height:calc(100% - 112px);overflow:auto;background:#fff;color:#172126;border:1px solid rgba(23,33,38,.12);border-radius:20px;box-shadow:0 18px 50px rgba(15,25,40,.25);display:none;box-sizing:border-box;scrollbar-width:thin}.alb-cartography-road-panel.is-open{display:block}.alb-cartography-road-panel[aria-hidden="true"]{display:none}.alb-cartography-road-head{padding:19px 20px 16px;background:linear-gradient(135deg,#20343c 0%,#111c21 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.alb-cartography-road-head>strong{display:block;font-size:23px;line-height:1.06;letter-spacing:-.03em}.alb-cartography-road-head>small{display:block;margin-top:6px;color:rgba(255,255,255,.64);font-size:11px}.alb-cartography-road-kicker{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:rgba(255,255,255,.72);font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.alb-cartography-road-kicker>span{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 rgba(34,197,94,.5);animation:albRoadPulse 1.7s infinite}@keyframes albRoadPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}.alb-cartography-road-body{padding:16px 18px 18px}.alb-cartography-road-route-buttons{display:flex;flex-wrap:wrap;gap:7px}.alb-cartography-road-route-buttons button{appearance:none;border:1px solid #d7ddda;background:#f7f8f7;color:#24353c;border-radius:9px;min-width:43px;height:34px;padding:0 10px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.alb-cartography-road-route-buttons button:hover,.alb-cartography-road-route-buttons button.is-active{background:#173946;border-color:#173946;color:#fff}.alb-cartography-road-hint{margin:10px 0 15px;color:#69777c;font-size:11px;line-height:1.4}.alb-cartography-road-normal,.alb-cartography-road-route-ok{display:flex;align-items:center;gap:11px;padding:13px;border-radius:12px;background:#effaf3;border:1px solid #ccebd6}.alb-cartography-road-normal>span,.alb-cartography-road-route-ok>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dcfce7;color:#166534;font-weight:900}.alb-cartography-road-normal strong,.alb-cartography-road-route-ok strong{display:block;color:#166534;font-size:12px}.alb-cartography-road-normal small,.alb-cartography-road-route-ok small{display:block;margin-top:2px;color:#577263;font-size:10px}.alb-cartography-road-event-count{display:flex;align-items:baseline;gap:7px;padding:8px 0 6px}.alb-cartography-road-event-count strong{font-size:22px;color:#8a3b0b}.alb-cartography-road-event-count span{font-size:11px;color:#69777c}.alb-cartography-road-event{display:block;width:100%;appearance:none;border:0;border-top:1px solid #e3e7e5;background:transparent;text-align:left;padding:12px 4px;cursor:pointer}.alb-cartography-road-event:hover{background:#f6f8f7}.alb-cartography-road-event>span{display:flex;gap:7px;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#7b8589}.alb-cartography-road-event>span b{display:inline-flex;padding:2px 6px;border-radius:6px;background:#233941;color:#fff}.alb-cartography-road-event>strong{display:block;margin-top:4px;font-size:12px;color:#172126}.alb-cartography-road-event>small{display:block;margin-top:4px;font-size:10px;color:#69777c}.alb-cartography-road-event.is-closed{box-shadow:inset 4px 0 #c81e1e;padding-left:10px}.alb-cartography-road-event.is-alternating{box-shadow:inset 4px 0 #ea580c;padding-left:10px}.alb-cartography-road-event.is-caution,.alb-cartography-road-event.is-reduced_speed{box-shadow:inset 4px 0 #d97706;padding-left:10px}.alb-cartography-road-back{appearance:none;border:0;background:transparent;padding:0;margin:0 0 13px;color:#315b6d;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.alb-cartography-road-route-head>span,.alb-cartography-road-event-detail>span{display:block;color:#758186;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.alb-cartography-road-route-head>strong{display:block;margin-top:2px;font-size:28px;color:#173946;letter-spacing:-.04em}.alb-cartography-road-route-head>p{margin:3px 0;color:#526169;font-size:12px}.alb-cartography-road-route-head>b{display:block;margin-top:8px;font-size:15px;color:#172126}.alb-cartography-road-route-alert{margin-top:15px;padding-top:13px;border-top:1px solid #e2e6e4}.alb-cartography-road-route-alert>strong{font-size:11px;color:#8a3b0b}.alb-cartography-road-route-alert button{appearance:none;width:100%;border:0;background:#fff7ed;border-radius:10px;text-align:left;padding:10px;margin-top:7px;cursor:pointer}.alb-cartography-road-route-alert button span{display:block;color:#9a3412;font-size:9px;text-transform:uppercase}.alb-cartography-road-route-alert button b{display:block;margin-top:3px;color:#3f2b20;font-size:11px}.alb-cartography-road-route-alert button small{display:block;margin-top:3px;color:#7c6c62;font-size:9px}.alb-cartography-road-route-ok{margin-top:15px}.alb-cartography-road-detail dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0 0}.alb-cartography-road-detail dl>div{padding:9px;border-radius:9px;background:#f4f6f5}.alb-cartography-road-detail dt{font-size:9px;color:#758186}.alb-cartography-road-detail dd{margin:2px 0 0;font-size:11px;font-weight:800}.alb-cartography-road-event-detail>strong{display:block;margin-top:5px;font-size:19px;line-height:1.15;color:#172126}.alb-cartography-road-event-detail>p{margin:9px 0 4px;font-size:12px}.alb-cartography-road-event-detail>b{display:inline-flex;border-radius:999px;padding:5px 9px;background:#fff3e8;color:#9a3412;font-size:10px}.alb-cartography-road-event-detail>small{display:block;margin-top:8px;color:#69777c;font-size:10px}.alb-cartography-road-event-detail>div{margin-top:12px;padding-top:12px;border-top:1px solid #e3e7e5;font-size:11px;line-height:1.45}.alb-cartography-road-event-detail>a{display:inline-block;margin-top:12px;color:#315b6d;font-weight:800;font-size:11px}.alb-cartography-road-loading,.alb-cartography-road-error{font-size:11px;color:#69777c}.alb-cartography-road-error{color:#9a3412}@media(max-width:700px){.alb-cartography-road-panel{top:auto;right:10px;left:10px;bottom:10px;width:auto;max-height:52%;border-radius:18px}.alb-cartography-road-head{padding:14px 16px 12px}.alb-cartography-road-head>strong{font-size:20px}.alb-cartography-road-body{padding:13px 15px 15px}.alb-cartography-road-route-buttons{flex-wrap:nowrap;overflow:auto;scrollbar-width:none}.alb-cartography-road-route-buttons::-webkit-scrollbar{display:none}.alb-cartography-road-hint{display:none}}@media(prefers-reduced-motion:reduce){.alb-cartography-road-kicker>span{animation:none;box-shadow:0 0 0 4px rgba(34,197,94,.14)}}

/* Core 0.4.7 — circulation routière estimée */
.alb-cartography-road-traffic-toggle{display:flex;align-items:center;gap:9px;margin:0 0 12px;padding:10px 11px;border:1px solid #dce3df;border-radius:11px;background:#f8faf9;color:#314149;font-size:10px;font-weight:800;cursor:pointer}.alb-cartography-road-traffic-toggle input{margin:0;accent-color:#173946}.alb-cartography-road-traffic-summary{margin-bottom:13px}.alb-cartography-road-traffic-headline{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px}.alb-cartography-road-traffic-headline strong{font-size:11px;color:#26383f}.alb-cartography-road-traffic-headline small{font-size:9px;color:#79868b}.alb-cartography-road-traffic-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.alb-cartography-road-traffic-routes button{appearance:none;border:1px solid #e0e5e2;border-radius:9px;background:#fff;padding:7px 8px;text-align:left;cursor:pointer;min-width:0}.alb-cartography-road-traffic-routes button:hover{background:#f7f9f8}.alb-cartography-road-traffic-routes b{display:block;font-size:10px;color:#20343c}.alb-cartography-road-traffic-routes span{display:flex;align-items:center;gap:5px;margin-top:2px;font-size:9px;color:#66757a;white-space:nowrap}.alb-cartography-road-traffic-routes i,.alb-cartography-road-traffic-detail>i{display:block;width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#22a447}.alb-cartography-road-traffic-routes .is-moderate i,.alb-cartography-road-traffic-detail.is-moderate>i{background:#d5a600}.alb-cartography-road-traffic-routes .is-dense i,.alb-cartography-road-traffic-detail.is-dense>i{background:#e86f12}.alb-cartography-road-traffic-routes .is-very_dense i,.alb-cartography-road-traffic-detail.is-very_dense>i{background:#c7372f}.alb-cartography-road-traffic-routes .is-closed i,.alb-cartography-road-traffic-detail.is-closed>i{background:#7f1d1d}.alb-cartography-road-traffic-detail{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:11px 12px;border-radius:11px;background:#f5faf6;border:1px solid #d9e9dc}.alb-cartography-road-traffic-detail>i{margin-top:4px}.alb-cartography-road-traffic-detail small{display:block;color:#768389;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.alb-cartography-road-traffic-detail strong{display:block;margin-top:1px;color:#196b34;font-size:13px}.alb-cartography-road-traffic-detail span{display:block;margin-top:2px;color:#607067;font-size:9px}.alb-cartography-road-traffic-detail.is-moderate{background:#fffbea;border-color:#eee0a5}.alb-cartography-road-traffic-detail.is-moderate strong{color:#8a6a00}.alb-cartography-road-traffic-detail.is-dense{background:#fff4e9;border-color:#f0cba8}.alb-cartography-road-traffic-detail.is-dense strong{color:#a94d09}.alb-cartography-road-traffic-detail.is-very_dense{background:#fff0ef;border-color:#efc0bd}.alb-cartography-road-traffic-detail.is-very_dense strong{color:#9f2721}.alb-cartography-road-traffic-detail.is-closed{background:#fcecec;border-color:#e7b4b4}.alb-cartography-road-traffic-detail.is-closed strong{color:#7f1d1d}

/* Core 0.4.8 — alertes routières TPA et navigation Routes ↔ TPA. */
.alb-cartography-tpa-alerts{display:grid;gap:7px;margin:0 0 12px}.alb-cartography-tpa-alerts[hidden]{display:none!important}.alb-cartography-tpa-alert{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;padding:10px 11px;border-radius:10px;background:rgba(240,198,0,.12);border:1px solid rgba(240,198,0,.24)}.alb-cartography-tpa-alert.is-danger{background:rgba(220,38,38,.13);border-color:rgba(248,113,113,.30)}.alb-cartography-tpa-alert>span{font-size:17px;line-height:1.2}.alb-cartography-tpa-alert strong{display:block;color:#fff;font-size:11px}.alb-cartography-tpa-alert p{margin:2px 0 0;color:rgba(255,255,255,.78);font-size:11px;line-height:1.35}.alb-cartography-tpa-alert small{display:block;margin-top:4px;color:rgba(255,255,255,.48);font-size:9px}.alb-cartography-tpa-service-end.is-suspended strong{color:#ff9b91}.alb-cartography-road-event em,.alb-cartography-road-route-alert button em{display:block;margin-top:5px;color:#0b5673;font-style:normal;font-size:10px;font-weight:800}.alb-cartography-road-tpa-impact{margin-top:11px;padding:12px;border-radius:12px;background:#eef5f7;border:1px solid #d7e6ea;color:#173946}.alb-cartography-road-tpa-impact>strong{display:block;margin-bottom:7px;font-size:12px}.alb-cartography-road-tpa-impact>div{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #d7e6ea}.alb-cartography-road-tpa-impact>div:first-of-type{border-top:0}.alb-cartography-road-tpa-badge{display:flex;align-items:center;justify-content:center;width:36px;height:27px;border-radius:7px;background:#f0c600;color:#003578;font-size:11px;font-weight:900}.alb-cartography-road-tpa-impact p{margin:0;min-width:0}.alb-cartography-road-tpa-impact p b{display:block;font-size:11px}.alb-cartography-road-tpa-impact p small{display:block;margin-top:2px;color:#5f737d;font-size:9px}.alb-cartography-road-tpa-impact button{appearance:none;border:0;background:#123f5b;color:#fff;border-radius:7px;padding:7px 8px;font:inherit;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}@media(max-width:520px){.alb-cartography-road-tpa-impact>div{grid-template-columns:38px 1fr}.alb-cartography-road-tpa-impact button{grid-column:1/-1}}
.alb-cartography-tpa-alert button{appearance:none;border:0;background:transparent;color:#f0c600;padding:5px 0 0;font:inherit;font-size:9px;font-weight:800;cursor:pointer}.alb-cartography-tpa-alert.is-danger button{color:#ffb4ad}

/* Core 0.4.9 — alertes TPA nettement visibles dans l'infobox Cartographie. */
.alb-cartography-tpa-alerts{gap:10px;margin:0 0 16px}
.alb-cartography-tpa-alert{display:block;padding:13px 14px 12px;border-radius:13px;background:linear-gradient(135deg,rgba(217,119,6,.28),rgba(120,53,15,.22));border:1px solid rgba(251,191,36,.52);box-shadow:0 8px 22px rgba(0,0,0,.16);color:#fff}
.alb-cartography-tpa-alert.is-danger{background:linear-gradient(135deg,rgba(185,28,28,.38),rgba(69,10,10,.28));border-color:rgba(248,113,113,.62);box-shadow:0 8px 24px rgba(127,29,29,.22)}
.alb-cartography-tpa-alert.is-info{background:linear-gradient(135deg,rgba(30,64,175,.26),rgba(15,23,42,.24));border-color:rgba(147,197,253,.38)}
.alb-cartography-tpa-alert-kicker{display:flex;align-items:center;gap:7px;margin-bottom:9px;color:#ffd36a;font-size:9px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
.alb-cartography-tpa-alert.is-danger .alb-cartography-tpa-alert-kicker{color:#ffaaa3}
.alb-cartography-tpa-alert.is-info .alb-cartography-tpa-alert-kicker{color:#a8d2ff}
.alb-cartography-tpa-alert-kicker>span{font-size:12px;line-height:1}
.alb-cartography-tpa-alert-main{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center}
.alb-cartography-tpa-alert-line{display:flex;align-items:center;justify-content:center;width:42px;height:31px;border-radius:8px;font-size:12px;font-weight:950;line-height:1;font-variant-numeric:tabular-nums}
.alb-cartography-tpa-alert-line.is-bus{background:#f0c600;color:#003578}
.alb-cartography-tpa-alert-line.is-t1{background:#2437ff;color:#fff;border:1px solid rgba(255,255,255,.5)}
.alb-cartography-tpa-alert-copy{min-width:0}
.alb-cartography-tpa-alert-copy strong{display:block;color:#fff!important;font-size:13px!important;line-height:1.2}
.alb-cartography-tpa-alert-copy small{display:block!important;margin-top:3px!important;color:rgba(255,255,255,.62)!important;font-size:9px!important}
.alb-cartography-tpa-alert-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 8px;border-radius:8px;background:#f0c600;color:#172126;font-size:10px;font-weight:950;white-space:nowrap}
.alb-cartography-tpa-alert.is-danger .alb-cartography-tpa-alert-status{background:#dc2626;color:#fff}
.alb-cartography-tpa-alert.is-info .alb-cartography-tpa-alert-status{background:#dbeafe;color:#1e3a8a}
.alb-cartography-tpa-alert p{margin:9px 0 0!important;color:rgba(255,255,255,.86)!important;font-size:11px!important;line-height:1.4!important}
.alb-cartography-tpa-alert button{display:inline-flex!important;margin-top:8px!important;padding:0!important;color:#ffe087!important;font-size:10px!important;font-weight:900!important}
.alb-cartography-tpa-alert.is-danger button{color:#ffc0ba!important}
.alb-cartography-tpa-alert.is-info button{color:#b9dcff!important}
.alb-cartography-tpa-lines button{position:relative;overflow:visible}
.alb-cartography-tpa-lines button.has-alert::after{content:"";position:absolute;right:-4px;top:-4px;width:9px;height:9px;border-radius:50%;background:#f59e0b;border:2px solid #172234;box-shadow:0 0 0 2px rgba(245,158,11,.18)}
.alb-cartography-tpa-lines button.has-danger::after{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.22)}
.alb-cartography-tpa-lines button[data-tpa-line-filter=""].has-alert::after{background:#f59e0b}
@media(max-width:520px){.alb-cartography-tpa-alert-main{grid-template-columns:42px minmax(0,1fr)}.alb-cartography-tpa-alert-status{grid-column:1/-1;justify-self:start;margin-left:52px}.alb-cartography-tpa-alert{padding:12px}}

/* Core 0.5.5 — confort de navigation : recherche, retour, recentrage et partage. */
.alb-cartography-tool-button{appearance:none;border:0;border-radius:9px;background:transparent;padding:8px 10px;font:inherit;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;color:#34464e;display:inline-flex;align-items:center;gap:5px;height:34px}.alb-cartography-tool-button:hover{background:#eef3f2}.alb-cartography-tool-button[hidden]{display:none!important}.alb-cartography-back-button{color:#234652;background:#edf4f4}.alb-cartography-search{position:relative;width:230px;min-width:170px;z-index:30}.alb-cartography-search>label{display:flex;align-items:center;height:34px;border:1px solid #d7ddda;border-radius:9px;background:rgba(255,255,255,.72);overflow:hidden}.alb-cartography-search-icon{display:grid;place-items:center;width:30px;flex:0 0 30px;color:#617279;font-size:17px}.alb-cartography-search input{width:100%;min-width:0;height:32px;border:0!important;outline:0!important;background:transparent!important;padding:0 28px 0 0!important;margin:0!important;box-shadow:none!important;color:#24363e;font:inherit!important;font-size:12px!important}.alb-cartography-search input::placeholder{color:#849197}.alb-cartography-search-clear{position:absolute;right:5px;top:5px;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:#6c7b82;font-size:18px;line-height:1;cursor:pointer}.alb-cartography-search-clear:hover{background:#edf1ef}.alb-cartography-search-results{position:absolute;top:40px;right:0;width:min(360px,calc(100vw - 36px));max-height:390px;overflow:auto;padding:6px;background:#fff;border:1px solid #d9dfdc;border-radius:12px;box-shadow:0 14px 38px rgba(24,42,50,.23)}.alb-cartography-search-results[hidden]{display:none!important}.alb-cartography-search-results button{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;width:100%;gap:1px 8px;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:8px;cursor:pointer;color:#25363e}.alb-cartography-search-results button:hover,.alb-cartography-search-results button:focus-visible{background:#eef4f3;outline:none}.alb-cartography-search-results button>span{grid-row:1/-1;align-self:center;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#708087}.alb-cartography-search-results button>strong{font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.alb-cartography-search-results button>small{font-size:9px;color:#78868c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alb-cartography-search-empty{padding:12px;color:#6d7b81;font-size:11px}.alb-cartography-tpa-vehicle-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.alb-cartography-tpa-follow-button{appearance:none;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;padding:10px 12px;font:inherit;font-size:11px;font-weight:850;cursor:pointer}.alb-cartography-tpa-follow-button:hover{background:rgba(255,255,255,.14)}.alb-cartography-tpa-follow-button.is-active{background:#dcfce7;border-color:#86efac;color:#166534}.alb-cartography-tpa-vehicle-actions .alb-cartography-tpa-next-button{margin-top:0!important}
@media(max-width:1080px) and (min-width:781px){.alb-cartography-search{width:185px}.alb-cartography-tool-button>span:last-child{display:none}.alb-cartography-tool-button{padding-inline:9px}.alb-cartography-zoom-control input[type=range]{width:92px}}
@media(max-width:780px){.alb-cartography-toolbar{grid-template-columns:minmax(0,1fr) auto}.alb-cartography-toolbar-tools{overflow:visible;max-width:none}.alb-cartography-search{position:static;width:150px;min-width:120px}.alb-cartography-search-results{top:48px;right:8px;left:8px;width:auto;max-height:42vh}.alb-cartography-tool-button>span:last-child{display:none}.alb-cartography-tool-button{padding:7px 8px}.alb-cartography-back-button span{display:none}.alb-cartography-search input{font-size:16px!important}.alb-cartography-zoom-control input[type=range]{width:72px}.alb-cartography-settings-button{font-size:11px}}
@media(max-width:780px){.alb-cartography-toolbar{grid-template-columns:minmax(0,1fr)}.alb-cartography-brand{grid-column:1;grid-row:1}.alb-cartography-views{grid-column:1;grid-row:2}.alb-cartography-toolbar-tools{grid-column:1;grid-row:3;justify-content:flex-start;max-width:100%;overflow:visible;flex-wrap:wrap}.alb-cartography-search{flex:1 1 130px;min-width:110px;max-width:190px}.alb-cartography-search-results{left:0;right:auto;width:min(330px,calc(100vw - 36px))}.alb-cartography-zoom-control input[type=range]{width:60px}.alb-cartography-tool-button,.alb-cartography-settings-button,.alb-cartography-zoom-control{flex:0 0 auto}}
