/*
Theme Name: Küchen & Bad Studio
Theme URI: https://www.kuechen-und-bad.de/
Description: Childtheme für Küche, Bad, Hygiene und private Wellnessbereiche.
Author: TBS Multimedia
Template: tbs-affiliate-neon
Version: 1.1.0
Text Domain: kuechen-bad-studio
*/

:root {
	--kb-ink: #18302f;
	--kb-petrol: #176b69;
	--kb-mint: #dff3ed;
	--kb-sand: #f4e6d2;
	--kb-coral: #c8644c;
	--kb-paper: #fffdf9;
}

body { background: var(--kb-paper); color: var(--kb-ink); }
.kb-home { max-width: 1680px; margin: auto; padding: 0 clamp(1rem,3vw,2.5rem) 3rem; }
.kb-hero { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(1.5rem,4vw,4rem); align-items:center; margin:1.5rem 0 2.5rem; padding:clamp(1.5rem,5vw,4.5rem); border-radius:30px; background:linear-gradient(135deg,var(--kb-mint),var(--kb-sand)); overflow:hidden; }
.kb-kicker { color:var(--kb-petrol); font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.kb-hero h1 { margin:.6rem 0 1rem; font-size:clamp(2.5rem,6vw,5.4rem); line-height:1; letter-spacing:-.05em; }
.kb-hero h1 span { color:var(--kb-coral); }
.kb-hero p { max-width:46rem; font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.7; }
.kb-hero__visual { min-height:340px; border-radius:24px; background:radial-gradient(circle at 30% 30%,#fff 0 8%,transparent 9%),linear-gradient(145deg,#267d78,#123d3b); position:relative; box-shadow:0 24px 60px rgba(24,48,47,.2); }
.kb-hero__visual::before { content:""; position:absolute; inset:12% 10%; border:18px solid rgba(255,255,255,.84); border-top-width:55px; border-radius:40% 40% 12% 12%; }
.kb-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.5rem; }
.kb-button { display:inline-flex; padding:.85rem 1.25rem; border-radius:999px; background:var(--kb-petrol); color:#fff!important; font-weight:800; text-decoration:none!important; }
.kb-button--light { background:#fff; color:var(--kb-ink)!important; }
.kb-section { margin:2.5rem 0; }
.kb-section h2 { font-size:clamp(1.8rem,3vw,2.8rem); }
.kb-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.kb-card { padding:1.4rem; border:1px solid #cfe1dc; border-radius:20px; background:#fff; box-shadow:0 12px 35px rgba(24,48,47,.07); }
.kb-card h3 { color:var(--kb-petrol); }
.kb-products ul.products { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1.2rem; }
.kb-products ul.products::before,.kb-products ul.products::after { display:none!important; }
.kb-products ul.products li.product { float:none!important; width:auto!important; margin:0!important; }
.kb-products li.product img { aspect-ratio:4/3; object-fit:contain; background:#fff; }
.kb-products li.product { display:flex!important; flex-direction:column; padding:1rem!important; border:1px solid #d8e5e1; border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(24,48,47,.07); }
.kb-products li.product .woocommerce-LoopProduct-link { display:flex!important; flex:1; flex-direction:column; }
.kb-products li.product .woocommerce-loop-product__title { min-height:4.8em; color:var(--kb-ink); line-height:1.35; }
.kb-products li.product .price { min-height:2.2rem; margin-top:auto!important; color:var(--kb-coral)!important; font-weight:900!important; }
.kb-products li.product .button { width:100%; margin-top:.8rem!important; border-radius:999px!important; text-align:center; }
.kb-planning { display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; padding:clamp(1.3rem,4vw,3rem); border-radius:24px; background:var(--kb-ink); color:#fff; }
.kb-planning h2 { margin-top:.25rem; color:#fff; }
.kb-checks { display:grid; gap:.75rem; align-content:center; margin:0; padding:0; list-style:none; }
.kb-checks li { padding:.85rem 1rem .85rem 2.6rem; border:1px solid rgba(255,255,255,.18); border-radius:14px; background:rgba(255,255,255,.08); position:relative; }
.kb-checks li::before { content:"✓"; position:absolute; left:1rem; color:#9ce2cf; font-weight:900; }
.kb-affiliate-notice { margin:1.2rem 0 0; padding:1rem 1.2rem; border-left:4px solid var(--kb-coral); background:#fff7ed; color:#54392f; font-size:.92rem; line-height:1.6; }
.kb-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.kb-guide-card { overflow:hidden; border:1px solid #d8e5e1; border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(24,48,47,.07); }
.kb-guide-card__image { display:block; background:var(--kb-mint); }
.kb-guide-card__image img,.kb-guide-card__placeholder { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.kb-guide-card__placeholder { background:linear-gradient(135deg,var(--kb-mint),var(--kb-sand)); }
.kb-guide-card__body { padding:1.15rem; }
.kb-guide-card__body h3 { margin:.25rem 0 .65rem; font-size:1.15rem; line-height:1.35; }
.kb-guide-card__body h3 a { color:var(--kb-ink); text-decoration:none; }
.kb-guide-card__date { margin:0; color:var(--kb-petrol); font-size:.78rem; font-weight:800; text-transform:uppercase; }

/* Product pages: preserve the complete source image and prevent oversized media. */
.single-product div.product .woocommerce-product-gallery {
	max-width: 680px;
}
.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery__image {
	background: #fff;
	border-radius: 20px;
}
.single-product div.product .woocommerce-product-gallery__image a {
	display: grid;
	min-height: clamp(300px, 48vw, 640px);
	place-items: center;
	padding: clamp(.75rem, 2vw, 1.5rem);
}
.single-product div.product .woocommerce-product-gallery__image img,
.single-product div.product .tbs-product-image img,
.single-product div.product .wp-post-image {
	display: block;
	width: 100% !important;
	max-width: 640px !important;
	height: auto !important;
	max-height: 640px !important;
	margin-inline: auto;
	object-fit: contain !important;
}
.single-product div.product .flex-control-thumbs img {
	aspect-ratio: 1;
	object-fit: contain;
	background: #fff;
}
@media (max-width:1200px){.kb-products ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.kb-hero{grid-template-columns:1fr}.kb-grid,.kb-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.kb-planning{grid-template-columns:1fr}.kb-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.kb-grid,.kb-products ul.products,.kb-guide-grid{grid-template-columns:1fr}}

/* Resilient header styling for product pages and slow cache responses. */
.site-header { background:linear-gradient(90deg,#071426,#111933); border-bottom:2px solid #28d7e5; padding:1rem 0; position:sticky; top:0; z-index:1000; }
.site-header-content { max-width:1400px; margin:0 auto; padding:0 1.25rem; display:flex; justify-content:space-between; align-items:center; gap:1.25rem; }
.site-logo a { display:flex; flex-direction:column; color:#28d7e5; font-size:1.65rem; font-weight:900; text-decoration:none; }
.site-nav ul { display:flex; flex-wrap:wrap; gap:1.25rem; margin:0; padding:0; list-style:none; }
.site-nav a { color:#28d7e5; font-weight:700; text-decoration:none; }
.menu-toggle { display:none; }

/* Accessible rotating hero. */
.kb-hero-slider { position:relative; margin:1.5rem 0 2.5rem; overflow:hidden; border-radius:30px; background:#18302f; box-shadow:0 24px 60px rgba(24,48,47,.18); }
.kb-hero-slider__track { position:relative; min-height:clamp(460px,62vw,720px); }
.kb-hero-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .7s ease; }
.kb-hero-slide.is-active { opacity:1; visibility:visible; z-index:1; }
.kb-hero-slide img { width:100%; height:100%; min-height:clamp(460px,62vw,720px); object-fit:cover; }
.kb-hero-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,20,38,.9) 0%,rgba(7,20,38,.64) 42%,rgba(7,20,38,.08) 76%); }
.kb-hero-slide__overlay { position:absolute; z-index:2; left:clamp(1.4rem,5vw,4.5rem); top:50%; width:min(580px,78%); transform:translateY(-50%); color:#fff; }
.kb-hero-slide__overlay h1,.kb-hero-slide__overlay h2 { margin:.45rem 0 .8rem; color:#fff; font-size:clamp(2.25rem,5vw,4.8rem); line-height:1.02; letter-spacing:-.045em; }
.kb-hero-slide__overlay > p:not(.kb-kicker) { max-width:48rem; font-size:clamp(1rem,1.6vw,1.22rem); line-height:1.65; }
.kb-hero-slider__controls { position:absolute; z-index:3; right:1.4rem; bottom:1.2rem; display:flex; gap:.55rem; }
.kb-hero-slider__controls button { width:12px; height:12px; padding:0; border:2px solid #fff; border-radius:50%; background:transparent; cursor:pointer; }
.kb-hero-slider__controls button.is-active { background:#fff; }
@media (prefers-reduced-motion:reduce){.kb-hero-slide{transition:none}}
@media(max-width:760px){.site-header-content{align-items:flex-start}.menu-toggle{display:block}.site-nav ul{gap:.7rem}.kb-hero-slide::after{background:linear-gradient(0deg,rgba(7,20,38,.92),rgba(7,20,38,.2))}.kb-hero-slide__overlay{top:auto;bottom:2.8rem;transform:none;width:calc(100% - 2.8rem)}}
