:root{/* Brand-Farbpalette (DWC-Lime = Default). Per [data-palette] umschaltbar — Vorschau-Schalter (Design-Studio). */--brand-bright:#bef264;--brand-soft:#d9f99d;--brand-faint:#ecfccb;--brand-faint2:#f7fee7;--brand-ink:#4d7c0f;--brand-deep:#3f6212;--brand-deep2:#365314;--brand-mid:#65a30d;--brand-mid2:#84cc16;--brand-darkest:#1c2a13;--brand-bright-rgb:190,242,100;--brand-soft-rgb:217,249,157;--lime:var(--brand-ink);--lime2:var(--brand-bright);--lime3:var(--brand-soft);--bg:#f7f4ef;--ink:#09090b;--muted:#52525b;--line:rgba(0,0,0,.1);--card:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif}button{font:inherit;cursor:pointer}.header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:#f7f4ef}.bar{max-width:1280px;margin:auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;color:inherit}.brand-mark{font-size:42px;font-weight:950;color:var(--lime);letter-spacing:-.05em}.brand-sub{font-size:14px;line-height:1.05;font-weight:950}.nav{display:flex;gap:16px;align-items:center}.nav button{border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 0 7px;font-weight:750;color:#27272a}.nav button.active{border-color:var(--brand-mid);color:var(--lime)}.tools{display:flex;gap:16px;color:#27272a;font-weight:650}.path{border-bottom:1px solid var(--line);background:rgba(255,255,255,.6);padding:8px;text-align:center;font-size:12px;font-weight:700;color:#71717a}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.glow{position:absolute;right:-128px;top:-128px;width:390px;height:390px;border-radius:999px;background:radial-gradient(circle,rgba(var(--brand-bright-rgb),.42) 0%,rgba(var(--brand-bright-rgb),.22) 55%,rgba(var(--brand-bright-rgb),0) 72%)}.hero-inner{position:relative;max-width:1280px;margin:auto;padding:68px 20px 88px;display:grid;grid-template-columns:1.02fr .98fr;gap:42px;align-items:center}.pill{display:inline-flex;border-radius:999px;background:#fff;padding:9px 16px;font-size:14px;font-weight:900;box-shadow:0 2px 10px rgba(0,0,0,.06)}h1{margin:20px 0 0;max-width:820px;font-size:70px;line-height:.98;letter-spacing:-.045em;font-weight:950}p.lead{margin:24px 0 0;max-width:670px;font-size:20px;line-height:1.8;color:#3f3f46}.actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}.btn{border-radius:999px;padding:16px 28px;font-weight:900;border:1px solid #000;text-decoration:none}.btn.primary{background:#000;color:#fff;box-shadow:0 12px 24px rgba(0,0,0,.18)}.btn.secondary{background:#fff;color:#000}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.chip{border-radius:999px;background:#fff;padding:9px 15px;font-size:12px;font-weight:950;box-shadow:0 2px 10px rgba(0,0,0,.05)}.scene{position:relative;min-height:440px;overflow:hidden;border:1px solid var(--line);border-radius:32px;background:white;box-shadow:0 20px 45px rgba(0,0,0,.14)}.scene.small{min-height:0;height:210px;border:0;border-radius:28px 28px 0 0;box-shadow:none}.sky{position:absolute;inset:0;background:linear-gradient(135deg,#fff,var(--bg) 48%,var(--brand-soft))}.orb{position:absolute;right:-80px;top:-80px;width:255px;height:255px;border-radius:999px;background:radial-gradient(circle,rgba(var(--brand-bright-rgb),.6) 0%,rgba(var(--brand-bright-rgb),.3) 55%,rgba(var(--brand-bright-rgb),0) 73%)}.grass{position:absolute;left:0;right:0;bottom:0;height:130px;background:rgba(var(--brand-bright-rgb),.58)}.hill1{position:absolute;right:-40px;bottom:96px;width:330px;height:150px;border-radius:999px 999px 0 0;background:var(--brand-faint)}.hill2{position:absolute;right:110px;bottom:112px;width:300px;height:200px;border-radius:999px 999px 0 0;background:rgba(var(--brand-soft-rgb),.75)}.camper{position:absolute;left:42px;bottom:82px;width:240px;height:96px;border:1px solid #d4d4d8;border-radius:28px;background:#fff;box-shadow:0 14px 28px rgba(0,0,0,.13)}.scene.small .camper{left:26px;bottom:38px;width:145px;height:58px;border-radius:18px}.roof{position:absolute;left:112px;bottom:178px;width:126px;height:54px;border-radius:18px 18px 0 0;background:#e4e4e7}.scene.small .roof{left:66px;bottom:96px;width:65px;height:34px}.wheel{position:absolute;bottom:64px;width:48px;height:48px;border:6px solid #18181b;border-radius:999px;background:#fff}.w1{left:96px}.w2{left:220px}.scene.small .wheel{bottom:30px;width:28px;height:28px;border-width:4px}.scene.small .w1{left:48px}.scene.small .w2{left:119px}.person{position:absolute;bottom:82px;display:flex;flex-direction:column;align-items:center}.p1{right:178px}.p2{right:112px}.head{width:36px;height:36px;border-radius:999px;background:#27272a}.body{margin-top:5px;width:38px;height:66px;border-radius:999px;background:white;box-shadow:0 8px 18px rgba(0,0,0,.12)}.p2 .body{background:var(--lime2)}.cone{position:absolute;bottom:80px;width:22px;height:95px;border-radius:8px;background:#fb923c}.c1{right:95px}.c2{right:155px}.c3{right:215px}.badge{position:absolute;right:95px;top:95px;width:112px;height:112px;border-radius:999px;background:var(--lime2);box-shadow:0 15px 30px rgba(0,0,0,.16);display:grid;place-items:center;font-weight:950;font-size:42px}.benefit-badge{position:absolute;right:96px;top:90px;border-radius:28px;background:rgba(255,255,255,.9);padding:22px;box-shadow:0 16px 30px rgba(0,0,0,.14)}.benefit-badge b{display:block;font-size:32px}.label{position:absolute;left:24px;top:24px;border-radius:999px;background:#000;color:#fff;font-size:12px;font-weight:950;padding:9px 15px}.dwc-tag{position:absolute;right:24px;bottom:24px;border-radius:24px;background:rgba(255,255,255,.95);padding:15px 20px;box-shadow:0 6px 16px rgba(0,0,0,.08)}.dwc-tag b{display:block;color:var(--lime)}section.content{max-width:1280px;margin:auto;padding:56px 20px}.intro{max-width:770px;margin-bottom:34px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.2em;color:var(--lime);font-weight:950}.intro h2,.block h2{margin:8px 0 0;font-size:40px;line-height:1.05;letter-spacing:-.035em;font-weight:950}.intro p,.block p{color:#52525b;line-height:1.8}.grid{display:grid;gap:24px}.grid.four{grid-template-columns:repeat(4,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.card{overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 3px 16px rgba(0,0,0,.06)}.card-pad{padding:24px}.icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--brand-faint);color:var(--brand-deep);font-weight:950;margin-bottom:18px}.card h3{font-size:20px;margin:0;font-weight:950}.card p{margin:12px 0 0;color:#52525b;font-size:14px;line-height:1.75}.story{background:white;padding:56px 0}.story-inner{max-width:1280px;margin:auto;padding:0 20px;display:grid;grid-template-columns:.95fr 1.05fr;gap:34px;align-items:center}.quote{border:1px solid #e4e4e7;background:var(--bg);border-radius:28px;padding:30px;color:#52525b;line-height:1.85}.black-links{max-width:1280px;margin:0 auto 64px;padding:0 20px}.black-box{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-radius:32px;background:#000;padding:32px;color:white}.black-box button{border:0;background:rgba(255,255,255,.1);border-radius:28px;color:white;text-align:left;padding:24px;font-weight:950;font-size:17px}.cta{max-width:1280px;margin:auto;padding:0 20px 64px}.cta-box{position:relative;overflow:hidden;border-radius:32px;background:var(--lime2);padding:44px;box-shadow:0 3px 18px rgba(0,0,0,.06)}.cta h2{margin:0;font-size:40px;letter-spacing:-.035em}.cta p{max-width:700px;color:#3f3f46;line-height:1.8}.price{border:1px solid #e4e4e7;border-radius:28px;background:#fff;padding:26px;box-shadow:0 4px 16px rgba(0,0,0,.05)}.price.dark{background:#000;color:white;border-color:#000}.price h3{font-size:26px;margin:0}.price .sub{color:#71717a;font-size:14px}.price.dark .sub{color:#d4d4d8}.row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:center;margin-top:12px;border-radius:18px;background:#f4f4f5;padding:14px;font-size:14px}.price.dark .row{background:rgba(255,255,255,.12)}.row strong{text-align:right;font-size:22px}.table{overflow:auto;border-radius:28px;background:#fff;box-shadow:0 3px 16px rgba(0,0,0,.06)}.table-inner{min-width:980px}.trow{display:grid;grid-template-columns:1.25fr 1.15fr 1fr 1fr;gap:12px;padding:14px 20px;font-size:14px}.thead{background:#000;color:#fff;font-weight:950}.trow:nth-child(odd):not(.thead){background:#fafafa}.green{font-weight:850;color:var(--brand-deep)}.warn{display:flex;gap:12px;margin-top:20px;border:1px solid #fcd34d;background:#fffbeb;border-radius:28px;padding:18px;color:#78350f;line-height:1.5}.faq{max-width:900px;margin:auto}.details{background:#fff;border-radius:24px;box-shadow:0 3px 15px rgba(0,0,0,.06);padding:20px;margin:12px 0}.details summary{font-weight:950;cursor:pointer}.details p{color:#52525b;line-height:1.8}.form{max-width:900px;margin:auto;background:#fff;border:1px solid #e4e4e7;border-radius:28px;padding:32px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.form input,.form select{border:1px solid #d4d4d8;border-radius:18px;padding:16px;background:white;font:inherit}.span2{grid-column:span 2}.footer{border-top:1px solid var(--line);background:white}.footer-inner{max-width:1280px;margin:auto;padding:46px 20px;display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:34px}.footer h3{color:var(--lime);margin:0;font-size:24px}.footer h4{margin:0 0 14px}.footer p,.footer li{color:#52525b;line-height:1.7;font-size:14px}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.mobile-nav{display:none;border-top:1px solid rgba(0,0,0,.05);padding:10px 20px;overflow:auto;gap:8px}.mobile-nav button{white-space:nowrap;border:0;border-radius:999px;padding:9px 14px;font-weight:850;background:#fff}.mobile-nav button.active{background:#000;color:white}@media(max-width:1100px){.nav,.tools{display:none}.mobile-nav{display:flex}.hero-inner,.story-inner{grid-template-columns:1fr}.grid.four{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:1fr 1fr}.footer-inner{grid-template-columns:1fr 1fr}h1{font-size:54px}}@media(max-width:700px){h1{font-size:42px}.grid.four,.grid.three,.grid.two,.black-box,.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.footer-inner{grid-template-columns:1fr}.hero-inner{padding-top:44px}.scene{min-height:330px}.p1,.p2{display:none}}
.member-hero{background:#fff;border-bottom:1px solid var(--line)}.member-shell{max-width:1280px;margin:auto;padding:56px 20px}.member-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:28px;align-items:start}.member-panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 12px 30px rgba(0,0,0,.06)}.member-panel.soft{background:var(--bg)}.member-kicker{display:inline-flex;border-radius:999px;background:var(--brand-faint);color:var(--brand-deep);font-weight:900;font-size:13px;padding:8px 13px}.member-list{display:grid;gap:12px;margin:22px 0 0;padding:0;list-style:none}.member-list li{display:flex;gap:10px;align-items:flex-start;color:#3f3f46;line-height:1.6}.member-list li:before{content:'✓';display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;height:22px;border-radius:999px;background:var(--brand-bright);color:#111;font-weight:900}.login-box{display:grid;gap:12px}.login-box input{width:100%;border:1px solid #d4d4d8;border-radius:16px;padding:14px 16px;font-size:15px;background:white}.login-note{font-size:13px;line-height:1.6;color:#71717a}.benefit-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.benefit-toolbar span{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:white;font-weight:800;font-size:13px}.benefit-card{display:flex;flex-direction:column;gap:14px}.benefit-meta{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#71717a}.benefit-code{border:1px dashed var(--brand-mid2);border-radius:16px;background:var(--brand-faint2);padding:14px;font-weight:900;color:var(--brand-deep2)}.locked{position:relative;overflow:hidden}.locked:after{content:'Anmeldung erforderlich';position:absolute;inset:auto 18px 18px 18px;border-radius:18px;background:rgba(9,9,11,.9);color:white;text-align:center;padding:12px;font-weight:900;font-size:13px}@media(max-width:900px){.member-layout{grid-template-columns:1fr}.member-shell{padding:38px 20px}.member-panel{border-radius:22px}}

a{color:inherit;text-decoration:none}.nav a{border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 0 7px;font-weight:750;color:#27272a}.nav a.active{border-color:var(--brand-mid);color:var(--lime)}.brand{text-decoration:none}.tools a:hover,.footer a:hover{color:var(--lime)}.black-box a{border:0;background:rgba(255,255,255,.1);border-radius:28px;color:white;text-align:left;padding:24px;font-weight:950;font-size:17px}.mobile-nav a{white-space:nowrap;border:0;border-radius:999px;padding:9px 14px;font-weight:850;background:#fff}.mobile-nav a.active{background:#000;color:white}.dwc-scene{position:relative;min-height:440px;overflow:hidden;border:1px solid var(--line);border-radius:32px;background:white;box-shadow:0 20px 45px rgba(0,0,0,.14)}.scene-sky{position:absolute;inset:0;background:linear-gradient(135deg,#fff,var(--bg) 48%,var(--brand-soft))}.scene-ground{position:absolute;left:0;right:0;bottom:0;height:130px;background:rgba(var(--brand-bright-rgb),.58)}.scene-hill{position:absolute;right:80px;bottom:104px;width:320px;height:190px;border-radius:999px 999px 0 0;background:rgba(var(--brand-soft-rgb),.75)}.scene-camper{position:absolute;left:42px;bottom:82px;width:240px;height:96px;border:1px solid #d4d4d8;border-radius:28px;background:#fff;box-shadow:0 14px 28px rgba(0,0,0,.13)}.scene-wheel{position:absolute;bottom:64px;width:48px;height:48px;border:6px solid #18181b;border-radius:999px;background:#fff}.scene-wheel.one{left:96px}.scene-wheel.two{left:220px}.dwc-scene span{position:absolute;left:24px;top:24px;border-radius:999px;background:#000;color:#fff;font-size:12px;font-weight:950;padding:9px 15px}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.faq{max-width:900px;margin:auto}@media(max-width:1100px){.nav,.tools{display:none}.mobile-nav{display:flex}.price-grid{grid-template-columns:1fr}}

/* WYSIWYG content system */
.dwc-page-content .wp-block-group{margin:0}.dwc-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.dwc-hero .wp-block-group__inner-container{max-width:1280px;margin:auto;padding:68px 20px 88px;display:grid;grid-template-columns:1.02fr .98fr;gap:42px;align-items:center}.dwc-kicker{display:inline-flex;border-radius:999px;background:#fff;padding:9px 16px;font-size:14px;font-weight:900;box-shadow:0 2px 10px rgba(0,0,0,.06);margin:0 0 18px}.dwc-hero h1{margin:0;max-width:820px;font-size:70px;line-height:.98;letter-spacing:-.045em;font-weight:950}.dwc-hero p{margin:24px 0 0;max-width:670px;font-size:20px;line-height:1.8;color:#3f3f46}.dwc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.dwc-actions a,.wp-block-button__link{border-radius:999px;padding:16px 28px;font-weight:900;border:1px solid #000;text-decoration:none;background:#000;color:#fff}.dwc-actions a.secondary,.is-style-outline .wp-block-button__link{background:#fff;color:#000}.dwc-section{max-width:1280px;margin:auto;padding:56px 20px}.dwc-section h2{margin:0;font-size:40px;line-height:1.05;letter-spacing:-.035em;font-weight:950}.dwc-section .dwc-eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.2em;color:var(--lime);font-weight:950;margin-bottom:8px}.dwc-section > p,.dwc-section .wp-block-group__inner-container > p{color:#52525b;line-height:1.8;max-width:770px}.dwc-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:34px}.dwc-cards.three{grid-template-columns:repeat(3,1fr)}.dwc-card{overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 3px 16px rgba(0,0,0,.06);padding:24px}.dwc-card h3{font-size:20px;margin:0;font-weight:950}.dwc-card p{margin:12px 0 0;color:#52525b;font-size:14px;line-height:1.75}.dwc-symbol{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--brand-faint);color:var(--brand-deep);font-weight:950;margin-bottom:18px}.dwc-story{background:#fff;padding:56px 20px}.dwc-story .wp-block-group__inner-container{max-width:1280px;margin:auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:34px;align-items:center}.dwc-note{border:1px solid #e4e4e7;background:var(--bg);border-radius:28px;padding:30px;color:#52525b;line-height:1.85}.dwc-cta{max-width:1280px;margin:0 auto;padding:0 20px 64px}.dwc-cta .wp-block-group__inner-container{position:relative;overflow:hidden;border-radius:32px;background:var(--lime2);padding:44px;box-shadow:0 3px 18px rgba(0,0,0,.06)}.dwc-cta h2{margin:0;font-size:40px;letter-spacing:-.035em}.dwc-cta p{max-width:700px;color:#3f3f46;line-height:1.8}.dwc-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:28px}.dwc-price{border:1px solid #e4e4e7;border-radius:28px;background:#fff;padding:26px;box-shadow:0 4px 16px rgba(0,0,0,.05)}.dwc-price.dark{background:#000;color:#fff;border-color:#000}.dwc-form{max-width:900px;margin:auto;background:#fff;border:1px solid #e4e4e7;border-radius:28px;padding:32px}.dwc-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.dwc-form input{border:1px solid #d4d4d8;border-radius:18px;padding:16px;background:#fff;font:inherit}.dwc-form .span2{grid-column:span 2}.dwc-quicklinks{max-width:1280px;margin:0 auto 64px;padding:0 20px}.dwc-quicklinks .wp-block-group__inner-container{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-radius:32px;background:#000;padding:32px}.dwc-quicklinks a{background:rgba(255,255,255,.1);border-radius:28px;color:#fff;text-align:left;padding:24px;font-weight:950;font-size:17px;text-decoration:none}.dwc-faq{max-width:900px;margin:auto}.dwc-faq details{background:#fff;border-radius:24px;box-shadow:0 3px 15px rgba(0,0,0,.06);padding:20px;margin:12px 0}.dwc-faq summary{font-weight:950;cursor:pointer}.dwc-faq p{color:#52525b;line-height:1.8}.editor-styles-wrapper .dwc-hero h1{font-size:48px}@media(max-width:1100px){.dwc-hero .wp-block-group__inner-container,.dwc-story .wp-block-group__inner-container{grid-template-columns:1fr}.dwc-cards{grid-template-columns:repeat(2,1fr)}.dwc-cards.three,.dwc-price-grid,.dwc-quicklinks .wp-block-group__inner-container{grid-template-columns:1fr}}@media(max-width:700px){.dwc-hero h1{font-size:42px}.dwc-cards{grid-template-columns:1fr}.dwc-form-grid{grid-template-columns:1fr}.dwc-form .span2{grid-column:auto}}

/* Redaktionelle Hinweise: nur im WordPress-Editor sichtbar */
.dwc-editor-label,.dwc-editor-note{display:none!important}.dwc-editor-scene{min-height:260px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#fff,var(--bg) 48%,var(--brand-soft));position:relative;box-shadow:0 12px 28px rgba(0,0,0,.08)}.dwc-editor-scene:before{content:"";position:absolute;left:32px;bottom:38px;width:180px;height:72px;border:1px solid #d4d4d8;border-radius:22px;background:#fff;box-shadow:0 10px 18px rgba(0,0,0,.12)}.dwc-editor-scene:after{content:"";position:absolute;left:72px;bottom:22px;width:36px;height:36px;border:5px solid #18181b;border-radius:999px;background:#fff;box-shadow:96px 0 0 -5px #fff,96px 0 0 0 #18181b}.dwc-editor-scene p{position:absolute;left:24px;top:24px;border-radius:999px;background:#000;color:#fff;font-size:12px;font-weight:950;padding:9px 15px;margin:0}.dwc-card .wp-block-group__inner-container,.dwc-price .wp-block-group__inner-container,.dwc-form .wp-block-group__inner-container,.dwc-note .wp-block-group__inner-container{display:contents}

/* Frontend layout fix for Gutenberg-rendered DWC sections */
body:not(.wp-admin) .dwc-hero > .wp-block-group__inner-container{display:block;max-width:1280px;margin:0 auto;padding:68px 20px 88px}
body:not(.wp-admin) .dwc-hero > .wp-block-group__inner-container > .wp-block-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:42px;align-items:center;margin:0}
body:not(.wp-admin) .dwc-hero .wp-block-column{min-width:0;flex-basis:auto!important;flex-grow:0!important}
body:not(.wp-admin) .dwc-hero h1{max-width:760px;font-size:clamp(46px,5.2vw,72px);line-height:.98;letter-spacing:-.045em;word-break:normal;overflow-wrap:normal;hyphens:none}
body:not(.wp-admin) .dwc-hero p:not(.dwc-kicker){max-width:680px}
body:not(.wp-admin) .dwc-editor-scene{width:100%;min-height:360px}
body:not(.wp-admin) .dwc-section > .wp-block-group__inner-container{max-width:1280px;margin:0 auto}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{grid-template-columns:repeat(3,minmax(0,1fr))}
body:not(.wp-admin) .dwc-card{padding:24px}
body:not(.wp-admin) .dwc-quicklinks .wp-block-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%}
body:not(.wp-admin) .dwc-quicklinks .wp-block-button{width:100%}
body:not(.wp-admin) .dwc-quicklinks .wp-block-button__link{display:block;width:100%;background:rgba(255,255,255,.1);border-color:transparent;border-radius:28px;color:white;text-align:left;padding:24px;font-size:17px}
@media(max-width:1100px){body:not(.wp-admin) .dwc-hero > .wp-block-group__inner-container > .wp-block-columns{grid-template-columns:1fr}body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container,body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body:not(.wp-admin) .dwc-hero h1{font-size:42px}body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container,body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container,body:not(.wp-admin) .dwc-quicklinks .wp-block-buttons{grid-template-columns:1fr}body:not(.wp-admin) .dwc-editor-scene{min-height:260px}}

/* Mockup-nahe DWC-Grafikfläche */
body:not(.wp-admin) .dwc-editor-scene{
  overflow:hidden;
  border-radius:32px;
  border:1px solid rgba(0,0,0,.08);
  min-height:360px;
  box-shadow:0 20px 45px rgba(0,0,0,.14);
  background:
    radial-gradient(circle at 92% 12%, rgba(var(--brand-bright-rgb),.88) 0 0, transparent 30%),
    radial-gradient(circle at 66% 64%, rgba(var(--brand-soft-rgb),.9) 0 0, transparent 28%),
    radial-gradient(circle at 98% 70%, rgba(236,252,203,.85) 0 0, transparent 25%),
    linear-gradient(180deg,#fff 0 70%, var(--brand-soft) 70% 100%);
}
body:not(.wp-admin) .dwc-editor-scene:before{
  content:"";
  position:absolute;
  left:34px;
  bottom:76px;
  width:240px;
  height:94px;
  border-radius:24px;
  border:1px solid #d4d4d8;
  background:#fff;
  box-shadow:
    0 16px 24px rgba(0,0,0,.12),
    68px -54px 0 -18px #e5e7eb,
    270px -36px 0 34px rgba(var(--brand-soft-rgb),.78),
    412px -28px 0 22px rgba(236,252,203,.72),
    480px -145px 0 -2px var(--brand-bright);
}
body:not(.wp-admin) .dwc-editor-scene:after{
  content:"";
  position:absolute;
  left:86px;
  bottom:62px;
  width:48px;
  height:48px;
  border-radius:999px;
  background:#fff;
  border:7px solid #18181b;
  box-shadow:124px 0 0 0 #fff,124px 0 0 7px #18181b;
}
body:not(.wp-admin) .dwc-editor-scene p{
  position:absolute;
  left:24px;
  top:24px;
  z-index:2;
  border-radius:999px;
  background:#000;
  color:#fff;
  font-size:12px;
  font-weight:950;
  padding:9px 15px;
  margin:0;
}
body:not(.wp-admin) .dwc-editor-scene p:before{
  content:"S";
  position:absolute;
  right:-500px;
  top:86px;
  width:112px;
  height:112px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--brand-bright);
  color:#000;
  font-size:42px;
  font-weight:950;
  box-shadow:0 18px 32px rgba(0,0,0,.16);
}
body:not(.wp-admin) .dwc-editor-scene p:after{
  content:"DWC\A Caravaning erleben";
  white-space:pre;
  position:absolute;
  right:-595px;
  top:246px;
  width:138px;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  color:#18181b;
  font-size:14px;
  line-height:1.15;
  font-weight:500;
  padding:14px 18px;
  box-shadow:0 10px 22px rgba(0,0,0,.08);
}
body:not(.wp-admin) .dwc-editor-scene p:after:first-line{font-weight:950;color:var(--brand-ink)}
@media(max-width:900px){body:not(.wp-admin) .dwc-editor-scene p:before,body:not(.wp-admin) .dwc-editor-scene p:after{display:none}}

/* Feinschliff: Badge und DWC-Tag sichtbar innerhalb der Grafik */
body:not(.wp-admin) .dwc-editor-scene p:before{right:-380px;top:82px}
body:not(.wp-admin) .dwc-editor-scene p:after{right:-475px;top:238px}

/* Fix WordPress layout constraints inside DWC block groups */
body:not(.wp-admin) .dwc-section,
body:not(.wp-admin) .dwc-quicklinks,
body:not(.wp-admin) .dwc-cta,
body:not(.wp-admin) .dwc-story{
  box-sizing:border-box;
  width:100%;
}
body:not(.wp-admin) .dwc-section > .wp-block-group__inner-container,
body:not(.wp-admin) .dwc-quicklinks > .wp-block-group__inner-container,
body:not(.wp-admin) .dwc-cta > .wp-block-group__inner-container,
body:not(.wp-admin) .dwc-story > .wp-block-group__inner-container{
  width:100%;
  max-width:1280px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.wp-admin) .dwc-cards,
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container{
  width:100%;
  max-width:none!important;
  margin:34px 0 0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(220px,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
body:not(.wp-admin) .dwc-cards.three,
body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{
  grid-template-columns:repeat(3,minmax(240px,1fr))!important;
}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container{
  margin-top:0!important;
}
body:not(.wp-admin) .dwc-card,
body:not(.wp-admin) .dwc-cards .dwc-card,
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container > .dwc-card{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  align-self:stretch!important;
  overflow:hidden;
}
body:not(.wp-admin) .dwc-card > .wp-block-group__inner-container{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}
body:not(.wp-admin) .dwc-quicklinks > .wp-block-group__inner-container{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(240px,1fr))!important;
  gap:16px!important;
  border-radius:32px;
  background:#000;
  padding:32px!important;
}
body:not(.wp-admin) .dwc-quicklinks .wp-block-buttons{
  display:contents!important;
}
body:not(.wp-admin) .dwc-quicklinks .wp-block-button,
body:not(.wp-admin) .dwc-quicklinks .wp-block-button__link{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body:not(.wp-admin) .dwc-quicklinks .wp-block-button__link{
  display:block!important;
  white-space:normal!important;
}
@media(max-width:1100px){
  body:not(.wp-admin) .dwc-cards,
  body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(220px,1fr))!important}
  body:not(.wp-admin) .dwc-cards.three,
  body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(220px,1fr))!important}
  body:not(.wp-admin) .dwc-quicklinks > .wp-block-group__inner-container{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  body:not(.wp-admin) .dwc-cards,
  body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container,
  body:not(.wp-admin) .dwc-cards.three,
  body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{grid-template-columns:1fr!important}
}

/* Final width and cache-safe layout rules */
body:not(.wp-admin) .dwc-page-content{width:100%}
body:not(.wp-admin) .dwc-hero{width:100%!important;max-width:none!important;margin:0!important}
body:not(.wp-admin) .dwc-hero > .wp-block-group__inner-container{width:100%!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important;padding-left:20px!important;padding-right:20px!important;box-sizing:border-box!important}
body:not(.wp-admin) .dwc-hero > .wp-block-group__inner-container > .wp-block-columns{width:100%!important;max-width:none!important;margin:0!important;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;gap:42px!important;align-items:center!important}
body:not(.wp-admin) .dwc-hero .wp-block-column{min-width:0!important;width:auto!important;max-width:none!important;margin:0!important}
body:not(.wp-admin) .dwc-section{width:100%!important;max-width:none!important;margin:0!important;padding:56px 20px!important;box-sizing:border-box!important}
body:not(.wp-admin) .dwc-section > .wp-block-group__inner-container{width:100%!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important}
body:not(.wp-admin) .dwc-cards{width:100%!important;max-width:none!important;margin:34px 0 0!important}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container{width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important;margin:0!important}
body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body:not(.wp-admin) .dwc-card{width:auto!important;min-width:0!important;max-width:none!important;margin:0!important}
body:not(.wp-admin) .dwc-quicklinks{width:100%!important;max-width:none!important;margin:0 0 64px!important;padding:0 20px!important;box-sizing:border-box!important}
body:not(.wp-admin) .dwc-quicklinks > .wp-block-group__inner-container{width:100%!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;background:#000!important;border-radius:32px!important;padding:32px!important;box-sizing:border-box!important}
body:not(.wp-admin) .dwc-editor-scene p:before{display:grid!important;right:-380px!important;top:82px!important}
body:not(.wp-admin) .dwc-editor-scene p:after{display:block!important;right:-475px!important;top:238px!important}
@media(max-width:1100px){body:not(.wp-admin) .dwc-hero > .wp-block-group__inner-container > .wp-block-columns{grid-template-columns:1fr!important}body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container,body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}body:not(.wp-admin) .dwc-quicklinks > .wp-block-group__inner-container{grid-template-columns:1fr!important}body:not(.wp-admin) .dwc-editor-scene p:before,body:not(.wp-admin) .dwc-editor-scene p:after{display:none!important}}
@media(max-width:700px){body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container,body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{grid-template-columns:1fr!important}}

/* Clean Gutenberg HTML layout: target the real generated wrappers */
body:not(.wp-admin) .dwc-section{
  padding:64px 20px!important;
}
body:not(.wp-admin) .dwc-section > .wp-block-group__inner-container{
  max-width:1280px!important;
  width:100%!important;
  margin:0 auto!important;
}
body:not(.wp-admin) .dwc-section > .wp-block-group__inner-container > .dwc-eyebrow,
body:not(.wp-admin) .dwc-section > .wp-block-group__inner-container > h2,
body:not(.wp-admin) .dwc-section > .wp-block-group__inner-container > p:not(.dwc-eyebrow){
  max-width:860px!important;
}
body:not(.wp-admin) .dwc-cards{
  max-width:none!important;
  width:100%!important;
  margin-top:36px!important;
}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container > .dwc-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:24px!important;
  box-sizing:border-box!important;
}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container > .dwc-card > .wp-block-group__inner-container{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body:not(.wp-admin) .dwc-card h3{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
body:not(.wp-admin) .dwc-quicklinks{
  padding:0 20px 64px!important;
  margin:0!important;
}
body:not(.wp-admin) .dwc-quicklinks > .wp-block-group__inner-container{
  max-width:1280px!important;
  width:100%!important;
  margin:0 auto!important;
  display:block!important;
  background:#000!important;
  border-radius:32px!important;
  padding:32px!important;
  box-sizing:border-box!important;
}
body:not(.wp-admin) .dwc-quicklinks .wp-block-buttons{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
}
body:not(.wp-admin) .dwc-quicklinks .wp-block-button,
body:not(.wp-admin) .dwc-quicklinks .wp-block-button__link{
  width:100%!important;
  max-width:none!important;
}
body:not(.wp-admin) .dwc-quicklinks .wp-block-button__link{
  display:block!important;
  background:rgba(255,255,255,.1)!important;
  color:#fff!important;
  border:0!important;
  border-radius:24px!important;
  padding:24px!important;
  text-align:left!important;
  white-space:normal!important;
}
@media(max-width:1200px){
  body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container,
  body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container,
  body:not(.wp-admin) .dwc-quicklinks .wp-block-buttons{grid-template-columns:1fr!important}
}

/* Real fix: outer Gutenberg group must not be the grid item container */
body:not(.wp-admin) .dwc-cards{
  display:block!important;
  width:100%!important;
  max-width:none!important;
}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container{
  display:grid!important;
  justify-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
}
body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media(max-width:1200px){
  body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container,
  body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container,
  body:not(.wp-admin) .dwc-cards.three > .wp-block-group__inner-container{grid-template-columns:1fr!important}
}

/* Align CTA with centered site containers */
body:not(.wp-admin) .dwc-cta{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 20px 64px!important;
  box-sizing:border-box!important;
}
body:not(.wp-admin) .dwc-cta > .wp-block-group__inner-container{
  width:100%!important;
  max-width:1280px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Fix DWC tag inside hero illustration */
body:not(.wp-admin) .dwc-editor-scene p:after{
  right:auto!important;
  left:min(420px, calc(100% - 160px))!important;
  top:auto!important;
  bottom:36px!important;
  width:124px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body:not(.wp-admin) .dwc-editor-scene p:before{
  right:auto!important;
  left:min(470px, calc(100% - 126px))!important;
  top:86px!important;
}

/* Robust illustration anchors: badge and DWC tag belong to the scene, not to the label */
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  display:block!important;
  pointer-events:none;
}
body:not(.wp-admin) .dwc-editor-scene p{
  position:absolute!important;
  left:24px!important;
  top:24px!important;
  z-index:4!important;
  pointer-events:auto;
}
body:not(.wp-admin) .dwc-editor-scene p:before,
body:not(.wp-admin) .dwc-editor-scene p:after{
  content:none!important;
  display:none!important;
}
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:before{
  content:"S";
  position:absolute;
  right:92px;
  top:86px;
  z-index:3;
  width:112px;
  height:112px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--brand-bright);
  color:#000;
  font-size:42px;
  font-weight:950;
  box-shadow:0 18px 32px rgba(0,0,0,.16);
}
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:after{
  content:"DWC\A Caravaning erleben";
  white-space:pre;
  position:absolute;
  right:28px;
  bottom:34px;
  z-index:3;
  width:148px;
  box-sizing:border-box;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  color:#18181b;
  font-size:14px;
  line-height:1.15;
  font-weight:500;
  padding:14px 18px;
  box-shadow:0 10px 22px rgba(0,0,0,.08);
}
@media(max-width:1100px){
  body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:before,
  body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:after{display:none!important;content:none!important}
}

/* Unified DWC visual system: one stable illustration pattern on every page */
body:not(.wp-admin) .dwc-hero > .wp-block-group__inner-container{
  padding-top:72px!important;
  padding-bottom:88px!important;
}
body:not(.wp-admin) .dwc-hero > .wp-block-group__inner-container > .wp-block-columns{
  align-items:start!important;
}
body:not(.wp-admin) .dwc-hero > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column:nth-child(2){
  padding-top:20px!important;
}
body:not(.wp-admin) .dwc-editor-scene{
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border-radius:32px!important;
}
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  display:block!important;
}
body:not(.wp-admin) .dwc-editor-scene p{
  left:24px!important;
  top:24px!important;
  max-width:calc(100% - 48px)!important;
  white-space:nowrap!important;
}
body:not(.wp-admin) .dwc-editor-scene p:before,
body:not(.wp-admin) .dwc-editor-scene p:after{
  content:none!important;
  display:none!important;
}
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:before{
  content:"S"!important;
  position:absolute!important;
  right:clamp(76px,16%,108px)!important;
  top:86px!important;
  z-index:3!important;
  width:112px!important;
  height:112px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:var(--brand-bright)!important;
  color:#000!important;
  font-size:42px!important;
  font-weight:950!important;
  box-shadow:0 18px 32px rgba(0,0,0,.16)!important;
}
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:after{
  content:"DWC\A Caravaning erleben"!important;
  white-space:pre!important;
  position:absolute!important;
  right:28px!important;
  bottom:34px!important;
  z-index:3!important;
  width:148px!important;
  max-width:calc(100% - 56px)!important;
  box-sizing:border-box!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.96)!important;
  color:#18181b!important;
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:500!important;
  padding:14px 18px!important;
  box-shadow:0 10px 22px rgba(0,0,0,.08)!important;
}
@media(max-width:1100px){
  body:not(.wp-admin) .dwc-hero > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column:nth-child(2){
    padding-top:0!important;
  }
  body:not(.wp-admin) .dwc-editor-scene{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }
  body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:before,
  body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:after{
    display:none!important;
    content:none!important;
  }
}

/* Equal wheel rendering: no shadow-based second wheel */
body:not(.wp-admin) .dwc-editor-scene:after{
  content:""!important;
  position:absolute!important;
  left:86px!important;
  bottom:56px!important;
  z-index:2!important;
  width:204px!important;
  height:70px!important;
  border:0!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 35px 35px, #fff 0 20px, #18181b 21px 29px, transparent 30px),
    radial-gradient(circle at 159px 35px, #fff 0 20px, #18181b 21px 29px, transparent 30px)!important;
  box-shadow:none!important;
}

/* Start hero uses the generated realistic DWC travel motif */
body.home:not(.wp-admin) .dwc-hero .dwc-editor-scene,
body.front-page:not(.wp-admin) .dwc-hero .dwc-editor-scene{
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 42%, rgba(var(--brand-bright-rgb),.10) 100%),
    url("/wp-content/themes/dwc-theme/assets/images/dwc-startseite-hero-freiheit.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* Header logo */
body:not(.wp-admin) .brand{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  min-width:0!important;
  text-decoration:none!important;
}
body:not(.wp-admin) .brand-logo{
  display:block!important;
  width:auto!important;
  height:96px!important;
  max-width:116px!important;
  object-fit:contain!important;
}
body:not(.wp-admin) .brand-mark,
body:not(.wp-admin) .brand-sub{
  display:none!important;
}
@media(max-width:760px){
  body:not(.wp-admin) .brand-logo{
    height:68px!important;
    max-width:82px!important;
  }
}

/* Prominent club seal, closer to the legacy DWC header */
@media(min-width:1101px){
  body:not(.wp-admin) .header{
    overflow:visible!important;
  }
  body:not(.wp-admin) .bar{
    min-height:188px!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
    align-items:center!important;
    position:relative!important;
  }
  body:not(.wp-admin) .brand{
    align-self:center!important;
    flex:0 0 auto!important;
    justify-content:center!important;
    position:relative!important;
    z-index:1!important;
  }
  /* 110 statt 176: Mit dem grossen Logo war die Kopfleiste 241px hoch und
     kostete auf jeder Seite ein Drittel der sichtbaren Hoehe — auf der
     Galerie war dadurch ausser dem Bildkopf nichts zu sehen (28.09.2026).
     Beim Scrollen bleibt es bei 110px (Theme 0.1.71). */
  body:not(.wp-admin) .brand-logo{
    height:110px!important;
    max-width:110px!important;
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.12))!important;
  }
  body:not(.wp-admin) .nav{
    margin-left:26px!important;
    gap:18px!important;
  }
}

/* Mobile responsive hardening — horizontalen Ueberlauf fangen.
   WICHTIG: KEIN overflow auf html/body/main auf Desktop. Gelernt in
   den Scroll-Iterationen 2026-06-10/11: overflow-x:hidden zwingt
   overflow-y auf auto (-> zweiter Scrollbalken) und schaltet
   Compositor-Scrolling ab (Ruckeln beim Laden); overflow auf
   Vorfahren bricht ausserdem position:sticky. Die Brand-Curtain
   nutzt inzwischen position:fixed (das overflow nicht bricht) —
   der Desktop bleibt trotzdem overflow-frei, weil das der live
   abgenommene, nebenwirkungsfreie Stand ist. */
html{
  max-width:100%!important;
}
body{
  max-width:100%!important;
}
/* Horizontaler Ueberlaufschutz NUR auf Mobile: dort schuetzt clip
   schmale Viewports vor seitlichem Wegscrollen (hidden als Fallback
   fuer aeltere Browser in der Zeile davor). */
@media (max-width:1100px){
  html{ overflow-x:hidden!important; overflow-x:clip!important; }
}

body:not(.wp-admin) img,
body:not(.wp-admin) video,
body:not(.wp-admin) canvas,
body:not(.wp-admin) svg{
  max-width:100%;
}

@media(max-width:1100px){
  body:not(.wp-admin) .header{
    position:sticky!important;
    top:0!important;
    overflow:hidden!important;
  }

  body:not(.wp-admin) .bar{
    min-height:74px!important;
    padding:10px 18px!important;
    gap:14px!important;
  }

  body:not(.wp-admin) .brand{
    flex:0 0 auto!important;
    min-width:0!important;
  }

  body:not(.wp-admin) .brand-logo{
    height:88px!important;
    max-width:108px!important;
  }

  body:not(.wp-admin) .mobile-nav{
    display:flex!important;
    gap:8px!important;
    padding:10px 18px 12px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body:not(.wp-admin) .mobile-nav::-webkit-scrollbar{
    display:none!important;
  }

  body:not(.wp-admin) .mobile-nav a{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    border-radius:999px!important;
    padding:9px 14px!important;
    font-size:14px!important;
    line-height:1.1!important;
  }

  body:not(.wp-admin) .dwc-hero .wp-block-group__inner-container,
  body:not(.wp-admin) .hero-inner{
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding:42px 20px 52px!important;
  }

  body:not(.wp-admin) .dwc-hero h1,
  body:not(.wp-admin) h1{
    max-width:100%!important;
    font-size:clamp(42px, 9vw, 64px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:auto!important;
  }

  body:not(.wp-admin) .dwc-hero p,
  body:not(.wp-admin) p.lead{
    max-width:100%!important;
    font-size:18px!important;
    line-height:1.65!important;
  }

  body:not(.wp-admin) .dwc-editor-scene,
  body:not(.wp-admin) .scene,
  body:not(.wp-admin) .dwc-scene{
    width:100%!important;
    min-height:360px!important;
    border-radius:24px!important;
  }

  body.home:not(.wp-admin) .dwc-hero .dwc-editor-scene,
  body.front-page:not(.wp-admin) .dwc-hero .dwc-editor-scene{
    min-height:360px!important;
    background-position:center center!important;
  }

  body:not(.wp-admin) .dwc-cards,
  body:not(.wp-admin) .dwc-cards.three,
  body:not(.wp-admin) .grid.four,
  body:not(.wp-admin) .grid.three,
  body:not(.wp-admin) .grid.two{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  body:not(.wp-admin) .dwc-story .wp-block-group__inner-container,
  body:not(.wp-admin) .story-inner,
  body:not(.wp-admin) .dwc-about-teaser .wp-block-group__inner-container{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  body:not(.wp-admin) .dwc-quicklinks .wp-block-group__inner-container,
  body:not(.wp-admin) .black-box{
    grid-template-columns:1fr!important;
  }

  body:not(.wp-admin) .footer-inner{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  body:not(.wp-admin) .bar{
    min-height:78px!important;
    padding:8px 16px!important;
  }

  body:not(.wp-admin) .brand-logo{
    height:72px!important;
    max-width:88px!important;
  }

  body:not(.wp-admin) .dwc-hero .wp-block-group__inner-container,
  body:not(.wp-admin) .hero-inner{
    padding:34px 16px 44px!important;
  }

  body:not(.wp-admin) .dwc-kicker,
  body:not(.wp-admin) .pill{
    max-width:100%!important;
    font-size:13px!important;
    padding:8px 13px!important;
  }

  body:not(.wp-admin) .dwc-hero h1,
  body:not(.wp-admin) h1{
    font-size:clamp(36px, 12vw, 48px)!important;
    line-height:1.04!important;
  }

  body:not(.wp-admin) .dwc-actions,
  body:not(.wp-admin) .actions{
    width:100%!important;
    gap:10px!important;
  }

  body:not(.wp-admin) .dwc-actions a,
  body:not(.wp-admin) .btn,
  body:not(.wp-admin) .wp-block-button__link{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    padding:14px 18px!important;
  }

  body:not(.wp-admin) .dwc-editor-scene,
  body:not(.wp-admin) .scene,
  body:not(.wp-admin) .dwc-scene{
    min-height:300px!important;
    border-radius:22px!important;
  }

  body.home:not(.wp-admin) .dwc-hero .dwc-editor-scene,
  body.front-page:not(.wp-admin) .dwc-hero .dwc-editor-scene{
    min-height:320px!important;
    background-position:center center!important;
  }

  body:not(.wp-admin) .dwc-section,
  body:not(.wp-admin) section.content,
  body:not(.wp-admin) .dwc-story,
  body:not(.wp-admin) .cta,
  body:not(.wp-admin) .dwc-cta,
  body:not(.wp-admin) .black-links,
  body:not(.wp-admin) .dwc-quicklinks{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  body:not(.wp-admin) .dwc-section h2,
  body:not(.wp-admin) .intro h2,
  body:not(.wp-admin) .block h2,
  body:not(.wp-admin) .dwc-cta h2,
  body:not(.wp-admin) .cta h2{
    font-size:clamp(30px, 9vw, 40px)!important;
    line-height:1.08!important;
    letter-spacing:-.03em!important;
  }

  body:not(.wp-admin) .dwc-cards,
  body:not(.wp-admin) .dwc-cards.three,
  body:not(.wp-admin) .grid.four,
  body:not(.wp-admin) .grid.three,
  body:not(.wp-admin) .grid.two,
  body:not(.wp-admin) .price-grid,
  body:not(.wp-admin) .dwc-price-grid,
  body:not(.wp-admin) .footer-inner{
    grid-template-columns:1fr!important;
  }

  body:not(.wp-admin) .dwc-card,
  body:not(.wp-admin) .card,
  body:not(.wp-admin) .dwc-cta .wp-block-group__inner-container,
  body:not(.wp-admin) .cta-box,
  body:not(.wp-admin) .dwc-quicklinks .wp-block-group__inner-container,
  body:not(.wp-admin) .black-box{
    border-radius:22px!important;
  }

  body:not(.wp-admin) .dwc-quicklinks .wp-block-group__inner-container,
  body:not(.wp-admin) .black-box{
    padding:18px!important;
    gap:12px!important;
  }

  body:not(.wp-admin) .dwc-quicklinks a,
  body:not(.wp-admin) .black-box a,
  body:not(.wp-admin) .black-box button{
    border-radius:18px!important;
    padding:18px!important;
    font-size:16px!important;
  }

  body:not(.wp-admin) .dwc-cta .wp-block-group__inner-container,
  body:not(.wp-admin) .cta-box{
    padding:28px 22px!important;
  }

  body:not(.wp-admin) .footer-inner{
    padding:34px 16px!important;
    gap:24px!important;
  }
}

@media(max-width:420px){
  body:not(.wp-admin) .dwc-hero h1,
  body:not(.wp-admin) h1{
    font-size:34px!important;
  }

  body:not(.wp-admin) .dwc-editor-scene,
  body:not(.wp-admin) .scene,
  body:not(.wp-admin) .dwc-scene{
    min-height:260px!important;
  }

  body.home:not(.wp-admin) .dwc-hero .dwc-editor-scene,
  body.front-page:not(.wp-admin) .dwc-hero .dwc-editor-scene{
    min-height:280px!important;
  }
}

/* Mockup fidelity pass: calmer scene, larger camper, clearer depth */
body:not(.wp-admin) .dwc-editor-scene{
  background:
    radial-gradient(circle at 100% 8%, rgba(var(--brand-bright-rgb),.72) 0 19%, transparent 19.4%),
    radial-gradient(circle at 71% 66%, rgba(var(--brand-soft-rgb),.82) 0 29%, transparent 29.4%),
    radial-gradient(circle at 100% 72%, rgba(236,252,203,.86) 0 24%, transparent 24.4%),
    linear-gradient(90deg, rgba(255,255,255,.98) 0 55%, rgba(236,252,203,.28) 76%, rgba(var(--brand-bright-rgb),.54) 100%),
    linear-gradient(180deg, #fff 0 70%, var(--brand-soft) 70% 100%)!important;
  box-shadow:0 22px 44px rgba(0,0,0,.13)!important;
}
body:not(.wp-admin) .dwc-editor-scene:before{
  left:48px!important;
  bottom:82px!important;
  width:238px!important;
  height:92px!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid #d4d4d8!important;
  box-shadow:
    0 15px 24px rgba(0,0,0,.12),
    68px -55px 0 -17px #e5e7eb,
    300px -36px 0 42px rgba(var(--brand-soft-rgb),.72),
    440px -18px 0 28px rgba(236,252,203,.68),
    488px -150px 0 0 var(--brand-bright)!important;
}
body:not(.wp-admin) .dwc-editor-scene:after{
  left:91px!important;
  bottom:55px!important;
  width:232px!important;
  height:72px!important;
  background:
    radial-gradient(circle at 36px 36px, #fff 0 21px, #18181b 22px 30px, transparent 31px),
    radial-gradient(circle at 166px 36px, #fff 0 21px, #18181b 22px 30px, transparent 31px)!important;
}
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:before{
  right:clamp(76px,15%,104px)!important;
  top:88px!important;
}
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:after{
  right:32px!important;
  bottom:34px!important;
}

/* Reference-aligned scene: closer to the original mockup proportions */
body:not(.wp-admin) .dwc-editor-scene{
  height:430px!important;
  min-height:430px!important;
  max-height:430px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 72% 35%, var(--brand-bright) 0 0, transparent 0),
    radial-gradient(circle at 56% 76%, rgba(var(--brand-soft-rgb),.9) 0 38%, transparent 38.4%),
    radial-gradient(circle at 88% 84%, rgba(236,252,203,.88) 0 30%, transparent 30.4%),
    linear-gradient(90deg, #fff 0 58%, rgba(236,252,203,.28) 75%, rgba(var(--brand-bright-rgb),.58) 100%),
    linear-gradient(180deg, #fff 0 70%, var(--brand-soft) 70% 100%)!important;
  box-shadow:0 22px 42px rgba(0,0,0,.12)!important;
}
body:not(.wp-admin) .dwc-editor-scene:before{
  left:42px!important;
  bottom:84px!important;
  width:240px!important;
  height:94px!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid #d4d4d8!important;
  box-shadow:
    0 15px 24px rgba(0,0,0,.12),
    70px -54px 0 -18px #e5e7eb!important;
}
body:not(.wp-admin) .dwc-editor-scene:after{
  left:92px!important;
  bottom:60px!important;
  width:190px!important;
  height:58px!important;
  background:
    radial-gradient(circle at 24px 29px, #fff 0 17px, #18181b 18px 24px, transparent 25px),
    radial-gradient(circle at 148px 29px, #fff 0 17px, #18181b 18px 24px, transparent 25px)!important;
}
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:before{
  right:90px!important;
  top:96px!important;
  width:112px!important;
  height:112px!important;
  font-size:42px!important;
  background:var(--brand-bright)!important;
}
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:after{
  right:24px!important;
  bottom:26px!important;
  width:180px!important;
  border-radius:22px!important;
  font-size:16px!important;
  line-height:1.15!important;
  padding:14px 18px!important;
}
body:not(.wp-admin) .dwc-editor-scene p{
  left:24px!important;
  top:24px!important;
}

/* Startseite: compact about teaser */
body:not(.wp-admin) .dwc-about-teaser{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:72px 20px!important;
  box-sizing:border-box!important;
}
body:not(.wp-admin) .dwc-about-teaser > .wp-block-group__inner-container{
  width:100%!important;
  max-width:1280px!important;
  margin:0 auto!important;
}
body:not(.wp-admin) .dwc-about-teaser .wp-block-columns{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.95fr)!important;
  gap:64px!important;
  align-items:center!important;
  margin:0!important;
}
body:not(.wp-admin) .dwc-about-teaser .wp-block-column{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}
body:not(.wp-admin) .dwc-about-teaser h2{
  margin:0!important;
  max-width:680px!important;
  font-size:clamp(48px,5.4vw,76px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
}
body:not(.wp-admin) .dwc-about-teaser p:not(.dwc-kicker){
  max-width:720px!important;
  font-size:20px!important;
  line-height:1.75!important;
  color:#27272a!important;
}
body:not(.wp-admin) .dwc-about-teaser .dwc-editor-scene{
  height:430px!important;
  min-height:430px!important;
}
body:not(.wp-admin) .dwc-about-teaser .dwc-editor-scene p{
  color:#fff!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
}
@media(max-width:1100px){
  body:not(.wp-admin) .dwc-about-teaser .wp-block-columns{
    grid-template-columns:1fr!important;
    gap:32px!important;
  }
}

/* Stable illustration: one SVG-backed scene, identical on every page */
body:not(.wp-admin) .dwc-editor-scene{
  height:430px!important;
  min-height:430px!important;
  max-height:430px!important;
  overflow:hidden!important;
  border-radius:28px!important;
  border:1px solid rgba(0,0,0,.08)!important;
  box-shadow:0 22px 42px rgba(0,0,0,.12)!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 440' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='shadow' x='-20%25' y='-20%25' width='140%25' height='160%25'%3E%3CfeDropShadow dx='0' dy='16' stdDeviation='12' flood-color='%23000000' flood-opacity='.14'/%3E%3C/filter%3E%3ClinearGradient id='rightGlow' x1='.45' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23ffffff'/%3E%3Cstop offset='.72' stop-color='%23f7fee7'/%3E%3Cstop offset='1' stop-color='%23bef264'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='600' height='440' rx='28' fill='url(%23rightGlow)'/%3E%3Crect y='310' width='600' height='130' fill='%23d9f99d'/%3E%3Ccircle cx='340' cy='313' r='185' fill='%23d9f99d' fill-opacity='.82'/%3E%3Ccircle cx='520' cy='344' r='142' fill='%23ecfccb' fill-opacity='.86'/%3E%3Crect x='305' y='327' width='295' height='18' fill='%23f7fee7'/%3E%3Crect x='118' y='218' width='132' height='66' rx='14' fill='%23e5e7eb'/%3E%3Crect x='48' y='272' width='246' height='94' rx='24' fill='%23ffffff' stroke='%23d4d4d8' filter='url(%23shadow)'/%3E%3Ccircle cx='128' cy='358' r='23' fill='%23ffffff' stroke='%2318181b' stroke-width='7'/%3E%3Ccircle cx='253' cy='358' r='23' fill='%23ffffff' stroke='%2318181b' stroke-width='7'/%3E%3Ccircle cx='450' cy='150' r='56' fill='%23bef264' filter='url(%23shadow)'/%3E%3Ctext x='450' y='170' text-anchor='middle' font-family='Arial, sans-serif' font-size='45' font-weight='900' fill='%23000000'%3ES%3C/text%3E%3Crect x='408' y='360' width='168' height='56' rx='22' fill='%23ffffff'/%3E%3Ctext x='426' y='388' font-family='Arial, sans-serif' font-size='17' font-weight='800' fill='%234d7c0f'%3EDWC%3C/text%3E%3Ctext x='426' y='406' font-family='Arial, sans-serif' font-size='17' fill='%23000000'%3ECaravaning erleben%3C/text%3E%3C/svg%3E")!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
body:not(.wp-admin) .dwc-editor-scene:before,
body:not(.wp-admin) .dwc-editor-scene:after,
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:before,
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container:after{
  content:none!important;
  display:none!important;
}
body:not(.wp-admin) .dwc-editor-scene > .wp-block-group__inner-container{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  pointer-events:none!important;
}
body:not(.wp-admin) .dwc-editor-scene p{
  position:absolute!important;
  left:24px!important;
  top:24px!important;
  z-index:4!important;
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:calc(100% - 48px)!important;
  margin:0!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  background:#000!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}


/* ============================================================
 * Header höher: mehr Luft ober-/unterhalb des Logos (Desktop).
 * ============================================================ */
@media (min-width: 1101px) {
  body:not(.wp-admin) .bar {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
}

/* ============================================================
 * Login-Link im Header als User-Icon statt Text
 * SVG-Mask laesst Icon
 * die currentColor uebernehmen, also stylebar via Hover/Theme.
 * ============================================================ */
body:not(.wp-admin) .tools a[href*="mitgliederbereich"] {
  font-size: 0 !important;
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  transition: background 120ms ease, border-color 120ms ease, transform 120ms ease !important;
  padding: 0 !important;
}
body:not(.wp-admin) .tools a[href*="mitgliederbereich"]::before {
  content: '' !important;
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
}
body:not(.wp-admin) .tools a[href*="mitgliederbereich"]:hover {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.25) !important;
  transform: scale(1.05) !important;
}



/* 1. Member-Pills im Header-Nav (Klasse vom Theme-PHP gesetzt) */
body:not(.wp-admin) .nav a.member-pill,
body:not(.wp-admin) .mobile-nav a.member-pill {
  background: var(--lime2) !important;
  color: #18181b !important;
  border-radius: 999px !important;
  padding: 6px 14px !important;
  border-bottom: 0 !important;
  font-weight: 800 !important;
  transition: background 120ms ease, transform 120ms ease !important;
}
body:not(.wp-admin) .nav a.member-pill:hover,
body:not(.wp-admin) .nav a.member-pill.active,
body:not(.wp-admin) .mobile-nav a.member-pill:hover {
  background: var(--lime) !important;
  color: #fff !important;
}

/* 2. User-Menü-Dropdown (statt Login-Link wenn eingeloggt) */
body:not(.wp-admin) .user-menu {
  position: relative !important;
  display: inline-block !important;
}
body:not(.wp-admin) .user-menu-toggle {
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: var(--lime2) !important;
  border: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.10) !important;
  transition: background 120ms ease, transform 120ms ease !important;
  padding: 0 !important;
}
body:not(.wp-admin) .user-menu-toggle:hover,
body:not(.wp-admin) .user-menu-toggle[aria-expanded="true"] {
  background: var(--lime) !important;
  transform: scale(1.05) !important;
}
body:not(.wp-admin) .user-menu-icon {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  background-color: #18181b !important;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
}
body:not(.wp-admin) .user-menu-toggle:hover .user-menu-icon,
body:not(.wp-admin) .user-menu-toggle[aria-expanded="true"] .user-menu-icon {
  background-color: #fff !important;
}
body:not(.wp-admin) .user-menu-dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  min-width: 240px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.16), 0 2px 6px rgba(0, 0, 0, 0.06) !important;
  padding: 8px !important;
  z-index: 100 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
body:not(.wp-admin) .user-menu-dropdown[hidden] {
  display: none !important;
}
body:not(.wp-admin) .user-menu-greeting {
  padding: 10px 14px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  margin-bottom: 4px !important;
}
body:not(.wp-admin) .user-menu-greeting-hi {
  display: block !important;
  font-size: 0.75rem !important;
  color: #71717a !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
body:not(.wp-admin) .user-menu-greeting-name {
  display: block !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #18181b !important;
  margin-top: 2px !important;
}
body:not(.wp-admin) .user-menu-dropdown a,
body:not(.wp-admin) .user-menu-dropdown button {
  display: block !important;
  text-align: left !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #18181b !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  cursor: pointer !important;
  transition: background 100ms ease !important;
  width: 100% !important;
}
body:not(.wp-admin) .user-menu-dropdown a:hover,
body:not(.wp-admin) .user-menu-dropdown button:hover {
  background: var(--lime3) !important;
  color: #18181b !important;
}
body:not(.wp-admin) .user-menu-logout {
  color: #b91c1c !important;
  margin-top: 4px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
  padding-top: 14px !important;
}
body:not(.wp-admin) .user-menu-logout:hover {
  background: #fef2f2 !important;
  color: #991b1b !important;
}

/* 3. Burger-FAB komplett deaktiviert wenn eingeloggt (User-Menü uebernimmt) */
body.mbx-logged-in:not(.wp-admin) .mbx-burger,
body.mbx-logged-in:not(.wp-admin) .mbx-burger-backdrop,
body.mbx-logged-in:not(.wp-admin) .mbx-burger-drawer {
  display: none !important;
}

/* ============================================================
 * Mobile: Login-Icon / User-Menu sichtbar lassen
 * (Override gegen Theme-Default das .tools auf <1100px ausblendet)
 *
 * ============================================================ */
@media (max-width: 1100px) {
  body:not(.wp-admin) .tools {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  /* Login-Kreis etwas kompakter auf Mobile */
  body:not(.wp-admin) .tools a[href*="mitgliederbereich"],
  body:not(.wp-admin) .user-menu-toggle {
    width: 40px !important;
    height: 40px !important;
  }
  /* User-Dropdown bleibt right-aligned, etwas weniger breit */
  body:not(.wp-admin) .user-menu-dropdown {
    min-width: 220px !important;
  }
}

/* ============================================================
 * Pricing-Card "Familie" (.price.dark / .dwc-price.dark):
 * statt Pure-Black ein tiefes Olivgrün — passt zur Lime-Brand,
 * weniger hart als #000
 * ============================================================ */
body:not(.wp-admin) .price.dark,
body:not(.wp-admin) .dwc-price.dark {
  background: var(--brand-darkest) !important;
  border-color: var(--brand-darkest) !important;
}

/* ============================================================
 * v3 fix: User-Menu-Dropdown ueber Body-Hauptinhalt heben.
 * Header hat z-index:20 (Z. 1 in CSS), aber Hero-/Section-Bloecke
 * im Body erzeugen Stacking-Contexts (transform/filter) und liegen
 * als Siblings drueber. Dropdown wurde dadurch abgeschnitten.
 * Fix: Header- und Dropdown-z-index drastisch heben, eigenen
 * Stacking-Context auf .user-menu erzwingen.
 *
 * ============================================================ */
body:not(.wp-admin) .header {
  z-index: 9999 !important;
  /* WICHTIG: backdrop-filter UEBERSCHREIBEN auf none. Base-CSS Z. 1 setzt
     .header{backdrop-filter:blur(10px)} — das erzeugt einen Containing-
     Block fuer position:fixed-Kinder. Das User-Menu-Dropdown auf Mobile
     ist position:fixed und wuerde sonst relativ zum Header positioniert
     statt zum Viewport → Clipping-Bug Stufe 3. */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body:not(.wp-admin) .user-menu {
  z-index: 10000 !important;
  isolation: isolate !important;
}
body:not(.wp-admin) .user-menu-dropdown {
  z-index: 10001 !important;
}

/* ============================================================
 * Mobile-Override: auf <=1100px hat .header overflow:hidden
 * (Z. 644), was das User-Menu-Dropdown vertikal abschneidet.
 * Horizontalen Overflow weiter clippen (wegen .brand:before-
 * Decoration), aber vertikalen Overflow erlauben.
 * Zusaetzlich Dropdown auf position:fixed umstellen — entkommt
 * dem Header-Clipping ganz.
 * (iPhone-Bug)
 * ============================================================ */
@media (max-width: 1100px) {
  body:not(.wp-admin) .header {
    overflow: visible !important;
    overflow-x: clip !important;
  }
  body:not(.wp-admin) .user-menu-dropdown {
    position: fixed !important;
    top: 72px !important;
    right: 12px !important;
    left: auto !important;
    z-index: 2147483647 !important;
  }
}
@media (max-width: 640px) {
  body:not(.wp-admin) .user-menu-dropdown {
    top: 60px !important;
    right: 8px !important;
  }
}

/* ============================================================
 * v3: Native-App-Feel auf Mobile
 *  - Bottom-Tab-Bar (fixed) statt horizontal scrollender Pills
 *  - App-Bar oben mit Glasmorphismus (backdrop-blur)
 *  - Safe-Area-Insets (iPhone-Notch + Home-Indicator)
 *  - .mobile-nav (alte Pills) komplett ausgeblendet
 *
 * ============================================================ */
@media (max-width: 1100px) {
  /* Alte horizontale Mobile-Nav verstecken */
  body:not(.wp-admin) .mobile-nav {
    display: none !important;
  }

  /* App-Bar oben: kein backdrop-filter (erzeugt Stacking-Context-Trap
     fuer position:fixed-Dropdown). Stattdessen semi-opakes Background. */
  body:not(.wp-admin) .header {
    background: rgba(247, 244, 239, 0.97) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    padding-top: env(safe-area-inset-top) !important;
  }

  /* Body-Bottom-Padding fuer Bottom-Tab-Bar Platz */
  body:not(.wp-admin) {
    padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important;
  }

  /* Bottom-Tab-Bar Container */
  body:not(.wp-admin) .dwc-bottom-tabs {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9998 !important;
    display: flex !important;
    justify-content: space-around !important;
    align-items: stretch !important;
    background: rgba(255, 255, 255, 0.92) !important;
    /* Weichzeichner deaktiviert 24.09.2026: klebender Kopfbereich plus
       backdrop-filter zwingt den Browser bei jedem Scroll-Schritt zur
       Neuberechnung. Vom Kunden als Haenger gemeldet, nachgestellt. */
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom)) 4px !important;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.04) !important;
  }

  /* Einzelner Tab */
  body:not(.wp-admin) .dwc-bottom-tab {
    display: flex !important;
    flex: 1 1 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    padding: 6px 4px !important;
    border-radius: 14px !important;
    color: #6b7280 !important;
    text-decoration: none !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    transition: color 120ms ease, background 120ms ease, transform 120ms ease !important;
    min-height: 52px !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  body:not(.wp-admin) .dwc-bottom-tab:hover {
    color: var(--brand-ink) !important;
  }

  body:not(.wp-admin) .dwc-bottom-tab:active {
    transform: scale(0.94) !important;
  }

  /* Aktive Tab: Lime-Pill-Hintergrund + Lime-Color */
  body:not(.wp-admin) .dwc-bottom-tab.active {
    color: #18181b !important;
    background: rgba(var(--brand-bright-rgb), 0.42) !important;
  }
  body:not(.wp-admin) .dwc-bottom-tab.active .dwc-bottom-tab-icon {
    color: #18181b !important;
  }

  body:not(.wp-admin) .dwc-bottom-tab-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    color: inherit !important;
  }
  body:not(.wp-admin) .dwc-bottom-tab-icon svg {
    width: 22px !important;
    height: 22px !important;
  }

  body:not(.wp-admin) .dwc-bottom-tab-label {
    display: block !important;
    line-height: 1 !important;
    color: inherit !important;
  }
}

/* Desktop: Bottom-Tab-Bar versteckt (Nav uebernimmt) */
@media (min-width: 1101px) {
  body:not(.wp-admin) .dwc-bottom-tabs {
    display: none !important;
  }
}

/* Wenn als PWA vom Homescreen geoeffnet (standalone): kein Browser-UI */
@media all and (display-mode: standalone) {
  body:not(.wp-admin) {
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
  }
  /* Links in PWA-Mode duerfen wieder selectable sein */
  body:not(.wp-admin) input,
  body:not(.wp-admin) textarea,
  body:not(.wp-admin) p,
  body:not(.wp-admin) h1,
  body:not(.wp-admin) h2,
  body:not(.wp-admin) h3 {
    user-select: text;
    -webkit-user-select: text;
  }
}

/* ============================================================
 * v3 Polish-Pass:
 *  - Smooth-Scroll global
 *  - App-Bar Scroll-Shrink (Klasse .scrolled per JS)
 *  - Active-Tab Slide-Indicator-Animation
 *  - Touch-Feedback (nur Tap-Highlight, kein Hover-Sticky)
 *  - (PWA-Install-Banner entfernt, 0.1.62)
 *  - iOS-Bounce/Pull-to-Refresh-Feel
 *
 * ============================================================ */

/* Smooth-Scroll global fuer In-Page-Anchors */
html { scroll-behavior: smooth; }

/* Desktop: Die Kopfleiste behält beim Scrollen ihre Höhe (Theme 0.1.71). Früher
   schrumpfte sie mit .scrolled von 189 auf 79 px; im selben Schritt sprang das
   stehende Kopfbild um 110 px (sein Ausschnitt ist auf die Kopfleistenhöhe
   gerechnet, siehe „Bildkopf: Bild bleibt stehen“), und der Browser verschob die
   Scrollposition um denselben Betrag. Jetzt ändert .scrolled nur Schatten und
   Hintergrund: kein Layout, kein Neuberechnen des Bildausschnitts. */
@media (min-width: 1101px) {
  body:not(.wp-admin) .header { transition: box-shadow 200ms ease, background 200ms ease !important; }

  body:not(.wp-admin) .header.scrolled { box-shadow: 0 2px 14px rgba(0,0,0,.1) !important; }
}

/* iOS-Bounce-Verhalten am Top/Bottom: NUR Mobile, weil overscroll-behavior:
   contain auf Desktop mit Touchpad-Inertia-Scroll in manchen Chrome-Versionen
   das Scrollen ganz unterbindet (live entdeckt 2026-05-27). */
@media (max-width: 1100px) {
  body:not(.wp-admin) {
    overscroll-behavior-y: contain;
  }
}

/* Hover-States nur fuer echte Maus-Geraete (nicht Tap-stuck auf Touch) */
@media (hover: none) {
  body:not(.wp-admin) .dwc-bottom-tab:hover,
  body:not(.wp-admin) .nav a:hover,
  body:not(.wp-admin) .tools a:hover,
  body:not(.wp-admin) .user-menu-toggle:hover {
    /* leeres Override killt Theme-Hover-States auf Touch */
  }
}

/* Mobile-only: App-Bar Scroll-Shrink + Active-Tab-Animation */
@media (max-width: 1100px) {
  /* Nur Schatten/Hintergrund sanft; Größen (Bar/Logo) sofort schalten —
     animiertes Layout am sticky Header reflowt pro Frame → Zittern. */
  body:not(.wp-admin) .header {
    transition: background 200ms ease, box-shadow 200ms ease !important;
  }

  /* Scrolled-State: nur mehr Schatten. Keine Größenänderung der Kopfleiste
     (Theme 0.1.71): Safari am iPhone kennt keine Scroll-Verankerung, dort
     rutschte der Inhalt beim Verkleinern um die Höhendifferenz nach oben. */
  body:not(.wp-admin) .header.scrolled {
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.08) !important;
  }

  /* Active-Tab Slide-Animation: smooth Background-Transition */
  body:not(.wp-admin) .dwc-bottom-tab {
    transition: background 260ms cubic-bezier(0.4, 0, 0.2, 1),
                color 200ms ease,
                transform 80ms ease !important;
    position: relative !important;
  }

  /* Active-Pill mit Slide-In-Feel (scale-Pulse beim Aktivieren) */
  body:not(.wp-admin) .dwc-bottom-tab.active {
    animation: dwc-tab-activate 280ms cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  @keyframes dwc-tab-activate {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.08); }
    100% { transform: scale(1); }
  }

  /* Tap-Feedback: kurzer Press-Down */
  body:not(.wp-admin) .dwc-bottom-tab:active {
    transform: scale(0.9) !important;
    background: rgba(var(--brand-bright-rgb), 0.55) !important;
    transition: transform 60ms ease, background 60ms ease !important;
  }

  /* Icon-Zoom beim Active-State fuer visuellen Anker */
  body:not(.wp-admin) .dwc-bottom-tab .dwc-bottom-tab-icon {
    transition: transform 220ms cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  }
  body:not(.wp-admin) .dwc-bottom-tab.active .dwc-bottom-tab-icon {
    transform: translateY(-1px) scale(1.05) !important;
  }
}

/* ============================================================
 * v3: Hero-Foto pro Page als CSS-Background.
 * Body bekommt .dwc-page-<key>-Klasse (siehe functions.php
 * dwc_body_class). SVG-Illustration in .dwc-scene wird ausgeblendet,
 * stattdessen Foto als cover-Background. <span>-Label bleibt sichtbar.
 *
 * ============================================================ */
body:not(.wp-admin)[class*="dwc-page-"] .dwc-scene .scene-sky,
body:not(.wp-admin)[class*="dwc-page-"] .dwc-scene .scene-ground,
body:not(.wp-admin)[class*="dwc-page-"] .dwc-scene .scene-hill,
body:not(.wp-admin)[class*="dwc-page-"] .dwc-scene .scene-camper,
body:not(.wp-admin)[class*="dwc-page-"] .dwc-scene .scene-wheel {
  display: none !important;
}
body:not(.wp-admin)[class*="dwc-page-"] .dwc-scene,
body:not(.wp-admin)[class*="dwc-page-"] .dwc-editor-scene {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
/* Label-Pill oben links bleibt, mit dezenter Schatten-Backdrop fuer Lesbarkeit auf Foto */
body:not(.wp-admin)[class*="dwc-page-"] .dwc-scene > span {
  background: rgba(0, 0, 0, 0.78) !important;
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
}

/* Per-Page-Mapping */
body.dwc-page-home:not(.wp-admin) .dwc-scene,
body.dwc-page-home:not(.wp-admin) .dwc-editor-scene,
body.front-page:not(.wp-admin) .dwc-scene,
body.front-page:not(.wp-admin) .dwc-editor-scene,
body.home:not(.wp-admin) .dwc-scene,
body.home:not(.wp-admin) .dwc-editor-scene {
  background-image:
    linear-gradient(90deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0) 50%),
    url("/wp-content/themes/dwc-theme/assets/images/dwc-startseite-hero-freiheit.jpg") !important;
}
body.dwc-page-mitglied-werden:not(.wp-admin) .dwc-scene,
body.dwc-page-mitglied-werden:not(.wp-admin) .dwc-editor-scene {
  background-image: url("/wp-content/themes/dwc-theme/assets/images/dwc-mitglied-werden-vorfreude-gespiegelt.jpg") !important;
}
body.dwc-page-vorteilswelt:not(.wp-admin) .dwc-scene,
body.dwc-page-vorteilswelt:not(.wp-admin) .dwc-editor-scene {
  background-image: url("/wp-content/themes/dwc-theme/assets/images/dwc-familie-kinder-spielen-camping.jpg") !important;
}
body.dwc-page-veranstaltungen:not(.wp-admin) .dwc-scene,
body.dwc-page-veranstaltungen:not(.wp-admin) .dwc-editor-scene {
  background-image: url("/wp-content/themes/dwc-theme/assets/images/dwc-wintercamping-schnee-wohnmobil.jpg") !important;
}
body.dwc-page-club-schutzbrief:not(.wp-admin) .dwc-scene,
body.dwc-page-club-schutzbrief:not(.wp-admin) .dwc-editor-scene {
  background-image: url("/wp-content/themes/dwc-theme/assets/images/dwc-werkstatt-service-wohnmobil.jpg") !important;
}
body.dwc-page-kontakt:not(.wp-admin) .dwc-scene,
body.dwc-page-kontakt:not(.wp-admin) .dwc-editor-scene {
  background-image: url("/wp-content/themes/dwc-theme/assets/images/dwc-kontakt-geschaeftsstelle.jpg") !important;
}

/* ============================================================
 * Kontakt-Page: 3-Spalten-Kartenraster fuer Geschaeftsstelle/Tel/Mail
 *
 * ============================================================ */
body:not(.wp-admin) .dwc-kontakt-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 40px;
}
body:not(.wp-admin) .dwc-kontakt-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius:var(--dwc-r-sm,0);
  padding: 26px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.05);
  transition: transform 160ms ease, box-shadow 160ms ease;
}
body:not(.wp-admin) .dwc-kontakt-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}
body:not(.wp-admin) .dwc-kontakt-icon {
  width: 48px;
  height: 48px;
  border-radius:var(--dwc-r-sm,0);
  background: var(--brand-faint);
  color: var(--brand-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
}
body:not(.wp-admin) .dwc-kontakt-card h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: #18181b;
}
body:not(.wp-admin) .dwc-kontakt-card p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #3f3f46;
}
body:not(.wp-admin) .dwc-kontakt-card a {
  color: var(--brand-ink);
  font-weight: 600;
  text-decoration: none;
  word-break: break-word;
}
body:not(.wp-admin) .dwc-kontakt-card a:hover {
  text-decoration: underline;
}
body:not(.wp-admin) .dwc-kontakt-meta {
  color: #71717a;
  font-size: 0.85rem;
}
body:not(.wp-admin) .dwc-kontakt-link {
  margin-top: auto;
  padding-top: 10px;
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--brand-ink);
  text-decoration: none;
  align-self: flex-start;
}
body:not(.wp-admin) .dwc-kontakt-link-static {
  color: #71717a;
  font-weight: 500;
}
body:not(.wp-admin) .dwc-kontakt-note {
  background: var(--bg);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 18px 22px;
  color: #52525b;
  font-size: 0.92rem;
  line-height: 1.55;
}
body:not(.wp-admin) .dwc-kontakt-note p {
  margin: 0;
}

@media (max-width: 900px) {
  body:not(.wp-admin) .dwc-kontakt-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ============================================================
 * Splash-Intro-Animation (FLIP):
 * Beim ersten Page-Aufruf zoomt das Logo aus Viewport-Mitte
 * zur Header-Position. JS managed Transform-Werte. Hier nur
 * die Overlay-Styles und das No-Scroll-Lock waehrend der Animation.
 *
 * ============================================================ */
.dwc-splash-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  background: var(--bg, #f7f4ef);
  pointer-events: none;
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}
.dwc-splash-overlay.dwc-splash-fadeout {
  opacity: 0;
}
.dwc-splash-clone {
  display: block;
  filter: drop-shadow(0 24px 48px rgba(0, 0, 0, 0.18));
}
body.dwc-splash-active {
  overflow: hidden !important;
}

/* ============================================================
 * Footer-Contact-Address
 * ============================================================ */
body:not(.wp-admin) .footer-contact {
  font-style: normal;
  font-size: 0.875rem;
  line-height: 1.65;
  color: #52525b;
}
body:not(.wp-admin) .footer-contact a {
  color: var(--brand-ink);
  font-weight: 600;
  text-decoration: none;
}
body:not(.wp-admin) .footer-contact a:hover {
  text-decoration: underline;
}

/* ============================================================
 * Impressum-Page: vertikale Block-Liste mit weicher Trennung
 *
 * ============================================================ */
body:not(.wp-admin) .dwc-impressum {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
body:not(.wp-admin) .dwc-impressum-block {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius:var(--dwc-r-sm,0);
  padding: 22px 26px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
body:not(.wp-admin) .dwc-impressum-block h2 {
  margin: 0 0 10px;
  font-size: 1rem;
  font-weight: 800;
  color: #18181b;
  letter-spacing: -0.005em;
}
body:not(.wp-admin) .dwc-impressum-block p {
  margin: 0 0 12px;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #3f3f46;
}
body:not(.wp-admin) .dwc-impressum-block p:last-child {
  margin-bottom: 0;
}
body:not(.wp-admin) .dwc-impressum-block a {
  color: var(--brand-ink);
  font-weight: 600;
  text-decoration: none;
  word-break: break-word;
}
body:not(.wp-admin) .dwc-impressum-block a:hover {
  text-decoration: underline;
}
body.dwc-page-ueber-uns:not(.wp-admin) .dwc-scene,
body.dwc-page-ueber-uns:not(.wp-admin) .dwc-editor-scene {
  background-image: url("/wp-content/themes/dwc-theme/assets/images/dwc-vorstand-team-portrait.jpg") !important;
}
body.dwc-page-magazin:not(.wp-admin) .dwc-scene,
body.dwc-page-magazin:not(.wp-admin) .dwc-editor-scene {
  background-image: url("/wp-content/themes/dwc-theme/assets/images/dwc-reisen-mit-hund-wohnmobil.jpg") !important;
}
body.dwc-page-mitgliederbereich:not(.wp-admin) .dwc-scene,
body.dwc-page-mitgliederbereich:not(.wp-admin) .dwc-editor-scene,
body.dwc-page-mein-profil:not(.wp-admin) .dwc-scene,
body.dwc-page-mein-profil:not(.wp-admin) .dwc-editor-scene,
body.dwc-page-meine-mitgliedskarte:not(.wp-admin) .dwc-scene,
body.dwc-page-meine-mitgliedskarte:not(.wp-admin) .dwc-editor-scene {
  background-image: url("/wp-content/themes/dwc-theme/assets/images/dwc-mitgliedskarte-symbolik.jpg") !important;
}

/* ============================================================
 * Scroll-Reveal / Fade-In
 * Sanftes Einblenden der Inhalte beim Scrollen/Laden. Der Observer
 * (functions.php: dwc_reveal_observer_js) beobachtet die Top-Level-
 * Sektionen (Hero ausgenommen) und setzt .is-visible — die CSS-
 * Choreografie unten animiert deren KINDER in Lese-Reihenfolge.
 * Aktiv nur, wenn das Early-Head-Script html.dwc-reveal-on gesetzt
 * hat (= JS an). Ohne JS greifen diese Regeln nicht -> sofort
 * sichtbar (kein FOUC). reduced-motion: Soft-Variante weiter unten.
 * ============================================================ */
/* v2 (webdesign-polish): Kind-Choreografie statt Block-Fade.
   Die Sektion selbst bleibt sichtbar; ihre KINDER erscheinen in
   Lese-Reihenfolge (Eyebrow -> H2 -> Copy -> Karten), Karten mit
   eigener Mini-Kaskade. Keyframes statt Transition, damit die
   Stagger-Delays spaetere Hover-Transitions nicht verzoegern.
   Drei Pfade wegen gemischtem Markup: Gutenberg-Gruppen haben einen
   inner-container-Wrapper, PHP-Sektionen direkte Kinder. */
@keyframes dwc-rv-rise {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}
@keyframes dwc-rv-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain) > .wp-block-group__inner-container > :not(.dwc-cards),
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain) > :not(.wp-block-group__inner-container):not(.dwc-cards),
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain) :is(.dwc-cards > :not(.wp-block-group__inner-container), .dwc-cards > .wp-block-group__inner-container > *) {
  opacity: 0;
}
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > .wp-block-group__inner-container > :not(.dwc-cards),
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > :not(.wp-block-group__inner-container):not(.dwc-cards),
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible :is(.dwc-cards > :not(.wp-block-group__inner-container), .dwc-cards > .wp-block-group__inner-container > *) {
  animation: dwc-rv-rise 380ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
/* Stagger Text-Ebene (Lese-Reihenfolge, ab dem 5. gedeckelt) */
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > .wp-block-group__inner-container > :not(.dwc-cards):nth-child(2),
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > :not(.wp-block-group__inner-container):not(.dwc-cards):nth-child(2) { animation-delay: 70ms; }
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > .wp-block-group__inner-container > :not(.dwc-cards):nth-child(3),
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > :not(.wp-block-group__inner-container):not(.dwc-cards):nth-child(3) { animation-delay: 140ms; }
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > .wp-block-group__inner-container > :not(.dwc-cards):nth-child(4),
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > :not(.wp-block-group__inner-container):not(.dwc-cards):nth-child(4) { animation-delay: 210ms; }
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > .wp-block-group__inner-container > :not(.dwc-cards):nth-child(n+5),
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > :not(.wp-block-group__inner-container):not(.dwc-cards):nth-child(n+5) { animation-delay: 280ms; }
/* Karten-Kaskade (startet nach Headline+Copy) */
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible :is(.dwc-cards > :not(.wp-block-group__inner-container), .dwc-cards > .wp-block-group__inner-container > *):nth-child(1) { animation-delay: 140ms; }
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible :is(.dwc-cards > :not(.wp-block-group__inner-container), .dwc-cards > .wp-block-group__inner-container > *):nth-child(2) { animation-delay: 190ms; }
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible :is(.dwc-cards > :not(.wp-block-group__inner-container), .dwc-cards > .wp-block-group__inner-container > *):nth-child(3) { animation-delay: 240ms; }
html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible :is(.dwc-cards > :not(.wp-block-group__inner-container), .dwc-cards > .wp-block-group__inner-container > *):nth-child(n+4) { animation-delay: 290ms; }
/* Above-the-fold (JS markiert .dwc-rv-instant): sofort sichtbar,
   keine Animation — Inhalt im ersten Viewport wartet nie. */
html.dwc-reveal-on main.dwc-page-content > :is(div, section).dwc-rv-instant > .wp-block-group__inner-container > :not(.dwc-cards),
html.dwc-reveal-on main.dwc-page-content > :is(div, section).dwc-rv-instant > :not(.wp-block-group__inner-container):not(.dwc-cards),
html.dwc-reveal-on main.dwc-page-content > :is(div, section).dwc-rv-instant :is(.dwc-cards > :not(.wp-block-group__inner-container), .dwc-cards > .wp-block-group__inner-container > *) {
  opacity: 1 !important;
  animation: none !important;
}
/* reduced-motion: Soft-Variante — Erscheinen bleibt, Bewegung entfaellt */
@media (prefers-reduced-motion: reduce) {
  html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > .wp-block-group__inner-container > :not(.dwc-cards),
  html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible > :not(.wp-block-group__inner-container):not(.dwc-cards),
  html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain).is-visible :is(.dwc-cards > :not(.wp-block-group__inner-container), .dwc-cards > .wp-block-group__inner-container > *) {
    animation-name: dwc-rv-fade;
    animation-duration: 250ms;
    animation-timing-function: ease;
  }
}
/* Print: verdeckte Dokumente bekommen keine Rendering-Frames
   (IntersectionObserver feuert nie) — ohne diese Regel wuerden
   nicht-revealte Inhalte unsichtbar gedruckt. */
@media print {
  html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain) > .wp-block-group__inner-container > :not(.dwc-cards),
  html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain) > :not(.wp-block-group__inner-container):not(.dwc-cards),
  html.dwc-reveal-on main.dwc-page-content > :is(div, section):not(.dwc-hero):not(.dwc-brand-curtain) :is(.dwc-cards > :not(.wp-block-group__inner-container), .dwc-cards > .wp-block-group__inner-container > *) {
    opacity: 1 !important;
    animation: none !important;
  }
}
/* ============================================================
 * Brand-Curtain: Fixed-Window-Reveal. Das Logo
 * liegt auf einer VIEWPORT-FIXEN Ebene (position: fixed) im hintersten
 * Layer (z-index -1) und behaelt seine Bildschirmposition komplett bei —
 * es bewegt sich beim Scrollen NICHT. Die .dwc-brand-curtain selbst ist
 * nur ein transparenter Spacer (= "Fenster"); davor/danach liegende
 * Sektionen haben einen opaken Hintergrund und verdecken die fixe Ebene,
 * sodass das Logo nur im Fenster-Bereich durchscheint. Beim Scrollen
 * schiebt sich die naechste opake Sektion ueber das stehende Logo.
 * Voraussetzung: kein transform/filter/contain auf den Vorfahren
 * (sonst wuerde fixed an die Box statt an den Viewport binden — live
 * geprueft), und die Curtain steht als Geschwister unter main
 * (JS-Reparenting im Footer).
 * ============================================================ */
body:not(.wp-admin) .dwc-brand-curtain {
  position: relative;
  height: 100vh;            /* transparenter Spacer = Hoehe des Fensters */
  margin: 0;
}
body:not(.wp-admin) .dwc-curtain-bg {
  position: fixed;
  inset: 0;
  z-index: -1;              /* hinter allem Inhalt, vor dem body-Canvas */
  background: var(--lime2, var(--brand-bright));
  display: grid;
  place-items: center;
}
body:not(.wp-admin) .dwc-curtain-bg img {
  width: min(28vw, 360px);
  height: auto;
  filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.16));
}
/* Alle Inhalts-Sektionen (ausser dem transparenten Spacer) brauchen
   einen opaken Hintergrund, damit sie die fixe Logo-Ebene verdecken —
   sonst schiene sie ueberall durch. :where() = Null-Spezifitaet, damit
   Sektionen mit eigenem bg (Hero-Lime, Story-Weiss, CTA-Box) gewinnen. */
:where(main.dwc-page-content) > :where(:not(.dwc-brand-curtain)) {
  background-color: var(--bg, #f7f4ef);
}
@media (max-width: 700px) {
  body:not(.wp-admin) .dwc-brand-curtain { height: 80vh; }
  body:not(.wp-admin) .dwc-curtain-bg img { width: 52vw; }
}

/* ============================================================
 * Luft-Paket ( "go"): mehr Weissraum auf Desktop —
 * die fette Typo (Gewicht 950) braucht Luft, Enge wirkt billig.
 * ============================================================ */
@media (min-width: 1101px) {
  body:not(.wp-admin) .dwc-section { padding-top: 120px !important; padding-bottom: 120px !important; }
  body:not(.wp-admin) .dwc-cards { margin-top: 52px !important; gap: 28px !important; }
  body:not(.wp-admin) .dwc-card.dwc-card { padding: 30px !important; }
  body:not(.wp-admin) .dwc-section h2 + p,
  body:not(.wp-admin) .dwc-section .wp-block-group__inner-container > h2 + p { margin-top: 28px !important; }
  body:not(.wp-admin) .dwc-eyebrow { margin-bottom: 12px !important; }
  body:not(.wp-admin) .dwc-hero p:not(.dwc-kicker) { margin-top: 36px !important; }
  body:not(.wp-admin) .dwc-hero .dwc-kicker { margin-bottom: 28px !important; }
  body:not(.wp-admin) .dwc-story { padding-top: 100px !important; padding-bottom: 100px !important; }
  body:not(.wp-admin) .dwc-cta .wp-block-group__inner-container { padding: 56px !important; }
  body:not(.wp-admin) .dwc-quicklinks .wp-block-group__inner-container { padding: 40px !important; }
}
@media (max-width: 1100px) {
  body:not(.wp-admin) .dwc-cards { margin-top: 40px; }
}


/* Mikro-Interaktion: Karten-Hover-Lift (webdesign-polish) */
@media (hover: hover) {
  body:not(.wp-admin) .dwc-card {
    transition: transform 160ms ease-out, box-shadow 160ms ease-out;
  }
  body:not(.wp-admin) .dwc-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
  }
}


/* ============================================================
 * Panorama-Hero (Foto). Vollflächiges Hintergrundfoto +
 * Scrim links für Lesbarkeit + helle Headline drüber. Foto-Tausch später:
 * Einheitliche Höhe 888px (Desktop): Die Startseite war mit 740px die
 * höchste, die übrigen blieben bei der Untergrenze von 600px stehen —
 * gewollt war ein gleicher Auftritt. 740 plus 20 Prozent ergibt 888.
 * Unter 820px Breite gilt weiterhin 460px.
 *
 * Spiegeln: --hero-spiegel: -1 klappt das Foto waagerecht um. Text und
 * Schaltflächen liegen links, der Abdunkler ebenfalls — Personen auf der
 * linken Bildhälfte verschwinden darunter. Vorsicht bei Fotos mit lesbarer
 * Schrift (Kennzeichen, Beschriftung): die steht danach spiegelverkehrt.
 * Bei neu erzeugten Fotos die Personen gleich rechts anlegen, dann
 * erübrigt sich das.
 *
 * nur die url() in .dwc-hero::before ändern. Mobile: Bildausschnitt zum Bulli.
 *
 * Der Zuschnitt gehört zum Foto, nicht zum Bauteil: Jedes Foto hat einen
 * anderen Bildaufbau. Vorgabe bleibt deshalb mittig; wo der Anker woanders
 * sitzen muss, setzt die Seite --hero-pos. Auf „Mitglied werden" fielen
 * mittig gerechnet 90 Pixel oben weg — genau die Köpfe; dort steht der
 * Anker an der Oberkante. Ein global gesetzter Wert hat dagegen die
 * Startseite verschlechtert, wo der mittige Zuschnitt richtig war.
 * ============================================================ */
/* Panorama-Foto-Hero: pro Seite das eigene Szenen-Foto full-bleed (Card -> randlos). */
body:not(.wp-admin).home { --hero-img: url(../images/camper-hero-beach-sunset-01.webp); }
/* Bildkopf-Hoehe einheitlich 632px auf ALLEN Seiten — der Wert, auf den die
   Startseite durch ihren Text von selbst kam und die
   gefallen hat. Folge: Mit der 189px hohen Kopfleiste beginnt der Inhalt bei
   821px, auf einem 791px hohen Fenster also knapp unterhalb der Kante.
   Bewusst so entschieden.
   Vorher 460px auf ALLEN Seiten, davor 888px nur auf der Startseite.
   Zwischenstand am 28.09.2026 war 888px fuer die Startseite und 460px sonst —
   das sah uneinheitlich aus und half der Startseite ebenso wenig: Bei 791px
   Fensterhoehe verdeckte sie dort genauso die gesamte erste Bildschirmseite.
   Wer eine einzelne Seite abweichen lassen will, setzt --hero-hoehe. */
/* Kühle Farbwelten (Bulli-Hellblau, Azur, Kobalt, Creme/Petrol, Nebel/Pflaume):
   Startseite zeigt den blauen Strand-Bulli statt des roten — passt zum kühlen
   Akzent. Nur Desktop; Mobile behält die menschenleere Safe-Variante. */
@media (min-width: 821px) {
  html:is([data-palette="bulliblau"],[data-palette="azur"],[data-palette="kobalt"],[data-palette="creme"],[data-palette="pflaume"]) body:not(.wp-admin).home { --hero-img: url(../images/camper-hero-beach-sunset-blue-01.webp) !important; }
}
body:not(.wp-admin).dwc-page-vorteilswelt { --hero-img: url(../images/dwc-vorteilswelt-familie-see.webp); } /* Panorama 2.33, Motiv rechts, linke 60% frei fuer den Text (01.10.2026) */
body:not(.wp-admin).dwc-page-veranstaltungen { --hero-img: url(../images/camper-hero-veranstaltungen-training.webp); }
body:not(.wp-admin).dwc-page-club-schutzbrief { --hero-img: url(../images/dwc-werkstatt-service-wohnmobil.jpg); }
body:not(.wp-admin).dwc-page-mitglied-werden { --hero-img: url(../images/dwc-mitglied-werden-vorfreude-gespiegelt.jpg); } /* Paar rechts, Wohnmobil links: Gesichter liegen nicht unter Text und Schaltflächen. Datei ist selbst gespiegelt, weil transform am Kopfbild auf Desktop wegen „Bild bleibt stehen“ entfällt (28.10.2026) */
body:not(.wp-admin).dwc-page-magazin { --hero-img: url(../images/camper-hero-magazin-mountain.webp); }
/* Sechs Seiten zeigten bis 28.09.2026 die Platzhalter-Grafik, weil ihnen nie
   ein Foto zugeordnet war — sie standen nicht in der Liste oben. */
body:not(.wp-admin).dwc-page-faq { --hero-img: url(../images/camper-hero-faq-morgenruhe-alpensee.webp); }
/* Unterseiten der FAQ zeigen dasselbe Kopfbild; Bildlage und Höhe stehen in den gemeinsamen Regeln unten */
body:not(.wp-admin):is(.dwc-page-anmeldung,.dwc-page-konto,.dwc-page-beitraege,.dwc-page-datenschutz-kontakt,.dwc-page-schutzbrief,.dwc-page-fahrtraining) { --hero-img: url(../images/camper-hero-faq-morgenruhe-alpensee.webp); }
body:not(.wp-admin).dwc-page-kontakt { --hero-img: url(../images/dwc-kontakt-geschaeftsstelle.jpg); }
body:not(.wp-admin).dwc-page-ueber-uns { --hero-img: url(../images/dwc-vorstand-team-portrait.jpg); }
body:not(.wp-admin).dwc-page-galerie { --hero-img: url(../images/dwc-familie-kinder-spielen-camping.jpg); }
body:not(.wp-admin).dwc-page-fahrtrainings { --hero-img: url(../images/camper-hero-veranstaltungen-training.webp); }
body:not(.wp-admin).dwc-page-downloads { --hero-img: url(../images/dwc-mitgliedskarte-symbolik.jpg); }

/* Bildausrichtung: mittig als Vorgabe, oben bei den Personenfotos.

   Zwei Bildarten, zwei Beduerfnisse. Die Panorama-Bilder zeigen Landschaft
   mit dem Fahrzeug am unteren Rand — oben verankert faellt genau das Auto
   weg. Die Fotos im Format 16:9 zeigen Menschen, deren Kopf im oberen
   Fuenftel sitzt; mittig verankert nimmt der Zuschnitt oben und unten gleich
   viel und trifft damit das Gesicht. Auf der Kontaktseite begann der Kopf bei
   8% der Bildhoehe, abgeschnitten wurden 120px.

   Beides am 01.10.2026 nacheinander live gesehen: erst mittig mit
   angeschnittener Stirn, dann oben mit halbem Bulli. Deshalb nicht eine
   Regel fuer alle, sondern eine je Bildart. */
/* Blickpunkte statt fester Ausrichtung.

   Oben oder mittig ist eine Entweder-oder-Entscheidung und geht bei jedem
   zweiten Bild daneben: Oben nahm der Startseite die Raeder des Bullis,
   mittig nahm der Kontaktseite die Stirn. Richtig ist ein Punkt je Bild.

   Der zweite Wert in --hero-pos sagt, auf welcher Hoehe des Bildes das
   Motiv sitzt — 0% ganz oben, 100% ganz unten. Der Browser haelt diesen
   Punkt im sichtbaren Bereich, egal wie breit das Fenster ist. Die Werte
   unten sind an den Bildern abgelesen: Gesichter bei Personenfotos,
   das Fahrzeug bei den Landschaftsbildern.

   Neues Kopfbild: Hoehe des Motivs schaetzen und hier eintragen. Ohne
   Eintrag gilt 50%, also Bildmitte. */
/* Der Blickpunkt gilt auch für das stehende Bild: Ab 1101 px rechnet die Ebene unter „Bildkopf: Bild bleibt stehen“ den Ausschnitt auf den Kopfstreifen
   unterhalb von Kopfleiste und Seitenmenü, nicht auf das Fenster. */
body:not(.wp-admin).dwc-page-kontakt          { --hero-pos: 50% 30%; }  /* Gesicht der Mitarbeiterin */
body:not(.wp-admin).dwc-page-mitglied-werden  { --hero-pos: 50% 12%; }  /* Gesichter des Paares, Bild gespiegelt: Köpfe liegen bei 12 bis 35 % der Bildhöhe */
body:not(.wp-admin).dwc-page-vorteilswelt     { --hero-pos: 50% 53%; }  /* Gesichter der Familie, rechts im Bild */
body:not(.wp-admin).dwc-page-ueber-uns        { --hero-pos: 50% 45%; }  /* Gesichter des Teams */
body:not(.wp-admin).dwc-page-club-schutzbrief { --hero-pos: 50% 45%; }  /* Monteur am Fahrzeug */
body:not(.wp-admin):is(.dwc-page-faq,.dwc-page-anmeldung,.dwc-page-konto,.dwc-page-beitraege,.dwc-page-datenschutz-kontakt,.dwc-page-schutzbrief,.dwc-page-fahrtraining) { --hero-pos: 50% 76%; }  /* Ausschnitt auf Person am Tisch und Wohnmobil */
body:not(.wp-admin):is(.dwc-page-veranstaltungen,.dwc-page-fahrtrainings) { --hero-pos: 50% 55%; }  /* Gespann und Teilnehmer */
body:not(.wp-admin).dwc-page-downloads        { --hero-pos: 50% 60%; }  /* Haende mit der Karte */
body:not(.wp-admin).dwc-page-galerie          { --hero-pos: 50% 62%; }  /* spielende Kinder */
body:not(.wp-admin).dwc-page-magazin          { --hero-pos: 50% 62%; }  /* Wohnmobil am Pass */
body:not(.wp-admin).dwc-page-magazin.dwc-magazin-beitrag { --hero-pos: 50% 18%; }  /* Magazinbeitrag mit Titelbild: Köpfe liegen bei 12 bis 30 % der Bildhöhe, im breiten Kopf (ca. 3:1) blieb der Kopf sonst angeschnitten */
body:not(.wp-admin).home                      { --hero-pos: 50% 65%; }  /* Bulli am Seeufer */

/* Seit 22.10.2026 gilt fuer alle Seitenkoepfe die niedrigere Hoehe max(360px, min(33.6vw, 72vh, 672px)), mobil 408px
   (vorher 41vw, mobil 460px; die Begruendung darunter beschreibt die fruehere Rechnung), damit der Inhalt frueher sichtbar wird.

   Bildkopf-Hoehe waechst mit der Fensterbreite: clamp(460px, 41vw, 820px).

   Warum keine feste Zahl mehr: Der Zuschnitt entsteht aus dem Verhaeltnis
   von Fensterbreite zu Kopfhoehe. Dieselben 632px zeigten auf einem 1536px
   breiten Fenster 96% des Bildes, auf 1990px nur noch 74% — beim Bulli auf
   der Startseite waren damit die Raeder ab (01.10.2026). Mit 41vw bleibt der
   Anteil konstant: 1536px ergibt 630px, 1990px ergibt 816px, beide Male 96%.

   41vw ist nicht geraten, sondern 632 geteilt durch 1536 — die Hoehe, die bei
   der Abnahme am 29.09.2026 gefallen hat, als Verhaeltnis ausgedrueckt.

   Die Obergrenze haengt an der Fensterhoehe, nicht an einer festen Zahl.
   Ein Deckel von 820px wirkte ab etwa 2000px Fensterbreite und liess den
   Beschnitt von da an wieder wachsen: auf einem 4K-Schirm mit 2496x1592
   blieben 77% des Bildes, bei echten 3840px nur noch 50% — die Fuesse der
   Familie auf der Vorteilswelt waren ab (01.10.2026). Mit 85vh waechst der
   Kopf mit und bleibt trotzdem sichtbar unter der Fensterkante, damit
   erkennbar ist, dass die Seite weitergeht.

   Dritte Grenze 900px (01.10.2026): Ohne sie wuchs der Kopf auf einem
   2496x1592-Fenster auf 1023px und nahm damit zwei Drittel des Bildschirms
   ein — zu viel vom Bildschirm. Der Preis ist Beschnitt auf
   sehr breiten Schirmen. Dagegen hilft nicht die Hoehe, sondern das Bild:
   Ein Motiv, das nur die mittleren 55% der Bildhoehe einnimmt, uebersteht
   auch einen Beschnitt von 20%.

   Nicht zu verwechseln mit der Aufloesung: Beschnitten wird nach dem
   Seitenverhaeltnis, nicht nach der Pixelzahl. Ein Bild in 4K mit demselben
   Verhaeltnis wird exakt gleich beschnitten — mehr Pixel bringen Schaerfe,
   keinen groesseren Bildausschnitt.
   Untergrenze 460px fuer Telefone, Obergrenze 820px, damit der Kopf auf sehr
   breiten Schirmen nicht die ganze Seite einnimmt. Alle Seiten behalten
   dieselbe Hoehe; wo die Obergrenze greift, entscheidet --hero-pos, welcher
   Bildteil erhalten bleibt. */

body:not(.wp-admin).dwc-theme .dwc-hero { position: relative !important; min-height: var(--hero-hoehe, max(360px, min(33.6vw, 72vh, 672px))) !important; display: flex !important; align-items: center !important; background: #10201a !important; overflow: hidden !important; border-bottom: 0 !important; }
body:not(.wp-admin).dwc-theme .dwc-hero::before { content: ""; position: absolute; inset: 0; background: var(--hero-img) var(--hero-pos, center)/cover no-repeat; transform: scaleX(var(--hero-spiegel, 1)); z-index: 0; }
body:not(.wp-admin).dwc-theme .dwc-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(95deg, rgba(8,18,13,.9) 0%, rgba(8,18,13,.76) 32%, rgba(8,18,13,.48) 52%, rgba(8,18,13,.14) 78%, rgba(8,18,13,0) 100%); z-index: 1; }
body:not(.wp-admin).dwc-theme .dwc-hero .wp-block-group__inner-container { position: relative; z-index: 2; grid-template-columns: 1fr !important; max-width: 1280px !important; }
body:not(.wp-admin).dwc-theme .dwc-hero .dwc-editor-scene, body:not(.wp-admin).dwc-theme .dwc-hero .dwc-scene, body:not(.wp-admin).dwc-theme .dwc-hero .wp-block-column:last-child:not(:only-child) { display: none !important; }
/* Die Regel darueber blendet die rechte Spalte des Heros aus (dort liegt
   im Zwei-Spalten-Layout die Grafikflaeche, die das Hintergrundbild
   ersetzt). Ohne :not(:only-child) traf sie auch einen Hero mit nur
   einer Spalte — und damit dessen Ueberschrift. Die Startseite stand
   dadurch ohne sichtbare H1 da (gefunden 26.09.2026). */
body:not(.wp-admin).dwc-theme .dwc-hero h1 { color: #f7f1e6 !important; text-shadow: 0 2px 18px rgba(0,0,0,.4) !important; }
body:not(.wp-admin).dwc-theme .dwc-hero p:not(.dwc-kicker) { color: #ece6da !important; text-shadow: 0 1px 12px rgba(0,0,0,.7) !important; }
@media (max-width: 820px) {
  body:not(.wp-admin).home { --hero-img: url(../images/camper-hero-center-safe-01.webp); } /* Mobile: mittig komponiert, kein Crop des rechts stehenden Bulli */
  body:not(.wp-admin).dwc-page-magazin { --hero-img: url(../images/camper-hero-center-safe-02.webp); }
  body:not(.wp-admin).dwc-page-veranstaltungen { --hero-img: url(../images/camper-hero-center-safe-03.webp); }
  body:not(.wp-admin).dwc-page-vorteilswelt { --hero-img: url(../images/camper-hero-center-safe-04.webp); } /* Mobile: menschenleer, Gesichter sonst von Headline verdeckt */
  body:not(.wp-admin).dwc-page-club-schutzbrief { --hero-img: url(../images/camper-hero-center-safe-01.webp); }
  body:not(.wp-admin).dwc-page-mitglied-werden { --hero-img: url(../images/camper-hero-center-safe-02.webp); --hero-spiegel: -1; }
  body:not(.wp-admin):is(.dwc-page-faq,.dwc-page-anmeldung,.dwc-page-konto,.dwc-page-beitraege,.dwc-page-datenschutz-kontakt,.dwc-page-schutzbrief,.dwc-page-fahrtraining) { --hero-pos: 96% 50%; } /* Mobile: Person und Wohnmobil sitzen rechts im Bild, der linke Teil bleibt weg */
  body:not(.wp-admin).dwc-page-ueber-uns { --hero-img: url(../images/camper-hero-center-safe-03.webp); --hero-pos: center; } /* Mobile: menschenleer, Gesichter des Teams sonst unter dem Text */
  body:not(.wp-admin).dwc-theme .dwc-hero { min-height: 408px !important; }
  body:not(.wp-admin).dwc-theme .dwc-hero::after { background: linear-gradient(180deg, rgba(8,18,13,.52) 0%, rgba(8,18,13,.3) 42%, rgba(8,18,13,.58) 100%) !important; }
}

/* ============================================================
 * Hero-Verdunkelung: dynamisch + farbwelt-getönt (Design-Studio).
 * Der Schleier nimmt den Dunkelton der aktiven Palette auf (Marine = navy,
 * Grün = dunkelgrün, warm = dunkelbraun) statt fixem Schwarzgrün — und ist im
 * Text-/Button-Bereich (links) kräftig genug, dass heller Text + Buttons über
 * jeder Bildstelle lesbar bleiben. color-mix unterstützen moderne Browser;
 * ältere fallen auf die rgba()-Basisregel (oben) zurück.
 * ============================================================ */
:root { --hero-veil: color-mix(in srgb, var(--brand-darkest) 70%, var(--brand-mid)); }
body:not(.wp-admin).dwc-theme .dwc-hero::after {
  background: linear-gradient(95deg,
    color-mix(in srgb, var(--hero-veil) 92%, transparent) 0%,
    color-mix(in srgb, var(--hero-veil) 82%, transparent) 40%,
    color-mix(in srgb, var(--hero-veil) 58%, transparent) 62%,
    color-mix(in srgb, var(--hero-veil) 24%, transparent) 84%,
    transparent 100%) !important;
}
@media (max-width: 820px) {
  body:not(.wp-admin).dwc-theme .dwc-hero::after {
    background: linear-gradient(180deg,
      color-mix(in srgb, var(--hero-veil) 64%, transparent) 0%,
      color-mix(in srgb, var(--hero-veil) 44%, transparent) 42%,
      color-mix(in srgb, var(--hero-veil) 72%, transparent) 100%) !important;
  }
}
/* Buttons über dem Foto-Hero: Schatten zur Trennung vom Schleier (Box sichtbar,
   auch wenn der Füll-Ton der Farbwelt nahe am Schleier liegt). */
body:not(.wp-admin).dwc-theme .dwc-hero :is(.dwc-actions a,.wp-block-button__link) {
  box-shadow: 0 8px 22px rgba(0,0,0,.28) !important;
}
/* Outline-Stil über dem Hero: heller Rahmen + helle Schrift statt --brand-ink
   (das im Schleier verschwindet) + leichte Hinterlegung für helle Bildstellen. */
html[data-btn="outline"] body:not(.wp-admin).dwc-theme .dwc-hero :is(.dwc-actions a:not(.secondary),.wp-block-button:not(.is-style-outline) .wp-block-button__link) {
  color: #f7f1e6 !important;
  border-color: rgba(247,241,230,.92) !important;
  background: rgba(10,12,18,.32) !important;
}

/* Quicklinks-Box: Luft nach oben (klebte an der Sektion drüber) + Überschrift
   (war nur 3 nackte Buttons). Heading per CSS-content - bei Bedarf in den
   Seiteninhalt verschieben. */
body:not(.wp-admin) .dwc-quicklinks { padding-top: 80px !important; }
body:not(.wp-admin) .dwc-quicklinks > .wp-block-group__inner-container::before {
  content: "Schnell zu den wichtigsten Bereichen";
  display: block;
  font-family: var(--head-font, Georgia, serif);
  font-weight: var(--head-weight, 600);
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: #f3f1ed;
  margin-bottom: 4px;
}
/* ============================================================
 * Headline-Schrift umschaltbar (Design-Studio). Default Fraunces
 * (Heritage); Kunde wählt via Schalter.
 * ============================================================ */
:root { --head-font: Inter, Arial, Helvetica, sans-serif; --head-weight: 950; }
html[data-font="fraunces"]  { --head-font: 'Fraunces', Georgia, serif; --head-weight: 560; }
html[data-font="bricolage"] { --head-font: 'Bricolage Grotesque', Arial, sans-serif; --head-weight: 700; }
html[data-font="playfair"]  { --head-font: 'Playfair Display', Georgia, serif; --head-weight: 640; }
/* „Klar“: Open Sans ohne Serifen für Überschriften UND Fließtext (Kundenwunsch, gleiche Schrift wie die Makler-Seiten). */
html[data-font="opensans"] { --head-font: 'Open Sans', Arial, sans-serif; --head-weight: 800; }
html[data-font="opensans"] :is(body, button, input, select, textarea) { font-family: 'Open Sans', Arial, sans-serif !important; }
body:not(.wp-admin) main.dwc-page-content h1, body:not(.wp-admin) main.dwc-page-content h2,
body:not(.wp-admin) .dwc-hero h1, body:not(.wp-admin) .hero h1 {
  font-family: var(--head-font) !important; font-weight: var(--head-weight) !important;
}

/* ===== Farb-Vorschau-Galerie (helle Welten, generiert via build-palettes.py) ==
   Jede Palette setzt Hintergrund (--bg) + die --brand-*-Akzentrampe. Rampen
   automatisch aus einer Akzent-Basis abgeleitet. Default (:root) = DWC-Lime. */
html[data-palette="grasgruen"]{--bg:#EDF1E5;--brand-bright:#b7dba7;--brand-soft:#9fce8a;--brand-faint:#dcedd4;--brand-faint2:#eff7ec;--brand-ink:#447d2b;--brand-deep:#376523;--brand-deep2:#2e541d;--brand-mid:#5FAE3C;--brand-mid2:#77ba59;--brand-darkest:#13230c;--brand-hot:#447d2b;--brand-bright-rgb:183,219,167;--brand-soft-rgb:159,206,138;}
html[data-palette="limette"]{--bg:#F2F0E1;--brand-bright:#c8d49f;--brand-soft:#b6c67f;--brand-faint:#e4ead0;--brand-faint2:#f3f6ea;--brand-ink:#60731e;--brand-deep:#4d5d18;--brand-deep2:#404d14;--brand-mid:#85A02A;--brand-mid2:#97ae4a;--brand-darkest:#1b2008;--brand-hot:#60731e;--brand-bright-rgb:200,212,159;--brand-soft-rgb:182,198,127;}
html[data-palette="bulligruen"]{--bg:#F4EFE4;--brand-bright:#b7d2c4;--brand-soft:#9ec4b0;--brand-faint:#dce9e2;--brand-faint2:#eff5f2;--brand-ink:#447059;--brand-deep:#375a47;--brand-deep2:#2d4b3b;--brand-mid:#5E9C7B;--brand-mid2:#76ab8f;--brand-darkest:#131f19;--brand-hot:#447059;--brand-bright-rgb:183,210,196;--brand-soft-rgb:158,196,176;}
html[data-palette="tanne"]{--bg:#F1F1EA;--brand-bright:#a1beb7;--brand-soft:#82a89e;--brand-faint:#d1dfdc;--brand-faint2:#eaf0ef;--brand-ink:#214f44;--brand-deep:#1b4037;--brand-deep2:#16352d;--brand-mid:#2E6E5E;--brand-mid2:#4d8476;--brand-darkest:#091613;--brand-hot:#214f44;--brand-bright-rgb:161,190,183;--brand-soft-rgb:130,168,158;}
html[data-palette="bulliblau"]{--bg:#EEF2F3;--brand-bright:#b7d0de;--brand-soft:#9ec1d3;--brand-faint:#dce8ef;--brand-faint2:#eff5f8;--brand-ink:#446d82;--brand-deep:#375869;--brand-deep2:#2d4857;--brand-mid:#5E97B5;--brand-mid2:#76a7c0;--brand-darkest:#131e24;--brand-hot:#446d82;--brand-bright-rgb:183,208,222;--brand-soft-rgb:158,193,211;}
html[data-palette="bullirost"]{--bg:#F4EEE5;--brand-bright:#deb2a9;--brand-soft:#d3988c;--brand-faint:#efd9d5;--brand-faint2:#f8eeec;--brand-ink:#823c2d;--brand-deep:#693025;--brand-deep2:#57281e;--brand-mid:#B5533F;--brand-mid2:#c06d5c;--brand-darkest:#24110d;--brand-hot:#823c2d;--brand-bright-rgb:222,178,169;--brand-soft-rgb:211,152,140;}
html[data-palette="sand"]{--bg:#F3EBDD;--brand-bright:#d7b2a6;--brand-soft:#ca9889;--brand-faint:#ebd9d4;--brand-faint2:#f6eeeb;--brand-ink:#783c2a;--brand-deep:#603022;--brand-deep2:#50281c;--brand-mid:#A6533A;--brand-mid2:#b36d58;--brand-darkest:#21110c;--brand-hot:#783c2a;--brand-bright-rgb:215,178,166;--brand-soft-rgb:202,152,137;}
html[data-palette="creme"]{--bg:#F5F1E9;--brand-bright:#96c8c3;--brand-soft:#73b5af;--brand-faint:#cce4e2;--brand-faint2:#e8f3f2;--brand-ink:#0f5f58;--brand-deep:#0c4d47;--brand-deep2:#0a3f3b;--brand-mid:#15847A;--brand-mid2:#38968e;--brand-darkest:#041a18;--brand-hot:#0f5f58;--brand-bright-rgb:150,200,195;--brand-soft-rgb:115,181,175;}
html[data-palette="salbei"]{--bg:#EDEEE7;--brand-bright:#b7c4b1;--brand-soft:#9fb197;--brand-faint:#dce2d9;--brand-faint2:#eff2ee;--brand-ink:#445a3b;--brand-deep:#374830;--brand-deep2:#2e3c27;--brand-mid:#5F7D52;--brand-mid2:#77906c;--brand-darkest:#131910;--brand-hot:#445a3b;--brand-bright-rgb:183,196,177;--brand-soft-rgb:159,177,151;}
html[data-palette="azur"]{--bg:#EAEFF4;--brand-bright:#a1c5e4;--brand-soft:#82b2dc;--brand-faint:#d1e3f2;--brand-faint2:#eaf2f9;--brand-ink:#225b8d;--brand-deep:#1b4a72;--brand-deep2:#173d5e;--brand-mid:#2F7FC4;--brand-mid2:#4e92cd;--brand-darkest:#091927;--brand-hot:#225b8d;--brand-bright-rgb:161,197,228;--brand-soft-rgb:130,178,220;}
html[data-palette="pflaume"]{--bg:#F0EDF1;--brand-bright:#cab5c3;--brand-soft:#b99caf;--brand-faint:#e5dbe2;--brand-faint2:#f3eef2;--brand-ink:#634158;--brand-deep:#503447;--brand-deep2:#422b3b;--brand-mid:#8A5A7A;--brand-mid2:#9c738e;--brand-darkest:#1c1218;--brand-hot:#634158;--brand-bright-rgb:202,181,195;--brand-soft-rgb:185,156,175;}
html[data-palette="bernstein"]{--bg:#F6EFE1;--brand-bright:#e0c8a0;--brand-soft:#d5b580;--brand-faint:#f0e4d0;--brand-faint2:#f8f3ea;--brand-ink:#855f1f;--brand-deep:#6b4d19;--brand-deep2:#593f15;--brand-mid:#B9842B;--brand-mid2:#c4964b;--brand-darkest:#251a09;--brand-hot:#855f1f;--brand-bright-rgb:224,200,160;--brand-soft-rgb:213,181,128;}
html[data-palette="wald"]{--bg:#EBEEEA;--brand-bright:#a1beaf;--brand-soft:#82a995;--brand-faint:#d1dfd8;--brand-faint2:#eaf1ed;--brand-ink:#225038;--brand-deep:#1b402d;--brand-deep2:#173525;--brand-mid:#2F6F4E;--brand-mid2:#4e8569;--brand-darkest:#091610;--brand-hot:#225038;--brand-bright-rgb:161,190,175;--brand-soft-rgb:130,169,149;}
html[data-palette="terra"]{--bg:#F4ECE4;--brand-bright:#e4b8a6;--brand-soft:#dca189;--brand-faint:#f2dcd4;--brand-faint2:#f9efeb;--brand-ink:#8d472a;--brand-deep:#723922;--brand-deep2:#5e2f1c;--brand-mid:#C4623A;--brand-mid2:#cd7a58;--brand-darkest:#27140c;--brand-hot:#8d472a;--brand-bright-rgb:228,184,166;--brand-soft-rgb:220,161,137;}
html[data-palette="kobalt"]{--bg:#ECEEF1;--brand-bright:#a3b3e4;--brand-soft:#859adc;--brand-faint:#d2daf2;--brand-faint2:#ebeef9;--brand-ink:#253f8d;--brand-deep:#1e3272;--brand-deep2:#182a5e;--brand-mid:#3357C4;--brand-mid2:#5270cd;--brand-darkest:#0a1127;--brand-hot:#253f8d;--brand-bright-rgb:163,179,228;--brand-soft-rgb:133,154,220;}
html[data-palette="marine"]{--bg:#EFE6D3;--brand-bright:#d1bba2;--brand-soft:#c2a483;--brand-faint:#e9ded1;--brand-faint2:#f5f0ea;--brand-ink:#0e1135;--brand-deep:#0b0d2b;--brand-deep2:#090b24;--brand-mid:#13174A;--brand-mid2:#363a65;--brand-darkest:#04050f;--brand-hot:#D81C1C;--brand-bright-rgb:209,187,162;--brand-soft-rgb:194,164,131;}

/* CTA-Buttons folgen der Farbwelt statt fixem Schwarz.
   Hell: dunkler Akzent-Ton (--brand-ink) + weiße Schrift. Dunkel siehe DARK_CSS. */
.btn.primary,.dwc-actions a:not(.secondary),.wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--brand-ink) !important;border-color:var(--brand-ink) !important;color:#fff !important}
/* Schwarze Sektionen/Labels auf den palette-eigenen Dunkelton (weicher als #000) */
body:not(.wp-admin) .dwc-quicklinks > .wp-block-group__inner-container,.black-box,.thead,.label,.price.dark,.dwc-price.dark,.mobile-nav button.active,.mobile-nav a.active{background:var(--brand-darkest) !important;border-color:var(--brand-darkest) !important}
/* Eyebrow-Pill (.dwc-kicker) + Hero-Szenen-Label (.dwc-editor-scene p): teils
   schwarz gesetzt -> auf Akzent ziehen (gleiche Spezifität wie Bestandsregel) */
.dwc-kicker,body:not(.wp-admin) .dwc-editor-scene p{background:var(--brand-ink) !important;color:#fff !important}

.mbx-benefit-code{background:var(--brand-faint2) !important;border-color:var(--brand-mid) !important}
.mbx-benefit-code-label{color:var(--brand-deep) !important}
.mbx-benefit-code-value{color:var(--brand-darkest) !important}

.mbx-member-card{background:linear-gradient(135deg,var(--brand-ink) 0%,var(--brand-deep) 50%,var(--brand-darkest) 100%) !important}
.bb-drawer-head{background:linear-gradient(135deg,var(--brand-ink) 0%,var(--brand-deep) 100%) !important}

/* ===== Vorschau-Schalter-Panel (nur im Vorschau-Modus sichtbar) ============ */
.dwc-palette-switch[hidden]{display:none}
.dwc-palette-switch{position:fixed;left:16px;bottom:16px;z-index:9999;background:#fff;
  border:1px solid #d4d4d8;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.18);
  padding:12px 12px 10px;font:14px/1.3 Inter,Arial,Helvetica,sans-serif;color:#18181b;
  max-width:320px;max-height:80vh;overflow:auto;color-scheme:light}
.dwc-palette-switch h4{margin:0 0 6px;font-size:13px;font-weight:800}
.dwc-palette-switch .dwc-ps-hint{margin:0 0 9px;font-size:11px;color:#71717a;line-height:1.4}
.dwc-palette-switch .dwc-ps-row{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.dwc-palette-switch button{border:1px solid #d4d4d8;background:#fafafa;border-radius:9px;
  padding:7px 10px;font:inherit;font-weight:700;cursor:pointer;display:flex;align-items:center;
  gap:8px;text-align:left;width:100%}
.dwc-palette-switch button[aria-pressed="true"]{border-color:#18181b;background:#18181b;color:#fff}
.dwc-palette-switch .dwc-ps-dot{width:14px;height:14px;border-radius:999px;border:1px solid rgba(0,0,0,.2);flex:0 0 auto}
/* Mehrfarbiger Punkt-Cluster (zeigt alle Welt-Farben, z.B. Oksana-Marine) */
.dwc-palette-switch .dwc-ps-dots{display:inline-flex;gap:2px;flex:0 0 auto}
.dwc-palette-switch .dwc-ps-dots span{width:11px;height:11px;border-radius:999px;border:1px solid rgba(0,0,0,.25)}
.dwc-palette-switch .dwc-ps-close{margin-top:10px;justify-content:center;background:#fff;font-weight:700}
@media(max-width:1100px){.dwc-palette-switch{left:10px;bottom:84px;max-width:calc(100vw - 20px)}}

/* Eingeklappter Sticky-Reiter links (holt das Panel zurueck) */
.dwc-palette-handle[hidden]{display:none}
.dwc-palette-handle{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:9999;
  display:flex;flex-direction:column;align-items:center;gap:9px;background:#18181b;color:#fff;
  border:0;border-radius:0 12px 12px 0;padding:14px 8px;cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.22);font:13px/1 Inter,Arial,Helvetica,sans-serif}
.dwc-palette-handle .dwc-ph-dot{width:14px;height:14px;border-radius:999px;background:#5FAE3C;
  border:1px solid rgba(255,255,255,.55);flex:0 0 auto}
.dwc-palette-handle .dwc-ph-label{writing-mode:vertical-rl;text-orientation:mixed;
  font-size:12px;font-weight:700;letter-spacing:.04em}
@media(max-width:1100px){.dwc-palette-handle{top:auto;bottom:84px;transform:none}}

/* --brand-hot Fallback: Paletten ohne zweiten Akzent (inkl. Custom-Picker, der
   nur --brand-ink inline setzt) nutzen den Haupt-Akzent als Highlight. */
:root{--brand-hot:var(--brand-ink)}
/* Headline-Akzent: nur aktiv, wenn eingeschaltet (Checkbox im Panel) */
.dwc-hl{color:inherit}
html.dwc-hl-on .dwc-hl{color:var(--brand-hot)}
/* Im Seitenkopf liegt die H1 auf dem abgedunkelten Foto; Ink/Hot ist dort
   dunkel auf dunkel (gemessen rund 1,5:1). Wie im Dunkelmodus die helle
   Akzentstufe nehmen. */
html.dwc-hl-on .dwc-hero .dwc-hl{color:var(--brand-bright)}
/* Eyebrow/Kicker in der Highlight-Farbe (--brand-hot). Bei Paletten ohne
   zweiten Akzent = Ink (unveraendert); Marine setzt --brand-hot auf Oksanas
   Rot → roter "Lagerfeuer"-Akzent auf Eyebrow + Headline-Wort (nur Hellmodus,
   im Dunkeln bliebe Ink dunkel-auf-dunkel). */
html:not(.dwc-dark) body:not(.wp-admin) :is(.eyebrow,.dwc-eyebrow){color:var(--brand-hot) !important}


.mbx-magazin-card-cover--placeholder{background:linear-gradient(135deg,var(--brand-soft),var(--brand-bright))!important}

/* Panel: Checkbox-Zeile */
.dwc-palette-switch .dwc-ps-check{display:flex;align-items:center;gap:8px;margin:11px 2px 0;font-size:12.5px;font-weight:700;cursor:pointer}
.dwc-palette-switch .dwc-ps-check input{width:15px;height:15px;cursor:pointer;accent-color:#18181b}
.dwc-palette-switch .dwc-ps-group{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#a1a1aa;font-weight:800;margin:13px 2px 5px}
/* Abstände·Dichte vom Form-Block (Rundung+Buttons) optisch absetzen */
.dwc-palette-switch .dwc-ps-group-sep{margin-top:18px;padding-top:14px;border-top:1px solid #ececec}
.dwc-palette-switch .dwc-ps-subhint{font-size:10.5px;color:#9ca3af;margin:-3px 2px 5px;line-height:1.3}
.dwc-palette-switch .dwc-ps-pick{display:flex;align-items:center;gap:8px;margin:0 0 2px}
.dwc-palette-switch .dwc-ps-pick input[type=color]{width:32px;height:32px;border:1px solid #d4d4d8;border-radius:8px;padding:0;background:none;cursor:pointer;flex:0 0 auto}
.dwc-palette-switch .dwc-ps-hex{font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:700;color:#52525b;border:1px solid #d4d4d8;border-radius:8px;padding:6px 9px;flex:1}
.dwc-palette-switch .dwc-ps-badge{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;border-radius:8px;padding:6px 9px;margin:8px 0 0}
.dwc-palette-switch .dwc-ps-badge.ok{background:#ecfdf3;color:#15803d}
.dwc-palette-switch .dwc-ps-badge.warn{background:#fffbeb;color:#b45309}
.dwc-palette-switch .dwc-ps-share{display:block;width:100%;margin-top:11px;background:#fff;border:1px solid #d4d4d8;border-radius:9px;padding:9px;font:inherit;font-weight:700;font-size:12px;cursor:pointer;text-align:center}
.dwc-palette-switch .dwc-ps-fan{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:2px 0 0}
.dwc-palette-switch .dwc-ps-fan button{width:100%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(0,0,0,.14);cursor:pointer;padding:0}
.dwc-palette-switch .dwc-ps-fan button[aria-pressed="true"]{outline:2px solid #18181b;outline-offset:2px}
.dwc-palette-switch .dwc-ps-freecolor{display:block;width:100%;margin-top:8px;background:none;border:0;color:#71717a;font:inherit;font-size:11px;text-decoration:underline;cursor:pointer;text-align:center}
.dwc-palette-switch .dwc-ps-mode{display:flex;border:1px solid #d4d4d8;border-radius:8px;overflow:hidden;margin:2px 0 0}
.dwc-palette-switch .dwc-ps-mode button{flex:1;border:0;background:#fff;padding:8px 0;font:inherit;font-weight:700;font-size:12px;cursor:pointer;color:#52525b}
.dwc-palette-switch .dwc-ps-mode button[aria-pressed="true"]{background:#18181b;color:#fff}
.dwc-palette-switch .dwc-ps-font{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:2px 0 0}
.dwc-palette-switch .dwc-ps-font button{border:1px solid #d4d4d8;background:#fff;border-radius:8px;padding:8px 0;font:inherit;font-weight:700;font-size:12px;cursor:pointer;color:#52525b}
.dwc-palette-switch .dwc-ps-font button[aria-pressed="true"]{background:#18181b;color:#fff;border-color:#18181b}

/* ===== Dunkel-Modus =========================================================
   Feste dunkle Bühne (Navy) + Akzent folgt der gewählten Farbwelt.
   !important, weil die Startseite (Gutenberg-WYSIWYG) ihre Flächen/Texte
   selbst mit !important setzt — sonst greift Dark dort nicht. Scope: html.dwc-dark. */
/* Dunkel-Modus: --brand-darkest ist bei fast allen Welten ein Fast-Schwarz
   (bulligruen #131f19, Helligkeit 25/255) — der Kunde liest das als "schwarz".
   Ein Anteil der Markenfarbe hebt den Grund an und hält die Welt erkennbar,
   ohne dem Dunkel-Modus seine Dunkelheit zu nehmen. */
html.dwc-dark{color-scheme:dark;--bg:color-mix(in srgb, var(--brand-darkest) 72%, var(--brand-mid)) !important}
/* Marine ist die einzige Welt, deren Akzent selbst dunkles Navy ist — die
   Mischung oben hellt dort nichts auf (Helligkeit 17 statt 33-60 wie bei
   allen anderen). Hier hellt der Sandton auf, der bei Marine die helle
   Seite der Rampe bildet. */

body:not(.wp-admin) .mbx-login-submit{background:var(--brand-ink) !important;border-color:var(--brand-ink) !important}
body:not(.wp-admin) .mbx-login-submit:hover{background:var(--brand-deep) !important;border-color:var(--brand-deep) !important}
html[data-radius="eckig"] body:not(.wp-admin) :is([class^="mbx-"],[class*=" mbx-"],[class^="bm-"],[class*=" bm-"],[class^="bb-"],[class*=" bb-"]){border-radius:0 !important}

html[data-radius="eckig"] body:not(.wp-admin) :is([class^="mbx-"],[class*=" mbx-"]) :is(input,select,textarea){border-radius:0 !important}
html.dwc-dark[data-palette="marine"]{--bg:color-mix(in srgb, var(--brand-darkest) 86%, var(--brand-bright)) !important}
/* Eine Quelle: der Grund kommt aus --bg (oben gemischt), nicht noch einmal
   direkt aus --brand-darkest — sonst laufen Body und Sektionen auseinander. */
html.dwc-dark body{background:var(--bg) !important;color:#d8d5cf !important}
/* Text auf dem hellen Akzent-CTA bleibt dunkel; Footer-Links hell */
html.dwc-dark .cta h2,html.dwc-dark .cta p,html.dwc-dark .dwc-page-content .dwc-cta h2,html.dwc-dark .dwc-page-content .dwc-cta p{color:var(--brand-darkest) !important}
html.dwc-dark .tools a[href*="mitgliederbereich"]{background:var(--brand-mid2) !important;color:var(--brand-darkest) !important}
html.dwc-dark .dwc-about-teaser p:not(.dwc-kicker){color:#d8d5cf !important}
html.dwc-dark .footer :is(a,.dwc-cookie-oeffnen){color:#d8d5cf !important}
html.dwc-dark .footer :is(a,.dwc-cookie-oeffnen):hover{color:var(--brand-mid2) !important}
html.dwc-dark h1,html.dwc-dark h2,html.dwc-dark h3,html.dwc-dark .intro h2,html.dwc-dark .block h2,html.dwc-dark .dwc-section h2{color:#f3f1ed !important}
html.dwc-dark p.lead,html.dwc-dark .lead,html.dwc-dark .intro p,html.dwc-dark .block p,html.dwc-dark .dwc-hero p,html.dwc-dark .dwc-section>p,html.dwc-dark .dwc-section .wp-block-group__inner-container>p{color:#aba89f !important}
html.dwc-dark .header{background:var(--brand-deep2) !important;border-bottom-color:rgba(255,255,255,.12) !important}
html.dwc-dark .nav button,html.dwc-dark .nav a,html.dwc-dark .tools,html.dwc-dark .tools a,html.dwc-dark .brand{color:#d8d5cf !important}
html.dwc-dark .tools a{background:transparent !important}
html.dwc-dark .dwc-page-content p,html.dwc-dark .dwc-page-content li,html.dwc-dark main p,html.dwc-dark main li{color:#d8d5cf !important}
html.dwc-dark .path{background:rgba(255,255,255,.04) !important;color:#9aa7b3 !important;border-bottom-color:rgba(255,255,255,.1) !important}
html.dwc-dark .pill,html.dwc-dark .chip,html.dwc-dark .dwc-kicker,html.dwc-dark .member-kicker{background:color-mix(in srgb,var(--brand-darkest) 80%,#fff) !important;color:#eae6df !important;box-shadow:none !important}
html.dwc-dark .card,html.dwc-dark .price,html.dwc-dark .table,html.dwc-dark .details,html.dwc-dark .form,html.dwc-dark .member-panel,html.dwc-dark .story,html.dwc-dark .dwc-story,html.dwc-dark .member-hero,html.dwc-dark .dwc-card,html.dwc-dark .dwc-price,html.dwc-dark .dwc-form,html.dwc-dark .dwc-note,html.dwc-dark .quote,html.dwc-dark .dwc-faq details{background:color-mix(in srgb,var(--brand-darkest) 86%,#fff) !important;border-color:rgba(255,255,255,.1) !important;box-shadow:none !important}
html.dwc-dark .member-panel.soft{background:color-mix(in srgb,var(--brand-darkest) 80%,#fff) !important}
html.dwc-dark .card h3,html.dwc-dark .dwc-card h3,html.dwc-dark .price h3{color:#f3f1ed !important}
html.dwc-dark .card p,html.dwc-dark .dwc-card p,html.dwc-dark .details p,html.dwc-dark .dwc-faq p,html.dwc-dark .quote,html.dwc-dark .price .sub{color:#aba89f !important}
html.dwc-dark .form input,html.dwc-dark .dwc-form input,html.dwc-dark .login-box input,html.dwc-dark .mbx-login-field input{background:color-mix(in srgb,var(--brand-darkest) 80%,#fff) !important;border-color:rgba(255,255,255,.16) !important;color:#eae6df !important}
html.dwc-dark .footer{background:color-mix(in srgb,var(--brand-darkest) 90%,#000) !important;border-top-color:rgba(255,255,255,.1) !important}
html.dwc-dark .footer p,html.dwc-dark .footer li,html.dwc-dark .footer h4{color:#aba89f !important}
html.dwc-dark .row{background:rgba(255,255,255,.06) !important}
html.dwc-dark .trow:nth-child(odd):not(.thead){background:rgba(255,255,255,.03) !important}
html.dwc-dark .scene,html.dwc-dark .dwc-scene{background:color-mix(in srgb,var(--brand-darkest) 86%,#fff) !important;box-shadow:none !important}
html.dwc-dark .sky,html.dwc-dark .scene-sky{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-darkest) 80%,#fff),color-mix(in srgb,var(--brand-darkest) 86%,#fff) 48%,var(--brand-darkest)) !important}
html.dwc-dark .eyebrow,html.dwc-dark .dwc-eyebrow,html.dwc-dark .brand-mark,html.dwc-dark .footer h3,html.dwc-dark .dwc-tag b,html.dwc-dark .nav button.active,html.dwc-dark .nav a.active{color:var(--brand-mid2) !important}
html.dwc-dark .dwc-symbol,html.dwc-dark .icon{background:rgba(255,255,255,.06) !important;color:var(--brand-mid2) !important}
html.dwc-dark .benefit-code{background:rgba(255,255,255,.06) !important;color:var(--brand-mid2) !important;border-color:rgba(255,255,255,.2) !important}
html.dwc-dark .mbx-benefit-code{background:rgba(255,255,255,.06) !important;border-color:var(--brand-mid2) !important}
html.dwc-dark .mbx-benefit-code-label{color:var(--brand-mid2) !important}
html.dwc-dark .mbx-benefit-code-value{color:#f3f1ed !important}
html.dwc-dark .dwc-splash-overlay{background:var(--brand-darkest) !important}
/* Schwarzes Logo im Dunkeln invertieren (Line-Art -> weiss): Header, Splash, Curtain */
html.dwc-dark .brand-logo,html.dwc-dark .dwc-splash-clone,html.dwc-dark .dwc-curtain-bg img{filter:brightness(0) invert(1) !important}
/* CTA im Dunkeln: heller Akzent-Button mit dunkler Schrift (poppt auf Navy) */
html.dwc-dark .btn.primary,html.dwc-dark .dwc-actions a:not(.secondary),html.dwc-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--brand-mid2) !important;border-color:var(--brand-mid2) !important;color:var(--brand-darkest) !important}
html.dwc-dark.dwc-hl-on .dwc-hl{color:var(--brand-bright) !important}
/* Marine im Dunkel-Modus: --brand-mid2 ist navy (dunkel), nicht hell wie bei den
   anderen Welten → als „heller Akzent" unbrauchbar (Audit: Buttons + Footer-
   Heading nur 1.89/1.7 Kontrast = unlesbar). Marine nutzt im Dunkeln stattdessen
   --brand-bright (Sand) als hellen Akzent. Nur data-palette="marine". */
html.dwc-dark[data-palette="marine"] :is(.eyebrow,.dwc-eyebrow,.brand-mark,.footer h3,.dwc-tag b,.nav button.active,.nav a.active,.dwc-symbol,.icon){color:var(--brand-bright) !important}
html.dwc-dark[data-palette="marine"] :is(.btn.primary,.dwc-actions a:not(.secondary),.wp-block-button:not(.is-style-outline) .wp-block-button__link,.tools a[href*="mitgliederbereich"]){background:var(--brand-bright) !important;border-color:var(--brand-bright) !important;color:var(--brand-darkest) !important}

/* ============================================================
 * Design-Studio: zusätzliche Steuer-Achsen
 * Mechanik wie Schrift/Modus: data-Attribut bzw. Klasse auf <html>.
 * Alle Defaults = heutiger Look (keine optische Regression).
 * Liegt im Generator-Tail -> build-palettes.py lässt es unangetastet.
 * ============================================================ */
:root{
  /* Rundung (Default ~ heutige Werte) */
  --dwc-r-lg:0;   /* Cards, Szenen, Notizen, Tabellen, Formulare, FAQ: Standard ist eckig */
  --dwc-r-cta:0;  /* CTA-Box, Quicklinks */
  --dwc-r-md:0;   /* Inputs, Tabellen-Zeilen */
  --dwc-r-sm:0;   /* Icon-Kacheln */
  /* Dichte (Padding-Multiplikator, nur Desktop) */
  --dwc-density:1;
  /* Akzent-Intensität (Flächen-Tönung) */
  --dwc-cta-bg:var(--brand-bright);
  --dwc-chip-bg:var(--brand-faint);
}
html[data-radius="soft"] {--dwc-r-lg:28px;--dwc-r-cta:32px;--dwc-r-md:18px;--dwc-r-sm:14px}
html[data-radius="eckig"]{--dwc-r-lg:0;--dwc-r-cta:0;--dwc-r-md:0;--dwc-r-sm:0}
html[data-radius="rund"] {--dwc-r-lg:34px;--dwc-r-cta:42px;--dwc-r-md:24px;--dwc-r-sm:18px}
html[data-density="kompakt"]{--dwc-density:.7}
html[data-density="luftig"] {--dwc-density:1.5}
html[data-density="weit"]   {--dwc-density:2.1}
html[data-intensity="dezent"]  {--dwc-cta-bg:var(--brand-faint); --dwc-chip-bg:var(--brand-faint2)}
html[data-intensity="kraeftig"]{--dwc-cta-bg:var(--brand-soft);  --dwc-chip-bg:var(--brand-soft)}

/* --- Rundung: Kern-Flächen auf die Variablen ziehen (Buttons bleiben Pill-Achse) --- */
body:not(.wp-admin) :is(.card,.dwc-card,.scene,.dwc-scene,.dwc-editor-scene,.scene.small,.table,.dwc-note,.quote,.form,.dwc-form,.price,.dwc-price,.member-panel,.details,.dwc-faq details,.member-hero){border-radius:var(--dwc-r-lg) !important}
body:not(.wp-admin) :is(.cta-box,.black-box,.dwc-quicklinks .wp-block-group__inner-container){border-radius:var(--dwc-r-cta) !important}
body:not(.wp-admin) .dwc-cta .wp-block-group__inner-container{border-radius:var(--dwc-r-cta) !important}
body:not(.wp-admin) :is(.form input,.dwc-form input,.form select,.login-box input,.row,.benefit-code){border-radius:var(--dwc-r-md) !important}
body:not(.wp-admin) :is(.icon,.dwc-symbol){border-radius:var(--dwc-r-sm) !important}
/* URL-Kacheln (Quicklinks/Schnellzugriff) folgen der Rundungs-Achse statt fixer
   24/28px — sonst bleiben sie bei „Eckig" abgerundet. Echter Kachel-Selektor ist
   .wp-block-button__link (WP-Block); Spezifität (0,3,1) = wie die 24px-Regel
   oben, später im Quelltext → gewinnt. Bewusst auf der Rundungs-, nicht der
   Button-Form-Achse (Navigations-Kacheln, keine CTA-Buttons). */
body:not(.wp-admin) :is(.dwc-quicklinks a,.dwc-quicklinks .wp-block-button__link,.black-box a,.black-box button){border-radius:var(--dwc-r-lg) !important}

/* --- Dichte: Sektions-/Hero-/Footer-Padding skalieren (nur Desktop, Mobile-Tuning bleibt) --- */
@media(min-width:1101px){
  body:not(.wp-admin) :is(.dwc-section,section.content,.dwc-story,.story,.member-shell){padding-top:calc(56px*var(--dwc-density)) !important;padding-bottom:calc(56px*var(--dwc-density)) !important}
  body:not(.wp-admin) :is(.hero-inner,.dwc-hero .wp-block-group__inner-container){padding-top:calc(68px*var(--dwc-density)) !important;padding-bottom:calc(88px*var(--dwc-density)) !important}
  body:not(.wp-admin) .footer-inner{padding-top:calc(46px*var(--dwc-density)) !important;padding-bottom:calc(46px*var(--dwc-density)) !important}
}

/* --- Button-Stil: gefüllt-eckig / pill (Default) / outline ------------------
   Default-Pill bleibt aus der Basis (border-radius:999px) + Akzent-Füllung. */
html[data-btn="fill"] body:not(.wp-admin) :is(.btn.primary,.btn.secondary,.dwc-actions a,.wp-block-button__link){border-radius:12px !important}
/* Wer Ecken "eckig" UND Schaltflächen "eckig" wählt, erwartet keine
   12px-Rundung mehr — sonst bleibt die Seite sichtbar weich, obwohl alles
   auf eckig steht. Gilt nur fuer diese Kombination; "soft"/"rund" behalten
   die 12px. */
html[data-radius="eckig"][data-btn="fill"] body:not(.wp-admin) :is(.btn.primary,.btn.secondary,.dwc-actions a,.wp-block-button__link,.wp-block-button .wp-block-button__link){border-radius:0 !important}
html[data-btn="outline"] body:not(.wp-admin) :is(.btn.primary,.dwc-actions a:not(.secondary),.wp-block-button:not(.is-style-outline) .wp-block-button__link){background:transparent !important;color:var(--brand-ink) !important;border-color:var(--brand-ink) !important;box-shadow:none !important}
html.dwc-dark[data-btn="outline"] body:not(.wp-admin) :is(.btn.primary,.dwc-actions a:not(.secondary),.wp-block-button:not(.is-style-outline) .wp-block-button__link){color:var(--brand-mid2) !important;border-color:var(--brand-mid2) !important}

/* Konzept-Konsistenz: Bei „Eckig" ziehen die NICHT-Button-Elemente ohne eigenen
   Regler mit auf 0 — Label-Pillen („Über uns"), Badges, Bilder, Mobile-Nav.
   Die CTA-Buttons sind BEWUSST ausgenommen: sie besitzen ihren eigenen Regler
   (Button-Stil: Pill/Eckig/Outline). Zwei Regler duerfen nicht dieselbe Ecke
   anfassen — sonst wirkt der Button-Schalter vertauscht/tot. Wer alles eckig will,
   wählt Rundung=Eckig + Button-Stil=Eckig. */
html[data-radius="eckig"] body:not(.wp-admin) :is(.dwc-kicker,.pill,.member-kicker,.chip,.benefit-toolbar span,.label,.dwc-editor-scene p,.badge,.benefit-badge,.dwc-tag,.mobile-nav button,.mobile-nav a,.wp-block-image,.wp-block-image img,figure.wp-block-image,.dwc-story img){border-radius:0 !important}

/* --- Akzent-Intensität: CTA-Fläche + Icon-Kacheln folgen der Stufe --- */
body:not(.wp-admin) :is(.cta-box,.dwc-cta .wp-block-group__inner-container){background:var(--dwc-cta-bg) !important}
html:not(.dwc-dark) body:not(.wp-admin) :is(.icon,.dwc-symbol){background:var(--dwc-chip-bg) !important}

/* --- Flächen einfärben: Header / Footer / CTA per Checkbox in Akzentfarbe --- */
/* Header */
html.dwc-tint-header body:not(.wp-admin) .header{background:var(--brand-ink) !important;border-bottom-color:rgba(255,255,255,.15) !important}
html.dwc-tint-header body:not(.wp-admin) :is(.nav a,.nav button,.tools,.tools a,.brand){color:#fff !important}
html.dwc-tint-header body:not(.wp-admin) :is(.nav a.active,.nav button.active){color:#fff !important;border-color:#fff !important}
html.dwc-tint-header body:not(.wp-admin) .brand-logo{filter:brightness(0) invert(1) !important}
/* Footer */
html.dwc-tint-footer body:not(.wp-admin) .footer{background:var(--brand-darkest) !important;border-top-color:rgba(255,255,255,.12) !important}
html.dwc-tint-footer body:not(.wp-admin) .footer h3{color:var(--brand-mid2) !important}
html.dwc-tint-footer body:not(.wp-admin) :is(.footer h4){color:#f3f1ed !important}
html.dwc-tint-footer body:not(.wp-admin) :is(.footer p,.footer li,.footer a,.footer .dwc-cookie-oeffnen,.footer address){color:#d8d5cf !important}
html.dwc-tint-footer body:not(.wp-admin) .footer :is(a,.dwc-cookie-oeffnen):hover{color:var(--brand-mid2) !important}
/* CTA kräftig */
html.dwc-tint-cta body:not(.wp-admin) :is(.cta-box,.dwc-cta .wp-block-group__inner-container){background:var(--brand-ink) !important}
html.dwc-tint-cta body:not(.wp-admin) :is(.cta h2,.cta p,.dwc-cta h2,.dwc-cta p){color:#fff !important}
/* CTA-Button muss auf der dunklen Fläche sichtbar bleiben -> hell invertieren */
html.dwc-tint-cta body:not(.wp-admin) :is(.cta .btn.primary,.dwc-cta .dwc-actions a:not(.secondary),.dwc-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link){background:#fff !important;color:var(--brand-ink) !important;border-color:#fff !important}

/* Panel-Controls für die neuen Achsen (3er-Segment-Schalter, Stil wie .dwc-ps-font) */
.dwc-palette-switch .dwc-ps-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:2px 0 0}
.dwc-palette-switch .dwc-ps-density{grid-template-columns:repeat(4,1fr)}
.dwc-palette-switch .dwc-ps-density button{padding:8px 2px;font-size:11px}
.dwc-palette-switch .dwc-ps-seg button{border:1px solid #d4d4d8;background:#fff;border-radius:8px;padding:8px 0;font:inherit;font-weight:700;font-size:12px;cursor:pointer;color:#52525b;justify-content:center;text-align:center;gap:0}
.dwc-palette-switch .dwc-ps-seg button[aria-pressed="true"]{background:#18181b;color:#fff;border-color:#18181b}

/* ===== Marine (Oksana-Komposition) =========================================
   Oksanas Entwurf: heller Header, Headline-Akzent rot (--brand-hot, schon
   aktiv), Sand als Block-Hintergrund, Footer in Marine (Navy), Box-Umrandungen
   rot. Nur fuer data-palette="marine" — andere Welten unberuehrt. */
/* Header = reines Weiss (Oksana: Weiss als Palette-Bestandteil), nicht der
   Theme-Creme-Default. Solid statt halbtransparent fuer klaren weissen Balken. */
html[data-palette="marine"]:not(.dwc-tint-header):not(.dwc-dark) body:not(.wp-admin) .header{background:#ffffff !important}
/* Footer Marine: navy NUR wenn „Footer dunkel" aktiv (Schalter steuert ihn).
   Default-navy kommt aus dem gespeicherten Server-Design (tints.footer=true);
   Schalter aus = heller Theme-Footer. Heller Text liefert die generische
   .dwc-tint-footer-Regel; navy + roter Trenner hier (Marine-spezifisch). */
html[data-palette="marine"].dwc-tint-footer body:not(.wp-admin) .footer{background:var(--brand-ink) !important;border-top:3px solid var(--brand-hot) !important}
/* Sand als Block-Hintergrund (Story-/Inhaltsbloecke auf Sand statt Weiss) */
html[data-palette="marine"]:not(.dwc-dark) body:not(.wp-admin) :is(.story,.dwc-story){background:var(--brand-faint) !important}
/* Box-Umrandungen in Rot (Inhalts-Karten/-Boxen) */
html[data-palette="marine"] body:not(.wp-admin) :is(.card,.dwc-card,.dwc-note,.quote,.price,.dwc-price,.details,.dwc-faq details,.form,.dwc-form,.table){border:1.5px solid var(--brand-hot) !important}
/* Quicklinks-Block: helle Karte mit rotem Rahmen statt dunklem Klotz; Kacheln
   hell mit navy Text (auf der weißen Karte lesbar). */
html[data-palette="marine"]:not(.dwc-dark) body:not(.wp-admin) :is(.dwc-quicklinks > .wp-block-group__inner-container,.black-box){background:#ffffff !important;border:1.5px solid var(--brand-hot) !important}
html[data-palette="marine"]:not(.dwc-dark) body:not(.wp-admin) :is(.dwc-quicklinks a,.dwc-quicklinks .wp-block-button__link,.black-box a,.black-box button){background:var(--brand-faint) !important;color:var(--brand-ink) !important;border:1px solid var(--brand-faint) !important}
/* Quicklinks-Überschrift (CSS-content, sonst hell #f3f1ed) auf der weißen Karte dunkel */
html[data-palette="marine"]:not(.dwc-dark) body:not(.wp-admin) .dwc-quicklinks > .wp-block-group__inner-container::before{color:var(--brand-ink) !important}

/* ===== Startseiten-Hero pro Farbwelt =======================================
   Das Hero nutzt --hero-img (auf .dwc-hero::before), pro Seite via Body-Klasse
   gesetzt (z.B. body.home). Hier pro Farbwelt überschreiben — Spezifität muss
   `body:not(.wp-admin).home` (0,2,1) schlagen, daher mit html[data-palette]
   davor (0,3,2). Greift live beim Farbwelt-Umschalten. Nur Startseite. */
html[data-palette="grasgruen"] body:not(.wp-admin).home,
html[data-palette="limette"] body:not(.wp-admin).home,
html[data-palette="bulligruen"] body:not(.wp-admin).home,
html[data-palette="tanne"] body:not(.wp-admin).home,
html[data-palette="salbei"] body:not(.wp-admin).home,
html[data-palette="wald"] body:not(.wp-admin).home{--hero-img:url(../images/camper-hero-couple-03.webp)}
/* Warme Welten → Alpensee-Motiv (golden hour). Marine (Default) NICHT — Marine
   zeigt den roten Strand-Bulli (Basis-Regel), passend zum roten Akzent #D81C1C. */
html[data-palette="sand"] body:not(.wp-admin).home,
html[data-palette="terra"] body:not(.wp-admin).home,
html[data-palette="bullirost"] body:not(.wp-admin).home,
html[data-palette="bernstein"] body:not(.wp-admin).home,
html[data-palette="pflaume"] body:not(.wp-admin).home{--hero-img:url(../images/alpine-lake-camper-golden-hour.webp)}


/* Magazin-Einzelbeitrag, Suche, Fehlerseite (Templates single/archive/search/404) */
.dwc-artikel{max-width:780px}
.dwc-artikel p,.dwc-artikel li{line-height:1.85;color:#3f3f46}
.dwc-artikel h2{margin:38px 0 10px;font-size:30px;letter-spacing:-.03em;font-weight:950}
.dwc-artikel h3{margin:28px 0 8px;font-size:22px;font-weight:950}
.dwc-artikel img{max-width:100%;height:auto;border-radius:24px}
.dwc-artikel blockquote{margin:28px 0;border-left:3px solid var(--brand-mid);padding:4px 0 4px 20px;color:#52525b}
.dwc-suchform{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px}
.dwc-suchform input[type=search]{flex:1;min-width:220px;border:1px solid #d4d4d8;border-radius:999px;padding:14px 20px;background:#fff;font:inherit}
.dwc-suchform .btn{cursor:pointer}
.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.navigation.pagination{margin-top:34px}
.navigation .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.navigation .page-numbers{display:inline-flex;min-width:44px;justify-content:center;border-radius:999px;background:#fff;padding:10px 16px;font-weight:850;text-decoration:none;color:#27272a;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.navigation .page-numbers.current{background:#000;color:#fff}

/* ============================================================
 * Kacheln als Ganzes anklickbar, Verweise als Verweise erkennbar
 *
 * Vorher war in einer Kachel nur die 14px hohe Textzeile am Fuß
 * anklickbar, und sie trug dieselbe Farbe, Größe und Schriftstärke wie
 * der Fließtext darüber. Sie sah also nicht aus wie ein Verweis und war
 * schwer zu treffen — besonders am Telefon.
 *
 * Die Trefferfläche entsteht ohne zweites Ziel: Der vorhandene Verweis
 * legt über die Kachel eine unsichtbare Fläche. Es bleibt ein einziger
 * Verweis im Dokument, Tastaturbedienung und Vorlese-Werkzeuge sehen
 * keinen Unterschied, und das Ziel steht weiterhin sichtbar am Fuß.
 *
 * Bewusst eng gefasst: nur wenn der letzte Absatz der Kachel genau
 * einen Verweis enthält und sonst nichts. Zwei überlagerte Flächen
 * würden einander verdecken, und welche gewinnt, wäre Zufall.
 * ============================================================ */
body:not(.wp-admin) .dwc-card {
  position: relative;
  transition: box-shadow 160ms ease;
}
/* Die Kachel hat keinen Rahmen — die Rückmeldung beim Zeigen läuft deshalb
   über den Schatten. In Ruhe 3px/6%, beim Zeigen 8px/12%: deutlich genug,
   um die aktive Kachel zu erkennen, ohne dass die Fläche springt. */
@media (hover: hover) {
  body:not(.wp-admin) .dwc-card:hover {
    box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
  }
}
/* Tastatur: Der Rahmen gehört um die ganze Kachel, nicht um die Textzeile. */
body:not(.wp-admin) .dwc-card:focus-within {
  outline: 2px solid var(--brand-ink);
  outline-offset: 2px;
}
body:not(.wp-admin) .dwc-card p:last-child > a:only-child {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--brand-ink);
  font-weight: 600;
  text-decoration: none;
}
/* Pfeil als Zeichen im Stil, nicht als Bild — wandert beim Zeigen mit. */
body:not(.wp-admin) .dwc-card p:last-child > a:only-child::before {
  content: "\2192";
  order: 2;
  transition: transform 160ms ease;
}
body:not(.wp-admin) .dwc-card:hover p:last-child > a:only-child::before {
  transform: translateX(3px);
}
body:not(.wp-admin) .dwc-card:hover p:last-child > a:only-child {
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* Die unsichtbare Trefferfläche über der ganzen Kachel. */
body:not(.wp-admin) .dwc-card p:last-child > a:only-child::after {
  content: "";
  position: absolute;
  inset: 0;
}

/* ============================================================
 * Galerie der Fahrsicherheitstrainings
 * Ein Abschnitt je Veranstaltung, Vorschaubilder im Raster, Großansicht
 * über eine schlichte Auflage. Keine Fremdbibliothek.
 * ============================================================ */
body:not(.wp-admin) .dwc-galerie-termin { margin-top: 48px; }
body:not(.wp-admin) .dwc-galerie-titel {
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
  margin: 0 0 18px; font-size: 24px; font-weight: 950; letter-spacing: -.02em;
}
body:not(.wp-admin) .dwc-galerie-titel span { color: var(--brand-ink); }
body:not(.wp-admin) .dwc-galerie-titel small {
  font-size: 14px; font-weight: 500; color: #71717a; letter-spacing: 0;
}
body:not(.wp-admin) .dwc-galerie-raster {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px;
}
body:not(.wp-admin) .dwc-galerie-bild {
  padding: 0; border: 0; background: none; cursor: zoom-in; display: block;
  border-radius:var(--dwc-r-sm,0); overflow: hidden; line-height: 0;
}
body:not(.wp-admin) .dwc-galerie-bild img {
  width: 100%; height: 165px; object-fit: cover; display: block;
  transition: transform 200ms ease;
}
body:not(.wp-admin) .dwc-galerie-bild:hover img { transform: scale(1.04); }
body:not(.wp-admin) .dwc-galerie-bild:focus-visible { outline: 2px solid var(--brand-ink); outline-offset: 2px; }

/* Großansicht */
body:not(.wp-admin) .dwc-lupe {
  position: fixed; inset: 0; z-index: 9999; background: rgba(8,18,13,.94);
  display: flex; align-items: center; justify-content: center; padding: 32px;
}
body:not(.wp-admin) .dwc-lupe[hidden] { display: none; }
body:not(.wp-admin) .dwc-lupe img {
  max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 4px;
}
body:not(.wp-admin) .dwc-lupe button {
  position: absolute; background: rgba(255,255,255,.12); color: #fff; border: 0;
  width: 48px; height: 48px; border-radius: 999px; cursor: pointer; font-size: 26px;
  line-height: 1; display: grid; place-items: center;
}
body:not(.wp-admin) .dwc-lupe button:hover { background: rgba(255,255,255,.24); }
body:not(.wp-admin) .dwc-lupe-zu { top: 20px; right: 20px; }
body:not(.wp-admin) .dwc-lupe-vor { left: 20px; top: 50%; transform: translateY(-50%); }
body:not(.wp-admin) .dwc-lupe-zurueck { right: 20px; top: 50%; transform: translateY(-50%); }
@media (max-width: 700px) {
  body:not(.wp-admin) .dwc-galerie-raster { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
  body:not(.wp-admin) .dwc-galerie-bild img { height: 120px; }
  body:not(.wp-admin) .dwc-lupe { padding: 12px; }
}
body:not(.wp-admin) .dwc-galerie-mehr {
  margin-top: 14px; padding: 11px 20px; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--line); background: #fff; font: inherit; font-weight: 600;
  color: var(--brand-ink);
}
body:not(.wp-admin) .dwc-galerie-mehr:hover { border-color: var(--brand-mid); }

/* Einheitliche Bildkopf-Höhe: Die Untergrenze von 460px allein reicht nicht,
   weil längere Texte die Fläche auseinanderdrücken — die Fahrtrainings kamen
   so auf 570px, die Galerie auf 466px. Der Unterschied steckt im Polster:
   68px oben und 88px unten bei 414px Inhalt. Mit 24px liegt alles bei rund
   460px, ohne dass Text abgeschnitten wird. (28.09.2026) */
body:not(.wp-admin).dwc-theme .dwc-hero .wp-block-group__inner-container {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

/* ============================================================
 * Impressionen-Streifen: quer scrollbare Auswahl aus der Galerie
 * Ohne Selbstlauf — geblättert wird per Pfeil, Wischen oder Rad.
 * ============================================================ */
body:not(.wp-admin) .dwc-streifen-kopf {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 20px; flex-wrap: wrap; margin-bottom: 20px;
}
body:not(.wp-admin) .dwc-streifen-kopf h2 { margin: 0; }
body:not(.wp-admin) .dwc-streifen-link {
  font-weight: 600; color: var(--brand-ink); text-decoration: none;
  display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
}
body:not(.wp-admin) .dwc-streifen-link:after { content: "\2192"; transition: transform 160ms ease; }
body:not(.wp-admin) .dwc-streifen-link:hover { text-decoration: underline; text-underline-offset: 3px; }
body:not(.wp-admin) .dwc-streifen-link:hover:after { transform: translateX(3px); }

body:not(.wp-admin) .dwc-streifen-huelle { position: relative; }
body:not(.wp-admin) .dwc-streifen {
  display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-padding-left: 0; padding-bottom: 6px; scrollbar-width: thin;
}
body:not(.wp-admin) .dwc-streifen-bild {
  flex: 0 0 auto; width: 260px; scroll-snap-align: start; position: relative;
  border-radius:var(--dwc-r-sm,0); overflow: hidden; text-decoration: none; line-height: 0;
}
body:not(.wp-admin) .dwc-streifen-bild img {
  width: 260px; height: 175px; object-fit: cover; display: block;
  transition: transform 220ms ease;
}
body:not(.wp-admin) .dwc-streifen-bild:hover img { transform: scale(1.05); }
body:not(.wp-admin) .dwc-streifen-bild span {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 10px 8px;
  font-size: 12px; line-height: 1.4; color: #fff;
  background: linear-gradient(180deg, rgba(8,18,13,0) 0%, rgba(8,18,13,.78) 100%);
}
body:not(.wp-admin) .dwc-streifen-bild:focus-visible { outline: 2px solid var(--brand-ink); outline-offset: 2px; }

body:not(.wp-admin) .dwc-streifen-pfeil {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 40px; height: 40px; border-radius: 999px; border: 1px solid var(--line);
  background: #fff; cursor: pointer; font-size: 22px; line-height: 1;
  display: grid; place-items: center; box-shadow: 0 3px 12px rgba(0,0,0,.12);
}
body:not(.wp-admin) .dwc-streifen-pfeil:hover { border-color: var(--brand-mid); }
body:not(.wp-admin) .dwc-streifen-pfeil.vor { left: -14px; }
body:not(.wp-admin) .dwc-streifen-pfeil.zurueck { right: -14px; }
@media (max-width: 760px) {
  body:not(.wp-admin) .dwc-streifen-pfeil { display: none; }
  body:not(.wp-admin) .dwc-streifen-bild,
  body:not(.wp-admin) .dwc-streifen-bild img { width: 210px; }
  body:not(.wp-admin) .dwc-streifen-bild img { height: 145px; }
}

/* ── Rechtstexte als flache Zeile am Fuss ────────────────────
   Impressum, Datenschutz, AGB und Widerruf standen in der Spalte
   „Mehr DWC" und machten den Fussbereich unnoetig hoch. Jetzt nebeneinander in einer eigenen Zeile.
   Platz ist bewusst fuer einen fuenften Eintrag: die
   Kuendigungsschaltflaeche, sobald der Online-Beitritt laeuft. */
body:not(.wp-admin) .footer-recht {
  border-top: 1px solid var(--linie, rgba(0,0,0,.1));
  background: rgba(0,0,0,.03);
}
body:not(.wp-admin) .footer-recht-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  font-size: 13px;
}
body:not(.wp-admin) .footer-recht-inner a {
  color: var(--muted, #52525b);
  text-decoration: none;
}
body:not(.wp-admin) .footer-recht-inner a:hover,
body:not(.wp-admin) .footer-recht-inner a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 700px) {
  body:not(.wp-admin) .footer-recht-inner { gap: 8px 18px; font-size: 12px; }
}

/* ── Kachelbilder ────────────────────────────────────────────
   Das Bild sitzt am Kopf der Kachel und laeuft ueber die volle
   Breite, der Innenabstand wird dafuer aufgehoben. Feste
   Hoehenverhaeltnisse, damit nebeneinanderstehende Kacheln gleich
   hoch bleiben. Faellt ein Bild aus, bleibt die Kachel lesbar —
   der Textteil haengt nicht am Bild. */
/* Zwei Kacheln sollen die ganze Breite nutzen statt zwei von vier Spalten
   zu belegen. Trifft genau dann, wenn eine zweite, aber keine dritte Kachel
   vorhanden ist — unabhaengig davon, was sonst im Container steht. */
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container:has(> .dwc-card:nth-of-type(2)):not(:has(> .dwc-card:nth-of-type(3))) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
}
/* In den beiden breiten Kacheln ist der Abschluss keine Randnotiz, sondern
   die Handlungsaufforderung — deshalb als Schaltflaeche statt als Textlink.
   Farbe und Hoehe wie die Schaltflaechen im Bildkopf. */
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container:has(> .dwc-card:nth-of-type(2)):not(:has(> .dwc-card:nth-of-type(3))) > .dwc-card p:last-child > a:only-child {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  padding: 14px 26px;
  background: var(--brand-ink);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  transition: background .18s ease;
}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container:has(> .dwc-card:nth-of-type(2)):not(:has(> .dwc-card:nth-of-type(3))) > .dwc-card p:last-child > a:only-child::before {
  content: none;
}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container:has(> .dwc-card:nth-of-type(2)):not(:has(> .dwc-card:nth-of-type(3))) > .dwc-card:hover p:last-child > a:only-child,
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container:has(> .dwc-card:nth-of-type(2)):not(:has(> .dwc-card:nth-of-type(3))) > .dwc-card p:last-child > a:only-child:hover,
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container:has(> .dwc-card:nth-of-type(2)):not(:has(> .dwc-card:nth-of-type(3))) > .dwc-card p:last-child > a:only-child:focus-visible {
  background: var(--brand-deep2);
  color: #fff;
}

/* Bei doppelter Kachelbreite laeuft der Text sonst als lange Zeile durch. */
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container:has(> .dwc-card:nth-of-type(2)):not(:has(> .dwc-card:nth-of-type(3))) > .dwc-card p {
  max-width: 58ch;
}
@media (max-width: 860px) {
  body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container:has(> .dwc-card:nth-of-type(2)):not(:has(> .dwc-card:nth-of-type(3))) {
    grid-template-columns: 1fr !important;
  }
}

body:not(.wp-admin) .dwc-card:has(.dwc-kachel-bild),
body:not(.wp-admin) .dwc-card.dwc-card:has(.dwc-kachel-bild),
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container > .dwc-card:has(.dwc-kachel-bild) {
  padding-top: 0 !important;
}
body:not(.wp-admin) .dwc-card:has(.dwc-kachel-bild) > .wp-block-group__inner-container {
  padding-top: 0 !important;
}
body:not(.wp-admin) .dwc-kachel-bild {
  display: block;
  width: calc(100% + 48px);
  max-width: none;
  height: auto;
  margin: 0 -24px 18px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: rgba(0,0,0,.05);
}
@media (max-width: 700px) {
  body:not(.wp-admin) .dwc-kachel-bild { width: calc(100% + 40px); margin-inline: -20px; }
}

/* Unternavigation auf „Mein Profil". Das Menü unter dem Personen-Symbol
   führt nur noch Profil und Abmelden; die übrigen Mitgliederseiten hängen
   hier darunter (Konzept Mitgliederbereich, AK-16). */
body:not(.wp-admin) .dwc-profil-nav {
  max-width: 1280px;
  margin: 0 auto;
  padding: 18px 20px 0;
}
body:not(.wp-admin) .dwc-profil-nav p {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
}
body:not(.wp-admin) .dwc-profil-nav a {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}
body:not(.wp-admin) .dwc-profil-nav a:hover,
body:not(.wp-admin) .dwc-profil-nav a:focus-visible {
  background: var(--brand-faint);
  border-color: var(--brand-mid);
}

/* Begrüßung nach der Anmeldung (page-mitgliederbereich.php) */
.dwc-begruessung{max-width:1280px;margin:0 auto;padding:48px 20px 8px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:48px;align-items:center}
.dwc-begruessung h1{margin:0;font-size:40px;line-height:1.1;letter-spacing:-.03em;font-weight:950}
.dwc-begruessung p{margin:12px 0 0;color:#52525b;line-height:1.7;max-width:56ch}
.dwc-begruessung-links{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.dwc-begruessung-links a{display:inline-block;padding:10px 16px;border:1px solid var(--brand-ink,#18181b);border-radius:2px;color:var(--brand-ink,#18181b);font-weight:700;text-decoration:none}
.dwc-begruessung-links a:hover,.dwc-begruessung-links a:focus-visible{background:var(--brand-ink,#18181b);color:#fff}
.dwc-begruessung-karte .mbx-member-card-wrap{margin:0}
@media(max-width:900px){.dwc-begruessung{grid-template-columns:1fr;gap:24px}.dwc-begruessung-karte{max-width:480px}}
@media(max-width:700px){.dwc-begruessung{padding-top:32px}.dwc-begruessung h1{font-size:30px}}
.dwc-angemeldet .dwc-login-section,.dwc-angemeldet .dwc-hero{display:none}

/* ── Kontaktformular ─────────────────────────────────────────
   Zwei Spalten auf dem Schirm, eine am Telefon. Die Nachricht und
   alles darunter laufen ueber die volle Breite (.span2). */
.dwc-kontaktform {
  border: 1px solid var(--linie, #e2e0d8);
  background: var(--flaeche, #fff);
  padding: 32px;
}
.dwc-kontaktform h2 { margin: 0 0 8px; }
.dwc-kontaktform-lead { margin: 0 0 24px; color: var(--text-leise, #5c5a53); }
.dwc-kontaktform-felder {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.dwc-kontaktform-felder > label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.9rem;
  font-weight: 500;
}
.dwc-kontaktform-felder .span2 { grid-column: 1 / -1; }
.dwc-kontaktform-felder input,
.dwc-kontaktform-felder textarea {
  font: inherit;
  padding: 10px 12px;
  border: 1px solid var(--linie, #e2e0d8);
  background: #fff;
  color: inherit;
}
.dwc-kontaktform-felder textarea { resize: vertical; }
.dwc-kontaktform-felder input:focus-visible,
.dwc-kontaktform-felder textarea:focus-visible {
  outline: 2px solid var(--brand-600, #2f6b3a);
  outline-offset: 1px;
}
/* Die Fangfrage fuer Formular-Roboter. Nicht display:none — manche
   Roboter ueberspringen, was unsichtbar geschaltet ist. */
.dwc-kontaktform-falle {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.dwc-kontaktform-hinweis { margin: 0; font-size: 0.85rem; color: var(--text-leise, #5c5a53); }
.dwc-kontaktform-fuss { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.dwc-kontaktform-meldung { margin: 0; font-size: 0.9rem; }
.dwc-kontaktform-meldung.gut { color: var(--brand-600, #2f6b3a); }
.dwc-kontaktform-meldung.schlecht { color: #a2322b; }
@media (max-width: 820px) {
  .dwc-kontaktform { padding: 20px; }
  .dwc-kontaktform-felder { grid-template-columns: 1fr; }
  .dwc-kontaktform-felder .span2 { grid-column: auto; }
}

/* Bilder in den Karten der Seitenvorlagen (dwc_cards) */
.card .dwc-karte-bild{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

/* ============================================================
 * Seitenkopf und Inhaltskante
 *
 * Eine Kante für alles: Inhalt beginnt bei
 * max(Rand, (Breite - 1280px) / 2 + Rand) — dort, wo im Kopf die H1 steht.
 * Abschnitte behalten ihren randlosen Hintergrund; nur der Inhalt rückt
 * auf die Kante. Kästen mit Abschnittsüberschrift ragen um ihr Polster
 * über die Kante hinaus, damit die Schrift darauf steht.
 * ============================================================ */
:root {
  --dwc-breite: 1280px;
  --dwc-rand: 20px;
  --dwc-kante: max(var(--dwc-rand), calc((100% - var(--dwc-breite)) / 2 + var(--dwc-rand)));
  /* 1300 statt 1280: Reserve für die Bildlaufleiste, die 100vw mitzählt. */
  --dwc-polster: clamp(var(--dwc-rand), calc((100vw - 1300px) / 2 + var(--dwc-rand)), 40px);
}
@media (max-width: 760px) {
  :root { --dwc-rand: 16px; }
}

/* Standard-Kopfbild für Seiten ohne eigenes (Rechtstexte, neue Seiten).
   Die Zuordnung je Seite und das Beitragsbild gehen vor. */
body:not(.wp-admin) { --hero-img: url(../images/camper-hero-beach-sunset-01.webp); }
@media (max-width: 820px) {
  body:not(.wp-admin) { --hero-img: url(../images/camper-hero-center-safe-01.webp); }
}

/* Abschnitte: Hintergrund randlos, Inhalt auf der Kante. */
body:not(.wp-admin) main.dwc-page-content > .wp-block-group:not(.dwc-hero) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body:not(.wp-admin) main.dwc-page-content > :is(.dwc-hero, .wp-block-group, .dwc-seiteninhalt) > .wp-block-group__inner-container,
body:not(.wp-admin) main.dwc-page-content > :is(section.content, section.cta, section.story, section.black-links, .dwc-begruessung, .dwc-profil-nav) {
  width: 100% !important;
  max-width: var(--dwc-breite) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--dwc-rand) !important;
  padding-right: var(--dwc-rand) !important;
  box-sizing: border-box !important;
}
/* Gruppen ohne inneren Behälter (Magazin-Raster, Anmeldefeld). */
body:not(.wp-admin) main.dwc-page-content > .dwc-section:not(:has(> .wp-block-group__inner-container)) {
  padding-left: var(--dwc-kante) !important;
  padding-right: var(--dwc-kante) !important;
}

/* Inhalt von Seiten ohne eigene Vorlage (page.php). */
body:not(.wp-admin) .dwc-seiteninhalt { padding-top: 56px; padding-bottom: 56px; }
/* Steht dort doch eine Abschnittsgruppe, bringt sie kein zweites Polster mit. */
body:not(.wp-admin) .dwc-seiteninhalt :is(.dwc-section, .dwc-cta),
body:not(.wp-admin) .dwc-seiteninhalt .dwc-profil-nav {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Rechtstext-Kästen stehen auf der Kante statt mittig. */
body:not(.wp-admin) main.dwc-page-content .dwc-impressum {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Kästen mit Abschnittsüberschrift hängen um ihr Polster. */
body:not(.wp-admin) main.dwc-page-content :is(.cta-box, .dwc-form, .dwc-kontaktform) {
  margin-left: calc(-1 * var(--dwc-polster)) !important;
  margin-right: calc(-1 * var(--dwc-polster)) !important;
  padding-left: var(--dwc-polster) !important;
  padding-right: var(--dwc-polster) !important;
}
body:not(.wp-admin) main.dwc-page-content > .dwc-cta > .wp-block-group__inner-container {
  max-width: calc(var(--dwc-breite) - 2 * var(--dwc-rand) + 2 * var(--dwc-polster)) !important;
  padding-left: var(--dwc-polster) !important;
  padding-right: var(--dwc-polster) !important;
}
/* Wo das Polster auf den Rand schrumpft, läuft der Kasten randlos. */
@media (max-width: 1300px) {
  body:not(.wp-admin) main.dwc-page-content :is(.cta-box, .dwc-form, .dwc-kontaktform, .dwc-cta > .wp-block-group__inner-container) {
    border-radius: 0 !important;
  }
}

/* Eine Größe für Abschnittsüberschriften. Kastentitel (Kacheln,
   Rechtstext-Kästen) sind nicht gemeint. */
body:not(.wp-admin) main.dwc-page-content :is(.dwc-section > .wp-block-group__inner-container > h2, .dwc-section > h2, .dwc-cta h2, .dwc-form h2, .intro > h2, .cta-box > h2, .dwc-kontaktform > h2, .dwc-streifen-kopf h2, .dwc-seiteninhalt > .wp-block-group__inner-container > h2) {
  font-size: clamp(30px, 9vw, 40px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}

/* Kopf: Die rechte Spalte der älteren Vorlagen (Beitrag, Archiv, Suche, 404)
   weicht dem Foto wie im Inhaltsblock. */
body:not(.wp-admin) .dwc-hero > .wp-block-group__inner-container > div:not(.wp-block-columns) ~ div {
  display: none !important;
}
/* Angemeldete sehen im Mitgliederbereich die Begrüßung statt des Kopfs;
   die Kopf-Regeln setzen display:flex und würden das sonst aufheben. */
body:not(.wp-admin) main.dwc-angemeldet .dwc-hero { display: none !important; }

/* Telefon und Tablet: Ein langes Wort in H1 oder Abschnittsüberschrift
   trennt, statt die Seite breiter als das Fenster zu machen (Impressum, AGB:
   H1; Veranstaltungen, Fahrtrainings: „Fahrsicherheitstraining…" in der H2,
   jeweils bei 375px). */
@media (max-width: 1100px) {
  body:not(.wp-admin) main.dwc-page-content .dwc-hero .wp-block-columns { grid-template-columns: minmax(0, 1fr) !important; }
  body:not(.wp-admin) main.dwc-page-content .dwc-hero .wp-block-column { min-width: 0 !important; }
  body:not(.wp-admin) main.dwc-page-content .dwc-hero h1,
  body:not(.wp-admin) main.dwc-page-content :is(.dwc-section > .wp-block-group__inner-container > h2, .dwc-section > h2, .dwc-cta h2, .dwc-form h2, .intro > h2, .cta-box > h2, .dwc-kontaktform > h2, .dwc-streifen-kopf h2, .dwc-seiteninhalt > .wp-block-group__inner-container > h2) {
    -webkit-hyphens: auto !important;
    hyphens: auto !important;
    /* Nur lange Wörter trennen: ohne Grenze trennte der Browser auch „ei-nen“ und „wich-tigsten“. */
    hyphenate-limit-chars: 10 4 4;
    -webkit-hyphenate-limit-before: 4;
    -webkit-hyphenate-limit-after: 4;
    overflow-wrap: break-word !important;
  }
}


body:not(.wp-admin) .dwc-seiteninhalt :is(.mbx-member-profile, .mbx-member-beitrag, .mbx-member-familie, .mbx-member-events, .mbx-member-card-wrap, .mbx-member-status-wrap, .mbx-member-empty, .mbx-benefits-error, .mbx-benefits-empty, .mbx-magazin) {
  margin-left: 0 !important;
  margin-right: auto !important;
}
body:not(.wp-admin) .dwc-seiteninhalt :is(.mbx-member-profile-title, .mbx-member-beitrag-title, .mbx-member-familie-title, .mbx-member-events-title) {
  display: none;
}

/* Seitenkopf: Inhalt beginnt auf jeder Seite im selben Abstand von oben,
   statt senkrecht zentriert zu werden. Zentriert wanderten Plakette und H1
   je nach Textmenge (Startseite 48 px, Schutzbrief 134 px, Impressum 152 px
   von oben). Seiten ohne Plakette halten deren Platz frei, damit auch die
   H1 ueberall auf derselben Hoehe steht. */
body:not(.wp-admin).dwc-theme .dwc-hero { align-items: flex-start !important; }
body:not(.wp-admin) .dwc-hero .wp-block-column > h1:first-child { margin-top: 106px; }
@media (max-width: 700px) {
  body:not(.wp-admin) .dwc-hero .wp-block-column > h1:first-child { margin-top: 0; }
}


body:not(.wp-admin) .dwc-magazin-artikel .dwc-magazin-datum { margin: 0 0 8px; font-size: 14px; font-weight: 750; color: var(--muted); }
body:not(.wp-admin) :is(.dwc-magazin-artikel, .dwc-page-content) .magazin-kasten {
  margin: 34px 0;
  padding: 22px 26px;
  background: var(--brand-faint);
  border: 0;
  border-left: 6px solid var(--brand-mid);
  border-radius: 2px;
  color: var(--ink);
}
body:not(.wp-admin) :is(.dwc-magazin-artikel, .dwc-page-content) .magazin-kasten :is(h2, h3) { margin-top: 0; }
body:not(.wp-admin) :is(.dwc-magazin-artikel, .dwc-page-content) .magazin-kasten :is(p, li) { color: var(--ink); }
body:not(.wp-admin) :is(.dwc-magazin-artikel, .dwc-page-content) .magazin-checkliste {
  margin: 34px 0;
  padding: 22px 26px;
  background: #fff;
  border: 2px dashed var(--brand-ink);
  border-radius: 2px;
}
body:not(.wp-admin) :is(.dwc-magazin-artikel, .dwc-page-content) .magazin-checkliste :is(h2, h3) { margin-top: 0; }
body:not(.wp-admin) .dwc-magazin-artikel .magazin-drucken {
  margin-top: 14px;
  padding: 10px 18px;
  border: 1px solid var(--brand-ink);
  border-radius: 2px;
  background: #fff;
  color: var(--brand-ink);
  font-weight: 850;
}
body:not(.wp-admin) .dwc-magazin-artikel .magazin-drucken:hover { background: var(--brand-faint); }
body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-tabelle { margin: 24px 0; }
body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-tabelle :is(th, td) { border-color: var(--line); padding: 10px 12px; font-size: 15px; line-height: 1.55; }
body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-tabelle thead th { background: var(--brand-faint); color: var(--ink); }
body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-tabelle tbody tr:nth-child(even) { background: rgba(0,0,0,.025); }
html.dwc-dark body:not(.wp-admin) :is(.dwc-magazin-artikel, .dwc-page-content) .magazin-kasten { background: color-mix(in srgb, var(--brand-darkest) 80%, var(--brand-mid)); color: #f3f1ed; }
html.dwc-dark body:not(.wp-admin) :is(.dwc-magazin-artikel, .dwc-page-content) .magazin-kasten :is(p, li, h2, h3) { color: #f3f1ed; }
html.dwc-dark body:not(.wp-admin) :is(.dwc-magazin-artikel, .dwc-page-content) .magazin-checkliste,
html.dwc-dark body:not(.wp-admin) .dwc-magazin-artikel .magazin-drucken { background: transparent; border-color: var(--brand-mid); color: #f3f1ed; }
html.dwc-dark body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-tabelle thead th { background: rgba(255,255,255,.08); color: #f3f1ed; }
@media (max-width: 700px) {
  body:not(.wp-admin) :is(.dwc-magazin-artikel, .dwc-page-content) :is(.magazin-kasten, .magazin-checkliste) { padding: 18px 16px; }
}

body:not(.wp-admin) .dwc-magazin-autorenzeile { margin: 0 0 1.25rem; color: var(--muted); font-weight: 650; }
/* Magazin-Einzelbeitrag mittig: .dwc-section ist hier volle Breite mit margin 0, der Artikel hatte keinen Ausgleich */
body:not(.wp-admin) .dwc-section > .dwc-magazin-artikel { margin-left: auto; margin-right: auto; }
body:not(.wp-admin) .dwc-section > .dwc-magazin-artikel + p { max-width: 780px; margin-left: auto; margin-right: auto; }
html body:not(.wp-admin) .dwc-page-content .dwc-section > .dwc-magazin-artikel + .dwc-knopfzeile { max-width: 780px; margin: 40px auto 0; padding: 0; justify-content: flex-start; }
/* Autorenbox: zentrierte Karte, Foto ragt oben heraus */
body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-autoren { max-width: 460px; margin: 6rem auto 0; padding: 0 2rem 1.75rem; background: #fff; border: 1px solid var(--line); box-shadow: 0 2px 14px rgba(0, 0, 0, .05); text-align: center; }
body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-autor { display: flex; flex-direction: column; align-items: center; gap: 1.1rem; margin: 0; }
body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-autor + .mbx-magazin-autor { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
html body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-autoren .mbx-magazin-autor-foto { width: 120px; height: 120px; flex: 0 0 auto; max-width: none; margin-top: -60px; border-radius: 50% !important; object-fit: cover; object-position: center top; box-shadow: 0 0 0 5px var(--bg); }
html body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-autor + .mbx-magazin-autor .mbx-magazin-autor-foto { margin-top: 0; box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--line); }
body:not(.wp-admin) .dwc-magazin-artikel .dwc-magazin-redaktion { display: block; color: var(--brand-ink); font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; line-height: 1.5; }
body:not(.wp-admin) .dwc-magazin-artikel .dwc-magazin-redaktion::before { content: ""; display: block; width: 36px; height: 3px; margin: .8rem auto; background: var(--brand-mid); }
body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-autor-text strong { display: block; font-size: 1.45rem; line-height: 1.25; font-weight: 800; color: #09090b; }
body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-autor-funktion { display: block; margin-top: .2rem; color: var(--muted); font-size: .95rem; }
body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-autor-text p { margin: .7rem 0 0; color: #3f3f46; line-height: 1.65; }
@media (max-width: 600px) {
  body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-autoren { padding: 0 1.25rem 1.25rem; }
  html body:not(.wp-admin) .dwc-magazin-artikel .mbx-magazin-autoren .mbx-magazin-autor-foto { width: 104px; height: 104px; margin-top: -52px; }
}
/* Magazin-Übersicht: Redaktion im Seitenkopf, Einleitung mit H2, Datum und Autor auf den Karten */
body:not(.wp-admin) .dwc-hero .dwc-hero-redaktion { display: inline-flex; align-items: center; gap: .9rem; margin: 28px 1rem 0 0; padding: .6rem 1.1rem .6rem .6rem; background: rgba(15, 25, 15, .45); border: 1px solid rgba(255, 255, 255, .18); }
html body:not(.wp-admin) .dwc-hero .dwc-hero-redaktion img { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 50% !important; object-fit: cover; object-position: center top; box-shadow: 0 0 0 2px rgba(255, 255, 255, .85); }
body:not(.wp-admin) .dwc-hero .dwc-hero-redaktion strong { display: block; margin: 0; color: #fff; font-size: 1.05rem; line-height: 1.3; }
body:not(.wp-admin) .dwc-hero .dwc-hero-redaktion span { display: block; margin: 0; color: rgba(255, 255, 255, .85); font-size: .85rem; line-height: 1.4; }
body:not(.wp-admin) .dwc-magazin-einleitung { max-width: 860px; margin: 0 0 34px; }
body:not(.wp-admin) .dwc-magazin-einleitung h2 { margin: 0 0 14px; }
body:not(.wp-admin) .dwc-magazin-einleitung p { margin: 0; color: #52525b; line-height: 1.8; }
body:not(.wp-admin) .dwc-magazin-einleitung p + p { margin-top: 14px; }
body:not(.wp-admin) .card .dwc-magazin-karte-meta { margin: 6px 0 0; color: var(--muted); font-size: 13px; font-weight: 650; }
/* Magazin-Übersicht: eine Zeile je Beitrag, dazwischen Linie mit kleinem Club-Logo */
body:not(.wp-admin) .dwc-magazin-zeile { display: grid; grid-template-columns: 1.15fr 1fr; margin: 0; }
body:not(.wp-admin) .dwc-magazin-zeile .dwc-magazin-karte-bild { display: block; min-height: 100%; }
body:not(.wp-admin) .dwc-magazin-zeile .dwc-karte-bild { width: 100%; height: 100%; min-height: 320px; aspect-ratio: auto; object-fit: cover; display: block; }
body:not(.wp-admin) .dwc-magazin-zeile .card-pad { display: flex; flex-direction: column; justify-content: center; padding: 36px 40px; }
body:not(.wp-admin) .dwc-magazin-zeile h3 { font-size: 30px; line-height: 1.15; letter-spacing: -.02em; }
body:not(.wp-admin) .dwc-magazin-zeile .dwc-magazin-karte-lead { font-size: 16px; }
@media (max-width: 900px) {
  body:not(.wp-admin) .dwc-magazin-zeile { grid-template-columns: 1fr; }
  body:not(.wp-admin) .dwc-magazin-zeile .dwc-karte-bild { min-height: 0; height: auto; aspect-ratio: 16 / 9; }
  body:not(.wp-admin) .dwc-magazin-zeile .card-pad { padding: 24px; }
  body:not(.wp-admin) .dwc-magazin-zeile h3 { font-size: 24px; }
}
body:not(.wp-admin) .dwc-magazin-trenner { display: flex; align-items: center; gap: 18px; margin: 34px 0; }
body:not(.wp-admin) .dwc-magazin-trenner::before, body:not(.wp-admin) .dwc-magazin-trenner::after { content: ""; flex: 1; height: 1px; background: var(--line); }
html body:not(.wp-admin) .dwc-magazin-trenner img { width: 36px; height: 36px; border-radius: 50% !important; opacity: .75; }
/* Links im Fließtext aller Inhaltsseiten in der Palettenfarbe (Navigation, Fuß, Überschriften und Buttons ausgenommen) */
body:not(.wp-admin) .dwc-page-content :is(p, li, td, dd, blockquote) a:not(.wp-block-button__link):not(.wp-element-button):not(.btn) { color: var(--brand-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body:not(.wp-admin) .dwc-page-content :is(p, li, td, dd, blockquote) a:not(.wp-block-button__link):not(.wp-element-button):not(.btn):hover { color: var(--brand-deep); }
/* Begrüßungs-Knöpfe: die Link-Regel für Seiteninhalte (Farbe, Unterstreichung) gilt hier nicht */
body:not(.wp-admin) .dwc-begruessung-links li a:not(.wp-block-button__link):not(.wp-element-button):not(.btn) { color: var(--brand-ink); text-decoration: none; }
body:not(.wp-admin) .dwc-begruessung-links li a:not(.wp-block-button__link):not(.wp-element-button):not(.btn):hover,
body:not(.wp-admin) .dwc-begruessung-links li a:not(.wp-block-button__link):not(.wp-element-button):not(.btn):focus-visible { color: var(--bg); text-decoration: none; }
/* Weitere Knöpfe und Handlungslinks im Seiteninhalt: ebenfalls ohne Unterstreichung, Farbe wie in ihrer eigenen Regel */
body:not(.wp-admin) .dwc-profil-nav li a:not(.wp-block-button__link):not(.wp-element-button):not(.btn), body:not(.wp-admin) .dwc-profil-nav p a:not(.wp-block-button__link):not(.wp-element-button):not(.btn) { color: var(--ink); text-decoration: none; }
body:not(.wp-admin) .dwc-actions a:not(.wp-block-button__link):not(.wp-element-button):not(.btn), body:not(.wp-admin) .dwc-cta a:not(.wp-block-button__link):not(.wp-element-button):not(.btn) { text-decoration: none; }
/* Handlungslinks als Button (dwc_cta, Klasse dwc-knopfzeile: .dwc-cta ist der CTA-Abschnitt) */
html body:not(.wp-admin) .dwc-page-content .dwc-knopfzeile { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
html body:not(.wp-admin) .dwc-page-content .dwc-knopfzeile .wp-block-button__link { display: inline-block; border-radius: 0 !important; }
body:not(.wp-admin) .dwc-treffer-herkunft { margin: 10px 0 0; color: var(--muted); font-size: 13px; font-weight: 650; }

/* Knopf "Schutzbrief online berechnen" (Variante I) im CTA-Abschnitt unten auf der
   Seite Club-Schutzbrief. Block-Klasse "dwc-sb" am Knopf. Ring pulsiert, entfällt bei reduzierter Bewegung. */
body:not(.wp-admin) .dwc-actions .dwc-sb .wp-block-button__link{display:inline-flex;align-items:center;gap:8px;background:var(--brand-deep) !important;border-color:var(--brand-deep) !important;color:var(--bg) !important;animation:dwc-sb-ring 2.8s ease-in-out infinite}
body:not(.wp-admin) .dwc-actions .dwc-sb .wp-block-button__link::before{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.4 8-8 9-4.6-1-8-4-8-9V6l8-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.4 8-8 9-4.6-1-8-4-8-9V6l8-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat}
body:not(.wp-admin) .dwc-actions .dwc-sb .wp-block-button__link:hover{background:var(--brand-deep2) !important;border-color:var(--brand-deep2) !important;color:var(--bg) !important}
/* Im Hero (dunkler Bildbereich) die cremeweiße Fassung (Ergänzung 08.10.2026) */
body:not(.wp-admin) .dwc-hero .dwc-actions .dwc-sb--hell .wp-block-button__link{background:#F4EFE4 !important;border-color:#F4EFE4 !important;color:var(--brand-deep2) !important;animation-name:dwc-sb-ring-hell}
body:not(.wp-admin) .dwc-hero .dwc-actions .dwc-sb--hell .wp-block-button__link:hover{background:#fff !important;border-color:#fff !important;color:var(--brand-deep2) !important}
@keyframes dwc-sb-ring-hell{0%,100%{box-shadow:0 0 0 0 rgba(244,239,228,.85)}50%{box-shadow:0 0 0 12px rgba(244,239,228,0)}}
@keyframes dwc-sb-ring{0%,100%{box-shadow:0 0 0 0 rgba(55,90,71,.45)}50%{box-shadow:0 0 0 10px rgba(55,90,71,0)}}
@media (prefers-reduced-motion:reduce){body:not(.wp-admin) .dwc-actions .dwc-sb .wp-block-button__link{animation:none}}
/* Seite "Schutzbrief online berechnen": Rechner des Partners per iFrame, lädt beim Öffnen der Seite */
.dwc-rechner-rahmen{margin-top:28px}
.dwc-rechner-vorab{background:#fff;border:1px solid #e4e4e7;padding:28px;line-height:1.7;max-width:770px}
.dwc-rechner-rahmen iframe{display:block;width:100%;height:1700px;border:1px solid var(--line);background:#fff}
@media(max-width:700px){.dwc-rechner-rahmen iframe{height:2300px}}
/* Einwilligung: Rahmen bleibt ohne src zu, der Hinweis weicht, sobald Cookiebot src setzt */
.dwc-rechner-rahmen iframe[data-cookieconsent]:not([src]){display:none}
.dwc-rechner-rahmen iframe[src]+.dwc-rechner-hinweis{display:none}
.dwc-rechner-hinweis{background:var(--card);border:1px solid var(--line);padding:28px;line-height:1.7;max-width:770px}
.dwc-rechner-hinweis h3{margin:0 0 12px}
.dwc-rechner-hinweis p{margin:0 0 12px}
.dwc-rechner-hinweis p:last-child{margin-bottom:0}
.dwc-cookie-oeffnen{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.dwc-rechner-hinweis .dwc-cookie-oeffnen{display:inline-block;padding:12px 20px;border:1px solid var(--brand-deep);background:var(--brand-deep);color:#fff;text-decoration:none}
.dwc-rechner-hinweis .dwc-cookie-oeffnen:hover,.dwc-rechner-hinweis .dwc-cookie-oeffnen:focus-visible{filter:brightness(.88)}
body:not(.wp-admin) .footer-recht-inner .dwc-cookie-oeffnen{color:var(--muted,#52525b);text-decoration:none}
body:not(.wp-admin) .footer-recht-inner .dwc-cookie-oeffnen:hover,body:not(.wp-admin) .footer-recht-inner .dwc-cookie-oeffnen:focus-visible{text-decoration:underline}

/* ============================================================
 * Angemeldet erkennbar. Rechner: Name klein unter dem Mitglieder-
 * Symbol, der Gruß steht im aufklappenden Menü. Handy: Gruß mit
 * Vornamen neben dem Symbol.
 * ============================================================ */
body:not(.wp-admin) .user-gruss { display: none; }
body:not(.wp-admin) .user-unter {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  max-width: 180px;
  text-align: right;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  color: #27272a;
  pointer-events: none;
}
/* Der Name endet bündig mit dem Symbol (nicht mittig darunter): mittig ragte ein langer Name rechts über den Fensterrand
   und stand links unter „Kontakt“ (Fenster 1100 bis 1240 px). */
/* Menü unter dem Namen aufklappen, nicht darüber */
@media (min-width: 1101px) {
  body:not(.wp-admin) .user-menu-dropdown { top: calc(100% + 26px) !important; }
}
@media (max-width: 1100px) {
  body:not(.wp-admin) .tools { min-width: 0; }
  body:not(.wp-admin) .user-unter { display: none; }
  body:not(.wp-admin) .user-gruss {
    display: block;
    align-self: center;
    max-width: 56vw;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.25;
    text-align: right;
    color: #3f3f46;
  }
  /* Name in eigener Zeile, damit auch der volle Name passt */
  body:not(.wp-admin) .user-gruss-name {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 16px;
    font-weight: 850;
    color: #27272a;
  }
}

/* Handy: Kopf nach dem Scrollen durchscheinender, Inhalte bleiben dahinter
   erkennbar. Ohne Weichzeichner (Ruckeln beim Scrollen, siehe Bottom-Tabs). */
@media (max-width: 1100px) {
  body:not(.wp-admin) .header.scrolled { background: rgba(247, 244, 239, 0.85) !important; }
  html.dwc-dark body:not(.wp-admin) .header.scrolled { background: color-mix(in srgb, var(--brand-deep2) 90%, transparent) !important; }
}

/* ============================================================
 * Handy: Karten einzeln einblenden. Der Auslöser je Abschnitt
 * (oben) läuft bei hohen Kartenabschnitten ab, bevor die unteren
 * Karten im Bild sind. dwc_reveal_observer_js beobachtet deshalb
 * auf schmalen Bildschirmen jede Karte selbst. Bilder der Karten
 * zoomen dabei sanft ein (einziger auffällige Effekt).
 * ============================================================ */
@keyframes dwc-rv-zoom {
  from { opacity: 0; transform: scale(1.1); }
  to   { transform: none; }
}
html.dwc-reveal-on main.dwc-page-content .dwc-cards :is(figure, .wp-block-image) { overflow: hidden; }
html.dwc-reveal-on.dwc-karten-einzeln main.dwc-page-content > :is(div, section) .dwc-cards .dwc-karte.dwc-karte-wartet {
  opacity: 0 !important;
  animation: none !important;
}
html.dwc-reveal-on.dwc-karten-einzeln main.dwc-page-content > :is(div, section) .dwc-cards .dwc-karte.dwc-karte-in {
  opacity: 1 !important;
  animation: dwc-rv-rise 420ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
  animation-delay: 0ms !important;
}
html.dwc-reveal-on.dwc-karten-einzeln main.dwc-page-content .dwc-cards .dwc-karte.dwc-karte-in img {
  animation: dwc-rv-zoom 900ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
@media (prefers-reduced-motion: reduce) {
  html.dwc-reveal-on.dwc-karten-einzeln main.dwc-page-content > :is(div, section) .dwc-cards .dwc-karte.dwc-karte-in {
    animation: dwc-rv-fade 250ms ease both !important;
  }
  html.dwc-reveal-on.dwc-karten-einzeln main.dwc-page-content .dwc-cards .dwc-karte.dwc-karte-in img { animation: none; }
}
@media print {
  html.dwc-reveal-on.dwc-karten-einzeln main.dwc-page-content > :is(div, section) .dwc-cards .dwc-karte.dwc-karte-wartet { opacity: 1 !important; }
}

/* ============================================================
 * Handy: Fußzeile kompakt (vorher höher als der Bildschirm).
 * Zwei Linkspalten nebeneinander, Beschreibungssatz entfällt,
 * Rechtslinks stehen oberhalb der unteren Leiste statt darunter.
 * ============================================================ */
@media (max-width: 700px) {
  html body:not(.wp-admin) .footer-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 22px 16px !important;
    padding-top: 28px !important;
    padding-bottom: 20px !important;
  }
  body:not(.wp-admin) .footer-inner > div:last-child { grid-column: 1 / -1; }
  /* Markenzeile und Beschreibung stehen schon im Kopf bzw. auf der Startseite */
  body:not(.wp-admin) .footer-inner > div:first-child { display: none; }
  /* Straße und Ort in einer Zeile */
  body:not(.wp-admin) .footer-contact .fc-umbruch { display: none; }
  body:not(.wp-admin) .footer-contact .fc-kontakt { margin-top: 6px; }
  body:not(.wp-admin) .footer h4 { margin-bottom: 8px !important; }
  body:not(.wp-admin) .footer ul { gap: 2px !important; }
  body:not(.wp-admin) .footer li,
  body:not(.wp-admin) .footer address { font-size: 14px !important; line-height: 1.6 !important; }
  /* tel/mail jeweils mit genug Fläche zum Antippen */
  body:not(.wp-admin) .footer-contact a { display: inline-block; padding: 4px 0; }
}
@media (max-width: 1100px) {
  body:not(.wp-admin) .footer-recht { padding-bottom: calc(20px + env(safe-area-inset-bottom)) !important; }
}

/* Adressblock: Trenner nur auf dem Handy (Straße und Ort in einer Zeile) */
body:not(.wp-admin) .footer-contact .fc-kontakt { display: block; }
@media (min-width: 701px) {
  body:not(.wp-admin) .footer-contact .fc-trenner { display: none; }
  body:not(.wp-admin) .footer-contact .fc-kontakt { margin-top: 1.6em; }
}

/* Klickbare Karten (Startseite): ein Link je Karte, die ganze Fläche ist das Ziel */
body:not(.wp-admin) .dwc-card:has(a.dwc-karte-link){position:relative;transition:box-shadow .15s ease}
body:not(.wp-admin) .dwc-card:has(a.dwc-karte-link):hover{box-shadow:0 0 0 1px var(--brand-mid)}
body:not(.wp-admin) a.dwc-karte-link{color:inherit;text-decoration:none}
body:not(.wp-admin) a.dwc-karte-link::before{content:"";position:absolute;inset:0;z-index:1}
body:not(.wp-admin) a.dwc-karte-link::after{content:"\00a0\2192";color:var(--brand-deep)}
body:not(.wp-admin) a.dwc-karte-link:focus-visible{outline:none}
body:not(.wp-admin) .dwc-card:has(a.dwc-karte-link:focus-visible){outline:2px solid var(--brand-deep);outline-offset:2px}
@media(prefers-reduced-motion:reduce){body:not(.wp-admin) .dwc-card:has(a.dwc-karte-link){transition:none}}

/* Beitrittsformular „Mitglied werden“: Hinweise links, Formular rechts, Kanten wie das Kartenraster darüber.
   Felder paarweise im Raster (Zuordnung über den Feldnamen, unbekannte Felder volle Breite), DOM-Reihenfolge bleibt. */
body:not(.wp-admin) .dwc-antrag{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
body:not(.wp-admin) .dwc-antrag-info{padding-right:16px}
body:not(.wp-admin) .dwc-antrag .dwc-antrag-formular{grid-column:span 2}
body:not(.wp-admin) .dwc-antrag-info{position:sticky;top:120px}
body:not(.wp-admin) .dwc-antrag-info h2{margin:8px 0 0;font-size:34px;line-height:1.1;letter-spacing:-.02em;font-weight:950}
body:not(.wp-admin) .dwc-antrag-info p{margin:16px 0 0;color:var(--muted);line-height:1.75}
body:not(.wp-admin) .dwc-antrag-kontakt{margin-top:24px;padding:18px 20px;border-left:3px solid var(--brand-ink);background:var(--brand-faint2);display:grid;gap:4px;line-height:1.5}
body:not(.wp-admin) .dwc-antrag-kontakt a{font-size:18px;font-weight:800;color:var(--brand-deep);text-decoration:none}
body:not(.wp-admin) .dwc-antrag-kontakt a:hover{text-decoration:underline}
body:not(.wp-admin) .dwc-antrag-kontakt span{font-size:14px;color:var(--muted)}
body:not(.wp-admin) .dwc-antrag .dwc-antrag-formular{max-width:none;margin:0;padding:36px 40px}
body:not(.wp-admin) .dwc-antrag .mbx-signup-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 18px;max-width:none;margin:0 !important;padding:0}
body:not(.wp-admin) .dwc-antrag .mbx-signup-form>*{grid-column:1/-1;min-width:0}
body:not(.wp-admin) .dwc-antrag .mbx-field:has([name="vorname"]),
body:not(.wp-admin) .dwc-antrag .mbx-field:has([name="nachname"]){grid-column:span 3}
body:not(.wp-admin) .dwc-antrag .mbx-field:has([name="email"]){grid-column:span 4}
body:not(.wp-admin) .dwc-antrag .mbx-field:has([name="geburtsdatum"]){grid-column:span 2}
body:not(.wp-admin) .dwc-antrag .mbx-field:has([name="telefon"]){grid-column:1/span 3}
body:not(.wp-admin) .dwc-antrag .mbx-field:has([name="plz"]){grid-column:span 2}
body:not(.wp-admin) .dwc-antrag .mbx-field:has([name="ort"]){grid-column:span 4}
body:not(.wp-admin) .dwc-antrag .mbx-field{gap:6px}
body:not(.wp-admin) .dwc-antrag .mbx-field>label{font-size:15px;font-weight:700;color:var(--ink)}
body:not(.wp-admin) .dwc-antrag .mbx-required{color:var(--brand-ink)}
body:not(.wp-admin) .dwc-antrag .mbx-signup-form :is(input[type="text"],input[type="email"],input[type="tel"],input[type="date"],textarea){min-height:48px;padding:12px 14px;border:1px solid #c9c4ba;background:#fff;color:var(--ink);font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}
body:not(.wp-admin) .dwc-antrag .mbx-signup-form textarea{min-height:110px;resize:vertical}
body:not(.wp-admin) .dwc-antrag .mbx-signup-form :is(input,textarea):focus{outline:none;border-color:var(--brand-ink);box-shadow:0 0 0 3px rgba(var(--brand-soft-rgb),.55)}
body:not(.wp-admin) .dwc-antrag .mbx-signup-form [aria-invalid="true"]{border-color:#b91c1c}
body:not(.wp-admin) .dwc-antrag .mbx-help{font-size:13px;color:var(--muted)}
/* Statuszeile unter der IBAN und Feldfehler: Die Hilfetext-Regel darüber (Grau) darf die Plugin-Farben für Fehler und Treffer nicht überdecken. */
body:not(.wp-admin) .dwc-antrag .mbx-signup-form :is(.mbx-iban-status.mbx-iban-fehler,.mbx-feldfehler){color:#991b1b;font-weight:600}
body:not(.wp-admin) .dwc-antrag .mbx-signup-form .mbx-iban-status.mbx-iban-ok{color:#065f46;font-weight:600}
body:not(.wp-admin) .dwc-antrag .mbx-signup-form :is(input,textarea)[aria-invalid="true"]{border-color:#b91c1c}
/* Eingangsbestätigung: Absätze aus den Zeilenumbrüchen des Textes (functions.php). */
body:not(.wp-admin) .dwc-antrag .mbx-eingang{white-space:pre-line;line-height:1.6}
body:not(.wp-admin) .dwc-antrag .mbx-signup-info{margin-top:8px;padding:20px 22px;border:0;border-left:3px solid var(--brand-ink);background:var(--brand-faint2);font-size:15px;line-height:1.6}
body:not(.wp-admin) .dwc-antrag .mbx-signup-info h4{margin:0 0 10px;font-size:15px;font-weight:800}
body:not(.wp-admin) .dwc-antrag .mbx-signup-info li{padding:6px 0;border-bottom:1px solid var(--line)}
body:not(.wp-admin) .dwc-antrag .mbx-signup-info li span:last-child{font-weight:800;white-space:nowrap}
body:not(.wp-admin) .dwc-antrag .mbx-signup-info p{margin:10px 0 0;color:var(--muted)}
body:not(.wp-admin) .dwc-antrag .mbx-signup-widerruf{margin-top:0;padding:0;background:transparent;border:1px solid var(--line);font-size:13px}
body:not(.wp-admin) .dwc-antrag .mbx-signup-widerruf>summary{padding:14px 18px;font-size:15px;font-weight:800;color:var(--brand-deep);list-style-position:inside}
body:not(.wp-admin) .dwc-antrag .mbx-signup-widerruf>summary:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}
body:not(.wp-admin) .dwc-antrag .mbx-signup-widerruf[open]>summary{border-bottom:1px solid var(--line)}
body:not(.wp-admin) .dwc-antrag .mbx-signup-widerruf>:not(summary){margin-left:18px;margin-right:18px}
body:not(.wp-admin) .dwc-antrag .mbx-signup-widerruf>:last-child{margin-bottom:16px}
body:not(.wp-admin) .dwc-antrag .mbx-signup-widerruf h4{margin-top:16px}
body:not(.wp-admin) .dwc-antrag .mbx-field-checkbox label{font-size:15px;line-height:1.5}
body:not(.wp-admin) .dwc-antrag .mbx-field-checkbox input{flex:none;width:20px;height:20px;margin:2px 0 0;padding:0;accent-color:var(--brand-ink)}
body:not(.wp-admin) .dwc-antrag .mbx-signup-rechtstexte{font-size:14px}
body:not(.wp-admin) .dwc-antrag .mbx-signup-rechtstexte a{color:var(--brand-deep)}
body:not(.wp-admin) .dwc-antrag .mbx-submit-btn{justify-self:start;margin-top:4px;padding:16px 32px;background:var(--brand-ink);color:#fff;font-weight:900;font-size:16px;border:1px solid var(--brand-ink);border-radius:var(--dwc-r-cta,999px);transition:background-color .15s ease}
body:not(.wp-admin) .dwc-antrag .mbx-submit-btn:hover{background:var(--brand-deep);border-color:var(--brand-deep)}
body:not(.wp-admin) .dwc-antrag .mbx-submit-btn:focus-visible{outline:2px solid var(--brand-deep);outline-offset:3px}
html.dwc-dark body:not(.wp-admin) .dwc-antrag :is(.dwc-antrag-kontakt,.mbx-signup-info){background:rgba(255,255,255,.05)}
html.dwc-dark body:not(.wp-admin) .dwc-antrag .mbx-signup-form :is(input[type="text"],input[type="email"],input[type="tel"],input[type="date"],textarea){background:color-mix(in srgb,var(--brand-darkest) 80%,#fff);border-color:rgba(255,255,255,.16);color:#eae6df}
html.dwc-dark body:not(.wp-admin) .dwc-antrag :is(.mbx-field>label,.dwc-antrag-info h2){color:#f3f1ed}
html.dwc-dark body:not(.wp-admin) .dwc-antrag .mbx-submit-btn{background:var(--brand-mid2);border-color:var(--brand-mid2);color:var(--brand-darkest)}
html.dwc-dark body:not(.wp-admin) .dwc-antrag :is(.dwc-antrag-kontakt a,.mbx-signup-rechtstexte a,.mbx-signup-widerruf>summary){color:var(--brand-mid2)}
html.dwc-dark body:not(.wp-admin) .dwc-antrag :is(.dwc-antrag-kontakt span,.dwc-antrag-info p,.mbx-help){color:#aba89f}
html.dwc-dark body:not(.wp-admin) .dwc-antrag .mbx-signup-widerruf>summary:focus-visible{outline-color:var(--brand-mid2)}
html.dwc-dark body:not(.wp-admin) .dwc-antrag .mbx-signup-form [aria-invalid="true"]{border-color:#f87171 !important}
html.dwc-dark body:not(.wp-admin) .dwc-antrag .mbx-signup-form :is(.mbx-iban-status.mbx-iban-fehler,.mbx-feldfehler){color:#fca5a5}
html.dwc-dark body:not(.wp-admin) .dwc-antrag .mbx-signup-form .mbx-iban-status.mbx-iban-ok{color:#6ee7b7}
@media(max-width:1100px){
  body:not(.wp-admin) .dwc-antrag{grid-template-columns:1fr;gap:24px}
  body:not(.wp-admin) .dwc-antrag-info{position:static;padding-right:0}
  body:not(.wp-admin) .dwc-antrag .dwc-antrag-formular{grid-column:auto}
}
@media(max-width:700px){
  body:not(.wp-admin) .dwc-antrag .dwc-antrag-formular{padding:24px 18px}
  body:not(.wp-admin) .dwc-antrag .mbx-signup-form{grid-template-columns:1fr}
  body:not(.wp-admin) .dwc-antrag .mbx-signup-form>*,
  body:not(.wp-admin) .dwc-antrag .mbx-signup-form>.mbx-field{grid-column:1/-1}
  body:not(.wp-admin) .dwc-antrag .mbx-submit-btn{justify-self:stretch}
  body:not(.wp-admin) .dwc-antrag-info h2{font-size:28px}
}
@media(prefers-reduced-motion:reduce){body:not(.wp-admin) .dwc-antrag :is(input,textarea,.mbx-submit-btn){transition:none}}

/* Rechtsseiten (Impressum, Datenschutz, AGB, Widerruf): Text über zwei Kartenspalten, rechts Navigation und Kontakt */
body:not(.wp-admin) .dwc-rechtstext{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
body:not(.wp-admin) main.dwc-page-content .dwc-rechtstext .dwc-impressum{grid-column:span 2;max-width:none;margin:0 !important}
body:not(.wp-admin) .dwc-rechtstexte-rand{position:sticky;top:120px;display:grid;gap:24px}
body:not(.wp-admin) .dwc-rechtstexte-rand nav{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--dwc-r-sm,0);box-shadow:0 2px 10px rgba(0,0,0,.04);padding:20px 22px}
body:not(.wp-admin) .dwc-rechtstext h2[id]{scroll-margin-top:120px}
body:not(.wp-admin) main.dwc-page-content .dwc-rechtstext .dwc-impressum{gap:0;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--dwc-r-sm,0);box-shadow:0 2px 10px rgba(0,0,0,.04)}
body:not(.wp-admin) .dwc-rechtstext .dwc-impressum-block{background:transparent;border:0;border-radius:0;box-shadow:none;padding:26px 32px}
body:not(.wp-admin) .dwc-rechtstext .dwc-impressum-block+.dwc-impressum-block{border-top:1px solid var(--line)}
html.dwc-dark body:not(.wp-admin) main.dwc-page-content .dwc-rechtstext .dwc-impressum{background:color-mix(in srgb,var(--brand-darkest) 86%,#fff);border-color:rgba(255,255,255,.1);box-shadow:none}
html.dwc-dark body:not(.wp-admin) .dwc-rechtstext .dwc-impressum-block{background:transparent}
html.dwc-dark body:not(.wp-admin) .dwc-rechtstext .dwc-impressum-block+.dwc-impressum-block{border-top-color:rgba(255,255,255,.1)}
@media(max-width:700px){body:not(.wp-admin) .dwc-rechtstext .dwc-impressum-block{padding:22px 20px}}
body:not(.wp-admin) .dwc-rechtstexte-rand nav strong{display:block;margin-bottom:10px;font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--brand-ink)}
body:not(.wp-admin) .dwc-rechtstexte-rand ul{list-style:none;margin:0;padding:0;display:grid}
body:not(.wp-admin) .dwc-rechtstexte-rand li a{display:block;padding:7px 0 7px 12px;border-left:3px solid transparent;color:var(--ink);text-decoration:none !important;font-weight:600;line-height:1.4}
body:not(.wp-admin) .dwc-rechtstexte-rand li a:hover{color:var(--brand-deep);border-left-color:var(--brand-ink);background:rgba(0,0,0,.05);background:color-mix(in srgb,var(--brand-ink) 9%,transparent)}
body:not(.wp-admin) .dwc-rechtstexte-rand li a[aria-current]{border-left-color:var(--brand-ink);color:var(--brand-deep);font-weight:800;background:rgba(0,0,0,.08);background:color-mix(in srgb,var(--brand-ink) 18%,transparent)}
body:not(.wp-admin) .dwc-rechtstexte-rand .dwc-antrag-kontakt{margin-top:0}
html.dwc-dark body:not(.wp-admin) .dwc-rechtstexte-rand nav{background:color-mix(in srgb,var(--brand-darkest) 86%,#fff);border-color:rgba(255,255,255,.1)}
html.dwc-dark body:not(.wp-admin) .dwc-rechtstexte-rand li a{color:#eae6df}
html.dwc-dark body:not(.wp-admin) .dwc-rechtstexte-rand :is(li a[aria-current],li a:hover,nav strong,.dwc-antrag-kontakt a){color:var(--brand-mid2)}
html.dwc-dark body:not(.wp-admin) .dwc-rechtstexte-rand .dwc-antrag-kontakt{background:rgba(255,255,255,.05)}
html.dwc-dark body:not(.wp-admin) .dwc-rechtstexte-rand .dwc-antrag-kontakt span{color:#aba89f}
html.dwc-dark body:not(.wp-admin) .dwc-impressum-block{background:color-mix(in srgb,var(--brand-darkest) 86%,#fff);border-color:rgba(255,255,255,.1);box-shadow:none}
html.dwc-dark body:not(.wp-admin) .dwc-impressum-block h2{color:#f3f1ed}
html.dwc-dark body:not(.wp-admin) .dwc-impressum-block a{color:var(--brand-mid2)}
body:not(.wp-admin) .dwc-rechtstexte-rand li a:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}
@media(max-width:1100px){
  body:not(.wp-admin) .dwc-rechtstext{grid-template-columns:1fr}
  body:not(.wp-admin) main.dwc-page-content .dwc-rechtstext .dwc-impressum{grid-column:auto}
  body:not(.wp-admin) .dwc-rechtstexte-rand{position:static}
}

/* Vorteilswelt: Partner als Kacheln: Raster und Grundform kommen aus dem Plugin, hier Farben, Schrift und Dunkelmodus. */
body:not(.wp-admin) .mbx-vorteile{margin-top:8px}
body:not(.wp-admin) .mbx-vorteil-kachel{background:var(--card);border-color:var(--line);color:var(--ink)}
body:not(.wp-admin) .mbx-vorteil-kachel:hover{border-color:var(--brand-ink)}
body:not(.wp-admin) .mbx-vorteil-kachel:focus-within{outline-color:var(--brand-ink)}
body:not(.wp-admin) .mbx-vorteil-logo{background:var(--brand-faint2);border-bottom-color:var(--line)}
body:not(.wp-admin) .mbx-vorteil-schriftzug{color:var(--brand-deep);font-weight:950;letter-spacing:-.02em}
body:not(.wp-admin) .mbx-vorteil-partner{font-weight:950;color:var(--ink)}
body:not(.wp-admin) .mbx-vorteil-wert{color:var(--brand-ink);font-weight:950;letter-spacing:-.02em}
body:not(.wp-admin) .mbx-vorteil-titel{color:var(--ink)}
body:not(.wp-admin) .mbx-vorteil-text{color:var(--muted);font-size:15px}
body:not(.wp-admin) .mbx-vorteil-knopf{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:900}
body:not(.wp-admin) .mbx-vorteil-knopf:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}
body:not(.wp-admin) .mbx-vorteil-knopf:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}
body:not(.wp-admin) .mbx-vorteile-hinweis{background:var(--card);border-color:var(--line);color:var(--muted)}
html.dwc-dark body:not(.wp-admin) :is(.mbx-vorteil-kachel,.mbx-vorteile-hinweis){background:color-mix(in srgb,var(--brand-darkest) 86%,#fff);border-color:rgba(255,255,255,.1);color:#eae6df}
html.dwc-dark body:not(.wp-admin) .mbx-vorteil-kachel:hover{border-color:var(--brand-mid2)}
html.dwc-dark body:not(.wp-admin) .mbx-vorteil-logo{background:rgba(255,255,255,.05);border-bottom-color:rgba(255,255,255,.1)}
html.dwc-dark body:not(.wp-admin) :is(.mbx-vorteil-schriftzug,.mbx-vorteil-wert){color:var(--brand-mid2) !important}
html.dwc-dark body:not(.wp-admin) :is(.mbx-vorteil-partner,.mbx-vorteil-titel){color:#f3f1ed !important}
html.dwc-dark body:not(.wp-admin) :is(.mbx-vorteil-text,.mbx-vorteile-hinweis,.mbx-vorteile-hinweis p){color:#aba89f !important}
html.dwc-dark body:not(.wp-admin) .mbx-vorteil-knopf{background:var(--brand-mid2);border-color:var(--brand-mid2);color:var(--brand-darkest)}
html.dwc-dark body:not(.wp-admin) .mbx-vorteil-knopf:hover{background:#f3f1ed;border-color:#f3f1ed;color:var(--brand-darkest)}
@media(prefers-reduced-motion:reduce){body:not(.wp-admin) .mbx-vorteil-kachel{transition:none}}
/* Versicherungsscheine („Mein Club-Schutzbrief", MemberBridge 1.3700). Die Knöpfe sind Links in einer
   Liste; ohne !important greift die allgemeine Linkregel für p/li (grün, unterstrichen). */
body:not(.wp-admin) .mbx-vs-vertrag{background:var(--card);border-color:var(--line);color:var(--ink)}
body:not(.wp-admin) .mbx-vs-dokument{border-top-color:var(--line)}
body:not(.wp-admin) .mbx-vs-datum{color:var(--muted)}
body:not(.wp-admin) .dwc-page-content .mbx-vs a.mbx-vs-knopf{color:var(--ink) !important;text-decoration:none !important;border-color:var(--ink);background:transparent;font-weight:900}
body:not(.wp-admin) .dwc-page-content .mbx-vs a.mbx-vs-knopf-haupt{background:var(--ink);border-color:var(--ink);color:#fff !important}
body:not(.wp-admin) .dwc-page-content .mbx-vs a.mbx-vs-knopf:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff !important;opacity:1}
body:not(.wp-admin) .dwc-page-content .mbx-vs a.mbx-vs-knopf:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}
html.dwc-dark body:not(.wp-admin) .mbx-vs-vertrag{background:color-mix(in srgb,var(--brand-darkest) 86%,#fff);border-color:rgba(255,255,255,.1);color:#eae6df}
html.dwc-dark body:not(.wp-admin) .mbx-vs-dokument{border-top-color:rgba(255,255,255,.1)}
html.dwc-dark body:not(.wp-admin) .mbx-vs-datum{color:#aba89f}
html.dwc-dark body:not(.wp-admin) .dwc-page-content .mbx-vs a.mbx-vs-knopf{color:#f3f1ed !important;border-color:var(--brand-mid2)}
html.dwc-dark body:not(.wp-admin) .dwc-page-content .mbx-vs a.mbx-vs-knopf-haupt{background:var(--brand-mid2);border-color:var(--brand-mid2);color:var(--brand-darkest) !important}
html.dwc-dark body:not(.wp-admin) .dwc-page-content .mbx-vs a.mbx-vs-knopf:hover{background:#f3f1ed;border-color:#f3f1ed;color:var(--brand-darkest) !important}
/* „Schon Mitglied? Anmelden“ auf „Mitglied werden“ (dwc_schon_mitglied) */
body:not(.wp-admin) .dwc-schon-mitglied{max-width:1280px;margin:0 auto;padding:16px 20px 24px;color:var(--muted)}
body:not(.wp-admin) .dwc-schon-mitglied a{color:var(--brand-deep);font-weight:800;text-decoration:underline;text-underline-offset:3px}
html.dwc-dark body:not(.wp-admin) .dwc-schon-mitglied{color:#aba89f}
html.dwc-dark body:not(.wp-admin) .dwc-schon-mitglied a{color:var(--brand-mid2)}
/* Mitgliederbereich für Besucher: werben links, anmelden rechts */
body:not(.wp-admin) .dwc-gast-mb-spalten{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
body:not(.wp-admin) .dwc-gast-mb-werben{background:#fff;border-radius:var(--dwc-r-lg,0);padding:28px;box-shadow:0 3px 16px rgba(0,0,0,.06)}
body:not(.wp-admin) .dwc-gast-mb-werben h2{margin:0 0 12px;font-size:26px}
body:not(.wp-admin) .dwc-gast-mb-werben ul{margin:0 0 20px;padding-left:20px;line-height:1.8;color:#3f3f46}
body:not(.wp-admin) .dwc-gast-mb-login .mbx-login{margin:0;max-width:none;border-radius:28px;padding:28px;background:#fff;box-shadow:0 3px 16px rgba(0,0,0,.06)}
@media(max-width:800px){body:not(.wp-admin) .dwc-gast-mb-spalten{grid-template-columns:minmax(0,1fr);gap:20px}body:not(.wp-admin) :is(.dwc-gast-mb-werben,.dwc-gast-mb-login .mbx-login){padding:20px 18px;border-radius:22px}}
html.dwc-dark body:not(.wp-admin) :is(.dwc-gast-mb-werben,.dwc-gast-mb-login .mbx-login){background:color-mix(in srgb,var(--brand-darkest) 86%,#fff);border:1px solid rgba(255,255,255,.1)}
html.dwc-dark body:not(.wp-admin) .dwc-gast-mb-werben ul{color:#d8d5cf}
/* Handy-Leiste: Fenster „Mehr“ mit den übrigen Seiten des Hauptmenüs (dwc_render_bottom_tabs) */
body:not(.wp-admin) .dwc-mehr-knopf{border:0;background:transparent;font-family:inherit;cursor:pointer}
body:not(.wp-admin) .dwc-mehr[hidden]{display:none !important}
body:not(.wp-admin) .dwc-mehr{position:fixed;right:8px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:9999;min-width:220px;display:grid;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:6px}
body:not(.wp-admin) .dwc-mehr a{padding:12px 14px;border-radius:12px;font-weight:700;color:#18181b;text-decoration:none}
body:not(.wp-admin) .dwc-mehr a:hover,body:not(.wp-admin) .dwc-mehr a:focus-visible{background:var(--brand-faint2)}
body:not(.wp-admin) .dwc-mehr a.active{background:rgba(var(--brand-bright-rgb),.42)}
html.dwc-dark body:not(.wp-admin) .dwc-mehr{background:color-mix(in srgb,var(--brand-darkest) 86%,#fff);border-color:rgba(255,255,255,.1)}
html.dwc-dark body:not(.wp-admin) .dwc-mehr a{color:#eae6df}
html.dwc-dark body:not(.wp-admin) .dwc-mehr a:is(:hover,:focus-visible){background:rgba(255,255,255,.08)}
/* Knöpfe im Kopfbereich: Der Link ist sonst inline, sein Innenabstand zählt nicht zur
   Zeilenhöhe, und beim Umbruch am Handy überlappen zwei Knöpfe. */
body:not(.wp-admin) .wp-block-button > .wp-block-button__link{display:inline-block}
/* Schmaler Seitenkopf für Seiten ohne Einleitung und ohne Beitragsbild (dwc_seitenkopf_aus_seite) */
body:not(.wp-admin) .dwc-seitenkopf-schmal{border-bottom:1px solid var(--line)}
body:not(.wp-admin) .dwc-seitenkopf-schmal .wp-block-group__inner-container{max-width:1280px;margin:0 auto;padding:44px 20px 28px}
body:not(.wp-admin) .dwc-seitenkopf-schmal h1{margin:0;font-size:clamp(32px,5vw,52px);line-height:1.05;letter-spacing:-.03em}
body:not(.wp-admin) .dwc-seitenkopf-schmal .dwc-kicker{margin:0 0 12px}
@media(max-width:700px){body:not(.wp-admin) .dwc-seitenkopf-schmal .wp-block-group__inner-container{padding:28px 16px 20px}}
/* Sprung „Mitgliedschaft beantragen“ landet nicht unter dem festen Kopf */
body:not(.wp-admin) .dwc-antrag[id]{scroll-margin-top:120px}
/* Handy-Leiste im Dunkelmodus: gleiche Kartenfarbe wie „Mehr“-Fenster und Karten */
html.dwc-dark body:not(.wp-admin) .dwc-bottom-tabs{background:color-mix(in srgb,var(--brand-darkest) 86%,#fff) !important;border-top-color:rgba(255,255,255,.1) !important;box-shadow:0 -2px 12px rgba(0,0,0,.3) !important}
html.dwc-dark body:not(.wp-admin) .dwc-bottom-tab{color:#b9b5ac !important}
html.dwc-dark body:not(.wp-admin) .dwc-bottom-tab:hover{color:#f4f1ea !important}
html.dwc-dark body:not(.wp-admin) .dwc-bottom-tab.active{color:#f4f1ea !important;background:rgba(var(--brand-bright-rgb),.2) !important}
html.dwc-dark body:not(.wp-admin) .dwc-bottom-tab.active .dwc-bottom-tab-icon{color:#f4f1ea !important}
/* Login-Fenster des Plugins bleibt im Dunkelmodus hell; die Dunkel-Schriftfarben des
   Themes (h2, Links) machten Überschrift und „Passwort vergessen?“ dort unlesbar. */
html.dwc-dark .mbx-login-modal-dialog h2{color:#18181b !important}
html.dwc-dark .mbx-login-modal-dialog :is(p,label,span){color:#52525b !important}
html.dwc-dark .mbx-login-modal-dialog a{color:#18181b !important}
html.dwc-dark .mbx-login-modal-dialog .mbx-login-modal-error{color:#991b1b !important}
/* Kontakt am Handy: Der Text belegt fast den ganzen Kopf, das Gesicht im Querformat-Foto
   lag unter der Überschrift. Ausschnitt mit Schreibtisch statt Gesicht; ein Blickpunkt
   aus dem Werkzeug (kontakt__mobil) geht weiter vor. */
@media (max-width:820px){
  body:not(.wp-admin).dwc-page-kontakt { --hero-pos: 0% 100%; }
  body:not(.wp-admin).dwc-theme.dwc-page-kontakt .dwc-hero::before { background-size: auto 170%; }
}
/* Handy im Querformat (Höhe bis 500 px): breiter als 820 px, sonst griffen die Desktop-
   Bilder mit Personen, 64 px Überschrift und ein 109 px hoher Kopf bei 390 px Fensterhöhe.
   Bilder wie im Hochformat, Überschrift und Logo kleiner. */
@media (min-width: 821px) and (max-height: 500px) {
  body:not(.wp-admin) { --hero-img: url(../images/camper-hero-center-safe-01.webp); }
  body:not(.wp-admin).home { --hero-img: url(../images/camper-hero-center-safe-01.webp); }
  body:not(.wp-admin).dwc-page-magazin { --hero-img: url(../images/camper-hero-center-safe-02.webp); }
  body:not(.wp-admin).dwc-page-veranstaltungen { --hero-img: url(../images/camper-hero-center-safe-03.webp); }
  body:not(.wp-admin).dwc-page-vorteilswelt { --hero-img: url(../images/camper-hero-center-safe-04.webp); }
  body:not(.wp-admin).dwc-page-club-schutzbrief { --hero-img: url(../images/camper-hero-center-safe-01.webp); }
  body:not(.wp-admin).dwc-page-mitglied-werden { --hero-img: url(../images/camper-hero-center-safe-02.webp); --hero-spiegel: -1; }
  body:not(.wp-admin).dwc-page-ueber-uns { --hero-img: url(../images/camper-hero-center-safe-03.webp); --hero-pos: center; }
  body:not(.wp-admin).dwc-page-kontakt { --hero-pos: 0% 100%; }
  body:not(.wp-admin).dwc-theme.dwc-page-kontakt .dwc-hero::before { background-size: auto 220%; }
  body:not(.wp-admin).dwc-theme .dwc-hero h1 { font-size: 40px !important; }
  body:not(.wp-admin) .brand-logo, body:not(.wp-admin) .header.scrolled .brand-logo { height: 52px !important; max-width: 52px !important; }
  body:not(.wp-admin) .header .bar, body:not(.wp-admin) .header.scrolled .bar { padding-top: 8px !important; padding-bottom: 8px !important; min-height: 0 !important; }
}

/* FAQ-Übersicht und Unterseiten: Titel der Kacheln sind unterschiedlich lang, die Knöpfe stehen trotzdem
   auf einer Linie. Nur diese Seiten; die Kacheln von Startseite, Schutzbrief und
   Mitgliederbereich bleiben unverändert. Bilder der Kacheln ohne runde Ecken. */
body:not(.wp-admin):is(.dwc-page-faq,.dwc-page-anmeldung,.dwc-page-konto,.dwc-page-beitraege,.dwc-page-datenschutz-kontakt,.dwc-page-schutzbrief,.dwc-page-fahrtraining) .dwc-cards .dwc-card { display: flex !important; flex-direction: column !important; }
body:not(.wp-admin):is(.dwc-page-faq,.dwc-page-anmeldung,.dwc-page-konto,.dwc-page-beitraege,.dwc-page-datenschutz-kontakt,.dwc-page-schutzbrief,.dwc-page-fahrtraining) .dwc-cards .dwc-card > .wp-block-group__inner-container { flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; }
body:not(.wp-admin):is(.dwc-page-faq,.dwc-page-anmeldung,.dwc-page-konto,.dwc-page-beitraege,.dwc-page-datenschutz-kontakt,.dwc-page-schutzbrief,.dwc-page-fahrtraining) .dwc-cards .dwc-card .wp-block-buttons { margin-top: auto !important; }
body:not(.wp-admin):is(.dwc-page-faq,.dwc-page-anmeldung,.dwc-page-konto,.dwc-page-beitraege,.dwc-page-datenschutz-kontakt,.dwc-page-schutzbrief,.dwc-page-fahrtraining) .dwc-cards .dwc-card img { border-radius: 0 !important; }

/* FAQ-Knopf unter dem Inhalt jeder Seite (dwc_faq_band): eine ruhige Zeile mit einem Umriss-Knopf */
/* Band vor dem Fuß: getönte Fläche mit Markenstrich links, Symbol, Frage und Knopf (kein leerer Streifen mehr) */
body:not(.wp-admin) .dwc-faq-band { border-top: 1px solid var(--line); background: color-mix(in srgb, var(--brand-mid) 9%, var(--bg)); box-shadow: inset 4px 0 0 var(--brand-mid); }
body:not(.wp-admin) .dwc-faq-band-inner { max-width: none; margin: 0; padding: 44px var(--dwc-kante); display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
body:not(.wp-admin) .dwc-faq-band-icon { flex: none; color: var(--brand-mid); }
body:not(.wp-admin) .dwc-faq-band-inner p { margin: 0; flex: 1 1 320px; font-size: 16px; line-height: 1.6; color: var(--muted); }
body:not(.wp-admin) .dwc-faq-band-inner p strong { display: block; font-size: 20px; line-height: 1.3; color: var(--ink, inherit); }
body:not(.wp-admin) .dwc-faq-band-inner .wp-block-buttons { margin: 0; }

/* Hinweiskästen (Notfall-Hotline, „Leistungen verkürzt dargestellt“, Anmelde-Hinweis): getönte Fläche mit Markierung links
   statt dünnem Rahmen um viel Leere; der Text füllt die Breite des Kastens. */
body:not(.wp-admin) .dwc-note { background: var(--brand-faint2, rgba(0,0,0,.035)); border: 0; border-left: 4px solid var(--brand-ink, currentColor); padding: 22px 28px; line-height: 1.7; }
body:not(.wp-admin) .dwc-note p { max-width: none; margin: 0; }
body:not(.wp-admin) .dwc-note h3 { margin: 0 0 8px; font-size: 18px; }

/* ============================================================
 * Einheitliche Rückmeldung: Hover, Tastaturfokus, Drücken (25.10.2026)
 * Anlass: Der Club bemängelte, dass manche Elemente beim Zeigen reagieren
 * und andere nicht (Hauptmenü und Knöpfe hatten gar keine Rückmeldung).
 * Regelwerk, ruhig und ohne Bewegung:
 *  - Hover nur mit echter Maus (@media (hover: hover)), damit nichts am
 *    Finger kleben bleibt.
 *  - Links im Menü: Unterstrich in halber Stärke; der aktive Punkt behält
 *    den vollen Strich, beide sind so zu unterscheiden.
 *  - Gefüllte Knöpfe: dunklere Füllung (Hell) bzw. fast weiße Füllung
 *    (Dunkel); Umrissknöpfe: getönte Fläche und Rahmen in Markenfarbe.
 *  - Drücken: noch eine Stufe dunkler, ohne Verschieben.
 *  - Fokus: 2px-Rahmen in Markenfarbe (Dunkel: hell), auch ohne Maus
 *    sichtbar; Farben nur aus den Palettenvariablen.
 * ============================================================ */
body:not(.wp-admin) :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--brand-ink);
  outline-offset: 2px;
}
html.dwc-dark body:not(.wp-admin) :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline-color: var(--brand-mid2);
}
body:not(.wp-admin) :is(.dwc-quicklinks, .black-box, .dwc-hero) :is(a, button):focus-visible {
  outline-color: #fff;
}

@media (hover: hover) {
  /* Hauptmenü: Strich in halber Stärke */
  body:not(.wp-admin) .nav a:not(.member-pill):not(.active):hover {
    border-bottom-color: var(--brand-mid);
    border-bottom-color: color-mix(in srgb, var(--brand-mid) 55%, transparent);
    color: var(--brand-deep);
  }
  html.dwc-dark body:not(.wp-admin) .nav a:not(.member-pill):not(.active):hover {
    border-bottom-color: color-mix(in srgb, var(--brand-mid2) 55%, transparent);
    color: #fff !important;
  }
  /* Menü am Handy (Leiste unter dem Kopf) */
  body:not(.wp-admin) .mobile-nav a:not(.member-pill):not(.active):hover {
    background: var(--brand-faint);
  }
  html.dwc-dark body:not(.wp-admin) .mobile-nav a:not(.member-pill):not(.active):hover {
    background: rgba(255, 255, 255, .14);
  }
  /* Anmelde-Symbol und Mitglieder-Symbol: Farbwechsel statt Vergrößerung */
  body:not(.wp-admin) .tools a[href*="mitgliederbereich"]:hover {
    background: var(--brand-bright) !important;
    border-color: var(--brand-ink) !important;
    transform: none !important;
  }
  html.dwc-dark body:not(.wp-admin) .tools a[href*="mitgliederbereich"]:hover {
    background: #f3f1ed !important;
    border-color: #f3f1ed !important;
  }
  body:not(.wp-admin) .user-menu-toggle:hover {
    transform: none !important;
  }
  /* Gefüllte Knöpfe */
  body:not(.wp-admin) :is(.btn.primary, .dwc-actions a:not(.secondary), .wp-block-button:not(.is-style-outline) .wp-block-button__link):hover {
    background: var(--brand-deep) !important;
    border-color: var(--brand-deep) !important;
    color: #fff !important;
  }
  html.dwc-dark body:not(.wp-admin) :is(.btn.primary, .dwc-actions a:not(.secondary), .wp-block-button:not(.is-style-outline) .wp-block-button__link):hover {
    background: #f3f1ed !important;
    border-color: #f3f1ed !important;
    color: var(--brand-darkest) !important;
  }
  /* Umrissknöpfe (u. a. FAQ-Knopf unter dem Inhalt) */
  body:not(.wp-admin) :is(.btn.secondary, .dwc-actions a.secondary, .wp-block-button.is-style-outline .wp-block-button__link):hover {
    background: var(--brand-faint) !important;
    border-color: var(--brand-ink) !important;
    color: var(--brand-deep2) !important;
  }
  /* Links im Fließtext: Strich wird kräftiger */
  body:not(.wp-admin) .dwc-page-content :is(p, li, td, dd, blockquote) a:not(.wp-block-button__link):not(.wp-element-button):not(.btn):hover {
    text-decoration-thickness: 2px;
  }
  /* Kacheln im Dunkelmodus: Schatten ist auf dunklem Grund unsichtbar, deshalb Rahmen */
  html.dwc-dark body:not(.wp-admin) .dwc-card:hover {
    box-shadow: 0 0 0 1px var(--brand-mid2);
  }
  /* Eingabefelder: Rahmen dunkelt beim Zeigen nach; Fokus bleibt stärker */
  body:not(.wp-admin) :is(.dwc-antrag .mbx-signup-form, .dwc-kontaktform-felder) :is(input, textarea, select):hover:not(:focus) {
    border-color: var(--brand-ink);
  }
  /* Links im Fuß */
  body:not(.wp-admin) .footer a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}
/* Drücken (Maus und Finger) */
body:not(.wp-admin) :is(.btn.primary, .dwc-actions a:not(.secondary), .wp-block-button:not(.is-style-outline) .wp-block-button__link):active {
  background: var(--brand-deep2) !important;
  border-color: var(--brand-deep2) !important;
  color: #fff !important;
}
body:not(.wp-admin) :is(.btn.secondary, .dwc-actions a.secondary, .wp-block-button.is-style-outline .wp-block-button__link):active {
  background: var(--brand-soft) !important;
}
html.dwc-dark body:not(.wp-admin) :is(.btn.primary, .dwc-actions a:not(.secondary), .wp-block-button:not(.is-style-outline) .wp-block-button__link):active {
  background: #d8d5cf !important;
  border-color: #d8d5cf !important;
  color: var(--brand-darkest) !important;
}
body:not(.wp-admin) .mobile-nav a:not(.member-pill):not(.active):active {
  background: var(--brand-soft);
}

/* Club-Schutzbrief: Preisschild im Bildkopf und Preistabelle (0.1.58).
   Beträge und Tabelle stammen aus derselben Liste (wp-theme/inhalte/baue-club-schutzbrief.py).
   Das Preisschild ist ein flaches Wappen mit dem DWC-Logo oben, der Text darauf ist echter
   HTML-Text, seine Größen folgen der Breite des Wappens (--wb). Der Rand (::before, Maske dwc-wappen-rand.svg) hat die Palettenfarbe
   --brand-ink wie der Knopf „Häufige Fragen“, Feld und Außenlinie (::after, dwc-wappen-vorne.svg) sind creme. Weiße Schrift
   steht nirgends auf dem Rand; die Außenlinie (#f4efe4) auf #447059 ergeben rund 4,9:1. Im Inhalt steht es zwischen Fließtext und Knöpfen; mobil und
   bis 1279 px bleibt es dort im Fluss, ab 1280 px liegt es rechts im Bild über der freien Fläche. Der Kopf-Container ist höchstens
   1280 px breit, deshalb rechnet „right“ den Rand der Seite mit ein. Dunkle Schrift (#10201a) auf #f4efe4 ergibt rund 15:1,
   die Nebenzeilen (#3f3f46) rund 8:1 (WCAG AA verlangt 4,5:1). */
body:not(.wp-admin).dwc-theme .dwc-hero .dwc-preisschild { --wb: 190px; display: flex; flex-direction: column; align-items: center; box-sizing: border-box; width: var(--wb); max-width: 100%; aspect-ratio: 5 / 6; margin: 24px 0 0 calc(var(--wb) * -.1); padding: calc(var(--wb) * .573) 0 0; position: relative; isolation: isolate; color: #10201a; line-height: 1.15; text-align: center; text-shadow: none; }
body:not(.wp-admin).dwc-theme .dwc-hero .dwc-preisschild > span { display: block; position: relative; z-index: 1; }
body:not(.wp-admin).dwc-theme .dwc-hero .dwc-preisschild::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--brand-ink); -webkit-mask: url(../images/dwc-wappen-rand.svg) center / contain no-repeat; mask: url(../images/dwc-wappen-rand.svg) center / contain no-repeat; }
body:not(.wp-admin).dwc-theme .dwc-hero .dwc-preisschild::after { content: ""; position: absolute; inset: 0; z-index: 0; background: url(../images/dwc-logo-640.png) 50% 21% / 40% auto no-repeat, url(../images/dwc-wappen-vorne.svg) center / contain no-repeat; }
body:not(.wp-admin).dwc-theme .dwc-hero .dwc-preisschild-art { width: 68%; white-space: nowrap; padding-bottom: calc(var(--wb) * .03); border-bottom: 1px solid var(--brand-ink); font-size: max(13px, calc(var(--wb) * .062)); font-weight: 700; letter-spacing: .02em; color: #3f3f46; }
body:not(.wp-admin).dwc-theme .dwc-hero .dwc-preisschild-betrag { margin: calc(var(--wb) * .027) 0 calc(var(--wb) * .01); font-size: calc(var(--wb) * .127); font-weight: 900; line-height: 1; letter-spacing: -.02em; color: #10201a; white-space: nowrap; }
body:not(.wp-admin).dwc-theme .dwc-hero .dwc-preisschild-zeitraum { font-size: max(12px, calc(var(--wb) * .047)); color: #3f3f46; }
@media (min-width: 1280px) {
  body:not(.wp-admin).dwc-theme .dwc-hero .dwc-preisschild { --wb: 190px; position: absolute; z-index: 3; top: 50%; right: calc(12vw - max(0px, (100vw - 1280px) / 2)); margin: 0; transform: translateY(-50%); }
}

/* Noch nicht entschiedene Angaben: bis zur Klärung sichtbar markiert, vor dem Einspielen entfernen */
body:not(.wp-admin) .dwc-offen { display: inline; padding: 1px 6px; background: #fff3bf; color: #5c3d00; outline: 1px dashed #5c3d00; font-size: .85em; font-weight: 700; text-shadow: none; }

/* Preiskacheln: eine Kachel je Gewichtsklasse, darin Single und Familie nebeneinander. Die günstigste
   Kachel trägt die Farbe des Schilds im Kopf (Rand und Marke), ihr Single-Preis steht in dieser Farbe.
   Am Rechner drei Spalten, darunter eine Spalte. Keine Rundungen über die globalen 2 px, keine Verläufe. */
body:not(.wp-admin) .dwc-preiskacheln { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: 1100px; margin: 32px 0 0; padding: 0; list-style: none; }
body:not(.wp-admin) .dwc-preiskachel { position: relative; margin: 0; padding: 22px 24px 24px; background: #fff; border: 1px solid #d9d3c4; color: #10201a; }
/* Abzeichen "AB 49 EUR" in der ersten Kachel: ausgeblendet, alle drei Kacheln sehen gleich aus (der Preis steht in der Kachel selbst) */
body:not(.wp-admin) .dwc-preiskachel-marke { display: none; }
body:not(.wp-admin) .dwc-preiskachel h3 { margin: 0; font-size: 1.15rem; font-weight: 800; line-height: 1.3; color: #10201a; }
body:not(.wp-admin) .dwc-preiskachel-hinweis { margin: 2px 0 0; font-size: .9rem; line-height: 1.5; color: #52525b; }
body:not(.wp-admin) .dwc-preiskachel-preise { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #d9d3c4; }
body:not(.wp-admin) .dwc-preiskachel-tarif { display: block; font-size: .82rem; line-height: 1.4; color: #52525b; }
body:not(.wp-admin) .dwc-preiskachel-betrag { display: block; margin-top: 2px; font-size: 2.1rem; font-weight: 800; line-height: 1.1; white-space: nowrap; font-variant-numeric: tabular-nums; color: #10201a; }
body:not(.wp-admin) .dwc-tabellenhinweis { margin-top: 16px; max-width: 780px; }
html.dwc-dark body:not(.wp-admin) .dwc-preiskachel { background: color-mix(in srgb, var(--brand-darkest) 86%, #fff); border-color: rgba(255,255,255,.14); color: #f3f1ed; }
html.dwc-dark body:not(.wp-admin) .dwc-preiskachel :is(h3, .dwc-preiskachel-betrag) { color: #f3f1ed; }
html.dwc-dark body:not(.wp-admin) .dwc-preiskachel :is(.dwc-preiskachel-hinweis, .dwc-preiskachel-tarif) { color: #d4d4d8; }
html.dwc-dark body:not(.wp-admin) .dwc-preiskachel-preise { border-color: rgba(255,255,255,.14); }
@media (max-width: 960px) {
  body:not(.wp-admin) .dwc-preiskacheln { grid-template-columns: 1fr; }
  body:not(.wp-admin) .dwc-preiskachel-betrag { font-size: 1.85rem; }
}

/* ============================================================
 * Etikett über der Überschrift im Seitenkopf (25.10.2026)
 * Anlass: Die gefüllte Fläche mit Knopfmaßen wirkte wie eine Schaltfläche
 * (Rückmeldung des Betreibers). Jetzt eine Zeilenüberschrift ohne Füllung mit kurzem
 * Strich davor; gefüllt bleiben nur die Knöpfe. Auf dem Bildkopf hell, auf
 * hellem Grund (schmaler Seitenkopf) in Markenfarbe.
 * ============================================================ */
body:not(.wp-admin) .dwc-kicker {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--brand-ink) !important;
}
body:not(.wp-admin) .dwc-kicker::before {
  content: "";
  flex: none;
  width: 28px;
  height: 2px;
  background: currentColor;
}
body:not(.wp-admin) .dwc-hero .dwc-kicker {
  color: #f4efe4 !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .7);
}
html.dwc-dark body:not(.wp-admin) .dwc-kicker {
  color: var(--brand-mid2) !important;
}
html.dwc-dark body:not(.wp-admin) .dwc-hero .dwc-kicker {
  color: #f4efe4 !important;
}

/* ============================================================
 * Knöpfe im Bildkopf: erster hell, zweiter gefüllt (25.10.2026)
 * Bisher füllte die Regel „.dwc-actions a:not(.secondary)“ auch den zweiten
 * Knopf; beide sahen gleich aus, nur der Schutzbrief-Kopf hatte einen hellen
 * ersten Knopf. Jetzt gilt es in jedem Bildkopf: auf dem Foto hebt sich der
 * helle Knopf ab, der zweite bleibt in der Markenfarbe. Der Schutzbrief-Kopf
 * (.dwc-sb) behält seine eigene Regel. Beim Zeigen tönt der helle Knopf
 * grünlich (der Schritt von Creme zu Weiß war kaum zu sehen).
 * ============================================================ */
body:not(.wp-admin) .dwc-hero .dwc-actions > .wp-block-button:first-child:not(.dwc-sb) .wp-block-button__link {
  background: #f4efe4 !important;
  border-color: #f4efe4 !important;
  color: var(--brand-deep2) !important;
}
body:not(.wp-admin) .dwc-hero .dwc-actions > .wp-block-button:nth-child(2):not(.dwc-sb) .wp-block-button__link {
  background: var(--brand-ink) !important;
  border-color: var(--brand-ink) !important;
  color: #fff !important;
}
html.dwc-dark body:not(.wp-admin) .dwc-hero .dwc-actions > .wp-block-button:nth-child(2):not(.dwc-sb) .wp-block-button__link {
  background: var(--brand-mid2) !important;
  border-color: var(--brand-mid2) !important;
  color: var(--brand-darkest) !important;
}
@media (hover: hover) {
  body:not(.wp-admin) .dwc-hero .dwc-actions > .wp-block-button:first-child:not(.dwc-sb) .wp-block-button__link:hover {
    background: var(--brand-soft) !important;
    border-color: var(--brand-soft) !important;
  }
  body:not(.wp-admin) .dwc-hero .dwc-actions > .wp-block-button:nth-child(2):not(.dwc-sb) .wp-block-button__link:hover {
    background: var(--brand-deep) !important;
    border-color: var(--brand-deep) !important;
  }
  html.dwc-dark body:not(.wp-admin) .dwc-hero .dwc-actions > .wp-block-button:nth-child(2):not(.dwc-sb) .wp-block-button__link:hover {
    background: #f3f1ed !important;
    border-color: #f3f1ed !important;
    color: var(--brand-darkest) !important;
  }
}
body:not(.wp-admin) .dwc-hero .dwc-actions > .wp-block-button:first-child:not(.dwc-sb) .wp-block-button__link:active {
  background: var(--brand-bright) !important;
  border-color: var(--brand-bright) !important;
}
body:not(.wp-admin) .dwc-hero .dwc-actions > .wp-block-button:nth-child(2):not(.dwc-sb) .wp-block-button__link:active {
  background: var(--brand-deep2) !important;
  border-color: var(--brand-deep2) !important;
}

/* ============================================================
 * Kachelreihen: Knopf unten bündig (26.10.2026)
 * In Reihen mit zwei oder mehr Kacheln sind die Kacheln gleich hoch, der Knopf
 * am Ende folgte aber dem Text und stand je nach Textlänge verschieden hoch.
 * Jetzt sitzt er unten links in jeder Kachel auf einer Linie. Die Kette der
 * Selektoren entspricht der Regel, die den Innenbehälter auf block setzt
 * (gleiche Spezifität, steht später). Die FAQ-Seiten haben dieselbe Regel
 * schon seitenweise; sie bleibt bestehen.
 * ============================================================ */
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container > .dwc-card {
  display: flex !important;
  flex-direction: column !important;
}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container > .dwc-card > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto;
}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container > .dwc-card > .wp-block-group__inner-container > :is(.wp-block-buttons, p:last-child:has(> a:only-child)) {
  margin-top: auto !important;
}
body:not(.wp-admin) .dwc-cards > .wp-block-group__inner-container > .dwc-card > .wp-block-group__inner-container > p:last-child:has(> a:only-child) {
  padding-top: 12px;
}

/* ============================================================
 * Bildkopf: Bild bleibt stehen, Inhalt läuft darüber (26.10.2026)
 * Nur mit Maus und breitem Fenster: Safari am Handy ignoriert fixed, und beim
 * Scrollen mit dem Finger ruckelt es.
 *
 * Das Bild liegt auf einer fensterfesten Ebene (position: fixed), der Kopf
 * schneidet sie per clip-path zu. Warum nicht background-attachment: fixed:
 * Dort bezieht sich „cover“ und --hero-pos auf das ganze Fenster, der Blickpunkt
 * landete hinter Kopfleiste und Seitenmenü (Gesichter auf Mitglied werden,
 * Kontakt). Hier ist die Ebene so aufgebaut, dass der Ausschnitt auf den
 * sichtbaren Kopfstreifen unterhalb der Kopfleiste gerechnet wird: oben ein
 * Innenabstand in Höhe der Kopfleiste, background-origin: content-box. Beim
 * Seitenanfang sieht der Kopf damit genauso aus wie ein mitlaufendes Bild;
 * beim Scrollen bleibt das Bild stehen. Das Bild ragt nach oben und unten über
 * den Streifen hinaus (Schleier der Kopfleiste), soweit das Foto Fläche hat.
 *
 * --dwc-kopf-hoehe: Höhe der Kopfleiste (189 px, konstant; mit
 * Admin-Leiste kommen 32 px dazu). --hero-hoehe wie beim Kopf selbst.
 * ============================================================ */
@media (min-width: 1101px) and (hover: hover) {
  body:not(.wp-admin).dwc-theme { --dwc-kopf-hoehe: 189px; }
  body.admin-bar:not(.wp-admin).dwc-theme { --dwc-kopf-hoehe: 221px; }
  /* Die Kopfleiste bleibt beim Scrollen 189 px hoch (Theme 0.1.71); die
     Variable darf sich nie ändern, sonst springt das Bild. */
  body:not(.wp-admin).dwc-theme .dwc-hero { clip-path: inset(0); }
  body:not(.wp-admin).dwc-theme .dwc-hero::before {
    position: fixed !important;
    inset: auto !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box !important;
    height: calc(var(--dwc-kopf-hoehe) + var(--hero-hoehe, max(360px, min(33.6vw, 72vh, 672px))) + 160px) !important;
    padding-top: var(--dwc-kopf-hoehe) !important;
    padding-bottom: 160px !important;
    background-origin: content-box !important;
    background-clip: border-box !important;
    transform: none !important;
  }
}

/* ============================================================
 * Klickbare Kacheln: eine Rückmeldung für alle (26.10.2026)
 * Bisher zeigten manche Kacheln nur einen grünen Rahmen, andere hoben sich mit
 * Schatten, und Kacheln ohne Link hoben sich ebenfalls. Jetzt: Klickbar ist, wer
 * die ganze Fläche als Verweis trägt (Verweis „dwc-karte-link“ oder einziger Link
 * im letzten Absatz). Beim Zeigen: grüner Rahmen, leichtes Anheben, Schatten.
 * Kacheln ohne Verweis reagieren nicht. Nur mit Maus (hover: hover).
 * Das Anheben läuft über „translate“, nicht über „transform“: Die Einblend-Animation
 * der Kacheln (dwc-rv-rise, fill-mode both) hält transform fest, ein Anheben per
 * transform wirkte bei diesen Kacheln nie.
 * ============================================================ */
body:not(.wp-admin) .card:has(a.dwc-karte-link) { position: relative; }
body:not(.wp-admin) .card:has(a.dwc-karte-link:focus-visible) {
  outline: 2px solid var(--brand-deep);
  outline-offset: 2px;
}
@media (hover: hover) {
  body:not(.wp-admin) :is(.dwc-card, .card):is(:has(a.dwc-karte-link), :has(p:last-child > a:only-child)) {
    transition: translate 160ms ease-out, box-shadow 160ms ease-out;
  }
  body:not(.wp-admin) :is(.dwc-card, .card):is(:has(a.dwc-karte-link), :has(p:last-child > a:only-child)):hover {
    translate: 0 -3px;
    box-shadow: 0 0 0 1px var(--brand-mid), 0 12px 28px rgba(0, 0, 0, .12);
  }
  html.dwc-dark body:not(.wp-admin) :is(.dwc-card, .card):is(:has(a.dwc-karte-link), :has(p:last-child > a:only-child)):hover {
    box-shadow: 0 0 0 1px var(--brand-mid2), 0 12px 28px rgba(0, 0, 0, .35);
  }
  body:not(.wp-admin) .dwc-card:not(:has(a.dwc-karte-link)):not(:has(p:last-child > a:only-child)):hover {
    transform: none;
    translate: none;
    box-shadow: 0 3px 16px rgba(0, 0, 0, .06);
  }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.wp-admin) :is(.dwc-card, .card):hover { translate: none !important; }
}

/* ============================================================
 * Preiskarten mit Bild: Bild bis an den Rand (26.10.2026)
 * Die Kachelbild-Regel kennt nur .dwc-card (Innenabstand oben 0, Bild über die
 * volle Breite). In .dwc-price (Club-Schutzbrief, „Lohnt sich das für mich?“) blieb
 * oben ein weißer Streifen und seitlich ein schmaler Rand, weil dort 26px Innenabstand
 * gelten. Jetzt gleiches Bild-Verhalten wie bei den übrigen Kacheln.
 * ============================================================ */
body:not(.wp-admin) .dwc-price:has(.dwc-kachel-bild) {
  padding-top: 0 !important;
  overflow: hidden;
}
body:not(.wp-admin) .dwc-price:has(.dwc-kachel-bild) > .wp-block-group__inner-container {
  padding-top: 0 !important;
}
body:not(.wp-admin) .dwc-price .dwc-kachel-bild {
  width: calc(100% + 52px);
  margin: 0 -26px 18px;
}
@media (max-width: 700px) {
  body:not(.wp-admin) .dwc-price .dwc-kachel-bild { width: calc(100% + 44px); margin-inline: -22px; }
}

/* ============================================================
 * Preisraster und Hinweiskasten: Bereiche kleben nicht (26.10.2026)
 * Das Raster .dwc-price-grid war am äußeren Gruppenelement gesetzt, die Karten
 * liegen aber im inneren Behälter (.wp-block-group__inner-container). Folge:
 * zwei Karten untereinander ohne Abstand, die zweite Spalte leer, der Hinweiskasten
 * darunter breiter als die Karten und ohne Abstand. Das Raster sitzt jetzt am
 * inneren Behälter; Überschrift davor und Hinweiskasten danach haben Abstand.
 * ============================================================ */
body:not(.wp-admin) .dwc-price-grid {
  display: block !important;
  margin-top: 28px !important;
}
body:not(.wp-admin) .dwc-price-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
body:not(.wp-admin) * + .dwc-note {
  margin-top: 24px !important;
}
@media (max-width: 1100px) {
  body:not(.wp-admin) .dwc-price-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
 * Kacheln ohne Verweis: Lichtschein statt Anheben (26.10.2026)
 * Kacheln, die nichts öffnen, bleiben starr (kein Anheben, kein Rahmen); beim Zeigen
 * folgt ein sanfter Lichtschein der Maus. Die Position setzt dwc_kachel_licht_js()
 * in functions.php als --mx/--my. Nur mit Maus (hover: hover).
 * ============================================================ */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  body:not(.wp-admin) .dwc-card:not(:has(a.dwc-karte-link)):not(:has(p:last-child > a:only-child)) {
    position: relative;
    isolation: isolate;
  }
  body:not(.wp-admin) .dwc-card:not(:has(a.dwc-karte-link)):not(:has(p:last-child > a:only-child))::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(240px circle at var(--mx, 50%) var(--my, -20%), rgba(var(--brand-soft-rgb), .55), transparent 70%);
    opacity: 0;
    transition: opacity 250ms ease;
    pointer-events: none;
  }
  body:not(.wp-admin) .dwc-card:not(:has(a.dwc-karte-link)):not(:has(p:last-child > a:only-child)):hover::before {
    opacity: 1;
  }
  html.dwc-dark body:not(.wp-admin) .dwc-card:not(:has(a.dwc-karte-link)):not(:has(p:last-child > a:only-child))::before {
    background: radial-gradient(240px circle at var(--mx, 50%) var(--my, -20%), rgba(255, 255, 255, .08), transparent 70%);
  }
}

/* ============================================================
 * Anmeldefenster: Hinweis „Noch kein Mitglied?“ deutlicher (26.10.2026)
 * Der Weg zum Beitritt stand als kleiner Text unter dem Formular und wurde
 * übersehen. Jetzt eine eigene Fläche mit Frage und einem umrandeten Knopf.
 * Das Fenster bleibt auch im Dunkelmodus hell (siehe oben), daher keine Dunkelwerte.
 * ============================================================ */
body:not(.wp-admin) .mbx-login-modal-beitritt {
  display: grid;
  gap: 10px;
  margin-top: 1.25rem;
  padding: 1.1rem 0 0;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  color: #18181b;
}
body:not(.wp-admin) .mbx-login-modal-beitritt a {
  display: block;
  padding: 14px 18px;
  border: 2px solid var(--brand-ink);
  background: #fff;
  color: var(--brand-ink) !important;
  font-size: 1rem;
  font-weight: 800;
  text-decoration: none;
}
body:not(.wp-admin) .mbx-login-modal-beitritt a::after {
  content: " \2192";
}
@media (hover: hover) {
  body:not(.wp-admin) .mbx-login-modal-beitritt a:hover {
    background: var(--brand-faint);
    border-color: var(--brand-deep);
    color: var(--brand-deep) !important;
  }
}

/* Erstinformation: Unterüberschriften in den Abschnittskarten */
body:not(.wp-admin) .dwc-impressum-block h3{margin:18px 0 6px;font-size:.95rem;font-weight:700;color:#18181b}
body:not(.wp-admin) .dwc-impressum-block ul{margin:0 0 12px;padding-left:1.2em;font-size:.95rem;line-height:1.6;color:#3f3f46}
html.dwc-dark body:not(.wp-admin) .dwc-impressum-block :is(h3,ul){color:#f3f1ed}

/* Wer wir sind: Text links, Foto rechts (eckig durch die globale Regel), auf dem Telefon unter dem Text */
body:not(.wp-admin) .dwc-wer-wir-sind .wp-block-columns { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 48px; align-items: center; margin: 0; }
body:not(.wp-admin) .dwc-wer-wir-sind .wp-block-column { min-width: 0; width: auto; margin: 0; }
body:not(.wp-admin) .dwc-wer-wir-sind .wp-block-image { margin: 0; }
body:not(.wp-admin) .dwc-wer-wir-sind .wp-block-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
@media (max-width: 820px) { body:not(.wp-admin) .dwc-wer-wir-sind .wp-block-columns { grid-template-columns: minmax(0, 1fr); gap: 28px; } }

/* Zweiter Knopf in einem Inhaltsabschnitt (is-style-outline) als Umriss, damit Haupt- und Nebenaktion unterscheidbar sind; der Bildkopf hat seine eigene Regel */
body:not(.wp-admin) .dwc-section .is-style-outline .wp-block-button__link { background: transparent !important; color: var(--brand-ink) !important; border-color: var(--brand-ink) !important; }
html.dwc-dark body:not(.wp-admin) .dwc-section .is-style-outline .wp-block-button__link { color: var(--brand-mid2) !important; border-color: var(--brand-mid2) !important; }
/* Cookiebot-Symbol (Wiederöffnen der Einstellungen) schwebt unten links und lag am Handy
   über dem Reiter „Start“ der Handy-Leiste. Wo die Leiste erscheint, sitzt es darüber. */
@media (max-width: 1100px) {
  html body #CookiebotWidget { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}

/* ============================================================
 * Hinweisleiste unter dem Menü der Startseite (inc/hinweisleiste.php)
 * Im Seitenfluss, ohne Überlagerung; "wartet" hält den Platz frei, solange das
 * Cookie-Fenster offen ist. Keine eigene Rundung (global 2 px), kein Verlauf.
 * ============================================================ */
body:not(.wp-admin) .dwc-leiste{position:relative;background:var(--brand-faint);border-bottom:1px solid var(--line);color:var(--ink)}
body:not(.wp-admin) .dwc-leiste[hidden]{display:none}
body:not(.wp-admin) .dwc-leiste.wartet{visibility:hidden}
body:not(.wp-admin) .dwc-leiste p{max-width:1280px;margin:0 auto;padding:10px 56px 10px 20px;font-size:15px;line-height:1.45;text-align:center}
body:not(.wp-admin) .dwc-leiste a{color:var(--brand-deep);font-weight:800;text-decoration:underline;text-underline-offset:3px}
body:not(.wp-admin) .dwc-leiste-zu{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
body:not(.wp-admin) .dwc-leiste-zu:hover{background:rgba(0,0,0,.06)}
body:not(.wp-admin) .dwc-leiste :is(a,.dwc-leiste-zu):focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}
html.dwc-dark body:not(.wp-admin) .dwc-leiste{background:rgba(255,255,255,.06);border-bottom-color:rgba(255,255,255,.12);color:#d8d5cf}
html.dwc-dark body:not(.wp-admin) .dwc-leiste a{color:var(--brand-mid2)}
html.dwc-dark body:not(.wp-admin) .dwc-leiste-zu:hover{background:rgba(255,255,255,.1)}
@media (max-width:600px){
  body:not(.wp-admin) .dwc-leiste p{padding:8px 48px 8px 14px;font-size:14px;text-align:left}
  body:not(.wp-admin) .dwc-leiste-lang{display:none}
}
/* Seite Zugang einrichten (Shortcode des Plugins): Erklärtext in lesbarer Zeilenlänge, Feld und Knopf schmal */
body:not(.wp-admin) .mbx-zugang :is(p,h2){max-width:70ch}
body:not(.wp-admin) .mbx-zugang .mbx-pw-form{max-width:32rem}
