/* Konfigurator-Styles für Persenning und Bootspolster. */
/* ---------- Lead-Generatoren ---------- */
.lead-grid{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start}
@media (max-width:900px){.lead-grid{grid-template-columns:1fr}}
.lead-main{display:grid;gap:1.5rem}
.config-progress{position:sticky;top:calc(var(--cc-header-h) + .5rem);z-index:40;grid-column:1/-1;padding:1rem 1.15rem;
  border:1px solid var(--cc-line);border-radius:var(--cc-radius-lg);background:rgba(255,255,255,.97);
  box-shadow:var(--cc-shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.has-admin-bar .config-progress{top:calc(var(--cc-admin-bar-h) + var(--cc-header-h) + .5rem)}
.config-progress__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem;color:var(--cc-navy)}
.config-progress__head strong{font-size:.9rem;text-align:right}
.config-progress__eyebrow{font-size:.74rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--cc-slate)}
.config-progress__segments{display:grid;grid-template-columns:repeat(var(--wizard-steps,9),1fr);gap:.35rem;margin:0;padding:0;list-style:none}
.config-progress__segments li{display:grid;grid-template-rows:auto 4px;gap:.25rem;min-width:0;color:var(--cc-slate);font-size:.65rem;
  font-weight:700;line-height:1;text-align:center;transition:color .25s ease}
.config-progress__segments li::after{content:"";height:4px;border-radius:var(--cc-radius-pill);background:var(--cc-line);
  transition:background .25s ease,transform .25s ease}
.config-progress__segments li.is-complete{color:var(--cc-steel)}
.config-progress__segments li.is-complete::after{background:var(--cc-steel)}
.config-progress__segments li.is-current{color:var(--cc-navy)}
.config-progress__segments li.is-current::after{background:var(--cc-navy);transform:scaleY(1.5)}
.config-step{background:var(--cc-paper);border:1px solid var(--cc-line);border-radius:var(--cc-radius-lg);
  padding:1.4rem 1.5rem;box-shadow:var(--cc-shadow-sm)}
.config-wizard--active .config-step:not([hidden]){will-change:opacity,transform,filter}
.config-wizard--active[data-wizard-direction="forward"] .config-step:not([hidden]){animation:config-step-enter-forward .48s cubic-bezier(.22,1,.36,1) both}
.config-wizard--active[data-wizard-direction="backward"] .config-step:not([hidden]){animation:config-step-enter-backward .48s cubic-bezier(.22,1,.36,1) both}
@keyframes config-step-enter-forward{from{opacity:0;filter:blur(5px);transform:translate3d(34px,0,0) scale(.985)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes config-step-enter-backward{from{opacity:0;filter:blur(5px);transform:translate3d(-34px,0,0) scale(.985)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes config-progress-pop{0%{opacity:.45;transform:scale(.75)}65%{transform:scale(1.15)}100%{opacity:1;transform:none}}
.config-progress__segments li.is-current span{animation:config-progress-pop .42s cubic-bezier(.22,1,.36,1) both}
.config-wizard-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;
  border:1px solid var(--cc-line);border-radius:var(--cc-radius-lg);background:var(--cc-paper);box-shadow:var(--cc-shadow-sm)}
.config-wizard-nav[hidden],.config-wizard-nav button[hidden]{display:none}
#config-submit-fallback[hidden]{display:none}
.config-wizard-nav__note{margin:0;color:var(--cc-slate);font-size:.78rem;text-align:center}
.config-wizard-nav__back{justify-self:start}
.config-wizard-nav__next,.config-wizard-nav__submit{justify-self:end}
.config-step h2{font-size:1.15rem;margin:0 0 1rem}
.config-step__heading{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.config-step__heading h2{margin:0;line-height:2rem}
.config-model-info-trigger{display:inline-grid;place-items:center;flex:0 0 auto;width:32px;height:32px;padding:0;border:1px solid var(--cc-line);
  border-radius:50%;background:var(--cc-paper);color:var(--cc-navy);font:800 .9rem/1 system-ui,sans-serif;
  box-shadow:var(--cc-shadow-sm);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.config-model-info-trigger:hover,.config-model-info-trigger:focus-visible{border-color:var(--cc-accent);background:var(--cc-accent-soft)}
.config-model-info-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--cc-accent) 30%,transparent);outline-offset:2px}
.config-model-info-trigger:active{transform:scale(.96)}
.config-model-info-trigger svg{width:14px;height:14px;fill:currentColor}
.config-model-info-trigger>span{display:grid;width:100%;height:100%;place-items:center;font:800 .9rem/1 system-ui,sans-serif}
.config-substep{font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--cc-accent-strong);margin:.2rem 0 .5rem}
@media (max-width:560px){
  .config-progress{padding:.75rem .85rem}
  .config-progress__head{margin-bottom:.45rem}
  .config-progress__head strong{text-align:left;font-size:.82rem}
  .config-progress__eyebrow{display:none}
  .config-wizard-nav{grid-template-columns:1fr 1fr;padding:.85rem}
  .config-wizard-nav__note{grid-column:1/-1;grid-row:1;text-align:left}
  .config-wizard-nav__back{grid-column:1;grid-row:2;width:100%}
  .config-wizard-nav__next,.config-wizard-nav__submit{grid-column:2;grid-row:2;width:100%}
}

.choice-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.7rem}
.choice-card{display:flex;align-items:center;gap:.6rem;border:1.5px solid var(--cc-line);
  border-radius:var(--cc-radius-md);padding:.8rem 1rem;cursor:pointer;transition:border-color .15s,background .15s}
.choice-card:hover{border-color:var(--cc-steel)}
.choice-card input{accent-color:var(--cc-accent)}
.choice-card:has(input:checked){border-color:var(--cc-accent);background:var(--cc-accent-soft)}
.choice-card__title{font-weight:600;font-size:.95rem}
.choice-card__content{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.choice-card__price{font-size:.82rem;font-weight:700;color:var(--cc-accent-strong);font-variant-numeric:tabular-nums}
.choice-card__desc{font-size:.82rem;line-height:1.35;color:var(--cc-slate)}
.choice-card__detail{font-size:.75rem;line-height:1.3;color:var(--cc-slate);font-variant-numeric:tabular-nums}
.choice-card--location{align-items:center;min-height:86px}
.choice-card--location>input{margin-top:0;flex:0 0 auto}
.location-help{max-width:760px}
.location-price-current{margin-top:.9rem;padding:.7rem .85rem;border-radius:var(--cc-radius-md);background:var(--cc-accent-soft);font-size:.92rem;line-height:1.4;color:var(--cc-navy);font-variant-numeric:tabular-nums}
.location-address{margin-top:1.25rem;margin-bottom:0}
.location-address__title{margin:0;font-weight:800;color:var(--cc-ink)}
.location-address__hint{display:block;margin:.25rem 0 .85rem}
.location-address__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr) minmax(0,.9fr);gap:1rem}
.location-address__grid .field{margin:0;min-width:0}
.location-address__street{grid-column:auto}
@media (max-width:760px){.location-address__grid{grid-template-columns:1fr 1fr}.location-address__street{grid-column:1/-1}}
@media (max-width:520px){.location-address__grid{grid-template-columns:1fr}.location-address__street{grid-column:auto}}
.location-dropoff{margin-top:1.25rem;padding:1rem;border:1px solid var(--cc-line);border-radius:var(--cc-radius-md);background:var(--cc-mist)}
.location-dropoff address{margin-top:.6rem;font-style:normal;white-space:pre-line;overflow-wrap:anywhere}
.location-dropoff p{margin:.75rem 0 0;font-size:.9rem;color:var(--cc-slate)}
.location-address[hidden],.location-dropoff[hidden]{display:none}
@media (max-width:560px){.choice-card--location{min-height:0}}

/* Stoff-Auswahl: kleiner Info-Button + barrierearmes Material-Popup */
.choice-card-wrap{position:relative;min-width:0}
.choice-card-wrap>.choice-card{width:100%;height:100%;padding-right:3rem}
.fabric-info-btn{position:absolute;top:.55rem;right:.55rem;width:28px;height:28px;border-radius:50%;
  border:1px solid var(--cc-line);background:var(--cc-paper);color:var(--cc-accent-strong);font:700 .85rem/1 system-ui,sans-serif;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--cc-shadow-sm);z-index:2}
.fabric-info-btn:hover{border-color:var(--cc-accent);background:var(--cc-accent-soft)}
.fabric-info-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--cc-accent) 30%,transparent);outline-offset:2px}
.fabric-info-modal[hidden]{display:none}
.fabric-info-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem}
.fabric-info-modal__backdrop{position:absolute;inset:0;background:rgba(10,25,45,.58);backdrop-filter:blur(2px)}
.fabric-info-modal__dialog{position:relative;z-index:1;width:min(620px,100%);max-height:min(78vh,720px);overflow:auto;
  background:var(--cc-paper);color:var(--cc-ink);border:1px solid var(--cc-line);border-radius:var(--cc-radius-lg);
  padding:1.5rem 1.6rem;box-shadow:var(--cc-shadow-lg)}
.fabric-info-modal__close{position:absolute;top:.7rem;right:.75rem;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--cc-line);background:var(--cc-paper);color:var(--cc-navy);font-size:1.45rem;line-height:1;cursor:pointer}
.fabric-info-modal__close:hover{background:var(--cc-accent-soft);border-color:var(--cc-accent)}
.fabric-info-modal__close:focus-visible{outline:3px solid color-mix(in srgb,var(--cc-accent) 30%,transparent);outline-offset:2px}
.fabric-info-modal__eyebrow{margin:0 2.6rem .35rem 0;color:var(--cc-accent-strong);font-size:.78rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase}
.fabric-info-modal__dialog h2{margin:0 2.6rem 1rem 0;font-size:1.35rem}
.fabric-info-modal__text{white-space:pre-line;color:var(--cc-slate);line-height:1.6;font-size:.94rem}
body.fabric-info-open{overflow:hidden}
@media (max-width:560px){.fabric-info-modal__dialog{padding:1.25rem 1.15rem}.fabric-info-btn{top:.5rem;right:.5rem}}

.swatches{display:flex;flex-wrap:wrap;gap:.7rem}
.swatch{display:flex;flex-direction:column;align-items:center;gap:.35rem;cursor:pointer;width:74px;text-align:center}
.swatch input{position:absolute;opacity:0;width:0;height:0}
.swatch__dot{width:44px;height:44px;border-radius:50%;border:2px solid var(--cc-line);
  box-shadow:inset 0 0 0 2px #fff;transition:transform .15s,border-color .15s}
.swatch:hover .swatch__dot{transform:scale(1.06)}
.swatch input:checked + .swatch__dot{border-color:var(--cc-accent);transform:scale(1.1);
  outline:2px solid var(--cc-accent);outline-offset:2px}
.swatch__label{font-size:.78rem;color:var(--cc-slate)}

.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem}
.option-chk{display:flex;align-items:center;gap:.5rem;border:1px solid var(--cc-line);
  border-radius:var(--cc-radius-md);padding:.6rem .8rem;cursor:pointer}
.option-chk input{accent-color:var(--cc-accent)}
.option-chk:has(input:checked){border-color:var(--cc-accent);background:var(--cc-accent-soft)}

.lead-aside{position:sticky;top:calc(var(--cc-header-h) + 7rem);display:grid;gap:1rem}
.has-admin-bar .lead-aside{top:calc(var(--cc-admin-bar-h) + var(--cc-header-h) + 7rem)}
.config-model{margin:0;background:var(--cc-paper);border:1px solid var(--cc-line);border-radius:var(--cc-radius-lg);
  padding:1rem;box-shadow:var(--cc-shadow-md);overflow:hidden}
.config-model__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.config-model__head>div:first-child{min-width:0}
.config-model__actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex-shrink:0}
.config-model__button-row{display:flex;align-items:center;gap:.4rem}
.config-model-info-trigger--preview{width:36px;height:36px}
.config-model__enlarge{font:inherit;font-size:.72rem;font-weight:650;color:var(--cc-navy);background:var(--cc-paper);
  display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--cc-line);border-radius:50%;padding:0;cursor:pointer}
.config-model__enlarge svg{width:15px;height:15px;fill:currentColor}
.config-model__enlarge:hover:not(:disabled){background:var(--cc-accent-soft);border-color:var(--cc-navy)}
.config-model__enlarge:disabled{opacity:.45;cursor:default}
.config-model__eyebrow{margin:0 0 .15rem;color:var(--cc-accent-strong);font-size:.72rem;font-weight:750;
  letter-spacing:.06em;text-transform:uppercase}
.config-model__head strong{display:block;color:var(--cc-navy);font-size:.95rem;line-height:1.3}
.config-model__live{display:inline-flex;align-items:center;gap:.3rem;background:var(--cc-success-soft);color:var(--cc-success);
  border-radius:var(--cc-radius-pill);padding:.25rem .55rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.config-model__live::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.config-model__stage{position:relative;display:grid;place-items:center;width:100%;min-height:0;aspect-ratio:3/2;background:linear-gradient(145deg,#fff,#eef1f3);
  border:1px solid var(--cc-line);border-radius:var(--cc-radius-md);overflow:hidden}
.config-model__stage>img:not(.model-preview__logo),.config-model__stage>canvas{display:block;width:100%;height:100%;object-fit:contain}
.config-model__stage>canvas[hidden]{display:none}
.config-model__stage>img[hidden]{display:none}
.model-preview__logo{position:absolute;bottom:.6rem;right:.6rem;width:30%;max-width:104px;height:auto;
  pointer-events:none;user-select:none;filter:drop-shadow(0 1px 2px rgba(255,255,255,.8))}
.config-model__stage>canvas[hidden]~.model-preview__logo,.config-model__stage>img[hidden]~.model-preview__logo{display:none}
.config-model__placeholder{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.7rem;padding:1.3rem;
  background:linear-gradient(145deg,#eef3f7,#d9e3ec);text-align:center}
.config-model__placeholder[hidden]{display:none}
.config-model__placeholder img{display:block;width:min(72%,230px);height:auto;max-height:88px;object-fit:contain}
.config-model__placeholder p{max-width:34ch;margin:0;color:var(--cc-navy);font-size:.78rem;font-weight:750;line-height:1.45}
.config-model__loading{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(255,255,255,.82);
  color:var(--cc-slate);font-size:.82rem;text-align:center}
.config-model__loading[hidden]{display:none}
.config-model__materials{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
.config-progress__segments li[hidden],.config-model__materials[hidden]{display:none}
.config-model__materials:empty,.model-lightbox__materials:empty{display:none}
.config-model__material{display:inline-flex;align-items:center;gap:.35rem;min-height:26px;padding:.25rem .5rem;
  border:1px solid var(--cc-line);border-radius:var(--cc-radius-pill);background:var(--cc-mist);color:var(--cc-graphite);font-size:.68rem;font-weight:650}
.config-model__material i{display:block;width:14px;height:14px;border-radius:50%;border:1px solid rgba(20,35,48,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.config-model__material--clear i{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(151,205,224,.42),rgba(255,255,255,.72))}
.config-model__material--tinted i{background:linear-gradient(135deg,#87919a,#34404a)}
.config-model__material--gaze i{background-color:#5f676b;background-image:repeating-linear-gradient(45deg,transparent 0 2px,rgba(255,255,255,.45) 2px 3px)}
.config-model__caption{margin-top:.65rem;color:var(--cc-slate);font-size:.69rem;line-height:1.4}
.config-model__status{margin:.5rem 0 0;padding:.45rem .55rem;border-radius:var(--cc-radius-sm);background:var(--cc-accent-soft);
  color:var(--cc-accent-strong);font-size:.7rem;line-height:1.35}
.config-model__status:empty{display:none}
body.model-lightbox-open{overflow:hidden}
.model-lightbox{width:min(1200px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);
  padding:1.25rem;border:1px solid var(--cc-line);border-radius:var(--cc-radius-lg);background:var(--cc-paper);
  color:var(--cc-ink);box-shadow:var(--cc-shadow-lg);overflow:auto;overscroll-behavior:contain}
.model-lightbox::backdrop{background:rgba(9,16,30,.75);backdrop-filter:blur(3px)}
.model-lightbox__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.model-lightbox__head h2{font-size:clamp(1.1rem,2.2vw,1.5rem);margin:0;overflow-wrap:anywhere}
.model-lightbox__close{flex-shrink:0;width:44px;height:44px;border:1px solid var(--cc-line);border-radius:50%;
  color:var(--cc-navy);background:var(--cc-mist);font:inherit;font-size:1.7rem;line-height:1;cursor:pointer}
.model-lightbox__close:hover{background:var(--cc-accent-soft);border-color:var(--cc-navy)}
.model-lightbox__stage{position:relative;overflow:hidden;border-radius:var(--cc-radius-md)}
.model-lightbox__stage .model-preview__logo{bottom:clamp(.6rem,1.5vw,1rem);right:clamp(.6rem,1.5vw,1rem);width:22%;max-width:180px}
.model-lightbox__stage>img:not(.model-preview__logo){display:block;width:100%;height:auto;max-height:70vh;max-height:70dvh;object-fit:contain;
    background:var(--cc-mist);border-radius:var(--cc-radius-md)}
.model-lightbox__stage>canvas{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3/2;max-height:70vh;max-height:70dvh;object-fit:contain;
    background:var(--cc-mist);border-radius:var(--cc-radius-md)}
.model-lightbox__materials{font-size:.9rem;font-weight:650;color:var(--cc-navy);margin:.85rem 0 .4rem;max-width:none}
.model-lightbox__caption{font-size:.78rem;line-height:1.45;color:var(--cc-slate);margin:0;max-width:none}
@media (max-width:560px){.model-lightbox{padding:.85rem}.model-lightbox__head{gap:.5rem}.config-model__enlarge{min-height:44px}}
.estimate-box{background:linear-gradient(135deg,var(--cc-navy),var(--cc-navy-deep));color:#fff;
  border-radius:var(--cc-radius-lg);padding:1.5rem;box-shadow:var(--cc-shadow-lg)}
.estimate-box__toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;cursor:pointer}
.estimate-box__toggle::-webkit-details-marker{display:none}
.estimate-box__toggle::marker{content:""}
.estimate-box__toggle>span:first-child{min-width:0}
.estimate-box__chevron{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid rgba(255,255,255,.22);
  border-radius:50%}
.estimate-box__chevron::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .2s var(--cc-ease)}
.estimate-box[open] .estimate-box__chevron::before{transform:translateY(2px) rotate(225deg)}
.estimate-box__body{padding-top:1rem}
.estimate-box__eyebrow{color:var(--cc-steel-soft);font-size:var(--cc-fs-small);text-transform:uppercase;
  letter-spacing:.06em;font-weight:600;display:block;margin:0 0 .25rem}
.estimate-box__title{display:block;margin:0;color:#fff;font-size:1.15rem;line-height:1.3;overflow-wrap:anywhere}
.config-summary{display:grid;gap:.45rem;margin:0 0 1rem;padding:0 0 1rem;border-bottom:1px solid rgba(255,255,255,.16)}
.config-summary>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:.55rem;align-items:start}
.config-summary dt{color:rgba(255,255,255,.58);font-size:.72rem;font-weight:650}
.config-summary dd{margin:0;color:#fff;font-size:.76rem;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.estimate-box__calculation{padding:.85rem;border:1px solid rgba(255,255,255,.15);border-radius:var(--cc-radius-md);background:rgba(255,255,255,.07)}
.estimate-box__calculation-label{display:block;margin-bottom:.3rem;color:var(--cc-steel-soft);font-size:.68rem;font-weight:750;
  letter-spacing:.05em;text-transform:uppercase}
.est-value{font-size:1.8rem;font-weight:700;line-height:1.15}
.est-note{color:rgba(255,255,255,.72);font-size:.85rem;margin-top:.4rem;display:block}
.estimate-box .btn--primary{background:#fff;color:var(--cc-navy)}
.estimate-box .btn--primary:hover{background:var(--cc-accent-soft)}
.estimate-box__submit{width:100%;justify-content:center;margin-top:1rem}
.estimate-box .form-note{margin:.7rem 0 0;color:rgba(255,255,255,.68);font-size:.73rem;line-height:1.45;text-align:center}
.estimate-trust{display:grid;gap:.5rem;margin:1rem 0 0;padding:1rem 0 0;border-top:1px solid rgba(255,255,255,.16);list-style:none}
.estimate-trust li{display:flex;align-items:flex-start;gap:.45rem;color:rgba(255,255,255,.84);font-size:.74rem;line-height:1.35}
.estimate-trust svg{width:15px;height:15px;flex:0 0 15px;margin-top:.08rem;fill:#fff}
.estimate-reference-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;color:#fff;font-size:.76rem;font-weight:700;text-decoration:none}
.estimate-reference-link:hover{text-decoration:underline}
.estimate-reference-link svg{width:15px;height:15px;fill:currentColor}
.config-overview{overflow:hidden;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--cc-radius-lg);
  color:#fff;background:linear-gradient(145deg,var(--cc-navy),var(--cc-navy-deep));box-shadow:var(--cc-shadow-lg)}
.config-overview .config-model{overflow:visible;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.config-overview .config-model__eyebrow{color:var(--cc-steel-soft)}
.config-overview .config-model__head strong{color:#fff}
.config-overview .config-model-info-trigger--preview,.config-overview .config-model__enlarge{color:#fff;background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.24)}
.config-overview .config-model-info-trigger--preview:hover,.config-overview .config-model-info-trigger--preview:focus-visible,
.config-overview .config-model__enlarge:hover:not(:disabled){color:#fff;background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.42)}
.config-overview .config-model__material{color:#fff;background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.2)}
.config-overview .config-model__caption{color:rgba(255,255,255,.72)}
.config-overview .config-model__status{color:#fff;background:rgba(255,255,255,.1)}
.config-overview .estimate-box{margin-top:1rem;padding:1rem 0 0;border-top:1px solid rgba(255,255,255,.18);border-radius:0;
  background:none;box-shadow:none}
.config-overview .estimate-reference-link{margin-top:.75rem}
@media (max-width:900px){
  .config-progress{order:-2}
  .lead-main{order:-1}
  .config-step{scroll-margin-top:calc(var(--cc-header-h) + 6rem)}
  .has-admin-bar .config-step{scroll-margin-top:calc(var(--cc-admin-bar-h) + var(--cc-header-h) + 6rem)}
  .lead-aside{position:static;order:0}
  .has-admin-bar .lead-aside{top:auto}
  .config-model__stage{min-height:0}
  .estimate-box{padding:1rem}
  .config-overview .estimate-box{padding:1rem 0 0}
  .estimate-box__eyebrow{margin-bottom:.15rem;font-size:.68rem}
  .estimate-box__title{font-size:.92rem}
  .estimate-box__body{padding-top:.75rem}
  .config-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.7rem;padding-bottom:.7rem}
  .config-summary>div{display:block}
  .config-summary dt{margin-bottom:.15rem}
  .config-summary dd{font-size:.72rem}
  .estimate-box__calculation{padding:.65rem .75rem}
  .est-value{font-size:1.25rem}
  .est-note{font-size:.76rem}
  .estimate-box .form-note,.estimate-trust,.estimate-reference-link{display:none}
}
@media (prefers-reduced-motion:reduce){
  .config-wizard--active .config-step:not([hidden]),.config-progress__segments li.is-current span{animation:none}
}

.dropzone{display:flex;flex-direction:column;align-items:center;gap:.5rem;justify-content:center;
  border:2px dashed var(--cc-line);border-radius:var(--cc-radius-lg);padding:1.8rem;cursor:pointer;
  color:var(--cc-slate);transition:border-color .15s,background .15s;text-align:center}
.dropzone:hover,.dropzone--over{border-color:var(--cc-accent);background:var(--cc-accent-soft);color:var(--cc-accent-strong)}
.dropzone--invalid{border-color:var(--cc-danger);background:var(--cc-danger-soft)}
.dropzone svg{fill:currentColor}
.dropzone small{color:var(--cc-slate);font-size:.72rem;line-height:1.4}
.photo-help strong{color:var(--cc-navy)}
.photo-preview{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}
.photo-preview__item{width:112px;margin:0;padding:.35rem;border:1px solid var(--cc-line);border-radius:var(--cc-radius-md);background:var(--cc-paper);overflow:hidden}
.photo-thumb{display:block;width:100%;height:88px;object-fit:cover;border-radius:calc(var(--cc-radius-md) - .2rem)}
.photo-thumb[hidden]{display:none}
.photo-preview__label{margin-top:.35rem;color:var(--cc-slate);font-size:.65rem;line-height:1.3;overflow-wrap:anywhere}
.photo-preview__item--format{display:flex;min-height:112px;align-items:center;justify-content:center;padding:.7rem;background:var(--cc-accent-soft);border-color:var(--cc-accent)}
.photo-preview__item--format .photo-preview__label{margin:0;color:var(--cc-accent-strong);font-weight:700;text-align:center}

/* Bootspolster-Konfigurator */
.upholstery-special-note{display:flex;align-items:flex-start;gap:.8rem;margin-top:1rem;padding:.9rem 1rem;
  border:1px solid #dfc47a;border-radius:var(--cc-radius-md);background:#fff8df;color:var(--cc-ink)}
.upholstery-special-note[hidden],[data-standard-fields][hidden],[data-special-fields][hidden],
[data-standard-photo-help][hidden],[data-special-photo-help][hidden],[data-photo-required][hidden]{display:none}
.upholstery-special-note svg{width:24px;height:24px;flex:0 0 24px;fill:var(--cc-accent-strong)}
.upholstery-special-note strong,.upholstery-special-note span{display:block}
.upholstery-special-note span{margin-top:.15rem;color:var(--cc-slate);font-size:.82rem;line-height:1.45}
.upholstery-special-fields{margin-bottom:1.2rem;padding:1rem;border:1px solid var(--cc-line);border-radius:var(--cc-radius-md);background:var(--cc-mist)}
.upholstery-special-fields>label{display:block;margin-bottom:.4rem;font-weight:650}
.upholstery-special-fields textarea{width:100%;min-height:130px;padding:.8rem .9rem;border:1.5px solid var(--cc-line);
  border-radius:var(--cc-radius-md);background:var(--cc-paper);color:var(--cc-ink);font:inherit;resize:vertical}
.upholstery-special-fields textarea:focus{border-color:var(--cc-accent);box-shadow:0 0 0 3px var(--cc-accent-soft);outline:none}
.upholstery-measure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.upholstery-measure-grid .field{margin-bottom:0}
.upholstery-material-row{margin-top:1.2rem}
.upholstery-field-label{display:block;margin:0 0 .55rem;font-weight:700;color:var(--cc-ink)}
.upholstery-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.upholstery-type-card,.upholstery-material-card,.upholstery-foam-card,.upholstery-pattern-card,.upholstery-swatch{position:relative;cursor:pointer}
.upholstery-type-card input,.upholstery-material-card input,.upholstery-foam-card input,.upholstery-pattern-card input,.upholstery-swatch input{position:absolute;width:1px;height:1px;opacity:.001;pointer-events:none}
.upholstery-type-card{display:flex;min-width:0;flex-direction:column;gap:.4rem;padding:.55rem;border:1.5px solid var(--cc-line);border-radius:var(--cc-radius-md);background:var(--cc-paper);transition:border-color .18s,box-shadow .18s,transform .18s}
.upholstery-type-card:hover{border-color:#a7b8cc;transform:translateY(-1px)}
.upholstery-type-card:has(input:checked),.upholstery-material-card:has(input:checked),.upholstery-foam-card:has(input:checked),.upholstery-pattern-card:has(input:checked){border-color:var(--cc-navy);box-shadow:0 0 0 3px rgba(18,48,85,.1)}
.upholstery-type-card:has(input:focus-visible),.upholstery-material-card:has(input:focus-visible),.upholstery-foam-card:has(input:focus-visible),.upholstery-pattern-card:has(input:focus-visible),.upholstery-swatch:has(input:focus-visible) span{outline:3px solid var(--cc-accent);outline-offset:2px}
.upholstery-type-card__graphic{position:relative;display:block;height:62px;overflow:hidden;border-radius:9px;background:linear-gradient(145deg,#edf2f6,#d6e0e9)}
.upholstery-type-card__graphic i,.upholstery-type-card__graphic b,.upholstery-type-card__graphic em{position:absolute;display:block;border:1.5px solid #45617e;background:linear-gradient(145deg,#fff,#c8d3de);box-shadow:0 5px 8px rgba(18,48,85,.12)}
.upholstery-type-card__graphic i{left:25%;top:9px;width:50%;height:27px;border-radius:9px 9px 5px 5px;transform:skewX(-5deg)}
.upholstery-type-card__graphic b{left:18%;bottom:9px;width:64%;height:21px;border-radius:7px;transform:skewX(-12deg)}
.upholstery-type-card__graphic em{left:50%;top:12px;width:1px;height:39px;border-width:0 0 0 1px;background:none;box-shadow:none;opacity:.65}
.upholstery-type-card__label{font-size:.72rem;font-weight:720;line-height:1.25;text-align:center}
.upholstery-type-card--seat .upholstery-type-card__graphic i,.upholstery-type-card--sunbed .upholstery-type-card__graphic i,.upholstery-type-card--engine-sunbed .upholstery-type-card__graphic i,.upholstery-type-card--berth .upholstery-type-card__graphic i{display:none}
.upholstery-type-card--seat .upholstery-type-card__graphic b,.upholstery-type-card--sunbed .upholstery-type-card__graphic b,.upholstery-type-card--engine-sunbed .upholstery-type-card__graphic b,.upholstery-type-card--berth .upholstery-type-card__graphic b{left:10%;bottom:16px;width:80%;height:29px}
.upholstery-type-card--back .upholstery-type-card__graphic b,.upholstery-type-card--panel .upholstery-type-card__graphic b{display:none}
.upholstery-type-card--back .upholstery-type-card__graphic i,.upholstery-type-card--panel .upholstery-type-card__graphic i{left:18%;top:8px;width:64%;height:46px}
.upholstery-type-card--bench .upholstery-type-card__graphic i{left:12%;width:76%}.upholstery-type-card--bench .upholstery-type-card__graphic b{left:8%;width:84%}
.upholstery-type-card--corner .upholstery-type-card__graphic em,.upholstery-type-card--u-group .upholstery-type-card__graphic em,.upholstery-type-card--salon .upholstery-type-card__graphic em{left:66%;top:27px;width:24%;height:20px;border:1.5px solid #45617e;border-radius:6px;background:linear-gradient(145deg,#fff,#c8d3de);transform:skewX(12deg)}
.upholstery-type-card--double .upholstery-type-card__graphic i,.upholstery-type-card--back-to-back .upholstery-type-card__graphic i{left:13%;width:31%;box-shadow:34px 0 0 -1px #d4dde6,34px 0 0 0 #45617e}
.upholstery-type-card--captain .upholstery-type-card__graphic i{left:34%;width:32%;height:34px;border-radius:14px 14px 5px 5px}.upholstery-type-card--captain .upholstery-type-card__graphic b{left:27%;width:46%}
.upholstery-type-card--bow .upholstery-type-card__graphic b,.upholstery-type-card--cockpit .upholstery-type-card__graphic b{left:10%;width:80%;height:36px;clip-path:polygon(0 100%,18% 14%,50% 0,82% 14%,100% 100%,70% 78%,30% 78%)}
.upholstery-type-card--stool .upholstery-type-card__graphic i{left:43%;top:34px;width:14%;height:20px;border-radius:2px}.upholstery-type-card--stool .upholstery-type-card__graphic b{left:32%;bottom:24px;width:36%;height:25px;border-radius:50%}
.upholstery-type-card__graphic--model{height:94px;border:1px solid #d2dae2;background:#edf1f5;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.upholstery-type-card__graphic--model img{display:block;width:100%;height:100%;object-fit:cover}
.upholstery-type-card:has(input:checked) .upholstery-type-card__graphic--model{border-color:#7791ad;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7),0 7px 16px rgba(18,48,85,.16)}
.upholstery-material-grid,.upholstery-foam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.upholstery-material-card,.upholstery-foam-card{border:1.5px solid var(--cc-line);border-radius:var(--cc-radius-md);background:var(--cc-paper)}
.upholstery-foam-card{display:flex;align-items:center;gap:.75rem;padding:.75rem}
.upholstery-material-card{position:relative;overflow:hidden}
.upholstery-material-card__choice{display:flex;align-items:center;gap:.75rem;width:100%;min-height:100%;padding:.75rem 3rem .75rem .75rem;cursor:pointer}
.upholstery-material-card__zoom{position:absolute;top:.55rem;right:.55rem;display:grid;place-items:center;width:34px;height:34px;padding:0;color:var(--cc-navy);background:#f4f7fa;border:1px solid var(--cc-line);border-radius:50%;cursor:pointer}
.upholstery-material-card__zoom:hover{background:var(--cc-accent-soft);border-color:var(--cc-navy)}
.upholstery-material-card__zoom svg{width:14px;height:14px;fill:currentColor}
.upholstery-material-card__sample{display:block;width:72px;height:72px;flex:0 0 72px;border:1px solid rgba(18,48,85,.18);border-radius:12px;background-color:#dfe5eb;box-shadow:inset 0 1px rgba(255,255,255,.8)}
.upholstery-material-card__sample--photo{overflow:hidden;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 5px 14px rgba(18,48,85,.1)}
.upholstery-material-card__sample--photo img{display:block;width:100%;height:100%;object-fit:cover}
.upholstery-material-card strong,.upholstery-material-card small,.upholstery-foam-card strong,.upholstery-foam-card small{display:block}
.upholstery-material-card strong,.upholstery-foam-card strong{font-size:.8rem;line-height:1.25}.upholstery-material-card small,.upholstery-foam-card small{margin-top:.2rem;color:var(--cc-slate);font-size:.68rem;line-height:1.3}
.upholstery-texture--grain{background-image:radial-gradient(circle at 20% 30%,rgba(18,48,85,.14) 0 1px,transparent 1.5px),radial-gradient(circle at 70% 65%,rgba(18,48,85,.12) 0 1px,transparent 1.5px);background-size:9px 8px,11px 10px}
.upholstery-texture--perforated{background-image:radial-gradient(circle,rgba(18,48,85,.38) 0 1.2px,transparent 1.5px);background-size:8px 8px}
.upholstery-texture--woven,.upholstery-texture--fabric{background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(18,48,85,.12) 3px 4px),repeating-linear-gradient(90deg,transparent 0 3px,rgba(18,48,85,.1) 3px 4px)}
.upholstery-texture--velour{background-image:repeating-linear-gradient(125deg,transparent 0 5px,rgba(255,255,255,.55) 5px 7px)}
.upholstery-texture--neutral{background-image:linear-gradient(135deg,transparent 45%,rgba(18,48,85,.25) 46% 54%,transparent 55%)}
.material-lightbox{width:min(720px,calc(100vw - 2rem))}
.material-lightbox__stage{display:grid;place-items:center;max-height:65vh;overflow:hidden;border:1px solid var(--cc-line);border-radius:var(--cc-radius-md);background:#eef2f5}
.material-lightbox__stage img{display:block;width:100%;max-height:65vh;object-fit:contain}
.upholstery-schemes{margin-top:1.15rem;padding:1rem;border:1px solid var(--cc-line);border-radius:var(--cc-radius-lg);background:#f6f8fb}
.upholstery-schemes .field__hint{display:block;margin:-.25rem 0 .85rem;max-width:720px}
.upholstery-scheme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.upholstery-scheme-card{display:grid;min-width:0;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:.8rem;padding:.75rem;border:1.5px solid var(--cc-line);border-radius:var(--cc-radius-md);background:#fff;color:var(--cc-ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}
.upholstery-scheme-card:hover{border-color:#91a5ba;transform:translateY(-1px)}.upholstery-scheme-card.is-active{border-color:var(--cc-navy);box-shadow:0 0 0 3px rgba(18,48,85,.1)}
.upholstery-scheme-card__colors{position:relative;display:flex;width:68px;height:50px;align-items:center;padding-left:5px}
.upholstery-scheme-card__swatch{display:block;width:39px;height:39px;border:2px solid #fff;border-radius:50%;background-color:var(--scheme-color);box-shadow:0 0 0 1px #aebaca,0 5px 10px rgba(18,48,85,.12)}
.upholstery-scheme-card__swatch+ .upholstery-scheme-card__swatch{position:absolute;left:31px;top:13px;width:31px;height:31px}
.upholstery-scheme-card__thread{position:absolute;right:1px;top:3px;width:17px;height:17px;border:4px solid #fff;border-radius:50%;background:var(--scheme-color);box-shadow:0 0 0 1px #aebaca}
.upholstery-scheme-card__copy,.upholstery-scheme-card__copy strong,.upholstery-scheme-card__copy small,.upholstery-scheme-card__copy>span{display:block;min-width:0}
.upholstery-scheme-card__copy strong{font-size:.78rem}.upholstery-scheme-card__copy small{margin-top:.12rem;color:var(--cc-accent-strong);font-size:.65rem;font-weight:700;line-height:1.3}.upholstery-scheme-card__copy>span{margin-top:.18rem;color:var(--cc-slate);font-size:.64rem;line-height:1.32}
.upholstery-swatch-grid{display:flex;flex-wrap:wrap;gap:.65rem}
.upholstery-swatch{display:flex;width:62px;align-items:center;flex-direction:column;gap:.28rem;text-align:center}
.upholstery-swatch>span{position:relative;display:block;width:42px;height:42px;border:2px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #aebaca,0 4px 10px rgba(18,48,85,.12)}
.upholstery-swatch small{font-size:.64rem;line-height:1.15}
.upholstery-swatch:has(input:checked)>span{box-shadow:0 0 0 3px var(--cc-navy),0 5px 12px rgba(18,48,85,.2)}
.upholstery-swatch:has(input:checked)>span::after{content:"✓";position:absolute;right:-5px;bottom:-4px;display:grid;width:18px;height:18px;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--cc-navy);color:#fff;font-size:.65rem;font-weight:900}
.upholstery-swatch--none>span{background:linear-gradient(135deg,#fff 45%,#c6463e 46% 54%,#fff 55%)}
.upholstery-swatch--tone>span{background:conic-gradient(#d4dde6,#8294a7,#d4dde6,#8294a7,#d4dde6)}
.upholstery-foam-card__layers{display:flex;width:62px;flex:0 0 62px;flex-direction:column-reverse;gap:2px;transform:skewX(-8deg)}
.upholstery-foam-card__layers i{display:block;height:11px;border:1px solid #4d6884;border-radius:4px;background:#dbe8f2}.upholstery-foam-card__layers i:nth-child(2){background:#a9c2d6}.upholstery-foam-card__layers i:nth-child(3){background:#779bb8}
.upholstery-pattern-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.upholstery-pattern-card{display:flex;min-width:0;flex-direction:column;gap:.4rem;padding:.5rem;border:1.5px solid var(--cc-line);border-radius:var(--cc-radius-md);background:var(--cc-paper);text-align:center}
.upholstery-pattern-card strong{font-size:.69rem;line-height:1.2}.upholstery-pattern{display:block;height:56px;border:1px solid #a7b4c2;border-radius:9px;background-color:#e7ecf1}
.upholstery-pattern--laengs{background-image:repeating-linear-gradient(90deg,transparent 0 16px,#71859a 17px 18px)}
.upholstery-pattern--quer{background-image:repeating-linear-gradient(0deg,transparent 0 13px,#71859a 14px 15px)}
.upholstery-pattern--kanal{background-image:repeating-linear-gradient(90deg,transparent 0 22px,#71859a 23px 24px,#fff 25px 27px,#71859a 28px 29px)}
.upholstery-pattern--raute{background-image:repeating-linear-gradient(45deg,transparent 0 16px,#71859a 17px 18px),repeating-linear-gradient(-45deg,transparent 0 16px,#71859a 17px 18px)}
.upholstery-pattern--karo{background-image:repeating-linear-gradient(90deg,transparent 0 16px,#71859a 17px 18px),repeating-linear-gradient(0deg,transparent 0 16px,#71859a 17px 18px)}
.upholstery-pattern--kontur{box-shadow:inset 0 0 0 7px #e7ecf1,inset 0 0 0 9px #71859a,inset 0 0 0 16px #e7ecf1,inset 0 0 0 17px #71859a}
.upholstery-special-photo-help{margin-bottom:1rem;padding:.85rem 1rem;border-left:3px solid var(--cc-accent);background:var(--cc-accent-soft);border-radius:0 var(--cc-radius-md) var(--cc-radius-md) 0}
.privacy-check{display:flex!important;align-items:flex-start;gap:.65rem;font-weight:400!important}
.privacy-check input{width:auto!important;flex:0 0 auto;margin-top:.3rem}
.upholstery-preview{position:relative;margin-top:.25rem;aspect-ratio:3/2;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:var(--cc-radius-md);background:#dce4eb}
.upholstery-preview>img:not(.model-preview__logo){display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.upholstery-preview__placeholder{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.7rem;padding:1.3rem;background:linear-gradient(145deg,#eef3f7,#d9e3ec);text-align:center}
.upholstery-preview__placeholder[hidden],.config-model__button-row[hidden]{display:none}
.config-summary [data-summary-configuration][hidden]{display:none}
.upholstery-preview__placeholder img{display:block;width:min(72%,230px);height:auto;max-height:88px;object-fit:contain}
.upholstery-preview__placeholder p{max-width:28ch;margin:0;color:var(--cc-navy);font-size:.78rem;font-weight:750;line-height:1.45}
.upholstery-preview__badge{position:absolute;left:.65rem;bottom:.65rem;z-index:2;padding:.28rem .5rem;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(11,36,66,.82);color:#fff;font-size:.61rem;font-weight:750;backdrop-filter:blur(7px)}
.upholstery-preview .model-preview__logo{z-index:2}
.upholstery-preview__chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.upholstery-preview__chips span{padding:.28rem .48rem;border:1px solid var(--cc-line);border-radius:999px;background:var(--cc-mist);color:var(--cc-slate);font-size:.63rem;font-weight:700}
.upholstery-overview .estimate-box__calculation strong{display:block;font-size:.82rem;line-height:1.45}
@media (max-width:900px){.upholstery-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upholstery-pattern-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.upholstery-measure-grid,.upholstery-material-grid,.upholstery-foam-grid,.upholstery-scheme-grid{grid-template-columns:1fr}.upholstery-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upholstery-pattern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upholstery-type-card__graphic{height:78px}.upholstery-material-card__sample{width:48px;height:48px;flex-basis:48px}.upholstery-swatch{width:53px}}


/* Stoffabhängige Farbauswahl + optionale Zweitfarbe */
.color-selection{display:grid;gap:.9rem}
.color-selection__group{min-width:0}
.color-secondary-toggle{justify-self:start}
.color-secondary-toggle[hidden],#add-upholstery-accent[hidden]{display:none}
.color-selection__secondary{border:1px solid var(--cc-line);border-radius:var(--cc-radius-md);background:var(--cc-mist);padding:1rem}
.color-selection__secondary[hidden]{display:none}
.color-selection__secondary-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}
.color-selection__secondary-head .config-substep{margin:0}
.help-inline{font-size:.78rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--cc-slate)}
.color-help{max-width:760px}
@media (max-width:560px){
  .color-selection__secondary-head{align-items:flex-start;flex-direction:column}
  .color-selection__secondary-head .btn{width:100%;justify-content:center}
}
