/* Stolpmann Bahn-Routenplaner – für dunkle (Anfahrt-Sektion) und helle Flächen. */
.sbr{--sbr-fg:#242B34;--sbr-soft:#5B6675;--sbr-bg:#fff;--sbr-line:#D9DFE7;--sbr-mist:#EEF1F6;--sbr-brand:#4A6B92;--sbr-brand-dark:#37547A;--sbr-font:"Source Sans 3","Segoe UI",Arial,sans-serif;position:relative;font-family:var(--sbr-font);font-size:15px;color:var(--sbr-fg);margin-top:18px}
.sbr.is-blocked .sbr-form,.sbr.is-blocked .sbr-foot{display:none}
.sbr-title{font-family:"Spectral",Georgia,serif;font-weight:500;font-size:20px;margin:0 0 12px}
.sbr-form{display:grid;gap:12px}
.sbr-field label,.sbr-label{display:block;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sbr-soft);margin-bottom:5px}
.sbr-combo{position:relative;display:flex}
.sbr-from{display:block;width:100%;padding:11px 14px;border:1px solid var(--sbr-line);border-radius:10px;background:var(--sbr-bg);color:var(--sbr-fg);font:inherit;font-size:16px}
.sbr-from:focus{outline:2px solid var(--sbr-brand);outline-offset:1px;border-color:var(--sbr-brand)}
.sbr-geo{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--sbr-brand);cursor:pointer}
.sbr-geo:hover{background:var(--sbr-mist)}
.sbr-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;list-style:none;margin:0;padding:6px;background:#fff;color:var(--sbr-fg);border:1px solid var(--sbr-line);border-radius:12px;box-shadow:0 16px 40px rgba(20,30,45,.22);max-height:260px;overflow:auto}
.sbr-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:15px}
.sbr-list li:hover,.sbr-list li.is-active{background:var(--sbr-mist)}
.sbr-opt-ico{width:10px;height:10px;border-radius:50%;background:var(--sbr-brand)}
.sbr-opt-ico.is-addr{border-radius:2px;background:#8C99A8}
.sbr-opt-sub{font-size:12px;color:var(--sbr-soft)}
.sbr-to{padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.28)}
.sbr-to .sbr-label{margin-bottom:2px}
.sbr-to-val{font-size:14.5px}
.sbr-when{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:14.5px}
.sbr-radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.sbr-radio input{accent-color:var(--sbr-brand)}
.sbr-time{padding:7px 10px;border:1px solid var(--sbr-line);border-radius:8px;background:var(--sbr-bg);color:var(--sbr-fg);font:inherit;font-size:14px}
.sbr-time:disabled{opacity:.45}
.sbr-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sbr-btn{padding:11px 22px;border:none;border-radius:10px;background:linear-gradient(145deg,#F4F7FA 0%,#CDD5DF 48%,#AAB4C2 100%);color:var(--sbr-brand-dark);font:600 15px var(--sbr-font);cursor:pointer;box-shadow:0 6px 18px rgba(20,30,45,.18);transition:transform .15s,box-shadow .15s}
.sbr-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(20,30,45,.24)}
.sbr.is-loading .sbr-btn{opacity:.6;pointer-events:none}
.sbr-status{font-size:14px;color:var(--sbr-soft)}
.sbr-status.is-err{color:#E08A8A;font-weight:600}
.sbr-status a{color:inherit;font-weight:600}
.sbr-hint{margin:2px 0 0;font-size:13.5px;line-height:1.5;color:var(--sbr-soft)}
.sbr-results{margin-top:14px}
.sbr-res-head{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sbr-soft);margin:0 0 8px}
.sbr-empty{font-size:14.5px;color:var(--sbr-soft)}
.sbr-j{border:1px solid var(--sbr-line);border-radius:12px;background:var(--sbr-bg);color:var(--sbr-fg);margin-bottom:8px;overflow:hidden}
.sbr-j summary{list-style:none;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;padding:12px 14px;cursor:pointer}
.sbr-j summary::-webkit-details-marker{display:none}
.sbr-j summary:hover{background:var(--sbr-mist)}
.sbr-j-times{display:block;line-height:1.15;white-space:nowrap}
.sbr-j-times b{font-weight:600;font-size:16px}
.sbr-j-times small{display:block;font-size:11.5px;color:var(--sbr-soft);margin-top:3px}
.sbr-j-legs{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.sbr-j-meta{grid-column:2;font-size:13px;color:var(--sbr-soft)}
.sbr-arrow{color:#AAB4C2;font-size:15px;padding:0 1px}
.sbr-leg{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:12.5px;font-weight:700;line-height:1.5;white-space:nowrap}
.sbr-walk{background:var(--sbr-mist);color:var(--sbr-soft);font-weight:600}
.sbr-line{color:#fff;background:#6B7684;display:inline-block;padding:1px 7px;border-radius:5px;font-size:12.5px;font-weight:700}
.sbr-line.is-sbahn{background:#008D4F}.sbr-line.is-ubahn{background:#0067B3}.sbr-line.is-tram{background:#BE1414}.sbr-line.is-bus{background:#95276E}.sbr-line.is-ferry{background:#0080BA}.sbr-line.is-regio,.sbr-line.is-express{background:#E3000F}
.sbr-detail{list-style:none;margin:0;padding:6px 14px 12px;border-top:1px solid var(--sbr-line);display:grid;gap:6px}
.sbr-detail li{display:grid;grid-template-columns:auto 1fr;gap:12px;font-size:14px;line-height:1.45}
.sbr-d-time{white-space:nowrap;color:var(--sbr-soft);font-variant-numeric:tabular-nums}
.sbr-cancel{color:#BE1414}.sbr-delay{color:#B35C00;font-style:normal;font-weight:600}
.sbr-j.is-cancelled summary{opacity:.6}
.sbr-foot{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--sbr-soft)}
.sbr-foot a{color:inherit}
/* Auf dunklen Flächen (Anfahrt-Sektion) */
.v7anfahrt .sbr{--sbr-soft:rgba(255,255,255,.7);--sbr-fg:#fff;--sbr-bg:rgba(255,255,255,.08);--sbr-line:rgba(255,255,255,.22)}
.v7anfahrt .sbr-from::placeholder{color:rgba(255,255,255,.45)}
.v7anfahrt .sbr-list,.v7anfahrt .sbr-j{--sbr-fg:#242B34;--sbr-soft:#5B6675;--sbr-bg:#fff;--sbr-line:#D9DFE7;color:#242B34}
.v7anfahrt .sbr-j summary:hover{background:#EEF1F6}
.v7anfahrt .sbr-geo{color:#fff}.v7anfahrt .sbr-geo:hover{background:rgba(255,255,255,.14)}
.v7anfahrt .sbr-time{color-scheme:dark}
.v7anfahrt .sbr-status.is-err{color:#F3B9B9}
.v7anfahrt .sbr-ph{margin-top:8px}
@media (max-width:560px){.sbr-j summary{grid-template-columns:1fr}.sbr-j-meta{grid-column:1}.sbr-detail li{grid-template-columns:1fr;gap:2px}}
