.pm-line-chooser { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 16px; }
.pm-line-chooser button { min-width:44px; min-height:44px; padding:8px 12px; border:1px solid #ccd0d8; color:#15171c; background:#fff; font:700 16px/1.4 Arial,'PingFang SC',sans-serif; cursor:pointer; }
.pm-line-chooser button[aria-pressed="true"] { color:#fff; background:#244cf4; border-color:#244cf4; }
.pm-line-chooser button:hover { border-color:#244cf4; }
.pm-line-chooser button:focus-visible { outline:3px solid #244cf4; outline-offset:4px; }
.pm-line-chooser button[data-paris-line="RER-A"] { min-width:72px; }
.pm-current-status { margin:12px 0 20px; line-height:1.75; }
.pm-corridor-title { margin:32px 0 16px; font-size:19px; line-height:1.5; }
.pm-line-panel > .pm-corridor-title:first-child { margin-top:22px; }
.pm-line-panel[hidden] { display:none; }
.paris-schematic .tm-summary strong { color:#a72b3b; }
.paris-schematic .tm-track::before { left:6%; right:6%; border-top:5px solid #244cf4; }
.paris-schematic .tm-track::after { display:none; }
.paris-schematic .tm-track li { z-index:2; }
.paris-schematic .pm-track-wrap { position:relative; width:var(--tm-track-width); }
.paris-schematic .pm-interrupted-edge { position:absolute; top:126px; height:5px; z-index:1; background:#fff; border-top:5px dashed #a72b3b; }
.paris-schematic .pm-omitted { position:absolute; top:140px; transform:translateX(-50%); color:#565d68; font-size:11px; white-space:nowrap; }
.pm-legend { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:16px; font-size:13px; }
.pm-legend span { display:inline-flex; align-items:center; gap:8px; }
.pm-legend i { display:inline-block; width:28px; flex:0 0 28px; }
.pm-closed-key { position:relative; height:18px; }
.pm-closed-key::before,.pm-closed-key::after { content:''; position:absolute; width:15px; height:2px; left:6px; top:8px; background:#a72b3b; transform:rotate(45deg); }
.pm-closed-key::after { transform:rotate(-45deg); }
.pm-broken-key { border-top:4px dashed #a72b3b; }
.pm-track-key { border-top:4px solid #244cf4; }
.paris-schematic .pm-map-sources { margin:16px 0 24px; color:#565d68; font-size:13px; }
.pm-engineering-loop .tm-line-id { font-size:20px; }
.pm-engineering-loop .pm-loop-path { position:absolute; width:1000px; height:440px; }
.pm-engineering-loop .tm-track { height:440px; min-height:440px; }
.pm-engineering-loop .tm-track::before,.pm-engineering-loop .tm-track::after { display:none; }
.pm-engineering-loop .tm-track li { top:calc(var(--stop-y) - 22px); }
.pm-engineering-loop .tm-track li:nth-child(6) .tm-label { bottom:58px; top:auto; }
.pm-engineering-loop .tm-track li:nth-child(7) .tm-label { bottom:auto; top:63px; left:auto; right:0; transform:none; text-align:right; }

.paris-forecast h3 { margin:30px 0 12px; line-height:1.4; }
.paris-forecast .pm-table-scroll { max-width:100%; overflow-x:auto; margin:20px 0; }
.paris-forecast table { width:100%; border-collapse:collapse; font-size:15px; line-height:1.7; }
.paris-forecast th,.paris-forecast td { padding:12px; text-align:left; vertical-align:top; border-bottom:1px solid #ccd0d8; overflow-wrap:anywhere; }
.paris-forecast thead { background:#f3f4f6; }
.paris-forecast .pm-text-route { line-height:1.9; overflow-wrap:anywhere; }
@media(max-width:600px) { .paris-forecast table { min-width:540px; font-size:14px; } .paris-forecast th,.paris-forecast td { padding:10px 8px; } }
