/*
Theme Name: MyVariations
Author: MyVariations
Description: MyVariations dental-care store theme. WooCommerce, French front-end, 100% local assets and S3 media.
Version: 1.9.2
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.1
License: Proprietary
Text Domain: myvariations
Tags: e-commerce, custom-theme, woocommerce
*/

/*
 * This file is the WordPress theme header + the adapter layer between the
 * ported reference CSS and the WordPress/WooCommerce markup. The reference
 * CSS itself lives in style.min.css / content.min.css / navigation.min.css /
 * promotions.min.css / completion.min.css / gap-fixes.css / media.min.css /
 * offers.min.css / blog.min.css at the theme root (enqueued in that order).
 */

:root {
	--mv-ink: #1d1d1b;
	--mv-pink: #f65497;
	--mv-pink-soft: #fff0f6;
	--mv-border: #e5e5e5;
	--mv-muted: #6b6b6b;
	--mv-green: #008b60;
}

/* --------------------------------------------------------------------------
 * Base / WordPress resets
 * ----------------------------------------------------------------------- */
.screen-reader-text,
.mv-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mv-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 9999;
	padding: 10px 16px;
	background: #fff;
	color: var(--mv-ink);
}
.mv-skip-link:focus {
	left: 8px;
	top: 8px;
}

body {
	margin: 0;
	font-family: Archivo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: var(--mv-ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

button {
	font-family: inherit;
}

main:focus {
	outline: none;
}

/* The theme's own content wrappers sit directly under body. */
#main {
	min-height: 30vh;
}

/* --------------------------------------------------------------------------
 * Header: cart counter + mobile toggles (reference parity fixes)
 * ----------------------------------------------------------------------- */
.mv-menu-toggle {
	background: none;
	border: 0;
	padding: 0;
	font-size: 20px;
	line-height: 28px;
	cursor: pointer;
}

.mv-logo img {
	display: block;
	width: 140px;
	height: auto;
}

/* Search overlay: reference hides it with [hidden]. */
.mv-search[hidden],
.mv-mobile-menu[hidden] {
	display: none;
}

.mv-site-header.is-scrolled .mv-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: #fff;
}

/* --------------------------------------------------------------------------
 * Product cards: ensure the reference card rhythm
 * ----------------------------------------------------------------------- */
.mv-card {
	position: relative;
}
.mv-card-add {
	margin: 0;
}

/* --------------------------------------------------------------------------
 * Collection page (reference `.mv-page.mv-collection-page`)
 * ----------------------------------------------------------------------- */
.mv-breadcrumb {
	font-size: 13px;
	color: var(--mv-muted);
	margin: 0;
}
.mv-collection-tools {
	position: relative;
	font-size: 14px;
}
.mv-collection-tools > summary {
	cursor: pointer;
	list-style: none;
}
.mv-collection-tools > summary::-webkit-details-marker {
	display: none;
}
.mv-catalog-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	background: #fff;
	padding: 12px;
	border: 1px solid var(--mv-border);
	border-radius: 8px;
	margin-top: 10px;
}
.mv-collection-tools .mv-catalog-toolbar {
	position: absolute;
	right: 0;
	top: 100%;
	z-index: 20;
	min-width: 320px;
}
.mv-catalog-search {
	display: flex;
	gap: 6px;
}
.mv-catalog-search input[type="search"],
.mv-menu-search input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--mv-border);
	border-radius: 6px;
	font: inherit;
}
.mv-catalog-search button,
.mv-menu-search button {
	padding: 10px 14px;
	border: 1px solid var(--mv-ink);
	background: var(--mv-ink);
	color: #fff;
	border-radius: 6px;
	cursor: pointer;
}
.mv-collection-inner > h1.screen-reader-text {
	margin: 0;
}
@media (max-width: 750px) {
}
.mv-card-empty {
	grid-column: 1 / -1;
	padding: 48px 0;
	text-align: center;
}

/* Pagination (reference `.mv-page .nav-links/.page-numbers`). */
.mv-page .nav-links,
.pagination,
.mv-blog-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 36px 0;
	align-items: center;
}
.mv-page .page-numbers,
.mv-blog-pagination a,
.mv-blog-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border: 1px solid var(--mv-border);
	border-radius: 6px;
	text-decoration: none;
}
.mv-page .page-numbers.current,
.mv-blog-pagination .current {
	background: var(--mv-ink);
	color: #fff;
	border-color: var(--mv-ink);
}

/* --------------------------------------------------------------------------
 * PDP
 * ----------------------------------------------------------------------- */
.mv-pdp {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 40px 64px;
}
.mv-pdp .mv-breadcrumb {
	margin: 18px 0;
}
.mv-pdp-grid {
	display: grid;
	grid-template-columns: minmax(0, 680fr) minmax(0, 650fr);
	gap: 30px;
	align-items: start;
}
@media (max-width: 1000px) {
	.mv-pdp-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.mv-pdp {
		padding: 0;
	}
	.mv-pdp .mv-breadcrumb {
		padding: 14px 20px 0;
	}
	.mv-gallery-stage .mv-main-image {
		width: 100vw;
		height: 100vw;
	}
	.mv-summary {
		padding: 22px 20px 0;
	}
	.mv-summary h1 {
		font-size: 24px;
		line-height: 27.6px;
		margin-bottom: 12px;
	}
}
.mv-gallery,
.mv-summary {
	position: sticky;
	top: var(--mv-sticky-top, 90px);
	min-width: 0;
}
@media (max-width: 1000px) {
	.mv-gallery,
	.mv-summary {
		position: static;
	}
}
.mv-gallery-stage {
	position: relative;
}
.mv-gallery-stage .mv-main-image {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
}
.mv-gallery-stage .mv-image-open {
	position: static;
	display: block;
	width: 100%;
	height: auto;
	padding: 0;
	border: 0;
	background: none;
	line-height: 0;
	cursor: zoom-in;
}
.mv-gallery-prev,
.mv-gallery-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, 0.9);
	cursor: pointer;
	font-size: 18px;
}
.mv-gallery-prev { left: 12px; }
.mv-gallery-next { right: 12px; }
.mv-image-dialog {
	border: 0;
	padding: 0;
	max-width: min(92vw, 900px);
	max-height: 92vh;
	background: #fff;
	border-radius: 12px;
}
.mv-image-dialog::backdrop {
	background: rgba(0, 0, 0, 0.8);
}
.mv-image-dialog .mv-dialog-image {
	display: block;
	width: auto;
	max-height: 82vh;
	margin: 0 auto;
}
.mv-image-close {
	position: absolute;
	top: 8px;
	right: 10px;
	font-size: 28px;
	line-height: 1;
	border: 0;
	background: rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	width: 36px;
	height: 36px;
	cursor: pointer;
}
.mv-dialog-controls {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 14px;
	padding: 10px;
}
.mv-dialog-controls button {
	width: 38px;
	height: 38px;
	border: 1px solid var(--mv-border);
	background: #fff;
	border-radius: 50%;
	cursor: pointer;
}

.mv-summary h1 {
	font-size: clamp(28px, 3.1vw, 40px);
	font-weight: 500;
	line-height: 1.15;
	margin: 0 0 10px;
}
.mv-summary .mv-native-form form.cart {
	display: block;
}
table.variations {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 8px;
}
table.variations th.label,
table.variations td.value {
	display: block;
	width: 100%;
	text-align: left;
	padding: 0;
}
table.variations th.label label {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
	display: block;
}
table.variations select {
	width: 100%;
	padding: 11px;
	border: 1px solid var(--mv-border);
	background: #fff;
	border-radius: 6px;
	font: inherit;
}
table.variations select.mv-select-native {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}
.mv-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 4px 0 14px;
}
.mv-swatch {
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid #ccc;
	border-radius: 50%;
	cursor: pointer;
}
.mv-swatch.selected {
	outline: 2px solid var(--mv-pink);
	outline-offset: 2px;
}
.mv-option {
	min-height: 38px;
	padding: 7px 14px;
	border: 1px solid var(--mv-border);
	background: #fff;
	border-radius: 6px;
	cursor: pointer;
	font: inherit;
}
.mv-option.selected {
	border-color: var(--mv-ink);
	background: var(--mv-ink);
	color: #fff;
}
.mv-product-price {
	font-size: 24px;
	margin: 12px 0 18px;
}
.mv-product-price del {
	color: #6f6368;
	font-size: 17.28px;
	margin-right: 10px;
}
.mv-product-price ins {
	text-decoration: none;
	font-size: 24px;
}
.mv-summary-media {
	margin: 6px 0 18px;
}
.mv-product-trust,
.mv-rating-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--mv-green);
	text-decoration: none;
}
.mv-rating-badge svg {
	width: 88px;
	height: 18px;
}
.single_variation_wrap .woocommerce-variation {
	margin-bottom: 8px;
}
.woocommerce-variation-add-to-cart.variations_button {
	display: flex;
	gap: 10px;
	align-items: stretch;
	margin-top: 6px;
}
.woocommerce-variation-add-to-cart .quantity {
	display: flex;
	align-items: center;
	border: 1px solid var(--mv-border);
	border-radius: 2px;
	overflow: hidden;
	height: 51px;
	min-width: 100px;
}
.woocommerce-variation-add-to-cart .quantity input.qty {
	width: 40px;
	height: 51px;
	border: 0;
	text-align: center;
	font: inherit;
	appearance: textfield;
	-moz-appearance: textfield;
}
.woocommerce-variation-add-to-cart .quantity input.qty::-webkit-inner-spin-button {
	appearance: none;
}
.mv-qty-step {
	width: 30px;
	height: 51px;
	border: 0;
	background: #fff;
	font-size: 18px;
	cursor: pointer;
}
.single_add_to_cart_button {
	flex: 1;
	min-height: 51px;
	border: 0;
	border-radius: 2px;
	background: #f64b98;
	color: #fff;
	font-size: 17px;
	font-weight: 500;
	cursor: pointer;
	padding: 15px 28px;
}
.single_add_to_cart_button:disabled {
	opacity: 0.5;
}
.mv-buy-price {
	font-weight: 400;
}
.mv-price-note {
	font-size: 13px;
	color: var(--mv-muted);
	margin: 14px 0 8px;
}
.mv-product-perks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	font-size: 13px;
	color: var(--mv-muted);
	margin: 10px 0 20px;
}
.mv-accordion {
	border-top: 1px solid var(--mv-border);
	padding: 16px 0;
}
.mv-accordion > summary {
	cursor: pointer;
	font-weight: 500;
	font-size: 16px;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.mv-accordion > summary::-webkit-details-marker {
	display: none;
}
.mv-accordion .accordion__content {
	padding-top: 12px;
	font-size: 15px;
	line-height: 1.6;
}
.mv-product-content {
	margin-top: 8px;
}
.mv-countdown {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	margin: 6px 0 12px;
}
.mv-countdown strong {
	font-variant-numeric: tabular-nums;
}
.mv-fake-viewers,
.mv-fake-stock {
	font-size: 13px;
	margin: 4px 0;
}
.mv-fake-stock {
	color: #b3261e;
}
.mv-pdp-related {
	margin-top: 56px;
}
.mv-pdp-related .mv-products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	margin-right: 0;
	padding-bottom: 0;
	overflow: visible;
}
@media (max-width: 900px) {
	.mv-pdp-related .mv-products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.mv-pdp-related .mv-products {
	width: 100%;
	margin-right: 0;
}
.mv-pdp-related h2 {
	font-size: 26px;
	font-weight: 500;
	margin: 0 0 20px;
}

/* --------------------------------------------------------------------------
 * Cart page (reference `.mv-page .woocommerce` + custom cart template)
 * ----------------------------------------------------------------------- */
.mv-page {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 40px 72px;
}
/* Checkout/cart use the full reference content width (two columns 904|440). */
.mv-page.mv-commerce-page {
	max-width: 1440px;
	padding-left: 40px;
	padding-right: 40px;
}
@media (max-width: 750px) {
	.mv-page.mv-commerce-page {
		padding-left: 16px;
		padding-right: 16px;
	}
}
.mv-page > h1 {
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 500;
	margin: 28px 0 22px;
}
@media (max-width: 750px) {
	.mv-page {
		padding: 0 20px 48px;
	}
}
.wp-purchase-impact {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0 0 24px;
	padding: 16px 18px;
	border-left: 3px solid #c5a778;
	background: #faf8f3;
	font-size: 14px;
}
.wp-purchase-impact strong {
	font-size: 15px;
}
.wp-purchase-impact-delivery {
	color: var(--mv-muted);
	font-size: 13px;
}
.mv-cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 40px;
	align-items: start;
}
@media (max-width: 1000px) {
	.mv-cart-layout {
		grid-template-columns: 1fr;
	}
}
.mv-cart-items {
	border-top: 1px solid var(--mv-border);
}
.mv-cart-item > div > a:not(.mv-cart-remove) {
	font-weight: 500;
	text-decoration: none;
}
.mv-cart-remove {
	margin-left: 16px;
	border: 0;
	background: none;
	text-decoration: underline;
	cursor: pointer;
	font-size: 13px;
	color: var(--mv-muted);
}
.mv-cart-line-total {
	font-size: 16px;
	white-space: nowrap;
}
.mv-cart-summary {
	position: sticky;
	top: 100px;
}
.mv-cart-summary .mv-button {
	border-radius: 6px;
	background: var(--mv-pink);
	color: #fff;
	text-decoration: none;
}
.mv-empty-cart {
	text-align: center;
	padding: 40px 0 20px;
}
.mv-empty-cart .mv-button {
	display: inline-block;
}

/* --------------------------------------------------------------------------
 * Checkout (two columns)
 * ----------------------------------------------------------------------- */
.woocommerce-checkout .mv-page > h1 {
	margin-bottom: 10px;
}
.woocommerce-checkout form.checkout {
	display: block;
}
.woocommerce-checkout #customer_details {
	width: 100%;
	float: none;
}
.woocommerce-checkout #customer_details:after {
	content: "";
	display: table;
	clear: both;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	float: left;
	width: 48%;
}
.woocommerce-checkout #customer_details .col-2 {
	float: right;
}
@media (max-width: 1000px) {
	.woocommerce-checkout #customer_details .col-1,
	.woocommerce-checkout #customer_details .col-2 {
		float: none;
		width: 100%;
	}
	.woocommerce-checkout #customer_details .col-2 {
		margin-top: 22px;
	}
	.mv-page.mv-commerce-page {
		padding-left: 20px;
		padding-right: 20px;
	}
	.woocommerce-checkout #customer_details {
		margin-top: 19px;
	}
}

/* Mobile PDP summary spacing (reference h1 y=595) */
@media (max-width: 750px) {
	.mv-summary {
		padding-top: 18px;
	}
}
.woocommerce-checkout #order_review_heading {
	margin: 36px 0 18px;
}
.woocommerce-checkout #ship-to-different-address {
	font-size: 15px;
	margin: 0 0 12px;
}
.woocommerce-checkout #ship-to-different-address label {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.woocommerce-checkout form .form-row {
	margin: 0 0 14px;
	padding: 0;
}
.woocommerce-checkout form .form-row label {
	font-size: 14px;
	margin-bottom: 5px;
	display: block;
}
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select {
	width: 100%;
	padding: 12px;
	border: 1px solid var(--mv-border);
	border-radius: 6px;
	font: inherit;
	background: #fff;
}
.woocommerce-checkout form .form-row-first,
.woocommerce-checkout form .form-row-last {
	width: calc(50% - 7px);
	float: left;
}
.woocommerce-checkout form .form-row-last {
	float: right;
}
.woocommerce-checkout form .form-row-wide {
	clear: both;
}
.woocommerce-checkout #order_review {
	background: transparent;
	padding: 0;
	border-radius: 0;
}
.woocommerce-checkout table.shop_table {
	width: 100%;
	border-collapse: collapse;
}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	padding: 10px 0;
	border-bottom: 1px solid #eadfe4;
	text-align: left;
	vertical-align: top;
	font-size: 14px;
}
.woocommerce-checkout table.shop_table td.product-total,
.woocommerce-checkout table.shop_table th.product-total {
	text-align: right;
}
.woocommerce-checkout tr.cart-subtotal th,
.woocommerce-checkout tr.cart-subtotal td,
.woocommerce-checkout tr.order-total th,
.woocommerce-checkout tr.order-total td {
	font-size: 16px;
}
.woocommerce-checkout tr.order-total .amount {
	font-size: 16px;
	line-height: 24px;
	font-weight: 900;
}
@media (max-width: 750px) {
	.woocommerce-checkout .woocommerce-shipping-totals td,
	.woocommerce-checkout .woocommerce-shipping-totals th {
		display: block;
		width: 100%;
		border: 0;
		padding: 0;
	}
}
.woocommerce-checkout #payment {
	background: #fcf5f8;
	border-radius: 5px;
	padding: 16px;
	margin-top: 20px;
}
.woocommerce-checkout #payment ul.payment_methods {
	padding: 0;
	margin: 0 0 14px;
	border: 0;
	list-style: none;
}
.woocommerce-checkout #payment div.payment_box {
	background: #fff;
	font-size: 14px;
}
.woocommerce-checkout #place_order {
	width: 100%;
	min-height: 47px;
	border: 0;
	border-radius: 2px;
	background: #1b1b1b;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	padding: 13px 20px;
}
.mv-checkout-consents {
	margin: 16px 0 18px;
	font-size: 13px;
}
.mv-checkout-consents .form-row {
	margin: 0 0 10px;
}
.mv-checkout-consents label {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}
.mv-checkout-consents input[type="checkbox"] {
	margin-top: 3px;
}
.pay-brands {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 10px 0;
}
.pay-brands img {
	width: 44px;
	height: 28px;
	object-fit: contain;
	box-sizing: border-box;
	padding: 1px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 3px;
	display: block;
	flex: 0 0 auto;
}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	list-style: none;
	padding: 14px 18px;
	border-radius: 8px;
	margin: 0 0 18px;
	background: var(--mv-pink-soft);
}

/* --------------------------------------------------------------------------
 * Footer / cookie consent / toasts
 * ----------------------------------------------------------------------- */
.footer-copyright {
	font-size: 13px;
	color: #fff;
}
.footer-bottom-bar__content {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.mv-cookie-consent {
	position: fixed;
	left: auto;
	right: 20px;
	bottom: 20px;
	max-width: 560px;
	z-index: 200;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	padding: 12px 16px;
	background: #fff;
	border: 1px solid var(--mv-border);
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
	font-size: 14px;
}
.mv-cookie-consent[hidden] {
	display: none;
}
.mv-cookie-consent p {
	margin: 0;
}
.mv-cookie-actions {
	display: flex;
	gap: 10px;
	align-items: center;
}
.mv-cookie-actions .mv-button {
	border: 0;
	cursor: pointer;
	background: var(--mv-pink);
	color: #fff;
	padding: 10px 18px;
	border-radius: 6px;
}
.mv-cookie-reject {
	border: 0;
	background: none;
	text-decoration: underline;
	cursor: pointer;
	font: inherit;
}

/* "Added to cart" card (reference `.mv-cart-toast`). */
.mv-cart-toast[hidden] {
	display: none;
}
.mv-cart-toast .mv-toast-product {
	display: flex;
	gap: 12px;
	align-items: center;
}
.mv-cart-toast .mv-toast-product img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 6px;
	background: #fff;
}
.mv-cart-toast .mv-toast-product a {
	color: #fff;
	font-weight: 500;
}
.mv-cart-toast .mv-toast-product p {
	margin: 2px 0;
	font-size: 12px;
	opacity: 0.8;
}
.mv-cart-toast .mv-toast-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}
.mv-cart-toast .mv-toast-close {
	border: 0;
	background: none;
	color: #fff;
	font-size: 20px;
	cursor: pointer;
	line-height: 1;
}

/* --------------------------------------------------------------------------
 * Blog (blog.min.css covers the article; index/list adapter)
 * ----------------------------------------------------------------------- */
.mv-blog-index .mv-blog-grid,
.mv-blog .mv-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 22px;
}
@media (max-width: 1000px) {
	.mv-blog-index .mv-blog-grid,
	.mv-blog .mv-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 750px) {
	.mv-blog-index .mv-blog-grid,
	.mv-blog .mv-blog-grid {
		grid-template-columns: 1fr;
	}
}
.mv-blog .article-card img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	width: 100%;
	border-radius: 8px;
	display: block;
}
.mv-blog .article-card .h5 {
	margin: 10px 0 6px;
}
.mv-blog-search {
	display: flex;
	gap: 8px;
	margin: 18px 0 28px;
}
.mv-blog-search input {
	flex: 1;
	min-width: 0;
	padding: 12px;
	border: 1px solid var(--mv-border);
	border-radius: 6px;
	font: inherit;
}
.mv-blog-search button {
	padding: 12px 18px;
	border: 0;
	border-radius: 6px;
	background: var(--mv-ink);
	color: #fff;
	cursor: pointer;
}
.mv-blog-article {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 24px 64px;
}
@media (max-width: 750px) {
	.mv-blog-article {
		padding: 0 16px 48px;
	}
}
.mv-blog-article h1 {
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 500;
	line-height: 1.15;
	margin: 24px 0 12px;
}
.mv-blog-article .article-content {
	font-size: 17px;
	line-height: 1.7;
}
.mv-blog-article .article-content img {
	border-radius: 10px;
}
.mv-blog-article .article-author {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	margin: 12px 0 20px;
	color: var(--mv-muted);
}

/* 404 / search / generic page */
.mv-not-found {
	text-align: center;
	padding: 60px 24px 80px;
}
.mv-not-found .mv-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 13px;
	color: var(--mv-muted);
}
.mv-not-found h1 {
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 500;
}
.mv-not-found .mv-catalog-search {
	max-width: 420px;
	margin: 20px auto 0;
}
.mv-page-content h2 {
	font-weight: 500;
}
.mv-page-content h3 {
	font-weight: 500;
}
.mv-content-page {
	max-width: none;
	margin: 0;
	padding: 0 0 64px;
}

/* Search results */
.mv-search-results {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px 22px;
	margin: 24px 0;
}
@media (max-width: 900px) {
	.mv-search-results {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 600px) {
	.mv-search-results {
		grid-template-columns: 1fr;
	}
}

/* WooCommerce notices on non-checkout pages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	list-style: none;
}

/* Files/scripts must never overflow the 390px viewport. */
img,
table,
pre,
iframe,
video {
	max-width: 100%;
}


/* --------------------------------------------------------------------------
 * Footer colour scheme (reference: blue #2765c1 + texture overlay)
 * ----------------------------------------------------------------------- */
.footer.footer--has-overlay {
	position: relative;
	background-color: #2765c1;
	color: #fff;
	overflow: hidden;
}
.footer .footer__overlay {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: var(--overlay-opacity, 1);
	background-size: cover;
	background-position: center;
	pointer-events: none;
}
.footer .footer__content,
.footer .footer__bottom-bar {
	position: relative;
	z-index: 1;
}
.footer .menu-block__link,
.footer .menu-block .text-block,
.footer .menu-block .text-block p,
.footer .footer-copyright__text,
.footer .footer-copyright__text a {
	color: #fff;
}
.footer .menu-block__link:hover {
	text-decoration: underline;
}
.footer .image-block--trustpilot {
	margin-top: 6px;
}
.footer .image-block--trustpilot img {
	width: 100%;
	filter: none;
}
.footer .image-block .image-block__image {
	filter: invert(1) brightness(2);
}
.footer .separator hr {
	border-color: rgba(255, 255, 255, 0.35);
}
.footer .accordion__heading-title,
.footer .accordion__header,
.footer .accordion__content,
.footer .accordion summary {
	color: #fff;
}

/* Cart drawer expiry (reference .mv-cart-expiry) */
.mv-cart-expiry {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	padding: 10px 12px;
	background: #fff0f6;
	color: #262626;
	font-size: 13px;
	line-height: 1.4;
	text-align: center;
}
.mv-cart-expiry strong {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}


/* --------------------------------------------------------------------------
 * PDP reference details (measured against docs/spec.json)
 * ----------------------------------------------------------------------- */
/* The reference hides the standalone price: the buy row shows it. */
.mv-native-form .mv-product-price {
	display: none !important;
}
.mv-product-perks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 22px 0;
	margin: 0;
	font-size: 16px;
	color: var(--mv-ink);
}
@media (max-width: 750px) {
	.mv-summary h1 {
		font-size: 24px;
		line-height: 27.6px;
		margin-bottom: 12px;
	}
}

/* --------------------------------------------------------------------------
 * PDP assurance (WS Product Assurance markup) — measured vs docs/spec.json
 * ----------------------------------------------------------------------- */
.wpsa {
	margin: 24px 0;
	font-size: 14px;
	line-height: 1.45;
	color: #292929;
}
.wpsa-services {
	background: #f6f6f6;
	border-radius: 12px;
	padding: 8px 20px;
}
.wpsa-service {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 12px 0;
}
.wpsa-service svg {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	margin-top: 2px;
	color: #1d1d1b;
}
.wpsa-service h3 {
	margin: 0 0 2px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
}
.wpsa-service p {
	margin: 0;
	font-size: 14px;
	color: #555;
}
.wpsa-trust {
	margin-top: 20px;
	border: 1px solid #e2e2e2;
	border-left: 4px solid #17a45c;
	border-radius: 8px;
	padding: 12px 16px;
}
.wpsa-trust-title {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #0f8a4d;
}
.wpsa-trust-title svg {
	width: 22px;
	height: 22px;
}
.wpsa-trust-title strong {
	font-size: 16px;
	font-weight: 600;
}
.wpsa-trust-details {
	display: flex;
	margin-top: 10px;
	font-size: 13px;
	color: #333;
}
.wpsa-trust-details span {
	flex: 1;
	padding: 0 12px;
	border-left: 1px solid #e2e2e2;
}
.wpsa-trust-details span:first-child {
	border-left: 0;
	padding-left: 0;
}
.wpsa-trust-details b {
	display: block;
	font-weight: 600;
	font-size: 13px;
}
@media (max-width: 750px) {
	.wpsa-trust-details {
		flex-wrap: wrap;
		gap: 8px;
	}
	.wpsa-trust-details span {
		flex: 1 1 40%;
		border-left: 0;
		padding: 0;
	}
}

/* Reference PDP rhythm (tetes-de-brosse @1440 spec boxes) */
.mv-summary .mv-swatches {
	margin: 4px 0 6px;
}
.mv-summary-media {
	margin: 12px 0 0;
}
.mv-summary-media .mv-product-trust {
	display: block;
	height: 20px;
	min-height: 20px;
	overflow: hidden;
}
.mv-summary-media .mv-rating-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 20px;
	font-size: 13px;
	line-height: 20px;
}
.mv-product-trust {
	min-height: 20px;
}
.mv-summary form.cart .woocommerce-variation-add-to-cart,
.mv-summary form.cart:not(.variations_form) {
	margin-top: 14px;
}
.mv-summary .single_variation_wrap>div.woocommerce-variation:empty {
	display: none;
}
.mv-summary .mv-product-price {
	display: none !important;
}
.mv-summary .mv-accordion {
	border-top: 1px solid #e2e2e2;
}
.mv-summary .mv-accordion>summary {
	font-size: 18px;
	line-height: 20px;
	padding: 22px 32px 22px 0;
	font-weight: 400;
}
.mv-summary .mv-accordion .accordion__content {
	font-size: 15px;
	line-height: 1.5;
	padding-bottom: 18px;
}
.mv-summary .mv-price-note {
	margin: 0 0 2px;
}
.mv-summary .single_variation_wrap>.woocommerce-variation {
	display: none !important;
}
.mv-product-perks {
	margin-top: 58px;
}
.mv-summary .mv-product-content {
	margin-top: 25px;
}


/* Client-required PDP metrics (countdown / viewers / stock) — compact row
 * right under the add-to-cart button. Absolutely positioned on desktop so the
 * reference-measured boxes below keep their exact spec positions. */
.woocommerce-variation-add-to-cart,
.mv-summary form.cart:not(.variations_form) {
	position: relative;
}
.mv-pdp-metrics {
	position: absolute;
	left: 0;
	top: calc(100% + 2px);
	display: flex;
	gap: 16px;
	align-items: center;
	white-space: nowrap;
	font-size: 12px;
	line-height: 16px;
	pointer-events: none;
}
@media (max-width: 750px) {
	.mv-pdp-metrics {
		position: static;
		flex-wrap: wrap;
		gap: 4px 14px;
		padding-top: 8px;
		white-space: normal;
		font-size: 12px;
	}
}
.mv-pdp-metrics .mv-countdown {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}
.mv-pdp-metrics .mv-countdown em {
	font-style: normal;
}
.mv-pdp-metrics .mv-fake-viewers,
.mv-pdp-metrics .mv-fake-stock {
	margin: 0;
}

/* Checkout headings per reference (h3 default 18.72px) */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review h2 {
	font-size: 18.72px;
	font-weight: 500;
	margin: 0 0 18px;
}

/* --------------------------------------------------------------------------
 * Blog index (reference layout: 4-col card grid, centered header)
 * ----------------------------------------------------------------------- */
.mv-blog-index .mv-blog-search {
	display: block;
	background: #ddeffa;
	padding: 20px 40px;
	margin: 0;
}
.mv-blog-index .mv-blog-search form {
	display: block;
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
}
.mv-blog-index .mv-blog-search input {
	width: 100%;
	height: 52px;
	padding: 0 20px 0 52px;
	border: 0;
	border-radius: 4px;
	background: #fff;
	font-size: 15px;
}
.mv-blog-index .mv-blog-search button {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	padding: 0;
	border: 0;
	background: transparent;
	color: #1d1d1b;
	font-size: 20px;
	line-height: 1;
}
.mv-blog-index .custom-section__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 28px 40px 0;
}
.mv-blog-index .custom-section__inner .breadcrumb-block {
	align-self: flex-start;
	width: 100%;
}
.mv-blog-index .custom-section__inner .text-block {
	max-width: 900px;
	text-align: center;
}
.mv-blog-index .custom-section__inner h1 {
	font-size: 44px;
	font-weight: 500;
	line-height: 1.15;
	margin: 12px 0 8px;
}
.mv-blog-index .custom-section__inner p {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}
.mv-blog-index .mv-blog-topics {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	padding: 24px 40px 10px;
	margin: 0;
}
.mv-blog-index .mv-blog-topics a {
	border: 1px solid #1d1d1b;
	border-radius: 1.4px;
	padding: 8px 14px;
	font-size: 16px;
	line-height: 22px;
	text-decoration: none;
}
.mv-blog-index .mv-blog-topics a[aria-current="page"],
.mv-blog-index .mv-blog-topics a:hover {
	background: #1d1d1b;
	color: #fff;
}
.mv-blog-index .mv-blog-section {
	padding: 34px 40px 0;
}
.mv-blog-index .mv-blog-section > h2 {
	font-size: 34px;
	font-weight: 500;
	text-align: center;
	margin: 0 0 28px;
}
.mv-blog-index .mv-blog-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px 16px;
}
.mv-blog-index .mv-blog-grid .article-card {
	display: block;
	text-decoration: none;
	color: inherit;
}
.mv-blog-index .mv-blog-grid .article-card .image-block {
	width: 100%;
}
.mv-blog-index .mv-blog-grid .article-card img {
	width: 100%;
	aspect-ratio: 312 / 334;
	object-fit: cover;
	display: block;
	border-radius: 0;
}
.mv-blog-index .mv-blog-grid .article-date {
	text-align: center;
	margin: 14px 0 8px;
	font-size: 13px;
	color: #8a8a8a;
}
.mv-blog-index .mv-blog-grid .text-block.h5 p {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0 0 8px;
}
.mv-blog-index .mv-blog-grid .text-block.paragraph {
	font-size: 14px;
	line-height: 1.45;
	color: #444;
}
@media (max-width: 1000px) {
	.mv-blog-index .mv-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 750px) {
	.mv-blog-index .mv-blog-search {
		padding: 14px 20px;
	}
	.mv-blog-index .custom-section__inner,
	.mv-blog-index .mv-blog-section {
		padding-left: 20px;
		padding-right: 20px;
	}
	.mv-blog-index .custom-section__inner h1 {
		font-size: 30px;
	}
	.mv-blog-index .mv-blog-grid {
		grid-template-columns: 1fr;
	}
}

/* Cart / checkout trust bar + coupon (reference markup) */
.scv-cart-trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 28px;
	background: #f4f4f4;
	border-radius: 6px;
	padding: 12px 16px;
	margin: 0 0 16px;
	font-size: 13px;
	color: #333;
}
.scv-cart-trust b {
	font-weight: 600;
}
.scv-checkout-trust {
	margin: 18px 0 14px;
}
.scv-coupon-wrap {
	margin: 0;
	font-size: 14px;
}
.scv-coupon-wrap > summary {
	cursor: pointer;
	list-style: none;
	font-size: 14px;
	color: #1d1d1b;
}
.scv-coupon-wrap > summary::-webkit-details-marker {
	display: none;
}
.scv-coupon-wrap > summary:after {
	content: "+";
	float: right;
	font-size: 18px;
	line-height: 1;
}
.scv-coupon-wrap[open] > summary:after {
	content: "−";
}
.scv-coupon-wrap .coupon {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}
.scv-coupon-wrap .coupon input {
	flex: 1;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--mv-border);
	border-radius: 4px;
	font: inherit;
}
.scv-coupon-wrap .coupon button {
	padding: 10px 16px;
	border: 1px solid #1d1d1b;
	background: #1d1d1b;
	color: #fff;
	border-radius: 4px;
	cursor: pointer;
	font: inherit;
}
.mv-page .woocommerce .cart_totals .mv-surprise-summary {
	margin: 0 0 18px;
}

/* Cart table actions: reference collapsible coupon only (hide Woo inline row) */
.mv-page .woocommerce table.cart td.actions {
	border-top: 1px solid #ececec;
	padding: 12px 0 16px;
}
.mv-page .woocommerce table.cart td.actions > .coupon > label,
.mv-page .woocommerce table.cart td.actions > .coupon > input,
.mv-page .woocommerce table.cart td.actions > .coupon > button {
	display: none !important;
}
.mv-page .woocommerce table.cart td.actions > .coupon {
	display: block;
	float: none;
	border: 0;
	padding: 0;
	margin: 0;
}
.mv-page .woocommerce table.cart td.actions .scv-coupon-wrap {
	display: block;
	text-align: right;
	padding: 6px 0 12px;
}
.mv-page .woocommerce table.cart td.actions .scv-coupon-wrap > summary {
	display: inline-block;
	font-weight: 500;
}
.mv-page .woocommerce table.cart td.actions .scv-coupon-wrap > summary:after {
	float: none;
	margin-left: 4px;
}
.mv-page .woocommerce table.cart td.actions .scv-coupon-wrap .coupon {
	text-align: left;
	max-width: 480px;
	margin-left: auto;
}
.mv-page .woocommerce table.cart td.actions > button[name="update_cart"] {
	float: right;
}
.mv-page .woocommerce table.cart td.actions:after {
	content: "";
	display: table;
	clear: both;
}

/* Mobile footer: match reference height (469.5px @390) */
@media (max-width: 750px) {
	.footer__bottom-bar .footer-bottom-bar {
		--padding-top: 36px;
		--padding-bottom: 20px;
	}
	.footer .footer-bottom-bar__content {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 6px 10px;
	}
	.footer .footer-copyright {
		text-align: center;
	}
	.footer .image-block--trustpilot {
		width: 120px;
		max-width: 40%;
	}
	.footer .reviews-badge_stars {
		width: 90px !important;
	}
}

/* Stronger mobile bottom bar overrides (content.min.css sets grid) */
@media (max-width: 750px) {
	.footer.footer--has-overlay .footer .footer-bottom-bar,
	.footer.footer--has-overlay .footer__bottom-bar .footer-bottom-bar {
		padding-top: 46px !important;
		padding-bottom: 26px !important;
	}
	.footer.footer--has-overlay .footer-bottom-bar__content {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: center;
		gap: 4px 10px;
	}
}


/* --------------------------------------------------------------------------
 * Blog index — final reference geometry (4 cols 328px, gap 16, container 1360)
 * ----------------------------------------------------------------------- */
.mv-blog-index .mv-blog-search {
	display: block;
	background: #ddeffa;
	padding: 20px 40px;
	margin: 0;
}
.mv-blog-index .mv-blog-search form {
	display: block;
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
}
.mv-blog-index .mv-blog-search input {
	display: block;
	width: 100%;
	height: 52px;
	padding: 0 20px 0 52px;
	border: 0;
	border-radius: 4px;
	background: #fff;
	font-size: 15px;
}
.mv-blog-index .mv-blog-search button {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	padding: 0;
	border: 0;
	background: transparent;
	color: #1d1d1b;
	font-size: 20px;
	line-height: 1;
}
.mv-blog-index .custom-section__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 28px 40px 0;
	max-width: 1440px;
	margin: 0 auto;
}
.mv-blog-index .custom-section__inner .breadcrumb-block {
	align-self: flex-start;
	width: 100%;
}
.mv-blog-index .custom-section__inner .text-block {
	max-width: 900px;
	text-align: center;
}
.mv-blog-index .custom-section__inner h1 {
	font-size: 44px;
	font-weight: 500;
	line-height: 1.15;
	margin: 12px 0 8px;
}
.mv-blog-index .custom-section__inner p {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}
.mv-blog-index .mv-blog-topics {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 8px;
	padding: 24px 40px 10px;
	margin: 0 auto;
	max-width: 1440px;
	overflow-x: auto;
	scrollbar-width: thin;
}
.mv-blog-index .mv-blog-topics a {
	flex: 0 0 auto;
	border: 1px solid #1d1d1b;
	border-radius: 11px;
	padding: 8px 12px;
	font-size: 13px;
	line-height: 22px;
	text-decoration: none;
	white-space: nowrap;
}
.mv-blog-index .mv-blog-topics a[aria-current="page"],
.mv-blog-index .mv-blog-topics a:hover {
	background: #1d1d1b;
	color: #fff;
}
.mv-blog-index .mv-blog-section {
	max-width: 1440px;
	margin: 0 auto;
	padding: 50px 40px 0;
}
.mv-blog-index .mv-blog-section > h2 {
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-align: center;
	margin: 0 0 30px;
}
.mv-blog-index .mv-blog-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px 16px;
}
.mv-blog-index .mv-blog-grid .article-card {
	display: block;
	text-decoration: none;
	color: inherit;
	min-width: 0;
}
.mv-blog-index .mv-blog-grid .article-card .image-block {
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 0;
}
.mv-blog-index .mv-blog-grid .article-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
}
.mv-blog-index .mv-blog-grid .article-date {
	text-align: center;
	font-size: 12px;
	line-height: 18px;
	color: #a5a5a5;
	margin: 12px 0 6px;
}
.mv-blog-index .mv-blog-grid .article-card .h5 p {
	font-size: 20px;
	line-height: 1.4;
	font-weight: 500;
	margin: 0 0 8px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mv-blog-index .mv-blog-grid .text-block--truncated {
	font-size: 14px;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mv-blog-index .mv-blog-pagination {
	margin: 40px auto 0;
	padding-bottom: 60px;
}
@media (max-width: 1000px) {
	.mv-blog-index .mv-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 750px) {
	.mv-blog-index .mv-blog-search,
	.mv-blog-index .mv-blog-section,
	.mv-blog-index .mv-blog-topics {
		padding-left: 20px;
		padding-right: 20px;
	}
	.mv-blog-index .custom-section__inner {
		padding-left: 20px;
		padding-right: 20px;
	}
	.mv-blog-index .custom-section__inner h1 {
		font-size: 30px;
	}
	.mv-blog-index .mv-blog-grid {
		grid-template-columns: 1fr;
	}
}


/* Blog header: stacked breadcrumb / h1 / description (reference) */
.mv-blog-index .custom-section .custom-section__inner,
.mv-blog-index .custom-section__wrapper .custom-section__inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	flex-wrap: nowrap;
	gap: 8px;
	padding: 28px 40px 0;
	max-width: 1440px;
	margin: 0 auto;
}
.mv-blog-index .custom-section .custom-section__inner .breadcrumb-block {
	align-self: flex-start;
	width: 100%;
}
.mv-blog-index .custom-section .custom-section__inner .text-block {
	width: 100%;
	max-width: 900px;
	text-align: center;
}
@media (max-width: 750px) {
	.mv-blog-index .custom-section .custom-section__inner {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* Tablet overflow guards (768/1024): PDP sections and client metrics */
.mv-restored,
.mv-restored > section,
.mv-restored .shopify-section {
	max-width: 100%;
	box-sizing: border-box;
}
.mv-pdp-sections,
.mv-pdp-sections > section,
.mv-pdp-sections .shopify-section,
.mv-pdp-sections .mv-content-section,
.mv-pdp-sections .custom-section,
.mv-pdp-sections .custom-section__wrapper,
.mv-pdp-sections .page-width {
	max-width: 100% !important;
	width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}
.mv-pdp-sections {
	overflow-x: hidden;
}
.mv-pdp-metrics {
	max-width: 100%;
	flex-wrap: wrap;
	white-space: normal;
}
.mv-pdp-metrics .mv-fake-stock,
.mv-pdp-metrics .mv-fake-viewers,
.mv-pdp-metrics .mv-countdown {
	min-width: 0;
	white-space: normal;
	overflow-wrap: anywhere;
}
@media (max-width: 1100px) and (min-width: 751px) {
	.mv-pdp-metrics {
		position: static;
		padding-top: 8px;
	}
}

/* Reviews page notices */
.mv-review-notice {
	max-width: 1280px;
	margin: 16px auto 0;
	padding: 12px 16px;
	border-radius: 6px;
	background: #e6f7ef;
	border: 1px solid #b7e4cd;
	color: #145c38;
	font-size: 14px;
	text-align: center;
}
.mv-review-notice--error {
	background: #fdecec;
	border-color: #f2b8b8;
	color: #8a1f1f;
}

/* Pack Family builder price block (reference shows the del/ins price row) */
.mv-family-form .mv-product-price {
	display: flex !important;
	align-items: baseline;
	gap: 8px;
	font-size: 24px;
	font-weight: 500;
	margin: 18px 0 12px;
}
.mv-family-form .mv-product-price del {
	color: #8a8a8a;
	font-weight: 400;
}
.mv-family-form .mv-product-price ins {
	text-decoration: none;
	color: var(--ink);
}
.mv-family-form .mv-buy-price {
	display: inline;
}
@media (max-width: 750px) {
	.mv-family-form .mv-product-price {
		font-size: 22px;
		margin: 15px 0 10px;
	}
}

/* Pack Family form layout (reference: options, price row, qty + flex button) */
.mv-summary .mv-native-form form.cart.mv-family-form {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
	margin-top: 0;
	position: relative;
}
.mv-family-options {
	display: flow-root;
}
@media (max-width: 750px) {
	.mv-summary .mv-native-form form.cart.mv-family-form {
		display: flex;
	}
}


/* === Reference cart/checkout plugin styles (localised) === */


        .wp-purchase-impact{box-sizing:border-box;display:flex;flex-direction:column;gap:6px;width:100%;max-width:100%;margin:0 0 22px;padding:17px 18px;border-left:3px solid #c5a778;background:#faf8f3;color:#333;font-size:14px;line-height:1.5;text-align:left}
        .wp-purchase-impact strong{font-family:inherit;font-size:15px;font-weight:500;color:#4b3a2e}
        .wp-purchase-impact span{display:block}
        .wp-purchase-impact--drawer{margin:0 0 14px;padding:13px 14px;font-size:13px}
        .wp-purchase-impact--drawer strong{font-size:14px}
        .wp-purchase-impact--checkout{margin:8px 0;padding:13px 14px;font-size:13px}
        .wp-purchase-impact--checkout strong{font-size:14px}
        .wp-purchase-impact-row>td{padding:0;border:0}
        .wp-purchase-impact-row .wp-purchase-impact{margin:4px 0 12px;padding:13px 14px;font-size:13px;background:#faf8f3}
        .wp-purchase-impact-row .wp-purchase-impact strong{font-size:14px}
        .wp-block-woocommerce-cart .wp-purchase-impact{margin-bottom:24px}
        @media(max-width:480px){.wp-purchase-impact{margin-bottom:16px;padding:14px 15px;font-size:13px}.wp-purchase-impact strong{font-size:14px}}
    
/*# sourceURL=wp-purchase-impact-notice-inline-css */



        :root{--wpsc-accent:#111111}
        html.wpsc-locked,html.wpsc-locked body{overflow:hidden}
        .wpsc-overlay{position:fixed;inset:0;background:rgba(17,17,17,.42);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:2147483000}
        .wpsc-overlay.is-open{opacity:1;pointer-events:auto}
        .wpsc-drawer{position:fixed;top:0;right:0;height:100%;width:420px;max-width:100vw;background:#fff;color:#1a1a1a;z-index:2147483001;display:flex;flex-direction:column;transform:translateX(102%);transition:transform .26s cubic-bezier(.22,.61,.36,1);box-shadow:-18px 0 48px rgba(0,0,0,.16);font-family:inherit}
        .wpsc-drawer.is-open{transform:translateX(0)}
        .wpsc-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px}
        .wpsc-title{margin:0;font-size:17px;font-weight:600}
        .wpsc-badge{display:inline-block;min-width:20px;padding:1px 6px;border-radius:99px;background:var(--wpsc-accent);color:var(--wpsc-on-accent);font-size:12px;vertical-align:middle}
        .wpsc-close{border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:#333;padding:0 4px}
        .wpsc-shipping-free{display:flex;align-items:flex-start;gap:8px;margin:0 20px 6px;padding:9px 12px;border-radius:6px;background:#f4f7f2;color:#2f6b3f;font-size:12.5px;font-weight:600}
        .wpsc-shipping-free-text{display:flex;flex-direction:column;gap:1px}
        .wpsc-shipping-days{font-weight:400;font-size:11.5px;color:#5c6b58;line-height:1.35}
        .wpsc-shipping-free-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-top:1px;border-radius:50%;background:#2f6b3f;color:#fff;font-size:10px;flex:0 0 16px}
        .wpsc-progress-slot{padding:0 20px}
        .wpsc-progress{padding:10px 0 6px}
        .wpsc-progress-label{display:block;font-size:12.5px;color:#444;margin-bottom:8px;line-height:1.45}
        .wpsc-progress-hint{color:#8b8b8b}
        .wpsc-progress-track{display:block;height:6px;border-radius:99px;background:#efeae1;overflow:hidden}
        .wpsc-progress-fill{display:block;height:100%;border-radius:99px;background:var(--wpsc-accent);transition:width .3s ease}
        .wpsc-progress--done .wpsc-progress-label{color:#2f6b3f;font-weight:600}
        .wpsc-scroll{flex:1;overflow:auto;padding:4px 20px 12px;-webkit-overflow-scrolling:touch}
        .wpsc-items{list-style:none;margin:0;padding:0}
        .wpsc-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #f0f0f0;position:relative}
        .wpsc-item-media img{width:72px;height:auto;display:block;border-radius:6px;background:#f6f4f0}
        .wpsc-item-body{flex:1;min-width:0}
        .wpsc-item-name{display:block;font-size:14px;font-weight:600;color:#111;text-decoration:none;line-height:1.35;padding-right:22px}
        .wpsc-item-meta{font-size:12px;color:#777;margin-top:2px}
        .wpsc-item-controls{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
        .wpsc-qty{display:inline-flex;align-items:center;border:1px solid #e3e0da;border-radius:99px;overflow:hidden}
        .wpsc-qty button{border:0;background:#fff;width:28px;height:28px;font-size:15px;cursor:pointer;color:#333}
        .wpsc-qty-val{min-width:26px;text-align:center;font-size:13px}
        .wpsc-item-price{font-size:14px;font-weight:600}
        .wpsc-remove{position:absolute;top:12px;right:0;border:0;background:none;font-size:18px;color:#999;cursor:pointer;line-height:1}
        .wpsc-empty{text-align:center;padding:40px 8px;color:#666}
        .wpsc-empty p{margin:0 0 16px}
        .wpsc-upsell{padding:18px 0 4px;border-top:1px solid #f2f0ec}
        .wpsc-up-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#8a7b63;margin:0 0 12px}
        .wpsc-up-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
        .wpsc-up-item{display:flex;align-items:center;gap:10px}
        .wpsc-up-media img{width:48px;height:48px;object-fit:cover;border-radius:6px;background:#f6f4f0}
        .wpsc-up-body{flex:1;min-width:0}
        .wpsc-up-name{display:block;font-size:13px;color:#111;text-decoration:none;line-height:1.3}
        .wpsc-up-price{font-size:12px;color:#666}
        .wpsc-up-add{border:1px solid var(--wpsc-accent);background:#fff;color:var(--wpsc-accent);border-radius:99px;width:30px;height:30px;font-size:18px;line-height:1;cursor:pointer}
        .wpsc-up-go{display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:15px}
        .wpsc-notice-slot{padding-top:6px}
        .wpsc-foot{padding:16px 20px 20px;border-top:1px solid #eee;background:#fff}
        .wpsc-subtotal,.wpsc-surprise-line,.wpsc-total-line,.wpsc-discount-line{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;margin-bottom:4px}
        .wpsc-surprise-line{color:#2f6b3f;font-weight:600}
        .wpsc-total-line{font-size:16px;margin-top:6px;padding-top:8px;border-top:1px solid #eee}
        .wpsc-total-line strong{font-size:19px}
        .wpsc-tax-note{font-size:11px;color:#999;margin:4px 0 12px}
        .wpsc-btn{display:block;text-align:center;text-decoration:none;border-radius:6px;font-weight:600;padding:14px 16px}
        .wpsc-btn--primary{background:var(--wpsc-accent);color:var(--wpsc-on-accent,#fff);font-size:15px}
        .wpsc-btn--primary:hover{filter:brightness(.94)}
        .wpsc-btn--link{margin-top:10px;color:#333;font-size:13px;font-weight:500;text-decoration:underline}
        .wpsc-btn--ghost{border:1px solid var(--wpsc-accent);color:var(--wpsc-accent);font-size:14px}
        .wpsc-trust{margin:12px 0 0;font-size:11px;color:#8b8b8b;text-align:center;line-height:1.5}
        .wpsc-native{font-family:inherit}
        .wpsc-native-progress{padding:12px 16px 2px}
        .wpsc-native-progress .wpsc-shipping-free--native{margin:0 0 10px}
        .wpsc-native-upsell{padding:6px 16px 14px}
        .wpsc-native .wpsc-progress{padding:0 0 6px}
        .wpsc-native .wpsc-upsell{padding:10px 0 0}
        .wpsc-native .wpsc-up-add{border-color:var(--wpsc-accent);color:var(--wpsc-accent)}
        @media(max-width:480px){.wpsc-drawer{width:100%}.wpsc-head{padding:16px 16px 10px}.wpsc-shipping-free{margin:0 16px 6px}.wpsc-scroll{padding:4px 16px 10px}.wpsc-foot{padding:14px 16px 18px}}
    
/*# sourceURL=wp-side-cart-inline-css */


@media(max-width:750px){.mv-hero{background-image:url(),linear-gradient(#d1d2d5,#dedbde);background-blend-mode:overlay,normal;background-size:cover}}
.mv-cart-expiry{display:flex;justify-content:center;align-items:center;gap:6px;padding:10px 12px;background:#fff0f6;color:#262626;font-size:13px;line-height:1.4;text-align:center}.mv-cart-time{font-variant-numeric:tabular-nums;white-space:nowrap}.mv-drawer-progress p{margin:8px 0}.mv-drawer-benefits{display:flex;justify-content:center;gap:9px;font-size:12px}.mv-drawer-benefits span{border-bottom:3px solid #f54a98;padding-bottom:5px;flex:1;text-align:center}
.mv-gift-progress{display:flex;gap:8px;text-align:center;font-size:12px}.mv-gift-progress>span{flex:1;min-width:0}.mv-gift-progress progress{display:block;width:100%;height:6px;accent-color:#f65497;margin-top:7px}.mv-gift-next{text-align:center;font-size:13px;margin:12px 0}.mv-gift-card{display:flex;align-items:center;gap:12px;margin:10px 0;padding:12px;border:1px solid #dedede;border-radius:7px}.mv-gift-card>img{width:56px;height:56px;object-fit:contain}.mv-gift-card>div{flex:1;min-width:0}.mv-gift-card p{font-size:12px;margin:3px 0 8px}.mv-gift-form{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.mv-gift-form label{font-size:12px;flex:1;min-width:100px}.mv-gift-form select{display:block;width:100%;max-width:100%;padding:6px;background:#fff;border:1px solid #aaa;border-radius:4px;font-size:13px}.mv-gift-form button{padding:7px 12px;border:1px solid currentColor;border-radius:4px;background:#fff;font-size:12px;cursor:pointer}.mv-gift-status:not(.mv-sr-only){color:#9a2634;font-size:13px}
/*# sourceURL=mv-fr-inline-css */



        .wp-checkout-return-promise{display:flex;flex-direction:column;gap:4px;padding:14px 16px;margin:12px 0 16px;border:1px solid #dedbd5;border-radius:6px;background:#faf9f6;color:#242424;font-size:13px;line-height:1.5;text-align:left;clear:both}
        .wp-checkout-return-promise strong{font-size:14px;font-weight:700;color:inherit}
        .wp-city-container{position:relative;display:block}
        .wp-city-container input{padding-right:42px!important}
        .wp-city-toggle{position:absolute;z-index:2;width:36px;min-width:0;height:36px;min-height:0;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important;color:#333!important;cursor:pointer;font:20px/1 sans-serif!important;display:flex;align-items:center;justify-content:center}
        .wp-city-toggle[hidden]{display:none!important}
        .wp-city-toggle:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
        .woocommerce-checkout .select2-container{max-width:100%}
        .select2-container .select2-search--dropdown .select2-search__field{box-sizing:border-box;min-height:38px;font-size:16px}
        .wp-city-options{position:absolute;z-index:1000;box-sizing:border-box;margin:4px 0 0!important;padding:4px!important;list-style:none!important;max-height:230px;overflow-y:auto;background:#fff;border:1px solid #aaa;border-radius:5px;box-shadow:0 5px 18px #0002;color:#222;text-align:left}
        .wp-city-options[hidden]{display:none!important}
        .wp-city-options [role=option]{padding:10px 12px;margin:0!important;cursor:pointer;line-height:1.4;font-size:14px;list-style:none!important;border-radius:3px}
        .wp-city-options [aria-selected=true],.wp-city-options [role=option]:hover{background:#eeeef4;color:#161329}
        .wp-city-help{display:block;margin-top:5px;font-size:12px;line-height:1.4;color:#666}
        .wp-city-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
        @media(max-width:480px){.wp-checkout-return-promise{padding:12px;font-size:12px}.wp-checkout-return-promise strong{font-size:13px}}
    
/*# sourceURL=wp-store-checkout-assistance-inline-css */



        .store-checkout-trust{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin:14px 0 4px;padding:10px 12px;background:#f7f6f3;border:1px solid #e7e2d9;border-radius:2px;font-size:13px;line-height:1.5;color:#33403f}
        .store-checkout-trust span{white-space:nowrap}
        #place_order,.store-place-order{background:#1b1b1b!important;color:#fff!important;border-radius:2px!important;font-weight:600!important;letter-spacing:.02em;min-height:52px;font-size:15px;width:100%!important}
        #place_order:hover,.store-place-order:hover{background:#000!important}
        .store-mobile-paybar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:99999;align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e3e3e3;box-shadow:0 -8px 22px rgba(0,0,0,.10)}
        .store-mobile-paybar__sum{flex:1 1 auto;font-size:12px;line-height:1.2;color:#6b6b6b}
        .store-mobile-paybar__sum strong{display:block;font-size:19px;color:#111;font-weight:700}
        .store-mobile-paybar__btn{flex:0 0 auto;min-width:132px;padding:14px 20px;border:0;border-radius:2px;background:#1b1b1b;color:#fff;font-size:15px;font-weight:600;cursor:pointer}
        .store-mobile-paybar__btn[disabled]{opacity:.6}
        @media(max-width:600px){
          #place_order{width:100%!important;padding:15px 14px!important}
          body{padding-bottom:86px!important}
          .store-mobile-paybar{display:flex}
        }
    
/*# sourceURL=store-checkout-conversion-inline-css */


    .payment_method_pgpay-wc-stripe-checkout .pgpay-card-brands{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 10px}
    .payment_method_pgpay-wc-stripe-checkout .pgpay-card-brands img{display:block!important;float:none!important;width:44px!important;height:28px!important;max-width:44px!important;max-height:28px!important;object-fit:contain;margin:0!important;padding:1px!important;border:1px solid #ddd;background:#fff;box-sizing:border-box}
    #payment .payment_method_pgpay-wc-stripe-checkout>label{display:inline-block}
    #payment .pgpay-secure-lead{font-size:15px;line-height:1.45}
    #payment #place_order{white-space:normal;line-height:1.4;max-width:100%;min-height:46px}
    @media(max-width:600px){#payment #place_order{width:100%;padding:13px 14px}}
    

/* === Cart drawer / cart page / checkout reference frame tweaks === */
.woocommerce-checkout #payment {
	background: #fcf5f8;
	padding: 16px 16px 20px;
	border-radius: 5px;
}
#payment ul.wc_payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
}
#payment .wc_payment_method > label {
	display: inline-block;
	font-size: 16px;
	font-weight: 500;
	margin: 0;
}
#payment .payment_box {
	background: #dcd7e2;
	border-radius: 2px;
	margin: 15px 0;
	padding: 15px;
	font-size: 14.72px;
	line-height: 1.5;
}
#payment .payment_box .pgpay-secure-lead {
	font-size: 15px;
	line-height: 1.45;
	margin: 0 0 6px;
}
#payment .payment_box .mv-payment-note {
	margin: 0;
	font-size: 13px;
}
#payment .woocommerce-terms-and-conditions-wrapper {
	margin-top: 12px;
}
#payment .wp-checkout-return-promise {
	margin: 12px 0 16px;
}
.woocommerce-checkout #place_order {
	width: 100%;
	background: #1b1b1b !important;
	color: #fff !important;
	border-radius: 2px !important;
	font-weight: 600 !important;
	min-height: 52px;
	font-size: 15px;
}
.store-checkout-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	justify-content: center;
	margin: 14px 0 4px;
	padding: 10px 12px;
	background: #f7f6f3;
	border: 1px solid #e7e2d9;
	border-radius: 2px;
	font-size: 13px;
	line-height: 1.5;
	color: #33403f;
}
.store-checkout-trust span {
	white-space: nowrap;
}
.mv-cart-drawer .wpsc-native-progress {
	margin: 0 0 8px;
}
.mv-cart-drawer .wp-purchase-impact--drawer {
	margin: 0 0 14px;
}
.mv-drawer-recommendations .mv-card {
	border: 1px solid #eee;
}
.mv-drawer-recommendations .mv-card-button {
	border-radius: 2px;
}
.mv-page .wp-purchase-impact--page {
	margin: 0 0 16px;
}


/* === Checkout payment frame (reference #payment) === */
.woocommerce-checkout #payment {
	padding: 0;
	background: #fcf5f8;
}
.woocommerce-checkout #payment ul.wc_payment_methods {
	padding: 16px 16px 0;
	margin: 0;
}
.woocommerce-checkout #payment .payment_box {
	background: #dcd7e2 !important;
	border-radius: 2px;
	margin: 15px 16px;
	padding: 14.72px;
	font-size: 14.72px;
	line-height: 1.5;
}
.woocommerce-checkout #payment .payment_box > p:first-child:empty {
	margin: 0 0 16px;
}
.woocommerce-checkout #payment .pgpay-card-brands {
	display: flex !important;
	flex-flow: row wrap !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 8px 0 10px !important;
}
.woocommerce-checkout #payment .pgpay-card-brands img {
	display: block !important;
	float: none !important;
	width: 44px !important;
	height: 28px !important;
	max-width: 44px !important;
	max-height: 28px !important;
	object-fit: contain !important;
	margin: 0 !important;
	padding: 1px !important;
	border: 1px solid #ddd !important;
	background: #fff !important;
	box-sizing: border-box;
}
.woocommerce-checkout #payment .pgpay-availability-note {
	font-size: 0.85em;
	margin: 6px 0 0;
	color: #4a4a4a;
}
/* The checkout review order does not show the shipping calculator (reference). */
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-calculator,
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-destination {
	display: none !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text {
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 12px;
}


/* Cart page CTA: reference full-width pink button */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
	text-align: center;
	font-size: 16px;
	padding: 15px 20px;
}


/* === Checkout order review table (reference metrics) === */
#order_review table.woocommerce-checkout-review-order-table th,
#order_review table.woocommerce-checkout-review-order-table td {
	padding: 9px 12px;
	font-size: 16px;
	line-height: 24px;
}
#order_review_heading {
	line-height: 1.6;
}
#order_review table.woocommerce-checkout-review-order-table dl.variation {
	margin: 16px 0 0;
	font-size: 16px;
	line-height: 24px;
}
#order_review table.woocommerce-checkout-review-order-table dl.variation dt {
	margin: 0 4px 0 0;
	display: inline-block;
}
#order_review table.woocommerce-checkout-review-order-table dl.variation dd {
	margin: 0;
	display: inline-block;
}
#order_review table.woocommerce-checkout-review-order-table dl.variation dd p {
	margin: 0;
	font-size: 16px;
}
