/* Physiotherapie Hahn: Körper-Check, Terminanfrage, Übungsplan, Rundgang, Rezept-Check, Dehnen mit Timer.
   Ergänzt style.css, gleiche Farben und Formen. */

/* Navigation: Knopf Termin anfragen */
nav.main a.nav-cta{background:var(--orange);color:#1f1600}
nav.main a.nav-cta:hover,nav.main a.nav-cta[aria-current=page]{background:#ffb21a}
@media (min-width:1081px){nav.main a{padding:10px 10px;font-size:.93rem}}
@media (max-width:1080px){nav.main a.nav-cta{margin-top:6px;text-align:center}}

/* Allgemein */
.fx-panel{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:24px 26px}
.fx-note{display:flex;gap:12px;align-items:flex-start;background:var(--card);border-left:5px solid var(--orange);border-radius:12px;padding:14px 18px;box-shadow:var(--shadow);margin:18px 0}
.fx-note .icon{color:var(--orange-dark);width:22px;height:22px;flex:none;margin-top:2px}
.fx-note.teal{border-left-color:var(--teal)}
.fx-note.teal .icon{color:var(--teal)}
.fx-note.red{border-left-color:#c0392b}
.fx-note.red .icon{color:#c0392b}
.fx-note p{margin:.2em 0}
.fx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none}
.fx-chips a,.fx-chips button,.fx-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:var(--sage);border:1px solid var(--sage-2);color:var(--ink);text-decoration:none;font:inherit;font-weight:650;font-size:.93rem;cursor:pointer}
.fx-chips a:hover,.fx-chips button:hover{background:var(--sage-2)}
.fx-chips button[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}
.fx-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.fx-btns .btn{padding:12px 20px}
.btn-sm{padding:9px 15px!important;font-size:.92rem}
.fx-small{font-size:.9rem;color:var(--muted)}
.fx-src{font-size:.88rem;color:var(--muted)}
.fx-src a{word-break:break-word}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Startseite: Online Helfer */
.fx-tools{display:grid;gap:18px;margin-top:28px}
@media (min-width:640px){.fx-tools{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.fx-tools{grid-template-columns:repeat(3,1fr)}}
.fx-tool{display:flex;gap:16px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}
.fx-tool:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(31,42,46,.13)}
.fx-tool .ic{width:50px;height:50px;border-radius:14px;background:var(--orange);color:#1f1600;display:grid;place-items:center;flex:none}
.fx-tool .ic .icon{width:26px;height:26px}
.fx-tool h3{margin:.1em 0 .25em;font-size:1.12rem}
.fx-tool p{margin:0;color:var(--muted);font-size:.97rem}
.fx-tool .more{display:inline-block;margin-top:8px;color:var(--teal);font-weight:700;font-size:.95rem}

/* ===== Körper-Check ===== */
.kc{display:grid;gap:26px;margin-top:10px}
@media (min-width:920px){.kc{grid-template-columns:minmax(300px,420px) 1fr;align-items:start}}
.kc-figwrap{background:var(--figbg);border-radius:22px;padding:16px 16px 12px;text-align:center;position:relative}
@media (min-width:920px){.kc-figwrap{position:sticky;top:96px}}
.kc-toggle{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px;gap:4px;margin-bottom:6px}
.kc-toggle button{border:0;background:none;font:inherit;font-weight:700;padding:9px 18px;border-radius:999px;color:var(--ink);cursor:pointer}
.kc-toggle button[aria-pressed=true]{background:var(--teal);color:#fff}
svg.kc-body{width:100%;max-width:330px;height:auto;display:block;margin:0 auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.kc-body .skin{fill:var(--sage-2);stroke:var(--fig2);stroke-width:2}
.kc-body .limb{fill:none;stroke:var(--sage-2);stroke-linecap:round;stroke-linejoin:round}
.kc-body .limb-o{fill:none;stroke:var(--fig2);stroke-linecap:round;stroke-linejoin:round}
.kc-body .detail{fill:none;stroke:var(--fig2);stroke-width:2;stroke-linecap:round;opacity:.8}
.kc-body .eye{fill:var(--fig2)}
.kc-body .side{font:700 13px system-ui,sans-serif;fill:var(--muted);letter-spacing:.08em}
.kc-spot{cursor:pointer;outline:none}
.kc-spot .hit{fill:transparent}
.kc-spot .dot{fill:var(--orange);fill-opacity:.35;stroke:var(--orange-dark);stroke-width:2;transition:fill-opacity .2s}
.kc-spot .core{fill:var(--orange-dark)}
.kc-spot .ring{fill:none;stroke:var(--orange);stroke-width:2.5;transform-box:fill-box;transform-origin:center;animation:kcpulse 2.4s ease-out infinite}
.kc-spot:hover .dot,.kc-spot:focus-visible .dot{fill-opacity:.7}
.kc-spot:focus-visible .dot{stroke:var(--ink);stroke-width:3}
.kc-spot.on .dot{fill:var(--orange);fill-opacity:1;stroke:#1f1600}
.kc-spot.on .core{fill:#1f1600}
@keyframes kcpulse{0%{transform:scale(.7);opacity:.9}80%,100%{transform:scale(1.9);opacity:0}}
.kc-view[hidden]{display:none}
.kc-list{justify-content:center;margin-top:12px}
.kc-info{min-height:340px}
.kc-info h2{font-size:1.6rem;margin:.1em 0 .3em}
.kc-info h3{font-size:1.05rem;margin:1.2em 0 .4em;display:flex;gap:8px;align-items:center}
.kc-info h3 .icon{color:var(--teal)}
.kc-info ul.plain{margin:.3em 0;padding-left:1.2em}
.kc-info ul.plain li{margin:.25em 0}
.kc-info .kc-ex{display:grid;gap:8px;margin:.4em 0;padding:0;list-style:none}
@media (min-width:560px){.kc-info .kc-ex{grid-template-columns:1fr 1fr}}
.kc-info .kc-ex a{display:flex;gap:10px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);font-weight:600;background:var(--bg)}
.kc-info .kc-ex a:hover{border-color:var(--teal)}
.kc-info .kc-ex .icon{color:var(--teal)}
.kc-hello{color:var(--muted)}
.kc-hello b{color:var(--ink)}
.kc-anim{animation:kcin .35s ease both}
@keyframes kcin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ===== Terminanfrage ===== */
.tf{display:grid;gap:22px}
.tf[hidden]{display:none}
@media (min-width:960px){.tf-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:28px;align-items:start}}
.tf fieldset{border:1px solid var(--line);border-radius:18px;padding:18px 20px 20px;margin:0;background:var(--card)}
.tf legend{font-weight:800;padding:0 8px;font-size:1.05rem}
.tf .row{display:grid;gap:14px}
@media (min-width:640px){.tf .row.two{grid-template-columns:1fr 1fr}.tf .row.three{grid-template-columns:repeat(3,1fr)}}
.tf label.f{display:block;font-weight:650;margin-bottom:4px}
.tf .opt{font-weight:500;color:var(--muted);font-size:.9em}
.tf input[type=text],.tf input[type=tel],.tf input[type=email],.tf input[type=date],.tf select,.tf textarea{width:100%;font:inherit;padding:12px 14px;border-radius:12px;border:2px solid var(--sage-2);background:var(--bg);color:var(--ink);min-height:48px}
.tf textarea{min-height:110px;resize:vertical}
.tf input:focus,.tf select:focus,.tf textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 25%,transparent)}
.tf .choices{display:flex;flex-wrap:wrap;gap:8px}
.tf .choices label{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:2px solid var(--sage-2);border-radius:999px;cursor:pointer;font-weight:600;background:var(--bg);min-height:44px}
.tf .choices input{width:18px;height:18px;accent-color:var(--teal);margin:0}
.tf .choices label:has(input:checked){border-color:var(--teal);background:var(--sage)}
.tf .consent{display:flex;gap:12px;align-items:flex-start;font-size:.97rem}
.tf .consent input{width:22px;height:22px;flex:none;margin-top:3px;accent-color:var(--teal)}
.tf .err{color:#b3261e;font-weight:650;font-size:.92rem;margin:4px 0 0;display:none}
:root[data-theme=dark] .tf .err{color:#ff8a80}
.tf .invalid .err{display:block}
.tf .invalid input,.tf .invalid textarea,.tf .invalid select{border-color:#b3261e}
.tf .hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.tf-dates{display:grid;gap:10px}
.tf-dates .datepick{display:flex;gap:8px;align-items:center}
.tf-dates .datepick input{flex:1}
.tf-dates .datepick button{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-size:1.2rem}
.tf .dhint{font-size:.9rem;color:var(--muted);margin:4px 0 0}
.tf .dhint.warn{color:var(--orange-dark);font-weight:650}
.tf-side .fx-panel+.fx-panel{margin-top:18px}
.tf-side h3{display:flex;gap:8px;align-items:center}
.tf-side .icon{color:var(--teal)}
.tf-status{border-radius:16px;padding:18px 20px;font-weight:600;display:none}
.tf-status.show{display:block}
.tf-status.ok{background:var(--sage);border:2px solid var(--teal)}
.tf-status.bad{background:#fdecea;border:2px solid #b3261e;color:#5c1410}
.tf-submit{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.tf-submit .btn[disabled]{opacity:.6;cursor:wait}

/* ===== Übungsplan ===== */
.plan-add{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:8px 14px;border-radius:999px;border:2px solid var(--sage-2);background:var(--card);color:var(--ink);font:inherit;font-weight:700;font-size:.9rem;cursor:pointer}
.plan-add[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}
.plan-add .icon{width:18px;height:18px}
article.ex.in-plan{outline:3px solid var(--teal);outline-offset:-3px}
.plan-bar{position:fixed;left:50%;transform:translate(-50%,140%);bottom:18px;z-index:70;display:flex;gap:12px;align-items:center;background:#21524c;color:#fff;border-radius:999px;padding:8px 8px 8px 20px;box-shadow:0 14px 40px rgba(0,0,0,.3);transition:transform .3s ease;max-width:calc(100vw - 24px)}
.plan-bar.show{transform:translate(-50%,0)}
.plan-bar b{white-space:nowrap}
.plan-bar .btn{padding:10px 18px}
@media (max-width:760px){.plan-bar{left:12px;right:70px;max-width:none;transform:translateY(200%);bottom:calc(84px + env(safe-area-inset-bottom));padding:6px 6px 6px 16px;justify-content:space-between}.plan-bar.show{transform:none}.plan-bar b{font-size:.92rem}.plan-bar .btn{padding:9px 14px;font-size:.92rem}}
.plan-bar .btn{white-space:nowrap}
.plan-bar.show.away{opacity:0;visibility:hidden;pointer-events:none}
.plan-bar{transition:transform .3s ease,opacity .25s ease,visibility .25s}
.plan-intro{display:grid;gap:18px;align-items:center}
@media (min-width:800px){.plan-intro{grid-template-columns:1fr auto}}
.plan-sheet{margin:26px 0 10px;scroll-margin-top:100px}
.plan-sheet[hidden]{display:none}
.plan-head{display:grid;gap:20px}
@media (min-width:860px){.plan-head{grid-template-columns:1fr 210px}}
.plan-qr{background:#fff;border-radius:14px;padding:10px;text-align:center;border:1px solid var(--line);color:#1f2a2e}
.plan-qr svg{width:100%;max-width:190px;height:auto;display:block;margin:auto}
.plan-qr p{margin:.3em 0 0;font-size:.82rem}
.plan-list{display:grid;gap:14px;margin-top:18px}
@media (min-width:760px){.plan-list{grid-template-columns:repeat(2,1fr)}}
.plan-list article.ex{outline:0}
.plan-list .plan-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.plan-list .plan-tools button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;padding:6px 10px;font:inherit;font-size:.85rem;cursor:pointer}
.plan-name{font:inherit;padding:10px 14px;border-radius:12px;border:2px solid var(--sage-2);background:var(--bg);color:var(--ink);width:100%;max-width:340px}
.plan-print-only{display:none}
.plan-empty{color:var(--muted)}
@media print{
  body.printing-plan main>*:not(.plan-print-root){display:none!important}
  body.printing-plan .plan-print-root{display:block!important}
  body.printing-plan .plan-sheet{display:block!important;margin:0}
  body.printing-plan .plan-intro,body.printing-plan .plan-bar,body.printing-plan .plan-noprint,body.printing-plan .plan-tools,body.printing-plan .plan-add{display:none!important}
  body.printing-plan .plan-print-only{display:block!important}
  body.printing-plan .plan-head{grid-template-columns:1fr 120px;gap:12px;align-items:start}
  body.printing-plan .plan-qr{border:0;padding:0}
  body.printing-plan .plan-qr svg{max-width:110px}
  body.printing-plan .plan-list{grid-template-columns:1fr;gap:6px}
  body.printing-plan .fx-panel{box-shadow:none;border:0;padding:0}
  .plan-bar{display:none!important}
}

/* ===== Rundgang ===== */
.rg-tour{margin:30px 0 34px;position:relative}
.tour-stage{position:relative;max-width:900px;margin:0 auto;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:#0f1513}
.tour-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.tour-track::-webkit-scrollbar{display:none}
.tour-slide{flex:0 0 100%;scroll-snap-align:center;position:relative;aspect-ratio:16/10;overflow:hidden;margin:0}
@media (max-width:640px){.tour-slide{aspect-ratio:1/1}}
.tour-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.tour-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 20px;background:linear-gradient(transparent,rgba(10,20,18,.82));color:#fff}
.tour-slide figcaption b{display:block;font-size:1.25rem}
.tour-slide figcaption span{opacity:.92}
.tour-slide .st{position:absolute;top:14px;left:14px;background:var(--orange);color:#1f1600;font-weight:800;border-radius:999px;padding:6px 13px;font-size:.88rem}
.tour-ctl{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.88);color:#1f2a2e;font-size:1.7rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.tour-ctl.prev{left:12px}.tour-ctl.next{right:12px}
.tour-bar{max-width:900px;margin-left:auto;margin-right:auto;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-top:14px}
.tour-steps{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px 2px;margin:0;list-style:none;flex:1;min-width:0}
.tour-steps button{white-space:nowrap;border:1px solid var(--sage-2);background:var(--card);color:var(--ink);border-radius:999px;padding:7px 12px;font:inherit;font-size:.86rem;font-weight:650;cursor:pointer}
.tour-steps button[aria-current=true]{background:var(--teal);border-color:var(--teal);color:#fff}
.tour-play{flex:none}
@media (max-width:640px){.tour-steps{flex-basis:100%}.tour-play{margin-left:auto}}
.tour-progress{height:4px;background:rgba(255,255,255,.25);position:absolute;left:0;right:0;bottom:0;z-index:2}
.tour-progress i{display:block;height:100%;width:0;background:var(--orange)}

/* ===== Rezept-Check ===== */
.rc{max-width:860px}
.rc-prog{display:flex;gap:6px;margin:6px 0 20px}
.rc-prog i{flex:1;height:7px;border-radius:9px;background:var(--sage-2)}
.rc-prog i.on{background:var(--teal)}
.rc-step h2{font-size:1.5rem;margin-top:.2em}
.rc-step[hidden]{display:none}
html:not(.no-js) .rc-step:not(.cur){display:none}
.rc-opts{display:grid;gap:10px;margin:14px 0}
@media (min-width:640px){.rc-opts{grid-template-columns:repeat(2,1fr)}}
.rc-opts button{display:flex;gap:12px;align-items:center;text-align:left;padding:16px 18px;border-radius:16px;border:2px solid var(--sage-2);background:var(--card);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
.rc-opts button small{display:block;font-weight:500;color:var(--muted)}
.rc-opts button[aria-pressed=true]{border-color:var(--teal);background:var(--sage)}
.rc-opts .icon{color:var(--teal);width:26px;height:26px}
.rc-checks{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}
.rc-checks label{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);cursor:pointer}
.rc-checks input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--teal)}
.rc-checks small{display:block;color:var(--muted)}
.rc-checks .must{font-size:.75rem;font-weight:800;color:var(--orange-dark);text-transform:uppercase;letter-spacing:.08em;margin-left:6px}
.rc-nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px;flex-wrap:wrap}
.rc-out{margin-top:14px}
.rc-out .big{font-size:1.4rem;font-weight:800;color:var(--teal)}
.rc-date{display:flex;flex-wrap:wrap;gap:14px;align-items:end}
.rc-date label{font-weight:650;display:block}
.rc-date input{font:inherit;padding:12px 14px;border-radius:12px;border:2px solid var(--sage-2);background:var(--bg);color:var(--ink);min-height:48px}
.rc-date .choices label{display:inline-flex;gap:8px;align-items:center;font-weight:600}
.rc-date .choices input{width:20px;height:20px;min-height:0;accent-color:var(--teal)}
.rc-tabs{display:none}
.rc table{border-collapse:collapse;width:100%;margin:10px 0}
.rc td,.rc th{border-bottom:1px solid var(--line);padding:9px 6px;text-align:left;vertical-align:top}

/* ===== Dehnen ===== */
.dh-grid{display:grid;gap:18px;margin-top:22px}
@media (min-width:700px){.dh-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.dh-grid{grid-template-columns:repeat(3,1fr)}}
.dh-card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:16px 18px 18px;display:flex;flex-direction:column;scroll-margin-top:100px}
.dh-card:target{outline:3px solid var(--orange)}
.dh-card h3{margin:.6em 0 .2em}
.dh-card .ziel{color:var(--muted);margin:0 0 .4em;font-size:.97rem}
.dh-card .meta{display:flex;gap:8px;flex-wrap:wrap;margin:.2em 0 .6em}
.dh-card .meta span{background:var(--sage);border-radius:999px;padding:4px 10px;font-size:.83rem;font-weight:650}
.dh-card details{border-top:1px solid var(--line);padding:8px 0}
.dh-card details:last-of-type{border-bottom:1px solid var(--line)}
.dh-card summary{cursor:pointer;font-weight:700;padding:4px 0}
.dh-card details ol,.dh-card details ul{margin:.4em 0;padding-left:1.25em}
.dh-card details li{margin:.25em 0}
.dh-card .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.dh-card .acts .btn{padding:10px 16px;font-size:.94rem}
.dh-card .figbox svg.fig-anim{max-width:210px}
.dh-sel{display:inline-flex;gap:8px;align-items:center;font-weight:650;font-size:.92rem;cursor:pointer}
.dh-sel input{width:20px;height:20px;accent-color:var(--teal)}
.dh-start{display:grid;gap:16px;align-items:center}
@media (min-width:860px){.dh-start{grid-template-columns:1fr auto}}
dialog.dh{border:0;border-radius:26px;padding:0;width:min(640px,96vw);max-height:96dvh;background:var(--card);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.4)}
dialog.dh::backdrop{background:rgba(15,25,23,.75);backdrop-filter:blur(4px)}
.dh-in{padding:18px 22px 20px;display:flex;flex-direction:column;gap:12px}
.dh-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.dh-top .close{background:none;border:0;color:var(--ink);cursor:pointer;padding:6px;font-size:1.6rem;line-height:1}
.dh-prog{font-weight:700;color:var(--muted);font-size:.9rem}
.dh-title{margin:0;font-size:1.35rem}
.dh-stage{display:grid;grid-template-columns:1fr 128px;gap:14px;align-items:center;background:var(--figbg);border-radius:18px;padding:8px 14px}
.dh-stage .dh-fig svg.fig-anim{max-width:250px}
.dh-ring{position:relative;width:128px;height:128px}
.dh-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.dh-ring circle{fill:none;stroke-width:9}
.dh-ring .bg{stroke:var(--sage-2)}
.dh-ring .fg{stroke:var(--orange);stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:326.7}
.dh-ring.rest .fg{stroke:var(--teal)}
.dh-count{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:2.4rem;font-weight:800;line-height:1}
.dh-count small{display:block;font-size:.75rem;font-weight:700;color:var(--muted);margin-top:4px}
.dh-phase{font-weight:800;color:var(--orange-dark);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;margin:0}
.dh-text{font-size:1.15rem;font-weight:600;margin:0;min-height:3.2em}
.dh-sub{margin:0;color:var(--muted)}
.dh-ctrl{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.dh-ctrl .btn{padding:12px 20px}
.dh-ctrl .btn[hidden]{display:none}
.dh-ctrl .btn:disabled{opacity:.45;cursor:default}
.dh-stop{font-size:.9rem;background:#fdecea;color:#5c1410;border-radius:12px;padding:10px 14px;margin:0}
:root[data-theme=dark] .dh-stop{background:#3a1d1a;color:#ffd7d2}
.dh-set{display:flex;gap:10px 16px;flex-wrap:wrap;align-items:center;font-size:.9rem;border-top:1px solid var(--line);padding-top:10px}
.dh-set label{display:inline-flex;gap:6px;align-items:center;font-weight:600}
.dh-set select{font:inherit;padding:6px 8px;border-radius:10px;border:1px solid var(--sage-2);background:var(--bg);color:var(--ink)}
.dh-set input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal)}
.dh-tips{font-size:.93rem}
.dh-tips summary{cursor:pointer;font-weight:700}
.dh-done{font-size:4.2rem;color:var(--teal);font-weight:800;text-align:center;line-height:1.5}
@media (max-width:540px){
  dialog.dh{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;margin:0}
  .dh-in{padding:12px 14px calc(14px + env(safe-area-inset-bottom));min-height:100%}
  .dh-stage{grid-template-columns:1fr 104px;padding:6px 10px}
  .dh-ring{width:104px;height:104px}
  .dh-count{font-size:2rem}
  .dh-text{font-size:1.05rem}
}
@media print{.plan-bar,dialog.dh,.tour-ctl,.tour-bar{display:none!important}}

/* Bewegung: Grundsätzlich an. Bei "Bewegung reduzieren" nur ruhiger, nicht abgeschaltet. */
@media (prefers-reduced-motion:reduce){
  .kc-spot .ring{animation:kcpulse 4s ease-out infinite!important}
  .kc-anim{animation:none!important}
}
.rc-date .choices{display:flex;flex-wrap:wrap;gap:8px 20px}

/* ===== Haftungsausschluss und Gesundheitshinweis ===== */
.haft{display:flex;gap:16px;align-items:flex-start;background:#fff7e6;color:#2b2414;border:2px solid var(--orange);border-radius:18px;padding:20px 22px;margin:0 0 26px;box-shadow:var(--shadow)}
.haft h2{font-size:1.25rem;margin:0 0 8px;color:#2b2414}
.haft p{margin:0 0 8px;line-height:1.55}
.haft ul{margin:4px 0 8px;padding-left:20px;line-height:1.5}
.haft li{margin:3px 0}
.haft a{color:#7a4a00;font-weight:600}
.haft .haft-ic{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--orange);color:#1f1600;display:grid;place-items:center}
.haft .haft-ic svg{width:22px;height:22px}
.haft-k{padding:14px 16px;margin:14px 0;border-width:2px;box-shadow:none}
.haft-k .haft-ic{width:32px;height:32px}
.haft-k .haft-ic svg{width:18px;height:18px}
@media (max-width:560px){.haft{flex-direction:column;gap:10px;padding:16px}}
.dh-gate{padding:18px 22px 20px;display:flex;flex-direction:column;gap:12px}
.dh-gate[hidden],.dh-in[hidden]{display:none}
.dh-gate .haft-k{margin:0}
.dh-ack{display:flex;gap:10px;align-items:flex-start;font-weight:600;cursor:pointer;line-height:1.4}
.dh-ack input{width:22px;height:22px;flex:0 0 auto;margin:0;accent-color:var(--teal)}
.dh-gate .btn:disabled{opacity:.45;cursor:default}
.dh-gate .dh-ctrl{justify-content:flex-end}
:root[data-theme=dark] .haft{background:#2c2412;color:#f4ead6}:root[data-theme=dark] .haft h2{color:#f4ead6}:root[data-theme=dark] .haft a{color:#ffc35c}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .haft{background:#2c2412;color:#f4ead6}:root:not([data-theme=light]) .haft h2{color:#f4ead6}:root:not([data-theme=light]) .haft a{color:#ffc35c}}
@media print{.haft{box-shadow:none;break-inside:avoid}#plan .haft,.plan-intro .haft{display:none}}
.plan-bar:not(.show){opacity:0;visibility:hidden;pointer-events:none}
