/* =========================================================================
   VelarTrip 2.1 : couche de design de la refonte (novembre 2026)
   Identité de marque (pin profond, sable, terracotta, or ; Instrument Serif
   et Manrope) + principes d'interface : retour immédiat à l'appui, mouvement
   court et interruptible, profondeur sobre, hiérarchie typographique par la
   taille, la graisse et l'interlignage, interlettrage selon la taille.
   Chargée en dernier, ne touche pas au fonctionnement des composants
   (lots, livraison offerte, upsell, barre d'achat collante, quiz, passerelle
   article vers produit).
   ========================================================================= */

:root {
	/* Marque (CLAUDE-CODE.md) */
	--vt-ink: #14312e;
	--vt-ink-deep: #0e241f;
	--vt-ink-soft: #5c6a62;
	--vt-sand: #f6f1e7;
	--vt-sand-deep: #efe8d8;
	--vt-line: #e4dcc9;
	--vt-card: #ffffff;
	--vt-cta: #c24e2c;      /* unique couleur d'action */
	--vt-cta-dark: #a9421f;
	--vt-gold: #e8b04b;     /* accents : badges, étoiles, remise */
	--vt-gold-dark: #d79f3a;
	--vt-muted: #8a7b62;
	--vt-faint: #a79a82;
	--vt-star: #e8b04b;
	--vt-ok: #2f6b45;

	--vt-font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, sans-serif;
	--vt-display: "Instrument Serif", Georgia, "Times New Roman", serif;

	--vt-text-xs: 12px;
	--vt-text-sm: 14px;
	--vt-text-base: 17px;
	--vt-text-lg: 19px;

	--vt-radius-sm: 12px;
	--vt-radius: 16px;
	--vt-radius-lg: 22px;
	--vt-radius-xl: 28px;
	--vt-btn-radius: 14px;
	--vt-gap: 20px;

	--vt-content: 1240px;
	--vt-content-narrow: 740px;
	--vt-edge: 20px;

	/* Profondeur : deux niveaux seulement */
	--vt-shadow-1: 0 1px 2px rgba(20, 49, 46, 0.06), 0 4px 14px rgba(20, 49, 46, 0.06);
	--vt-shadow-2: 0 10px 34px rgba(20, 49, 46, 0.14);

	/* Mouvement : réponse rapide, sans rebond (critiquement amorti) */
	--vt-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--vt-fast: 120ms;
	--vt-base: 260ms;
}

/* ---------- Base et typographie ---------- */
body {
	background: var(--vt-sand);
	color: var(--vt-ink);
	font-family: var(--vt-font);
	font-size: var(--vt-text-base);
	line-height: 1.6;
	letter-spacing: 0;
	font-optical-sizing: auto;
}

/* Titres : serif de marque, interlignage serré, interlettrage négatif
   qui croît avec la taille. */
h1, h2, h3,
.vt-hero__title,
.vt-entry__title,
.product_title,
.vt-archive-head h1,
.vt-section-head h2,
.vt-bundle-banner__title,
.vt-article-products__title {
	font-family: var(--vt-display) !important;
	font-weight: 400;
	font-style: normal;
	color: var(--vt-ink);
	letter-spacing: -0.01em;
	line-height: 1.08;
}

h1 { letter-spacing: -0.02em; line-height: 1.02; }
h2 { font-size: clamp(30px, 4.2vw, 44px); }
h3 { font-size: clamp(22px, 2.6vw, 26px); line-height: 1.15; }

/* Petits textes : légèrement plus espacés pour rester lisibles */
small, .vt-text-small, .woocommerce-breadcrumb, .rank-math-breadcrumb, .vt-breadcrumb { letter-spacing: 0.01em; }

a { color: var(--vt-cta); text-underline-offset: 3px; }
a:hover { color: var(--vt-cta-dark); }

::selection { background: rgba(232, 176, 75, 0.35); }

:focus-visible {
	outline: 2px solid var(--vt-cta);
	outline-offset: 3px;
	border-radius: 6px;
}

/* ---------- Boutons : terracotta, retour immédiat à l'appui ---------- */
.vt-btn-primary,
.vt-btn-gold,
.button,
.wp-element-button,
.wp-block-button__link,
.single_add_to_cart_button,
.checkout-button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
#place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 50px;
	padding: 13px 26px;
	border: 0;
	border-radius: var(--vt-btn-radius) !important;
	background: var(--vt-cta) !important;
	color: #fff !important;
	font-family: var(--vt-font);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-decoration: none;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.18) inset, 0 6px 18px rgba(194, 78, 44, 0.22);
	cursor: pointer;
	transition: background-color var(--vt-base) var(--vt-ease), box-shadow var(--vt-base) var(--vt-ease), transform var(--vt-base) var(--vt-ease);
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}

.vt-btn-primary:hover,
.vt-btn-gold:hover,
.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
#place_order:hover {
	background: var(--vt-cta-dark) !important;
	color: #fff !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.18) inset, 0 10px 26px rgba(194, 78, 44, 0.28);
}

/* À l'appui : réaction instantanée (pas d'attente du relâchement) */
.vt-btn-primary:active,
.vt-btn-gold:active,
.button:active,
.single_add_to_cart_button:active,
.checkout-button:active,
#place_order:active,
.vt-ap-card__add:active,
.vt-sticky-atc__button:active {
	transform: scale(0.97);
	transition-duration: var(--vt-fast);
	box-shadow: 0 2px 8px rgba(194, 78, 44, 0.2);
}

.vt-btn-ghost,
.vt-btn-ghost--light {
	display: inline-flex;
	align-items: center;
	min-height: 50px;
	padding: 13px 24px;
	border-radius: var(--vt-btn-radius);
	border: 1.5px solid var(--vt-ink);
	background: transparent;
	color: var(--vt-ink);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color var(--vt-base) var(--vt-ease), transform var(--vt-base) var(--vt-ease);
}

.vt-btn-ghost:hover { background: rgba(20, 49, 46, 0.06); color: var(--vt-ink); }
.vt-btn-ghost:active { transform: scale(0.97); transition-duration: var(--vt-fast); }

.vt-link-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 48px;
	color: var(--vt-ink);
	font-size: 16px;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--vt-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
	transition: text-underline-offset var(--vt-base) var(--vt-ease);
}

.vt-link-more:hover { color: var(--vt-ink); text-underline-offset: 8px; }

/* ---------- Bandeau du haut ---------- */
.vt-trustbar {
	background: var(--vt-ink);
	color: rgba(246, 241, 231, 0.88);
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.02em;
	padding: 8px var(--vt-edge);
	text-align: center;
	border: 0;
}

.vt-trustbar a { color: rgba(246, 241, 231, 0.88); }

/* ---------- En-tête : matière translucide sable, ombre au défilement ---------- */
.vt-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(246, 241, 231, 0.82);
	-webkit-backdrop-filter: saturate(160%) blur(18px);
	backdrop-filter: saturate(160%) blur(18px);
	border-bottom: 1px solid rgba(20, 49, 46, 0.08);
	box-shadow: none;
}

.vt-header__inner {
	max-width: 1320px;
	margin: 0 auto;
	min-height: 64px;
	padding: 0 var(--vt-edge);
	gap: 16px;
}

.vt-header__brand img,
.vt-header .custom-logo {
	max-height: 38px;
	width: auto;
}

.vt-header__nav .vt-menu > li > a {
	white-space: nowrap;
	color: var(--vt-ink);
	font-size: 14.5px;
	font-weight: 600;
	letter-spacing: 0;
	padding: 8px 9px;
	text-decoration: none;
	border-radius: 10px;
	transition: background-color var(--vt-base) var(--vt-ease), color var(--vt-base) var(--vt-ease);
}

.vt-header__nav .vt-menu > li > a:hover { background: rgba(20, 49, 46, 0.06); color: var(--vt-ink); }

/* Sous-menus : surgissent depuis leur entrée (origine en haut), sans rebond */
.vt-header__nav .sub-menu {
	background: rgba(255, 255, 255, 0.97);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	border: 1px solid var(--vt-line);
	border-radius: var(--vt-radius);
	box-shadow: var(--vt-shadow-2);
	padding: 8px;
	transform-origin: top left;
}

.vt-header__nav .sub-menu a {
	color: var(--vt-ink);
	font-size: 14px;
	font-weight: 500;
	border-radius: 10px;
	padding: 8px 12px;
	text-decoration: none;
}

.vt-header__nav .sub-menu a:hover { background: var(--vt-sand); }

/* Menu du haut : une seule ligne. Les liens vers des pages éditoriales restent
   dans le menu mobile et le pied de page. */
.vt-header__nav .vt-menu > li.menu-item-object-page,
.vt-header__nav .vt-menu > li.menu-item-object-post { display: none; }

@media (min-width: 1400px) {
	.vt-header__nav { display: flex !important; justify-content: center; }
	.vt-header__nav .vt-menu { flex-wrap: nowrap; gap: 0; max-height: none; overflow: visible; }
	.vt-header__toggle { display: none !important; }
}

.vt-header__actions { gap: 2px; }

.vt-header__icon,
.vt-header__toggle,
.vt-header__cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: var(--vt-ink);
	cursor: pointer;
	text-decoration: none;
	transition: background-color var(--vt-base) var(--vt-ease), transform var(--vt-base) var(--vt-ease);
}

.vt-header__icon:hover,
.vt-header__toggle:hover,
.vt-header__cart:hover { background: rgba(20, 49, 46, 0.07); color: var(--vt-ink); }

.vt-header__icon:active,
.vt-header__toggle:active,
.vt-header__cart:active { transform: scale(0.92); transition-duration: var(--vt-fast); }

.vt-header__cart-count {
	position: absolute;
	top: 5px;
	right: 3px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--vt-cta);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}

.vt-header__cart-count[data-count="0"] { display: none; }

.vt-icon { display: block; }

.vt-header__actions .trp-language-switcher,
.vt-header__actions .trp-ls-shortcode-current-language,
.vt-header__actions .trp-ls-shortcode-language {
	font-size: 13px !important;
	border: 0 !important;
	background: transparent !important;
}

.vt-search-panel {
	background: rgba(246, 241, 231, 0.97);
	border-top: 1px solid var(--vt-line);
}

.vt-searchform input[type="search"],
.vt-search-panel input[type="search"] {
	border: 1.5px solid var(--vt-line);
	border-radius: var(--vt-radius-sm);
	background: #fff;
	font-size: 17px;
	padding: 12px 16px;
}

/* Tiroir mobile : entre et sort par la droite (même chemin) */
.vt-drawer__panel {
	background: var(--vt-sand);
	box-shadow: -20px 0 60px rgba(20, 49, 46, 0.18);
}

.vt-drawer__panel .vt-menu a {
	color: var(--vt-ink);
	font-family: var(--vt-display);
	font-size: 26px;
	font-weight: 400;
	letter-spacing: -0.01em;
	padding: 12px 0;
	text-decoration: none;
	border-bottom: 1px solid var(--vt-line);
}

.vt-drawer__panel .vt-menu .sub-menu a {
	font-family: var(--vt-font);
	font-size: 16px;
	font-weight: 500;
	color: var(--vt-ink-soft);
}

.vt-drawer__close {
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 12px;
	background: var(--vt-sand-deep);
	color: var(--vt-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.vt-drawer__veil { background: rgba(14, 36, 31, 0.36); }

/* ---------- Accueil : deux colonnes sur PC, photo produit réelle ---------- */
.vt-hero.vt-hero--v2 {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-areas: "text" "media" "trust";
	align-items: center;
	gap: 28px;
	max-width: var(--vt-content);
	max-height: none !important;
	min-height: 0;
	margin: 0 auto;
	padding: clamp(32px, 6vw, 72px) var(--vt-edge) clamp(24px, 4vw, 48px);
	background: transparent;
	text-align: left;
	border: 0;
}

.vt-hero--v2 .vt-hero__text { grid-area: text; max-width: 600px; padding: 0 !important; }
.vt-hero--v2 .vt-hero__media { grid-area: media; }
.vt-hero--v2 .vt-hero__trust { grid-area: trust; }

.vt-hero--v2 .vt-hero__title {
	font-size: clamp(46px, 7.4vw, 88px);
	line-height: 0.98;
	letter-spacing: -0.025em;
	margin: 0 0 18px;
	text-wrap: balance;
}

.vt-hero--v2 .vt-hero__sub {
	font-size: clamp(18px, 2vw, 21px);
	line-height: 1.5;
	color: var(--vt-ink-soft);
	margin: 0 0 28px;
	max-width: 480px;
}

.vt-hero--v2 .vt-hero__actions {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 26px;
	margin: 0 0 18px;
}

.vt-hero--v2 .vt-rating-link { font-size: 14px; color: var(--vt-ink-soft); }

.vt-hero--v2 .vt-hero__media {
	position: relative;
	display: block;
	margin: 0;
	padding: clamp(20px, 4vw, 44px);
	background: var(--vt-sand-deep);
	border-radius: var(--vt-radius-xl);
	text-decoration: none;
	overflow: hidden;
	aspect-ratio: auto;
	min-height: 0 !important;
	height: auto !important;
	box-shadow: var(--vt-shadow-1);
	transition: box-shadow var(--vt-base) var(--vt-ease), transform var(--vt-base) var(--vt-ease);
}

.vt-hero--v2 .vt-hero__media:hover { box-shadow: var(--vt-shadow-2); transform: translateY(-2px); }
.vt-hero--v2 .vt-hero__media:active { transform: scale(0.99); transition-duration: var(--vt-fast); }

.vt-hero--v2 .vt-hero__img {
	position: static !important;
	inset: auto !important;
	height: auto !important;
	display: block;
	width: auto;
	max-width: 100%;
	max-height: min(52vh, 500px);
	margin: 0 auto;
	object-fit: contain;
	mix-blend-mode: multiply;
	border-radius: 0;
	box-shadow: none;
}

.vt-hero__caption {
	display: block;
	margin-top: 14px;
	color: var(--vt-ink-soft);
	font-size: 14px;
	font-weight: 500;
	text-align: center;
}

.vt-hero--v2 .vt-hero__trust {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	list-style: none;
	margin: 0;
	padding: 0;
	color: var(--vt-ink-soft);
	font-size: 14px;
	font-weight: 500;
}

.vt-hero--v2 .vt-hero__trust li { display: inline-flex; align-items: center; gap: 8px; }

.vt-hero--v2 .vt-hero__trust li::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	border-radius: 50%;
	background: var(--vt-gold) no-repeat center / 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314312e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

@media (min-width: 900px) {
	.vt-hero.vt-hero--v2 {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
		grid-template-areas: "text media" "trust media";
		column-gap: clamp(32px, 5vw, 72px);
		row-gap: 24px;
	}

	.vt-hero--v2 .vt-hero__trust { align-self: start; }
}

/* ---------- Sections de l'accueil ---------- */
.vt-container {
	max-width: var(--vt-content);
	padding-left: var(--vt-edge);
	padding-right: var(--vt-edge);
}

.vt-home-section { padding: clamp(48px, 7vw, 88px) 0 0; margin: 0; }

.vt-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
	border: 0;
}

.vt-section-head h2 { margin: 0; }

.vt-section-head__link {
	color: var(--vt-ink);
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--vt-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
	white-space: nowrap;
}

.vt-section-head__link::after { content: " →"; }

/* Collections : tuiles sable, image détourée, légère profondeur au survol */
.vt-collections { gap: 14px; }

.vt-collection {
	background: var(--vt-card);
	border: 1px solid var(--vt-line);
	border-radius: var(--vt-radius-lg);
	box-shadow: none;
	overflow: hidden;
	text-decoration: none;
	transition: transform var(--vt-base) var(--vt-ease), box-shadow var(--vt-base) var(--vt-ease), border-color var(--vt-base) var(--vt-ease);
}

.vt-collection:hover { transform: translateY(-3px); box-shadow: var(--vt-shadow-2); border-color: transparent; }
.vt-collection:active { transform: scale(0.98); transition-duration: var(--vt-fast); }

.vt-collection__media { background: var(--vt-sand-deep); }

.vt-collection__media img { mix-blend-mode: multiply; object-fit: contain; padding: 12%; }

.vt-collection__body { padding: 14px 16px 18px; }

.vt-collection__name {
	color: var(--vt-ink);
	font-family: var(--vt-display);
	font-size: 22px;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.1;
}

.vt-collection__count { color: var(--vt-muted); font-size: 13px; font-weight: 500; }

/* Bannière lot : pin profond, chiffre or */
.vt-bundle-banner {
	margin: clamp(48px, 7vw, 88px) 0 0;
	padding: clamp(28px, 5vw, 56px);
	background: var(--vt-ink);
	color: var(--vt-sand);
	border: 0;
	border-radius: var(--vt-radius-xl);
	box-shadow: none;
	gap: 24px;
}

.vt-bundle-banner__figure {
	color: var(--vt-gold);
	font-family: var(--vt-display);
	font-weight: 400;
	letter-spacing: -0.03em;
}

.vt-bundle-banner__title { color: var(--vt-sand) !important; font-size: clamp(30px, 4vw, 42px); margin: 0 0 6px; }
.vt-bundle-banner__sub { color: rgba(246, 241, 231, 0.72); font-size: 17px; margin: 0; }

/* Contenu éditorial de l'accueil : centré */
.vt-home-blocks.vt-home-content {
	max-width: var(--vt-content) !important;
	margin: clamp(56px, 8vw, 96px) auto 0 !important;
	padding: 0 var(--vt-edge) !important;
	box-sizing: border-box;
	color: var(--vt-ink);
	font-size: 17px;
}

.vt-home-blocks.vt-home-content > *:not(.alignfull) {
	max-width: var(--vt-content);
	margin-left: auto;
	margin-right: auto;
}

/* ---------- Cartes produit ---------- */
.woocommerce ul.products { gap: 26px 16px; }

.woocommerce ul.products li.product {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	text-align: left;
}

/* Tuile sable derrière l'image : le fond blanc des photos s'y fond */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	position: relative;
	isolation: isolate;
	display: block;
	background: transparent;
	border-radius: var(--vt-radius);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	aspect-ratio: 1 / 1;
	background: var(--vt-sand-deep);
	border-radius: var(--vt-radius);
	z-index: -1;
	transition: box-shadow var(--vt-base) var(--vt-ease);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover::before { box-shadow: var(--vt-shadow-1); }

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
	background: transparent !important;
	border-radius: var(--vt-radius) !important;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	padding: 8%;
	mix-blend-mode: multiply;
	margin-bottom: 12px;
	transition: transform 420ms var(--vt-ease);
}

.woocommerce ul.products li.product a:hover img { transform: scale(1.03); }
.woocommerce ul.products li.product a:active img { transform: scale(0.98); transition-duration: var(--vt-fast); }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--vt-ink);
	font-family: var(--vt-font) !important;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
	padding: 0;
	margin: 0 0 4px;
}

.woocommerce ul.products li.product .price { color: var(--vt-ink); font-size: 15px; font-weight: 500; }
.woocommerce ul.products li.product .price del { color: var(--vt-faint); }
.woocommerce ul.products li.product .price ins { text-decoration: none; font-weight: 700; color: var(--vt-cta); }

.woocommerce ul.products li.product .button {
	min-height: 42px;
	padding: 8px 16px;
	font-size: 14px;
	margin-top: 10px;
	box-shadow: none;
}

.woocommerce span.onsale,
.vt-badge {
	background: var(--vt-gold) !important;
	color: var(--vt-ink) !important;
	border-radius: 8px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1 !important;
	padding: 6px 9px !important;
	top: 10px !important;
	left: 10px !important;
	right: auto !important;
}

.star-rating span::before,
.vt-stars { color: var(--vt-star); }

.vt-archive-head { padding: clamp(28px, 5vw, 56px) 0 8px; text-align: left; border: 0; background: transparent; }
.vt-archive-head h1 { font-size: clamp(40px, 6vw, 64px); margin: 0 0 8px; }
.vt-archive-head__desc { color: var(--vt-ink-soft); font-size: 17px; max-width: 720px; }

.woocommerce-result-count { color: var(--vt-ink-soft); font-size: 14px; }

.woocommerce-ordering select,
.woocommerce select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-cart table.cart td.actions .coupon .input-text,
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea {
	border: 1.5px solid var(--vt-line);
	border-radius: var(--vt-radius-sm);
	background: #fff;
	color: var(--vt-ink);
	font-family: var(--vt-font);
	font-size: 16px;
	min-height: 48px;
	padding: 10px 14px;
	box-shadow: none;
	transition: border-color var(--vt-base) var(--vt-ease), box-shadow var(--vt-base) var(--vt-ease);
}

input:focus, select:focus, textarea:focus {
	border-color: var(--vt-ink) !important;
	box-shadow: 0 0 0 4px rgba(232, 176, 75, 0.3) !important;
	outline: 0;
}

.woocommerce-breadcrumb, .rank-math-breadcrumb, .vt-breadcrumb { color: var(--vt-muted); font-size: 13px; }
.woocommerce-breadcrumb a, .rank-math-breadcrumb a, .vt-breadcrumb a { color: var(--vt-muted); text-decoration: none; }

.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { border-radius: 10px; min-width: 40px; height: 40px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--vt-ink); color: var(--vt-sand); }

/* ---------- Fiche produit ---------- */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
	background: var(--vt-sand-deep);
	border-radius: var(--vt-radius-lg);
	overflow: hidden;
	isolation: isolate;
}

.woocommerce div.product div.images img,
.vt-gallery img {
	background: transparent !important;
	border-radius: 0;
	mix-blend-mode: multiply;
}

.vt-gallery .woocommerce-product-gallery__image img { object-fit: contain !important; }

.woocommerce div.product .product_title { font-size: clamp(36px, 4.4vw, 52px); margin: 0 0 10px; }

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--vt-ink) !important;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del { color: var(--vt-faint); font-weight: 400; font-size: 18px; }

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins { text-decoration: none; color: var(--vt-cta); }

.woocommerce div.product .woocommerce-product-details__short-description { color: var(--vt-ink-soft); font-size: 17px; }

.woocommerce div.product form.cart .variations select { min-height: 48px; border-radius: var(--vt-radius-sm); }

.woocommerce div.product form.cart .single_add_to_cart_button { width: 100%; min-height: 54px; font-size: 17px; }

.woocommerce .quantity .qty { min-height: 54px; border-radius: var(--vt-radius-sm); border: 1.5px solid var(--vt-line); }

/* Colonne d'achat : la règle WooCommerce (48 %, flottant) la réduisait à 226 px */
.vt-buybox .summary,
.woocommerce div.product .vt-buybox div.summary { width: 100% !important; float: none !important; margin: 0 !important; }

.vt-buybox { background: transparent; border: 0; box-shadow: none; padding: 0; }

.vt-bundle {
	border: 1.5px solid var(--vt-line) !important;
	border-radius: var(--vt-radius) !important;
	background: #fff !important;
	box-shadow: none !important;
	transition: border-color var(--vt-base) var(--vt-ease), box-shadow var(--vt-base) var(--vt-ease), transform var(--vt-base) var(--vt-ease);
}

.vt-bundle:active { transform: scale(0.99); transition-duration: var(--vt-fast); }

.vt-bundle:has(input:checked),
.vt-bundle.is-active,
.vt-bundle[aria-checked="true"] { border-color: var(--vt-cta) !important; box-shadow: 0 0 0 1px var(--vt-cta) !important; }

.vt-bundle__flag { background: var(--vt-gold) !important; color: var(--vt-ink) !important; border-radius: 8px !important; }
.vt-bundle__note--save { color: var(--vt-ok) !important; }

.vt-reassurance { background: #fff; border: 1px solid var(--vt-line); border-radius: var(--vt-radius); color: var(--vt-ink); font-size: 14px; }

.vt-stock-note { color: var(--vt-ok); font-size: 14px; font-weight: 600; }

.woocommerce div.product .woocommerce-tabs ul.tabs { border: 0; padding: 0; gap: 8px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: 1.5px solid var(--vt-line) !important;
	background: transparent !important;
	border-radius: 10px !important;
	margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--vt-ink) !important; font-size: 14px; font-weight: 600; padding: 9px 16px !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--vt-ink) !important; border-color: var(--vt-ink) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--vt-sand) !important; }

.vt-specs__table { border-radius: var(--vt-radius); overflow: hidden; border: 1px solid var(--vt-line); background: #fff; }

/* Barre d'achat collante (mobile) : matière translucide */
.vt-sticky-atc {
	background: rgba(246, 241, 231, 0.9) !important;
	-webkit-backdrop-filter: saturate(160%) blur(18px);
	backdrop-filter: saturate(160%) blur(18px);
	border-top: 1px solid rgba(20, 49, 46, 0.08) !important;
	box-shadow: 0 -8px 30px rgba(20, 49, 46, 0.08) !important;
}

.vt-sticky-atc__name { color: var(--vt-ink); font-weight: 700; font-size: 14px; }
.vt-sticky-atc__price { color: var(--vt-ink); font-size: 15px; }

.vt-sticky-atc__button {
	border-radius: var(--vt-btn-radius) !important;
	background: var(--vt-cta) !important;
	color: #fff !important;
	min-height: 46px;
	transition: transform var(--vt-base) var(--vt-ease);
}

/* ---------- Panier et commande : une seule action terracotta ---------- */
.woocommerce table.shop_table { border: 0; border-radius: 0; border-collapse: collapse; }
.woocommerce table.shop_table th { color: var(--vt-muted); font-size: 13px; font-weight: 600; text-transform: none; letter-spacing: 0.01em; }
.woocommerce table.shop_table td { border-top: 1px solid var(--vt-line) !important; }

.woocommerce table.shop_table img { border-radius: var(--vt-radius-sm); background: var(--vt-sand-deep); mix-blend-mode: multiply; }

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout-review-order {
	background: #fff;
	border: 1px solid var(--vt-line);
	border-radius: var(--vt-radius-lg);
	padding: 24px;
}

.vt-shipbar { background: #fff !important; border: 1px solid var(--vt-line) !important; border-radius: var(--vt-radius) !important; color: var(--vt-ink) !important; }
.vt-shipbar__track { background: var(--vt-sand-deep) !important; border-radius: 4px; }
.vt-shipbar__fill { background: var(--vt-gold) !important; border-radius: 4px; transition: width 600ms var(--vt-ease); }

.vt-upsell { border: 1px solid var(--vt-line) !important; border-radius: var(--vt-radius) !important; background: #fff !important; box-shadow: none !important; }

.vt-upsell__add {
	border-radius: 10px !important;
	background: transparent !important;
	color: var(--vt-ink) !important;
	border: 1.5px solid var(--vt-ink) !important;
	box-shadow: none !important;
}

.woocommerce-cart table.cart td.actions .button,
.woocommerce-cart table.cart td.actions .coupon .button,
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart button[name="apply_coupon"] {
	background: transparent !important;
	color: var(--vt-ink) !important;
	border: 1.5px solid var(--vt-line) !important;
	box-shadow: none !important;
	min-height: 44px;
	font-size: 15px;
	padding: 8px 16px;
	opacity: 1 !important;
}

.woocommerce-cart button[name="update_cart"]:disabled { color: var(--vt-faint) !important; }

.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 56px; font-size: 17px !important; }

.woocommerce-cart table.cart a.remove { color: var(--vt-faint) !important; font-size: 22px; font-weight: 300; background: transparent !important; }
.woocommerce-cart table.cart a.remove:hover { color: var(--vt-ink) !important; }
.woocommerce-cart table.cart .product-name a { color: var(--vt-ink); font-weight: 700; text-decoration: none; }

.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: #fff !important;
	color: var(--vt-ink) !important;
	border: 1px solid var(--vt-line) !important;
	border-radius: var(--vt-radius) !important;
	box-shadow: none;
}

.woocommerce-message::before { color: var(--vt-ok) !important; }
.woocommerce-info::before { color: var(--vt-gold-dark) !important; }

/* ---------- Articles de blog : lecture confortable ---------- */
.vt-entry__title { font-size: clamp(40px, 6vw, 64px); text-wrap: balance; }
.vt-entry__meta { color: var(--vt-muted); font-size: 14px; }

.vt-entry__content { font-size: 18px; line-height: 1.7; color: var(--vt-ink); }
.vt-entry__content h2 { font-size: clamp(30px, 3.8vw, 40px); margin-top: 1.6em; }
.vt-entry__content h3 { font-size: 26px; margin-top: 1.4em; }
.vt-entry__content a { color: var(--vt-cta); text-decoration-thickness: 1px; }
.vt-entry__thumb img, .vt-entry__content img { border-radius: var(--vt-radius-lg); }

.vt-post-card { border: 1px solid var(--vt-line); border-radius: var(--vt-radius-lg); background: #fff; box-shadow: none; overflow: hidden; transition: box-shadow var(--vt-base) var(--vt-ease), transform var(--vt-base) var(--vt-ease); }
.vt-post-card:hover { box-shadow: var(--vt-shadow-2); transform: translateY(-2px); }
.vt-post-card__title { font-family: var(--vt-display); font-size: 24px; font-weight: 400; }
.vt-post-card__title a { color: var(--vt-ink); text-decoration: none; }
.vt-post-card__excerpt { color: var(--vt-ink-soft); font-size: 15px; }

/* Pont article vers produit : carte claire, prix en terracotta */
.vt-article-products {
	background: var(--vt-sand-deep) !important;
	color: var(--vt-ink) !important;
	border: 0 !important;
	border-radius: var(--vt-radius-lg) !important;
	box-shadow: none !important;
	padding: clamp(20px, 4vw, 32px) !important;
}

.vt-article-products__title { color: var(--vt-ink) !important; font-size: clamp(28px, 3.4vw, 34px) !important; margin: 0 0 16px !important; }
.vt-article-products__sub { color: var(--vt-ink-soft) !important; }

.vt-ap-card { background: #fff !important; border: 0 !important; border-radius: var(--vt-radius) !important; box-shadow: var(--vt-shadow-1) !important; }

.vt-ap-card__thumb,
.vt-ap-card__thumb img { background: var(--vt-sand-deep) !important; border-radius: var(--vt-radius-sm) !important; mix-blend-mode: multiply; }

.vt-ap-card__name, .vt-ap-card__name a { color: var(--vt-ink) !important; font-weight: 700 !important; }
.vt-ap-card__price { color: var(--vt-ink) !important; font-weight: 500 !important; }
.vt-ap-card__price ins { color: var(--vt-cta) !important; text-decoration: none; }
.vt-ap-card__price del { color: var(--vt-faint) !important; }

.vt-ap-card__add { min-height: 42px !important; font-size: 15px !important; padding: 8px 16px !important; }

/* ---------- Tableaux de contenu : défilables sur mobile ---------- */
.wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.5em 0; }

.vt-main table:not(.shop_table):not(.variations):not(.vt-specs__table) {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
	font-size: 15px;
}

.vt-main table:not(.shop_table):not(.variations) th,
.vt-main table:not(.shop_table):not(.variations) td {
	border: 0;
	border-bottom: 1px solid var(--vt-line);
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
	min-width: 110px;
}

/* ---------- Pied de page : pin profond (identité d'origine) ---------- */
.vt-footer { margin-top: clamp(64px, 9vw, 120px); }
.vt-footer ul { list-style: none; padding: 0; margin: 0; }
.vt-footer ul li { margin: 0 0 8px; }
.vt-footer h2 { margin: 0 0 12px; font-family: var(--vt-font) !important; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.vt-footer .vt-payments__list { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; }

/* ---------- Bandeau cookies : petite carte, choix de même poids ---------- */
#cookie-law-info-bar {
	left: 12px !important;
	right: 12px !important;
	bottom: 12px !important;
	width: auto !important;
	max-width: 540px;
	margin: 0 !important;
	padding: 16px 18px !important;
	border-radius: var(--vt-radius) !important;
	background: rgba(255, 255, 255, 0.97) !important;
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	box-shadow: var(--vt-shadow-2) !important;
	color: var(--vt-ink) !important;
	font-family: var(--vt-font) !important;
	font-size: 13.5px !important;
	line-height: 1.5 !important;
	text-align: left !important;
}

#cookie-law-info-bar span { display: block; }
#cookie-law-info-bar .cli-bar-container { flex-direction: column !important; align-items: flex-start !important; gap: 4px; }
#cookie-law-info-bar .cli-bar-message { width: 100% !important; }
#cookie-law-info-bar .cli-bar-btn_container { margin: 0 !important; display: flex !important; flex-wrap: wrap; gap: 8px; }

#cookie-law-info-bar .cli-plugin-button,
#cookie-law-info-bar .cli-plugin-button:visited,
#cookie-law-info-bar a.cookie_action_close_header,
#cookie-law-info-bar a.cookie_action_close_header_reject {
	display: inline-flex !important;
	align-items: center;
	min-height: 40px;
	margin: 10px 0 0 !important;
	padding: 8px 16px !important;
	border-radius: 10px !important;
	border: 1.5px solid var(--vt-ink) !important;
	background: transparent !important;
	color: var(--vt-ink) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: background-color var(--vt-base) var(--vt-ease), transform var(--vt-base) var(--vt-ease);
}

#cookie-law-info-bar .cli-plugin-button:hover { background: rgba(20, 49, 46, 0.06) !important; }
#cookie-law-info-bar .cli-plugin-button:active { transform: scale(0.97); }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	:root { --vt-edge: 18px; }

	.woocommerce ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px 12px; }

	.woocommerce ul.products li.product .button { width: 100%; }

	.vt-hero.vt-hero--v2 { padding-top: 28px; gap: 22px; }
	.vt-hero--v2 .vt-hero__title { font-size: clamp(44px, 12vw, 56px); }
	.vt-hero--v2 .vt-hero__sub { margin-bottom: 22px; }
	.vt-hero--v2 .vt-hero__actions { gap: 4px 20px; }
	.vt-hero--v2 .vt-hero__actions .vt-btn-primary { width: 100%; }
	.vt-hero--v2 .vt-hero__img { max-height: 42vh; }
	.vt-hero--v2 .vt-hero__trust { flex-direction: column; gap: 8px; }

	.vt-header__inner { min-height: 56px; gap: 8px; }
	.vt-header__icon, .vt-header__toggle, .vt-header__cart { width: 40px; height: 40px; }

	.vt-section-head { align-items: center; }
	.vt-section-head h2 { font-size: 32px; }

	.vt-bundle-banner { flex-direction: column; text-align: center; }

	.vt-entry__content { font-size: 17.5px; }

	/* Galerie produit : carrousel au doigt, photos entières, le prix remonte */
	.vt-gallery .woocommerce-product-gallery__wrapper {
		display: flex !important;
		gap: 10px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
		margin: 0 calc(var(--vt-edge) * -1);
		padding: 0 var(--vt-edge);
	}

	.vt-gallery .woocommerce-product-gallery__wrapper::-webkit-scrollbar { display: none; }

	.vt-gallery .woocommerce-product-gallery__image { flex: 0 0 86%; scroll-snap-align: center; grid-column: auto !important; }
	.vt-gallery .woocommerce-product-gallery__image:only-child { flex-basis: 100%; }

	.vt-gallery .woocommerce-product-gallery__image > a > img,
	.vt-gallery .woocommerce-product-gallery__image img.wp-post-image {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1 / 1;
		object-fit: contain !important;
	}

	.woocommerce div.product .product_title { font-size: 36px; margin-top: 18px; }
	.woocommerce div.product p.price { font-size: 22px; }

	/* Panier mobile */
	.woocommerce table.shop_table_responsive tr td::before,
	.woocommerce-page table.shop_table_responsive tr td::before { font-weight: 500; color: var(--vt-muted); font-size: 14px; }

	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td { border-top: 0 !important; padding: 6px 0 !important; font-size: 15px; }

	.woocommerce-cart table.cart tr.cart_item { display: block; padding: 16px 0; border-bottom: 1px solid var(--vt-line); }
	.woocommerce-cart table.cart td.product-thumbnail { display: block !important; text-align: left !important; }
	.woocommerce-cart table.cart td.product-thumbnail::before { display: none !important; }
	.woocommerce-cart table.cart td.product-thumbnail img { width: 88px !important; height: 88px; object-fit: contain; }
	.woocommerce-cart table.cart td.product-remove { text-align: right !important; padding: 0 !important; }
	.woocommerce-cart table.cart td.actions { padding-top: 16px !important; }
	.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1; min-width: 0; }
}

/* ---------- Accessibilité : mouvement et transparence réduits ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	.vt-hero--v2 .vt-hero__media:hover,
	.vt-collection:hover,
	.vt-post-card:hover,
	.woocommerce ul.products li.product a:hover img { transform: none; }
}

@media (prefers-reduced-transparency: reduce) {
	.vt-header, .vt-sticky-atc, #cookie-law-info-bar {
		background: var(--vt-sand) !important;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

@media (prefers-contrast: more) {
	.vt-header { background: var(--vt-sand) !important; border-bottom-color: var(--vt-ink); }
	.vt-collection, .vt-reassurance, .vt-bundle { border-color: var(--vt-ink) !important; }
}

/* Contraste : texte de la barre de livraison offerte en pin profond */
.vt-shipbar__text, .vt-shipbar__text * { color: var(--vt-ink) !important; }

.vt-footer__bottom { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; }
.vt-footer__bottom span:first-child { margin-right: auto; }

/* 2.2 : aide au choix de taille (housses) */
.vt-size-help{margin:0 0 1rem;border:1px solid rgba(20,49,46,.18);border-radius:12px;background:#fff;font-size:.95rem}
.vt-size-help summary{cursor:pointer;padding:.75rem 1rem;font-weight:600;color:#14312e;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:44px}
.vt-size-help summary::-webkit-details-marker{display:none}
.vt-size-help summary::after{content:"+";font-size:1.2rem;line-height:1;transition:transform .2s cubic-bezier(.22,1,.36,1)}
.vt-size-help[open] summary::after{transform:rotate(45deg)}
.vt-size-help p{margin:0;padding:0 1rem .6rem;color:#3d4a48}
.vt-size-help p:last-child{padding-bottom:.9rem}
@media (prefers-reduced-motion:reduce){.vt-size-help summary::after{transition:none}}

/* 2.2.1 (08/11/2026) : cartes produit alignées quelle que soit la longueur du nom.
   Carte en colonne, nom limité à 2 lignes avec hauteur réservée, prix juste dessous,
   bouton en bas : prix et boutons alignés sur toute la rangée. */
body.woocommerce-page ul.products li.product, body ul.products li.product { display: flex !important; flex-direction: column !important; }
body ul.products li.product a.woocommerce-LoopProduct-link { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; }
body ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	overflow: hidden !important;
	min-height: 2.6em !important;
	height: auto !important;
}
body ul.products li.product > .button, body ul.products li.product > .added_to_cart { margin-top: 10px !important; }
