/**
 * Fiche produit Kubra's Elegance
 */

/* ==========================================================
   VARIABLES
========================================================== */

.vvv-designer-kubraselegance-product-page {
	--vvv-kubras-black: #080604;
	--vvv-kubras-brown: #21170f;
	--vvv-kubras-cream: #fffaf2;
	--vvv-kubras-gold: #c9a45f;
	--vvv-kubras-gold-light: #e7cf9f;
	--vvv-kubras-line: rgba(33, 23, 15, 0.14);
	--vvv-kubras-muted: #746a61;
	--vvv-kubras-white: #ffffff;
	--vvv-kubras-shadow:
		0 30px 80px rgba(33, 23, 15, 0.12);
}

/* ==========================================================
   RESET PAGE PRODUIT
========================================================== */

.vvv-designer-kubraselegance-product-page
	.site-main,
.vvv-designer-kubraselegance-product-page
	main {
	width: 100%;
	max-width: none;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce {
	width: 100%;
	max-width: none;
}

.vvv-designer-kubraselegance-product-page
	div.product.vvv-kubras-single-product {
	position: relative;
	display: grid;
	grid-template-columns:
		minmax(0, 1.12fr)
		minmax(400px, 0.88fr);
	gap: clamp(42px, 6vw, 110px);
	width: min(100%, 1800px);
	margin: 0 auto;
	padding:
		clamp(110px, 10vw, 170px)
		clamp(22px, 5vw, 90px)
		clamp(70px, 8vw, 130px);
	background:
		radial-gradient(
			circle at 92% 4%,
			rgba(201, 164, 95, 0.12),
			transparent 24%
		),
		linear-gradient(
			180deg,
			#fffdf9 0%,
			var(--vvv-kubras-cream) 100%
		);
	box-sizing: border-box;
	isolation: isolate;
}

.vvv-designer-kubraselegance-product-page
	div.product.vvv-kubras-single-product::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	width: 100vw;
	height: 100%;
	background:
		linear-gradient(
			180deg,
			#fffdf9,
			var(--vvv-kubras-cream)
		);
	transform: translateX(-50%);
}

/* ==========================================================
   BREADCRUMB
========================================================== */

.vvv-designer-kubraselegance-product-page
	.woocommerce-breadcrumb {
	position: absolute;
	top: clamp(78px, 7vw, 115px);
	left: clamp(22px, 5vw, 90px);
	z-index: 5;
	margin: 0;
	color: rgba(33, 23, 15, 0.52);
	font-family: Manrope, sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-breadcrumb a {
	color: var(--vvv-kubras-brown);
	text-decoration: none;
	transition: color 0.25s ease;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-breadcrumb a:hover {
	color: var(--vvv-kubras-gold);
}

/* ==========================================================
   GALERIE
========================================================== */

.vvv-designer-kubraselegance-product-page
	.woocommerce-product-gallery {
	position: relative;
	grid-column: 1;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	min-width: 0;
	align-self: start;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-product-gallery__wrapper {
	margin: 0;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-product-gallery__image {
	position: relative;
	overflow: hidden;
	background: #f0e9df;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-product-gallery__image > a {
	display: block;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	min-height: clamp(550px, 70vw, 930px);
	max-height: 930px;
	object-fit: cover;
	transition:
		transform 1.1s cubic-bezier(.2, .75, .2, 1),
		filter 0.7s ease;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-product-gallery:hover
	.woocommerce-product-gallery__image.flex-active-slide img {
	transform: scale(1.018);
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-product-gallery__trigger {
	top: 20px !important;
	right: 20px !important;
	z-index: 15 !important;
	display: grid !important;
	width: 46px !important;
	height: 46px !important;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 50% !important;
	background: rgba(8, 6, 4, 0.42) !important;
	backdrop-filter: blur(12px);
	place-items: center;
	transition:
		transform 0.25s ease,
		background 0.25s ease !important;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-product-gallery__trigger:hover {
	background: rgba(8, 6, 4, 0.72) !important;
	transform: scale(1.06);
}

.vvv-designer-kubraselegance-product-page
	.flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 0 !important;
	padding: 0 !important;
}

.vvv-designer-kubraselegance-product-page
	.flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	overflow: hidden;
	background: #ede4d8;
	cursor: pointer;
}

.vvv-designer-kubraselegance-product-page
	.flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: 0.82;
	object-fit: cover;
	opacity: 0.52;
	transform: scale(1.001);
	transition:
		opacity 0.3s ease,
		transform 0.5s ease,
		box-shadow 0.3s ease;
}

.vvv-designer-kubraselegance-product-page
	.flex-control-thumbs img.flex-active,
.vvv-designer-kubraselegance-product-page
	.flex-control-thumbs img:hover {
	opacity: 1;
	transform: scale(1.035);
	box-shadow:
		inset 0 0 0 2px
		var(--vvv-kubras-gold);
}

/* Interface galerie */

.vvv-kubras-product-gallery-interface {
	position: absolute;
	top: clamp(135px, 13vw, 205px);
	left: clamp(32px, 6vw, 100px);
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc(
		56% - clamp(42px, 6vw, 110px)
	);
	max-width: 850px;
	pointer-events: none;
}

.vvv-kubras-gallery-index {
	display: flex;
	align-items: baseline;
	gap: 5px;
	padding: 10px 14px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(8, 6, 4, 0.35);
	color: #ffffff;
	backdrop-filter: blur(14px);
}

.vvv-kubras-gallery-index__current {
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 20px;
}

.vvv-kubras-gallery-index__separator,
.vvv-kubras-gallery-index__total {
	font-size: 10px;
	opacity: 0.66;
}

.vvv-kubras-gallery-drag {
	display: flex;
	align-items: center;
	gap: 9px;
	color: rgba(255, 255, 255, 0.9);
	font-family: Manrope, sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

.vvv-kubras-gallery-drag span {
	display: block;
	width: 34px;
	height: 1px;
	background: currentColor;
}

/* ==========================================================
   COLONNE INFORMATIONS
========================================================== */

.vvv-designer-kubraselegance-product-page
	div.product
	.summary {
	position: sticky;
	top: 110px;
	grid-column: 2;
	float: none !important;
	width: 100% !important;
	height: max-content;
	margin: 0 !important;
	padding: clamp(20px, 2vw, 38px) 0;
	align-self: start;
}

.vvv-kubras-product-eyebrow {
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 0 0 18px;
}

.vvv-kubras-product-eyebrow__line {
	width: 38px;
	height: 1px;
	background: var(--vvv-kubras-gold);
}

.vvv-kubras-product-eyebrow__text {
	color: var(--vvv-kubras-gold);
	font-family: Manrope, sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.vvv-designer-kubraselegance-product-page
	div.product
	.product_title {
	max-width: 720px;
	margin: 0 0 18px;
	color: var(--vvv-kubras-black);
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: clamp(38px, 4vw, 72px);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.04em;
	text-wrap: balance;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px !important;
	font-family: Manrope, sans-serif;
	font-size: 11px;
}

.vvv-designer-kubraselegance-product-page
	.star-rating {
	color: var(--vvv-kubras-gold);
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-review-link {
	color: var(--vvv-kubras-muted);
	text-decoration: none;
}

.vvv-designer-kubraselegance-product-page
	div.product
	p.price,
.vvv-designer-kubraselegance-product-page
	div.product
	span.price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 10px;
	color: var(--vvv-kubras-black);
	font-family: Manrope, sans-serif;
	font-size: clamp(22px, 2vw, 30px);
	font-weight: 600;
	letter-spacing: -0.035em;
}

.vvv-designer-kubraselegance-product-page
	div.product
	p.price del,
.vvv-designer-kubraselegance-product-page
	div.product
	span.price del {
	color: rgba(33, 23, 15, 0.42);
	font-size: 0.68em;
	opacity: 1;
}

.vvv-designer-kubraselegance-product-page
	div.product
	p.price ins,
.vvv-designer-kubraselegance-product-page
	div.product
	span.price ins {
	color: var(--vvv-kubras-black);
	text-decoration: none;
}

.vvv-kubras-product-price-note {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 24px;
	color: var(--vvv-kubras-muted);
	font-family: Manrope, sans-serif;
	font-size: 11px;
}

.vvv-kubras-product-price-note span {
	color: var(--vvv-kubras-gold);
}

.vvv-kubras-product-price-note p {
	margin: 0;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-product-details__short-description {
	max-width: 630px;
	margin: 0 0 26px;
	color: #514840;
	font-family: Manrope, sans-serif;
	font-size: 14px;
	line-height: 1.8;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

/* ==========================================================
   ENGAGEMENTS
========================================================== */

.vvv-kubras-product-highlights {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 28px;
	border-top: 1px solid var(--vvv-kubras-line);
	border-bottom: 1px solid var(--vvv-kubras-line);
}

.vvv-kubras-product-highlight {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 15px 10px 15px 0;
	color: #4c433c;
	font-family: Manrope, sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.45;
	text-transform: uppercase;
}

.vvv-kubras-product-highlight:not(:last-child) {
	border-right: 1px solid var(--vvv-kubras-line);
}

.vvv-kubras-product-highlight:not(:first-child) {
	padding-left: 14px;
}

.vvv-kubras-product-highlight__icon {
	display: grid;
	width: 26px;
	height: 26px;
	border: 1px solid rgba(201, 164, 95, 0.38);
	border-radius: 50%;
	place-items: center;
}

.vvv-kubras-product-highlight svg {
	width: 13px;
	height: 13px;
	fill: none;
	stroke: var(--vvv-kubras-gold);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

/* ==========================================================
   VARIATIONS
========================================================== */

.vvv-designer-kubraselegance-product-page
	form.cart {
	margin: 0 !important;
}

.vvv-designer-kubraselegance-product-page
	table.variations {
	width: 100%;
	margin: 0 0 16px !important;
	border: 0 !important;
}

.vvv-designer-kubraselegance-product-page
	table.variations,
.vvv-designer-kubraselegance-product-page
	table.variations tbody,
.vvv-designer-kubraselegance-product-page
	table.variations tr,
.vvv-designer-kubraselegance-product-page
	table.variations th,
.vvv-designer-kubraselegance-product-page
	table.variations td {
	display: block;
	width: 100%;
	border: 0 !important;
	background: transparent !important;
}

.vvv-designer-kubraselegance-product-page
	table.variations tr {
	margin: 0 0 22px;
}

.vvv-designer-kubraselegance-product-page
	table.variations th.label {
	margin-bottom: 12px;
	padding: 0 !important;
	text-align: left;
}

.vvv-designer-kubraselegance-product-page
	table.variations th.label label {
	color: var(--vvv-kubras-brown);
	font-family: Manrope, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.vvv-designer-kubraselegance-product-page
	table.variations td.value {
	position: relative;
	padding: 0 !important;
}

.vvv-designer-kubraselegance-product-page
	table.variations select {
	width: 100%;
	min-height: 52px;
	padding: 0 46px 0 16px;
	border: 1px solid var(--vvv-kubras-line);
	border-radius: 0;
	background-color: #ffffff;
	color: var(--vvv-kubras-brown);
	font-family: Manrope, sans-serif;
	font-size: 13px;
	box-shadow: none;
}

.vvv-designer-kubraselegance-product-page
	.reset_variations {
	display: inline-flex !important;
	margin-top: 10px;
	color: var(--vvv-kubras-muted);
	font-family: Manrope, sans-serif;
	font-size: 10px;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-transform: uppercase;
}

.vvv-designer-kubraselegance-product-page
	.single_variation_wrap {
	margin-top: 12px;
}

.vvv-designer-kubraselegance-product-page
	.single_variation {
	margin: 0 0 16px;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-variation-description {
	color: var(--vvv-kubras-muted);
	font-family: Manrope, sans-serif;
	font-size: 12px;
	line-height: 1.65;
}

.vvv-designer-kubraselegance-product-page
	.woocommerce-variation-availability {
	color: #406b42;
	font-family: Manrope, sans-serif;
	font-size: 11px;
	font-weight: 600;
}

/* Note couleurs */

.vvv-kubras-product-color-notice {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 12px 0 0;
	padding: 12px 14px;
	background: rgba(201, 164, 95, 0.09);
	color: #665c53;
	font-family: Manrope, sans-serif;
	font-size: 10px;
	line-height: 1.55;
}

.vvv-kubras-product-color-notice__icon {
	display: grid;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	border: 1px solid var(--vvv-kubras-gold);
	border-radius: 50%;
	color: var(--vvv-kubras-gold);
	font-family: Georgia, serif;
	font-size: 11px;
	place-items: center;
}

.vvv-kubras-product-color-notice p {
	margin: 0;
}

/* ==========================================================
   QUANTITÉ
========================================================== */

.vvv-designer-kubraselegance-product-page
	.single_variation_wrap
	.woocommerce-variation-add-to-cart,
.vvv-designer-kubraselegance-product-page
	form.cart:not(.variations_form) {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 12px;
	align-items: stretch;
}

.vvv-designer-kubraselegance-product-page
	.quantity {
	position: relative;
	display: grid;
	grid-template-columns: 34px 1fr 34px;
	align-items: center;
	width: 112px !important;
	min-width: 112px;
	height: 58px;
	margin: 0 !important;
	border: 1px solid var(--vvv-kubras-line);
	background: #ffffff;
}

.vvv-designer-kubraselegance-product-page
	.quantity .qty {
	width: 100% !important;
	height: 56px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--vvv-kubras-black);
	font-family: Manrope, sans-serif;
	font-size: 13px;
	font-weight: 600;
	text-align: center;
	box-shadow: none !important;
	-moz-appearance: textfield;
}

.vvv-designer-kubraselegance-product-page
	.quantity .qty::-webkit-inner-spin-button,
.vvv-designer-kubraselegance-product-page
	.quantity .qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.vvv-kubras-quantity-button {
	display: grid;
	width: 34px;
	height: 56px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--vvv-kubras-brown);
	font-size: 18px;
	cursor: pointer;
	place-items: center;
	transition:
		color 0.2s ease,
		background 0.2s ease;
}

.vvv-kubras-quantity-button:hover {
	background: var(--vvv-kubras-cream);
	color: var(--vvv-kubras-gold);
}

/* ==========================================================
   BOUTON PANIER
========================================================== */

.vvv-designer-kubraselegance-product-page
	div.product
	form.cart
	.single_add_to_cart_button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 58px;
	margin: 0 !important;
	padding: 15px 24px;
	overflow: hidden;
	border: 1px solid var(--vvv-kubras-black);
	border-radius: 0;
	background: var(--vvv-kubras-black);
	color: var(--vvv-kubras-cream);
	font-family: Manrope, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.17em;
	line-height: 1.2;
	text-transform: uppercase;
	box-shadow: none;
	cursor: pointer;
	transition:
		color 0.35s ease,
		border-color 0.35s ease,
		transform 0.25s ease;
	isolation: isolate;
}

.vvv-designer-kubraselegance-product-page
	div.product
	form.cart
	.single_add_to_cart_button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(
			110deg,
			var(--vvv-kubras-gold),
			var(--vvv-kubras-gold-light)
		);
	transform: translateX(-103%);
	transition:
		transform 0.55s cubic-bezier(.16, 1, .3, 1);
}

.vvv-designer-kubraselegance-product-page
	div.product
	form.cart
	.single_add_to_cart_button:hover::before {
	transform: translateX(0);
}

.vvv-designer-kubraselegance-product-page
	div.product
	form.cart
	.single_add_to_cart_button:hover {
	border-color: var(--vvv-kubras-gold);
	color: var(--vvv-kubras-black);
	transform: translateY(-2px);
}

.vvv-designer-kubraselegance-product-page
	div.product
	form.cart
	.single_add_to_cart_button.disabled,
.vvv-designer-kubraselegance-product-page
	div.product
	form.cart
	.single_add_to_cart_button:disabled {
	border-color: #bcb4ac;
	background: #bcb4ac;
	color: #ffffff;
	cursor: not-allowed;
	opacity: 1;
	transform: none;
}

/* ==========================================================
   RÉASSURANCE
========================================================== */

.vvv-kubras-cart-reassurance {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 16px 0 0;
	padding: 0 2px;
}

.vvv-kubras-cart-reassurance__item {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--vvv-kubras-muted);
	font-family: Manrope, sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.vvv-kubras-cart-reassurance__item svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: var(--vvv-kubras-gold);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.4;
}

/* ==========================================================
   SECTIONS ÉDITORIALES
========================================================== */

.vvv-kubras-product-experience {
	position: relative;
	grid-column: 1 / -1;
	width: 100%;
	margin-top: clamp(70px, 9vw, 150px);
}

.vvv-kubras-product-experience__halo {
	position: absolute;
	top: 12%;
	left: 50%;
	z-index: -1;
	width: 60vw;
	height: 60vw;
	border-radius: 50%;
	background:
		radial-gradient(
			circle,
			rgba(201, 164, 95, 0.13),
			transparent 68%
		);
	transform: translateX(-50%);
	pointer-events: none;
}

.vvv-kubras-section-eyebrow {
	display: block;
	margin-bottom: 18px;
	color: var(--vvv-kubras-gold);
	font-family: Manrope, sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.23em;
	text-transform: uppercase;
}

/* Story */

.vvv-kubras-product-story {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	align-items: center;
	gap: clamp(45px, 8vw, 140px);
	padding:
		clamp(70px, 10vw, 170px)
		0;
	border-top: 1px solid var(--vvv-kubras-line);
}

.vvv-kubras-product-story__content {
	max-width: 630px;
	padding-left: clamp(0px, 3vw, 45px);
}

.vvv-kubras-product-story h2,
.vvv-kubras-product-benefits h2,
.vvv-kubras-product-information h2 {
	margin: 0;
	color: var(--vvv-kubras-black);
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: clamp(42px, 5vw, 82px);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.045em;
	text-wrap: balance;
}

.vvv-kubras-product-story__text {
	margin-top: 30px;
	color: #5a5048;
	font-family: Manrope, sans-serif;
	font-size: clamp(14px, 1.2vw, 17px);
	line-height: 1.9;
}

.vvv-kubras-product-story__text p:last-child {
	margin-bottom: 0;
}

.vvv-kubras-product-story__signature {
	display: block;
	margin-top: 34px;
	color: var(--vvv-kubras-gold);
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 20px;
	font-style: italic;
}

.vvv-kubras-product-story__media {
	position: relative;
	padding: 0 0 42px 42px;
}

.vvv-kubras-product-story__frame {
	position: relative;
	overflow: hidden;
}

.vvv-kubras-product-story__frame::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border: 1px solid rgba(255, 255, 255, 0.25);
	box-shadow:
		inset 0 0 0 12px
		rgba(255, 255, 255, 0.05);
	pointer-events: none;
}

.vvv-kubras-product-story__image {
	display: block;
	width: 100%;
	aspect-ratio: 0.82;
	object-fit: cover;
	transform: scale(1.001);
	transition:
		transform 1.3s cubic-bezier(.16, 1, .3, 1);
}

.vvv-kubras-product-story__media:hover
	.vvv-kubras-product-story__image {
	transform: scale(1.04);
}

.vvv-kubras-product-story__number {
	position: absolute;
	bottom: 0;
	left: 0;
	display: grid;
	width: 86px;
	height: 86px;
	border: 1px solid var(--vvv-kubras-gold);
	background: var(--vvv-kubras-cream);
	color: var(--vvv-kubras-gold);
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 30px;
	place-items: center;
}

/* Avantages */

.vvv-kubras-product-benefits {
	padding:
		clamp(80px, 10vw, 170px)
		clamp(0px, 3vw, 45px);
	border-top: 1px solid var(--vvv-kubras-line);
}

.vvv-kubras-product-benefits__heading {
	max-width: 850px;
	margin-bottom: clamp(45px, 6vw, 85px);
}

.vvv-kubras-product-benefits__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--vvv-kubras-line);
	border-left: 1px solid var(--vvv-kubras-line);
}

.vvv-kubras-product-benefit {
	position: relative;
	min-height: 260px;
	padding: clamp(28px, 4vw, 58px);
	border-right: 1px solid var(--vvv-kubras-line);
	border-bottom: 1px solid var(--vvv-kubras-line);
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.72),
			rgba(255, 250, 242, 0.4)
		);
	transition:
		background 0.35s ease,
		transform 0.35s ease;
}

.vvv-kubras-product-benefit:hover {
	z-index: 2;
	background: #ffffff;
	transform: translateY(-6px);
	box-shadow: var(--vvv-kubras-shadow);
}

.vvv-kubras-product-benefit__number {
	display: block;
	margin-bottom: 60px;
	color: var(--vvv-kubras-gold);
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 16px;
}

.vvv-kubras-product-benefit p {
	max-width: 290px;
	margin: 0;
	color: var(--vvv-kubras-brown);
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: clamp(24px, 2vw, 34px);
	line-height: 1.1;
}

/* Informations */

.vvv-kubras-product-information {
	display: grid;
	grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
	gap: clamp(50px, 10vw, 170px);
	padding:
		clamp(80px, 10vw, 170px)
		clamp(0px, 3vw, 45px);
	border-top: 1px solid var(--vvv-kubras-line);
}

.vvv-kubras-product-information__heading {
	position: sticky;
	top: 130px;
	height: max-content;
}

.vvv-kubras-product-information h2 {
	font-size: clamp(42px, 4vw, 70px);
}

.vvv-kubras-product-accordions {
	border-top: 1px solid var(--vvv-kubras-line);
}

.vvv-kubras-product-accordion {
	border-bottom: 1px solid var(--vvv-kubras-line);
}

.vvv-kubras-product-accordion summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
	padding: 25px 0;
	color: var(--vvv-kubras-brown);
	font-family: Manrope, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.13em;
	list-style: none;
	text-transform: uppercase;
	cursor: pointer;
}

.vvv-kubras-product-accordion summary::-webkit-details-marker {
	display: none;
}

.vvv-kubras-product-accordion summary i {
	position: relative;
	display: block;
	flex: 0 0 17px;
	width: 17px;
	height: 17px;
}

.vvv-kubras-product-accordion summary i::before,
.vvv-kubras-product-accordion summary i::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 17px;
	height: 1px;
	background: var(--vvv-kubras-gold);
	transform: translate(-50%, -50%);
	transition: transform 0.3s ease;
}

.vvv-kubras-product-accordion summary i::after {
	transform:
		translate(-50%, -50%)
		rotate(90deg);
}

.vvv-kubras-product-accordion[open]
	summary i::after {
	transform:
		translate(-50%, -50%)
		rotate(0);
}

.vvv-kubras-product-accordion__content {
	padding: 0 0 30px;
	animation:
		vvvKubrasAccordionReveal
		0.45s ease both;
}

@keyframes vvvKubrasAccordionReveal {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.vvv-kubras-product-specifications {
	margin: 0;
}

.vvv-kubras-product-spec {
	display: grid;
	grid-template-columns: minmax(130px, 0.45fr) minmax(0, 1fr);
	gap: 30px;
	padding: 13px 0;
	border-bottom: 1px dashed rgba(33, 23, 15, 0.11);
}

.vvv-kubras-product-spec:last-child {
	border-bottom: 0;
}

.vvv-kubras-product-spec dt {
	color: var(--vvv-kubras-muted);
	font-family: Manrope, sans-serif;
	font-size: 11px;
}

.vvv-kubras-product-spec dd {
	margin: 0;
	color: var(--vvv-kubras-brown);
	font-family: Manrope, sans-serif;
	font-size: 12px;
	font-weight: 600;
	text-align: right;
}

.vvv-kubras-product-care-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 25px;
}

.vvv-kubras-product-care {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px;
	border: 1px solid var(--vvv-kubras-line);
	background: rgba(255, 255, 255, 0.55);
}

.vvv-kubras-product-care span {
	color: var(--vvv-kubras-gold);
	font-size: 16px;
}

.vvv-kubras-product-care p {
	margin: 0;
	color: var(--vvv-kubras-brown);
	font-family: Manrope, sans-serif;
	font-size: 11px;
}

.vvv-kubras-product-rich-text {
	color: #5d534b;
	font-family: Manrope, sans-serif;
	font-size: 13px;
	line-height: 1.8;
}

.vvv-kubras-product-rich-text p:last-child {
	margin-bottom: 0;
}

/* ==========================================================
   UPSELLS ET PRODUITS LIÉS
========================================================== */

.vvv-designer-kubraselegance-product-page
	.up-sells,
.vvv-designer-kubraselegance-product-page
	.related.products {
	grid-column: 1 / -1;
	width: 100%;
	margin: clamp(60px, 8vw, 120px) 0 0;
	padding-top: clamp(60px, 8vw, 110px);
	border-top: 1px solid var(--vvv-kubras-line);
}

.vvv-designer-kubraselegance-product-page
	.up-sells > h2,
.vvv-designer-kubraselegance-product-page
	.related.products > h2 {
	margin: 0 0 45px;
	color: var(--vvv-kubras-black);
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: clamp(38px, 4vw, 66px);
	font-weight: 400;
	letter-spacing: -0.04em;
}

/* ==========================================================
   DOCK MOBILE
========================================================== */

.vvv-kubras-mobile-product-dock {
	display: none;
}

/* ==========================================================
   ANIMATIONS JS
========================================================== */

[data-vvv-kubras-reveal] {
	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 0.9s ease,
		transform 0.9s cubic-bezier(.16, 1, .3, 1);
}

[data-vvv-kubras-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

.vvv-kubras-gallery-is-changing
	.woocommerce-product-gallery {
	animation:
		vvvKubrasGalleryChange
		0.7s cubic-bezier(.16, 1, .3, 1);
}

@keyframes vvvKubrasGalleryChange {
	0% {
		opacity: 0.2;
		transform: scale(0.985);
		filter: blur(5px);
	}

	100% {
		opacity: 1;
		transform: scale(1);
		filter: blur(0);
	}
}

/* ==========================================================
   TABLETTE
========================================================== */

@media (max-width: 1100px) {
	.vvv-designer-kubraselegance-product-page
		div.product.vvv-kubras-single-product {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(350px, 0.82fr);
		gap: 38px;
		padding-right: 28px;
		padding-left: 28px;
	}

	.vvv-kubras-product-gallery-interface {
		left: 38px;
		width: calc(58% - 55px);
	}

	.vvv-designer-kubraselegance-product-page
		div.product
		.product_title {
		font-size: clamp(36px, 5vw, 58px);
	}

	.vvv-kubras-product-highlights {
		grid-template-columns: 1fr;
	}

	.vvv-kubras-product-highlight {
		flex-direction: row;
		align-items: center;
		padding: 10px 0;
		border-right: 0 !important;
		border-bottom: 1px solid var(--vvv-kubras-line);
	}

	.vvv-kubras-product-highlight:last-child {
		border-bottom: 0;
	}

	.vvv-kubras-product-highlight:not(:first-child) {
		padding-left: 0;
	}

	.vvv-kubras-product-story {
		gap: 50px;
	}

	.vvv-kubras-product-benefits__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {
	.vvv-designer-kubraselegance-product-page {
		padding-bottom: 84px;
	}

	.vvv-designer-kubraselegance-product-page
		div.product.vvv-kubras-single-product {
		display: block;
		width: 100%;
		padding:
			88px
			14px
			70px;
		overflow: hidden;
	}

	.vvv-designer-kubraselegance-product-page
		.woocommerce-breadcrumb {
		top: 64px;
		left: 14px;
		max-width: calc(100% - 28px);
		overflow: hidden;
		font-size: 8px;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.vvv-designer-kubraselegance-product-page
		.woocommerce-product-gallery {
		width: calc(100% + 28px) !important;
		margin-left: -14px !important;
	}

	.vvv-designer-kubraselegance-product-page
		.woocommerce-product-gallery__image img {
		min-height: 520px;
		max-height: 72vh;
	}

	.vvv-designer-kubraselegance-product-page
		.flex-control-thumbs {
		display: flex !important;
		gap: 8px;
		padding: 0 14px !important;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.vvv-designer-kubraselegance-product-page
		.flex-control-thumbs::-webkit-scrollbar {
		display: none;
	}

	.vvv-designer-kubraselegance-product-page
		.flex-control-thumbs li {
		flex: 0 0 70px;
	}

	.vvv-kubras-product-gallery-interface {
		top: 112px;
		left: 14px;
		width: calc(100% - 28px);
	}

	.vvv-kubras-gallery-drag {
		display: none;
	}

	.vvv-designer-kubraselegance-product-page
		div.product
		.summary {
		position: relative;
		top: auto;
		width: 100% !important;
		padding: 38px 2px 0;
	}

	.vvv-kubras-product-eyebrow {
		margin-bottom: 14px;
	}

	.vvv-designer-kubraselegance-product-page
		div.product
		.product_title {
		font-size: clamp(38px, 13vw, 56px);
	}

	.vvv-kubras-product-highlights {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.vvv-kubras-product-highlight {
		flex-direction: column;
		align-items: flex-start;
		padding: 13px 8px 13px 0;
		border-right: 1px solid var(--vvv-kubras-line) !important;
		border-bottom: 0;
		font-size: 7px;
	}

	.vvv-kubras-product-highlight:last-child {
		border-right: 0 !important;
	}

	.vvv-kubras-product-highlight:not(:first-child) {
		padding-left: 9px;
	}

	.vvv-designer-kubraselegance-product-page
		.single_variation_wrap
		.woocommerce-variation-add-to-cart,
	.vvv-designer-kubraselegance-product-page
		form.cart:not(.variations_form) {
		grid-template-columns: 100px minmax(0, 1fr);
	}

	.vvv-designer-kubraselegance-product-page
		.quantity {
		width: 100px !important;
		min-width: 100px;
	}

	.vvv-kubras-cart-reassurance {
		align-items: flex-start;
		flex-direction: column;
	}

	.vvv-kubras-product-experience {
		margin-top: 80px;
	}

	.vvv-kubras-product-story {
		display: flex;
		flex-direction: column-reverse;
		gap: 42px;
		padding: 75px 0;
	}

	.vvv-kubras-product-story__content {
		padding: 0 4px;
	}

	.vvv-kubras-product-story h2,
	.vvv-kubras-product-benefits h2,
	.vvv-kubras-product-information h2 {
		font-size: clamp(42px, 14vw, 62px);
	}

	.vvv-kubras-product-story__media {
		width: calc(100% + 12px);
		margin-left: -6px;
		padding: 0 0 30px 24px;
	}

	.vvv-kubras-product-story__number {
		width: 64px;
		height: 64px;
		font-size: 23px;
	}

	.vvv-kubras-product-benefits {
		padding: 75px 0;
	}

	.vvv-kubras-product-benefits__grid {
		grid-template-columns: 1fr;
	}

	.vvv-kubras-product-benefit {
		min-height: 215px;
		padding: 30px;
	}

	.vvv-kubras-product-benefit__number {
		margin-bottom: 48px;
	}

	.vvv-kubras-product-information {
		display: block;
		padding: 75px 0;
	}

	.vvv-kubras-product-information__heading {
		position: relative;
		top: auto;
		margin-bottom: 45px;
	}

	.vvv-kubras-product-spec {
		grid-template-columns: 1fr 1fr;
		gap: 15px;
	}

	.vvv-kubras-product-care-grid {
		grid-template-columns: 1fr;
	}

	.vvv-kubras-mobile-product-dock {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 9998;
		display: grid;
		grid-template-columns: minmax(105px, 0.42fr) minmax(0, 1fr);
		gap: 10px;
		padding:
			10px
			12px
			calc(10px + env(safe-area-inset-bottom));
		border-top: 1px solid rgba(201, 164, 95, 0.28);
		background: rgba(255, 250, 242, 0.94);
		box-shadow: 0 -14px 40px rgba(33, 23, 15, 0.12);
		backdrop-filter: blur(18px);
		transform: translateY(120%);
		transition: transform 0.45s cubic-bezier(.16, 1, .3, 1);
	}

	.vvv-kubras-mobile-product-dock.is-visible {
		transform: translateY(0);
	}

	.vvv-kubras-mobile-product-dock__price {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.vvv-kubras-mobile-product-dock__price > span {
		color: var(--vvv-kubras-muted);
		font-family: Manrope, sans-serif;
		font-size: 8px;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	.vvv-kubras-mobile-product-dock__price strong {
		color: var(--vvv-kubras-black);
		font-family: Manrope, sans-serif;
		font-size: 15px;
	}

	.vvv-kubras-mobile-product-dock__price del {
		display: none;
	}

	.vvv-kubras-mobile-product-dock__price ins {
		text-decoration: none;
	}

	.vvv-kubras-mobile-product-dock__button {
		min-height: 52px;
		padding: 12px 14px;
		border: 0;
		background: var(--vvv-kubras-black);
		color: var(--vvv-kubras-cream);
		font-family: Manrope, sans-serif;
		font-size: 9px;
		font-weight: 700;
		letter-spacing: 0.13em;
		text-transform: uppercase;
		cursor: pointer;
	}
}

/* ==========================================================
   ACCESSIBILITÉ / MOUVEMENT RÉDUIT
========================================================== */

@media (prefers-reduced-motion: reduce) {
	.vvv-designer-kubraselegance-product-page *,
	.vvv-designer-kubraselegance-product-page *::before,
	.vvv-designer-kubraselegance-product-page *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/**
 * Kubra's Elegance — fiche produit 4.0
 * Galerie verticale, panneau sticky, lightbox plein écran et responsive.
 */

body.vvv-designer-kubraselegance-product-page {
  --k-black:#080604;
  --k-brown:#21170f;
  --k-cream:#fffaf2;
  --k-gold:#c9a45f;
  --k-gold-2:#ead8ad;
  --k-text:#574e46;
  --k-muted:#7d736b;
  --k-line:rgba(33,23,15,.14);
  --k-header:96px;
  margin:0;
  overflow-x:clip;
  background:var(--k-cream);
  color:var(--k-black);
}

body.vvv-designer-kubraselegance-product-page main,
body.vvv-designer-kubraselegance-product-page .site-main,
body.vvv-designer-kubraselegance-product-page .woocommerce {
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

body.vvv-designer-kubraselegance-product-page div.product.vvv-kubras-single-product {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,64%) minmax(390px,36%);
  align-items:start;
  width:100%;
  margin:0;
  padding:0;
  background:linear-gradient(90deg,#eee7de 0 64%,var(--k-cream) 64% 100%);
  isolation:isolate;
}

/* Breadcrumb */
body.vvv-designer-kubraselegance-product-page .woocommerce-breadcrumb {
  position:absolute;
  top:calc(var(--k-header) + 24px);
  left:clamp(18px,3vw,52px);
  z-index:60;
  max-width:56%;
  margin:0;
  color:rgba(255,255,255,.82);
  font:600 9px/1.5 Manrope,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-shadow:0 2px 18px rgba(0,0,0,.55);
  pointer-events:auto;
}
body.vvv-designer-kubraselegance-product-page .woocommerce-breadcrumb a {color:#fff;text-decoration:none;pointer-events:auto}
body.vvv-designer-kubraselegance-product-page .woocommerce-breadcrumb a:hover {opacity:.65}

/* Galerie visible, rendue par PHP */
.vvv-kubras-product-stage {
  position:relative;
  z-index:2;
  grid-column:1;
  grid-row:1;
  min-width:0;
  background:#e8e0d6;
}
.vvv-kubras-product-stage__rail {display:flex;flex-direction:column;gap:2px}
.vvv-kubras-product-stage__item {
  position:relative;
  min-height:max(760px,100svh);
  margin:0;
  overflow:hidden;
  background:#ddd4c9;
  isolation:isolate;
}
.vvv-kubras-product-stage__open {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  cursor:zoom-in;
}
.vvv-kubras-product-stage__media {position:absolute;inset:0;display:block;overflow:hidden}
.vvv-kubras-product-stage__image {
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  transform:scale(1.025);
  filter:saturate(.98) contrast(1.01);
  transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter .5s ease;
}
.vvv-kubras-product-stage__item.is-active .vvv-kubras-product-stage__image,
.vvv-kubras-product-stage__item:hover .vvv-kubras-product-stage__image {transform:scale(1)}
.vvv-kubras-product-stage__shade {
  position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,rgba(8,6,4,.14),transparent 27%,transparent 72%,rgba(8,6,4,.13));
  pointer-events:none;
}
.vvv-kubras-product-stage__caption {
  position:absolute;left:clamp(20px,3vw,48px);right:clamp(20px,3vw,48px);bottom:28px;z-index:5;
  display:flex;justify-content:space-between;gap:20px;
  color:#fff;font:700 8px/1.3 Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;
  text-shadow:0 2px 18px rgba(0,0,0,.55);pointer-events:none;
}
.vvv-kubras-product-stage__zoom {
  position:absolute;right:28px;top:calc(var(--k-header) + 42px);z-index:5;
  display:flex;align-items:center;gap:10px;padding:8px 13px 8px 8px;
  border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(8,6,4,.42);
  color:#fff;font:700 8px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  backdrop-filter:blur(14px);opacity:0;transform:translateY(-6px);
  transition:.35s ease;pointer-events:none;
}
.vvv-kubras-product-stage__item:hover .vvv-kubras-product-stage__zoom {opacity:1;transform:none}
.vvv-kubras-product-stage__zoom-mark {position:relative;width:34px;height:34px;border:1px solid rgba(255,255,255,.35);border-radius:50%}
.vvv-kubras-product-stage__zoom-mark::before {content:"";position:absolute;left:9px;top:8px;width:11px;height:11px;border:1.5px solid #fff;border-radius:50%}
.vvv-kubras-product-stage__zoom-mark::after {content:"";position:absolute;left:21px;top:21px;width:8px;height:1.5px;background:#fff;transform:rotate(45deg);transform-origin:left}
.vvv-kubras-product-stage__counter {
  position:fixed;left:22px;top:50%;z-index:45;display:flex;flex-direction:column;align-items:center;gap:10px;
  color:#fff;font:400 14px/1 "Bodoni Moda",serif;text-shadow:0 2px 14px rgba(0,0,0,.55);
  transform:translateY(-50%);pointer-events:none;
}
.vvv-kubras-product-stage__counter i {display:block;width:1px;height:64px;background:rgba(255,255,255,.45)}
.vvv-kubras-product-stage__counter span:last-child {font-size:10px;opacity:.7}

/* Pont WooCommerce : fonctionnel mais hors écran, jamais à 1px */
.vvv-kubras-native-gallery-bridge {
  position:absolute!important;
  left:-12000px!important;
  top:0!important;
  width:900px!important;
  height:auto!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:visible!important;
}
.vvv-kubras-native-gallery-bridge .woocommerce-product-gallery {
  position:relative!important;
  width:900px!important;
  height:auto!important;
  visibility:hidden!important;
  opacity:0!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
}

/* Panneau achat */
body.vvv-designer-kubraselegance-product-page div.product .summary {
  position:sticky;
  top:0;
  z-index:20;
  grid-column:2;
  grid-row:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:100%!important;
  height:100svh;
  max-height:100svh;
  margin:0!important;
  padding:calc(var(--k-header) + 28px) clamp(30px,4vw,72px) 34px;
  overflow-y:auto;
  background:radial-gradient(circle at 90% 8%,rgba(201,164,95,.13),transparent 28%),var(--k-cream);
  box-sizing:border-box;
  scrollbar-width:thin;
  scrollbar-color:rgba(201,164,95,.45) transparent;
}
body.vvv-designer-kubraselegance-product-page div.product .summary::-webkit-scrollbar {width:4px}
body.vvv-designer-kubraselegance-product-page div.product .summary::-webkit-scrollbar-thumb {background:rgba(201,164,95,.45)}
.vvv-kubras-product-eyebrow {display:flex;align-items:center;gap:12px;margin:0 0 16px}
.vvv-kubras-product-eyebrow__line {width:34px;height:1px;background:var(--k-gold)}
.vvv-kubras-product-eyebrow__text {color:var(--k-gold);font:700 9px/1 Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase}
body.vvv-designer-kubraselegance-product-page div.product .product_title {margin:0 0 16px;color:var(--k-black);font:400 clamp(38px,3.3vw,64px)/.98 "Bodoni Moda",serif;letter-spacing:-.045em;text-wrap:balance}
body.vvv-designer-kubraselegance-product-page div.product p.price,
body.vvv-designer-kubraselegance-product-page div.product span.price {display:flex;align-items:baseline;gap:10px;margin:0 0 8px;color:var(--k-black);font:600 clamp(20px,1.8vw,28px)/1.2 Manrope,sans-serif}
body.vvv-designer-kubraselegance-product-page div.product .price del {font-size:.72em;color:rgba(33,23,15,.4);opacity:1}
body.vvv-designer-kubraselegance-product-page div.product .price ins {text-decoration:none}
.vvv-kubras-product-price-note {display:flex;gap:8px;margin:0 0 20px;color:var(--k-muted);font:400 10px/1.5 Manrope,sans-serif}
.vvv-kubras-product-price-note p {margin:0}
body.vvv-designer-kubraselegance-product-page .woocommerce-product-details__short-description {margin:0 0 22px;color:var(--k-text);font:400 13px/1.75 Manrope,sans-serif}

.vvv-kubras-product-highlights {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 22px;border-block:1px solid var(--k-line)}
.vvv-kubras-product-highlight {display:flex;flex-direction:column;gap:7px;padding:13px 9px;color:var(--k-text);font:700 7px/1.4 Manrope,sans-serif;letter-spacing:.07em;text-transform:uppercase}
.vvv-kubras-product-highlight:first-child {padding-left:0}
.vvv-kubras-product-highlight:not(:last-child) {border-right:1px solid var(--k-line)}
.vvv-kubras-product-highlight__icon {display:grid;width:25px;height:25px;border:1px solid rgba(201,164,95,.38);border-radius:50%;place-items:center}
.vvv-kubras-product-highlight svg {width:12px;height:12px;fill:none;stroke:var(--k-gold);stroke-width:1.5}

body.vvv-designer-kubraselegance-product-page form.cart {margin:0!important}
body.vvv-designer-kubraselegance-product-page table.variations,
body.vvv-designer-kubraselegance-product-page table.variations tbody,
body.vvv-designer-kubraselegance-product-page table.variations tr,
body.vvv-designer-kubraselegance-product-page table.variations th,
body.vvv-designer-kubraselegance-product-page table.variations td {display:block;width:100%;margin:0;padding:0;border:0;background:transparent}
body.vvv-designer-kubraselegance-product-page table.variations tr {margin-bottom:18px}
body.vvv-designer-kubraselegance-product-page table.variations th.label {margin-bottom:10px;text-align:left}
body.vvv-designer-kubraselegance-product-page table.variations th.label label {color:var(--k-brown);font:700 9px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase}
body.vvv-designer-kubraselegance-product-page table.variations select {width:100%;min-height:50px;padding:0 44px 0 14px;border:1px solid var(--k-line);border-radius:0;background:#fff;color:var(--k-brown);font:400 12px/1 Manrope,sans-serif;box-shadow:none}
body.vvv-designer-kubraselegance-product-page .reset_variations {display:inline-block!important;margin-top:9px;color:var(--k-muted);font:600 8px/1 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-underline-offset:4px}
.vvv-kubras-product-color-notice {display:flex;gap:9px;margin-top:10px;padding:10px 12px;background:rgba(201,164,95,.08);color:var(--k-muted);font:400 9px/1.5 Manrope,sans-serif}
.vvv-kubras-product-color-notice p {margin:0}
.vvv-kubras-product-color-notice__icon {display:grid;flex:0 0 17px;width:17px;height:17px;border:1px solid var(--k-gold);border-radius:50%;color:var(--k-gold);place-items:center}

body.vvv-designer-kubraselegance-product-page .single_variation_wrap .woocommerce-variation-add-to-cart,
body.vvv-designer-kubraselegance-product-page form.cart:not(.variations_form) {display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;align-items:stretch}
body.vvv-designer-kubraselegance-product-page .quantity {display:grid;grid-template-columns:31px 1fr 31px;width:105px!important;height:56px;margin:0!important;border:1px solid var(--k-line);background:#fff}
body.vvv-designer-kubraselegance-product-page .quantity .qty {width:100%!important;height:54px;padding:0!important;border:0!important;background:transparent!important;text-align:center;box-shadow:none!important;-moz-appearance:textfield}
body.vvv-designer-kubraselegance-product-page .quantity .qty::-webkit-inner-spin-button,
body.vvv-designer-kubraselegance-product-page .quantity .qty::-webkit-outer-spin-button {-webkit-appearance:none;margin:0}
.vvv-kubras-quantity-button {display:grid;width:31px;height:54px;padding:0;border:0;background:transparent;color:var(--k-black);font-size:16px;place-items:center;cursor:pointer}
.vvv-kubras-quantity-button:hover {background:rgba(201,164,95,.1);color:var(--k-gold)}
body.vvv-designer-kubraselegance-product-page form.cart .single_add_to_cart_button {position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin:0!important;padding:14px 18px;overflow:hidden;border:1px solid var(--k-black);border-radius:0;background:var(--k-black);color:var(--k-cream);font:700 9px/1 Manrope,sans-serif;letter-spacing:.17em;text-transform:uppercase;box-shadow:none;cursor:pointer;isolation:isolate}
body.vvv-designer-kubraselegance-product-page form.cart .single_add_to_cart_button::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,var(--k-gold),var(--k-gold-2));transform:translateX(-102%);transition:transform .5s cubic-bezier(.16,1,.3,1)}
body.vvv-designer-kubraselegance-product-page form.cart .single_add_to_cart_button:hover::before {transform:none}
body.vvv-designer-kubraselegance-product-page form.cart .single_add_to_cart_button:hover {color:var(--k-black);border-color:var(--k-gold)}
body.vvv-designer-kubraselegance-product-page form.cart .single_add_to_cart_button:disabled,
body.vvv-designer-kubraselegance-product-page form.cart .single_add_to_cart_button.disabled {background:#aaa39b;border-color:#aaa39b;color:#fff;opacity:1;cursor:not-allowed}
.vvv-kubras-cart-reassurance {display:flex;justify-content:space-between;gap:12px;margin-top:13px}
.vvv-kubras-cart-reassurance__item {display:flex;align-items:center;gap:7px;color:var(--k-muted);font:600 8px/1.3 Manrope,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.vvv-kubras-cart-reassurance__item svg {width:15px;height:15px;fill:none;stroke:var(--k-gold);stroke-width:1.4}

/* Sections sous la zone produit : toujours en pleine largeur */
.vvv-kubras-product-experience,
body.vvv-designer-kubraselegance-product-page .up-sells,
body.vvv-designer-kubraselegance-product-page .related.products {
  position:relative;
  z-index:30;
  grid-column:1 / -1;
  grid-row:auto;
  width:100%;
  margin:0!important;
  background:var(--k-cream);
  clear:both;
}
.vvv-kubras-product-experience {overflow:hidden}
.vvv-kubras-product-experience__halo {position:absolute;left:50%;top:12%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(201,164,95,.12),transparent 68%);transform:translateX(-50%);pointer-events:none}
.vvv-kubras-section-eyebrow {display:block;margin-bottom:17px;color:var(--k-gold);font:700 10px/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.vvv-kubras-product-story {position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(44px,8vw,140px);padding:clamp(90px,10vw,170px) clamp(20px,5vw,90px);border-top:1px solid var(--k-line)}
.vvv-kubras-product-story__content {max-width:640px}
.vvv-kubras-product-story h2,.vvv-kubras-product-benefits h2,.vvv-kubras-product-information h2,.vvv-kubras-product-shipping h2 {margin:0;color:var(--k-black);font:400 clamp(42px,5vw,80px)/.98 "Bodoni Moda",serif;letter-spacing:-.045em;text-wrap:balance}
.vvv-kubras-product-story__text {margin-top:28px;color:var(--k-text);font:400 clamp(14px,1.2vw,17px)/1.9 Manrope,sans-serif}
.vvv-kubras-product-story__signature {display:block;margin-top:30px;color:var(--k-gold);font:italic 20px/1 "Bodoni Moda",serif}
.vvv-kubras-product-story__media {position:relative;padding:0 0 40px 40px}
.vvv-kubras-product-story__frame {overflow:hidden}
.vvv-kubras-product-story__image {display:block;width:100%;aspect-ratio:.82;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.vvv-kubras-product-story__media:hover .vvv-kubras-product-story__image {transform:scale(1.035)}
.vvv-kubras-product-story__number {position:absolute;left:0;bottom:0;display:grid;width:82px;height:82px;border:1px solid var(--k-gold);background:var(--k-cream);color:var(--k-gold);font:400 28px/1 "Bodoni Moda",serif;place-items:center}
.vvv-kubras-product-benefits {position:relative;z-index:2;padding:clamp(85px,10vw,160px) clamp(20px,5vw,90px);border-top:1px solid var(--k-line)}
.vvv-kubras-product-benefits__heading {max-width:850px;margin-bottom:clamp(42px,6vw,80px)}
.vvv-kubras-product-benefits__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--k-line);border-left:1px solid var(--k-line)}
.vvv-kubras-product-benefit {min-height:250px;padding:clamp(28px,4vw,54px);border-right:1px solid var(--k-line);border-bottom:1px solid var(--k-line);background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,250,242,.4));transition:.35s ease}
.vvv-kubras-product-benefit:hover {transform:translateY(-5px);background:#fff;box-shadow:0 28px 70px rgba(33,23,15,.1)}
.vvv-kubras-product-benefit__number {display:block;margin-bottom:54px;color:var(--k-gold);font:400 16px/1 "Bodoni Moda",serif}
.vvv-kubras-product-benefit p {margin:0;color:var(--k-brown);font:400 clamp(24px,2vw,33px)/1.1 "Bodoni Moda",serif}
.vvv-kubras-product-information {position:relative;z-index:2;display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:clamp(50px,10vw,160px);align-items:start;padding:clamp(85px,10vw,160px) clamp(20px,5vw,90px);border-top:1px solid var(--k-line)}
.vvv-kubras-product-information__heading {position:relative!important;top:auto!important;height:auto!important}
.vvv-kubras-product-information h2 {font-size:clamp(42px,4vw,68px)}
.vvv-kubras-product-accordions {min-width:0;border-top:1px solid var(--k-line)}
.vvv-kubras-product-accordion {overflow:hidden;border-bottom:1px solid var(--k-line)}
.vvv-kubras-product-accordion summary {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;color:var(--k-brown);font:700 11px/1 Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase;list-style:none;cursor:pointer}
.vvv-kubras-product-accordion summary::-webkit-details-marker {display:none}
.vvv-kubras-product-accordion summary i {position:relative;width:17px;height:17px}
.vvv-kubras-product-accordion summary i::before,.vvv-kubras-product-accordion summary i::after {content:"";position:absolute;left:0;top:8px;width:17px;height:1px;background:var(--k-gold);transition:transform .3s ease}
.vvv-kubras-product-accordion summary i::after {transform:rotate(90deg)}
.vvv-kubras-product-accordion[open] summary i::after {transform:none}
.vvv-kubras-product-accordion__content {padding:0 0 28px;background:var(--k-cream)}
.vvv-kubras-product-specifications {margin:0}
.vvv-kubras-product-spec {display:grid;grid-template-columns:minmax(130px,.45fr) minmax(0,1fr);gap:28px;padding:13px 0;border-bottom:1px dashed rgba(33,23,15,.11)}
.vvv-kubras-product-spec dt {color:var(--k-muted);font:400 11px/1.4 Manrope,sans-serif}
.vvv-kubras-product-spec dd {margin:0;color:var(--k-brown);font:600 12px/1.4 Manrope,sans-serif;text-align:right}
.vvv-kubras-product-care-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}
.vvv-kubras-product-care {display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--k-line);background:rgba(255,255,255,.55)}
.vvv-kubras-product-care p {margin:0;font:400 11px/1.4 Manrope,sans-serif}
.vvv-kubras-product-rich-text {color:var(--k-text);font:400 13px/1.8 Manrope,sans-serif}
.vvv-kubras-product-shipping {position:relative;z-index:2;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(52px,9vw,145px);padding:clamp(85px,10vw,165px) clamp(20px,5vw,90px);border-top:1px solid var(--k-line)}
.vvv-kubras-product-shipping__intro p {max-width:470px;margin:28px 0 0;color:var(--k-text);font:400 14px/1.85 Manrope,sans-serif}
.vvv-kubras-product-shipping__cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--k-line);border-left:1px solid var(--k-line)}
.vvv-kubras-product-shipping__card {min-height:370px;padding:clamp(25px,3vw,40px);border-right:1px solid var(--k-line);border-bottom:1px solid var(--k-line);background:linear-gradient(150deg,rgba(255,255,255,.8),rgba(255,250,242,.44));transition:.35s ease}
.vvv-kubras-product-shipping__card:hover {transform:translateY(-6px);background:#fff;box-shadow:0 28px 70px rgba(33,23,15,.1)}
.vvv-kubras-product-shipping__number {color:var(--k-gold);font:400 15px/1 "Bodoni Moda",serif}
.vvv-kubras-product-shipping__icon {display:grid;width:64px;height:64px;margin:68px 0 28px;border:1px solid rgba(201,164,95,.38);border-radius:50%;place-items:center}
.vvv-kubras-product-shipping__icon svg {width:26px;height:26px;fill:none;stroke:var(--k-gold);stroke-width:1.35}
.vvv-kubras-product-shipping__card h3 {margin:0 0 14px;color:var(--k-black);font:400 clamp(24px,2vw,32px)/1.05 "Bodoni Moda",serif}
.vvv-kubras-product-shipping__card p {margin:0;color:var(--k-text);font:400 12px/1.7 Manrope,sans-serif}
body.vvv-designer-kubraselegance-product-page .up-sells,body.vvv-designer-kubraselegance-product-page .related.products {padding:clamp(75px,9vw,140px) clamp(20px,5vw,90px);border-top:1px solid var(--k-line)}
body.vvv-designer-kubraselegance-product-page .up-sells>h2,body.vvv-designer-kubraselegance-product-page .related.products>h2 {margin:0 0 42px;color:var(--k-black);font:400 clamp(38px,4vw,64px)/1 "Bodoni Moda",serif}

/* Lightbox custom : fond clair, image plein écran, zoom réel */
.vvv-kubras-lightbox {position:fixed;inset:0;z-index:2147483000;display:none;background:#f4f0ea;color:var(--k-black)}
.vvv-kubras-lightbox.is-open {display:block}
.vvv-kubras-lightbox__viewport {position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}
.vvv-kubras-lightbox.is-dragging .vvv-kubras-lightbox__viewport {cursor:grabbing}
.vvv-kubras-lightbox__image {position:absolute;left:50%;top:50%;max-width:none;max-height:none;transform-origin:center center;user-select:none;-webkit-user-drag:none;will-change:transform}
.vvv-kubras-lightbox__top {position:absolute;left:0;right:0;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:18px 22px;background:linear-gradient(180deg,rgba(244,240,234,.98),rgba(244,240,234,.7),transparent)}
.vvv-kubras-lightbox__brand {margin-right:auto;font:700 9px/1 Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.vvv-kubras-lightbox__counter {font:400 16px/1 "Bodoni Moda",serif}
.vvv-kubras-lightbox__button {display:grid;width:48px;height:48px;padding:0;border:1px solid rgba(33,23,15,.2);border-radius:50%;background:rgba(255,255,255,.72);color:var(--k-black);place-items:center;cursor:pointer;backdrop-filter:blur(10px)}
.vvv-kubras-lightbox__button:hover {border-color:var(--k-gold);background:#fff}
.vvv-kubras-lightbox__close {position:relative}
.vvv-kubras-lightbox__close::before,.vvv-kubras-lightbox__close::after {content:"";position:absolute;width:20px;height:1.5px;background:currentColor}
.vvv-kubras-lightbox__close::before {transform:rotate(45deg)}
.vvv-kubras-lightbox__close::after {transform:rotate(-45deg)}
.vvv-kubras-lightbox__arrow {position:absolute;top:50%;z-index:10;transform:translateY(-50%)}
.vvv-kubras-lightbox__prev {left:22px}.vvv-kubras-lightbox__next {right:22px}
.vvv-kubras-lightbox__arrow::before {content:"";width:12px;height:12px;border-style:solid;border-color:currentColor;transform:rotate(45deg)}
.vvv-kubras-lightbox__prev::before {border-width:0 0 1.5px 1.5px}.vvv-kubras-lightbox__next::before {border-width:1.5px 1.5px 0 0}
.vvv-kubras-lightbox__tools {position:absolute;right:22px;bottom:22px;z-index:10;display:flex;align-items:center;gap:8px;padding:8px;border:1px solid rgba(33,23,15,.14);background:rgba(255,255,255,.78);backdrop-filter:blur(12px)}
.vvv-kubras-lightbox__range {width:150px;accent-color:var(--k-gold)}
.vvv-kubras-lightbox__hint {position:absolute;left:50%;bottom:24px;z-index:9;transform:translateX(-50%);color:var(--k-muted);font:600 8px/1 Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase;pointer-events:none}
body.vvv-kubras-lightbox-open {overflow:hidden!important}
body.vvv-kubras-lightbox-open header,body.vvv-kubras-lightbox-open .vvv-designer-kubraselegance-header {pointer-events:none!important}

.vvv-kubras-mobile-product-dock {display:none}

@media (max-width:1100px) {
  body.vvv-designer-kubraselegance-product-page {--k-header:84px}
  body.vvv-designer-kubraselegance-product-page div.product.vvv-kubras-single-product {grid-template-columns:minmax(0,58%) minmax(360px,42%);background:linear-gradient(90deg,#eee7de 0 58%,var(--k-cream) 58% 100%)}
  body.vvv-designer-kubraselegance-product-page div.product .summary {padding-inline:28px}
  .vvv-kubras-product-highlights {grid-template-columns:1fr}
  .vvv-kubras-product-highlight {flex-direction:row;align-items:center;padding:9px 0;border-right:0!important;border-bottom:1px solid var(--k-line)}
  .vvv-kubras-product-highlight:last-child {border-bottom:0}
  .vvv-kubras-product-benefits__grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .vvv-kubras-product-shipping {grid-template-columns:1fr}
}

@media (max-width:767px) {
  body.vvv-designer-kubraselegance-product-page {--k-header:72px;padding-bottom:78px}
  body.vvv-designer-kubraselegance-product-page div.product.vvv-kubras-single-product {display:flex;flex-direction:column;background:var(--k-cream)}
  body.vvv-designer-kubraselegance-product-page .woocommerce-breadcrumb {top:calc(var(--k-header) + 13px);left:14px;max-width:calc(100% - 28px);overflow:hidden;font-size:7px;text-overflow:ellipsis;white-space:nowrap}
  .vvv-kubras-product-stage {order:1;width:100%;overflow:hidden}
  .vvv-kubras-product-stage__rail {display:grid;grid-auto-columns:100%;grid-auto-flow:column;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}
  .vvv-kubras-product-stage__rail::-webkit-scrollbar {display:none}
  .vvv-kubras-product-stage__item {min-height:min(78svh,720px);scroll-snap-align:start;scroll-snap-stop:always}
  .vvv-kubras-product-stage__counter {position:absolute;left:auto;right:16px;top:auto;bottom:16px;flex-direction:row;padding:8px 11px;border:1px solid rgba(255,255,255,.35);background:rgba(8,6,4,.4);backdrop-filter:blur(12px);transform:none}
  .vvv-kubras-product-stage__counter i {width:28px;height:1px}
  .vvv-kubras-product-stage__caption {display:none}
  .vvv-kubras-product-stage__zoom {top:auto;right:auto;left:15px;bottom:15px;display:grid;width:46px;height:46px;padding:0;border-radius:50%;opacity:1;transform:none;place-items:center}
  .vvv-kubras-product-stage__zoom>span:last-child {display:none}
  .vvv-kubras-product-stage__zoom-mark {border:0}
  body.vvv-designer-kubraselegance-product-page div.product .summary {position:relative;order:2;display:block;height:auto;max-height:none;padding:36px 17px 54px;overflow:visible}
  body.vvv-designer-kubraselegance-product-page div.product .product_title {font-size:clamp(40px,13vw,58px)}
  .vvv-kubras-product-highlights {grid-template-columns:repeat(3,minmax(0,1fr))}
  .vvv-kubras-product-highlight {flex-direction:column;align-items:flex-start;padding:11px 7px;border-right:1px solid var(--k-line)!important;border-bottom:0;font-size:6.5px}
  .vvv-kubras-product-highlight:first-child {padding-left:0}.vvv-kubras-product-highlight:last-child {border-right:0!important}
  .vvv-kubras-cart-reassurance {flex-direction:column;align-items:flex-start}
  .vvv-kubras-product-story {display:flex;flex-direction:column-reverse;gap:38px;padding:72px 17px}
  .vvv-kubras-product-story h2,.vvv-kubras-product-benefits h2,.vvv-kubras-product-information h2,.vvv-kubras-product-shipping h2 {font-size:clamp(42px,14vw,60px)}
  .vvv-kubras-product-story__media {padding:0 0 28px 22px}
  .vvv-kubras-product-story__number {width:62px;height:62px;font-size:22px}
  .vvv-kubras-product-benefits,.vvv-kubras-product-information,.vvv-kubras-product-shipping {padding:72px 17px}
  .vvv-kubras-product-benefits__grid,.vvv-kubras-product-shipping__cards {grid-template-columns:1fr}
  .vvv-kubras-product-information {display:block}
  .vvv-kubras-product-information__heading {margin-bottom:40px}
  .vvv-kubras-product-care-grid {grid-template-columns:1fr}
  .vvv-kubras-product-spec {grid-template-columns:1fr 1fr;gap:15px}
  .vvv-kubras-product-shipping__intro {margin-bottom:42px}
  .vvv-kubras-product-shipping__card {min-height:290px;padding:28px}
  .vvv-kubras-product-shipping__icon {margin:42px 0 24px}
  .vvv-kubras-lightbox__top {padding:12px}
  .vvv-kubras-lightbox__brand {font-size:7px}
  .vvv-kubras-lightbox__button {width:44px;height:44px}
  .vvv-kubras-lightbox__prev {left:12px}.vvv-kubras-lightbox__next {right:12px}
  .vvv-kubras-lightbox__tools {right:12px;bottom:12px}
  .vvv-kubras-lightbox__range,.vvv-kubras-lightbox__hint {display:none}
  .vvv-kubras-mobile-product-dock {position:fixed;left:0;right:0;bottom:0;z-index:9990;display:grid;grid-template-columns:minmax(100px,.42fr) minmax(0,1fr);gap:9px;padding:9px 11px calc(9px + env(safe-area-inset-bottom));border-top:1px solid rgba(201,164,95,.28);background:rgba(255,250,242,.96);box-shadow:0 -14px 40px rgba(33,23,15,.12);backdrop-filter:blur(18px);transform:translateY(120%);transition:transform .4s cubic-bezier(.16,1,.3,1)}
  .vvv-kubras-mobile-product-dock.is-visible {transform:none}
  .vvv-kubras-mobile-product-dock__price {display:flex;flex-direction:column;justify-content:center}
  .vvv-kubras-mobile-product-dock__price>span {color:var(--k-muted);font:700 7px/1 Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase}
  .vvv-kubras-mobile-product-dock__price strong {font:600 14px/1.2 Manrope,sans-serif}.vvv-kubras-mobile-product-dock__price del {display:none}.vvv-kubras-mobile-product-dock__price ins {text-decoration:none}
  .vvv-kubras-mobile-product-dock__button {min-height:51px;border:0;background:var(--k-black);color:var(--k-cream);font:700 8px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase}
}

@media (prefers-reduced-motion:reduce) {
  body.vvv-designer-kubraselegance-product-page *,body.vvv-designer-kubraselegance-product-page *::before,body.vvv-designer-kubraselegance-product-page *::after {scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* ==========================================================
   GALERIE PAR VARIATION — CORRECTIF 5.0
   Desktop : images verticales.
   Mobile  : mêmes images dans le slider horizontal.
========================================================== */

.vvv-kubras-product-stage__rail.is-changing {
  opacity: .35;
  filter: blur(5px);
  pointer-events: none;
  transition: opacity .22s ease, filter .22s ease;
}

.vvv-kubras-product-stage__rail:not(.is-changing) {
  opacity: 1;
  filter: none;
  transition: opacity .45s ease, filter .45s ease;
}

.vvv-kubras-product-stage__item,
.vvv-kubras-product-stage__media,
.vvv-kubras-product-stage__image {
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .vvv-kubras-product-stage__rail {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    overflow: visible !important;
  }

  .vvv-kubras-product-stage__item {
    flex: 0 0 auto;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .vvv-kubras-product-stage__rail {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 100% !important;
    gap: 0 !important;
    width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .vvv-kubras-product-stage__rail::-webkit-scrollbar {
    display: none;
  }

  .vvv-kubras-product-stage__item {
    width: 100%;
    min-width: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}

/* ==========================================================
   ACCORDÉONS — ICÔNES + / − ET ESPACEMENT INTERNE
========================================================== */

.vvv-kubras-product-accordions {
  overflow: hidden;
  border: 1px solid var(--k-line, rgba(33, 23, 15, .14));
  border-bottom: 0;
  background: rgba(255, 255, 255, .28);
}

.vvv-kubras-product-accordion {
  margin: 0;
  overflow: hidden;
  border-bottom: 1px solid var(--k-line, rgba(33, 23, 15, .14));
}

.vvv-kubras-product-accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  padding: 24px clamp(18px, 2vw, 30px);
  box-sizing: border-box;
}

.vvv-kubras-product-accordion summary > span {
  flex: 1 1 auto;
  min-width: 0;
}

.vvv-kubras-product-accordion summary i {
  position: relative;
  display: block;
  flex: 0 0 20px;
  width: 20px;
  min-width: 20px;
  height: 20px;
  margin-left: 18px;
  overflow: visible;
}

.vvv-kubras-product-accordion summary i::before,
.vvv-kubras-product-accordion summary i::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 18px;
  height: 1.5px;
  background: var(--k-gold, #c9a45f);
  border-radius: 999px;
  transform: translate(-50%, -50%);
  transform-origin: center;
  transition: transform .3s ease, background-color .3s ease;
}

.vvv-kubras-product-accordion summary i::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.vvv-kubras-product-accordion[open] summary i::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.vvv-kubras-product-accordion__content {
  padding: 4px clamp(18px, 2vw, 30px) 30px;
  box-sizing: border-box;
}

.vvv-kubras-product-spec {
  padding: 16px 0;
}

.vvv-kubras-product-spec dt,
.vvv-kubras-product-spec dd {
  min-width: 0;
  overflow-wrap: anywhere;
}

.vvv-kubras-product-rich-text {
  margin: 0 0 22px;
  padding: 16px 18px;
  border-left: 2px solid var(--k-gold, #c9a45f);
  background: rgba(201, 164, 95, .07);
  box-sizing: border-box;
}

.vvv-kubras-product-rich-text p:first-child {
  margin-top: 0;
}

.vvv-kubras-product-rich-text p:last-child {
  margin-bottom: 0;
}

.vvv-kubras-product-care-grid {
  gap: 12px;
  margin: 4px 0 22px;
}

.vvv-kubras-product-care {
  min-height: 58px;
  padding: 15px 16px;
  box-sizing: border-box;
}

.vvv-kubras-product-care span {
  flex: 0 0 auto;
}

.vvv-kubras-product-care p {
  margin: 0;
  line-height: 1.5;
}

/* ==========================================================
   GALERIE + PANNEAU D'ACHAT — LIMITE DU STICKY
========================================================== */

body.vvv-designer-kubraselegance-product-page
  div.product.vvv-kubras-single-product {
  display: block !important;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
  background: var(--k-cream, #fffaf2);
}

.vvv-kubras-product-top {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 64%) minmax(390px, 36%);
  align-items: start;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  background: linear-gradient(
    90deg,
    #eee7de 0%,
    #eee7de 64%,
    var(--k-cream, #fffaf2) 64%,
    var(--k-cream, #fffaf2) 100%
  );
  isolation: isolate;
}

.vvv-kubras-product-top .vvv-kubras-product-stage {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  align-self: stretch;
}

body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-product-top
  .summary {
  position: sticky !important;
  top: 0 !important;
  z-index: 20;
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  width: 100% !important;
  height: 100svh;
  max-height: 100svh;
  margin: 0 !important;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
}

.vvv-kubras-product-experience,
body.vvv-designer-kubraselegance-product-page .up-sells,
body.vvv-designer-kubraselegance-product-page .related.products {
  position: relative;
  z-index: 30;
  display: block;
  width: 100%;
  clear: both;
}

@media (max-width: 1100px) {
  .vvv-kubras-product-top {
    grid-template-columns: minmax(0, 58%) minmax(360px, 42%);
    background: linear-gradient(
      90deg,
      #eee7de 0%,
      #eee7de 58%,
      var(--k-cream, #fffaf2) 58%,
      var(--k-cream, #fffaf2) 100%
    );
  }
}

@media (max-width: 767px) {
  .vvv-kubras-product-accordion summary {
    padding: 20px 16px;
  }

  .vvv-kubras-product-accordion summary i {
    flex-basis: 22px;
    width: 22px;
    min-width: 22px;
    height: 22px;
    margin-left: 12px;
  }

  .vvv-kubras-product-accordion__content {
    padding: 2px 16px 24px;
  }

  .vvv-kubras-product-spec {
    grid-template-columns: minmax(105px, .8fr) minmax(0, 1.2fr);
    gap: 14px;
    padding: 14px 0;
  }

  .vvv-kubras-product-spec dd {
    line-height: 1.5;
  }

  .vvv-kubras-product-rich-text {
    margin-bottom: 18px;
    padding: 14px;
  }

  .vvv-kubras-product-care {
    padding: 14px;
  }

  .vvv-kubras-product-top {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: var(--k-cream, #fffaf2);
  }

  .vvv-kubras-product-top .vvv-kubras-product-stage {
    order: 1;
    width: 100%;
  }

  body.vvv-designer-kubraselegance-product-page
    .vvv-kubras-product-top
    .summary {
    position: relative !important;
    top: auto !important;
    order: 2;
    width: 100% !important;
    height: auto;
    max-height: none;
    overflow: visible;
  }
}

/* ==========================================================
   FIL D’ARIANE SOUS LE HEADER
========================================================== */

body.vvv-designer-kubraselegance-product-page
	.woocommerce-breadcrumb {
	position: absolute;
	top: calc(var(--k-header, 96px) + 55px);
	left: clamp(20px, 3vw, 52px);
	z-index: 100;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	max-width: calc(64% - 80px);
	margin: 0;
	padding: 9px 13px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	background: rgba(8, 6, 4, 0.28);
	color: rgba(255, 255, 255, 0.78);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	pointer-events: auto;
	box-sizing: border-box;
}

body.vvv-designer-kubraselegance-product-page
	.woocommerce-breadcrumb a {
	position: relative;
	z-index: 2;
	display: inline-block;
	color: #ffffff;
	text-decoration: none;
	pointer-events: auto;
	transition:
		color 0.25s ease,
		opacity 0.25s ease;
}

body.vvv-designer-kubraselegance-product-page
	.woocommerce-breadcrumb a:hover {
	color: var(--k-gold, #c9a45f);
	opacity: 1;
}

/* ==========================================================
   TABLETTE
========================================================== */

@media (max-width: 1100px) {
	body.vvv-designer-kubraselegance-product-page
		.woocommerce-breadcrumb {
		top: calc(var(--k-header, 84px) + 42px);
		max-width: calc(58% - 40px);
	}
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {
	body.vvv-designer-kubraselegance-product-page
		.woocommerce-breadcrumb {
		top: calc(var(--k-header, 72px) + 22px);
		left: 14px;
		z-index: 100;
		max-width: calc(100% - 28px);
		padding: 8px 10px;
		overflow-x: auto;
		flex-wrap: nowrap;
		font-size: 7px;
		white-space: nowrap;
		scrollbar-width: none;
	}

	body.vvv-designer-kubraselegance-product-page
		.woocommerce-breadcrumb::-webkit-scrollbar {
		display: none;
	}
}

/* ==========================================================
   FICHE PRODUIT 6.0 — DESCRIPTION, FAVORIS ET RECOMMANDATIONS
========================================================== */

/* Le grand bloc éditorial avec image a été supprimé du PHP. */
.vvv-kubras-product-story {
	display: none !important;
}

/* Bouton cœur principal, placé après le titre produit. */
.vvv-kubras-product-wishlist-main {
	width: fit-content;
	min-height: 42px;
	margin: -4px 0 18px auto;
	padding: 0 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	border: 1px solid rgba(33, 23, 15, .18) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--k-brown, #21170f) !important;
	font-family: Manrope, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background .3s ease,
		border-color .3s ease,
		color .3s ease,
		transform .3s ease;
}

.vvv-kubras-product-wishlist-main svg {
	width: 17px;
	height: 17px;
	fill: transparent;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
	transition:
		fill .3s ease,
		transform .3s ease;
}

.vvv-kubras-product-wishlist-main:hover {
	border-color: var(--k-gold, #c9a45f) !important;
	color: var(--k-gold, #c9a45f) !important;
	transform: translateY(-2px);
}

.vvv-kubras-product-wishlist-main.is-active {
	border-color: var(--k-gold, #c9a45f) !important;
	background: rgba(201, 164, 95, .1) !important;
	color: var(--k-gold, #c9a45f) !important;
}

.vvv-kubras-product-wishlist-main.is-active svg {
	fill: currentColor;
	transform: scale(1.08);
}

/* Description fusionnée avec les anciens conseils de porté. */
.vvv-kubras-product-description-lead,
.vvv-kubras-product-description-copy {
	color: var(--k-text, #574e46);
	font-family: Manrope, sans-serif;
	line-height: 1.9;
}

.vvv-kubras-product-description-lead {
	margin: 0 0 22px;
	padding: 20px 22px;
	border-left: 2px solid var(--k-gold, #c9a45f);
	background:
		linear-gradient(
			135deg,
			rgba(201, 164, 95, .12),
			rgba(255, 255, 255, .38)
		);
	font-size: clamp(14px, 1.1vw, 16px);
}

.vvv-kubras-product-description-copy {
	margin: 0 0 24px;
	font-size: 13px;
}

.vvv-kubras-product-description-lead p:first-child,
.vvv-kubras-product-description-copy p:first-child {
	margin-top: 0;
}

.vvv-kubras-product-description-lead p:last-child,
.vvv-kubras-product-description-copy p:last-child {
	margin-bottom: 0;
}

.vvv-kubras-product-description-block {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--k-line, rgba(33, 23, 15, .14));
}

.vvv-kubras-product-description-block > strong {
	display: block;
	margin-bottom: 12px;
	color: var(--k-gold, #c9a45f);
	font-family: Manrope, sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.vvv-kubras-product-description-block
	.vvv-kubras-product-rich-text {
	margin-bottom: 20px;
}

/* Collections après la livraison. */
.vvv-kubras-product-collection {
	position: relative;
	z-index: 2;
	width: 100%;
	padding:
		clamp(82px, 9vw, 145px)
		clamp(20px, 5vw, 90px);
	border-top: 1px solid var(--k-line, rgba(33, 23, 15, .14));
	background: var(--k-cream, #fffaf2);
	box-sizing: border-box;
}

.vvv-kubras-product-collection__heading {
	max-width: 780px;
	margin-bottom: clamp(38px, 5vw, 68px);
}

.vvv-kubras-product-collection__heading h2 {
	margin: 0;
	color: var(--k-black, #080604);
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: clamp(42px, 5vw, 76px);
	font-weight: 400;
	line-height: .98;
	letter-spacing: -.045em;
	text-wrap: balance;
}

.vvv-kubras-product-collection__heading p {
	max-width: 520px;
	margin: 22px 0 0;
	color: var(--k-text, #574e46);
	font-family: Manrope, sans-serif;
	font-size: 14px;
	line-height: 1.8;
}

.vvv-kubras-product-collection__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 28px);
}

.vvv-kubras-product-collection__grid:empty {
	display: none;
}

.vvv-kubras-product-collection__empty {
	display: none;
	margin: 0;
	padding: 28px;
	border: 1px dashed rgba(33, 23, 15, .2);
	background: rgba(255, 255, 255, .34);
	color: var(--k-muted, #7d736b);
	font-family: Manrope, sans-serif;
	font-size: 12px;
	line-height: 1.7;
	text-align: center;
}

.vvv-kubras-product-collection.is-empty
	.vvv-kubras-product-collection__empty {
	display: block;
}

.vvv-kubras-product-collection.is-loading
	.vvv-kubras-product-collection__empty {
	display: block;
}

.vvv-kubras-product-collection.is-loading
	.vvv-kubras-product-collection__empty::before {
	content: "Chargement…";
	display: block;
	margin-bottom: 5px;
	color: var(--k-gold, #c9a45f);
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

/* ==========================================================
   CARTES RECOMMANDATIONS — EDITORIAL LUXE 7.0
   Image HD plein cadre + seconde photo de la même variation au hover.
========================================================== */

.vvv-kubras-recommendation-card {
	position: relative;
	min-width: 0;
	background: transparent;
	isolation: isolate;
}

.vvv-kubras-recommendation-card__media {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background:
		linear-gradient(
			145deg,
			#eee7de,
			#e3d8ca
		);
	box-shadow:
		0 18px 46px rgba(33, 23, 15, .08);
	isolation: isolate;
}

.vvv-kubras-recommendation-card__visual {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
	color: #fff !important;
	text-decoration: none !important;
}

.vvv-kubras-recommendation-card__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: cover;
	object-position: center;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	will-change: opacity, transform, filter;
}

.vvv-kubras-recommendation-card__image--primary {
	z-index: 1;
	opacity: 1;
	transform: scale(1.002);
	filter: saturate(.98) contrast(1.01);
	transition:
		opacity .58s ease,
		transform 1.15s cubic-bezier(.16, 1, .3, 1),
		filter .7s ease;
}

.vvv-kubras-recommendation-card__image--hover {
	z-index: 2;
	opacity: 0;
	transform: scale(1.055);
	filter: saturate(.94) contrast(1.01);
	transition:
		opacity .62s ease,
		transform 1.2s cubic-bezier(.16, 1, .3, 1),
		filter .7s ease;
}

.vvv-kubras-recommendation-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 4;
	border: 1px solid rgba(255, 255, 255, .20);
	box-shadow:
		inset 0 0 0 1px rgba(8, 6, 4, .05);
	pointer-events: none;
}



.vvv-kubras-recommendation-card__heart {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 8;
	display: grid;
	width: 44px;
	height: 44px;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, .46) !important;
	border-radius: 50% !important;
	background: rgba(8, 6, 4, .25) !important;
	color: #fff !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	place-items: center;
	cursor: pointer;
	transition:
		background .3s ease,
		border-color .3s ease,
		color .3s ease,
		transform .3s ease;
}

.vvv-kubras-recommendation-card__heart svg {
	width: 18px;
	height: 18px;
	fill: transparent;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

.vvv-kubras-recommendation-card__heart:hover,
.vvv-kubras-recommendation-card__heart.is-active {
	border-color: var(--k-gold, #c9a45f) !important;
	background: var(--k-gold, #c9a45f) !important;
	color: var(--k-black, #080604) !important;
	transform: scale(1.06);
}

.vvv-kubras-recommendation-card__heart.is-active svg {
	fill: currentColor;
}

.vvv-kubras-recommendation-card__content {
	position: relative;
	padding: 20px 2px 4px;
}

.vvv-kubras-recommendation-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 11px;
	color: var(--k-gold, #c9a45f);
	font-family: Manrope, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.35;
	text-transform: uppercase;
}

.vvv-kubras-recommendation-card__meta > span,
.vvv-kubras-recommendation-card__meta > small {
	min-width: 0;
	overflow-wrap: anywhere;
}

.vvv-kubras-recommendation-card__meta > small {
	color: var(--k-muted, #7d736b);
	font: inherit;
	font-size: 7px;
	text-align: right;
}

.vvv-kubras-recommendation-card__title-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 18px;
}

.vvv-kubras-recommendation-card__title {
	display: block;
	min-width: 0;
	color: var(--k-black, #080604) !important;
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: clamp(25px, 2vw, 34px);
	font-weight: 400;
	line-height: 1.02;
	letter-spacing: -.035em;
	text-decoration: none !important;
	text-wrap: balance;
	overflow-wrap: anywhere;
	transition: color .3s ease;
}

.vvv-kubras-recommendation-card__title:hover {
	color: var(--k-gold, #c9a45f) !important;
}

.vvv-kubras-recommendation-card__price {
	padding-top: 4px;
	color: var(--k-brown, #21170f);
	font-family: Manrope, sans-serif;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.25;
	white-space: nowrap;
}

.vvv-kubras-recommendation-card__price del {
	margin-right: 5px;
	opacity: .42;
	font-size: .78em;
}

.vvv-kubras-recommendation-card__price ins {
	text-decoration: none;
}

.vvv-kubras-recommendation-card__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
	padding-bottom: 5px;
	color: var(--k-brown, #21170f) !important;
	font-family: Manrope, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none !important;
}

.vvv-kubras-recommendation-card__link::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: var(--k-gold, #c9a45f);
	transform: scaleX(.32);
	transform-origin: left;
	transition: transform .4s cubic-bezier(.16, 1, .3, 1);
}

.vvv-kubras-recommendation-card__link span {
	font-size: 14px;
	transition: transform .3s ease;
}

.vvv-kubras-recommendation-card__link:hover::after {
	transform: scaleX(1);
}

.vvv-kubras-recommendation-card__link:hover span {
	transform: translateX(5px);
}

/* Le changement de photo n'existe que sur un vrai appareil à hover. */
@media (hover: hover) and (pointer: fine) {
	.vvv-kubras-recommendation-card.has-hover-image:hover
		.vvv-kubras-recommendation-card__image--primary {
		opacity: 0;
		transform: scale(1.035);
		filter: saturate(.96) contrast(1.01);
	}

	.vvv-kubras-recommendation-card.has-hover-image:hover
		.vvv-kubras-recommendation-card__image--hover {
		opacity: 1;
		transform: scale(1.002);
		filter: saturate(1.01) contrast(1.015);
	}

}

/* Sur mobile/tablette tactile : aucune fausse image hover qui resterait bloquée. */
@media (hover: none), (pointer: coarse) {
	.vvv-kubras-recommendation-card__image--primary {
		opacity: 1 !important;
		transform: none !important;
	}

	.vvv-kubras-recommendation-card__image--hover {
		display: none !important;
	}

}

@media (max-width: 1100px) {
	.vvv-kubras-product-collection__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.vvv-kubras-product-wishlist-main {
		margin:
			-2px
			0
			18px
			auto;
	}

	.vvv-kubras-product-description-lead {
		padding: 17px;
	}

	.vvv-kubras-product-collection {
		padding: 72px 17px;
		overflow: hidden;
	}

	.vvv-kubras-product-collection__heading h2 {
		font-size: clamp(42px, 14vw, 60px);
	}

	.vvv-kubras-product-collection__grid {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(78vw, 1fr);
		grid-template-columns: none;
		gap: 14px;
		margin-right: -17px;
		padding-right: 17px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.vvv-kubras-product-collection__grid::-webkit-scrollbar {
		display: none;
	}

	.vvv-kubras-recommendation-card {
		scroll-snap-align: start;
	}

	.vvv-kubras-recommendation-card__title {
		font-size: clamp(27px, 8vw, 32px);
	}

	.vvv-kubras-recommendation-card__media {
		aspect-ratio: 4 / 5;
	}

	.vvv-kubras-recommendation-card__heart {
		top: 13px;
		right: 13px;
		width: 40px;
		height: 40px;
	}


	.vvv-kubras-recommendation-card__title-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 9px;
	}

	.vvv-kubras-recommendation-card__price {
		padding-top: 0;
		font-size: 12px;
		white-space: normal;
	}
}
/* ==========================================================
   FICHE PRODUIT — DÉCALAGE MOBILE SOUS LE HEADER V2
   Hauteur du header + safe area iPhone + respiration visuelle.
========================================================== */

@media (max-width: 767px) {
  body.vvv-designer-kubraselegance-product-page {
    --k-product-mobile-clearance:
      calc(
        var(--k-header, 72px)
        + env(safe-area-inset-top)
        + 28px
      );
  }

  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-product-top {
    padding-top:
      var(--k-product-mobile-clearance) !important;
    box-sizing: border-box;
  }

  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-product-top
  .vvv-kubras-product-stage {
    margin-top: 0 !important;
  }

  /*
   * Le fil d’Ariane descend avec la galerie :
   * aucun élément ne reste collé sous le header.
   */
  body.vvv-designer-kubraselegance-product-page
  .woocommerce-breadcrumb {
    top:
      calc(
        var(--k-product-mobile-clearance)
        + 16px
      ) !important;
  }

  /*
   * La hauteur de l’image garde un rendu plein écran
   * sans rallonger excessivement la page.
   */
  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-product-stage__item {
    min-height:
      min(
        calc(
          80svh
          - env(safe-area-inset-top)
          - 18px
        ),
        700px
      ) !important;
  }
}

@media (max-width: 390px) {
  body.vvv-designer-kubraselegance-product-page {
    --k-product-mobile-clearance:
      calc(
        var(--k-header, 72px)
        + env(safe-area-inset-top)
        + 32px
      );
  }
}


/* ==========================================================
   KUBRA'S PRODUCT GALLERY 6.0 — MOBILE UX / LIGHTBOX SAFE
========================================================== */

body.vvv-kubras-lightbox-open .vvv-kubras-mobile-product-dock {
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(130%) !important;
}

.vvv-kubras-lightbox__button:disabled {
  opacity: .34;
  cursor: default;
  pointer-events: none;
}

.vvv-kubras-lightbox__reset {
  width: auto;
  min-width: 60px;
  padding-inline: 12px;
  border-radius: 999px;
  font: 700 9px/1 Manrope, sans-serif;
  letter-spacing: .04em;
}

@media (max-width: 767px) {
  .vvv-kubras-product-stage__rail {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: auto !important;
    scroll-snap-type: x mandatory !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
  }

  .vvv-kubras-product-stage__rail::-webkit-scrollbar {
    display: none;
  }

  .vvv-kubras-product-stage__item {
    width: 100% !important;
    min-width: 100% !important;
    height: clamp(480px, 126vw, 680px) !important;
    min-height: 0 !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
  }

  .vvv-kubras-product-stage__open,
  .vvv-kubras-product-stage__media {
    width: 100% !important;
    height: 100% !important;
  }

  .vvv-kubras-product-stage__open {
    touch-action: pan-x pan-y;
  }

  .vvv-kubras-product-stage__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }

  .vvv-kubras-product-stage__zoom {
    left: 14px !important;
    bottom: 14px !important;
    width: 48px !important;
    height: 48px !important;
    opacity: 1 !important;
    transform: none !important;
    background: rgba(8, 6, 4, .58) !important;
    border-color: rgba(255, 255, 255, .5) !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse) {
  .vvv-kubras-lightbox {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    min-height: 100svh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    background:
      radial-gradient(
        circle at 50% 44%,
        rgba(255, 255, 255, .8),
        transparent 58%
      ),
      #f4f0ea !important;
    overscroll-behavior: none;
  }

  .vvv-kubras-lightbox.is-open {
    display: block !important;
  }

  .vvv-kubras-lightbox__viewport {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    touch-action: none !important;
    overscroll-behavior: none !important;
    cursor: default !important;
  }

  .vvv-kubras-lightbox__image {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain;
    transform-origin: center center !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-user-drag: none !important;
    touch-action: none !important;
  }

  .vvv-kubras-lightbox__top {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 60 !important;
    min-height: calc(64px + env(safe-area-inset-top)) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto 48px !important;
    align-items: center !important;
    gap: 9px !important;
    padding:
      calc(8px + env(safe-area-inset-top))
      max(10px, env(safe-area-inset-right))
      8px
      max(12px, env(safe-area-inset-left)) !important;
    background:
      linear-gradient(
        180deg,
        rgba(244, 240, 234, 1) 0%,
        rgba(244, 240, 234, .94) 68%,
        rgba(244, 240, 234, 0) 100%
      ) !important;
    pointer-events: none;
  }

  .vvv-kubras-lightbox__brand,
  .vvv-kubras-lightbox__counter,
  .vvv-kubras-lightbox__close {
    pointer-events: auto;
  }

  .vvv-kubras-lightbox__brand {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 8px !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
  }

  .vvv-kubras-lightbox__counter {
    min-width: 56px;
    font-size: 15px !important;
    text-align: center;
  }

  .vvv-kubras-lightbox__button {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border-color: rgba(33, 23, 15, .17) !important;
    background: rgba(255, 255, 255, .9) !important;
    box-shadow: 0 8px 25px rgba(33, 23, 15, .09);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    touch-action: manipulation !important;
  }

  .vvv-kubras-lightbox__close {
    position: relative !important;
    z-index: 80 !important;
  }

  .vvv-kubras-lightbox__arrow {
    top: auto !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    z-index: 70 !important;
    transform: none !important;
  }

  .vvv-kubras-lightbox__prev {
    left: max(10px, env(safe-area-inset-left)) !important;
  }

  .vvv-kubras-lightbox__next {
    right: max(10px, env(safe-area-inset-right)) !important;
  }

  .vvv-kubras-lightbox__tools {
    position: absolute !important;
    left: calc(max(10px, env(safe-area-inset-left)) + 56px) !important;
    right: calc(max(10px, env(safe-area-inset-right)) + 56px) !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    z-index: 70 !important;
    min-width: 0 !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 0 5px !important;
    border: 1px solid rgba(33, 23, 15, .13) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .9) !important;
    box-shadow: 0 10px 30px rgba(33, 23, 15, .09);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  .vvv-kubras-lightbox__tools .vvv-kubras-lightbox__button {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .vvv-kubras-lightbox__reset {
    width: 62px !important;
    min-width: 62px !important;
    padding-inline: 6px !important;
    color: var(--k-black, #080604) !important;
    font-size: 8px !important;
  }

  .vvv-kubras-lightbox__range {
    display: none !important;
  }

  .vvv-kubras-lightbox__hint {
    position: absolute !important;
    left: 50% !important;
    bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    z-index: 55 !important;
    width: min(330px, calc(100% - 32px)) !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(33, 23, 15, .1);
    border-radius: 999px;
    background: rgba(255, 250, 242, .88);
    color: rgba(33, 23, 15, .62) !important;
    font-size: 7px !important;
    line-height: 1.25 !important;
    letter-spacing: .065em !important;
    text-align: center !important;
    transform: translateX(-50%) !important;
    opacity: 1;
    transition: opacity .25s ease, transform .25s ease;
  }

  .vvv-kubras-lightbox.has-interacted .vvv-kubras-lightbox__hint {
    opacity: 0;
    transform: translateX(-50%) translateY(6px) !important;
  }

  .vvv-kubras-lightbox.is-zoomed .vvv-kubras-lightbox__viewport {
    cursor: grab !important;
  }

  .vvv-kubras-lightbox.is-dragging .vvv-kubras-lightbox__viewport {
    cursor: grabbing !important;
  }

  body.vvv-kubras-lightbox-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  body.vvv-kubras-lightbox-open .vvv-designer-kubraselegance-header,
  body.vvv-kubras-lightbox-open header {
    pointer-events: none !important;
  }
}

@media (max-width: 370px) {
  .vvv-kubras-lightbox__button {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  .vvv-kubras-lightbox__tools {
    left: calc(max(7px, env(safe-area-inset-left)) + 49px) !important;
    right: calc(max(7px, env(safe-area-inset-right)) + 49px) !important;
    gap: 1px !important;
  }

  .vvv-kubras-lightbox__tools .vvv-kubras-lightbox__button {
    width: 38px !important;
    min-width: 38px !important;
  }

  .vvv-kubras-lightbox__reset {
    width: 55px !important;
    min-width: 55px !important;
    font-size: 7px !important;
  }
}

/* ==========================================================
   FICHE PRODUIT 7.2 — COLORIS STICKY GALERIE MOBILE
   Une seule vraie barre de couleurs, sans clone et sans déplacement DOM.
========================================================== */

@media (max-width: 767px) {

  /*
   * Quand la galerie est visible, la VRAIE barre de couleurs
   * devient un petit dock premium au-dessus du bas de l'image.
   */
  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-single-colors.is-gallery-sticky-mobile {
    position: fixed !important;
    left: max(12px, env(safe-area-inset-left)) !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    z-index: 9975 !important;

    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 11px 12px 12px !important;

    border: 1px solid rgba(255, 255, 255, .5) !important;
    border-radius: 14px !important;
    background: rgba(255, 250, 242, .94) !important;

    box-shadow:
      0 16px 42px rgba(8, 6, 4, .18),
      inset 0 0 0 1px rgba(201, 164, 95, .05) !important;

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    box-sizing: border-box !important;
    overflow: hidden !important;

    transform: translateZ(0);
    animation:
      vvvKubrasMobileColorsIn
      .28s cubic-bezier(.16, 1, .3, 1)
      both;
  }

  /*
   * En-tête : COLORIS à gauche, nom sélectionné à droite.
   */
  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-single-colors.is-gallery-sticky-mobile
  .vvv-kubras-single-colors__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;

    width: 100% !important;
    margin: 0 0 9px !important;
    padding: 0 2px !important;
  }

  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-single-colors.is-gallery-sticky-mobile
  .vvv-kubras-single-colors__header > span {
    color: var(--k-gold, #c9a45f) !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
  }

  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-single-colors.is-gallery-sticky-mobile
  .vvv-kubras-selected-color-name {
    min-width: 0 !important;
    overflow: hidden !important;

    color: var(--k-brown, #21170f) !important;
    font-size: 9px !important;
    font-weight: 700 !important;

    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  /*
   * Les vraies pastilles restent les mêmes boutons.
   * On rend simplement leur liste horizontalement scrollable.
   */
  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-single-colors.is-gallery-sticky-mobile
  .vvv-kubras-single-colors__list {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 3px 3px 4px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-single-colors.is-gallery-sticky-mobile
  .vvv-kubras-single-colors__list::-webkit-scrollbar {
    display: none;
  }

  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-single-colors.is-gallery-sticky-mobile
  .vvv-kubras-single-swatch {
    flex: 0 0 auto !important;
    touch-action: manipulation;
  }

  /*
   * On garde zoom + compteur visibles en dessous du dock.
   * Ils restent utilisables visuellement et ne chevauchent pas
   * les pastilles.
   */
  .vvv-kubras-product-stage__zoom,
  .vvv-kubras-product-stage__counter {
    z-index: 60 !important;
  }

  /*
   * La lightbox doit rester totalement propre.
   */
  body.vvv-kubras-lightbox-open
  .vvv-kubras-single-colors.is-gallery-sticky-mobile {
    display: none !important;
  }
}

@media (max-width: 390px) {

  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-single-colors.is-gallery-sticky-mobile {
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: calc(68px + env(safe-area-inset-bottom)) !important;
    padding: 9px 10px 10px !important;
  }

  body.vvv-designer-kubraselegance-product-page
  .vvv-kubras-single-colors.is-gallery-sticky-mobile
  .vvv-kubras-single-colors__list {
    gap: 8px !important;
  }
}

@keyframes vvvKubrasMobileColorsIn {
  from {
    opacity: 0;
    transform: translate3d(0, 12px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

