/*
 * Destribois Boutique — feuille de style des pages boutique (plan B « Le Plan »).
 * Chargée seulement sur les pages WooCommerce et sur l'accueil de la boutique.
 * Polices : celles du site (Abhaya Libre, Roboto, Roboto Condensed), déjà chargées par le site.
 * Fond blanc, bleu foncé pour le texte et l'action, doré pour les filets et les cotes, angles vifs.
 * Les sélecteurs sont assez précis pour l'emporter sur le kit Elementor du site,
 * le thème et les styles de WooCommerce ; !important seulement là où WooCommerce impose
 * lui-même un style en ligne ou un !important.
 */

.dbx-boutique,
.dbx-page,
.dbx-accueil {
	--dbx-fond: #ffffff;
	--dbx-encre: #2e3544;
	--dbx-encre-survol: #3a4152;
	--dbx-second: #667085;
	--dbx-filet: #e3e6eb;
	--dbx-filet-fort: #c7ccd5;
	--dbx-or: #ae9367;
	--dbx-bronze: #7d6947;
	--dbx-or-doux: rgba(174, 147, 103, 0.16);
	--dbx-puits: #f6f7f9;
	--dbx-voile: #eef0f4;
	--dbx-vert: #2f7a57;
	--dbx-rouge: #b4503c;
	--dbx-hetre: #dcc29e;
	--dbx-verre: #e3edf4;
	--dbx-serif: "Abhaya Libre", Georgia, "Times New Roman", serif;
	--dbx-sans: Roboto, system-ui, -apple-system, "Segoe UI", sans-serif;
	--dbx-cond: "Roboto Condensed", Roboto, system-ui, sans-serif;
	--dbx-trait: linear-gradient(var(--dbx-or), var(--dbx-or));
}

body.dbx-boutique {
	background-color: var(--dbx-fond);
	color: var(--dbx-encre);
}

/* ------------------------------------------------------------------ Base des gabarits */

.dbx-page,
.dbx-accueil {
	display: block;
	font-family: var(--dbx-sans);
	font-size: 15px;
	line-height: 1.5;
	color: var(--dbx-encre);
	background: var(--dbx-fond);
	text-align: left;
}

.dbx-page *,
.dbx-page *::before,
.dbx-page *::after,
.dbx-accueil *,
.dbx-accueil *::before,
.dbx-accueil *::after {
	box-sizing: border-box;
}

/* La boutique occupe la largeur de l'écran, comme l'en-tête et le pied du site. */
.dbx-page .dbx-conteneur,
.dbx-accueil .dbx-accueil-int {
	max-width: 1920px;
	margin: 0 auto;
	padding: 28px clamp(20px, 3vw, 48px) 88px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.dbx-page .dbx-conteneur > .woocommerce-notices-wrapper:empty {
	display: none;
}

.dbx-page .dbx-fiche-haut {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
}

.dbx-page .dbx-ariane {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--dbx-second);
}

.dbx-page .dbx-ariane a {
	color: var(--dbx-second);
	text-decoration: none;
	line-height: inherit;
}

.dbx-page .dbx-ariane a:hover,
.dbx-page .dbx-ariane [aria-current] {
	color: var(--dbx-encre);
}

.dbx-page .dbx-panier,
.dbx-accueil .dbx-panier {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--dbx-encre);
	border-radius: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--dbx-encre);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}

.dbx-page .dbx-panier:hover,
.dbx-accueil .dbx-panier:hover {
	background: var(--dbx-voile);
	color: var(--dbx-encre);
}

.dbx-page .dbx-panier-nb:empty,
.dbx-accueil .dbx-panier-nb:empty {
	display: none;
}

.dbx-page a:focus-visible,
.dbx-page button:focus-visible,
.dbx-page [tabindex]:focus-visible,
.dbx-accueil a:focus-visible,
.dbx-accueil button:focus-visible {
	outline: 2px solid var(--dbx-bronze);
	outline-offset: 2px;
}

.dbx-page .dbx-ico,
.dbx-accueil .dbx-ico {
	flex: none;
	width: 18px;
	height: 18px;
}

/* Cote : libellé condensé entre deux filets dorés terminés par un tick. */
.dbx-page .dbx-cote,
.dbx-accueil .dbx-cote {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	font-family: var(--dbx-cond);
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dbx-bronze);
	white-space: nowrap;
}

.dbx-page .dbx-cote::before,
.dbx-page .dbx-cote::after,
.dbx-accueil .dbx-cote::before,
.dbx-accueil .dbx-cote::after {
	content: "";
	flex: 1;
	min-width: 14px;
	height: 9px;
	background: var(--dbx-trait) 0 50% / 100% 1px no-repeat, var(--dbx-trait) 0 0 / 1px 100% no-repeat;
}

.dbx-page .dbx-cote::after,
.dbx-accueil .dbx-cote::after {
	background: var(--dbx-trait) 0 50% / 100% 1px no-repeat, var(--dbx-trait) 100% 0 / 1px 100% no-repeat;
}

.dbx-page .dbx-cote-debut::before,
.dbx-accueil .dbx-cote-debut::before {
	flex: 0 0 14px;
}

/* Repères : un + doré aux angles haut-gauche et bas-droit d'un cadre. */
.dbx-accueil .dbx-planche,
.dbx-page .dbx-planche,
.dbx-page .dbx-fiche-corps {
	position: relative;
	border: 1px solid var(--dbx-filet);
	background: var(--dbx-fond);
}

.dbx-accueil .dbx-planche::before,
.dbx-accueil .dbx-planche::after,
.dbx-page .dbx-planche::before,
.dbx-page .dbx-planche::after,
.dbx-page .dbx-fiche-corps::before,
.dbx-page .dbx-fiche-corps::after {
	content: "";
	position: absolute;
	z-index: 2;
	width: 13px;
	height: 13px;
	pointer-events: none;
	background: var(--dbx-trait) 50% 0 / 1px 100% no-repeat, var(--dbx-trait) 0 50% / 100% 1px no-repeat;
}

.dbx-accueil .dbx-planche::before,
.dbx-page .dbx-planche::before,
.dbx-page .dbx-fiche-corps::before {
	left: -7px;
	top: -7px;
}

.dbx-accueil .dbx-planche::after,
.dbx-page .dbx-planche::after,
.dbx-page .dbx-fiche-corps::after {
	right: -7px;
	bottom: -7px;
}

/* ------------------------------------------------------------------ Accueil boutique */

.dbx-accueil .dbx-tete {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
}

.dbx-accueil .dbx-tete .dbx-tete-titre {
	margin: 0;
	padding: 0;
	font-family: var(--dbx-serif);
	font-weight: 500;
	font-size: clamp(30px, 3.6vw, 42px);
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dbx-encre);
}

.dbx-accueil .dbx-tete-outils {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.dbx-accueil .dbx-planche,
.dbx-page .dbx-planche {
	padding: 26px 22px 20px;
}

/* Planche : la disposition d'un plan, avec les photos. Tous les produits tiennent sur une ligne, groupés
   par catégorie ; chaque photo prend une hauteur proportionnelle à celle du produit (--dbx-k, posée par
   le gabarit), les pieds alignés, comme sur un plan à l'échelle. */
.dbx-accueil .dbx-planche,
.dbx-page .dbx-planche {
	container-type: inline-size;
}

.dbx-accueil .dbx-rang,
.dbx-page .dbx-rang {
	--dbx-hp: clamp(220px, 21vw, 400px);
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 26px 28px;
}

/* La hauteur des photos se règle sur la largeur de la planche, pas sur celle de l'écran : six cartes
   (0,56 × hauteur + 14 px chacune) et leurs intervalles (68 px) y tiennent toujours sur une ligne. */
@supports (width: 1cqw) {
	.dbx-accueil .dbx-rang,
	.dbx-page .dbx-rang {
		--dbx-hp: clamp(150px, calc(29.5cqw - 48px), 520px);
	}
}

.dbx-accueil .dbx-groupe,
.dbx-page .dbx-groupe {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	scroll-margin-top: 24px;
}

.dbx-accueil .dbx-groupe-int,
.dbx-page .dbx-groupe-int {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 10px;
}

.dbx-accueil .dbx-planche .dbx-carte,
.dbx-page .dbx-planche .dbx-carte {
	display: grid;
	grid-template-rows: 1fr auto auto;
	justify-items: center;
	gap: 8px;
	width: calc(var(--dbx-hp) * 0.56 + 14px);
	max-width: 100%;
	padding: 8px 6px 10px;
	border: 1px solid transparent;
	color: var(--dbx-encre);
	text-align: center;
	text-decoration: none;
	line-height: 1.3;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.dbx-accueil .dbx-planche .dbx-carte:hover,
.dbx-page .dbx-planche .dbx-carte:hover {
	border-color: var(--dbx-or);
	transform: translateY(-3px);
}

.dbx-accueil .dbx-puits,
.dbx-page .dbx-puits {
	align-self: end;
	display: block;
	width: 100%;
	height: calc(var(--dbx-hp) * var(--dbx-k, 1));
	background: var(--dbx-puits);
	overflow: hidden;
}

.dbx-accueil .dbx-puits img,
.dbx-page .dbx-puits img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	border-radius: 0;
	box-shadow: none;
}

.dbx-accueil .dbx-carte-nom,
.dbx-page .dbx-carte-nom {
	font-size: 14px;
	font-weight: 500;
}

.dbx-accueil .dbx-prix-court,
.dbx-page .dbx-prix-court {
	font-size: 13px;
	color: var(--dbx-second);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.dbx-accueil .dbx-prix-court .dbx-montant,
.dbx-page .dbx-prix-court .dbx-montant {
	color: inherit;
}

.dbx-accueil .dbx-section,
.dbx-page .dbx-section {
	display: flex;
	flex-direction: column;
	gap: 14px;
	scroll-margin-top: 24px;
}

.dbx-page .dbx-section-tete {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 20px;
}

.dbx-page .dbx-section .dbx-section-titre {
	margin: 0;
	padding: 0;
	flex-grow: 1;
	font-family: var(--dbx-serif);
	font-weight: 500;
	font-size: clamp(30px, 3.6vw, 42px);
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dbx-encre);
}

.dbx-page .dbx-section-compte,
.dbx-page .dbx-section-texte {
	font-size: 14px;
	color: var(--dbx-second);
}

/* Accessoires : une ligne par article, le bouton d'ajout au bout. */
.dbx-accueil .dbx-lignes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 1px;
	padding: 1px;
}

.dbx-accueil .dbx-ligne {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-areas: "vignette nom ajouter" "vignette prix ajouter" "vignette suite suite";
	align-items: center;
	gap: 3px 12px;
	padding: 12px 14px;
	background: var(--dbx-fond);
	box-shadow: 0 0 0 1px var(--dbx-filet);
}

.dbx-accueil .dbx-ligne-vignette {
	grid-area: vignette;
	display: block;
	width: 54px;
	height: 54px;
	background: var(--dbx-puits);
}

.dbx-accueil .dbx-ligne-vignette img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.dbx-accueil .dbx-ligne .dbx-ligne-nom {
	grid-area: nom;
	align-self: end;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--dbx-encre);
	text-decoration: none;
}

.dbx-accueil .dbx-ligne .dbx-ligne-nom:hover {
	text-decoration: underline;
	text-decoration-color: var(--dbx-or);
	text-underline-offset: 4px;
}

.dbx-accueil .dbx-ligne .dbx-prix-court {
	grid-area: prix;
	align-self: start;
}

.dbx-accueil .dbx-ligne .dbx-ajouter,
.dbx-accueil .dbx-ligne .dbx-ajouter:hover,
.dbx-accueil .dbx-ligne .dbx-ajouter:focus {
	grid-area: ajouter;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--dbx-encre);
	border-radius: 0;
	background: var(--dbx-fond);
	color: var(--dbx-encre);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.dbx-accueil .dbx-ligne .dbx-ajouter:hover {
	background: var(--dbx-voile);
}

.dbx-accueil .dbx-ligne .dbx-ajouter-choisir,
.dbx-accueil .dbx-ligne .dbx-ajouter-choisir:hover {
	width: auto;
	padding: 0 14px;
	font-size: 14px;
	font-weight: 500;
}

/* Le + devient une coche une fois l'article ajouté. */
.dbx-accueil .dbx-ajouter .dbx-plus {
	display: block;
	width: 16px;
	height: 16px;
	background: linear-gradient(currentColor, currentColor) 50% 50% / 100% 1.7px no-repeat, linear-gradient(currentColor, currentColor) 50% 50% / 1.7px 100% no-repeat;
}

.dbx-accueil .dbx-ligne .dbx-ajouter.added,
.dbx-accueil .dbx-ligne .dbx-ajouter.added:hover {
	border-color: var(--dbx-vert);
	background: var(--dbx-vert);
	color: #fff;
}

.dbx-accueil .dbx-ajouter.added .dbx-plus {
	width: 15px;
	height: 8px;
	margin-top: -4px;
	border-left: 1.9px solid currentColor;
	border-bottom: 1.9px solid currentColor;
	background: none;
	transform: rotate(-45deg);
}

.dbx-accueil .dbx-ligne .dbx-ajouter.loading {
	opacity: 0.5;
	pointer-events: none;
}

.dbx-accueil .dbx-ligne .added_to_cart {
	grid-area: suite;
	font-size: 13px;
	line-height: 1.4;
	color: var(--dbx-bronze);
	text-decoration: underline;
	text-decoration-color: var(--dbx-or);
	text-underline-offset: 3px;
}

@media (max-width: 1450px) {
	.dbx-accueil .dbx-planche .dbx-carte-nom,
	.dbx-page .dbx-planche .dbx-carte-nom {
		min-height: 2.6em;
	}
}

/* ------------------------------------------------------------------ Fiche produit */

.dbx-page .dbx-fiche {
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin: 0;
}

.dbx-page .dbx-fiche-corps {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
	align-items: start;
}

/* Cadre à onglets : plan, photo, fiche technique. */
.dbx-page .dbx-visu {
	position: sticky;
	top: 16px;
	display: flex;
	flex-direction: column;
	min-width: 0;
	border-right: 1px solid var(--dbx-filet);
}

.dbx-page .dbx-onglets {
	display: flex;
	border-bottom: 1px solid var(--dbx-filet);
}

.dbx-page .dbx-onglets[hidden] {
	display: none;
}

.dbx-page .dbx-onglets .dbx-onglet,
.dbx-page .dbx-onglets .dbx-onglet:hover,
.dbx-page .dbx-onglets .dbx-onglet:focus {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	margin: 0;
	padding: 0 8px;
	border: 0;
	border-left: 1px solid var(--dbx-filet);
	border-radius: 0;
	background: var(--dbx-fond);
	font-family: var(--dbx-sans);
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
	color: var(--dbx-second);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.dbx-page .dbx-onglets .dbx-onglet:first-child {
	border-left: 0;
}

.dbx-page .dbx-onglets .dbx-onglet:hover {
	color: var(--dbx-encre);
}

.dbx-page .dbx-onglets .dbx-onglet[aria-selected="true"],
.dbx-page .dbx-onglets .dbx-onglet[aria-selected="true"]:hover,
.dbx-page .dbx-onglets .dbx-onglet[aria-selected="true"]:focus {
	background: var(--dbx-encre);
	color: #fff;
}

.dbx-page .dbx-scene {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	overflow-anchor: none;
}

.dbx-page .dbx-scene::-webkit-scrollbar {
	display: none;
}

.dbx-page .dbx-face {
	position: relative;
	flex: 0 0 100%;
	min-width: 0;
	height: 590px;
	scroll-snap-align: center;
	display: grid;
	grid-template: 100% / 100%;
	place-items: center;
	padding: 20px;
}

.dbx-page .dbx-face[hidden] {
	display: none;
}

.dbx-page .dbx-face-fiche {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 16px;
	background: var(--dbx-puits);
}

.dbx-page .dbx-fiche-cadre {
	flex: 1;
	width: 100%;
	min-height: 0;
	border: 1px solid var(--dbx-filet);
	background: #fff;
}

.dbx-page .dbx-fiche-cadre[hidden] {
	display: none;
}

.dbx-page .dbx-face-fiche .dbx-fiche-ouvrir {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid var(--dbx-encre);
	background: var(--dbx-fond);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--dbx-encre);
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.dbx-page .dbx-face-fiche .dbx-fiche-ouvrir:hover {
	background: var(--dbx-voile);
}

.dbx-page .dbx-fiche-affichee .dbx-fiche-ouvrir {
	min-height: 38px;
	font-size: 13.5px;
}

/* Galerie de WooCommerce : gardée telle quelle (image de variation, zoom, visionneuse), remise à plat. */
.dbx-boutique .dbx-page div.product div.images,
body.dbx-boutique:not(#dbx) #dbx-contenu.dbx-page div.product div.images,
.dbx-page .dbx-visuel .woocommerce-product-gallery {
	float: none;
	width: 100%;
	margin: 0;
	position: relative;
}

/* La photo ne dépend pas du fondu que WooCommerce déclenche en JavaScript (style en ligne, donc !important). */
.dbx-page .dbx-visuel .woocommerce-product-gallery {
	opacity: 1 !important;
}

.dbx-page .dbx-visuel .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.dbx-boutique .dbx-page div.product div.images img,
.dbx-page .dbx-visuel .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	object-fit: contain;
	border-radius: 0;
	box-shadow: none;
	mix-blend-mode: multiply;
}

.dbx-boutique .dbx-page div.product div.images img.zoomImg {
	max-height: none;
	object-fit: fill;
	mix-blend-mode: normal;
}

.dbx-boutique .dbx-page div.product div.images .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.dbx-boutique .dbx-page div.product div.images .flex-control-thumbs li {
	float: none;
	width: 56px;
	margin: 0;
}

.dbx-boutique .dbx-page div.product div.images .flex-control-thumbs img {
	max-height: 56px;
	cursor: pointer;
}

/*
 * Photo retournée : le client a choisi l'autre sens d'ouverture que celui de la photo publiée
 * (voir destribois_boutique_miroirs). Chaque image tourne sur elle-même : le zoom au survol et la
 * visionneuse restent justes sous le pointeur.
 */
.dbx-page .dbx-fiche.dbx-miroir .dbx-face-photo .woocommerce-product-gallery__image img,
.dbx-page .dbx-fiche.dbx-miroir .dbx-face-photo .flex-control-thumbs img,
body.dbx-photo-miroir .pswp .pswp__img,
body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-photo.dbx-miroir img,
body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-photo.dbx-miroir img {
	transform: scaleX(-1);
}

/* Produit sans photo ni plan : puits neutre, jamais d'image de remplacement. */
.dbx-page .dbx-visuel.dbx-visuel-vide {
	background: var(--dbx-puits);
}

.dbx-page .dbx-visuel .woocommerce-product-gallery__image--placeholder img[src*="woocommerce-placeholder"] {
	visibility: hidden;
}

.dbx-page .dbx-achat {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
	padding: 26px 28px;
}

.dbx-page .dbx-entete {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* L'en-tête est le titre de la page (h1) : surtitre et titre gardent chacun leur style. */
.dbx-page h1.dbx-entete {
	margin: 0;
	padding: 0;
	font: inherit;
	letter-spacing: 0;
	text-align: inherit;
	text-transform: none;
}

.dbx-page h1.dbx-entete::before,
.dbx-page h1.dbx-entete::after {
	content: none;
}

.dbx-page .dbx-surtitre {
	font-family: var(--dbx-cond);
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--dbx-bronze);
}

.dbx-page .dbx-entete .dbx-titre {
	margin: 0;
	padding: 0;
	font-family: var(--dbx-serif);
	font-weight: 500;
	font-size: clamp(30px, 3.4vw, 40px);
	line-height: 1.03;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dbx-encre);
}

.dbx-page .dbx-achat .dbx-resume {
	color: var(--dbx-second);
	max-width: 60ch;
}

.dbx-page .dbx-achat .dbx-resume p {
	margin: 0 0 8px;
}

.dbx-page .dbx-achat .dbx-resume p:last-child {
	margin-bottom: 0;
}

/* Formulaire d'ajout au panier de WooCommerce. */
.dbx-boutique .dbx-page div.product form.cart {
	margin: 0;
	padding: 0;
}

.dbx-boutique .dbx-page div.product form.cart::before,
.dbx-boutique .dbx-page div.product form.cart::after {
	content: none;
}

/* Options : une ligne par option, le libellé à gauche, les valeurs en segments. */
.dbx-boutique .dbx-page div.product form.cart table.variations {
	display: block;
	width: 100%;
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	border-top: 1px solid var(--dbx-filet);
	border-radius: 0;
	border-collapse: collapse;
	font-size: 15px;
}

.dbx-boutique .dbx-page div.product form.cart table.variations tbody {
	display: flex;
	flex-direction: column;
}

.dbx-boutique .dbx-page div.product form.cart table.variations tr {
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	padding: 9px 0;
	border-bottom: 1px solid var(--dbx-filet);
	transition: background-color 0.3s ease;
}

.dbx-boutique .dbx-page div.product form.cart table.variations tr > th,
.dbx-boutique .dbx-page div.product form.cart table.variations tr > td {
	display: block;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
	line-height: 1.3;
	vertical-align: top;
}

.dbx-boutique .dbx-page div.product form.cart table.variations label {
	display: block;
	margin: 0;
	font-family: var(--dbx-cond);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dbx-second);
}

/* Option restant à choisir : un losange et deux mots sous son libellé. */
.dbx-boutique .dbx-page div.product form.cart table.variations tr.dbx-non-choisi label::after {
	content: "\25C7\00A0À choisir";
	display: block;
	margin-top: 5px;
	color: var(--dbx-bronze);
}

.dbx-boutique .dbx-page div.product form.cart table.variations tr.dbx-a-choisir {
	background: var(--dbx-puits);
}

.dbx-boutique .dbx-page div.product form.cart table.variations select {
	width: 100%;
	max-width: 360px;
	min-width: 0;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--dbx-filet-fort);
	border-radius: 0;
	background-color: #fff;
	font-family: var(--dbx-sans);
	font-size: 15px;
	color: var(--dbx-encre);
}

/* Liste déroulante remplacée par des segments : elle reste dans le formulaire, hors de l'écran. */
.dbx-boutique .dbx-page div.product form.cart table.variations select.dbx-select-remplace {
	display: none;
}

.dbx-page .dbx-pastilles {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.dbx-page .dbx-pastilles .dbx-pastille,
.dbx-page .dbx-pastilles .dbx-pastille:hover,
.dbx-page .dbx-pastilles .dbx-pastille:focus {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	margin: 0;
	padding: 6px 12px;
	border: 1px solid var(--dbx-filet-fort);
	border-radius: 0;
	background: var(--dbx-fond);
	font-family: var(--dbx-sans);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-align: left;
	white-space: normal;
	color: var(--dbx-encre);
	cursor: pointer;
	transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease;
}

.dbx-page .dbx-pastilles .dbx-pastille:hover {
	border-color: var(--dbx-encre);
}

.dbx-page .dbx-pastilles .dbx-pastille[aria-pressed="true"],
.dbx-page .dbx-pastilles .dbx-pastille[aria-pressed="true"]:hover,
.dbx-page .dbx-pastilles .dbx-pastille[aria-pressed="true"]:focus {
	border-color: var(--dbx-encre);
	background: var(--dbx-encre);
	color: #fff;
}

.dbx-page .dbx-pastilles .dbx-pastille:disabled,
.dbx-page .dbx-pastilles .dbx-pastille:disabled:hover {
	border-style: dashed;
	border-color: var(--dbx-filet-fort);
	color: var(--dbx-second);
	opacity: 0.55;
	cursor: not-allowed;
}

.dbx-boutique .dbx-page div.product form.cart .reset_variations {
	display: inline-block;
	margin: 6px 0 0;
	font-size: 13px;
	line-height: 1.4;
	color: var(--dbx-second);
	text-decoration: underline;
}

/* Cartouche : référence, livraison, total, quantité et ajout au panier dans un même bloc bordé. */
.dbx-boutique .dbx-page div.product form.cart .single_variation_wrap,
.dbx-page .dbx-formulaire-simple {
	margin: 0;
	border: 1px solid var(--dbx-encre);
}

.dbx-page .dbx-cartouche-tete {
	width: 100%;
}

.dbx-page .dbx-cartouche-tete .dbx-faits {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--dbx-encre);
}

.dbx-page .dbx-faits > div {
	min-width: 0;
	margin: 0;
	padding: 9px 12px;
	border-left: 1px solid var(--dbx-encre);
}

.dbx-page .dbx-faits > div:first-child {
	border-left: 0;
}

.dbx-page .dbx-faits dt {
	margin: 0 0 6px;
	font-family: var(--dbx-cond);
	font-size: 10.5px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dbx-bronze);
}

.dbx-page .dbx-faits dd {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.dbx-page .dbx-faits dd small {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: var(--dbx-second);
}

.dbx-page .dbx-total {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	padding: 12px;
	border-bottom: 1px solid var(--dbx-encre);
}

.dbx-page .dbx-total-libelle {
	margin-right: auto;
	font-family: var(--dbx-cond);
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dbx-second);
}

.dbx-page .dbx-total .dbx-prix {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.2;
	color: var(--dbx-encre);
}

.dbx-page .dbx-prix .dbx-prix-des,
.dbx-page .dbx-prix .dbx-prix-second {
	color: var(--dbx-second);
	font-variant-numeric: tabular-nums;
}

.dbx-page .dbx-prix .dbx-prix-principal {
	font-family: var(--dbx-serif);
	font-size: 32px;
	font-weight: 500;
	line-height: 1;
	font-variant-numeric: tabular-nums lining-nums;
}

/* La mention du prix principal (TTC ou HT) est portée par le libellé du total. */
.dbx-page .dbx-total .dbx-prix-unite {
	display: none;
}

.dbx-boutique .dbx-page div.product form.cart .woocommerce-variation-price {
	display: none;
}

.dbx-boutique .dbx-page div.product form.cart .woocommerce-variation-description,
.dbx-boutique .dbx-page div.product form.cart .woocommerce-variation-availability {
	margin: 0;
	padding: 8px 12px;
	font-size: 14px;
	color: var(--dbx-second);
}

.dbx-boutique .dbx-page div.product form.cart .woocommerce-variation-description:empty,
.dbx-boutique .dbx-page div.product form.cart .woocommerce-variation-availability:empty {
	display: none;
}

.dbx-boutique .dbx-page div.product form.cart:not(.variations_form),
.dbx-boutique .dbx-page div.product form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0;
}

.dbx-boutique .dbx-page div.product form.cart div.quantity {
	display: flex;
	align-items: center;
	float: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-right: 1px solid var(--dbx-encre);
	border-radius: 0;
	background: transparent;
}

.dbx-boutique .dbx-page div.product form.cart div.quantity.hidden {
	display: none;
}

.dbx-boutique .dbx-page div.product form.cart div.quantity .qty {
	width: 34px;
	height: 52px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-family: var(--dbx-sans);
	font-size: 15px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	text-align: center;
	color: var(--dbx-encre);
	-moz-appearance: textfield;
	appearance: textfield;
}

.dbx-page .dbx-achat .qty::-webkit-outer-spin-button,
.dbx-page .dbx-achat .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.dbx-page .dbx-achat .quantity .dbx-qte-bouton,
.dbx-page .dbx-achat .quantity .dbx-qte-bouton:hover,
.dbx-page .dbx-achat .quantity .dbx-qte-bouton:focus {
	flex: none;
	width: 42px;
	height: 52px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-family: var(--dbx-sans);
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	color: var(--dbx-encre);
	cursor: pointer;
}

.dbx-page .dbx-achat .quantity .dbx-qte-bouton:hover {
	background: var(--dbx-voile);
}

.dbx-boutique .dbx-page div.product form.cart .single_add_to_cart_button,
.dbx-boutique .dbx-page div.product form.cart .single_add_to_cart_button:focus {
	flex: 1 1 auto;
	float: none;
	min-height: 52px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 0;
	background-color: var(--dbx-encre);
	font-family: var(--dbx-sans);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	white-space: normal;
	color: #fff;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.dbx-boutique .dbx-page div.product form.cart .single_add_to_cart_button:hover {
	background-color: var(--dbx-encre-survol);
	color: #fff;
}

/* Bouton en attente d'un choix : il nomme l'option manquante. */
.dbx-boutique .dbx-page div.product form.cart .single_add_to_cart_button.disabled,
.dbx-boutique .dbx-page div.product form.cart .single_add_to_cart_button.disabled:hover,
.dbx-boutique .dbx-page div.product form.cart .single_add_to_cart_button:disabled {
	background-color: var(--dbx-fond);
	color: var(--dbx-bronze);
	opacity: 1;
	cursor: pointer;
}

.dbx-boutique .dbx-page div.product form.cart .single_add_to_cart_button.dbx-attente::before {
	content: "\25C7\00A0";
}

.dbx-boutique .dbx-page div.product .dbx-achat .stock {
	margin: 0;
	padding: 8px 12px;
	font-size: 14px;
	color: var(--dbx-second);
}

/* Paiement rapide : le bloc de Stripe reste à sa place, sous le formulaire, et rejoint le cartouche. */
.dbx-page .dbx-formulaire > #wc-stripe-express-checkout-element {
	margin: 0;
}

.dbx-page .dbx-formulaire.dbx-express-visible > #wc-stripe-express-checkout-element {
	padding: 8px;
	border: 1px solid var(--dbx-encre);
	border-top: 0;
}

.dbx-page .dbx-formulaire-simple.dbx-express-visible > #wc-stripe-express-checkout-element {
	border: 0;
	border-top: 1px solid var(--dbx-encre);
}

.dbx-page .dbx-achat .dbx-delai {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--dbx-second);
}

.dbx-page .dbx-bloc {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.dbx-page .dbx-bloc .dbx-liste,
.dbx-page .dbx-bloc .dbx-recap {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dbx-page .dbx-bloc .dbx-liste li,
.dbx-page .dbx-bloc .dbx-recap-ligne {
	margin: 0;
	padding: 8px 0;
	border-bottom: 1px solid var(--dbx-filet);
	font-size: 14px;
	line-height: 1.4;
}

.dbx-page .dbx-bloc .dbx-recap-ligne {
	display: flex;
	gap: 12px;
}

.dbx-page .dbx-bloc .dbx-recap-ligne dt {
	flex: 0 0 45%;
	margin: 0;
	font-weight: 400;
	color: var(--dbx-second);
}

.dbx-page .dbx-bloc .dbx-recap-ligne dd {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	font-weight: 500;
}

.dbx-page .dbx-description {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.dbx-page .dbx-description-texte {
	max-width: 70ch;
	color: var(--dbx-encre);
	line-height: 1.65;
}

.dbx-page .dbx-description-texte p {
	margin: 0 0 12px;
}

.dbx-page .dbx-description-texte a {
	color: var(--dbx-encre);
	text-decoration: underline;
	text-decoration-color: var(--dbx-or);
}

.dbx-page .dbx-description-texte h2,
.dbx-page .dbx-description-texte h3,
.dbx-page .dbx-description-texte h4 {
	margin: 22px 0 8px;
	padding: 0;
	font-family: var(--dbx-serif);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dbx-or);
}

.dbx-page .dbx-description-texte h2 {
	font-size: 24px;
}

.dbx-page .dbx-description-texte h3 {
	font-size: 20px;
}

.dbx-page .dbx-description-texte h4 {
	font-size: 17px;
}

.dbx-page .dbx-description-texte > :first-child {
	margin-top: 0;
}

.dbx-page .dbx-description-texte ul,
.dbx-page .dbx-description-texte ol {
	margin: 0 0 12px;
	padding: 0 0 0 22px;
	list-style-position: outside;
}

.dbx-page .dbx-description-texte ul {
	list-style-type: disc;
}

.dbx-page .dbx-description-texte ol {
	list-style-type: decimal;
}

.dbx-page .dbx-description-texte li {
	margin: 0 0 4px;
	padding: 0;
}

.dbx-page .dbx-description-texte li > ul,
.dbx-page .dbx-description-texte li > ol {
	margin: 4px 0 0;
}

.dbx-page .dbx-description-texte strong {
	font-weight: 700;
	color: var(--dbx-encre);
}

.dbx-page .dbx-description-texte blockquote {
	margin: 0 0 12px;
	padding: 2px 0 2px 16px;
	border: 0;
	border-left: 2px solid var(--dbx-or);
	background: none;
	font-style: italic;
	color: var(--dbx-encre);
}

.dbx-page .dbx-description-texte blockquote p:last-child {
	margin-bottom: 0;
}

.dbx-page .dbx-pagination {
	font-size: 14px;
}

.dbx-page .dbx-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
}

.dbx-page .dbx-pagination .page-numbers {
	color: var(--dbx-encre);
	text-decoration: none;
}

/* Barre d'achat des petits écrans. */
.dbx-page .dbx-barre {
	display: none;
}

/* ------------------------------------------------------------------ Notices de WooCommerce */

body.dbx-boutique:not(#dbx) .woocommerce-message,
body.dbx-boutique:not(#dbx) .woocommerce-info,
body.dbx-boutique:not(#dbx) .woocommerce-error {
	margin: 0 0 20px;
	padding: 14px 16px 14px 46px;
	border: 1px solid var(--dbx-encre);
	border-radius: 0;
	background-color: var(--dbx-fond);
	font-family: var(--dbx-sans);
	font-size: 15px;
	line-height: 1.5;
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce-message::before,
body.dbx-boutique:not(#dbx) .woocommerce-info::before {
	top: 14px;
	left: 16px;
	color: var(--dbx-vert);
}

body.dbx-boutique:not(#dbx) .woocommerce-info::before {
	color: var(--dbx-bronze);
}

body.dbx-boutique:not(#dbx) .woocommerce-error {
	border-color: var(--dbx-rouge);
}

body.dbx-boutique:not(#dbx) .woocommerce-error::before {
	top: 14px;
	left: 16px;
	color: var(--dbx-rouge);
}

body.dbx-boutique:not(#dbx) .woocommerce-message a,
body.dbx-boutique:not(#dbx) .woocommerce-info a,
body.dbx-boutique:not(#dbx) .woocommerce-error a {
	color: var(--dbx-encre);
	line-height: inherit;
}

/* Après un ajout au panier : ce qui est ajouté, puis « Commander » et « Voir le panier ». */
body.dbx-boutique:not(#dbx) .woocommerce-message .dbx-ajoute {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 20px;
}

body.dbx-boutique:not(#dbx) .woocommerce-message .dbx-ajoute-texte {
	font-weight: 500;
}

body.dbx-boutique:not(#dbx) .woocommerce-message .dbx-ajoute-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body.dbx-boutique:not(#dbx) .woocommerce-message .dbx-ajoute-actions a.button {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--dbx-encre);
	border-radius: 0;
	background-color: var(--dbx-fond);
	font-family: var(--dbx-sans);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce-message .dbx-ajoute-actions a.dbx-ajoute-commander {
	background-color: var(--dbx-encre);
	color: #fff;
}

body.dbx-boutique:not(#dbx) .woocommerce-message .dbx-ajoute-actions a.dbx-ajoute-commander:hover {
	background-color: var(--dbx-encre-survol);
}

body.dbx-boutique:not(#dbx) .woocommerce-message .dbx-ajoute-actions a.dbx-ajoute-panier:hover {
	background-color: var(--dbx-voile);
}

/* ------------------------------------------------------------------ Panier, commande, compte */

body.dbx-boutique:not(#dbx) .page-header .entry-title,
body.dbx-page-panier:not(#dbx) .elementor-widget-heading h1.elementor-heading-title,
body.dbx-page-commande:not(#dbx) .elementor-widget-heading h1.elementor-heading-title,
body.dbx-page-compte:not(#dbx) .elementor-widget-heading h1.elementor-heading-title {
	font-family: var(--dbx-serif);
	font-weight: 500;
	font-size: clamp(30px, 3.6vw, 42px);
	line-height: 1.05;
	letter-spacing: 0;
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce {
	font-family: var(--dbx-sans);
	font-size: 15px;
	line-height: 1.5;
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce h2,
body.dbx-boutique:not(#dbx) .woocommerce h3 {
	margin: 0 0 14px;
	font-family: var(--dbx-cond);
	font-weight: 500;
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dbx-bronze);
}

body.dbx-boutique:not(#dbx) .woocommerce a:not(.button) {
	color: var(--dbx-encre);
	line-height: inherit;
	text-decoration: underline;
	text-decoration-color: var(--dbx-or);
	text-underline-offset: 3px;
}

body.dbx-boutique:not(#dbx) .woocommerce a.button,
body.dbx-boutique:not(#dbx) .woocommerce button.button,
body.dbx-boutique:not(#dbx) .woocommerce input.button,
body.dbx-boutique:not(#dbx) .woocommerce #respond input#submit,
body.dbx-boutique:not(#dbx) .woocommerce .wc-proceed-to-checkout a.checkout-button,
body.dbx-boutique:not(#dbx) .woocommerce #payment #place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid var(--dbx-encre);
	border-radius: 0;
	background-color: var(--dbx-fond);
	font-family: var(--dbx-sans);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	color: var(--dbx-encre);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body.dbx-boutique:not(#dbx) .woocommerce a.button:hover,
body.dbx-boutique:not(#dbx) .woocommerce button.button:hover,
body.dbx-boutique:not(#dbx) .woocommerce input.button:hover,
body.dbx-boutique:not(#dbx) .woocommerce a.button:focus,
body.dbx-boutique:not(#dbx) .woocommerce button.button:focus {
	background-color: var(--dbx-voile);
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce a.button.alt,
body.dbx-boutique:not(#dbx) .woocommerce button.button.alt,
body.dbx-boutique:not(#dbx) .woocommerce input.button.alt,
body.dbx-boutique:not(#dbx) .woocommerce .wc-proceed-to-checkout a.checkout-button,
body.dbx-boutique:not(#dbx) .woocommerce #payment #place_order {
	min-height: 52px;
	padding: 0 24px;
	background-color: var(--dbx-encre);
	font-size: 16px;
	color: #fff;
}

body.dbx-boutique:not(#dbx) .woocommerce a.button.alt:hover,
body.dbx-boutique:not(#dbx) .woocommerce button.button.alt:hover,
body.dbx-boutique:not(#dbx) .woocommerce input.button.alt:hover,
body.dbx-boutique:not(#dbx) .woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
body.dbx-boutique:not(#dbx) .woocommerce #payment #place_order:hover {
	border-color: var(--dbx-encre-survol);
	background-color: var(--dbx-encre-survol);
	color: #fff;
}

body.dbx-boutique:not(#dbx) .woocommerce button.button:disabled,
body.dbx-boutique:not(#dbx) .woocommerce button.button:disabled[disabled],
body.dbx-boutique:not(#dbx) .woocommerce button.button.disabled {
	padding: 0 18px;
	opacity: 0.45;
	cursor: not-allowed;
}

body.dbx-boutique:not(#dbx) .woocommerce table.shop_table {
	margin: 0;
	border: 0;
	border-top: 1px solid var(--dbx-encre);
	border-radius: 0;
	border-collapse: collapse;
	font-size: 15px;
}

body.dbx-boutique:not(#dbx) .woocommerce table.shop_table tr > th,
body.dbx-boutique:not(#dbx) .woocommerce table.shop_table tr > td {
	padding: 12px 10px;
	border: 0;
	border-bottom: 1px solid var(--dbx-filet);
	background: none;
	line-height: 1.4;
	vertical-align: middle;
}

body.dbx-boutique:not(#dbx) .woocommerce table.shop_table thead tr > th {
	border-bottom-color: var(--dbx-or);
	font-family: var(--dbx-cond);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce table.shop_table td.product-name a {
	font-weight: 500;
	text-decoration: none;
}

body.dbx-boutique:not(#dbx) .woocommerce table.shop_table td.product-name dl.variation,
body.dbx-boutique:not(#dbx) .woocommerce table.shop_table td.product-name .variation {
	margin: 4px 0 0;
	font-size: 13.5px;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce table.shop_table .product-subtotal,
body.dbx-boutique:not(#dbx) .woocommerce table.shop_table .product-price,
body.dbx-boutique:not(#dbx) .woocommerce table.shop_table .product-total {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

/* Panier : les lignes à gauche, le cartouche des totaux à droite. */
body.dbx-page-panier:not(#dbx) div.woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	align-items: start;
	gap: 24px 36px;
}

body.dbx-page-panier:not(#dbx) div.woocommerce > * {
	grid-column: 1 / -1;
	min-width: 0;
}

body.dbx-page-panier:not(#dbx) div.woocommerce > form.woocommerce-cart-form {
	grid-column: 1;
}

body.dbx-page-panier:not(#dbx) div.woocommerce > .cart-collaterals {
	grid-column: 2;
	float: none;
	width: auto;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals::before,
body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals::after {
	content: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	padding: 0;
	border: 1px solid var(--dbx-encre);
	border-radius: 0;
	background: var(--dbx-fond);
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals > h2 {
	margin: 0;
	padding: 12px 12px 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table {
	width: 100%;
	border-top: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table tr > th {
	width: 42%;
	padding: 10px 12px;
	font-weight: 400;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table tr > td {
	padding: 10px 12px;
	text-align: right;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart_totals tr.order-total > th,
body.dbx-boutique:not(#dbx) .woocommerce .cart_totals tr.order-total > td,
body.dbx-boutique:not(#dbx) .woocommerce-checkout-review-order-table tr.order-total > th,
body.dbx-boutique:not(#dbx) .woocommerce-checkout-review-order-table tr.order-total > td {
	border-bottom: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart_totals tr.order-total > td strong,
body.dbx-boutique:not(#dbx) .woocommerce-checkout-review-order-table tr.order-total > td strong {
	font-family: var(--dbx-serif);
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout-review-order-table tr.order-total > td strong {
	font-size: 26px;
}

/* Phrase d'attente de WooCommerce sur la livraison : le montant suffit. */
body.dbx-boutique:not(#dbx) .woocommerce .cart_totals .woocommerce-shipping-destination {
	display: none;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #ship-to-different-address label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dbx-encre);
	cursor: pointer;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .wc-proceed-to-checkout {
	padding: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	width: 100%;
	margin: 0;
}

/* Commande : coordonnées à gauche, récapitulatif et paiement à droite. */
/* Deux colonnes flottantes : ce que d'autres extensions posent en tête du formulaire (paiement rapide
   de Stripe) reste en pleine largeur au-dessus, sans décaler le récapitulatif. */
body.dbx-page-commande:not(#dbx) form.checkout.woocommerce-checkout {
	display: block;
}

body.dbx-page-commande:not(#dbx) form.checkout.woocommerce-checkout::after {
	content: "";
	display: table;
	clear: both;
}

body.dbx-page-commande:not(#dbx) form.checkout.woocommerce-checkout > * {
	clear: both;
	min-width: 0;
}

body.dbx-page-commande:not(#dbx) form.checkout.woocommerce-checkout > #customer_details {
	float: left;
	width: calc(100% - 426px);
}

body.dbx-page-commande:not(#dbx) form.checkout.woocommerce-checkout > #order_review_heading,
body.dbx-page-commande:not(#dbx) form.checkout.woocommerce-checkout > #order_review {
	float: right;
	clear: right;
	width: 390px;
}

body.dbx-page-commande:not(#dbx) form.checkout #customer_details .col-1,
body.dbx-page-commande:not(#dbx) form.checkout #customer_details .col-2 {
	float: none;
	width: 100%;
	max-width: none;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review {
	padding: 0;
	border: 1px solid var(--dbx-encre);
	border-radius: 0;
	background: var(--dbx-fond);
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table {
	width: 100%;
	border-top: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tr > th,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tr > td {
	padding: 10px 12px;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tr > td:last-child,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tr > th:last-child {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

body.dbx-boutique:not(#dbx) .woocommerce form .form-row label {
	margin: 0 0 6px;
	font-family: var(--dbx-cond);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dbx-second);
}

/* Les libellés des cases à cocher et des modes de paiement se lisent comme du texte. */
body.dbx-boutique:not(#dbx) .woocommerce form .form-row label.checkbox,
body.dbx-boutique:not(#dbx) .woocommerce form .form-row label.woocommerce-form__label-for-checkbox,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #payment ul.payment_methods label {
	font-family: var(--dbx-sans);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce form .form-row input.input-text,
body.dbx-boutique:not(#dbx) .woocommerce form #customer_details .form-row .input-text,
body.dbx-boutique:not(#dbx) .woocommerce form .form-row textarea,
body.dbx-boutique:not(#dbx) .woocommerce form .form-row select,
body.dbx-boutique:not(#dbx) .woocommerce .quantity .qty,
body.dbx-boutique:not(#dbx) .woocommerce .select2-container .select2-selection--single {
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid var(--dbx-filet-fort);
	border-radius: 0;
	background-color: #fff;
	box-shadow: none;
	font-family: var(--dbx-sans);
	font-size: 16px;
	line-height: 1.4;
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 24px;
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
	height: 44px;
}

body.dbx-boutique:not(#dbx) .woocommerce form .form-row input.input-text:focus,
body.dbx-boutique:not(#dbx) .woocommerce form .form-row textarea:focus,
body.dbx-boutique:not(#dbx) .woocommerce form .form-row select:focus,
body.dbx-boutique:not(#dbx) .woocommerce .quantity .qty:focus {
	border-color: var(--dbx-or);
	outline: 0;
	box-shadow: 0 0 0 3px var(--dbx-or-doux);
}

body.dbx-boutique:not(#dbx) .woocommerce .quantity .qty {
	width: 76px;
	text-align: center;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #payment {
	border-radius: 0;
	background: transparent;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #payment ul.payment_methods {
	padding: 12px;
	border-bottom: 1px solid var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #payment div.payment_box {
	margin: 10px 0 0;
	padding: 12px;
	border: 1px solid var(--dbx-filet);
	border-radius: 0;
	background-color: #fff;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #payment div.payment_box::before {
	content: none;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #payment div.form-row.place-order {
	margin: 0;
	padding: 12px;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #payment #place_order {
	float: none;
	display: flex;
	width: 100%;
	margin: 12px 0 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--dbx-filet);
}

body.dbx-boutique:not(#dbx) .woocommerce .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 12px 0;
	text-decoration: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .woocommerce-MyAccount-navigation li.is-active a {
	font-weight: 500;
	color: var(--dbx-bronze);
}

/* ------------------------------------------------------------------ Panier, commande, confirmation : gabarits de l'extension */

body.dbx-boutique:not(#dbx) .woocommerce a.dbx-retour {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 14px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--dbx-second);
	text-decoration: none;
}

body.dbx-boutique:not(#dbx) .woocommerce a.dbx-retour:hover,
body.dbx-boutique:not(#dbx) .woocommerce a.dbx-retour:focus {
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce a.dbx-retour .dbx-ico {
	width: 16px;
	height: 16px;
}

/* Sans avis à montrer, la zone d'avis de WooCommerce ne prend pas de place. */
body.dbx-page-panier:not(#dbx) div.woocommerce > .woocommerce-notices-wrapper:empty {
	display: none;
}

body.dbx-page-panier:not(#dbx) div.woocommerce > a.dbx-retour {
	justify-self: start;
	margin-bottom: 0;
}

/* Panier : une ligne par article. */
body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier-lignes {
	border: 1px solid var(--dbx-filet-fort);
	background: var(--dbx-fond);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier-ligne {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) auto minmax(104px, auto);
	align-items: center;
	gap: 6px 20px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--dbx-filet);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier-ligne:last-child {
	border-bottom: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-photo a,
body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-photo img {
	display: block;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-photo img {
	width: 76px;
	height: 76px;
	margin: 0;
	border-radius: 0;
	background: var(--dbx-puits);
	object-fit: contain;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-texte {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	min-width: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-texte .dbx-ligne-nom,
body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-texte a.dbx-ligne-nom {
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--dbx-encre);
	text-decoration: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-resume {
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce .product-remove a.dbx-retirer {
	font-size: 13px;
	color: var(--dbx-second);
	text-decoration: underline;
	text-decoration-color: var(--dbx-filet-fort);
	text-underline-offset: 3px;
}

body.dbx-boutique:not(#dbx) .woocommerce .product-remove a.dbx-retirer:hover,
body.dbx-boutique:not(#dbx) .woocommerce .product-remove a.dbx-retirer:focus {
	color: var(--dbx-encre);
	text-decoration-color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier .quantity {
	display: inline-flex;
	align-items: stretch;
	height: 42px;
	margin: 0;
	border: 1px solid var(--dbx-filet-fort);
	background: var(--dbx-fond);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier .quantity .qty {
	box-sizing: border-box;
	align-self: stretch;
	width: 44px;
	min-height: 0;
	max-height: none;
	height: 40px;
	line-height: 40px;
	border-radius: 0;
	box-shadow: none;
	color: var(--dbx-encre);
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 15px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier .quantity .qty::-webkit-outer-spin-button,
body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier .quantity .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier .quantity .dbx-qte-bouton,
body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier .quantity .dbx-qte-bouton:hover,
body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier .quantity .dbx-qte-bouton:focus {
	flex: 0 0 38px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-family: var(--dbx-sans);
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	color: var(--dbx-encre);
	cursor: pointer;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier .quantity .dbx-qte-bouton:hover {
	background: var(--dbx-voile);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-total {
	font-size: 16px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier-actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 12px;
}

/* Avec le script, les quantités s'appliquent seules. */
.dbx-js body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier-maj {
	display: none;
}

/* Barre d'achat des petits écrans (panier, commande) : montrée plus bas. */
body.dbx-boutique:not(#dbx) .woocommerce .dbx-barre-achat {
	display: none;
}

/* Totaux du panier et récapitulatif de la commande : un libellé à gauche, un montant à droite. */
body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals > h2 {
	display: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table,
body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table tbody,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tbody,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tfoot {
	display: block;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table thead {
	display: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table tr,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tr {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	padding: 11px 14px;
	border-bottom: 1px solid var(--dbx-filet);
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table tr > th,
body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table tr > td,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tr > th,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tr > td {
	display: block;
	width: auto;
	min-width: 0;
	padding: 0;
	border: 0;
}

/* Sur petit écran, WooCommerce répète le libellé devant le montant : celui de gauche suffit. */
body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table tr > td::before,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tr > td::before {
	content: none;
	display: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table tr > th,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tfoot tr > th {
	font-weight: 400;
	text-align: left;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tbody td.product-name {
	flex: 1;
	text-align: left;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tbody td.product-name .product-quantity {
	font-weight: 500;
	color: var(--dbx-second);
}

/* Options d'une ligne du récapitulatif : les valeurs seules, sur une phrase. */
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table dl.variation {
	margin: 3px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table dl.variation dt {
	display: none;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table dl.variation dd,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table dl.variation dd p {
	display: inline;
	float: none;
	margin: 0;
	padding: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table dl.variation dd:not(:last-child)::after {
	content: " · ";
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table tr.order-total,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tr.order-total {
	align-items: center;
	border-bottom: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart_totals tr.order-total > th::after,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review tr.order-total > th::after {
	content: " TTC";
}

body.dbx-prix-ht:not(#dbx) .woocommerce .cart_totals tr.cart-subtotal > th::after,
body.dbx-prix-ht:not(#dbx) .woocommerce-checkout #order_review tr.cart-subtotal > th::after {
	content: " HT";
}

/* Livraison : le nom du mode à gauche, son prix à droite. */
body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals > th,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tfoot tr.woocommerce-shipping-totals > th {
	display: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals > td,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review table.shop_table tfoot tr.woocommerce-shipping-totals > td {
	flex: 1 1 100%;
	width: 100%;
	max-width: none;
	text-align: left;
}

body.dbx-boutique:not(#dbx) .woocommerce tr.woocommerce-shipping-totals ul#shipping_method {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.dbx-boutique:not(#dbx) .woocommerce tr.woocommerce-shipping-totals ul#shipping_method li {
	display: flex;
	width: 100%;
	align-items: baseline;
	gap: 8px;
	margin: 0;
	padding: 0;
	text-indent: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce tr.woocommerce-shipping-totals ul#shipping_method li + li {
	margin-top: 8px;
}

body.dbx-boutique:not(#dbx) .woocommerce tr.woocommerce-shipping-totals ul#shipping_method li input {
	margin: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce tr.woocommerce-shipping-totals ul#shipping_method label {
	flex: 1;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin: 0;
	font-family: var(--dbx-sans);
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-liv-nom {
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-liv-prix {
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce .cart_totals .woocommerce-shipping-calculator {
	display: none;
}

/* Panier vide. */
body.dbx-page-panier:not(#dbx) .woocommerce .cart-empty,
body.dbx-page-panier:not(#dbx) .woocommerce .wc-empty-cart-message .woocommerce-info {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--dbx-serif);
	font-size: 24px;
	line-height: 1.2;
	color: var(--dbx-encre);
}

body.dbx-page-panier:not(#dbx) .woocommerce .wc-empty-cart-message .woocommerce-info::before {
	content: none;
}

/* Commande : blocs à titre coté. */
body.dbx-boutique:not(#dbx) .woocommerce h3.dbx-titre-bloc,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review_heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
	padding: 0;
	font-family: var(--dbx-cond);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: left;
	white-space: nowrap;
	color: var(--dbx-bronze);
}

body.dbx-boutique:not(#dbx) .woocommerce h3.dbx-titre-bloc::before,
body.dbx-boutique:not(#dbx) .woocommerce h3.dbx-titre-bloc::after,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review_heading::before,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review_heading::after {
	content: "";
	height: 9px;
	background: var(--dbx-trait) 0 50% / 100% 1px no-repeat, var(--dbx-trait) 0 0 / 1px 100% no-repeat;
}

body.dbx-boutique:not(#dbx) .woocommerce h3.dbx-titre-bloc::before,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review_heading::before {
	flex: 0 0 14px;
}

body.dbx-boutique:not(#dbx) .woocommerce h3.dbx-titre-bloc::after,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #order_review_heading::after {
	flex: 1;
	min-width: 14px;
	background: var(--dbx-trait) 0 50% / 100% 1px no-repeat, var(--dbx-trait) 100% 0 / 1px 100% no-repeat;
}

body.dbx-boutique:not(#dbx) .woocommerce .woocommerce-billing-fields__field-wrapper + h3.dbx-titre-bloc {
	margin-top: 22px;
}

/* Champs en deux colonnes : prénom et nom, e-mail et téléphone, code postal et ville. */
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 20px;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
	grid-column: 1 / -1;
	float: none;
	width: auto;
	margin-right: 0;
	margin-left: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field:has(+ #billing_phone_field),
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field + #billing_phone_field,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_postcode_field,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_city_field,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_postcode_field,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_city_field {
	grid-column: auto;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-shipping-fields {
	margin-top: 18px;
}

/* Le champ « notes » se présente par son libellé. */
body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-additional-fields > h3 {
	display: none;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-additional-fields {
	margin-top: 14px;
}

/* Code promo : un lien, pas un encadré. */
body.dbx-boutique:not(#dbx) .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info {
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	background: none;
	font-size: 14px;
}

body.dbx-boutique:not(#dbx) .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info::before {
	content: none;
}

/* Confirmation de commande. */
body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci {
	max-width: 760px;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-tete {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 22px;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-coche {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--dbx-vert);
	color: #fff;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-coche .dbx-ico {
	width: 24px;
	height: 24px;
	stroke-width: 2.2;
}

body.dbx-boutique:not(#dbx) .woocommerce h2.dbx-merci-titre {
	margin: 0;
	font-family: var(--dbx-serif);
	font-size: clamp(26px, 3.2vw, 36px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-faits {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	margin: 0 0 18px;
	border: 1px solid var(--dbx-encre);
	background: var(--dbx-fond);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-faits > div {
	min-width: 0;
	padding: 12px 14px;
	border-left: 1px solid var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-faits > div:first-child {
	border-left: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-faits dt {
	margin: 0 0 6px;
	font-family: var(--dbx-cond);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dbx-bronze);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-faits dd {
	margin: 0;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
	color: var(--dbx-encre);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-lignes {
	margin: 0 0 16px;
	border: 1px solid var(--dbx-filet-fort);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini {
	display: grid;
	grid-template-columns: 56px auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 4px 14px;
	padding: 10px 14px;
	border-bottom: 1px solid var(--dbx-filet);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini:last-child {
	border-bottom: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-photo img {
	display: block;
	width: 56px;
	height: 56px;
	margin: 0;
	border-radius: 0;
	background: var(--dbx-puits);
	object-fit: contain;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-qte {
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-nom {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-nom b {
	font-weight: 500;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-nom small {
	font-size: 13px;
	line-height: 1.4;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-prix {
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-delai {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-actions a.button {
	gap: 8px;
}

/* Coordonnées bancaires et autres consignes du moyen de paiement. */
body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci .woocommerce-bacs-bank-details,
body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci > section {
	margin: 18px 0 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci ul.wc-bacs-bank-details {
	margin: 0;
	padding: 12px 14px;
	border: 1px solid var(--dbx-filet-fort);
	list-style: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci ul.wc-bacs-bank-details li {
	float: none;
	margin: 0;
	padding: 4px 0;
	border: 0;
	font-size: 14px;
	line-height: 1.4;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci ul.wc-bacs-bank-details li strong {
	font-weight: 500;
	color: var(--dbx-encre);
}

/* ------------------------------------------------------------------ Widgets Panier et Commande d'Elementor
   Sur le site, le panier et la commande sont rendus par les widgets WooCommerce d'Elementor, qui posent
   leurs propres cadres, couleurs et tailles. Cette section les remet à plat. Dans toute la feuille,
   « :not(#dbx) » ne sert qu'à donner à nos sélecteurs le poids d'un identifiant : ils passent devant ceux
   d'Elementor sans « !important ». */

body.dbx-boutique:not(#dbx) .woocommerce .e-cart-section,
body.dbx-boutique:not(#dbx) .woocommerce .e-checkout__order_review,
body.dbx-boutique:not(#dbx) .woocommerce .e-coupon-box,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #customer_details .col-1,
body.dbx-boutique:not(#dbx) .woocommerce-checkout #customer_details .col-2,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .shipping_address,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .e-checkout__container .woocommerce-additional-fields {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .e-cart__container,
body.dbx-boutique:not(#dbx) .woocommerce .e-checkout__container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	align-items: start;
	gap: 24px 36px;
}

body.dbx-boutique:not(#dbx) .woocommerce .e-cart__column,
body.dbx-boutique:not(#dbx) .woocommerce .e-checkout__column {
	min-width: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout .e-checkout__container .woocommerce-additional-fields,
body.dbx-boutique:not(#dbx) .woocommerce-checkout .e-checkout__container .woocommerce-shipping-fields {
	margin-top: 16px;
}

body.dbx-boutique:not(#dbx) .woocommerce-checkout .shipping_address {
	margin-top: 12px;
}

/* Code promo d'Elementor : une ligne discrète entre le récapitulatif et le paiement. */
body.dbx-boutique:not(#dbx) .woocommerce .e-coupon-box {
	margin: 12px 0;
	font-size: 14px;
	color: var(--dbx-second);
}

body.dbx-boutique:not(#dbx) .woocommerce .e-coupon-box p {
	margin: 0;
	font-size: 14px;
	color: var(--dbx-second);
}

/* Elementor sort le paiement du récapitulatif : il reçoit son propre cartouche. */
body.dbx-boutique:not(#dbx) .woocommerce-checkout .e-checkout__order_review-2 #payment {
	margin: 0;
	padding: 0;
	border: 1px solid var(--dbx-encre);
	border-radius: 0;
	background: var(--dbx-fond);
}

/* Paiement rapide de Stripe sous le bouton du panier : boutons empilés dans le cartouche. */
body.dbx-boutique:not(#dbx) .woocommerce .cart-collaterals .wc-proceed-to-checkout {
	display: block;
	padding: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .wc-proceed-to-checkout #wc-stripe-express-checkout-element {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 10px 12px;
}

body.dbx-boutique:not(#dbx) .woocommerce .wc-proceed-to-checkout #wc-stripe-express-checkout-element:empty,
body.dbx-boutique:not(#dbx) .woocommerce .wc-proceed-to-checkout #wc-stripe-express-checkout-button-separator {
	display: none;
}

@media (max-width: 1000px) {
	body.dbx-boutique:not(#dbx) .woocommerce .e-cart__container,
	body.dbx-boutique:not(#dbx) .woocommerce .e-checkout__container {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Code promo d'Elementor, une fois ouvert : le champ et son bouton sur une ligne. */
body.dbx-boutique:not(#dbx) .woocommerce .e-coupon-box .e-coupon-anchor-description:empty {
	display: none;
}

body.dbx-boutique:not(#dbx) .woocommerce .e-coupon-box .coupon-container-grid {
	display: flex;
	align-items: stretch;
	gap: 8px;
	margin-top: 8px;
}

body.dbx-boutique:not(#dbx) .woocommerce .e-coupon-box .coupon-col-1 {
	flex: 1;
	min-width: 0;
}

body.dbx-boutique:not(#dbx) .woocommerce .e-coupon-box .form-row {
	margin: 0;
	padding: 0;
}

/* Formulaire « Obtenir le devis », posé sous le panier par un code court du site. */
body.dbx-page-panier:not(#dbx) .elementor-shortcode form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	margin: 0;
	font-family: var(--dbx-sans);
}

body.dbx-page-panier:not(#dbx) .elementor-shortcode form label {
	margin: 0;
	font-size: 14px;
	line-height: 1.3;
	color: var(--dbx-second);
}

body.dbx-page-panier:not(#dbx) .elementor-shortcode form input[type="email"] {
	flex: 0 1 300px;
	min-width: 0;
	min-height: 46px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid var(--dbx-filet-fort);
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	font-family: var(--dbx-sans);
	font-size: 16px;
	line-height: 1.4;
	color: var(--dbx-encre);
}

body.dbx-page-panier:not(#dbx) .elementor-shortcode form input[type="email"]:focus {
	border-color: var(--dbx-or);
	outline: 0;
	box-shadow: 0 0 0 3px var(--dbx-or-doux);
}

body.dbx-page-panier:not(#dbx) .elementor-shortcode form button,
body.dbx-page-panier:not(#dbx) .elementor-shortcode form button:hover,
body.dbx-page-panier:not(#dbx) .elementor-shortcode form button:focus {
	min-height: 46px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--dbx-encre);
	border-radius: 0;
	background: var(--dbx-fond);
	box-shadow: none;
	font-family: var(--dbx-sans);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dbx-encre);
	cursor: pointer;
}

body.dbx-page-panier:not(#dbx) .elementor-shortcode form button:hover,
body.dbx-page-panier:not(#dbx) .elementor-shortcode form button:focus {
	background: var(--dbx-voile);
}

/* ------------------------------------------------------------------ Petits écrans : rien ne dépasse la largeur */

@media (max-width: 1000px) {
	body.dbx-page-panier:not(#dbx) div.woocommerce {
		grid-template-columns: minmax(0, 1fr);
	}

	body.dbx-page-panier:not(#dbx) div.woocommerce > form.woocommerce-cart-form,
	body.dbx-page-panier:not(#dbx) div.woocommerce > .cart-collaterals {
		grid-column: 1;
		grid-row: auto;
	}

	body.dbx-page-commande:not(#dbx) form.checkout.woocommerce-checkout > #customer_details,
	body.dbx-page-commande:not(#dbx) form.checkout.woocommerce-checkout > #order_review_heading,
	body.dbx-page-commande:not(#dbx) form.checkout.woocommerce-checkout > #order_review {
		float: none;
		width: auto;
	}

	body.dbx-page-commande:not(#dbx) form.checkout.woocommerce-checkout > #order_review_heading {
		margin-top: 24px;
	}
}

@media (max-width: 820px) {
	.dbx-page .dbx-conteneur,
	.dbx-accueil .dbx-accueil-int {
		padding: 18px 16px 40px;
		gap: 18px;
	}

	/* Planche : chaque famille tient dans la largeur, sur deux colonnes, à la même échelle. */
	.dbx-accueil .dbx-planche,
	.dbx-page .dbx-planche {
		padding: 0;
		border: 0;
	}

	.dbx-accueil .dbx-planche::before,
	.dbx-accueil .dbx-planche::after,
	.dbx-page .dbx-planche::before,
	.dbx-page .dbx-planche::after,
	.dbx-page .dbx-fiche-corps::before,
	.dbx-page .dbx-fiche-corps::after {
		display: none;
	}

	.dbx-accueil .dbx-rang,
	.dbx-page .dbx-rang {
		--dbx-hp: min(300px, 76vw);
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 26px;
	}

	.dbx-accueil .dbx-groupe-int,
	.dbx-page .dbx-groupe-int {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
		gap: 10px 12px;
	}

	.dbx-accueil .dbx-planche .dbx-carte,
	.dbx-page .dbx-planche .dbx-carte {
		width: auto;
		min-width: 0;
	}

	.dbx-accueil .dbx-lignes {
		grid-template-columns: minmax(0, 1fr);
	}

	.dbx-page .dbx-fiche-corps {
		grid-template-columns: minmax(0, 1fr);
		margin: 0 -16px;
		border-left: 0;
		border-right: 0;
	}

	.dbx-page .dbx-visu {
		top: 0;
		z-index: 5;
		border-right: 0;
		border-bottom: 1px solid var(--dbx-filet);
		background: var(--dbx-fond);
	}

	.dbx-page .dbx-onglets .dbx-onglet,
	.dbx-page .dbx-onglets .dbx-onglet:hover,
	.dbx-page .dbx-onglets .dbx-onglet:focus {
		min-height: 42px;
		gap: 6px;
		padding: 0 6px;
		font-size: 13px;
	}

	.dbx-page .dbx-face {
		height: 300px;
		padding: 12px;
	}

	.dbx-boutique .dbx-page div.product div.images img,
	.dbx-page .dbx-visuel .woocommerce-product-gallery__image img {
		max-height: 270px;
	}

	.dbx-page .dbx-achat {
		padding: 18px 16px;
	}

	.dbx-boutique .dbx-page div.product form.cart table.variations tr {
		grid-template-columns: minmax(0, 1fr);
		gap: 7px;
	}

	.dbx-boutique .dbx-page div.product form.cart table.variations tr.dbx-non-choisi label::after {
		display: inline;
		margin: 0 0 0 8px;
	}

	.dbx-page .dbx-pastilles .dbx-pastille,
	.dbx-page .dbx-pastilles .dbx-pastille:hover,
	.dbx-page .dbx-pastilles .dbx-pastille:focus {
		flex: 1 1 auto;
		min-height: 44px;
	}

	.dbx-page .dbx-bloc .dbx-liste,
	.dbx-page .dbx-bloc .dbx-recap {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Barre d'achat : le total et le bouton restent sous le pouce. */
	.dbx-page .dbx-barre {
		position: sticky;
		bottom: 0;
		z-index: 6;
		display: flex;
		align-items: stretch;
		margin: 0 -16px;
		padding-bottom: env(safe-area-inset-bottom, 0px);
		border-top: 1px solid var(--dbx-encre);
		background: var(--dbx-fond);
	}

	.dbx-page .dbx-barre[hidden] {
		display: none;
	}

	.dbx-page .dbx-barre-total {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 2px;
		min-width: 0;
		padding: 8px 16px;
	}

	.dbx-page .dbx-barre-total span {
		font-family: var(--dbx-cond);
		font-size: 10.5px;
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--dbx-second);
	}

	.dbx-page .dbx-barre-total b {
		font-family: var(--dbx-serif);
		font-size: 22px;
		font-weight: 500;
		line-height: 1;
		font-variant-numeric: tabular-nums;
		white-space: nowrap;
	}

	.dbx-page .dbx-barre .dbx-barre-bouton,
	.dbx-page .dbx-barre .dbx-barre-bouton:hover,
	.dbx-page .dbx-barre .dbx-barre-bouton:focus {
		min-height: 54px;
		margin: 0;
		padding: 0 18px;
		border: 0;
		border-radius: 0;
		background: var(--dbx-encre);
		font-family: var(--dbx-sans);
		font-size: 15px;
		font-weight: 500;
		line-height: 1.2;
		letter-spacing: 0;
		text-transform: none;
		color: #fff;
		cursor: pointer;
	}

	.dbx-page .dbx-barre .dbx-barre-bouton.dbx-attente,
	.dbx-page .dbx-barre .dbx-barre-bouton.dbx-attente:hover,
	.dbx-page .dbx-barre .dbx-barre-bouton.dbx-attente:focus {
		border-left: 1px solid var(--dbx-encre);
		background: var(--dbx-fond);
		color: var(--dbx-bronze);
	}
}

@media (max-width: 820px) {
	/* Panier : photo et texte, puis quantité et total. */
	body.dbx-boutique:not(#dbx) .woocommerce .dbx-panier-ligne {
		grid-template-columns: 64px minmax(0, 1fr) auto;
		gap: 10px 14px;
		padding: 14px 12px;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-photo img {
		width: 64px;
		height: 64px;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-texte {
		grid-column: 2 / -1;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-quantite {
		grid-column: 1 / 3;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-ligne-total {
		grid-column: 3;
	}

	/* Barre d'achat : total et bouton, toujours sous le pouce. */
	body.dbx-page-panier:not(#dbx),
	body.dbx-page-commande:not(#dbx) {
		padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-barre-achat {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 60;
		display: flex;
		align-items: stretch;
		margin: 0;
		padding-bottom: env(safe-area-inset-bottom, 0px);
		border-top: 1px solid var(--dbx-encre);
		background: var(--dbx-fond);
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-barre-achat .dbx-barre-total {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 3px;
		min-width: 0;
		padding: 8px 16px;
		text-align: left;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-barre-achat .dbx-barre-total > span {
		font-family: var(--dbx-cond);
		font-size: 10.5px;
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--dbx-second);
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-barre-achat .dbx-barre-total b {
		font-family: var(--dbx-serif);
		font-size: 22px;
		font-weight: 500;
		line-height: 1;
		font-variant-numeric: tabular-nums;
		white-space: nowrap;
		color: var(--dbx-encre);
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-barre-achat a.dbx-barre-lien,
	body.dbx-boutique:not(#dbx) .woocommerce .dbx-barre-achat a.dbx-barre-lien:hover,
	body.dbx-boutique:not(#dbx) .woocommerce .dbx-barre-achat a.dbx-barre-lien:focus,
	body.dbx-boutique:not(#dbx) .woocommerce .dbx-barre-achat .dbx-barre-payer,
	body.dbx-boutique:not(#dbx) .woocommerce .dbx-barre-achat .dbx-barre-payer:hover,
	body.dbx-boutique:not(#dbx) .woocommerce .dbx-barre-achat .dbx-barre-payer:focus {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 132px;
		min-height: 56px;
		margin: 0;
		padding: 0 20px;
		border: 0;
		border-radius: 0;
		background: var(--dbx-encre);
		box-shadow: none;
		font-family: var(--dbx-sans);
		font-size: 15px;
		font-weight: 500;
		line-height: 1.2;
		letter-spacing: 0;
		text-transform: none;
		text-decoration: none;
		color: #fff;
		cursor: pointer;
	}

	/* Confirmation. */
	body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-faits {
		grid-template-columns: 1fr;
	}

	/* Très petit écran : e-mail et téléphone l'un sous l'autre, leurs libellés sont longs. */
	body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field:has(+ #billing_phone_field),
	body.dbx-boutique:not(#dbx) .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field + #billing_phone_field {
		grid-column: 1 / -1;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-faits > div {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
		border-top: 1px solid var(--dbx-encre);
		border-left: 0;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-faits > div:first-child {
		border-top: 0;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-faits dt {
		margin: 0;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini {
		grid-template-columns: 48px minmax(0, 1fr) auto;
		gap: 4px 12px;
		padding: 10px 12px;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-photo {
		grid-row: span 2;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-photo img {
		width: 48px;
		height: 48px;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-qte {
		grid-column: 2;
		grid-row: 2;
		font-size: 13px;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-nom {
		grid-column: 2;
		grid-row: 1;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-mini-prix {
		grid-column: 3;
		grid-row: 1 / span 2;
		align-self: center;
	}

	body.dbx-boutique:not(#dbx) .woocommerce .dbx-merci-actions a.button {
		flex: 1 1 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dbx-page *,
	.dbx-accueil *,
	body.dbx-boutique:not(#dbx) .woocommerce * {
		transition: none !important;
		scroll-behavior: auto !important;
	}
}
