/* chiropraktikdetmold.chiropractic-health.de · Neuaufbau 2.5.0 */
:root{--forest:#173c32;--green:#1f483d;--copper:#b77b54;--ink:#333;--muted:#5d675f;--cream:#f7f5ee;--paper:#fffefa;--soft:#edf1ef;--line:#d8dfda;--max:1120px;--section-label:210px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none!important}
.wrap{width:min(calc(100% - 16px),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:12px;top:-80px;z-index:100;background:var(--paper);color:var(--forest);padding:12px 16px;border:2px solid var(--forest)}
.skip-link:focus{top:12px}
:where(a,button,summary):focus-visible{outline:3px solid var(--copper);outline-offset:3px}
.topbar{background:var(--forest);color:#f7f5ee;font-size:12px;letter-spacing:.04em}
.topbar .wrap{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.topbar a{display:inline-flex;align-items:center;margin-left:20px;white-space:nowrap}
.nav{position:sticky;top:0;z-index:20;background:rgba(255,254,250,.97);border-bottom:1px solid #e7e5dc;box-shadow:0 4px 18px rgba(23,60,50,.06)}
.nav-layout{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-brand{flex:0 0 auto}.nav-brand img{width:156px;max-height:78px;object-fit:contain}
.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,2.1vw,30px)}
.nav-links a{padding:12px 0;color:#43564d;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--copper)}
.hero{background:var(--paper);padding:0}
.hero-media{width:min(100%,1280px);margin:auto;display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);grid-template-areas:"copy image";align-items:stretch;overflow:hidden;container-type:inline-size}
.hero-note{grid-area:copy;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(26px,4cqw,54px);padding-left:clamp(20px,3cqw,38px);background:var(--paper);border:0!important;outline:0;box-shadow:none!important}
.hero-note .eyebrow{margin:0 0 14px;color:var(--copper);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.hero-note h1{max-width:100%;margin:0 0 clamp(16px,2cqw,26px);color:var(--forest);font:500 clamp(20px,4.2cqw,42px)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}
.hero-copy{max-width:48em;margin:0;color:var(--ink);font-size:clamp(14px,1.6cqw,17px);line-height:1.65}
.hero-actions{width:100%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:clamp(18px,2.2cqw,28px)}
.hero-media>img{grid-area:image;width:100%;height:100%;min-height:360px;max-height:610px;object-fit:cover;object-position:center 42%}
.btn,.btn.btn-outline,.btn.dark,.form .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;margin:0;padding:12px 22px;border:1px solid var(--green);border-radius:2px;background:var(--green);color:#fff!important;font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.08em;text-align:center;text-transform:uppercase;white-space:normal}
.btn:hover,.btn:focus-visible,.btn.btn-outline:hover,.btn.dark:hover,.form .btn:hover{border-color:var(--copper);background:var(--copper);color:#fff!important}
.btn.btn-outline,.btn.dark{background:transparent;color:var(--green)!important}
.topic-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#e8eeeb;color:var(--forest);border-bottom:1px solid var(--line)}
.topic-strip a{min-height:62px;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;border-right:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.045em;text-align:center;text-transform:uppercase}
.topic-strip a:last-child{border-right:0}.topic-strip span{color:var(--copper);font:18px Georgia,serif;font-style:normal}
section{padding:clamp(54px,7vw,82px) 0;border-bottom:1px solid #e7e5dc}
h1,h2,h3,h4,h5,h6{max-width:100%;color:var(--forest);text-transform:uppercase;white-space:nowrap;letter-spacing:.015em}
.section-index{padding-top:7px;color:var(--copper);font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}
.intro-grid,.cause-layout{display:grid;grid-template-columns:var(--section-label) minmax(0,1fr);gap:28px;align-items:start}
.intro-grid h2,.cause-content h2,.split-heading h2,.booking h2{margin:0 0 26px;font:500 clamp(20px,2.7vw,34px)/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.015em}
.lead{min-width:0;max-width:100%;margin:0;color:var(--ink);font-size:16px;line-height:1.7;white-space:normal;overflow-wrap:break-word}
.image-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}
.image-row figure{min-width:0;margin:0;background:var(--paper)}
.image-row img{width:100%;aspect-ratio:16/9;object-fit:cover}
.image-row figcaption{padding:10px 12px;color:var(--forest);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cause-section{background:var(--forest);color:#f4f2e9}
.cause-section h2,.cause-section .lead{color:#f4f2e9}
.cause-content>.eyebrow{margin:0 0 10px;color:#d9b397;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.local-accordion,.price-accordion,.faq{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.local-accordion{margin-top:26px}
details{min-width:0;border:1px solid var(--line);background:var(--paper)}
summary{position:relative;display:block;min-height:48px;padding:14px 52px 14px 16px;list-style:none;cursor:pointer;color:var(--forest);font:600 13px/1.35 Arial,"Helvetica Neue",sans-serif;letter-spacing:.035em;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:16px;top:50%;width:18px;height:22px;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);color:var(--copper);font:500 22px/1 Arial,sans-serif}
details[open]>summary::after{content:"−"}
details>p{margin:0;padding:0 18px 18px;color:var(--ink);font-size:14px;line-height:1.65}
.cause-section details{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.97)}
.split-heading{display:grid;grid-template-columns:var(--section-label) minmax(0,1fr);gap:28px;align-items:start;margin-bottom:28px}
.split-heading h2{margin-bottom:26px}.split-heading .lead{margin:0}
.options-section{background:#f3f0e6}.target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:30px;border-top:1px solid #d9d8ce;border-bottom:1px solid #d9d8ce}
.target{padding:24px 22px;border-right:1px solid #d9d8ce}.target:last-child{border-right:0}
.target h3{margin:0 0 22px;font:600 15px/1.25 Georgia,"Times New Roman",serif;white-space:normal}
.target p{margin:0;color:var(--ink);font-size:14px;line-height:1.65}
.process{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-top:30px}
.step{display:grid;grid-template-columns:minmax(220px,.4fr) minmax(0,1fr);align-items:center;gap:24px;padding:16px 0;border-top:1px solid #deddd4}
.step:last-child{border-bottom:1px solid #deddd4}
.step-head{display:flex;align-items:center;gap:14px;min-width:0}
.step-icon{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(183,123,84,.5);border-radius:50%;background:#f4f2e9}
.step-icon svg{width:24px;height:24px;fill:none;stroke:var(--copper);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.step-head strong{min-width:0;color:var(--forest);font-size:13px;font-weight:700;line-height:1.35;letter-spacing:.035em;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere}
.step-body{color:var(--ink);font-size:14px;line-height:1.6}.step-body p{margin:0}
.price-section{background:#e7eeef!important}
.price-section .split-heading{margin-bottom:28px}
.price-section .price-accordion{width:100%;max-width:none;grid-template-columns:minmax(0,1fr);gap:8px}
.price-section .price-accordion details{width:100%;border:1px solid #c7d5d6;background:#e7eeef}
.price-section .price-accordion summary{font-size:13px;line-height:1.35}
.price-accordion-body{padding:4px 16px 18px;color:var(--ink)}
.price-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}
.price-other{margin-top:14px}
.price-card{padding:18px 16px;background:var(--paper);border:1px solid #d6dfde}
.price-card h3{margin:0 0 14px;font:600 15px/1.3 Georgia,"Times New Roman",serif;white-space:normal}
.amount{display:block;margin:8px 0;color:var(--copper);font:700 24px/1.2 Arial,sans-serif}
.price-card p,.price-accordion-body>p{margin:0;color:var(--ink);font-size:13px;line-height:1.55}
.price-child-step{margin:12px 0 0!important;padding:13px 14px;background:rgba(255,255,255,.65)}
.booking-section{background:var(--forest);color:#f4f2e9}
.booking{display:grid;grid-template-columns:var(--section-label) minmax(0,1fr);gap:28px;align-items:start}
.booking .section-index{color:#d9b397}.booking h2,.booking p{color:#f4f2e9}
.booking h2{margin-bottom:18px}.booking p{max-width:66em;margin:0 auto 22px;font-size:15px;line-height:1.65}
.booking .btn{display:flex;width:max-content;max-width:100%;margin:0 auto}
.faq-section{background:#fbfaf6}
.faq{width:100%;max-width:none;grid-template-columns:minmax(0,1fr);gap:7px;margin-top:30px}
.faq details{width:100%;border:1px solid #d8dfda;background:var(--paper)}
.faq summary{min-height:48px;padding:14px 52px 14px 16px;font-size:13px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.faq details>p{padding:0 52px 18px 16px}
.video-section{background:var(--cream)}
.video-section .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch;margin-top:28px}
.video-box{position:relative;display:block;min-width:0;overflow:hidden;background:#e9e6dc}
.video-box img{width:100%;height:100%;min-height:260px;object-fit:cover}
.play{position:absolute;left:50%;top:50%;width:62px;height:62px;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid var(--copper);border-radius:50%;background:rgba(255,254,250,.94);color:var(--forest);font-size:22px}
.video-copy-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:#f0eee5;text-align:center}
.video-copy-panel h3{margin:0 0 22px;font:500 clamp(18px,2.2vw,26px)/1.2 Georgia,"Times New Roman",serif;white-space:normal}
.video-copy-panel p{margin:0 0 16px;color:var(--ink);font-size:14px}
.video-copy-panel .btn{min-width:185px}
@media(max-width:820px){
 .nav-layout{min-height:76px;gap:18px}.nav-brand img{width:120px;max-height:64px}.nav-links{gap:12px}.nav-links a{font-size:11px}
 .hero{padding:0}.hero-media{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-note{padding:24px 18px}.hero-media>img{min-height:300px}
 .intro-grid,.cause-layout,.split-heading,.booking{grid-template-columns:minmax(0,1fr);gap:12px}.section-index{padding-top:0}
 .target-grid{grid-template-columns:minmax(0,1fr)}.target{border-right:0;border-bottom:1px solid #d9d8ce}.target:last-child{border-bottom:0}
 .price-items{grid-template-columns:repeat(2,minmax(0,1fr))}.step{grid-template-columns:minmax(0,1fr);gap:8px}.step-head{padding:4px 0}.step-body{padding-left:58px}
 .video-section .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
}
@media(max-width:560px){
 :root{--section-label:1fr}
 .wrap{width:min(calc(100% - 16px),var(--max))}.topbar .wrap{min-height:34px;justify-content:center;flex-wrap:wrap;gap:4px 10px;font-size:10px}.topbar a{margin:0 5px}
 .nav-layout{min-height:68px;align-items:center;gap:12px}.nav-brand img{width:86px;max-height:50px}.nav-links{justify-content:flex-start;overflow-x:auto;gap:12px}.nav-links a{font-size:9px;white-space:nowrap}
 .hero-media{width:100%;grid-template-columns:minmax(0,1fr);grid-template-areas:"image" "copy";overflow:visible}.hero-media>img{min-height:0;height:auto;max-height:none;aspect-ratio:1.9;object-fit:cover}.hero-note{padding:23px 18px 25px;align-items:center;text-align:center}.hero-note h1{font-size:clamp(17px,5.1cqw,25px);margin-bottom:14px}.hero-note .eyebrow{font-size:10px}.hero-copy{font-size:14px}.hero-actions{width:100%;flex-direction:column;align-items:center;margin-top:16px}.hero-actions .btn{width:min(100%,320px)}
 .topic-strip{grid-template-columns:minmax(0,1fr)}.topic-strip a{min-height:46px;justify-content:flex-start;padding:10px 18px;border-right:0;border-bottom:1px solid var(--line);text-align:left}.topic-strip a:last-child{border-bottom:0}
 section{padding:52px 0}.intro-grid h2,.cause-content h2,.split-heading h2,.booking h2{font-size:clamp(17px,5vw,24px);white-space:nowrap;letter-spacing:0;margin-bottom:22px}
 .lead{font-size:14px}.image-row{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:22px}.image-row img{aspect-ratio:1.75}
 .price-items{grid-template-columns:minmax(0,1fr)}.price-accordion-body{padding-inline:10px}.price-section .split-heading{margin-bottom:20px}
 summary{min-height:46px;padding:12px 44px 12px 12px;font-size:12px}.faq{margin-top:22px}.faq summary{padding-right:44px}.faq details>p{padding:0 44px 16px 12px}
 .booking{gap:10px}.video-section .split{grid-template-columns:minmax(0,1fr);gap:12px}.video-box img{min-height:0;aspect-ratio:16/9}.video-copy-panel{padding:24px 18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep split content inside the available page width at every breakpoint. */
.intro-grid>div:last-child,.cause-content,.split-heading>div:last-child,.booking>div:last-child{min-width:0}
.intro-grid .lead,.split-heading .lead,.cause-content .lead{max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Stabile Zeilenführung und zentrale CTA-Ausrichtung über alle Bildschirmgrößen. */
.hero-copy,.lead,.target p,.booking p,.step-body,.video-copy-panel p{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.hero-actions .btn{margin-inline:0}

/* Center button labels explicitly, even when the host WordPress theme adds link/button rules. */
body.cht-subdomain-onepage a.btn,
body.cht-subdomain-onepage button.btn,
body.cht-subdomain-onepage .form .btn{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 text-align:center!important;
 text-indent:0!important;
 line-height:1.2!important;
}
