.traffic-page{width:min(1180px,calc(100% - 48px));margin:auto;padding:90px 0 120px}.traffic-hero{padding:42px 0 32px}.traffic-hero h1{margin:8px 0 18px;font:400 clamp(54px,8vw,104px)/.9 'Alata',sans-serif;letter-spacing:-.05em}.traffic-hero h1 span{color:var(--green)}.traffic-hero>p:last-child{max-width:700px;color:var(--muted);font-size:15px;line-height:1.7}.traffic-panel{padding:26px;background:#0a0d0a;border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--green)}.traffic-form{display:grid;grid-template-columns:1fr 1fr auto;gap:13px;align-items:end}.traffic-field{display:grid;gap:8px}.traffic-field span{color:#8b958e;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.traffic-field input{min-height:52px;padding:0 15px;color:#fff;background:#050706;border:1px solid #2a312b;font:500 14px inherit;outline:0}.traffic-field input:focus{border-color:var(--green);box-shadow:0 0 0 1px rgba(186,255,57,.25)}.traffic-form>button{min-height:52px;padding:0 22px;color:#071004;background:var(--green);border:1px solid var(--green);font-size:9px;font-weight:900;letter-spacing:.08em;cursor:pointer}.traffic-form>button:disabled{opacity:.5;cursor:wait}.traffic-waypoint{grid-column:1/3;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.traffic-waypoint[hidden]{display:none}.traffic-waypoint button,.traffic-options button{min-height:38px;padding:0 12px;color:#b8c0ba;background:transparent;border:1px solid #343c35;font-size:8px;cursor:pointer}.traffic-options{margin-top:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.traffic-options>span{color:#687169;font-size:8px}.traffic-saved{margin-top:20px;padding-top:15px;border-top:1px solid rgba(255,255,255,.07)}.traffic-saved>small{display:block;margin-bottom:8px;color:#788179;font-size:7px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.traffic-saved>div{display:flex;gap:7px;flex-wrap:wrap}.traffic-saved button{padding:8px 10px;color:#dfe5e0;background:#111511;border:1px solid #2c342d;font-size:9px;cursor:pointer}.traffic-saved button span{color:var(--green);margin:0 6px}.traffic-saved>div>span{color:#69726b;font-size:9px}.traffic-error{margin-top:16px;padding:14px 16px;color:#ffbad2;background:rgba(245,45,138,.07);border-left:3px solid #f52d8a;font-size:11px}.traffic-result{scroll-margin-top:120px;margin-top:26px}.traffic-summary{padding:32px;background:linear-gradient(135deg,#0d120e,#080b09);border:1px solid var(--line);border-top:4px solid var(--green)}.traffic-summary.is-yellow{border-top-color:#ffd84d}.traffic-summary.is-orange{border-top-color:#ff932f}.traffic-summary.is-red{border-top-color:#ff466a}.traffic-summary>div>span{color:var(--green);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.traffic-summary.is-yellow>div>span{color:#ffd84d}.traffic-summary.is-orange>div>span{color:#ff932f}.traffic-summary.is-red>div>span{color:#ff708c}.traffic-summary h2{margin:8px 0 6px;font:400 clamp(34px,5vw,60px)/1 'Alata',sans-serif}.traffic-summary>div>p{margin:0;color:#9aa39c;font-size:12px}.traffic-summary dl{margin:27px 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.traffic-summary dl>div{padding:18px 16px;border-right:1px solid var(--line)}.traffic-summary dl>div:last-child{border-right:0}.traffic-summary dt{color:#737d75;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.traffic-summary dd{margin:7px 0 0;color:#fff;font:400 23px 'Alata',sans-serif}.traffic-roads{margin:16px 0 0;color:#c8d0ca;font-size:10px}.traffic-roads span{margin-right:10px;color:#788179;font-size:7px;font-weight:900;text-transform:uppercase}.traffic-summary>button{margin-top:17px;padding:10px 12px;color:var(--green);background:transparent;border:1px solid rgba(186,255,57,.38);font-size:8px;font-weight:800;cursor:pointer}.traffic-incidents{padding-top:62px}.traffic-incidents>header h2{margin:7px 0 25px;font:400 clamp(34px,5vw,54px)/1 'Alata',sans-serif}.traffic-incident{display:grid;grid-template-columns:160px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.traffic-incident>div{display:grid;align-content:start;gap:6px}.traffic-incident>div b{color:var(--green);font:400 20px 'Alata',sans-serif}.traffic-incident.is-yellow>div b{color:#ffd84d}.traffic-incident.is-orange>div b{color:#ff932f}.traffic-incident.is-red>div b{color:#ff708c}.traffic-incident>div span{color:#737d75;font-size:9px}.traffic-incident section strong{font:400 22px 'Alata',sans-serif}.traffic-incident section p{margin:7px 0;color:#a6afa8;font-size:11px;line-height:1.6}.traffic-incident section small{color:#ff9a58;font-size:9px;font-weight:800}.traffic-after,.traffic-clear{padding:24px 0;border-top:1px solid var(--line);display:grid;gap:5px}.traffic-after span,.traffic-clear span{color:#7d8780;font-size:9px}.traffic-after strong,.traffic-clear strong{color:var(--green);font:400 28px 'Alata',sans-serif}.traffic-source{margin:25px 0 0;color:#5f6861;font-size:8px}.traffic-privacy{margin-top:28px;color:#707a72;font-size:9px;line-height:1.65}.traffic-privacy strong{color:#9aa49c}@media(max-width:800px){.traffic-page{width:calc(100% - 32px);padding:60px 0 90px}.traffic-form{grid-template-columns:1fr}.traffic-waypoint{grid-column:auto}.traffic-form>button{width:100%}.traffic-options{align-items:flex-start;flex-direction:column}.traffic-summary{padding:24px 18px}.traffic-summary dl{grid-template-columns:1fr 1fr}.traffic-summary dl>div:nth-child(2){border-right:0}.traffic-summary dl>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.traffic-incident{grid-template-columns:92px 1fr;gap:14px}.traffic-incident>div b{font-size:17px}}@media(max-width:480px){.traffic-summary dl{grid-template-columns:1fr}.traffic-summary dl>div{border-right:0;border-bottom:1px solid var(--line)}.traffic-summary dl>div:last-child{border-bottom:0}.traffic-incident{grid-template-columns:1fr}.traffic-incident>div{grid-template-columns:auto 1fr;align-items:baseline}.traffic-waypoint{grid-template-columns:1fr}.traffic-waypoint button{width:100%}}

/* Today.FM 3.44.0 · Autobahn-Gesamtlage nach CTRL.FM-Vorbild */
.traffic-overview{margin-top:76px;padding-top:58px;border-top:1px solid var(--line)}
.traffic-overview__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:44px;align-items:end;margin-bottom:26px}.traffic-overview__head h2{margin:7px 0 0;font:400 clamp(38px,5.2vw,62px)/.98 'Alata',sans-serif}.traffic-overview__head h2 span{color:var(--green)}.traffic-overview__head>p{margin:0;color:#8e9890;font-size:12px;line-height:1.7}
.traffic-overview__search{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;padding:18px;background:#0a0d0a;border:1px solid var(--line)}.traffic-overview__search label{display:grid;gap:7px}.traffic-overview__search label span{color:#7f8981;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.traffic-overview__search input{min-height:48px;padding:0 14px;color:#fff;background:#050706;border:1px solid #2a312b;font:600 15px inherit;text-transform:uppercase;outline:0}.traffic-overview__search input:focus{border-color:var(--green)}.traffic-overview__search button{min-height:48px;padding:0 18px;color:#071004;background:var(--green);border:1px solid var(--green);font-size:8px;font-weight:900;letter-spacing:.08em;cursor:pointer}.traffic-overview__search button:disabled{opacity:.5;cursor:wait}
.traffic-overview__quick{margin:10px 0 0;display:flex;gap:7px;flex-wrap:wrap}.traffic-overview__quick button{min-height:34px;padding:0 11px;color:#aeb8b0;background:#0b0e0c;border:1px solid #293029;font-size:8px;font-weight:900;cursor:pointer}.traffic-overview__quick button:hover,.traffic-overview__quick button.is-active{color:#071004;background:var(--green);border-color:var(--green)}
.traffic-overview__status{margin-top:16px;color:#7e8880;font-size:9px;line-height:1.5}.traffic-overview__status.is-error{color:#ff9abd}.traffic-overview__metrics{margin-top:14px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.traffic-overview__metrics[hidden]{display:none}.traffic-overview__metrics>div{padding:15px;border-right:1px solid var(--line)}.traffic-overview__metrics>div:last-child{border-right:0}.traffic-overview__metrics span{display:block;color:#737d75;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.traffic-overview__metrics strong{display:block;margin-top:5px;color:#fff;font:400 25px 'Alata',sans-serif}.traffic-overview__metrics .is-closure strong{color:#ff708c}.traffic-overview__metrics .is-roadworks strong{color:#ffb45c}.traffic-overview__metrics .is-warning strong{color:#ffd84d}
.traffic-overview__results{margin-top:18px;display:grid;gap:9px}.traffic-overview__item{padding:18px 20px;display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;background:#0a0d0a;border:1px solid var(--line);border-left:3px solid #ffd84d}.traffic-overview__item.is-closure{border-left-color:#ff466a}.traffic-overview__item.is-roadworks{border-left-color:#ff932f}.traffic-overview__item>div:first-child{display:grid;align-content:start;gap:5px}.traffic-overview__item small{color:#ffd84d;font-size:7px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.traffic-overview__item.is-closure small{color:#ff708c}.traffic-overview__item.is-roadworks small{color:#ffb45c}.traffic-overview__item b{color:#8c968e;font-size:9px}.traffic-overview__item h3{margin:0;color:#fff;font:400 20px/1.15 'Alata',sans-serif}.traffic-overview__item p{margin:7px 0 0;color:#9ba49d;font-size:10px;line-height:1.6}.traffic-overview__item footer{margin-top:9px;display:flex;gap:12px;flex-wrap:wrap;color:#6f7971;font-size:8px}.traffic-overview__empty{padding:28px;display:grid;gap:5px;background:#090c09;border:1px solid var(--line)}.traffic-overview__empty strong{color:#fff;font:400 22px 'Alata',sans-serif}.traffic-overview__empty span{color:#747e76;font-size:9px}.traffic-overview__source{margin:16px 0 0;color:#5e6860;font-size:8px;line-height:1.6}
@media(max-width:800px){.traffic-overview{margin-top:56px;padding-top:44px}.traffic-overview__head{grid-template-columns:1fr;gap:14px}.traffic-overview__search{grid-template-columns:1fr}.traffic-overview__metrics{grid-template-columns:1fr 1fr}.traffic-overview__metrics>div:nth-child(2){border-right:0}.traffic-overview__metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.traffic-overview__item{grid-template-columns:90px minmax(0,1fr)}}
@media(max-width:520px){.traffic-overview__metrics{grid-template-columns:1fr}.traffic-overview__metrics>div{border-right:0;border-bottom:1px solid var(--line)}.traffic-overview__metrics>div:last-child{border-bottom:0}.traffic-overview__item{grid-template-columns:1fr;gap:8px}.traffic-overview__item>div:first-child{grid-template-columns:auto 1fr;align-items:baseline}}

/* Today.FM 3.45.0 · Live-Verkehrskarte nach CTRL.FM-Vorbild */
.traffic-live-map{margin-top:76px;border:1px solid rgba(186,255,57,.16);background:linear-gradient(145deg,#0b0f0b,#070a08);box-shadow:0 24px 70px rgba(0,0,0,.24);overflow:hidden}
.traffic-live-map__head{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;padding:26px 28px 22px;border-bottom:1px solid var(--line);box-shadow:inset 3px 0 0 var(--green)}
.traffic-live-map__head>div:first-child{max-width:690px}.traffic-live-map__head h2{margin:7px 0 8px;font:400 clamp(36px,5vw,58px)/.98 'Alata',sans-serif;letter-spacing:-.035em}.traffic-live-map__head h2 span{color:var(--green)}.traffic-live-map__head>div:first-child>p:last-child{margin:0;color:#8e9890;font-size:12px;line-height:1.7}
.traffic-live-map__filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.traffic-live-map__filters button{min-height:36px;padding:0 12px;color:#939d95;background:#080b09;border:1px solid #2a322b;font-size:8px;font-weight:900;letter-spacing:.08em;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}.traffic-live-map__filters button:hover,.traffic-live-map__filters button:focus-visible,.traffic-live-map__filters button.is-active{color:#071004;background:var(--green);border-color:var(--green);outline:0}
.traffic-live-map__frame{height:560px;background:#070a08;position:relative}.traffic-live-map__frame:before{content:'LIVE';position:absolute;top:14px;left:14px;z-index:2;padding:6px 8px;color:#071004;background:var(--green);font-size:7px;font-weight:900;letter-spacing:.12em;pointer-events:none}.traffic-live-map__frame iframe{display:block;width:100%;height:100%;border:0;background:#070a08}
.traffic-live-map__foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 28px;border-top:1px solid var(--line);color:#667068;font-size:8px;line-height:1.5}.traffic-live-map__foot a{color:var(--green);font-weight:800;text-decoration:none}.traffic-live-map__foot a:hover{text-decoration:underline}
@media(max-width:900px){.traffic-live-map__head{align-items:flex-start;flex-direction:column}.traffic-live-map__filters{justify-content:flex-start}.traffic-live-map__frame{height:500px}}
@media(max-width:600px){.traffic-live-map{margin-top:56px}.traffic-live-map__head{padding:21px 18px 18px}.traffic-live-map__head h2{font-size:36px}.traffic-live-map__filters{width:100%;display:grid;grid-template-columns:1fr 1fr}.traffic-live-map__filters button{width:100%}.traffic-live-map__frame{height:440px}.traffic-live-map__foot{align-items:flex-start;flex-direction:column;padding:11px 18px}}

/* 3.45.1 – Routenstoerungen: Ort und Ereignis klar ausweisen */
.traffic-incident__distance{display:grid;align-content:start;gap:5px}
.traffic-incident__facts{margin:11px 0 0;display:grid;gap:8px}
.traffic-incident__facts>div{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:start}
.traffic-incident__facts dt{margin:0;color:var(--green);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.traffic-incident__facts dd{margin:0;color:#b2bbb4;font-size:11px;line-height:1.55}
.traffic-incident__delay{display:inline-block;margin-top:10px;color:#ff9a58;font-size:9px;font-weight:800}
@media(max-width:480px){.traffic-incident__facts>div{grid-template-columns:40px minmax(0,1fr)}}

/* 3.45.2 – exakte Ortsangabe + eindeutiger Stoerungstyp */
.traffic-incident__facts>div{grid-template-columns:62px minmax(0,1fr)}
.traffic-incident__facts dt{white-space:normal}
@media(max-width:480px){.traffic-incident__facts>div{grid-template-columns:58px minmax(0,1fr)}}
\n\n/* 3.46.0 – Routenlage auf einen Blick + Kartenlink je Störung */\n.traffic-summary__incident-line{margin-top:10px!important;color:var(--green)!important;font-size:10px!important;font-weight:900!important;letter-spacing:.035em}\n.traffic-summary dl{grid-template-columns:repeat(5,1fr)}\n.traffic-summary dl>div:nth-child(4){border-right:1px solid var(--line)}\n.traffic-summary dl>div:last-child{border-right:0}\n.traffic-incidents__summary{margin:7px 0 0;color:#8e9890;font-size:10px;line-height:1.5}\n.traffic-incident__actions{margin-top:12px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}\n.traffic-incident__map{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;color:#071004;background:var(--green);border:1px solid var(--green);font-size:8px;font-weight:900;letter-spacing:.07em;text-decoration:none;text-transform:uppercase;transition:filter .18s ease,transform .18s ease}\n.traffic-incident__map:hover,.traffic-incident__map:focus-visible{filter:brightness(1.08);transform:translateY(-1px);outline:0}\n@media(max-width:1000px){.traffic-summary dl{grid-template-columns:repeat(3,1fr)}.traffic-summary dl>div{border-bottom:1px solid var(--line)}.traffic-summary dl>div:nth-child(3){border-right:0}.traffic-summary dl>div:nth-child(4){border-right:1px solid var(--line);border-bottom:0}.traffic-summary dl>div:nth-child(5){border-bottom:0}}\n@media(max-width:800px){.traffic-summary dl{grid-template-columns:1fr 1fr}.traffic-summary dl>div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}.traffic-summary dl>div:nth-child(even){border-right:0!important}.traffic-summary dl>div:last-child{border-right:1px solid var(--line)!important;border-bottom:0!important}}\n@media(max-width:480px){.traffic-summary dl{grid-template-columns:1fr}.traffic-summary dl>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.traffic-summary dl>div:last-child{border-bottom:0!important}.traffic-incident__map{width:100%}}\n