/*
Theme Name: Küchenwelten Trossingen
Theme URI: https://github.com/dendritecorp/template-kuechenwelten-trossingen-new
Author: Dendrite Corp
Description: Küchenwelten Trossingen — Küchen, die bleiben. Classic PHP + Gutenberg patterns from the homepage design.
Version: 1.1.0
Text Domain: kuechenwelten-trossingen-new
*/

/* ============================================================
   Tokens (from claude-html-homepage)
   Design width 1366px · content container 1206px
   ============================================================ */

:root {
	--kw-bg: #FBFBF8;
	--kw-bg-alt: #F8F6F4;
	--kw-ink: #000000;
	--kw-ink-light: #DCD0C7;
	--kw-muted: #A89C91;
	--kw-gold: #DFAD60;
	--kw-gold-hover: #E8BC77;
	--kw-gold-text: #D69239;
	--kw-gold-text-hover: #B97A1F;
	--kw-rule: #D9D3CE;
	--kw-rule-dark: #5C5549;
	--kw-dot: #E9E5E2;
	--kw-glass: rgba(255, 255, 255, 0.10);
	--kw-display: 'Aboreto', Optima, 'Palatino Linotype', serif;
	--kw-body: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
	--kw-accent: 'Playfair Display', Georgia, serif;
	--kw-page: 1366px;
	--kw-container: 1206px;
	--kw-gutter: 80px;
	--kw-pad: 64px;
}

/* ---------- Reset / base ---------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
	background: var(--kw-bg);
	color: var(--kw-ink);
	font-family: var(--kw-body);
	font-weight: 300;
	font-size: 20px;
	line-height: 32px;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img { display: block; border: 0; max-width: 100%; height: auto; }
a { text-decoration: none; color: var(--kw-gold-text); }
a:hover { color: var(--kw-gold); }
p, h1, h2, h3 { margin: 0; }

.site-main { padding: 0; }
.entry-content { max-width: none; }
.entry-content > .alignfull {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* Gutenberg inner wrappers (classic + re-index) */
.kw-container > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-section > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-glass > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-hero > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-hero__copy > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-brands > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-brands__row > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-contact > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-contact__item > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-quotes > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-quotes__head > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-quotes__meta > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-cta > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-media > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-split > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-showroom > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-intro > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-ruleblock > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-dots > :is(.rb-block-group__inner-container, .rb-block-group__inner-container),
.kw-stars > :is(.rb-block-group__inner-container, .rb-block-group__inner-container) {
	display: contents;
}

.entry-content > :is(.rb-block-group, .rb-block-group) {
	margin-block-start: 0;
}

/* ---------- Layout ---------------------------------------- */
.kw-section { position: relative; }
.kw-section--tint { background: var(--kw-bg-alt); }
.kw-container {
	width: min(var(--kw-container), calc(100% - 48px));
	margin-inline: auto;
	position: relative;
}

/* ---------- Typography ------------------------------------ */
.kw-h1, .kw-h2, .kw-h3 {
	font-family: var(--kw-display);
	font-weight: 400;
	color: var(--kw-ink);
}
.kw-h1 { font-size: clamp(42px, 5.1vw, 69px); line-height: 1.04; letter-spacing: .02em; }
.kw-h2, .kw-h3 { font-size: clamp(26px, 2.8vw, 38px); line-height: 1.16; letter-spacing: .068em; }
.kw-body {
	font-family: var(--kw-body);
	font-weight: 300;
	font-size: 20px;
	line-height: 32px;
	letter-spacing: -.03em;
	color: var(--kw-ink);
}
.kw-body--sm { font-size: 18px; line-height: 26px; }
.kw-eyebrow, .kw-label {
	font-family: var(--kw-accent);
	font-style: italic;
	font-weight: 700;
	font-size: 18px;
	line-height: 18px;
	letter-spacing: .033em;
	color: var(--kw-muted);
}
.kw-quote {
	font-family: var(--kw-accent);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(22px, 2.2vw, 30px);
	line-height: 1.7;
	letter-spacing: .013em;
	color: var(--kw-ink);
}
.kw-meta {
	font-family: var(--kw-body);
	font-weight: 300;
	font-size: 18px;
	line-height: 1;
	letter-spacing: -.03em;
	color: var(--kw-ink);
}
.kw-link,
.kw-link a {
	display: inline-block;
	font-family: var(--kw-display);
	font-size: 20px;
	line-height: 24px;
	letter-spacing: .112em;
	color: var(--kw-gold-text);
}
.kw-link:hover,
.kw-link a:hover { color: var(--kw-gold-text-hover); }
.kw-legal {
	font-family: var(--kw-display);
	font-size: 12px;
	line-height: 16px;
	letter-spacing: .032em;
	color: var(--kw-ink-light);
}
.kw-h2--light { color: var(--kw-ink-light); }
.kw-body--light { color: var(--kw-ink-light); }

/* ---------- Buttons --------------------------------------- */
a.kw-btn,
.rb-block-button.kw-btn > :is(.rb-block-button__link, .rb-block-button__link),
.rb-block-button.kw-btn > :is(.rb-block-button__link, .rb-block-button__link) {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 56px;
	padding: 0 8px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-family: var(--kw-display);
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .112em;
	text-indent: .112em;
	text-decoration: none;
	transition: background .18s ease, color .18s ease;
}
.rb-block-button.kw-btn,
.rb-block-button.kw-btn { margin: 0; }
.rb-block-buttons.kw-ruleblock__btn,
.rb-block-buttons.kw-ruleblock__btn { margin: 0; }

a.kw-btn--solid,
.kw-btn--solid > :is(.rb-block-button__link, .rb-block-button__link) {
	background: var(--kw-gold);
	color: #000;
}
a.kw-btn--solid:hover,
.kw-btn--solid > :is(.rb-block-button__link, .rb-block-button__link):hover {
	background: var(--kw-gold-hover);
	color: #000;
}
a.kw-btn--ghost,
.kw-btn--ghost > :is(.rb-block-button__link, .rb-block-button__link) {
	background: transparent;
	border: 1px solid var(--kw-gold-text);
	color: var(--kw-gold-text);
	height: 54px;
}
a.kw-btn--ghost:hover,
.kw-btn--ghost > :is(.rb-block-button__link, .rb-block-button__link):hover {
	background: var(--kw-gold-text);
	color: #fff;
}
a.kw-btn--sm,
.kw-btn--sm > :is(.rb-block-button__link, .rb-block-button__link) {
	height: 40px;
	font-size: 14px;
	letter-spacing: .07em;
	text-indent: .07em;
}
.kw-btn--w192 { width: 192px; }
.kw-btn--w266 { width: 266px; }
.kw-btn--w314 { width: 314px; }
.kw-btn--w326 { width: 326px; }
.kw-btn--w444 { width: 444px; max-width: 100%; }

/* ---------- Header ---------------------------------------- */
.kw-header {
	position: relative;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 128px;
	padding: 0 48px;
	background: #000;
}
body.home .kw-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: transparent;
}
.kw-header__nav { display: flex; margin-top: 33px; }
.kw-header__nav--left { gap: 56px; }
.kw-header__nav--right {
	gap: 36px;
	align-items: center;
}
.kw-header__nav--right nav { display: flex; gap: 36px; }
.kw-nav-link,
.kw-nav-link--btn {
	font-family: var(--kw-display);
	font-size: 15px;
	line-height: 40px;
	letter-spacing: .08em;
	color: var(--kw-ink-light);
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}
.kw-nav-link:hover,
.kw-nav-link--btn:hover { color: #fff; }
.kw-header__logo {
	display: block;
	width: 179px;
	height: 96px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 16px;
}
.kw-header__logo img,
.kw-header__logo .custom-logo,
.kw-header__logo .custom-logo-link img {
	width: 179px;
	height: 96px;
	object-fit: contain;
}
.kw-header__logo .custom-logo-link { display: block; }
.kw-hamburger {
	display: none;
	align-items: center;
	justify-content: center;
	background: none;
	border: 0;
	color: var(--kw-ink-light);
	cursor: pointer;
	padding: 0.5rem;
	z-index: 22;
}

.kw-mega {
	position: absolute;
	left: 48px;
	top: 128px;
	width: min(1270px, calc(100% - 96px));
	height: 597px;
	background: var(--kw-bg-alt);
	box-shadow: 0 24px 40px rgba(0, 0, 0, .16);
	z-index: 24;
	display: none;
}
.kw-mega.is-open { display: block; }
.kw-mega__img { position: absolute; object-fit: cover; }
.kw-mega__img--hero { left: 12px; top: 12px; width: 430.5px; height: 573px; }
.kw-mega__img--a { left: 454.5px; top: 12px; width: 209.25px; height: 280.5px; }
.kw-mega__img--b { left: 675.75px; top: 12px; width: 209.25px; height: 280.5px; }
.kw-mega__img--c { left: 454.5px; top: 304.5px; width: 209.25px; height: 280.5px; }
.kw-mega__img--d { left: 675.75px; top: 304.5px; width: 209.25px; height: 280.5px; }
.kw-mega__list {
	position: absolute;
	left: 964.9px;
	top: 158.7px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.kw-mega__link {
	font-family: var(--kw-display);
	font-size: 16px;
	line-height: 24px;
	letter-spacing: .09em;
	color: var(--kw-ink);
	white-space: nowrap;
}
.kw-mega__link:hover { color: var(--kw-gold-text); }
.kw-mega__close {
	position: absolute;
	left: auto;
	right: 24px;
	top: 24px;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background: none;
	border: 0;
	padding: 0;
}

.kw-mobile-nav {
	display: none;
	position: fixed;
	top: 0;
	right: -100%;
	width: min(320px, 85vw);
	height: 100vh;
	background: #000;
	z-index: 30;
	transition: right 0.3s ease;
	overflow-y: auto;
	padding: 1.5rem;
	flex-direction: column;
	gap: 4px;
}
.kw-mobile-nav.is-open { right: 0; display: flex; }
.kw-mobile-nav__header { display: flex; justify-content: flex-end; margin-bottom: 1.5rem; }
.kw-mobile-nav__close {
	background: none;
	border: 0;
	color: #fff;
	cursor: pointer;
	padding: 0.25rem;
}
.kw-mobile-nav .kw-nav-link {
	display: block;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding: 0.75rem 0;
}
.kw-mobile-nav .kw-nav-link--sub { padding-left: 1rem; font-size: 13px; }
.kw-mobile-nav__label {
	font-family: var(--kw-display);
	font-size: 13px;
	letter-spacing: .08em;
	color: var(--kw-gold);
	margin: 1rem 0 0.25rem;
}
.kw-mobile-nav .kw-btn { margin-top: 1.5rem; width: 100%; }
.kw-mobile-nav__overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 29;
}
.kw-mobile-nav__overlay.is-open { display: block; }
body.menu-open { overflow: hidden; }

/* ---------- Glass ----------------------------------------- */
.kw-glass {
	position: absolute;
	background: var(--kw-glass);
	padding: 0 var(--kw-pad);
}

/* ---------- Hero ------------------------------------------ */
.kw-hero {
	height: 768px;
	overflow: hidden;
	scroll-margin-top: 0;
}
.kw-hero :is(.rb-block-image, .rb-block-image),
.kw-hero figure {
	position: absolute;
	inset: 0;
	margin: 0;
	width: 100%;
	height: 768px;
}
.kw-hero img {
	width: 100%;
	height: 768px;
	object-fit: cover;
	max-width: none;
}
.kw-hero__copy {
	position: absolute;
	left: var(--kw-gutter);
	top: 495px;
	z-index: 2;
}
.kw-hero__copy .kw-body { margin-top: 16.2px; }
.kw-hero__btn {
	position: absolute;
	left: 623px;
	top: 576px;
	z-index: 2;
}

/* ---------- 20 Jahre split -------------------------------- */
.kw-split {
	height: 484px;
	margin-top: 200px;
	scroll-margin-top: 40px;
}
.kw-split .kw-container { height: 100%; }
.kw-split :is(.rb-block-image, .rb-block-image).kw-split__photo,
.kw-split figure.kw-split__photo {
	position: absolute;
	left: 0;
	top: 0;
	width: 686px;
	height: 484px;
	margin: 0;
}
.kw-split .kw-split__photo img {
	width: 686px;
	height: 484px;
	max-width: none;
	object-fit: cover;
}
.kw-split__panel {
	left: 593px;
	top: 34px;
	width: 613px;
	height: 416px;
	padding-top: 55.15px;
}
.kw-split__panel .kw-h1 { margin-bottom: 3.65px; }
.kw-split__panel .kw-h3 { margin-bottom: 12.4px; }
.kw-split__panel .kw-link { margin-top: 44.3px; }

/* ---------- Intro ----------------------------------------- */
.kw-intro {
	width: min(var(--kw-container), calc(100% - 48px));
	margin: 194.3px auto 0;
	scroll-margin-top: 40px;
}
.kw-intro .kw-body { margin-top: 12.9px; }

/* ---------- Media cards ----------------------------------- */
.kw-media {
	scroll-margin-top: 40px;
}
.kw-media .kw-container { position: relative; }
.kw-media :is(.rb-block-image, .rb-block-image).kw-media__photo,
.kw-media figure.kw-media__photo {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	max-width: var(--kw-container);
	height: 522px;
	margin: 0;
}
.kw-media .kw-media__photo img {
	width: 100%;
	height: 522px;
	object-fit: cover;
	max-width: none;
}
.kw-media--alltag { height: 1003px; margin-top: 80.8px; }
.kw-media--alltag .kw-media__card {
	left: 74px;
	top: 440px;
	width: 1078px;
	height: 563px;
	padding-top: 58.8px;
}
.kw-media--architektur { height: 1025px; margin-top: 80px; }
.kw-media--architektur .kw-media__card {
	left: 64px;
	top: 440px;
	width: 1078px;
	height: 585px;
	padding-top: 58.8px;
}
.kw-media__card .kw-h3 { margin-bottom: 12.4px; }

.kw-ruleblock {
	margin-top: 64.8px;
	height: 56px;
	display: flex;
	align-items: stretch;
	gap: 48px;
}
.kw-ruleblock__line {
	flex: 1;
	border-bottom: 1px solid var(--kw-rule);
}

.kw-brands {
	margin-top: 88px;
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.kw-brands__row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--kw-pad);
}
.kw-brands :is(.rb-block-image, .rb-block-image),
.kw-brands figure {
	margin: 0;
	flex: none;
}
.kw-brands__logo { flex: none; }
.kw-brands__logo--vector { opacity: .4; }

/* ---------- Showroom -------------------------------------- */
.kw-showroom {
	height: 1037px;
	margin-top: 122px;
	scroll-margin-top: 40px;
}
.kw-showroom .kw-container { height: 100%; }
.kw-showroom :is(.rb-block-image, .rb-block-image).kw-showroom__photo,
.kw-showroom figure.kw-showroom__photo {
	position: absolute;
	left: 550px;
	top: 0;
	width: 656px;
	height: 516px;
	margin: 0;
}
.kw-showroom .kw-showroom__photo img {
	width: 656px;
	height: 516px;
	max-width: none;
	object-fit: cover;
}
.kw-showroom__panel {
	left: 0;
	top: 64px;
	width: 692px;
	height: 973px;
	padding-top: 68.5px;
}
.kw-showroom__panel .kw-eyebrow { margin-bottom: 12.3px; }
.kw-showroom__panel .kw-h3 { margin-bottom: 28.4px; }
.kw-showroom__panel .kw-body + .kw-body { margin-top: 32px; }
.kw-showroom__panel .kw-btn,
.kw-showroom__panel :is(.rb-block-buttons, .rb-block-buttons) { margin-top: 64.8px; }
.kw-showroom__rule {
	margin-top: 80px;
	width: 564px;
	height: 1px;
	background: var(--kw-rule);
}
.kw-showroom :is(.rb-block-image, .rb-block-image).kw-showroom__map,
.kw-showroom figure.kw-showroom__map {
	position: absolute;
	left: 657px;
	top: 636px;
	width: 549px;
	height: 349px;
	margin: 0;
}
.kw-showroom .kw-showroom__map img {
	width: 549px;
	height: 349px;
	max-width: none;
	object-fit: cover;
}

/* ---------- Contact --------------------------------------- */
.kw-contact { display: grid; row-gap: 53.42px; }
.kw-contact--2col {
	margin-top: 67.9px;
	grid-template-columns: repeat(2, minmax(0, 266px));
	column-gap: 32px;
}
.kw-contact--4col { grid-template-columns: 288.5px 233.5px 199px auto; }
.kw-contact__icon { display: flex; align-items: center; height: 24px; }
.kw-contact__item .kw-label { margin-top: 16px; }
.kw-contact__item .kw-body { margin-top: 18px; }
.kw-contact__item :is(.rb-block-image, .rb-block-image) { margin: 0; height: 24px; }
.kw-icon--pin, .kw-icon--pin img { width: 19.87px; height: 24.1px; margin-left: 7.5px; }
.kw-icon--clock, .kw-icon--clock img { width: 21.34px; height: 21.34px; margin-left: 4.3px; }
.kw-icon--phone, .kw-icon--phone img { width: 21.34px; height: 21.34px; margin-left: 4.8px; }
.kw-icon--mail, .kw-icon--mail img { width: 23.76px; height: 18.67px; margin-left: 4.6px; }

/* ---------- Testimonials ---------------------------------- */
.kw-quotes {
	height: 667px;
	margin-top: 146px;
	scroll-margin-top: 40px;
}
.kw-quotes .kw-container { height: 100%; }
.kw-quotes :is(.rb-block-image, .rb-block-image).kw-quotes__mark,
.kw-quotes figure.kw-quotes__mark {
	position: absolute;
	left: 366px;
	top: 147px;
	width: 343px;
	height: 265px;
	margin: 0;
}
.kw-quotes .kw-quotes__mark img { width: 343px; height: 265px; max-width: none; }
.kw-quotes__head {
	position: absolute;
	left: 124px;
	top: 204.5px;
}
.kw-quotes__head .kw-h2 { margin-top: 12.3px; }
.kw-dots {
	position: absolute;
	left: 123.5px;
	top: 446px;
	display: flex;
	gap: 8px;
}
.kw-dots__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--kw-dot);
}
.kw-dots__dot.is-active { background: var(--kw-gold); }
.kw-quotes__body {
	position: absolute;
	left: 578px;
	top: 280.55px;
}
.kw-quotes :is(.rb-block-quote, .rb-block-quote) {
	margin: 0;
	padding: 0;
	border: 0;
	quotes: none;
}
.kw-quotes__meta {
	position: absolute;
	left: 578px;
	top: 436px;
	height: 30px;
	display: flex;
	align-items: center;
	gap: 25px;
}
.kw-quotes__sep {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--kw-gold);
}
.kw-stars { display: flex; gap: 17.8px; }
.kw-stars img,
.kw-stars :is(.rb-block-image, .rb-block-image) img {
	width: 24.21px;
	height: 24.22px;
	max-width: none;
}

/* ---------- Closing CTA ----------------------------------- */
.kw-cta {
	height: 768px;
	overflow: hidden;
	scroll-margin-top: 0;
}
.kw-cta :is(.rb-block-image, .rb-block-image).kw-cta__photo,
.kw-cta figure.kw-cta__photo {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 768px;
	margin: 0;
}
.kw-cta .kw-cta__photo img {
	width: 100%;
	height: 768px;
	object-fit: cover;
	max-width: none;
}
.kw-cta .kw-container { height: 100%; }
.kw-cta__h2 {
	position: absolute;
	left: 0;
	top: 598.8px;
	z-index: 2;
}
.kw-cta__body {
	position: absolute;
	left: 0;
	top: 655.2px;
	z-index: 2;
}
.kw-cta__btn {
	position: absolute;
	left: 880px;
	top: 632px;
	z-index: 2;
}

/* ---------- Footer ---------------------------------------- */
.kw-footer {
	height: 544px;
	background: #000;
}
.kw-footer .kw-container { height: 100%; }
.kw-footer__logo {
	position: absolute;
	left: 0;
	top: 80px;
	display: block;
	width: 270px;
	height: 56px;
}
.kw-footer__logo img { width: 270px; height: 56px; }
.kw-footer__nav {
	position: absolute;
	right: 0;
	top: 109.1px;
	display: flex;
	gap: 80px;
}
.kw-footer__nav .kw-nav-link { font-size: 14px; line-height: 20px; letter-spacing: .02em; }
.kw-footer__nav .kw-nav-link:hover { color: var(--kw-gold); }
.kw-footer__body {
	position: absolute;
	left: 0;
	top: 216px;
	display: flex;
	width: 100%;
}
.kw-footer__badge { width: 210.5px; flex: none; }
.kw-footer__badge img { width: 103px; height: 103px; margin-left: 22.5px; }
.kw-footer__badge p { margin-top: 28.5px; color: var(--kw-gold-text); }
.kw-footer .kw-contact__item .kw-body,
.kw-footer .kw-contact__item a { color: var(--kw-ink-light); }
.kw-footer__rule {
	position: absolute;
	left: 0;
	top: 455px;
	width: 100%;
	height: 1px;
	background: var(--kw-rule-dark);
}
.kw-footer__legal { position: absolute; left: 0; top: 491.8px; }
.kw-footer__social {
	position: absolute;
	left: 680px;
	top: 488px;
	display: flex;
	gap: 32px;
}
.kw-footer__social span { display: block; width: 24px; height: 24px; }
.kw-footer__social img { width: 24px; height: 24px; }
.kw-footer__terms {
	position: absolute;
	right: 0;
	top: 490.1px;
	font-family: var(--kw-display);
	font-size: 14px;
	line-height: 20px;
	letter-spacing: .056em;
	color: var(--kw-ink-light);
}
.kw-footer__terms:hover { color: var(--kw-gold); }

/* ---------- Inner pages ----------------------------------- */
body:not(.home) .site-main {
	padding: 64px 24px 120px;
	max-width: var(--kw-container);
	margin: 0 auto;
}
body:not(.home) .entry-content { max-width: 760px; }
body:not(.home) .entry-content h1 {
	font-family: var(--kw-display);
	font-size: clamp(32px, 4vw, 38px);
	letter-spacing: .068em;
	margin-bottom: 24px;
}

/* ---------- Forms ----------------------------------------- */
.repraesent-lead-form { max-width: 520px; }
.repraesent-lead-form p { margin-bottom: 1rem; }
.repraesent-lead-form input,
.repraesent-lead-form textarea {
	width: 100%;
	padding: 0.625rem 0.75rem;
	border: 1px solid var(--kw-rule);
	font: inherit;
}
.repraesent-lead-form button[type="submit"] {
	background: var(--kw-gold);
	color: #000;
	border: 0;
	height: 56px;
	padding: 0 1.5rem;
	font-family: var(--kw-display);
	letter-spacing: .112em;
	cursor: pointer;
}
.repraesent-response-output { margin-top: 1rem; padding: 0.75rem; }
.repraesent-response-output.success { background: #f0fff4; color: #276749; }
.repraesent-response-output.error { background: #fff5f5; color: #c53030; }

/* ---------- Accessibility --------------------------------- */
:focus-visible {
	outline: 2px solid var(--kw-gold);
	outline-offset: 2px;
}

.cl-not-found { padding-block: 4rem; text-align: center; }
.cl-wrap {
	max-width: var(--kw-container);
	margin-inline: auto;
	padding-inline: 24px;
}
.search-result { padding-block: 1.5rem; border-bottom: 1px solid var(--kw-rule); }

/* ---------- Desktop optical nowrap (comp line breaks) ----- */
@media (min-width: 1200px) {
	.kw-h1, .kw-h2, .kw-h3, .kw-body, .kw-eyebrow, .kw-label, .kw-quote,
	.kw-nav-link, .kw-btn, .kw-link, .kw-meta, .kw-legal { white-space: nowrap; }
	.kw-hero__copy .kw-h1,
	.kw-cta__h2,
	.kw-cta__body,
	.kw-body--sm { white-space: normal; }
}

/* ---------- Tablet / mobile ------------------------------- */
@media (max-width: 1100px) {
	.kw-header { padding: 0 24px; }
	.kw-header__nav--left { gap: 28px; }
	.kw-header__nav--right { gap: 20px; }
	.kw-header__nav--right nav { gap: 20px; }
	.kw-mega { display: none !important; }
	.kw-hero__btn { left: auto; right: 40px; }
	.kw-cta__btn { left: auto; right: 24px; }
	.kw-media--alltag .kw-media__card,
	.kw-media--architektur .kw-media__card {
		left: 24px;
		width: calc(100% - 48px);
	}
	.kw-split__panel { left: 40%; width: 58%; }
	.kw-showroom { height: auto; min-height: 0; padding-bottom: 48px; }
	.kw-showroom__panel {
		position: relative;
		left: auto;
		top: auto;
		width: 100%;
		height: auto;
		padding: 48px 32px;
		margin-top: 24px;
	}
	.kw-showroom :is(.rb-block-image, .rb-block-image).kw-showroom__photo,
	.kw-showroom figure.kw-showroom__photo,
	.kw-showroom :is(.rb-block-image, .rb-block-image).kw-showroom__map,
	.kw-showroom figure.kw-showroom__map {
		position: relative;
		left: auto;
		top: auto;
		width: 100%;
		height: auto;
		margin: 24px 0 0;
	}
	.kw-showroom .kw-showroom__photo img,
	.kw-showroom .kw-showroom__map img {
		width: 100%;
		height: auto;
		max-width: 100%;
	}
	.kw-footer { height: auto; padding: 64px 0 32px; }
	.kw-footer__logo, .kw-footer__nav, .kw-footer__body,
	.kw-footer__rule, .kw-footer__legal, .kw-footer__social, .kw-footer__terms {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
	}
	.kw-footer__nav { flex-wrap: wrap; gap: 24px; margin: 32px 0; }
	.kw-footer__body { flex-direction: column; gap: 40px; }
	.kw-contact--4col { grid-template-columns: 1fr 1fr; gap: 32px; }
	.kw-footer__rule { margin: 32px 0 16px; }
	.kw-footer__social { margin: 16px 0; }
}

@media (max-width: 968px) {
	.kw-header__nav, .kw-header__nav--right { display: none; }
	.kw-hamburger { display: flex; }
	.kw-mobile-nav { display: flex; }
	.kw-header__logo { left: 24px; transform: none; }
	.kw-hero, .kw-cta { height: auto; min-height: 100vw; }
	.kw-hero :is(.rb-block-image, .rb-block-image),
	.kw-hero figure,
	.kw-cta :is(.rb-block-image, .rb-block-image).kw-cta__photo,
	.kw-cta figure.kw-cta__photo {
		position: relative;
		height: auto;
	}
	.kw-hero img, .kw-cta .kw-cta__photo img {
		height: min(70vh, 560px);
		width: 100%;
	}
	.kw-hero__copy, .kw-hero__btn,
	.kw-cta__h2, .kw-cta__body, .kw-cta__btn {
		position: relative;
		left: auto;
		top: auto;
		display: block;
		margin: 24px;
	}
	.kw-hero__copy { margin-top: -180px; }
	.kw-split {
		height: auto;
		margin-top: 80px;
	}
	.kw-split :is(.rb-block-image, .rb-block-image).kw-split__photo,
	.kw-split figure.kw-split__photo {
		position: relative;
		width: 100%;
		height: auto;
	}
	.kw-split .kw-split__photo img {
		width: 100%;
		height: auto;
		max-width: 100%;
	}
	.kw-split__panel {
		position: relative;
		left: auto;
		top: auto;
		width: 100%;
		height: auto;
		padding: 40px 24px;
		margin-top: -48px;
	}
	.kw-intro { margin-top: 80px; }
	.kw-media--alltag, .kw-media--architektur {
		height: auto;
		margin-top: 48px;
	}
	.kw-media :is(.rb-block-image, .rb-block-image).kw-media__photo,
	.kw-media figure.kw-media__photo {
		position: relative;
		height: auto;
	}
	.kw-media .kw-media__photo img {
		height: auto;
		width: 100%;
		max-width: 100%;
	}
	.kw-media__card {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		height: auto !important;
		padding: 40px 24px !important;
		margin-top: -48px;
	}
	.kw-ruleblock { flex-direction: column; height: auto; gap: 24px; }
	.kw-quotes {
		height: auto;
		padding: 80px 0;
		margin-top: 64px;
	}
	.kw-quotes :is(.rb-block-image, .rb-block-image).kw-quotes__mark,
	.kw-quotes figure.kw-quotes__mark {
		position: relative;
		left: auto;
		top: auto;
		width: 160px;
		height: auto;
		margin: 0 auto 24px;
		opacity: 0.35;
	}
	.kw-quotes .kw-quotes__mark img { width: 160px; height: auto; }
	.kw-quotes__head, .kw-dots, .kw-quotes__body, .kw-quotes__meta {
		position: relative;
		left: auto;
		top: auto;
		margin: 16px 0;
	}
	.kw-btn--w192, .kw-btn--w266, .kw-btn--w314, .kw-btn--w326, .kw-btn--w444 {
		width: 100%;
		max-width: 100%;
	}
	.kw-contact--2col { grid-template-columns: 1fr; }
	.kw-showroom__rule { width: 100%; }
}

@media (max-width: 640px) {
	.kw-contact--4col { grid-template-columns: 1fr; }
	.kw-brands__row { gap: 24px; }
}
