/* Keep archive and homepage product names to two lines. */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .product-loop__title,
ul.products li.product .product-loop-title { display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 2 !important; line-clamp: 2 !important; line-height: 1.4 !important; height: 2.8em !important; max-height: 2.8em !important; overflow: hidden !important; }

/* Keep unusually tall or wide source photos inside a consistent catalog tile. */
body.woocommerce.archive ul.products li.product .product-thumbnail,
body.search .age-scs-product-search ul.products li.product .product-thumbnail {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
body.woocommerce.archive ul.products li.product .product-thumbnail > .woocommerce-loop-product__link,
body.search .age-scs-product-search ul.products li.product .product-thumbnail > .woocommerce-loop-product__link {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
body.woocommerce.archive ul.products li.product .product-thumbnail > .woocommerce-loop-product__link img,
body.search .age-scs-product-search ul.products li.product .product-thumbnail > .woocommerce-loop-product__link img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.age-scs-add-to-cart-note { display: none !important; }
.age-scs-add-to-cart-note__mark { align-items: center; background: #1e2723; border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 28px; font-size: 11px; font-weight: 700; height: 28px; justify-content: center; letter-spacing: .04em; }
.age-scs-add-to-cart-note strong, .age-scs-add-to-cart-note span { display: block; }
.age-scs-add-to-cart-note strong { color: #263029; font-size: 13px; font-weight: 600; line-height: 1.35; }
.age-scs-add-to-cart-note div span { color: #69736c; font-size: 12px; line-height: 1.45; margin-top: 2px; }
.age-scs-cart-brand-module, .age-scs-product-brand-module { display: none !important; }
body.age-scs-brand-route-a .age-scs-add-to-cart-note { background: #f4eee8; border-color: #e5d9ce; }
body.age-scs-brand-route-b .age-scs-add-to-cart-note { background: #eef5f7; border-color: #d6e5e9; }
body.age-scs-brand-route-c .age-scs-add-to-cart-note { background: #f7f1ed; border-color: #eaded5; }
.single-product form.variations_form .variations { border: 0; margin: 0; }
.single-product form.variations_form .variations tr { border: 0; display: block; margin: 0 0 22px; }
.single-product form.variations_form .variations td.label { display: block; padding: 0 0 9px; width: auto; }
.single-product form.variations_form .variations td.label label { color: #1d211f; font-size: 11px; font-weight: 600; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
.single-product form.variations_form .variations td.value { display: block; padding: 0; width: auto; }
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__wrapper { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; }
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__item { background: #fff; border: 1px solid #d5d9d5; border-radius: 999px; box-shadow: none; color: #343936; font-size: 13px; font-weight: 500; line-height: 1.35; max-width: 100%; min-height: 40px; padding: 9px 16px; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease; }
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__item:hover, .single-product .wcboost-variation-swatches .wcboost-variation-swatches__item:focus-visible, .single-product .wcboost-variation-swatches .wcboost-variation-swatches__item.selected { background: #1e2723; border-color: #1e2723; box-shadow: 0 5px 14px rgba(25, 35, 29, .14); color: #fff; outline: 0; transform: translateY(-1px); }
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__item.disabled { background: #f5f6f4; border-color: #e1e4e1; color: #a0a6a1; cursor: not-allowed; opacity: .7; }
.single-product form.variations_form .wcboost-variation-swatches__item.disabled,
.single-product form.variations_form .wcboost-variation-swatches__item.is-invalid { pointer-events: none !important; cursor: not-allowed !important; }
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__name { line-height: inherit; white-space: normal; }
.single-product form.variations_form .reset_variations { color: #6d746f; display: inline-flex; font-size: 12px; letter-spacing: .08em; margin-top: 4px; text-decoration: underline; text-underline-offset: 3px; }
/* Route-aware cart brand modules */
.woocommerce-cart .age-scs-cart-brand-module, .single-product .age-scs-product-brand-module { border-top: 1px solid #e3e6e2; margin: clamp(42px, 6vw, 84px) auto 0; max-width: 1200px; padding: clamp(30px, 5vw, 58px) 0 10px; }
.age-scs-cart-brand-module__header { margin-bottom: 24px; }
.age-scs-cart-brand-module__eyebrow { color: #7b847d; display: block; font-size: 10px; font-weight: 700; letter-spacing: .18em; margin-bottom: 9px; text-transform: uppercase; }
.age-scs-cart-brand-module__title { color: #1f2722; font-size: clamp(23px, 3vw, 34px); font-weight: 500; letter-spacing: -.02em; line-height: 1.15; margin: 0; }
.age-scs-cart-brand-module__intro { color: #68716b; font-size: 14px; line-height: 1.7; margin: 10px 0 0; max-width: 570px; }
.age-scs-cart-brand-module__grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.age-scs-cart-brand-module__card { background: #f6f7f4; border: 1px solid #e1e5e0; min-height: 150px; padding: 21px; }
.age-scs-cart-brand-module__card-number { color: #8b948d; display: block; font-size: 11px; letter-spacing: .12em; margin-bottom: 26px; }
.age-scs-cart-brand-module__card-title { color: #263029; display: block; font-size: 15px; font-weight: 600; margin-bottom: 7px; }
.age-scs-cart-brand-module__card-copy { color: #69736c; display: block; font-size: 13px; line-height: 1.6; }
body.age-scs-brand-route-a .age-scs-brand-module { border-top-color: #d9d0c7; } body.age-scs-brand-route-a .age-scs-cart-brand-module__card { background: #f4eee8; border-color: #e5d9ce; }
body.age-scs-brand-route-b .age-scs-brand-module { border-top-color: #c7d8df; } body.age-scs-brand-route-b .age-scs-cart-brand-module__card { background: #eef5f7; border-color: #d6e5e9; }
body.age-scs-brand-route-c .age-scs-brand-module { border-top-color: #ddcec4; } body.age-scs-brand-route-c .age-scs-cart-brand-module__card { background: #f7f1ed; border-color: #eaded5; }
@media (max-width: 700px) { .age-scs-cart-brand-module__grid { grid-template-columns: 1fr; } .age-scs-cart-brand-module__card { min-height: 0; } .age-scs-cart-brand-module__card-number { margin-bottom: 16px; } }

/* Refined variation controls: compact cards that match the storefront UI. */
.single-product form.variations_form .variations tr { margin-bottom: 26px; }
.single-product form.variations_form .variations td.label { padding-bottom: 10px; }
.single-product form.variations_form .variations td.label label {
	color: #263029;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: none;
}

/* Cart quantity controls: keep the wrapper and all three controls compact. */
.woocommerce-cart.woocommerce-cart table.shop_table .product-qty > .woocommerce-cart-item__qty > .quantity,
.woocommerce-cart.woocommerce-cart table.shop_table .product-qty .quantity,
.woocommerce-cart.woocommerce-cart .product-qty-number .quantity {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	line-height: 34px !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}
.woocommerce-cart.woocommerce-cart table.shop_table .product-qty .quantity > .razzi-qty-button,
.woocommerce-cart.woocommerce-cart .product-qty-number .quantity > .razzi-qty-button {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 30px !important;
	width: 30px !important;
	height: 32px !important;
	min-height: 32px !important;
	max-height: 32px !important;
	padding: 0 !important;
	line-height: 32px !important;
}
.woocommerce-cart.woocommerce-cart table.shop_table .product-qty .quantity > .qty,
.woocommerce-cart.woocommerce-cart .product-qty-number .quantity > .qty {
	box-sizing: border-box !important;
	flex: 1 1 auto !important;
	width: 34px !important;
	height: 32px !important;
	min-height: 32px !important;
	max-height: 32px !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 32px !important;
	text-align: center !important;
}

/* WooCommerce Blocks cart uses a different quantity component than the
 * classic Razzi table. Keep that control compact as well. */
.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}
.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector__input,
.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector__button {
	box-sizing: border-box !important;
	height: 32px !important;
	min-height: 32px !important;
	max-height: 32px !important;
	line-height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector__input {
	flex: 1 1 auto !important;
	width: 34px !important;
	text-align: center !important;
}
.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector__button {
	flex: 0 0 30px !important;
	width: 30px !important;
}

/* Fixed fallback catalog filters (category + price) used when the widget has
 * no saved per-site configuration. */
.age-scs-catalog-filter-fallback .age-scs-catalog-filter-form {
	display: grid;
	gap: 18px;
}
.age-scs-catalog-filter-fallback .age-scs-catalog-filter-field {
	display: grid;
	gap: 8px;
}
.age-scs-catalog-filter-fallback .age-scs-catalog-filter-field > label,
.age-scs-catalog-filter-fallback .age-scs-catalog-filter-label {
	font-size: 14px;
	font-weight: 600;
}
.age-scs-catalog-filter-fallback select,
.age-scs-catalog-filter-fallback input {
	box-sizing: border-box;
	border: 1px solid var(--rz-border-color-gray, #d9d9d9);
	border-radius: 3px;
	min-height: 42px;
	padding: 8px 12px;
	width: 100%;
}
.age-scs-catalog-filter-fallback .age-scs-catalog-filter-price-fields {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.age-scs-catalog-filter-fallback .age-scs-catalog-filter-actions {
	display: flex;
	gap: 8px;
}
.age-scs-catalog-filter-fallback .age-scs-catalog-filter-actions .button {
	flex: 1 1 0;
	box-sizing: border-box;
	height: 46px !important;
	min-height: 46px !important;
	line-height: 46px !important;
	padding: 0 18px !important;
	border-radius: 2px;
	text-align: center;
}
.age-scs-catalog-filter-fallback .age-scs-catalog-filter-actions .button.alt {
	border: 1px solid var(--rz-border-color-gray, #d9d9d9);
	background: transparent;
	color: var(--age-home-ink, #1d1d1d);
}

/* Product SKUs are not part of the storefront content contract. Hide the
 * wrapper as a fallback for cached/third-party WooCommerce markup too. */
.single-product .product_meta .sku_wrapper,
.single-product .sku_wrapper {
	display: none !important;
}
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__wrapper { gap: 8px; }
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__item {
	align-items: center;
	background: #fff !important;
	border: 1px solid #dfe3df !important;
	border-radius: 7px !important;
	box-shadow: none !important;
	color: #354039 !important;
	display: inline-flex;
	font-size: 14px !important;
	font-weight: 400 !important;
	justify-content: center;
	line-height: 1.35;
	min-height: 38px !important;
	padding: 8px 14px !important;
	transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
	transform: none;
}
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__item:hover,
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__item:focus-visible,
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__item.selected {
	background: #f3f6f2 !important;
	border-color: #1e2723 !important;
	box-shadow: inset 0 0 0 1px #1e2723 !important;
	color: #1e2723 !important;
	outline: 0;
	transform: none;
}
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__item.disabled {
	background: #f7f8f6 !important;
	border-color: #e5e8e4 !important;
	color: #a5aca6 !important;
	opacity: .75;
}
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item {
	min-width: 70px !important;
}
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item {
	justify-content: flex-start;
	max-width: 100%;
	text-align: left;
}
.single-product .wcboost-variation-swatches .wcboost-variation-swatches__name { white-space: normal !important; }

/* Cart quantity: reduce the tall Razzi control to a compact 34px row. */
.woocommerce-cart table.shop_table .product-qty .quantity,
.woocommerce-cart .woocommerce-cart-item__qty .quantity,
.woocommerce-cart .product-qty-number .quantity {
	align-items: center;
	display: inline-flex;
	height: 34px !important;
	min-height: 34px !important;
	margin: 0;
	overflow: hidden;
	border-radius: 6px;
}
.woocommerce-cart table.shop_table .product-qty .quantity .razzi-qty-button,
.woocommerce-cart .woocommerce-cart-item__qty .quantity .razzi-qty-button,
.woocommerce-cart .product-qty-number .quantity .razzi-qty-button {
	align-items: center;
	display: inline-flex;
	height: 32px;
	justify-content: center;
	padding: 0;
	width: 30px;
}
.woocommerce-cart table.shop_table .product-qty .quantity .razzi-qty-button::before,
.woocommerce-cart .woocommerce-cart-item__qty .quantity .razzi-qty-button::before,
.woocommerce-cart .product-qty-number .quantity .razzi-qty-button::before { display: none; }
.woocommerce-cart table.shop_table .product-qty .quantity .qty,
.woocommerce-cart .woocommerce-cart-item__qty .quantity .qty,
.woocommerce-cart .product-qty-number .quantity .qty {
	border: 0 !important;
	height: 32px !important;
	line-height: 32px !important;
	min-height: 32px !important;
	padding: 0 !important;
	text-align: center;
	width: 34px !important;
}
@media (max-width: 600px) {
	.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item { width: 100%; }
}

/* Keep the product purchase controls on one compact row on phones. */
@media (max-width: 767px) {
	.single-product div.product .product-button-wrapper {
		align-items: stretch;
		flex-wrap: nowrap;
		gap: 8px;
		padding-top: 10px;
	}
	.single-product div.product .product-button-wrapper > * {
		margin-bottom: 0;
		min-width: 0;
		width: auto !important;
	}
	.single-product div.product .product-button-wrapper > .quantity {
		box-sizing: border-box;
		flex: 0 0 104px;
		height: 48px;
		margin-right: 0;
		width: 104px !important;
		overflow: hidden;
	}
	/* Variable-product forms render the submit button directly (without
	 * Razzi's usual p.cart wrapper). Keep that variant on the same row. */
	.single-product div.product .woocommerce-variation-add-to-cart .product-button-wrapper > .single_add_to_cart_button {
		box-sizing: border-box;
		flex: 1 1 auto !important;
		height: 48px !important;
		line-height: 48px !important;
		margin: 0 !important;
		min-width: 0 !important;
		padding: 0 10px !important;
		width: auto !important;
	}
	.single-product div.product .woocommerce-variation-add-to-cart .product-button-wrapper > .quantity {
		flex-basis: 104px !important;
		width: 104px !important;
	}
	.single-product div.product .woocommerce-variation-add-to-cart .product-button-wrapper > .quantity,
	.single-product div.product .woocommerce-variation-add-to-cart .product-button-wrapper > .quantity > * {
		box-sizing: border-box;
	}
	.single-product div.product .woocommerce-variation-add-to-cart .product-button-wrapper > .quantity .razzi-qty-button {
		flex: 0 0 30px !important;
		width: 30px !important;
	}
	/* Use three equal columns so minus/number/plus stay visually balanced. */
	.single-product div.product .product-button-wrapper > .quantity {
		display: grid !important;
		grid-template-columns: 30px minmax(0, 1fr) 30px;
		padding: 0 !important;
	}
	.single-product div.product .product-button-wrapper > .quantity .razzi-qty-button {
		align-items: center !important;
		display: inline-flex !important;
		justify-content: center !important;
		padding: 0 !important;
		width: auto !important;
	}
	.single-product div.product .product-button-wrapper > .quantity .qty {
		margin: 0 !important;
		text-align: center !important;
		width: auto !important;
	}
	.single-product div.product .product-button-wrapper p.cart {
		flex: 1 1 auto;
		margin: 0;
		width: auto !important;
	}
	.single-product div.product .product-button-wrapper p.cart .single_add_to_cart_button {
		line-height: 48px;
		min-width: 0;
		padding: 0 10px;
		width: 100% !important;
	}
	.single-product div.product .product-button-wrapper .quantity .qty,
	.single-product div.product .product-button-wrapper .quantity .qty-dropdown .current {
		box-sizing: border-box;
		height: 48px;
		line-height: 48px;
	}
	.single-product div.product .product-button-wrapper > .quantity .razzi-qty-button {
		box-sizing: border-box;
		flex: 0 0 28px;
		width: 28px !important;
		padding: 0 !important;
	}
	.single-product div.product .product-button-wrapper > .quantity .qty {
		flex: 1 1 auto;
		width: auto !important;
		min-width: 0;
		padding: 0 !important;
	}
	.single-product div.product .product-button-wrapper .rz-atc-group {
		align-items: stretch;
		flex: 1 1 auto;
		flex-direction: row;
		gap: 8px;
		min-width: 0;
		width: auto !important;
	}
	.single-product div.product .product-button-wrapper .rz-atc-group > * {
		flex: 1 1 0;
		margin: 0;
		min-width: 0;
	}
}

/* Keep the clear-variation icon in the value cell. The parent theme
 * positions it at the top-right of the form, where it can overlap the
 * size-guide link in the attribute label. */
.single-product form.variations_form .variations td.value > .reset_variations {
	position: static !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin: 8px 0 0 8px !important;
	vertical-align: top;
}
.single-product form.variations_form .variations td.value > .reset_variations svg {
	width: 14px;
	height: 14px;
}
.single-product form.variations_form .variations td.label > .age-scs-size-guide-trigger {
	position: static !important;
	flex: 0 0 auto !important;
	align-self: center;
	margin: 0 0 0 auto !important;
}
.single-product form.variations_form .variations td.label > .reset_variations {
	position: static !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px !important;
	width: 18px;
	height: 18px;
	margin: 0 0 0 8px !important;
	vertical-align: middle;
}

/* Short purchase reassurance directly below the add-to-cart action. */
.single-product .age-scs-product-trust {
	box-sizing: border-box;
	margin: 18px 0 0;
	padding: 14px 0;
	border-top: 1px solid #e2e6e2;
	border-bottom: 1px solid #e2e6e2;
}
.single-product .age-scs-product-trust__items,
.single-product .age-scs-product-decision {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}
.single-product .age-scs-product-trust__item {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	padding: 0 12px;
	color: #263029;
	font-size: 12px;
	line-height: 1.35;
}
.single-product .age-scs-product-trust__item + .age-scs-product-trust__item {
	border-left: 1px solid #e2e6e2;
}
.single-product .age-scs-product-trust__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 21px;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background: #edf3ee;
	color: #466b50;
	font-size: 12px;
	font-weight: 700;
}
.single-product .age-scs-product-trust__label {
	min-width: 0;
}
.single-product .age-scs-product-decision__item {
	display: grid;
	gap: 4px;
	min-width: 0;
	padding: 0 14px;
	color: #263029;
	font-size: 12px;
	line-height: 1.35;
}
.single-product .age-scs-product-decision__item + .age-scs-product-decision__item {
	border-left: 1px solid #e2e6e2;
}
.single-product .age-scs-product-decision__item > span {
	color: #6b716d;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.single-product .age-scs-product-decision__item > strong {
	min-width: 0;
	color: #263029;
	font-size: 12px;
	font-weight: 600;
	overflow-wrap: anywhere;
}
.single-product .age-scs-product-decision__item .price,
.single-product .age-scs-product-decision__item ins {
	color: inherit;
}
/* Shared countdown primitives. Route B adds the test-site presentation and
 * placement rules below; it intentionally contains only hours, minutes and
 * seconds. */
.single-product div.product .summary-price-box > .age-scs-sale-clock[hidden] { display: none !important; }
.single-product div.product .summary-price-box > .age-scs-sale-clock:not([hidden]) { display: flex !important; align-items: center; justify-content: space-between; flex: 0 0 100% !important; box-sizing: border-box; width: 100% !important; max-width: 100%; gap: 12px; margin: 10px 0 0; padding: 10px 12px; border: 1px solid #f1d7ce; border-radius: 8px; background: #fff8f5; color: #763e2d; font-variant-numeric: tabular-nums; }
.single-product .age-scs-sale-clock .saleText { display: inline-flex; align-items: center; gap: 8px; min-width: 0; font-size: 13px; line-height: 1.4; }
.single-product .age-scs-sale-clock .saleText svg { flex: 0 0 18px; }
.single-product .age-scs-sale-clock .saleTime { display: inline-flex; gap: 3px; align-items: center; font-size: 16px; font-weight: 700; white-space: nowrap; }
.single-product .age-scs-sale-clock .saleTime b { font-weight: inherit; }
@media (max-width: 360px) { .single-product div.product .summary-price-box > .age-scs-sale-clock:not([hidden]) { flex-wrap: wrap; } }
.single-product .age-scs-product-countdown--price {
	display: block;
	width: max-content;
	max-width: 100%;
	margin: 10px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
}
.single-product .age-scs-product-countdown__units {
	display: grid;
	grid-template-columns: repeat(3, minmax(52px, 1fr));
	gap: 6px;
}
.single-product .age-scs-product-countdown__unit {
	display: grid;
	justify-items: center;
	gap: 1px;
	min-width: 52px;
	padding: 5px 7px;
	border-radius: 3px;
	background: #e8f2f5;
}
.single-product .age-scs-product-countdown__unit strong {
	color: #193b52;
	font-size: 16px;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}
.single-product .age-scs-product-countdown__unit small {
	color: #52727f;
	font-size: 9px;
	line-height: 1.25;
}
/* WooCommerce/Razzi places the hook inside .product-button-wrapper, which is
 * a flex row. Force the reassurance row onto its own full-width line instead
 * of letting it shrink beside the quantity and add-to-cart controls. */
.single-product div.product .product-button-wrapper {
	flex-wrap: wrap !important;
}
.single-product div.product .product-button-wrapper > .age-scs-product-trust {
	box-sizing: border-box !important;
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	order: 99 !important;
}
body.age-scs-brand-route-a .age-scs-product-trust { border-color: #e5d9ce; }
body.age-scs-brand-route-a .age-scs-product-trust__mark { background: #f4eee8; color: #866b55; }
body.age-scs-brand-route-b .age-scs-product-trust { border-color: #d6e5e9; }
body.age-scs-brand-route-b .age-scs-product-trust__mark { background: #eef5f7; color: #477483; }
body.age-scs-brand-route-c .age-scs-product-trust { border-color: #eaded5; background: #fdfbf9; }
body.age-scs-brand-route-c .age-scs-product-decision__item + .age-scs-product-decision__item { border-color: #eaded5; }
body.age-scs-brand-route-c .age-scs-product-decision__item > span { color: #957865; }
@media (max-width: 767px) {
	.single-product .age-scs-product-trust {
		padding: 12px 0;
	}
	.single-product .age-scs-product-trust__items,
	.single-product .age-scs-product-decision {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.single-product .age-scs-product-trust__item {
		padding: 0;
	}
	.single-product .age-scs-product-trust__item + .age-scs-product-trust__item {
		padding-top: 10px;
		border-top: 1px solid #e2e6e2;
		border-left: 0;
	}
	.single-product .age-scs-product-decision__item {
		grid-template-columns: minmax(82px, .7fr) minmax(0, 1.3fr);
		align-items: baseline;
		gap: 12px;
		padding: 0;
	}
	.single-product .age-scs-product-decision__item + .age-scs-product-decision__item {
		padding-top: 10px;
		border-top: 1px solid #eaded5;
		border-left: 0;
	}
	.single-product .age-scs-product-countdown--price {
		width: 100%;
		margin-top: 9px;
	}
	.single-product .age-scs-product-countdown__units {
		grid-template-columns: repeat(3, minmax(0, 70px));
		gap: 6px;
	}
	.single-product .age-scs-product-countdown__unit {
		min-width: 0;
		padding: 6px 3px;
	}
}

/* Route B product summary: keep the offer hierarchy easy to scan.  The
 * countdown is intentionally a test-site conversion aid, so it sits below a
 * standalone price row and above the short description. */
body.age-scs-brand-route-b.single-product div.product .summary-price-box {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	width: 100%;
	margin: 0 0 14px;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .price {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin: 0 !important;
	font-size: 26px;
	line-height: 1.2;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .price del {
	margin-right: 10px;
	font-size: 17px;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .price ins {
	font-size: 27px;
	font-weight: 600;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .rz-stock {
	margin-top: 4px;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price {
	box-sizing: border-box;
	display: block !important;
	flex: 0 0 auto !important;
	width: 100%;
	max-width: 100%;
	margin: 9px 0 0;
	padding: 8px 10px;
	border: 1px solid #d6e8ed;
	border-radius: 4px;
	background: #eef6f8;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__units {
	width: 100%;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit {
	min-width: 0;
	padding: 5px 6px;
	border: 1px solid rgba(214, 232, 237, .8);
	background: rgba(255, 255, 255, .56);
}
body.age-scs-brand-route-b.single-product div.product .woocommerce-product-details__short-description {
	margin-top: 0 !important;
	margin-bottom: 18px !important;
}
body.age-scs-brand-route-b.single-product div.product .woocommerce-product-details__short-description p {
	margin-bottom: 6px;
}
body.age-scs-brand-route-b.single-product form.variations_form .variations tr {
	margin-bottom: 8px;
}
body.age-scs-brand-route-b.single-product form.variations_form .variations td.label {
	padding-bottom: 7px;
}
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item {
	box-sizing: border-box;
	max-width: 100%;
	white-space: normal;
	overflow-wrap: anywhere;
}
body.age-scs-brand-route-b.single-product div.product .product_meta {
	margin: 10px 0;
}
body.age-scs-brand-route-b.single-product div.product .product-share {
	margin-top: 15px;
}

@media (max-width: 767px) {
	body.age-scs-brand-route-b.single-product div.product .summary-price-box {
		margin-bottom: 12px;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .price {
		font-size: 23px;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .price ins {
		font-size: 25px;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price {
		margin-top: 8px;
		padding: 7px 8px;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__units {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 5px;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit {
		padding: 6px 2px;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit strong {
		font-size: 15px;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit small {
		font-size: 8px;
	}
	body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item {
		width: 100%;
		justify-content: flex-start;
	}
	body.age-scs-brand-route-b.single-product div.product .product_meta {
		margin-top: 8px;
		margin-bottom: 8px;
	}
	body.age-scs-brand-route-b.single-product div.product .product-share {
		margin-top: 12px;
	}
}

/* Route B refinement: replace the collection of cards with a quieter,
 * editorial treatment. The hierarchy comes from type and dividers rather
 * than a border around every control. */
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price {
	position: relative;
	margin-top: 10px;
	padding: 10px 0;
	border: 0;
	border-top: 1px solid #dce9ec;
	border-bottom: 1px solid #dce9ec;
	border-radius: 0;
	background: transparent;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price::before {
	content: "ANGEBOT ENDET IN";
	display: block;
	margin-bottom: 7px;
	color: #66808a;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1.2;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__units {
	gap: 0;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit {
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: center;
	gap: 5px;
	min-height: 0;
	padding: 0 10px;
	border: 0;
	border-right: 1px solid #dce9ec;
	border-radius: 0;
	background: transparent;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit:last-child {
	border-right: 0;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit strong {
	color: #193b52;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit small {
	color: #66808a;
	font-size: 9px;
	letter-spacing: .04em;
	line-height: 1;
}
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item {
	box-sizing: border-box;
	border: 0 !important;
	border-bottom: 1px solid #dfe3df !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	color: #354039 !important;
	transform: none !important;
}
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item {
	min-width: 0 !important;
	min-height: 34px !important;
	padding: 6px 2px !important;
}
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item:hover,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item:focus-visible,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item.selected,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item:hover,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item:focus-visible,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item.selected {
	border-bottom-color: #1e2723 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #1e2723 !important;
}
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item {
	justify-content: flex-start;
	width: 100%;
	min-height: 38px !important;
	padding: 8px 0 !important;
}

@media (max-width: 767px) {
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price {
		padding: 9px 0;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit {
		gap: 3px;
		padding: 0 5px;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit strong {
		font-size: 18px;
	}
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item {
		padding-right: 1px !important;
		padding-left: 1px !important;
	}
}

/* Keep variable-product attribute labels compact on every storefront route. */
.single-product div.product.product-type-variable form.cart {
	margin-top: 20px;
}
.single-product div.product.product-type-variable form.cart .variations td.label {
	margin-bottom: 10px;
	color: #111;
}
@media (max-width: 767px) {
	.woocommerce-checkout form.checkout { margin-top: 16px; }
	.woocommerce-checkout form.checkout > .woocommerce-checkout-review-order { padding: 18px; }
	.woocommerce-checkout form.checkout h3 { font-size: 20px; }
	.woocommerce-checkout form.checkout .form-row-first,
	.woocommerce-checkout form.checkout .form-row-last {
		float: none;
		width: 100%;
		padding-right: 0;
		padding-left: 0;
		margin-right: 0;
	}
}

/* B product attributes: retain a clear control boundary without rounded
 * corners. This override intentionally comes last so it wins over the
 * generic swatch and refinement rules above. */
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item {
	box-sizing: border-box;
	border: 1px solid #111 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #fff !important;
	color: #111 !important;
}
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item {
	min-width: 70px !important;
	min-height: 38px !important;
	padding: 8px 14px !important;
}
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item {
	justify-content: flex-start;
	width: auto;
	max-width: 100%;
	min-height: 38px !important;
	padding: 8px 14px !important;
	white-space: normal;
	overflow-wrap: anywhere;
}
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item:hover,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item:focus-visible,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item.selected,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item:hover,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item:focus-visible,
body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item.selected {
	border-color: #111 !important;
	background: #111 !important;
	box-shadow: none !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	body.age-scs-brand-route-b.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item {
		width: 100%;
		max-width: 100%;
	}
}

/* B countdown: a compact offer cue instead of a boxed mini-table. */
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price {
	box-sizing: border-box;
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin-top: 14px;
	padding: 9px 12px 9px 13px;
	border: 0 !important;
	border-left: 2px solid #ff6a61 !important;
	border-radius: 0;
	background: linear-gradient(90deg, #f5fafb 0%, rgba(245, 250, 251, .45) 72%, rgba(245, 250, 251, 0) 100%);
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price::before {
	content: "ANGEBOT";
	display: block;
	flex: 1 1 auto;
	margin: 0;
	color: #65706d;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .17em;
	line-height: 1.2;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__units {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	flex: 0 0 auto;
	width: auto;
	gap: 8px;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit,
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit:last-child {
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	flex-direction: row;
	align-items: baseline;
	gap: 3px;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit:not(:last-child)::after {
	content: ":";
	position: absolute;
	right: -6px;
	top: -1px;
	color: #a8b4b0;
	font-size: 18px;
	font-weight: 400;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit strong {
	color: #1f2a28;
	font-size: 23px;
	font-weight: 500;
	line-height: 1;
}
body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit small {
	color: #7c8883;
	font-size: 9px;
	line-height: 1;
}

@media (max-width: 767px) {
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price {
		gap: 10px;
		margin-top: 12px;
		padding-right: 8px;
		padding-left: 10px;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price::before {
		font-size: 9px;
		letter-spacing: .12em;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__units {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		flex: 1 1 62%;
		width: 62%;
		gap: 0;
	}
	body.age-scs-brand-route-b.single-product div.product .summary-price-box > .age-scs-product-countdown--price .age-scs-product-countdown__unit strong {
		font-size: 19px;
	}
}

/* Keep the size-guide trigger on the far side of the attribute label so it
 * reads as a secondary action instead of touching the word “Size”. */
.single-product form.variations_form .variations td.label {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}
.single-product form.variations_form .variations td.label label {
	margin: 0;
}
.single-product form.variations_form .variations td.label .age-scs-size-guide-trigger {
	flex: 0 0 auto;
	margin: 0 0 0 auto;
}

@media (max-width: 767px) {
	.single-product form.variations_form .variations td.label {
		flex-wrap: wrap;
	}
}

/* Route A has a long facts panel on the right. Keep the desktop gallery in
 * view while that panel scrolls, but leave touch layouts in normal flow. */
@media (min-width: 992px) {
	body.age-scs-brand-route-a.single-product div.product .product-gallery-summary {
		overflow: visible;
	}
	body.age-scs-brand-route-a.single-product div.product .woocommerce-product-gallery {
		position: sticky;
		top: 96px;
		align-self: flex-start;
	}
}

/* Shared attribute treatment for all three brand routes. The label cell must
 * span the form row before auto margin can push the size-guide link right. */
.single-product form.variations_form .variations td.label {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
}
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item,
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item {
	box-sizing: border-box;
	border: 1px solid #dfe3df !important;
	border-radius: 7px !important;
	box-shadow: none !important;
	background: #fff !important;
	color: #111 !important;
}
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item {
	min-width: 70px !important;
	min-height: 38px !important;
	padding: 8px 14px !important;
}
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item {
	justify-content: flex-start;
	width: auto;
	max-width: 100%;
	min-height: 38px !important;
	padding: 8px 14px !important;
	white-space: normal;
	overflow-wrap: anywhere;
}
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item:hover,
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item:focus-visible,
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_color"] .wcboost-variation-swatches__item.selected,
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item:hover,
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item:focus-visible,
.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item.selected {
	border-color: #111 !important;
	background: #111 !important;
	box-shadow: none !important;
	color: #fff !important;
}
@media (max-width: 767px) {
	.single-product .wcboost-variation-swatches ul[data-attribute_name="attribute_size"] .wcboost-variation-swatches__item {
		width: 100%;
		max-width: 100%;
	}
}

/* Routes A/B: the facts tabs sit in the right-hand summary as a clean
 * accordion. Route C keeps its native bottom tab placement and styling. */
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product div.product.product-tabs-under-summary .woocommerce-tabs {
	box-sizing: border-box;
	width: 100%;
	margin-top: 30px;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product div.product.product-tabs-under-summary .woocommerce-tabs .razzi-tab-wrapper {
	position: relative;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product div.product.product-tabs-under-summary .woocommerce-tabs .razzi-tab-wrapper > a {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 56px;
	padding: 15px 0;
	border-top: 1px solid #d4d7d5;
	color: #17201b;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product div.product.product-tabs-under-summary .woocommerce-tabs .razzi-tab-wrapper > a::after {
	display: none !important;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product div.product.product-tabs-under-summary .woocommerce-tabs .razzi-tab-wrapper > a .razzi-svg-icon {
	display: none;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product div.product.product-tabs-under-summary .woocommerce-tabs .razzi-tab-wrapper > a::before {
	content: "+";
	order: 2;
	margin-left: 16px;
	color: #17201b;
	font-size: 21px;
	font-weight: 400;
	line-height: 1;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product div.product.product-tabs-under-summary .woocommerce-tabs .razzi-tab-wrapper > a.active::before {
	content: "−";
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product div.product.product-tabs-under-summary .woocommerce-tabs .razzi-tab-wrapper:last-child > a {
	border-bottom: 1px solid #d4d7d5;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product div.product.product-tabs-under-summary .woocommerce-tabs .razzi-tab-wrapper .panel-content {
	box-sizing: border-box;
	padding: 16px 0 24px;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product div.product.product-tabs-under-summary .woocommerce-tabs .razzi-tab-wrapper.description_tab .panel-content {
	padding-bottom: 24px;
}

/* Keep the A/B accordion reliable even when the theme moves the tabs inside
 * .entry-summary. Route C intentionally does not match these selectors. */
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .entry-summary .woocommerce-tabs,
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .product-gallery-summary > .woocommerce-tabs {
	box-sizing: border-box;
	width: 100%;
	margin: 30px 0 0 !important;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .entry-summary .woocommerce-tabs .razzi-tab-wrapper > a,
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .product-gallery-summary > .woocommerce-tabs .razzi-tab-wrapper > a {
	box-sizing: border-box;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	min-height: 56px !important;
	padding: 15px 0 !important;
	border-top: 1px solid #d4d7d5 !important;
	color: #17201b !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .entry-summary .woocommerce-tabs .razzi-tab-wrapper > a::after,
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .product-gallery-summary > .woocommerce-tabs .razzi-tab-wrapper > a::after {
	display: none !important;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .entry-summary .woocommerce-tabs .razzi-tab-wrapper > a .razzi-svg-icon,
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .product-gallery-summary > .woocommerce-tabs .razzi-tab-wrapper > a .razzi-svg-icon {
	display: none !important;
}

/* The Razzi review-rating links contain two SVG layers per selectable star.
 * Keep one visual layer per 24px cell so the five choices form one row. */
.single-product #respond p.stars > span {
	display: flex !important;
	align-items: center;
	height: 24px !important;
}
.single-product #respond p.stars > span > a {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 24px;
	width: 24px !important;
	height: 24px !important;
	box-sizing: border-box;
	margin-right: 3px;
	padding: 0;
	overflow: hidden;
	border-right: 0 !important;
	line-height: 1;
	text-indent: -999em;
	cursor: pointer;
}
.single-product #respond p.stars > span > a > .razzi-svg-icon {
	display: none !important;
}
.single-product #respond p.stars > span > a > .razzi-svg-icon:first-child {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 20px !important;
	height: 20px !important;
	text-indent: 0;
}
.single-product #respond p.stars > span > a > .razzi-svg-icon svg {
	display: block;
	width: 20px;
	height: 20px;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .entry-summary .woocommerce-tabs .razzi-tab-wrapper > a::before,
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .product-gallery-summary > .woocommerce-tabs .razzi-tab-wrapper > a::before {
	content: "+";
	order: 2;
	margin-left: 16px;
	color: #17201b;
	font-size: 21px;
	font-weight: 400;
	line-height: 1;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .entry-summary .woocommerce-tabs .razzi-tab-wrapper > a.active::before,
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .product-gallery-summary > .woocommerce-tabs .razzi-tab-wrapper > a.active::before {
	content: "−";
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .entry-summary .woocommerce-tabs .razzi-tab-wrapper:last-child > a,
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .product-gallery-summary > .woocommerce-tabs .razzi-tab-wrapper:last-child > a {
	border-bottom: 1px solid #d4d7d5 !important;
}
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .entry-summary .woocommerce-tabs .razzi-tab-wrapper .panel-content,
body:is(.age-scs-brand-route-a, .age-scs-brand-route-b).single-product .product-gallery-summary > .woocommerce-tabs .razzi-tab-wrapper .panel-content {
	box-sizing: border-box;
	padding: 16px 0 24px !important;
}

/* A table can shrink to its label content, which leaves the size-guide link
 * beside “Size”. Force the attribute row to use the entire form width first,
 * then pin the guide action to its far edge on every route. */
.single-product form.variations_form table.variations,
.single-product form.variations_form table.variations > tbody,
.single-product form.variations_form table.variations > tbody > tr {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}
.single-product form.variations_form table.variations > tbody > tr > td.label {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	max-width: 100% !important;
	gap: 12px !important;
}
.single-product form.variations_form table.variations > tbody > tr > td.label > label {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
}
.single-product form.variations_form table.variations > tbody > tr > td.label > .age-scs-size-guide-trigger {
	flex: 0 0 auto;
	margin-left: auto !important;
	white-space: nowrap;
}
@media (max-width: 767px) {
	.single-product form.variations_form table.variations > tbody > tr > td.label {
		flex-wrap: nowrap !important;
	}
}

/* iPad and other small tablets: the theme's legacy 768px desktop switch is
 * too early for the product page. Keep the mobile header, but stack the
 * gallery and purchase summary until there is room for two usable columns. */
@media (min-width: 768px) and (max-width: 991px) {
	body {
		overflow-x: hidden;
	}
	.single-product div.product .product-gallery-summary {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
		overflow: visible !important;
	}
	.single-product div.product .product-gallery-summary > .age-scs-fixed-gallery,
	.single-product div.product .product-gallery-summary > .woocommerce-product-gallery,
	.single-product div.product .product-gallery-summary > .entry-summary {
		float: none !important;
		clear: both !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	.single-product div.product .product-gallery-summary > .age-scs-fixed-gallery,
	.single-product div.product .product-gallery-summary > .woocommerce-product-gallery {
		margin: 0 0 24px !important;
		padding: 0 !important;
	}
	.single-product div.product .product-gallery-summary > .entry-summary {
		margin: 0 !important;
		padding: 0 0 30px !important;
	}
	.single-product div.product .age-scs-fixed-gallery .woocommerce-product-gallery__image img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;
		object-fit: contain !important;
	}
	.single-product div.product .age-scs-fixed-gallery > .age-scs-remote-thumbs-swiper {
		margin-top: 14px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.single-product div.product .age-scs-fixed-gallery > .age-scs-remote-thumbs-swiper .swiper-slide > button {
		width: 60px !important;
		height: 60px !important;
		min-width: 60px !important;
	}
	.single-product div.product .entry-summary .product_title {
		max-width: 100% !important;
		 overflow-wrap: anywhere;
	}
	.site-header .header-mobile {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
}

/* Keep mobile header actions identical on the homepage and product pages. */
@media (max-width: 991px) {
	/* Keep the mobile logo from colliding with the fixed-width action icons. */
	.header-mobile .site-branding {
		flex: 0 1 auto !important;
		min-width: 0 !important;
		text-align: left !important;
		margin-left: 10px;
	}
	.site-header .header-mobile .site-branding img.age-scs-project-root-logo {
		width: min(42vw, 190px) !important;
		height: min(9.5vw, 42px) !important;
		max-width: 190px !important;
		max-height: 42px !important;
		object-fit: contain !important;
	}
	.header-mobile .mobile-header-icons {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		column-gap: 8px !important;
		white-space: nowrap;
	}
	.header-mobile .mobile-header-icons > .mobile-search,
	.header-mobile .mobile-header-icons > .header-account,
	.header-mobile .mobile-header-icons > .header-cart {
		flex: 0 0 30px !important;
		width: 30px !important;
		height: 30px !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.header-mobile .mobile-header-icons > .mobile-search > a,
	.header-mobile .mobile-header-icons > .header-account > a,
	.header-mobile .mobile-header-icons > .header-cart > a {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 30px !important;
		height: 30px !important;
		min-width: 30px !important;
		min-height: 30px !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.header-mobile .mobile-header-icons .razzi-svg-icon,
	.header-mobile .mobile-header-icons svg {
		width: 18px !important;
		height: 18px !important;
		font-size: 18px !important;
	}
	.header-mobile .mobile-header-icons .header-cart {
		padding-right: 0 !important;
	}
	.header-mobile .mobile-header-icons .header-cart .counter {
		top: -3px;
		right: -4px;
	}
}

/* Product search uses the same cards as the catalog, without blog gutters. */
body.search .age-scs-product-search {
	width: 100%;
	max-width: 100%;
}
body.search .age-scs-product-search ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px 24px;
	margin: 0 !important;
	padding: 0 !important;
}
body.search .age-scs-product-search ul.products > li.product {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}
body.search .age-scs-product-search .woocommerce-pagination {
	clear: both;
	width: 100%;
	margin-top: 36px;
	text-align: center;
}
body.search .age-scs-product-search .woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}
body.search .age-scs-product-search .woocommerce-pagination ul.page-numbers > li {
	margin: 0;
	padding: 0;
}
body.search .age-scs-product-search .woocommerce-pagination li > .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 40px;
	min-height: 44px;
	margin: 0;
	padding: 8px 12px;
	border-bottom: 1px solid var(--rz-border-color-light, #dedede);
	color: var(--rz-color-dark, #1f1f1f);
	line-height: 1.4;
	text-decoration: none;
}
body.search .age-scs-product-search .woocommerce-pagination li > .current,
body.search .age-scs-product-search .woocommerce-pagination a:hover,
body.search .age-scs-product-search .woocommerce-pagination a:focus-visible {
	border-bottom-color: var(--rz-color-primary, #ff6f61);
	color: var(--rz-color-primary, #ff6f61);
}
@media (min-width: 768px) and (max-width: 991px) {
	body.search .age-scs-product-search ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px 18px;
	}
}
@media (max-width: 767px) {
	body.search .age-scs-product-search ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 12px;
	}
}

/* Razzi's mobile gallery used -15px side margins and a 100% + 30px width.
 * Keep the main image and thumbnail rail aligned with the product title. */
@media (max-width: 767px) {
	body.single-product div.product .product-gallery-summary > .woocommerce-product-gallery {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}
}

/* Product detail: keep related-product image tiles uniform without cropping. */
.single-product .related.products ul.products li.product .product-thumbnail {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.single-product .related.products ul.products li.product .product-thumbnail > .woocommerce-loop-product__link {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.single-product .related.products ul.products li.product .product-thumbnail > .woocommerce-loop-product__link img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.single-product .age-scs-br-reassurance {
	margin: 20px 0 24px;
	padding: 0 16px;
	border: 1px solid #dedede;
	border-radius: 14px;
	background: #fafafa;
	color: #1d1d1d;
}
.single-product .age-scs-br-reassurance__row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 0;
}
.single-product .age-scs-br-reassurance__row + .age-scs-br-reassurance__row { border-top: 1px solid #e7e7e7; }
.single-product .age-scs-br-reassurance__icon { flex: 0 0 18px; color: #008c42; }
.single-product .age-scs-br-reassurance__icon svg { display: block; width: 18px; height: 18px; }
.single-product .age-scs-br-reassurance__content { min-width: 0; }
.single-product .age-scs-br-reassurance__title { font-size: 15px; font-weight: 600; line-height: 1.4; }
.single-product .age-scs-br-reassurance__description,
.single-product .age-scs-br-reassurance__placeholder { display: block; margin-top: 3px; color: #555; font-size: 13px; line-height: 1.5; }
.single-product .age-scs-br-reassurance__link { display: inline-block; margin-top: 4px; color: #222; font-size: 13px; line-height: 1.5; text-decoration: underline; overflow-wrap: anywhere; }
.single-product .age-scs-br-reassurance__link:focus-visible { outline: 2px solid #008c42; outline-offset: 3px; }
.single-product .age-scs-br-cep { margin-top: 12px; }
.single-product .age-scs-br-cep__label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; }
.single-product .age-scs-br-cep__controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.single-product .age-scs-br-cep__controls > .age-scs-br-cep__input { box-sizing: border-box; flex: 1 1 125px; width: 100%; min-width: 0; height: 44px; min-height: 44px; margin: 0; padding: 0 10px; border: 1px solid #aaa; border-radius: 4px; background: #fff; color: #222; font-size: 16px; }
.single-product .age-scs-br-cep__controls > .age-scs-br-cep__button { box-sizing: border-box; flex: 0 0 auto; height: 44px; min-height: 44px; margin: 0; padding: 0 15px; border: 1px solid #222; border-radius: 4px; background: #fff; color: #222; font-size: 13px; line-height: normal; cursor: pointer; }
.single-product .age-scs-br-cep__input:focus-visible, .single-product .age-scs-br-cep__button:focus-visible { outline: 2px solid #008c42; outline-offset: 2px; }
.single-product .age-scs-br-cep__input[aria-invalid="true"] { border-color: #b3261e; }
.single-product .age-scs-br-cep__result:not(:empty) { margin-top: 8px; color: #444; font-size: 13px; line-height: 1.5; }
.single-product div.product .entry-summary .woocommerce-product-rating {
	max-width: 100%;
	flex-wrap: wrap;
	gap: 4px 8px;
}
@media (max-width: 991px) {
	.single-product div.product .product-gallery-summary > .entry-summary {
		clear: both;
		box-sizing: border-box;
	}
	.single-product div.product .entry-summary .summary-top-box {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
	.single-product div.product .entry-summary .woocommerce-product-rating {
		justify-content: flex-start;
		min-width: 0;
	}
}
