/* AO Physiotherapie — Erweiterungen (Revision 11/2026) */

/* ---------- Körperregionen: 9 Karten ---------- */
.region-card-grid{grid-template-columns:repeat(3,1fr)}
.region-card .rc-imgwrap{min-height:74px}
@media (max-width:640px){.region-card-grid{grid-template-columns:repeat(3,1fr);gap:8px}.region-card .rc-name{font-size:13px}}

/* ---------- Ansprechpartner ohne drittes Foto ---------- */
.prak-shell{grid-template-columns:.8fr 1fr}
@media (max-width:980px){.prak-shell{grid-template-columns:1fr}}

/* ---------- Ratgeber ---------- */
#ratgeber{background:var(--paper)}
.rg-wrap{max-width:900px}
#ratgeber .sec-head{text-align:center;margin-left:auto;margin-right:auto;max-width:none;display:flex;flex-direction:column;align-items:center}
#ratgeber .sec-head .eyebrow{justify-content:center}
.rg-lead{color:var(--text-dim);font-size:16px;line-height:1.7;margin-top:12px}
.rg-list{display:flex;flex-direction:column;gap:14px;margin-top:34px}
.rg-item{background:var(--white);border:1px solid var(--line);border-radius:10px;transition:border-color .3s ease,box-shadow .3s ease}
.rg-item[open]{border-color:var(--petrol-mid);box-shadow:0 10px 28px rgba(14,33,31,.07)}
.rg-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;
  font-family:'Petrona',serif;font-size:clamp(17px,2vw,20px);font-weight:600;color:var(--petrol-deep,var(--ink))}
html[lang="ar"] .rg-item summary{font-family:'Noto Naskh Arabic',serif}
.rg-item summary::-webkit-details-marker{display:none}
.rg-item summary i{flex:0 0 18px;height:18px;position:relative}
.rg-item summary i::before,.rg-item summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:var(--petrol);transition:transform .3s ease}
.rg-item summary i::after{transform:rotate(90deg)}
.rg-item[open] summary i::after{transform:rotate(0)}
.rg-a{padding:0 26px 22px;color:var(--text-dim);font-size:15.5px;line-height:1.8}
.rg-a p+p{margin-top:12px}
@media (max-width:640px){.rg-item summary{padding:18px}.rg-a{padding:0 18px 18px;font-size:15px}}

/* ---------- Hinweis im Buchungsfenster ---------- */
.book-bring{background:var(--paper);border-left:3px solid var(--petrol);padding:14px 16px;margin:14px 0 16px;font-size:13.5px;line-height:1.55;color:var(--ink)}
html[dir="rtl"] .book-bring{border-left:0;border-right:3px solid var(--petrol)}
.book-bring b{display:block;font-size:14px;color:var(--petrol-deep,var(--petrol));margin-bottom:6px}
.book-bring ul{margin:0 0 8px;padding-inline-start:18px}
.book-bring li{margin:2px 0}
.book-bring small{display:block;color:var(--text-dim);font-size:12.5px}
.book-bring .bring-more{display:inline-block;margin-top:6px;font-size:12.5px;font-weight:600;color:var(--petrol);text-decoration:underline;text-underline-offset:3px}

/* ---------- Karriere-Band ---------- */
.kr-band{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;background:var(--petrol);color:#fbfaf6;padding:44px 48px;border-radius:12px;position:relative;overflow:hidden}
.kr-band::after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;border:1px solid rgba(251,250,246,.18)}
.kr-band .eyebrow{color:rgba(251,250,246,.75)}
.kr-band h2{color:#fbfaf6;font-size:clamp(26px,3.4vw,40px);margin:8px 0 10px}
.kr-band p{color:rgba(251,250,246,.85);max-width:620px;line-height:1.7}
.kr-copy{flex:1 1 420px;position:relative;z-index:1}
.kr-band .kr-open{background:#fbfaf6;color:var(--petrol);border-color:#fbfaf6;position:relative;z-index:1}
.kr-band .kr-open:hover{background:transparent;color:#fbfaf6}
@media (max-width:640px){.kr-band{padding:30px 22px}}

/* ---------- Bewerbungsformular ---------- */
html.jf-lock{overflow:hidden}
.jf-overlay{position:fixed;inset:0;z-index:1200;background:rgba(14,33,31,.55);display:flex;align-items:flex-start;justify-content:center;padding:4vh 14px;overflow-y:auto;opacity:0;transition:opacity .25s ease}
.jf-overlay[hidden]{display:none!important}
.jf-overlay.open{opacity:1}
.jf-panel{background:var(--white,#fff);width:100%;max-width:680px;border-radius:12px;padding:34px 34px 30px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.25);transform:translateY(14px);transition:transform .3s ease}
.jf-overlay.open .jf-panel{transform:none}
.jf-x{position:absolute;top:10px;right:14px;font-size:30px;line-height:1;background:none;border:0;color:var(--ink);cursor:pointer;padding:6px}
html[dir="rtl"] .jf-x{right:auto;left:14px}
.jf-panel h3{font-family:'Petrona',serif;font-size:clamp(22px,3vw,28px);color:var(--petrol-deep,var(--ink));padding-inline-end:30px}
.jf-sub{color:var(--text-dim);font-size:14.5px;line-height:1.6;margin:8px 0 20px}
.jf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.jf-f{display:block;margin:0 0 14px;border:0;padding:0;min-width:0}
.jf-l{display:block;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--petrol-deep,var(--ink));margin-bottom:6px}
.jf-f input:not([type=checkbox]):not([type=radio]),.jf-f select,.jf-f textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:11px 12px;outline:none;transition:border-color .2s ease,background .2s ease}
.jf-f input:focus,.jf-f select:focus,.jf-f textarea:focus{border-color:var(--petrol);background:var(--white,#fff)}
.jf-f input[type=file]{padding:9px;background:var(--white,#fff);border-style:dashed}
.jf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jf-chks{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-bottom:10px}
.jf-chk,.jf-consent{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--ink);cursor:pointer}
.jf-chk input,.jf-consent input{margin-top:3px;accent-color:var(--petrol);flex:0 0 auto;width:16px;height:16px}
.jf-pills{display:flex;flex-wrap:wrap;gap:8px}
.jf-pill input{position:absolute;opacity:0;pointer-events:none}
.jf-pill span{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:14px;cursor:pointer;transition:all .2s ease}
.jf-pill input:checked+span{background:var(--petrol);border-color:var(--petrol);color:#fbfaf6}
.jf-pill input:focus-visible+span{outline:2px solid var(--petrol-mid);outline-offset:2px}
.jf-consent{margin:6px 0 8px;font-size:13px;color:var(--text-dim)}
.jf-consent a{color:var(--petrol);text-decoration:underline}
.jf-err{color:#b3261e;font-size:13.5px;min-height:18px;margin:4px 0 10px}
.jf-send{width:100%;justify-content:center}
.jf-send[disabled]{opacity:.6;cursor:wait}
.jf-done{text-align:center;padding:30px 10px 10px}
.jf-check{width:64px;height:64px;border-radius:50%;background:var(--petrol);color:#fbfaf6;font-size:30px;line-height:64px;margin:0 auto 18px}
.jf-done p{color:var(--text-dim);margin:10px 0 22px;line-height:1.6}
@media (max-width:600px){.jf-panel{padding:26px 18px 22px}.jf-row,.jf-chks{grid-template-columns:1fr}}

/* ---------- Team: runde Fotos, laufen automatisch ---------- */
#team .tm-src{display:none!important}
.tm-marq{overflow:hidden;padding:8px 0 14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tm-mtrack{display:flex;width:max-content;animation:tmRun 30s linear infinite}
.tm-marq:hover .tm-mtrack{animation-play-state:paused}
html[dir="rtl"] .tm-mtrack{animation-name:tmRunRtl}
@keyframes tmRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes tmRunRtl{from{transform:translateX(0)}to{transform:translateX(50%)}}
@media (prefers-reduced-motion:reduce){.tm-mtrack{animation-duration:120s!important}}
#team .tm-marq .tm-card{flex:0 0 300px;margin-inline-end:34px;display:flex;flex-direction:column;align-items:center;text-align:center;background:transparent;border:0;padding:0 6px}
#team .tm-photo{width:220px;aspect-ratio:1;border-radius:50%;margin:0 auto 22px;box-shadow:0 14px 34px rgba(14,33,31,.14);border:6px solid var(--white,#fff)}
#team .tm-photo img{object-position:center 22%}
#team .tm-card h4{font-family:'Manrope',sans-serif;font-size:19px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--petrol-deep,var(--petrol))}
html[lang="ar"] #team .tm-card h4{font-family:'Noto Naskh Arabic',serif;text-transform:none;letter-spacing:0}
#team .tm-role{font-family:inherit;font-size:15px;letter-spacing:0;text-transform:none;color:var(--petrol);margin:4px 0 12px}
#team .tm-card p{max-width:290px;margin:0 auto}
#team .tm-chips{justify-content:center}
@media (max-width:640px){#team .tm-marq .tm-card{flex-basis:260px;margin-inline-end:24px}#team .tm-photo{width:190px}}

/* inaktive Ansichten des Körpermodells dürfen keine Klicks abfangen */
.body3d-stage .bm-view:not(.on) .body3d-hotspot{pointer-events:none!important;visibility:hidden}
