:root{
  --bg:#f7f7f5;
  --surface:#ffffff;
  --text:#111317;
  --muted:#656b73;
  --line:#e7e3dc;
  --line2:#d9d4cb;
  --green:#20bf63;
  --greenSoft:#d8f8e7;
  --brown:#b58b69;
  --brownDark:#8e684b;
  --shadow:0 18px 36px rgba(18,22,28,.10);
  --shadowSoft:0 8px 20px rgba(18,22,28,.08);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit} button{cursor:pointer}
.appShell{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:100vh}
.sideMenu{position:sticky;top:0;height:100vh;overflow:auto;background:linear-gradient(180deg,#111820,#0e1217);border-right:1px solid rgba(255,255,255,.08);padding:24px 18px;color:#f5f1e8}
.sideBrand{display:flex;gap:14px;align-items:center;padding:10px 10px 20px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:18px}
.sideLogo{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#272f38,#151a20);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px rgba(255,255,255,.08);font-weight:900;font-size:9px}
.sideBrand h1{font-size:15px;margin:0;line-height:1.1}.sideBrand p{font-size:12px;color:#9aa3ad;margin:4px 0 0}
.sideProgress{display:flex;align-items:center;justify-content:space-between;padding:0 10px 18px;color:#9aa3ad;font-size:12px}
.sideBarTrack{width:92px;height:6px;border-radius:999px;background:#27303a;overflow:hidden}.sideBarFill{display:block;height:100%;width:0;background:linear-gradient(90deg,#b58b62,#d4b087);transition:.18s ease}
.sideSteps{display:flex;flex-direction:column;gap:8px}
.sideStep{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;padding:12px 10px;border-radius:18px;color:inherit;text-decoration:none;border:1px solid transparent;position:relative;opacity:.42;transition:.18s ease;cursor:pointer}
.sideStep.visible{opacity:1}.sideStep.hidden{display:none}.sideStep:hover{background:rgba(255,255,255,.05)}
.sideStep.active{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border-color:rgba(212,176,135,.42);box-shadow:0 14px 36px rgba(0,0,0,.22)}
.sideStep.done .sideIcon{background:rgba(130,201,135,.14);border-color:rgba(130,201,135,.36);color:#82c987}
.sideStep.active .sideIcon{background:rgba(181,139,98,.17);border-color:rgba(212,176,135,.5);color:#d4b087}
.sideStep::before{content:"";position:absolute;left:30px;top:56px;bottom:-13px;width:1px;background:linear-gradient(180deg,rgba(212,176,135,.28),rgba(212,176,135,.02))}
.sideStep:last-child::before{display:none}
.sideIcon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;font-size:18px;background:#1b222b;border:1px solid rgba(255,255,255,.09)}
.sideStepTitle{font-size:13px;font-weight:800;line-height:1.15;margin:1px 0 5px}
.sideStepChoice{display:inline-flex;max-width:100%;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.07);color:#d9d2c6;font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sideStep.pending .sideStepChoice{color:#9aa3ad;background:transparent;padding:0}
.sideTools{margin-top:18px;padding:12px;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.sideTools h3{font-size:12px;margin:0 0 10px;color:#d8dedf}
.sideTools button{width:100%;margin-top:7px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.06);color:#dce2e8;border-radius:14px;padding:10px 12px;text-align:left;font-weight:750;font-size:12px}
.contentShell{min-width:0}.topbar{height:64px;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topInner{max-width:1180px;height:100%;margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px}.logo{width:34px;height:34px;border-radius:999px;background:#111;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:900;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.brandTitle{font-size:18px;line-height:1.05;margin:0}.brandSub{font-size:12px;color:var(--muted);margin:2px 0 0}
.trust{display:inline-flex;align-items:center;gap:8px;background:var(--greenSoft);color:#16a653;border-radius:999px;padding:8px 14px;font-weight:750;font-size:13px}
.main{max-width:1180px;margin:0 auto;padding:38px 22px 120px}
.pageTitle{font-size:28px;letter-spacing:-.035em;margin:0 0 8px}.pageLead{font-size:16px;color:var(--muted);margin:0 0 28px;line-height:1.48}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{min-height:172px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadowSoft);padding:24px;transition:.18s ease;cursor:pointer;position:relative}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#cfc7bb}.card.selected{border:2px solid var(--green);box-shadow:0 18px 42px rgba(32,191,99,.13),var(--shadowSoft)}
.cardCheck{position:absolute;right:17px;top:17px;width:23px;height:23px;border-radius:50%;border:2px solid #ece8e2;background:#fff;display:grid;place-items:center}
.card.selected .cardCheck{background:var(--green);border-color:var(--green);color:white}.card.selected .cardCheck::before{content:"✓";font-size:13px;font-weight:900}
.iconBubble{width:46px;height:46px;border-radius:50%;background:var(--greenSoft);color:var(--green);display:grid;place-items:center;font-size:22px;margin-bottom:20px}
.card h3{font-size:17px;margin:0 0 8px;letter-spacing:-.01em}.card p{font-size:14px;line-height:1.45;color:#3f454d;margin:0}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tag{background:#f3f1ee;border:1px solid #ece7df;color:#121417;border-radius:8px;padding:5px 8px;font-size:11px;font-weight:800}
.section{margin-top:34px}.sectionHead{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:950;margin:0 0 18px}.sectionHead::before{content:"";width:38px;height:1px;background:#111}.sectionHint{font-size:12px;color:var(--muted);font-weight:800}
.moduleGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.moduleGrid.two{grid-template-columns:repeat(2,220px)}.moduleGrid.one{grid-template-columns:220px}
.moduleCard{min-height:272px;background:white;border:1px solid var(--line);border-radius:15px;padding:12px;box-shadow:var(--shadowSoft);transition:.16s ease;cursor:pointer;position:relative}
.moduleCard:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.moduleCard.selected{border:2px solid var(--green);box-shadow:0 12px 28px rgba(32,191,99,.14)}
.radio{position:absolute;right:10px;top:10px;width:21px;height:21px;border-radius:50%;border:2px solid #ebe6de;background:#fff;z-index:2}.moduleCard.selected .radio{background:var(--green);border-color:var(--green)}.moduleCard.selected .radio::before{content:"✓";display:grid;place-items:center;color:white;font-size:12px;font-weight:950}
.moduleImg{height:184px;border-radius:12px;background:linear-gradient(135deg,#faf8f3,#eee7dc);display:grid;place-items:center;margin-bottom:12px;overflow:hidden}.moduleImg svg{width:92%;height:92%;filter:drop-shadow(0 10px 16px rgba(0,0,0,.14))}
.moduleCard h3{font-size:13px;margin:0 0 4px}.moduleCard p{font-size:11.5px;color:#59616a;line-height:1.35;margin:0}
.addonGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.addonCard{min-height:156px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadowSoft);padding:24px;cursor:pointer;transition:.16s ease;position:relative}
.addonCard:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.addonCard.selected{border:2px solid var(--green);box-shadow:0 12px 28px rgba(32,191,99,.14)}
.addonCard h3{text-transform:uppercase;font-size:15px;margin:0 0 9px}.addonCard p{font-size:13.5px;line-height:1.42;color:#3f454d;margin:0}
.bottomNav{position:fixed;left:340px;right:0;bottom:0;height:72px;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(18px);border-top:1px solid var(--line);box-shadow:0 -8px 22px rgba(0,0,0,.06);z-index:25}
.bottomInner{max-width:1180px;height:100%;margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between}
.back{border:0;background:transparent;color:#121417;font-weight:850;display:inline-flex;align-items:center;gap:7px}.next{border:0;background:var(--brown);color:#fff;padding:13px 26px;border-radius:13px;font-weight:900;box-shadow:0 8px 20px rgba(142,104,75,.22)}.next:hover{background:var(--brownDark)}.next.hidden{visibility:hidden}
.calculation{min-height:620px;display:grid;place-items:center;text-align:center}.spinner{width:56px;height:56px;border-radius:50%;border:5px solid #dff3e7;border-top-color:var(--green);animation:spin 1s linear infinite;margin:0 auto 28px}@keyframes spin{to{transform:rotate(360deg)}}.priceLabel{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--muted);margin-top:28px}.price{font-size:42px;letter-spacing:-.04em;margin:5px 0 26px}
.review{width:min(460px,90vw);background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadowSoft);padding:24px;margin:0 auto}.stars{color:#f2aa00;font-size:18px;letter-spacing:2px;text-align:left}.reviewText{font-family:Georgia,serif;font-size:16px;line-height:1.5;margin:14px 0}
.resultBox{display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:start}.summaryBox,.contactBox,.simpleCard,.adminBox{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadowSoft);padding:24px}.summaryRows{display:grid;gap:12px}.summaryRow{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:10px;color:#4b535c}.summaryRow strong{color:#111;text-align:right}.contactBox input,.contactBox textarea,.simpleCard input{width:100%;border:1px solid var(--line2);background:#fff;border-radius:12px;padding:13px 14px;margin-bottom:10px}.contactBox textarea{min-height:100px;resize:vertical}.fullWidthBtn,.buttonLink{display:inline-block;width:100%;border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:900;padding:14px;text-align:center;text-decoration:none}.notice,.muted{color:var(--muted);font-size:13px;line-height:1.4}.error{background:#fee;border:1px solid #fbb;color:#900;border-radius:12px;padding:12px;margin:12px 0}
.simplePage{display:grid;place-items:center;min-height:100vh}.simpleCard{width:min(520px,92vw)}.simpleCard label{font-weight:800;display:block;margin:12px 0 6px}
.adminPage{background:#f7f7f5}.adminHeader{height:64px;background:#111820;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.adminHeader a{color:#d4b087;text-decoration:none;margin-left:16px;font-weight:800}.adminMain{max-width:1180px;margin:0 auto;padding:30px 22px}.adminGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.adminTile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadowSoft)}.adminTile span{display:block;color:var(--muted);font-size:13px}.adminTile strong{font-size:32px}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}pre{white-space:pre-wrap;max-width:360px}
@media(max-width:980px){.appShell{grid-template-columns:1fr}.sideMenu{position:relative;height:auto}.bottomNav{left:0}.cards,.cards.three,.addonGrid,.resultBox{grid-template-columns:1fr}.moduleGrid,.moduleGrid.two,.moduleGrid.one{grid-template-columns:repeat(2,minmax(0,1fr))}.trust{display:none}}
@media(max-width:560px){.topbar{height:auto}.topInner{padding:12px 18px}.main{padding:28px 18px 100px}.moduleGrid,.moduleGrid.two,.moduleGrid.one{grid-template-columns:1fr}.pageTitle{font-size:25px}.adminGrid{grid-template-columns:1fr}}

/* CMB Konfigurator 1.0.12 – UX-Feinschliff Kundensicht & Layoutkarten */
@media (min-width: 981px){
  .appShell{grid-template-columns:300px minmax(0,1fr)}
  .bottomNav{left:300px}
  .sideMenu{padding:22px 16px}
  .sideStep{grid-template-columns:38px 1fr;border-radius:16px;padding:10px 9px}
  .sideIcon{width:38px;height:38px;border-radius:14px;font-size:16px}
  .sideStepTitle{font-size:12.5px}
  .sideStepChoice{font-size:10.5px}
}

body:not(.adminPage) .main{max-width:1240px}
body:not(.adminPage) .pageTitle{font-size:clamp(30px,3.1vw,44px);letter-spacing:-.055em;line-height:1.04;margin-bottom:10px}
body:not(.adminPage) .pageLead{max-width:760px;font-size:clamp(16px,1.2vw,19px);line-height:1.55;margin-bottom:34px;color:#68707a}
body:not(.adminPage) .card{border-radius:24px;padding:26px;box-shadow:0 16px 42px rgba(20,24,30,.08);border-color:#ebe6dd}
body:not(.adminPage) .card h3{font-size:clamp(18px,1.35vw,23px);letter-spacing:-.025em;line-height:1.12}
body:not(.adminPage) .card p{font-size:15px;line-height:1.52;color:#4d5660}
body:not(.adminPage) .tag{border-radius:999px;background:#f5f1eb;border-color:#eadfce;color:#75583f;padding:6px 10px;font-size:11px}
body:not(.adminPage) .priceTag{background:#ecf9f1;border-color:#d3f0dd;color:#138a47}

/* Reine Kundensicht für interne QA-Screenshots: ohne linke Konfigurator-Rail und ohne Bottom-Bar. */
body.qaCleanCapture{background:#fbfaf8}
body.qaCleanCapture .appShell{display:block;min-height:100vh}
body.qaCleanCapture .sideMenu,
body.qaCleanCapture .bottomNav{display:none!important}
/* 1.5.45: QA-only mobile navigation capture. */
body.qaNavigationCapture .bottomNav{display:block!important}
body.qaNavigationCapture .main{padding-bottom:118px!important}
@media(max-width:720px){body.qaNavigationCapture .main{padding-bottom:92px!important}}
body.qaCleanCapture .contentShell{min-width:0;width:100%}
body.qaCleanCapture .topbar{position:static;height:72px;background:rgba(255,255,255,.96)}
body.qaCleanCapture .topInner{max-width:1280px}
body.qaCleanCapture .main{max-width:1280px;padding:48px 34px 80px}
body.qaCleanCapture .pageLead{margin-bottom:38px}
body.qaCleanCapture .cards{gap:28px}
body.qaCleanCapture .cards.three{gap:22px}
body.qaCleanCapture .resultBox{grid-template-columns:minmax(0,1fr) 390px;gap:28px}
body.qaCleanCapture .cardCheck{width:28px;height:28px;right:18px;top:18px;border-color:#e8dfd2}

@media (min-width: 981px){
  body.qaCleanCapture .cards:not(.three){grid-template-columns:repeat(2,minmax(0,1fr))}
  body.qaCleanCapture .card[data-key="floorplan"]{min-height:0;padding:26px}
  body.qaCleanCapture .card[data-key="floorplan"] h3{font-size:24px;margin-top:10px}
  body.qaCleanCapture .card[data-key="floorplan"] p{font-size:16px;max-width:92%}
}

/* Mobile QA bleibt echte Mobile-Kundensicht ohne zusätzliche Seitennavigation. */
@media (max-width: 720px){
  body.qaCleanCapture .topbar{height:auto}
  body.qaCleanCapture .topInner{padding:14px 18px}
  body.qaCleanCapture .main{padding:28px 18px 54px}
  body.qaCleanCapture .pageTitle{font-size:28px}
  body.qaCleanCapture .pageLead{font-size:15px;margin-bottom:22px}
  body.qaCleanCapture .cards,
  body.qaCleanCapture .cards.three{grid-template-columns:1fr;gap:16px}
}

/* CMB Konfigurator 1.0.13 – Admin-Menü, Login und Basis-UX */
@media (min-width: 981px){
  .appShell{grid-template-columns:286px minmax(0,1fr)}
  .bottomNav{left:286px}
  .sideMenu{padding:20px 14px}
}
.sideBrand{border-radius:20px;background:rgba(255,255,255,.035);padding:12px;margin:0 0 16px;border:1px solid rgba(255,255,255,.07)}
.sideProgress{padding:0 8px 14px}
.sideTools{margin-top:16px}
.sideTools button{transition:.15s ease}
.sideTools button:hover{background:rgba(255,255,255,.1);border-color:rgba(212,176,135,.24)}
.sideStep{border-radius:16px}
.sideStep.active{box-shadow:0 12px 30px rgba(0,0,0,.20)}
.sideStepChoice{max-width:180px}

.adminHeaderV2{
  min-height:72px;
  height:auto;
  gap:18px;
  align-items:center;
  padding:12px 22px;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 22px rgba(8,12,18,.16);
}
.adminBrandBlock{display:grid;gap:3px;min-width:220px}
.adminBrandBlock strong{font-size:14px;letter-spacing:.01em}
.adminBrandBlock span{font-size:11px;color:#96a0aa;font-weight:750}
.adminNavV2{display:flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:wrap;width:100%}
.adminNavGroup{display:flex;align-items:center;gap:7px;padding:5px 7px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.065)}
.adminNavLabel{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7f8b97;font-weight:900;padding:0 3px}
.adminNavLinks{display:flex;align-items:center;gap:4px}
.adminHeader .adminNavLinks a,
.adminHeader .adminNavActions a{margin-left:0;color:#d7bd9f;text-decoration:none;font-size:12px;font-weight:900;border-radius:12px;padding:8px 10px;line-height:1;transition:.15s ease}
.adminHeader .adminNavLinks a:hover,
.adminHeader .adminNavLinks a.active{background:rgba(212,176,135,.16);color:#f2dbc0}
.adminNavActions{display:flex;align-items:center;gap:6px;margin-left:4px}
.adminHeader .adminNavActions .adminNavGhost{color:#dce5ec;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.adminHeader .adminNavActions .adminNavLogout{color:#fff;background:rgba(181,78,65,.22);border:1px solid rgba(255,255,255,.08)}
.adminMain{max-width:1280px}.adminBox{border-radius:22px}.adminGrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.adminTile{border-radius:20px}
.adminPage h1{letter-spacing:-.035em}.adminPage .muted{font-size:13px;color:#69717b}.tableWrap{border:1px solid var(--line);border-radius:18px;background:#fff}.tableWrap table{min-width:760px}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#6b737d;background:#fbfaf8}td{font-size:13px;line-height:1.35}

.loginPage{background:radial-gradient(circle at 24% 20%,rgba(181,139,105,.24),transparent 34%),linear-gradient(135deg,#101820,#151b23 52%,#f7f4ee 52%);padding:28px}
.loginShell{width:min(1040px,94vw);display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:stretch}
.loginIntro{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:38px;color:#f8f4ec;box-shadow:0 24px 70px rgba(0,0,0,.24);display:flex;flex-direction:column;justify-content:flex-end;min-height:430px}
.loginMark{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;background:#f8f4ec;color:#111820;font-weight:950;letter-spacing:-.04em;margin-bottom:auto;box-shadow:0 14px 35px rgba(0,0,0,.22)}
.loginEyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:#d4b087;margin:0 0 10px}
.loginIntro h1{font-size:clamp(34px,4vw,56px);line-height:.98;letter-spacing:-.06em;margin:0 0 14px}
.loginIntro p{max-width:560px;color:#d9e0e6;font-size:16px;line-height:1.55;margin:0 0 22px}
.loginChecklist{display:flex;flex-wrap:wrap;gap:8px}.loginChecklist span{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.065);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:850;color:#eef3f6}
.loginCard{border-radius:28px;padding:30px;align-self:center;box-shadow:0 22px 60px rgba(17,24,32,.18)}
.loginCard h2{font-size:28px;letter-spacing:-.045em;margin:0 0 8px}.loginForm{margin-top:18px}.passwordField{position:relative}.passwordField input{padding-right:96px}.passwordField button{position:absolute;right:7px;top:7px;border:0;background:#111820;color:#fff;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:900}.loginLinks{margin-top:18px;text-align:center}.loginLinks a{color:#8e684b;font-weight:900;text-decoration:none}.loginCard .fullWidthBtn{margin-top:8px;background:#111820}.loginCard .fullWidthBtn:hover{background:#26313d}
@media(max-width:980px){
  .adminHeaderV2{align-items:flex-start;flex-direction:column}.adminBrandBlock{min-width:0}.adminNavV2{justify-content:flex-start}.adminNavGroup{width:100%;justify-content:space-between}.adminNavLinks{flex-wrap:wrap;justify-content:flex-end}.loginShell{grid-template-columns:1fr}.loginIntro{min-height:300px}.loginPage{background:#111820}
}
@media(max-width:560px){.adminNavGroup{display:grid;gap:8px}.adminNavLinks{justify-content:flex-start}.loginPage{padding:16px}.loginIntro,.loginCard{border-radius:22px;padding:24px}.loginChecklist{display:grid}.loginShell{width:100%}}


/* CMB Konfigurator 1.0.14 – Kundenflow und Beratungslogik */
.studioHero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:24px;
  align-items:stretch;
  margin:-4px 0 30px;
}
.studioHeroText{
  background:linear-gradient(135deg,#111820,#1f2832);
  color:#f8f4ec;
  border-radius:30px;
  padding:34px;
  box-shadow:0 24px 64px rgba(17,24,32,.18);
  position:relative;
  overflow:hidden;
}
.studioHeroText::after{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:rgba(212,176,135,.16);
}
.heroEyebrow{
  position:relative;
  z-index:1;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#d4b087;
  font-size:11px;
  font-weight:950;
  margin-bottom:14px;
}
.studioHeroText h1{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 0 14px;
  font-size:clamp(34px,4vw,58px);
  line-height:.98;
  letter-spacing:-.065em;
}
.studioHeroText p{
  position:relative;
  z-index:1;
  max-width:650px;
  margin:0;
  color:#dfe6eb;
  font-size:17px;
  line-height:1.55;
}
.heroProof{
  background:#fff;
  border:1px solid var(--line);
  border-radius:30px;
  box-shadow:var(--shadowSoft);
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:210px;
}
.heroProof strong{font-size:23px;letter-spacing:-.035em;margin-bottom:10px}
.heroProof span{color:#626b75;line-height:1.5}
.pathCards{grid-template-columns:repeat(4,minmax(0,1fr))}
.pathCards .card{min-height:260px}
.cardBadge{
  display:inline-flex;
  margin-bottom:14px;
  border-radius:999px;
  background:#f3eee5;
  color:#7b5c42;
  padding:6px 10px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.02em;
}
.card.adviceCard{
  border-color:#d7c4a9;
  background:linear-gradient(180deg,#fffdf9,#f8f1e8);
}
.advisorPanel{
  background:#fff;
  border:1px solid #eadfce;
  border-radius:24px;
  box-shadow:var(--shadowSoft);
  padding:22px 24px;
  margin:0 0 24px;
}
.advisorPanel.compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,360px);
  gap:16px 24px;
  align-items:start;
}
.advisorKicker{
  grid-column:1/-1;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#8e684b;
  font-size:11px;
  font-weight:950;
}
.advisorPanel h3{
  margin:0;
  font-size:21px;
  line-height:1.15;
  letter-spacing:-.035em;
}
.advisorPanel p{
  margin:8px 0 0;
  color:#56606b;
  line-height:1.48;
}
.advisorPanel ol{
  margin:0;
  padding-left:20px;
  color:#333b44;
  line-height:1.6;
  font-size:14px;
}
.uncertaintyCta{
  margin-top:22px;
  border:1px dashed #d5c2a7;
  background:#fffaf3;
  border-radius:24px;
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.uncertaintyCta strong{display:block;font-size:15px;margin-bottom:3px}
.uncertaintyCta span{display:block;color:#69717b;font-size:14px}
.uncertaintyCta button{
  border:0;
  background:#111820;
  color:#fff;
  border-radius:14px;
  padding:12px 16px;
  font-weight:950;
  white-space:nowrap;
}
.floorplanCards{grid-template-columns:repeat(2,minmax(0,1fr))}
.floorplanCards .card{min-height:0}
.resultIntro{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:14px;
  margin:0 0 22px;
}
.resultIntro>div{
  background:#111820;
  color:#fff;
  border-radius:20px;
  padding:18px 20px;
}
.resultIntro>div:nth-child(2){background:#fff;color:#111;border:1px solid var(--line);box-shadow:var(--shadowSoft)}
.resultIntro span{
  display:block;
  color:#b9c2cb;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:950;
  margin-bottom:6px;
}
.resultIntro>div:nth-child(2) span{color:#8e684b}
.resultIntro strong{font-size:17px;letter-spacing:-.02em}
.nextStepBox{
  margin-top:18px;
  background:#f8f5ef;
  border:1px solid #ece1d1;
  border-radius:18px;
  padding:18px;
}
.nextStepBox h3{margin:0 0 10px;font-size:15px}
.nextStepBox ol{margin:0;padding-left:20px;color:#454d56;line-height:1.55;font-size:13.5px}

@media(max-width:1180px){
  .pathCards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .studioHero{grid-template-columns:1fr}
  .studioHeroText,.heroProof{border-radius:24px;padding:24px}
  .pathCards,.floorplanCards{grid-template-columns:1fr}
  .advisorPanel.compact{grid-template-columns:1fr}
  .uncertaintyCta{align-items:stretch;flex-direction:column}
  .uncertaintyCta button{width:100%}
  .resultIntro{grid-template-columns:1fr}
}

/* Update 1.0.16: Benutzerverwaltung & speicherbare Konfigurationen */
.adminGridMain {
    display: grid;
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}
.adminGridMain .adminLeadBox,
.adminGridMain .adminWideBox {
    grid-column: 1 / -1;
}
.compactForm {
    display: grid;
    gap: 12px;
}
.compactForm input,
.compactForm select,
.compactForm textarea {
    width: 100%;
}
.formActions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 8px;
}
.buttonSecondary,
.secondarySaveBtn {
    background: rgba(36, 48, 64, .08) !important;
    color: var(--ink, #1f2937) !important;
    border: 1px solid rgba(36, 48, 64, .14) !important;
}
.checkLine {
    display: flex;
    gap: 10px;
    align-items: center;
    font-weight: 600;
}
.tableActions {
    white-space: nowrap;
}
.linkButton {
    border: 0;
    background: transparent;
    color: #315b8a;
    text-decoration: underline;
    cursor: pointer;
    padding: 0 0 0 8px;
    font: inherit;
}
.statusPill,
.pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 12px;
    font-weight: 700;
    background: rgba(36, 48, 64, .08);
}
.statusPill.ok {
    background: rgba(31, 122, 76, .12);
    color: #1f7a4c;
}
.mutedPill {
    color: #6b7280;
}
.saveConfigBox {
    border: 1px solid rgba(214, 173, 109, .38);
    background: linear-gradient(180deg, rgba(255,250,241,.95), rgba(255,255,255,.95));
}
.saveConfigResult {
    margin-top: 12px;
}
.saveLinkBox {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(36, 48, 64, .07);
    font-size: 12px;
    line-height: 1.35;
    word-break: break-all;
}
.copySaveLink {
    margin-top: 10px;
    border: 1px solid rgba(36, 48, 64, .15);
    background: white;
    border-radius: 12px;
    padding: 8px 12px;
    cursor: pointer;
    font-weight: 700;
}
@media (max-width: 900px) {
    .adminGridMain {
        display: block;
    }
}

/* Update 1.0.18: Backend-UX fuer Beratungsakten und QA-Cleanup */
.adminUx118 .adminHeroPanel {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 22px;
    align-items: stretch;
    background: linear-gradient(135deg, rgba(14, 24, 34, .96), rgba(23, 37, 50, .94));
    color: #f7efe2;
    border: 1px solid rgba(214, 173, 109, .24);
    border-radius: 24px;
    padding: 26px;
    box-shadow: 0 20px 50px rgba(16, 24, 40, .12);
    margin-bottom: 22px;
}
.adminUx118 .adminHeroPanel h1,
.adminUx118 .adminHeroPanel p { color: inherit; }
.adminUx118 .adminHeroPanel .muted { color: rgba(247, 239, 226, .72); }
.eyebrow {
    margin: 0 0 8px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
    color: #b99160;
}
.adminHeroStats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.adminHeroStats div {
    border: 1px solid rgba(247, 239, 226, .18);
    border-radius: 18px;
    padding: 14px;
    background: rgba(255,255,255,.045);
}
.adminHeroStats span { display:block; font-size: 12px; opacity: .7; }
.adminHeroStats strong { display:block; font-size: 26px; line-height: 1.1; margin-top: 4px; }
.adminSplitDetail {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 22px;
    align-items: start;
    margin-bottom: 22px;
}
.detailHeaderLine,
.listToolbar {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 16px;
}
.detailHeaderLine h2,
.listToolbar h2 { margin-top: 0; }
.detailSideBox { position: sticky; top: 16px; }
.summaryRowsComfort {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 18px;
}
.summaryRowsComfort .summaryRow {
    border: 1px solid rgba(36,48,64,.08);
    border-radius: 16px;
    background: rgba(255,255,255,.72);
}
.shareLinkPanel {
    border: 1px solid rgba(214, 173, 109, .32);
    background: rgba(255, 250, 241, .78);
    border-radius: 18px;
    padding: 14px 16px;
    margin: 18px 0;
    word-break: break-all;
}
.shareLinkPanel span { display:block; font-size: 12px; font-weight: 800; color:#7a5b33; margin-bottom:4px; }
.answerGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0 20px;
}
.answerGrid div {
    border: 1px solid rgba(36,48,64,.08);
    background: #fff;
    border-radius: 16px;
    padding: 13px 14px;
}
.answerGrid span { display:block; font-size: 12px; color:#6b7280; margin-bottom:4px; }
.answerGrid strong { display:block; color:#14202c; }
.rawDataDetails {
    margin-top: 18px;
    border: 1px solid rgba(36,48,64,.1);
    border-radius: 16px;
    padding: 12px 14px;
    background: rgba(36,48,64,.03);
}
.rawDataDetails pre { white-space: pre-wrap; overflow:auto; max-height: 380px; }
.advisoryForm label { font-weight: 800; color:#243040; }
.advisoryForm input,
.advisoryForm select,
.advisoryForm textarea,
.filterBar input,
.filterBar select {
    margin-top: 6px;
    border: 1px solid rgba(36,48,64,.16);
    border-radius: 14px;
    padding: 10px 12px;
    background: #fff;
}
.filterBar {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.filterBar input { min-width: 240px; }
.adminComfortTable th,
.adminComfortTable td { vertical-align: top; }
.configurationsTableWrap table { min-width: 1120px; }
.statusPill.status-new { background: rgba(59,130,246,.12); color:#1d4ed8; }
.statusPill.status-saved { background: rgba(107,114,128,.12); color:#374151; }
.statusPill.status-in_advice { background: rgba(214,173,109,.20); color:#7a4d13; }
.statusPill.status-qualified { background: rgba(31,122,76,.14); color:#166534; }
.statusPill.status-done { background: rgba(20,83,45,.16); color:#14532d; }
.statusPill.status-archived { background: rgba(71,85,105,.14); color:#334155; }
.compactTableWrap table { min-width: 520px; }
@media (max-width: 1100px) {
    .adminUx118 .adminHeroPanel,
    .adminSplitDetail { grid-template-columns: 1fr; }
    .detailSideBox { position: static; }
    .summaryRowsComfort,
    .answerGrid { grid-template-columns: 1fr; }
    .detailHeaderLine,
    .listToolbar { display:block; }
    .filterBar { justify-content:flex-start; }
}

/* CMB Konfigurator 1.0.19 – Möbel & Module zusammengeführt */
.selectedLayoutPanel{
  display:grid;
  grid-template-columns:minmax(280px,420px) minmax(0,1fr);
  gap:22px;
  align-items:center;
  background:linear-gradient(180deg,#fff,#fbfaf7);
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:0 18px 46px rgba(18,22,28,.08);
  padding:18px;
  margin-bottom:30px;
}
.selectedLayoutMedia{
  min-height:210px;
  border-radius:22px;
  background:#f1ede5;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:1px solid #eee6dc;
}
.selectedLayoutImage{width:100%;height:100%;object-fit:cover;display:block}
.selectedLayoutPlaceholder{font-size:70px;color:#b58b69;opacity:.65}
.selectedLayoutText{padding:8px 12px}.panelKicker,.advisorKicker{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:950;color:#8e684b;margin-bottom:8px}.selectedLayoutText h2{font-size:clamp(24px,2.4vw,38px);line-height:1.05;letter-spacing:-.045em;margin:0 0 12px}.selectedLayoutText p{font-size:16px;line-height:1.55;color:#58616a;margin:0;max-width:680px}
.moduleDecisionSection{background:rgba(255,255,255,.62);border:1px solid rgba(231,227,220,.9);border-radius:26px;padding:24px;box-shadow:0 12px 32px rgba(18,22,28,.055)}
.moduleDecisionSection + .moduleDecisionSection{margin-top:22px}.includedHint,.sectionIntro{font-size:14px;color:#65707a;line-height:1.5;margin:-6px 0 18px;max-width:820px}.includedModuleList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.includedModuleItem{display:grid;grid-template-columns:50px 1fr;gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;position:relative;min-height:132px;box-shadow:var(--shadowSoft)}.includedModuleItem.locked{border-color:#d7eadf;background:linear-gradient(180deg,#fff,#fbfffc)}.lockedCheck{position:absolute;right:14px;top:14px;width:26px;height:26px;border-radius:999px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:950}.includedModuleMedia{width:50px;height:50px;border-radius:16px;background:#f5f1eb;display:grid;place-items:center;overflow:hidden}.includedModuleMedia svg{width:45px;height:45px}.includedModuleImage{width:100%;height:100%;object-fit:cover}.includedModuleItem h3{font-size:15px;line-height:1.15;letter-spacing:-.02em;margin:2px 34px 6px 0}.includedModuleItem p{font-size:12.5px;line-height:1.4;color:#535c65;margin:0 0 10px}.includedModuleItem span{display:inline-flex;border-radius:999px;background:#eaf8ef;color:#128544;padding:5px 8px;font-size:11px;font-weight:900}.moduleDetails{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.moduleDetails summary{display:inline-flex;align-items:center;gap:8px;border:1px solid #e7dfd2;border-radius:999px;padding:9px 13px;background:#fff;color:#75583f;font-size:13px;font-weight:900;cursor:pointer}.moduleDetails div{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.moduleDetails p{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin:0;color:#525b64;font-size:13px;line-height:1.45}.furtherModuleGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.furtherModuleGrid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.furtherModuleCard{position:relative;display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;min-height:136px;box-shadow:var(--shadowSoft);cursor:pointer;transition:.16s ease}.furtherModuleCard:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#d5c9ba}.furtherModuleCard.selected{border:2px solid var(--green);box-shadow:0 12px 28px rgba(32,191,99,.14)}.furtherCheck{position:absolute;right:13px;top:13px;width:23px;height:23px;border-radius:7px;border:2px solid #ece8e2;background:#fff}.furtherModuleCard.selected .furtherCheck{background:var(--green);border-color:var(--green);color:#fff}.furtherModuleCard.selected .furtherCheck::before{content:"✓";display:grid;place-items:center;font-size:13px;font-weight:950}.furtherIcon{width:44px;height:44px;border-radius:15px;background:var(--greenSoft);color:var(--green);display:grid;place-items:center;font-size:22px;font-weight:900}.furtherIcon svg{width:40px;height:40px}.furtherModuleCard h3{font-size:14px;line-height:1.15;margin:2px 28px 7px 0;text-transform:none}.furtherModuleCard p{font-size:12.5px;line-height:1.4;color:#59636d;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.moduleCard.locked{cursor:not-allowed;opacity:.92}.moduleCard.locked:hover{transform:none}.moduleCard.locked::after{content:"Fest enthalten";position:absolute;left:12px;top:12px;border-radius:999px;background:#eaf8ef;color:#128544;font-size:11px;font-weight:950;padding:5px 8px;z-index:3}
@media(max-width:1180px){.furtherModuleGrid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.includedModuleList{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.selectedLayoutPanel{grid-template-columns:1fr;padding:14px;border-radius:22px}.selectedLayoutMedia{min-height:180px}.includedModuleList,.furtherModuleGrid,.furtherModuleGrid.compact,.moduleDetails div{grid-template-columns:1fr}.moduleDecisionSection{padding:18px;border-radius:22px}}


/* CMB Konfigurator 1.0.20 – Navigation & Möbel-/Zusatzmodule UX */
.sectionTopline{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.sectionTopline .sectionHead{margin-bottom:0}.sectionTopline .includedHint{margin:2px 0 0;max-width:440px;text-align:left}.includedAccordionList{display:grid;gap:9px}.includedAccordion{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:var(--shadowSoft)}.includedAccordion summary{list-style:none;display:grid;grid-template-columns:30px minmax(0,1fr) auto 26px;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;font-size:14px;font-weight:900}.includedAccordion summary::-webkit-details-marker{display:none}.includedAccordion summary::after{content:"⌄";justify-self:end;color:#66717c;font-size:18px;transition:.18s transform}.includedAccordion[open] summary::after{transform:rotate(180deg)}.includedLockIcon{width:26px;height:26px;border-radius:999px;background:var(--greenSoft);color:var(--green);display:grid;place-items:center;font-size:13px;font-weight:950}.includedLockText{justify-self:end;border-radius:999px;background:#eaf8ef;color:#128544;padding:5px 8px;font-size:11px;font-weight:950;white-space:nowrap}.includedAccordionBody{border-top:1px solid var(--line);display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:start;padding:14px 16px 16px}.includedAccordionBody p{font-size:13px;line-height:1.45;color:#535c65;margin:0}.lockedNotice{grid-column:2;display:inline-flex;width:max-content;max-width:100%;border-radius:999px;background:#f6f4ef;color:#7b6752;padding:6px 9px;font-size:11.5px;font-weight:850}.moduleDecisionSection .sectionHead{margin-top:0}.furtherModuleGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.sideStepTitle{letter-spacing:-.01em}.sideStepChoice{max-width:200px}
@media(max-width:760px){.sectionTopline{display:block}.sectionTopline .includedHint{max-width:none;margin-top:8px}.includedAccordion summary{grid-template-columns:28px minmax(0,1fr) 22px}.includedLockText{display:none}.includedAccordionBody{grid-template-columns:48px 1fr}.lockedNotice{grid-column:1 / -1;width:auto}.sideStepChoice{max-width:150px}}

/* CMB Konfigurator 1.0.22 – Zusatzmodule-UX, Gruppenfilter und echte Symbol-Icons */
.addonDecisionSection{position:relative;overflow:hidden}
.addonHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:start;margin-bottom:18px}
.sectionKicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;color:#8f6b4e;font-size:10.5px;font-weight:950;margin-bottom:6px}
.addonSummary{min-width:112px;display:grid;place-items:center;text-align:center;border:1px solid #d9efe2;background:linear-gradient(180deg,#f0fff6,#ffffff);border-radius:22px;padding:14px 16px;box-shadow:0 10px 26px rgba(24,160,86,.08)}
.addonSummary strong{font-size:32px;line-height:.95;color:#15954e;letter-spacing:-.05em}.addonSummary span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#698274;font-weight:900;margin-top:5px}
.addonFilterBar{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px;padding:12px;background:#fbfaf8;border:1px solid var(--line);border-radius:22px}
.addonFilterChip{display:inline-flex;align-items:center;gap:8px;border:1px solid #e7e0d7;background:#fff;color:#26313d;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:900;box-shadow:0 5px 14px rgba(18,22,28,.04);transition:.16s ease}.addonFilterChip:hover{transform:translateY(-1px);border-color:#cdb498}.addonFilterChip.active{background:#111820;color:#fff;border-color:#111820;box-shadow:0 10px 24px rgba(17,24,32,.18)}.addonFilterChip span{width:18px;height:18px;display:inline-grid;place-items:center}.addonFilterChip svg{width:17px;height:17px;display:block}
.addonGroupedList{display:grid;gap:20px}.addonGroup{background:#fbfaf8;border:1px solid #eee8df;border-radius:24px;padding:16px}.addonGroupHead{display:flex;align-items:center;gap:12px;margin:0 0 14px}.addonGroupIcon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#e7f8ee;color:#14984f;border:1px solid #cef1dc}.addonGroupIcon svg{width:25px;height:25px}.addonGroupHead h3{margin:0 0 3px;font-size:17px;letter-spacing:-.025em}.addonGroupHead p{margin:0;color:#707982;font-size:12px;font-weight:750}
.addonGroupedList .furtherModuleGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.furtherModuleCard{position:relative;align-items:flex-start;min-height:126px;border:1px solid #e8e2d8;background:linear-gradient(180deg,#fff,#fffdf9);border-radius:22px;padding:18px 42px 18px 18px;box-shadow:0 10px 24px rgba(17,24,32,.055);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.furtherModuleCard:hover{transform:translateY(-2px);border-color:#cbb293;box-shadow:0 16px 35px rgba(17,24,32,.09)}.furtherModuleCard.selected{border-color:#69d895;background:linear-gradient(180deg,#f0fff6,#ffffff);box-shadow:0 16px 36px rgba(32,191,99,.12)}.furtherModuleCard.selected::after{content:"";position:absolute;inset:0;border-radius:22px;box-shadow:inset 0 0 0 1px rgba(32,191,99,.22);pointer-events:none}.furtherIcon{flex:0 0 44px;width:44px;height:44px;border-radius:16px;background:#dff9ea;color:#159b50;border:1px solid #caf2da;display:grid;place-items:center;font-size:18px;font-weight:950}.furtherIcon svg{width:27px;height:27px;display:block}.furtherModuleText{min-width:0}.addonCardTop{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}.furtherModuleCard h3{font-size:15px;line-height:1.18;letter-spacing:-.025em;margin:1px 0 7px}.furtherModuleCard p{font-size:12.5px;line-height:1.42;color:#65707a;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.furtherCheck{position:absolute;right:14px;top:14px;width:20px;height:20px;border-radius:7px;border:1px solid #ddd8d0;background:#fff}.furtherModuleCard.selected .furtherCheck{background:#20bf63;border-color:#20bf63}.furtherModuleCard.selected .furtherCheck::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:950}.chosenPill{display:inline-flex;white-space:nowrap;border-radius:999px;background:#dff9ea;color:#0f8b43;font-size:10px;font-weight:950;padding:4px 7px}.addonMeta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.addonMeta span{display:inline-flex;border-radius:999px;background:#f4efe8;border:1px solid #eadfce;color:#785b42;font-size:10.5px;font-weight:900;padding:5px 7px}.moduleDetails{margin-top:18px;border-radius:18px;background:#fff;border:1px solid var(--line);padding:0 14px}.moduleDetails summary{cursor:pointer;padding:13px 2px;font-weight:950;color:#8e684b}.moduleDetails div{padding:0 0 10px;color:#606a74}.moduleDetails p{margin:0 0 12px;font-size:13px;line-height:1.45}
body.qaCleanCapture .addonFilterBar{position:relative}
@media(max-width:1120px){.addonGroupedList .furtherModuleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.addonHeader{grid-template-columns:1fr}.addonSummary{display:flex;justify-content:center;gap:8px;min-width:0;width:max-content;padding:10px 13px;border-radius:999px}.addonSummary strong{font-size:20px}.addonSummary span{margin-top:0}.addonFilterBar{flex-wrap:nowrap;overflow-x:auto;padding:10px;margin-left:-2px;margin-right:-2px;scrollbar-width:thin}.addonFilterChip{white-space:nowrap;flex:0 0 auto}.addonGroup{padding:12px;border-radius:20px}.addonGroupedList .furtherModuleGrid{grid-template-columns:1fr;gap:10px}.furtherModuleCard{min-height:0;padding:15px 40px 15px 15px;border-radius:18px}.furtherIcon{width:40px;height:40px;flex-basis:40px;border-radius:14px}.furtherIcon svg{width:23px;height:23px}.furtherModuleCard h3{font-size:14px}.furtherModuleCard p{font-size:12px;-webkit-line-clamp:4}.addonMeta{margin-top:8px}.addonGroupHead h3{font-size:15px}.addonGroupIcon{width:38px;height:38px;border-radius:14px}}


/* CMB Konfigurator 1.0.22.1 – Hotfix: SVG-Icons in Zusatzmodul-Gruppen begrenzen
   Hintergrund: Einige Browser/Screenshotläufe rendern inline-SVGs ohne width/height übergroß,
   wenn die SVGs nur über die erste 1.0.22-Regel begrenzt werden. Diese Regeln sind bewusst
   spezifisch und nutzen !important, damit Icon-SVGs niemals den Gruppenbereich sprengen. */
.addonFilterChip > span,
.addonGroupIcon,
.furtherIcon,
.includedModuleMedia,
.moduleImg {
  flex-shrink: 0;
}
.addonFilterChip > span > svg,
.addonFilterChip svg {
  width: 17px !important;
  height: 17px !important;
  max-width: 17px !important;
  max-height: 17px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: block !important;
  object-fit: contain;
}
.addonGroupIcon > svg,
.addonGroupIcon svg {
  width: 25px !important;
  height: 25px !important;
  max-width: 25px !important;
  max-height: 25px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: block !important;
  object-fit: contain;
}
.furtherIcon > svg,
.furtherIcon svg {
  width: 27px !important;
  height: 27px !important;
  max-width: 27px !important;
  max-height: 27px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: block !important;
  object-fit: contain;
}
.includedModuleMedia > svg,
.includedModuleMedia svg {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  display: block !important;
  object-fit: contain;
}
.addonGroupHead {
  min-height: 48px;
}
.addonGroupHead .addonGroupIcon + div {
  min-width: 0;
}
.addonGroupedList .furtherModuleCard {
  overflow: hidden;
}
@media(max-width:720px){
  .addonGroupIcon > svg,
  .addonGroupIcon svg { width: 23px !important; height: 23px !important; max-width: 23px !important; max-height: 23px !important; }
  .furtherIcon > svg,
  .furtherIcon svg { width: 23px !important; height: 23px !important; max-width: 23px !important; max-height: 23px !important; }
}


/* CMB Konfigurator 1.0.22.3 – zusätzlicher harter Icon-Guard
   Die Icons werden zusätzlich inline in app.js begrenzt. Diese CSS-Regeln verhindern
   trotzdem, dass ein SVG oder ein SVG-Kindelement den Zusatzmodulbereich sprengen kann. */
.addonFilterChip > span {
  width:18px !important; height:18px !important; min-width:18px !important; max-width:18px !important;
  overflow:hidden !important; line-height:0 !important;
}
.addonGroupIcon {
  width:42px !important; height:42px !important; min-width:42px !important; max-width:42px !important;
  overflow:hidden !important; line-height:0 !important;
}
.furtherIcon {
  width:44px !important; height:44px !important; min-width:44px !important; max-width:44px !important;
  overflow:hidden !important; line-height:0 !important;
}
.addonFilterChip svg, .addonFilterChip svg * { max-width:17px !important; max-height:17px !important; }
.addonGroupIcon svg, .addonGroupIcon svg * { max-width:25px !important; max-height:25px !important; }
.furtherIcon svg, .furtherIcon svg * { max-width:27px !important; max-height:27px !important; }
.addonGroupedList .addonGroup { overflow:hidden; }
.addonGroupedList .furtherModuleGrid { align-items:stretch; }


/* CMB Konfigurator 1.0.22.3 – Möbelmodul-UX entflechten
   Die freie Modul-/Selbstausbau-Auswahl wird nicht mehr als endlose Wand aller Möbelmodule
   gerendert. Stattdessen gibt es eine gefilterte, fokussierte Möbelmodul-Gruppe plus darunter
   die optionalen Zusatzmodule. */
.freeModuleDecisionSection { overflow:hidden; }
.freeModuleDecisionSection .moduleFilterBar { margin-bottom:18px; }
.freeModuleGroupedList { display:grid; gap:18px; }
.moduleGroup { background:#fffdf9; }
.freeModuleGrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:stretch; }
.freeModuleGrid.one { grid-template-columns:minmax(0,360px); }
.freeModuleGrid.two { grid-template-columns:repeat(2,minmax(0,360px)); }
.freeModuleGrid .moduleCard.freeModuleCard {
  min-height:0;
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:12px;
  align-items:start;
  padding:14px 38px 14px 14px;
  border-radius:20px;
}
.freeModuleGrid .moduleCard.freeModuleCard .radio { right:12px; top:12px; }
.freeModuleGrid .moduleCard.freeModuleCard .moduleImg {
  grid-row:1 / span 2;
  width:92px;
  height:72px;
  margin:0;
  border-radius:15px;
}
.freeModuleGrid .moduleCard.freeModuleCard .moduleImg svg {
  width:64px !important;
  height:52px !important;
  max-width:64px !important;
  max-height:52px !important;
}
.freeModuleGrid .moduleCard.freeModuleCard h3 {
  font-size:14px;
  line-height:1.18;
  margin:3px 0 6px;
}
.freeModuleGrid .moduleCard.freeModuleCard p {
  font-size:12px;
  line-height:1.38;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
@media(max-width:1120px){
  .freeModuleGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px){
  .freeModuleGrid, .freeModuleGrid.one, .freeModuleGrid.two { grid-template-columns:1fr; }
  .freeModuleGrid .moduleCard.freeModuleCard {
    grid-template-columns:78px minmax(0,1fr);
    padding:13px 36px 13px 13px;
  }
  .freeModuleGrid .moduleCard.freeModuleCard .moduleImg { width:78px; height:64px; }
  .freeModuleGrid .moduleCard.freeModuleCard h3 { font-size:13.5px; }
}


/* CMB Konfigurator 1.0.22.4 – Modulfilter & Sticky-Navigation polish
   Ziel: Filterchips wirken wie native CMB-Studio-Pills statt wie Standardbuttons,
   Zusatzmodule starten fokussiert mit einer Gruppe, und die Weiter-Leiste verdeckt Inhalte weniger. */
body:not(.adminPage) .main{
  padding-bottom:170px;
}
.addonFilterBar,
.freeModuleDecisionSection .moduleFilterBar{
  display:flex !important;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 22px;
  padding:10px;
  background:rgba(247,244,239,.72);
  border:1px solid rgba(231,227,220,.92);
  border-radius:24px;
  box-shadow:inset 0 1px rgba(255,255,255,.72);
}
.addonFilterChip,
.moduleFilterChip{
  -webkit-appearance:none;
  appearance:none;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  border:1px solid #e5ded4 !important;
  background:rgba(255,255,255,.92) !important;
  color:#29323b !important;
  border-radius:999px !important;
  padding:9px 14px !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.01em;
  box-shadow:0 6px 16px rgba(17,24,32,.045);
  white-space:nowrap;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease;
}
.addonFilterChip:hover,
.moduleFilterChip:hover{
  transform:translateY(-1px);
  border-color:#d1b895 !important;
  box-shadow:0 10px 24px rgba(17,24,32,.075);
}
.addonFilterChip.active,
.moduleFilterChip.active{
  background:#111820 !important;
  color:#fff !important;
  border-color:#111820 !important;
  box-shadow:0 12px 26px rgba(17,24,32,.18);
}
.addonFilterChip.active svg,
.moduleFilterChip.active svg{
  color:#d8f8e7;
  stroke:currentColor;
}
.addonFilterChip > span,
.moduleFilterChip > span{
  width:18px !important;
  height:18px !important;
  display:inline-grid !important;
  place-items:center;
  border-radius:999px;
  background:rgba(32,191,99,.12);
}
.addonFilterChip.active > span,
.moduleFilterChip.active > span{
  background:rgba(255,255,255,.13);
}
.addonGroup{
  transition:opacity .16s ease,transform .16s ease;
}
.addonGroupedList{
  gap:16px;
}
.moduleDecisionSection{
  scroll-margin-bottom:130px;
}
.bottomNav{
  height:auto;
  bottom:18px;
  background:transparent;
  border-top:0;
  box-shadow:none;
  pointer-events:none;
}
.bottomInner{
  min-height:64px;
  width:min(100% - 44px,1180px);
  padding:10px 12px 10px 18px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(226,220,211,.92);
  border-radius:24px;
  box-shadow:0 18px 45px rgba(17,24,32,.12);
  backdrop-filter:saturate(180%) blur(20px);
  pointer-events:auto;
}
.bottomInner .back{
  min-height:42px;
  padding:0 12px;
  border-radius:14px;
}
.bottomInner .back:hover{
  background:rgba(17,24,32,.045);
}
.bottomInner .next{
  min-height:44px;
  padding:0 24px;
  border-radius:16px;
}
.furtherModuleCard h3,
.freeModuleGrid .moduleCard.freeModuleCard h3{
  letter-spacing:-.02em;
}
.furtherModuleCard p,
.freeModuleGrid .moduleCard.freeModuleCard p{
  color:#5f6872;
}
@media(max-width:720px){
  body:not(.adminPage) .main{padding-bottom:138px;}
  .addonFilterBar,
  .freeModuleDecisionSection .moduleFilterBar{
    flex-wrap:nowrap !important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding:9px;
    margin-left:-4px;
    margin-right:-4px;
    scrollbar-width:thin;
  }
  .addonFilterChip,
  .moduleFilterChip{
    flex:0 0 auto;
    min-height:36px;
    padding:8px 12px !important;
    font-size:11.5px !important;
  }
  .bottomNav{
    left:0 !important;
    right:0;
    bottom:10px;
  }
  .bottomInner{
    width:calc(100% - 20px);
    min-height:58px;
    border-radius:20px;
    padding:8px 9px 8px 12px;
  }
  .bottomInner .next{min-height:42px;padding:0 18px;border-radius:14px;}
  .bottomInner .back{min-height:40px;padding:0 8px;}
}


/* CMB Konfigurator 1.0.22.5 – Filterchips UI-Fix & dezente Aktionsleiste
   Wichtig: index.php lädt app.css ab dieser Version mit Cache-Buster, damit diese Regeln sicher greifen. */
body:not(.adminPage) .addonFilterBar,
body:not(.adminPage) .moduleFilterBar,
body:not(.adminPage) .freeModuleDecisionSection .moduleFilterBar {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
  padding:8px !important;
  margin:0 0 20px !important;
  border:1px solid rgba(231,227,220,.78) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,244,239,.74)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85) !important;
}
body:not(.adminPage) button.addonFilterChip,
body:not(.adminPage) button.moduleFilterChip,
body:not(.adminPage) .addonFilterBar .addonFilterChip,
body:not(.adminPage) .moduleFilterBar .moduleFilterChip {
  all:unset;
  box-sizing:border-box !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:34px !important;
  padding:0 12px !important;
  border:1px solid rgba(215,206,193,.9) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.88) !important;
  color:#22303a !important;
  font:900 11.5px/1.1 var(--font) !important;
  letter-spacing:-.01em !important;
  white-space:nowrap !important;
  box-shadow:0 5px 13px rgba(17,24,32,.045) !important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease !important;
}
body:not(.adminPage) button.addonFilterChip:hover,
body:not(.adminPage) button.moduleFilterChip:hover {
  transform:translateY(-1px) !important;
  border-color:#b9956a !important;
  box-shadow:0 9px 22px rgba(17,24,32,.075) !important;
}
body:not(.adminPage) button.addonFilterChip.active,
body:not(.adminPage) button.moduleFilterChip.active,
body:not(.adminPage) .addonFilterBar .addonFilterChip.active,
body:not(.adminPage) .moduleFilterBar .moduleFilterChip.active {
  background:linear-gradient(180deg,#141c24,#0f151c) !important;
  border-color:#141c24 !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(17,24,32,.18) !important;
}
body:not(.adminPage) .addonFilterChip > span,
body:not(.adminPage) .moduleFilterChip > span {
  flex:0 0 17px !important;
  width:17px !important;
  height:17px !important;
  display:inline-grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:rgba(32,191,99,.13) !important;
}
body:not(.adminPage) .addonFilterChip.active > span,
body:not(.adminPage) .moduleFilterChip.active > span {
  background:rgba(255,255,255,.14) !important;
}
body:not(.adminPage) .addonFilterChip svg,
body:not(.adminPage) .moduleFilterChip svg {
  width:13px !important;
  height:13px !important;
  max-width:13px !important;
  max-height:13px !important;
  stroke:currentColor !important;
}
body:not(.adminPage) .addonHeader,
body:not(.adminPage) .moduleHeader {
  margin-bottom:14px !important;
}
body:not(.adminPage) .sectionIntro {
  max-width:760px;
}
body:not(.adminPage) .bottomNav {
  bottom:22px !important;
  background:transparent !important;
  border:0 !important;
  pointer-events:none !important;
}
body:not(.adminPage) .bottomInner {
  width:min(100% - 72px,980px) !important;
  min-height:58px !important;
  padding:8px 10px 8px 14px !important;
  border-radius:22px !important;
  border:1px solid rgba(226,220,211,.82) !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 18px 42px rgba(17,24,32,.105) !important;
  backdrop-filter:saturate(180%) blur(18px) !important;
  pointer-events:auto !important;
}
body:not(.adminPage) .bottomInner .back {
  min-height:38px !important;
  padding:0 10px !important;
  border-radius:13px !important;
  font-size:12px !important;
}
body:not(.adminPage) .bottomInner .next {
  min-height:40px !important;
  padding:0 22px !important;
  border-radius:14px !important;
  box-shadow:0 10px 18px rgba(170,122,77,.22) !important;
}
body:not(.adminPage) .moduleDecisionSection + .moduleDecisionSection {
  margin-top:22px !important;
}
body:not(.adminPage) .moduleDetails {
  margin-top:18px !important;
  border-radius:18px !important;
}
@media(max-width:720px){
  body:not(.adminPage) .addonFilterBar,
  body:not(.adminPage) .moduleFilterBar,
  body:not(.adminPage) .freeModuleDecisionSection .moduleFilterBar {
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    gap:7px !important;
    padding:7px !important;
    border-radius:18px !important;
  }
  body:not(.adminPage) button.addonFilterChip,
  body:not(.adminPage) button.moduleFilterChip {
    flex:0 0 auto !important;
    min-height:33px !important;
    padding:0 11px !important;
    font-size:11px !important;
  }
  body:not(.adminPage) .bottomNav { bottom:10px !important; }
  body:not(.adminPage) .bottomInner {
    width:calc(100% - 22px) !important;
    min-height:56px !important;
    border-radius:19px !important;
  }
}

/* Update 1.0.23.5: robuste Abwahl bei Einfachauswahl-Gruppen */
.moduleGroupClear{
  margin-left:auto;
  border:1px solid rgba(169,124,84,.22);
  background:#fffaf3;
  color:#8b6848;
  border-radius:999px;
  padding:7px 11px;
  font-weight:800;
  font-size:12px;
  cursor:pointer;
  white-space:nowrap;
}
.moduleGroupClear:hover{background:#f4eadc;color:#5f4228;}
.freeModuleCard{position:relative;}
.moduleClearChoice{
  position:absolute;
  top:10px;
  right:10px;
  width:24px;
  height:24px;
  border-radius:999px;
  border:1px solid rgba(169,124,84,.28);
  background:#fff;
  color:#8b6848;
  font-size:18px;
  font-weight:900;
  line-height:20px;
  display:grid;
  place-items:center;
  cursor:pointer;
  z-index:3;
  box-shadow:0 4px 12px rgba(15,23,42,.10);
}
.moduleClearChoice:hover{background:#fff3e3;color:#3b2a1c;}
@media (max-width: 760px){
  .moduleGroupClear{width:100%;justify-content:center;margin-left:0;margin-top:8px;}
}


/* CMB Konfigurator 1.0.25.2 – Möbelmodul-Bildflächen 1:1
   Die neuen Modulbilder liegen quadratisch vor. Die freien Möbelmodul-Karten verwenden
   daher jetzt eine feste quadratische Bildfläche, damit die Bilder nicht in ein breites
   Querformat gequetscht wirken. */
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard {
  grid-template-columns:108px minmax(0,1fr) !important;
  min-height:128px !important;
  align-items:center !important;
  padding:16px 42px 16px 16px !important;
}
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard .moduleImg {
  width:96px !important;
  height:96px !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#fbf7f0,#f4eee5) !important;
  border:1px solid rgba(224,214,199,.78) !important;
  overflow:hidden !important;
}
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard .moduleImg img,
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard .moduleImagePhoto {
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard .moduleImg svg {
  width:66px !important;
  height:66px !important;
  max-width:66px !important;
  max-height:66px !important;
}
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard h3 {
  margin-top:0 !important;
}
@media(max-width:720px){
  body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard {
    grid-template-columns:94px minmax(0,1fr) !important;
    min-height:116px !important;
    padding:14px 38px 14px 14px !important;
  }
  body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard .moduleImg {
    width:82px !important;
    height:82px !important;
    border-radius:16px !important;
  }
}

/* CMB Konfigurator 1.0.27 – Detailmodal für Module & Zusatzmodule */
body.modalOpen{overflow:hidden;}
body:not(.adminPage) .moduleCardText{min-width:0;}
body:not(.adminPage) .moduleCardActions{display:flex;align-items:center;gap:8px;margin-top:10px;position:relative;z-index:4;}
body:not(.adminPage) .addonActions{margin-top:12px;}
body:not(.adminPage) .detailButton{
  border:1px solid rgba(17,24,32,.14);
  background:rgba(255,255,255,.92);
  color:#111820;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(15,23,42,.08);
}
body:not(.adminPage) .detailButton:hover{background:#111820;color:#fff;border-color:#111820;}
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard{
  grid-template-columns:108px minmax(0,1fr) !important;
}
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard .moduleCardText,
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard .moduleCardActions{grid-column:2;}
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard .moduleImg{grid-row:1 / span 2;}
.detailModalOverlay{
  position:fixed;
  inset:0;
  z-index:2000;
  background:rgba(8,12,18,.58);
  backdrop-filter:blur(10px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.detailModal{
  width:min(920px,100%);
  max-height:min(88vh,860px);
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(255,255,255,.58);
  border-radius:28px;
  box-shadow:0 34px 90px rgba(0,0,0,.32);
  position:relative;
  display:grid;
  grid-template-rows:minmax(240px,420px) minmax(0,1fr);
}
.detailModalClose{
  position:absolute;
  top:14px;
  right:14px;
  z-index:5;
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#111820;
  font-size:24px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.detailModalMedia{position:relative;background:linear-gradient(180deg,#f7f3ed,#eee7dc);display:grid;place-items:center;overflow:hidden;}
.detailSlideFrame{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center;margin:0;opacity:0;transition:opacity .18s ease;background:#f7f3ed;}
.detailSlideFrame.active{opacity:1;}
.detailSlide{width:100%;height:100%;min-height:0;object-fit:contain;background:#f7f3ed;}
.detailSlideFrame figcaption{position:absolute;left:16px;bottom:16px;z-index:3;border-radius:999px;background:rgba(255,255,255,.9);color:#111820;border:1px solid rgba(17,24,32,.1);font-size:12px;font-weight:950;padding:7px 10px;box-shadow:0 8px 22px rgba(0,0,0,.12);}
.detailModalPlaceholder{color:#7d858e;font-weight:950;background:#f7f3ed;border:1px dashed #d8cbb9;border-radius:18px;padding:18px;}
.detailSliderNav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#111820;font-size:30px;font-weight:900;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.14);}
.detailSliderNav.prev{left:16px;}.detailSliderNav.next{right:16px;}
.detailDots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:7px;z-index:4;background:rgba(255,255,255,.72);border-radius:999px;padding:7px 9px;}
.detailDot{width:8px;height:8px;border-radius:999px;border:0;background:rgba(17,24,32,.28);padding:0;cursor:pointer;}
.detailDot.active{background:#111820;width:18px;}
.detailModalBody{padding:24px 28px 30px;overflow:auto;}
.detailModalKicker{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:950;color:#a0714d;margin-bottom:8px;}
.detailModalBody h2{font-size:28px;line-height:1.1;margin:0 0 16px;color:#111820;}
.detailModalText{color:#2d343c;line-height:1.6;font-size:15px;}
.detailModalText h3,.detailModalText h4{line-height:1.2;color:#111820;margin:18px 0 8px;}
.detailModalText h3:first-child,.detailModalText h4:first-child{margin-top:0;}
.detailModalText p{margin:0 0 12px;}.detailModalText ul,.detailModalText ol{margin:0 0 14px 22px;padding:0;}.detailModalText li{margin:5px 0;}.detailModalText a{color:#0b6bbf;font-weight:850;}
@media(max-width:720px){
  .detailModalOverlay{padding:10px;align-items:flex-end;}
  .detailModal{max-height:92vh;border-radius:24px 24px 0 0;grid-template-rows:260px minmax(0,1fr);}
  .detailModalBody{padding:20px 18px 24px;}
  .detailModalBody h2{font-size:24px;}
  .detailSliderNav{width:38px;height:38px;font-size:26px;}
  body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard{grid-template-columns:94px minmax(0,1fr) !important;}
}

/* CMB Konfigurator 1.0.33 – verwaltbarer Startseiten-Hero */
.homeHero{
  position:relative;
  min-height:var(--home-hero-height,470px);
  margin:-8px 0 34px;
  border-radius:32px;
  overflow:hidden;
  background:linear-gradient(135deg,#111820,#26313d);
  box-shadow:0 28px 80px rgba(17,24,32,.22);
  color:#fff;
  isolation:isolate;
}
.homeHeroMedia{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-3;
}
.homeHeroShade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,rgba(10,14,20,.92),rgba(10,14,20,.68) 42%,rgba(10,14,20,.20));
}
.homeHero-light .homeHeroShade{background:linear-gradient(90deg,rgba(10,14,20,.76),rgba(10,14,20,.45) 48%,rgba(10,14,20,.10))}
.homeHero-strong .homeHeroShade{background:linear-gradient(90deg,rgba(6,9,13,.96),rgba(8,12,17,.80) 52%,rgba(8,12,17,.40))}
.homeHero.noMedia .homeHeroShade{background:radial-gradient(circle at 82% 12%,rgba(212,176,135,.20),transparent 24%),linear-gradient(135deg,#111820,#1f2832)}
.homeHeroInner{
  min-height:var(--home-hero-height,470px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:54px 56px 28px;
}
.homeHeroCopy{max-width:760px;position:relative;z-index:1}
.homeHeroText-center .homeHeroCopy{max-width:840px;margin:0 auto;text-align:center}
.homeHeroEyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#d4b087;
  font-size:12px;
  line-height:1.2;
  font-weight:950;
  margin-bottom:16px;
}
.homeHero h1{
  max-width:900px;
  font-size:clamp(42px,5vw,74px);
  line-height:.94;
  letter-spacing:-.07em;
  margin:0 0 18px;
  color:#fff;
}
.homeHero p{
  max-width:720px;
  margin:0;
  color:#eef3f6;
  font-size:clamp(16px,1.35vw,20px);
  line-height:1.55;
}
.homeHeroText-center p{margin-left:auto;margin-right:auto}
.homeHeroActions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}
.homeHeroText-center .homeHeroActions{justify-content:center}
.homeHeroButton{
  min-height:52px;
  border-radius:17px;
  padding:0 22px;
  border:1px solid rgba(255,255,255,.18);
  font-weight:950;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  transition:.16s ease;
}
.homeHeroButton:hover{transform:translateY(-1px);filter:brightness(1.04)}
.homeHeroButton.primary{background:#d4a676;color:#fff;border-color:rgba(255,255,255,.12);box-shadow:0 16px 28px rgba(0,0,0,.18)}
.homeHeroButton.secondary,.homeHeroButton.ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.38)}
.homeHeroButton.dark{background:#111820;color:#fff;border-color:rgba(255,255,255,.12)}
.homeHeroButton.light{background:#fff;color:#111820;border-color:rgba(255,255,255,.8)}
.homeTrustBar{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:36px;
  border-top:1px solid rgba(255,255,255,.18);
  padding-top:22px;
}
.homeTrustItem{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:0 24px;
  min-height:58px;
  border-left:1px solid rgba(255,255,255,.18);
}
.homeTrustItem:first-child{border-left:0;padding-left:0}
.homeTrustIcon{width:42px;height:42px;color:#d4a676;display:grid;place-items:center}
.homeTrustIcon svg{width:42px;height:42px;display:block}
.homeTrustIcon span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(212,166,118,.55);border-radius:14px;font-weight:950;color:#d4a676}
.homeTrustItem strong{display:block;font-size:18px;letter-spacing:-.025em;line-height:1.1;color:#fff}
.homeTrustItem span,.homeTrustItem small{display:block;color:#e6edf2;font-size:14px;line-height:1.25}
.homeHeroLayout-split{display:grid;grid-template-columns:minmax(0,1fr)}
.homeHeroLayout-split .homeHeroMedia{left:auto;width:48%}
.homeHeroLayout-split .homeHeroShade{background:linear-gradient(90deg,rgba(10,14,20,.95),rgba(10,14,20,.80) 48%,rgba(10,14,20,.30))}

.adminHeroManager{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:22px;align-items:start}
.adminHeroManager .adminBox{margin-bottom:0}
.adminHeroFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.adminHeroFormGrid .full{grid-column:1/-1}
.adminHeroFormGrid label,.repeatRows label{display:grid;gap:7px;font-size:12px;font-weight:850;color:#36404a}
.adminHeroFormGrid input,.adminHeroFormGrid textarea,.adminHeroFormGrid select,.repeatRows input,.repeatRows select{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;color:#111820}
.adminHeroFormGrid textarea{min-height:110px;resize:vertical}
.repeatRows{display:grid;gap:12px}
.repeatRow{display:grid;grid-template-columns:1.2fr .9fr 1fr .8fr .55fr .45fr;gap:8px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fbfaf8}
.repeatRow.trust{grid-template-columns:.7fr .8fr 1fr 1fr .55fr .45fr;display:grid;background:#fbfaf8;color:#111820;border:1px solid var(--line);border-radius:16px;padding:12px}
.repeatActive{display:flex!important;align-items:center!important;gap:8px!important;padding-bottom:10px}
.repeatActive input{width:auto!important}
.adminPreviewHero{border-radius:24px;overflow:hidden;background:#111820;min-height:var(--preview-hero-height,330px);position:relative;color:#fff;box-shadow:var(--shadowSoft)}
.adminPreviewHero img,.adminPreviewHero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68}
.adminPreviewHero>div{position:relative;z-index:1;padding:28px;background:linear-gradient(90deg,rgba(10,14,20,.92),rgba(10,14,20,.35));min-height:var(--preview-hero-height,330px);display:flex;flex-direction:column;justify-content:space-between}
.adminPreviewHero h2{font-size:34px;line-height:1;margin:0 0 10px;letter-spacing:-.05em;color:#fff}
.adminPreviewHero p{max-width:600px;color:#e4ebef}
.adminMiniTrust{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.adminMiniTrust span{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:7px 10px;font-size:12px;background:rgba(255,255,255,.06)}
.mediaPathHint{font-size:12px;color:#69717b;word-break:break-all;margin-top:6px}

.fieldHint{display:block;margin-top:2px;color:#78818b;font-size:11px;font-weight:700;line-height:1.35}
.rangeInputGroup{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:10px;align-items:center}
.rangeInputGroup input[type=range]{padding:0;height:34px;accent-color:#d4a676}
.rangeInputGroup output{border:1px solid var(--line);background:#fbfaf8;border-radius:12px;padding:9px 10px;text-align:center;font-weight:900;color:#111820}
.adminHeroSaveBar{position:sticky;top:72px;z-index:20;grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;align-items:center;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:0 14px 40px rgba(17,24,32,.10);backdrop-filter:blur(14px);border-radius:18px;padding:12px 14px;margin-bottom:2px}
.adminHeroSaveBar strong{display:block;color:#111820;font-size:14px;line-height:1.2}.adminHeroSaveBar span{display:block;color:#69717b;font-size:12px;margin-top:2px}.adminHeroSaveBar button,.mediaSaveHint button{border:0;border-radius:12px;background:#111820;color:#fff;font-weight:950;padding:11px 16px;cursor:pointer;box-shadow:0 10px 24px rgba(17,24,32,.14)}
.mediaSaveHint{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #d8cbb9;background:#fffaf3;border-radius:16px;padding:12px 14px}.mediaSaveHint span{color:#6e5942;font-weight:850;font-size:12px;line-height:1.35}
@media(max-width:760px){.adminHeroSaveBar{position:static;display:grid}.rangeInputGroup{grid-template-columns:1fr}.mediaSaveHint{display:grid}.mediaSaveHint button,.adminHeroSaveBar button{width:100%}}

@media(max-width:1180px){.homeTrustBar{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.homeTrustItem:nth-child(odd){border-left:0;padding-left:0}.adminHeroManager{grid-template-columns:1fr}.repeatRow,.repeatRow.trust{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.homeHero{border-radius:24px;min-height:0}.homeHeroInner{min-height:0;padding:34px 24px 24px}.homeHero h1{font-size:clamp(34px,11vw,48px)}.homeHeroActions{display:grid}.homeHeroButton{width:100%}.homeTrustBar{grid-template-columns:1fr;margin-top:28px}.homeTrustItem{border-left:0;padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}.homeTrustItem:first-child{border-top:0}.homeHeroLayout-split .homeHeroMedia{left:0;width:100%}.repeatRow,.repeatRow.trust{grid-template-columns:1fr}.adminHeroFormGrid{grid-template-columns:1fr}}
.adminHeroManager .fullWidthAdminBox{grid-column:1/-1}
.noticeSuccess{background:#ecf9f1;border:1px solid #cdebd9;color:#17673d;border-radius:16px;padding:12px 14px;margin:0 0 16px;font-weight:800}

/* CMB Konfigurator 1.0.34 – Startseiten-Hero breiter auf Standard-Desktop-Aufloesungen
   Der verwaltbare Hero bleibt oberhalb sehr grosser Aufloesungen eingefasst, nutzt aber
   den Content-Bereich bei 1440/1680/1920 px deutlich besser aus. */
body:not(.adminPage).homeStart .main{
  max-width:1560px;
  padding-left:34px;
  padding-right:34px;
}
body:not(.adminPage).homeStart .homeHero{
  min-height:var(--home-hero-height,520px);
  margin-top:0;
  margin-bottom:34px;
}
body:not(.adminPage).homeStart .homeHeroInner{
  min-height:var(--home-hero-height,520px);
  padding:58px 64px 30px;
}
body:not(.adminPage).homeStart .homeHeroCopy{max-width:800px}
body:not(.adminPage).homeStart .homeHero h1{font-size:clamp(46px,4.7vw,78px)}
body:not(.adminPage).homeStart .homeHero p{max-width:740px}
@media(min-width:1500px){
  body:not(.adminPage).homeStart .main{max-width:1580px}
}
@media(max-width:1180px){
  body:not(.adminPage).homeStart .main{max-width:1240px;padding-left:22px;padding-right:22px}
  body:not(.adminPage).homeStart .homeHero{min-height:var(--home-hero-height,470px)}
  body:not(.adminPage).homeStart .homeHeroInner{min-height:var(--home-hero-height,470px);padding:54px 56px 28px}
}
@media(max-width:760px){
  body:not(.adminPage).homeStart .main{padding-left:18px;padding-right:18px}
  body:not(.adminPage).homeStart .homeHero{min-height:0}
  body:not(.adminPage).homeStart .homeHeroInner{min-height:0;padding:34px 24px 24px}
}



/* CMB Konfigurator 1.0.35 – Startseiten-Hero direkt ab Sidebar-Kante
   Der Hero nutzt auf der Startseite die komplette Inhaltsbreite direkt rechts neben der Sidebar.
   Karten und Beratungs-CTA bleiben darunter bewusst eingefasst, damit die Auswahl ruhig lesbar bleibt. */
body:not(.adminPage).homeStart .main{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 0 120px;
}
body:not(.adminPage).homeStart .homeHero{
  width:100%;
  min-height:var(--home-hero-height,520px);
  margin:0 0 34px;
  border-radius:0;
  box-shadow:none;
}
body:not(.adminPage).homeStart .homeHeroInner{
  width:min(100%,1580px);
  min-height:var(--home-hero-height,520px);
  margin:0 auto;
  padding:58px 72px 30px;
}
body:not(.adminPage).homeStart .homeHeroCopy{max-width:800px}
body:not(.adminPage).homeStart .homeHero h1{font-size:clamp(46px,4.7vw,78px)}
body:not(.adminPage).homeStart .homeHero p{max-width:740px}
body:not(.adminPage).homeStart .pathCards,
body:not(.adminPage).homeStart .startOfferSection,
body:not(.adminPage).homeStart .uncertaintyCta{
  width:min(calc(100% - 68px),1400px);
  margin-left:auto;
  margin-right:auto;
}
body:not(.adminPage).homeStart .uncertaintyCta{margin-top:22px}
@media(min-width:1700px){
  body:not(.adminPage).homeStart .homeHeroInner{width:min(100%,1640px);padding-left:84px;padding-right:84px}
  body:not(.adminPage).homeStart .pathCards,
  body:not(.adminPage).homeStart .startOfferSection,
  body:not(.adminPage).homeStart .uncertaintyCta{width:min(calc(100% - 96px),1460px)}
}
@media(max-width:1180px){
  body:not(.adminPage).homeStart .homeHero{min-height:var(--home-hero-height,470px)}
  body:not(.adminPage).homeStart .homeHeroInner{min-height:var(--home-hero-height,470px);padding:54px 38px 28px}
  body:not(.adminPage).homeStart .pathCards,
  body:not(.adminPage).homeStart .startOfferSection,
  body:not(.adminPage).homeStart .uncertaintyCta{width:min(calc(100% - 44px),1240px)}
}
@media(max-width:760px){
  body:not(.adminPage).homeStart .main{padding-bottom:100px}
  body:not(.adminPage).homeStart .homeHero{min-height:0;border-radius:0 0 24px 24px}
  body:not(.adminPage).homeStart .homeHeroInner{min-height:0;padding:34px 24px 24px}
  body:not(.adminPage).homeStart .pathCards,
  body:not(.adminPage).homeStart .startOfferSection,
  body:not(.adminPage).homeStart .uncertaintyCta{width:calc(100% - 36px)}
}


/* CMB Konfigurator 1.0.37 – Hero-Hoehe aus Backend wirklich anwenden
   1.0.35 hatte in der Edge-to-Edge-Regel wieder feste 520px gesetzt.
   Diese letzte Regel stellt sicher, dass die Inline-CSS-Variable aus dem Backend gewinnt. */
body:not(.adminPage).homeStart .homeHero{min-height:var(--home-hero-height,520px)}
body:not(.adminPage).homeStart .homeHeroInner{min-height:var(--home-hero-height,520px)}
@media(max-width:760px){
  body:not(.adminPage).homeStart .homeHero{min-height:0}
  body:not(.adminPage).homeStart .homeHeroInner{min-height:0}
}

/* CMB Konfigurator 1.0.39 – Layoutpaket-Hero, enthaltene Zusatzmodule & CTA */
.moduleOverviewHero{position:relative;overflow:hidden;border-radius:32px;min-height:360px;margin:0 0 24px;background:linear-gradient(135deg,#141820,#35412f);box-shadow:0 24px 80px rgba(17,24,32,.16);color:#fff;display:flex;align-items:stretch}
.moduleOverviewHero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.46;filter:saturate(.92) contrast(1.03)}
.moduleOverviewHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,16,22,.92),rgba(13,16,22,.52) 52%,rgba(13,16,22,.16));z-index:1}
.moduleOverviewHeroContent{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;gap:16px;width:min(100%,880px);padding:38px}
.moduleHeroKicker{display:inline-flex;width:max-content;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border-radius:999px;padding:7px 11px;font-size:11px;line-height:1;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#f6ddbd}
.moduleOverviewHero h2{margin:0;color:#fff;font-size:clamp(34px,4vw,58px);line-height:.96;letter-spacing:-.055em;max-width:820px}
.moduleOverviewHero p{margin:0;color:rgba(255,255,255,.84);font-size:16px;line-height:1.55;max-width:720px}
.moduleHeroStats{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.moduleHeroStats span{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);border-radius:999px;padding:9px 12px;color:#fff;font-size:12px;font-weight:850}.moduleHeroStats strong{font-size:14px;color:#c9ffd9}
.includedAccordion summary{grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px}.includedSummaryAction{display:inline-flex;align-items:center;margin-left:4px}.includedSummaryAction .detailButton{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:11px;background:#111820;color:#fff;border-color:#111820}.includedSummaryAction .detailButton:hover{transform:none}
.includedAddonDecisionSection{border-color:#eadfd1;background:linear-gradient(180deg,#fff,#fffaf4)}.includedAddonDecisionSection .sectionKicker{color:#a46b33}.addonSummary.included{background:#e9f8ef;color:#136f3a;border-color:#cdeedb}.includedAddonGroupedList{gap:18px}.includedAddonGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.includedAddonCard{cursor:default;border-color:#eadfd1;background:#fffdf9}.includedAddonCard:hover{transform:none;box-shadow:0 12px 34px rgba(17,24,32,.08)}.includedAddonStatus{position:absolute;top:13px;right:13px;width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:#dcf8e7;color:#128040;font-weight:950;border:1px solid #c3eed3}.includedAddonIcon{overflow:hidden}.includedAddonIcon .includedAddonImage{width:100%;height:100%;object-fit:cover;border-radius:14px}.includedAddonCard .chosenPill{background:#e9f8ef;color:#15723d}.includedAddonCard .addonActions{margin-top:12px}.includedAddonCard .detailButton{width:max-content;border-radius:999px;padding:9px 11px;background:#111820;color:#fff;border-color:#111820;font-size:11px}
.moduleNextCta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;border:1px solid #eadcca;border-radius:30px;background:linear-gradient(135deg,#fff7ec,#fff,#edf8ef);box-shadow:0 18px 60px rgba(17,24,32,.10);padding:28px;margin:26px 0 8px}.moduleNextCta h2{margin:4px 0 8px;font-size:30px;letter-spacing:-.04em;color:#111820}.moduleNextCta p{margin:0;color:#65707c;line-height:1.52;max-width:760px}.moduleNextActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.moduleCtaPrimary,.moduleCtaSecondary{border-radius:16px;padding:13px 18px;font-weight:950;cursor:pointer}.moduleCtaPrimary{border:1px solid #b78961;background:#b78961;color:#fff;box-shadow:0 12px 28px rgba(183,137,97,.22)}.moduleCtaSecondary{border:1px solid #e3d7ca;background:#fff;color:#3d3128}.moduleCtaPrimary:hover,.moduleCtaSecondary:hover{transform:translateY(-1px)}
@media(max-width:1120px){.includedAddonGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.moduleNextCta{grid-template-columns:1fr}.moduleNextActions{justify-content:flex-start}.moduleOverviewHeroContent{padding:30px}.moduleOverviewHero{min-height:330px}}
@media(max-width:760px){.moduleOverviewHero{border-radius:24px;min-height:0}.moduleOverviewHeroContent{padding:28px 22px}.moduleHeroStats{display:grid}.includedAccordion summary{grid-template-columns:auto minmax(0,1fr);align-items:center}.includedLockText,.includedSummaryAction{grid-column:2}.includedSummaryAction{margin-left:0}.includedAddonGrid{grid-template-columns:1fr}.moduleNextCta{border-radius:24px;padding:22px}.moduleNextActions{display:grid}.moduleCtaPrimary,.moduleCtaSecondary{width:100%}}

/* CMB Konfigurator 1.0.40 – Sprint 16.06: schönere Paketübersicht + Info-Buttons */
.packageHero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);
  gap:22px;
  align-items:stretch;
  margin:0 0 24px;
  padding:20px;
  border:1px solid rgba(218,208,193,.9);
  border-radius:30px;
  background:
    radial-gradient(circle at 8% 10%, rgba(213,173,109,.24), transparent 34%),
    linear-gradient(135deg,#fffdf9 0%,#f7f2ea 54%,#edf8f1 100%);
  box-shadow:0 24px 65px rgba(28,31,35,.10);
  overflow:hidden;
}
.packageHero::before{
  content:"";
  position:absolute;
  right:-80px;
  top:-120px;
  width:320px;
  height:320px;
  border-radius:999px;
  background:rgba(32,191,99,.10);
  pointer-events:none;
}
.packageHeroCopy{position:relative;z-index:1;padding:16px 10px 16px 12px;display:flex;flex-direction:column;justify-content:center;min-height:260px;}
.packageHero .moduleHeroKicker{display:inline-flex;width:max-content;max-width:100%;border-radius:999px;padding:7px 10px;background:#111820;color:#fff;font-size:11px;font-weight:950;letter-spacing:.11em;text-transform:uppercase;margin-bottom:14px;}
.packageHero h2{font-size:clamp(34px,4.1vw,58px);line-height:.98;letter-spacing:-.055em;margin:0;color:#111820;max-width:780px;}
.packageHeroConcept{font-size:15px;font-weight:900;color:#8a6848;margin:12px 0 0;}
.packageHeroText{font-size:16px;line-height:1.58;color:#3f4952;max-width:720px;margin:16px 0 0;}
.packageHeroStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;max-width:760px;}
.packageHeroStats span{display:block;border:1px solid rgba(224,214,199,.95);background:rgba(255,255,255,.74);border-radius:18px;padding:13px 14px;box-shadow:0 10px 26px rgba(28,31,35,.06);}
.packageHeroStats strong{display:block;font-size:18px;line-height:1.1;color:#111820;margin-bottom:4px;}
.packageHeroStats small{display:block;font-size:12px;line-height:1.25;color:#60707b;font-weight:800;}
.packageHeroVisual{position:relative;z-index:1;min-height:286px;border-radius:24px;overflow:hidden;background:#f5efe6;border:1px solid rgba(210,197,178,.96);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 18px 45px rgba(28,31,35,.10);}
.packageHeroVisual img{width:100%;height:100%;object-fit:contain;display:block;padding:18px;background:linear-gradient(180deg,#fffaf1,#f1eadf);}
.packageHeroVisual.noImage{display:grid;place-items:center;}
.packageHeroPlaceholder{font-weight:950;color:#8a735b;border:1px dashed #d6c7b2;border-radius:18px;padding:16px 18px;background:#fffaf4;}
.packageHeroLabel{position:absolute;left:16px;bottom:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:18px;background:rgba(17,24,32,.88);color:#fff;padding:12px 14px;backdrop-filter:blur(10px);box-shadow:0 12px 32px rgba(17,24,32,.24);}
.packageHeroLabel span{text-transform:uppercase;font-size:10px;letter-spacing:.13em;font-weight:950;color:#d9b174;}
.packageHeroLabel strong{font-size:15px;letter-spacing:-.02em;}
.includedAddonDecisionSection{background:linear-gradient(180deg,#fffdf9,#fff7eb);border-color:#eadac6;}
.includedAddonGroupedList{display:grid;gap:14px;}
.includedAddonDecisionSection .addonGroup{background:rgba(255,255,255,.70);border:1px solid #eadfd1;border-radius:24px;padding:16px;}
.includedAddonGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.includedAddonCard{min-height:132px;grid-template-columns:52px 1fr;padding:15px;border-radius:20px;}
.includedAddonCard .furtherModuleText{display:flex;flex-direction:column;min-width:0;}
.includedAddonCard .addonCardTop{padding-right:26px;}
.includedAddonCard p{-webkit-line-clamp:2;}
.includedAddonCard .addonActions{margin-top:auto;padding-top:10px;}
.includedAddonCard .detailButton,
.furtherModuleCard .detailButton,
.moduleCard .detailButton,
.includedSummaryAction .detailButton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:32px;
  border-radius:999px;
  padding:8px 12px;
  background:#111820;
  color:#fff;
  border:1px solid #111820;
  font-size:11px;
  font-weight:950;
  line-height:1;
  box-shadow:0 8px 18px rgba(17,24,32,.16);
}
.includedAddonCard .detailButton::after,
.furtherModuleCard .detailButton::after,
.moduleCard .detailButton::after,
.includedSummaryAction .detailButton::after{content:"›";font-size:15px;line-height:0;}
.furtherModuleCard .moduleCardActions,
.moduleCard .moduleCardActions{position:relative;z-index:4;}
.moduleCardText{min-width:0;}
.moduleCard .moduleCardActions{grid-column:2;margin-top:10px;}
.furtherModuleCard{grid-template-columns:48px 1fr;}
.furtherModuleCard .addonActions{margin-top:12px;}
.freeModuleDecisionSection .moduleCard,
.addonDecisionSection:not(.includedAddonDecisionSection) .furtherModuleCard{min-height:154px;}
.freeModuleDecisionSection .moduleCard:hover .detailButton,
.addonDecisionSection .furtherModuleCard:hover .detailButton{background:#0c1218;border-color:#0c1218;}
.moduleNextCta{background:linear-gradient(135deg,#fff8ed,#eef9f2);border-color:#e7d7c0;box-shadow:0 24px 65px rgba(28,31,35,.10);}
.moduleNextCta h2{letter-spacing:-.035em;}
@media(max-width:1120px){
  .packageHero{grid-template-columns:1fr;}
  .packageHeroVisual{min-height:250px;}
  .packageHeroStats{grid-template-columns:1fr 1fr 1fr;}
  .includedAddonGrid{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .packageHero{border-radius:24px;padding:14px;gap:14px;}
  .packageHeroCopy{min-height:0;padding:10px 4px 6px;}
  .packageHero h2{font-size:34px;}
  .packageHeroText{font-size:14px;}
  .packageHeroStats{grid-template-columns:1fr;}
  .packageHeroVisual{min-height:210px;border-radius:20px;}
  .packageHeroVisual img{padding:10px;}
  .packageHeroLabel{position:static;margin:10px;background:#111820;}
  .moduleCard .moduleCardActions{grid-column:1 / -1;}
  .includedAddonDecisionSection .addonGroup{padding:12px;border-radius:20px;}
}


/* Update 1.0.41: Detailzugang im aufgeklappten Layout-Modul sichtbar halten */
.includedAccordionBody .includedModuleCopy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
}
.includedModuleBodyActions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.includedModuleBodyActions .detailButton{
  margin-top:0;
}

/* Update 1.0.42: Möbel-/Zusatzmodule-Seite entflechtet.
   Enthaltene Möbel werden als ruhige Karten dargestellt statt als verschachtelte Accordion-Zeilen. */
.includedAccordionList{display:grid;gap:12px}
.includedPackageCard{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;background:#fff;border:1px solid rgba(33,24,16,.10);border-radius:24px;padding:16px 18px;box-shadow:0 14px 36px rgba(16,24,32,.055);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.includedPackageCard:hover{transform:translateY(-1px);box-shadow:0 20px 46px rgba(16,24,32,.08);border-color:rgba(182,137,96,.28)}
.includedPackageIcon{width:72px;height:58px;border-radius:18px;background:linear-gradient(145deg,#fffaf4,#f2eee8);border:1px solid #ece4db;display:grid;place-items:center;overflow:hidden;color:#7a6957}
.includedPackageIcon img{width:100%;height:100%;object-fit:contain}
.includedPackageCopy{min-width:0;display:grid;gap:7px}
.includedPackageTopline{display:flex;align-items:center;gap:10px;min-width:0}
.includedPackageTopline h3{margin:0;font-size:15px;line-height:1.2;letter-spacing:-.01em;color:#111820}
.includedPackageCopy p{margin:0;color:#59636f;font-size:13.5px;line-height:1.42;max-width:640px}
.includedPackageActions{display:flex;align-items:center;gap:10px;justify-content:flex-end;white-space:nowrap}
.includedPackageActions .detailButton{border-radius:999px;padding:9px 13px;background:#111820;color:#fff;border-color:#111820;box-shadow:0 10px 24px rgba(17,24,32,.13)}
.includedPackageActions .detailButton:hover{transform:translateY(-1px)}
.includedPackageCard .lockedNotice{grid-column:auto;width:max-content;margin-top:2px;background:#f6efe7;color:#7b5d42;border:1px solid #ead9c7}
.includedPackageCard .includedLockText{background:#eaf8ef;color:#128544;border:1px solid #d8f1e1}
.includedAccordion,.includedSummaryAction,.includedModuleBodyActions{display:none!important}
@media(max-width:760px){.includedPackageCard{grid-template-columns:56px minmax(0,1fr);align-items:start;padding:14px;border-radius:20px}.includedPackageIcon{width:56px;height:50px;border-radius:15px}.includedPackageActions{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}.includedPackageCard .lockedNotice{width:auto}.includedPackageCopy p{font-size:13px}}

/* 1.0.43 – UX-Feinschliff Möbel & Zusatzmodule
   Ziel: weniger verschachtelte Optik, feste Aktionsbereiche und gleichmäßige Kartenhöhen. */
.includedAccordionList{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.includedPackageCard{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
  min-height:210px;
  padding:18px;
  border-radius:26px;
  background:linear-gradient(180deg,#ffffff,#fffdf9);
  border:1px solid rgba(33,24,16,.10);
  box-shadow:0 18px 44px rgba(16,24,32,.06);
}
.includedPackageCard:hover{
  transform:translateY(-1px);
  box-shadow:0 24px 54px rgba(16,24,32,.085);
  border-color:rgba(182,137,96,.28);
}
.includedPackageIcon{
  width:70px;
  height:58px;
  border-radius:19px;
}
.includedPackageCopy{
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1 1 auto;
}
.includedPackageTopline{
  display:flex;
  align-items:center;
  gap:9px;
}
.includedPackageCopy p{
  max-width:none;
  min-height:38px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.includedPackageFooter{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding-top:12px;
  border-top:1px solid rgba(234,223,209,.72);
}
.includedPackageFooter .detailButton{
  margin-left:auto;
  border-radius:999px;
  padding:9px 13px;
  background:#111820;
  color:#fff;
  border-color:#111820;
  box-shadow:0 10px 24px rgba(17,24,32,.13);
}
.includedPackageFooter .detailButton:hover{
  background:#0c1218;
  border-color:#0c1218;
  transform:translateY(-1px);
}
.includedPackageCard .lockedNotice,
.includedPackageCard .includedLockText{
  width:auto;
  margin:0;
  border-radius:999px;
  padding:6px 9px;
  font-size:10.5px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
}
.includedPackageCard .lockedNotice{
  background:#f6efe7;
  color:#7b5d42;
  border:1px solid #ead9c7;
}
.includedPackageCard .includedLockText{
  background:#eaf8ef;
  color:#128544;
  border:1px solid #d8f1e1;
}

.furtherModuleCard{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:stretch;
  min-height:176px;
}
.furtherModuleText{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:100%;
}
.furtherModuleCard p{
  min-height:52px;
}
.moduleCardFooter{
  margin-top:auto;
  padding-top:12px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
}
.moduleCardFooter .detailButton{
  width:max-content;
  border-radius:999px;
  padding:9px 12px;
  background:#111820;
  color:#fff;
  border-color:#111820;
  font-size:11px;
  box-shadow:0 10px 22px rgba(17,24,32,.12);
}
.moduleCardFooter .detailButton:hover{
  background:#0c1218;
  border-color:#0c1218;
  transform:translateY(-1px);
}
.includedAddonCard{
  min-height:168px;
}
.includedAddonCard .addonActions,
.furtherModuleCard .addonActions{
  margin-top:0;
  padding-top:0;
}
.includedAddonCard .moduleCardFooter,
.furtherModuleCard .moduleCardFooter{
  min-height:42px;
}
.includedAddonDecisionSection .addonGroup{
  background:rgba(255,255,255,.82);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.addonGroupHead{
  border-bottom:1px solid rgba(234,223,209,.72);
  padding-bottom:12px;
  margin-bottom:12px;
}
.addonGroupedList .furtherModuleGrid,
.includedAddonGrid{
  align-items:stretch;
}
@media(max-width:980px){
  .includedAccordionList{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .includedPackageCard{min-height:0;padding:15px;border-radius:21px;}
  .includedPackageFooter{align-items:flex-start;}
  .includedPackageFooter .detailButton{margin-left:0;}
  .furtherModuleCard{min-height:0;}
  .furtherModuleCard p{min-height:0;}
}

/* 1.0.44 – Im Layout enthalten wieder als hochwertiges Accordion.
   Mehr erfahren erscheint ausschließlich im aufgeklappten Inhalt. */
.includedAccordionList{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.includedLayoutAccordion{
  display:block !important;
  background:#fff;
  border:1px solid rgba(33,24,16,.10);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(16,24,32,.055);
}
.includedLayoutAccordion[open]{
  border-color:rgba(182,137,96,.26);
  box-shadow:0 20px 48px rgba(16,24,32,.075);
}
.includedLayoutAccordion summary{
  list-style:none;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto 24px;
  align-items:center;
  gap:12px;
  padding:15px 17px;
  cursor:pointer;
}
.includedLayoutAccordion summary::-webkit-details-marker{display:none;}
.includedLayoutAccordion summary::after{
  content:"⌄";
  justify-self:end;
  color:#65707a;
  font-size:18px;
  line-height:1;
  transition:.18s transform;
}
.includedLayoutAccordion[open] summary::after{transform:rotate(180deg);}
.includedSummaryMain{display:grid;gap:3px;min-width:0;}
.includedSummaryMain strong{font-size:14.5px;line-height:1.18;letter-spacing:-.01em;color:#111820;}
.includedSummaryMain small{font-size:12.5px;line-height:1.35;color:#69737d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.includedLayoutAccordion .includedLockText{
  justify-self:end;
  width:auto;
  margin:0;
  border-radius:999px;
  padding:6px 9px;
  background:#eaf8ef;
  color:#128544;
  border:1px solid #d8f1e1;
  font-size:10.5px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
}
.includedLayoutAccordion .includedAccordionBody{
  display:grid !important;
  grid-template-columns:68px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:16px 17px 18px;
  border-top:1px solid rgba(234,223,209,.72);
  background:linear-gradient(180deg,#fff,#fffdf9);
}
.includedLayoutAccordion .includedModuleMedia{
  width:68px;
  height:58px;
  border-radius:17px;
  background:linear-gradient(145deg,#fffaf4,#f2eee8);
  border:1px solid #ece4db;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#7a6957;
}
.includedLayoutAccordion .includedModuleMedia img{width:100%;height:100%;object-fit:contain;}
.includedLayoutAccordion .includedModuleMedia svg{width:34px;height:34px;}
.includedLayoutAccordion .includedModuleCopy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
}
.includedLayoutAccordion .includedModuleCopy p{
  margin:0;
  font-size:13.5px;
  line-height:1.45;
  color:#59636f;
  max-width:720px;
}
.includedModuleMetaRow{display:flex;flex-wrap:wrap;gap:8px;}
.includedLayoutAccordion .lockedNotice{
  width:auto;
  margin:0;
  border-radius:999px;
  padding:6px 9px;
  background:#f6efe7;
  color:#7b5d42;
  border:1px solid #ead9c7;
  font-size:10.5px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
}
.includedLayoutAccordion .includedModuleBodyActions{
  display:flex !important;
  flex-wrap:wrap;
  gap:8px;
  padding-top:2px;
}
.includedLayoutAccordion .detailButton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  border-radius:999px;
  padding:9px 13px;
  background:#111820;
  color:#fff;
  border:1px solid #111820;
  font-size:11px;
  font-weight:950;
  line-height:1;
  box-shadow:0 10px 22px rgba(17,24,32,.13);
}
.includedLayoutAccordion .detailButton::after{content:"›";font-size:15px;line-height:0;}
.includedLayoutAccordion .detailButton:hover{background:#0c1218;border-color:#0c1218;transform:translateY(-1px);}
.includedPackageCard{display:none!important;}
@media(max-width:760px){
  .includedLayoutAccordion summary{grid-template-columns:28px minmax(0,1fr) 24px;}
  .includedLayoutAccordion .includedLockText{grid-column:2;justify-self:start;margin-top:4px;}
  .includedLayoutAccordion .includedAccordionBody{grid-template-columns:54px minmax(0,1fr);padding:14px;}
  .includedLayoutAccordion .includedModuleMedia{width:54px;height:48px;border-radius:15px;}
  .includedSummaryMain small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
}

/* CMB Konfigurator 1.0.46 – echte Hero-Section für Möbel & Zusatzmodule.
   Das Hero-Bild wird aus dem ausgewählten Grundriss/Layout genutzt. */
.packageHero.packageHeroLarge{
  min-height:410px;
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
  gap:30px;
  align-items:center;
  padding:30px;
  margin:10px 0 26px;
  border-radius:36px;
  background:
    radial-gradient(circle at 92% 4%, rgba(27,191,96,.18), transparent 30%),
    radial-gradient(circle at 8% 6%, rgba(199,143,84,.22), transparent 34%),
    linear-gradient(135deg,#fffaf2 0%,#f8f1e8 45%,#eef9f2 100%);
  box-shadow:0 30px 88px rgba(17,24,32,.13);
}
.packageHero.packageHeroLarge::before{display:none;}
.packageHeroBgMark{
  position:absolute;
  right:-120px;
  top:-90px;
  width:390px;
  height:390px;
  border-radius:999px;
  background:rgba(43,199,111,.10);
  pointer-events:none;
}
.packageHero.packageHeroLarge .packageHeroCopy{
  min-height:340px;
  padding:12px 0 12px 6px;
  justify-content:center;
}
.packageHero.packageHeroLarge .moduleHeroKicker{
  background:#111820;
  color:#fff;
  border:0;
  box-shadow:0 10px 26px rgba(17,24,32,.12);
}
.packageHero.packageHeroLarge h2{
  font-size:clamp(44px,5.6vw,78px);
  line-height:.92;
  letter-spacing:-.07em;
}
.packageHero.packageHeroLarge .packageHeroConcept{
  font-size:17px;
  margin-top:14px;
  color:#8b6240;
}
.packageHero.packageHeroLarge .packageHeroText{
  max-width:620px;
  font-size:16.5px;
  line-height:1.62;
  color:#3f4a53;
}
.packageHero.packageHeroLarge .packageHeroStats{
  max-width:680px;
  margin-top:24px;
}
.packageHero.packageHeroLarge .packageHeroStats span{
  min-height:76px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:rgba(255,255,255,.82);
  border-color:rgba(224,214,199,.98);
  backdrop-filter:blur(12px);
}
.packageHeroActions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.packageHeroButton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:999px;
  padding:11px 15px;
  font-size:12px;
  font-weight:950;
  text-decoration:none;
  line-height:1;
  transition:.18s ease;
}
.packageHeroButton.primary{
  background:#111820;
  color:#fff;
  border:1px solid #111820;
  box-shadow:0 12px 28px rgba(17,24,32,.16);
}
.packageHeroButton.secondary{
  background:rgba(255,255,255,.82);
  color:#2b251f;
  border:1px solid #e3d5c2;
  box-shadow:0 10px 24px rgba(17,24,32,.07);
}
.packageHeroButton:hover{transform:translateY(-1px);}
.packageHero.packageHeroLarge .packageHeroVisual{
  min-height:360px;
  border-radius:30px;
  background:#fffdf9;
  border-color:rgba(218,199,176,.98);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65),0 24px 60px rgba(17,24,32,.13);
}
.packageHero.packageHeroLarge .packageHeroVisual img{
  padding:26px 26px 70px;
  background:linear-gradient(180deg,#fffdf8,#f5eee4);
  object-fit:contain;
}
.packageHero.packageHeroLarge .packageHeroLabel{
  left:20px;
  right:20px;
  bottom:18px;
  border-radius:18px;
  padding:13px 16px;
}
@media(max-width:1120px){
  .packageHero.packageHeroLarge{grid-template-columns:1fr;min-height:0;gap:20px;}
  .packageHero.packageHeroLarge .packageHeroCopy{min-height:0;}
  .packageHero.packageHeroLarge .packageHeroVisual{min-height:310px;}
}
@media(max-width:760px){
  .packageHero.packageHeroLarge{border-radius:26px;padding:16px;margin-top:8px;}
  .packageHero.packageHeroLarge h2{font-size:40px;}
  .packageHero.packageHeroLarge .packageHeroText{font-size:14.5px;}
  .packageHero.packageHeroLarge .packageHeroStats{grid-template-columns:1fr;}
  .packageHeroActions{display:grid;}
  .packageHeroButton{width:100%;}
  .packageHero.packageHeroLarge .packageHeroVisual{min-height:230px;border-radius:22px;}
  .packageHero.packageHeroLarge .packageHeroVisual img{padding:14px 14px 58px;}
}

/* CMB Konfigurator 1.0.48 – Hero auf Möbel-&-Zusatzmodule-Seite im Startseiten-Stil */
body:not(.adminPage) .moduleHeaderHero{
  margin:0 0 34px;
  min-height:var(--home-hero-height,430px);
  border-radius:34px;
}
body:not(.adminPage) .moduleHeaderHero .homeHeroInner{
  min-height:var(--home-hero-height,430px);
  padding:54px 56px 30px;
}
body:not(.adminPage) .moduleHeaderHero .homeHeroCopy{max-width:760px}
body:not(.adminPage) .moduleHeaderHero h1{font-size:clamp(42px,4.8vw,72px)}
body:not(.adminPage) .moduleHeaderHero p{max-width:720px}
body:not(.adminPage) .moduleHeroFacts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0 0;
}
body:not(.adminPage) .moduleHeroFacts span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:12px;
  letter-spacing:.01em;
  backdrop-filter:blur(12px);
}
body:not(.adminPage) .moduleHeroTrustBar{grid-template-columns:repeat(3,minmax(0,1fr))}
body:not(.adminPage) .moduleHeroTrustBar .homeTrustItem{grid-template-columns:46px minmax(0,1fr)}
@media(max-width:760px){
  body:not(.adminPage) .moduleHeaderHero{border-radius:26px;min-height:0}
  body:not(.adminPage) .moduleHeaderHero .homeHeroInner{min-height:0;padding:34px 24px 24px}
  body:not(.adminPage) .moduleHeaderHero h1{font-size:clamp(34px,11vw,48px)}
  body:not(.adminPage) .moduleHeroTrustBar{grid-template-columns:1fr}
}


/* CMB Konfigurator 1.0.49 – Modul-/Zusatzmodule-Hero vollbreit wie Startseite
   Der Hero verlaesst den eingefassten Contentbereich und startet direkt rechts neben der Sidebar.
   Die darunterliegenden Verkaufs-/Accordion-Bereiche bleiben bewusst ruhig eingefasst. */
body:not(.adminPage).modulePackagePage .main{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 0 120px;
}
body:not(.adminPage).modulePackagePage .moduleHeaderHero{
  width:100%;
  min-height:var(--home-hero-height,520px);
  margin:0 0 34px;
  border-radius:0;
  box-shadow:none;
}
body:not(.adminPage).modulePackagePage .moduleHeaderHero .homeHeroInner{
  width:min(100%,1580px);
  min-height:var(--home-hero-height,520px);
  margin:0 auto;
  padding:58px 72px 30px;
}
body:not(.adminPage).modulePackagePage .moduleHeaderHero .homeHeroCopy{max-width:820px;}
body:not(.adminPage).modulePackagePage .moduleHeaderHero h1{font-size:clamp(46px,4.7vw,78px);}
body:not(.adminPage).modulePackagePage .moduleHeaderHero p{max-width:760px;}
body:not(.adminPage).modulePackagePage .moduleHeaderHero .homeHeroMedia{
  object-fit:cover;
  object-position:center;
}
body:not(.adminPage).modulePackagePage .moduleDecisionSection,
body:not(.adminPage).modulePackagePage .moduleNextCta{
  width:min(calc(100% - 68px),1240px);
  margin-left:auto;
  margin-right:auto;
}
body:not(.adminPage).modulePackagePage .moduleNextCta{margin-top:26px;}
@media(min-width:1700px){
  body:not(.adminPage).modulePackagePage .moduleHeaderHero .homeHeroInner{width:min(100%,1640px);padding-left:84px;padding-right:84px;}
  body:not(.adminPage).modulePackagePage .moduleDecisionSection,
  body:not(.adminPage).modulePackagePage .moduleNextCta{width:min(calc(100% - 96px),1320px);}
}
@media(max-width:1180px){
  body:not(.adminPage).modulePackagePage .moduleHeaderHero{min-height:var(--home-hero-height,470px);}
  body:not(.adminPage).modulePackagePage .moduleHeaderHero .homeHeroInner{min-height:var(--home-hero-height,470px);padding:54px 38px 28px;}
  body:not(.adminPage).modulePackagePage .moduleDecisionSection,
  body:not(.adminPage).modulePackagePage .moduleNextCta{width:min(calc(100% - 44px),1240px);}
}
@media(max-width:980px){
  body:not(.adminPage).modulePackagePage .main{padding-bottom:100px;}
  body:not(.adminPage).modulePackagePage .moduleHeaderHero{border-radius:0 0 24px 24px;}
}
@media(max-width:760px){
  body:not(.adminPage).modulePackagePage .moduleHeaderHero{min-height:0;}
  body:not(.adminPage).modulePackagePage .moduleHeaderHero .homeHeroInner{min-height:0;padding:34px 24px 24px;}
  body:not(.adminPage).modulePackagePage .moduleDecisionSection,
  body:not(.adminPage).modulePackagePage .moduleNextCta{width:calc(100% - 36px);}
}

/* CMB Konfigurator 1.0.51 – emotionale Modul-Erlebnisgalerie unter dem Hero
   Zeigt vorhandene Modul-/Detailbilder der im Layout enthaltenen Möbel und Ausbau-Bausteine. */
body:not(.adminPage).modulePackagePage .moduleExperienceGallery{
  width:min(calc(100% - 68px),1240px);
  margin:0 auto 28px;
  padding:24px;
  border:1px solid rgba(218,203,184,.9);
  border-radius:30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(42,190,102,.10), transparent 35%),
    linear-gradient(135deg,#fffdf8 0%,#f8f1e8 100%);
  box-shadow:0 24px 70px rgba(17,24,32,.10);
}
.moduleExperienceIntro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:18px;
}
.moduleExperienceIntro h2{
  margin:4px 0 6px;
  color:#111820;
  font-size:clamp(28px,3vw,46px);
  line-height:1;
  letter-spacing:-.055em;
}
.moduleExperienceIntro p{
  max-width:760px;
  margin:0;
  color:#58636b;
  font-size:14.5px;
  line-height:1.55;
}
.moduleExperienceLink{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 14px;
  border:1px solid #e1d2bf;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#2b251f;
  text-decoration:none;
  font-size:12px;
  font-weight:950;
  box-shadow:0 10px 22px rgba(17,24,32,.06);
}
.moduleExperienceGrid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:14px;
}
.moduleExperienceFeature,
.moduleExperienceThumb{
  position:relative;
  overflow:hidden;
  appearance:none;
  border:0;
  cursor:pointer;
  text-align:left;
  font:inherit;
  background:#111820;
  color:#fff;
  transition:transform .18s ease, box-shadow .18s ease;
}
.moduleExperienceFeature:hover,
.moduleExperienceThumb:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 44px rgba(17,24,32,.18);
}
.moduleExperienceFeature:focus-visible,
.moduleExperienceThumb:focus-visible{
  outline:3px solid rgba(43,199,111,.38);
  outline-offset:3px;
}
.moduleExperienceFeature{
  min-height:420px;
  border-radius:26px;
}
.moduleExperienceFeature img,
.moduleExperienceThumb img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
}
.moduleExperienceOverlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.12) 42%,rgba(0,0,0,.72) 100%);
}
.moduleExperienceCopy{
  position:absolute;
  left:22px;
  right:22px;
  bottom:20px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.moduleExperienceCopy span,
.moduleExperienceThumb small{
  color:#f0c393;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.moduleExperienceCopy strong{
  max-width:680px;
  font-size:clamp(25px,3.2vw,42px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.moduleExperienceCopy small{
  color:rgba(255,255,255,.82);
  font-size:13px;
  font-weight:800;
}
.moduleExperienceThumbs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.moduleExperienceThumb{
  min-height:203px;
  border-radius:22px;
}
.moduleExperienceThumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.68));
}
.moduleExperienceThumb span{
  position:absolute;
  z-index:1;
  left:15px;
  right:15px;
  bottom:14px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.moduleExperienceThumb strong{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#fff;
  font-size:16px;
  line-height:1.12;
  letter-spacing:-.02em;
}
@media(min-width:1700px){
  body:not(.adminPage).modulePackagePage .moduleExperienceGallery{width:min(calc(100% - 96px),1320px);}
}
@media(max-width:1180px){
  body:not(.adminPage).modulePackagePage .moduleExperienceGallery{width:min(calc(100% - 44px),1240px);}
  .moduleExperienceGrid{grid-template-columns:1fr;}
  .moduleExperienceFeature{min-height:360px;}
  .moduleExperienceThumb{min-height:190px;}
}
@media(max-width:760px){
  body:not(.adminPage).modulePackagePage .moduleExperienceGallery{width:calc(100% - 36px);padding:16px;border-radius:24px;margin-bottom:22px;}
  .moduleExperienceIntro{display:block;}
  .moduleExperienceIntro h2{font-size:32px;}
  .moduleExperienceLink{margin-top:14px;width:100%;}
  .moduleExperienceFeature{min-height:320px;border-radius:22px;}
  .moduleExperienceThumbs{
    display:flex;
    gap:12px;
    overflow-x:auto;
    padding:2px 2px 8px;
    scroll-snap-type:x mandatory;
  }
  .moduleExperienceThumb{
    flex:0 0 78%;
    min-height:180px;
    scroll-snap-align:start;
  }
}

/* CMB Konfigurator 1.0.52 – emotionaler Abschluss-CTA mit Zielbild
   Ergänzt den letzten Schritt der Layoutpaket-Seite um ein starkes Bild, ohne neue Bildpflege einzuführen. */
/* CMB Konfigurator 1.0.53 – Abschlussbild füllt den bestehenden CTA-Rahmen bündig aus. */
body:not(.adminPage).modulePackagePage .moduleNextCta.moduleNextCtaVisual{
  grid-template-columns:minmax(0,1fr) minmax(390px,.72fr);
  gap:0;
  align-items:stretch;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 4%, rgba(42,190,102,.12), transparent 33%),
    linear-gradient(135deg,#fffaf1 0%,#fffdf8 45%,#eef9f2 100%);
}
.moduleNextContent{
  align-self:center;
  padding:34px 34px 34px 36px;
}
.moduleNextContent h2{
  max-width:820px;
  font-size:clamp(30px,2.5vw,42px);
  line-height:1.04;
}
.moduleNextContent p{
  max-width:780px;
  font-size:15px;
}
.moduleNextCtaVisual .moduleNextActions{
  justify-content:flex-start;
  margin-top:20px;
}
.moduleNextVisual{
  position:relative;
  display:block;
  min-height:260px;
  overflow:hidden;
  border:0;
  border-radius:0 28px 28px 0;
  padding:0;
  cursor:pointer;
  background:#111820;
  color:#fff;
  box-shadow:none;
}
body:not(.adminPage).modulePackagePage .moduleNextCta.moduleNextCtaVisual .moduleNextVisual{
  height:100%;
}

.moduleNextVisual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
  transition:transform .22s ease;
}
.moduleNextVisual:hover img{transform:scale(1.04);}
.moduleNextVisual:focus-visible{
  outline:3px solid rgba(43,199,111,.42);
  outline-offset:4px;
}
.moduleNextVisualShade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.18) 48%,rgba(0,0,0,.76) 100%);
}
.moduleNextVisualText{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  display:flex;
  flex-direction:column;
  gap:6px;
  text-align:left;
}
.moduleNextVisualText small{
  color:#f0c393;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.moduleNextVisualText strong{
  max-width:520px;
  font-size:clamp(20px,1.8vw,30px);
  line-height:1.06;
  letter-spacing:-.035em;
}
@media(max-width:1120px){
  body:not(.adminPage).modulePackagePage .moduleNextCta.moduleNextCtaVisual{grid-template-columns:1fr;}
  .moduleNextVisual{min-height:320px;order:-1;border-radius:28px 28px 0 0;}
  .moduleNextContent{padding:28px 28px 30px;}
}
@media(max-width:760px){
  body:not(.adminPage).modulePackagePage .moduleNextCta.moduleNextCtaVisual{padding:0;border-radius:24px;}
  .moduleNextContent{padding:22px 20px 22px;}
  .moduleNextContent h2{font-size:28px;}
  .moduleNextVisual{min-height:230px;border-radius:24px 24px 0 0;}
}

/* CMB Konfigurator 1.0.56 – Feinschliff Moduldetails, Detailmodal und Hero-Kennzahlen.
   Ziel: aufgeklappte Layout-Bausteine nutzen die volle Kartenhöhe, das Detailmodal wirkt hochwertiger,
   und die Kennzahlen im Hero sind sauber zentriert. */
body:not(.adminPage) .includedLayoutAccordion[open] .includedAccordionBody{
  grid-template-columns:minmax(150px,190px) minmax(0,1fr) !important;
  gap:0 !important;
  align-items:stretch !important;
  min-height:168px;
  padding:0 !important;
  background:linear-gradient(135deg,#fffdf9,#ffffff) !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia{
  width:100% !important;
  height:100% !important;
  min-height:168px;
  border:0 !important;
  border-right:1px solid rgba(234,223,209,.86) !important;
  border-radius:0 !important;
  background:radial-gradient(circle at 30% 20%,rgba(212,176,135,.20),transparent 34%),linear-gradient(145deg,#f8f3ec,#ece3d7) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.48);
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia svg{
  width:58px !important;
  height:58px !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleCopy{
  justify-content:center;
  padding:22px 24px !important;
  gap:12px !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleCopy p{
  max-width:920px !important;
  font-size:14px !important;
  line-height:1.55 !important;
  color:#48525c !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMetaRow{
  margin-top:0;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleBodyActions{
  padding-top:2px !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .detailButton{
  min-height:38px !important;
  padding:10px 15px !important;
  box-shadow:0 12px 28px rgba(17,24,32,.14) !important;
}

/* Detailmodal: Desktop als ruhiges Studio-Layout mit großer Bildfläche und lesbarer Textspalte. */
body:not(.adminPage) .detailModalOverlay{
  background:rgba(8,12,18,.66) !important;
  backdrop-filter:blur(14px) saturate(1.05) !important;
}
body:not(.adminPage) .detailModal{
  width:min(1120px,calc(100vw - 48px)) !important;
  max-height:min(84vh,820px) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr) !important;
  grid-template-rows:1fr !important;
  border-radius:34px !important;
  overflow:hidden !important;
  background:linear-gradient(145deg,#fffdf9,#f7f1e8) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  box-shadow:0 42px 120px rgba(0,0,0,.38) !important;
}
body:not(.adminPage) .detailModalMedia{
  min-height:560px !important;
  background:radial-gradient(circle at 18% 14%,rgba(212,176,135,.26),transparent 34%),linear-gradient(145deg,#1a2028,#303946) !important;
  border-right:1px solid rgba(255,255,255,.16);
}
body:not(.adminPage) .detailSlideFrame{
  background:transparent !important;
}
body:not(.adminPage) .detailSlide{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  background:transparent !important;
}
body:not(.adminPage) .detailSlideFrame figcaption{
  left:22px !important;
  bottom:22px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.88) !important;
  backdrop-filter:blur(10px) !important;
  padding:9px 12px !important;
  color:#111820 !important;
}
body:not(.adminPage) .detailModalClose{
  top:18px !important;
  right:18px !important;
  width:42px !important;
  height:42px !important;
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 12px 32px rgba(0,0,0,.18) !important;
}
body:not(.adminPage) .detailModalBody{
  padding:34px 36px 38px !important;
  overflow:auto !important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,250,244,.94)) !important;
}
body:not(.adminPage) .detailModalKicker{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:7px 10px;
  margin-bottom:14px !important;
  background:#f3eadf;
  color:#8b5f38 !important;
  border:1px solid #ead8c4;
  letter-spacing:.13em !important;
}
body:not(.adminPage) .detailModalBody h2{
  font-size:clamp(28px,3vw,42px) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
  margin-bottom:18px !important;
}
body:not(.adminPage) .detailModalText{
  color:#303943 !important;
  font-size:15.5px !important;
  line-height:1.72 !important;
}
body:not(.adminPage) .detailModalText p{
  margin-bottom:14px !important;
}
body:not(.adminPage) .detailModalText ul,
body:not(.adminPage) .detailModalText ol{
  margin-left:20px !important;
  margin-bottom:16px !important;
}
body:not(.adminPage) .detailModalText li{
  margin:7px 0 !important;
}
body:not(.adminPage) .detailSliderNav{
  background:rgba(255,255,255,.90) !important;
  backdrop-filter:blur(10px) !important;
}
body:not(.adminPage) .detailDots{
  bottom:20px !important;
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(10px) !important;
}
body:not(.adminPage) .detailModalPlaceholder{
  background:rgba(255,255,255,.86) !important;
}

/* Hero-Kennzahlen: Zahl/Check optisch exakt mittig im Iconfeld halten. */
body:not(.adminPage) .moduleHeroTrustBar .homeTrustIcon{
  width:46px !important;
  height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body:not(.adminPage) .moduleHeroTrustBar .homeTrustIcon span{
  width:42px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1 !important;
  padding:0 !important;
  font-variant-numeric:tabular-nums;
}

@media(max-width:980px){
  body:not(.adminPage) .detailModal{
    grid-template-columns:1fr !important;
    grid-template-rows:300px minmax(0,1fr) !important;
    width:min(720px,calc(100vw - 20px)) !important;
    max-height:92vh !important;
    border-radius:28px 28px 0 0 !important;
  }
  body:not(.adminPage) .detailModalMedia{
    min-height:300px !important;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  body:not(.adminPage) .detailModalBody{
    padding:24px 22px 28px !important;
  }
  body:not(.adminPage) .detailSlide{
    object-fit:cover !important;
  }
}
@media(max-width:760px){
  body:not(.adminPage) .includedLayoutAccordion[open] .includedAccordionBody{
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }
  body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia{
    min-height:190px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(234,223,209,.86) !important;
  }
  body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleCopy{
    padding:18px !important;
  }
}

/* CMB Konfigurator 1.0.57 – Bild-Vollbild, bündige Layout-Medien und vertriebsorientierte Texte.
   Fokus: Bilder sollen emotional stärker wirken, interne Broschüren-/Pflegeformulierungen verschwinden aus der Kundensicht. */
body:not(.adminPage) .includedLayoutAccordion[open]{
  overflow:hidden !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedAccordionBody{
  grid-template-columns:minmax(190px,260px) minmax(0,1fr) !important;
  min-height:190px !important;
  gap:0 !important;
  padding:0 !important;
  align-items:stretch !important;
  background:linear-gradient(135deg,#fffdf9,#ffffff) !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia{
  align-self:stretch !important;
  justify-self:stretch !important;
  width:100% !important;
  height:auto !important;
  min-height:190px !important;
  margin:0 !important;
  border:0 !important;
  border-right:1px solid rgba(234,223,209,.82) !important;
  border-radius:0 0 0 20px !important;
  background:#111820 !important;
  box-shadow:none !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia img{
  width:100% !important;
  height:100% !important;
  min-height:190px !important;
  object-fit:cover !important;
  display:block !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleCopy{
  padding:24px 26px !important;
  justify-content:center !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedLockText{
  background:#eaf8ef !important;
  color:#128544 !important;
}
body:not(.adminPage) .includedAddonDecisionSection .sectionKicker,
body:not(.adminPage) .moduleExperienceGallery .sectionKicker,
body:not(.adminPage) .moduleNextCta .sectionKicker{
  color:#9a6a43 !important;
}
body:not(.adminPage) .includedAddonDecisionSection .sectionIntro{
  max-width:800px !important;
}
body:not(.adminPage) .chosenPill,
body:not(.adminPage) .addonSummary.included{
  text-transform:uppercase;
  letter-spacing:.05em;
}
body:not(.adminPage) .detailFullscreenButton{
  position:absolute;
  right:22px;
  top:22px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  padding:0 14px;
  background:rgba(255,255,255,.88);
  color:#111820;
  font-size:12px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
}
body:not(.adminPage) .detailFullscreenButton::before{
  content:"⛶";
  margin-right:7px;
  font-size:14px;
  line-height:1;
}
body:not(.adminPage) .detailFullscreenButton:hover{
  background:#111820;
  color:#fff;
  border-color:#111820;
}
.detailImageFullscreenOverlay{
  position:fixed;
  inset:0;
  z-index:10120;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(5,8,12,.88);
  backdrop-filter:blur(16px) saturate(1.05);
}
.detailImageFullscreenOverlay figure{
  position:relative;
  width:min(1400px,100%);
  height:min(88vh,920px);
  margin:0;
  display:grid;
  place-items:center;
}
.detailImageFullscreenOverlay img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:24px;
  box-shadow:0 36px 110px rgba(0,0,0,.48);
  background:#111820;
}
.detailImageFullscreenOverlay figcaption{
  position:absolute;
  left:22px;
  bottom:22px;
  max-width:min(640px,calc(100% - 44px));
  border-radius:999px;
  padding:9px 13px;
  background:rgba(255,255,255,.88);
  color:#111820;
  font-size:12px;
  font-weight:950;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
}
.detailImageFullscreenClose{
  position:absolute;
  top:24px;
  right:24px;
  z-index:2;
  width:48px;
  height:48px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#111820;
  font-size:28px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  box-shadow:0 16px 38px rgba(0,0,0,.22);
}
.detailImageFullscreenClose:hover{
  background:#111820;
  color:#fff;
}
@media(max-width:900px){
  body:not(.adminPage) .includedLayoutAccordion[open] .includedAccordionBody{
    grid-template-columns:minmax(150px,220px) minmax(0,1fr) !important;
  }
  body:not(.adminPage) .detailFullscreenButton{
    top:16px;
    right:66px;
  }
}
@media(max-width:760px){
  body:not(.adminPage) .includedLayoutAccordion[open] .includedAccordionBody{
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }
  body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia{
    min-height:210px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(234,223,209,.82) !important;
    border-radius:0 !important;
  }
  body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia img{
    min-height:210px !important;
  }
  body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleCopy{
    padding:18px !important;
  }
  .detailImageFullscreenOverlay{
    padding:14px;
  }
  .detailImageFullscreenOverlay img{
    border-radius:18px;
  }
  .detailImageFullscreenClose{
    top:14px;
    right:14px;
  }
}


/* CMB Konfigurator 1.0.58 – Accordion-Bild bündig, Modal-Bild per Klick groß, emotionalere Kundentexte.
   Der aufgeklappte Layout-Baustein nutzt die volle linke Bildfläche. Das Bild hat keinen eigenen Kartenrand
   und wird leicht skaliert, damit harte Bildränder aus Produktgrafiken nicht wie ein UI-Rahmen wirken. */
body:not(.adminPage) .includedLayoutAccordion[open] .includedAccordionBody{
  grid-template-columns:minmax(260px,34%) minmax(0,1fr) !important;
  min-height:260px !important;
  gap:0 !important;
  padding:0 !important;
  align-items:stretch !important;
  background:linear-gradient(135deg,#fffdf8,#ffffff) !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia{
  width:100% !important;
  height:100% !important;
  min-height:260px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-right:1px solid rgba(234,223,209,.78) !important;
  border-radius:0 0 0 20px !important;
  background:#f5f1eb !important;
  box-shadow:none !important;
  overflow:hidden !important;
  display:block !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia img{
  width:100% !important;
  height:100% !important;
  min-height:260px !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  transform:scale(1.045);
  transform-origin:center center;
}
body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleCopy{
  padding:28px 30px !important;
  justify-content:center !important;
  align-self:stretch !important;
}
body:not(.adminPage) .includedLayoutAccordion[open] .lockedNotice{
  background:#fff4e8 !important;
  color:#7b5d42 !important;
  border-color:#ead9c7 !important;
}
body:not(.adminPage) .detailModalMedia.hasFullscreen,
body:not(.adminPage) .detailModalMedia:has(.detailFullscreenButton){
  cursor:zoom-in;
}
body:not(.adminPage) .detailSlide{
  cursor:zoom-in !important;
}
body:not(.adminPage) .detailFullscreenButton{
  right:22px !important;
  top:22px !important;
  min-height:40px !important;
  padding:0 15px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(255,255,255,.74) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.22) !important;
}
body:not(.adminPage) .detailFullscreenButton::before{
  content:"⛶" !important;
}
body:not(.adminPage) .detailModalMedia::after{
  content:"Bild anklicken zum Vergrößern";
  position:absolute;
  left:22px;
  top:22px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:8px 11px;
  background:rgba(255,255,255,.84);
  color:#111820;
  font-size:11px;
  font-weight:950;
  box-shadow:0 12px 28px rgba(0,0,0,.14);
  backdrop-filter:blur(10px);
  pointer-events:none;
}
body:not(.adminPage) .detailModalMedia:not(:has(.detailSlide))::after{display:none;}
@media(max-width:900px){
  body:not(.adminPage) .includedLayoutAccordion[open] .includedAccordionBody{
    grid-template-columns:minmax(210px,38%) minmax(0,1fr) !important;
    min-height:230px !important;
  }
  body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia,
  body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia img{
    min-height:230px !important;
  }
  body:not(.adminPage) .detailModalMedia::after{display:none;}
}
@media(max-width:760px){
  body:not(.adminPage) .includedLayoutAccordion[open] .includedAccordionBody{
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }
  body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia,
  body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleMedia img{
    min-height:230px !important;
    border-radius:0 !important;
  }
  body:not(.adminPage) .includedLayoutAccordion[open] .includedModuleCopy{
    padding:20px !important;
  }
  body:not(.adminPage) .detailFullscreenButton{
    right:66px !important;
    top:16px !important;
    width:42px !important;
    min-width:42px !important;
    padding:0 !important;
    font-size:0 !important;
  }
  body:not(.adminPage) .detailFullscreenButton::before{
    margin:0 !important;
    font-size:16px !important;
  }
}

/* CMB Konfigurator 1.0.59 – Frontend Conversion Cleanup
   Ziel: Kundensprache, klarere Entscheidungsführung und stärkere Anfrage-Motivation. */
.startDecisionIntro{
  margin:8px 0 18px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-end;
}
.startDecisionIntro h2{
  margin:0 0 8px;
  font-size:clamp(28px,3vw,42px);
  line-height:1.02;
  letter-spacing:-.055em;
  color:#111820;
}
.startDecisionIntro p{margin:0;max-width:760px;color:#58616a;font-size:16px;line-height:1.5}
.cardSalesHint{
  margin:12px 0 0;
  color:#3a444f;
  font-size:13.5px;
  line-height:1.45;
  background:#faf7f1;
  border:1px solid #efe4d5;
  border-radius:14px;
  padding:10px 12px;
}
.cardActionHint{
  margin-top:auto;
  padding-top:16px;
  color:#8e684b;
  font-weight:950;
  font-size:13px;
  display:flex;
  align-items:center;
  gap:6px;
}
.cardActionHint span{font-size:18px;line-height:1}
.card[data-key="entry"]{
  display:flex;
  flex-direction:column;
}
.card[data-key="entry"] h3{font-size:clamp(20px,1.5vw,25px)}
.card[data-key="entry"] p{font-size:14.5px;line-height:1.5}
.card[data-key="floorplan"] .tags,
.card[data-key="concept"] .tags{margin-top:14px}
.card[data-key="floorplan"] .cardActionHint,
.card[data-key="concept"] .cardActionHint{color:#111820}
.resultHeroPanel{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:radial-gradient(circle at 80% 12%,rgba(212,166,118,.26),transparent 28%),linear-gradient(135deg,#111820,#26313d);
  color:#fff;
  padding:42px 46px;
  margin:-2px 0 22px;
  box-shadow:0 24px 70px rgba(17,24,32,.18);
}
.resultHeroPanel h1{
  margin:0 0 14px;
  max-width:880px;
  font-size:clamp(36px,4.4vw,64px);
  line-height:.96;
  letter-spacing:-.07em;
  color:#fff;
}
.resultHeroPanel p{
  max-width:820px;
  margin:0;
  color:#eaf0f4;
  font-size:clamp(16px,1.25vw,19px);
  line-height:1.55;
}
.resultHeroActions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.resultHeroActions .buttonLink,
.resultHeroSecondary{
  width:auto;
  min-height:48px;
  border-radius:16px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:950;
}
.resultHeroPrimary{background:#d4a676!important;color:#fff!important;box-shadow:0 14px 28px rgba(0,0,0,.18)}
.resultHeroSecondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.28)}
.conversionResultBox{grid-template-columns:minmax(0,1fr) 390px;gap:24px}
.resultSideColumn{display:grid;gap:18px;align-items:start}
.leadContactBox{
  border:1px solid rgba(212,166,118,.42);
  box-shadow:0 18px 48px rgba(17,24,32,.10);
}
.leadContactBox h2{font-size:25px;line-height:1.12;letter-spacing:-.035em}
.leadContactBox .fullWidthBtn{background:#111820}
.privacyCheck{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin:4px 0 14px;
  color:#4c5661;
  font-size:13px;
  line-height:1.42;
}
.privacyCheck input{width:18px!important;margin:2px 0 0!important;padding:0!important}
.privacyCheck a{font-weight:850;color:#315b8a}
.priceSummaryRow{
  background:#fbf7ef;
  border:1px solid #eee0cd;
  border-radius:14px;
  padding:13px 14px!important;
}
.priceSummaryRow strong{font-size:20px;color:#111820!important}
.resultNotice{
  margin:16px 0 0;
  background:#f8f5ef;
  border:1px solid #eee0cd;
  border-radius:14px;
  padding:12px 14px;
  color:#4d5660;
}
.salesNextStepBox{background:#f5f8f6;border-color:#dcece2}
.salesRuleBox{
  margin-top:18px;
  background:#fffaf2;
  border:1px solid #eedfc9;
  border-radius:18px;
  padding:18px;
}
.salesRuleBox h3{margin:0 0 8px;font-size:15px;color:#111820}
.salesRuleBox>p{margin:0 0 12px;color:#59636d;font-size:13.5px;line-height:1.45}
.salesRuleBox .ruleItem strong{text-transform:none;letter-spacing:0;color:#8e684b}
@media(max-width:980px){
  .conversionResultBox{grid-template-columns:1fr}
  .resultSideColumn{order:-1}
}
@media(max-width:760px){
  .startDecisionIntro{display:block;margin-top:0}
  .resultHeroPanel{border-radius:24px;padding:28px 22px;margin-top:0}
  .resultHeroActions{display:grid}
  .resultHeroActions .buttonLink,.resultHeroSecondary{width:100%}
  .cardSalesHint{font-size:13px}
  .cardActionHint{padding-top:12px}
}

/* CMB Konfigurator 1.0.60 – Modul-/Bausteinseite Desktop + Mobile
   Ziel: klarere Abschnittsführung, sichtbare Möbelkarten, kompakte mobile Ausbau-Basis und bessere Bildstrecke. */
body:not(.adminPage).modulePackagePage .includedFurnitureSection{
  background:linear-gradient(180deg,#fff,#fffaf4);
  border-color:rgba(212,166,118,.30);
}
body:not(.adminPage).modulePackagePage .includedFurnitureGrid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
body:not(.adminPage).modulePackagePage .uxIncludedFurnitureCard{
  display:grid !important;
  grid-template-columns:94px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:16px;
  min-height:0;
  padding:18px;
  border-radius:28px;
  background:linear-gradient(180deg,#ffffff,#fffdf9);
  border:1px solid rgba(33,24,16,.10);
  box-shadow:0 18px 44px rgba(17,24,32,.065);
}
body:not(.adminPage).modulePackagePage .uxIncludedFurnitureMedia{
  width:94px;
  height:78px;
  border-radius:22px;
  background:#f6efe7;
  border:1px solid #eadfce;
}
body:not(.adminPage).modulePackagePage .uxIncludedFurnitureMedia img{
  width:100%;
  height:100%;
  object-fit:cover;
}
body:not(.adminPage).modulePackagePage .uxIncludedFurnitureCopy{
  min-width:0;
}
body:not(.adminPage).modulePackagePage .uxIncludedFurnitureCopy p{
  min-height:0;
  -webkit-line-clamp:3;
  color:#59636f;
}
body:not(.adminPage).modulePackagePage .uxIncludedFurnitureFooter{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:2px;
}
body:not(.adminPage).modulePackagePage .uxIncludedFurnitureActions{
  grid-column:1 / -1;
  justify-content:flex-start;
  padding-top:2px;
}
body:not(.adminPage).modulePackagePage .uxIncludedFurnitureActions .detailButton,
body:not(.adminPage).modulePackagePage .includedAddonCard .detailButton,
body:not(.adminPage).modulePackagePage .freeModuleCard .detailButton{
  min-height:38px;
  border-radius:999px;
  padding:9px 13px;
  font-weight:950;
}
body:not(.adminPage).modulePackagePage .moduleExperienceIntroActions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}
body:not(.adminPage).modulePackagePage .moduleMobileSwipeHint{
  display:none;
  color:#8a7058;
  font-size:12px;
  font-weight:900;
}
body:not(.adminPage).modulePackagePage .uxAddonAccordionList{
  display:grid;
  gap:16px;
}
body:not(.adminPage).modulePackagePage .uxAddonGroup{
  border:1px solid rgba(33,24,16,.09);
  border-radius:26px;
  background:rgba(255,255,255,.78);
  box-shadow:0 14px 36px rgba(17,24,32,.055);
  overflow:hidden;
}
body:not(.adminPage).modulePackagePage .uxAddonGroupSummary{
  list-style:none;
  cursor:pointer;
  margin:0;
  padding:18px;
  border:0;
  border-radius:0;
  background:linear-gradient(135deg,#fffdf8,#f8f1e8);
}
body:not(.adminPage).modulePackagePage .uxAddonGroupSummary::-webkit-details-marker{display:none;}
body:not(.adminPage).modulePackagePage .uxAddonGroupSummary::after{
  content:"⌄";
  margin-left:auto;
  font-size:20px;
  font-weight:900;
  color:#8a7058;
  transition:transform .18s ease;
}
body:not(.adminPage).modulePackagePage .uxAddonGroup[open] .uxAddonGroupSummary::after{transform:rotate(180deg);}
body:not(.adminPage).modulePackagePage .uxAddonGroupToggle{
  margin-left:auto;
  color:#7d6652;
  font-size:12px;
  font-weight:950;
}
body:not(.adminPage).modulePackagePage .uxAddonGroupBody{
  padding:16px;
}
body:not(.adminPage).modulePackagePage .includedAddonCard{
  align-items:stretch;
  min-height:0;
}
body:not(.adminPage) .furtherModuleCard.hasImage .furtherIcon,
body:not(.adminPage) .includedAddonCard .includedAddonIcon{
  overflow:hidden;
}
body:not(.adminPage) .furtherModuleCard.hasImage .furtherIcon img,
body:not(.adminPage) .includedAddonCard .includedAddonIcon img{
  width:100%;
  height:100%;
  object-fit:cover;
}
body:not(.adminPage).modulePackagePage .moduleNextActions{
  gap:12px;
}
@media(max-width:1180px){
  body:not(.adminPage).modulePackagePage .includedFurnitureGrid{grid-template-columns:1fr;}
  body:not(.adminPage).modulePackagePage .uxIncludedFurnitureCard{grid-template-columns:86px minmax(0,1fr);}
  body:not(.adminPage).modulePackagePage .uxIncludedFurnitureMedia{width:86px;height:74px;}
}
@media(max-width:760px){
  body:not(.adminPage).modulePackagePage .moduleExperienceIntroActions{align-items:stretch;}
  body:not(.adminPage).modulePackagePage .moduleMobileSwipeHint{display:block;text-align:center;}
  body:not(.adminPage).modulePackagePage .moduleExperienceGrid{display:block;}
  body:not(.adminPage).modulePackagePage .moduleExperienceFeature{width:100%;min-height:300px;margin-bottom:12px;}
  body:not(.adminPage).modulePackagePage .moduleExperienceThumbs{padding-bottom:12px;}
  body:not(.adminPage).modulePackagePage .moduleExperienceThumb{flex-basis:84%;min-height:170px;}
  body:not(.adminPage).modulePackagePage .includedFurnitureSection .sectionTopline,
  body:not(.adminPage).modulePackagePage .includedAddonDecisionSection .addonHeader{display:block;}
  body:not(.adminPage).modulePackagePage .includedFurnitureGrid{grid-template-columns:1fr;gap:12px;}
  body:not(.adminPage).modulePackagePage .uxIncludedFurnitureCard{
    grid-template-columns:72px minmax(0,1fr);
    gap:13px;
    padding:14px;
    border-radius:22px;
  }
  body:not(.adminPage).modulePackagePage .uxIncludedFurnitureMedia{width:72px;height:64px;border-radius:18px;}
  body:not(.adminPage).modulePackagePage .uxIncludedFurnitureCopy p{font-size:13px;line-height:1.42;-webkit-line-clamp:2;}
  body:not(.adminPage).modulePackagePage .uxIncludedFurnitureFooter .includedLockText{display:inline-flex;}
  body:not(.adminPage).modulePackagePage .uxIncludedFurnitureActions{display:grid;}
  body:not(.adminPage).modulePackagePage .uxIncludedFurnitureActions .detailButton{width:100%;justify-content:center;}
  body:not(.adminPage).modulePackagePage .uxAddonGroup{border-radius:22px;}
  body:not(.adminPage).modulePackagePage .uxAddonGroupSummary{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 24px;
    gap:10px;
    padding:14px;
    align-items:center;
  }
  body:not(.adminPage).modulePackagePage .uxAddonGroupSummary::after{grid-column:3;grid-row:1;align-self:center;justify-self:end;margin:0;}
  body:not(.adminPage).modulePackagePage .uxAddonGroupToggle{display:none;}
  body:not(.adminPage).modulePackagePage .uxAddonGroupBody{padding:12px;grid-template-columns:1fr;}
  body:not(.adminPage).modulePackagePage .includedAddonCard{grid-template-columns:34px 52px minmax(0,1fr);padding:12px;border-radius:18px;}
  body:not(.adminPage).modulePackagePage .includedAddonCard .furtherModuleText p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  body:not(.adminPage).modulePackagePage .includedAddonCard .moduleCardFooter{grid-column:1 / -1;display:grid;}
  body:not(.adminPage).modulePackagePage .includedAddonCard .detailButton{width:100%;justify-content:center;}
  body:not(.adminPage).modulePackagePage .addonSummary.included{margin-top:14px;width:100%;}
  body:not(.adminPage).modulePackagePage .moduleNextCta.moduleNextCtaVisual{margin-bottom:84px;}
}

/* CMB Konfigurator 1.0.61 – Detailmodal & Vollbild-Galerie 3/4
   Ziel: hochwertige Detailansicht als Beratungs-/Inspirationsmoment statt technischem Dialog.
   Das Modal bietet jetzt Nutzenkarten, bessere Bildflaeche, Swipe-/Tastaturbedienung und eine echte Vollbild-Galerie. */
body:not(.adminPage) .detailModalOverlayPro{
  padding:24px !important;
  background:rgba(5,8,12,.72) !important;
  backdrop-filter:blur(18px) saturate(1.08) !important;
}
body:not(.adminPage) .detailModalPro{
  width:min(1180px,calc(100vw - 48px)) !important;
  max-height:min(88vh,860px) !important;
  grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr) !important;
  border-radius:36px !important;
  overflow:hidden !important;
  background:#fffaf3 !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:0 48px 140px rgba(0,0,0,.42) !important;
}
body:not(.adminPage) .detailModalPro .detailModalMedia{
  min-height:610px !important;
  position:relative !important;
  overflow:hidden !important;
  background:linear-gradient(145deg,#111820,#303945) !important;
}
body:not(.adminPage) .detailModalPro .detailSlideFrame{
  position:absolute !important;
  inset:0 !important;
  margin:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  transition:opacity .22s ease, visibility .22s ease !important;
}
body:not(.adminPage) .detailModalPro .detailSlideFrame.active{
  opacity:1 !important;
  visibility:visible !important;
}
body:not(.adminPage) .detailSlideZoom{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:zoom-in;
}
body:not(.adminPage) .detailModalPro .detailSlide{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  transform:scale(1.002);
}
body:not(.adminPage) .detailModalPro .detailModalPlaceholder{
  position:absolute;
  inset:28px;
  display:grid;
  place-content:center;
  gap:8px;
  text-align:center;
  border-radius:28px;
  background:rgba(255,255,255,.88) !important;
  color:#34404c;
}
body:not(.adminPage) .detailModalPro .detailModalPlaceholder strong{font-size:20px;color:#111820;letter-spacing:-.02em}
body:not(.adminPage) .detailModalPro .detailModalPlaceholder span{max-width:360px;color:#66717c;font-weight:750}
body:not(.adminPage) .detailModalPro .detailSliderNav{
  width:48px !important;
  height:48px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.68) !important;
  background:rgba(255,255,255,.90) !important;
  color:#111820 !important;
  font-size:34px !important;
  line-height:1 !important;
  box-shadow:0 18px 38px rgba(0,0,0,.18) !important;
}
body:not(.adminPage) .detailModalPro .detailSliderNav:hover{background:#111820 !important;color:#fff !important;border-color:#111820 !important}
body:not(.adminPage) .detailModalPro .detailDots{
  bottom:22px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  gap:8px !important;
  padding:8px 10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(12px) !important;
  box-shadow:0 12px 34px rgba(0,0,0,.16) !important;
}
body:not(.adminPage) .detailModalPro .detailDot{
  width:8px !important;
  height:8px !important;
  border-radius:999px !important;
  border:0 !important;
  background:rgba(17,24,32,.35) !important;
  cursor:pointer;
}
body:not(.adminPage) .detailModalPro .detailDot.active{width:22px !important;background:#111820 !important}
body:not(.adminPage) .detailSwipeHint{
  position:absolute;
  left:22px;
  top:22px;
  z-index:4;
  max-width:230px;
  border-radius:999px;
  padding:9px 12px;
  background:rgba(17,24,32,.58);
  color:#fff;
  font-size:12px;
  font-weight:900;
  backdrop-filter:blur(10px);
}
body:not(.adminPage) .detailModalPro .detailFullscreenButton{
  right:22px !important;
  top:22px !important;
  min-height:42px !important;
  padding:0 15px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.92) !important;
  color:#111820 !important;
  border:1px solid rgba(255,255,255,.64) !important;
}
body:not(.adminPage) .detailModalPro .detailFullscreenButton:hover{background:#111820 !important;color:#fff !important;border-color:#111820 !important}
body:not(.adminPage) .detailModalPro .detailSlideFrame figcaption{
  left:22px !important;
  bottom:22px !important;
  max-width:min(520px,calc(100% - 44px));
  border-radius:999px !important;
  padding:9px 13px !important;
  background:rgba(255,255,255,.86) !important;
  color:#111820 !important;
  font-size:12px !important;
  font-weight:950 !important;
  box-shadow:0 12px 34px rgba(0,0,0,.16) !important;
}
body:not(.adminPage) .detailModalPro .detailModalBody{
  padding:36px 38px 38px !important;
  overflow:auto !important;
  background:linear-gradient(180deg,#fffdf9 0%,#fff8ef 100%) !important;
}
body:not(.adminPage) .detailModalPro .detailModalKicker{
  margin-bottom:15px !important;
  background:#f2e7da !important;
  color:#8a5b34 !important;
  border:1px solid #ead7c2 !important;
}
body:not(.adminPage) .detailModalPro h2{
  margin:0 0 12px !important;
  font-size:clamp(31px,3.15vw,46px) !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
  color:#111820 !important;
}
body:not(.adminPage) .detailModalLead{
  margin:0 0 22px;
  color:#4c5763;
  font-size:16px;
  line-height:1.62;
}
body:not(.adminPage) .detailInfoCards{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:0 0 24px;
}
body:not(.adminPage) .detailInfoCards article{
  display:grid;
  gap:4px;
  border:1px solid rgba(232,217,199,.96);
  border-radius:18px;
  padding:13px 14px;
  background:rgba(255,255,255,.74);
  box-shadow:0 10px 28px rgba(99,75,48,.05);
}
body:not(.adminPage) .detailInfoCards strong{
  color:#111820;
  font-size:13px;
  line-height:1.22;
}
body:not(.adminPage) .detailInfoCards span{
  color:#65707b;
  font-size:13px;
  line-height:1.4;
  font-weight:750;
}
body:not(.adminPage) .detailModalTextBlock{
  border-top:1px solid rgba(232,217,199,.92);
  padding-top:22px;
}
body:not(.adminPage) .detailModalTextBlock h3{
  margin:0 0 10px;
  color:#111820;
  font-size:18px;
  letter-spacing:-.02em;
}
body:not(.adminPage) .detailModalPro .detailModalText{
  color:#323c47 !important;
  font-size:15.5px !important;
  line-height:1.72 !important;
}
body:not(.adminPage) .detailModalAdvisory{
  margin-top:22px;
  border-radius:18px;
  padding:14px 15px;
  background:#eef8f1;
  border:1px solid #cfead8;
  color:#245f3a;
  font-size:13px;
  line-height:1.45;
  font-weight:800;
}
.detailImageFullscreenGallery .detailImageFullscreenNav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:54px;
  height:54px;
  border:1px solid rgba(255,255,255,.56);
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:#111820;
  font-size:38px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 18px 46px rgba(0,0,0,.26);
}
.detailImageFullscreenGallery .detailImageFullscreenNav.prev{left:24px}
.detailImageFullscreenGallery .detailImageFullscreenNav.next{right:24px}
.detailImageFullscreenGallery .detailImageFullscreenNav:hover{background:#111820;color:#fff;border-color:#111820}
.detailImageFullscreenDots{
  position:absolute;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  padding:9px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(12px);
  box-shadow:0 12px 34px rgba(0,0,0,.22);
}
.detailImageFullscreenDots button{
  width:8px;
  height:8px;
  border:0;
  border-radius:999px;
  padding:0;
  background:rgba(17,24,32,.34);
  cursor:pointer;
}
.detailImageFullscreenDots button.active{width:24px;background:#111820}
.detailImageFullscreenGallery figure img{
  max-width:calc(100vw - 120px);
  max-height:calc(100vh - 110px);
}
@media(max-width:900px){
  body:not(.adminPage) .detailModalOverlayPro{padding:12px 10px !important;align-items:flex-end !important;}
  body:not(.adminPage) .detailModalPro{
    width:min(760px,calc(100vw - 20px)) !important;
    max-height:94vh !important;
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(280px,42vh) minmax(0,1fr) !important;
    border-radius:30px 30px 0 0 !important;
  }
  body:not(.adminPage) .detailModalPro .detailModalMedia{min-height:280px !important;}
  body:not(.adminPage) .detailModalPro .detailModalBody{padding:24px 22px 28px !important;}
  body:not(.adminPage) .detailSwipeHint{display:none;}
  body:not(.adminPage) .detailModalPro .detailFullscreenButton{top:16px !important;right:66px !important;}
  body:not(.adminPage) .detailInfoCards{grid-template-columns:1fr;}
}
@media(max-width:760px){
  body:not(.adminPage) .detailModalPro{grid-template-rows:260px minmax(0,1fr) !important;}
  body:not(.adminPage) .detailModalPro h2{font-size:30px !important;}
  body:not(.adminPage) .detailModalLead{font-size:14.5px;}
  body:not(.adminPage) .detailModalPro .detailFullscreenButton{font-size:0 !important;width:42px !important;padding:0 !important;}
  body:not(.adminPage) .detailModalPro .detailFullscreenButton::before{margin:0 !important;}
  body:not(.adminPage) .detailModalPro .detailSlideFrame figcaption{display:none;}
  .detailImageFullscreenGallery figure img{max-width:calc(100vw - 28px);max-height:calc(100vh - 110px);border-radius:18px;}
  .detailImageFullscreenGallery .detailImageFullscreenNav{width:44px;height:44px;font-size:30px;top:auto;bottom:68px;transform:none;}
  .detailImageFullscreenGallery .detailImageFullscreenNav.prev{left:18px}
  .detailImageFullscreenGallery .detailImageFullscreenNav.next{right:18px}
  .detailImageFullscreenDots{bottom:18px;}
}

/* Update 1.0.62 – Admin UX Cleanup
   Ruhigere Adminflächen, besser auffindbare Navigation und konsistente Aktionsmenüs. */
.adminPage .adminMain{max-width:1440px;}
.adminHeaderV2{position:sticky;top:0;z-index:60;min-height:72px;box-shadow:0 12px 34px rgba(0,0,0,.14);}
.adminNavV2{overflow-x:auto;scrollbar-width:thin;padding-bottom:2px;}
.adminNavGroup{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:7px;}
.adminNavLabel{display:block;margin:0 0 5px;padding:0 3px;color:#9ca9b4;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:950;}
.adminHeader .adminNavLinks a.active{box-shadow:inset 0 0 0 1px rgba(212,176,135,.18);}
.adminHeader .adminNavActions{display:flex;gap:8px;align-items:flex-end;}
.adminBox{border-radius:24px;}
.adminPage .tableWrap{box-shadow:var(--shadowSoft);}
.adminPage table tbody tr:hover{background:#fffdf8;}
.adminPage .fullWidthBtn,.adminPage button,.adminPage input,.adminPage select,.adminPage textarea{font-family:inherit;}
.adminActionCluster{display:flex;align-items:center;gap:8px;position:relative;}
.adminPrimaryAction{display:inline-flex;align-items:center;justify-content:center;border-radius:13px;background:var(--green);color:#fff;text-decoration:none;font-weight:950;padding:10px 13px;white-space:nowrap;}
.adminActionMenu{position:relative;}
.adminActionMenu summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:13px;border:1px solid var(--line2);background:#fff;color:#111820;font-weight:950;cursor:pointer;}
.adminActionMenu summary::-webkit-details-marker{display:none;}
.adminActionMenu[open] summary{background:#111820;color:#fff;border-color:#111820;}
.adminActionMenuPanel{position:absolute;right:0;top:44px;z-index:40;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 46px rgba(17,24,32,.18);padding:8px;display:grid;gap:4px;}
.adminActionMenuPanel a,.adminActionMenuPanel button{display:flex;width:100%;border:0;background:#fff;color:#111820;text-decoration:none;border-radius:11px;padding:10px 11px;font-weight:900;font-size:12px;text-align:left;cursor:pointer;}
.adminActionMenuPanel a:hover,.adminActionMenuPanel button:hover{background:#f5f1eb;}
.adminActionMenuPanel .danger{color:#b33;}
.adminDropZone{border:1px dashed #cfc7bd;border-radius:18px;background:#fbfaf8;padding:14px;display:grid;gap:7px;}
.adminDropZone strong{font-size:13px;}
.adminDropZone small{color:#68717b;line-height:1.35;}
.adminStatusGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.adminStatusCard{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadowSoft);padding:14px;}
.adminStatusCard strong{display:block;font-size:27px;letter-spacing:-.04em;color:#111820;}
.adminStatusCard span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:#68717b;}
@media(max-width:900px){.adminHeaderV2{position:static}.adminNavV2{width:100%;}.adminNavGroup{width:auto}.adminActionMenuPanel{right:auto;left:0}.adminStatusGrid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.adminStatusGrid{grid-template-columns:1fr}.adminPrimaryAction{flex:1}.adminActionCluster{width:100%;}.adminActionMenuPanel{min-width:calc(100vw - 58px)}}

/* 1.0.64 – Enthaltene Möbel wieder als Premium-Accordion mit größerem Bildfokus.
   Ziel: ruhige Übersicht im Standardzustand, hochwertiger geöffneter Zustand mit großer Bildfläche. */
.includedFurnitureSection .includedAccordionList{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}
.includedFurnitureSection .includedPackageCard,
.includedFurnitureSection .includedAccordion:not(.uxIncludedFurnitureAccordion){display:none!important;}
.uxIncludedFurnitureAccordion{
  display:block !important;
  background:#fff;
  border:1px solid rgba(33,24,16,.10);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 42px rgba(16,24,32,.06);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.uxIncludedFurnitureAccordion:hover{
  transform:translateY(-1px);
  border-color:rgba(182,137,96,.24);
  box-shadow:0 22px 52px rgba(16,24,32,.085);
}
.uxIncludedFurnitureAccordion[open]{
  border-color:rgba(182,137,96,.32);
  box-shadow:0 24px 62px rgba(16,24,32,.095);
}
.uxIncludedFurnitureAccordion summary{
  list-style:none;
  display:grid;
  grid-template-columns:82px minmax(0,1fr) auto 24px;
  gap:16px;
  align-items:center;
  padding:17px 20px;
  cursor:pointer;
  background:linear-gradient(180deg,#fff,#fffdf9);
}
.uxIncludedFurnitureAccordion summary::-webkit-details-marker{display:none;}
.uxIncludedFurnitureAccordion summary::after{
  content:"⌄";
  justify-self:end;
  color:#68737e;
  font-size:20px;
  line-height:1;
  transition:.18s transform;
}
.uxIncludedFurnitureAccordion[open] summary::after{transform:rotate(180deg);}
.includedFurnitureThumb{
  width:82px;
  height:62px;
  border-radius:18px;
  border:1px solid #ece4db;
  background:linear-gradient(145deg,#fffaf4,#f2eee8);
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#7a6957;
}
.includedFurnitureThumb img,
.includedFurnitureHeroMedia img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.includedFurnitureThumb svg{width:42px;height:42px;}
.uxIncludedFurnitureAccordion .includedSummaryMain{display:grid;gap:5px;min-width:0;}
.uxIncludedFurnitureAccordion .includedSummaryMain strong{
  color:#111820;
  font-size:16px;
  line-height:1.2;
  letter-spacing:-.015em;
}
.uxIncludedFurnitureAccordion .includedSummaryMain small{
  color:#65707a;
  font-size:13.5px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.uxIncludedFurnitureAccordion > summary > .includedLockText{
  justify-self:end;
  border-radius:999px;
  padding:7px 10px;
  background:#eaf8ef;
  color:#128544;
  border:1px solid #d8f1e1;
  font-size:11px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
}
.includedFurnitureAccordionBody{
  border-top:1px solid rgba(234,223,209,.80);
  display:grid;
  grid-template-columns:minmax(260px,38%) minmax(0,1fr);
  gap:22px;
  align-items:stretch;
  padding:22px;
  background:
    radial-gradient(circle at 88% 0%, rgba(43,199,111,.08), transparent 34%),
    linear-gradient(180deg,#fff,#fffaf3);
}
.includedFurnitureHeroMedia{
  min-height:230px;
  border-radius:24px;
  border:1px solid #eadfd1;
  background:linear-gradient(145deg,#fffaf4,#f2eee8);
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#7a6957;
}
.includedFurnitureHeroMedia svg{width:82px;height:82px;}
.includedFurnitureContent{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:11px;
}
.includedFurnitureKicker{
  color:#a46b33;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.includedFurnitureContent h3{
  margin:0;
  color:#111820;
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.035em;
}
.includedFurnitureContent p{
  margin:0;
  max-width:680px;
  color:#535e68;
  font-size:14px;
  line-height:1.55;
}
.includedFurnitureContent .includedModuleMetaRow{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px;}
.includedFurnitureContent .lockedNotice,
.includedFurnitureContent .includedLockText{
  width:auto;
  margin:0;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
}
.includedFurnitureContent .lockedNotice{background:#f6efe7;color:#7b5d42;border:1px solid #ead9c7;}
.includedFurnitureContent .includedLockText{background:#eaf8ef;color:#128544;border:1px solid #d8f1e1;}
.includedFurnitureActions{display:flex;flex-wrap:wrap;gap:10px;padding-top:4px;}
.includedFurnitureActions .detailButton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  border-radius:999px;
  padding:10px 15px;
  background:#111820;
  color:#fff;
  border:1px solid #111820;
  font-size:12px;
  font-weight:950;
  line-height:1;
  box-shadow:0 12px 26px rgba(17,24,32,.14);
}
.includedFurnitureActions .detailButton::after{content:"›";font-size:16px;line-height:0;}
.includedFurnitureActions .detailButton:hover{background:#0c1218;border-color:#0c1218;transform:translateY(-1px);}
@media(max-width:860px){
  .uxIncludedFurnitureAccordion summary{grid-template-columns:68px minmax(0,1fr) 22px;gap:13px;padding:15px;}
  .includedFurnitureThumb{width:68px;height:56px;border-radius:16px;}
  .uxIncludedFurnitureAccordion > summary > .includedLockText{grid-column:2;justify-self:start;width:max-content;margin-top:2px;}
  .includedFurnitureAccordionBody{grid-template-columns:1fr;gap:16px;padding:16px;}
  .includedFurnitureHeroMedia{min-height:210px;border-radius:20px;}
  .includedFurnitureContent h3{font-size:22px;}
  .uxIncludedFurnitureAccordion .includedSummaryMain small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
}
@media(max-width:520px){
  .uxIncludedFurnitureAccordion summary{grid-template-columns:58px minmax(0,1fr) 20px;gap:11px;padding:13px;}
  .includedFurnitureThumb{width:58px;height:50px;}
  .includedFurnitureHeroMedia{min-height:180px;}
  .includedFurnitureContent h3{font-size:20px;}
}


/* CMB Konfigurator 1.0.65 – Startseiten-Raster und Accordion-Buttontext
   Der Startseiten-Introbereich nutzt wieder exakt dasselbe Raster wie die Einstiegskarten.
   Dadurch fällt der Text nicht aus der visuellen Achse, wenn der Hero Full-Width läuft. */
body:not(.adminPage).homeStart .startDecisionIntro{
  width:min(calc(100% - 68px),1400px);
  margin:8px auto 18px;
}
@media(min-width:1700px){
  body:not(.adminPage).homeStart .startDecisionIntro{
    width:min(calc(100% - 96px),1460px);
  }
}
@media(max-width:1180px){
  body:not(.adminPage).homeStart .startDecisionIntro{
    width:min(calc(100% - 44px),1240px);
  }
}
@media(max-width:760px){
  body:not(.adminPage).homeStart .startDecisionIntro{
    width:calc(100% - 36px);
    margin:0 auto 18px;
  }
}

/* CMB Konfigurator 1.0.64 – CTA-Bildslider auf der Möbel-&-Zusatzmodule-Seite. */
.moduleNextSlider{
  cursor:default;
}
.moduleNextSlides,
.moduleNextSlide{
  position:absolute;
  inset:0;
}
.moduleNextSlide{
  display:block;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  opacity:0;
  background:transparent;
  cursor:pointer;
  transition:opacity .65s ease;
}
.moduleNextSlide.is-active{
  opacity:1;
  z-index:1;
}
.moduleNextSlide:not([data-experience-kind]){
  cursor:default;
}
.moduleNextSlider .moduleNextVisualShade,
.moduleNextSlider .moduleNextVisualText,
.moduleNextSlider .moduleNextSliderDots{
  z-index:2;
}
.moduleNextSliderDots{
  position:absolute;
  left:18px;
  right:18px;
  bottom:10px;
  display:flex;
  gap:6px;
  align-items:center;
}
.moduleNextSliderDots span{
  width:22px;
  height:4px;
  border-radius:999px;
  background:rgba(255,255,255,.38);
  transition:width .2s ease,background .2s ease;
}
.moduleNextSliderDots span.is-active{
  width:34px;
  background:rgba(255,255,255,.9);
}
.moduleNextSlider .moduleNextVisualText{
  bottom:26px;
}

/* CMB Konfigurator 1.0.70 – Grundriss zwischen Erlebnisgalerie und Wohnbereichen
   Der technische Grundriss erklaert nach der emotionalen Bildstrecke die konkrete Layout-Anordnung. */
body:not(.adminPage).modulePackagePage .moduleFloorplanSection{
  margin-top:0;
  margin-bottom:28px;
  padding:0;
  overflow:hidden;
  background:linear-gradient(135deg,#fffdf8 0%,#fff 58%,#eef9f2 100%);
  border-color:rgba(212,166,118,.32);
  box-shadow:0 22px 64px rgba(17,24,32,.08);
}
body:not(.adminPage).modulePackagePage .moduleFloorplanContent{
  display:grid;
  grid-template-columns:minmax(330px,.52fr) minmax(0,1fr);
  gap:26px;
  align-items:center;
  padding:24px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanCopy{
  min-width:0;
  padding:8px 0 8px 6px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanCopy .sectionHead{
  margin:4px 0 10px;
  font-size:clamp(28px,3vw,44px);
  line-height:1.03;
  letter-spacing:-.05em;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanCopy p{
  max-width:620px;
  margin:0;
  color:#58636b;
  font-size:14.5px;
  line-height:1.55;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanFacts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanFacts span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 11px;
  border:1px solid rgba(183,137,97,.22);
  border-radius:999px;
  background:#fff;
  color:#5d4938;
  font-size:12px;
  font-weight:950;
  box-shadow:0 8px 18px rgba(17,24,32,.045);
}
body:not(.adminPage).modulePackagePage .moduleFloorplanActions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanButton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 14px;
  border:1px solid #e1d2bf;
  border-radius:999px;
  background:#fff;
  color:#2b251f;
  text-decoration:none;
  font-size:12px;
  font-weight:950;
  box-shadow:0 10px 22px rgba(17,24,32,.06);
}
body:not(.adminPage).modulePackagePage .moduleFloorplanMedia{
  position:relative;
  min-height:260px;
  margin:0;
  border:1px solid rgba(33,24,16,.10);
  border-radius:26px;
  background:linear-gradient(180deg,#fff,#f6f1ea);
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 44px rgba(17,24,32,.065);
}
body:not(.adminPage).modulePackagePage .moduleFloorplanMedia img{
  display:block;
  width:100%;
  height:100%;
  min-height:260px;
  max-height:430px;
  object-fit:contain;
  padding:20px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanMedia figcaption{
  position:absolute;
  left:16px;
  bottom:14px;
  max-width:calc(100% - 32px);
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:rgba(17,24,32,.72);
  color:#fff;
  font-size:12px;
  font-weight:900;
  backdrop-filter:blur(10px);
}
@media(max-width:1180px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanContent{grid-template-columns:1fr;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanMedia img{max-height:360px;}
}
@media(max-width:760px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanSection{border-radius:24px;margin-bottom:22px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanContent{padding:16px;gap:16px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanCopy{padding:0;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanCopy .sectionHead{font-size:32px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanButton{width:100%;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanMedia{border-radius:22px;min-height:220px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanMedia img{min-height:220px;max-height:300px;padding:14px;}
}

/* CMB Konfigurator 1.0.71 – Broschüren-Profil links neben dem Grundriss
   Ziel: Der Grundrissabschnitt übernimmt die klare Konzept-Kurzprofil-Struktur aus der Broschüre:
   schwarze Faktenfläche links, Grundriss rechts, Preisband unten in der Faktenfläche. */
body:not(.adminPage).modulePackagePage .moduleFloorplanSection{
  background:linear-gradient(135deg,#fffdf8 0%,#fff 58%,#f2faf5 100%);
}
body:not(.adminPage).modulePackagePage .moduleFloorplanHeader{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  padding:24px 24px 0;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanHeader > div{min-width:0;}
body:not(.adminPage).modulePackagePage .moduleFloorplanHeader .sectionHead{
  margin:4px 0 10px;
  font-size:clamp(28px,3vw,44px);
  line-height:1.03;
  letter-spacing:-.05em;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanHeader p{
  max-width:720px;
  margin:0;
  color:#58636b;
  font-size:14.5px;
  line-height:1.55;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent{
  grid-template-columns:minmax(310px,.42fr) minmax(0,.58fr);
  align-items:stretch;
  padding-top:18px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochurePanel{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:430px;
  overflow:hidden;
  border-radius:30px;
  background:#050505;
  color:#fff;
  box-shadow:0 22px 54px rgba(17,24,32,.16);
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRows{
  padding:26px 30px 18px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRow{
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  gap:18px;
  align-items:center;
  min-height:76px;
  padding:0 0 18px;
  margin-bottom:18px;
  border-bottom:2px solid rgba(190,147,111,.86);
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRow:last-child{
  margin-bottom:0;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureIcon{
  width:58px;
  height:58px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#b58d6a;
  color:#050505;
  font-size:31px;
  font-weight:900;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureIcon svg{
  color:#050505 !important;
  stroke:#050505 !important;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText{
  display:grid;
  gap:5px;
  min-width:0;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText strong{
  color:#fff;
  font-size:clamp(22px,2.25vw,36px);
  line-height:1.05;
  font-weight:520;
  letter-spacing:-.045em;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText small{
  color:#b58d6a;
  font-size:clamp(14px,1.25vw,21px);
  line-height:1.15;
  font-weight:520;
}
body:not(.adminPage).modulePackagePage .brochureIconPeople{
  display:flex;
  gap:5px;
  align-items:flex-end;
}
body:not(.adminPage).modulePackagePage .brochureIconPeople span{
  display:block;
  width:10px;
  height:24px;
  border-radius:6px 6px 4px 4px;
  background:#050505;
  position:relative;
}
body:not(.adminPage).modulePackagePage .brochureIconPeople span::before{
  content:"";
  position:absolute;
  left:50%;
  top:-11px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#050505;
  transform:translateX(-50%);
}
body:not(.adminPage).modulePackagePage .brochureIconPeople span:first-child{height:20px;}
body:not(.adminPage).modulePackagePage .brochureIconPeople span:last-child{height:20px;}
body:not(.adminPage).modulePackagePage .brochureIconMoon{
  font-size:45px;
  line-height:1;
  transform:translateY(-1px);
}
body:not(.adminPage).modulePackagePage .brochureIconScale{
  font-size:34px;
  line-height:1;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceBand{
  display:grid;
  grid-template-columns:64px minmax(118px,.62fr) minmax(0,1fr);
  gap:18px;
  align-items:center;
  min-height:106px;
  padding:18px 26px;
  background:#b58d6a;
  color:#050505;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanVanIcon{
  display:grid;
  place-items:center;
  font-size:40px;
  line-height:1;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanVanIcon svg{color:#050505 !important;}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceType{
  color:#050505;
  font-size:22px;
  line-height:1.06;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.01em;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px 10px;
  align-items:baseline;
  justify-content:end;
  text-align:right;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue small{
  color:#050505;
  font-size:20px;
  font-weight:850;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue strong{
  color:#050505;
  font-size:clamp(30px,3.4vw,48px);
  line-height:1;
  font-weight:520;
  letter-spacing:-.04em;
  white-space:nowrap;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue em{
  grid-column:1 / -1;
  color:#050505;
  font-style:normal;
  font-size:20px;
  line-height:1.1;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
  min-height:430px;
  border-radius:30px;
  background:#f8f2ea;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
  min-height:430px;
  max-height:560px;
  padding:22px;
}
@media(max-width:1180px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanHeader{display:block;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanHeader .moduleFloorplanButton{margin-top:16px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent{grid-template-columns:1fr;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochurePanel{min-height:0;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{max-height:420px;}
}
@media(max-width:760px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanHeader{padding:16px 16px 0;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanHeader .sectionHead{font-size:32px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent{padding-top:14px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochurePanel{border-radius:22px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRows{padding:18px 18px 10px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRow{grid-template-columns:54px minmax(0,1fr);gap:12px;min-height:62px;margin-bottom:13px;padding-bottom:13px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureIcon{width:46px;height:46px;font-size:24px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText strong{font-size:20px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText small{font-size:13px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanPriceBand{grid-template-columns:44px 92px minmax(0,1fr);gap:10px;min-height:82px;padding:14px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanPriceType{font-size:16px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue small{font-size:14px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue strong{font-size:25px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue em{font-size:13px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{min-height:220px;border-radius:22px;}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{min-height:220px;max-height:300px;padding:14px;}
}

/* CMB Konfigurator 1.0.72 – Grundriss-Brücke kompakter + Serienausstattung-Wording
   Ziel: Der Broschürenblock bleibt als Orientierung erhalten, wirkt aber weniger dominant.
   Außerdem wird der Seriencharakter der enthaltenen Wohnbereiche stärker sichtbar. */
body:not(.adminPage).modulePackagePage .moduleFloorplanHeader{
  padding:22px 22px 0;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanHeader .sectionHead{
  font-size:clamp(26px,2.35vw,36px);
  letter-spacing:-.045em;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanHeader p{
  max-width:760px;
  font-size:13.5px;
  line-height:1.5;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent{
  grid-template-columns:minmax(250px,.34fr) minmax(0,.66fr);
  gap:18px;
  padding-top:16px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochurePanel{
  min-height:360px;
  border-radius:24px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRows{
  padding:18px 20px 12px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRow{
  grid-template-columns:46px minmax(0,1fr);
  gap:13px;
  min-height:54px;
  margin-bottom:10px;
  padding-bottom:10px;
  border-bottom-width:1px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureIcon{
  width:40px;
  height:40px;
  font-size:22px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureIcon svg{
  width:24px;
  height:24px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText{
  gap:2px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText strong{
  font-size:clamp(17px,1.55vw,24px);
  line-height:1.08;
  letter-spacing:-.035em;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText small{
  font-size:clamp(11px,.92vw,15px);
  line-height:1.15;
}
body:not(.adminPage).modulePackagePage .brochureIconPeople span{
  width:7px;
  height:17px;
}
body:not(.adminPage).modulePackagePage .brochureIconPeople span::before{
  top:-8px;
  width:9px;
  height:9px;
}
body:not(.adminPage).modulePackagePage .brochureIconPeople span:first-child,
body:not(.adminPage).modulePackagePage .brochureIconPeople span:last-child{
  height:14px;
}
body:not(.adminPage).modulePackagePage .brochureIconMoon{
  font-size:31px;
}
body:not(.adminPage).modulePackagePage .brochureIconScale{
  font-size:24px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceBand{
  grid-template-columns:42px minmax(84px,.48fr) minmax(0,1fr);
  gap:10px;
  min-height:76px;
  padding:12px 18px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanVanIcon{
  font-size:28px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanVanIcon svg{
  width:30px;
  height:30px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceType{
  font-size:15px;
  line-height:1.03;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue small{
  font-size:13px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue strong{
  font-size:clamp(22px,2.15vw,34px);
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue em{
  font-size:12px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
  min-height:360px;
  border-radius:24px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
  min-height:360px;
  max-height:430px;
  padding:22px;
}
body:not(.adminPage).modulePackagePage .includedFurnitureSection .sectionKicker,
body:not(.adminPage).modulePackagePage .includedAddonDecisionSection .sectionKicker{
  text-transform:uppercase;
}
body:not(.adminPage).modulePackagePage .includedFurnitureSection .includedLockText{
  background:#e8fbef;
  color:#04733f;
  border-color:#c6f2d6;
}
@media(max-width:1180px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent{
    grid-template-columns:1fr;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochurePanel{
    min-height:0;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRows{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
    max-height:360px;
  }
}
@media(max-width:760px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRows{
    display:block;
    padding:16px 16px 8px;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRow{
    grid-template-columns:42px minmax(0,1fr);
    min-height:52px;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureIcon{
    width:38px;
    height:38px;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia,
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
    min-height:220px;
  }
}

/* CMB Konfigurator 1.0.73 – Grundrisskarte ruhiger + Serienausstattung klarer
   Ziel: Der Grundriss soll kompakt als Orientierung wirken, ohne leere Flächen,
   ohne zusätzlichen Sprungbutton und ohne doppelte Layout-Badges. */
body:not(.adminPage).modulePackagePage .moduleFloorplanHeader{
  align-items:flex-start;
  padding-bottom:0;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanHeader .moduleFloorplanButton{
  display:none !important;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent{
  align-items:start;
  grid-template-columns:minmax(245px,.33fr) minmax(0,.67fr);
  gap:18px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
  align-self:start;
  min-height:0;
  height:auto;
  padding:0;
  overflow:hidden;
  background:#f8f2ea;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  padding:16px 18px;
  object-fit:contain;
  object-position:center center;
  background:#fffaf3;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia figcaption{
  display:none !important;
}
body:not(.adminPage).modulePackagePage .includedFurnitureSection .sectionKicker{
  color:#9a714f;
  letter-spacing:.13em;
}
body:not(.adminPage).modulePackagePage .includedFurnitureSection .sectionHead{
  max-width:760px;
}
@media(max-width:1180px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanHeader .moduleFloorplanButton{
    display:none !important;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent{
    grid-template-columns:1fr;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
    max-height:none;
  }
}
@media(max-width:760px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
    padding:12px;
  }
}

/* CMB Konfigurator 1.0.74 – Grundrissfenster und Textreduzierung
   Der Grundriss soll ohne innere Leerflächen in seinem Fenster liegen; erklärende Doppeltexte wurden im Markup entfernt. */
body:not(.adminPage).modulePackagePage .moduleFloorplanHeader{
  padding:24px 24px 0;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanHeader .sectionHead{
  margin-bottom:0;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent{
  align-items:start;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
  min-height:0;
  align-self:start;
  border-radius:28px;
  background:#fff;
  overflow:hidden;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  padding:0;
  object-fit:contain;
  border-radius:inherit;
}
body:not(.adminPage).modulePackagePage .includedFurnitureSection .sectionTopline{
  align-items:flex-start;
}
body:not(.adminPage).modulePackagePage .includedFurnitureSection .sectionTopline .sectionHead{
  max-width:740px;
}
@media(max-width:760px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
    min-height:0;
    border-radius:20px;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
    min-height:0;
    max-height:none;
    padding:0;
  }
}


/* CMB Konfigurator 1.0.75 – Harmonisierung Grundriss/Faktenhöhe
   Ziel: Der Broschüren-Faktenblock links und das Grundrissfenster rechts wirken als gemeinsame, gleich hohe Einheit. */
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent{
  grid-template-columns:minmax(280px,.34fr) minmax(0,.66fr);
  align-items:stretch;
  gap:24px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochurePanel,
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
  height:360px;
  min-height:0;
  align-self:stretch;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochurePanel{
  border-radius:24px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRows{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  padding:17px 22px 9px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRow{
  flex:1 1 0;
  grid-template-columns:46px minmax(0,1fr);
  gap:12px;
  min-height:0;
  margin-bottom:8px;
  padding-bottom:8px;
  border-bottom-width:1px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRow:last-child{
  margin-bottom:0;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureIcon{
  width:38px;
  height:38px;
  font-size:22px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText{
  gap:2px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText strong{
  font-size:clamp(18px,1.5vw,23px);
  line-height:1.02;
  letter-spacing:-.04em;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText small{
  font-size:clamp(12px,.95vw,15px);
  line-height:1.08;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceBand{
  grid-template-columns:38px 92px minmax(0,1fr);
  gap:9px;
  min-height:64px;
  padding:11px 16px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanVanIcon svg{
  width:31px;
  height:31px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceType{
  font-size:15px;
  line-height:.95;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue small{
  font-size:13px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue strong{
  font-size:clamp(24px,2vw,32px);
  letter-spacing:-.04em;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue em{
  font-size:11px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:24px;
  background:#fff;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  object-fit:contain;
  padding:0;
  border-radius:inherit;
}
@media(max-width:1180px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent{
    grid-template-columns:1fr;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochurePanel,
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
    height:auto;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
    height:auto;
  }
}
@media(max-width:760px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRows{
    display:block;
    padding:18px 18px 10px;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRow{
    grid-template-columns:48px minmax(0,1fr);
    min-height:58px;
    margin-bottom:12px;
    padding-bottom:12px;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureIcon{
    width:42px;
    height:42px;
    font-size:22px;
  }
}


/* CMB Konfigurator 1.0.76 – Faktenkarte: Trennlinien außerhalb der Texte
   Ziel: Die gleiche Höhe von Faktenkarte und Grundriss bleibt erhalten, aber die Zeilentrenner laufen nicht mehr durch die Texte. */
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochurePanel,
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
  height:400px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRows{
  padding:18px 22px 10px;
  gap:0;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRow{
  flex:0 0 auto;
  min-height:49px;
  margin-bottom:7px;
  padding-bottom:7px;
  align-items:center;
  overflow:visible;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText strong{
  font-size:clamp(17px,1.42vw,22px);
  line-height:1.08;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText small{
  font-size:clamp(11px,.88vw,14px);
  line-height:1.12;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureIcon{
  width:36px;
  height:36px;
  font-size:20px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureIcon svg{
  width:22px;
  height:22px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceBand{
  min-height:68px;
}
@media(max-width:1180px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochurePanel,
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
    height:auto;
  }
}


/* CMB Konfigurator 1.0.77 – Faktenkarte ohne Clippen, Grundriss bleibt höhengleich
   Ziel: Die linke Faktenkarte bestimmt ihre natürliche Höhe, der rechte Grundriss streckt sich sauber mit.
   Dadurch wird der Preisblock nicht abgeschnitten und die Trennlinien bleiben außerhalb der Texte. */
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent{
  align-items:stretch;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochurePanel{
  height:auto;
  min-height:0;
  align-self:stretch;
  overflow:hidden;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRows{
  flex:0 0 auto;
  display:block;
  padding:16px 22px 10px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRow{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  min-height:0;
  margin-bottom:8px;
  padding-bottom:8px;
  align-items:center;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRow:last-child{
  margin-bottom:0;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureIcon{
  width:36px;
  height:36px;
  font-size:20px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText strong{
  font-size:clamp(16px,1.34vw,21px);
  line-height:1.08;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureText small{
  font-size:clamp(11px,.84vw,13px);
  line-height:1.12;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceBand{
  flex:0 0 auto;
  min-height:0;
  padding:10px 16px;
  grid-template-columns:36px 90px minmax(0,1fr);
  gap:8px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceType{
  font-size:14px;
  line-height:.98;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue small{
  font-size:12px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue strong{
  font-size:clamp(23px,1.95vw,31px);
}
body:not(.adminPage).modulePackagePage .moduleFloorplanPriceValue em{
  font-size:11px;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
  height:auto;
  min-height:0;
  align-self:stretch;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
  height:100%;
  min-height:0;
}
@media(max-width:1180px){
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
    height:auto;
  }
}


/* CMB Konfigurator 1.0.78 – Grundrissfenster weißer Hintergrund
   Ziel: Das rechte Grundrissfenster wirkt ruhiger und neutraler; cremefarbene Restflächen im Bildfenster werden vermieden. */
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia{
  background:#fff !important;
}
body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureContent .moduleFloorplanMedia img{
  background:#fff !important;
}


/* CMB Konfigurator 1.0.80 – Fahrzeugauswahl visuell harmonisiert
   Ziel: gleiche Kartenhöhe, ruhigeres Raster und einheitliche Bild-/Icon-Fläche. */
body:not(.adminPage) .vehicleCards{
  align-items:stretch;
}
body:not(.adminPage) .vehicleCards .card{
  min-height:318px;
  display:flex;
  flex-direction:column;
  padding:24px;
  overflow:hidden;
}
body:not(.adminPage) .vehicleCards .card.selected{
  border-width:1px;
  outline:2px solid var(--green);
  outline-offset:-2px;
}
body:not(.adminPage) .vehicleCards .cardImage{
  display:block;
  width:100%;
  height:142px;
  object-fit:cover;
  border-radius:18px;
  margin:0 0 20px;
  background:linear-gradient(135deg,#f6f1e9,#ebe2d5);
}
body:not(.adminPage) .vehicleCards .card:not(.hasImage) .iconBubble{
  width:100%;
  height:142px;
  border-radius:18px;
  margin:0 0 20px;
  background:
    radial-gradient(circle at 18% 28%,rgba(32,191,99,.18),transparent 0 32px),
    linear-gradient(135deg,#fbf8f3,#eee5d9);
  color:#19a955;
  border:1px solid #eee2d4;
}
body:not(.adminPage) .vehicleCards .card h3{
  margin-top:0;
  font-size:clamp(20px,1.45vw,25px);
}
body:not(.adminPage) .vehicleCards .card p{
  min-height:46px;
  color:#59616a;
}
body:not(.adminPage) .vehicleCards .cardActionHint{
  margin-top:auto;
}
body:not(.adminPage) .vehicleCards .tags:empty{
  display:none;
}
@media (max-width:720px){
  body:not(.adminPage) .vehicleCards .card{min-height:0}
  body:not(.adminPage) .vehicleCards .cardImage,
  body:not(.adminPage) .vehicleCards .card:not(.hasImage) .iconBubble{height:128px}
}

/* CMB Konfigurator 1.0.81 – Fahrzeugbilder größer und flächiger im Kartenrahmen
   Ziel: Fahrzeugkarten mit Bild zeigen mehr Bildfläche und wirken hochwertiger.
   Umsetzung: Das Bildfenster wird als breiter 16:9-Bereich direkt an die Karteninnenkanten gezogen.
   Hinweis: object-fit: cover füllt den Rahmen vollständig. Dadurch entstehen keine weißen Balken; bei sehr
   ungünstigen Bildformaten wird minimal beschnitten. */
body:not(.adminPage) .vehicleCards .card.hasImage{
  padding-top:18px;
}
body:not(.adminPage) .vehicleCards .cardImage{
  width:calc(100% + 12px);
  max-width:none;
  height:auto;
  aspect-ratio:16 / 9;
  margin:-6px -6px 22px;
  border-radius:19px;
  object-fit:cover;
  object-position:center center;
  display:block;
}
@media (min-width:981px){
  body:not(.adminPage) .vehicleCards .card{
    min-height:336px;
  }
}
@media (max-width:720px){
  body:not(.adminPage) .vehicleCards .cardImage{
    width:100%;
    margin:0 0 18px;
    aspect-ratio:16 / 9;
  }
}

/* CMB Konfigurator 1.0.82 – Fahrzeugkarten als vollflächige Bildkarten mit lesbarer Textfläche
   Ziel: Fahrzeugbilder nutzen die komplette Karte. Der Text liegt unten auf einer teiltransparenten,
   weichgezeichneten Fläche, damit mehr Bild sichtbar bleibt und die Lesbarkeit erhalten bleibt.
   Hinweis: Nur Fahrzeugkarten mit Bild werden umgestellt. Karten ohne Bild behalten die ruhige Platzhalterfläche. */
body:not(.adminPage) .vehicleCards .card.hasImage{
  min-height:318px;
  isolation:isolate;
  justify-content:flex-end;
  padding:190px 24px 22px;
  background:#111820;
  overflow:hidden;
}
body:not(.adminPage) .vehicleCards .card.hasImage::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:46%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.48) 44%,rgba(255,255,255,.68) 100%);
  backdrop-filter:blur(6px) saturate(1.04);
  -webkit-backdrop-filter:blur(6px) saturate(1.04);
  border-top:1px solid rgba(255,255,255,.22);
}
body:not(.adminPage) .vehicleCards .card.hasImage .cardImage{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  max-width:none;
  aspect-ratio:auto;
  margin:0;
  border-radius:inherit;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.01);
  transition:transform .24s ease;
}
body:not(.adminPage) .vehicleCards .card.hasImage:hover .cardImage{
  transform:scale(1.04);
}
body:not(.adminPage) .vehicleCards .card.hasImage h3,
body:not(.adminPage) .vehicleCards .card.hasImage p,
body:not(.adminPage) .vehicleCards .card.hasImage .tags,
body:not(.adminPage) .vehicleCards .card.hasImage .cardActionHint{
  position:relative;
  z-index:2;
}
body:not(.adminPage) .vehicleCards .card.hasImage h3{
  margin:0 32px 7px 0;
  color:#111820;
}
body:not(.adminPage) .vehicleCards .card.hasImage p{
  min-height:0;
  margin:0;
  color:#47515b;
}
body:not(.adminPage) .vehicleCards .card.hasImage .cardActionHint{
  margin-top:22px;
  padding-top:0;
}
body:not(.adminPage) .vehicleCards .card.hasImage .cardCheck{
  z-index:4;
  box-shadow:0 6px 16px rgba(17,24,32,.12);
}
@media (min-width:981px){
  body:not(.adminPage) .vehicleCards .card.hasImage{
    min-height:342px;
  }
}
@media (max-width:720px){
  body:not(.adminPage) .vehicleCards .card.hasImage{
    min-height:286px;
    padding:160px 20px 20px;
  }
  body:not(.adminPage) .vehicleCards .card.hasImage::after{
    height:50%;
  }
}


/* CMB Konfigurator 1.0.83 – Fahrzeugkarten-Overlay transparenter
   Ziel: Bild bleibt stärker sichtbar, Text bleibt lesbar. */

/* CMB Konfigurator 1.0.84 – Fahrzeugkarten-Overlay noch transparenter
   Ziel: Das Fahrzeugbild soll im unteren Textbereich deutlich stärker sichtbar sein,
   während Titel, Beschreibung und CTA weiterhin lesbar bleiben. */
body:not(.adminPage) .vehicleCards .card.hasImage::after{
  height:46%;
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.30) 44%,rgba(255,255,255,.46) 100%) !important;
  backdrop-filter:blur(4px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(4px) saturate(1.02) !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
}
@media (max-width:720px){
  body:not(.adminPage) .vehicleCards .card.hasImage::after{
    height:48%;
  }
}

/* CMB Konfigurator 1.0.85 – Fahrzeugkarten-Overlay schmaler und transparenter
   Ziel: Der Textbereich sitzt etwas tiefer, nimmt weniger Kartenhöhe ein und lässt das Foto stärker durchscheinen. */
body:not(.adminPage) .vehicleCards .card.hasImage{
  padding-top:206px !important;
  padding-bottom:20px !important;
}
body:not(.adminPage) .vehicleCards .card.hasImage::after{
  height:38% !important;
  background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.20) 44%,rgba(255,255,255,.34) 100%) !important;
  backdrop-filter:blur(3px) saturate(1.01) !important;
  -webkit-backdrop-filter:blur(3px) saturate(1.01) !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
}
@media (min-width:981px){
  body:not(.adminPage) .vehicleCards .card.hasImage{
    padding-top:218px !important;
  }
}
@media (max-width:720px){
  body:not(.adminPage) .vehicleCards .card.hasImage{
    padding:172px 20px 18px !important;
  }
  body:not(.adminPage) .vehicleCards .card.hasImage::after{
    height:42% !important;
  }
}


/* CMB Konfigurator 1.0.86 – Fahrzeugkarten-Overlay auf 20 % Höhe reduziert
   Ziel: Der halbtransparente Bereich nimmt deutlich weniger Kartenhöhe ein und beginnt weiter unten.
   Das Bild bleibt maximal präsent, der Text sitzt weiterhin am unteren Kartenrand. */
body:not(.adminPage) .vehicleCards .card.hasImage::after{
  height:20% !important;
}
@media (max-width:720px){
  body:not(.adminPage) .vehicleCards .card.hasImage::after{
    height:24% !important;
  }
}


/* CMB Konfigurator 1.0.87 – Text sauber in den Overlay-Bereich holen
   Ziel: Titel und Unterzeile sollen vollständig im unteren Overlay-Bereich liegen.
   Dafür wird der Textblock kompakter gemacht und der CTA-Hinweis auf Bildkarten ausgeblendet. */
body:not(.adminPage) .vehicleCards .card.hasImage h3{
  margin:0 34px 3px 0 !important;
  font-size:clamp(17px,1.2vw,20px) !important;
  line-height:1.04 !important;
}
body:not(.adminPage) .vehicleCards .card.hasImage p{
  min-height:0 !important;
  font-size:12.5px !important;
  line-height:1.25 !important;
  max-width:88% !important;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body:not(.adminPage) .vehicleCards .card.hasImage .cardActionHint{
  display:none !important;
}
@media (max-width:720px){
  body:not(.adminPage) .vehicleCards .card.hasImage h3{
    font-size:18px !important;
  }
  body:not(.adminPage) .vehicleCards .card.hasImage p{
    font-size:12px !important;
    max-width:100% !important;
  }
}


/* CMB Konfigurator 1.0.88 – Fahrzeugkarten-Overlay 25 % Höhe und weniger transparent
   Ziel: Der Overlay-Bereich soll etwas höher werden und weniger transparent sein,
   damit Text sicher im Bereich sitzt und ruhiger lesbar bleibt. */
body:not(.adminPage) .vehicleCards .card.hasImage::after{
  height:25% !important;
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.28) 44%,rgba(255,255,255,.44) 100%) !important;
  backdrop-filter:blur(3px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(3px) saturate(1.02) !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
}
@media (max-width:720px){
  body:not(.adminPage) .vehicleCards .card.hasImage::after{
    height:28% !important;
  }
}


/* CMB Konfigurator 1.0.89 – Fahrzeugkarten mit dunklem Overlay und weißer Schrift
   Ziel: Der Overlay-Bereich auf Bildkarten wird dunkel/schwarz ausgeführt.
   Titel und Unterzeile erscheinen in Weiß für einen stärkeren, hochwertigeren Kontrast. */
body:not(.adminPage) .vehicleCards .card.hasImage::after{
  height:25% !important;
  background:linear-gradient(180deg,rgba(8,12,18,.06) 0%,rgba(8,12,18,.38) 42%,rgba(8,12,18,.74) 100%) !important;
  backdrop-filter:blur(3px) saturate(1.04) !important;
  -webkit-backdrop-filter:blur(3px) saturate(1.04) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}
body:not(.adminPage) .vehicleCards .card.hasImage h3{
  color:#ffffff !important;
  text-shadow:0 1px 8px rgba(0,0,0,.22);
}
body:not(.adminPage) .vehicleCards .card.hasImage p{
  color:rgba(255,255,255,.82) !important;
  text-shadow:0 1px 8px rgba(0,0,0,.18);
}
body:not(.adminPage) .vehicleCards .card.hasImage .tags,
body:not(.adminPage) .vehicleCards .card.hasImage .cardActionHint{
  color:rgba(255,255,255,.88) !important;
}
@media (max-width:720px){
  body:not(.adminPage) .vehicleCards .card.hasImage::after{
    height:28% !important;
  }
}

/* CMB Konfigurator 1.0.95 – Fahrzeuggrößenkarten mit echten Beispielbildern
   Ziel: Der Schritt „Welche Fahrzeuggröße passt zu Dir?“ nutzt echte CMB-Bildmotive statt reiner Icon-Karten.
   Die vorhandene Bildkarten-Logik der Fahrzeugkarten wird bewusst wiederverwendet, damit Optik und Verhalten konsistent bleiben. */
body:not(.adminPage) .vehicleSizeCards{
  align-items:stretch;
}
body:not(.adminPage) .vehicleSizeCards .card.hasImage{
  min-height:342px;
}
body:not(.adminPage) .vehicleSizeCards .card.hasImage .cardImage{
  object-position:center center;
}
body:not(.adminPage) .vehicleSizeCards .card.hasImage:nth-child(1) .cardImage{
  object-position:center center;
}
body:not(.adminPage) .vehicleSizeCards .card.hasImage:nth-child(2) .cardImage{
  object-position:center center;
}
body:not(.adminPage) .vehicleSizeCards .card.hasImage:nth-child(3) .cardImage{
  object-position:center center;
}
@media(max-width:720px){
  body:not(.adminPage) .vehicleSizeCards .card.hasImage{
    min-height:286px;
  }
}

/* CMB Konfigurator 1.0.96 – Fahrzeuggrößen als verwaltbare Beratungskarten
   Ziel: Der Schritt „Welche Fahrzeuggröße passt zu Dir?“ ist kein Bild-Moodboard mehr,
   sondern eine klare Entscheidungshilfe mit Backend-pflegbaren Texten, Fakten und Beratungshinweisen. */
body:not(.adminPage) .vehicleSizeCards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  max-width:1180px;
}
body:not(.adminPage) .vehicleSizeCards .vehicleSizeDecisionCard{
  min-height:0 !important;
  padding:28px !important;
  display:flex;
  flex-direction:column;
  gap:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,248,245,.96));
  border:1px solid rgba(19,24,32,.10);
  box-shadow:0 22px 70px rgba(22,18,14,.09);
}
body:not(.adminPage) .vehicleSizeCards .vehicleSizeDecisionCard::after{
  display:none !important;
}
body:not(.adminPage) .vehicleSizeCards .vehicleSizeDecisionCard .iconBubble{
  width:48px;
  height:48px;
  margin:0 0 4px;
  background:#dcf8ea;
  color:#13934b;
}
body:not(.adminPage) .vehicleSizeCards .vehicleSizeDecisionCard h3{
  margin:0 !important;
  color:#101418 !important;
  font-size:clamp(22px,1.5vw,28px) !important;
  line-height:1.04 !important;
  text-shadow:none !important;
}
body:not(.adminPage) .vehicleSizeCards .vehicleSizeDecisionCard p{
  margin:0 !important;
  min-height:0 !important;
  max-width:none !important;
  color:#555f68 !important;
  font-size:15px !important;
  line-height:1.45 !important;
  text-shadow:none !important;
  display:block !important;
  overflow:visible !important;
}
body:not(.adminPage) .cardFactGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:2px;
}
body:not(.adminPage) .cardFactGrid span{
  display:flex;
  align-items:center;
  min-height:34px;
  padding:8px 10px;
  border-radius:13px;
  background:#f2efe9;
  color:#2d343a;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
}
body:not(.adminPage) .cardFit{
  padding:14px;
  border:1px solid rgba(168,130,91,.22);
  border-radius:18px;
  background:rgba(248,241,231,.62);
}
body:not(.adminPage) .cardFit strong{
  display:block;
  margin-bottom:6px;
  color:#7a4c29;
  font-size:11px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body:not(.adminPage) .cardFit span{
  display:block;
  color:#303840;
  font-size:13.5px;
  line-height:1.45;
}
body:not(.adminPage) .cardAdviceNote{
  margin-top:auto;
  padding:12px 13px;
  border-left:3px solid #13934b;
  border-radius:14px;
  background:#eefaf3;
  color:#27543a;
  font-size:12.5px;
  font-weight:800;
  line-height:1.42;
}
body:not(.adminPage) .vehicleSizeCards .vehicleSizeDecisionCard .tags{
  display:none;
}
body:not(.adminPage) .vehicleSizeCards .vehicleSizeDecisionCard .cardActionHint{
  display:flex !important;
  margin-top:0;
  color:#7a4c29 !important;
  text-shadow:none !important;
}
@media(max-width:1180px){
  body:not(.adminPage) .vehicleSizeCards{
    grid-template-columns:1fr;
    max-width:760px;
  }
}
@media(max-width:720px){
  body:not(.adminPage) .vehicleSizeCards .vehicleSizeDecisionCard{
    padding:22px !important;
  }
  body:not(.adminPage) .cardFactGrid{
    grid-template-columns:1fr;
  }
}

/* CMB Konfigurator 1.0.97 – Vergleichsgrafik für Fahrzeuggrößen
   Ziel: Jede Größenkarte zeigt alle drei Van-Klassen im gleichen Maßstab.
   Die aktive Klasse wird hervorgehoben, damit Kund:innen die Auswahl sofort vergleichen können. */
body:not(.adminPage) .vehicleSizeComparison{
  position:relative;
  padding:14px 14px 12px;
  border-radius:22px;
  background:linear-gradient(180deg,#fbfaf7 0%,#f4eee6 100%);
  border:1px solid rgba(168,130,91,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  overflow:hidden;
}
body:not(.adminPage) .vehicleSizeComparison::before{
  content:"";
  position:absolute;
  inset:auto -20px -44px auto;
  width:126px;
  height:126px;
  border-radius:999px;
  background:rgba(168,130,91,.08);
  pointer-events:none;
}
body:not(.adminPage) .vehicleSizeComparisonTop{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
body:not(.adminPage) .vehicleSizeComparisonTop span{
  color:#7a4c29;
  font-size:11px;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
}
body:not(.adminPage) .vehicleSizeComparisonTop b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:#111820;
  color:#fff;
  font-size:13px;
  font-weight:950;
  line-height:1;
}
body:not(.adminPage) .vehicleSizeComparisonItems{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  align-items:end;
}
body:not(.adminPage) .vehicleSizeMini{
  min-width:0;
  opacity:.42;
  transform:translateY(2px);
  transition:opacity .18s ease, transform .18s ease;
}
body:not(.adminPage) .vehicleSizeMini.isActive{
  opacity:1;
  transform:translateY(0);
}
body:not(.adminPage) .vehicleSizeVanStage{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:48px;
  padding:0 3px 8px;
  border-bottom:2px solid rgba(17,24,32,.12);
}
body:not(.adminPage) .vehicleSizeVan{
  position:relative;
  height:28px;
  min-width:54px;
  max-width:100%;
  border-radius:9px 14px 6px 5px;
  background:linear-gradient(180deg,#c7c1b8 0%,#a9a196 100%);
  box-shadow:0 8px 18px rgba(25,22,18,.14);
}
body:not(.adminPage) .vehicleSizeMini.isActive .vehicleSizeVan{
  height:32px;
  background:linear-gradient(180deg,#1d242b 0%,#101418 72%,#7a4c29 100%);
  box-shadow:0 14px 28px rgba(22,18,14,.22);
}
body:not(.adminPage) .vehicleSizeVan::before{
  content:"";
  position:absolute;
  left:10%;
  top:-8px;
  width:42%;
  height:10px;
  border-radius:9px 9px 2px 2px;
  background:inherit;
  filter:brightness(1.05);
}
body:not(.adminPage) .vehicleSizeVan::after{
  content:"";
  position:absolute;
  right:-1px;
  bottom:0;
  width:24%;
  height:64%;
  border-radius:3px 13px 5px 1px;
  background:rgba(255,255,255,.18);
  clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);
}
body:not(.adminPage) .vehicleSizeVanCab,
body:not(.adminPage) .vehicleSizeVanWindow,
body:not(.adminPage) .vehicleSizeVanWheel{
  position:absolute;
  display:block;
}
body:not(.adminPage) .vehicleSizeVanCab{
  right:8%;
  top:8px;
  width:16%;
  height:9px;
  border-radius:2px 7px 2px 2px;
  background:rgba(255,255,255,.55);
}
body:not(.adminPage) .vehicleSizeMini.isActive .vehicleSizeVanCab{
  background:rgba(255,255,255,.78);
}
body:not(.adminPage) .vehicleSizeVanWindow{
  left:18%;
  top:9px;
  width:31%;
  height:8px;
  border-radius:3px;
  background:rgba(255,255,255,.36);
}
body:not(.adminPage) .vehicleSizeMini.isActive .vehicleSizeVanWindow{
  background:rgba(255,255,255,.62);
}
body:not(.adminPage) .vehicleSizeVanWheel{
  bottom:-5px;
  width:11px;
  height:11px;
  border-radius:999px;
  background:#13181d;
  border:2px solid #f4eee6;
}
body:not(.adminPage) .vehicleSizeVanWheelFront{right:12%;}
body:not(.adminPage) .vehicleSizeVanWheelRear{left:13%;}
body:not(.adminPage) .vehicleSizeMiniCopy{
  min-height:43px;
  padding-top:8px;
  text-align:center;
}
body:not(.adminPage) .vehicleSizeMiniCopy strong,
body:not(.adminPage) .vehicleSizeMiniCopy span{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body:not(.adminPage) .vehicleSizeMiniCopy strong{
  color:#111820;
  font-size:12px;
  font-weight:950;
  line-height:1.1;
}
body:not(.adminPage) .vehicleSizeMiniCopy span{
  margin-top:3px;
  color:#6b737a;
  font-size:10px;
  font-weight:850;
  line-height:1.1;
}
body:not(.adminPage) .vehicleSizeMini.isActive .vehicleSizeMiniCopy span{
  color:#7a4c29;
}
body:not(.adminPage) .vehicleSizeRuler{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(17,24,32,.08);
  color:#7b838a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.02em;
}
body:not(.adminPage) .vehicleSizeCards .vehicleSizeDecisionCard.selected .vehicleSizeComparison{
  border-color:rgba(19,147,75,.34);
  box-shadow:0 0 0 4px rgba(19,147,75,.08), inset 0 1px 0 rgba(255,255,255,.8);
}

/* 1.1.37 – Die Erklärung bleibt als Overlay vollständig innerhalb der Card.
   Höhe und Raster bleiben maßhaltig; das Overlay kann keine Nachbarkarte überdecken. */
body:not(.adminPage) .card.unavailableCard{
  position:relative;
  overflow:hidden;
  cursor:help;
  border-color:rgba(38,45,52,.12);
  background:rgba(255,255,255,.46);
  box-shadow:none;
  color:rgba(37,43,49,.64);
}
body:not(.adminPage) .card.unavailableCard:hover,
body:not(.adminPage) .card.unavailableCard:focus-within{
  transform:none;
  border-color:rgba(57,66,75,.22);
  background:rgba(255,255,255,.62);
  box-shadow:0 8px 24px rgba(23,31,38,.06);
  outline:none;
}
body:not(.adminPage) .card.unavailableCard .cardImage,
body:not(.adminPage) .card.unavailableCard .iconBubble,
body:not(.adminPage) .card.unavailableCard .vehicleSizeComparison{
  filter:grayscale(.88);
  opacity:.38;
}
body:not(.adminPage) .card.unavailableCard h3,
body:not(.adminPage) .card.unavailableCard p{
  color:rgba(37,43,49,.60);
}
body:not(.adminPage) .card.unavailableCard .tag,
body:not(.adminPage) .card.unavailableCard .cardFactGrid span{
  border-color:rgba(49,57,65,.10);
  background:rgba(244,246,247,.48);
  color:rgba(56,64,72,.50);
}
body:not(.adminPage) .card.unavailableCard .cardFit,
body:not(.adminPage) .card.unavailableCard .cardAdviceNote,
body:not(.adminPage) .card.unavailableCard .cardSalesHint{
  opacity:.52;
}
body:not(.adminPage) .card.unavailableCard .cardCheck{
  display:none;
}
body:not(.adminPage) .unavailableStatus{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  padding-top:14px;
  border:0;
  background:transparent;
  color:rgba(69,77,85,.68);
  font:inherit;
  font-size:13px;
  line-height:1.35;
  font-weight:750;
  text-align:left;
  cursor:help;
}
body:not(.adminPage) .unavailableStatus span{
  font-size:15px;
}
body:not(.adminPage) .unavailableStatus:focus-visible{
  outline:2px solid rgba(92,101,112,.34);
  outline-offset:4px;
  border-radius:6px;
}
.unavailableCardOverlay[hidden]{
  display:none;
}
.unavailableCardOverlay{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  align-items:center;
  padding:26px 24px 22px;
  border-radius:inherit;
  background:rgba(249,250,250,.91);
  box-shadow:inset 0 0 0 1px rgba(43,51,58,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  color:#293038;
  cursor:default;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.unavailableOverlayContent{
  width:100%;
}
.unavailableOverlayClose{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:rgba(32,40,48,.06);
  color:#4c555e;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.unavailableOverlayKicker{
  display:block;
  margin:0 40px 7px 0;
  color:#8a6549;
  font-size:11px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.unavailableCardOverlay h4{
  margin:0 36px 10px 0;
  color:#20262c;
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.015em;
}
.unavailableCardOverlay p{
  margin:0;
  color:#444d56;
  font-size:14px;
  line-height:1.5;
}
.unavailableOverlayHint{
  display:block;
  margin-top:7px;
  color:#69727b;
  font-size:12px;
  line-height:1.45;
}
.unavailableOverlayAction{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  margin-top:16px;
  padding:9px 14px;
  border:1px solid rgba(120,84,58,.2);
  border-radius:11px;
  background:#8b674d;
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.unavailableOverlayAction:hover{
  background:#75543c;
}
.unavailableOverlayClose:focus-visible,
.unavailableOverlayAction:focus-visible{
  outline:3px solid rgba(139,103,77,.24);
  outline-offset:2px;
}
body:not(.adminPage) .card.unavailableCard.hasUnavailableOverlay{
  border-color:rgba(90,67,50,.18);
}

/* 1.1.40 – Das Erklärungs-Overlay belegt bewusst nur den mittleren
   Card-Bereich. Oben und unten bleibt die ursprüngliche Card sichtbar;
   80 % Deckkraft lässt den Karteninhalt deutlicher durchscheinen. */
.unavailableCardOverlay{
  inset:clamp(72px, 22%, 132px) 0;
  border-radius:0;
  background:rgba(249,250,250,.80);
  box-shadow:
    0 -1px 0 rgba(43,51,58,.08),
    0 1px 0 rgba(43,51,58,.08);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
@media(max-width:1180px){
  body:not(.adminPage) .vehicleSizeComparisonItems{
    gap:12px;
  }
}
@media(max-width:720px){
  .unavailableCardOverlay{
    inset:clamp(52px, 14%, 84px) 0;
    padding:24px 20px 20px;
  }
  body:not(.adminPage) .vehicleSizeComparison{
    padding:13px 12px 11px;
  }
  body:not(.adminPage) .vehicleSizeVanStage{
    min-height:42px;
  }
  body:not(.adminPage) .vehicleSizeVan{
    height:25px;
    min-width:46px;
  }
  body:not(.adminPage) .vehicleSizeMini.isActive .vehicleSizeVan{
    height:29px;
  }
}

/* CMB Konfigurator 1.0.98 – Bugreport-Detailansicht */
.bugReportDetailPage{max-width:1500px;padding-top:32px}
.bugReportDetailHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.bugReportBackLink{display:inline-flex;align-items:center;color:#7a5a40;text-decoration:none;font-size:13px;font-weight:850;margin-bottom:12px}
.bugReportBackLink:hover{text-decoration:underline}
.bugReportDetailHeader h1{font-size:clamp(30px,3vw,44px);line-height:1;margin:0 0 8px}
.bugReportHeaderMeta{margin:0;color:var(--muted);font-size:13px}
.bugReportDetailHeader .statusBadge{flex:0 0 auto;margin-bottom:2px}
.bugReportDetailGrid{display:grid;grid-template-columns:minmax(340px,440px) minmax(0,1fr);gap:22px;align-items:start}
.bugReportSidebar{display:grid;gap:22px}
.bugReportCard,.bugReportScreenshotCard{padding:26px}
.bugReportSectionHeading{margin-bottom:18px}
.bugReportSectionKicker{display:block;margin-bottom:6px;color:#8e684b;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.bugReportSectionHeading h2,.bugReportScreenshotHeader h2{margin:0;font-size:22px;letter-spacing:-.03em}
.bugReportDescription{white-space:pre-wrap;margin:0 0 24px;padding:16px 18px;border:1px solid #ebe6de;border-radius:16px;background:#fbfaf8;font-size:15px;line-height:1.55}
.bugReportMetaList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--line)}
.bugReportMetaList>div{min-width:0;padding:16px 12px 16px 0;border-bottom:1px solid var(--line)}
.bugReportMetaList>div:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
.bugReportMetaList .bugReportMetaWide{grid-column:1/-1;padding-left:0;border-left:0}
.bugReportMetaList dt{margin-bottom:6px;color:#7a828b;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.bugReportMetaList dd{margin:0;min-width:0;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.bugReportMetaList dd span{color:var(--muted)}
.bugReportMetaList a{color:#7a5a40;font-weight:750}
.bugReportForm{display:grid;gap:16px}
.bugReportForm label{display:grid;gap:7px;color:#343a41;font-size:13px;font-weight:850}
.bugReportForm select,.bugReportForm textarea{width:100%;border:1px solid var(--line2);border-radius:13px;background:#fff;padding:12px 13px;color:var(--text);font:inherit}
.bugReportForm textarea{min-height:128px;resize:vertical;line-height:1.45}
.bugReportForm select:focus,.bugReportForm textarea:focus{outline:3px solid rgba(181,139,105,.18);border-color:#b58b69}
.bugReportSaveButton{width:100%;min-height:44px}
.bugReportScreenshotCard{min-width:0;position:sticky;top:20px}
.bugReportScreenshotHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.bugReportResolution{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:#fbfaf8;padding:7px 10px;color:#68707a;font-size:12px;font-weight:800;white-space:nowrap}
.bugReportScreenshotLink{position:relative;display:block;overflow:hidden;border:1px solid #e5e0d8;border-radius:18px;background:#f1efeb;box-shadow:0 14px 34px rgba(15,23,42,.09)}
.bugReportScreenshotLink img{display:block;width:100%;height:auto}
.bugReportScreenshotLink>span{position:absolute;right:14px;bottom:14px;padding:9px 12px;border-radius:999px;background:rgba(17,24,32,.88);color:#fff;font-size:12px;font-weight:850;opacity:0;transform:translateY(4px);transition:.18s ease}
.bugReportScreenshotLink:hover>span,.bugReportScreenshotLink:focus-visible>span{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.bugReportDetailGrid{grid-template-columns:1fr}.bugReportSidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.bugReportScreenshotCard{position:static}}
@media(max-width:760px){.bugReportDetailHeader{align-items:flex-start;flex-direction:column}.bugReportSidebar{grid-template-columns:1fr}.bugReportMetaList{grid-template-columns:1fr}.bugReportMetaList>div:nth-child(even){padding-left:0;border-left:0}.bugReportMetaList .bugReportMetaWide{grid-column:auto}.bugReportScreenshotHeader{align-items:flex-start;flex-direction:column}.bugReportCard,.bugReportScreenshotCard{padding:20px}.bugReportScreenshotLink>span{display:none}}
.bugReportDetailPage .statusBadge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900;line-height:1}
.bugReportDetailPage .statusBadge.red{background:#fff0ee;color:#ad3d31;border:1px solid #f0c8c2}
.bugReportDetailPage .statusBadge.yellow{background:#fff8df;color:#896800;border:1px solid #eadb9e}
.bugReportDetailPage .statusBadge.green{background:#eaf8ef;color:#187544;border:1px solid #bfe4cd}
.bugReportDetailPage .adminNotice{margin-bottom:20px;border-radius:14px;padding:13px 15px;font-size:13px;font-weight:800}
.bugReportDetailPage .adminNotice.success{background:#eaf8ef;color:#187544;border:1px solid #bfe4cd}
.bugReportDetailPage .adminButton{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:13px;background:#111820;color:#fff;padding:11px 16px;font:inherit;font-size:13px;font-weight:900;text-decoration:none;box-shadow:0 8px 18px rgba(17,24,32,.16);transition:.15s ease}
.bugReportDetailPage .adminButton:hover{background:#26313d;transform:translateY(-1px)}

/* CMB Konfigurator 1.1.55 – einzeilige Admin-Navigation */
.adminHeaderV2{
  min-height:76px;
  gap:16px;
  align-items:center;
  padding:12px 22px;
}
.adminBrandBlock{display:grid;gap:3px;min-width:200px;flex:0 0 auto}
.adminBrandBlock strong{font-size:14px;letter-spacing:.01em}
.adminBrandBlock span{font-size:11px;color:#96a0aa;font-weight:750}
.adminNavV2{display:flex;align-items:center;gap:14px;flex:1 1 auto;min-width:0}
.adminNavPrimary{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;padding-bottom:2px}
.adminNavPrimary::-webkit-scrollbar{height:6px}
.adminNavPrimary::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:999px}
.adminMenu,.adminMenuDirect{position:relative;flex:0 0 auto}
.adminMenu summary,.adminMenuDirect{
  list-style:none;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  min-height:48px;
  padding:10px 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  text-decoration:none;
  color:#edf2f6;
  transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.adminMenu summary::-webkit-details-marker{display:none}
.adminMenu summary:hover,.adminMenuDirect:hover,.adminMenu[open] summary,.adminMenu.isActive summary,.adminMenuDirect.isActive{background:rgba(212,176,135,.14);border-color:rgba(212,176,135,.32);box-shadow:0 10px 28px rgba(8,12,18,.20)}
.adminMenu summary strong,.adminMenuDirect strong{font-size:13px;line-height:1;color:inherit}
.adminMenuGroupLabel{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8f99a3;font-weight:900}
.adminMenu[open] .adminMenuGroupLabel,.adminMenu.isActive .adminMenuGroupLabel,.adminMenuDirect.isActive .adminMenuGroupLabel{color:#d4b087}
.adminMenuSummary{cursor:pointer}
.adminMenuSummary::after{content:"▾";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;color:#8f99a3}
.adminMenu[open] .adminMenuSummary::after{transform:translateY(-50%) rotate(180deg)}
.adminMenuPanel{position:absolute;top:calc(100% + 10px);left:0;min-width:220px;padding:8px;border-radius:18px;background:#fff;border:1px solid #e6ebf0;box-shadow:0 18px 42px rgba(17,24,32,.14);display:grid;gap:4px;z-index:60}
.adminMenuPanel a{display:flex;align-items:center;min-height:40px;padding:10px 12px;border-radius:12px;color:#1a2632;text-decoration:none;font-size:13px;font-weight:800;white-space:normal}
.adminMenuPanel a:hover,.adminMenuPanel a.active{background:#f5f8fb;color:#173657}
.adminNavActions{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}
.adminHeader .adminNavActions .adminNavGhost,.adminHeader .adminNavActions .adminNavLogout{margin-left:0;color:#dce5ec;text-decoration:none;font-size:12px;font-weight:900;border-radius:14px;padding:11px 13px;line-height:1;border:1px solid rgba(255,255,255,.08)}
.adminHeader .adminNavActions .adminNavGhost{background:rgba(255,255,255,.06)}
.adminHeader .adminNavActions .adminNavLogout{background:rgba(181,78,65,.22);color:#fff}
@media(max-width:980px){
  .adminHeaderV2{align-items:flex-start;flex-direction:column}
  .adminBrandBlock{min-width:0}
  .adminNavV2{width:100%;align-items:flex-start;flex-direction:column}
  .adminNavPrimary{width:100%;padding-bottom:6px}
  .adminNavActions{width:100%;justify-content:flex-start;margin-left:0}
}
@media(max-width:560px){
  .adminMenu summary,.adminMenuDirect{min-height:46px;padding:10px 12px}
}

/* CMB Konfigurator 1.1.56 – Hotfix Admin-Navigation
   Dropdowns dürfen nicht in einem Scrollcontainer liegen, da sie sonst abgeschnitten werden. */
@media (min-width:981px){
  .adminHeaderV2{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    overflow:visible;
    min-height:72px;
    padding:10px 20px;
  }
  .adminBrandBlock{min-width:190px;max-width:230px;flex:0 0 auto}
  .adminNavV2{
    display:flex;
    flex:1 1 auto;
    min-width:0;
    width:auto;
    align-items:center;
    flex-direction:row;
    flex-wrap:nowrap;
    gap:10px;
    overflow:visible;
    padding:0;
  }
  .adminNavPrimary{
    display:flex;
    flex:1 1 auto;
    min-width:0;
    align-items:center;
    flex-direction:row;
    flex-wrap:nowrap;
    gap:6px;
    overflow:visible;
    white-space:nowrap;
    padding:0;
  }
  .adminMenu,.adminMenuDirect{position:relative;flex:0 0 auto;margin:0}
  .adminMenu summary,.adminMenuDirect{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:10px 13px;
    border-radius:13px;
    font-size:12px;
    line-height:1;
    font-weight:900;
    white-space:nowrap;
  }
  .adminMenuSummary{padding-right:30px!important}
  .adminMenuSummary::after{right:11px}
  .adminMenuPanel{
    position:absolute;
    top:calc(100% + 9px);
    left:0;
    min-width:220px;
    max-width:300px;
    z-index:1000;
  }
  .adminNavActions{display:flex;align-items:center;gap:7px;flex:0 0 auto;margin-left:auto;overflow:visible}
  .adminHeader .adminNavActions .adminNavGhost,.adminHeader .adminNavActions .adminNavLogout{padding:10px 12px;white-space:nowrap}
}
@media (min-width:981px) and (max-width:1280px){
  .adminBrandBlock{min-width:160px;max-width:185px}
  .adminBrandBlock span{display:none}
  .adminMenu summary,.adminMenuDirect{padding:9px 10px;font-size:11px}
  .adminMenuSummary{padding-right:26px!important}
  .adminHeader .adminNavActions .adminNavGhost,.adminHeader .adminNavActions .adminNavLogout{padding:9px 10px;font-size:11px}
}
@media (max-width:980px){
  .adminHeaderV2{overflow:visible}
  .adminNavV2,.adminNavPrimary{overflow:visible!important}
  .adminNavPrimary{display:flex;flex-wrap:wrap;gap:8px}
  .adminMenuPanel{position:static;min-width:0;width:100%;margin-top:6px;box-shadow:none}
}

/* Konfigurations-Beratung 1.2.1 */
.configTechnicalId{margin:4px 0 0;color:var(--muted,#6d737c);font-size:12px}
.configurationRequestPanel{margin:26px 0;border-top:1px solid #e8e1d8;padding-top:22px}
.configurationRequestHead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.configurationRequestHead h3{margin:3px 0 0}.configurationRequestHead>strong{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e4f8ec;color:#176b42}
.configurationRequestList{display:grid;gap:11px}.configurationRequestCard{border:1px solid #e6ded4;border-radius:16px;background:#fbfaf8;padding:15px;display:grid;gap:12px}.configurationRequestCard.requestStatus-open{border-left:4px solid #df9c2d}.configurationRequestCard.requestStatus-processing{border-left:4px solid #397cc5}.configurationRequestCard.requestStatus-done{border-left:4px solid #23a764}.configurationRequestCard.requestStatus-cancelled{opacity:.72}
.configurationRequestCardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.configurationRequestCardTop>div{display:grid;gap:3px}.configurationRequestCardTop span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8a6b4e;font-weight:850}.configurationRequestCardTop strong{font-size:15px}.configurationRequestCardTop small{font-size:11px;color:#747a82}.configurationRequestCardTop select{width:auto;min-width:150px}.configurationRequestCard label{font-size:12px;font-weight:750}.configurationRequestCard textarea{width:100%;margin-top:5px}.configurationRequestCard>button{justify-self:start}
.tableTechnicalId,.configurationsTableWrap td>small{display:block;margin-top:3px;font-size:10px;color:#777}.configurationsTableWrap td>strong{display:block;font-size:12px}
@media(max-width:760px){.configurationRequestCardTop{display:grid}.configurationRequestCardTop select{width:100%}.configurationRequestCard>button{width:100%}}

/* CMB Konfigurator 1.2.9 – einheitlich lesbare Detail-Buttons
   Gilt in allen Kundenkarten, auch wenn die Karte selbst gehovert oder ausgewählt ist. */
body:not(.adminPage) .detailButton,
body:not(.adminPage) .moduleCard .detailButton,
body:not(.adminPage) .furtherModuleCard .detailButton,
body:not(.adminPage) .includedAddonCard .detailButton,
body:not(.adminPage) .includedSummaryAction .detailButton,
body:not(.adminPage) .includedFurnitureActions .detailButton,
body:not(.adminPage) .includedLayoutAccordion .detailButton {
  background:#ffffff !important;
  color:#111820 !important;
  border-color:rgba(17,24,32,.16) !important;
  box-shadow:0 6px 16px rgba(15,23,42,.08) !important;
}
body:not(.adminPage) .detailButton:hover,
body:not(.adminPage) .detailButton:focus-visible,
body:not(.adminPage) .moduleCard:hover .detailButton,
body:not(.adminPage) .furtherModuleCard:hover .detailButton,
body:not(.adminPage) .includedAddonCard:hover .detailButton,
body:not(.adminPage) .includedLayoutAccordion .detailButton:hover,
body:not(.adminPage) .includedFurnitureActions .detailButton:hover {
  background:#f3f5f6 !important;
  color:#111820 !important;
  border-color:#8f9aa4 !important;
  box-shadow:0 8px 20px rgba(15,23,42,.12) !important;
}
body:not(.adminPage) .detailButton:focus-visible {
  outline:3px solid rgba(32,191,99,.28) !important;
  outline-offset:2px;
}
body:not(.adminPage) .detailButton:active {
  background:#e9edef !important;
  color:#111820 !important;
  border-color:#6f7b85 !important;
  transform:translateY(0) !important;
}
body:not(.adminPage) .detailButton:disabled,
body:not(.adminPage) .detailButton[aria-disabled="true"] {
  background:#f4f4f2 !important;
  color:#68717a !important;
  border-color:#d8dcdf !important;
  opacity:1;
  cursor:not-allowed;
}

/* CMB Konfigurator 1.4.4 – emotionale Einstiegsauswahl
   Drei klar getrennte Ausbauwege: Vollausbau, Teilausbau sowie Möbel & Zubehör.
   Die gesamte Karte bleibt klickbar; Text und Aktionen bleiben auch bei Hover vollständig sichtbar. */
body:not(.adminPage).homeStart .startDecisionIntro{
  margin-top:4px;
  margin-bottom:18px;
}
body:not(.adminPage).homeStart .startDecisionIntro .sectionKicker{
  margin-bottom:7px;
  color:#9b6a42;
  font-size:10px;
  letter-spacing:.14em;
}
body:not(.adminPage).homeStart .startDecisionIntro h2{
  margin-bottom:6px;
  font-size:clamp(30px,2.8vw,44px);
}
body:not(.adminPage).homeStart .startDecisionIntro p{
  max-width:760px;
  font-size:15px;
  color:#66707a;
}
body:not(.adminPage).homeStart .startPathGrid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:repeat(2,minmax(205px,1fr));
  gap:18px;
  align-items:stretch;
}
body:not(.adminPage).homeStart .startPathCard{
  position:relative;
  display:block;
  min-width:0;
  min-height:205px;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  cursor:pointer;
  color:#fff;
  background:#111820;
  border:1px solid rgba(17,24,32,.14);
  border-radius:22px;
  box-shadow:0 16px 42px rgba(17,24,32,.13);
  transform:translateZ(0);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
body:not(.adminPage).homeStart .startPathCardPrimary{
  grid-row:1 / span 2;
  min-height:428px;
  border-color:rgba(193,139,84,.72);
  box-shadow:0 18px 48px rgba(17,24,32,.17),0 0 0 2px rgba(205,154,98,.12);
}
body:not(.adminPage).homeStart .startPathCard:hover,
body:not(.adminPage).homeStart .startPathCard:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(193,139,84,.72);
  box-shadow:0 24px 58px rgba(17,24,32,.20),0 0 0 3px rgba(205,154,98,.12);
  outline:none;
}
body:not(.adminPage).homeStart .startPathImage{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .5s cubic-bezier(.2,.75,.2,1),filter .35s ease;
}
body:not(.adminPage).homeStart .startPathCardPrimary .startPathImage{object-position:center 48%}
body:not(.adminPage).homeStart .startPathCardPartial .startPathImage{object-position:center 42%}
body:not(.adminPage).homeStart .startPathCardModules .startPathImage{object-position:center}
body:not(.adminPage).homeStart .startPathCard:hover .startPathImage,
body:not(.adminPage).homeStart .startPathCard:focus-visible .startPathImage{
  transform:scale(1.035);
  filter:saturate(1.04) contrast(1.02);
}
body:not(.adminPage).homeStart .startPathShade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(8,12,17,.08) 8%,rgba(8,12,17,.22) 42%,rgba(8,12,17,.90) 100%),
    linear-gradient(90deg,rgba(8,12,17,.62),rgba(8,12,17,.05) 74%);
  transition:background .22s ease;
}
body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) .startPathShade{
  background:linear-gradient(90deg,rgba(8,12,17,.94) 0%,rgba(8,12,17,.75) 42%,rgba(8,12,17,.14) 100%);
}
body:not(.adminPage).homeStart .startPathCard:hover .startPathShade,
body:not(.adminPage).homeStart .startPathCard:focus-visible .startPathShade{
  background:
    linear-gradient(180deg,rgba(8,12,17,.10) 8%,rgba(8,12,17,.25) 42%,rgba(8,12,17,.93) 100%),
    linear-gradient(90deg,rgba(8,12,17,.68),rgba(8,12,17,.08) 74%);
}
body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary):hover .startPathShade,
body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary):focus-visible .startPathShade{
  background:linear-gradient(90deg,rgba(8,12,17,.96) 0%,rgba(8,12,17,.79) 44%,rgba(8,12,17,.18) 100%);
}
body:not(.adminPage).homeStart .startPathContent{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  width:100%;
  height:100%;
  min-height:inherit;
  padding:20px;
}
body:not(.adminPage).homeStart .startPathCardPrimary .startPathContent{padding:22px 24px 24px}
body:not(.adminPage).homeStart .startPathBadge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  align-self:flex-start;
  min-height:32px;
  padding:7px 12px;
  color:#211810;
  background:#f0c98f;
  border:1px solid rgba(255,255,255,.38);
  border-radius:10px;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  font-size:11px;
  font-weight:950;
}
body:not(.adminPage).homeStart .startPathBadge svg{width:14px;height:14px;flex:0 0 14px}
body:not(.adminPage).homeStart .startPathCopy{
  width:min(100%,620px);
  margin-top:auto;
  text-shadow:0 2px 16px rgba(0,0,0,.42);
}
body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) .startPathCopy{
  width:min(64%,440px);
}
body:not(.adminPage).homeStart .startPathCard h3{
  margin:0 0 4px;
  color:#fff;
  font-size:clamp(24px,2vw,34px);
  line-height:1.02;
  letter-spacing:-.045em;
}
body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) h3{
  font-size:clamp(22px,1.6vw,29px);
}
body:not(.adminPage).homeStart .startPathSubtitle{
  display:block;
  margin:0 0 11px;
  color:rgba(255,255,255,.92);
  font-size:15px;
  line-height:1.35;
  font-weight:800;
}
body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) .startPathSubtitle{
  margin-bottom:7px;
  font-size:13px;
}
body:not(.adminPage).homeStart .startPathCard p{
  margin:0 0 15px;
  max-width:570px;
  color:rgba(255,255,255,.84);
  font-size:14px;
  line-height:1.48;
}
body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) p{
  margin-bottom:10px;
  font-size:12.5px;
  line-height:1.42;
}
body:not(.adminPage).homeStart .startPathAction{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:max-content;
  min-width:170px;
  min-height:44px;
  padding:0 15px;
  color:#2c2118;
  background:#efc892;
  border:1px solid rgba(255,255,255,.32);
  border-radius:11px;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  text-shadow:none;
  font-size:12px;
  font-weight:950;
  transition:background .18s ease,transform .18s ease;
}
body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) .startPathAction{
  min-width:146px;
  min-height:39px;
  padding:0 13px;
  background:#fffaf4;
  font-size:11px;
}
body:not(.adminPage).homeStart .startPathAction b{font-size:18px;line-height:1;font-weight:700}
body:not(.adminPage).homeStart .startPathCard:hover .startPathAction,
body:not(.adminPage).homeStart .startPathCard:focus-visible .startPathAction{
  transform:translateX(2px);
  background:#f5d6a8;
}
body:not(.adminPage).homeStart .uncertaintyCta{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  min-height:84px;
  margin-top:18px;
  padding:14px 18px;
  background:linear-gradient(90deg,#fffaf4,#fffdf9);
  border:1px solid #ead9c3;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(17,24,32,.05);
}
body:not(.adminPage).homeStart .uncertaintyIcon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  color:#fff;
  background:#ddb786;
  border-radius:999px;
}
body:not(.adminPage).homeStart .uncertaintyIcon svg{width:24px;height:24px}
body:not(.adminPage).homeStart .uncertaintyCopy strong{
  margin:0 0 4px;
  color:#111820;
  font-size:16px;
  line-height:1.25;
}
body:not(.adminPage).homeStart .uncertaintyCopy span{
  color:#6e7780;
  font-size:13px;
  line-height:1.4;
}
body:not(.adminPage).homeStart .uncertaintyCta button{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-width:190px;
  min-height:44px;
  padding:0 16px;
  color:#3a2b20;
  background:#fbf0e2;
  border:1px solid #e7d2b8;
  border-radius:11px;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
body:not(.adminPage).homeStart .uncertaintyCta button:hover,
body:not(.adminPage).homeStart .uncertaintyCta button:focus-visible{
  transform:translateY(-1px);
  background:#f5e3cc;
  border-color:#d8b98f;
  outline:none;
}
body:not(.adminPage).homeStart .uncertaintyCta button b{font-size:18px;line-height:1}

@media(max-width:1120px){
  body:not(.adminPage).homeStart .startPathGrid{
    grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);
    grid-template-rows:repeat(2,minmax(190px,1fr));
  }
  body:not(.adminPage).homeStart .startPathCardPrimary{min-height:398px}
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) .startPathCopy{width:min(72%,430px)}
}
@media(max-width:820px){
  body:not(.adminPage).homeStart .startPathGrid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:14px;
  }
  body:not(.adminPage).homeStart .startPathCardPrimary{
    grid-row:auto;
    min-height:390px;
  }
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary){min-height:250px}
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) .startPathCopy{width:min(68%,480px)}
  body:not(.adminPage).homeStart .uncertaintyCta{grid-template-columns:44px minmax(0,1fr)}
  body:not(.adminPage).homeStart .uncertaintyCta button{grid-column:1 / -1;width:100%}
}
@media(max-width:560px){
  body:not(.adminPage).homeStart .startDecisionIntro h2{font-size:30px}
  body:not(.adminPage).homeStart .startDecisionIntro p{font-size:14px}
  body:not(.adminPage).homeStart .startPathCard,
  body:not(.adminPage).homeStart .startPathCardPrimary{
    min-height:330px;
    border-radius:20px;
  }
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary){min-height:300px}
  body:not(.adminPage).homeStart .startPathContent,
  body:not(.adminPage).homeStart .startPathCardPrimary .startPathContent{padding:18px}
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) .startPathCopy{width:100%}
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) .startPathShade{
    background:linear-gradient(180deg,rgba(8,12,17,.14) 0%,rgba(8,12,17,.35) 38%,rgba(8,12,17,.94) 100%);
  }
  body:not(.adminPage).homeStart .startPathCard h3,
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) h3{font-size:27px}
  body:not(.adminPage).homeStart .startPathSubtitle,
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) .startPathSubtitle{font-size:14px}
  body:not(.adminPage).homeStart .startPathCard p,
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) p{font-size:13px}
  body:not(.adminPage).homeStart .startPathAction,
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) .startPathAction{width:100%;min-width:0}
  body:not(.adminPage).homeStart .uncertaintyCta{grid-template-columns:40px minmax(0,1fr);padding:14px}
  body:not(.adminPage).homeStart .uncertaintyIcon{width:40px;height:40px}
  body:not(.adminPage).homeStart .uncertaintyCopy strong{font-size:15px}
}


/* CMB Konfigurator 1.4.5 – Orientierungsseite, direkter Möbelweg und leere Startnavigation */
body:not(.adminPage).homeStart .bottomNav,
body:not(.adminPage).orientationPage .bottomNav{
  display:none !important;
}
body:not(.adminPage).homeStart .main,
body:not(.adminPage).orientationPage .main{
  padding-bottom:52px !important;
}

body:not(.adminPage).orientationPage .main{
  max-width:1380px;
  padding-top:34px;
}
.orientationHero{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
  gap:22px;
  align-items:stretch;
  margin-bottom:30px;
}
.orientationHeroCopy,
.orientationFreedom{
  border-radius:28px;
  border:1px solid #e7dfd5;
  box-shadow:0 18px 48px rgba(17,24,32,.08);
}
.orientationHeroCopy{
  padding:38px 40px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(221,183,134,.30),transparent 34%),
    linear-gradient(135deg,#111820 0%,#242d36 100%);
}
.orientationHeroCopy .sectionKicker{
  margin-bottom:10px;
  color:#e9bf85;
}
.orientationHeroCopy h1{
  margin:0 0 16px;
  max-width:920px;
  color:#fff;
  font-size:clamp(38px,4.4vw,66px);
  line-height:1.02;
  letter-spacing:-.055em;
}
.orientationHeroCopy p{
  margin:0;
  max-width:820px;
  color:rgba(255,255,255,.78);
  font-size:17px;
  line-height:1.6;
}
.orientationFreedom{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px;
  background:linear-gradient(145deg,#fff8ef,#fffdf9);
}
.orientationFreedom>strong{
  margin-bottom:9px;
  color:#171c22;
  font-size:26px;
  letter-spacing:-.035em;
}
.orientationFreedom>span{
  color:#606a73;
  font-size:15px;
  line-height:1.55;
}
.orientationFreedomFacts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:22px;
}
.orientationFreedomFacts span{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:9px 11px;
  color:#4f3a28;
  background:#fff;
  border:1px solid #ead8c1;
  border-radius:12px;
  font-size:12px;
  font-weight:850;
}

.orientationPathSection,
.orientationProcess,
.orientationClosing{
  margin-top:26px;
}
.orientationSectionHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:18px;
}
.orientationSectionHead h2{
  margin:4px 0 0;
  font-size:clamp(28px,3vw,44px);
  line-height:1.06;
  letter-spacing:-.045em;
}
.orientationSectionHead p{
  max-width:850px;
  margin:10px 0 0;
  color:#69727b;
  font-size:15px;
  line-height:1.55;
}
.orientationBackLink,
.orientationSecondaryAction{
  min-height:42px;
  padding:0 15px;
  color:#303841;
  background:#fff;
  border:1px solid #dcdfe2;
  border-radius:12px;
  font-weight:850;
  cursor:pointer;
}
.orientationBackLink:hover,
.orientationBackLink:focus-visible,
.orientationSecondaryAction:hover,
.orientationSecondaryAction:focus-visible{
  border-color:#b78a5e;
  background:#fff9f1;
  outline:none;
}

.orientationPathList{
  display:grid;
  gap:20px;
}
.orientationPathCard{
  display:grid;
  grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);
  min-height:360px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e6dfd5;
  border-radius:26px;
  box-shadow:0 16px 44px rgba(17,24,32,.08);
}
.orientationPathMedia{
  position:relative;
  min-height:360px;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
}
.orientationPathMedia img{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
}
.orientationPathMedia>span{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(6,10,14,.12),rgba(6,10,14,.78)),
    linear-gradient(90deg,rgba(6,10,14,.50),rgba(6,10,14,.05));
}
.orientationPathMedia>div{
  position:absolute;
  left:28px;
  right:28px;
  bottom:26px;
}
.orientationPathMedia small{
  display:block;
  margin-bottom:8px;
  color:#f2c98f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.orientationPathMedia h2{
  margin:0 0 9px;
  color:#fff;
  font-size:clamp(31px,3.2vw,49px);
  line-height:1;
  letter-spacing:-.05em;
}
.orientationPathMedia p{
  margin:0;
  max-width:620px;
  color:rgba(255,255,255,.86);
  font-size:14px;
  line-height:1.5;
}
.orientationPathBody{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-content:center;
  padding:30px 32px;
}
.orientationPathBody section{
  min-width:0;
}
.orientationPathBody h3{
  margin:0 0 11px;
  color:#171d23;
  font-size:16px;
  letter-spacing:-.02em;
}
.orientationEditableList{
  position:relative;
  min-width:0;
}
.orientationPathBody ul{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.orientationPathBody li{
  position:relative;
  padding-left:19px;
  color:#5e6871;
  font-size:13px;
  line-height:1.45;
}
.orientationPathBody li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:7px;
  height:7px;
  background:#d2a56f;
  border-radius:999px;
}
.orientationPathAction,
.orientationPrimaryAction{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:46px;
  padding:0 17px;
  color:#2b2018;
  background:#efc892;
  border:1px solid #dfb779;
  border-radius:12px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(142,93,48,.13);
}
.orientationPathAction{
  grid-column:1 / -1;
  justify-self:start;
}
.orientationPathAction:hover,
.orientationPathAction:focus-visible,
.orientationPrimaryAction:hover,
.orientationPrimaryAction:focus-visible{
  transform:translateY(-1px);
  background:#f5d7a9;
  outline:none;
}
.orientationPathAction b,
.orientationPrimaryAction b{
  font-size:19px;
  line-height:1;
}

.orientationProcess{
  padding:30px;
  background:#f7f4ef;
  border:1px solid #e5ded4;
  border-radius:26px;
}
.orientationProcessSteps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}
.orientationProcessSteps li{
  min-height:180px;
  padding:18px;
  background:#fff;
  border:1px solid #e7e1d8;
  border-radius:18px;
}
.orientationProcessSteps li>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-bottom:16px;
  color:#fff;
  background:#182029;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
}
.orientationProcessSteps strong{
  display:block;
  margin-bottom:8px;
  color:#171d23;
  font-size:15px;
}
.orientationProcessSteps small{
  display:block;
  color:#69727b;
  font-size:12.5px;
  line-height:1.48;
}

.orientationClosing{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:30px 32px;
  background:linear-gradient(120deg,#fffaf3,#fff);
  border:1px solid #ead9c3;
  border-radius:24px;
}
.orientationClosing h2{
  margin:4px 0 8px;
  max-width:850px;
  font-size:clamp(25px,2.6vw,38px);
  line-height:1.08;
  letter-spacing:-.04em;
}
.orientationClosing p{
  margin:0;
  max-width:850px;
  color:#66707a;
  line-height:1.55;
}
.orientationClosingActions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
}

body:not(.adminPage).moduleCatalogPage .main{
  max-width:1380px;
}
body:not(.adminPage).moduleCatalogPage .pageLead{
  max-width:900px;
}

@media(max-width:1100px){
  .orientationHero{
    grid-template-columns:1fr;
  }
  .orientationPathCard{
    grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);
  }
  .orientationPathBody{
    grid-template-columns:1fr;
  }
  .orientationPathAction{
    grid-column:auto;
  }
  .orientationProcessSteps{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  body:not(.adminPage).orientationPage .main{
    padding-top:22px;
  }
  .orientationHeroCopy,
  .orientationFreedom{
    padding:24px;
    border-radius:22px;
  }
  .orientationHeroCopy h1{
    font-size:38px;
  }
  .orientationFreedomFacts{
    grid-template-columns:1fr;
  }
  .orientationSectionHead{
    display:grid;
    align-items:start;
  }
  .orientationBackLink{
    width:100%;
  }
  .orientationPathCard{
    grid-template-columns:1fr;
    border-radius:22px;
  }
  .orientationPathMedia{
    min-height:300px;
  }
  .orientationPathBody{
    padding:24px;
  }
  .orientationPathAction{
    width:100%;
  }
  .orientationProcess{
    padding:22px;
  }
  .orientationProcessSteps{
    grid-template-columns:1fr;
  }
  .orientationProcessSteps li{
    min-height:0;
  }
  .orientationClosing{
    display:grid;
    padding:24px;
  }
  .orientationClosingActions{
    display:grid;
    justify-content:stretch;
  }
  .orientationSecondaryAction,
  .orientationPrimaryAction{
    width:100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .orientationPathAction,
  .orientationPrimaryAction{
    transition:none;
  }
}

/* CMB Konfigurator 1.4.7 - emotionale Reisegruppen und getrennte Kapazitaeten */
.personBenefits{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:-8px 0 26px;
}
.personBenefits article{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:78px;
  padding:15px 16px;
  border:1px solid #ebe6dd;
  border-radius:18px;
  background:rgba(255,255,255,.74);
}
.personBenefits article>span{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#f5f0e8;
  color:#8e684b;
}
.personBenefits article>span svg{width:24px;height:24px}
.personBenefits strong,.personBenefits small{display:block}
.personBenefits strong{font-size:13px;line-height:1.2;margin-bottom:4px}
.personBenefits small{font-size:11.5px;line-height:1.35;color:#69717b}

body:not(.adminPage) .personaChoiceGrid{gap:18px;align-items:stretch}
body:not(.adminPage) .personaChoiceCard{
  min-height:560px;
  padding:0 22px 20px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border-radius:24px;
  background:#fff;
}
body:not(.adminPage) .personaChoiceCard .cardImage{
  display:block;
  width:calc(100% + 44px);
  height:220px;
  margin:0 -22px 20px;
  object-fit:cover;
  border-radius:23px 23px 0 0;
  background:#eee9e1;
}
body:not(.adminPage) .personaChoiceCard .cardBadge{
  top:16px;
  left:16px;
  right:auto;
  z-index:3;
  max-width:calc(100% - 74px);
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:999px;
  background:rgba(244,252,247,.9);
  color:#29734c;
  box-shadow:0 8px 22px rgba(21,35,28,.10);
  backdrop-filter:blur(10px);
  font-size:11px;
  font-weight:900;
}
body:not(.adminPage) .personaChoiceCard .cardCheck{
  top:16px;
  right:16px;
  z-index:4;
  width:26px;
  height:26px;
  border-color:rgba(255,255,255,.84);
  box-shadow:0 3px 14px rgba(0,0,0,.15);
}
body:not(.adminPage) .personaChoiceCard h3{
  margin:0 0 5px;
  font-size:24px;
}
body:not(.adminPage) .personaChoiceCard>p{
  min-height:42px;
  color:#5c6570;
  font-size:14px;
  font-weight:750;
}
body:not(.adminPage) .personaChoiceCard .cardSalesHint{
  margin-top:16px;
  min-height:64px;
  padding:0;
  border:0;
  background:transparent;
  color:#414a54;
  font-size:14px;
  line-height:1.52;
}
body:not(.adminPage) .personaChoiceCard .tags{margin-top:14px}
body:not(.adminPage) .personaChoiceCard .tag{
  background:#f6f2ec;
  border-color:#ece2d4;
  color:#775b43;
}
body:not(.adminPage) .personaChoiceCard .cardAdviceNote{
  margin-top:14px;
  padding:11px 12px;
  border-radius:14px;
  background:#fbf8f2;
  color:#6a5a4d;
  font-size:12px;
  line-height:1.4;
}
body:not(.adminPage) .personaChoiceCard .cardActionHint{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid #eee9e2;
  color:#8e684b;
  font-size:12px;
  font-weight:950;
}
body:not(.adminPage) .personaChoiceCard.selected{
  border-color:#65b786;
  box-shadow:0 18px 46px rgba(55,137,87,.16);
}

@media(max-width:1100px){
  .personBenefits{grid-template-columns:1fr}
  body:not(.adminPage) .personaChoiceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body:not(.adminPage) .personaChoiceCard:last-child{grid-column:1/-1;max-width:560px;width:100%;justify-self:center}
}
@media(max-width:760px){
  body:not(.adminPage) .personaChoiceGrid{grid-template-columns:1fr}
  body:not(.adminPage) .personaChoiceCard,
  body:not(.adminPage) .personaChoiceCard:last-child{grid-column:auto;max-width:none;min-height:0}
  body:not(.adminPage) .personaChoiceCard .cardImage{height:205px}
}
@media(max-width:460px){
  .personBenefits{display:none}
  body:not(.adminPage) .personaChoiceCard{padding:0 18px 18px}
  body:not(.adminPage) .personaChoiceCard .cardImage{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px;height:180px}
}

/* CMB Konfigurator 1.5.3 – Personenbereiche, Grundrissmedien und Sonderausstattungszählung */
.startAccountAccess{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin:0 0 26px;
  padding:22px 24px;
  border:1px solid #dfe7e2;
  border-radius:22px;
  background:linear-gradient(135deg,#f7fbf8,#fff 58%,#f7f2ea);
  box-shadow:0 12px 32px rgba(17,24,32,.06);
}
.startAccountAccess.is-authenticated{border-color:#bfe6cf;background:linear-gradient(135deg,#effaf3,#fff 62%,#f7f2ea)}
.startAccountAccessIcon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#e6f5ec;color:#137345}
.startAccountAccessCopy>span,.vehicleBasisGuide>div>span,.decisionOptionGroupHeader>div:first-child>span,.conceptDecisionTopbar>div>span,.conceptDecisionStory>div>span,.conceptDecisionLayouts header span,.conceptDecisionChecks>div>span{
  display:block;color:#8a6242;font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase
}
.startAccountAccessCopy h2{margin:5px 0 5px;font-size:clamp(20px,2vw,28px);line-height:1.08;letter-spacing:-.035em;color:#111820}
.startAccountAccessCopy p{margin:0;max-width:760px;color:#5a646d;font-size:13px;line-height:1.5}
.startAccountAccessCopy small{display:block;margin-top:7px;color:#427159}
.startAccountAccessActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}
.startAccountAccessActions a,.startAccountAccessActions button{appearance:none;border-radius:999px;padding:11px 16px;font:inherit;font-size:12px;font-weight:900;text-decoration:none;cursor:pointer;white-space:nowrap}
.startAccountPrimary{border:1px solid #146e43;background:#146e43;color:#fff}
.startAccountPrimary:hover{background:#0f5b37;color:#fff}
.startAccountSecondary{border:1px solid #d7dcd8;background:#fff;color:#29323a}
.startAccountAccessActions a:focus-visible,.startAccountAccessActions button:focus-visible{outline:3px solid rgba(32,169,95,.25);outline-offset:3px}

.vehicleBasisGuide{
  display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.35fr);gap:28px;align-items:center;
  margin:0 0 24px;padding:28px;border:1px solid #e8e1d7;border-radius:24px;background:#fbf8f3
}
.vehicleBasisGuide h2{margin:6px 0 10px;font-size:clamp(25px,2.8vw,38px);line-height:1.02;letter-spacing:-.05em;color:#111820}
.vehicleBasisGuide>div>p{margin:0;color:#59636d;line-height:1.55}
.vehicleBasisGuidePoints{display:grid;gap:10px}
.vehicleBasisGuidePoints article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:13px 14px;border:1px solid #e8e3dc;border-radius:16px;background:#fff}
.vehicleBasisGuidePoints article>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#edf8f1;color:#137345}
.vehicleBasisGuidePoints strong,.vehicleBasisGuidePoints small{display:block}.vehicleBasisGuidePoints strong{font-size:13px;color:#1c252d}.vehicleBasisGuidePoints small{margin-top:3px;color:#69727b;line-height:1.4}

.decisionOptionGroup{margin:8px 0 34px}
.decisionOptionGroup+.decisionOptionGroup{margin-top:46px;padding-top:38px;border-top:1px solid #ded8cf}
.decisionOptionGroupHeader{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;margin:0 0 18px}
.decisionOptionGroupHeader>div{max-width:830px}
.decisionOptionGroupHeader h2{margin:6px 0 7px;font-size:clamp(25px,2.7vw,38px);line-height:1.04;letter-spacing:-.045em;color:#111820}
.decisionOptionGroupHeader p{margin:0;color:#5e6770;line-height:1.5}
.decisionOptionGroupHeader>div:first-child>small{display:block;margin-top:9px;color:#7b654f;font-size:11px;font-weight:800}
.decisionOptionGroupHeader>strong{flex:0 0 auto;border:1px solid #d9e6dd;border-radius:999px;background:#f1f9f4;color:#176f45;padding:8px 11px;font-size:11px}
.decisionOptionGroupUnavailable{padding:32px;border-radius:26px;background:#f4f2ef}
.decisionOptionGroupUnavailable .decisionOptionGroupHeader>span{color:#6c737a}
.unavailableOptionGrid{opacity:.9}

/* Die neuen Informationskarten benötigen eine helle, lesbare Struktur statt des älteren Bild-Overlay-Stils. */
body:not(.adminPage) .vehicleStatusCards,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards,
body:not(.adminPage) .conceptCards,
body:not(.adminPage) .floorplanCards{align-items:stretch;grid-template-columns:repeat(2,minmax(0,1fr))}
body:not(.adminPage) .vehicleStatusCards .card,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .card,
body:not(.adminPage) .conceptCards .card,
body:not(.adminPage) .floorplanCards .card{
  min-height:0;padding:0 22px 22px;justify-content:flex-start;background:#fff;color:#111820;overflow:hidden
}
body:not(.adminPage) .vehicleStatusCards .card.hasImage,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .card.hasImage,
body:not(.adminPage) .conceptCards .card.hasImage,
body:not(.adminPage) .floorplanCards .card.hasImage{
  min-height:0!important;padding:0 22px 22px!important;background:#fff!important;color:#111820!important
}
body:not(.adminPage) .vehicleStatusCards .card.hasImage::after,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .card.hasImage::after,
body:not(.adminPage) .conceptCards .card.hasImage::after,
body:not(.adminPage) .floorplanCards .card.hasImage::after{display:none!important}
body:not(.adminPage) .vehicleStatusCards .cardImage,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .cardImage{
  position:relative!important;inset:auto!important;z-index:auto!important;width:calc(100% + 44px)!important;height:210px!important;aspect-ratio:auto!important;
  margin:0 -22px 20px!important;border-radius:0!important;object-fit:cover!important;transform:none!important
}
body:not(.adminPage) .vehicleStatusCards .card.hasImage h3,
body:not(.adminPage) .vehicleStatusCards .card.hasImage p,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .card.hasImage h3,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .card.hasImage p{
  position:relative;z-index:auto;color:#111820!important;text-shadow:none!important;max-width:none!important;display:block!important;overflow:visible!important
}
body:not(.adminPage) .vehicleStatusCards .card h3,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .card h3,
body:not(.adminPage) .conceptCards .card h3,
body:not(.adminPage) .floorplanCards .card h3{margin:0 34px 7px 0!important;font-size:clamp(21px,1.7vw,27px)!important;line-height:1.08!important;color:#111820!important}
body:not(.adminPage) .vehicleStatusCards .card p,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .card p,
body:not(.adminPage) .conceptCards .card p,
body:not(.adminPage) .floorplanCards .card p{min-height:0!important;margin:0;color:#5a646d!important;font-size:13.5px!important;line-height:1.5!important;text-shadow:none!important}
body:not(.adminPage) .vehicleStatusCards .cardActionHint,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .cardActionHint{display:flex!important;margin-top:auto!important;padding-top:18px!important;color:#176f45!important}
body:not(.adminPage) .vehicleStatusCards .cardBadge,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .cardBadge,
body:not(.adminPage) .conceptCards .cardBadge,
body:not(.adminPage) .floorplanCards .cardBadge{top:14px;left:14px;z-index:5;background:rgba(255,255,255,.94);color:#58412e;box-shadow:0 7px 20px rgba(17,24,32,.12)}
body:not(.adminPage) .vehicleStatusCards .cardFactGrid,
body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .cardFactGrid,
body:not(.adminPage) .conceptCards .cardFactGrid,
body:not(.adminPage) .floorplanCards .cardFactGrid{margin-top:14px}

.selectionContextCard{display:grid;grid-template-columns:minmax(260px,.92fr) minmax(0,1.08fr);gap:26px;align-items:stretch;margin:0 0 24px;padding:22px;border:1px solid #e9e1d7;border-radius:26px;background:linear-gradient(135deg,#fff,#fbf7f1 58%,#f4fbf7);box-shadow:0 12px 32px rgba(17,24,32,.06);overflow:hidden}
.selectionContextMedia{min-height:240px;border-radius:22px;overflow:hidden;background:#ede7df}.selectionContextMedia img{display:block;width:100%;height:100%;object-fit:cover}
.selectionContextCopy{display:flex;flex-direction:column;justify-content:center}.selectionContextCopy>span{display:block;color:#8a6242;font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.selectionContextCopy h2{margin:7px 0 10px;font-size:clamp(28px,3vw,40px);line-height:1.02;letter-spacing:-.05em;color:#111820}
.selectionContextCopy p{margin:0;color:#5a646d;line-height:1.58}
.selectionContextFacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.selectionContextFacts span{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #e7e0d7;color:#4e5962;font-size:11px;font-weight:850}
.selectionContextMeta{display:grid;gap:6px;margin-top:18px;padding:14px 16px;border-radius:18px;background:#111820;color:#fff}.selectionContextMeta strong{font-size:15px;letter-spacing:-.02em}.selectionContextMeta small{color:#c9d1d7;font-size:11px;line-height:1.5}
.floorplanCardVisual{position:relative;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(118px,.85fr);gap:3px;width:calc(100% + 44px);height:276px;margin:0 -22px 20px;background:#d9d4cc;overflow:hidden}
.floorplanCardVisual figure{position:relative;margin:0;min-width:0;min-height:0;overflow:hidden;background:#ece7df}
.floorplanCardVisual figure img{display:block;width:100%;height:100%;object-fit:cover}
.floorplanCardVisual figcaption{position:absolute;left:9px;bottom:9px;max-width:calc(100% - 18px);padding:6px 8px;border-radius:999px;background:rgba(8,13,18,.76);color:#fff;font-size:9px;font-weight:900;line-height:1.2;backdrop-filter:blur(8px)}
.floorplanCardPrimary{grid-row:1/span 2}.floorplanCardSecondary{display:grid;grid-template-rows:1fr 1fr;gap:3px;min-width:0;min-height:0}.floorplanCardSecondary.single{grid-template-rows:1fr}
.floorplanCardPlan img{object-fit:contain!important;background:#fff;padding:8px}.floorplanCardPlan figcaption{left:auto;right:7px;background:rgba(255,255,255,.92);color:#5d4a39}
.floorplanCardVehicle img{object-fit:cover}
.floorplanCardVisual.fallbackViews{grid-template-columns:minmax(0,1.4fr) minmax(140px,.8fr)}.floorplanCardVisual.fallbackViews .floorplanCardPrimary{grid-row:auto}.floorplanCardVisual.fallbackViews .floorplanCardSecondary{grid-template-rows:1fr}
.floorplanVehicleLabel{position:absolute;z-index:4;top:13px;left:13px;max-width:72%;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.95);color:#4c5660;font-size:10px;font-weight:900;box-shadow:0 8px 20px rgba(17,24,32,.16)}
body:not(.adminPage) .floorplanCards .card.unavailableCard .floorplanCardVisual{filter:grayscale(.88);opacity:.42}
.conceptCardVisual{position:relative;width:calc(100% + 44px);height:245px;margin:0 -22px 20px;background:#ede8e1;overflow:hidden}
.conceptCardVisual>img{display:block;width:100%;height:100%;object-fit:cover}
.conceptCardVisual.is-plan-only>img{object-fit:contain;background:#fff;padding:12px}
.conceptCardPlan{position:absolute;right:13px;bottom:13px;width:42%;height:42%;border:4px solid rgba(255,255,255,.94);border-radius:13px;background:#fff;box-shadow:0 12px 26px rgba(17,24,32,.25);overflow:hidden}
.conceptCardPlan img{width:100%;height:100%;object-fit:contain;background:#fff}
.conceptCardVisualLabel{position:absolute;left:13px;bottom:13px;max-width:48%;padding:7px 10px;border-radius:999px;background:rgba(10,15,20,.78);color:#fff;font-size:10px;font-weight:900;backdrop-filter:blur(8px)}
.conceptCardActions,.floorplanCardActions{margin-top:auto;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ebe6df}
.conceptDetailsButton,.floorplanDetailsButton{appearance:none;border:0;border-radius:999px;background:#176f45;color:#fff;padding:10px 14px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.conceptCardActions>span,.floorplanCardActions>span{max-width:180px;color:#727b83;font-size:10px;line-height:1.35;text-align:right}
.conceptDetailsButton:focus-visible,.floorplanDetailsButton:focus-visible{outline:3px solid rgba(32,169,95,.28);outline-offset:3px}

/* Konzept-Detailansicht mit Bild-/Grundriss-Slider */
body.conceptDecisionOpen{overflow:hidden}
.conceptDecisionOverlay{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:22px;background:rgba(9,13,18,.72);backdrop-filter:blur(10px)}
.conceptDecisionModal{width:min(1180px,100%);max-height:calc(100vh - 44px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-radius:28px;background:#fff;overflow:hidden;box-shadow:0 32px 100px rgba(0,0,0,.38)}
.conceptDecisionTopbar{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #ebe6df;background:#fbfaf8}
.conceptDecisionTopbar>div{display:flex;align-items:center;gap:12px}.conceptDecisionTopbar>div>strong{font-size:11px;color:#6b747d}
.conceptDecisionClose{width:38px;height:38px;border:1px solid #ded9d2;border-radius:50%;background:#fff;color:#242c34;font-size:24px;line-height:1;cursor:pointer}
.conceptDecisionScroll{overflow:auto;overscroll-behavior:contain}
.conceptDecisionHero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);min-height:460px}
.conceptDecisionSlider{position:relative;min-height:460px;background:#10161d;overflow:hidden}
.conceptDecisionSlides,.conceptDecisionSlide{position:absolute;inset:0}.conceptDecisionSlide{margin:0;opacity:0;pointer-events:none;transition:opacity .22s ease}.conceptDecisionSlide.is-active{opacity:1;pointer-events:auto}
.conceptDecisionSlide img{width:100%;height:100%;object-fit:cover}.conceptDecisionSlide.is-plan img{object-fit:contain;background:#f8f6f2;padding:28px}
.conceptDecisionSlide figcaption{position:absolute;left:18px;bottom:18px;padding:8px 11px;border-radius:999px;background:rgba(5,9,13,.74);color:#fff;font-size:11px;font-weight:850;backdrop-filter:blur(8px)}
.conceptDecisionSlideNav{position:absolute;top:50%;z-index:3;width:42px;height:42px;margin-top:-21px;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(8,12,17,.58);color:#fff;font-size:27px;cursor:pointer}.conceptDecisionSlideNav.prev{left:16px}.conceptDecisionSlideNav.next{right:16px}
.conceptDecisionDots{position:absolute;z-index:3;left:50%;bottom:19px;display:flex;gap:6px;transform:translateX(-50%)}.conceptDecisionDots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.52);cursor:pointer}.conceptDecisionDots button.is-active{width:24px;border-radius:999px;background:#fff}
.conceptDecisionCounter{position:absolute;z-index:3;right:16px;top:16px;padding:7px 9px;border-radius:999px;background:rgba(5,9,13,.68);color:#fff;font-size:10px;font-weight:900}
.conceptDecisionNoMedia{height:100%;display:grid;place-content:center;justify-items:center;gap:9px;color:#fff;text-align:center}.conceptDecisionNoMedia small{color:#b8c0c7}
.conceptDecisionHeroCopy{display:flex;flex-direction:column;justify-content:center;padding:42px;background:linear-gradient(145deg,#fff,#f8f4ee)}
.conceptDecisionHeroCopy>span{color:#8a6242;font-size:10px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.conceptDecisionHeroCopy h2{margin:8px 0 13px;font-size:clamp(36px,4vw,58px);line-height:.95;letter-spacing:-.065em}.conceptDecisionHeroCopy>p{margin:0;color:#59636d;font-size:15px;line-height:1.55}
.conceptDecisionFactPills{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.conceptDecisionFactPills span{padding:7px 9px;border:1px solid #e2ddd6;border-radius:999px;background:#fff;color:#4e5963;font-size:10px;font-weight:850}
.conceptDecisionPrice{margin-top:22px;padding:15px;border-radius:16px;background:#112019;color:#fff}.conceptDecisionPrice small,.conceptDecisionPrice strong,.conceptDecisionPrice span{display:block}.conceptDecisionPrice small{color:#b9d7c5;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.conceptDecisionPrice strong{margin-top:4px;font-size:24px}.conceptDecisionPrice span{margin-top:3px;color:#b9c8bf;font-size:10px}
.conceptDecisionStory{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:28px;padding:44px;border-top:1px solid #ece7e0}.conceptDecisionStory h3,.conceptDecisionLayouts h3,.conceptDecisionChecks h3{margin:7px 0 11px;font-size:clamp(27px,3vw,40px);line-height:1.02;letter-spacing:-.05em}.conceptDecisionStory p{margin:0;color:#5b6570;line-height:1.6}.conceptDecisionStory aside{padding:22px;border-radius:20px;background:#f5f8f6}.conceptDecisionStory aside>strong{font-size:15px}.conceptDecisionStory aside>p{margin:8px 0 13px}.conceptDecisionStory ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.conceptDecisionStory li{position:relative;padding-left:22px;color:#36424b;font-size:12px;line-height:1.45}.conceptDecisionStory li::before{content:"✓";position:absolute;left:0;color:#17834e;font-weight:950}
.conceptDecisionLayouts{padding:44px;border-top:1px solid #ece7e0;background:#fbf9f5}.conceptDecisionLayouts>header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.conceptDecisionLayouts header p{margin:0;color:#65707a}.conceptDecisionLayouts>header>strong{padding:7px 10px;border-radius:999px;background:#eaf6ef;color:#176e45;font-size:11px}
.conceptDecisionLayoutGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.conceptDecisionLayoutGrid article{overflow:hidden;border:1px solid #e4ded6;border-radius:19px;background:#fff;box-shadow:0 10px 26px rgba(17,24,32,.06)}.conceptDecisionLayoutGrid article>div:first-child{height:220px;background:#f4f1eb;display:grid;place-items:center}.conceptDecisionLayoutGrid img{width:100%;height:100%;object-fit:contain}.conceptDecisionLayoutGrid article>strong,.conceptDecisionLayoutGrid article>small{display:block;padding-left:17px;padding-right:17px}.conceptDecisionLayoutGrid article>strong{padding-top:15px;font-size:17px;letter-spacing:-.02em}.conceptDecisionLayoutGrid article>small{padding-top:7px;color:#68727b;line-height:1.5;min-height:62px}.conceptDecisionLayoutGrid .conceptDecisionLayoutTags{display:flex;flex-wrap:wrap;gap:5px;padding:13px 17px 17px}.conceptDecisionLayoutGrid .conceptDecisionLayoutTags span{padding:5px 7px;border-radius:999px;background:#f3f0eb;color:#66584a;font-size:9px;font-weight:800}.conceptDecisionLayoutNote{margin-top:16px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #e7dfd5;color:#54606a}.conceptDecisionLayoutNote strong{color:#111820}
/* 1.5.149: Konzept und Grundriss werden in einer Entscheidung verbunden. */
.conceptDecisionLayoutGrid article.is-selected{border-color:#8ac3a1;box-shadow:0 12px 30px rgba(23,122,75,.12)}
.conceptDecisionLayoutGrid article.is-unavailable{background:#fafafa;opacity:.78}
.conceptDecisionLayoutPrice{display:grid!important;gap:3px!important;padding:0 17px 4px!important}.conceptDecisionLayoutPrice strong{font-size:13px!important;color:#18251f}.conceptDecisionLayoutPrice small{min-height:0!important;padding:0!important;font-size:9px!important;color:#6d7771!important}
.conceptDecisionLayoutTags{display:flex!important;flex-wrap:wrap;gap:5px;padding:10px 17px 13px!important}.conceptDecisionLayoutTags span{padding:5px 7px;border-radius:999px;background:#f3f0eb;color:#66584a;font-size:9px;font-weight:800}
.conceptDecisionLayoutSelect{width:calc(100% - 34px);margin:0 17px 17px;border:0;border-radius:12px;background:#177a4b;color:#fff;padding:11px 13px;font-weight:900;cursor:pointer}.conceptDecisionLayoutSelect:hover{background:#126b40}.conceptDecisionLayoutSelect:focus-visible{outline:3px solid rgba(23,122,75,.22);outline-offset:2px}
.conceptDecisionLayoutUnavailable{margin:0 17px 17px;padding:10px 12px;border-radius:12px;background:#fff3df;color:#775019}.conceptDecisionLayoutUnavailable strong,.conceptDecisionLayoutUnavailable span{display:block}.conceptDecisionLayoutUnavailable strong{font-size:10px}.conceptDecisionLayoutUnavailable span{margin-top:3px;font-size:9px;line-height:1.4}
.conceptDecisionChecks{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:28px;padding:44px;border-top:1px solid #ece7e0}.conceptDecisionChecks>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.conceptDecisionChecks article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:14px;border:1px solid #e4e0da;border-radius:16px}.conceptDecisionChecks article>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#edf8f1;color:#177649}.conceptDecisionChecks article strong,.conceptDecisionChecks article small{display:block}.conceptDecisionChecks article strong{font-size:12px}.conceptDecisionChecks article small{margin-top:4px;color:#68727b;font-size:10px;line-height:1.4}
.conceptDecisionFooter{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;padding:14px 18px;border-top:1px solid #e7e2dc;background:#fff}.conceptDecisionFooter>button{appearance:none;border:0;background:transparent;color:#4b565f;font:inherit;font-size:11px;font-weight:850;cursor:pointer}.conceptDecisionFooter>button:last-child{text-align:right}.conceptDecisionFooter>button:disabled{opacity:.3;cursor:default}.conceptDecisionFooter>div{text-align:center}.conceptDecisionFooter>div>span{display:block;margin-bottom:5px;color:#6c767f;font-size:9px}.conceptDecisionSelect{border:0;border-radius:999px;background:#176f45;color:#fff;padding:11px 20px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}

@media(max-width:980px){
  .startAccountAccess{grid-template-columns:auto minmax(0,1fr)}.startAccountAccessActions{grid-column:1/-1;justify-content:flex-start;padding-left:66px}
  .vehicleBasisGuide{grid-template-columns:1fr}
  .selectionContextCard{grid-template-columns:1fr}
  .selectionContextMedia{min-height:200px}
  body:not(.adminPage) .vehicleStatusCards,body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards,body:not(.adminPage) .conceptCards,body:not(.adminPage) .floorplanCards{grid-template-columns:1fr 1fr}
  .conceptDecisionHero{grid-template-columns:1fr;min-height:0}.conceptDecisionSlider{min-height:420px}.conceptDecisionHeroCopy{padding:34px}.conceptDecisionStory,.conceptDecisionChecks{grid-template-columns:1fr;padding:36px 28px}.conceptDecisionLayoutGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .startAccountAccess{grid-template-columns:1fr;padding:19px}.startAccountAccessIcon{width:42px;height:42px}.startAccountAccessActions{grid-column:auto;padding-left:0;justify-content:stretch}.startAccountAccessActions a,.startAccountAccessActions button{flex:1 1 100%;text-align:center}
  .vehicleBasisGuide{padding:20px}.vehicleBasisGuidePoints article{grid-template-columns:36px minmax(0,1fr)}
  .selectionContextCard{padding:18px;border-radius:22px}.selectionContextCopy h2{font-size:32px}.selectionContextMeta{padding:13px 14px}
  .decisionOptionGroupHeader{align-items:flex-start}.decisionOptionGroupHeader>strong{display:none}.decisionOptionGroupUnavailable{margin-left:-12px;margin-right:-12px;padding:24px 12px;border-radius:20px}
  body:not(.adminPage) .vehicleStatusCards,body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards,body:not(.adminPage) .conceptCards,body:not(.adminPage) .floorplanCards{grid-template-columns:1fr}
  body:not(.adminPage) .vehicleStatusCards .cardImage,body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .cardImage{height:190px!important}
  .conceptCardVisual{height:220px}.floorplanCardVisual{height:244px;grid-template-columns:minmax(0,1.45fr) minmax(104px,.75fr)}
  .conceptDecisionOverlay{padding:0}.conceptDecisionModal{width:100%;height:100%;max-height:none;border-radius:0}.conceptDecisionTopbar{padding:12px 14px}.conceptDecisionSlider{min-height:310px}.conceptDecisionHeroCopy{padding:26px 20px}.conceptDecisionHeroCopy h2{font-size:38px}.conceptDecisionStory,.conceptDecisionLayouts,.conceptDecisionChecks{padding:30px 18px}.conceptDecisionStory{gap:18px}.conceptDecisionLayouts>header{align-items:flex-start}.conceptDecisionLayouts>header>strong{display:none}.conceptDecisionLayoutGrid{grid-template-columns:1fr}.conceptDecisionChecks>div:last-child{grid-template-columns:1fr}.conceptDecisionFooter{grid-template-columns:48px minmax(0,1fr) 48px}.conceptDecisionFooter>button strong{display:none}.conceptDecisionSelect{width:100%;padding:11px 12px}
}
@media(prefers-reduced-motion:reduce){.conceptDecisionSlide{transition:none}}
/* Korrektur der tatsächlichen Konzeptkarten-Markupklassen. */
.conceptCardVisual.planOnly>img{width:100%;height:100%;object-fit:contain;background:#fff;padding:14px}
.conceptCardVisual.planOnly>span,.conceptCardPhotoLabel{position:absolute;left:13px;bottom:13px;max-width:48%;padding:7px 10px;border-radius:999px;background:rgba(10,15,20,.78);color:#fff;font-size:10px;font-weight:900;backdrop-filter:blur(8px)}
.conceptCardPlan{margin:0}.conceptCardPlan figcaption{position:absolute;right:6px;bottom:5px;padding:4px 6px;border-radius:999px;background:rgba(255,255,255,.9);color:#5d4a39;font-size:8px;font-weight:900}
body:not(.adminPage) .conceptCards .card.unavailableCard .conceptCardVisual{filter:grayscale(.88);opacity:.42}


/* 1.5.4 – Frontend Interaction & UX Cleanup
   Einheitliche Auswahl-/Info-Interaktionen, vergrößerbare Grundrisse,
   einklappbare lange Listen und robuste Tastatur-Fokuszustände. */
.cardChoiceButton{
  appearance:none;
  width:100%;
  min-height:44px;
  margin-top:auto;
  padding:11px 14px;
  border:1px solid #d9d2c8;
  border-radius:999px;
  background:#fff;
  color:#176f45;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font:inherit;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.cardChoiceButton:hover{background:#176f45;color:#fff;border-color:#176f45;transform:translateY(-1px)}
.card.selected .cardChoiceButton{background:#eaf8ef;color:#128544;border-color:#bfe8cf}
.cardChoiceButton:focus-visible,
.productInfoHit:focus-visible,
.productInfoTitle:focus-visible,
.productToggleButton:focus-visible,
.floorplanZoomButton:focus-visible,
.moduleFloorplanZoomButton:focus-visible,
.layoutDecisionFloorplanZoom:focus-visible,
.includedSummaryInfoButton:focus-visible,
.addonCatalogSummary:focus-visible,
.unavailableOptionsDisclosure>summary:focus-visible{
  outline:3px solid rgba(32,169,95,.28);
  outline-offset:3px;
}

/* Grundrisse: dieselbe klar erkennbare Zoom-Aktion an jeder Darstellungsstelle. */
.floorplanZoomButton,
.moduleFloorplanZoomButton,
.layoutDecisionFloorplanZoom{
  appearance:none;
  display:block;
  position:relative;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:inherit;
  overflow:hidden;
  background:#fff;
  color:inherit;
  cursor:zoom-in;
  font:inherit;
}
.floorplanZoomButton img,
.moduleFloorplanZoomButton img,
.layoutDecisionFloorplanZoom img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.floorplanZoomButton>span,
.moduleFloorplanZoomButton>span,
.layoutDecisionFloorplanZoom>span{
  position:absolute;
  z-index:3;
  right:9px;
  top:9px;
  max-width:calc(100% - 18px);
  padding:6px 9px;
  border-radius:999px;
  background:rgba(17,24,32,.82);
  color:#fff;
  font-size:9.5px;
  font-weight:950;
  line-height:1.1;
  box-shadow:0 7px 18px rgba(17,24,32,.18);
  backdrop-filter:blur(8px);
}
.floorplanZoomButton:hover>span,
.moduleFloorplanZoomButton:hover>span,
.layoutDecisionFloorplanZoom:hover>span{background:#176f45}
.floorplanCardPlan .floorplanZoomButton img{padding:8px}
.floorplanInlineZoom{margin-top:12px;display:inline-flex!important;width:auto!important;height:auto!important;min-height:42px!important;border:1px solid #d9d2c8!important;border-radius:999px!important;padding:10px 14px!important;background:#fff!important;color:#176f45!important;font-size:12px!important;font-weight:950!important;cursor:zoom-in!important}
.floorplanInlineZoom:hover{background:#176f45!important;color:#fff!important;border-color:#176f45!important}
.floorplanInlineZoom>span{position:static!important;max-width:none!important;padding:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;backdrop-filter:none!important;font-size:inherit!important}
body:not(.adminPage).modulePackagePage .moduleFloorplanMedia .moduleFloorplanZoomButton{min-height:inherit}
body:not(.adminPage).modulePackagePage .moduleFloorplanMedia .moduleFloorplanZoomButton img{min-height:inherit;max-height:inherit}
/* 1.5.59: Grundriss-Vollbild nutzt eine einzige viewportgebundene Bühne.
   Die generische feste 88vh-Höhe wird hier aufgehoben, damit breite Pläne keine
   künstliche schwarze Restfläche erzeugen und niemals mit dem Viewportrand kollidieren. */
.detailImageFullscreenOverlay.floorplanFullscreen{
  padding:clamp(18px,3vw,46px);
}
.detailImageFullscreenOverlay.floorplanFullscreen figure{
  width:min(1500px,calc(100vw - clamp(72px,8vw,128px)));
  height:auto;
  max-height:calc(100vh - clamp(72px,10vh,120px));
  display:flex;
  align-items:center;
  justify-content:center;
}
.detailImageFullscreenOverlay.floorplanFullscreen figure picture{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:100%;
  max-height:inherit;
}
.detailImageFullscreenOverlay.floorplanFullscreen figure img{
  box-sizing:border-box;
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:calc(100vh - clamp(88px,12vh,144px));
  background:#fff;
  border-radius:18px;
  padding:clamp(8px,1.8vw,22px);
  object-fit:contain;
}
@media(max-width:760px){
  .detailImageFullscreenOverlay.floorplanFullscreen{padding:12px}
  .detailImageFullscreenOverlay.floorplanFullscreen figure{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 64px);
  }
  .detailImageFullscreenOverlay.floorplanFullscreen figure img{
    max-height:calc(100vh - 76px);
    padding:8px;
  }
}

/* Information und Auswahl werden bewusst getrennt. */
.productInfoHit{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  color:inherit;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.productInfoMedia{display:block;min-width:0;border-radius:18px}
.productInfoTitle{
  appearance:none;
  border:0;
  background:transparent;
  color:#111820;
  margin:0;
  padding:0;
  text-align:left;
  font:inherit;
  font-size:15px;
  font-weight:950;
  line-height:1.18;
  letter-spacing:-.025em;
  cursor:pointer;
}
.productInfoTitle:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.freeModuleCard,.selectableAddonCard{cursor:default!important}
.freeModuleCard:hover,.selectableAddonCard:hover{transform:none}
.freeModuleCard .productInfoMedia:hover .moduleImg,
.selectableAddonCard .productInfoMedia:hover .furtherIcon{box-shadow:0 0 0 3px rgba(32,169,95,.16)}
.productToggleButton{
  appearance:none;
  min-height:34px;
  border:1px solid #cfc7bc;
  border-radius:999px;
  padding:8px 12px;
  background:#fff;
  color:#176f45;
  font:inherit;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
  white-space:nowrap;
  transition:.16s ease;
}
.productToggleButton:hover{background:#eaf8ef;border-color:#bde6cd}
.productToggleButton.is-selected{background:#fff4ef;color:#8a3d31;border-color:#efd2c9}
.moduleCardActions,.moduleCardFooter{gap:8px;flex-wrap:wrap}
.freeModuleGrid .moduleCard.freeModuleCard .productInfoMedia{grid-row:1 / span 2}
.freeModuleGrid .moduleCard.freeModuleCard .productInfoMedia .moduleImg{width:96px!important;height:96px!important}
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard .productInfoMedia{grid-column:1;grid-row:1 / span 2;align-self:center}
body:not(.adminPage) .freeModuleGrid .moduleCard.freeModuleCard .productInfoMedia .moduleImg{margin:0!important}
.selectableAddonCard .productInfoMedia{align-self:start}
.selectableAddonCard .productInfoMedia .furtherIcon{margin:0}
.selectableAddonCard .moduleCardFooter{align-items:center}

/* Enthaltene Möbel: Info-Aktion ist unabhängig vom Accordion-Schalter. */
.uxIncludedFurnitureAccordion{position:relative}
.uxIncludedFurnitureAccordion summary{grid-template-columns:82px minmax(0,1fr) auto auto 24px}
.uxIncludedFurnitureAccordion summary>.includedSummaryInfoButton{
  min-width:42px;
  min-height:32px;
  padding:7px 10px;
}

/* Lange Sonderausstattungslisten werden als ruhige Kategorien geführt. */
.addonCatalogAccordionList{gap:14px}
.addonGroupedList .addonGroup.addonCatalogGroup{
  padding:0;
  overflow:hidden;
  background:#fff;
  border:1px solid #e8e1d8;
  border-radius:22px;
  box-shadow:0 10px 26px rgba(17,24,32,.05);
}
.addonCatalogSummary{
  list-style:none;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto 22px;
  align-items:center;
  gap:12px;
  margin:0!important;
  padding:15px 17px!important;
  border:0!important;
  cursor:pointer;
  background:linear-gradient(180deg,#fff,#fffdf9);
}
.addonCatalogSummary::-webkit-details-marker{display:none}
.addonCatalogSummary::after{content:"⌄";font-size:20px;line-height:1;color:#68737e;transition:transform .18s ease}
.addonCatalogGroup[open] .addonCatalogSummary::after{transform:rotate(180deg)}
.addonCatalogGroup[open] .addonCatalogSummary{border-bottom:1px solid #ece5dd!important}
.addonCatalogSummary .addonGroupIcon{width:42px;height:42px}
.addonCatalogSummary .addonCatalogToggle{font-size:10.5px;font-weight:950;color:#176f45;white-space:nowrap}
.addonCatalogBody{padding:16px}
.addonCatalogGroup:not([open]) .addonCatalogBody{display:none}

/* Nicht passende Grundrisse bleiben auffindbar, dominieren den Entscheidungsweg aber nicht. */
.unavailableOptionsDisclosure{
  margin-top:18px;
  border:1px solid #e2ddd6;
  border-radius:22px;
  background:#fbfaf8;
  overflow:hidden;
}
.unavailableOptionsDisclosure>summary{
  list-style:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 24px;
  gap:12px;
  align-items:center;
  min-height:62px;
  padding:14px 18px;
  cursor:pointer;
  color:#39434c;
}
.unavailableOptionsDisclosure>summary::-webkit-details-marker{display:none}
.unavailableOptionsDisclosure>summary::after{content:"⌄";font-size:20px;color:#68737e;transition:transform .18s ease}
.unavailableOptionsDisclosure[open]>summary::after{transform:rotate(180deg)}
.unavailableOptionsDisclosure>summary span{font-size:14px;font-weight:950}
.unavailableOptionsDisclosure>summary small{font-size:11px;color:#727b83;text-align:right}
.unavailableOptionsDisclosure .unavailableOptionGrid{margin:0;padding:18px;border-top:1px solid #e7e1da;opacity:1}

@media(max-width:760px){
  .cardChoiceButton{min-height:46px}
  .freeModuleGrid .moduleCard.freeModuleCard .productInfoMedia .moduleImg{width:82px!important;height:82px!important}
  .productToggleButton,.moduleCardActions .detailButton,.moduleCardFooter .detailButton{flex:1 1 auto;justify-content:center}
  .uxIncludedFurnitureAccordion summary{grid-template-columns:62px minmax(0,1fr) auto 24px;padding:14px}
  .uxIncludedFurnitureAccordion summary>.includedLockText{display:none}
  .uxIncludedFurnitureAccordion summary>.includedSummaryInfoButton{min-width:36px;padding:7px 8px}
  .includedFurnitureThumb{width:62px;height:54px;border-radius:15px}
  .addonCatalogSummary{grid-template-columns:38px minmax(0,1fr) 20px;padding:13px 14px!important}
  .addonCatalogSummary .addonCatalogToggle{display:none}
  .addonCatalogBody{padding:12px}
  .unavailableOptionsDisclosure>summary{grid-template-columns:minmax(0,1fr) 22px;padding:14px}
  .unavailableOptionsDisclosure>summary small{display:none}
  .unavailableOptionsDisclosure .unavailableOptionGrid{padding:12px}
  .floorplanZoomButton>span,.moduleFloorplanZoomButton>span,.layoutDecisionFloorplanZoom>span{font-size:9px;padding:6px 8px}
}

/* CMB Konfigurator 1.5.5 – Grundrissvergleich
   Freiwilliger Vergleichsmodus auf PAGE-GRUNDRISS. Abweichungen werden
   hervorgehoben; Module und Serienausstattung bleiben direkt erklärbar. */
.decisionOptionGroupMeta{
  flex:0 0 auto;
  display:flex;
  align-items:flex-end;
  gap:10px;
}
.decisionOptionGroupHeader>.decisionOptionGroupMeta{max-width:none}
.decisionOptionGroupMeta>strong{
  border:1px solid #d9e6dd;
  border-radius:999px;
  background:#f1f9f4;
  color:#176f45;
  padding:8px 11px;
  font-size:11px;
  white-space:nowrap;
}
.floorplanCompareLaunch{
  min-height:48px;
  border:1px solid #1f2932;
  border-radius:15px;
  background:#111820;
  color:#fff;
  padding:8px 14px 8px 11px;
  display:grid;
  grid-template-columns:28px auto;
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:8px;
  text-align:left;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(17,24,32,.12);
}
.floorplanCompareLaunch>span{
  grid-row:1 / span 2;
  width:28px;
  height:28px;
  border-radius:9px;
  background:rgba(255,255,255,.13);
  display:grid;
  place-items:center;
  font-size:17px;
}
.floorplanCompareLaunch>strong{font-size:12px;line-height:1.15}
.floorplanCompareLaunch>small{margin:2px 0 0;color:#cbd1d6;font-size:10px;font-weight:700}
.floorplanCompareLaunch:hover{background:#26313a}
.floorplanCompareLaunch:focus-visible{outline:3px solid rgba(181,139,105,.35);outline-offset:3px}

body.floorplanCompareOpen{overflow:hidden}
.floorplanCompareOverlay{
  position:fixed;
  inset:0;
  z-index:1060;
  background:rgba(8,12,17,.68);
  backdrop-filter:blur(18px);
  padding:18px;
  display:grid;
  place-items:center;
}
.floorplanCompareModal{
  width:min(1420px,100%);
  height:min(94vh,960px);
  border-radius:28px;
  background:#f7f5f2;
  border:1px solid rgba(255,255,255,.68);
  box-shadow:0 36px 100px rgba(0,0,0,.32);
  overflow:hidden;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
}
.floorplanCompareTopbar{
  min-height:72px;
  padding:10px 16px 10px 22px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #ded8cf;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.floorplanCompareTopbar span,
.floorplanCompareSectionHead span,
.floorplanCompareToolbar>div>span,
.floorplanCompareSelectionSummary>div>span{
  display:block;
  color:#9a7552;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.floorplanCompareTopbar h2{margin:4px 0 0;font-size:23px;letter-spacing:-.035em;color:#111820}
.floorplanCompareClose{
  width:44px;
  height:44px;
  border:1px solid #ddd6cc;
  border-radius:50%;
  background:#fff;
  color:#111820;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.floorplanCompareClose:hover{background:#111820;color:#fff;border-color:#111820}
.floorplanCompareClose:focus-visible{outline:3px solid rgba(181,139,105,.35);outline-offset:2px}
.floorplanCompareScroll{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:18px 20px}
.floorplanCompareChooser,
.floorplanCompareResults,
.floorplanCompareSelectionSummary{
  border:1px solid #ded8cf;
  border-radius:22px;
  background:#fff;
}
.floorplanCompareChooser,.floorplanCompareResults{padding:18px}
.floorplanCompareResults{margin-top:14px}
.floorplanCompareScroll>.floorplanCompareResults:first-child{margin-top:0}
.floorplanCompareSelectionSummary{
  min-height:68px;
  padding:11px 13px 11px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.floorplanCompareSelectionSummary>div{min-width:0}
.floorplanCompareSelectionSummary strong,
.floorplanCompareSelectionSummary small{display:block}
.floorplanCompareSelectionSummary strong{margin-top:4px;color:#111820;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.floorplanCompareSelectionSummary small{margin-top:3px;color:#707980;font-size:10px}
.floorplanCompareSelectionSummary button,
.floorplanCompareChooserClose{
  flex:0 0 auto;
  min-height:38px;
  border:1px solid #cfc8bf;
  border-radius:11px;
  background:#fff;
  color:#111820;
  padding:8px 12px;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.floorplanCompareSelectionSummary button:hover,.floorplanCompareChooserClose:hover{border-color:#8d684b;background:#fbf5ed}
.floorplanCompareSelectionSummary button:focus-visible,.floorplanCompareChooserClose:focus-visible{outline:3px solid rgba(181,139,105,.3);outline-offset:2px}
.floorplanCompareSectionHead,
.floorplanCompareToolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.floorplanCompareSectionHead>div,
.floorplanCompareToolbar>div{max-width:820px}
.floorplanCompareSectionHead h3,
.floorplanCompareToolbar h3{margin:4px 0 6px;font-size:clamp(22px,2vw,30px);line-height:1.08;letter-spacing:-.04em;color:#111820}
.floorplanCompareSectionHead p,
.floorplanCompareToolbar p{margin:0;color:#616a72;line-height:1.45;font-size:13px}
.floorplanCompareChoices{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:14px;
}
.floorplanCompareChoice{
  min-height:72px;
  border:1px solid #ddd7ce;
  border-radius:15px;
  background:#fbfaf8;
  padding:8px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.floorplanCompareChoice:hover{border-color:#b58b69;background:#fff}
.floorplanCompareChoice.is-selected{border-color:#7a9c88;background:#f2f8f4;box-shadow:inset 0 0 0 1px rgba(23,111,69,.16)}
.floorplanCompareChoice.is-disabled{cursor:not-allowed;opacity:.58}
.floorplanCompareChoice img,
.floorplanCompareChoiceIcon{
  width:52px;
  height:52px;
  border-radius:11px;
  background:#fff;
  object-fit:contain;
  border:1px solid #ebe6df;
}
.floorplanCompareChoiceIcon{display:grid;place-items:center;color:#6f5c4d}
.floorplanCompareChoice>span:not(.floorplanCompareChoiceIcon){min-width:0}
.floorplanCompareChoice strong,.floorplanCompareChoice small{display:block}
.floorplanCompareChoice strong{font-size:13px;color:#111820}
.floorplanCompareChoice small{margin-top:4px;color:#6b747c;font-size:9px;line-height:1.35}
.floorplanCompareChoice input{width:19px;height:19px;accent-color:#176f45}
.floorplanCompareChoice:focus-within{outline:3px solid rgba(181,139,105,.25);outline-offset:2px}
.floorplanCompareSelectionMeter{
  margin-top:14px;
  border:1px solid #ded8cf;
  border-radius:16px;
  background:#f7f5f2;
  padding:12px 14px;
  display:grid;
  grid-template-columns:minmax(190px,.55fr) 1.45fr;
  align-items:center;
  gap:14px;
}
.floorplanCompareSelectionMeter>div:first-child>span,
.floorplanCompareSelectionMeter>div:first-child>strong,
.floorplanCompareSelectionMeter>div:first-child>small{display:block}
.floorplanCompareSelectionMeter>div:first-child>span{color:#9a7552;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.floorplanCompareSelectionMeter>div:first-child>strong{margin-top:4px;color:#111820;font-size:15px}
.floorplanCompareSelectionMeter>div:first-child>small{margin-top:3px;color:#6b747c;font-size:9px}
.floorplanCompareSelectedChips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.floorplanCompareSelectedChip{min-height:34px;border:1px solid #98b1a1;border-radius:999px;background:#f2f8f4;color:#244b35;padding:4px 5px 4px 11px;display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:850}
.floorplanCompareSelectedChip button{width:25px;height:25px;border:0;border-radius:50%;background:#dcebe1;color:#244b35;font-size:17px;line-height:1;cursor:pointer}
.floorplanCompareSelectedChip button:hover{background:#176f45;color:#fff}
.floorplanCompareSelectedChip button:focus-visible{outline:3px solid rgba(23,111,69,.25);outline-offset:2px}
.floorplanCompareSelectedEmpty{color:#7a8288;font-size:10px}
.floorplanCompareLimitHint{margin:10px 2px 0;border-left:3px solid #b58b69;padding:7px 10px;background:#fbf5ed;color:#66503d;font-size:10px;line-height:1.45}
.floorplanCompareChoice>span:not(.floorplanCompareChoiceIcon){min-width:0}
.floorplanCompareChoice em{display:inline-block;margin-top:5px;border-radius:999px;background:#e8edf0;color:#4a5963;padding:3px 6px;font-size:7px;font-style:normal;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.floorplanCompareChoiceState{justify-self:end;border-radius:999px;background:#eee9e2;color:#62564c;padding:5px 7px;font-size:8px;font-weight:900;white-space:nowrap}
.floorplanCompareChoice.is-selected .floorplanCompareChoiceState{background:#dcebe1;color:#235038}
.floorplanCompareChoice input{position:absolute;opacity:0;pointer-events:none}
.floorplanCompareChooserActions{margin-top:14px;border-top:1px solid #e5e0d8;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.floorplanCompareChooserActions>div{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}
.floorplanCompareChooserMessage{min-height:18px;color:#7b4433;font-size:10px;line-height:1.4}
.floorplanCompareChooserMessage:not(.is-visible){visibility:hidden}
.floorplanCompareClear,.floorplanCompareStart{min-height:40px;border-radius:11px;padding:8px 13px;font-size:10px;font-weight:900;cursor:pointer}
.floorplanCompareClear{border:1px solid #cfc8bf;background:#fff;color:#111820}
.floorplanCompareStart{border:1px solid #111820;background:#111820;color:#fff;min-width:190px}
.floorplanCompareClear:hover{border-color:#8d684b;background:#fbf5ed}
.floorplanCompareStart:hover{background:#26313a}
.floorplanCompareStart:disabled{cursor:not-allowed;opacity:.46}
.floorplanCompareClear:focus-visible,.floorplanCompareStart:focus-visible{outline:3px solid rgba(181,139,105,.3);outline-offset:2px}
.floorplanCompareDifferenceToggle{
  flex:0 0 auto;
  min-height:50px;
  border:1px solid #ddcfbf;
  border-radius:14px;
  background:#fbf5ed;
  padding:8px 11px;
  display:flex;
  align-items:center;
  gap:9px;
  cursor:pointer;
}
.floorplanCompareDifferenceToggle input{width:19px;height:19px;accent-color:#8a623f}
.floorplanCompareDifferenceToggle span,
.floorplanCompareDifferenceToggle strong,
.floorplanCompareDifferenceToggle small{display:block}
.floorplanCompareDifferenceToggle strong{font-size:11px;color:#392b20}
.floorplanCompareDifferenceToggle small{margin-top:2px;font-size:9px;color:#7a634e}
.floorplanCompareDecisionCards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.floorplanCompareDecisionCards article{
  min-width:0;
  border:1px solid #e1dcd4;
  border-radius:16px;
  background:#faf9f7;
  padding:13px;
}
.floorplanCompareDecisionCards article.is-pending{border-color:#8ba896;background:#f2f8f4;box-shadow:inset 0 0 0 1px rgba(23,111,69,.1)}
.floorplanCompareDecisionCards article>span{
  display:inline-flex;
  border-radius:999px;
  background:#eceff1;
  color:#56616a;
  padding:4px 7px;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.floorplanCompareDecisionCards article.is-pending>span{background:#e2f1e7;color:#176f45}
.floorplanCompareDecisionCards strong,.floorplanCompareDecisionCards small{display:block}
.floorplanCompareDecisionCards strong{margin-top:8px;color:#111820;font-size:15px;line-height:1.2}
.floorplanCompareDecisionCards small{margin-top:4px;color:#6b747c;font-size:9px;line-height:1.35}
.floorplanCompareDecisionCards p{margin:9px 0 0;color:#47515a;font-size:11px;line-height:1.45}
.floorplanCompareDecisionCards p b{color:#111820}
.floorplanCompareTableScroll{
  margin-top:14px;
  overflow:visible;
  max-height:none;
  border:1px solid #ded8cf;
  border-radius:17px;
  background:#fff;
  overscroll-behavior:contain;
  scrollbar-gutter:auto;
}
.floorplanCompareTableScroll:focus-visible{outline:3px solid rgba(181,139,105,.28);outline-offset:3px}
.floorplanCompareTable{
  width:100%;
  min-width:0;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  color:#111820;
}
.floorplanCompareTable th,.floorplanCompareTable td{
  border-right:1px solid #e5e0d9;
  border-bottom:1px solid #e5e0d9;
  padding:11px 12px;
  vertical-align:top;
  text-align:left;
  line-height:1.42;
  font-size:11px;
  overflow-wrap:anywhere;
}
.floorplanCompareTable tr>*:last-child{border-right:0}
.floorplanCompareTable tbody tr:last-child>*{border-bottom:0}
.floorplanCompareTable thead th{
  position:sticky;
  top:0;
  z-index:5;
  background:#f7f5f2;
  vertical-align:bottom;
  box-shadow:0 8px 14px rgba(17,24,32,.04);
}
.floorplanCompareFeatureHead{
  width:178px;
  left:0;
  z-index:8!important;
  box-shadow:8px 0 14px rgba(17,24,32,.05),0 8px 14px rgba(17,24,32,.04)!important;
}
.floorplanCompareFeatureHead span,.floorplanCompareFeatureHead small{display:block}
.floorplanCompareFeatureHead span{font-size:11px;font-weight:900}
.floorplanCompareFeatureHead small{margin-top:4px;color:#727b82;font-size:8px}
.floorplanCompareLayoutHead{width:auto}
.floorplanCompareLayoutHead>div{display:grid;gap:7px}
.floorplanCompareLayoutHead strong{font-size:17px;letter-spacing:-.02em}
.floorplanCompareLayoutHead>div>small{color:#6e777f;font-size:9px}
.floorplanCompareLayoutTag{color:#8b6748;font-size:10px;font-weight:850;line-height:1.3}
.floorplanComparePlan{
  width:100%;
  height:148px;
  border:1px solid #ddd7ce;
  border-radius:13px;
  background:#fff;
  padding:7px;
  position:relative;
  overflow:hidden;
  cursor:zoom-in;
}
.floorplanComparePlan img{width:100%;height:100%;object-fit:contain;display:block}
.floorplanComparePlan span{
  position:absolute;
  right:7px;
  bottom:7px;
  border-radius:999px;
  background:rgba(17,24,32,.9);
  color:#fff;
  padding:4px 7px;
  font-size:8px;
  font-weight:800;
}
.floorplanComparePlan:focus-visible{outline:3px solid rgba(181,139,105,.3);outline-offset:2px}
.floorplanCompareCurrentBadge{
  justify-self:start;
  display:inline-flex;
  border-radius:999px;
  background:#e7f4eb;
  color:#176f45;
  padding:4px 7px;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.floorplanCompareHeadActions{display:grid;grid-template-columns:1fr 1.35fr;gap:6px;align-items:stretch}
.floorplanCompareHeadActions button,
.floorplanComparePendingState{
  min-height:38px;
  border:1px solid #cfc8bf;
  border-radius:10px;
  padding:7px 8px;
  font-size:9px;
  font-weight:850;
}
.floorplanCompareHeadActions button{background:#fff;color:#111820;cursor:pointer}
.floorplanCompareHeadActions .floorplanCompareSelect{background:#111820;color:#fff;border-color:#111820}
.floorplanComparePendingState{display:grid;place-items:center;background:#e7f4eb;color:#176f45;border-color:#b7d5c2;text-align:center}
.floorplanCompareHeadActions button:hover{border-color:#8d684b}
.floorplanCompareHeadActions .floorplanCompareSelect:hover{background:#26313a}
.floorplanCompareHeadActions button:focus-visible{outline:3px solid rgba(181,139,105,.3);outline-offset:2px}
.floorplanCompareSectionRow th{
  padding:9px 12px;
  background:#ece8e2;
  color:#5a4c40;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.floorplanCompareDataRow>th{
  width:178px;
  position:sticky;
  left:0;
  z-index:3;
  background:#fff;
  box-shadow:8px 0 14px rgba(17,24,32,.04);
}
.floorplanCompareDataRow>th>span,.floorplanCompareDataRow>th>small{display:block}
.floorplanCompareDataRow>th>small{margin-top:4px;color:#777f86;font-size:8px;font-weight:600}
.floorplanCompareDataRow>th>em,
.floorplanCompareMobileRow header>em{
  display:inline-flex;
  margin-top:6px;
  border-radius:999px;
  background:#f2e5d8;
  color:#765235;
  padding:3px 6px;
  font-size:7px;
  font-style:normal;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.floorplanCompareDataRow td{background:#fff}
.floorplanCompareValue{display:block}
.floorplanCompareDataRow td.is-different .floorplanCompareValue,
.floorplanCompareMobileValues>div.is-different .floorplanCompareValue{
  border-left:3px solid #b58b69;
  border-radius:8px;
  background:#fbf5ed;
  padding:7px 8px;
  color:#2f251d;
  font-weight:750;
}
.floorplanCompareDataRow td.is-outlier .floorplanCompareValue,
.floorplanCompareMobileValues>div.is-outlier .floorplanCompareValue{
  border-left-color:#93603a;
  background:#f1dfca;
  box-shadow:inset 0 0 0 1px rgba(147,96,58,.14);
}
.floorplanCompareDataRow td.is-same{color:#5d666e}
.floorplanComparePresence{display:inline-flex;align-items:center;gap:7px;font-weight:800}
.floorplanComparePresence b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px}
.floorplanComparePresence.is-present{color:#176f45}
.floorplanComparePresence.is-present b{background:#e7f4eb}
.floorplanComparePresence.is-optional{color:#78591f}
.floorplanComparePresence.is-optional b{background:#f7efd9}
.floorplanComparePresence.is-consultation{color:#445d75}
.floorplanComparePresence.is-consultation b{background:#e9f0f6}
.floorplanComparePresence.is-absent{color:#7b6460}
.floorplanComparePresence.is-absent b{background:#f2e9e7}
.floorplanComparePresence.is-unknown{color:#6f7478}
.floorplanComparePresence.is-unknown b{background:#eef0f1}
.floorplanCompareDataRow td.is-different .floorplanComparePresence,
.floorplanCompareMobileValues>div.is-different .floorplanComparePresence{
  border-left:3px solid #b58b69;
  border-radius:8px;
  background:#fbf5ed;
  padding:7px 8px;
}
.floorplanCompareProductInfo{
  width:100%;
  border:0;
  background:transparent;
  padding:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:7px;
  text-align:left;
  color:#111820;
  font:inherit;
  font-weight:850;
  cursor:pointer;
}
.floorplanCompareProductInfo small{flex:0 0 auto;border-radius:999px;background:#111820;color:#fff;padding:3px 6px;font-size:7px}
.floorplanCompareProductInfo:hover span{text-decoration:underline}
.floorplanCompareProductInfo:focus-visible{outline:3px solid rgba(181,139,105,.3);outline-offset:3px;border-radius:4px}
.floorplanCompareMobileList{display:none}
.floorplanCompareLegal{margin:10px 2px 0;color:#707980;font-size:9px;line-height:1.45}
.floorplanCompareEmpty{margin-top:14px;border-radius:15px;background:#f2f7f3;padding:14px;color:#31533f}
.floorplanCompareEmpty strong,.floorplanCompareEmpty p{display:block;margin:0}
.floorplanCompareEmpty p{margin-top:4px;font-size:10px}
.floorplanCompareStatus{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.floorplanCompareFooter{
  min-height:70px;
  padding:10px 16px;
  border-top:1px solid #ded8cf;
  background:rgba(255,255,255,.98);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.floorplanCompareFooter>div{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.floorplanCompareFooter>div>span{color:#5f6870;font-size:10px;text-align:right}
.floorplanCompareCancel,.floorplanCompareApply{
  min-height:42px;
  border-radius:12px;
  padding:9px 15px;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.floorplanCompareCancel{border:1px solid #cfc8bf;background:#fff;color:#111820}
.floorplanCompareApply{border:1px solid #111820;background:#111820;color:#fff;min-width:170px}
.floorplanCompareCancel:hover{border-color:#8d684b;background:#fbf5ed}
.floorplanCompareApply:hover{background:#26313a}
.floorplanCompareApply:disabled{cursor:not-allowed;opacity:.5}
.floorplanCompareCancel:focus-visible,.floorplanCompareApply:focus-visible{outline:3px solid rgba(181,139,105,.3);outline-offset:2px}
@media(max-width:980px){
  .decisionOptionGroupHeader{align-items:flex-start}
  .decisionOptionGroupMeta{align-items:flex-end;flex-direction:column}
  .floorplanCompareChoices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .floorplanCompareDecisionCards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .floorplanCompareSectionHead,.floorplanCompareToolbar{display:grid;grid-template-columns:1fr}
  .floorplanCompareDifferenceToggle{justify-self:start}
  .floorplanCompareSelectionMeter{grid-template-columns:1fr}
  .floorplanCompareSelectedChips{justify-content:flex-start}
  .floorplanCompareChooserActions{align-items:stretch;flex-direction:column}
  .floorplanCompareChooserActions>div{width:100%}
}
@media(max-width:700px){
  .decisionOptionGroupHeader{display:block}
  .decisionOptionGroupMeta{margin-top:14px;align-items:stretch}
  .decisionOptionGroupMeta>strong{display:none}
  .floorplanCompareLaunch{width:100%}
  .floorplanCompareOverlay{padding:0;place-items:stretch}
  .floorplanCompareModal{width:100%;height:100%;border-radius:0}
  .floorplanCompareTopbar{min-height:64px;padding:8px 10px 8px 14px}
  .floorplanCompareTopbar h2{font-size:20px}
  .floorplanCompareTopbar span{font-size:7px}
  .floorplanCompareClose{width:42px;height:42px}
  .floorplanCompareScroll{padding:10px 10px 14px}
  .floorplanCompareChooser,.floorplanCompareResults{border-radius:18px;padding:14px}
  .floorplanCompareSelectionSummary{border-radius:18px;display:grid;grid-template-columns:1fr auto;padding:10px 11px 10px 13px}
  .floorplanCompareSelectionSummary strong{white-space:normal;font-size:12px}
  .floorplanCompareSelectionSummary button{padding:7px 9px;font-size:9px}
  .floorplanCompareChoices{grid-template-columns:1fr}
  .floorplanCompareChoice{min-height:68px;grid-template-columns:48px minmax(0,1fr) auto}
  .floorplanCompareChoice img,.floorplanCompareChoiceIcon{width:48px;height:48px}
  .floorplanCompareChoice{grid-template-columns:48px minmax(0,1fr) auto}
  .floorplanCompareChoiceState{font-size:7px;padding:4px 6px}
  .floorplanCompareSelectionMeter{padding:11px}
  .floorplanCompareSelectedChips{justify-content:flex-start}
  .floorplanCompareLimitHint{font-size:9px}
  .floorplanCompareChooserActions>div{display:grid;grid-template-columns:auto minmax(0,1fr)}
  .floorplanCompareStart{width:100%;min-width:0}
  .floorplanCompareSectionHead h3,.floorplanCompareToolbar h3{font-size:23px}
  .floorplanCompareToolbar{gap:12px}
  .floorplanCompareDifferenceToggle{width:100%;min-height:46px}
  .floorplanCompareDecisionCards{grid-template-columns:1fr}
  .floorplanCompareDecisionCards article{padding:12px}
  .floorplanCompareDesktopTable{display:none}
  .floorplanCompareMobileList{display:grid;gap:14px;margin-top:14px}
  .floorplanCompareMobileSection{display:grid;gap:8px}
  .floorplanCompareMobileSection h4{margin:0;padding:8px 10px;border-radius:10px;background:#ece8e2;color:#5a4c40;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
  .floorplanCompareMobileRow{border:1px solid #e2ddd6;border-radius:14px;background:#fff;overflow:hidden}
  .floorplanCompareMobileRow>header{padding:10px 11px;border-bottom:1px solid #e7e2db;color:#111820;font-size:11px;font-weight:850}
  .floorplanCompareMobileRow>header>span,.floorplanCompareMobileRow>header>small{display:block}
  .floorplanCompareMobileRow>header>small{margin-top:3px;color:#707980;font-size:8px;font-weight:600}
  .floorplanCompareMobileValues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .floorplanCompareMobileValues>div{min-width:0;padding:10px;border-right:1px solid #e7e2db;border-bottom:1px solid #e7e2db;font-size:10px;line-height:1.4}
  .floorplanCompareMobileValues>div:nth-child(2n){border-right:0}
  .floorplanCompareMobileValues>div:last-child{border-bottom:0}
  .floorplanCompareMobileValues>div>small{display:block;margin-bottom:6px;color:#6b747c;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
  .floorplanCompareMobileValues>div.is-different .floorplanCompareValue,.floorplanCompareMobileValues>div.is-different .floorplanComparePresence{padding:6px 7px}
  .floorplanCompareFooter{min-height:76px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));gap:8px}
  .floorplanCompareFooter>div{flex:1;display:grid;grid-template-columns:1fr;gap:4px}
  .floorplanCompareFooter>div>span{display:none}
  .floorplanCompareCancel{padding:8px 11px}
  .floorplanCompareApply{width:100%;min-width:0}
}
@media(max-width:430px){
  .floorplanCompareMobileValues{grid-template-columns:1fr}
  .floorplanCompareMobileValues>div{border-right:0}
}
.floorplanCompareDecisionActions{display:none;grid-template-columns:1fr 1.25fr;gap:6px;margin-top:10px}
.floorplanCompareDecisionActions button,.floorplanCompareDecisionActions>span{min-height:34px;border:1px solid #cfc8bf;border-radius:9px;padding:6px 8px;font-size:8px;font-weight:850}
.floorplanCompareDecisionActions button{background:#fff;color:#111820;cursor:pointer}
.floorplanCompareDecisionActions .floorplanCompareSelect{background:#111820;color:#fff;border-color:#111820}
.floorplanCompareDecisionActions>span{display:grid;place-items:center;background:#e7f4eb;color:#176f45;border-color:#b7d5c2}
.floorplanCompareDecisionActions button:hover{border-color:#8d684b}
.floorplanCompareDecisionActions .floorplanCompareSelect:hover{background:#26313a}
.floorplanCompareDecisionActions button:focus-visible{outline:3px solid rgba(181,139,105,.3);outline-offset:2px}

@media(max-width:700px){.floorplanCompareDecisionActions{display:grid}}

/* 1.5.13 – Performance & Mobile UX
   Mobil zeigt jede Karte zuerst als klare Entscheidung. Vertiefende Inhalte
   bleiben in Detailansichten und aufklappbaren Bereichen vollständig erhalten. */
.resultProgressiveDisclosure{border:0;margin:0;padding:0;background:transparent}
.resultProgressiveDisclosure>summary{
  display:none;
  list-style:none;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:18px 0 0;
  padding:15px 17px;
  border:1px solid #ddd7cf;
  border-radius:16px;
  background:#fff;
  color:#1b242c;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.resultProgressiveDisclosure>summary::-webkit-details-marker{display:none}
.resultProgressiveDisclosure:not([open])>summary{display:flex}
.resultProgressiveDisclosure>summary b{font-size:22px;line-height:1;transition:transform .18s ease}
.resultProgressiveDisclosure[open]>summary b{transform:rotate(90deg)}

@media(max-width:700px){
  .personBenefits{display:none}

  body:not(.adminPage) .personaChoiceCard{
    min-height:0;
    padding-bottom:16px;
  }
  body:not(.adminPage) .personaChoiceCard .cardImage{height:168px}
  body:not(.adminPage) .personaChoiceCard .cardSalesHint,
  body:not(.adminPage) .personaChoiceCard .cardAdviceNote{display:none}
  body:not(.adminPage) .personaChoiceCard>p{min-height:0;margin-bottom:0}
  body:not(.adminPage) .personaChoiceCard .tags{margin-top:10px}
  body:not(.adminPage) .personaChoiceCard .cardChoiceButton{margin-top:13px}

  .vehicleBasisGuide{display:none}
  .vehicleSizeDecisionCard .vehicleSizeMini:not(.isActive),
  .vehicleSizeDecisionCard .vehicleSizeRuler{display:none}
  .vehicleSizeDecisionCard .vehicleSizeComparisonItems{grid-template-columns:1fr}

  body:not(.adminPage) .vehicleStatusCards .cardSalesHint,
  body:not(.adminPage) .vehicleStatusCards .cardAdviceNote,
  body:not(.adminPage) .vehicleStatusCards .card>.cardFit,
  body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .cardSalesHint,
  body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .cardAdviceNote,
  body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .card>.cardFit,
  body:not(.adminPage) .conceptCards .cardSalesHint,
  body:not(.adminPage) .conceptCards .cardAdviceNote,
  body:not(.adminPage) .conceptCards .card>.cardFit,
  body:not(.adminPage) .floorplanCards .cardSalesHint,
  body:not(.adminPage) .floorplanCards .cardAdviceNote,
  body:not(.adminPage) .floorplanCards .card>.cardFit{display:none}

  body:not(.adminPage) .vehicleStatusCards .card,
  body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .card,
  body:not(.adminPage) .conceptCards .card,
  body:not(.adminPage) .floorplanCards .card{padding-bottom:16px!important}
  body:not(.adminPage) .vehicleStatusCards .cardFactGrid,
  body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .cardFactGrid,
  body:not(.adminPage) .conceptCards .cardFactGrid,
  body:not(.adminPage) .floorplanCards .cardFactGrid{margin-top:10px}
  .conceptCardActions>span,.floorplanCardActions>span{display:none}
  .conceptDetailsButton,.floorplanDetailsButton{width:100%}

  .decisionOptionGroup{margin-bottom:24px}
  .decisionOptionGroup+.decisionOptionGroup{margin-top:28px;padding-top:24px}
  .decisionOptionGroupHeader{margin-bottom:13px}
  .decisionOptionGroupHeader h2{font-size:27px}
  .decisionOptionGroupHeader p{font-size:13px;line-height:1.45}
  .decisionOptionGroupUnavailable .decisionOptionGroupHeader p,
  .decisionOptionGroupUnavailable .decisionOptionGroupHeader>div:first-child>small{display:none}
  .decisionOptionGroupUnavailable{padding-top:18px;padding-bottom:18px}
  .unavailableOptionsDisclosure{margin-top:12px}

  .selectionContextCard{gap:14px;margin-bottom:18px}
  .selectionContextMedia{min-height:150px;max-height:180px}
  .selectionContextCopy p,
  .selectionContextMeta small{display:none}
  .selectionContextFacts{margin-top:10px}
  .selectionContextMeta{margin-top:10px}

  .floorplanCardVisual{
    display:block;
    height:205px;
    grid-template-columns:1fr;
  }
  .floorplanCardPrimary,.floorplanCardVehicle{display:none}
  .floorplanCardSecondary,.floorplanCardSecondary.single{display:block;height:100%}
  .floorplanCardPlan{display:block;width:100%;height:100%}
  .floorplanCardPlan .floorplanZoomButton{width:100%;height:100%}
  .floorplanCardPlan img{width:100%;height:100%;object-fit:contain!important;padding:10px}
  .floorplanVehicleLabel{top:10px;left:10px}

  .resultProgressiveDisclosure>summary{display:flex}
  .resultProgressiveDisclosure:not([open]){padding:0 14px}
  .resultProgressiveDisclosureBody{overflow:hidden}
  .resultProgressiveDisclosure[open]>summary{margin-left:14px;margin-right:14px}
  .resultProgressiveDisclosure[open] .resultEmotionGallery,
  .resultProgressiveDisclosure[open] #resultAlternatives{margin-top:12px}
}

@media(prefers-reduced-motion:reduce){
  .resultProgressiveDisclosure>summary b{transition:none}
}
/* CMB Konfigurator 1.5.14 – eindeutige Auswahlsteuerung und Leerauswahl-Schutz */
body:not(.adminPage) .cardSelectedStatus{
  position:absolute;
  z-index:5;
  top:16px;
  right:16px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background:#159b50;
  color:#fff;
  box-shadow:0 8px 20px rgba(21,155,80,.22);
  font-size:11px;
  line-height:1;
  font-weight:950;
}
body:not(.adminPage) .productSelectionControl{
  appearance:none;
  -webkit-appearance:none;
  margin:0;
  padding:0;
  cursor:pointer;
  font:inherit;
}
body:not(.adminPage) .productSelectionControl:focus-visible{
  outline:3px solid rgba(0,122,255,.35);
  outline-offset:3px;
}
body:not(.adminPage) .moduleCard .radio.multiSelectionControl{
  border-radius:7px;
}
body:not(.adminPage) .selectionRequirementNotice{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 10px;
  margin:14px 0 18px;
  padding:13px 15px;
  border:1px solid #f0c981;
  border-radius:14px;
  background:#fff9ed;
  color:#684b1c;
  font-size:13px;
  line-height:1.4;
}
body:not(.adminPage) .selectionRequirementNotice strong{font-weight:950;}
body:not(.adminPage) .selectionRequirementNotice span{color:#735c38;}
body:not(.adminPage) #nextBtn:disabled{
  cursor:not-allowed;
  opacity:.45;
  transform:none;
  box-shadow:none;
}
body:not(.adminPage) .selectionContextMetaNoteOnly{display:block;}
body:not(.adminPage) .selectionContextMetaNoteOnly small{display:block;max-width:680px;}

@media(max-width:720px){
  body:not(.adminPage) .cardSelectedStatus{top:12px;right:12px;}
  body:not(.adminPage) .selectionRequirementNotice{align-items:flex-start;flex-direction:column;}
}

/* CMB Konfigurator 1.5.15 – Konzeptvergleich, transparente Grundrissvorschau
   und einheitlich ausgerichtete Slider-Steuerungen. */
body:not(.adminPage) .conceptCardPlan{
  opacity:.86;
  background:rgba(255,255,255,.84);
  border-color:rgba(255,255,255,.76);
  backdrop-filter:blur(8px) saturate(.9);
  transition:opacity .18s ease,transform .18s ease;
}
body:not(.adminPage) .conceptCardPlan img{background:rgba(255,255,255,.72);}
body:not(.adminPage) .card:hover .conceptCardPlan,
body:not(.adminPage) .card:focus-within .conceptCardPlan{opacity:.96;transform:translateY(-1px);}

/* Pfeilglyphen und Punkte sitzen innerhalb ihrer jeweiligen Bildfläche. */
body:not(.adminPage) .detailSliderNav,
body:not(.adminPage) .detailModalPro .detailSliderNav,
body:not(.adminPage) .conceptDecisionSlideNav,
.detailImageFullscreenGallery .detailImageFullscreenNav{
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  line-height:1 !important;
  text-align:center !important;
}
body:not(.adminPage) .detailModalPro .detailSliderNav.prev{left:18px !important;right:auto !important;}
body:not(.adminPage) .detailModalPro .detailSliderNav.next{right:18px !important;left:auto !important;}
body:not(.adminPage) .detailModalPro .detailDots,
body:not(.adminPage) .conceptDecisionDots,
.detailImageFullscreenDots{
  align-items:center;
  justify-content:center;
  max-width:calc(100% - 148px);
}
body:not(.adminPage) .detailModalPro .detailDot,
body:not(.adminPage) .conceptDecisionDots button,
.detailImageFullscreenDots button{flex:0 0 auto;}
body:not(.adminPage) .conceptDecisionSlideNav{margin-top:0;transform:translateY(-50%);}
body:not(.adminPage) .conceptDecisionSlideNav.prev{left:18px;right:auto;}
body:not(.adminPage) .conceptDecisionSlideNav.next{right:18px;left:auto;}

.decisionOptionGroupTools{display:flex;flex-direction:column;align-items:flex-end;gap:9px;flex:0 0 auto;}
.decisionOptionGroupTools>strong{align-self:flex-end;border:1px solid #d9e6dd;border-radius:999px;background:#f1f9f4;color:#176f45;padding:8px 11px;font-size:11px;white-space:nowrap;}
.conceptCompareLaunch{
  appearance:none;
  min-height:46px;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid #cfd8d2;
  border-radius:14px;
  padding:8px 11px;
  background:#fff;
  color:#163e2a;
  cursor:pointer;
  text-align:left;
  box-shadow:0 7px 18px rgba(17,24,32,.06);
}
.conceptCompareLaunch>span:first-child{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#e8f5ed;color:#176f45;}
.conceptCompareLaunch strong,.conceptCompareLaunch small{display:block;}
.conceptCompareLaunch strong{font-size:11px;line-height:1.2;}
.conceptCompareLaunch small{margin-top:2px;color:#6b747c;font-size:8px;}
.conceptCompareLaunch:hover{border-color:#176f45;background:#f4faf6;}
.conceptCompareLaunch:focus-visible{outline:3px solid rgba(23,111,69,.25);outline-offset:2px;}

body.conceptCompareOpen{overflow:hidden;}
.conceptCompareOverlay{position:fixed;inset:0;z-index:10030;display:grid;place-items:center;padding:22px;background:rgba(9,13,18,.74);backdrop-filter:blur(11px);}
.conceptCompareModal{width:min(1280px,100%);max-height:calc(100vh - 44px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:28px;background:#f7f5f1;box-shadow:0 34px 110px rgba(0,0,0,.42);}
.conceptCompareTopbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px 13px 22px;border-bottom:1px solid #e5e0d8;background:#fff;}
.conceptCompareTopbar span{display:block;color:#8a6242;font-size:8px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;}
.conceptCompareTopbar h2{margin:4px 0 0;color:#111820;font-size:24px;line-height:1.05;letter-spacing:-.04em;}
.conceptCompareClose{width:42px;height:42px;display:grid;place-items:center;border:1px solid #dcd6ce;border-radius:50%;padding:0;background:#fff;color:#111820;font-size:26px;line-height:1;cursor:pointer;}
.conceptCompareClose:hover{background:#111820;color:#fff;border-color:#111820;}
.conceptCompareScroll{overflow:auto;overscroll-behavior:contain;padding:18px 20px 22px;}
.conceptCompareToolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;margin-bottom:14px;padding:17px 18px;border:1px solid #e4dfd7;border-radius:20px;background:#fff;}
.conceptCompareToolbar>div>span{color:#8a6242;font-size:8px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;}
.conceptCompareToolbar h3{margin:5px 0 4px;font-size:24px;line-height:1.05;letter-spacing:-.04em;color:#111820;}
.conceptCompareToolbar p{margin:0;color:#68717a;font-size:11px;line-height:1.45;}
.conceptCompareToolbar label{min-height:48px;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid #d9d3ca;border-radius:14px;background:#fbf8f3;cursor:pointer;}
.conceptCompareToolbar label input{width:19px;height:19px;accent-color:#176f45;}
.conceptCompareToolbar label strong,.conceptCompareToolbar label small{display:block;}
.conceptCompareToolbar label strong{font-size:11px;color:#2f392f;}.conceptCompareToolbar label small{margin-top:2px;font-size:8px;color:#71695f;}
.conceptCompareDesktop{overflow:auto;border:1px solid #ded9d1;border-radius:20px;background:#fff;}
.conceptCompareDesktop table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;table-layout:fixed;}
.conceptCompareDesktop th,.conceptCompareDesktop td{border-right:1px solid #e7e2db;border-bottom:1px solid #e7e2db;padding:12px;vertical-align:top;text-align:left;font-size:11px;line-height:1.45;}
.conceptCompareDesktop tr>*:last-child{border-right:0;}.conceptCompareDesktop tbody tr:last-child>*{border-bottom:0;}
.conceptCompareDesktop thead th{position:sticky;top:0;z-index:2;background:#fff;box-shadow:0 5px 12px rgba(17,24,32,.04);}
.conceptCompareDesktop thead th:first-child{width:160px;color:#6b747c;font-size:9px;text-transform:uppercase;letter-spacing:.08em;}
.conceptCompareHead{display:grid;gap:7px;}
.conceptCompareHead>img,.conceptCompareHead>span{width:100%;height:108px;display:grid;place-items:center;object-fit:cover;border-radius:13px;background:#eee9e2;}
.conceptCompareHead>small{color:#8a6242;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}
.conceptCompareHead>strong{color:#111820;font-size:16px;line-height:1.18;letter-spacing:-.02em;}
.conceptCompareHead>div{display:grid;grid-template-columns:.78fr 1.22fr;gap:6px;}
.conceptCompareHead button,.conceptCompareMobileCard footer button{min-height:36px;border:1px solid #cfc8bf;border-radius:10px;padding:7px 8px;background:#fff;color:#111820;font:inherit;font-size:9px;font-weight:900;cursor:pointer;}
.conceptCompareHead button.is-primary,.conceptCompareMobileCard footer button.is-primary{border-color:#176f45;background:#176f45;color:#fff;}
.conceptCompareSection th{padding:8px 12px!important;background:#eee9e2;color:#695849;font-size:8px!important;font-weight:950;text-transform:uppercase;letter-spacing:.1em;}
.conceptCompareDesktop tbody tr:not(.conceptCompareSection)>th{background:#fbfaf8;color:#28323a;font-weight:900;}
.conceptCompareDesktop tbody tr:not(.conceptCompareSection)>th span,.conceptCompareDesktop tbody tr:not(.conceptCompareSection)>th small{display:block;}
.conceptCompareDesktop tbody tr:not(.conceptCompareSection)>th small{margin-top:3px;color:#747c83;font-size:8px;font-weight:600;}
.conceptCompareDesktop td.is-different{background:#fffaf0;box-shadow:inset 3px 0 0 #d3aa79;}
.conceptCompareMobile{display:none;}
.conceptCompareFooter{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 18px;border-top:1px solid #e4dfd8;background:#fff;}
.conceptCompareFooter span{max-width:760px;color:#667079;font-size:9px;line-height:1.4;}
.conceptCompareDone{min-height:42px;border:0;border-radius:999px;padding:9px 17px;background:#111820;color:#fff;font:inherit;font-size:10px;font-weight:900;cursor:pointer;}

@media(max-width:900px){
  .decisionOptionGroupTools{align-items:flex-start;width:100%;margin-top:12px;}
  .decisionOptionGroupTools>strong{align-self:flex-start;}
  .conceptCompareLaunch{width:100%;}
  .conceptCompareOverlay{padding:0;place-items:stretch;}
  .conceptCompareModal{width:100%;height:100%;max-height:none;border-radius:0;}
  .conceptCompareTopbar{min-height:68px;padding:10px 12px 10px 16px;}.conceptCompareTopbar h2{font-size:20px;}
  .conceptCompareScroll{padding:10px 10px 14px;}
  .conceptCompareToolbar{grid-template-columns:1fr;gap:11px;padding:14px;}
  .conceptCompareToolbar h3{font-size:22px;}.conceptCompareToolbar label{width:100%;}
  .conceptCompareDesktop{display:none;}.conceptCompareMobile{display:grid;gap:12px;}
  .conceptCompareMobileCard{overflow:hidden;border:1px solid #dfdad2;border-radius:20px;background:#fff;box-shadow:0 9px 26px rgba(17,24,32,.06);}
  .conceptCompareMobileCard>img{width:100%;height:176px;object-fit:cover;display:block;}
  .conceptCompareMobileCard>header{padding:14px 15px 10px;}.conceptCompareMobileCard>header small{color:#8a6242;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}.conceptCompareMobileCard h3{margin:5px 0 0;color:#111820;font-size:22px;letter-spacing:-.035em;}
  .conceptCompareMobileCard dl{margin:0;padding:0 15px;}.conceptCompareMobileCard dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid #ece7e0;}.conceptCompareMobileCard dl>div.is-different{margin:0 -8px;padding:10px 8px;background:#fffaf0;border-left:3px solid #d3aa79;}.conceptCompareMobileCard dt{color:#68727a;font-size:9px;font-weight:900;}.conceptCompareMobileCard dd{margin:0;color:#242d34;font-size:10px;line-height:1.4;}
  .conceptCompareMobileCard footer{display:grid;grid-template-columns:.78fr 1.22fr;gap:7px;padding:13px 15px 15px;}
  .conceptCompareFooter span{display:none;}.conceptCompareDone{width:100%;}.conceptCompareFooter{padding:9px 10px calc(9px + env(safe-area-inset-bottom));}
  body:not(.adminPage) .detailModalPro .detailSliderNav{width:42px!important;height:42px!important;font-size:29px!important;}
  body:not(.adminPage) .detailModalPro .detailSliderNav.prev{left:12px!important;}
  body:not(.adminPage) .detailModalPro .detailSliderNav.next{right:12px!important;}
  body:not(.adminPage) .detailModalPro .detailDots{bottom:14px!important;max-width:calc(100% - 126px);overflow:hidden;}
  body:not(.adminPage) .conceptDecisionDots{max-width:calc(100% - 126px);overflow:hidden;}
}

/* CMB Konfigurator 1.5.16 – einheitliche Entscheidungs- und Lead-UX */
:root{
  --cmb-action:#176f45;
  --cmb-action-hover:#115a38;
  --cmb-action-soft:#e8f5ed;
  --cmb-secondary:#111820;
  --cmb-difference:#d3aa79;
}

/* Vergleichsaktionen stehen auf Konzept- und Grundrissseite an derselben Stelle. */
body:not(.adminPage) .compareLaunchButton{
  width:248px;
  min-height:52px;
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  align-items:center;
  gap:10px;
  border:1px solid #cfd8d2;
  border-radius:14px;
  padding:9px 11px;
  background:#fff;
  color:#163e2a;
  text-align:left;
  box-shadow:0 7px 18px rgba(17,24,32,.06);
}
body:not(.adminPage) .compareLaunchButton>span:first-child{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--cmb-action-soft);
  color:var(--cmb-action);
}
body:not(.adminPage) .compareLaunchButton>span:last-child{min-width:0;display:block;}
body:not(.adminPage) .compareLaunchButton strong,
body:not(.adminPage) .compareLaunchButton small{display:block;}
body:not(.adminPage) .compareLaunchButton strong{font-size:12px;line-height:1.15;}
body:not(.adminPage) .compareLaunchButton small{margin-top:3px;color:#68727a;font-size:9px;line-height:1.25;}
body:not(.adminPage) .compareLaunchButton:hover{border-color:var(--cmb-action);background:#f4faf6;}
.decisionOptionGroupTools{min-width:248px;align-items:stretch;}
.decisionOptionGroupTools>strong{align-self:flex-end;}

/* Primäraktionen sind grün, Detailaktionen neutral, Unterschiede sandfarben. */
body:not(.adminPage) .conceptDecisionSelect,
body:not(.adminPage) .layoutDecisionSelect,
body:not(.adminPage) .floorplanCompareSelect,
body:not(.adminPage) .floorplanCompareApply,
body:not(.adminPage) .floorplanCompareStart,
.conceptCompareHead button.is-primary,
.conceptCompareMobileCard footer button.is-primary{
  border-color:var(--cmb-action)!important;
  background:var(--cmb-action)!important;
  color:#fff!important;
}
body:not(.adminPage) .conceptDecisionSelect:hover,
body:not(.adminPage) .layoutDecisionSelect:hover,
body:not(.adminPage) .floorplanCompareSelect:hover,
body:not(.adminPage) .floorplanCompareApply:hover,
body:not(.adminPage) .floorplanCompareStart:hover,
.conceptCompareHead button.is-primary:hover,
.conceptCompareMobileCard footer button.is-primary:hover{background:var(--cmb-action-hover)!important;}

/* Jeder Grundriss im Konzeptmodal lässt sich direkt vergrößern. */
.conceptDecisionFloorplanZoom{
  position:relative;
  width:100%;
  height:100%;
  display:block;
  overflow:hidden;
  border:0;
  padding:0;
  background:#fff;
  cursor:zoom-in;
}
.conceptDecisionFloorplanZoom img{width:100%;height:100%;display:block;object-fit:contain;}
.conceptDecisionFloorplanZoom>span{
  position:absolute;
  right:8px;
  bottom:8px;
  border-radius:999px;
  padding:6px 9px;
  background:rgba(17,24,32,.88);
  color:#fff;
  font-size:8px;
  font-weight:900;
}
.conceptDecisionFloorplanZoom:hover>span{background:var(--cmb-action);}

/* Slider-Steuerungen bleiben an die tatsächliche Bildfläche gebunden. */
body:not(.adminPage) .conceptDecisionSlider,
body:not(.adminPage) .detailModalMedia{isolation:isolate;}
body:not(.adminPage) .conceptDecisionSlideNav,
body:not(.adminPage) .detailSliderNav{top:50%!important;bottom:auto!important;}
body:not(.adminPage) .conceptDecisionDots,
body:not(.adminPage) .detailDots{left:50%!important;right:auto!important;transform:translateX(-50%)!important;}

/* Sonderausstattung: Karte wählt, nur der Detailbutton öffnet Informationen. */
.addonHeaderActions{display:flex;align-items:stretch;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.addonUnavailableToggle{
  min-height:56px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  border:1px solid #d9d3ca;
  border-radius:16px;
  padding:9px 13px;
  background:#fff;
  color:#29333a;
  cursor:pointer;
}
.addonUnavailableToggle span{font-size:11px;font-weight:900;}
.addonUnavailableToggle small{margin-top:2px;color:#6b747c;font-size:9px;}
.addonUnavailableToggle:hover,.addonUnavailableToggle.is-active{border-color:#9b7658;background:#fbf6ef;}
.furtherModuleCard.is-incompatible{cursor:default;opacity:.72;background:#f5f3ef;border-style:dashed;}
.furtherModuleCard.is-incompatible:hover{transform:none;border-color:#d6cfc5;box-shadow:var(--shadowSoft);}
.addonIncompatibleBadge{position:absolute;right:12px;top:12px;border-radius:999px;padding:5px 8px;background:#ece8e2;color:#6b6259;font-size:9px;font-weight:900;}
.addonIncompatibleReason{margin-top:8px!important;color:#765c45!important;font-weight:750;}
.productInfoMedia{display:block;}
.productInfoTitle{display:block;padding-right:22px;color:#111820;font-size:15px;line-height:1.18;}

/* Ergebnisseite: Anfrage und Speichern zuerst, Details bewusst nachgelagert. */
.resultUtilityActions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px;}
.resultUtilityActions button{min-height:42px;border:1px solid #d7d1c9;border-radius:12px;padding:9px 13px;background:#fff;color:#182129;font:inherit;font-size:11px;font-weight:900;cursor:pointer;}
.resultUtilityActions button:hover{border-color:var(--cmb-action);color:var(--cmb-action);background:#f5faf7;}
.resultSaveOnlyNote{display:grid;gap:4px;margin-top:18px;padding:13px 15px;border:1px solid #d9e6dd;border-radius:15px;background:#f3faf5;color:#294638;}
.resultSaveOnlyNote strong{font-size:12px;}.resultSaveOnlyNote span{font-size:10px;line-height:1.45;}
.resultContactConsent{border-color:#b9d9c4!important;background:#f1faf4!important;}
.resultContactConsent[hidden]{display:none!important;}
.resultActionCard.is-primary{border-color:#8cc7a2;box-shadow:0 10px 26px rgba(23,111,69,.1);}
.resultActionCard.is-primary::before{content:"Empfohlen";position:absolute;top:10px;right:10px;border-radius:999px;padding:4px 7px;background:var(--cmb-action-soft);color:var(--cmb-action);font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;}
.resultDetailsPanel[hidden]{display:none!important;}
.resultDetailsPanel:not([hidden]){scroll-margin-top:18px;}
.resultProgressiveDisclosure{margin-top:14px;}
.resultProgressiveDisclosure>summary{display:flex;}
.resultProgressiveDisclosure:not([open]){padding:0;}
.resultProgressiveDisclosure[open]>summary{margin-left:0;margin-right:0;}

@media(max-width:900px){
  .decisionOptionGroupTools{width:100%;min-width:0;align-items:stretch;}
  .decisionOptionGroupTools>strong{align-self:flex-start;}
  body:not(.adminPage) .compareLaunchButton{width:100%;}
  .addonHeaderActions{justify-content:flex-start;}
}
@media(max-width:700px){
  .addonHeaderActions{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%;}
  .addonUnavailableToggle{min-width:0;}
  .resultUtilityActions{display:grid;grid-template-columns:1fr;}
  .resultSaveJourney{margin-top:14px;}
  .conceptDecisionFloorplanZoom>span{font-size:7px;padding:5px 7px;}
}

/* CMB Konfigurator 1.5.17 – zwei eindeutige Abschlusswege */
.resultRouteGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:25px;}
.resultRouteCard{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  grid-template-rows:1fr auto;
  gap:14px 15px;
  min-height:235px;
  border:1px solid #ded8cf;
  border-radius:22px;
  padding:22px;
  background:#fbfaf8;
  box-shadow:0 10px 28px rgba(17,24,32,.055);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.resultRouteCard:hover{transform:translateY(-2px);border-color:#b9c8bf;box-shadow:0 15px 34px rgba(17,24,32,.085);}
.resultRouteCard.is-selected{border-color:var(--cmb-action);box-shadow:0 0 0 3px rgba(23,111,69,.12),0 16px 36px rgba(17,24,32,.09);}
.resultRouteCard.is-primary{background:linear-gradient(145deg,#f5fbf7,#eef8f2);border-color:#a8cfb6;}
.resultRouteNumber{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#ece7df;color:#72583f;font-size:11px;font-weight:950;}
.resultRouteCard.is-primary .resultRouteNumber{background:#dcefe3;color:var(--cmb-action);}
.resultRouteCopy h3{margin:2px 0 9px;color:#111820;font-size:24px;line-height:1.08;letter-spacing:-.035em;}
.resultRouteCopy p{margin:0;color:#606970;font-size:13px;line-height:1.55;}
.resultRouteCard>button{grid-column:1/-1;min-height:50px;border-radius:14px;padding:12px 16px;font:inherit;font-size:13px;font-weight:900;cursor:pointer;}
.resultRoutePrimary{border:1px solid var(--cmb-action);background:var(--cmb-action);color:#fff;}
.resultRoutePrimary:hover{background:var(--cmb-action-hover);border-color:var(--cmb-action-hover);}
.resultRouteSecondary{border:1px solid #bfc5c8;background:#fff;color:#182129;}
.resultRouteSecondary:hover{border-color:#182129;background:#f6f7f7;}
.resultRouteFormWrap{margin-top:16px;}
.resultRouteFormPanel{display:grid;grid-template-columns:minmax(0,.78fr) minmax(340px,1.22fr);gap:28px;align-items:start;border:1px solid #d9e4dc;border-radius:22px;padding:24px;background:linear-gradient(135deg,#fff,#f4faf6);scroll-margin-top:18px;}
.resultRouteFormPanel.is-save{border-color:#e0dbd4;background:linear-gradient(135deg,#fff,#faf8f5);}
.resultRouteFormPanel[hidden]{display:none!important;}
.resultRouteFormIntro>span{display:block;color:#8d6848;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;}
.resultRouteFormIntro h3{margin:8px 0 10px;color:#111820;font-size:30px;line-height:1.08;letter-spacing:-.04em;}
.resultRouteFormIntro p{margin:0;color:#626b72;font-size:13px;line-height:1.55;}
.resultPathForm{display:grid;gap:13px;border:1px solid #e0dbd3;border-radius:18px;padding:19px;background:#fff;box-shadow:0 10px 28px rgba(17,24,32,.06);}
.resultPathForm>label:not(.privacyCheck){display:grid;gap:7px;color:#252d33;font-size:12px;font-weight:850;}
.resultPathForm input[type="text"],.resultPathForm input[type="email"],.resultPathForm input[type="tel"],.resultPathForm input:not([type]){width:100%;min-height:48px;border:1px solid #d4cec5;border-radius:13px;padding:11px 13px;background:#fff;color:#111820;font:inherit;}
.resultPathForm input:focus{outline:3px solid rgba(23,111,69,.16);border-color:var(--cmb-action);}
.resultPathForm input[readonly]{background:#f2f1ef;color:#626971;}
.resultPathForm .privacyCheck{margin:2px 0 0;font-size:11px;line-height:1.45;}
.resultPathForm .resultContactMessagePrompt{font-size:12px;line-height:1.45;font-weight:650;color:#626971;}
.resultPathForm .fullWidthBtn{min-height:51px;background:var(--cmb-action);cursor:pointer;white-space:normal;line-height:1.3;}
.resultPathForm .fullWidthBtn:hover{background:var(--cmb-action-hover);}
.resultPathForm .resultSaveSubmit{border:1px solid #20282e;background:#20282e;}
.resultPathForm .resultSaveSubmit:hover{background:#0f151a;}
.resultNextActions>.resultLoggedInNote{margin-top:16px;}

@media(max-width:850px){
  .resultRouteFormPanel{grid-template-columns:1fr;}
}
@media(max-width:700px){
  .resultRouteGrid{grid-template-columns:1fr;gap:11px;margin-top:18px;}
  .resultRouteCard{min-height:0;padding:18px;grid-template-columns:40px minmax(0,1fr);gap:11px 12px;border-radius:18px;}
  .resultRouteNumber{width:38px;height:38px;border-radius:12px;}
  .resultRouteCopy h3{font-size:21px;}.resultRouteCopy p{font-size:12px;}
  .resultRouteCard>button{min-height:48px;}
  .resultRouteFormPanel{gap:18px;padding:17px;border-radius:19px;}
  .resultRouteFormIntro h3{font-size:25px;}
  .resultPathForm{padding:16px;}
}

/* CMB Konfigurator 1.5.22 – mobile Navigation und progressive Informationsdichte */
.mobileMenuToggle,
.mobileMenuClose,
.mobileStepStatus,
.mobileMenuBackdrop{display:none}

.mobileInfoDisclosure>summary,
.orientationPathDetails>summary{display:none}
.mobileInfoDisclosureBody{min-width:0}
.orientationPathDetails{grid-column:1/-1;min-width:0}
.orientationPathDetailsBody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}

@media(max-width:1100px){
  .orientationPathDetailsBody{grid-template-columns:1fr}
}

@media(max-width:980px){
  body.mobileMenuOpen{overflow:hidden;overscroll-behavior:none}
  .appShell{display:block;min-height:100vh}
  .contentShell{width:100%;min-width:0}

  .sideMenu{
    position:fixed;
    z-index:90;
    inset:0 auto 0 0;
    width:min(360px,88vw);
    height:100dvh;
    padding:calc(14px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom));
    overflow:auto;
    overscroll-behavior:contain;
    transform:translateX(-104%);
    transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s ease;
    box-shadow:none;
  }
  .sideMenu.is-open{
    transform:translateX(0);
    box-shadow:24px 0 70px rgba(0,0,0,.36);
  }
  .mobileMenuClose{
    width:100%;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin:0 0 10px;
    border:0;
    border-radius:14px;
    padding:8px 10px;
    background:rgba(255,255,255,.07);
    color:#eef2f5;
    font-size:12px;
    font-weight:850;
  }
  .mobileMenuClose>span:first-child{font-size:24px;line-height:1}
  .mobileMenuBackdrop:not([hidden]){
    position:fixed;
    z-index:80;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    border:0;
    padding:0;
    background:rgba(8,12,17,.48);
    backdrop-filter:blur(3px);
  }

  .topbar{height:auto;min-height:64px}
  .topInner{
    max-width:none;
    min-height:64px;
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto;
    gap:10px;
    padding:8px 14px;
  }
  .mobileMenuToggle{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    align-self:center;
    border:1px solid #ded9d1;
    border-radius:14px;
    padding:0;
    background:#fff;
    color:#111820;
    box-shadow:0 5px 14px rgba(17,24,32,.06);
  }
  .mobileMenuToggleLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .mobileMenuIcon{width:18px;display:grid;gap:4px}
  .mobileMenuIcon i{display:block;width:18px;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
  body.mobileMenuOpen .mobileMenuIcon i:nth-child(1){transform:translateY(6px) rotate(45deg)}
  body.mobileMenuOpen .mobileMenuIcon i:nth-child(2){opacity:0}
  body.mobileMenuOpen .mobileMenuIcon i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  .topInner>.brand{min-width:0}
  .topInner>.brand>div:last-child{min-width:0}
  .brandTitle,.brandSub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobileStepStatus{
    min-width:96px;
    max-width:132px;
    display:grid;
    justify-items:end;
    gap:2px;
    padding:6px 9px;
    border:1px solid #e2ddd5;
    border-radius:12px;
    background:#fbfaf8;
    color:#111820;
  }
  .mobileStepStatus strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.1}
  .mobileStepStatus small{color:#747c83;font-size:8px;font-weight:750;white-space:nowrap}
  .customerConfigIdentityTop{grid-column:1/-1;justify-self:stretch;margin:0}
.customerConfigIdentityTop .customerLogoutForm{margin-left:auto}
  .customerConfigIdentityTop:not(.is-hidden){display:flex}
.customerLogoutForm{margin-left:auto;display:flex;align-items:center}
.customerLogoutForm button{border:1px solid #ded9d1;background:#fff;color:#4f555c;border-radius:999px;padding:7px 12px;min-height:36px;font-size:12px;font-weight:800;white-space:nowrap}
.customerLogoutForm button:hover{border-color:#cbb9a6;background:#fbf7f2;color:#2b3137}


  .bottomNav{left:0;height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
  .bottomInner{padding:0 14px;gap:12px}
  .bottomInner .next{min-height:46px;padding:11px 20px}
  .main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
}

@media(max-width:700px){
  .topInner{grid-template-columns:44px minmax(0,1fr) auto;padding:8px 10px}
  .topInner .logo{width:31px;height:31px}
  .brand{gap:9px}
  .brandTitle{font-size:15px}
  .brandSub{font-size:10px}
  .mobileStepStatus{min-width:88px;max-width:112px;padding:6px 8px}

  .mobileInfoDisclosure,
  .orientationPathDetails{
    display:block;
    overflow:hidden;
    border:1px solid #e1dcd4;
    border-radius:18px;
    background:#fff;
    box-shadow:0 7px 20px rgba(17,24,32,.05);
  }
  .mobileInfoDisclosure>summary,
  .orientationPathDetails>summary{
    min-height:58px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 26px;
    align-items:center;
    gap:12px;
    list-style:none;
    padding:13px 15px;
    color:#192129;
    cursor:pointer;
  }
  .mobileInfoDisclosure>summary::-webkit-details-marker,
  .orientationPathDetails>summary::-webkit-details-marker{display:none}
  .mobileInfoDisclosure>summary>span,
  .orientationPathDetails>summary>span{min-width:0;display:grid;gap:3px}
  .mobileInfoDisclosure>summary strong,
  .orientationPathDetails>summary strong{font-size:13px;line-height:1.2}
  .mobileInfoDisclosure>summary small,
  .orientationPathDetails>summary small{color:#6b747c;font-size:10px;line-height:1.35}
  .mobileInfoDisclosure>summary>b,
  .orientationPathDetails>summary>b{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#f1eee9;color:#725a45;font-size:18px;transition:transform .18s ease}
  .mobileInfoDisclosure[open]>summary>b,
  .orientationPathDetails[open]>summary>b{transform:rotate(180deg)}
  .mobileInfoDisclosure[open]>.mobileInfoDisclosureBody,
  .orientationPathDetails[open]>.orientationPathDetailsBody{border-top:1px solid #ece7e0}

  .startAccountDisclosure{margin:0 0 20px}
  .startAccountDisclosure .startAccountAccess{margin:0;border:0;border-radius:0;box-shadow:none}
  .startAccountDisclosure:not([open])>summary{background:linear-gradient(135deg,#f7fbf8,#fff)}

  .orientationHero{gap:14px}
  .orientationFreedomDisclosure{border-color:#ead8c1;background:#fffaf3}
  .orientationFreedomDisclosure .orientationFreedom{margin:0;border:0;border-radius:0;box-shadow:none}
  .orientationFreedomDisclosure>summary{background:#fffaf3}
  .orientationPathDetails{grid-column:1/-1;box-shadow:none}
  .orientationPathDetailsBody{grid-template-columns:1fr;gap:18px;padding:18px}
  .orientationPathBody{align-content:start}
  .orientationPathAction{grid-column:1/-1}
  .orientationProcessDisclosure{margin-top:22px}
  .orientationProcessDisclosure .orientationProcess{margin:0;border:0;border-radius:0;box-shadow:none}
  .orientationProcessDisclosure>summary{background:#f7f4ef}

  .personBenefitsDisclosure{margin:-6px 0 20px}
  .personBenefitsDisclosure .personBenefits{display:grid;margin:0;padding:14px;grid-template-columns:1fr}
  .personBenefitsDisclosure .personBenefits article{min-height:0}

  .vehicleBasisDisclosure{margin:0 0 18px}
  .vehicleBasisDisclosure .vehicleBasisGuide{display:grid;margin:0;border:0;border-radius:0;box-shadow:none}

  .selectionContextDisclosure{margin:0 0 18px}
  .selectionContextDisclosure .selectionContextCard{margin:0;border:0;border-radius:0;box-shadow:none}
  .selectionContextDisclosure>summary{background:linear-gradient(135deg,#fff,#fbf7f1)}
  .selectionContextDisclosure:not([open])>summary small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .bottomInner .back{min-height:44px;padding:0 4px}
  .bottomInner .next{flex:1;max-width:250px}
}

@media(max-width:430px){
  .topInner>.brand .logo{display:none}
  .topInner>.brand{gap:0}
  .mobileStepStatus{min-width:82px;max-width:96px}
  .mobileStepStatus strong{font-size:10px}
  .mobileStepStatus small{font-size:7.5px}
  .sideMenu{width:min(340px,92vw)}
}

@media(prefers-reduced-motion:reduce){
  .sideMenu,
  .mobileMenuIcon i,
  .mobileInfoDisclosure>summary>b,
  .orientationPathDetails>summary>b{transition:none}
}

/* CMB Konfigurator 1.5.24 – Originalmarke und iPhone-sichere kompakte Datendarstellung */
.sideBrand{
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.sideLogo{
  width:min(222px,100%);
  height:auto;
  max-height:58px;
  display:block;
  object-fit:contain;
  object-position:left center;
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  box-shadow:none;
  filter:brightness(0) invert(1);
}
.brand{min-width:0;flex:0 1 auto}
.brandLogo{
  width:clamp(142px,15vw,184px);
  height:auto;
  max-height:48px;
  display:block;
  object-fit:contain;
  object-position:left center;
}

@media(max-width:980px){
  .brandLogo{width:clamp(126px,32vw,164px);max-height:42px}
  .topInner>.brand{display:flex;align-items:center}
}

@media(max-width:700px){
  /* Vergleichstabellen werden mobil als zweispaltige Datengitter gelesen.
     Das halbiert die vertikale Strecke, ohne Auswahlflächen zu verkleinern. */
  .conceptCompareMobileCard dl{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    padding:0 13px 10px;
  }
  .conceptCompareMobileCard dl>div{
    min-width:0;
    display:grid;
    grid-template-columns:1fr;
    align-content:start;
    gap:4px;
    margin:0;
    padding:10px 9px;
    border-top:1px solid #ece7e0;
    border-right:1px solid #ece7e0;
  }
  .conceptCompareMobileCard dl>div:nth-child(2n){border-right:0}
  .conceptCompareMobileCard dl>div.is-different{
    margin:0;
    padding:10px 9px;
    border-left:3px solid #d3aa79;
    background:#fffaf0;
  }
  .conceptCompareMobileCard dt{font-size:8px;line-height:1.25}
  .conceptCompareMobileCard dd{font-size:9.5px;line-height:1.35;overflow-wrap:anywhere}

  /* Ergebnis-Zusammenfassung als zwei kompakte Wertefelder statt langer Zeilenliste. */
  .resultDetailColumns .summaryRows{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .resultDetailColumns .summaryRow{
    min-width:0;
    min-height:64px;
    display:grid;
    align-content:start;
    gap:5px;
    border:1px solid #e7e2db;
    border-radius:13px;
    padding:10px 11px;
    background:#fbfaf8;
  }
  .resultDetailColumns .summaryRow span{
    color:#737b82;
    font-size:8px;
    font-weight:850;
    line-height:1.25;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .resultDetailColumns .summaryRow strong{
    min-width:0;
    color:#111820;
    font-size:11px;
    line-height:1.3;
    text-align:left;
    overflow-wrap:anywhere;
  }
  .resultDetailColumns .priceSummaryRow{
    border-color:#d4e4d9;
    background:#f2f8f4;
  }
  .resultDetailColumns .priceSummaryRow strong{font-size:16px!important}

  /* Der Grundrissvergleich bleibt auch auf typischen 360–430-Pixel-Geräten zweispaltig. */
  .floorplanCompareMobileValues{grid-template-columns:repeat(2,minmax(0,1fr))}
  .floorplanCompareMobileValues>div{padding:9px}
}

@media(max-width:430px){
  .topInner>.brand .brandLogo{display:block}
  .brandLogo{width:clamp(116px,34vw,138px);max-height:38px}
  .floorplanCompareMobileValues{grid-template-columns:repeat(2,minmax(0,1fr))}
  .floorplanCompareMobileValues>div{border-right:1px solid #e7e2db}
  .floorplanCompareMobileValues>div:nth-child(2n){border-right:0}
}

/* iPhone-Fix: Auch 320-px-Viewports behalten zwei Wertefelder pro Zeile.
   Die Selektoren sind bewusst stärker als ältere 430-px-Fallbacks. */
@media screen and (min-width:320px) and (max-width:700px){
  body:not(.adminPage) .conceptCompareMobileCard dl,
  body:not(.adminPage) .resultDetailColumns .summaryRows,
  body:not(.adminPage) .floorplanCompareMobileValues{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  body:not(.adminPage) .conceptCompareMobileCard dl>div,
  body:not(.adminPage) .resultDetailColumns .summaryRow,
  body:not(.adminPage) .floorplanCompareMobileValues>div{
    min-width:0;
    grid-column:auto!important;
  }
  body:not(.adminPage) .conceptCompareMobileCard dl>div:nth-child(2n),
  body:not(.adminPage) .floorplanCompareMobileValues>div:nth-child(2n){border-right:0}
}

@media(max-width:319px){
  .brandLogo{width:104px}
  body:not(.adminPage) .conceptCompareMobileCard dl,
  body:not(.adminPage) .resultDetailColumns .summaryRows,
  body:not(.adminPage) .floorplanCompareMobileValues{grid-template-columns:1fr!important}
  body:not(.adminPage) .conceptCompareMobileCard dl>div,
  body:not(.adminPage) .floorplanCompareMobileValues>div{border-right:0}
}

/* CMB Konfigurator 1.5.25 – Mobile Karten kompakter: Fakten 2×2 und Zusatztext einklappbar */
@media screen and (min-width:320px) and (max-width:700px){
  /* Die vier Kerndaten einer Entscheidungskarte werden auf iPhone-Breite
     als zwei Spalten mit zwei Zeilen gezeigt. Ältere 720-px-Regeln werden
     bewusst überschrieben. */
  body:not(.adminPage) .cardFactGrid,
  body:not(.adminPage) .vehicleSizeCards .cardFactGrid,
  body:not(.adminPage) .vehicleStatusCards .cardFactGrid,
  body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards .cardFactGrid,
  body:not(.adminPage) .conceptCards .cardFactGrid,
  body:not(.adminPage) .floorplanCards .cardFactGrid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px!important;
    width:100%;
  }
  body:not(.adminPage) .cardFactGrid>span{
    min-width:0;
    min-height:34px;
    padding:7px 9px;
    font-size:11px;
    line-height:1.22;
    overflow-wrap:anywhere;
  }

  /* Der längere Erklärungstext ist mobil standardmäßig geschlossen.
     Die grüne Entscheidungshilfe und der Auswahlbutton bleiben sichtbar. */
  body:not(.adminPage) .cardFitDisclosure{
    margin-top:6px;
    border-radius:15px;
    box-shadow:none;
    background:#fffaf4;
    border-color:#ead8c5;
  }
  body:not(.adminPage) .cardFitDisclosure>summary{
    min-height:48px;
    padding:10px 12px;
    background:#fffaf4;
  }
  body:not(.adminPage) .cardFitDisclosure>summary strong{font-size:11px}
  body:not(.adminPage) .cardFitDisclosure>summary small{font-size:9px}
  body:not(.adminPage) .cardFitDisclosure .cardFit{
    display:block;
    margin:0;
    border:0;
    border-radius:0;
    background:#fffaf4;
    box-shadow:none;
    padding:12px 13px 13px;
  }
  body:not(.adminPage) .cardFitDisclosure .cardFit>strong{display:none}

  body:not(.adminPage) .vehicleSizeCards .vehicleSizeDecisionCard{
    padding:18px!important;
  }
}

@media(max-width:319px){
  body:not(.adminPage) .cardFactGrid{grid-template-columns:1fr!important}
}

/* CMB Konfigurator 1.5.29 – mobile Inhalte konsequent verdichtet
   Grundsatz: Kerndaten und Entscheidungen bleiben sichtbar. Ausführliche Erklärungen
   werden mobil in vorhandene Detailansichten bzw. native Aufklappbereiche verlagert. */
@media screen and (min-width:320px) and (max-width:700px){
  /* Allgemeine Seitenführung: kurze Einordnung statt langer Einleitung. */
  body:not(.adminPage) .pageTitle{font-size:clamp(28px,8.8vw,36px);line-height:1.02;margin-bottom:7px}
  body:not(.adminPage) .pageLead{
    display:-webkit-box;
    max-width:none;
    margin-bottom:20px;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-size:14px;
    line-height:1.42;
  }

  /* PAGE-START: Hero und Vertrauensbelege auf das Wesentliche reduzieren. */
  body:not(.adminPage).homeStart .homeHero{margin-bottom:22px;border-radius:0 0 22px 22px}
  body:not(.adminPage).homeStart .homeHeroInner{padding:26px 20px 16px}
  body:not(.adminPage).homeStart .homeHeroEyebrow{margin-bottom:11px;font-size:10px}
  body:not(.adminPage).homeStart .homeHero h1{font-size:clamp(34px,10.2vw,43px);line-height:.96;margin-bottom:13px}
  body:not(.adminPage).homeStart .homeHeroCopy>p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    font-size:14px;
    line-height:1.48;
  }
  body:not(.adminPage).homeStart .homeHeroActions{gap:10px;margin-top:20px}
  body:not(.adminPage).homeStart .homeHeroButton{min-height:48px;border-radius:15px;padding:0 16px;font-size:13px}
  body:not(.adminPage).homeStart .homeTrustBar{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    margin-top:18px;
    padding-top:8px;
  }
  body:not(.adminPage).homeStart .homeTrustItem,
  body:not(.adminPage).homeStart .homeTrustItem:first-child{
    min-width:0;
    min-height:68px;
    grid-template-columns:30px minmax(0,1fr);
    gap:8px;
    padding:10px 8px;
    border-top:1px solid rgba(255,255,255,.14);
    border-left:1px solid rgba(255,255,255,.14);
  }
  body:not(.adminPage).homeStart .homeTrustItem:nth-child(-n+2){border-top:0}
  body:not(.adminPage).homeStart .homeTrustItem:nth-child(odd){border-left:0}
  body:not(.adminPage).homeStart .homeTrustIcon,
  body:not(.adminPage).homeStart .homeTrustIcon svg,
  body:not(.adminPage).homeStart .homeTrustIcon span{width:30px;height:30px}
  body:not(.adminPage).homeStart .homeTrustIcon span{border-radius:10px;font-size:11px}
  body:not(.adminPage).homeStart .homeTrustItem strong{font-size:14px;line-height:1.05}
  body:not(.adminPage).homeStart .homeTrustItem span{font-size:10px;line-height:1.2}
  body:not(.adminPage).homeStart .homeTrustItem small{display:none}

  body:not(.adminPage).homeStart .startDecisionIntro{margin-bottom:13px}
  body:not(.adminPage).homeStart .startDecisionIntro h2{font-size:28px}
  body:not(.adminPage).homeStart .startDecisionIntro p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-size:13px;
  }
  body:not(.adminPage).homeStart .startPathGrid{gap:12px}
  body:not(.adminPage).homeStart .startPathCard,
  body:not(.adminPage).homeStart .startPathCardPrimary,
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary){min-height:228px}
  body:not(.adminPage).homeStart .startPathContent,
  body:not(.adminPage).homeStart .startPathCardPrimary .startPathContent{padding:15px 16px 16px}
  body:not(.adminPage).homeStart .startPathCard h3,
  body:not(.adminPage).homeStart .startPathCard:not(.startPathCardPrimary) h3{font-size:24px}
  body:not(.adminPage).homeStart .startPathCard p{display:none!important}
  body:not(.adminPage).homeStart .startPathSubtitle{margin-bottom:9px;font-size:13px;line-height:1.25}
  body:not(.adminPage).homeStart .startPathAction{min-height:43px;padding:10px 13px;font-size:11px}

  /* PAGE-ORIENTIERUNG: Erklärung bleibt in den vorhandenen Aufklappern erhalten. */
  body:not(.adminPage).orientationPage .orientationHeroCopy h1{font-size:clamp(31px,9vw,38px);line-height:1}
  body:not(.adminPage).orientationPage .orientationHeroCopy>p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    font-size:14px;
    line-height:1.45;
  }
  body:not(.adminPage).orientationPage .orientationPathMedia{min-height:225px}
  body:not(.adminPage).orientationPage .orientationPathMedia>div{padding:18px}
  body:not(.adminPage).orientationPage .orientationPathMedia h2{font-size:27px}
  body:not(.adminPage).orientationPage .orientationPathMedia p{display:none}
  body:not(.adminPage).orientationPage .orientationClosing p{display:none}
  body:not(.adminPage).orientationPage .orientationClosing{padding:20px}

  /* Auswahlkarten: Seitenspezifische Doppelungen ausblenden. */
  body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard>.cardDescription,
  body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard>.cardTags,
  body:not(.adminPage)[data-config-step="floorplan"] .floorplanDecisionCard>.cardDescription,
  body:not(.adminPage)[data-config-step="floorplan"] .floorplanDecisionCard>.cardTags,
  body:not(.adminPage)[data-config-step="brand"] .vehicleBrandDecisionCard>.cardDescription,
  body:not(.adminPage)[data-config-step="brand"] .vehicleBrandDecisionCard>.cardTags,
  body:not(.adminPage)[data-config-step="vehicle"] .vehicleStatusDecisionCard>.cardTags,
  body:not(.adminPage)[data-config-step="size"] .vehicleSizeDecisionCard>.cardTags,
  body:not(.adminPage)[data-config-step="size"] .vehicleSizeDecisionCard>.cardAdviceNote{display:none!important}

  body:not(.adminPage)[data-config-step="persons"] .personaChoiceCard .cardTags .tag:nth-of-type(n+3){display:none}
  body:not(.adminPage)[data-config-step="buildtype"] .cardDescription{
    display:-webkit-box!important;
    overflow:hidden!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard>.cardTitle,
  body:not(.adminPage)[data-config-step="floorplan"] .floorplanDecisionCard>.cardTitle,
  body:not(.adminPage)[data-config-step="brand"] .vehicleBrandDecisionCard>.cardTitle{margin-bottom:9px!important}
  body:not(.adminPage) .decisionOptionGroupHeader p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  /* Wiederkehrender Beratungsweg: mobil eine kompakte Zeile, Desktop unverändert. */
  body:not(.adminPage) .advisorDisclosure{margin:14px 0 18px;border-color:#dfd8ce;background:#fbf8f3}
  body:not(.adminPage) .advisorDisclosure>summary{min-height:54px;padding:11px 13px;background:#fbf8f3}
  body:not(.adminPage) .advisorDisclosure>summary strong{font-size:12px}
  body:not(.adminPage) .advisorDisclosure>summary small{font-size:9px}
  body:not(.adminPage) .advisorDisclosure .advisorPanel{margin:0;border:0;border-radius:0;box-shadow:none;padding:17px}

  /* PAGE-WOHNBEREICHE / SERIENAUSSTATTUNG: Fakten priorisieren, Wiederholungen einklappen. */
  body:not(.adminPage).modulePackagePage .moduleHeaderHero .homeHeroInner{padding:26px 18px 16px}
  body:not(.adminPage).modulePackagePage .moduleHeaderHero h1{font-size:clamp(31px,9vw,39px);margin-bottom:10px}
  body:not(.adminPage).modulePackagePage .moduleHeaderHero .homeHeroCopy>p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-size:13px;
  }
  body:not(.adminPage).modulePackagePage .moduleHeroFacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body:not(.adminPage).modulePackagePage .moduleHeroFacts>span{min-height:34px;padding:7px 9px;font-size:10px}
  body:not(.adminPage).modulePackagePage .moduleHeroFacts>span:nth-child(n+5){display:none}
  body:not(.adminPage).modulePackagePage .moduleHeaderHero .homeHeroActions{margin-top:16px}
  body:not(.adminPage).modulePackagePage .moduleHeaderHero .homeHeroActions .secondary{display:none}
  body:not(.adminPage).modulePackagePage .moduleHeroTrustBar{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    margin-top:15px;
    padding-top:8px;
  }
  body:not(.adminPage).modulePackagePage .moduleHeroTrustBar .homeTrustItem,
  body:not(.adminPage).modulePackagePage .moduleHeroTrustBar .homeTrustItem:first-child{
    min-width:0;
    min-height:58px;
    grid-template-columns:26px minmax(0,1fr);
    gap:6px;
    padding:8px 6px;
    border-top:0;
    border-left:1px solid rgba(255,255,255,.14);
  }
  body:not(.adminPage).modulePackagePage .moduleHeroTrustBar .homeTrustItem:first-child{border-left:0}
  body:not(.adminPage).modulePackagePage .moduleHeroTrustBar .homeTrustIcon,
  body:not(.adminPage).modulePackagePage .moduleHeroTrustBar .homeTrustIcon span{width:26px;height:26px}
  body:not(.adminPage).modulePackagePage .moduleHeroTrustBar .homeTrustItem strong{font-size:10px;line-height:1.15}
  body:not(.adminPage).modulePackagePage .moduleHeroTrustBar .homeTrustItem>div>span{display:none}

  body:not(.adminPage).modulePackagePage .moduleExperienceIntro p,
  body:not(.adminPage).modulePackagePage .moduleExperienceLink,
  body:not(.adminPage).modulePackagePage .includedAddonDecisionSection .sectionIntro,
  body:not(.adminPage).modulePackagePage .moduleNextContent>p{display:none!important}
  body:not(.adminPage).modulePackagePage .moduleExperienceIntro{margin-bottom:13px}
  body:not(.adminPage).modulePackagePage .moduleExperienceIntro h2{font-size:27px}

  body:not(.adminPage).modulePackagePage .moduleFloorplanFactsDisclosure{
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:#f7f0e5;
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanFactsDisclosure>summary{
    min-height:50px;
    margin:0 16px 10px;
    border:1px solid rgba(94,70,48,.16);
    border-radius:14px;
    background:rgba(255,255,255,.62);
  }
  body:not(.adminPage).modulePackagePage .moduleFloorplanFactsDisclosure[open]>.mobileInfoDisclosureBody{border-top:0}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRowsSecondary{padding-top:0!important}
  body:not(.adminPage).modulePackagePage .moduleFloorplanBrochureRowsSecondary .moduleFloorplanBrochureRow:first-child{border-top:1px solid rgba(73,53,36,.18)}

  body:not(.adminPage).modulePackagePage .includedAddonCard .moduleCardDescription{display:none}
  body:not(.adminPage).modulePackagePage .includedAddonCard{min-height:0}
  body:not(.adminPage).modulePackagePage .includedFurnitureSection .sectionTopline{margin-bottom:12px}
  body:not(.adminPage).modulePackagePage .includedSummaryMain small{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:1;
  }
  body:not(.adminPage).modulePackagePage .moduleNextCta{gap:16px}
  body:not(.adminPage).modulePackagePage .moduleNextContent h2{font-size:27px}

  /* PAGE-MÖBELMODULE / PAGE-SONDERAUSSTATTUNG: Karte entscheidet, Detaildialog erklärt. */
  body:not(.adminPage).moduleCatalogPage .sectionIntro,
  body:not(.adminPage)[data-config-step="addons"] .addonDecisionSection .sectionIntro{display:none!important}
  body:not(.adminPage).moduleCatalogPage .freeModuleCard .moduleCardDescription,
  body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard .moduleCardDescription{display:none!important}
  body:not(.adminPage).moduleCatalogPage .freeModuleDecisionSection>.moduleDetails,
  body:not(.adminPage)[data-config-step="addons"] .addonDecisionSection>.moduleDetails{display:none!important}
  body:not(.adminPage).moduleCatalogPage .selectionRequirementNotice span{display:none}
  body:not(.adminPage).moduleCatalogPage .selectionRequirementNotice{padding:11px 13px}
  body:not(.adminPage).moduleCatalogPage .freeModuleCard,
  body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard{min-height:0}
  body:not(.adminPage)[data-config-step="addons"] .addonSelectionNotice{display:grid;gap:3px;padding:11px 13px}
  body:not(.adminPage)[data-config-step="addons"] .addonSelectionNotice strong{font-size:12px}
  body:not(.adminPage)[data-config-step="addons"] .addonSelectionNoticeDetail{display:none}
  body:not(.adminPage)[data-config-step="addons"] .addonGroupHead p{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  /* PAGE-ERGEBNIS: Entscheidung zuerst, erläuternde Wiederholungen kürzer. */
  body:not(.adminPage).resultExperiencePage .resultExperienceCopy>p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  body:not(.adminPage).resultExperiencePage .resultSectionHead>p,
  body:not(.adminPage).resultExperiencePage .resultRouteCopy>p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  body:not(.adminPage).resultExperiencePage .resultRouteFormIntro>p{display:none}
}

@media(max-width:319px){
  body:not(.adminPage).homeStart .homeTrustBar,
  body:not(.adminPage).modulePackagePage .moduleHeroTrustBar{grid-template-columns:1fr}
  body:not(.adminPage).homeStart .homeTrustItem,
  body:not(.adminPage).homeStart .homeTrustItem:first-child,
  body:not(.adminPage).modulePackagePage .moduleHeroTrustBar .homeTrustItem,
  body:not(.adminPage).modulePackagePage .moduleHeroTrustBar .homeTrustItem:first-child{border-left:0}
}

/* CMB Konfigurator 1.5.31 – Sichtbarer Inhalt aller mobilen „Passt gut“-Aufklapper
   Frühere mobile Verdichtungsregeln dürfen nur noch direkt eingebettete Legacy-Texte
   ausblenden. Inhalte innerhalb des nativen Details-Aufklappers bleiben beim Öffnen sichtbar. */
@media screen and (min-width:320px) and (max-width:700px){
  body:not(.adminPage) .cardFitDisclosure[open]>.mobileInfoDisclosureBody>.cardFit{
    display:block!important;
  }
}

/* CMB Konfigurator 1.5.30 – Mobile Info-Interaktionen und erkennbare Detailansicht
   Mobile Aufklapper sind eigenständige Bedienelemente. Der Info-Zugang erhält eine
   eindeutige Kennzeichnung, geometrisch zentrierte Pfeile und die Konzeptdetails
   öffnen sich wie eine neue, jederzeit verlassbare Ebene. */
.conceptDecisionBackGlyph,
.conceptDecisionCloseLabel{display:none}
.conceptDecisionCloseGlyph{display:inline}

@media(max-width:700px){
  /* Native Pfeile statt schriftabhängiger Sonderzeichen: dadurch auf iOS/Android zentriert. */
  .mobileInfoDisclosure>summary>b,
  .orientationPathDetails>summary>b{
    position:relative;
    width:30px;
    height:30px;
    font-size:0!important;
    line-height:0;
    transform-origin:50% 50%;
  }
  .mobileInfoDisclosure>summary>b::before,
  .orientationPathDetails>summary>b::before{
    content:"";
    width:7px;
    height:7px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
  }
  .mobileInfoDisclosure[open]>summary>b,
  .orientationPathDetails[open]>summary>b{transform:rotate(180deg)}

  /* „Passt gut, wenn …“ als klarer Info-Zugang statt unscheinbarer Tabellenzeile. */
  body:not(.adminPage) .cardFitDisclosure>summary{
    grid-template-columns:34px minmax(0,1fr) 30px;
    gap:10px;
    min-height:52px;
  }
  body:not(.adminPage) .cardFitDisclosure>summary::before{
    content:"i";
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border:1px solid #dfc8ae;
    border-radius:50%;
    background:#fff;
    color:#805d3d;
    font-size:15px;
    font-weight:950;
    font-family:Arial,sans-serif;
    box-shadow:0 3px 10px rgba(91,65,42,.08);
  }
  body:not(.adminPage) .cardFitDisclosure[open]>summary::before{
    border-color:#b8dcc8;
    background:#eaf7ef;
    color:#176f45;
  }
  body:not(.adminPage) .cardFitDisclosure>summary strong{font-size:12px}
  body:not(.adminPage) .cardFitDisclosure>summary small{font-size:9.5px}
  body:not(.adminPage) .cardFitDisclosure>summary:active{background:#f8efe4}

  /* Konzeptdetails verhalten sich mobil wie eine neue Seite: Slide-in, feste Zurückleiste. */
  .conceptDecisionOverlay{
    opacity:0;
    background:#fff;
    backdrop-filter:none;
    transition:opacity .22s ease;
  }
  .conceptDecisionOverlay .conceptDecisionModal{
    opacity:1;
    transform:translateX(100%);
    box-shadow:-18px 0 45px rgba(10,16,22,.2);
    transition:transform .28s cubic-bezier(.22,.75,.22,1);
    will-change:transform;
  }
  .conceptDecisionOverlay.is-visible{opacity:1}
  .conceptDecisionOverlay.is-visible .conceptDecisionModal{transform:translateX(0)}
  .conceptDecisionOverlay.is-closing .conceptDecisionModal{transform:translateX(100%)}
  .conceptDecisionTopbar{
    min-height:60px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:10px;
    padding:calc(8px + env(safe-area-inset-top)) 12px 8px;
    background:rgba(255,255,255,.96);
    box-shadow:0 1px 0 #ebe6df,0 7px 24px rgba(17,24,32,.06);
    backdrop-filter:blur(18px);
  }
  .conceptDecisionTopbar>div{
    justify-self:end;
    min-width:0;
    gap:7px;
  }
  .conceptDecisionTopbar>div>span{
    max-width:140px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .conceptDecisionClose{
    order:-1;
    width:auto;
    min-width:0;
    height:42px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 8px 0 2px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#182129;
    font-size:13px;
    font-weight:900;
  }
  .conceptDecisionBackGlyph{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:1px solid #ded9d2;
    border-radius:50%;
    background:#fff;
    font-size:27px;
    font-weight:500;
    line-height:1;
    box-shadow:0 4px 12px rgba(17,24,32,.06);
  }
  .conceptDecisionCloseLabel{display:inline;white-space:nowrap}
  .conceptDecisionCloseGlyph{display:none}
  .conceptDecisionClose:focus-visible{outline:3px solid rgba(23,111,69,.24);outline-offset:2px}
  .conceptDecisionScroll{scroll-behavior:smooth}
}

@media(max-width:390px){
  .conceptDecisionCloseLabel{font-size:12px}
  .conceptDecisionTopbar>div>span{display:none}
}

@media(max-width:700px) and (prefers-reduced-motion:reduce){
  .conceptDecisionOverlay{opacity:1;transition:none}
  .conceptDecisionOverlay .conceptDecisionModal,
  .conceptDecisionOverlay.is-visible .conceptDecisionModal,
  .conceptDecisionOverlay.is-closing .conceptDecisionModal{transform:none;transition:none}
}

/* 1.5.30 Feinschliff: Der mobile Zurück-Text bleibt lesbar und wird nicht von
   bestehenden Kicker-Regeln in Versalien bzw. mit zusätzlicher Laufweite dargestellt. */
@media(max-width:700px){
  .conceptDecisionCloseLabel{
    text-transform:none;
    letter-spacing:0;
  }
}


/* CMB Konfigurator 1.5.33 – Messe Lead & UX: Projektzeitraum, Interessen, Beratung */
.resultProjectPlanning{
  width:min(1180px,calc(100% - 40px));margin:22px auto 0;padding:26px;
  border:1px solid var(--line,#d8d8d8);border-radius:24px;background:var(--surface,#fff);
  box-shadow:0 12px 32px rgba(0,0,0,.045)
}
.resultProjectPlanningGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.resultPlanningFieldset{min-width:0;margin:0;padding:0;border:0}
.resultPlanningFieldset>legend{font-size:17px;font-weight:700;line-height:1.3;margin-bottom:12px;padding:0}
.resultTimingOptions,.resultInterestOptions{display:grid;gap:9px}
.resultPlanningOption{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid var(--line,#d8d8d8);border-radius:16px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.resultPlanningOption:hover{border-color:#a9a9a9}
.resultPlanningOption.is-selected{border-color:#1d1d1f;background:#f7f7f7;box-shadow:0 0 0 1px #1d1d1f inset}
.resultPlanningOption input{width:20px;height:20px;flex:0 0 20px;margin:1px 0 0;accent-color:#1d1d1f}
.resultPlanningOption span{display:grid;gap:2px;min-width:0}
.resultPlanningOption strong{font-size:15px;line-height:1.25}
.resultPlanningOption small,.resultCurrentBuildPath small,.resultPlanningHint{font-size:13px;line-height:1.4;color:#666}
.resultPlanningHint{display:block;margin-top:10px}
.resultCurrentBuildPath{display:grid;gap:2px;padding:13px 14px;margin-bottom:9px;border-radius:16px;background:#f2f2f2;border:1px solid #d5d5d5}
.resultCurrentBuildPath>span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#666}
.resultCurrentBuildPath>strong{font-size:15px}
.resultConsultationChoice{display:flex!important;align-items:flex-start;gap:12px;padding:15px 16px!important;border:1px solid #cfcfcf;border-radius:16px;background:#fafafa;cursor:pointer}
.resultConsultationChoice.is-selected{border-color:#1d1d1f;background:#f3f3f3;box-shadow:0 0 0 1px #1d1d1f inset}
.resultConsultationChoice input{width:21px;height:21px;flex:0 0 21px;margin:1px 0 0;accent-color:#1d1d1f}
.resultConsultationChoice>span{display:grid;gap:3px}
.resultConsultationChoice strong{font-size:15px}
.resultConsultationChoice small{font-size:13px;line-height:1.4;color:#666}

/* Entscheidungskarten: die vollständige Erklärung bleibt im vorhandenen Detaildialog. */
body[data-config-step="concept"] .conceptCards .cardDescription,
body[data-config-step="floorplan"] .floorplanCards .cardDescription{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden
}
body[data-config-step="concept"] .conceptCardActions>span,
body[data-config-step="floorplan"] .floorplanCardActions>span{display:none}

@media(max-width:800px){
  .resultProjectPlanning{width:calc(100% - 24px);padding:18px;border-radius:20px;margin-top:14px}
  .resultProjectPlanningGrid{grid-template-columns:1fr;gap:20px;margin-top:14px}
  .resultPlanningOption{padding:12px}
  .resultPlanningFieldset>legend{font-size:16px}
}

/* 1.5.35 – Messe UX: Entscheidung zuerst, Detailtexte nur bei Bedarf. */
body:not(.adminPage)[data-config-step="persons"] .personaChoiceCard .cardSalesHint,
body:not(.adminPage)[data-config-step="persons"] .personaChoiceCard .cardAdviceNote,
body:not(.adminPage)[data-config-step="size"] .vehicleSizeDecisionCard .cardAdviceNote,
body:not(.adminPage)[data-config-step="size"] .vehicleSizeDecisionCard .cardTags,
body:not(.adminPage)[data-config-step="vehicle"] .vehicleStatusDecisionCard .cardSalesHint,
body:not(.adminPage)[data-config-step="vehicle"] .vehicleStatusDecisionCard .cardAdviceNote,
body:not(.adminPage)[data-config-step="vehicle"] .vehicleStatusDecisionCard .cardTags,
body:not(.adminPage)[data-config-step="brand"] .vehicleBrandDecisionCard > .cardDescription,
body:not(.adminPage)[data-config-step="brand"] .vehicleBrandDecisionCard .cardSalesHint,
body:not(.adminPage)[data-config-step="brand"] .vehicleBrandDecisionCard .cardAdviceNote,
body:not(.adminPage)[data-config-step="brand"] .vehicleBrandDecisionCard .cardTags,
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard > .cardDescription,
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardSalesHint,
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardAdviceNote,
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardTags,
body:not(.adminPage)[data-config-step="floorplan"] .floorplanDecisionCard > .cardDescription,
body:not(.adminPage)[data-config-step="floorplan"] .floorplanDecisionCard .cardSalesHint,
body:not(.adminPage)[data-config-step="floorplan"] .floorplanDecisionCard .cardAdviceNote,
body:not(.adminPage)[data-config-step="floorplan"] .floorplanDecisionCard .cardTags{
  display:none!important;
}

body:not(.adminPage)[data-config-step="addons"] .addonDecisionSection .sectionIntro,
body:not(.adminPage)[data-config-step="addons"] .addonDecisionSection > .moduleDetails{
  display:none!important;
}
body:not(.adminPage)[data-config-step="addons"] .addonSelectionNotice{
  display:grid;
  gap:4px;
  padding:14px 16px;
  border-color:#d9e6dd;
  background:#f4faf6;
}
body:not(.adminPage)[data-config-step="addons"] .addonSelectionNotice strong{
  color:#176f45;
}


/* CMB Konfigurator 1.5.36 – Messe-Finalisierung: lesbare Mobile-Copy & öffentliche Folgeseiten */
@media(max-width:700px){
  body:not(.adminPage) .pageLead,
  body:not(.adminPage).homeStart .homeHeroCopy>p,
  body:not(.adminPage).homeStart .startDecisionIntro>p,
  body:not(.adminPage).orientationPage .orientationHeroCopy>p,
  body:not(.adminPage).modulePackagePage .moduleHeaderHero .homeHeroCopy>p,
  body:not(.adminPage).resultExperiencePage .resultExperienceCopy>p,
  body:not(.adminPage).resultExperiencePage .resultSectionHead>p,
  body:not(.adminPage).resultExperiencePage .resultRouteCopy>p,
  body:not(.adminPage) .decisionOptionGroupHeader p{
    display:block!important;overflow:visible!important;max-height:none!important;
    -webkit-box-orient:initial!important;-webkit-line-clamp:unset!important;text-overflow:clip!important;
  }
}
body.simplePublicPage{display:block;min-height:100vh;background:#f5f4f1;color:#141b21}
body.simplePublicPage .simpleCard{width:min(860px,calc(100% - 32px));margin:40px auto;padding:36px;border:1px solid #e2ddd5;border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(17,24,32,.07)}
body.simplePublicPage .simpleCard::before{display:none}.simpleBrand{display:inline-flex;margin-bottom:26px}.simpleBrand img{display:block;width:auto;height:42px;max-width:210px}
body.simplePublicPage .simpleCard h1{margin:0 0 22px;font-size:clamp(30px,5vw,44px);line-height:1.04;letter-spacing:-.04em}
body.simplePublicPage .simpleCard h2{margin:28px 0 8px;font-size:20px;line-height:1.2}body.simplePublicPage .simpleCard p{color:#4f5961;line-height:1.65}
body.simplePublicPage .simpleActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}body.simplePublicPage .simpleActions .buttonLink{width:auto;min-width:220px}body.simplePublicPage .simpleActions .buttonLink.secondary{background:#fff;color:#182129;border:1px solid #cfc8be}
@media(max-width:700px){body.simplePublicPage .simpleCard{margin:18px auto;padding:24px 20px;border-radius:20px}body.simplePublicPage .simpleActions{display:grid}body.simplePublicPage .simpleActions .buttonLink{width:100%;min-width:0;text-align:center}.simpleBrand img{height:36px}}


/* CMB Konfigurator 1.5.36 – einheitliche Progressive Disclosure und Kartenhierarchie */
@media(min-width:701px){
  .mobileInfoDisclosure[data-desktop-open="0"],.orientationPathDetails[data-desktop-open="0"]{display:block;overflow:hidden;border:1px solid #e2ddd5;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(17,24,32,.04)}
  .mobileInfoDisclosure[data-desktop-open="0"]>summary,.orientationPathDetails[data-desktop-open="0"]>summary{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:12px;min-height:54px;padding:12px 15px;list-style:none;cursor:pointer;color:#192129}
  .mobileInfoDisclosure[data-desktop-open="0"]>summary::-webkit-details-marker,.orientationPathDetails[data-desktop-open="0"]>summary::-webkit-details-marker{display:none}
  .mobileInfoDisclosure[data-desktop-open="0"]>summary>span,.orientationPathDetails[data-desktop-open="0"]>summary>span{display:grid;gap:2px;min-width:0}
  .mobileInfoDisclosure[data-desktop-open="0"]>summary strong,.orientationPathDetails[data-desktop-open="0"]>summary strong{font-size:13px;line-height:1.2}
  .mobileInfoDisclosure[data-desktop-open="0"]>summary small,.orientationPathDetails[data-desktop-open="0"]>summary small{color:#717980;font-size:10px}
  .mobileInfoDisclosure[data-desktop-open="0"]>summary>b,.orientationPathDetails[data-desktop-open="0"]>summary>b{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#f2eee8;color:#725a45;font-size:18px;transition:transform .18s ease}
  .mobileInfoDisclosure[data-desktop-open="0"][open]>summary>b,.orientationPathDetails[data-desktop-open="0"][open]>summary>b{transform:rotate(180deg)}
  .mobileInfoDisclosure[data-desktop-open="0"][open]>.mobileInfoDisclosureBody,.orientationPathDetails[data-desktop-open="0"][open]>.orientationPathDetailsBody{border-top:1px solid #ece7e0}
  body:not(.adminPage) .cardFitDisclosure[data-desktop-open="0"]{margin-top:12px;box-shadow:none;background:#fbfaf8}
  body:not(.adminPage) .advisorDisclosure[data-desktop-open="0"],body:not(.adminPage) .selectionContextDisclosure[data-desktop-open="0"]{margin:14px 0 20px}
}
@media(min-width:1180px){
  body:not(.adminPage) .vehicleStatusCards,body:not(.adminPage) .decisionOptionGroup .vehicleBrandCards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
.floorplanCardVisual.planFirst{grid-template-columns:minmax(0,1.7fr) minmax(120px,.8fr);background:#f3efe8}
.floorplanCardPlanPrimary{background:#fff!important}.floorplanCardPlanPrimary .floorplanZoomButton{width:100%;height:100%;display:block;border:0;padding:10px;background:#fff;cursor:zoom-in}.floorplanCardPlanPrimary .floorplanZoomButton img{object-fit:contain!important}.floorplanCardPlanPrimary .floorplanZoomButton>span{position:absolute;right:10px;top:auto;bottom:10px;left:auto;padding:6px 9px;border-radius:999px;background:rgba(17,24,32,.82);color:#fff;font-size:9px;font-weight:900}
@media(max-width:700px){
  body:not(.adminPage)[data-config-step="persons"] .personaChoiceCard .cardImage{height:156px!important}
  body:not(.adminPage)[data-config-step="persons"] .personaChoiceCard,body:not(.adminPage)[data-config-step="size"] .vehicleSizeDecisionCard{padding-bottom:15px!important}
  .floorplanCardVisual.planFirst{height:235px;grid-template-columns:1fr}.floorplanCardVisual.planFirst .floorplanCardSecondary{display:none}.floorplanCardVisual.planFirst .floorplanCardPrimary{display:block!important}
  .freeModuleGroupedList .moduleCatalogGroup{overflow:hidden;border:1px solid #e2ddd5;border-radius:18px;background:#fff}.freeModuleGroupedList .moduleCatalogGroup+.moduleCatalogGroup{margin-top:10px}.freeModuleGroupedList .moduleCatalogGroup:not([open]) .addonCatalogBody{display:none}
  body:not(.adminPage).moduleCatalogPage .productInfoTitle,body:not(.adminPage)[data-config-step="addons"] .productInfoTitle{line-height:1.25}
}


/* CMB Konfigurator 1.5.37 – Modal-/Grundriss-Hotfix vor Messe
   - Vollbild-Layer liegt sicher über Konzept-, Vergleichs- und Grundrissmodals.
   - Desktop-Schließen zeigt nur ein geometrisch sauberes X; mobile Zurück-Navigation bleibt unverändert.
   - Accordion-Chevrons werden schriftunabhängig gezeichnet. */
@media(min-width:701px){
  .conceptDecisionClose{
    width:42px;height:42px;min-width:42px;padding:0;display:grid;place-items:center;overflow:hidden;
  }
  .conceptDecisionClose .conceptDecisionBackGlyph,
  .conceptDecisionClose .conceptDecisionCloseLabel{display:none!important}
  .conceptDecisionClose .conceptDecisionCloseGlyph{
    display:grid!important;place-items:center;width:100%;height:100%;
    color:#242c34;font-size:25px;line-height:1;text-transform:none!important;letter-spacing:0!important;
  }
  .mobileInfoDisclosure[data-desktop-open="0"]>summary>b,
  .orientationPathDetails[data-desktop-open="0"]>summary>b{
    position:relative;font-size:0!important;line-height:0;transform-origin:50% 50%;
  }
  .mobileInfoDisclosure[data-desktop-open="0"]>summary>b::before,
  .orientationPathDetails[data-desktop-open="0"]>summary>b::before{
    content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
  }
}

/* CMB Konfigurator 1.5.38 – einheitliche Controls vor Messe
   Ziel: Vergleichsaktionen, Accordions, Close-Controls und mobile Touch-Ziele
   folgen einem gemeinsamen, schriftunabhängigen UI-Standard. */

/* Vergleichsaktionen: Badge + CTA bleiben als zusammengehörige Werkzeuge im Header,
   ohne feste 248px-Spalte und ohne gequetschte Wortumbrüche. */
body:not(.adminPage) .decisionOptionGroupHeader{
  align-items:flex-end;
}
body:not(.adminPage) .decisionOptionGroupTools{
  min-width:0;
  width:auto;
  max-width:min(100%, 360px);
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}
body:not(.adminPage) .decisionOptionGroupTools>strong{
  align-self:flex-end;
}
body:not(.adminPage) .compareLaunchButton{
  width:auto;
  min-width:230px;
  max-width:100%;
  min-height:48px;
  grid-template-columns:30px minmax(0,1fr);
  padding:8px 12px;
  white-space:normal;
}
body:not(.adminPage) .compareLaunchButton strong{
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
}
body:not(.adminPage) .compareLaunchButton small{
  margin-top:2px;
  font-size:9px;
  line-height:1.2;
}

/* Einheitlicher geometrischer Chevron für native <details>-Controls.
   Kein fontabhängiges ⌄ mehr. */
.includedAccordion summary::after,
.includedLayoutAccordion summary::after,
.uxIncludedFurnitureAccordion summary::after,
body:not(.adminPage).modulePackagePage .uxAddonGroupSummary::after,
.addonCatalogSummary::after,
.unavailableOptionsDisclosure>summary::after{
  content:"" !important;
  box-sizing:border-box;
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transform-origin:50% 50%;
  transition:transform .18s ease;
  color:#725a45;
  font-size:0!important;
  line-height:0!important;
}
.includedAccordion[open] summary::after,
.includedLayoutAccordion[open] summary::after,
.uxIncludedFurnitureAccordion[open] summary::after,
body:not(.adminPage).modulePackagePage .uxAddonGroup[open] .uxAddonGroupSummary::after,
.addonCatalogGroup[open] .addonCatalogSummary::after,
.unavailableOptionsDisclosure[open]>summary::after{
  transform:translateY(2px) rotate(225deg);
}

/* Responsive-Disclosure und Ergebnis-Aufklapper nutzen denselben Chevron statt Glyphen. */
.mobileInfoDisclosure>summary>b,
.orientationPathDetails>summary>b,
.resultProgressiveDisclosure>summary>b{
  position:relative;
  font-size:0!important;
  line-height:0!important;
  transform:none!important;
}
.mobileInfoDisclosure>summary>b::before,
.orientationPathDetails>summary>b::before,
.resultProgressiveDisclosure>summary>b::before{
  content:"";
  box-sizing:border-box;
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .18s ease;
}
.mobileInfoDisclosure[open]>summary>b::before,
.orientationPathDetails[open]>summary>b::before,
.resultProgressiveDisclosure[open]>summary>b::before{
  transform:translateY(2px) rotate(225deg);
}

/* Kreis-Controls und Close-Aktionen auf ein Mindestmaß vereinheitlichen. */
body:not(.adminPage) .conceptDecisionClose,
body:not(.adminPage) .conceptCompareClose,
body:not(.adminPage) .floorplanCompareClose,
body:not(.adminPage) .detailModalClose,
body:not(.adminPage) .detailImageFullscreenClose{
  min-width:44px;
  width:44px;
  min-height:44px;
  height:44px;
  display:grid;
  place-items:center;
  padding:0;
}

/* Modal-Aktionsbuttons: konsistente Bediengröße. */
body:not(.adminPage) .floorplanCompareClear,
body:not(.adminPage) .floorplanCompareStart,
body:not(.adminPage) .floorplanCompareCancel,
body:not(.adminPage) .floorplanCompareApply,
body:not(.adminPage) .conceptCompareDone,
body:not(.adminPage) .conceptCompareHead button,
body:not(.adminPage) .conceptCompareMobileCard footer button{
  min-height:44px;
}

/* Mobile/Touch: wichtige Auswahl-, Detail- und Filteraktionen mindestens 44px hoch. */
@media(max-width:900px){
  body:not(.adminPage) .decisionOptionGroupHeader{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }
  body:not(.adminPage) .decisionOptionGroupTools{
    width:100%;
    max-width:none;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:10px;
  }
  body:not(.adminPage) .decisionOptionGroupTools>strong{
    align-self:center;
    justify-self:start;
  }
  body:not(.adminPage) .compareLaunchButton{
    width:100%;
    min-width:0;
    justify-self:stretch;
  }
  body:not(.adminPage) .compareLaunchButton strong{white-space:normal;}
}
@media(max-width:700px){
  body:not(.adminPage) .decisionOptionGroupTools{
    grid-template-columns:1fr;
  }
  body:not(.adminPage) .compareLaunchButton{
    min-height:48px;
  }
  body:not(.adminPage) .productToggleButton,
  body:not(.adminPage) .moduleCardActions .detailButton,
  body:not(.adminPage) .moduleCardFooter .detailButton,
  body:not(.adminPage) .includedAddonCard .detailButton,
  body:not(.adminPage) .includedSummaryAction .detailButton,
  body:not(.adminPage) .includedFurnitureActions .detailButton,
  body:not(.adminPage) .addonFilterChip,
  body:not(.adminPage) .moduleFilterChip,
  body:not(.adminPage) .uxIncludedFurnitureAccordion summary>.includedSummaryInfoButton{
    min-height:44px;
  }
  body:not(.adminPage) .addonFilterChip,
  body:not(.adminPage) .moduleFilterChip{
    padding-top:10px;
    padding-bottom:10px;
  }
}

/* Letzter Legacy-Disclosure: „Alle … kurz erklärt“ nutzt ebenfalls den Control-Standard. */
body:not(.adminPage) .moduleDetails>summary{
  list-style:none;
  min-height:40px;
}
body:not(.adminPage) .moduleDetails>summary::-webkit-details-marker{display:none;}
body:not(.adminPage) .moduleDetails>summary::after{
  content:"";
  box-sizing:border-box;
  width:8px;
  height:8px;
  margin-left:4px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .18s ease;
}
body:not(.adminPage) .moduleDetails[open]>summary::after{
  transform:translateY(2px) rotate(225deg);
}
@media(max-width:700px){
  body:not(.adminPage) .moduleDetails>summary{min-height:44px;}
}

/* Touch-Ergänzung für Entscheidungs-/Vergleichs-Navigation. */
@media(max-width:700px){
  body:not(.adminPage) .conceptDecisionFooter>button,
  body:not(.adminPage) .conceptDecisionSelect{
    min-height:44px;
  }
  body:not(.adminPage) .floorplanCompareSelectedChip button{
    width:44px;
    height:44px;
    min-width:44px;
    margin:-9px -8px -9px 0;
  }
}

/* CMB Konfigurator 1.5.39 – Vergleichs-Control Hotfix
   Header-Typografie ist auf den eigentlichen Textblock begrenzt.
   Vergleichs-CTAs sind bewusst einzeilig: Anzahl + Aktion, ohne sekundäre Doppelbeschriftung. */
body:not(.adminPage) .decisionOptionGroupHeader>div:first-child>span{
  color:#8a6242;
  font-size:10px;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}
body:not(.adminPage) .compareLaunchButton{
  min-height:48px;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
}
body:not(.adminPage) .compareLaunchButton>span:last-child{
  display:flex;
  align-items:center;
  min-width:0;
}
body:not(.adminPage) .compareLaunchButton strong{
  display:block;
  margin:0;
  color:#163e2a;
  font-size:12px;
  font-weight:900;
  line-height:1.25;
  letter-spacing:0;
  text-transform:none;
}
body:not(.adminPage) .compareLaunchButton small{display:none!important;}


/* CMB Konfigurator 1.5.40 – Vergleich direkt aus Konzept-/Grundriss-Detailmodals
   Sekundäre Vergleichsaktion im Sticky-Footer; Hauptauswahl bleibt visuell primär. */
body:not(.adminPage) .conceptDecisionFooter>.conceptDecisionFooterCenter{
  display:grid;
  justify-items:center;
  gap:6px;
  min-width:0;
}
body:not(.adminPage) .conceptDecisionFooterActions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
}
body:not(.adminPage) .conceptDecisionCompare{
  min-height:44px;
  border:1px solid #d7d1c9;
  border-radius:999px;
  background:#fff;
  color:#176f45;
  padding:10px 16px;
  font:inherit;
  font-size:11px;
  font-weight:900;
  line-height:1.15;
  white-space:nowrap;
  cursor:pointer;
}
body:not(.adminPage) .conceptDecisionCompare:hover,
body:not(.adminPage) .conceptDecisionCompare:focus-visible{
  border-color:#176f45;
  background:#f2faf5;
}
body:not(.adminPage) .conceptDecisionSelect{min-height:44px;white-space:nowrap;}

@media(max-width:700px){
  body:not(.adminPage) .conceptDecisionFooter>.conceptDecisionFooterCenter>span{display:none;}
  body:not(.adminPage) .conceptDecisionFooterActions{
    width:100%;
    flex-direction:column-reverse;
    gap:6px;
  }
  body:not(.adminPage) .conceptDecisionCompare,
  body:not(.adminPage) .conceptDecisionSelect{
    width:100%;
    min-height:44px;
    padding:10px 11px;
  }
}

/* CMB Konfigurator 1.5.47 - Teilausbau mit expliziter Verantwortungszuordnung */
body:not(.adminPage)[data-config-step="partial_scope"] .pageLead{max-width:780px;}
.partialScopeContext{margin-bottom:18px;}
.partialScopeSection{display:grid;gap:18px;margin-top:20px;}
.partialScopeHeader{display:flex;justify-content:space-between;gap:22px;align-items:end;}
.partialScopeHeader>div{max-width:860px;}
.partialScopeHeader span,.partialScopeFixed>div>span{display:block;color:#8a6242;font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase;}
.partialScopeHeader h2,.partialScopeFixed h2{margin:6px 0 8px;color:#111820;font-size:27px;line-height:1.08;letter-spacing:-.035em;}
.partialScopeHeader p,.partialScopeFixed p{margin:0;color:#626b72;font-size:13px;line-height:1.55;}
.partialScopeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.partialScopeCard{position:relative;min-width:0;margin:0;border:1px solid #ddd8d0;border-radius:22px;padding:19px;background:#fff;box-shadow:0 10px 28px rgba(17,24,32,.055);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;}
.partialScopeCard.is-unassigned{border-color:#e1b75f;background:linear-gradient(145deg,#fff,#fffaf0);}
.partialScopeCard.is-self{border-color:#cdbca9;background:linear-gradient(145deg,#fff,#faf6f1);}
.partialScopeCard.is-cmb{border-color:var(--cmb-action);background:linear-gradient(145deg,#fff,#f3faf5);box-shadow:0 0 0 3px rgba(23,111,69,.09),0 15px 34px rgba(17,24,32,.08);}
.partialScopeLegend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.partialScopeCardBody{display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px 15px;align-items:start;}
.partialScopeIcon{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:#f3efe9;color:#73573e;}
.partialScopeCard.is-cmb .partialScopeIcon{background:#e1f3e7;color:var(--cmb-action);}
.partialScopeCard.is-self .partialScopeIcon{background:#eee6dc;color:#72563e;}
.partialScopeCopy>span{display:block;margin:1px 0 5px;color:#8a6242;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.075em;}
.partialScopeCopy h3{margin:0 0 8px;color:#111820;font-size:20px;line-height:1.12;letter-spacing:-.025em;}
.partialScopeCopy p{margin:0;color:#5e6870;font-size:12.5px;line-height:1.5;}
.partialScopeCopy small{display:block;margin-top:11px;color:#798087;font-size:10.5px;line-height:1.4;}
.partialScopeAssignment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px;}
.partialScopeOption{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:48px;border:1px solid #d7d2cb;border-radius:13px;background:#fff;color:#273039;padding:10px 12px;font-size:12px;font-weight:900;line-height:1.25;cursor:pointer;user-select:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease;}
.partialScopeOption:hover{border-color:#8d989f;background:#f8faf9;}
.partialScopeOption input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.partialScopeOption:focus-within{outline:3px solid rgba(32,191,99,.25);outline-offset:2px;}
.partialScopeOptionMark{width:23px;height:23px;flex:0 0 23px;display:grid;place-items:center;border:1px solid #c7c1b8;border-radius:7px;background:#fff;color:#fff;font-size:13px;font-weight:950;}
.partialScopeOption.is-self.is-selected{border-color:#927154;background:#f2ebe3;color:#4f3a29;box-shadow:inset 0 0 0 1px rgba(114,86,62,.08);}
.partialScopeOption.is-self.is-selected .partialScopeOptionMark{border-color:#72563e;background:#72563e;}
.partialScopeOption.is-cmb.is-selected{border-color:var(--cmb-action);background:var(--cmb-action);color:#fff;box-shadow:0 8px 20px rgba(23,111,69,.18);}
.partialScopeOption.is-cmb.is-selected .partialScopeOptionMark{border-color:#fff;background:#fff;color:var(--cmb-action);}
.partialScopeOptionText{min-width:0;}
.partialScopeSelectionSummary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px;border:1px solid #cfe5d6;border-radius:16px;padding:13px 15px;background:#f3faf5;color:#27553b;}
.partialScopeSelectionSummary strong{font-size:13px;}.partialScopeSelectionSummary span{font-size:11.5px;color:#5d7063;}
.partialScopeValidation{margin:0;}
.partialScopeFixed{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);gap:24px;align-items:start;border:1px solid #d4e8db;border-radius:22px;padding:20px;background:linear-gradient(135deg,#fff,#f4faf6);}
.partialScopeFixedItems{display:grid;gap:9px;}
.partialScopeFixedItems article{display:grid;grid-template-columns:32px minmax(0,1fr);gap:11px;align-items:center;border:1px solid #dbe8df;border-radius:14px;padding:11px 13px;background:#fff;}
.partialScopeFixedItems strong{display:block;color:#1b252c;font-size:12.5px;line-height:1.35;}.partialScopeFixedItems small{display:block;margin-top:2px;color:#68736d;font-size:10.5px;}
.partialScopeFixedCheck{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:var(--cmb-action);color:#fff;font-size:13px;font-weight:950;}
@media(max-width:850px){.partialScopeGrid{grid-template-columns:1fr;}.partialScopeFixed{grid-template-columns:1fr;}}
@media(max-width:700px){
  .partialScopeSection{gap:14px;margin-top:16px;}
  .partialScopeHeader h2,.partialScopeFixed h2{font-size:22px;}
  .partialScopeHeader p,.partialScopeFixed p{font-size:12px;}
  .partialScopeGrid{gap:10px;}
  .partialScopeCard{padding:15px;border-radius:18px;}
  .partialScopeCardBody{grid-template-columns:44px minmax(0,1fr);gap:10px 12px;}
  .partialScopeIcon{width:44px;height:44px;border-radius:14px;}
  .partialScopeCopy h3{font-size:18px;}.partialScopeCopy p{font-size:12px;}.partialScopeCopy small{display:none;}
  .partialScopeAssignment{margin-top:14px;}
  .partialScopeOption{min-height:46px;padding:9px 10px;font-size:11px;}
  .partialScopeFixed{gap:14px;padding:16px;border-radius:18px;}
  .partialScopeSelectionSummary{display:grid;justify-content:stretch;}
}
@media(max-width:430px){.partialScopeAssignment{grid-template-columns:1fr;}}

/* 1.5.42 – Der Kontaktweg ist selbst die Erstberatungsanfrage; kein zweiter optionaler Schalter. */
body:not(.adminPage) .resultConsultationChoice[role="note"]{cursor:default;}
body:not(.adminPage) .resultConsultationChoice[role="note"]::before{
  content:"✓";
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:grid;
  place-items:center;
  margin-top:1px;
  border-radius:999px;
  background:#1d1d1f;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

/* CMB 1.5.43 – Hinweis im Erstberatungsweg: Konfiguration wird automatisch gespeichert. */
.resultConfigurationSavedHint{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:11px 13px;border:1px solid #e7e0d6;border-radius:13px;background:#fbf7f1;color:#555d65;font-size:13px;line-height:1.4}
.resultConfigurationSavedHint strong{color:#75583f;font-weight:850;white-space:nowrap}
.resultConfigurationSavedHint span{min-width:0}

/* 1.5.46: Sonderausstattung zeigt fachliche Zustände statt scheinbar klickbarer No-Op-Karten. */
.addonStateBadge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.01em;
  white-space:nowrap;
}
.addonStateBadge.requires,
.addonStateBadge.excluded{
  border:1px solid rgba(90,90,90,.16);
  background:rgba(90,90,90,.07);
}
.addonStateBadge.included{
  border:1px solid rgba(54,100,72,.18);
  background:rgba(54,100,72,.08);
}
.addonStateBadge.selected{
  border:1px solid rgba(0,0,0,.12);
  background:rgba(0,0,0,.06);
}
.addonStateMessage{
  margin:.45rem 0 0;
  font-size:.84rem;
  line-height:1.45;
  opacity:.78;
}
.selectableAddonCard.addonState-requires,
.selectableAddonCard.addonState-excluded{
  cursor:default;
}
.selectableAddonCard .productToggleButton:disabled,
.selectableAddonCard .furtherCheck:disabled{
  cursor:not-allowed;
  opacity:.55;
}

/* CMB Konfigurator 1.5.47 - Sonderausstattung: Kartenflaeche waehlt, Details erklaeren */
body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard{
  display:flex!important;
  flex-direction:column;
  gap:0;
  min-height:230px;
  padding:0!important;
  overflow:hidden;
  cursor:default!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard:hover{transform:none;}
body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard:focus-within{border-color:#8f9aa4;box-shadow:0 14px 32px rgba(17,24,32,.1);}
body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard.selected{border:2px solid var(--cmb-action);background:linear-gradient(180deg,#f1fff6,#fff);box-shadow:0 12px 30px rgba(32,191,99,.13);}
body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface{
  appearance:none;
  width:100%;
  flex:1 1 auto;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  align-items:start;
  gap:12px;
  border:0;
  border-radius:0;
  margin:0;
  padding:18px 18px 12px;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
}
body:not(.adminPage)[data-config-step="addons"] button.addonCardSelectionSurface{cursor:pointer;}
body:not(.adminPage)[data-config-step="addons"] button.addonCardSelectionSurface:hover{background:rgba(23,111,69,.035);}
body:not(.adminPage)[data-config-step="addons"] button.addonCardSelectionSurface:focus-visible{outline:3px solid rgba(32,191,99,.3);outline-offset:-3px;}
body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface.is-blocked{cursor:default;background:#faf9f7;}
body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface .productInfoMedia{width:52px;min-width:52px;border-radius:16px;}
body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface .furtherIcon{width:52px;height:52px;border-radius:16px;}
body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface .furtherModuleText{display:flex;flex-direction:column;min-width:0;min-height:100%;}
body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface .productInfoTitle{display:block;margin:1px 0 7px;cursor:inherit;text-decoration:none!important;}
body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface .moduleCardDescription{display:-webkit-box;margin:0;color:#65707a;font-size:12.5px;line-height:1.42;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;}
body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface .addonStateMessage{display:block;margin:8px 0 0;color:#5e6870;font-size:11.5px;line-height:1.4;opacity:1;}
body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface .addonMeta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
body:not(.adminPage)[data-config-step="addons"] .addonSelectionStatus{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;margin-top:auto;padding:9px 11px;border:1px solid #d4d0ca;border-radius:999px;background:#fff;color:#176f45;font-size:11px;font-weight:950;line-height:1.1;}
body:not(.adminPage)[data-config-step="addons"] .addonSelectionStatus>span{font-size:14px;line-height:1;}
body:not(.adminPage)[data-config-step="addons"] .addonSelectionStatus.is-selected{border-color:var(--cmb-action);background:var(--cmb-action);color:#fff;}
body:not(.adminPage)[data-config-step="addons"] .addonSelectionStatus.is-blocked{border-color:#d8d4cf;background:#efeeeb;color:#5e666d;}
body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard .addonCardFooter{display:flex;min-height:0;margin:0;padding:0 18px 16px;align-items:center;}
body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard .addonCardFooter .detailButton{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;}
body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard[aria-disabled="true"]{border-color:#e1ded9;background:#faf9f7;box-shadow:none;}
@media(max-width:700px){
  body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard{min-height:0;}
  body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface{grid-template-columns:46px minmax(0,1fr);gap:10px;padding:14px 14px 10px;}
  body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface .productInfoMedia{width:46px;min-width:46px;}
  body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface .furtherIcon{width:46px;height:46px;border-radius:14px;}
  body:not(.adminPage)[data-config-step="addons"] .addonSelectionStatus{min-height:44px;margin-top:10px;}
  body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard .addonCardFooter{padding:0 14px 14px;}
  body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard .addonCardFooter .detailButton{min-height:44px;}
}


/* CMB Konfigurator 1.5.48 - Modulkarte waehlt vollflaechig; Add-on-Preis bleibt ausgerichtet */
body:not(.adminPage)[data-config-step="modules"] .freeModuleGrid .moduleCard.freeModuleCard{
  display:flex!important;
  flex-direction:column;
  align-items:stretch!important;
  gap:0;
  min-height:214px!important;
  padding:0!important;
  overflow:hidden;
  box-sizing:border-box;
  cursor:default!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
body:not(.adminPage)[data-config-step="modules"] .freeModuleGrid .moduleCard.freeModuleCard:hover{transform:none;}
body:not(.adminPage)[data-config-step="modules"] .freeModuleGrid .moduleCard.freeModuleCard:focus-within{
  border-color:#8f9aa4;
  box-shadow:0 14px 32px rgba(17,24,32,.1);
}
body:not(.adminPage)[data-config-step="modules"] .freeModuleGrid .moduleCard.freeModuleCard.selected{
  border:2px solid var(--cmb-action);
  background:linear-gradient(180deg,#f1fff6,#fff);
  box-shadow:0 12px 30px rgba(32,191,99,.13);
}
body:not(.adminPage)[data-config-step="modules"] .moduleCardSelectionSurface{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  flex:1 1 auto;
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  align-items:stretch;
  gap:14px;
  border:0;
  border-radius:0;
  margin:0;
  padding:14px 14px 10px;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
body:not(.adminPage)[data-config-step="modules"] .moduleCardSelectionSurface:hover{background:rgba(23,111,69,.035);}
body:not(.adminPage)[data-config-step="modules"] .moduleCardSelectionSurface:focus-visible{
  outline:3px solid rgba(32,191,99,.3);
  outline-offset:-3px;
}
body:not(.adminPage)[data-config-step="modules"] .moduleCardSelectionSurface .productInfoMedia{
  grid-column:1;
  grid-row:1;
  align-self:center;
  width:96px;
  min-width:96px;
  border-radius:18px;
}
body:not(.adminPage)[data-config-step="modules"] .moduleCardSelectionSurface .moduleImg{
  width:96px!important;
  height:96px!important;
  margin:0!important;
}
body:not(.adminPage)[data-config-step="modules"] .moduleCardSelectionSurface .moduleCardText{
  grid-column:2;
  grid-row:1;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:100%;
}
body:not(.adminPage)[data-config-step="modules"] .moduleCardSelectionSurface .productInfoTitle{
  display:block;
  margin:1px 0 6px;
  cursor:inherit;
  text-decoration:none!important;
}
body:not(.adminPage)[data-config-step="modules"] .moduleCardSelectionSurface .moduleCardDescription{
  display:-webkit-box;
  margin:0;
  color:#65707a;
  font-size:12.5px;
  line-height:1.42;
  overflow:hidden;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
}
body:not(.adminPage)[data-config-step="modules"] .moduleSelectionStatus{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:36px;
  margin-top:auto;
  padding:8px 11px;
  border:1px solid #d4d0ca;
  border-radius:999px;
  background:#fff;
  color:#176f45;
  font-size:11px;
  font-weight:950;
  line-height:1.1;
}
body:not(.adminPage)[data-config-step="modules"] .moduleSelectionStatus>span{font-size:14px;line-height:1;}
body:not(.adminPage)[data-config-step="modules"] .moduleSelectionStatus.is-selected{
  border-color:var(--cmb-action);
  background:var(--cmb-action);
  color:#fff;
}
body:not(.adminPage)[data-config-step="modules"] .freeModuleCard .moduleCardDetailFooter{
  display:flex;
  min-height:0;
  margin:0;
  padding:0 14px 14px;
  align-items:center;
}
body:not(.adminPage)[data-config-step="modules"] .freeModuleCard .moduleCardDetailFooter .detailButton{
  width:100%;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

body:not(.adminPage)[data-config-step="addons"] .addonCardSelectionSurface .addonSecondaryMeta{
  margin-top:8px;
}
body:not(.adminPage)[data-config-step="addons"] .addonPriceSlot{
  display:flex;
  align-items:center;
  min-height:26px;
  margin-top:auto;
  padding-top:10px;
}
body:not(.adminPage)[data-config-step="addons"] .addonPriceSlot>span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  border:1px solid #eadfce;
  border-radius:999px;
  padding:5px 7px;
  background:#f4efe8;
  color:#785b42;
  font-size:10.5px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
body:not(.adminPage)[data-config-step="addons"] .addonPriceSlot.is-empty{visibility:hidden;}
body:not(.adminPage)[data-config-step="addons"] .addonSelectionStatus{margin-top:10px;}

@media(max-width:700px){
  body:not(.adminPage)[data-config-step="modules"] .freeModuleGrid .moduleCard.freeModuleCard{min-height:0!important;}
  body:not(.adminPage)[data-config-step="modules"] .moduleCardSelectionSurface{
    grid-template-columns:82px minmax(0,1fr);
    gap:12px;
    padding:14px 14px 10px;
  }
  body:not(.adminPage)[data-config-step="modules"] .moduleCardSelectionSurface .productInfoMedia{
    width:82px;
    min-width:82px;
  }
  body:not(.adminPage)[data-config-step="modules"] .moduleCardSelectionSurface .moduleImg{
    width:82px!important;
    height:82px!important;
    border-radius:16px!important;
  }
  body:not(.adminPage)[data-config-step="modules"] .moduleSelectionStatus{
    min-height:44px;
    margin-top:10px;
  }
  body:not(.adminPage)[data-config-step="modules"] .freeModuleCard .moduleCardDetailFooter{padding:0 14px 14px;}
  body:not(.adminPage)[data-config-step="modules"] .freeModuleCard .moduleCardDetailFooter .detailButton{min-height:44px;}
}

/* 1.5.48 - konstante Rahmenbreite verhindert Layoutspruenge und haelt Preiszeilen pixelgenau */
body:not(.adminPage)[data-config-step="modules"] .freeModuleGrid .moduleCard.freeModuleCard,
body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard{
  border-width:2px;
}
body:not(.adminPage)[data-config-step="modules"] .freeModuleGrid .moduleCard.freeModuleCard:not(.selected),
body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard:not(.selected):not([aria-disabled="true"]){
  border-color:#e8e2d8;
}

/* 1.5.48 - Hero-CTA springt sichtbar zum Einstieg unterhalb der sticky Topbar */
body:not(.adminPage).homeStart #startDecision{
  scroll-margin-top:84px;
}
@media(max-width:700px){
  body:not(.adminPage).homeStart #startDecision{scroll-margin-top:76px;}
}


/* 1.5.49 - Scrollreserve fuer hohe Viewports: Hero kann nach dem Start-CTA vollstaendig aus dem Sichtbereich scrollen */
body:not(.adminPage).homeStart .startScrollReserve{
  display:block;
  height:0;
  margin:0;
  padding:0;
  pointer-events:none;
  visibility:hidden;
}

/* CMB Konfigurator 1.5.53 – sichere redaktionelle Textformatierung */
[data-edit-content] .cmbRichTextSizeSmall{font-size:.86em;line-height:inherit}
[data-edit-content] .cmbRichTextSizeLarge{font-size:1.16em;line-height:1.25;font-weight:inherit}
[data-edit-content] .cmbRichTextBullet{display:inline-block;min-width:1.05em;font-weight:900;color:currentColor}
[data-edit-content] strong{font-weight:900}
[data-edit-content] em{font-style:italic}

/* Mehrzeilige Texte aus der visuellen Pflege behalten ihre bewusst gesetzten Umbrueche. */
[data-edit-type][data-edit-id] p,
[data-edit-type][data-edit-id] small,
[data-edit-type][data-edit-id] figcaption{
  white-space:pre-line;
}

/* 1.5.54 - Modulpreise besitzen wie Sonderausstattung einen festen Slot. */
body:not(.adminPage)[data-config-step="modules"] .modulePriceSlot{
  display:flex;
  align-items:center;
  min-height:26px;
  margin-top:auto;
  padding-top:10px;
}
body:not(.adminPage)[data-config-step="modules"] .modulePriceSlot>span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  border:1px solid #eadfce;
  border-radius:999px;
  padding:5px 7px;
  background:#f4efe8;
  color:#785b42;
  font-size:10.5px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
body:not(.adminPage)[data-config-step="modules"] .modulePriceSlot.is-empty{visibility:hidden;}
body:not(.adminPage)[data-config-step="modules"] .modulePriceSlot + .moduleSelectionStatus{margin-top:10px;}

/* 1.5.54 - Unverfuegbare Karten erklaeren sich als Interaktion statt wie ein deaktivierter Endzustand. */
body:not(.adminPage) .unavailableStatus{cursor:pointer;}
body:not(.adminPage) .unavailableCard{cursor:help;}


/* CMB Konfigurator 1.5.61 – steuerbarer Live-/Wartungshinweis */
.cmbMaintenanceBanner{
  width:min(1180px,calc(100% - 48px));
  box-sizing:border-box;
  margin:18px auto 0;
  padding:14px 18px;
  display:flex;
  align-items:flex-start;
  gap:12px;
  border:1px solid rgba(161,107,38,.20);
  border-radius:16px;
  background:rgba(255,249,239,.96);
  color:#553b1f;
  box-shadow:0 8px 24px rgba(69,49,24,.06);
}
.cmbMaintenanceBanner[hidden]{display:none!important}
.cmbMaintenanceBannerIcon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  margin-top:1px;
  border-radius:50%;
  background:#8c6335;
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.cmbMaintenanceBanner div{min-width:0}
.cmbMaintenanceBanner strong{display:block;margin:0 0 2px;font-size:13px;line-height:1.35}
.cmbMaintenanceBanner p{margin:0;color:#715332;font-size:13px;line-height:1.5}
@media(max-width:720px){
  .cmbMaintenanceBanner{
    width:calc(100% - 28px);
    margin-top:12px;
    padding:12px 14px;
    border-radius:14px;
  }
}

/* CMB Konfigurator 1.5.65 – enthaltene Sonderausstattung bleibt sichtbar und eindeutig gesperrt. */
body:not(.adminPage)[data-config-step="addons"] .addonSummary small{
  display:block;
  margin-top:4px;
  color:#5f7367;
  font-size:10px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}
body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard.addonState-included[aria-disabled="true"]{
  border:2px solid var(--cmb-action);
  background:linear-gradient(180deg,#f1fff6,#fff);
  box-shadow:0 12px 30px rgba(32,191,99,.13);
}
body:not(.adminPage)[data-config-step="addons"] .selectableAddonCard.addonState-included .addonCardSelectionSurface.is-blocked{
  background:rgba(32,191,99,.035);
}
body:not(.adminPage)[data-config-step="addons"] .addonSelectionStatus.is-included{
  border-color:var(--cmb-action);
  background:var(--cmb-action);
  color:#fff;
}
@media(max-width:720px){
  body:not(.adminPage)[data-config-step="addons"] .addonSummary small{
    margin-top:0;
  }
}



/* CMB Konfigurator 1.5.66 – Ergebnis: Fahrzeughinweis & klarer Beratungsabschluss */
.resultPriceVehicleNotice{display:grid;gap:3px;margin-top:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.4);border-radius:13px;background:rgba(17,24,32,.68);color:#fff;text-align:left}
.resultPriceVehicleNotice strong{font-size:12px;font-weight:950;letter-spacing:.01em}.resultPriceVehicleNotice span{font-size:10px;line-height:1.4;color:rgba(255,255,255,.86)}
.resultRouteFormPanel.is-success{display:block;padding:0;border-color:#b8d8c4;background:#fff;overflow:hidden}
.resultContactSuccess{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;padding:28px;background:linear-gradient(145deg,#f7fcf9,#fff)}
.resultContactSuccessIcon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#dff2e6;color:var(--cmb-action);font-size:27px;font-weight:950}
.resultContactSuccessCopy>span,.resultContactNextStep>span{display:block;color:#8d6848;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}
.resultContactSuccessCopy h3{margin:7px 0 9px;color:#111820;font-size:32px;line-height:1.05;letter-spacing:-.04em}.resultContactSuccessCopy p{margin:0;color:#5c676e;font-size:13px;line-height:1.55}
.resultContactReference{display:inline-grid;gap:2px;margin-top:14px;padding:9px 12px;border-radius:12px;background:#eef4f0}.resultContactReference span{font-size:9px;color:#677169;text-transform:uppercase;letter-spacing:.08em}.resultContactReference strong{font-size:13px;color:#183225}
.resultContactSuccessSteps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 0;padding:0;list-style:none}.resultContactSuccessSteps li{display:grid;gap:5px;padding:14px;border:1px solid #d9e7dd;border-radius:15px;background:#fff}.resultContactSuccessSteps li.is-warning{border-color:#ead6ad;background:#fffaf0}.resultContactSuccessSteps strong{font-size:12px;color:#182129}.resultContactSuccessSteps span{font-size:10px;line-height:1.45;color:#687178}
.resultContactNextStep{grid-column:1/-1;margin-top:2px;padding:20px;border-top:1px solid #e3ebe6}.resultContactNextStep h4{margin:7px 0 7px;color:#111820;font-size:22px;line-height:1.12}.resultContactNextStep p{margin:0;color:#606a70;font-size:12px;line-height:1.5}
.resultContactSuccessActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.resultContactSuccessActions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:11px 16px;border-radius:14px;font-size:12px;font-weight:900;text-decoration:none}.resultBookingButton{background:var(--cmb-action);color:#fff;border:1px solid var(--cmb-action)}.resultBookingButton:hover{background:var(--cmb-action-hover);color:#fff}.resultOpenConfigurationButton{background:#fff;color:#182129;border:1px solid #bdc6c1}.resultOpenConfigurationButton:hover{border-color:#182129;color:#182129}
.adminRuntimeGroup{display:grid;gap:11px;margin-top:6px;padding:14px;border:1px solid #e2e5e7;border-radius:14px;background:#fafbfb}.adminRuntimeGroupHead{display:grid;gap:3px}.adminRuntimeGroupHead strong{font-size:13px}.adminRuntimeGroupHead small{font-size:10px;line-height:1.4;color:#687178}.adminRuntimeText input[type="text"],.adminRuntimeText input[type="url"]{width:100%;min-height:42px;border:1px solid #d3d8db;border-radius:10px;padding:9px 11px;background:#fff;font:inherit}
@media(max-width:700px){.resultContactSuccess{grid-template-columns:1fr;padding:20px}.resultContactSuccessIcon{width:48px;height:48px}.resultContactSuccessCopy h3{font-size:27px}.resultContactSuccessSteps{grid-template-columns:1fr}.resultContactNextStep{padding:17px 0 0}.resultContactSuccessActions{display:grid}.resultContactSuccessActions a{width:100%}.resultPriceVehicleNotice{margin-top:9px}}

/* CMB Konfigurator 1.5.71 – Angebots-Hervorhebung & Budget-Alternativen */
.cardPromoBadge{
  display:grid;gap:2px;align-self:flex-start;margin:0 0 10px;padding:8px 11px;border-radius:14px;
  background:#111820;color:#fff;box-shadow:0 8px 22px rgba(17,24,32,.16);position:relative;z-index:6
}
.cardPromoBadge strong{font-size:12px;line-height:1.1;letter-spacing:.055em;text-transform:uppercase}
.cardPromoBadge span{font-size:12px;line-height:1.25;color:rgba(255,255,255,.82);font-weight:750}
body:not(.adminPage) .floorplanDecisionCard .cardPromoBadge{position:absolute;top:14px;right:14px;max-width:min(210px,55%)}
body:not(.adminPage) .floorplanDecisionCard .cardPromoBadge + .cardBadge{margin-top:0}
.offerPriceTag{display:inline-flex!important;align-items:center;gap:7px;flex-wrap:wrap}
.offerPriceTag s{opacity:.65;font-weight:750}.offerPriceTag strong{font-weight:950}
.offerSavingTag{background:#111820!important;border-color:#111820!important;color:#fff!important}
.resultInterestPriceHint{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:5px;padding:4px 8px;border-radius:999px;background:#f4eee6;color:#72583f;font-size:12px;line-height:1.2;font-style:normal;font-weight:850}
.resultOfferHighlight{display:inline-grid;gap:3px;margin:12px 0 2px;padding:10px 13px;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:rgba(17,24,32,.72);backdrop-filter:blur(10px);max-width:540px}
.resultOfferHighlight strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.resultOfferHighlight span{font-size:13px;line-height:1.35;color:rgba(255,255,255,.88);font-weight:750}
@media(max-width:700px){
  body:not(.adminPage) .floorplanDecisionCard .cardPromoBadge{position:relative;top:auto;right:auto;max-width:100%;margin-bottom:8px}
  .resultOfferHighlight{max-width:100%}
}
.layoutDecisionOffer{display:inline-grid;gap:2px;margin:7px 0 2px;padding:8px 11px;border-radius:12px;background:rgba(17,24,32,.82);border:1px solid rgba(255,255,255,.25);max-width:420px}
.layoutDecisionOffer strong{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#fff}.layoutDecisionOffer span{font-size:13px;line-height:1.3;color:rgba(255,255,255,.88);font-weight:800}

/* CMB Konfigurator 1.5.72 – Angebote früher sichtbar, ohne Konzeptpreis zu vermischen */
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardPromoBadge{
  margin:0 0 10px;
  border-radius:13px;
  background:#111820;
}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardPromoBadge span{
  max-width:34ch;
}
.conceptDecisionOffer{
  display:grid;
  gap:4px;
  margin-top:18px;
  padding:13px 14px;
  border:1px solid #d8e5dc;
  border-radius:16px;
  background:#f3f8f5;
  color:#17231c;
}
.conceptDecisionOffer strong{
  font-size:10px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#176f45;
}
.conceptDecisionOffer span{
  font-size:13px;
  line-height:1.4;
  font-weight:900;
  color:#1f2a24;
}
.conceptDecisionOffer small{
  font-size:10px;
  line-height:1.4;
  color:#68756e;
}
.conceptDecisionLayoutGrid article{position:relative}
.conceptDecisionLayoutGrid article.has-offer{
  border-color:#bdd8c7;
  box-shadow:0 12px 30px rgba(23,111,69,.10);
}
.conceptDecisionLayoutOffer{
  position:absolute;
  z-index:3;
  top:11px;
  right:11px;
  max-width:70%;
  padding:6px 8px;
  border-radius:999px;
  background:#111820;
  color:#fff;
  font-size:9px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:.055em;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(17,24,32,.18);
}
@media(max-width:700px){
  .conceptDecisionOffer{margin-top:15px;padding:12px 13px}
  .conceptDecisionLayoutOffer{top:9px;right:9px}
}

/* CMB Konfigurator 1.5.73 – Angebot rot, Light-Unterschiede früh & klar */
:root{--cmb-offer:#b42318;--cmb-offer-dark:#8f1d14;--cmb-offer-soft:#fff1ef}
.cardPromoBadge,
.resultOfferHighlight,
.layoutDecisionOffer,
.conceptDecisionOffer,
.conceptDecisionLayoutOffer,
.offerSavingTag{
  background:var(--cmb-offer)!important;
  border-color:var(--cmb-offer)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(180,35,24,.18)
}
.cardPromoBadge span,.resultOfferHighlight span,.layoutDecisionOffer span,.conceptDecisionOffer span,.conceptDecisionOffer small{color:rgba(255,255,255,.9)!important}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardPromoBadge{background:var(--cmb-offer)!important}
body:not(.adminPage) .floorplanDecisionCard .cardPromoBadge{
  position:relative;top:auto;right:auto;max-width:100%;margin:0 0 10px;align-self:stretch
}
body:not(.adminPage) .floorplanDecisionCard .cardPromoBadge + .cardBadge{margin-top:0}
.conceptDecisionLayoutGrid article.has-offer{border-color:#e3aaa5;box-shadow:0 12px 30px rgba(180,35,24,.09)}
.conceptDecisionLayoutOffer{
  position:static;display:block;width:max-content;max-width:calc(100% - 24px);margin:10px 12px 0 auto;
  padding:6px 9px;border-radius:999px;font-size:9px;line-height:1.1;font-weight:950;letter-spacing:.055em;text-transform:uppercase
}
.conceptDecisionLayoutDifference{
  display:block;width:max-content;max-width:calc(100% - 24px);margin:6px 12px 0;padding:5px 8px;border-radius:999px;
  background:#f4eee7;color:#72583f;font-size:9px;line-height:1.2;font-weight:900
}

.cardVariantNotice{
  display:grid;gap:4px;margin:0 0 12px;padding:11px 12px;border:1px solid #dfd2c4;border-radius:14px;background:#fbf7f1;color:#241f1b
}
.cardVariantNotice strong{font-size:10px;line-height:1.2;letter-spacing:.055em;text-transform:uppercase;color:#785b42}
.cardVariantNotice span{font-size:12px;line-height:1.4;font-weight:850;color:#23272a}
.cardVariantNotice small{font-size:10px;line-height:1.35;color:#766b61;font-weight:750}

.variantDifferenceCompact{
  display:grid;gap:3px;max-width:620px;margin:10px 0 2px;padding:10px 12px;border:1px solid rgba(255,255,255,.34);border-radius:13px;
  background:rgba(255,248,239,.92);color:#251e18;backdrop-filter:blur(9px)
}
.variantDifferenceCompact strong{font-size:10px;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:#785b42}
.variantDifferenceCompact span{font-size:12px;line-height:1.4;font-weight:850;color:#2a2724}

.variantDifferencePanel{
  margin:0;padding:28px 32px;border-top:1px solid #e8ded3;border-bottom:1px solid #e8ded3;background:#fbf7f1;color:#111820
}
.variantDifferencePanelHead{display:grid;gap:6px;max-width:760px;margin-bottom:18px}
.variantDifferencePanelHead>span{font-size:10px;line-height:1.2;font-weight:950;letter-spacing:.1em;text-transform:uppercase;color:#8a6649}
.variantDifferencePanelHead h3{margin:0;font-size:28px;line-height:1.08;letter-spacing:-.035em;color:#111820}
.variantDifferencePanelHead p{margin:0;color:#5e676d;font-size:13px;line-height:1.55}
.variantDifferenceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.variantDifferenceGrid article{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;padding:13px 14px;border:1px solid #e2d7ca;border-radius:15px;background:#fff}
.variantDifferenceGrid article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#f4eee7;color:#785b42}
.variantDifferenceGrid article svg{width:22px;height:22px}
.variantDifferenceGrid article strong{display:block;margin:1px 0 4px;color:#172027;font-size:12px;line-height:1.3}
.variantDifferenceGrid article p{margin:0;color:#606a70;font-size:11px;line-height:1.45}
.variantDifferencePanel--layout{padding-left:34px;padding-right:34px}
.resultVariantDifference{margin-top:10px}

.resultExperiencePrice[data-edit-type="layout"],
.resultPriceBreakdown article[data-edit-type="layout"]{position:relative}
body.cmbEditorActive .resultExperiencePrice[data-edit-type="layout"],
body.cmbEditorActive .resultPriceBreakdown article[data-edit-type="layout"]{outline:1px dashed rgba(30,112,165,.55);outline-offset:3px}

@media(max-width:700px){
  .conceptDecisionLayoutOffer{margin-top:9px}
  .cardVariantNotice{margin-bottom:10px;padding:10px 11px}
  .variantDifferencePanel{padding:22px 18px}.variantDifferencePanelHead h3{font-size:24px}.variantDifferenceGrid{grid-template-columns:1fr}
  .variantDifferenceCompact{max-width:100%}
}
/* Angebots-/Variantenlabels stehen vor der Bildfläche; first-of-type hält das bestehende Bildlayout stabil. */
.conceptDecisionLayoutGrid article>div:first-of-type{height:220px;background:#f4f1eb;display:grid;place-items:center}

/* 1.5.74 Messe-QA: ein geschlossenes Info-Disclosure in der Orientation-Hero
   darf auf Desktop nicht auf die Höhe der linken Hero-Karte gestreckt werden. */
@media(min-width:1101px){
  body:not(.adminPage).orientationPage .orientationHero>.orientationFreedomDisclosure{
    align-self:start;
  }
}

/* 1.5.74 – persistierter Erstberatungsstatus + Terminbuchungsdialog */
.resultConsultationExistingIntro{display:grid;align-content:start;gap:0}
.resultConfigurationSavedHint.is-success{border-color:#c7dfcf;background:#f3faf5;color:#234b31}
.resultConsultationExistingBooking{display:grid;gap:7px;margin-top:22px;padding:18px;border:1px solid #c7dfcf;border-radius:18px;background:#fff}
.resultConsultationExistingBooking>strong{color:#111820;font-size:17px;line-height:1.2}
.resultConsultationExistingBooking>span{color:#606a70;font-size:12px;line-height:1.5}
.resultConsultationExistingBooking .resultBookingButton{margin-top:5px;width:max-content;max-width:100%}
.resultConsultationExistingCard{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:20px;border:1px solid #d8e4dc;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(17,24,32,.06)}
.resultConsultationExistingIcon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#dff2e6;color:var(--cmb-action);font-size:20px;font-weight:950}
.resultConsultationExistingCard small{display:block;margin-bottom:5px;color:#8d6848;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.resultConsultationExistingCard h4{margin:0 0 8px;color:#111820;font-size:20px;line-height:1.15;letter-spacing:-.025em}
.resultConsultationExistingCard p{margin:0 0 14px;color:#606a70;font-size:12px;line-height:1.55}
.resultConsultationExistingCard .resultOpenConfigurationButton{margin-top:14px;width:max-content;max-width:100%}
body.consultationBookingModalOpen{overflow:hidden}
.resultConsultationBookingOverlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:24px;background:rgba(10,15,20,.62);backdrop-filter:blur(12px);opacity:0;transition:opacity .18s ease}
.resultConsultationBookingOverlay.is-visible{opacity:1}
.resultConsultationBookingModal{position:relative;width:min(560px,100%);padding:34px;border:1px solid rgba(255,255,255,.7);border-radius:28px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.28);text-align:left}
.resultConsultationBookingClose{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #dfe4e1;border-radius:999px;background:#fff;color:#20272d;font-size:25px;line-height:1;cursor:pointer}
.resultConsultationBookingKicker{display:block;padding-right:44px;color:#8d6848;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}
.resultConsultationBookingIcon{display:grid;place-items:center;width:54px;height:54px;margin:18px 0;border-radius:18px;background:#dff2e6;color:var(--cmb-action);font-size:26px;font-weight:950}
.resultConsultationBookingModal h2{margin:0 0 12px;color:#111820;font-size:34px;line-height:1.04;letter-spacing:-.045em}
.resultConsultationBookingModal p{margin:0;color:#606a70;font-size:14px;line-height:1.6}
.resultConsultationBookingActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.resultConsultationBookingActions .resultBookingButton{min-height:50px}
.resultConsultationBookingLater{min-height:50px;padding:11px 17px;border:1px solid #bdc6c1;border-radius:14px;background:#fff;color:#182129;font-size:12px;font-weight:900;cursor:pointer}
.resultConsultationBookingLater:hover,.resultConsultationBookingClose:hover{border-color:#182129}
@media(max-width:700px){
  .resultConsultationExistingCard{grid-template-columns:1fr;padding:17px}
  .resultConsultationExistingBooking .resultBookingButton,.resultConsultationExistingCard .resultOpenConfigurationButton{width:100%}
  .resultConsultationBookingOverlay{align-items:end;padding:12px}
  .resultConsultationBookingModal{padding:26px 20px 22px;border-radius:24px}
  .resultConsultationBookingModal h2{font-size:29px}
  .resultConsultationBookingActions{display:grid}
  .resultConsultationBookingActions .resultBookingButton,.resultConsultationBookingLater{width:100%}
}
@media(prefers-reduced-motion:reduce){.resultConsultationBookingOverlay{transition:none}}


/* 1.5.80: kontrollierter Übergang Grundriss -> Sonderausstattung.
   Der Status erscheint erst nach 120 ms und vermeidet dadurch Loader-Flashes
   bei schnellen Product-Logic-Antworten. */
.decisionTransitionOverlay{position:fixed;inset:0;z-index:10040;display:grid;place-items:center;padding:24px;background:rgba(247,247,245,.72);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;pointer-events:auto;transition:opacity .14s ease}
.decisionTransitionOverlay.is-visible{opacity:1}
.decisionTransitionCard{display:flex;align-items:center;gap:14px;max-width:min(430px,calc(100vw - 40px));padding:16px 18px;border:1px solid rgba(17,24,32,.10);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 18px 54px rgba(17,24,32,.14);color:#111820}
.decisionTransitionCard>div{display:grid;gap:3px;min-width:0}
.decisionTransitionCard strong{font:750 15px/1.25 var(--font,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);letter-spacing:-.01em}
.decisionTransitionCard small{font:500 12px/1.4 var(--font,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);color:#66717b}
.decisionTransitionSpinner{width:22px;height:22px;flex:0 0 22px;border:2px solid #d8dde1;border-top-color:#111820;border-radius:50%;animation:decisionTransitionSpin .7s linear infinite}
@keyframes decisionTransitionSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.decisionTransitionOverlay{transition:none}.decisionTransitionSpinner{animation:none;border-color:#111820 #d8dde1 #d8dde1}}

/* CMB Konfigurator 1.5.83 – Customer-UX-Härtung: progressive Grundrisse, Teilausbau-Fortschritt, Addon-Filter, Danke-Seite */
.floorplanMoreDisclosure{margin-top:14px;border:1px solid #e1ddd6;border-radius:18px;background:#fff;overflow:hidden}
.floorplanMoreDisclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;cursor:pointer;color:#273039}
.floorplanMoreDisclosure>summary::-webkit-details-marker{display:none}
.floorplanMoreDisclosure>summary span{display:grid;gap:3px}
.floorplanMoreDisclosure>summary strong{font-size:13px}
.floorplanMoreDisclosure>summary small{font-size:10.5px;color:#737b82}
.floorplanMoreDisclosure>summary b{width:30px;height:30px;border-radius:999px;background:#f2eee8;display:grid;place-items:center;font-size:20px;transition:transform .16s ease}
.floorplanMoreDisclosure[open]>summary b{transform:rotate(90deg)}
.floorplanAdditionalCards{padding:0 14px 14px}

.addonQuickFilters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:0 2px}
.addonQuickFilters>span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8a6242;margin-right:2px}
.addonSelectionFilterChip{min-height:36px;border:1px solid #ddd7cf;border-radius:999px;background:#fff;color:#4f5961;padding:7px 11px;font-size:11px;font-weight:850;cursor:pointer}
.addonSelectionFilterChip.active{border-color:#1d6f47;background:#edf8f1;color:#176f45;box-shadow:inset 0 0 0 1px rgba(23,111,69,.08)}
.addonSelectionFilterChip:focus-visible{outline:3px solid rgba(32,169,95,.22);outline-offset:2px}

.partialScopeProgress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;align-items:center;border:1px solid #dcd8d1;border-radius:17px;padding:14px 15px;background:#fff}
.partialScopeProgressCopy{display:grid;gap:2px}.partialScopeProgressCopy strong{font-size:13px;color:#243039}.partialScopeProgressCopy span{font-size:11px;color:#6b747b}
.partialScopeProgressTrack{grid-column:1/-1;height:8px;border-radius:999px;background:#ece9e4;overflow:hidden}
.partialScopeProgressTrack>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b58b69,#176f45);transition:width .2s ease}
.partialScopeNextOpen{border:1px solid #d9d3cb;border-radius:999px;background:#faf7f2;color:#6d5038;padding:8px 11px;font-size:10.5px;font-weight:900;white-space:nowrap}
.partialScopeNextOpen:hover{background:#f1e8dc}.partialScopeNextOpen:focus-visible{outline:3px solid rgba(181,139,105,.24);outline-offset:2px}

.conceptDecisionOffer.requiresCmbVehicle{border-color:#d7b47d;background:linear-gradient(135deg,#fff8ea,#fff)}
.conceptDecisionOffer.requiresCmbVehicle small{color:#75512f;font-weight:750}

.simplePublicPage .simpleCard.thankYouCard{width:min(760px,94vw);padding:34px;border-radius:28px}
.thankYouCard .simpleBrand{display:inline-flex;margin-bottom:24px}.thankYouCard .simpleBrand img{width:190px;height:auto;display:block}
.thankYouEyebrow{display:block;color:#8a6242;font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px}
.thankYouCard h1{font-size:clamp(31px,5vw,48px);line-height:1.02;letter-spacing:-.05em;margin:0 0 12px;color:#111820}
.thankYouLead{font-size:16px;line-height:1.55;color:#5c666f;margin:0;max-width:620px}
.thankYouSteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:26px 0}
.thankYouSteps article{border:1px solid #e8e2da;border-radius:18px;padding:16px;background:#fbfaf8}
.thankYouSteps span{width:29px;height:29px;border-radius:999px;display:grid;place-items:center;background:#e9f6ee;color:#176f45;font-size:12px;font-weight:950;margin-bottom:10px}
.thankYouSteps strong{display:block;color:#202a31;font-size:13px}.thankYouSteps small{display:block;margin-top:4px;color:#68727a;font-size:11px;line-height:1.45}
.thankYouBooking{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px;border-radius:18px;background:#111820;color:#fff;margin:0 0 18px}
.thankYouBooking strong{display:block;font-size:14px}.thankYouBooking span{display:block;margin-top:4px;color:#c8d0d6;font-size:11px;line-height:1.45}
.thankYouBooking a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:12px;background:#d7a766;color:#111820;text-decoration:none;padding:10px 14px;font-size:11px;font-weight:950;white-space:nowrap}
.thankYouCard .simpleActions{display:flex;flex-wrap:wrap;gap:10px}.thankYouCard .simpleActions .buttonLink{width:auto;min-width:200px;background:#176f45}
.thankYouSecondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #d8d3cb;border-radius:12px;background:#fff;color:#303941;text-decoration:none;padding:10px 14px;font-size:12px;font-weight:900}
.thankYouFoot{margin:18px 0 0;color:#7a8289;font-size:10.5px}.thankYouFoot a{color:#664b36}

@media(max-width:700px){
  .floorplanMoreDisclosure{margin-top:10px}.floorplanAdditionalCards{padding:0 10px 10px}.floorplanAdditionalCards.floorplanCards{gap:10px}
  .addonQuickFilters{flex-wrap:nowrap;overflow-x:auto;padding:2px 0 5px;scrollbar-width:none}.addonQuickFilters::-webkit-scrollbar{display:none}.addonQuickFilters>span,.addonSelectionFilterChip{flex:0 0 auto}
  body:not(.adminPage)[data-config-step="addons"] .addonCatalogGroup:not([open]){padding-top:8px;padding-bottom:8px}
  body:not(.adminPage)[data-config-step="addons"] .addonCatalogGroup:not([open]) .addonCatalogSummary{min-height:58px}
  .partialScopeProgress{grid-template-columns:1fr}.partialScopeProgressTrack{grid-column:auto}.partialScopeNextOpen{justify-self:start}
  .simplePublicPage .simpleCard.thankYouCard{padding:24px 18px;border-radius:22px}.thankYouCard .simpleBrand img{width:155px}.thankYouSteps{grid-template-columns:1fr;gap:8px}.thankYouSteps article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 10px;align-items:start;padding:13px}.thankYouSteps article span{grid-row:1/span 2;margin:0}.thankYouSteps article small{grid-column:2}.thankYouBooking{grid-template-columns:1fr}.thankYouBooking a{width:100%}.thankYouCard .simpleActions{display:grid}.thankYouCard .simpleActions .buttonLink,.thankYouSecondary{width:100%;min-width:0}
}


/* CMB Konfigurator 1.5.86 – vergleichbare Konzeptpreise & reduzierte Light-Kommunikation */
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard{position:relative}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardPrimaryPrice{
  display:grid;gap:2px;width:max-content;max-width:100%;margin:0 0 10px auto;padding:9px 12px;border:1px solid #d7e8dc;border-radius:14px;background:#f3faf5;color:#153f29;text-align:right;position:relative;z-index:7
}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardPrimaryPrice strong{font-size:14px;line-height:1.1;font-weight:950}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardPrimaryPrice small{font-size:9px;line-height:1.25;color:#66736b;font-weight:800}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardPromoBadge{
  align-self:stretch;margin-bottom:10px;padding:9px 12px
}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardPromoBadge strong{font-size:10px}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardPromoBadge span{font-size:11px}
@media(max-width:700px){
  body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .cardPrimaryPrice{margin-bottom:8px;padding:8px 10px}
}

/* CMB Konfigurator 1.5.88 – Light-Ebene, Grundrissstatus & schneller Addon-Übergang */
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  width:100%;
  margin:0 0 10px;
  position:relative;
  z-index:8;
}
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge,
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardSelectedStatus{
  position:static!important;
  inset:auto!important;
  margin:0!important;
  max-width:min(100%,330px)!important;
}
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge{
  flex:1 1 auto;
  align-self:auto;
  box-shadow:none;
}
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardSelectedStatus{
  flex:0 0 auto;
  margin-left:auto!important;
  white-space:nowrap;
}
body:not(.adminPage) .floorplanDecisionCard .cardVariantNotice{
  position:relative;
  z-index:2;
  margin-top:0;
}

/* Im CMB-Ausbaukonzept wird die Sonderedition nur benannt. Technische
   Abweichungen werden bewusst erst auf Grundrissebene erklärt. */
.conceptDecisionLayoutEdition{
  display:block;
  width:max-content;
  max-width:calc(100% - 24px);
  margin:10px 12px 0;
  padding:5px 8px;
  border:1px solid #ddd3c6;
  border-radius:999px;
  background:#f7f2eb;
  color:#72583f;
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.035em;
}
.conceptDecisionLayoutGrid article.has-special-edition{
  border-color:#ded6cc;
  box-shadow:0 10px 26px rgba(17,24,32,.05);
}

/* Angebots-/Paketinformation im Grundrissdetail liegt nicht mehr über dem
   Hero-Bild, sondern als sachliche Informationszeile im Inhaltsfluss. */
.layoutOfferDetail{
  margin:0;
  padding:18px 34px;
  border-bottom:1px solid #e8ded3;
  background:#fff;
  color:#111820;
}
.layoutOfferDetail>div{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:4px 16px;
  align-items:center;
  padding:14px 16px;
  border:1px solid #dfd4c7;
  border-radius:16px;
  background:#faf7f2;
}
.layoutOfferDetail span{
  grid-row:1/span 2;
  align-self:start;
  padding:6px 9px;
  border-radius:999px;
  background:#f0e7dc;
  color:#72583f;
  font-size:9px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.layoutOfferDetail strong{
  font-size:14px;
  line-height:1.25;
  color:#182129;
}
.layoutOfferDetail small{
  font-size:11px;
  line-height:1.45;
  color:#667078;
}

/* PAGE-SONDERAUSSTATTUNG wird sofort geöffnet. Während die autoritative
   Produktlogik läuft, zeigt nur diese Seite einen leichten lokalen Status. */
.addonLogicPending{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:128px;
  margin:8px 0 24px;
  padding:20px 22px;
  border:1px solid #dfddd8;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 32px rgba(17,24,32,.05);
}
.addonLogicPendingSpinner{
  width:24px;
  height:24px;
  border:2px solid #d8dde1;
  border-top-color:#176f45;
  border-radius:50%;
  animation:decisionTransitionSpin .7s linear infinite;
}
.addonLogicPending strong{display:block;font-size:14px;line-height:1.3;color:#172027}
.addonLogicPending p{margin:4px 0 0;font-size:11px;line-height:1.5;color:#667078}

@media(max-width:700px){
  body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow{align-items:stretch;flex-wrap:wrap}
  body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge{flex:1 1 100%;max-width:100%!important}
  body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardSelectedStatus{margin-left:0!important}
  .layoutOfferDetail{padding:14px 18px}
  .layoutOfferDetail>div{grid-template-columns:1fr;gap:7px;padding:13px 14px}
  .layoutOfferDetail span{grid-row:auto;width:max-content;max-width:100%}
  .addonLogicPending{grid-template-columns:auto minmax(0,1fr);padding:17px 16px}
}
@media(prefers-reduced-motion:reduce){.addonLogicPendingSpinner{animation:none;border-color:#176f45 #d8dde1 #d8dde1}}

/* CMB Konfigurator 1.5.89 – Light-Kartenpolitur auf PAGE-GRUNDRISS */
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:10px 12px;
  margin:0 0 12px;
}
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge.isSpecialEdition{
  display:grid;
  gap:3px;
  min-width:0;
  padding:10px 14px;
  border-radius:16px;
  background:linear-gradient(135deg,#c22f22 0%,#ac2418 100%)!important;
  border:1px solid rgba(172,36,24,.95)!important;
  box-shadow:0 10px 22px rgba(180,35,24,.12);
}
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge.isSpecialEdition strong{
  font-size:11px;
  line-height:1.15;
  letter-spacing:.045em;
}
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge.isSpecialEdition span{
  font-size:11px;
  line-height:1.35;
  color:rgba(255,255,255,.95)!important;
  font-weight:800;
}
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardSelectedStatus{
  align-self:center;
  min-height:38px;
  padding:8px 14px;
}
body:not(.adminPage) .floorplanDecisionCard .cardVariantNotice.isDisclosureHint{
  display:grid;
  gap:5px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #e5d9cc;
  border-radius:16px;
  background:linear-gradient(180deg,#fffdfa 0%,#fbf8f3 100%);
  box-shadow:0 1px 0 rgba(17,24,32,.03);
}
body:not(.adminPage) .floorplanDecisionCard .cardVariantNotice.isDisclosureHint strong{
  font-size:10px;
  line-height:1.2;
  letter-spacing:.065em;
  text-transform:uppercase;
  color:#8b6749;
}
body:not(.adminPage) .floorplanDecisionCard .cardVariantNotice.isDisclosureHint span{
  font-size:12px;
  line-height:1.5;
  font-weight:800;
  color:#23272a;
}
body:not(.adminPage) .floorplanDecisionCard .cardVariantNotice.isDisclosureHint small{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:#f1ebe2;
  color:#6f553d;
  font-size:10px;
  line-height:1.2;
  font-weight:900;
}
@media(max-width:700px){
  body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow{
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:10px;
  }
  body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge.isSpecialEdition{
    width:100%;
  }
  body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardSelectedStatus{
    justify-self:end;
    align-self:start;
  }
  body:not(.adminPage) .floorplanDecisionCard .cardVariantNotice.isDisclosureHint{
    padding:11px 12px;
  }
}

/* CMB Konfigurator 1.5.90 – QA-Abschluss: messbarer Grundriss→Addon-Übergang */
.qaTransitionMetric{
  position:fixed;
  z-index:10020;
  right:18px;
  bottom:18px;
  display:grid;
  gap:4px;
  width:min(360px,calc(100vw - 36px));
  padding:14px 16px;
  border:1px solid #cfe1d4;
  border-radius:16px;
  background:rgba(246,252,248,.97);
  color:#183225;
  box-shadow:0 18px 44px rgba(17,24,32,.16);
  backdrop-filter:blur(12px);
}
.qaTransitionMetric strong{font-size:12px;line-height:1.3;color:#153f29}
.qaTransitionMetric span{font-size:11px;line-height:1.45;color:#43564a}
.qaTransitionMetric small{font-size:10px;line-height:1.4;color:#6b766f}
.qaTransitionMetric.is-slow{border-color:#e5c98d;background:rgba(255,250,238,.98);color:#6e4a15}
.qaTransitionMetric.is-error{border-color:#e2aaa4;background:rgba(255,244,242,.98);color:#8f1d14}
@media(max-width:700px){.qaTransitionMetric{right:10px;bottom:72px;width:calc(100vw - 20px);padding:12px 13px}}

/* CMB Konfigurator 1.5.91 – gespeicherte Konfiguration als sekundäre Start-Utility */
body:not(.adminPage).homeStart .startDecisionHeader{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,390px);
  gap:28px;
  align-items:start;
  margin:4px 0 18px;
}
body:not(.adminPage).homeStart .startDecisionHeader .startDecisionIntro{
  margin:0;
}
body:not(.adminPage).homeStart .startAccountUtility{
  min-width:0;
  padding-top:20px;
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountDisclosure{
  width:100%;
  margin:0;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(17,24,32,.055);
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountDisclosure>summary{
  min-height:62px;
  padding:13px 14px 13px 16px;
  background:linear-gradient(135deg,#fff,#faf8f4);
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountDisclosure>summary strong{
  font-size:12px;
  line-height:1.2;
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountDisclosure>summary small{
  font-size:9.5px;
  line-height:1.35;
  color:#737b82;
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountDisclosure[open]>.mobileInfoDisclosureBody{
  background:#fbfaf8;
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountAccess{
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  margin:0;
  padding:17px 16px 16px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountAccessIcon{
  width:42px;
  height:42px;
  border-radius:13px;
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountAccessCopy h2{
  margin:4px 0 5px;
  font-size:18px;
  line-height:1.12;
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountAccessCopy p{
  font-size:11px;
  line-height:1.48;
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountAccessCopy small{
  font-size:10px;
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountAccessActions{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  justify-content:stretch;
  padding-left:0;
}
body:not(.adminPage).homeStart .startAccountUtility .startAccountAccessActions a,
body:not(.adminPage).homeStart .startAccountUtility .startAccountAccessActions button{
  width:100%;
  min-height:42px;
  padding:9px 12px;
  text-align:center;
  white-space:normal;
}
@media(max-width:900px){
  body:not(.adminPage).homeStart .startDecisionHeader{
    grid-template-columns:1fr;
    gap:13px;
    margin-bottom:16px;
  }
  body:not(.adminPage).homeStart .startAccountUtility{
    padding-top:0;
  }
  body:not(.adminPage).homeStart .startAccountUtility .startAccountDisclosure{
    max-width:none;
  }
}
@media(max-width:700px){
  body:not(.adminPage).homeStart .startDecisionHeader{
    gap:12px;
  }
  body:not(.adminPage).homeStart .startAccountUtility .startAccountDisclosure>summary{
    min-height:58px;
    padding:12px 14px;
  }
  body:not(.adminPage).homeStart .startAccountUtility .startAccountAccess{
    padding:15px 14px 14px;
  }
}


/* CMB Konfigurator 1.5.92 – PAGE-START Header exakt am Einstiegskarten-Raster ausrichten */
body:not(.adminPage).homeStart .startDecisionHeader{
  width:min(calc(100% - 68px),1400px);
  margin:4px auto 18px;
}
body:not(.adminPage).homeStart .startDecisionHeader .startDecisionIntro{
  width:100%;
  margin:0;
}
@media(min-width:1700px){
  body:not(.adminPage).homeStart .startDecisionHeader{
    width:min(calc(100% - 96px),1460px);
  }
}
@media(max-width:1180px){
  body:not(.adminPage).homeStart .startDecisionHeader{
    width:min(calc(100% - 44px),1240px);
  }
}
@media(max-width:900px){
  body:not(.adminPage).homeStart .startDecisionHeader{
    margin-top:4px;
    margin-bottom:16px;
  }
}
@media(max-width:760px){
  body:not(.adminPage).homeStart .startDecisionHeader{
    width:calc(100% - 36px);
    margin-left:auto;
    margin-right:auto;
  }
}


/* CMB Konfigurator 1.5.93 – PAGE-START: hochwertiges, optionales Grundriss-Angebot
   Gleiche Inhaltsachse wie Einstiegskarten und Orientierung; Hervorhebung erfolgt
   ausschließlich über Fläche, Tiefe und Typografie – nicht über ein breiteres Raster. */
body:not(.adminPage).homeStart .startPathBadgeRow{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  align-self:flex-start;
}
body:not(.adminPage).homeStart .startPathOfferBadge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  padding:7px 11px;
  color:#183a2b;
  background:rgba(244,255,248,.94);
  border:1px solid rgba(107,170,130,.42);
  border-radius:10px;
  box-shadow:0 10px 24px rgba(0,0,0,.14);
  backdrop-filter:blur(12px);
  font-size:11px;
  font-weight:950;
  text-shadow:none;
}
body:not(.adminPage).homeStart .startPathOfferBadge svg{
  width:14px;
  height:14px;
  flex:0 0 14px;
  color:#4a9b6a;
}
body:not(.adminPage).homeStart .startOfferSection{
  position:relative;
  margin-top:26px;
  margin-bottom:0;
}
body:not(.adminPage).homeStart .startOfferHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:34px;
  margin:0 0 10px;
  padding:0 8px;
}
body:not(.adminPage).homeStart .startOfferHeader>div{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
body:not(.adminPage).homeStart .startOfferEyebrow,
body:not(.adminPage).homeStart .startOfferSpecialBadge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:950;
}
body:not(.adminPage).homeStart .startOfferEyebrow{
  color:#9b6338;
  font-size:11px;
}
body:not(.adminPage).homeStart .startOfferEyebrow svg{width:15px;height:15px}
body:not(.adminPage).homeStart .startOfferSpecialBadge{
  min-height:28px;
  padding:5px 10px;
  color:#6e482d;
  background:#fff6e9;
  border:1px solid #ead1ae;
  border-radius:999px;
  font-size:9px;
  letter-spacing:.09em;
}
body:not(.adminPage).homeStart .startOfferCard{
  position:relative;
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.28fr) minmax(235px,.58fr);
  gap:26px;
  align-items:center;
  width:100%;
  min-height:188px;
  padding:22px 24px;
  overflow:hidden;
  color:#111820;
  text-align:left;
  font:inherit;
  background:
    radial-gradient(circle at 92% 12%,rgba(224,179,121,.17),transparent 34%),
    linear-gradient(132deg,#fff9f1 0%,#fffdf9 53%,#fbf0e2 100%);
  border:1px solid #dfbd91;
  border-radius:22px;
  box-shadow:0 22px 54px rgba(79,52,29,.13),0 3px 12px rgba(17,24,32,.06),inset 0 1px 0 rgba(255,255,255,.92);
  cursor:pointer;
  appearance:none;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
body:not(.adminPage).homeStart .startOfferCard::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.56);
}
body:not(.adminPage).homeStart .startOfferCard:hover,
body:not(.adminPage).homeStart .startOfferCard:focus-visible{
  transform:translateY(-2px);
  border-color:#c9985d;
  box-shadow:0 28px 68px rgba(79,52,29,.17),0 5px 16px rgba(17,24,32,.07),inset 0 1px 0 rgba(255,255,255,.96);
  outline:none;
}
body:not(.adminPage).homeStart .startOfferCard:focus-visible{
  box-shadow:0 28px 68px rgba(79,52,29,.17),0 0 0 4px rgba(199,148,86,.18);
}
body:not(.adminPage).homeStart .startOfferAccent{
  position:absolute;
  left:12px;
  top:12px;
  z-index:4;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  color:#fff;
  background:linear-gradient(145deg,#d7a466,#b9793e);
  border:2px solid #fffaf3;
  border-radius:999px;
  box-shadow:0 8px 22px rgba(113,72,34,.25);
  transform:none;
}
body:not(.adminPage).homeStart .startOfferAccent svg{width:17px;height:17px}
body:not(.adminPage).homeStart .startOfferMedia,
body:not(.adminPage).homeStart .startOfferCopy,
body:not(.adminPage).homeStart .startOfferPrice{position:relative;z-index:1;min-width:0}
body:not(.adminPage).homeStart .startOfferMedia{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(110px,.72fr);
  gap:10px;
  align-items:stretch;
  min-height:136px;
}
body:not(.adminPage).homeStart .startOfferFloorplan,
body:not(.adminPage).homeStart .startOfferLifestyle{
  position:relative;
  display:block;
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(137,103,70,.2);
  border-radius:14px;
  box-shadow:0 8px 22px rgba(17,24,32,.06);
}
body:not(.adminPage).homeStart .startOfferFloorplan img,
body:not(.adminPage).homeStart .startOfferLifestyle img{
  width:100%;
  height:100%;
  min-height:136px;
  object-fit:cover;
}
body:not(.adminPage).homeStart .startOfferFloorplan img{object-fit:contain;padding:8px;background:#fff}
body:not(.adminPage).homeStart .startOfferLifestyle small{
  position:absolute;
  left:8px;
  bottom:8px;
  max-width:calc(100% - 16px);
  padding:4px 7px;
  overflow:hidden;
  color:#fff;
  background:rgba(17,24,32,.7);
  border-radius:7px;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9px;
  font-weight:800;
  backdrop-filter:blur(8px);
}
body:not(.adminPage).homeStart .startOfferCopy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
body:not(.adminPage).homeStart .startOfferMeta{
  margin:0 0 5px;
  color:#9a6b45;
  font-size:11px;
  font-weight:850;
}
body:not(.adminPage).homeStart .startOfferCopy>strong{
  display:block;
  margin:0 0 8px;
  color:#111820;
  font-size:clamp(24px,2vw,31px);
  line-height:1.05;
  letter-spacing:-.035em;
}
body:not(.adminPage).homeStart .startOfferDescription{
  display:-webkit-box;
  max-width:620px;
  margin:0 0 11px;
  overflow:hidden;
  color:#525c65;
  font-size:13px;
  line-height:1.48;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
body:not(.adminPage).homeStart .startOfferCondition{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 0 10px;
  padding:6px 9px;
  color:#654423;
  background:rgba(246,226,198,.7);
  border:1px solid rgba(208,164,108,.34);
  border-radius:9px;
  font-size:10.5px;
  font-weight:850;
}
body:not(.adminPage).homeStart .startOfferCondition svg{width:14px;height:14px}
body:not(.adminPage).homeStart .startOfferDetailLink{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#2d251e;
  font-size:11px;
  font-weight:900;
}
body:not(.adminPage).homeStart .startOfferDetailLink b{font-size:17px;line-height:1}
body:not(.adminPage).homeStart .startOfferPrice{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:136px;
  padding-left:22px;
  border-left:1px solid rgba(163,121,78,.2);
}
body:not(.adminPage).homeStart .startOfferPrice>small{
  margin-bottom:3px;
  color:#747069;
  font-size:10px;
  font-weight:750;
}
body:not(.adminPage).homeStart .startOfferPrice>strong{
  margin:0 0 6px;
  color:#111820;
  font-size:clamp(27px,2.3vw,36px);
  line-height:1;
  letter-spacing:-.035em;
}
body:not(.adminPage).homeStart .startOfferPrice>span:not(.startOfferAction){
  min-height:31px;
  color:#6a625a;
  font-size:10.5px;
  line-height:1.4;
}
body:not(.adminPage).homeStart .startOfferAction{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  min-height:44px;
  margin-top:11px;
  padding:0 15px;
  color:#2b2119;
  background:linear-gradient(180deg,#e7bd86,#dcaa6b);
  border:1px solid #cc9759;
  border-radius:11px;
  box-shadow:0 9px 22px rgba(130,84,39,.18);
  font-size:11px;
  font-weight:950;
}
body:not(.adminPage).homeStart .startOfferAction b{font-size:18px}
body:not(.adminPage).homeStart .startOfferCard:hover .startOfferAction,
body:not(.adminPage).homeStart .startOfferCard:focus-visible .startOfferAction{
  background:linear-gradient(180deg,#edc896,#e0ad6c);
}
body:not(.adminPage).homeStart .startOfferSection + .uncertaintyCta{margin-top:18px}

.offerPresetNotice{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:center;
  max-width:1120px;
  margin:0 0 20px;
  padding:14px 16px;
  color:#2b2119;
  background:linear-gradient(105deg,#fff8ee,#fffdf9);
  border:1px solid #e3c59f;
  border-radius:16px;
  box-shadow:0 12px 30px rgba(80,51,26,.08);
}
.offerPresetNoticeIcon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  color:#fff;
  background:#c88f50;
  border-radius:999px;
}
.offerPresetNoticeIcon svg{width:22px;height:22px}
.offerPresetNotice div{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.offerPresetNotice div>span{color:#a06a38;font-size:9px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.offerPresetNotice strong{color:#111820;font-size:17px;line-height:1.2}
.offerPresetNotice small{max-width:900px;color:#66707a;font-size:12px;line-height:1.42}

.layoutDecisionOverlay.isStartOfferEntry .layoutDecisionFooter{
  grid-template-columns:minmax(0,1fr);
  justify-items:stretch;
}
.layoutDecisionOverlay.isStartOfferEntry .layoutDecisionFooterCenter{
  width:100%;
  max-width:760px;
  margin:0 auto;
}
.layoutDecisionOverlay.isStartOfferEntry .layoutDecisionFooterActions{justify-content:center}
.layoutDecisionOverlay.isStartOfferEntry .layoutDecisionSelect{min-width:220px}

@media(max-width:1120px){
  body:not(.adminPage).homeStart .startOfferCard{
    grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr) minmax(210px,.62fr);
    gap:18px;
    padding:20px;
  }
  body:not(.adminPage).homeStart .startOfferMedia{grid-template-columns:1fr}
  body:not(.adminPage).homeStart .startOfferLifestyle{display:none}
}
@media(max-width:820px){
  body:not(.adminPage).homeStart .startOfferSection{margin-top:20px}
  body:not(.adminPage).homeStart .startOfferCard{
    grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);
    gap:18px;
  }
  body:not(.adminPage).homeStart .startOfferPrice{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:4px 18px;
    min-height:0;
    padding:15px 0 0;
    border-top:1px solid rgba(163,121,78,.2);
    border-left:0;
  }
  body:not(.adminPage).homeStart .startOfferPrice>small,
  body:not(.adminPage).homeStart .startOfferPrice>strong,
  body:not(.adminPage).homeStart .startOfferPrice>span:not(.startOfferAction){grid-column:1}
  body:not(.adminPage).homeStart .startOfferAction{grid-column:2;grid-row:1 / span 3;width:190px;margin:0}
}
@media(max-width:560px){
  body:not(.adminPage).homeStart .startPathBadgeRow{gap:6px}
  body:not(.adminPage).homeStart .startPathBadge,
  body:not(.adminPage).homeStart .startPathOfferBadge{min-height:29px;padding:6px 9px;font-size:9.5px}
  body:not(.adminPage).homeStart .startOfferHeader{padding:0 2px}
  body:not(.adminPage).homeStart .startOfferHeader>div{gap:7px}
  body:not(.adminPage).homeStart .startOfferEyebrow{font-size:9.5px}
  body:not(.adminPage).homeStart .startOfferSpecialBadge{font-size:8px}
  body:not(.adminPage).homeStart .startOfferCard{
    grid-template-columns:1fr;
    gap:15px;
    padding:16px;
    border-radius:20px;
  }
  body:not(.adminPage).homeStart .startOfferAccent{left:10px;top:10px;width:32px;height:32px}
  body:not(.adminPage).homeStart .startOfferMedia{min-height:150px}
  body:not(.adminPage).homeStart .startOfferFloorplan img{min-height:150px}
  body:not(.adminPage).homeStart .startOfferCopy>strong{font-size:25px}
  body:not(.adminPage).homeStart .startOfferDescription{-webkit-line-clamp:4}
  body:not(.adminPage).homeStart .startOfferPrice{
    grid-column:auto;
    display:flex;
    align-items:stretch;
    min-height:0;
    padding:14px 0 0;
  }
  body:not(.adminPage).homeStart .startOfferPrice>small,
  body:not(.adminPage).homeStart .startOfferPrice>strong,
  body:not(.adminPage).homeStart .startOfferPrice>span:not(.startOfferAction),
  body:not(.adminPage).homeStart .startOfferAction{grid-column:auto;grid-row:auto}
  body:not(.adminPage).homeStart .startOfferPrice>strong{font-size:31px}
  body:not(.adminPage).homeStart .startOfferAction{width:100%;margin-top:10px}
  .offerPresetNotice{grid-template-columns:40px minmax(0,1fr);gap:11px;padding:12px}
  .offerPresetNoticeIcon{width:40px;height:40px}
  .offerPresetNotice strong{font-size:15px}
}

/* 1.5.95: Startseiten-Light-Preset begrenzt PAGE-PERSONEN auf die
   Reisekonstellationen, die der bereits gewählte Grundriss wirklich zulässt. */
.offerCapacityHint{
  display:flex;
  align-items:center;
  gap:11px;
  max-width:1120px;
  margin:-8px 0 16px;
  padding:10px 13px;
  border:1px solid rgba(47,122,78,.16);
  border-radius:14px;
  background:#f4faf6;
  color:#245b3a;
}
.offerCapacityHint>span{
  display:grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  border-radius:999px;
  background:#e5f4e9;
  color:#267a48;
}
.offerCapacityHint>span svg{width:18px;height:18px}
.offerCapacityHint strong,.offerCapacityHint small{display:block}
.offerCapacityHint strong{font-size:12px;line-height:1.25}
.offerCapacityHint small{margin-top:2px;color:#5f7165;font-size:11px;line-height:1.4}
body:not(.adminPage) .personaChoiceGrid.isOfferRestricted{
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,760px);
  margin-inline:auto;
}
@media(max-width:760px){
  .offerCapacityHint{margin-top:-6px}
  body:not(.adminPage) .personaChoiceGrid.isOfferRestricted{grid-template-columns:1fr;width:100%}
}


/* CMB Konfigurator 1.5.101 – layoutbezogene Ausbaupreise auf PAGE-GRUNDRISS */
body:not(.adminPage)[data-config-step="floorplan"] .floorplanDecisionCard .cardPrimaryPrice{
  display:grid;
  gap:2px;
  width:max-content;
  max-width:100%;
  margin:0 0 10px auto;
  padding:9px 12px;
  border:1px solid #d7e8dc;
  border-radius:14px;
  background:#f3faf5;
  color:#153f29;
  text-align:right;
  position:relative;
  z-index:9;
}
body:not(.adminPage)[data-config-step="floorplan"] .floorplanDecisionCard .cardPrimaryPrice strong{
  font-size:14px;
  line-height:1.1;
  font-weight:950;
}
body:not(.adminPage)[data-config-step="floorplan"] .floorplanDecisionCard .cardPrimaryPrice small{
  font-size:9px;
  line-height:1.3;
  color:#66736b;
  font-weight:800;
}
@media(max-width:700px){
  body:not(.adminPage)[data-config-step="floorplan"] .floorplanDecisionCard .cardPrimaryPrice{
    margin-bottom:8px;
    padding:8px 10px;
  }
}

/* CMB Konfigurator 1.5.103 – Light-Wording & Ausstattungs-UX
   Sonderedition sachlich statt alarmierend darstellen. Die Karte bleibt klar
   als besondere Variante erkennbar, ohne mit Preis und Ausstattungs-Hinweis zu konkurrieren. */
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge.isSpecialEdition{
  display:inline-grid;
  justify-self:start;
  width:auto;
  max-width:100%;
  gap:2px;
  padding:8px 11px;
  border-radius:13px;
  border:1px solid #dfd1c2!important;
  background:linear-gradient(180deg,#fbf7f1 0%,#f5eee5 100%)!important;
  color:#6f4d34!important;
  box-shadow:none;
}
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge.isSpecialEdition strong{
  color:#74492f!important;
  font-size:10px;
  line-height:1.15;
  letter-spacing:.045em;
}
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge.isSpecialEdition span{
  color:#6d6258!important;
  font-size:10px;
  line-height:1.3;
  font-weight:750;
}
body:not(.adminPage) .floorplanDecisionCard .cardVariantNotice.isDisclosureHint{
  gap:4px;
  padding:11px 13px;
  border-color:#e7e0d7;
  background:#fcfbf9;
  box-shadow:none;
}
body:not(.adminPage) .floorplanDecisionCard .cardVariantNotice.isDisclosureHint strong{
  color:#7d644e;
}
body:not(.adminPage) .floorplanDecisionCard .cardVariantNotice.isDisclosureHint span{
  color:#3e474d;
  font-weight:650;
}
body:not(.adminPage) .floorplanDecisionCard .cardVariantNotice.isDisclosureHint small{
  background:#f3eee7;
  color:#6f5843;
}
@media(max-width:700px){
  body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge.isSpecialEdition{
    width:auto;
    max-width:100%;
  }
}
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow .cardPromoBadge.isSpecialEdition strong{
  text-transform:none;
  letter-spacing:.01em;
}

/* CMB Konfigurator 1.5.104 – verbindliche No-Overlap-Regel für Karten-Metadaten
   Kundenrelevante Status-, Preis- und Hinweisflächen teilen sich einen reservierten
   Layoutbereich im normalen Dokumentfluss. Absolute Positionierung bleibt nur für
   bewusst bildgebundene Overlays (z. B. Bildcaption) zulässig. */
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard{
  container-type:inline-size;
}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px 10px;
  width:100%;
  min-width:0;
  margin:0 0 10px;
}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta>[data-ui-no-overlap-item]{
  min-width:0;
  max-width:100%;
}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta .cardSelectedStatus{
  position:static!important;
  inset:auto!important;
  flex:0 0 auto;
  margin:0!important;
  max-width:100%;
}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta .cardPromoBadge{
  position:static!important;
  inset:auto!important;
  flex:1 1 190px;
  margin:0!important;
  max-width:100%;
}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta .cardPrimaryPrice{
  position:static!important;
  inset:auto!important;
  flex:0 1 auto;
  width:max-content;
  max-width:100%;
  margin:0 0 0 auto!important;
  overflow-wrap:anywhere;
}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta .cardPrimaryPrice strong,
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta .cardPrimaryPrice small{
  max-width:100%;
  overflow-wrap:anywhere;
}
body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard>.cardBadge{
  position:relative;
  inset:auto;
  align-self:flex-start;
}

/* Auch bestehende Grundriss-Statuszeilen werden explizit als nicht überlagernde
   Flex-Zeilen abgesichert. Die Elemente dürfen umbrechen statt zu kollidieren. */
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow[data-ui-no-overlap-group]{
  flex-wrap:wrap;
  min-width:0;
}
body:not(.adminPage) .floorplanDecisionCard .floorplanCardStatusRow[data-ui-no-overlap-group]>[data-ui-no-overlap-item]{
  min-width:0;
  max-width:100%;
}

@container (max-width:420px){
  body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta .cardSelectedStatus{
    justify-self:start;
  }
  body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta .cardPromoBadge,
  body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta .cardPrimaryPrice{
    width:100%;
    justify-self:stretch;
    margin:0!important;
    text-align:left;
  }
}

/* Fallback für Browser/Einbettungen ohne Container-Query-Auswertung. */
@media(max-width:700px){
  body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta{
    gap:7px;
  }
  body:not(.adminPage)[data-config-step="concept"] .conceptDecisionCard .conceptCardHeaderMeta .cardPrimaryPrice{
    flex-basis:100%;
    width:100%;
    margin-left:0!important;
    text-align:left;
  }
}


/* 1.5.108 – Grundrissvergleich als flache Beratungsfläche
   Ein vertikaler Scroll-Owner, bis zu vier Desktopspalten und ein mobiler 2er-Pager. */
.floorplanCompareOverlay{padding:14px}
.floorplanCompareModal{width:min(96vw,1760px);height:min(96vh,1080px);border-radius:24px}
.floorplanCompareTopbar{min-height:68px;padding:9px 18px 9px 22px}
.floorplanCompareTopbar h2{font-size:25px}
.floorplanCompareScroll{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:14px 18px 22px;scrollbar-gutter:stable}
.floorplanCompareResults{margin-top:10px;border:0;border-radius:0;background:transparent;padding:0}
.floorplanCompareScroll>.floorplanCompareResults:first-child{margin-top:0}
.floorplanCompareSelectionSummary{min-height:58px;border-radius:15px;padding:9px 12px 9px 15px}
.floorplanCompareSelectionSummary strong{font-size:13px}
.floorplanCompareToolbar{align-items:center;margin:2px 0 12px}
.floorplanCompareToolbar h3{font-size:clamp(22px,1.8vw,28px);margin-bottom:4px}
.floorplanCompareToolbar p{font-size:12px}
.floorplanCompareDecisionCards{display:none}
.floorplanCompareTableScroll{margin-top:0;overflow:visible;max-height:none;border:1px solid #ded8cf;border-radius:15px;background:#fff;scrollbar-gutter:auto}
.floorplanCompareTable{width:100%;min-width:0;table-layout:fixed}
.floorplanCompareTable th,.floorplanCompareTable td{padding:12px 13px;font-size:12px;line-height:1.45}
.floorplanCompareFeatureHead,.floorplanCompareDataRow>th{width:188px}
.floorplanCompareLayoutHead{width:auto}
.floorplanCompareLayoutHead>div{gap:6px}
.floorplanCompareLayoutHead strong{font-size:18px}
.floorplanCompareLayoutHead>div>small{font-size:10px}
.floorplanCompareLayoutTag{font-size:10px}
.floorplanComparePlan{height:118px}
.floorplanCompareHeadActions{grid-template-columns:.75fr 1.25fr}
.floorplanCompareHeadActions button,.floorplanComparePendingState{min-height:36px;font-size:9px}
.floorplanCompareSectionRow th{padding:9px 13px;font-size:9px}
.floorplanCompareDataRow>th>span{font-size:12px;font-weight:850}
.floorplanCompareDataRow>th>small{font-size:9px}
.floorplanCompareDataRow.is-price-row td .floorplanCompareValue{font-size:13px;font-weight:900;color:#2f251d}
.floorplanCompareDataRow.is-price-row>th{background:#fbf5ed}
.floorplanCompareDataRow.is-price-row td{background:#fffaf4}
.floorplanCompareLegend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 2px 0;color:#59636b;font-size:10px}
.floorplanCompareLegend span{display:inline-flex;align-items:center;gap:5px}
.floorplanCompareLegend b{display:grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:#eef0f1;color:#333;font-size:10px}
.floorplanCompareLegal{margin-top:7px;font-size:10px}
.floorplanCompareFooter{min-height:66px;padding:9px 18px}
.floorplanCompareApply{min-width:200px}
.floorplanCompareMobilePager{display:none}

@media(max-width:1180px) and (min-width:981px){
  .floorplanCompareOverlay{padding:8px}
  .floorplanCompareModal{width:98vw;height:97vh}
  .floorplanCompareScroll{padding-left:12px;padding-right:12px}
  .floorplanCompareFeatureHead,.floorplanCompareDataRow>th{width:160px}
  .floorplanCompareTable th,.floorplanCompareTable td{padding:10px 9px;font-size:11px}
  .floorplanComparePlan{height:92px}
  .floorplanCompareLayoutHead strong{font-size:16px}
  .floorplanCompareHeadActions{grid-template-columns:1fr}
}

@media(max-width:900px){
  .floorplanCompareOverlay{padding:0;place-items:stretch}
  .floorplanCompareModal{width:100%;height:100%;border-radius:0}
  .floorplanCompareScroll{padding:10px 10px 16px}
  .floorplanCompareChooser,.floorplanCompareResults{border-radius:0}
  .floorplanCompareResults{padding:0}
  .floorplanCompareDesktopTable{display:none}
  .floorplanCompareMobileList{display:grid;gap:14px;margin-top:10px}
  .floorplanCompareMobilePager{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px;border:1px solid #ded8cf;border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 8px 18px rgba(17,24,32,.07);padding:8px}
  .floorplanCompareMobilePager button{width:40px;height:40px;border:1px solid #d7d0c7;border-radius:10px;background:#fff;color:#111820;font-size:24px;cursor:pointer}
  .floorplanCompareMobilePager button:disabled{opacity:.35;cursor:default}
  .floorplanCompareMobilePager div{min-width:0;text-align:center}
  .floorplanCompareMobilePager strong,.floorplanCompareMobilePager small{display:block}
  .floorplanCompareMobilePager strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .floorplanCompareMobilePager small{margin-top:2px;color:#6b747c;font-size:8px}
  .floorplanCompareMobileValues{grid-template-columns:repeat(2,minmax(0,1fr))}
  .floorplanCompareMobileRow.is-price-row .floorplanCompareMobileValues>div{background:#fffaf4}
  .floorplanCompareMobileRow.is-price-row .floorplanCompareValue{font-weight:900}
  .floorplanCompareLegend{font-size:9px}
}

@media(max-width:520px){
  .floorplanCompareMobileValues{grid-template-columns:repeat(2,minmax(0,1fr))}
  .floorplanCompareMobileValues>div{font-size:9px;padding:9px 8px}
  .floorplanCompareMobileRow>header{font-size:10px}
  .floorplanCompareFooter{min-height:74px}
}

/* CMB Konfigurator 1.5.118 – individuelle Sonderwünsche in PAGE-SONDERAUSSTATTUNG */
.specialRequestSection{display:grid;gap:14px;margin:18px 0 20px;padding:18px;border:1px solid #d7e7dc;border-radius:22px;background:linear-gradient(180deg,#f7fcf8,#fff);box-shadow:0 10px 28px rgba(24,68,43,.05)}
.specialRequestSectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.specialRequestSectionHead>div{max-width:760px;display:grid;gap:4px}
.specialRequestSectionHead>div>span{font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#1f7a4b}
.specialRequestSectionHead h3{margin:0;color:#17221c;font-size:19px;line-height:1.15;letter-spacing:-.02em}
.specialRequestSectionHead p{margin:0;color:#657168;font-size:11px;line-height:1.5}
.specialRequestSectionHead>strong{flex:0 0 auto;border-radius:999px;padding:7px 10px;background:#e8f7ed;color:#176e43;font-size:10px;font-weight:900}
.specialRequestGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.specialRequestAddCard,.specialRequestCard{min-width:0;min-height:220px;border-radius:20px}
.specialRequestAddCard{display:grid;place-items:center;align-content:center;gap:12px;border:2px dashed #9bc9aa;background:#f3fbf5;color:#176d42;padding:24px 20px;text-align:center;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.specialRequestAddCard:hover{border-color:#44a86c;background:#ebf8ef;transform:translateY(-1px)}
.specialRequestAddCard:focus-visible{outline:3px solid rgba(31,122,75,.2);outline-offset:2px}
.specialRequestAddCard.is-disabled{cursor:default;opacity:.72;transform:none}
.specialRequestAddIcon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#def3e5;color:#147342;font-size:26px;font-weight:500;line-height:1}
.specialRequestAddCard>span:last-child{display:grid;gap:5px}
.specialRequestAddCard strong{font-size:14px;line-height:1.2}
.specialRequestAddCard small{color:#66776b;font-size:10px;line-height:1.4;font-weight:700}
.specialRequestCard{position:relative;display:flex;flex-direction:column;border:2px solid var(--cmb-action);background:linear-gradient(180deg,#f0fff5,#fff);box-shadow:0 12px 30px rgba(32,191,99,.12);overflow:hidden}
.specialRequestCardIcon{position:absolute;right:14px;top:14px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#dff7e7;color:#16804b;font-size:15px}
.specialRequestCardBody{display:grid;gap:9px;padding:17px 17px 12px}
.specialRequestCardMeta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-right:34px}
.specialRequestCardMeta span,.specialRequestCardMeta strong{border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.specialRequestCardMeta span{background:#ecf2ee;color:#587064}
.specialRequestCardMeta strong{background:#dff6e7;color:#147744}
.specialRequestCard h3{margin:0;color:#17211b;font-size:15px;line-height:1.25;letter-spacing:-.015em;overflow-wrap:anywhere}
.specialRequestCard p{margin:0;color:#667168;font-size:10.5px;line-height:1.48;overflow-wrap:anywhere}
.specialRequestCard p.is-empty{color:#8b948e;font-style:italic}
.specialRequestPriceHint{display:grid;gap:2px;margin-top:auto;padding:10px 11px;border-radius:13px;background:#f4f7f5;border:1px solid #e0e8e3}
.specialRequestPriceHint strong{color:#6f563f;font-size:10px}
.specialRequestPriceHint span{color:#747d77;font-size:8.5px;line-height:1.35}
.specialRequestCardActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding:0 12px 12px}
.specialRequestCardActions button{min-height:38px;border:1px solid #d8e3dc;border-radius:999px;background:#fff;color:#176f44;font-size:10px;font-weight:900;cursor:pointer}
.specialRequestCardActions button:hover{background:#f1f8f3;border-color:#a7c9b2}
.specialRequestCardActions button.is-danger{color:#955047}
.specialRequestCardActions button.is-danger:hover{background:#fff5f3;border-color:#e0b7b0}
.specialRequestModalOverlay{z-index:10020;padding:20px}
.specialRequestModal{position:relative;width:min(620px,100%);max-height:min(780px,calc(100vh - 40px));overflow:auto;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(12,24,17,.24);padding:26px}
.specialRequestModalClose{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f2f4f2;color:#26322b;font-size:24px;line-height:1;cursor:pointer}
.specialRequestModalIntro{display:grid;gap:6px;padding-right:45px;margin-bottom:18px}
.specialRequestModalIntro>span{color:#1b7a49;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.specialRequestModalIntro h2{margin:0;color:#18231c;font-size:25px;line-height:1.12;letter-spacing:-.03em}
.specialRequestModalIntro p{margin:0;color:#68736b;font-size:11px;line-height:1.5}
.specialRequestForm{display:grid;gap:14px}
.specialRequestForm label{display:grid;gap:6px;color:#28352d;font-size:10px;font-weight:900}
.specialRequestForm input,.specialRequestForm textarea{width:100%;box-sizing:border-box;border:1px solid #d7ddd9;border-radius:13px;background:#fff;color:#17211b;padding:11px 12px;font:inherit;font-size:12px;line-height:1.45;resize:vertical}
.specialRequestForm input:focus,.specialRequestForm textarea:focus{outline:3px solid rgba(27,122,73,.12);border-color:#65a97f}
.specialRequestForm label small{color:#7b8580;font-size:8.5px;font-weight:700}
.specialRequestFormHint{display:grid;gap:3px;border:1px solid #e1ddd4;border-radius:14px;background:#fbf8f3;padding:11px 12px}
.specialRequestFormHint strong{color:#72583f;font-size:10px}
.specialRequestFormHint span{color:#786f67;font-size:9px;line-height:1.45}
.specialRequestFormActions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}
.specialRequestFormActions button{min-height:42px;border:1px solid #d4ddd7;border-radius:999px;background:#fff;color:#4b5b51;padding:9px 15px;font-size:10px;font-weight:900;cursor:pointer}
.specialRequestFormActions button.primary{border-color:#147744;background:#147744;color:#fff}
.specialRequestFormError{min-height:16px;color:#9b443b;font-size:10px;font-weight:800}
.resultSpecialRequests{display:grid;gap:16px;margin:22px auto 0;max-width:1180px;padding:22px;border:1px solid #d8e8de;border-radius:24px;background:linear-gradient(180deg,#f6fbf7,#fff)}
.resultSpecialRequestGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.resultSpecialRequestGrid article{min-width:0;display:flex;flex-direction:column;gap:7px;border:1px solid #dce7df;border-radius:17px;background:#fff;padding:15px;box-shadow:0 8px 22px rgba(29,61,41,.04)}
.resultSpecialRequestGrid article>span{color:#1b7849;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.resultSpecialRequestGrid h3{margin:0;color:#1d2821;font-size:14px;line-height:1.28}
.resultSpecialRequestGrid p{margin:0;color:#6f7772;font-size:10px;line-height:1.48;overflow-wrap:anywhere}
.resultSpecialRequestGrid article>div{display:grid;gap:2px;margin-top:auto;padding-top:10px;border-top:1px solid #edf0ee}
.resultSpecialRequestGrid article>div strong{color:#6e563f;font-size:10px}
.resultSpecialRequestGrid article>div small{color:#7b8580;font-size:8.5px}
@media(max-width:980px){.specialRequestGrid,.resultSpecialRequestGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .specialRequestSection{margin:14px 0 16px;padding:13px;border-radius:18px}
  .specialRequestSectionHead{display:grid;gap:9px}.specialRequestSectionHead>strong{justify-self:start}
  .specialRequestGrid,.resultSpecialRequestGrid{grid-template-columns:1fr}
  .specialRequestAddCard,.specialRequestCard{min-height:0}
  .specialRequestAddCard{grid-template-columns:38px minmax(0,1fr);place-items:center start;text-align:left;padding:14px}
  .specialRequestAddIcon{width:38px;height:38px;font-size:22px}.specialRequestAddCard>span:last-child{gap:3px}
  .specialRequestModalOverlay{padding:10px}.specialRequestModal{max-height:calc(100vh - 20px);border-radius:20px;padding:20px 16px 16px}
  .specialRequestModalIntro h2{font-size:21px}.specialRequestFormActions{display:grid;grid-template-columns:1fr 1fr}.specialRequestFormActions button{width:100%}
  .resultSpecialRequests{margin:16px 12px 0;padding:16px;border-radius:19px}
}


/* 1.5.118 refinement – Sonderwünsche im jeweiligen Ausstattungsbereich + Sammelkategorie */
.specialRequestFilterChip{margin-left:auto}
.specialRequestAggregateGroup{border-color:#cfe3d6;background:linear-gradient(180deg,#f8fcf9,#fff)}
.specialRequestGroupIcon{background:#e4f5ea;color:#177246;font-weight:900;font-size:18px}
.specialRequestAggregateBody .addonNoCompatibleNotice{grid-column:1/-1}
.specialRequestCategoryChip{background:#eef5f0!important;color:#42604e!important}
.specialRequestForm select{width:100%;box-sizing:border-box;border:1px solid #d7ddd9;border-radius:13px;background:#fff;color:#17211b;padding:11px 34px 11px 12px;font:inherit;font-size:12px;line-height:1.45}
.specialRequestForm select:focus{outline:3px solid rgba(27,122,73,.12);border-color:#65a97f}
.addonCatalogBody>.specialRequestAddCard,.addonCatalogBody>.specialRequestCard{min-height:220px}
@media(max-width:700px){.specialRequestFilterChip{margin-left:0}.addonCatalogBody>.specialRequestAddCard,.addonCatalogBody>.specialRequestCard{min-height:0}}

/* 1.5.127 – Bugreport-Batch: Modulhinweis, KA-Inspiration und Webshop-CTA */
body:not(.adminPage) .moduleCompatibilityNotice{
  display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:13px 15px;border:1px solid #d9e7de;border-radius:14px;background:#f6fbf8;color:#23362b;
}
body:not(.adminPage) .moduleCompatibilityNotice>span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dff2e6;color:#08733f;font-weight:950;font-size:13px}
body:not(.adminPage) .moduleCompatibilityNotice strong{display:block;font-weight:950;margin-bottom:2px}
body:not(.adminPage) .moduleCompatibilityNotice p{margin:0;color:#65716a;font-size:13px;line-height:1.45}
body:not(.adminPage) .moduleInspirationPanel{margin:0 0 18px;border:1px solid #e4ddd2;border-radius:16px;background:#fffaf4;overflow:hidden}
body:not(.adminPage) .moduleInspirationPanel>summary{display:flex;align-items:center;gap:11px;padding:14px 16px;cursor:pointer;list-style:none}
body:not(.adminPage) .moduleInspirationPanel>summary::-webkit-details-marker{display:none}
body:not(.adminPage) .moduleInspirationSummaryIcon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#f0e2cf;color:#795329;font-weight:900}
body:not(.adminPage) .moduleInspirationPanel>summary>span:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}
body:not(.adminPage) .moduleInspirationPanel>summary strong{font-weight:950}
body:not(.adminPage) .moduleInspirationPanel>summary small{color:#7b746b;font-size:12px}
body:not(.adminPage) .moduleInspirationPanel>summary>b{width:9px;height:9px;border-right:2px solid #6f5d49;border-bottom:2px solid #6f5d49;transform:rotate(45deg);transition:transform .18s ease;margin-right:3px}
body:not(.adminPage) .moduleInspirationPanel[open]>summary>b{transform:rotate(225deg)}
body:not(.adminPage) .moduleInspirationBody{padding:0 14px 14px}
body:not(.adminPage) .moduleInspirationIntro{display:flex;gap:8px;align-items:baseline;padding:11px 2px;color:#6f685f;font-size:12px}
body:not(.adminPage) .moduleInspirationIntro strong{color:#2e2a25}
body:not(.adminPage) .moduleInspirationGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body:not(.adminPage) .moduleInspirationCard{display:flex;flex-direction:column;min-width:0;border:1px solid #e5ded4;border-radius:13px;background:#fff;overflow:hidden}
body:not(.adminPage) .moduleInspirationCard.is-active{border-color:#85c79f;box-shadow:inset 0 0 0 1px #85c79f}
body:not(.adminPage) .moduleInspirationImage{position:relative;width:100%;aspect-ratio:16/8;border:0;border-bottom:1px solid #eee6dc;background:#f6f2ec;padding:0;overflow:hidden;cursor:zoom-in}
body:not(.adminPage) .moduleInspirationImage img{width:100%;height:100%;object-fit:contain;display:block}
body:not(.adminPage) .moduleInspirationImage>span{position:absolute;right:7px;bottom:7px;padding:4px 7px;border-radius:999px;background:rgba(17,24,20,.82);color:#fff;font-size:10px;font-weight:850}
body:not(.adminPage) .moduleInspirationImage.is-empty{display:grid;place-items:center;cursor:default;color:#a19281;font-size:28px;font-weight:900}
body:not(.adminPage) .moduleInspirationCopy{display:grid;gap:4px;padding:11px 12px;flex:1}
body:not(.adminPage) .moduleInspirationCopy>span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#97724d;font-weight:900}
body:not(.adminPage) .moduleInspirationCopy h3{margin:0;font-size:15px;line-height:1.2}
body:not(.adminPage) .moduleInspirationCopy p{margin:0;color:#737a75;font-size:11px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body:not(.adminPage) .moduleInspirationCopy small{color:#5c675f;font-size:11px;font-weight:750}
body:not(.adminPage) .moduleInspirationApply{margin:0 10px 10px;padding:8px 10px;border:1px solid #d8d0c6;border-radius:10px;background:#fff;color:#174f32;font-weight:900;cursor:pointer}
body:not(.adminPage) .moduleInspirationApply:hover{border-color:#7fbf98;background:#f4faf6}
body:not(.adminPage) .moduleInspirationApply.is-active{background:#e7f5ec;border-color:#89c7a1}
body:not(.adminPage) .resultShopCta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0;padding:20px 22px;border:1px solid #d9e6de;border-radius:20px;background:linear-gradient(135deg,#f7fbf8,#fff)}
body:not(.adminPage) .resultShopCta>div{min-width:0}
body:not(.adminPage) .resultShopCta span:first-child{display:block;color:#9b7149;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:950;margin-bottom:4px}
body:not(.adminPage) .resultShopCta h2{margin:0 0 5px;font-size:clamp(20px,2.2vw,28px)}
body:not(.adminPage) .resultShopCta p{margin:0;color:#68736c;line-height:1.45}
body:not(.adminPage) .resultShopCta>a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:11px 15px;border-radius:12px;background:#147a46;color:#fff;text-decoration:none;font-weight:950;white-space:nowrap}
body:not(.adminPage) .resultShopCta>a:hover{background:#0d6338}
@media (max-width:900px){
  body:not(.adminPage) .moduleInspirationGrid{grid-template-columns:1fr 1fr}
  body:not(.adminPage) .resultShopCta{align-items:flex-start;flex-direction:column}
}
@media (max-width:620px){
  body:not(.adminPage) .moduleInspirationGrid{grid-template-columns:1fr}
  body:not(.adminPage) .moduleInspirationPanel>summary small{display:none}
  body:not(.adminPage) .moduleCompatibilityNotice{padding:11px 12px}
  body:not(.adminPage) .resultShopCta>a{width:100%;justify-content:center}
}

/* 1.5.127: Sonderwunsch direkt im Teilausbau-Leistungsumfang. */
body:not(.adminPage) .partialScopeSpecialRequestSection{display:grid;gap:14px;margin-top:18px;padding:18px;border:1px solid #dfe7e1;border-radius:22px;background:linear-gradient(180deg,#fbfdfb,#f7faf8)}
body:not(.adminPage) .partialScopeSpecialRequestHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
body:not(.adminPage) .partialScopeSpecialRequestHead>div{display:grid;gap:4px;max-width:760px}
body:not(.adminPage) .partialScopeSpecialRequestHead span{color:#9a6e3a;font-size:9px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
body:not(.adminPage) .partialScopeSpecialRequestHead h2{margin:0;color:#18211c;font-size:20px;line-height:1.15}
body:not(.adminPage) .partialScopeSpecialRequestHead p{margin:0;color:#68726b;font-size:12px;line-height:1.5}
body:not(.adminPage) .partialScopeSpecialRequestHead>strong{flex:0 0 auto;border-radius:999px;background:#e6f5eb;color:#167044;padding:6px 10px;font-size:10px;font-weight:900}
body:not(.adminPage) .partialScopeSpecialRequestGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body:not(.adminPage) .partialScopeSpecialRequestGrid>.specialRequestAddCard,body:not(.adminPage) .partialScopeSpecialRequestGrid>.specialRequestCard{min-height:170px}
@media(max-width:850px){body:not(.adminPage) .partialScopeSpecialRequestGrid{grid-template-columns:1fr}}
@media(max-width:700px){body:not(.adminPage) .partialScopeSpecialRequestSection{padding:14px;border-radius:18px}body:not(.adminPage) .partialScopeSpecialRequestHead{display:grid;gap:8px}body:not(.adminPage) .partialScopeSpecialRequestGrid>.specialRequestAddCard,body:not(.adminPage) .partialScopeSpecialRequestGrid>.specialRequestCard{min-height:0}}


/* CMB Konfigurator 1.5.130 – Sonderausstattungs-Suche & erweiterte Vertriebsstati */
.addonSearchBar{display:grid;grid-template-columns:minmax(260px,520px) auto 1fr;gap:9px;align-items:center;margin:0 0 12px}
.addonSearchBar label{display:flex;align-items:center;gap:9px;min-height:46px;padding:0 13px;border:1px solid #d9d3ca;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(17,24,32,.045)}
.addonSearchBar label:focus-within{border-color:#927258;box-shadow:0 0 0 3px rgba(181,139,105,.16)}
.addonSearchBar label>span{font-size:18px;line-height:1;opacity:.62}.addonSearchBar input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#202a31;font:inherit;font-size:13px;font-weight:750}
.addonSearchBar input::placeholder{color:#8b9399;font-weight:650}.addonSearchBar button{min-height:40px;border:1px solid #ddd6cd;border-radius:12px;background:#faf8f5;color:#6d513c;padding:8px 11px;font-size:10.5px;font-weight:900;cursor:pointer}
.addonSearchBar small{justify-self:end;color:#788087;font-size:10px;font-weight:850}
.statusPill.status-offer_preparation{background:rgba(153,102,51,.13);color:#815626}.statusPill.status-open_offer{background:rgba(217,119,6,.14);color:#92400e}.statusPill.status-invoicing{background:rgba(124,58,237,.11);color:#6d28d9}.statusPill.status-onboarding{background:rgba(14,116,144,.12);color:#0e7490}.statusPill.status-follow_up{background:rgba(79,70,229,.10);color:#4338ca}.statusPill.status-parked{background:rgba(100,116,139,.12);color:#475569}
@media(max-width:700px){.addonSearchBar{grid-template-columns:1fr auto}.addonSearchBar small{grid-column:1/-1;justify-self:start}.addonSearchBar button{white-space:nowrap}}
