/* RailBase – Karte Bahnnetz Schweiz */

/* ---------- Swiss rail map ---------- */
.map-card{display:grid;gap:0;overflow:hidden;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}
.map-tools{display:flex;flex-wrap:wrap;gap:8px;padding:16px 16px 14px}
.lg{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 12px 6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--fg);font:600 13.5px/1.2 var(--body);cursor:pointer;text-align:left;transition:opacity .2s ease,background-color .2s ease}
.lg i{width:18px;height:4px;border-radius:2px;flex:none}
.lg small{font:500 12px/1 var(--mono);color:var(--fg-3);font-variant-numeric:tabular-nums}
.lg[aria-pressed="false"]{opacity:.45;background:var(--bg)}
.map-stage{position:relative;aspect-ratio:16/10;max-width:100%;background:var(--map-out);overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.map-stage.drag{cursor:grabbing}
.map-stage svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.map-stage .st-l{font-family:var(--body);font-weight:600;fill:var(--map-label);stroke:var(--map-halo);paint-order:stroke;stroke-linejoin:round}
.map-zoom{position:absolute;right:12px;bottom:12px;display:grid;gap:6px}
.map-zoom button{width:38px;height:38px;border:0;border-radius:12px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);color:var(--fg);font:600 18px/1 var(--body);display:grid;place-items:center;cursor:pointer}
.map-hint{position:absolute;left:12px;bottom:12px;padding:6px 10px;border-radius:999px;background:var(--glass);color:var(--fg-2);font:500 12px/1.2 var(--body);pointer-events:none}
.map-tip{position:absolute;z-index:2;width:min(280px,calc(100% - 24px));padding:12px 14px;border-radius:14px;background:var(--surface);color:var(--fg);box-shadow:var(--shadow-lift);pointer-events:none;font-size:14px;line-height:1.4}
.map-tip b{display:block;margin-bottom:6px;font-size:15px;line-height:1.3}
.map-tip dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0}
.map-tip dt{font:500 11px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}
.map-tip dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.map-src{margin:0;padding:12px 16px 14px;font-size:13px;color:var(--fg-3);border-top:1px solid var(--line)}
.netz-link{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin-top:16px;padding:18px 20px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow);color:var(--fg);text-decoration:none;transition:transform .5s var(--spring),box-shadow .3s ease}
.netz-link:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.netz-ico{width:46px;height:46px;border-radius:14px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center}
.netz-link b{display:block;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:19px;line-height:1.2}
.netz-link span{display:block;margin-top:3px;font-size:15px;color:var(--fg-2)}
.netz-link .ext{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:15px;color:var(--accent-ink);white-space:nowrap;margin:0}
@media (max-width:560px){.netz-link{grid-template-columns:auto 1fr}.netz-link .ext{grid-column:2}.map-stage{aspect-ratio:4/3}.amounts{grid-template-columns:repeat(2,1fr)}}
