body.kkui-active {
	--kkui-green: #087a3e;
	--kkui-green-dark: #056431;
	--kkui-green-soft: #eef8f2;
	--kkui-ink: #102029;
	--kkui-muted: #68737c;
	--kkui-border: #e1e7e4;
	--kkui-surface: #ffffff;
	--kkui-shadow: 0 16px 44px rgba(16, 32, 41, .08);
	--kkui-radius: 18px;
}

body.kkui-active.single-product div.product {
	position: relative;
}

body.kkui-active.single-product div.product::after {
	content: "";
	display: block;
	clear: both;
}

body.kkui-active.single-product div.product .woocommerce-product-gallery,
body.kkui-active.single-product div.product .summary {
	box-sizing: border-box;
	border: 1px solid var(--kkui-border);
	border-radius: var(--kkui-radius);
	background: var(--kkui-surface);
	box-shadow: var(--kkui-shadow);
}

body.kkui-active.single-product div.product .woocommerce-product-gallery {
	padding: clamp(15px, 2vw, 24px);
	overflow: hidden;
}

body.kkui-active.single-product .woocommerce-product-gallery__wrapper {
	margin: 0;
}

body.kkui-active.single-product .woocommerce-product-gallery__image {
	border-radius: 13px;
	overflow: hidden;
}

body.kkui-active.single-product .woocommerce-product-gallery__image a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: min(520px, 48vw);
	background: #fff;
}

body.kkui-active.single-product .woocommerce-product-gallery__image img {
	object-fit: contain;
	mix-blend-mode: multiply;
}

body.kkui-active.single-product .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 9px;
	margin: 16px 0 0 !important;
	padding: 0 !important;
}

body.kkui-active.single-product .flex-control-thumbs li {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}

body.kkui-active.single-product .flex-control-thumbs img {
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 1;
	padding: 5px;
	border: 1px solid var(--kkui-border);
	border-radius: 9px;
	background: #fff;
	object-fit: contain;
	opacity: .78;
	transition: border-color .15s ease, opacity .15s ease, transform .15s ease;
}

body.kkui-active.single-product .flex-control-thumbs img:hover,
body.kkui-active.single-product .flex-control-thumbs img.flex-active {
	border-color: var(--kkui-green);
	opacity: 1;
	transform: translateY(-1px);
}

body.kkui-active.single-product .woocommerce-product-gallery__trigger {
	top: 18px !important;
	right: 18px !important;
	width: 42px !important;
	height: 42px !important;
	border: 1px solid var(--kkui-border);
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: 0 7px 20px rgba(16,32,41,.09);
}

body.kkui-active.single-product div.product .summary {
	padding: clamp(22px, 3vw, 36px);
}

body.kkui-active.single-product div.product .summary .product_title {
	margin: 0 0 10px;
	color: var(--kkui-ink);
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 850;
	line-height: 1.1;
	letter-spacing: -.035em;
}

body.kkui-active.single-product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 7px !important;
}

body.kkui-active.single-product .woocommerce-review-link {
	color: var(--kkui-muted);
	font-size: 13px;
	font-weight: 650;
}

body.kkui-active.single-product .kkui-micro-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px 14px;
	margin: 4px 0 15px;
	color: var(--kkui-muted);
	font-size: 13px;
}

body.kkui-active .kkui-sku {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
body.kkui-active .kkui-sku svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
body.kkui-active .kkui-tax-note { padding-left: 14px; border-left: 1px solid var(--kkui-border); }

body.kkui-active.single-product div.product .summary .price {
	margin: 13px 0 4px;
	color: var(--kkui-ink);
	font-size: clamp(28px, 2.8vw, 38px);
	font-weight: 850;
	letter-spacing: -.03em;
}
body.kkui-active.single-product .summary .price del { color: #939ca3; font-size: .58em; font-weight: 600; }
body.kkui-active.single-product .summary .price ins { color: var(--kkui-green); text-decoration: none; }

body.kkui-active.single-product div.product p.stock {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 13px 0 17px;
	padding: 8px 12px;
	border-radius: 999px;
	background: var(--kkui-green-soft);
	color: var(--kkui-green-dark);
	font-size: 13px;
	font-weight: 800;
}
body.kkui-active.single-product div.product p.stock::before { content: "✓"; font-size: 15px; }
body.kkui-active.single-product div.product p.stock.out-of-stock { background: #fff0ef; color: #b42318; }
body.kkui-active.single-product div.product p.stock.out-of-stock::before { content: "×"; }

body.kkui-active.single-product .woocommerce-product-details__short-description {
	margin: 4px 0 21px;
	color: #4e5c65;
	font-size: 15px;
	line-height: 1.7;
}
body.kkui-active.single-product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

body.kkui-active.single-product div.product table.variations {
	margin: 0 0 15px;
	border: 0;
}
body.kkui-active.single-product div.product table.variations tr { display: grid; grid-template-columns: 1fr; gap: 6px; margin-bottom: 12px; }
body.kkui-active.single-product div.product table.variations th,
body.kkui-active.single-product div.product table.variations td { display: block; padding: 0; border: 0; text-align: left; }
body.kkui-active.single-product div.product table.variations label { color: var(--kkui-ink); font-size: 13px; font-weight: 800; }
body.kkui-active.single-product div.product table.variations select {
	width: 100%;
	min-height: 50px;
	padding: 0 42px 0 14px;
	border: 1px solid #cfd8d3;
	border-radius: 10px;
	background-color: #fff;
	color: var(--kkui-ink);
	font-size: 14px;
	font-weight: 650;
}
body.kkui-active.single-product .reset_variations { display: inline-block; margin-top: 6px; color: var(--kkui-green); font-size: 12px; font-weight: 700; }

body.kkui-active.single-product div.product form.cart {
	margin: 18px 0 0;
}
body.kkui-active.single-product div.product form.cart:not(.variations_form),
body.kkui-active.single-product .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: stretch;
	gap: 12px;
	flex-wrap: wrap;
}

body.kkui-active.single-product form.cart .quantity {
	display: inline-grid;
	grid-template-columns: 42px 48px 42px;
	align-items: stretch;
	min-height: 54px;
	margin: 0 !important;
	border: 1px solid #cfd8d3;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
body.kkui-active.single-product form.cart .quantity input.qty {
	width: 48px !important;
	min-height: 52px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #fff !important;
	color: var(--kkui-ink);
	font-size: 16px;
	font-weight: 800;
	-moz-appearance: textfield;
}
body.kkui-active.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
body.kkui-active.single-product form.cart .quantity input.qty::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
body.kkui-active .kkui-qty-btn {
	padding: 0;
	border: 0;
	background: #f6f8f7;
	color: var(--kkui-ink);
	font-size: 21px;
	font-weight: 500;
	cursor: pointer;
}
body.kkui-active .kkui-qty-btn:hover { background: var(--kkui-green-soft); color: var(--kkui-green); }

body.kkui-active.single-product div.product form.cart .single_add_to_cart_button {
	flex: 1 1 230px;
	min-height: 54px;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: linear-gradient(180deg, #0a8747 0%, var(--kkui-green) 100%) !important;
	box-shadow: 0 9px 21px rgba(8, 122, 62, .24) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 850 !important;
	letter-spacing: .025em;
	text-transform: uppercase;
	transition: transform .15s ease, box-shadow .15s ease;
}
body.kkui-active.single-product div.product form.cart .single_add_to_cart_button:hover { transform: translateY(-1px); box-shadow: 0 12px 25px rgba(8,122,62,.3) !important; }
body.kkui-active.single-product div.product form.cart .single_add_to_cart_button.disabled { opacity: .48; box-shadow: none !important; }

body.kkui-active .kkui-benefits {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--kkui-border);
}
body.kkui-active .kkui-benefit {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	padding: 10px;
	border-radius: 10px;
	background: #f5faf7;
	color: #33433c;
	font-size: 12.5px;
	font-weight: 750;
	line-height: 1.35;
}
body.kkui-active .kkui-benefit__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #e4f4ea;
	color: var(--kkui-green);
}
body.kkui-active .kkui-benefit__icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

body.kkui-active.single-product .product_meta { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--kkui-border); color: var(--kkui-muted); font-size: 12px; }
body.kkui-active.single-product .product_meta > span { display: block; margin: 4px 0; }
body.kkui-active.single-product .product_meta a { color: var(--kkui-green); }

body.kkui-active.single-product .woocommerce-tabs,
body.kkui-active.single-product .related.products,
body.kkui-active.single-product .up-sells.upsells.products {
	clear: both;
	margin-top: 32px;
}

body.kkui-active.kkui-admin-preview::before {
	content: "Kuningaskalastaja UI – ylläpitäjän esikatselu";
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 99999;
	padding: 9px 13px;
	border-radius: 999px;
	background: #102029;
	box-shadow: 0 6px 20px rgba(0,0,0,.22);
	color: #fff;
	font-size: 12px;
	font-weight: 750;
}

@media (max-width: 900px) {
	body.kkui-active.single-product .woocommerce-product-gallery__image a { min-height: 420px; }
	body.kkui-active .kkui-benefits { grid-template-columns: 1fr; }
}

@media (max-width: 782px) {
	body.kkui-active.single-product div.product .woocommerce-product-gallery,
	body.kkui-active.single-product div.product .summary { width: 100% !important; float: none !important; }
	body.kkui-active.single-product div.product .summary { margin-top: 15px; padding: 21px 17px; }
	body.kkui-active.single-product .woocommerce-product-gallery__image a { min-height: 330px; }
	body.kkui-active.single-product .flex-control-thumbs { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 7px; }
	body.kkui-active.single-product div.product .summary .product_title { font-size: 29px; }
	body.kkui-active.single-product div.product form.cart .single_add_to_cart_button { width: 100%; flex-basis: 100%; }
	body.kkui-active.single-product form.cart .quantity { width: 100%; grid-template-columns: 1fr 54px 1fr; }
	body.kkui-active.kkui-admin-preview::before { right: 10px; bottom: 10px; max-width: calc(100vw - 20px); }
}

/* 0.2.0: full-width, compact product top */
body.kkui-active .site-main,
body.kkui-active #primary,
body.kkui-active .content-area,
body.kkui-active .container,
body.kkui-active .site-content > .col-full,
body.kkui-active main.site-main { max-width: 1540px !important; width: min(96vw,1540px) !important; margin-left:auto!important; margin-right:auto!important; }
body.kkui-active div.product { width:100%!important; max-width:none!important; display:grid!important; grid-template-columns:minmax(0,1fr) minmax(420px,.95fr)!important; column-gap:clamp(28px,4vw,72px)!important; align-items:start!important; }
body.kkui-active div.product .woocommerce-product-gallery,
body.kkui-active div.product .summary { width:100%!important; float:none!important; margin:0!important; min-width:0!important; }
body.kkui-active div.product .summary { padding:28px 30px!important; }
body.kkui-active div.product .summary h1.product_title { margin:0 0 6px!important; font-size:clamp(26px,2.2vw,42px)!important; line-height:1.12!important; }
body.kkui-active div.product .summary .price { margin:4px 0 10px!important; }
body.kkui-active div.product .summary .woocommerce-product-details__short-description { margin:10px 0 14px!important; }
body.kkui-active .kkui-micro-meta { margin:4px 0 10px!important; }
body.kkui-active form.cart { margin:14px 0 0!important; }
body.kkui-active form.cart .quantity { display:grid!important; grid-template-columns:44px 52px 44px!important; height:56px!important; visibility:visible!important; opacity:1!important; }
body.kkui-active form.cart .quantity input.qty { display:block!important; visibility:visible!important; opacity:1!important; width:52px!important; min-width:52px!important; color:#111827!important; background:#fff!important; text-align:center!important; border:0!important; appearance:textfield!important; }
body.kkui-active .kkui-benefits { margin-top:16px!important; }
body.kkui-active .kk-upsell-box { grid-column:1/-1!important; width:100%!important; max-width:none!important; margin:28px 0 0!important; }
body.kkui-active div.product > .kk-upsell-box { grid-column:1/-1!important; }
@media (max-width: 900px){
 body.kkui-active div.product { display:block!important; }
 body.kkui-active div.product .summary { margin-top:18px!important; padding:22px 18px!important; }
 body.kkui-active .kk-upsell-products { grid-template-columns:1fr!important; }
}

/* Variation availability colors, works with native selects and most swatch plugins */
body.kkui-active .kkui-stock-available { border-color:#18a957!important; box-shadow:0 0 0 1px #18a957 inset!important; }
body.kkui-active .kkui-stock-low { border-color:#e5a400!important; box-shadow:0 0 0 1px #e5a400 inset!important; }
body.kkui-active .kkui-stock-out { border-color:#dc3545!important; opacity:.48!important; position:relative!important; }
body.kkui-active .kkui-stock-out:after { content:'×'; position:absolute; inset:0; display:grid; place-items:center; color:#dc3545; font-size:32px; font-weight:300; pointer-events:none; }
body.kkui-active select option.kkui-stock-available{color:#087d3f} body.kkui-active select option.kkui-stock-low{color:#9a6b00} body.kkui-active select option.kkui-stock-out{color:#b42318}

/* 0.2.1 layout isolation: style only the actual main product container. */
body.kkui-active.single-product div.product:not(.kkui-product-root) {
	display: block !important;
	width: auto !important;
	max-width: none !important;
}

body.kkui-active.single-product .kkui-product-root {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr) !important;
	gap: clamp(24px, 3vw, 54px) !important;
	align-items: start !important;
	width: 100% !important;
	max-width: none !important;
}

body.kkui-active.single-product .kkui-product-root > .woocommerce-product-gallery,
body.kkui-active.single-product .kkui-product-root > .summary {
	grid-column: auto !important;
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
}

body.kkui-active.single-product .kkui-product-root > .kkui-full-row,
body.kkui-active.single-product .kkui-product-root > .woocommerce-tabs,
body.kkui-active.single-product .kkui-product-root > .related,
body.kkui-active.single-product .kkui-product-root > .up-sells,
body.kkui-active.single-product .kkui-product-root > .kk-upsell-box {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	clear: both !important;
}

/* Do not widen every theme container; only widen the primary product content wrapper. */
body.kkui-active.single-product #primary,
body.kkui-active.single-product .content-area,
body.kkui-active.single-product main.site-main {
	width: min(96vw, 1540px) !important;
	max-width: 1540px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.kkui-active.single-product .kkui-product-root > .summary {
	padding: clamp(20px, 2.3vw, 30px) !important;
}

/* Availability borders for image/button swatches from common variation plugins. */
body.kkui-active .variations_form .kkui-stock-available {
	border-color: #16a34a !important;
	box-shadow: 0 0 0 2px rgba(22,163,74,.14) !important;
}
body.kkui-active .variations_form .kkui-stock-low {
	border-color: #e0a100 !important;
	box-shadow: 0 0 0 2px rgba(224,161,0,.16) !important;
}
body.kkui-active .variations_form .kkui-stock-out {
	border-color: #dc3545 !important;
	opacity: .46 !important;
}
body.kkui-active .variations_form li.kkui-stock-out,
body.kkui-active .variations_form .cfvsw-swatches-option.kkui-stock-out,
body.kkui-active .variations_form .variable-item.kkui-stock-out {
	position: relative !important;
}
body.kkui-active .variations_form li.kkui-stock-out::after,
body.kkui-active .variations_form .cfvsw-swatches-option.kkui-stock-out::after,
body.kkui-active .variations_form .variable-item.kkui-stock-out::after {
	content: "×";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: #dc3545;
	font-size: 30px;
	font-weight: 300;
	pointer-events: none;
}

@media (max-width: 900px) {
	body.kkui-active.single-product .kkui-product-root {
		display: block !important;
	}
	body.kkui-active.single-product .kkui-product-root > .summary {
		margin-top: 18px !important;
	}
	body.kkui-active.single-product .kkui-product-root > .kk-upsell-box {
		margin-top: 22px !important;
	}
}
\n\n/* 0.2.2: precise placement and variation availability rendering. */\nbody.kkui-active.single-product .kkui-product-root > .kk-upsell-box {\n\tgrid-column: 1 / -1 !important;\n\tmargin: 18px 0 0 !important;\n\torder: 3;\n}\nbody.kkui-active.single-product .kkui-product-root > .woocommerce-tabs,\nbody.kkui-active.single-product .kkui-product-root > .related,\nbody.kkui-active.single-product .kkui-product-root > .up-sells {\n\torder: 4;\n}\n\n/* Native dropdown text must stay neutral and readable. */\nbody.kkui-active select option,\nbody.kkui-active select option.kkui-stock-available,\nbody.kkui-active select option.kkui-stock-low,\nbody.kkui-active select option.kkui-stock-out {\n\tcolor: #111827 !important;\n\tbackground: #fff !important;\n\topacity: 1 !important;\n}\n\n/* Disable the old broad cross rule; only actual visual swatches get a cross. */\nbody.kkui-active .kkui-stock-out:not(.kkui-availability-swatch)::after {\n\tcontent: none !important;\n}\nbody.kkui-active .variations_form .kkui-availability-swatch {\n\tposition: relative !important;\n\toverflow: hidden !important;\n}\nbody.kkui-active .variations_form .kkui-availability-swatch.kkui-stock-out {\n\topacity: .58 !important;\n\tborder-color: #dc3545 !important;\n}\nbody.kkui-active .variations_form .kkui-availability-swatch.kkui-stock-out::before,\nbody.kkui-active .variations_form .kkui-availability-swatch.kkui-stock-out::after {\n\tcontent: "" !important;\n\tposition: absolute !important;\n\tleft: 8% !important;\n\ttop: 50% !important;\n\tz-index: 10 !important;\n\twidth: 84% !important;\n\theight: 1.5px !important;\n\tbackground: #ef4444 !important;\n\tborder: 0 !important;\n\tborder-radius: 2px !important;\n\ttransform-origin: center !important;\n\tpointer-events: none !important;\n}\nbody.kkui-active .variations_form .kkui-availability-swatch.kkui-stock-out::before { transform: rotate(45deg) !important; }\nbody.kkui-active .variations_form .kkui-availability-swatch.kkui-stock-out::after { transform: rotate(-45deg) !important; }\n\n@media (max-width: 900px) {\n\tbody.kkui-active.single-product .kkui-product-root > .kk-upsell-box { margin-top: 16px !important; }\n}\n

/* 0.2.3: Hide only the selected variation SKU/meta shown below the main product variation picker.
   Upsell cards are intentionally excluded from this selector. */
body.kkui-active.single-product .summary:not(.kk-upsell-product)
.single_variation_wrap .woocommerce-variation-meta,
body.kkui-active.single-product .summary:not(.kk-upsell-product)
.single_variation_wrap .woocommerce-variation-sku,
body.kkui-active.single-product .summary:not(.kk-upsell-product)
.single_variation_wrap .sku_wrapper {
	display: none !important;
}


/* 0.2.4: reliable add-on placement, legacy-block cleanup and swatch stock states. */
body.kkui-active.single-product .kk-upsell-box.kkui-upsell-positioned {
	clear: both !important;
	width: 100% !important;
	max-width: none !important;
	margin: 22px 0 28px !important;
}
body.kkui-active.single-product .kkui-product-root > .product_meta,
body.kkui-active.single-product .kkui-product-root > .summary .product_meta {
	display: none !important;
}
body.kkui-active .variations_form .kkui-availability-swatch {
	box-sizing: border-box !important;
	position: relative !important;
	overflow: hidden !important;
}
body.kkui-active .variations_form .kkui-availability-swatch[data-kkui-stock="available"] {
	border-color: #18a957 !important;
	box-shadow: 0 0 0 1px #18a957 inset !important;
	opacity: 1 !important;
}
body.kkui-active .variations_form .kkui-availability-swatch[data-kkui-stock="low"] {
	border-color: #e5a400 !important;
	box-shadow: 0 0 0 1px #e5a400 inset !important;
	opacity: 1 !important;
}
body.kkui-active .variations_form .kkui-availability-swatch[data-kkui-stock="out"] {
	border-color: #dc3545 !important;
	box-shadow: 0 0 0 1px #dc3545 inset !important;
	opacity: .5 !important;
}
body.kkui-active .variations_form .kkui-availability-swatch[data-kkui-stock="out"]::before,
body.kkui-active .variations_form .kkui-availability-swatch[data-kkui-stock="out"]::after {
	content: "" !important;
	position: absolute !important;
	z-index: 999 !important;
	left: 8% !important;
	top: calc(50% - 1px) !important;
	width: 84% !important;
	height: 2px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 2px !important;
	background: #ef4444 !important;
	pointer-events: none !important;
	transform-origin: center !important;
}
body.kkui-active .variations_form .kkui-availability-swatch[data-kkui-stock="out"]::before { transform: rotate(45deg) !important; }
body.kkui-active .variations_form .kkui-availability-swatch[data-kkui-stock="out"]::after { transform: rotate(-45deg) !important; }
@media (max-width: 900px) {
	body.kkui-active.single-product .kk-upsell-box.kkui-upsell-positioned { margin: 16px 0 22px !important; }
}


/* 0.2.5: unified swatch borders and stock status text */
body.kkui-active.single-product .kkui-availability-swatch,
body.kkui-active.single-product .kkui-stock-available,
body.kkui-active.single-product .kkui-stock-low,
body.kkui-active.single-product .kkui-stock-out {
	border-color: #18a957 !important;
	box-shadow: 0 0 0 1px #18a957 inset !important;
}
body.kkui-active.single-product .kkui-stock-available { color: #087a3e !important; }
body.kkui-active.single-product .kkui-stock-low { color: #b77900 !important; }
body.kkui-active.single-product .kkui-stock-out { color: #c62828 !important; }
body.kkui-active.single-product p.stock.kkui-selected-stock--available { color: #087a3e !important; background: #eef8f2 !important; }
body.kkui-active.single-product p.stock.kkui-selected-stock--low { color: #a15c00 !important; background: #fff7df !important; }
body.kkui-active.single-product p.stock.kkui-selected-stock--out { color: #b42318 !important; background: #fff0ef !important; }

/* Keep the upsell directly attached to the redesigned product top. */
body.kkui-active.single-product .kkui-product-root {
	margin-bottom: 0 !important;
}
body.kkui-active.single-product .kk-upsell-box.kkui-upsell-positioned {
	clear: both !important;
	margin-top: 0 !important;
	margin-bottom: 24px !important;
}
body.kkui-active.single-product .kkui-product-root + .kk-upsell-box {
	margin-top: 0 !important;
}


/* 0.2.6: refined swatches, persistent stock tone, fixed add-on position and click-only image enlargement. */
body.kkui-active .variations_form .kkui-availability-swatch {
	border: 1px solid #27a85b !important;
	box-shadow: none !important;
	opacity: 1 !important;
}
body.kkui-active .variations_form .kkui-availability-swatch:hover {
	border-color: #087a3e !important;
	box-shadow: 0 0 0 1px rgba(8,122,62,.12) !important;
}
body.kkui-active .variations_form .kkui-availability-swatch.selected,
body.kkui-active .variations_form .kkui-availability-swatch.active,
body.kkui-active .variations_form .kkui-availability-swatch[aria-checked="true"],
body.kkui-active .variations_form .kkui-availability-swatch.variable-item.selected,
body.kkui-active .variations_form .kkui-availability-swatch.cfvsw-selected-swatch {
	border: 3px solid #087a3e !important;
	box-shadow: 0 0 0 2px rgba(8,122,62,.14) !important;
}
body.kkui-active .variations_form .kkui-availability-swatch[data-kkui-stock="out"] {
	border-color: #8fd2ad !important;
	box-shadow: none !important;
	opacity: .62 !important;
}
body.kkui-active.single-product p.stock.kkui-selected-stock--available,
body.kkui-active.single-product .woocommerce-variation-availability p.stock.kkui-selected-stock--available {
	color: #087a3e !important;
	background: #eef8f2 !important;
}
body.kkui-active.single-product p.stock.kkui-selected-stock--low,
body.kkui-active.single-product .woocommerce-variation-availability p.stock.kkui-selected-stock--low {
	color: #a15c00 !important;
	background: #fff7df !important;
}
body.kkui-active.single-product p.stock.kkui-selected-stock--out,
body.kkui-active.single-product .woocommerce-variation-availability p.stock.kkui-selected-stock--out {
	color: #b42318 !important;
	background: #fff0ef !important;
}
body.kkui-active.single-product .kkui-product-root > .kk-upsell-box.kkui-upsell-positioned {
	grid-column: 1 / -1 !important;
	order: 3 !important;
	margin: 18px 0 0 !important;
	width: 100% !important;
}
body.kkui-active.single-product .kkui-product-root > .woocommerce-tabs,
body.kkui-active.single-product .kkui-product-root > .woocommerce-product-details,
body.kkui-active.single-product .kkui-product-root > .related,
body.kkui-active.single-product .kkui-product-root > .up-sells {
	order: 4 !important;
}
/* WooCommerce lightbox remains clickable, but hover magnification is disabled. */
body.kkui-active.single-product .woocommerce-product-gallery .zoomImg {
	display: none !important;
}
body.kkui-active.single-product .woocommerce-product-gallery__image img {
	transform: none !important;
	cursor: zoom-in;
}


/* 0.2.7: unmistakable selected variation and complete variation-SKU hiding. */
body.kkui-active .variations_form .kkui-availability-swatch {
	border-width: 1px !important;
	box-shadow: none !important;
}
body.kkui-active .variations_form .kkui-availability-swatch.kkui-is-selected {
	border: 3px solid #087a3e !important;
	box-shadow: 0 0 0 3px rgba(8,122,62,.16) !important;
	background-color: #eef8f2 !important;
	transform: translateY(-1px);
	position: relative !important;
	z-index: 2;
}
body.kkui-active .variations_form .kkui-availability-swatch.kkui-is-selected::after {
	content: none !important;
	display: none !important;
}
body.kkui-active .variations_form .woocommerce-variation-sku,
body.kkui-active .variations_form .variation-sku,
body.kkui-active .variations_form .sku_wrapper,
body.kkui-active .variations_form [data-variation-sku] {
	display: none !important;
}

/* 0.3.0 — structural product top and first-party variation selector. */
body.kkui-active.single-product .kkui-product-root > .summary + .kk-upsell-box.kkui-upsell-positioned {
	grid-column: 1 / -1 !important;
	order: 3 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 14px 0 24px !important;
}
body.kkui-active.single-product .kkui-product-root > .summary ~ .woocommerce-tabs,
body.kkui-active.single-product .kkui-product-root > .summary ~ .woocommerce-product-details,
body.kkui-active.single-product .kkui-product-root > .summary ~ .related,
body.kkui-active.single-product .kkui-product-root > .summary ~ .up-sells {
	order: 4 !important;
}

body.kkui-active .variations_form.kkui-custom-variations-active .kkui-native-variation-row > .kkui-variation-group ~ *:not(select):not(.reset_variations),
body.kkui-active .variations_form.kkui-custom-variations-active .kkui-native-variation-row .variable-items-wrapper,
body.kkui-active .variations_form.kkui-custom-variations-active .kkui-native-variation-row .cfvsw-swatches-container,
body.kkui-active .variations_form.kkui-custom-variations-active .kkui-native-variation-row .thwvsf-wrapper-ul,
body.kkui-active .variations_form.kkui-custom-variations-active .kkui-native-variation-row .rtwpvs-terms-wrapper,
body.kkui-active .variations_form.kkui-custom-variations-active .kkui-native-variation-row .vi-wpvs-variation-wrap {
	display: none !important;
}
body.kkui-active .variations_form.kkui-custom-variations-active .kkui-native-variation-row > select,
body.kkui-active .variations_form.kkui-custom-variations-active .kkui-native-variation-row select[name^="attribute_"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
body.kkui-active .kkui-variation-group {
	margin: 4px 0 10px;
}
body.kkui-active .kkui-variation-group__label {
	font-size: 13px;
	font-weight: 700;
	color: #27352e;
	margin-bottom: 7px;
}
body.kkui-active .kkui-variation-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
body.kkui-active .kkui-variation-option {
	appearance: none;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 54px;
	height: 54px;
	padding: 5px 10px;
	border: 1px solid #b8c8bf !important;
	border-radius: 5px;
	background: #fff !important;
	box-shadow: none !important;
	color: #18231d !important;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease, background .15s ease;
}
body.kkui-active .kkui-variation-option:hover:not(:disabled) {
	border-color: #168d4b !important;
	transform: translateY(-1px);
}
body.kkui-active .kkui-variation-option.has-image {
	width: 64px;
	height: 64px;
	padding: 5px;
}
body.kkui-active .kkui-variation-option img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
body.kkui-active .kkui-variation-option__text {
	font-size: 13px;
	font-weight: 650;
	line-height: 1.2;
}
body.kkui-active .kkui-variation-option.is-selected {
	border: 3px solid #087a3e !important;
	background: #eef8f2 !important;
	box-shadow: 0 0 0 2px rgba(8,122,62,.14) !important;
	transform: translateY(-1px);
}
body.kkui-active .kkui-variation-option.is-selected::after {
	content: none !important;
	display: none !important;
}
body.kkui-active .kkui-variation-option[data-stock-state="low"] {
	color: #9a5b00 !important;
}
body.kkui-active .kkui-variation-option[data-stock-state="out"],
body.kkui-active .kkui-variation-option.is-combination-disabled {
	opacity: .48;
}
body.kkui-active .kkui-variation-option__cross::before,
body.kkui-active .kkui-variation-option__cross::after {
	content: "";
	position: absolute;
	left: 10%;
	top: calc(50% - 1px);
	width: 80%;
	height: 2px;
	background: #ef4444;
	border-radius: 2px;
	pointer-events: none;
}
body.kkui-active .kkui-variation-option__cross::before { transform: rotate(45deg); }
body.kkui-active .kkui-variation-option__cross::after { transform: rotate(-45deg); }
body.kkui-active .variations_form .woocommerce-variation-description,
body.kkui-active .variations_form .woocommerce-variation-sku,
body.kkui-active .variations_form .variation-sku,
body.kkui-active .variations_form .sku_wrapper,
body.kkui-active .variations_form [data-variation-sku] {
	display: none !important;
}
@media (max-width: 900px) {
	body.kkui-active.single-product .kkui-product-root > .summary + .kk-upsell-box.kkui-upsell-positioned {
		margin: 12px 0 18px !important;
	}
	body.kkui-active .kkui-variation-options {
		gap: 7px;
	}
	body.kkui-active .kkui-variation-option.has-image {
		width: 58px;
		height: 58px;
	}
}


/* 0.3.1: consistent quantity selector for simple, variable and grouped layouts */
body.kkui-active.single-product form.cart .quantity.kkui-quantity-ready {
	display: inline-grid !important;
	grid-template-columns: 42px 48px 42px !important;
	width: 132px !important;
	min-width: 132px !important;
}
body.kkui-active.single-product form.cart .quantity.kkui-quantity-ready > .kkui-qty-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 42px !important;
	min-width: 42px !important;
	height: 52px !important;
}
body.kkui-active.single-product form.cart .quantity.kkui-quantity-ready > input.qty {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	text-align: center !important;
}
body.kkui-active.single-product .kk-upsell-box.kkui-upsell-positioned {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	clear: both !important;
	margin-top: 22px !important;
	margin-bottom: 26px !important;
}


/* 0.3.2: deterministic quantity layout and direct upsell placement */
body.kkui-active.single-product form.cart .quantity.kkui-quantity-ready {
  display:grid!important; grid-template-columns:42px 52px 42px!important;
  width:136px!important; min-width:136px!important; overflow:hidden!important;
}
body.kkui-active.single-product form.cart .quantity.kkui-quantity-ready > .kkui-qty-minus { order:1!important; }
body.kkui-active.single-product form.cart .quantity.kkui-quantity-ready > input.qty {
  order:2!important; display:block!important; width:52px!important; min-width:52px!important;
  height:52px!important; color:#111827!important; -webkit-text-fill-color:#111827!important;
  background:#fff!important; font-weight:700!important; opacity:1!important; visibility:visible!important;
}
body.kkui-active.single-product form.cart .quantity.kkui-quantity-ready > .kkui-qty-plus { order:3!important; }
body.kkui-active.single-product .kkui-product-root > .kk-upsell-box.kkui-upsell-positioned {
  grid-column:1 / -1!important; width:100%!important; max-width:none!important;
  margin:22px 0 26px!important; align-self:stretch!important;
}

/* 0.3.3: selected variation is indicated only by the stronger border. */
body.kkui-active .variations_form .kkui-availability-swatch.kkui-is-selected::after,
body.kkui-active .kkui-variation-option.is-selected::after { content:none !important; display:none !important; }


/* 0.4.0: block-theme product template support */
body.kkui-active.kkui-block-template .kkui-block-upsell-slot {
	width: min(100% - 32px, 1440px);
	max-width: 1440px;
	margin: 18px auto 20px !important;
	padding: 0 !important;
}
body.kkui-active.kkui-block-template .kkui-block-upsell-slot .kk-upsell-box {
	margin: 0 !important;
	width: 100% !important;
	max-width: none !important;
}
body.kkui-active.kkui-block-template .wp-block-woocommerce-product-details {
	margin-top: 0 !important;
}
body.kkui-active.single-product .quantity.kkui-quantity-ready {
	display: grid !important;
	grid-template-columns: 44px 54px 44px !important;
	align-items: stretch !important;
	width: 142px !important;
	min-width: 142px !important;
	height: 58px !important;
	overflow: hidden !important;
	background: #fff !important;
	border: 1px solid #d7dfda !important;
	border-radius: 11px !important;
}
body.kkui-active.single-product .quantity.kkui-quantity-ready > .kkui-qty-btn,
body.kkui-active.single-product .quantity.kkui-quantity-ready > input.qty {
	position: static !important;
	float: none !important;
	transform: none !important;
	margin: 0 !important;
	height: 56px !important;
	min-height: 56px !important;
	line-height: 56px !important;
}
body.kkui-active.single-product .quantity.kkui-quantity-ready > input.qty {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 54px !important;
	min-width: 54px !important;
	max-width: 54px !important;
	padding: 0 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #111827 !important;
	-webkit-text-fill-color: #111827 !important;
	background: #fff !important;
	border: 0 !important;
	text-align: center !important;
}
@media (max-width: 782px) {
	body.kkui-active.kkui-block-template .kkui-block-upsell-slot {
		width: min(100% - 20px, 1440px);
		margin-top: 12px !important;
	}
}

/* 0.4.1: tighter block spacing and legacy template cleanup. */
body.kkui-active.kkui-block-template .kkui-block-upsell-slot {
	margin-top: 6px !important;
	margin-bottom: 14px !important;
}


/* 0.4.2: Twenty Twenty-Three / WooCommerce block-template legacy metadata. */
body.kkui-active.single-product .wp-block-woocommerce-product-meta,
body.kkui-active.single-product .wp-block-woocommerce-product-meta-field,
body.kkui-active.single-product .wc-block-components-product-metadata,
body.kkui-active.single-product .wc-block-components-product-details__product-metadata {
	display: none !important;
}

/* 0.5.1 block-theme safety and product tags. */
/* Never apply legacy container sizing to theme header/navigation wrappers. */
body.kkui-active.single-product header .container,
body.kkui-active.single-product .wp-block-template-part .container,
body.kkui-active.single-product header .wp-block-group,
body.kkui-active.single-product header .wp-block-navigation,
body.kkui-active.single-product header .wp-block-navigation__responsive-container-content {
	width: auto !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
body.kkui-active.single-product header .wp-block-group.alignwide,
body.kkui-active.single-product header .wp-block-group.alignfull {
	width: 100% !important;
}

/* The block gallery is owned by WooCommerce Blocks. Do not reposition or
   remove its wrappers; only make its rendered root visible. */
body.kkui-active.single-product .wp-block-woocommerce-product-image-gallery,
body.kkui-active.single-product [data-block-name="woocommerce/product-image-gallery"] {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	min-width: 0;
}
body.kkui-active.single-product .wp-block-woocommerce-product-image-gallery img {
	max-width: 100%;
	height: auto;
}

body.kkui-active .kkui-product-tags {
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin: 7px 0 14px;
}
body.kkui-active .kkui-product-tag {
	display:inline-flex;
	align-items:center;
	gap:6px;
	min-height:31px;
	padding:5px 10px;
	border:1px solid transparent;
	border-radius:999px;
	font-size:12px;
	font-weight:750;
	line-height:1;
}
body.kkui-active .kkui-product-tag__icon { font-size:14px; line-height:1; }
body.kkui-active .kkui-product-tag--green { color:#14643d; background:#edf9f2; border-color:#ccebd9; }
body.kkui-active .kkui-product-tag--blue { color:#245a9b; background:#eef5ff; border-color:#d3e4fa; }
body.kkui-active .kkui-product-tag--cyan { color:#176b78; background:#ecf9fb; border-color:#ccebef; }
body.kkui-active .kkui-product-tag--yellow { color:#896100; background:#fff8e2; border-color:#f1dfac; }
body.kkui-active .kkui-product-tag--purple { color:#6543a5; background:#f5f0ff; border-color:#ded1f7; }
body.kkui-active .kkui-product-tag--slate { color:#475569; background:#f4f6f7; border-color:#dfe5e8; }


/* 0.5.2 finishing pass: alignment, gallery breathing room, simple quantity and breadcrumbs. */
body.kkui-active.single-product .kkui-product-root > .woocommerce-product-gallery {
	margin-bottom: 18px !important;
}

/* Align the first text line with the top edge of the gallery card. */
body.kkui-active.single-product .kkui-product-root > .summary {
	padding-top: 0 !important;
}
body.kkui-active.single-product .kkui-product-root > .summary > :first-child,
body.kkui-active.single-product .kkui-product-root > .summary h1.product_title {
	margin-top: 0 !important;
}

/* Force the three quantity controls to remain visible also when the simple
   product Add to Cart block is hydrated after page load. */
body.kkui-active.single-product form.cart .quantity.kkui-quantity-ready {
	display: grid !important;
	grid-template-columns: 44px 54px 44px !important;
	width: 142px !important;
	min-width: 142px !important;
}
body.kkui-active.single-product form.cart .quantity.kkui-quantity-ready > .kkui-qty-btn {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	color: #102029 !important;
	background: #f6f8f7 !important;
	font-size: 21px !important;
	font-weight: 500 !important;
}
body.kkui-active.single-product form.cart .quantity.kkui-quantity-ready > input.qty {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	color: #102029 !important;
	-webkit-text-fill-color: #102029 !important;
}

/* Cleaner breadcrumb card that follows the product content width. */
body.kkui-active.single-product nav.woocommerce-breadcrumb,
body.kkui-active.single-product .woocommerce-breadcrumb,
body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs {
	box-sizing: border-box;
	width: min(calc(100% - 40px), 1500px) !important;
	max-width: 1500px !important;
	margin: 14px auto 22px !important;
	padding: 10px 14px !important;
	border: 1px solid #e1e7e4;
	border-radius: 10px;
	background: rgba(255,255,255,.78);
	color: #66737c !important;
	font-size: 13px !important;
	line-height: 1.45;
}
body.kkui-active.single-product .woocommerce-breadcrumb a,
body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs a {
	color: #315d49 !important;
	font-weight: 650;
	text-decoration: none !important;
}
body.kkui-active.single-product .woocommerce-breadcrumb a:hover,
body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs a:hover {
	color: #087a3e !important;
	text-decoration: underline !important;
}

@media (max-width: 900px) {
	body.kkui-active.single-product .kkui-product-root > .woocommerce-product-gallery {
		margin-bottom: 0 !important;
	}
	body.kkui-active.single-product .kkui-product-root > .summary {
		padding-top: 22px !important;
	}
	body.kkui-active.single-product nav.woocommerce-breadcrumb,
	body.kkui-active.single-product .woocommerce-breadcrumb,
	body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs {
		width: calc(100% - (var(--wp--preset--spacing--30) * 2)) !important;
		max-width: calc(100% - (var(--wp--preset--spacing--30) * 2)) !important;
		margin-top: 10px !important;
		margin-bottom: 14px !important;
		padding: 9px 11px !important;
		font-size: 12px !important;
	}
}

/* 0.5.3: unified content edges and true breathing room below the gallery. */
@media (min-width: 901px) {
	/* Keep the product top on the same visual axis as the breadcrumb and bundle. */
	body.kkui-active.single-product .kkui-product-root {
		box-sizing: border-box !important;
		width: min(calc(100% - 40px), 1120px) !important;
		max-width: 1120px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-bottom: 26px !important;
	}

	/* The block-theme bundle uses the same content width. */
	body.kkui-active.kkui-block-template .kkui-block-upsell-slot {
		width: min(calc(100% - 40px), 1120px) !important;
		max-width: 1120px !important;
	}

	/* Breadcrumb follows exactly the same left and right edges. */
	body.kkui-active.single-product nav.woocommerce-breadcrumb,
	body.kkui-active.single-product .woocommerce-breadcrumb,
	body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs {
		width: min(calc(100% - 40px), 1120px) !important;
		max-width: 1120px !important;
		font-size: 14px !important;
	}
}

/* The gap must be part of the grey top section, not a margin outside it. */
body.kkui-active.single-product .kkui-product-root > .woocommerce-product-gallery {
	margin-bottom: 0 !important;
}

@media (max-width: 900px) {
	body.kkui-active.single-product .kkui-product-root {
		box-sizing: border-box !important;
		padding-bottom: 16px !important;
	}
	body.kkui-active.single-product nav.woocommerce-breadcrumb,
	body.kkui-active.single-product .woocommerce-breadcrumb,
	body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs {
		font-size: 13px !important;
	}
}

/* 0.5.4: desktop axis correction and reliable gallery breathing room. */
@media (min-width: 901px) {
	/* Override the older full-width product rules with the final shared axis. */
	body.kkui-active.single-product div.product.kkui-product-root {
		box-sizing: border-box !important;
		display: grid !important;
		grid-template-columns: 460px minmax(0, 1fr) !important;
		column-gap: clamp(48px, 5vw, 78px) !important;
		width: min(calc(100% - 40px), 1120px) !important;
		max-width: 1120px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 18px 0 32px !important;
	}
	body.kkui-active.single-product div.product.kkui-product-root > .woocommerce-product-gallery {
		width: 460px !important;
		max-width: 460px !important;
		align-self: start !important;
		margin: 0 !important;
	}
	body.kkui-active.single-product div.product.kkui-product-root > .summary {
		min-width: 0 !important;
		padding-top: 18px !important;
	}

	/* Keep all three main cards on the exact same left/right axis. */
	body.kkui-active.single-product nav.woocommerce-breadcrumb,
	body.kkui-active.single-product .woocommerce-breadcrumb,
	body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs,
	body.kkui-active.kkui-block-template .kkui-block-upsell-slot {
		width: min(calc(100% - 40px), 1120px) !important;
		max-width: 1120px !important;
	}
	body.kkui-active.single-product nav.woocommerce-breadcrumb,
	body.kkui-active.single-product .woocommerce-breadcrumb,
	body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs {
		font-size: 15px !important;
	}
}

/* The bottom gap belongs to the grey product section and must work for both
   simple and variable products, regardless of the Add to Cart markup. */
body.kkui-active.single-product div.product.kkui-product-root {
	padding-bottom: 32px !important;
}

@media (max-width: 900px) {
	body.kkui-active.single-product div.product.kkui-product-root {
		padding-bottom: 18px !important;
	}
}


/* 0.5.5: mark and align the real WooCommerce block wrappers instead of
   stretching the inner gallery card. This fixes the desktop left axis and
   keeps a visible grey breathing space below simple and variable products. */
@media (min-width: 901px) {
	body.kkui-active.kkui-block-template .kkui-product-row {
		box-sizing: border-box !important;
		display: flex !important;
		align-items: flex-start !important;
		justify-content: space-between !important;
		gap: clamp(48px, 5vw, 78px) !important;
		width: min(calc(100% - 40px), 1120px) !important;
		max-width: 1120px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 22px 0 30px !important;
	}

	body.kkui-active.kkui-block-template .kkui-product-row > .kkui-gallery-column {
		box-sizing: border-box !important;
		flex: 0 0 460px !important;
		width: 460px !important;
		max-width: 460px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.kkui-active.kkui-block-template .kkui-product-row > .kkui-summary-column {
		box-sizing: border-box !important;
		flex: 1 1 0 !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding-top: 18px !important;
	}

	body.kkui-active.kkui-block-template .kkui-gallery-column > .wp-block-woocommerce-product-image-gallery,
	body.kkui-active.kkui-block-template .kkui-gallery-column .woocommerce-product-gallery {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}
}

@media (max-width: 900px) {
	body.kkui-active.kkui-block-template .kkui-product-row {
		box-sizing: border-box !important;
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding-bottom: 18px !important;
	}
	body.kkui-active.kkui-block-template .kkui-gallery-column,
	body.kkui-active.kkui-block-template .kkui-summary-column {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* 0.5.6: exact block-template gallery-column alignment.
   The Site Editor gallery is wrapped by a flex group that centers the gallery
   inside the left half of the product row. Anchor that direct gallery wrapper
   to the right edge so its card shares the same content axis as the breadcrumb. */
@media (min-width: 901px) {
	body.kkui-active.single-product.kkui-block-template
	.wp-block-group:has(> .wp-block-woocommerce-product-image-gallery) {
		box-sizing: border-box !important;
		justify-content: flex-end !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.kkui-active.single-product.kkui-block-template
	.wp-block-group:has(> .wp-block-woocommerce-product-image-gallery)
	> .wp-block-woocommerce-product-image-gallery {
		box-sizing: border-box !important;
		flex: 0 0 460px !important;
		width: 460px !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: 0 !important;
	}
}

@media (max-width: 900px) {
	body.kkui-active.single-product.kkui-block-template
	.wp-block-group:has(> .wp-block-woocommerce-product-image-gallery) {
		justify-content: center !important;
		padding-left: var(--wp--preset--spacing--30) !important;
		padding-right: var(--wp--preset--spacing--30) !important;
	}

	body.kkui-active.single-product.kkui-block-template
	.wp-block-group:has(> .wp-block-woocommerce-product-image-gallery)
	> .wp-block-woocommerce-product-image-gallery {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* 0.5.7: the real product top is a wp-block-columns row with two 50% columns.
   Align that common parent instead of pushing the gallery inside its own half. */
@media (min-width: 901px) {
	body.kkui-active.kkui-block-template .kkui-product-row {
		display: grid !important;
		grid-template-columns: 460px minmax(0, 1fr) !important;
		column-gap: 48px !important;
		align-items: start !important;
		box-sizing: border-box !important;
		width: min(calc(100% - 40px), 1120px) !important;
		max-width: 1120px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 26px 0 34px !important;
	}

	body.kkui-active.kkui-block-template .kkui-product-row > .kkui-gallery-column,
	body.kkui-active.kkui-block-template .kkui-product-row > .kkui-summary-column {
		box-sizing: border-box !important;
		flex: none !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.kkui-active.kkui-block-template .kkui-product-row > .kkui-summary-column {
		padding-top: 0 !important;
	}

	body.kkui-active.kkui-block-template .kkui-gallery-column
	.wp-block-group:has(> .wp-block-woocommerce-product-image-gallery) {
		justify-content: stretch !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
	}

	body.kkui-active.kkui-block-template .kkui-gallery-column
	.wp-block-group:has(> .wp-block-woocommerce-product-image-gallery)
	> .wp-block-woocommerce-product-image-gallery {
		flex: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}
}

@media (max-width: 900px) {
	body.kkui-active.kkui-block-template .kkui-product-row {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 0 18px !important;
	}
}

/* 0.5.8: full-bleed grey product top and safe mobile text sizing. */
body.kkui-active.single-product.kkui-block-template .kkui-product-row {
	position: relative !important;
	isolation: isolate;
	background: #ebebeb !important;
}
body.kkui-active.single-product.kkui-block-template .kkui-product-row::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	background: #ebebeb;
	pointer-events: none;
}

@media (max-width: 900px) {
	body.kkui-active.single-product {
		overflow-x: clip;
	}
	body.kkui-active.single-product.kkui-block-template .kkui-product-row,
	body.kkui-active.single-product.kkui-block-template .kkui-product-row > .kkui-gallery-column,
	body.kkui-active.single-product.kkui-block-template .kkui-product-row > .kkui-summary-column,
	body.kkui-active.single-product.kkui-block-template .kkui-summary-column > *,
	body.kkui-active.single-product.kkui-block-template .kkui-summary-column .summary {
		box-sizing: border-box !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
	body.kkui-active.single-product.kkui-block-template .kkui-summary-column,
	body.kkui-active.single-product.kkui-block-template .kkui-summary-column .summary {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	body.kkui-active.single-product.kkui-block-template .kkui-summary-column .summary {
		padding-left: 18px !important;
		padding-right: 18px !important;
		overflow: hidden;
	}
	body.kkui-active.single-product.kkui-block-template .kkui-summary-column .product_title,
	body.kkui-active.single-product.kkui-block-template .kkui-summary-column h1 {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		font-size: clamp(23px, 6.5vw, 29px) !important;
		line-height: 1.14 !important;
		letter-spacing: -.025em !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
		hyphens: auto;
	}
}


/* 0.5.9: roomier desktop product layout. Keep the full-bleed grey background,
   but allow the aligned content row, breadcrumb and upsell area to breathe. */
@media (min-width: 901px) {
	body.kkui-active.kkui-block-template .kkui-product-row {
		grid-template-columns: 500px minmax(0, 1fr) !important;
		column-gap: 56px !important;
		width: min(calc(100% - 48px), 1240px) !important;
		max-width: 1240px !important;
	}

	body.kkui-active.single-product .woocommerce-breadcrumb,
	body.kkui-active.single-product .wc-block-breadcrumbs,
	body.kkui-active.single-product nav.woocommerce-breadcrumb,
	body.kkui-active.single-product .kkui-breadcrumb-wrap,
	body.kkui-active.single-product .kk-upsell-box {
		width: min(calc(100% - 48px), 1240px) !important;
		max-width: 1240px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* 0.6.0: exact shared width for breadcrumb, product top and upsell. The measured
   product-row width is written to --kkui-aligned-width by product-top.js. */
body.kkui-active.single-product {
	--kkui-aligned-width: min(calc(100vw - 48px), 1240px);
}

body.kkui-active.single-product .kkui-product-row,
body.kkui-active.single-product nav.woocommerce-breadcrumb,
body.kkui-active.single-product .woocommerce-breadcrumb,
body.kkui-active.single-product .wc-block-breadcrumbs,
body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs,
body.kkui-active.single-product .kkui-breadcrumb-wrap,
body.kkui-active.kkui-block-template .kkui-block-upsell-slot {
	box-sizing: border-box !important;
	width: var(--kkui-aligned-width) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.kkui-active.kkui-block-template .kkui-block-upsell-slot .kk-upsell-box,
body.kkui-active.single-product .kkui-block-upsell-slot > .kk-upsell-box {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Species chips: keep a consistent shape but make each fish immediately distinct. */
body.kkui-active .kkui-product-tag--species-ahven {
	color:#17633b;background:#edf9f2;border-color:#c8ead7;
}
body.kkui-active .kkui-product-tag--species-ahven .kkui-product-tag__icon {
	background:#d7f2e1;
}
body.kkui-active .kkui-product-tag--species-kuha {
	color:#7a5900;background:#fff8dd;border-color:#ead99a;
}
body.kkui-active .kkui-product-tag--species-kuha .kkui-product-tag__icon {
	background:#ffedab;
}
body.kkui-active .kkui-product-tag--species-hauki {
	color:#315b19;background:#f0f8e9;border-color:#cfe2bf;
}
body.kkui-active .kkui-product-tag--species-hauki .kkui-product-tag__icon {
	background:#dcefcf;
}
body.kkui-active .kkui-product-tag--species-taimen {
	color:#8a3f20;background:#fff0e9;border-color:#efc9b7;
}
body.kkui-active .kkui-product-tag--species-taimen .kkui-product-tag__icon {
	background:#ffd8c5;
}
body.kkui-active .kkui-product-tag--species-kirjolohi {
	color:#8a356e;background:#fff0fa;border-color:#edc7df;
}
body.kkui-active .kkui-product-tag--species-kirjolohi .kkui-product-tag__icon {
	background:#f8d4eb;
}
body.kkui-active .kkui-product-tag--species-harjus {
	color:#355f73;background:#edf7fb;border-color:#c7e2ec;
}
body.kkui-active .kkui-product-tag--species-harjus .kkui-product-tag__icon {
	background:#d6edf5;
}
body.kkui-active .kkui-product-tag[class*="--species-"] .kkui-product-tag__icon {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:22px;
	height:22px;
	margin-left:-4px;
	border-radius:999px;
	font-size:12px;
}

@media (max-width: 900px) {
	body.kkui-active.single-product {
		--kkui-aligned-width: calc(100vw - 24px);
	}
	body.kkui-active.single-product .kkui-product-row,
	body.kkui-active.single-product nav.woocommerce-breadcrumb,
	body.kkui-active.single-product .woocommerce-breadcrumb,
	body.kkui-active.single-product .wc-block-breadcrumbs,
	body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs,
	body.kkui-active.single-product .kkui-breadcrumb-wrap,
	body.kkui-active.kkui-block-template .kkui-block-upsell-slot {
		width: var(--kkui-aligned-width) !important;
		max-width: var(--kkui-aligned-width) !important;
	}
}


/* 0.6.1: tighter mobile buy-box alignment. The shared product row already has
   a 12 px viewport inset, so the summary does not need another 18 px inset. */
@media (max-width: 900px) {
	body.kkui-active.single-product.kkui-block-template .kkui-summary-column .summary {
		padding-left: 4px !important;
		padding-right: 4px !important;
	}
}


/* 0.6.2: image and name preview bubble for visual variation choices. */
body.kkui-active .kkui-variation-option.has-image {
	position: relative !important;
	overflow: visible !important;
}
body.kkui-active .kkui-variation-preview {
	position: absolute;
	z-index: 80;
	left: 50%;
	bottom: calc(100% + 12px);
	width: 126px;
	padding: 8px;
	box-sizing: border-box;
	border: 1px solid #dce5df;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, 7px) scale(.97);
	transform-origin: 50% 100%;
	transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
}
body.kkui-active .kkui-variation-preview::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	width: 12px;
	height: 12px;
	background: #fff;
	border-right: 1px solid #dce5df;
	border-bottom: 1px solid #dce5df;
	transform: translate(-50%, -6px) rotate(45deg);
}
body.kkui-active .kkui-variation-preview__image {
	display: block !important;
	width: 108px !important;
	height: 88px !important;
	margin: 0 auto !important;
	object-fit: contain !important;
	border-radius: 8px;
	background: #fafcfb;
}
body.kkui-active .kkui-variation-preview__name {
	display: block;
	margin-top: 7px;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.25;
	text-align: center;
	color: #17211b;
	overflow-wrap: anywhere;
}
body.kkui-active .kkui-variation-option.has-image:hover .kkui-variation-preview,
body.kkui-active .kkui-variation-option.has-image:focus-visible .kkui-variation-preview,
body.kkui-active .kkui-variation-option.has-image.is-previewing .kkui-variation-preview {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0) scale(1);
}
@media (max-width: 782px) {
	body.kkui-active .kkui-variation-preview {
		position: fixed;
		z-index: 99999;
		left: 50%;
		bottom: 24px;
		width: min(180px, calc(100vw - 32px));
		padding: 10px;
		transform: translate(-50%, 12px) scale(.97);
	}
	body.kkui-active .kkui-variation-preview::after { display: none; }
	body.kkui-active .kkui-variation-preview__image {
		width: 158px !important;
		height: 116px !important;
	}
	body.kkui-active .kkui-variation-option.has-image:hover .kkui-variation-preview {
		opacity: 0;
		visibility: hidden;
	}
	body.kkui-active .kkui-variation-option.has-image.is-previewing .kkui-variation-preview {
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, 0) scale(1);
	}
}


/* 0.6.3: distinct SVG icon tones for trust benefits. */
body.kkui-active .kkui-benefit--truck .kkui-benefit__icon {
	background: #e8f2ff;
	color: #2563eb;
}
body.kkui-active .kkui-benefit--shipping .kkui-benefit__icon {
	background: #e4f4ea;
	color: #07833f;
}
body.kkui-active .kkui-benefit--return .kkui-benefit__icon {
	background: #fff2d8;
	color: #b86b00;
}
body.kkui-active .kkui-benefit--support .kkui-benefit__icon {
	background: #f1eaff;
	color: #7c3aed;
}
body.kkui-active .kkui-benefit__icon svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* 0.7.0: modern product description and technical specifications. */
body.kkui-active .kkui-product-content {
	box-sizing: border-box;
	width: var(--kkui-aligned-width) !important;
	max-width: none !important;
	margin: 34px auto 0 !important;
	padding: clamp(26px, 4vw, 52px);
	border: 1px solid var(--kkui-border);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 16px 46px rgba(16, 32, 41, .055);
}
body.kkui-active .kkui-product-content__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(320px, .8fr);
	gap: clamp(34px, 5vw, 76px);
	align-items: start;
}
body.kkui-active .kkui-product-content__grid--single {
	grid-template-columns: minmax(0, 820px);
}
body.kkui-active .kkui-section-heading {
	position: relative;
	margin: 0 0 23px;
	padding-bottom: 13px;
	font-size: clamp(21px, 2vw, 27px);
	font-weight: 850;
	line-height: 1.15;
	letter-spacing: -.025em;
	text-transform: uppercase;
	color: var(--kkui-ink);
}
body.kkui-active .kkui-section-heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 44px;
	height: 3px;
	border-radius: 99px;
	background: var(--kkui-green);
}
body.kkui-active .kkui-product-description__body {
	color: #25332c;
	font-size: 16px;
	line-height: 1.72;
}
body.kkui-active .kkui-product-description__body > :first-child { margin-top: 0; }
body.kkui-active .kkui-product-description__body > :last-child { margin-bottom: 0; }
body.kkui-active .kkui-product-description__body h2,
body.kkui-active .kkui-product-description__body h3,
body.kkui-active .kkui-product-description__body h4 {
	margin: 30px 0 12px;
	color: var(--kkui-ink);
	font-weight: 820;
	line-height: 1.25;
	letter-spacing: -.015em;
}
body.kkui-active .kkui-product-description__body ul {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
}
body.kkui-active .kkui-product-description__body li {
	position: relative;
	margin: 10px 0;
	padding-left: 29px;
}
body.kkui-active .kkui-product-description__body li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: .12em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	background: var(--kkui-green);
	color: #fff;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}
body.kkui-active .kkui-product-description__body img {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
}
body.kkui-active .kkui-product-specs {
	min-width: 0;
}
body.kkui-active .kkui-product-specs__table {
	overflow: hidden;
	margin: 0;
	border: 1px solid #dfe5e2;
	border-radius: 12px;
	background: #fff;
}
body.kkui-active .kkui-product-specs__row {
	display: grid;
	grid-template-columns: minmax(120px, .9fr) minmax(0, 1.1fr);
	margin: 0;
	border-bottom: 1px solid #e7ebe9;
}
body.kkui-active .kkui-product-specs__row:last-child { border-bottom: 0; }
body.kkui-active .kkui-product-specs__row:nth-child(odd) { background: #f7f9f8; }
body.kkui-active .kkui-product-specs__row dt,
body.kkui-active .kkui-product-specs__row dd {
	box-sizing: border-box;
	margin: 0;
	padding: 13px 15px;
	font-size: 14px;
	line-height: 1.35;
	overflow-wrap: anywhere;
}
body.kkui-active .kkui-product-specs__row dt {
	border-right: 1px solid #e7ebe9;
	font-weight: 760;
	color: #25332c;
}
body.kkui-active .kkui-product-specs__row dd { color: #4c5b53; }
body.kkui-active .kkui-product-content__empty { color: var(--kkui-muted); }

@media (max-width: 900px) {
	body.kkui-active .kkui-product-content {
		width: var(--kkui-aligned-width) !important;
		max-width: var(--kkui-aligned-width) !important;
		margin-top: 20px !important;
		padding: 22px 17px;
		border-radius: 15px;
	}
	body.kkui-active .kkui-product-content__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 34px;
	}
	body.kkui-active .kkui-section-heading {
		margin-bottom: 18px;
		font-size: 21px;
	}
	body.kkui-active .kkui-product-description__body {
		font-size: 15.5px;
		line-height: 1.68;
	}
	body.kkui-active .kkui-product-specs__row {
		grid-template-columns: minmax(105px, .85fr) minmax(0, 1.15fr);
	}
	body.kkui-active .kkui-product-specs__row dt,
	body.kkui-active .kkui-product-specs__row dd {
		padding: 11px 12px;
		font-size: 13.5px;
	}
}

/* 0.7.1: integrated product tabs, reviews and review carousel. */
body.kkui-active .kkui-content-tabs {
	display: flex;
	gap: 8px;
	margin: -12px -12px 34px;
	padding: 8px;
	border: 1px solid #e1e7e4;
	border-radius: 14px;
	background: #f5f7f6;
}
body.kkui-active .kkui-content-tab {
	appearance: none;
	flex: 0 1 auto;
	min-height: 44px;
	padding: 10px 20px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #536159;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
}
body.kkui-active .kkui-content-tab.is-active {
	background: #fff;
	color: var(--kkui-green);
	box-shadow: 0 3px 12px rgba(20, 45, 31, .08);
}
body.kkui-active .kkui-content-panel[hidden] { display: none !important; }
body.kkui-active .kkui-content-panel.is-active { display: block; }
body.kkui-active .kkui-reviews-target:empty::before {
	content: "Arvioita ei ole vielä julkaistu. Voit kirjoittaa tuotteelle ensimmäisen arvion.";
	display: block;
	padding: 26px;
	border: 1px dashed #ccd8d1;
	border-radius: 14px;
	color: #637168;
	background: #fafcfb;
}
body.kkui-active .kkui-reviews-moved,
body.kkui-active .kkui-reviews-moved #reviews,
body.kkui-active .kkui-reviews-target .woocommerce-Reviews {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.kkui-active .kkui-reviews-target .woocommerce-Reviews-title {
	margin: 0 0 24px;
	font-size: clamp(21px, 2vw, 27px);
	font-weight: 850;
	line-height: 1.2;
}
body.kkui-active .kkui-reviews-target #comments,
body.kkui-active .kkui-reviews-target #review_form_wrapper {
	box-sizing: border-box;
	max-width: 100%;
}
body.kkui-active .kkui-reviews-target #review_form_wrapper {
	margin-top: 28px;
	padding: clamp(18px, 3vw, 30px);
	border: 1px solid #e0e6e3;
	border-radius: 15px;
	background: #f8faf9;
}
body.kkui-active .kkui-reviews-target .comment-form textarea,
body.kkui-active .kkui-reviews-target .comment-form input[type="text"],
body.kkui-active .kkui-reviews-target .comment-form input[type="email"] {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}
body.kkui-active .kkui-store-review-summary-target:not(:empty) {
	margin-top: 42px;
	padding-top: 34px;
	border-top: 1px solid #e5eae7;
}
body.kkui-active .kkui-store-review-summary-target > *,
body.kkui-active .kkui-store-review-summary-moved,
body.kkui-active .kkui-review-carousel-target > *,
body.kkui-active .kkui-review-carousel-moved {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}
body.kkui-active .woocommerce-tabs:has(.kkui-reviews-target .woocommerce-Reviews),
body.kkui-active .woocommerce-tabs:empty { display: none !important; }

@media (max-width: 700px) {
	body.kkui-active .kkui-content-tabs {
		margin: -8px -6px 26px;
		overflow-x: auto;
	}
	body.kkui-active .kkui-content-tab {
		flex: 1 0 auto;
		padding-inline: 16px;
	}
	body.kkui-active .kkui-store-review-summary-target:not(:empty) {
		margin-top: 30px;
		padding-top: 24px;
	}
}


/* 0.8.2: video and brand tabs plus separated store-review content. */
body.kkui-active .kkui-video-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
	gap: clamp(18px, 3vw, 30px);
}
body.kkui-active .kkui-video-card {
	min-width: 0;
	overflow: hidden;
	border-radius: 16px;
	background: #0d1511;
	box-shadow: 0 10px 30px rgba(16, 32, 41, .10);
}
body.kkui-active .kkui-video-card iframe,
body.kkui-active .kkui-video-card video,
body.kkui-active .kkui-video-card object,
body.kkui-active .kkui-video-card embed {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: var(--kkui-video-ratio, 16 / 9);
	border: 0;
}
body.kkui-active .kkui-brand-card {
	display: grid;
	grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
}
body.kkui-active .kkui-brand-card__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 180px;
	padding: 24px;
	border: 1px solid #e1e7e4;
	border-radius: 16px;
	background: #f8faf9;
}
body.kkui-active .kkui-brand-card__logo img {
	display: block;
	max-width: 100%;
	max-height: 180px;
	width: auto;
	height: auto;
	object-fit: contain;
}
body.kkui-active .kkui-brand-card__description {
	color: #33423a;
	font-size: 16px;
	line-height: 1.7;
}
body.kkui-active .kkui-brand-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 18px;
	min-height: 46px;
	padding: 11px 20px;
	border-radius: 10px;
	background: var(--kkui-green);
	color: #fff !important;
	font-weight: 800;
	text-decoration: none !important;
}
body.kkui-active .kkui-brand-card__button:hover { filter: brightness(.94); }
body.kkui-active .kkui-store-review-summary-target:not(:empty) {
	margin-top: 38px;
	padding-top: 30px;
	border-top: 1px solid #e5eae7;
}
body.kkui-active .kkui-review-carousel-target:not(:empty) {
	margin-top: 28px;
}
body.kkui-active .kkui-store-review-summary-target > *,
body.kkui-active .kkui-review-carousel-target > * {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
body.kkui-active .kkui-store-review-summary-moved {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

@media (max-width: 700px) {
	body.kkui-active .kkui-brand-card {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
	body.kkui-active .kkui-brand-card__logo {
		min-height: 130px;
		padding: 18px;
	}
	body.kkui-active .kkui-brand-card__logo img { max-height: 130px; }
	body.kkui-active .kkui-store-review-summary-target:not(:empty) {
		margin-top: 28px;
		padding-top: 22px;
	}
	body.kkui-active .kkui-review-carousel-target:not(:empty) { margin-top: 22px; }
}

/* 0.8.4: embedded videos, compact store score and strict mobile containment. */
body.kkui-active .kkui-product-content,
body.kkui-active .kkui-product-content * {
	box-sizing: border-box;
}
body.kkui-active .kkui-product-content {
	min-width: 0 !important;
	overflow: hidden;
}
body.kkui-active .kkui-content-panel,
body.kkui-active .kkui-reviews-target,
body.kkui-active .kkui-store-review-summary-target,
body.kkui-active .kkui-review-carousel-target {
	min-width: 0;
	max-width: 100%;
}
body.kkui-active .kkui-store-review-summary-target:not(:empty) {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 24px 0 4px;
	padding: 22px 0;
	border-top: 1px solid #e5eae7;
	border-bottom: 1px solid #e5eae7;
}
body.kkui-active .kkui-store-review-summary-moved {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	text-align: center;
}
body.kkui-active .kkui-review-carousel-target {
	overflow: hidden;
}
body.kkui-active .kkui-review-carousel-target img,
body.kkui-active .kkui-store-review-summary-target img {
	max-width: 100%;
	height: auto;
}
body.kkui-active .kkui-product-description__body .wp-block-embed,
body.kkui-active .kkui-product-description__body iframe {
	max-width: 100%;
}

@media (max-width: 700px) {
	body.kkui-active .kkui-product-content {
		width: calc(100% - 20px) !important;
		max-width: calc(100% - 20px) !important;
		margin-left: 10px !important;
		margin-right: 10px !important;
		padding: 16px 12px !important;
		border-radius: 13px;
	}
	body.kkui-active .kkui-content-tabs {
		width: 100%;
		max-width: 100%;
		margin: -4px 0 20px;
		padding: 6px;
		gap: 4px;
	}
	body.kkui-active .kkui-content-tab {
		min-width: max-content;
		min-height: 40px;
		padding: 8px 12px;
		font-size: 12.5px;
	}
	body.kkui-active .kkui-reviews-target .woocommerce-Reviews,
	body.kkui-active .kkui-reviews-target #comments,
	body.kkui-active .kkui-reviews-target #review_form_wrapper,
	body.kkui-active .kkui-review-carousel-target > *,
	body.kkui-active .kkui-store-review-summary-target > * {
		min-width: 0 !important;
		max-width: 100% !important;
		overflow-wrap: anywhere;
	}
	body.kkui-active .kkui-store-review-summary-target:not(:empty) {
		margin-top: 20px;
		padding: 18px 4px;
	}
	body.kkui-active .kkui-video-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	body.kkui-active .kkui-video-card {
		width: 100%;
		max-width: 100%;
	}
}


/* 0.8.6: responsive store rating summary with a matching section heading. */
body.kkui-active .kkui-store-review-section {
	margin-top: 34px;
	padding-top: 26px;
	border-top: 1px solid #e5eae7;
}
body.kkui-active .kkui-store-review-section[hidden] {
	display: none !important;
}
body.kkui-active .kkui-store-review-section .kkui-section-heading {
	margin: 0 0 16px;
}
body.kkui-active .kkui-store-review-summary-target:not(:empty) {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid #dfe7e3;
	border-radius: 14px;
	background: #f8fbf9;
	overflow: hidden;
}
body.kkui-active .kkui-store-review-summary-moved {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
	transform: none !important;
}
body.kkui-active .kkui-store-review-summary-moved > * {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
body.kkui-active .kkui-store-review-summary-moved img,
body.kkui-active .kkui-store-review-summary-moved svg {
	max-width: 100%;
}

@media (max-width: 700px) {
	body.kkui-active .kkui-store-review-section {
		margin-top: 26px;
		padding-top: 22px;
	}
	body.kkui-active .kkui-store-review-summary-target:not(:empty) {
		padding: 16px;
		border-radius: 12px;
	}
	body.kkui-active .kkui-store-review-summary-moved,
	body.kkui-active .kkui-store-review-summary-moved > * {
		font-size: 14px;
	}
}

/* 0.8.8: tighter spacing between product hero and content card on mobile. */
@media (max-width: 700px) {
	body.kkui-active .kkui-product-content {
		margin-top: 8px !important;
	}
}

/* 0.8.9: exact Customer Reviews trust badge placement and sizing. */
body.kkui-active .kkui-store-review-summary-target > .cr-trustbadgef {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.kkui-active .kkui-store-review-summary-target .cr-badge {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: clamp(14px, 2.5vw, 24px) !important;
	border-radius: 12px !important;
	visibility: visible !important;
}
body.kkui-active .kkui-store-review-summary-target .badge__nowrap,
body.kkui-active .kkui-store-review-summary-target .badge__rating {
	max-width: 100% !important;
	min-width: 0 !important;
	white-space: normal !important;
	overflow-wrap: anywhere;
}
body.kkui-active .kkui-store-review-summary-target .badge__nowrap {
	display: flex !important;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px 16px;
}
body.kkui-active .kkui-store-review-summary-target .badge__rating {
	margin-top: 10px;
	text-align: center;
}
@media (max-width: 700px) {
	body.kkui-active .kkui-store-review-summary-target .cr-badge {
		padding: 14px 10px !important;
	}
	body.kkui-active .kkui-store-review-summary-target .badge__nowrap {
		flex-direction: column;
		gap: 8px;
	}
	body.kkui-active .kkui-store-review-summary-target .badge__rating {
		font-size: 13px !important;
		line-height: 1.45;
	}
}


/* 0.8.9.1: repeat only Kuningaskalastaja UI hero tags at the start of the description. */
body.kkui-active .kkui-feature-summary {
	margin: 18px 0 26px;
	padding: clamp(16px, 2.4vw, 24px);
	border: 1px solid #dfe7e3;
	border-radius: 14px;
	background: #f8fbf9;
}
body.kkui-active .kkui-feature-summary__title {
	margin: 0 0 14px;
	font-size: clamp(16px, 1.8vw, 20px);
	line-height: 1.25;
	font-weight: 800;
	color: var(--kkui-ink, #111827);
}
body.kkui-active .kkui-feature-summary__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
body.kkui-active .kkui-feature-card {
	min-width: 0;
	padding: 13px 14px;
	border: 1px solid #e3eae6;
	border-radius: 11px;
	background: #fff;
}
body.kkui-active .kkui-feature-card__label {
	margin-bottom: 9px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .02em;
	color: #52605a;
}
body.kkui-active .kkui-feature-card__items {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}
body.kkui-active .kkui-feature-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	padding: 7px 10px;
	border: 1px solid #dce7e1;
	border-radius: 999px;
	background: #f5faf7;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.1;
	color: #183d2c;
}
body.kkui-active .kkui-feature-pill--blue { background:#f1f7ff; border-color:#d8e8fb; color:#174f83; }
body.kkui-active .kkui-feature-pill--cyan { background:#effbfd; border-color:#d2eff3; color:#176474; }
body.kkui-active .kkui-feature-pill--purple { background:#f7f2ff; border-color:#e7daf8; color:#65418e; }
body.kkui-active .kkui-feature-pill--yellow { background:#fff9e8; border-color:#f3e5ae; color:#765d0a; }
body.kkui-active .kkui-feature-pill--green,
body.kkui-active .kkui-feature-pill--species-ahven,
body.kkui-active .kkui-feature-pill--species-kuha,
body.kkui-active .kkui-feature-pill--species-hauki,
body.kkui-active .kkui-feature-pill--species-taimen,
body.kkui-active .kkui-feature-pill--species-kirjolohi,
body.kkui-active .kkui-feature-pill--species-harjus { background:#f2faf5; border-color:#d7eadf; color:#17623b; }

/* Remove the theme/block spacing strip directly before the footer on product pages. */
body.kkui-active.single-product .wp-site-blocks > footer,
body.kkui-active.single-product footer.site-footer,
body.kkui-active.single-product #colophon {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}
body.kkui-active.single-product main,
body.kkui-active.single-product .site-main,
body.kkui-active.single-product #primary,
body.kkui-active.single-product .site-content {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

@media (max-width: 700px) {
	body.kkui-active .kkui-feature-summary {
		margin: 14px 0 22px;
		padding: 14px;
		border-radius: 12px;
	}
	body.kkui-active .kkui-feature-summary__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 9px;
	}
	body.kkui-active .kkui-feature-card {
		padding: 12px;
	}
}

/* 0.9.3: prevent intermittent oversized Customer Reviews slider space on mobile. */
@media (max-width: 780px) {
  body.kkui-active .kkui-review-carousel-target,
  body.kkui-active .kkui-review-carousel-target > * {
    min-height: 0 !important;
    max-width: 100%;
  }
  body.kkui-active .kkui-review-carousel-target {
    overflow: hidden;
  }
  body.kkui-active .kkui-review-carousel-target .slick-slide:not(.slick-active),
  body.kkui-active .kkui-review-carousel-target .swiper-slide:not(.swiper-slide-active) {
    min-height: 0 !important;
  }
}


/* 0.10.0-test10: review carousel has one card on mobile and three on desktop. */
body.kkui-active .kkui-review-carousel-target { position:relative; width:100%; max-width:100%; overflow:hidden; }
body.kkui-active .kkui-review-carousel-target .slick-list { width:100%!important; overflow:hidden!important; }
body.kkui-active .kkui-review-carousel-target .slick-track { display:flex!important; align-items:stretch; }
body.kkui-active .kkui-review-carousel-target .slick-slide { height:auto!important; min-width:0!important; }
body.kkui-active .kkui-review-carousel-target .slick-slide > div { height:100%; }
body.kkui-active .kkui-review-carousel-target .slick-arrow {
  display:grid!important; place-items:center!important; position:absolute!important; top:50%!important;
  z-index:4!important; width:42px!important; height:42px!important; border:1px solid #dbe7e5!important;
  border-radius:50%!important; background:#fff!important; box-shadow:0 5px 18px rgba(10,55,63,.14)!important;
  font-size:0!important; transform:translateY(-50%)!important;
}
body.kkui-active .kkui-review-carousel-target .slick-prev { left:8px!important; }
body.kkui-active .kkui-review-carousel-target .slick-next { right:8px!important; }
body.kkui-active .kkui-review-carousel-target .slick-arrow::before { font-size:25px!important; line-height:1!important; color:#075c6c!important; opacity:1!important; }
@media (max-width:780px) {
  body.kkui-active .kkui-review-carousel-target .slick-slide { width:100%!important; }
  body.kkui-active .kkui-review-carousel-target .slick-prev { left:4px!important; }
  body.kkui-active .kkui-review-carousel-target .slick-next { right:4px!important; }
}


/* 0.10.0-test11: responsive breadcrumb and mobile review-arrow alignment. */
/* Some block themes render a breadcrumb wrapper around WooCommerce's own
   breadcrumb. Reset the outer wrapper so only one card/background is drawn. */
body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs:has(.woocommerce-breadcrumb),
body.kkui-active.single-product .wc-block-breadcrumbs:has(.woocommerce-breadcrumb),
body.kkui-active.single-product .kkui-breadcrumb-wrap:has(.woocommerce-breadcrumb) {
  width:var(--kkui-aligned-width)!important;
  max-width:var(--kkui-aligned-width)!important;
  margin:14px auto 22px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs:has(.woocommerce-breadcrumb) > .woocommerce-breadcrumb,
body.kkui-active.single-product .wc-block-breadcrumbs:has(.woocommerce-breadcrumb) > .woocommerce-breadcrumb,
body.kkui-active.single-product .kkui-breadcrumb-wrap:has(.woocommerce-breadcrumb) > .woocommerce-breadcrumb {
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
@media (max-width:900px) {
  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs:has(.woocommerce-breadcrumb),
  body.kkui-active.single-product .wc-block-breadcrumbs:has(.woocommerce-breadcrumb),
  body.kkui-active.single-product .kkui-breadcrumb-wrap:has(.woocommerce-breadcrumb) {
    margin:10px auto 14px!important;
  }
  body.kkui-active.single-product nav.woocommerce-breadcrumb,
  body.kkui-active.single-product .woocommerce-breadcrumb,
  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs:not(:has(.woocommerce-breadcrumb)),
  body.kkui-active.single-product .wc-block-breadcrumbs:not(:has(.woocommerce-breadcrumb)) {
    min-width:0!important;
    max-width:calc(100vw - 24px)!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}

/* Keep the circular controls and their glyphs centred independently of
   Customer Reviews' inherited button padding and line-height. */
body.kkui-active .kkui-review-carousel-target .slick-arrow,
body.kkui-active .kkui-review-carousel-target button.slick-arrow {
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  line-height:0!important;
  text-indent:0!important;
}
body.kkui-active .kkui-review-carousel-target .slick-arrow::before {
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  transform:none!important;
}
@media (max-width:780px) {
  body.kkui-active .kkui-review-carousel-target .slick-arrow {
    top:50%!important;
    width:42px!important;
    height:42px!important;
    transform:translateY(-50%)!important;
  }
}


/* 0.10.0-test12: keep product-review carousel desktop-only. */
@media (max-width:780px) {
  body.kkui-active .kkui-review-carousel-target,
  body.kkui-active .kkui-review-carousel-target > * {
    display:none!important;
  }
}


/* 0.10.0-test26: product-page status badges. */
.kkui-single-statuses{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px!important;}
.kkui-single-status{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 15px;border-radius:999px;color:#fff!important;font-size:13px;font-weight:900;letter-spacing:.06em;box-shadow:0 8px 18px rgba(0,0,0,.16);}
.kkui-single-status--sale{background:linear-gradient(135deg,#ef5b32,#c93420);}
.kkui-single-status--soldout{background:linear-gradient(135deg,#4b5960,#202b30);}

/* 0.10.0-test31: final product-page polish, native sale cleanup and gift-card fields. */
body.kkui-active.single-product .wp-block-spacer:last-child,
body.kkui-active.single-product main > .wp-block-spacer:last-child,
body.kkui-active.single-product .wp-site-blocks > main + .wp-block-spacer,
body.kkui-active.single-product .site-main > :last-child.wp-block-spacer,
body.kkui-active.single-product .site-content > :last-child.wp-block-spacer {
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
body.kkui-active.single-product .wp-site-blocks > footer,
body.kkui-active.single-product footer.site-footer,
body.kkui-active.single-product #colophon {
  margin-top:0!important;
}

/* Never show the theme / badge-plugin sale mark on the product image. */
body.kkui-active.single-product .onsale,
body.kkui-active.single-product .wc-block-grid__product-onsale,
body.kkui-active.single-product .wc-block-components-product-sale-badge,
body.kkui-active.single-product .asnp-esb-badge-element,
body.kkui-active.single-product [class*="asnp-esb-productBadge"],
body.kkui-active.single-product .asnp-esb-badge-group-out-of-image,
body.kkui-active.single-product [class*="sale-badge"]:not(.kkui-single-status),
body.kkui-active.single-product [class*="badge"][aria-label*="Ale" i] {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
/* Preserve the image wrapper even when the old badge plugin wrote inline display:none. */
body.kkui-active.single-product .asnp-sale-badge-image-wrapper {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.kkui-active.single-product .asnp-sale-badge-image-wrapper > img {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Gift-card recipient / sender / message fields as one premium information card. */
body.kkui-active.single-product .kkui-gift-card-fields {
  margin:24px 0 18px!important;
  padding:20px!important;
  border:1px solid #dce5e2!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#f8faf9 0%,#eef3f1 100%)!important;
  box-shadow:0 12px 30px rgba(10,55,63,.08)!important;
}
body.kkui-active.single-product .kkui-gift-card-fields__title {
  margin:0 0 16px!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:850!important;
  color:#102f36!important;
}
body.kkui-active.single-product .kkui-gift-card-field {
  margin:0 0 15px!important;
}
body.kkui-active.single-product .kkui-gift-card-field:last-child { margin-bottom:0!important; }
body.kkui-active.single-product .kkui-gift-card-field label,
body.kkui-active.single-product .kkui-gift-card-field > strong,
body.kkui-active.single-product .kkui-gift-card-field > b {
  display:block!important;
  margin:0 0 7px!important;
  font-size:13px!important;
  font-weight:800!important;
  color:#183d43!important;
}
body.kkui-active.single-product .kkui-gift-card-field input:not([type="checkbox"]):not([type="radio"]),
body.kkui-active.single-product .kkui-gift-card-field textarea {
  box-sizing:border-box!important;
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid #cfdad7!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#14272c!important;
  font:inherit!important;
  box-shadow:inset 0 1px 2px rgba(10,55,63,.04)!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}
body.kkui-active.single-product .kkui-gift-card-field textarea {
  min-height:120px!important;
  resize:vertical!important;
}
body.kkui-active.single-product .kkui-gift-card-field input:focus,
body.kkui-active.single-product .kkui-gift-card-field textarea:focus {
  outline:0!important;
  border-color:#07965c!important;
  box-shadow:0 0 0 3px rgba(7,150,92,.12)!important;
}
body.kkui-active.single-product .kkui-gift-card-field small,
body.kkui-active.single-product .kkui-gift-card-field .description,
body.kkui-active.single-product .kkui-gift-card-field [class*="remaining"] {
  display:block!important;
  margin-top:6px!important;
  color:#68777a!important;
  font-size:12px!important;
}
@media(max-width:700px){
  body.kkui-active.single-product .kkui-gift-card-fields{padding:15px!important;border-radius:13px!important;}
}

/* 0.10.0-test32: remove block-theme spacing strips above and below the product page. */
body.kkui-active.single-product .wp-site-blocks {
  gap:0!important;
  row-gap:0!important;
}
body.kkui-active.single-product .wp-site-blocks > header,
body.kkui-active.single-product .wp-site-blocks > main,
body.kkui-active.single-product .wp-site-blocks > footer,
body.kkui-active.single-product .wp-site-blocks > .wp-block-template-part {
  margin-block-start:0!important;
  margin-block-end:0!important;
}
body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs:has(.woocommerce-breadcrumb),
body.kkui-active.single-product .wc-block-breadcrumbs:has(.woocommerce-breadcrumb),
body.kkui-active.single-product .kkui-breadcrumb-wrap:has(.woocommerce-breadcrumb) {
  margin-bottom:0!important;
}
body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs + .wp-block-spacer,
body.kkui-active.single-product .wc-block-breadcrumbs + .wp-block-spacer,
body.kkui-active.single-product .kkui-breadcrumb-wrap + .wp-block-spacer,
body.kkui-active.single-product main > .wp-block-spacer:first-child,
body.kkui-active.single-product main > .wp-block-spacer:last-child,
body.kkui-active.single-product .wp-site-blocks > main + .wp-block-spacer,
body.kkui-active.single-product .wp-site-blocks > .wp-block-spacer:has(+ footer),
body.kkui-active.single-product .wp-site-blocks > .wp-block-spacer:has(+ .wp-block-template-part) {
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
body.kkui-active.single-product main,
body.kkui-active.single-product .site-main,
body.kkui-active.single-product #primary,
body.kkui-active.single-product .site-content,
body.kkui-active.single-product .wp-site-blocks > main {
  margin-top:0!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body.kkui-active.single-product main > :last-child,
body.kkui-active.single-product .site-main > :last-child,
body.kkui-active.single-product .site-content > :last-child {
  margin-bottom:0!important;
}
@media(max-width:1370px){
  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs:has(.woocommerce-breadcrumb),
  body.kkui-active.single-product .wc-block-breadcrumbs:has(.woocommerce-breadcrumb),
  body.kkui-active.single-product .kkui-breadcrumb-wrap:has(.woocommerce-breadcrumb) {
    margin-bottom:0!important;
  }
}

/* 0.10.0-test32.4: mobile breadcrumb alignment and grey spacing. */
@media (max-width: 900px) {
  body.kkui-active.single-product .kkui-navigation__header-spacer {
    display:block!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0!important;
    background:#ededed!important;
  }

  body.kkui-active.single-product main,
  body.kkui-active.single-product .site-main,
  body.kkui-active.single-product #primary,
  body.kkui-active.single-product .site-content,
  body.kkui-active.single-product .wp-site-blocks > main {
    background:#ededed!important;
  }

  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs:has(.woocommerce-breadcrumb),
  body.kkui-active.single-product .wc-block-breadcrumbs:has(.woocommerce-breadcrumb),
  body.kkui-active.single-product .kkui-breadcrumb-wrap:has(.woocommerce-breadcrumb) {
    box-sizing:border-box!important;
    width:var(--kkui-aligned-width)!important;
    max-width:var(--kkui-aligned-width)!important;
    margin:0 auto 12px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }

  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs:has(.woocommerce-breadcrumb) > .woocommerce-breadcrumb,
  body.kkui-active.single-product .wc-block-breadcrumbs:has(.woocommerce-breadcrumb) > .woocommerce-breadcrumb,
  body.kkui-active.single-product .kkui-breadcrumb-wrap:has(.woocommerce-breadcrumb) > .woocommerce-breadcrumb,
  body.kkui-active.single-product nav.woocommerce-breadcrumb,
  body.kkui-active.single-product .woocommerce-breadcrumb,
  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs:not(:has(.woocommerce-breadcrumb)),
  body.kkui-active.single-product .wc-block-breadcrumbs:not(:has(.woocommerce-breadcrumb)) {
    box-sizing:border-box!important;
    width:var(--kkui-aligned-width)!important;
    max-width:var(--kkui-aligned-width)!important;
    margin:0 auto!important;
  }

  body.kkui-active.single-product .kkui-product-row {
    margin-top:0!important;
  }
}

/* 0.10.0-test32.5: exact mobile breadcrumb width and spacing fixes. */
@media (max-width: 900px) {
  body.kkui-active.single-product .kkui-navigation__header-spacer {
    display:block!important;
    height:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:0!important;
    background:#ededed!important;
  }

  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs {
    box-sizing:border-box!important;
    width:var(--kkui-aligned-width)!important;
    max-width:var(--kkui-aligned-width)!important;
    margin:0 auto!important;
    padding:0!important;
    background:transparent!important;
  }

  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs > nav.woocommerce-breadcrumb {
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }

  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs + .wp-block-spacer {
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }

  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs:has(.woocommerce-breadcrumb) {
    margin-bottom:12px!important;
  }
}


/* test32.6 breadcrumb width + grey spacing */
@media (max-width:900px){
body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs,
body.kkui-active.single-product nav.woocommerce-breadcrumb{
width:var(--kkui-aligned-width)!important;
max-width:var(--kkui-aligned-width)!important;
margin-left:auto!important;
margin-right:auto!important;
}
body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs{
background:transparent!important;
padding:0!important;
margin-top:8px!important;
margin-bottom:12px!important;
}
body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs + .wp-block-spacer{
display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;
}
body.kkui-active.single-product .kkui-navigation__header-spacer{
height:36px!important;min-height:36px!important;background:#ededed!important;
}
}

/* 0.10.0-test32.10: mobile breadcrumb width matches the outer product gallery block.
   The breadcrumb is centered inside its own padded grey wrapper; desktop is unchanged. */
@media (max-width: 900px) {
  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs,
  body.kkui-active.single-product .wc-block-breadcrumbs,
  body.kkui-active.single-product .kkui-breadcrumb-wrap {
    box-sizing: border-box !important;
    width: var(--kkui-mobile-gallery-width, calc(100vw - 40px)) !important;
    max-width: var(--kkui-mobile-gallery-width, calc(100vw - 40px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs > nav.woocommerce-breadcrumb,
  body.kkui-active.single-product .wc-block-breadcrumbs > nav.woocommerce-breadcrumb,
  body.kkui-active.single-product .kkui-breadcrumb-wrap > nav.woocommerce-breadcrumb {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.kkui-active.single-product .wp-block-woocommerce-breadcrumbs + .wp-block-spacer,
  body.kkui-active.single-product .wc-block-breadcrumbs + .wp-block-spacer,
  body.kkui-active.single-product .kkui-breadcrumb-wrap + .wp-block-spacer {
    display: block !important;
    height: 12px !important;
    min-height: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ebebeb !important;
  }
}

/* 0.10.0-test32.14: keep the full single-product canvas consistently grey up to the footer. */
body.kkui-active.single-product .wp-block-group.woocommerce.product {
  background-color: #ebebeb !important;
}

body.kkui-active.single-product .wp-block-group.woocommerce.product > .wp-block-group:not(.wp-block-template-part),
body.kkui-active.single-product .wp-block-group.woocommerce.product > .wp-block-columns {
  background-color: #ebebeb !important;
}

/* 0.10.0-test32.19: 20 px grey breathing room between product information and footer. */
body.kkui-active.single-product .wp-block-group.woocommerce.product {
  box-sizing:border-box!important;
  padding-bottom:20px!important;
  background-color:#ebebeb!important;
}


/* 0.10.0-test32.86: authoritative mobile header spacer height.
   Older product-page test rules used fixed 32-42px !important heights;
   the live header is taller, so those values caused breadcrumb overlap. */
@media (max-width: 1370px) {
  body.kkui-active.single-product .kkui-navigation__header-spacer {
    display:block !important;
    height:var(--kkui-header-spacer-height, 0px) !important;
    min-height:var(--kkui-header-spacer-height, 0px) !important;
    margin:0 !important;
    padding:0 !important;
    background:#ebebeb !important;
  }
}
