/* the child template creates one explicit sidebar/main shell. This avoids
 * the CSS-grid auto-placement bug where Woo's empty notices wrapper took
 * row 2 and pushed the product below the full height of the sidebar. */
body.kouruset.single-product .kouruset-woocommerce-shell > .container_inner {
	width: min(var(--kouruset-content), calc(100% - 40px));
	max-width: var(--kouruset-content);
	min-width: 0;
	margin-left: auto;
	margin-right: auto;
}
body.kouruset.single-product .kouruset-single-layout {
	display: grid;
	grid-template-columns: 245px minmax(0, 1fr);
	gap: 34px;
	align-items: start;
	width: 100%;
	min-width: 0;
}
body.kouruset.single-product .kouruset-single-main {
	min-width: 0;
	width: 100%;
}
body.kouruset.single-product .kouruset-single-main > .woocommerce-notices-wrapper {
	width: 100%;
	min-width: 0;
}
body.kouruset.single-product .kouruset-single-main > div.product {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
}

.kouruset-single-sidebar { min-width: 0; }

.kouruset-single-sidebar { color: #111; }
.kouruset-single-sidebar .widget { margin: 0 0 26px; }
.kouruset-single-sidebar .widget_title {
	margin: 0 0 10px;
	padding: 10px 14px;
	background: var(--kouruset-slate);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
}
.kouruset-single-sidebar .widget_product_categories ul { margin: 0; padding: 0; list-style: none; }
.kouruset-single-sidebar .widget_product_categories li { position: relative; margin: 0; padding: 0 32px 0 0; }
.kouruset-single-sidebar .widget_product_categories li a { display: block; padding: 7px 0; color: #111; line-height: 1.25; }
body.kouruset .kouruset-single-sidebar .kouruset-sidebar-editorial ul {
	margin: 8px 0 16px !important;
	padding-left: 19px !important;
	list-style: disc outside !important;
}
body.kouruset .kouruset-single-sidebar .kouruset-sidebar-editorial li {
	display: list-item !important;
	margin: 0 0 7px !important;
	padding: 0 !important;
	list-style: disc outside !important;
}
body.kouruset .kouruset-single-sidebar .kouruset-sidebar-editorial li::marker {
	color: currentColor;
}
.kouruset-single-sidebar .kouruset-sidebar-editorial p { margin: 0 0 10px; }
.kouruset-single-sidebar li.current-cat > a,
.kouruset-single-sidebar li.current-cat-ancestor > a { color: var(--kouruset-red); font-weight: 700; }
.kouruset-single-sidebar ul.children { padding-left: 14px; }
.kouruset-single-sidebar .textwidget,
.kouruset-single-sidebar .textwidget li { font-size: 14px; line-height: 1.45; }
.kouruset-single-sidebar .textwidget img { width: 100%; height: auto; }
.kouruset-sidebar-toggle { display: none; }

body.kouruset.single-product div.product { min-width: 0; }
body.kouruset.single-product div.product .summary,
body.kouruset.single-product div.product .woocommerce-product-gallery { min-width: 0; }
body.kouruset.single-product .product_title { color: #111; text-transform: none; }

/* Stack variation labels above their controls so the native selects and
 * swatches can use the full summary width without changing WooCommerce form
 * semantics. */
body.kouruset.single-product form.variations_form table.variations,
body.kouruset.single-product form.variations_form table.variations tbody,
body.kouruset.single-product form.variations_form table.variations tr,
body.kouruset.single-product form.variations_form table.variations th,
body.kouruset.single-product form.variations_form table.variations td {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}
body.kouruset.single-product form.variations_form table.variations {
	table-layout: auto;
}
body.kouruset.single-product form.variations_form table.variations tr {
	margin: 0 0 14px !important;
}
body.kouruset.single-product form.variations_form table.variations td,
body.kouruset.single-product form.variations_form table.variations th {
	padding: 0 !important;
	vertical-align: top;
}
body.kouruset.single-product form.variations_form table.variations .label {
	width: 100% !important;
	padding: 0 0 6px !important;
}
body.kouruset.single-product form.variations_form table.variations .value {
	width: 100% !important;
}
body.kouruset.single-product form.variations_form table.variations label { color: #111; font-size: 17px; font-weight: 700; }
body.kouruset.single-product form.variations_form select { width: 100%; max-width: 100%; min-height: 46px; }

.kouruset-swatches {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 8px 12px;
	width: 100%;
	margin: 0 0 10px;
}
.kouruset-swatch {
	display: grid;
	grid-template-columns: 24px minmax(0,1fr);
	align-items: center;
	gap: 9px;
	min-width: 0;
	min-height: 42px;
	padding: 7px 9px;
	border: 1px solid #c9ccd1;
	border-radius: var(--kouruset-radius);
	background: #fff;
	color: #111;
	text-align: left;
	cursor: pointer;
}
.kouruset-swatch__dot { width: 20px; height: 20px; border: 1px solid #777; border-radius: 50%; }
.kouruset-swatch__label { min-width: 0; overflow-wrap: break-word; line-height: 1.2; }
.kouruset-swatch.is-selected,
.kouruset-swatch[aria-pressed="true"] { border-color: var(--kouruset-red); box-shadow: inset 0 0 0 1px var(--kouruset-red); }
.kouruset-swatch:disabled { opacity: .4; cursor: not-allowed; }
.kouruset-native-colour-select {
	position: absolute;
	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;
}
.kouruset-color-chart-link {
	display: inline-block;
	margin: 2px 0 8px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--kouruset-red);
	text-decoration: underline;
	cursor: pointer;
}
.kouruset-color-dialog img { display: block; width: 100%; height: auto; }

.kouruset-ladder-addon {
	margin: 18px 0;
	padding: 20px;
	border: 1px solid var(--kouruset-line);
	background: #fafafa;
}
.kouruset-ladder-addon label {
	display: grid;
	grid-template-columns: 24px minmax(0,1fr) auto;
	align-items: center;
	gap: 12px;
	cursor: pointer;
}
.kouruset-ladder-addon input { width: 22px; height: 22px; margin: 0; }
.kouruset-ladder-addon__title { font-weight: 700; line-height: 1.25; }
.kouruset-ladder-addon__price { color: var(--kouruset-red); white-space: nowrap; }
.kouruset-ladder-addon p { margin: 12px 0 0 36px; }

body.kouruset.single-product .woocommerce-tabs { clear: both; width: 100%; margin-top: 34px; }
body.kouruset.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}
body.kouruset.single-product .woocommerce-tabs ul.tabs::before,
body.kouruset.single-product .woocommerce-tabs ul.tabs li::before,
body.kouruset.single-product .woocommerce-tabs ul.tabs li::after { display: none; }
body.kouruset.single-product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: transparent; }
body.kouruset.single-product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 11px 14px;
	background: var(--kouruset-slate);
	color: #fff;
	font-weight: 700;
}
body.kouruset.single-product .woocommerce-tabs ul.tabs li.active a { background: var(--kouruset-red); }
body.kouruset.single-product .woocommerce-tabs .panel[hidden] { display: none; }
body.kouruset.single-product .woocommerce-tabs .panel { min-width: 0; }

.kouruset-faq-question {
	display: block;
	width: 100%;
	padding: 14px 42px 14px 14px;
	border: 0;
	border-bottom: 1px solid var(--kouruset-line);
	background: transparent;
	color: #111;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}
.kouruset-parts table { width: 100%; border-collapse: collapse; }
.kouruset-parts td { padding: 7px 10px; border-bottom: 1px solid var(--kouruset-line); }

@media (max-width: 1000px) {
	body.kouruset.single-product .kouruset-woocommerce-shell > .container_inner {
		width: min(100% - 28px, var(--kouruset-content));
	}
	body.kouruset.single-product .kouruset-single-layout {
		grid-template-columns: minmax(0,1fr);
		row-gap: 18px;
	}
	.kouruset-sidebar-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 48px;
		padding: 12px 15px;
		border: 0;
		background: var(--kouruset-slate);
		color: #fff;
		font-weight: 700;
		cursor: pointer;
	}
	.kouruset-sidebar-toggle.is-open span { transform: rotate(45deg); }
	.kouruset-single-sidebar .kouruset-sidebar-body { display: none; padding-top: 12px; }
	.kouruset-single-sidebar .kouruset-sidebar-body.is-open { display: block; }
	.kouruset-single-sidebar .widget_product_categories .widget_title { display: none; }

	body.kouruset.single-product .woocommerce-product-gallery,
	body.kouruset.single-product div.product div.images,
	body.kouruset.single-product div.product div.summary,
	body.kouruset.single-product .summary.entry-summary {
		float: none;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	body.kouruset.single-product form.variations_form table.variations,
	body.kouruset.single-product form.variations_form table.variations tbody,
	body.kouruset.single-product form.variations_form table.variations tr,
	body.kouruset.single-product form.variations_form table.variations th,
	body.kouruset.single-product form.variations_form table.variations td {
		display: block;
		width: 100%;
		max-width: 100%;
	}
	body.kouruset.single-product form.variations_form table.variations .label { padding: 8px 0 5px; }
	.kouruset-swatches { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.kouruset-ladder-addon label { grid-template-columns: 24px minmax(0,1fr); }
	.kouruset-ladder-addon__price { grid-column: 2; }
	.kouruset-ladder-addon p { margin-left: 36px; }
	body.kouruset.single-product .woocommerce-tabs ul.tabs { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 430px) {
	.kouruset-swatches { grid-template-columns: 1fr; }
	body.kouruset.single-product .woocommerce-tabs ul.tabs { grid-template-columns: 1fr; }
}


/* validity/geometry guard: once the dxw3 gallery filter is pure, the
 * Bridge product wrapper should remain a normal two-column product layout. */
body.kouruset.single-product div.product::after {
	content: '';
	display: block;
	clear: both;
}
body.kouruset.single-product div.product .woocommerce-tabs,
body.kouruset.single-product div.product .woocommerce-tabs .panel,
body.kouruset.single-product div.product .woocommerce-Tabs-panel,
body.kouruset.single-product div.product .kouruset-video {
	max-width: 100%;
}
body.kouruset.single-product .woocommerce-tabs .panel iframe,
body.kouruset.single-product .woocommerce-tabs .panel video {
	max-width: 100%;
}

body.kouruset.single-product .woocommerce-tabs iframe[src*="youtube.com"],
body.kouruset.single-product .woocommerce-tabs iframe[src*="youtube-nocookie.com"],
body.kouruset.single-product .woocommerce-tabs iframe[src*="youtu.be"] {
	display: block;
	width: min(920px, 100%) !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	border: 0;
}


/* product geometry: Bridge's tabs-on-bottom layout is retained, but its
 * float widths are bounded inside our main column and collapse cleanly. */
body.kouruset.single-product .kouruset-single-main .product .images,
body.kouruset.single-product .kouruset-single-main .product .woocommerce-product-gallery {
	max-width: 64%;
	min-width: 0;
}
body.kouruset.single-product .kouruset-single-main .product .summary {
	max-width: 34%;
	min-width: 280px;
}
body.kouruset.single-product .kouruset-single-main .product .summary .variations_form,
body.kouruset.single-product .kouruset-single-main .product .summary .variations,
body.kouruset.single-product .kouruset-single-main .product .summary .single_variation_wrap {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}
body.kouruset.single-product .kouruset-single-main .product .woocommerce-tabs,
body.kouruset.single-product .kouruset-single-main .product .product_meta {
	clear: both;
}
body.kouruset.single-product .woocommerce-tabs .panel,
body.kouruset.single-product .woocommerce-tabs .panel > * {
	max-width: 100%;
}
body.kouruset.single-product .woocommerce-tabs iframe {
	width: min(920px, 100%) !important;
	min-height: 0 !important;
	aspect-ratio: 16 / 9;
}

@media (max-width: 1180px) {
	body.kouruset.single-product .kouruset-single-layout {
		grid-template-columns: 220px minmax(0, 1fr);
		gap: 24px;
	}
	body.kouruset.single-product .kouruset-single-main .product .summary {
		min-width: 250px;
	}
}
@media (max-width: 860px) {
	body.kouruset.single-product .kouruset-single-main .product .images,
	body.kouruset.single-product .kouruset-single-main .product .woocommerce-product-gallery,
	body.kouruset.single-product .kouruset-single-main .product .summary {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Bridge 30.8.8.8 renders tabs-on-bottom as .q_tabs, not the standard
 * .woocommerce-tabs wrapper. Own that real runtime markup explicitly. */
body.kouruset.single-product .q_tabs.horizontal {
	clear: both;
	width: 100%;
	max-width: 100%;
	padding: 38px 0 0 !important;
	margin: 0;
}
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	width: 100%;
	margin: 0 0 20px !important;
	padding: 0 !important;
	list-style: none;
	text-align: left !important;
}
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li > a {
	display: block;
	padding: 11px 14px !important;
	background: var(--kouruset-slate) !important;
	color: #fff !important;
	font-weight: 700;
	line-height: 1.2;
	text-transform: none;
}
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li.active > a,
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li > a:hover,
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li > a:focus-visible {
	background: var(--kouruset-red) !important;
	color: #fff !important;
}
body.kouruset.single-product .q_tabs.horizontal .tabs-container,
body.kouruset.single-product .q_tabs.horizontal .tab-content {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}
body.kouruset.single-product .q_tabs.horizontal .tab-content[hidden] {
	display: none !important;
}
body.kouruset.single-product .q_tabs.horizontal .tab-content iframe,
body.kouruset.single-product .q_tabs.horizontal .tab-content video {
	display: block;
	width: min(920px, 100%) !important;
	height: auto !important;
	max-width: 100% !important;
	aspect-ratio: 16 / 9;
	border: 0;
}
@media (max-width: 700px) {
	body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 430px) {
	body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav { grid-template-columns: 1fr; }
}

/* Bridge adds `.qode-product-with-gallery` only to some products, so the
 * layout must bind to the stable direct `.product` child instead. Gallery and
 * order summary share the first row, the Made in Finland badge stays below the
 * gallery, and tabs follow both columns. Woo/FlexSlider and the native
 * variation form remain the interaction and business-logic owners. */
@media (min-width: 861px) {
	body.kouruset.single-product .kouruset-single-main > .product {
		display: grid !important;
		grid-template-columns: minmax(0, .95fr) minmax(340px, 1.05fr);
		column-gap: clamp(26px, 3vw, 40px);
		row-gap: 0;
		align-items: start;
	}
	body.kouruset.single-product .kouruset-single-main > .product::after {
		content: none !important;
		display: none !important;
	}
	body.kouruset.single-product .kouruset-single-main > .product > .images,
	body.kouruset.single-product .kouruset-single-main > .product > .woocommerce-product-gallery {
		grid-column: 1;
		grid-row: 1;
		float: none !important;
		clear: none !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.kouruset.single-product .kouruset-single-main > .product > .qode-single-product-summary {
		grid-column: 2;
		grid-row: 1 / span 2;
		float: none !important;
		clear: none !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.kouruset.single-product .kouruset-single-main > .product > .qode-single-product-summary > .summary,
	body.kouruset.single-product .qode-single-product-summary .summary.entry-summary {
		float: none !important;
		clear: none !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.kouruset.single-product .kouruset-single-main > .product > .kouruset-made-in-finland-badge {
		grid-column: 1;
		grid-row: 2;
		float: none !important;
		clear: none !important;
		width: 100% !important;
		max-width: none !important;
	}
	body.kouruset.single-product .kouruset-single-main > .product > .q_tabs.horizontal {
		grid-column: 1 / -1;
		grid-row: 3;
		min-width: 0;
	}
}
body.kouruset.single-product .summary.entry-summary { container-type: inline-size; }
body.kouruset.single-product .kouruset-swatches {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)) !important;
	gap: 8px 10px !important;
	width: 100% !important;
	max-width: 100% !important;
}
body.kouruset.single-product .kouruset-swatch {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) !important;
	min-width: 0 !important;
	width: 100% !important;
	min-height: 46px !important;
	padding: 8px 10px !important;
}
body.kouruset.single-product .kouruset-swatch__dot {
	width: 24px !important;
	height: 24px !important;
}
body.kouruset.single-product .kouruset-swatch__label {
	display: block !important;
	min-width: 0 !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	writing-mode: horizontal-tb !important;
	text-orientation: mixed !important;
	font-size: 14px !important;
	line-height: 1.25 !important;
}
@container (max-width: 390px) {
	body.kouruset.single-product .kouruset-swatches { grid-template-columns: 1fr !important; }
}

/* The Made in Finland mark is a badge, not a product-gallery slide. */
body.kouruset.single-product .kouruset-made-in-finland-badge {
	float: left;
	clear: left;
	width: 54%;
	max-width: 54%;
	margin: 12px 0 18px;
	text-align: center;
}
body.kouruset.single-product .kouruset-made-in-finland-badge img {
	display: inline-block;
	width: auto !important;
	max-width: 150px !important;
	height: auto !important;
}
body.kouruset.single-product .woocommerce-product-gallery ol.flex-control-thumbs,
body.kouruset.single-product div.product div.images ol.flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(68px, 1fr)) !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 12px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
body.kouruset.single-product .woocommerce-product-gallery ol.flex-control-thumbs > li,
body.kouruset.single-product div.product div.images ol.flex-control-thumbs > li {
	float: none !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.kouruset.single-product .woocommerce-product-gallery ol.flex-control-thumbs img,
body.kouruset.single-product div.product div.images ol.flex-control-thumbs img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	border: 1px solid var(--kouruset-line);
	background: #fff;
}

/* Bridge's desktop qode-product-with-gallery presentation leaves the
 * secondary Woo slides absolutely positioned in a legacy thumbnail column.
 * Woo/FlexSlider simultaneously creates its native flex-control-thumbs row,
 * so those legacy-positioned slides can sit on top of the real controls and
 * intercept pointer input. Restore the same normal horizontal slide geometry
 * already observed on the responsive/mobile Bridge layout. FlexSlider remains
 * the only interaction owner; this is presentation normalization only. */
@media (min-width: 861px) {
	body.kouruset.single-product .woocommerce-product-gallery .flex-viewport {
		position: relative !important;
		height: auto !important;
		overflow: hidden !important;
	}
	body.kouruset.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper {
		display: flex !important;
		align-items: flex-start !important;
		width: 1000% !important;
		height: auto !important;
	}
	body.kouruset.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		display: block !important;
		flex: 0 0 10% !important;
		width: 10% !important;
		max-width: 10% !important;
		height: auto !important;
		margin: 0 !important;
		padding-left: 0 !important;
		float: none !important;
	}
}
body.kouruset.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
	position: relative !important;
	z-index: 4;
}
body.kouruset.single-product .woocommerce-product-gallery ol.flex-control-thumbs > li,
body.kouruset.single-product .woocommerce-product-gallery ol.flex-control-thumbs > li > img {
	position: relative;
	z-index: 1;
	pointer-events: auto !important;
	cursor: pointer;
}
body.kouruset.single-product .woocommerce-product-gallery ol.flex-control-thumbs img.flex-active {
	border-color: var(--kouruset-red);
	box-shadow: inset 0 0 0 1px var(--kouruset-red);
}
body.kouruset.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	top: 12px !important;
	right: 12px !important;
	left: auto !important;
	z-index: 8 !important;
	display: grid !important;
	place-items: center;
	width: 44px !important;
	height: 44px !important;
	border: 1px solid rgba(17,17,17,.18) !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,.96) !important;
	box-shadow: 0 3px 12px rgba(0,0,0,.18) !important;
}
body.kouruset.single-product .product_meta {
	display: none !important;
}
@media (max-width: 860px) {
	body.kouruset.single-product .kouruset-made-in-finland-badge {
		float: none;
		clear: both;
		width: 100%;
		max-width: 100%;
	}
}

/* Bridge tabs are navigation, not large call-to-action buttons. */
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav {
	gap: 18px !important;
	border-bottom: 1px solid var(--kouruset-line);
}
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li > a {
	padding: 10px 2px 9px !important;
	border-bottom: 3px solid transparent !important;
	background: transparent !important;
	color: var(--kouruset-slate) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li.active > a,
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li > a:hover,
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li > a:focus-visible {
	border-bottom-color: var(--kouruset-red) !important;
	background: transparent !important;
	color: #111 !important;
}
body.kouruset.single-product .q_tabs.horizontal .tab-content,
body.kouruset.single-product .q_tabs.horizontal .tab-content p,
body.kouruset.single-product .q_tabs.horizontal .tab-content li,
body.kouruset.single-product .q_tabs.horizontal .tab-content table,
body.kouruset.single-product .q_tabs.horizontal .tab-content td,
body.kouruset.single-product .q_tabs.horizontal .tab-content th {
	text-align: left !important;
}
body.kouruset.single-product .q_tabs.horizontal .tab-content > :first-child { margin-top: 0; }
/* restore the customer-requested light-grey information surface without
 * reintroducing the old large red tab blocks. */
body.kouruset.single-product .q_tabs.horizontal .tab-content {
	box-sizing: border-box !important;
	padding: clamp(26px, 3vw, 44px) !important;
	border: 1px solid var(--kouruset-line) !important;
	background: var(--kouruset-soft) !important;
}
body.kouruset.single-product .q_tabs.horizontal .tab-content h1,
body.kouruset.single-product .q_tabs.horizontal .tab-content h2,
body.kouruset.single-product .q_tabs.horizontal .tab-content h3,
body.kouruset.single-product .q_tabs.horizontal .tab-content h4 {
	color: #111 !important;
}
@media (max-width: 700px) {
	body.kouruset.single-product .q_tabs.horizontal .tab-content {
		padding: 22px 18px !important;
	}
}
body.kouruset.single-product .kouruset-faq-question {
	position: relative;
	width: 100% !important;
	margin: 0 !important;
	padding: 13px 36px 13px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--kouruset-line) !important;
	background: transparent !important;
	color: #111 !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}
body.kouruset.single-product .kouruset-faq-question::after {
	content: '+';
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--kouruset-red);
	font-size: 20px;
	font-weight: 700;
}
body.kouruset.single-product .kouruset-faq-question[aria-expanded="true"]::after { content: '−'; }
body.kouruset.single-product .kouruset-faq-question + .schema-faq-answer,
body.kouruset.single-product .kouruset-faq-question + .faq-answer {
	padding: 12px 0 16px !important;
	text-align: left !important;
}

/* Display-only combined ladder total; server cart pricing remains Woo-owned. */
.kouruset-ladder-addon__combined {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin: 14px 0 0 36px;
	padding-top: 12px;
	border-top: 1px solid var(--kouruset-line);
}
.kouruset-ladder-addon__combined[hidden] { display: none !important; }
.kouruset-ladder-addon__combined strong { color: var(--kouruset-red); white-space: nowrap; }

@media (max-width: 700px) {
	body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav {
		display: flex !important;
		gap: 10px !important;
		overflow-x: auto;
		flex-wrap: nowrap !important;
	}
	body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li { flex: 0 0 auto; }
}

/* measurement-led product convergence. */
body.kouruset.single-product .product_title,
body.kouruset.single-product h1.product_title.entry-title {
	line-height: 1.2 !important;
	margin-bottom: 10px !important;
}
body.kouruset.single-product .woocommerce-product-rating,
body.kouruset.single-product .qodef-woo-product-rating { line-height: 1.35 !important; }
body.kouruset.single-product .kouruset-review-jump {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}
body.kouruset.single-product .kouruset-review-jump:hover,
body.kouruset.single-product .kouruset-review-jump:focus-visible { color: var(--kouruset-red); }

/* Keep the product shell single-column at narrow widths. A wider parent-theme
 * breakpoint must not reintroduce the desktop columns inside the phone layout. */
@media (max-width: 1000px) {
	body.kouruset.single-product .kouruset-single-layout {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 18px !important;
	}
	body.kouruset.single-product .kouruset-single-main,
	body.kouruset.single-product .kouruset-single-main > div.product {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
}
@media (max-width: 860px) {
	body.kouruset.single-product .kouruset-single-main .product .images,
	body.kouruset.single-product .kouruset-single-main .product .woocommerce-product-gallery,
	body.kouruset.single-product .kouruset-single-main .product .summary,
	body.kouruset.single-product .summary.entry-summary {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	body.kouruset.single-product .kouruset-swatches {
		grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
	}
}
@media (max-width: 430px) {
	body.kouruset.single-product .kouruset-woocommerce-shell > .container_inner {
		width: calc(100% - 28px) !important;
		max-width: calc(100% - 28px) !important;
	}
	body.kouruset.single-product .kouruset-swatches { grid-template-columns: 1fr !important; }
}


/* product polish. */
body.kouruset.single-product .product_title {
	line-height: 1.22 !important;
	margin-bottom: 14px !important;
}
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li,
body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li > a { box-sizing: border-box; }
@media (max-width: 700px) {
	body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 4px !important;
		overflow-x: auto !important;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
	}
	body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav::-webkit-scrollbar { display: none; }
	body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: 0 !important;
	}
	body.kouruset.single-product .q_tabs.horizontal > ul.tabs-nav > li > a {
		display: block !important;
		width: auto !important;
		min-width: max-content !important;
		padding: 10px 11px !important;
		white-space: nowrap !important;
	}
}
