/* Küchenmodelle v3.5 — authoritative accessibility and configurator layer. */

/* Readable foreground colours on every light surface. */
.km-section:not(.km-dark):not(.km-config-stage) p{color:#46544d}
.km-section:not(.km-dark) .km-eyebrow,
.km-configurator .km-eyebrow,
.km-feature-card:not(.km-feature-dark) .km-feature-tag,
.km-blog-card>span,
.km-mini-posts span,
.km-related-grid a>span{color:#795027!important;font-size:12px}
.km-section:not(.km-dark) .km-number-stack>div{border-color:#d8cdbf;background:linear-gradient(145deg,#fff,#faf6ef);box-shadow:0 12px 34px rgba(18,31,24,.06)}
.km-section:not(.km-dark) .km-number-stack strong{color:#795027}
.km-section:not(.km-dark) .km-number-stack span{color:#35443d;font-weight:750}
.km-editorial-intro p,.km-plain-content p,.km-article-content p{color:#46544d!important}
.km-dark p,.km-dark li{color:#d7ded9}
.km-dark .km-eyebrow,.km-configurator-live .km-eyebrow{color:#f0d3a3!important}
.km-stat-band span{color:#405048}
.km-config-teaser .km-preview-screen h3{color:#1d2c25!important}
.km-config-teaser .km-preview-top{color:#765025;font-size:11px}
.km-config-teaser .km-preview-options span{color:#34433b}
.km-config-teaser .km-preview-options .active{color:#fff}

/* Keep the document and every configurator column inside the viewport. */
.km-theme{overflow-x:clip}
.km-configurator-wrap{max-width:1320px}
.km-configurator-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(400px,.75fr);gap:28px;align-items:start}
.km-configurator-layout>*,.km-stepper>*,.km-option-grid>*,.km-form-grid>*,.km-check-grid>*,.km-number-stack>*,.km-stat-band>*,.km-card-grid>*,.km-feature-grid>*{min-width:0}
.km-configurator label,.km-configurator strong,.km-configurator small,.km-number-stack span,.km-stat-band span{overflow-wrap:break-word;word-break:normal}

/* The form is the primary customer surface. */
.km-configurator{order:1;padding:30px;border-color:#d8cdbf;box-shadow:0 26px 70px rgba(15,24,19,.10);overflow:hidden}
.km-config-head{margin-bottom:20px;padding-bottom:20px;align-items:center}
.km-config-head h2{max-width:520px}
.km-config-head p{margin:8px 0 0;color:#46544d;font-size:15px}
.km-progress{min-width:220px}
.km-progress b{font-size:13px;color:#2f3d36;white-space:nowrap}
.km-config-highlights{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.km-config-highlights span{padding:8px 11px;font-size:11px;line-height:1.35;color:#4f4436;background:#f5ecdf;border-color:#dfd2c1}
.km-configurator legend{margin-bottom:22px}
.km-configurator legend>strong{max-width:660px}
.km-configurator .km-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.km-option-card{min-height:94px;padding:18px 16px 16px 46px}
.km-option-card strong{font-size:15px;line-height:1.35;color:#27352e}
.km-option-card small{font-size:13px;line-height:1.45;color:#526159}
.km-option-dot{left:16px;top:20px}
.km-configurator .km-option-card:has(input[name="kitchen_form"]){min-height:124px}
.km-option-card:has(input:focus-visible){outline:3px solid #9d6d35;outline-offset:3px}
.km-form-error{margin:0 0 22px;padding:13px 15px;border:1px solid #b5483f;border-left-width:5px;border-radius:12px;background:#fff4f2;color:#762c27;font-size:14px;font-weight:750}
.km-form-error[hidden]{display:none}
.km-configurator [aria-invalid="true"]{border-color:#b5483f!important;box-shadow:0 0 0 3px rgba(181,72,63,.14)!important}
.km-configurator label.is-invalid,.km-configurator .km-option-card.is-invalid{outline:2px solid #b5483f;outline-offset:3px}
.km-configurator label.is-invalid{color:#762c27}

/* Clear ten-step navigation without a desktop overflow bar. */
.km-stepper{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin:-4px 0 22px;padding:8px;border:1px solid #ddd3c6;border-radius:17px;background:#faf7f1;overflow:hidden}
.km-stepper button{appearance:none;border:0;border-radius:11px;background:transparent;color:#4f5d56;min-width:0;min-height:50px;padding:7px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;transition:.18s}
.km-stepper button span{font-size:10px;line-height:1.2;letter-spacing:.06em;font-weight:900;color:#704a25}
.km-stepper button b{font-size:11px;line-height:1.2;font-weight:800;white-space:nowrap;color:inherit}
.km-stepper button.is-current{background:#173027;color:#fff;box-shadow:0 8px 20px rgba(17,39,29,.18)}
.km-stepper button.is-current span{color:#f1d5a5}
.km-stepper button.is-complete{background:#eadfce;color:#493821;cursor:pointer}
.km-stepper button:disabled:not(.is-current){opacity:.72;cursor:default}

/* Compact live studio: no content may escape the green card. */
.km-configurator-live{order:2;position:sticky;top:96px;max-height:calc(100vh - 112px);max-height:calc(100svh - 112px);padding:20px;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9a7a54 transparent}
.km-configurator-live::-webkit-scrollbar{width:7px}
.km-configurator-live::-webkit-scrollbar-thumb{background:#9a7a54;border-radius:99px}
.km-configurator-live *{min-width:0}
.km-live-head{font-size:11px;line-height:1.35}
.km-live-toolbar{margin-top:12px}
.km-live-toolbar button{min-height:42px;padding:9px 7px;font-size:11px;line-height:1.25}
.km-realtime-studio{height:356px!important;margin:16px 0 14px}
.km-realtime-studio svg{max-width:100%}
.km-realtime-studio[data-shape="Noch offen"] .km-rt-island,.km-realtime-studio[data-shape="Noch offen"] .km-rt-kitchen{opacity:0!important}
.km-rt-toolbar-note span{font-size:10px}
.km-rt-toolbar-note b{font-size:10px}
.km-rt-statusbar small{font-size:9px;line-height:1.25}
.km-rt-statusbar strong{font-size:11px;line-height:1.3}
.km-rt-draghint{font-size:9px}
.km-live-palette{margin:4px 0 10px}
.km-live-palette small{font-size:10px;color:#d3dcd6}
.km-live-insight{margin:0 0 10px;padding:13px 14px}
.km-live-insight>span{font-size:9px}
.km-live-insight strong{font-size:14px;line-height:1.4}
.km-live-insight p{display:none}
.km-live-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}
.km-live-meta>div{min-height:58px;padding:9px 10px}
.km-live-meta>div:first-child,.km-live-meta>div:nth-child(6),.km-live-meta>div:nth-child(7){display:none}
.km-live-meta small{font-size:10px;color:#d4c4a8}
.km-live-meta strong{font-size:12px;line-height:1.35}
.km-live-route,.km-live-route-copy,.km-live-note{display:none!important}

/* Tablet: form and preview become one calm vertical flow before either is cramped. */
@media(max-width:1180px){
  .km-configurator-layout{grid-template-columns:1fr;gap:22px}
  .km-configurator{padding:26px}
  .km-configurator-live{position:relative;top:auto;max-height:none;overflow:hidden!important}
  .km-realtime-studio{height:410px!important}
  .km-stepper button b{font-size:9px}
}

@media(max-width:760px){
  .km-configurator{padding:18px;border-radius:22px}
  .km-config-head{display:block}
  .km-progress{width:100%;min-width:0;margin-top:18px}
  .km-stepper{grid-template-columns:repeat(10,70px);margin:-2px 0 18px;padding:7px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
  .km-stepper button{scroll-snap-align:start;padding:7px 4px}
  .km-stepper button span,.km-stepper button b{font-size:10px}
  .km-config-highlights{display:grid;grid-template-columns:1fr}
  .km-config-highlights span{width:100%}
  .km-configurator .km-option-grid,.km-configurator .km-check-grid,.km-configurator .km-form-grid{grid-template-columns:1fr}
  .km-configurator .km-option-card:has(input[name="kitchen_form"]){min-height:112px}
  .km-config-nav{box-shadow:0 -12px 30px rgba(19,30,24,.08)}
  .km-configurator-live{padding:16px;border-radius:22px}
  .km-live-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:18px}
  .km-realtime-studio{height:360px!important}
  .km-live-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .km-number-stack strong{font-size:34px}
}

@media(max-width:420px){
  .km-realtime-studio{height:330px!important}
  .km-rt-statusbar{grid-template-columns:1fr 1fr}
  .km-rt-statusbar>div:nth-child(3){display:none}
  .km-live-meta{grid-template-columns:1fr}
}
