/* Redesign (co.uk) — product page. Loaded on every product page with the new design (see cw-redesign-preview.php).
   Port of redesign-couk/mockup/product-page-mockup.html onto the live theme's markup. */

body.cw-rp {
	--cw-navy: #004681;
	--cw-blue: #1484c9;
	--cw-red: #f42147;
	--cw-grey: #f2f3f5;
	--cw-rule: #d7d7d7;
	--cw-text: #333;
	--g: 27px;
}

body.cw-rp .cwrp,
body.cw-rp .cwrp-desc {
	font-family: 'Montserrat', sans-serif;
	color: var(--cw-text);
	box-sizing: border-box;
}
body.cw-rp .cwrp *,
body.cw-rp .cwrp-desc * {
	box-sizing: border-box;
}

/* the theme paints every price amount (red 28px on product pages, #222 !important elsewhere) and centres
   paragraphs inside .product-box: inside the preview, amounts take the look of their container */
body.cw-rp .cwrp .woocommerce-Price-amount.amount,
body.cw-rp .cwrp .woocommerce-Price-amount.amount bdi {
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	text-decoration: inherit;
}
body.cw-rp .cwrp p {
	text-align: left;
}

/* ---------- two columns ---------- */
body.cw-rp .cwrp {
	float: none;
	width: 100%;
	padding: 14px 0 0;
}
body.cw-rp .cwrp-product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: 36px;
	width: 100%;
	float: none;
	clear: both;
	margin: 0;
	padding: 0;
}
body.cw-rp .cwrp-product::before,
body.cw-rp .cwrp-product::after {
	display: none;
}

/* ---------- gallery (WooCommerce Gallery Slider Pro) ---------- */
body.cw-rp .cwrp-gallery {
	min-width: 0;
	max-width: 100%;
}
body.cw-rp .cwrp-gallery #wpgs-gallery {
	max-width: 100% !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
body.cw-rp .cwrp-gallery .wcgs-carousel {
	border: 1px solid var(--cw-grey);
}
body.cw-rp #wpgs-gallery .wcgs-thumb,
body.cw-rp #wpgs-gallery .wcgs-thumb img {
	opacity: 1 !important;
	filter: none !important;
}
body.cw-rp #wpgs-gallery .wcgs-thumb {
	border: 2px solid transparent !important;
}
body.cw-rp #wpgs-gallery .wcgs-thumb.spswiper-slide-thumb-active,
body.cw-rp #wpgs-gallery .wcgs-anchor-link.active .wcgs-thumb {
	border: 2px solid var(--cw-blue) !important;
	opacity: 1 !important;
}
body.cw-rp #wpgs-gallery .wcgs-border-bottom {
	display: none;
}

/* ---------- summary ---------- */
body.cw-rp .cwrp-summary {
	min-width: 0;
	text-align: left;
}
body.cw-rp .cwrp-title {
	font-family: 'Montserrat', sans-serif;
	font-size: 23px;
	font-weight: 600;
	line-height: 1.25;
	color: #000;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	margin: 0 0 var(--g);
	padding: 0;
	border: 0;
}
body.cw-rp .cwrp-title .cwrp-brand {
	display: block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--cw-blue);
	margin-bottom: 6px;
}
body.cw-rp .cwrp-short {
	list-style: none;
	margin: 0 0 var(--g);
	padding: 0;
	font-size: 14px;
	line-height: 1.5;
}
body.cw-rp .cwrp-short li {
	position: relative;
	list-style: none;
	padding: 0 0 0 22px;
	margin: 5px 0;
	color: #222;
	text-align: left;
}
body.cw-rp .cwrp-short li:first-child {
	margin-top: 0;
}
body.cw-rp .cwrp-short li:last-child {
	margin-bottom: 0;
}
body.cw-rp .cwrp-short li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--cw-blue);
}

/* price */
body.cw-rp .cwrp-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 2px;
}
body.cw-rp .cwrp-price .now {
	color: var(--cw-red);
	font-size: 30px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}
body.cw-rp .cwrp-price .was {
	color: #333;
	font-size: 16px;
	font-weight: 600;
	text-decoration: line-through;
}
body.cw-rp .cwrp-price .save {
	background: var(--cw-red);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 2px;
	/* on the same line as the two prices (Todor 02.11.2026, option A); it used to centre on the big price and float higher */
	align-self: baseline;
	position: relative;
	top: -4px;
}
body.cw-rp .cwrp-price .amount,
body.cw-rp .cwrp-price bdi {
	color: inherit;
	font: inherit;
}
body.cw-rp .cwrp-per {
	font-size: 13px;
	color: #555;
	margin: 0 0 var(--g);
}

/* pack cards */
body.cw-rp .cwrp-packs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 var(--g);
}
body.cw-rp .cwrp-pack {
	position: relative;
	display: block;
	min-width: 0;
	border: 1px solid var(--cw-rule);
	padding: 10px 12px;
	font-size: 12.5px;
	line-height: 1.45;
	color: #333;
	background: #fff;
	text-decoration: none;
	text-align: left;
}
body.cw-rp a.cwrp-pack:hover {
	border-color: var(--cw-blue);
	color: #333;
}
body.cw-rp .cwrp-pack b {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: #000;
}
body.cw-rp .cwrp-pack .amount,
body.cw-rp .cwrp-pack bdi {
	color: inherit;
	font: inherit;
}
body.cw-rp .cwrp-pack.on {
	border: 2px solid var(--cw-blue);
	padding: 9px 11px;
}
body.cw-rp .cwrp-pack.only {
	cursor: default;
}
body.cw-rp .cwrp-pack.oos {
	opacity: .55;
}
/* "Full box - Out of stock" for lines sold only in treatment packs: no product behind it, not clickable */
body.cw-rp .cwrp-pack.cwrp-pack-soon {
	background: #f7f8fa;
	cursor: not-allowed;
}
body.cw-rp .cwrp-pack.cwrp-pack-soon .soon {
	color: #6b7280;
}
/* four packs: one row on desktop, two by two on the phone */
body.cw-rp .cwrp-packs.four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
body.cw-rp .cwrp-pack .tag {
	position: absolute;
	top: -10px;
	right: 10px;
	background: var(--cw-blue);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 1px 8px;
	line-height: 1.6;
}

/* buy row: quantity, In stock, Add to cart */
body.cw-rp form.cart.cwrp-buy {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 var(--g);
	padding: 0;
}
body.cw-rp form.cart.cwrp-buy::before,
body.cw-rp form.cart.cwrp-buy::after {
	display: none;
}
body.cw-rp .cwrp-qty {
	display: inline-flex;
	align-items: center;
	height: 50px;
	border: 1px solid var(--cw-rule);
	background: #fff;
}
body.cw-rp .cwrp-qty button {
	width: 38px;
	height: 48px;
	border: 0;
	background: transparent;
	color: #555;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}
body.cw-rp .cwrp-qty input.qty {
	width: 40px;
	height: 48px;
	margin: 0 !important;
	padding: 0;
	border: 0 !important;
	background: #fff;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	color: #000;
	-moz-appearance: textfield;
	appearance: textfield;
}
body.cw-rp .cwrp-qty input.qty::-webkit-outer-spin-button,
body.cw-rp .cwrp-qty input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
body.cw-rp .cwrp-stock {
	display: flex;
	align-items: center;
	margin: 0 0 0 2px;
}
body.cw-rp .cwrp-stock .pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 14px;
	border-radius: 999px;
	background: #e6f4ea;
	color: #1e7e34;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}
body.cw-rp .cwrp-stock .pill.out {
	background: #eceef1;
	color: #555;
}
body.cw-rp .cwrp-stock svg {
	width: 13px;
	height: 13px;
	fill: none;
	stroke: #1e7e34;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}
body.cw-rp form.cart.cwrp-buy button.single_add_to_cart_button.button {
	flex: 1 1 200px;
	min-width: 0 !important;
	height: 50px;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: var(--cw-navy) !important;
	background-image: none !important;
	color: #fff !important;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px !important;
	font-weight: 600;
	line-height: 50px !important;
	text-transform: none !important;
	letter-spacing: 0;
	opacity: 1 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	float: none !important;
}
body.cw-rp form.cart.cwrp-buy button.single_add_to_cart_button.button:hover {
	background: #003766 !important;
}
body.cw-rp form.cart.cwrp-buy button.single_add_to_cart_button.button:disabled {
	background: #9aa3ad !important;
	cursor: not-allowed;
}
/* WooCommerce's own loading/added look (faded button, icon after the text) is replaced by the states in preview.js */
body.cw-rp form.cart.cwrp-buy button.single_add_to_cart_button.loading,
body.cw-rp form.cart.cwrp-buy button.single_add_to_cart_button.added {
	opacity: 1 !important;
	padding-right: 16px !important;
}
body.cw-rp form.cart.cwrp-buy button.single_add_to_cart_button.loading::after,
body.cw-rp form.cart.cwrp-buy button.single_add_to_cart_button.added::after {
	display: none !important;
	content: none !important;
}
body.cw-rp .cwrp-btn svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
}
body.cw-rp .cwrp-btn .cwrp-spin {
	animation: cwrp-spin .8s linear infinite;
}
@keyframes cwrp-spin {
	to {
		transform: rotate(360deg);
	}
}
@media (prefers-reduced-motion: reduce) {
	body.cw-rp .cwrp-btn .cwrp-spin {
		animation: none;
	}
}

/* trust box */
body.cw-rp .cwrp-trust {
	list-style: none;
	margin: 0 0 var(--g);
	padding: 14px 16px;
	background: var(--cw-grey);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px 18px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--cw-navy);
}
body.cw-rp .cwrp-trust li {
	display: flex;
	gap: 9px;
	align-items: flex-start;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}
body.cw-rp .cwrp-trust b {
	font-weight: 600;
}
body.cw-rp .cwrp-trust svg {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin-top: 1px;
	fill: none;
	stroke: var(--cw-blue);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* payment marks: all the same height; Apple Pay and Google Pay are the official artwork */
body.cw-rp .cwrp-pay {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 12px;
	color: #666;
}
body.cw-rp .cwrp-pay img {
	display: block;
	height: 28px;
	width: auto;
	margin: 0;
}
/* the card marks carry their own card shape (current Visa / Mastercard marks, square Amex Blue Box): no rounding here */

/* ---------- Description / Delivery ---------- */
body.cw-rp .cwrp-desc {
	float: left;
	width: 100%;
	padding: 0 0 40px;
	font-size: 15px;
	line-height: 1.6;
	color: #333;
	text-align: left;
}
body.cw-rp .cwrp-tabbar {
	display: flex;
	gap: 36px;
	border-bottom: 1px solid var(--cw-rule);
	margin: 30px 0 22px;
}
body.cw-rp .cwrp-tabbar button {
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	margin: 0 0 -1px;
	padding: 0 0 12px;
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: #8a8a8a;
	cursor: pointer;
	text-transform: none;
	letter-spacing: 0;
	border-radius: 0;
}
body.cw-rp .cwrp-tabbar button.on {
	color: #000;
	border-bottom-color: #000;
}
body.cw-rp .cwrp-panel {
	display: none;
}
body.cw-rp .cwrp-desc[data-active="desc"] .cwrp-panel-desc,
body.cw-rp .cwrp-desc[data-active="del"] .cwrp-panel-del {
	display: block;
}
body.cw-rp .cwrp-panel,
body.cw-rp .cwrp-panel p {
	color: #333;
	font-size: inherit;
	line-height: inherit;
	text-align: left;
}
body.cw-rp .cwrp-panel h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #000;
	margin: 0;
	text-transform: none;
}
body.cw-rp .cwrp-panel b,
body.cw-rp .cwrp-panel strong {
	font-weight: 600;
	color: #000;
}
/* the product texts leave their bullet list open (<ul style="margin-left:15px">), which pushed
   "How to use" and "Ingredients" in; reset the list's own indent and indent only the bullets */
body.cw-rp .cwrp-panel ul {
	padding-left: 0 !important;
	margin: 0 !important;
	list-style: none;
}
body.cw-rp .cwrp-panel li {
	list-style: disc;
	margin: 3px 0 3px 20px;
	color: #333;
}
/* Delivery tab: labelled rows (Dispatch / Delivery / Courier / Cost / Tracking) */
body.cw-rp .cwrp-dlv {
	max-width: 780px;
	margin: 0;
}
body.cw-rp .cwrp-dlv-row {
	display: grid;
	grid-template-columns: 22px 130px 1fr;
	column-gap: 14px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid #e5e7eb;
}
body.cw-rp .cwrp-dlv-row svg {
	display: block;
	width: 22px;
	height: 22px;
	fill: none;
	stroke: var(--cw-blue);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
body.cw-rp .cwrp-dlv-row b {
	font-size: 15px;
	font-weight: 600;
	color: #111;
}
body.cw-rp .cwrp-dlv-row span {
	font-size: 15px;
	line-height: 1.45;
	color: #333;
}

/* ---------- Best sellers (product page only; the shop's other card lists keep their look) ---------- */
body.cw-rp .cwrp-bs {
	clear: both;
	float: left;
	width: 100%;
	margin: 30px 0 6px;
	font-family: 'Montserrat', sans-serif;
	text-align: left;
}
body.cw-rp .cwrp-bs-title {
	font-family: 'Montserrat', sans-serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	color: #111;
	text-transform: none;
	letter-spacing: -.01em;
	text-align: left;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	background: none;
}
body.cw-rp .cwrp-bs-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 28px;
	row-gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}
body.cw-rp .cwrp-card {
	display: grid;
	grid-row: span 5;
	grid-template-rows: subgrid;
	row-gap: 0;
	position: relative;
	float: none;
	width: auto;
	margin: 0 0 36px;
	padding: 0;
	list-style: none;
	text-align: left;
}
@supports not (grid-template-rows: subgrid) {
	body.cw-rp .cwrp-card {
		display: flex;
		flex-direction: column;
	}
	body.cw-rp .cwrp-card .cwrp-card-btn {
		margin-top: auto;
	}
}
body.cw-rp .cwrp-card a {
	text-decoration: none;
}
body.cw-rp .cwrp-card-media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	margin: 0 0 18px;
	background: #f5f7fa;
	border-radius: 14px;
	overflow: hidden;
}
body.cw-rp .cwrp-card-media img {
	position: absolute;
	left: 7%;
	top: 7%;
	width: 86% !important;
	height: 86% !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform .3s ease;
}
body.cw-rp .cwrp-card-tag {
	position: absolute;
	top: 12px;
	left: 12px;
	background: #fde8ec;
	color: #c8102e;
	font-size: 17px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .02em;
	padding: 9px 15px;
	border-radius: 999px;
}
body.cw-rp .cwrp-card-name {
	display: block;
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	color: #1a1d23;
}
body.cw-rp .cwrp-card-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
}
body.cw-rp .cwrp-card-price .now {
	font-size: 17px;
	font-weight: 600;
	color: var(--cw-red);
	font-variant-numeric: tabular-nums;
}
body.cw-rp .cwrp-card-price .was {
	font-size: 13px;
	font-weight: 500;
	color: #9aa1ab;
	text-decoration: line-through;
}
/* the theme paints every amount red 28px on product pages: inside the cards amounts take their container's look */
body.cw-rp .cwrp-bs .woocommerce-Price-amount.amount,
body.cw-rp .cwrp-bs .woocommerce-Price-amount.amount bdi {
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	text-decoration: inherit;
}
body.cw-rp .cwrp-card-per {
	min-height: 1.3em;
	margin: 5px 0 18px;
	font-size: 12.5px;
	line-height: 1.3;
	color: #6b7280;
}
body.cw-rp .cwrp-card .cwrp-card-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	align-self: end;
	width: 100%;
	height: 42px;
	margin: 0 !important;
	padding: 0 10px !important;
	border: 1px solid var(--cw-navy) !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--cw-navy) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: .01em !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
body.cw-rp .cwrp-card .cwrp-card-btn.loading {
	opacity: .55;
}
body.cw-rp .cwrp-card .cwrp-card-btn.loading::after {
	display: none;
}
body.cw-rp .cwrp-card .cwrp-card-btn.off {
	border-color: #eef0f3 !important;
	background: #eef0f3 !important;
	color: #8a9099 !important;
	cursor: default;
}
/* WooCommerce adds a "View cart" link after an AJAX add; the side cart opens instead */
body.cw-rp .cwrp-card .added_to_cart {
	display: none !important;
}
/* the theme lays an "ADDED" box in capitals over any used add-to-cart button (style.css ...ajax_add_to_cart.added:before);
   the cards show their own "Adding…" / "Added to cart" instead (preview.js), like the main button */
body.cw-rp .cwrp-card .cwrp-card-btn.added::before,
body.cw-rp .cwrp-card .cwrp-card-btn.added::after {
	content: none !important;
	display: none !important;
}
body.cw-rp .cwrp-card .cwrp-card-btn.cwrp-adding {
	opacity: .7;
}
body.cw-rp .cwrp-card .cwrp-card-btn.cwrp-added {
	gap: 6px;
	background: var(--cw-navy) !important;
	color: #fff !important;
	opacity: 1;
}
body.cw-rp .cwrp-card .cwrp-card-btn.cwrp-added svg {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
}
@media (hover: hover) {
	body.cw-rp .cwrp-card .cwrp-card-btn:not(.off):hover {
		background: var(--cw-navy) !important;
		color: #fff !important;
	}
	body.cw-rp .cwrp-card-media:hover img {
		transform: scale(1.03);
	}
}

/* ---------- desktop: both columns start and end on one line ---------- */
@media (min-width: 761px) {
	body.cw-rp .cwrp-summary {
		display: flex;
		flex-direction: column;
	}
	body.cw-rp .cwrp-short,
	body.cw-rp .cwrp-price,
	body.cw-rp .cwrp-packs,
	body.cw-rp form.cart.cwrp-buy,
	body.cw-rp .cwrp-trust,
	body.cw-rp .cwrp-pay {
		margin-top: auto;
	}
	body.cw-rp .cwrp-title {
		margin-top: 0;
	}
	body.cw-rp .cwrp-gallery {
		display: flex;
		flex-direction: column;
	}
	/* when the right side is taller, the gallery stretches and its thumbnail row sits on the bottom line */
	body.cw-rp .cwrp-gallery #wpgs-gallery {
		flex: 1 1 auto;
	}
	body.cw-rp .cwrp-gallery #wpgs-gallery .gallery-navigation-carousel-wrapper {
		margin-top: auto !important;
	}
}

/* ---------- tablets (761–1023 px): the summary column is narrow, so the grey box uses one column like the phone ---------- */
@media (min-width: 761px) and (max-width: 1023px) {
	body.cw-rp .cwrp-trust {
		grid-template-columns: 1fr;
	}
}

/* ---------- pack switching without a page reload (preview.js): dim while the other pack loads ---------- */
body.cw-rp .cwrp.cwrp-swapping .cwrp-product {
	opacity: .55;
	transition: opacity .15s ease;
}
body.cw-rp .cwrp-pack.cwrp-pack-loading {
	cursor: progress;
}

/* ---------- phone ---------- */
@media (max-width: 760px) {
	body.cw-rp .cwrp-product {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	body.cw-rp .cwrp-title {
		font-size: 22px;
		margin-bottom: 16px;
	}
	body.cw-rp .cwrp-short {
		margin-bottom: 16px;
	}
	body.cw-rp .cwrp-price {
		margin-top: 6px;
	}
	body.cw-rp .cwrp-per,
	body.cw-rp .cwrp-packs {
		margin-bottom: 16px;
	}
	body.cw-rp .cwrp-packs.four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.cw-rp form.cart.cwrp-buy {
		margin-bottom: 18px;
	}
	body.cw-rp form.cart.cwrp-buy button.single_add_to_cart_button.button {
		flex-basis: 100%;
	}
	body.cw-rp .cwrp-trust {
		grid-template-columns: 1fr;
		margin-bottom: 18px;
	}
	body.cw-rp .cwrp-desc {
		font-size: 14px;
		padding-bottom: 30px;
	}
	/* the phone has the same two tabs as desktop */
	body.cw-rp .cwrp-tabbar {
		gap: 28px;
		margin: 24px 0 10px;
	}
	body.cw-rp .cwrp-tabbar button {
		font-size: 18px;
	}
	body.cw-rp .cwrp-dlv-row {
		grid-template-columns: 22px 1fr;
		grid-template-areas: "i b" "i s";
		row-gap: 2px;
		align-items: start;
		padding: 12px 0;
	}
	body.cw-rp .cwrp-dlv-row svg {
		grid-area: i;
		margin-top: 1px;
	}
	body.cw-rp .cwrp-dlv-row b {
		grid-area: b;
		font-size: 14.5px;
	}
	body.cw-rp .cwrp-dlv-row span {
		grid-area: s;
		font-size: 13.5px;
	}
	body.cw-rp .cwrp-bs {
		margin-top: 24px;
	}
	body.cw-rp .cwrp-bs-title {
		font-size: 20px;
		margin-bottom: 16px;
	}
	body.cw-rp .cwrp-bs-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 14px;
	}
	body.cw-rp .cwrp-card {
		margin-bottom: 26px;
	}
	body.cw-rp .cwrp-card-media {
		margin-bottom: 12px;
		border-radius: 12px;
	}
	body.cw-rp .cwrp-card-tag {
		top: 8px;
		left: 8px;
		font-size: 15px;
		padding: 8px 12px;
	}
	body.cw-rp .cwrp-card-name {
		font-size: 14px;
	}
	body.cw-rp .cwrp-card-price .now {
		font-size: 16px;
	}
	body.cw-rp .cwrp-card-price .was {
		font-size: 12.5px;
	}
	body.cw-rp .cwrp-card-per {
		font-size: 12px;
		margin-bottom: 12px;
	}
	body.cw-rp .cwrp-card .cwrp-card-btn {
		height: 40px;
		font-size: 13px !important;
	}
}

/* ---------- toothpaste add-on box, first row of the buy form (Todor 02.11.2026, option A) ---------- */
body.cw-rp .cwrp-addon {
	flex: 1 1 100%;
	display: grid;
	grid-template-columns: 20px 52px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	margin: 0 0 17px;
	padding: 10px 14px 10px 12px;
	border: 1px solid var(--cw-rule);
	background: #fff;
	cursor: pointer;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	text-align: left;
	-webkit-tap-highlight-color: transparent;
}
body.cw-rp .cwrp-addon.on {
	border-color: var(--cw-navy);
	box-shadow: inset 0 0 0 1px var(--cw-navy);
}
body.cw-rp .cwrp-addon input.cwrp-addon-check {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--cw-navy);
	cursor: pointer;
}
body.cw-rp .cwrp-addon input.cwrp-addon-check:focus-visible {
	outline: 2px solid var(--cw-blue);
	outline-offset: 2px;
}
body.cw-rp .cwrp-addon .cwrp-addon-img {
	display: block;
	width: 52px;
	height: 52px;
	margin: 0;
	object-fit: contain;
}
body.cw-rp .cwrp-addon-text b {
	display: block;
	color: #000;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}
body.cw-rp .cwrp-addon-sub {
	display: block;
	margin-top: 2px;
	color: #555;
	font-size: 12.5px;
	line-height: 1.4;
}
body.cw-rp .cwrp-addon-price {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	line-height: 1.25;
}
body.cw-rp .cwrp-addon-price .now {
	color: var(--cw-red);
	font-size: 15px;
	font-weight: 600;
}
body.cw-rp .cwrp-addon-price .was {
	color: #9aa1ab;
	font-size: 12.5px;
	text-decoration: line-through;
}
/* "In your cart": a green tick instead of the box, no price; a second tube only from the cart */
body.cw-rp .cwrp-addon .cwrp-addon-tick,
body.cw-rp .cwrp-addon .cwrp-when-in,
body.cw-rp .cwrp-addon.cwrp-in-cart .cwrp-when-out,
body.cw-rp .cwrp-addon.cwrp-in-cart input.cwrp-addon-check,
body.cw-rp .cwrp-addon.cwrp-in-cart .cwrp-addon-price {
	display: none;
}
body.cw-rp .cwrp-addon.cwrp-in-cart {
	cursor: default;
	border-color: #cfe6d6;
	background: #f6fbf7;
	box-shadow: none;
}
body.cw-rp .cwrp-addon.cwrp-in-cart .cwrp-when-in {
	display: block;
}
body.cw-rp .cwrp-addon.cwrp-in-cart .cwrp-addon-tick {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #1e7e34;
}
body.cw-rp .cwrp-addon-tick svg {
	width: 13px;
	height: 13px;
	fill: none;
	stroke: #fff;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}
body.cw-rp .cwrp-addon-sub.cwrp-addon-ok {
	color: #1e7e34;
	font-weight: 600;
}
@media (max-width: 760px) {
	body.cw-rp .cwrp-addon {
		grid-template-columns: 20px 48px minmax(0, 1fr);
		margin-bottom: 6px;
	}
	body.cw-rp .cwrp-addon .cwrp-addon-img {
		width: 48px;
		height: 48px;
	}
	body.cw-rp .cwrp-addon-price {
		grid-column: 3;
		flex-direction: row;
		align-items: baseline;
		gap: 8px;
		margin-top: -6px;
	}
}

/* ---------- crestwhite.com: "Delivering to [country] with [courier]" (Todor 02.11.2026) ----------
   body.cw-rp-cc = the site has countries (option cw_rp_site); crestwhite.co.uk never gets these rules. */
body.cw-rp-cc .cwrp-trust li.cwc-to{grid-column:1/-1;align-items:flex-start;flex-wrap:wrap;padding-bottom:11px;margin-bottom:1px;border-bottom:1px solid #dde2e8;font-size:13.5px}
body.cw-rp-cc .cwrp-trust li.cwc-to > svg{margin-top:7px}
body.cw-rp-cc .cwrp-trust li.cwc-to > span{flex:1 1 0;min-width:0;line-height:34px}
body.cw-rp-cc .cwc-sel{position:relative;display:inline-flex;align-items:center;gap:7px;max-width:100%;margin-left:4px;padding:5px 10px 5px 11px;box-sizing:border-box;background:#fff;border:1px solid #c7d0da;border-radius:6px;font-weight:600;color:#004681;line-height:1.2;cursor:pointer;vertical-align:middle}
body.cw-rp-cc .cwc-sel svg{width:11px!important;height:11px!important;flex:0 0 11px!important;margin:0!important;stroke:#004681!important;stroke-width:2.4!important;fill:none}
body.cw-rp-cc .cwc-sel:focus-within{outline:2px solid #1484c9;outline-offset:2px}
body.cw-rp-cc .cwc-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
body.cw-rp-cc .cwc-pick{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;font-size:16px;-webkit-appearance:none;appearance:none}
body.cw-rp-cc .cwc-by{display:inline-flex;align-items:center;gap:8px;margin-left:10px;white-space:nowrap;vertical-align:middle}
body.cw-rp-cc .cwc-by[hidden]{display:none}
body.cw-rp-cc .cwc-car{display:inline-flex;align-items:center;justify-content:center;height:31px;min-width:56px;padding:0 10px;box-sizing:border-box;background:#fff;border:1px solid #c7d0da;border-radius:6px}
body.cw-rp-cc .cwc-car img{display:block;width:auto!important;max-width:none!important;margin:0!important}
body.cw-rp-cc .cwc-car-t{font-weight:600;color:#1c2c41;white-space:nowrap;line-height:1}
body.cw-rp-cc .cwrp-dlv-row.cwc-dlv-to{align-items:center}
body.cw-rp-cc .cwrp-dlv-row.cwc-dlv-to .cwc-sel{margin-left:0}
body.cw-rp-cc .cwc-local{display:inline-flex}
body.cw-rp-cc .cwc-local:empty{display:none}
body.cw-rp-cc .cwc-mark{display:inline-flex;align-items:center;justify-content:center;gap:3px;height:28px;padding:0 7px;box-sizing:border-box;border:1px solid #d5dae1;border-radius:4px;background:#fff}
body.cw-rp-cc .cwc-mark img{display:block;height:17px!important;width:auto!important;margin:0!important}
body.cw-rp-cc .cwc-rev img{height:14px!important}
body.cw-rp-cc .cwc-rev b{font:700 13px/1 Arial,sans-serif;color:#000}
body.cw-rp-cc .cwf-marks .cwc-mark{height:30px}
/* phones: with a courier shown, country + courier stay on one line (Todor: "I do not like a second line") - the words
   "Delivering to" give way (the pin says it), and a very long country name is cut with "…" */
@media (max-width:767px){
	body.cw-rp-cc .cwrp-trust li.cwc-to.cwc-has > span{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;line-height:normal;min-height:34px}
	body.cw-rp-cc .cwrp-trust li.cwc-to.cwc-has .cwc-lab{display:none}
	body.cw-rp-cc .cwrp-trust li.cwc-to.cwc-has .cwc-sel{margin-left:0;min-width:0;flex:0 1 auto}
	body.cw-rp-cc .cwrp-trust li.cwc-to.cwc-has .cwc-by{margin-left:0;flex:none}
}
@media (max-width:760px){
	body.cw-rp-cc .cwrp-pay{gap:6px}
	body.cw-rp-cc .cwrp-pay img{height:24px!important}
	body.cw-rp-cc .cwrp-pay .cwc-mark{height:24px;padding:0 5px}
	body.cw-rp-cc .cwrp-pay .cwc-mark img{height:14px!important}
	body.cw-rp-cc .cwrp-pay .cwc-rev img{height:12px!important}
	body.cw-rp-cc .cwrp-pay .cwc-rev b{font-size:11px}
}
