/* Bauplan 2027, Schritt 1: functional baseline, no replacement brand design. */
*{box-sizing:border-box}
html{color-scheme:light;overflow-wrap:anywhere}
body{max-width:100%}
main,section,article,aside,div,figure,fieldset{min-width:0}
img,video,iframe,canvas{max-width:100%}
img,video{height:auto}
svg:not([width]){width:1.5em;height:1.5em}
button,input,select,textarea{max-width:100%;white-space:normal}
button,a,summary{touch-action:manipulation}
a{text-decoration:underline;border-bottom:0}
a::before,a::after{border-bottom:0}
[hidden],dialog:not([open]),#payment-reference:empty{display:none!important}
.sr-only,.plan-sr-only,.request-trap,.ss-honeypot{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
dialog{max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem);overflow:auto}
nav a,.luxury-menu-links a,.footer-group a{display:block}
.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
.header-actions{display:flex;flex-wrap:wrap;align-items:center}
.menu-picture img{max-height:30dvh;width:auto}
table{max-width:100%;table-layout:fixed;overflow-wrap:anywhere}
td,th{overflow-wrap:anywhere}
.hn-table-wrap{max-width:100%;overflow:auto}
/* Source-product crop geometry. */
.fabric-crop,.swatch-crop-stage,.catalogue-crop,.set-piece,.hn-photo{display:block;position:relative;overflow:hidden}
.fabric-crop>img,.set-piece>img{position:absolute;max-width:none}
.hn-photo{width:100%;aspect-ratio:var(--hn-photo-ratio,1)}
.hn-photo>img{position:absolute;width:var(--hn-image-width,100%);height:var(--hn-image-height,100%);left:var(--hn-image-left,0);top:var(--hn-image-top,0);max-width:none;object-fit:contain}
/* Native dialogs, full-size inspection, zoom and swiping remain operable. */
.photo-viewer{width:calc(100vw - 2rem);height:calc(100dvh - 2rem)}
.photo-viewer[open]{display:flex;flex-direction:column}
.photo-viewer-toolbar,.photo-viewer-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;flex:none}
.photo-viewer-stage{display:flex;align-items:center;justify-content:center;min-height:0;flex:1;overflow:auto;touch-action:pan-y pinch-zoom}
.photo-viewer-stage img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.photo-viewer-stage.is-zoomed{display:block}
.photo-viewer-stage.is-zoomed img{max-width:none;max-height:none}
.photo-viewer-stage iframe{width:100%;height:100%}
.photo-viewer-thumbnails{display:flex;flex:none;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden}
.photo-viewer-thumbnails>button{flex:none}
.photo-viewer-thumbnails img{width:56px;height:56px;object-fit:contain}
.hn-gallery-stage,.hn-swiper{max-width:100%;min-width:0;overflow:hidden}
.hn-swiper .swiper-slide{height:auto}
.swiper-zoom-container img{max-width:100%;max-height:100%;object-fit:contain}
/* Existing planners require measurable drawing surfaces. */
.plan-view,.ss-stage,.ks-stage{position:relative;width:100%;height:420px;max-height:65dvh;min-height:280px;overflow:hidden}
.plan-view canvas,.plan-view #plan-three,.plan-view #plan-three>svg,.ss-canvas,.ss-canvas canvas,.ks-canvas,.ks-canvas canvas{display:block;width:100%;height:100%;touch-action:none}
.ss-stage,.ks-stage{height:auto;max-height:none;overflow:visible}
.ss-canvas,.ks-canvas{height:360px;max-height:60dvh;min-height:240px;overflow:hidden}
.plan-view [hidden]{display:none!important}
.plan-toolbar,.plan-tabs,.ss-tabs,.ks-tabs{display:flex;flex-wrap:wrap}
.plan-swatch,.ss-swatch,.ks-swatch{min-width:24px;min-height:24px}

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