/* PKZ Wegweiser – Startknopf "Hilfe finden" und Hilfe-Fenster
   Farben aus style.css; Fallbacks, falls die Datei allein geladen wird.
   Mindestens 18px Text, Tippflächen ab 48px, Bewegung max. 150ms (keine bei reduced motion). */
.ww-start,.ww-panel{
  --ww-ink:var(--ink,#1D1D1B);--ww-ink2:var(--ink-2,#4a4a49);--ww-dunkel:var(--anthrazit,#333132);
  --ww-petrol:var(--gruen-text,#007A80);--ww-magenta:var(--magenta-text,#B30F63);--ww-hell:var(--petrol-hell,#E8F3F3);
  --ww-linie:#575756;--ww-unten:calc(20px + env(safe-area-inset-bottom,0px));
  font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:1.125rem;line-height:1.5;box-sizing:border-box;
}
.ww-panel *,.ww-panel *::before,.ww-panel *::after{box-sizing:border-box}
.ww-start[hidden],.ww-panel[hidden],.ww-panel [hidden]{display:none!important}

/* ---------- Startknopf ---------- */
.ww-start{
  position:fixed;z-index:56;right:calc(16px + env(safe-area-inset-right,0px));bottom:var(--ww-unten);
  display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:10px 20px 10px 16px;margin:0;
  font-weight:700;font-size:1.125rem;line-height:1.2;color:#fff;background:var(--ww-petrol);
  border:2px solid #fff;border-radius:999px;cursor:pointer;
  box-shadow:0 6px 18px rgba(29,29,27,.28);transition:opacity .15s ease,bottom .15s ease;
}
.ww-start svg{flex:none}
.ww-start:hover{background:#005f63}
.ww-start:focus-visible{outline:3px solid var(--ww-ink);outline-offset:2px;box-shadow:0 0 0 7px #fff}
/* tritt zurück, wenn ein fokussiertes Element darunter liegt (WCAG 2.4.11) – bleibt per Tab erreichbar */
.ww-start--weg:not(:focus){opacity:0;pointer-events:none}
/* Cookie-Dialog sichtbar: Startknopf ausblenden */
.ww-cc .ww-start{visibility:hidden}

/* Platz am Seitenende, damit der Knopf keine Inhalte im Fuß verdeckt */
html.ww-an{scroll-padding-bottom:88px}
html.ww-an .foot{padding-bottom:84px}

/* Unter 1060px: über dem mobilen Kontaktbalken (#mobil-cta, ca. 53px) */
@media (max-width:1059px){
  .ww-start,.ww-panel{--ww-unten:calc(53px + 12px + env(safe-area-inset-bottom,0px))}
  html.ww-an{scroll-padding-bottom:calc(53px + 84px + env(safe-area-inset-bottom,0px))}
  html.ww-an .foot{padding-bottom:calc(53px + 80px + env(safe-area-inset-bottom,0px))}
  /* Balken ausgeblendet (Startseite oben, Danke-Seite): Knopf wieder nach unten */
  html:has(#mobil-cta.ist-weg) :is(.ww-start,.ww-panel),html:has(#mobil-cta.ist-aus) :is(.ww-start,.ww-panel){--ww-unten:calc(16px + env(safe-area-inset-bottom,0px))}
}

/* ---------- Fenster ---------- */
.ww-panel{
  position:fixed;z-index:75;right:calc(16px + env(safe-area-inset-right,0px));bottom:var(--ww-unten);
  width:min(440px,calc(100vw - 32px));max-height:calc(100vh - var(--ww-unten) - 16px);max-height:calc(100dvh - var(--ww-unten) - 16px);
  display:flex;flex-direction:column;background:#fff;color:var(--ww-ink);
  border:2px solid var(--ww-dunkel);border-radius:14px;overflow:hidden;
  box-shadow:0 18px 50px rgba(29,29,27,.3);animation:ww-ein .15s ease-out;
}
@keyframes ww-ein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.ww-kopf{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 14px 20px;background:var(--ww-dunkel);color:#fff}
.ww-titel{margin:0;font-family:"Archivo",system-ui,sans-serif;font-weight:800;font-size:1.3rem;line-height:1.25}
.ww-ki{display:block;font-family:"Source Sans 3",system-ui,sans-serif;font-weight:600;font-size:1.125rem;color:#fff}
.ww-zu{flex:none;min-height:48px;min-width:48px;padding:8px 14px;font:inherit;font-weight:700;color:#fff;background:transparent;border:2px solid #fff;border-radius:999px;cursor:pointer}
.ww-zu:hover{background:#1D1D1B}
.ww-kopf :focus-visible{outline:3px solid #fff;outline-offset:2px}

.ww-rumpf{flex:1 1 auto;overflow:auto;overscroll-behavior:contain;padding:16px 20px 20px}
.ww-panel :focus-visible{outline:3px solid var(--ww-petrol);outline-offset:3px}
.ww-h:focus{outline:none}
.ww-h:focus-visible{outline:3px solid var(--ww-petrol);outline-offset:3px}

/* Brotkrumen */
.ww-pfad ol{list-style:none;margin:0 0 12px;padding:0;color:var(--ww-ink2);font-size:1.125rem}
.ww-pfad li{display:inline}
.ww-pfad li+li::before{content:"›";padding:0 6px;color:var(--ww-ink2)}
.ww-pfad li[aria-current]{color:var(--ww-ink);font-weight:600}

.ww-h{margin:0 0 12px;font-family:"Archivo",system-ui,sans-serif;font-weight:700;font-size:1.3rem;line-height:1.25}
.ww-text{margin:0 0 10px}

/* Auswahlknöpfe */
.ww-wahl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ww-knopf{
  display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:12px 16px;
  font:inherit;font-weight:600;text-align:left;color:var(--ww-ink);background:#fff;
  border:2px solid var(--ww-linie);border-radius:10px;cursor:pointer;transition:background-color .15s,border-color .15s;
}
.ww-knopf::after{content:"›";flex:none;font-size:1.6rem;line-height:1;color:var(--ww-petrol)}
.ww-knopf:hover{background:var(--ww-hell);border-color:var(--ww-petrol)}

/* Antwort: Link und Aktionen */
.ww-mehr{margin:4px 0 0}
.ww-link{display:inline-block;padding:10px 0;font-weight:700;color:var(--ww-petrol);text-decoration:underline;text-underline-offset:3px}
.ww-link::after{content:" →"}
.ww-aktionen{display:grid;gap:10px;margin:14px 0 0}
.ww-btn{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 .3em;min-height:52px;padding:10px 18px;
  font-weight:700;text-align:center;text-decoration:none;border-radius:999px;border:2px solid transparent}
.ww-btn--haupt{background:var(--ww-magenta);color:#fff}
.ww-btn--haupt:hover{background:#8f0c4f}
.ww-btn--tel{background:#fff;color:var(--ww-dunkel);border-color:var(--ww-dunkel)}
.ww-btn--tel:hover{background:var(--ww-dunkel);color:#fff}
.ww-nr{white-space:nowrap}

/* Zurück / Von vorn */
.ww-steuer{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding-top:14px;border-top:1px solid #e3e3e1}
.ww-knopf2{min-height:48px;padding:8px 18px;font:inherit;font-weight:700;color:var(--ww-dunkel);background:#fff;border:2px solid var(--ww-dunkel);border-radius:999px;cursor:pointer}
.ww-knopf2:hover{background:var(--ww-dunkel);color:#fff}

/* Häufige Fragen */
.ww-faq{margin:22px 0 0;padding-top:16px;border-top:1px solid #e3e3e1}
.ww-faq h3{margin:0 0 8px;font-family:"Archivo",system-ui,sans-serif;font-weight:700;font-size:1.2rem}
.ww-frage{border-bottom:1px solid #e3e3e1}
.ww-frage summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 0;font-weight:700;cursor:pointer;list-style:none}
.ww-frage summary::-webkit-details-marker{display:none}
.ww-frage summary::after{content:"+";flex:none;width:32px;height:32px;display:grid;place-items:center;font-size:1.4rem;line-height:1;color:var(--ww-petrol);border:2px solid var(--ww-petrol);border-radius:50%}
.ww-frage[open] summary::after{content:"–"}
.ww-frage p{margin:0 0 14px}
.ww-info{margin:18px 0 0;color:var(--ww-ink2)}

/* Handy: Fenster als ganze Seite */
@media (max-width:599px){
  .ww-start{right:calc(12px + env(safe-area-inset-right,0px))}
  .ww-panel{inset:0;width:auto;max-height:none;border:0;border-radius:0;
    padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:var(--ww-dunkel)}
  .ww-rumpf{background:#fff;padding:16px 16px 24px}
  .ww-kopf{padding:12px 12px 12px 16px}
}

/* Windows-Kontrastmodus */
@media (forced-colors:active){
  .ww-start,.ww-btn,.ww-knopf,.ww-knopf2,.ww-zu{border:2px solid ButtonText}
  .ww-panel{border:2px solid CanvasText}
}

@media (prefers-reduced-motion:reduce){
  .ww-start,.ww-knopf{transition:none}
  .ww-panel{animation:none}
}

@media print{.ww-start,.ww-panel{display:none!important}}
