/* Owner-approved 26 October 2026. Loaded only on kitchen catalogue routes,
   after the shared foundation. Data, DOM order and category membership stay
   with the existing renderers. Two columns continue beyond the first 2 x 2. */
.kitchen-page {
 --ink: var(--tinte); --paper: var(--grund); --muted: var(--grau); --line: var(--linie);
 --sans: var(--schrift-text); --serif: var(--schrift-titel);
 --km-surface: transparent; --km-input: var(--weiss);
 --ke-bg: var(--grund); --ke-text: var(--tinte); --ke-muted: var(--grau);
 --ke-line: var(--linie); --ke-panel: var(--kalk);
 inline-size: 100%; max-inline-size: 1100px; min-inline-size: 0;
 margin-inline: auto; background: var(--grund); color: var(--tinte);
}
.kitchen-page :is(.kitchen-wrap,.ke-shell,.km-shop,.km-tools,.km-heading,.km-product-copy) {
 min-inline-size: 0; max-inline-size: 100%;
}
.kitchen-page :is(.kitchen-wrap,.ke-shell,.km-shop) { inline-size: 100%; margin-inline: auto; }
.kitchen-page :is(.km-heading,.ke-page-heading,.kitchen-list-heading) { margin-block: 0 var(--r-6); }
.kitchen-page :is(.ke-section,.ke-consultation,.kitchen-results,.kitchen-type-section,.kitchen-model-series) { margin-block: var(--r-7); }
.kitchen-page :is(.ke-intro,.ke-details-teaser,.ke-hero-copy) { padding-block: var(--r-5); }
.kitchen-page :is(.ke-intro,.ke-details-teaser) { display: grid; gap: var(--r-4); }
.kitchen-page :is(.kitchen-section-heading,.ke-section-heading,.kitchen-list-heading) {
 display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--r-3);
}
.kitchen-page :is(.km-heading,.ke-page-heading,.ke-section-heading,.kitchen-section-heading) :is(:is(h1,:where([data-seo-heading="h1"],[data-seo-caption="h1"])),:is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])),:is(h3,:where([data-seo-heading="h3"],[data-seo-caption="h3"]))) { margin-block-start: 0; }
.kitchen-page :is(.kitchen-breadcrumb,.kitchen-facets,.kitchen-pagination,.kitchen-actions,.kitchen-start-actions,.ke-recommendations) {
 display: flex; flex-wrap: wrap; align-items: center; gap: var(--r-3); min-inline-size: 0;
}
.kitchen-page :is(.kitchen-breadcrumb,.kitchen-result-count,.kitchen-programme-count,.ke-caption,.km-kind,.km-dimensions,.km-note) {
 font-size: var(--gr-mini); line-height: 1.5; color: var(--grau);
}
.kitchen-page .kitchen-breadcrumb { margin-block-end: var(--r-4); }
.kitchen-page .kitchen-pagination { justify-content: center; margin-block: var(--r-6); }
.kitchen-page .kitchen-pagination a { min-inline-size: 44px; min-block-size: 44px; display: grid; place-items: center; }
.kitchen-page :is(.kitchen-pagination a[aria-current],.kitchen-facets a[aria-current],.km-tabs a[aria-current]) {
 color: var(--gruen); text-decoration: underline; text-underline-offset: .25em;
}

/* The same uninterrupted two-column photo grid as the furniture categories.
   No breakpoint collapses product grids; there is no item limit or reordering. */
.kitchen-page .km-grid,
.kitchen-page .kitchen-grid,
.kitchen-page .ke-model-grid,
.kitchen-page .ke-image-filters,
.kitchen-page .kitchen-type-grid,
.kitchen-page .kitchen-category-grid,
.kitchen-page .kitchen-programme-grid,
.kitchen-page .ke-gallery,
.kitchen-page .kitchen-detail-images .kitchen-gallery {
 display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
 align-items: start; min-inline-size: 0; inline-size: 100%;
}
.kitchen-page :is(.km-grid,.kitchen-grid,.ke-model-grid,.ke-image-filters,.kitchen-type-grid,.kitchen-category-grid,.kitchen-programme-grid,.ke-gallery) > * {
 min-inline-size: 0; max-inline-size: 100%; grid-column: auto; margin: 0; align-self: start;
}
.kitchen-page :is(.km-product,.kitchen-item,.ke-model) {
 min-inline-size: 0; padding: 0; border: 0; background: transparent; overflow-wrap: anywhere;
}
.kitchen-page :is(.km-image,.kitchen-card-media,.ke-image-frame,.ke-gallery > a,.kitchen-detail-images .kitchen-gallery > a) {
 display: block; position: relative; inline-size: 100%; block-size: auto; aspect-ratio: auto;
 background: transparent; border-radius: var(--rund-bild);
}
.kitchen-page :is(.km-image img,.kitchen-card-media img,.ke-model img,.ke-image-frame img,.ke-gallery img,.kitchen-gallery img,.ke-hero > img,.ke-details-teaser > img) {
 display: block; inline-size: 100%; block-size: auto; max-inline-size: 100%; max-block-size: none;
 aspect-ratio: auto; object-fit: contain; border-radius: var(--rund-bild);
}
.kitchen-page :is(.km-product-copy,.kitchen-card-summary) { padding: 0; margin-block-start: 8px; }
.kitchen-page :is(.km-product :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])),.kitchen-item :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])),.kitchen-item :is(h3,:where([data-seo-heading="h3"],[data-seo-caption="h3"])),.kitchen-item :is(h4,:where([data-seo-heading="h4"],[data-seo-caption="h4"])),.ke-model-title) {
 display: block; font: 400 clamp(28px, 3vw, 36px)/1.12 var(--schrift-titel);
 margin-block: 8px; letter-spacing: var(--laufweite-titel); overflow-wrap: anywhere;
}
.kitchen-page :is(.km-summary,.km-description,.kitchen-card-summary,.ke-model > p) {
 font: 400 16px/1.5 var(--schrift-text); color: var(--grau); overflow-wrap: anywhere;
}
.kitchen-page :is(.km-kind,.km-dimensions) { margin-block: 8px; }
.kitchen-page :is(.kitchen-card-main,.ke-model > a) { color: inherit; text-decoration: none; }
.kitchen-page :is(.kitchen-type-label,.kitchen-category-grid > a,.kitchen-programme-grid > a) {
 display: block; min-inline-size: 0; overflow-wrap: anywhere; padding-block: 8px;
}
.kitchen-page .kitchen-type-label small { display: block; font-size: var(--gr-mini); color: var(--grau); }
.kitchen-page .kitchen-type-image img { inline-size: 100%; block-size: auto; object-fit: contain; border-radius: var(--rund-bild); }
.kitchen-page :is(.km-paths,.kitchen-facets,.kitchen-browse-controls,.kitchen-search) { margin-block: var(--r-5); }
.kitchen-page .km-paths { display: grid; gap: var(--r-4); }
.kitchen-page .km-paths > a { display: block; min-inline-size: 0; padding: var(--r-4); border: 1px solid var(--linie); border-radius: var(--rund-flaeche); text-decoration: none; }
.kitchen-page .km-paths :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])) { font-size: clamp(24px, 2.5vw, 32px); margin-block: 0 8px; }
.kitchen-page .km-paths p { font-size: var(--gr-klein); }
.kitchen-page :is(.kitchen-browse-controls,.ke-story) > summary { cursor: pointer; min-block-size: 44px; padding-block: 12px; }
.kitchen-page .ke-story { border-block: 1px solid var(--linie); margin-block: var(--r-6); }
.kitchen-page .ke-story p { margin-block: var(--r-4); }

/* Prices are ordinary visible content, including the selected variant price. */
.kitchen-page .kitchen-price { display: block; visibility: visible; margin-block: var(--r-4); }
.kitchen-page .kitchen-price strong { display: block; color: var(--tinte); font: 600 clamp(18px, 2vw, 24px)/1.35 var(--schrift-text); overflow-wrap: anywhere; }
.kitchen-page .kitchen-price small { display: block; margin-block-start: 5px; font-size: 12px; line-height: 1.5; color: var(--grau); }
.kitchen-page :is(.kitchen-price,.kv-option-price,.km-total) { font-variant-numeric: tabular-nums; }
.kitchen-page .km-tools { margin-block-end: var(--r-5); }
.kitchen-page .km-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-block: var(--r-4); }
.kitchen-page .km-filters button { min-inline-size: 0; min-block-size: 44px; padding: 9px 12px; font-size: 14px; line-height: 1.4; }
.kitchen-page .km-filters button[aria-pressed=true] { border-color: var(--gruen); color: var(--gruen); background: var(--kalk); }
.kitchen-page :is(.km-search,.kitchen-search) { display: grid; gap: 8px; max-inline-size: 38rem; font-size: var(--gr-klein); }
.kitchen-page .kitchen-search > div { display: flex; flex-wrap: wrap; gap: 8px; }
.kitchen-page .kitchen-search input { flex: 1 1 12rem; }
.kitchen-page :is(input,select,textarea) { min-inline-size: 0; max-inline-size: 100%; }
.kitchen-page :is(.km-add,.km-more,.ke-glass,.kitchen-link,.ke-text-link) {
 display: inline-flex; align-items: center; justify-content: center; min-inline-size: 0; max-inline-size: 100%;
 min-block-size: 44px; padding: 10px 16px; border: 1px solid var(--linie); border-radius: var(--rund-pille);
 background: transparent; color: var(--gruen); font: 400 15px/1.35 var(--schrift-text);
 text-align: center; text-decoration: none; white-space: normal; overflow-wrap: anywhere;
}
.kitchen-page .km-add { inline-size: 100%; margin-block-start: 12px; }
.kitchen-page .km-more { margin-block: var(--r-6); }
.kitchen-page .km-status { min-block-size: 1.5em; font-size: var(--gr-klein); margin-block: var(--r-4); }

/* Preserve the existing variant disclosures, thumbnails and event targets. */
.kitchen-page .kv-picker { inline-size: 100%; min-inline-size: 0; margin-block: var(--r-4); text-align: start; }
.kitchen-page .kv-details { min-inline-size: 0; border: 1px solid var(--linie); border-radius: var(--rund-bild); background: var(--weiss); }
.kitchen-page .kv-details > summary { display: grid; gap: 8px; min-block-size: 44px; padding: 12px; cursor: pointer; }
.kitchen-page .kv-details > summary > span { transform: none; }
.kitchen-page :is(.kv-summary-text,.kv-chosen,.kv-chosen-label) { display: grid; min-inline-size: 0; gap: 4px; overflow-wrap: anywhere; }
.kitchen-page .kv-summary-text strong { font: 600 14px/1.4 var(--schrift-text); }
.kitchen-page :is(.kv-summary-text small,.kv-chosen-label,.kv-example,.kv-material small) { font: 400 12px/1.5 var(--schrift-text); color: var(--grau); }
.kitchen-page :is(.kv-miniatures,.kv-preview) { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; min-inline-size: 0; }
.kitchen-page :is(.kv-miniatures img,.kv-miniatures svg,.kv-preview img,.kv-preview svg) {
 display: block; inline-size: 42px; block-size: 34px; max-inline-size: 100%; object-fit: contain;
 border: 1px solid var(--linie); border-radius: var(--rund-bild); background: var(--kalk);
}
.kitchen-page .kv-body { min-inline-size: 0; padding: 12px; border-block-start: 1px solid var(--linie); }
.kitchen-page :is(.kv-models,.ks-model-grid) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.kitchen-page :is(.kv-model,.ks-model-grid > button) { display: block; min-inline-size: 0; padding: 0; overflow-wrap: anywhere; text-align: start; border: 1px solid var(--linie); border-radius: var(--rund-bild); }
.kitchen-page :is(.kv-model img,.kv-model svg,.ks-model-grid img) { inline-size: 100%; block-size: auto; aspect-ratio: auto; object-fit: contain; border-radius: var(--rund-bild); }
.kitchen-page :is(.kv-model > span,.ks-model-grid > button > span) { display: block; padding: 8px; font: 400 12px/1.4 var(--schrift-text); }
.kitchen-page .kv-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.kitchen-page .kv-option { display: grid; min-inline-size: 0; inline-size: 100%; padding: 10px; gap: 10px; border: 1px solid var(--linie); border-radius: var(--rund-bild); text-align: start; }
.kitchen-page :is(.kv-option,.kv-model)[aria-pressed=true] { border-color: var(--gruen); outline: 1px solid var(--gruen); outline-offset: -1px; }
.kitchen-page .kv-material { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; align-items: center; }
.kitchen-page .kv-sample { display: block; inline-size: 48px; block-size: 48px; max-inline-size: 100%; }
.kitchen-page .kv-sample :is(img,svg) { inline-size: 100%; block-size: 100%; object-fit: contain; border-radius: var(--rund-bild); }
.kitchen-page .kv-material strong { font: 600 13px/1.4 var(--schrift-text); overflow-wrap: anywhere; }
.kitchen-page .kv-option-price { display: grid; min-inline-size: 0; gap: 3px; border-block-start: 1px solid var(--linie); padding-block-start: 8px; }
.kitchen-page .kv-option-price strong { display: block; font-size: 17px; color: var(--tinte); }
.kitchen-page .kv-option-price small { font-size: 12px; }
.kitchen-page .kv-group-title { margin-block: 12px 8px; font: 600 13px/1.5 var(--schrift-text); }
.kitchen-page .kv-example { margin-block-start: 12px; }
.kitchen-page .kv-selected-mark { color: var(--gruen); font-size: 12px; }

/* Existing cart controls and forms remain in place with bounded, readable skin. */
.kitchen-page .km-sticky {
 position: fixed; z-index: 40; inset-inline: 12px; bottom: max(12px, env(safe-area-inset-bottom));
 display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between;
 inline-size: auto; max-inline-size: 1060px; margin-inline: auto; padding: 16px;
 border: 1px solid var(--linie); border-radius: var(--rund-flaeche); background: var(--grund); color: var(--tinte);
}
.kitchen-page .km-sticky > div { min-inline-size: 0; flex: 1 1 15rem; }
.kitchen-page .km-sticky p { margin-block-start: 6px; font-size: var(--gr-mini); }
.kitchen-page .km-mini-widths { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: var(--gr-mini); }
.has-module-cart .kitchen-page .km-shop { padding-block-end: calc(var(--module-bar-height, 220px) + 24px); }
.kitchen-page .km-cart {
 inline-size: min(860px, calc(100% - 24px)); max-inline-size: calc(100% - 24px);
 max-block-size: calc(100dvh - 24px); margin: auto; padding: clamp(16px, 3vw, 28px);
 overflow: auto; overscroll-behavior: contain; border: 1px solid var(--linie);
 border-radius: var(--rund-flaeche); background: var(--grund); color: var(--tinte);
}
.kitchen-page .km-cart > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; border-block-end: 1px solid var(--linie); }
.kitchen-page .km-cart :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])) { font-size: clamp(28px, 3vw, 36px); margin-block-start: 0; }
.kitchen-page .km-line { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; padding-block: var(--r-4); border-block-end: 1px solid var(--linie); }
.kitchen-page .km-line > img { inline-size: 100%; block-size: auto; object-fit: contain; border-radius: var(--rund-bild); }
.kitchen-page .km-line :is(h3,:where([data-seo-heading="h3"],[data-seo-caption="h3"])) { font-size: 22px; margin-block-start: 0; }
.kitchen-page .km-line p { font-size: var(--gr-mini); }
.kitchen-page .km-line-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-block-start: 12px; }
.kitchen-page .km-line-actions label { display: grid; gap: 4px; max-inline-size: 6rem; font-size: var(--gr-mini); }
.kitchen-page .km-cart form { display: grid; gap: 16px; margin-block-start: var(--r-6); }
.kitchen-page .km-cart form label { display: grid; gap: 8px; }
.kitchen-page .km-cart :is(input,textarea) { inline-size: 100%; }
.kitchen-page .km-widths > div { display: flex; justify-content: space-between; gap: 12px; padding-block: 10px; border-block-end: 1px solid var(--linie); }
.kitchen-page .km-widths dd { text-align: end; }
.kitchen-page .km-widths small { display: block; font-size: var(--gr-mini); }
.kitchen-page .km-total { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-block-start: 16px; margin-block-start: 16px; border-block-start: 1px solid var(--linie); }
.kitchen-page .km-total strong { font-size: 24px; }
.kitchen-page .km-total small { flex-basis: 100%; font-size: var(--gr-mini); }

/* Kitchen collections created in the existing CMS use a wrapper-free renderer.
   This stylesheet is not loaded by fabric/furniture routes. */
main[data-assortment-page] .fabric-existing > .fabric-grid {
 display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
 inline-size: 100%; max-inline-size: 1100px; min-inline-size: 0; align-items: start;
}
main[data-assortment-page] .fabric-grid > .fabric-legacy-card { grid-column: auto; min-inline-size: 0; max-inline-size: none; inline-size: 100%; margin: 0; }
main[data-assortment-page] .fabric-grid .fabric-legacy-name { font-size: clamp(28px, 3vw, 36px); }
main[data-assortment-page] .fabric-grid .fabric-sale-price { display: block; visibility: visible; font-size: 20px; color: var(--tinte); }

@media (min-width: 48rem) {
 .kitchen-page .km-paths { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .kitchen-page .kv-material { grid-template-columns: 48px minmax(0, 1fr); }
}
@media (max-width: 400px) {
 .kitchen-page .km-product-copy :is(.km-add,.kv-details > summary,.kv-body,.kv-option) { padding-inline: 8px; }
 .kitchen-page .km-product-copy .km-add { font-size: 13px; }
 .kitchen-page :is(.kv-miniatures img,.kv-miniatures svg,.kv-preview img,.kv-preview svg) { inline-size: 34px; block-size: 28px; }
}

[data-seo-heading]{display:block}
.kitchen-planner-heading{padding-bottom:0}
