/* Wifa Standorte – Stile, gelten nur innerhalb von #wifa-standorte */

/* Schutz gegen Theme-Stile von Avada */
#wifa-standorte h2,#wifa-standorte h3,#wifa-standorte h4{color:var(--ink);text-transform:none;letter-spacing:normal;padding:0}
#wifa-standorte p{margin:0;padding:0}
#wifa-standorte ul,#wifa-standorte ol{margin:0;padding:0;list-style:none}
#wifa-standorte li{margin:0;padding:0;list-style:none}
#wifa-standorte li::before,#wifa-standorte li::after{content:none}
#wifa-standorte button{font:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;text-shadow:none;min-height:0;min-width:0;margin:0;line-height:1.3;width:auto;height:auto;transition:none}
#wifa-standorte a{box-shadow:none;border:0}
#wifa-standorte svg{max-width:none;overflow:hidden}
#wifa-standorte .map svg{max-width:100%}
#wifa-standorte figure{margin:0}
#wifa-standorte{
  
  --bg:#f2f5f8; --surface:#ffffff; --map-bg:#e6eef6; --abroad:#d5dfe9;
  --ink:#15223a; --muted:#556278; --line:#d3dbe5;
  --brand:#cdd300; --brand-ink:#1f2500; --link:var(--head); --focus:var(--head);
  --head:#1e3a64; --head-font:Arial,Helvetica,sans-serif; --head-weight:400; --head-size:32px;
  --river:#9fc2df; --river-ink:#4a7ba6;
  --border-state:#98a4b3; --border-nat:#7b8798;
  --road:#7d8a9a; --lane:#ffffff;
  --nrw:var(--head); --nrw-t:var(--head);
  --rlp:#ad3329; --rlp-t:#ad3329;
  --saar:#f08c00; --saar-t:#a95f00;
  --hessen:#9a7ef0; --hessen-t:#6b4fd0;
  --gap:16px;
  --font:Arial,Helvetica,sans-serif;
  --cond:var(--head-font);
  
  
  
box-sizing:border-box;font-family:var(--font);font-size:17px;line-height:1.5;color:var(--ink);text-align:left;-webkit-font-smoothing:antialiased}
#wifa-standorte *,#wifa-standorte *::before,#wifa-standorte *::after{box-sizing:inherit}
#wifa-standorte a{color:inherit}
#wifa-standorte .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#wifa-standorte button:focus-visible,#wifa-standorte a:focus-visible,#wifa-standorte input:focus-visible,#wifa-standorte select:focus-visible,#wifa-standorte .viewport:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
#wifa-standorte .head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px;padding:0 0 28px}
#wifa-standorte .head h2.ws-title{font-family:var(--head-font);font-weight:var(--head-weight);font-size:var(--head-size);color:var(--head);line-height:1.2;margin:0 0 10px}
#wifa-standorte .head p{margin:0;max-width:52ch;color:var(--muted);font-size:18px}
#wifa-standorte .switch{display:inline-flex;flex-wrap:wrap;padding:4px;gap:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
#wifa-standorte .switch [role="tab"]{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:none;color:var(--ink);font:inherit;font-weight:600;font-size:16px;padding:9px 18px 9px 14px;cursor:pointer}
#wifa-standorte .switch [role="tab"] svg{width:19px;height:19px}
#wifa-standorte .switch [role="tab"]:hover{background:var(--bg)}
#wifa-standorte .switch [role="tab"][aria-selected="true"]{background:var(--brand);color:var(--brand-ink)}
#wifa-standorte .btn-icon{inline-size:42px;block-size:42px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer;padding:0;flex:none}
#wifa-standorte .btn-icon:hover{border-color:var(--ink)}
#wifa-standorte .btn-icon svg{width:20px;height:20px}
#wifa-standorte .btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--brand);color:var(--brand-ink);font:inherit;font-weight:700;padding:9px 18px 9px 14px;cursor:pointer;flex:none}
#wifa-standorte .btn svg{width:18px;height:18px}
#wifa-standorte .chips{display:flex;flex-wrap:wrap;gap:8px}
#wifa-standorte .chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 14px;font:inherit;font-size:15px;font-weight:600;line-height:1.3;cursor:pointer}
#wifa-standorte .chip:hover{border-color:var(--c,var(--ink))}
#wifa-standorte .chip .n{font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}
#wifa-standorte .chip[aria-pressed="true"]{background:color-mix(in srgb,var(--c,var(--ink)) 16%,var(--surface));border-color:var(--c,var(--ink));color:var(--ct,var(--ink))}
#wifa-standorte .chip.solid[aria-pressed="true"]{background:var(--head);border-color:var(--head);color:#fff}
#wifa-standorte .chip.solid[aria-pressed="true"] .n{color:inherit;opacity:.8}
#wifa-standorte .sw{inline-size:10px;block-size:10px;border-radius:50%;background:var(--c);flex:none}
#wifa-standorte .progress{block-size:4px;background:var(--line);border-radius:4px;overflow:hidden}
#wifa-standorte .progress span{display:block;block-size:100%;background:var(--brand);transform-origin:left center;transform:scaleX(0)}
#wifa-standorte .progress span.run{animation:ws-fill var(--dur,4s) linear forwards}
#wifa-standorte [data-hold] .progress span.run{animation-play-state:paused}
@keyframes ws-fill{to{transform:scaleX(1)}}
#wifa-standorte .aside{margin:16px 0 0;font-size:15px;color:var(--muted)}
#wifa-standorte .aside a,#wifa-standorte .more{color:var(--link);font-weight:600;text-underline-offset:3px}
#wifa-standorte .region{margin:0;font-size:14px;font-weight:600;color:var(--ct)}
#wifa-standorte .city{margin:0;font-family:var(--head-font);font-weight:var(--head-weight);font-size:var(--city-size,30px);line-height:1.1;color:var(--head)}
#wifa-standorte .city .sub{display:block;margin-top:6px;font-family:var(--font);font-size:17px;font-weight:500;color:var(--muted);line-height:1.3}
#wifa-standorte .city small{font-family:var(--font);font-size:16px;font-weight:500;color:var(--muted);margin-left:10px}
#wifa-standorte .addr{margin:0}
#wifa-standorte .contact{display:grid;gap:4px;margin:0;padding:0;list-style:none;font-size:16px}
#wifa-standorte .contact a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;overflow-wrap:anywhere}
#wifa-standorte .contact a:hover span{text-decoration:underline}
#wifa-standorte .contact svg{flex:none;width:16px;height:16px;color:var(--muted)}
#wifa-standorte .mapwrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}
#wifa-standorte .map{margin:0;background:var(--map-bg);border-radius:10px;overflow:hidden;position:sticky;top:var(--ws-sticky-top,110px);border:1px solid var(--line)}
#wifa-standorte .map svg{display:block;inline-size:100%;block-size:auto}
#wifa-standorte .map figcaption{padding:2px 16px 12px;font-size:13px;color:var(--muted)}
#wifa-standorte .abroad{fill:var(--abroad)}
#wifa-standorte .border-state{fill:none;stroke:var(--border-state);stroke-width:1.3;stroke-dasharray:5 3.5;stroke-linejoin:round;stroke-linecap:round}
#wifa-standorte .border-nat{fill:none;stroke:var(--border-nat);stroke-width:1.6;stroke-dasharray:8 3 2 3;stroke-linejoin:round}
#wifa-standorte .river{fill:none;stroke:var(--river);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
#wifa-standorte .river-label{font:italic 500 13px var(--font);fill:var(--river-ink);letter-spacing:.04em;text-anchor:middle}
#wifa-standorte .state{font:600 11.5px var(--font);letter-spacing:.3em;fill:var(--muted);opacity:.6;text-anchor:middle}
#wifa-standorte .abroad-label{font:600 9.5px var(--font);letter-spacing:.28em;fill:var(--muted);opacity:.55;text-anchor:middle}
#wifa-standorte .logo-plate{fill:#fff;stroke:var(--line)}
#wifa-standorte .road-halo{fill:none;stroke:var(--surface);stroke-width:9;stroke-linecap:round;opacity:.9}
#wifa-standorte .road{fill:none;stroke:var(--c,var(--road));stroke-width:4.6;stroke-linecap:round}
#wifa-standorte .route-line{fill:none;stroke:var(--c,var(--road));stroke-width:2.6;stroke-linecap:round;stroke-dasharray:.1 6}
#wifa-standorte .lane{fill:none;stroke:var(--lane);stroke-width:.9;stroke-dasharray:3 3.5}
#wifa-standorte .leg{transition:opacity .6s}
#wifa-standorte .leg.done{opacity:.55}
#wifa-standorte .car{pointer-events:none;transition:opacity .4s}
#wifa-standorte .car .shadow{fill:rgba(10,20,40,.22)}
#wifa-standorte .dotcar{fill:var(--brand);stroke:var(--head);stroke-width:1.6}
#wifa-standorte .car .body{fill:var(--brand);stroke:var(--head);stroke-width:.8}
#wifa-standorte .car .glass{fill:var(--head);opacity:.85}
#wifa-standorte .car .rear{opacity:.55}
#wifa-standorte .car .tyre{fill:#1d232b}
#wifa-standorte .car .lamp{fill:#fffbd0}
#wifa-standorte .pin{cursor:pointer;outline:none}
#wifa-standorte .pin .dot{fill:var(--c);stroke:var(--map-bg);stroke-width:2.5}
#wifa-standorte .pin .ring{fill:none;stroke:var(--c);stroke-width:2.2;opacity:0}
#wifa-standorte .pin .sonar{fill:none;stroke:var(--c);stroke-width:1.8;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center;pointer-events:none}
#wifa-standorte .pin .num{font:700 11px var(--font);fill:#fff;pointer-events:none}
#wifa-standorte .pin .label{font:500 14px var(--font);fill:var(--ink);paint-order:stroke;stroke:var(--map-bg);stroke-width:4px;stroke-linejoin:round;transform-box:fill-box;transition:transform .4s cubic-bezier(.3,1.5,.5,1)}
#wifa-standorte .pin .lp-l{transform-origin:100% 50%}
#wifa-standorte .pin .lp-r{transform-origin:0 50%}
#wifa-standorte .pin .lp-t{transform-origin:50% 100%}
#wifa-standorte .pin .lp-b{transform-origin:50% 0}
#wifa-standorte .pin .hit{fill:transparent}
#wifa-standorte .pin:hover .ring{opacity:.5}
#wifa-standorte .pin.is-on .ring{opacity:1;animation:ws-blink 1.1s ease-in-out infinite alternate}
#wifa-standorte .pin.is-on .sonar{animation:ws-sonar 2.4s cubic-bezier(.15,.6,.35,1) infinite}
#wifa-standorte .pin.is-on .s2{animation-delay:.8s}
#wifa-standorte .pin.is-on .s3{animation-delay:1.6s}
#wifa-standorte .pin.is-on .label{font-weight:700;transform:scale(1.28)}
#wifa-standorte .pin:focus-visible .ring{opacity:1;stroke:var(--ink);stroke-width:3}
@keyframes ws-sonar{0%{transform:scale(1);opacity:.9}70%{opacity:.22}100%{transform:scale(3.6);opacity:0}}
@keyframes ws-blink{from{opacity:1}to{opacity:.3}}
#wifa-standorte .panel{display:grid;gap:20px}
#wifa-standorte .tour{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
#wifa-standorte .tour{gap:12px}
#wifa-standorte .tour .btn-icon{inline-size:38px;block-size:38px}
#wifa-standorte .tour .progress{flex:1;min-inline-size:80px}
#wifa-standorte .tour .speed{flex-basis:100%;padding:2px 4px 0}
#wifa-standorte .detail{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--c);border-radius:6px;padding:20px 22px}
#wifa-standorte .detail .region{margin-bottom:6px}
#wifa-standorte .entries{list-style:none;margin:14px 0 0;padding:0;display:grid}
#wifa-standorte .entries > li{padding:12px 0;border-top:1px solid var(--line);display:grid;gap:4px}
#wifa-standorte .entries > li:first-child{border-top:0;padding-top:2px}
#wifa-standorte .entries h4{margin:0;font-family:var(--head-font);font-size:18px;font-weight:var(--head-weight);color:var(--head)}
#wifa-standorte .entries .contact{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:15.5px}
#wifa-standorte .entries .more{font-size:15px}
#wifa-standorte .index{display:grid;gap:16px}
#wifa-standorte .idx h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-family:var(--head-font);font-size:16px;font-weight:var(--head-weight);color:var(--head)}
#wifa-standorte .idx h3 .n{font-weight:500;color:var(--muted)}
#wifa-standorte .idx-cities{display:flex;flex-wrap:wrap;gap:6px}
#wifa-standorte .idx-cities .chip{padding:5px 12px;font-size:14px}
#wifa-standorte .index .aside{margin:0}
#wifa-standorte .slider-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
#wifa-standorte .controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#wifa-standorte .controls .speed{margin-right:10px}
#wifa-standorte .speed{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--muted)}
#wifa-standorte .speed label{font-weight:700;color:var(--ink)}
#wifa-standorte .speed input{accent-color:var(--link);inline-size:120px;margin:0}
#wifa-standorte .speed output{min-inline-size:6.2em;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
@media (max-width:560px){
#wifa-standorte .speed input{inline-size:96px}
#wifa-standorte .speed .end{display:none}
}
#wifa-standorte .viewport{overflow:hidden;touch-action:pan-y;border-radius:6px}
#wifa-standorte .track{list-style:none;margin:0;padding:0;display:flex;gap:var(--gap);transform:translateX(calc(var(--i,0) * -1 * (100% + var(--gap)) / var(--pv,3)));transition:transform .95s cubic-bezier(.65,0,.35,1)}
#wifa-standorte .slide{flex:0 0 calc((100% - (var(--pv,3) - 1) * var(--gap)) / var(--pv,3));display:flex;min-width:0}
#wifa-standorte .card{position:relative;display:flex;flex-direction:column;gap:12px;inline-size:100%;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:25px 22px 22px;transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1),filter .7s ease}
#wifa-standorte .card::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;block-size:6px;border-radius:6px 6px 0 0;background:var(--c);transform-origin:left center;transition:transform .8s cubic-bezier(.2,.8,.2,1) .3s}
#wifa-standorte .slide:not([inert]) .card{transition-delay:calc(var(--k,0) * 110ms)}
#wifa-standorte .slide[inert] .card{opacity:0;transform:scale(.88) translateY(14px);filter:blur(4px)}
#wifa-standorte .slide[inert] .card::before{transform:scaleX(0);transition-delay:0s}
#wifa-standorte .card .more{margin-top:auto;padding-top:6px}
#wifa-standorte .slider-foot{display:flex;align-items:center;gap:16px;margin-top:18px}
#wifa-standorte .slider-foot .progress{flex:1}
#wifa-standorte .count{margin:0;font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
#wifa-standorte .cloud-box{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px}
#wifa-standorte .cloud-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin-bottom:14px}
#wifa-standorte .cloud-hint{margin:0;font-size:15px;color:var(--muted)}
#wifa-standorte .cloud{position:relative;max-width:580px;margin:0 auto}
#wifa-standorte .cloud-map{position:absolute;inset:0;inline-size:100%;block-size:100%;display:block;opacity:var(--ws-wolke-karte,.4);pointer-events:none}
#wifa-standorte .cloud-map path{vector-effect:non-scaling-stroke}
#wifa-standorte .cloud-map .state{display:none}
#wifa-standorte .cloud .w{position:absolute;left:0;top:0;margin:0;border:0;background:none;padding:0 3px;font-family:var(--cond);line-height:1.05;color:var(--ct,var(--muted));white-space:nowrap;cursor:pointer;visibility:hidden;transition:opacity .25s;text-decoration:none}
#wifa-standorte .cloud.ready .w{visibility:visible}
#wifa-standorte .cloud .w.v{writing-mode:vertical-rl;transform:rotate(180deg)}
#wifa-standorte .cloud .w.reg{font-family:var(--font);font-style:italic;cursor:default}
#wifa-standorte .cloud .w.link{color:var(--muted)}
#wifa-standorte .cloud .w.link{font-family:var(--cond)}
#wifa-standorte .cloud .w.link .wb{text-decoration:underline dotted;text-decoration-thickness:2px;text-underline-offset:.16em}
#wifa-standorte .cloud .w.link:hover{color:var(--ink)}
#wifa-standorte .wf,#wifa-standorte .wb{display:inline-block}
#wifa-standorte .wf{animation:ws-swayx var(--fdx,6s) ease-in-out var(--fdlx,0s) infinite alternate}
#wifa-standorte .wb{animation:ws-boby var(--fdy,4s) ease-in-out var(--fdly,0s) infinite alternate}
@keyframes ws-swayx{from{transform:translateX(calc(var(--fx,0px) * -1))}to{transform:translateX(var(--fx,0px))}}
@keyframes ws-boby{from{transform:translateY(calc(var(--fy,0px) * -1))}to{transform:translateY(var(--fy,0px))}}
#wifa-standorte .cloud[data-motion="0"] .wf,#wifa-standorte .cloud[data-motion="0"] .wb{animation:none}
#wifa-standorte .cloud .w.is-active .wf,#wifa-standorte .cloud .w.is-active .wb,#wifa-standorte .cloud .w.is-lit .wf,#wifa-standorte .cloud .w.is-lit .wb{animation-play-state:paused}
#wifa-standorte .cloud.has-active .w:not(.is-active):not(.is-lit){opacity:.25}
#wifa-standorte .cloud .w.city:hover .wb,#wifa-standorte .cloud .w.is-active .wb{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.14em}
#wifa-standorte .pop{position:absolute;z-index:5;inline-size:min(370px,100%);background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--c);border-radius:8px;padding:14px 16px 8px;box-shadow:0 14px 34px rgba(10,25,45,.2)}
#wifa-standorte .pop.open{animation:ws-unfold .32s cubic-bezier(.2,.8,.3,1)}
#wifa-standorte .pop.open.up{animation-name:ws-unfold-up}
@keyframes ws-unfold{from{opacity:0;clip-path:inset(0 0 100% 0 round 8px)}to{opacity:1;clip-path:inset(0 0 0 0 round 8px)}}
@keyframes ws-unfold-up{from{opacity:0;clip-path:inset(100% 0 0 0 round 8px)}to{opacity:1;clip-path:inset(0 0 0 0 round 8px)}}
#wifa-standorte .pop h3{margin:0;font-family:var(--head-font);font-weight:var(--head-weight);color:var(--head);font-size:calc(var(--city-size,30px) * .85);line-height:1.1}
#wifa-standorte .pop-meta{margin:4px 0 6px;font-size:14px;font-weight:600;color:var(--ct)}
#wifa-standorte .pe{padding:8px 0;border-top:1px solid var(--line);font-size:14.5px;line-height:1.4;display:grid;gap:2px}
#wifa-standorte .pe b{font-family:var(--head-font);font-weight:var(--head-weight);color:var(--head);font-size:15.5px}
#wifa-standorte .pe .contact{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:14px}
#wifa-standorte .pe .more{font-size:14px}
#wifa-standorte .btn-ghost:hover{border-color:var(--ink)}
@media (max-width:860px){
#wifa-standorte .mapwrap{grid-template-columns:1fr}
#wifa-standorte .map{position:static}
}
@media (max-width:560px){
#wifa-standorte .switch{inline-size:100%;justify-content:space-between}
#wifa-standorte .switch [role="tab"]{flex:1;justify-content:center;padding:9px 10px}
#wifa-standorte .city{font-size:calc(var(--city-size,30px) * .9)}
#wifa-standorte .cloud-box{padding:16px}
}
/* Systemeinstellung „Bewegung reduzieren“ */
#wifa-standorte.ws-reduce .track,#wifa-standorte.ws-reduce .card,#wifa-standorte.ws-reduce .card::before{transition:none}
#wifa-standorte.ws-reduce .pin .label{transition:none}
#wifa-standorte.ws-reduce .pin.is-on .ring{animation:none}
#wifa-standorte.ws-reduce .pin.is-on .sonar{animation:none}
#wifa-standorte.ws-reduce .pin.is-on .s1{opacity:.45;transform:scale(1.9)}
#wifa-standorte.ws-reduce .wf,#wifa-standorte.ws-reduce .wb{animation:none}
#wifa-standorte.ws-reduce .pop.open{animation:none}
/* Schalter aus den Einstellungen */
#wifa-standorte.no-regler .speed,#wifa-standorte.no-filter .chips,#wifa-standorte.no-ortsliste .index,#wifa-standorte.no-logo .logo,#wifa-standorte.no-wolkenkarte .cloud-map{display:none}
#wifa-standorte.no-grenzen .border-state,#wifa-standorte.no-grenzen .border-nat,#wifa-standorte.no-grenzen .abroad,#wifa-standorte.no-grenzen .abroad-label{display:none}
#wifa-standorte.no-fluesse .river,#wifa-standorte.no-fluesse .river-label{display:none}
#wifa-standorte.no-sticky .map{position:static}
