/*
 * Boutique Autodistri : mise en forme des pages WooCommerce aux couleurs de la charte.
 * Fiche produit, catalogue, panier et commande (blocs), mon compte, messages.
 * Les couleurs viennent des couleurs globales d'Elementor (Réglages du site).
 */

.woocommerce-page,
.woocommerce,
.ad-boutique {
	--ad-b-espresso: var(--e-global-color-primary, #2B1A10);
	--ad-b-cafe: var(--e-global-color-secondary, #53321C);
	--ad-b-caramel: var(--e-global-color-accent, #D47B2C);
	--ad-b-caramelf: var(--e-global-color-caramelf, #A95A17);
	--ad-b-creme: var(--e-global-color-creme, #FBF5EC);
	--ad-b-latte: var(--e-global-color-latte, #EBDCC6);
	--ad-b-doux: var(--e-global-color-doux, #6B5646);
	--ad-b-bord: rgb(83 50 28 / 0.12);
	--ad-b-rayon: 20px;
	--ad-b-ombre: 0 1px 2px rgb(43 26 16 / 0.04), 0 14px 34px -20px rgb(43 26 16 / 0.3);
}

/* --------------------------------------------------------------------------
   Mise en page générale des pages boutique
   -------------------------------------------------------------------------- */
body.woocommerce-page:not(.elementor-page) .site-main {
	max-width: 1240px;
	margin-inline: auto;
	padding: 40px 24px 96px;
}
@media (max-width: 767px) {
	body.woocommerce-page:not(.elementor-page) .site-main { padding: 24px 16px 64px; }
}
body.woocommerce-page:not(.elementor-page) .page-header .entry-title,
.woocommerce-products-header__title.page-title {
	font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif;
	font-weight: 600;
	font-size: clamp(2rem, 3.6vw, 3rem);
	line-height: 1.1;
	color: var(--ad-b-espresso);
	margin: 0 0 12px;
}
.woocommerce .term-description, .woocommerce-products-header p { color: var(--ad-b-doux); max-width: 70ch; }

/* Fil d'Ariane */
.woocommerce .woocommerce-breadcrumb {
	margin: 0 0 28px;
	font-size: 0.875rem;
	color: var(--ad-b-doux);
}
.woocommerce .woocommerce-breadcrumb a {
	color: var(--ad-b-caramelf);
	text-decoration: underline;
	text-decoration-color: rgb(169 90 23 / 0.35);
	text-underline-offset: 3px;
}

/* Boutons WooCommerce (hors blocs) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 26px;
	border: 0;
	border-radius: 999px;
	background-color: var(--ad-b-caramel);
	color: var(--ad-b-espresso);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background-color: var(--ad-b-espresso);
	color: var(--ad-b-creme);
}
.woocommerce button.button:disabled,
.woocommerce button.button.disabled { opacity: 0.5; }
/* WooCommerce repasse certains boutons en « display: block » (cartes produits) : le texte
   restait collé en haut. On impose le centrage horizontal et vertical partout. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1.2 !important;
	text-align: center;
}
.woocommerce input.button { line-height: 48px; padding-block: 0; }

/* Champs de formulaire (mon compte, avis, codes promo…) */
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea,
.woocommerce .quantity .qty {
	min-height: 48px;
	padding: 10px 16px;
	border: 1.5px solid rgb(83 50 28 / 0.2);
	border-radius: 12px;
	background: #fff;
	color: var(--ad-b-espresso);
	font: inherit;
}
.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus,
.woocommerce .quantity .qty:focus {
	border-color: var(--ad-b-caramel);
	outline: 2px solid rgb(212 123 44 / 0.25);
	outline-offset: 0;
}
.woocommerce form .form-row label { font-weight: 600; color: var(--ad-b-espresso); }

/* Messages (ajout au panier, informations, erreurs) */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 28px;
	padding: 16px 20px;
	border: 1px solid var(--ad-b-bord);
	border-inline-start: 4px solid var(--ad-b-caramel);
	border-radius: 14px;
	background: var(--ad-b-creme);
	color: var(--ad-b-espresso);
	list-style: none;
}
.woocommerce .woocommerce-error { border-inline-start-color: #B3261E; }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before { display: none; }
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button { order: 2; min-height: 40px; padding: 0 20px; }

/* --------------------------------------------------------------------------
   Grille de produits (catalogue, gammes, produits liés)
   -------------------------------------------------------------------------- */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
	gap: 24px;
	margin: 0 0 40px !important;
	padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 16px 16px 20px !important;
	background: #fff;
	border: 1px solid var(--ad-b-bord);
	border-radius: var(--ad-b-rayon);
	box-shadow: var(--ad-b-ombre);
	text-align: left;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 1px 2px rgb(43 26 16 / 0.05), 0 22px 40px -20px rgb(43 26 16 / 0.35);
}
.woocommerce ul.products li.product a img {
	aspect-ratio: 1;
	object-fit: cover;
	margin: 0 0 14px !important;
	border-radius: 14px;
	background: var(--ad-b-creme);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 !important;
	margin: 0 0 6px;
	font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif;
	font-size: 1.15rem !important;
	font-weight: 600;
	line-height: 1.25;
	color: var(--ad-b-espresso);
}
.woocommerce ul.products li.product .price {
	margin: 0 0 14px !important;
	color: var(--ad-b-caramelf) !important;
	font-size: 1.05rem !important;
	font-weight: 600;
}
.woocommerce ul.products li.product .button {
	margin-top: auto !important;
	align-self: flex-start;
	min-height: 42px;
	padding: 0 20px;
	font-size: 0.95rem;
	white-space: nowrap;
}
.woocommerce ul.products li.product .added_to_cart {
	margin-top: 8px;
	color: var(--ad-b-caramelf);
	font-weight: 600;
}

/* Cartes produits : avis, quantité (inc/cartes-produits.php) */
.woocommerce ul.products li.product { container-type: inline-size; }
.woocommerce ul.products li.product .ad-carte-avis {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	margin: 0 0 8px;
	color: var(--ad-b-doux);
	font-size: 0.85rem;
	text-decoration: none;
}
.woocommerce ul.products li.product .ad-carte-avis .star-rating {
	float: none;
	margin: 0;
	font-size: 0.85rem;
	color: var(--ad-b-caramel);
}
.woocommerce ul.products li.product .ad-carte-avis:hover .ad-carte-avis-nb { color: var(--ad-b-caramelf); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce ul.products li.product .ad-carte-achat {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
	margin-top: auto;
}
.woocommerce ul.products li.product .ad-carte-achat .quantity { flex: 0 0 64px; margin: 0; }
.woocommerce ul.products li.product .ad-carte-achat .quantity .qty {
	width: 100%;
	height: 100%;
	min-height: 42px;
	padding: 0 4px;
	border-radius: 999px;
	text-align: center;
}
/* Base 0 : le bouton prend la place restante à côté de la quantité sans jamais passer à la ligne. */
.woocommerce ul.products li.product .ad-carte-achat .button { flex: 1 1 0; min-width: 0; margin-top: 0 !important; }
/* Ajout au panier : quantité et bouton restent sur la même ligne. Le bouton affiche « ✓ Ajouté » quelques
   secondes au lieu de la coche WooCommerce (qui l'élargissait) ; « Voir le panier » se place en dessous. */
.woocommerce ul.products li.product .ad-carte-achat .button.loading { padding-right: 20px; }
.woocommerce ul.products li.product .ad-carte-achat .button.added { font-size: 0; }
.woocommerce ul.products li.product .ad-carte-achat .button.added::before { content: "✓ Ajouté"; font-size: 0.95rem; }
.woocommerce ul.products li.product .ad-carte-achat .button.added::after { display: none !important; }
/* « Voir le panier » : posé sous le bouton, dans une marge réservée sur toutes les cartes, pour que la ligne
   quantité + bouton ne remonte pas et reste alignée avec celle des cartes voisines. */
.woocommerce ul.products li.product .ad-carte-achat { position: relative; margin-bottom: 14px; }
.woocommerce ul.products li.product .ad-carte-achat .added_to_cart {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	margin: 0;
	padding: 0;
	font-size: 0.9rem;
	line-height: 20px !important;
	border: 0;
	background: none;
	color: var(--ad-b-caramelf);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 4px;
	transition: text-decoration-color 0.25s ease, color 0.25s ease;
}
.woocommerce ul.products li.product .ad-carte-achat .added_to_cart:hover,
.woocommerce ul.products li.product .ad-carte-achat .added_to_cart:focus-visible { color: var(--ad-b-espresso); text-decoration-color: currentColor; }
/* Carte étroite (2 colonnes sur téléphone) : quantité au-dessus du bouton, tous deux en pleine largeur. */
@container (max-width: 230px) {
	.woocommerce ul.products li.product .ad-carte-achat .quantity { flex-basis: 100%; }
	.woocommerce ul.products li.product .ad-carte-achat .quantity .qty { min-height: 38px; }
}

/* Vitrine produits de l'accueil ([autodistri_vitrine]) : onglets puis, à la suite, le bouton
   « Voir toute la boutique » (.ad-vitrine-tout). */
.ad-vitrine-barre {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 0 32px;
}
.ad-vitrine-onglets {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.ad-vitrine-tout {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 22px;
	border: 1.5px solid var(--e-global-color-accent, #D47B2C);
	border-radius: 999px;
	color: var(--e-global-color-caramelf, #A95A17);
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.ad-vitrine-tout span { transition: transform 0.2s ease; }
.ad-vitrine-tout:hover, .ad-vitrine-tout:focus-visible { background: var(--e-global-color-accent, #D47B2C); color: var(--e-global-color-primary, #2B1A10); }
.ad-vitrine-tout:hover span { transform: translateX(3px); }
@media (max-width: 600px) {
	/* Téléphone : le bouton passe sous les onglets, sur toute la largeur. */
	.ad-vitrine-tout { flex: 1 1 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	.ad-vitrine-tout, .ad-vitrine-tout span { transition: none; }
	.ad-vitrine-tout:hover span { transform: none; }
}
.ad-vitrine-onglets [role="tab"] {
	min-height: 44px;
	padding: 0 22px;
	border: 1.5px solid rgb(83 50 28 / 0.18);
	border-radius: 999px;
	background: transparent;
	color: var(--e-global-color-primary, #2B1A10);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.ad-vitrine-onglets [role="tab"]:hover { background: rgb(235 220 198 / 0.6); }
.ad-vitrine-onglets [role="tab"][aria-selected="true"] {
	border-color: var(--e-global-color-primary, #2B1A10);
	background: var(--e-global-color-primary, #2B1A10);
	color: var(--e-global-color-creme, #FBF5EC);
}
.ad-vitrine-onglets [role="tab"]:focus-visible { outline: 2px solid var(--e-global-color-accent, #D47B2C); outline-offset: 3px; }
.ad-vitrine .woocommerce ul.products { margin-bottom: 0 !important; }
/* Jusqu'à 4 cartes par ligne, centrées quand il y a peu de produits */
.ad-vitrine .woocommerce ul.products {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 290px));
	justify-content: center;
}
/* Variante alignée à gauche (classe ad-vitrine-gauche sur la section, retirable dans Elementor) */
.ad-vitrine-gauche .ad-vitrine-onglets,
.ad-vitrine-gauche .ad-vitrine-barre { justify-content: flex-start; }
.ad-vitrine-gauche .ad-vitrine .woocommerce ul.products { justify-content: start; }

/* Section masquée tant que la boutique n'a aucun produit à montrer */
.ad-section-vitrine:not(:has(.ad-vitrine)) { display: none !important; }

/* --------------------------------------------------------------------------
   Page boutique (woocommerce/archive-product.php) : bandeau chocolat, filtres à gauche,
   produits à droite. Tablette et téléphone : filtres dans un panneau latéral.
   -------------------------------------------------------------------------- */
.ad-boutique { background: var(--ad-b-creme); }
.ad-boutique-bandeau { background: var(--ad-b-espresso); color: var(--ad-b-latte); position: relative; overflow: hidden; isolation: isolate; }
.ad-boutique-bandeau::before {
	content: "";
	position: absolute;
	right: -160px;
	top: -220px;
	width: 560px;
	height: 560px;
	border-radius: 50%;
	background: radial-gradient(circle, rgb(212 123 44 / 0.22), transparent 65%);
	pointer-events: none;
	z-index: -1;
}
.ad-boutique-bandeau-inner { max-width: 1240px; margin-inline: auto; padding: 40px 24px 48px; }
/* En-tête transparent posé sur le bandeau : le contenu démarre sous l'en-tête. */
body.ad-entete-transparent .ad-boutique-bandeau-inner { padding-top: calc(var(--ad-entete-h, 106px) + 40px); }
.ad-boutique-surtitre {
	margin: 0 0 10px;
	color: var(--ad-b-caramel);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.ad-boutique .ad-boutique-titre {
	margin: 0;
	color: var(--ad-b-creme);
	font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif;
	font-size: clamp(2.1rem, 4vw, 3.25rem);
	font-weight: 600;
	line-height: 1.08;
	text-wrap: balance;
}
.ad-boutique-intro { max-width: 62ch; margin-top: 14px; font-size: 1.08rem; line-height: 1.6; }
.ad-boutique-intro p { margin: 0; }

.ad-boutique-corps {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	max-width: 1240px;
	margin-inline: auto;
	padding: 40px 24px 96px;
}
.ad-boutique .woocommerce-notices-wrapper:empty { display: none; }

/* Barre d'outils : bouton Filtrer (petits écrans), nombre de résultats, tri */
.ad-boutique-outils { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 0 0 24px; }
.ad-boutique-outils .woocommerce-result-count { margin: 0 auto 0 0 !important; line-height: 1.4; float: none !important; }
.ad-boutique-outils .woocommerce-ordering { margin: 0 !important; float: none !important; }
.ad-boutique-outils .woocommerce-ordering select {
	min-height: 44px;
	padding: 0 40px 0 18px;
	border: 1.5px solid rgb(83 50 28 / 0.2);
	border-radius: 999px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2353321C' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat;
	color: var(--ad-b-espresso);
	font: inherit;
	font-size: 0.95rem;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
.ad-boutique-outils .woocommerce-ordering select:focus-visible { outline: 2px solid var(--ad-b-caramel); outline-offset: 2px; }
.ad-boutique .ad-filtres-ouvrir {
	display: none;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 20px;
	border: 1.5px solid var(--ad-b-espresso);
	border-radius: 999px;
	background: var(--ad-b-espresso);
	color: var(--ad-b-creme);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.ad-filtres-ouvrir svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.ad-boutique-produits .woocommerce-pagination { margin-top: 40px; }
.ad-boutique-produits ul.products { margin-bottom: 0 !important; }

/* Aucun résultat */
.ad-boutique-vide { padding: 40px 32px; border: 1px dashed rgb(83 50 28 / 0.25); border-radius: var(--ad-b-rayon); background: #fff; text-align: center; color: var(--ad-b-doux); }
.ad-boutique-vide p { margin: 0; }
.ad-boutique-vide-titre { margin-bottom: 8px !important; color: var(--ad-b-espresso); font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif; font-size: 1.3rem; font-weight: 600; }
.ad-boutique-vide a { color: var(--ad-b-caramelf); font-weight: 600; }

/* Colonne des filtres (grand écran) : elle défile avec la page, plus haute que l'écran. */
.ad-filtres {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 8px 22px;
	background: #fff;
	border: 1px solid var(--ad-b-bord);
	border-radius: var(--ad-b-rayon);
	box-shadow: var(--ad-b-ombre);
}
.ad-filtres-entete { display: none; }
.ad-filtre { padding: 18px 0; }
.ad-filtre + .ad-filtre { border-top: 1px solid var(--ad-b-bord); }
.ad-filtres .ad-filtre-titre {
	margin: 0 0 12px;
	color: var(--ad-b-espresso);
	font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif;
	font-size: 1.05rem !important;
	font-weight: 600;
	line-height: 1.3;
}
.ad-filtre-liste { margin: 0; padding: 0; list-style: none; }
.ad-filtre-liste li { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; }
.ad-filtre-liste a {
	flex: 1 1 auto;
	position: relative;
	display: block;
	padding: 7px 10px 7px 26px;
	margin-inline-start: -10px;
	border-radius: 10px;
	color: var(--ad-b-espresso);
	font-size: 0.95rem;
	line-height: 1.35;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}
/* Pastille de sélection (cercle vide, plein sur l'élément choisi) */
.ad-filtre-liste a::before {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border: 1.5px solid rgb(83 50 28 / 0.35);
	border-radius: 50%;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
.ad-filtre-liste a:hover { background: rgb(235 220 198 / 0.5); }
.ad-filtre-liste a:hover::before { border-color: var(--ad-b-caramel); }
.ad-filtre-liste a:focus-visible { outline: 2px solid var(--ad-b-caramel); outline-offset: 1px; }
.ad-filtre-liste .current-cat > a { color: var(--ad-b-caramelf); font-weight: 600; }
.ad-filtre-liste .current-cat > a::before { border-color: var(--ad-b-caramel); background: var(--ad-b-caramel); box-shadow: inset 0 0 0 2px #fff; }

/* Type de produit : catégories principales en gras, sous-catégories en retrait */
.ad-filtre-liste .ad-type-parent > a { font-weight: 600; }
.ad-filtre-liste .ad-type-enfant > a { padding-left: 42px; font-size: 0.92rem; }
.ad-filtre-liste .ad-type-enfant > a::before { left: 24px; width: 8px; height: 8px; margin-top: -4px; }

/* Marque : widget natif, cases à cocher (plusieurs marques possibles) */
.ad-filtres .widget_brand_nav ul { margin: 0; padding: 0; list-style: none; }
.ad-filtres .widget_brand_nav li { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; padding: 0; }
.ad-filtres .widget_brand_nav li a,
.ad-filtres .widget_brand_nav li > span:not(.count) {
	flex: 1 1 auto;
	position: relative;
	display: block;
	padding: 7px 10px 7px 30px;
	margin-inline-start: -10px;
	border-radius: 10px;
	color: var(--ad-b-espresso);
	font-size: 0.95rem;
	line-height: 1.35;
	text-decoration: none;
	transition: background-color 0.15s ease;
}
.ad-filtres .widget_brand_nav li a::before {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	border: 1.5px solid rgb(83 50 28 / 0.35);
	border-radius: 4px;
	background: #fff center / 10px no-repeat;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.ad-filtres .widget_brand_nav li a:hover { background: rgb(235 220 198 / 0.5); }
.ad-filtres .widget_brand_nav li a:hover::before { border-color: var(--ad-b-caramel); }
.ad-filtres .widget_brand_nav li a:focus-visible { outline: 2px solid var(--ad-b-caramel); outline-offset: 1px; }
.ad-filtres .widget_brand_nav li.chosen a { color: var(--ad-b-caramelf); font-weight: 600; }
.ad-filtres .widget_brand_nav li.chosen a::before {
	border-color: var(--ad-b-caramel);
	background-color: var(--ad-b-caramel);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E");
}
.ad-filtres .widget_brand_nav .count,
.ad-filtre-liste .count {
	flex: none;
	min-width: 28px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--ad-b-creme);
	color: var(--ad-b-doux);
	font-size: 0.78rem;
	font-weight: 600;
	text-align: center;
}

/* Filtres actifs : pastilles à retirer d'un clic, puis « Tout effacer » */
.ad-puces { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
.ad-puces a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 34px;
	padding: 0 14px 0 10px;
	border-radius: 999px;
	background: var(--ad-b-latte);
	color: var(--ad-b-espresso);
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.15s ease;
}
.ad-puces a span { color: var(--ad-b-caramelf); font-size: 1.15rem; line-height: 1; }
.ad-puces a:hover { background: var(--ad-b-caramel); }
.ad-puces a:hover span { color: var(--ad-b-espresso); }
.ad-filtres-effacer { color: var(--ad-b-caramelf); font-size: 0.9rem; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgb(169 90 23 / 0.4); }
.ad-filtres-effacer:hover { text-decoration-color: currentColor; }

/* Prix : widget natif (curseur jQuery UI) aux couleurs du site */
.ad-filtres .widget_price_filter .price_slider_wrapper { padding-top: 4px; }
.ad-filtres .widget_price_filter .price_slider { margin: 6px 9px 22px !important; }
.ad-filtres .widget_price_filter .ui-slider { position: relative; height: 4px !important; border: 0; border-radius: 999px; background: var(--ad-b-latte) !important; }
.ad-filtres .widget_price_filter .ui-slider .ui-slider-range { top: 0; height: 100%; border-radius: 999px; background: var(--ad-b-caramel) !important; }
.ad-filtres .widget_price_filter .ui-slider .ui-slider-handle {
	top: -8px !important;
	width: 20px !important;
	height: 20px !important;
	margin-left: -10px;
	border: 3px solid var(--ad-b-caramel) !important;
	border-radius: 50%;
	background: #fff !important;
	box-shadow: 0 2px 6px rgb(43 26 16 / 0.25);
	cursor: grab;
	outline: none;
}
.ad-filtres .widget_price_filter .ui-slider .ui-slider-handle:focus-visible { box-shadow: 0 0 0 4px rgb(212 123 44 / 0.35); }
.ad-filtres .widget_price_filter .price_slider_amount { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; text-align: left !important; line-height: 1.4 !important; }
.ad-filtres .widget_price_filter .price_slider_amount .price_label { order: -1; flex: 1 1 100%; color: var(--ad-b-doux); font-size: 0.92rem; }
.ad-filtres .widget_price_filter .price_slider_amount .price_label span { color: var(--ad-b-espresso); font-weight: 600; }
.ad-filtres .widget_price_filter .price_slider_amount .button {
	float: none !important;
	min-height: 40px;
	padding: 0 20px;
	font-size: 0.9rem;
	background-color: var(--ad-b-espresso) !important;
	color: var(--ad-b-creme) !important;
}
.ad-filtres .widget_price_filter .price_slider_amount .button:hover { background-color: var(--ad-b-caramel) !important; color: var(--ad-b-espresso) !important; }
.ad-filtres .widget_price_filter .price_slider_amount .clear { display: none; }

/* Filtres actifs : pastilles à retirer d'un clic */
.ad-filtres .widget_layered_nav_filters ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ad-filtres .widget_layered_nav_filters ul li { float: none !important; margin: 0 !important; padding: 0 !important; }
.ad-filtres .widget_layered_nav_filters ul li a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 34px;
	padding: 0 14px;
	border-radius: 999px;
	background: var(--ad-b-latte);
	color: var(--ad-b-espresso) !important;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none !important;
}
.ad-filtres .widget_layered_nav_filters ul li a::before {
	content: "×" !important;
	position: static !important;
	font-family: inherit !important;
	font-size: 1.1rem;
	line-height: 1;
	color: var(--ad-b-caramelf) !important;
	margin: 0 !important;
}
.ad-filtres .widget_layered_nav_filters ul li a:hover { background: var(--ad-b-caramel); }

/* Tablette et téléphone : filtres dans un panneau qui glisse depuis la gauche */
@media (max-width: 1024px) {
	.ad-boutique-corps { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 28px 24px 72px; }
	.ad-boutique .ad-filtres-ouvrir { display: inline-flex; }
	.ad-boutique .ad-filtres-ouvrir:focus { background: var(--ad-b-espresso); border-color: var(--ad-b-espresso); color: var(--ad-b-creme); }
	.ad-boutique .ad-filtres-ouvrir:hover { background: var(--ad-b-caramel); border-color: var(--ad-b-caramel); color: var(--ad-b-espresso); }
	.ad-boutique .ad-filtres-ouvrir:focus-visible { outline: 2px solid var(--ad-b-caramel); outline-offset: 3px; }
	.ad-filtres {
		position: fixed;
		inset: 0 auto 0 0;
		z-index: 1000;
		width: min(340px, 88vw);
		padding: 0 22px 32px;
		border: 0;
		border-radius: 0 22px 22px 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		transform: translateX(-105%);
		transition: transform 0.3s ease, visibility 0s linear 0.3s;
		visibility: hidden;
	}
	.admin-bar .ad-filtres { top: 0; }
	.ad-filtres-ouverts .ad-filtres { transform: none; visibility: visible; transition: transform 0.3s ease, visibility 0s; }
	.ad-filtres-entete {
		position: sticky;
		top: 0;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 0 -22px;
		padding: 16px 22px;
		background: #fff;
		border-bottom: 1px solid var(--ad-b-bord);
	}
	.ad-filtres-nom { margin: 0; color: var(--ad-b-espresso); font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif; font-size: 1.3rem; font-weight: 600; }
	.ad-boutique .ad-filtres-fermer {
		display: grid;
		place-items: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: var(--ad-b-creme);
		color: var(--ad-b-espresso);
		font-size: 1.6rem;
		line-height: 1;
		cursor: pointer;
	}
	.ad-boutique .ad-filtres-fermer:hover { background: var(--ad-b-latte); color: var(--ad-b-espresso); }
	.ad-filtres-entete + .ad-filtre { border-top: 0; }
	.ad-filtres-voile { position: fixed; inset: 0; z-index: 999; background: rgb(43 26 16 / 0.5); }
	.ad-filtres-voile[hidden] { display: none; }
	.ad-filtres-ouverts, .ad-filtres-ouverts body { overflow: hidden; }
}
@media (max-width: 767px) {
	.ad-boutique-bandeau-inner { padding: 28px 16px 36px; }
	.ad-boutique-corps { padding: 24px 16px 56px; }
	.ad-boutique-outils .woocommerce-result-count { flex: 1 1 100%; order: 3; font-size: 0.9rem; }
	.ad-boutique-outils .woocommerce-ordering { flex: 1 1 0; }
	.ad-boutique-outils .woocommerce-ordering select { width: 100%; }
	.ad-boutique-produits ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.ad-boutique-produits ul.products li.product { padding: 10px 10px 14px !important; }
	.ad-boutique-produits ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; }
	.ad-boutique-produits ul.products li.product .button { align-self: stretch; padding: 0 10px; font-size: 0.85rem; }
}
@media (prefers-reduced-motion: reduce) {
	.ad-filtres, .ad-filtre-liste a, .ad-filtre-liste a::before { transition: none !important; }
}

/* Sélections de la page Boutique ([autodistri_selection]) : en-tête titre | lien, 4 cartes.
   Une sélection vide est masquée. */
.ad-section-selection:not(:has(.ad-selection)) { display: none !important; }
.ad-selection-tete > .e-con, .ad-selection-tete > .elementor-element { width: auto !important; }
.ad-selection-titres { flex: 1 1 320px; }
.ad-selection-titres .elementor-heading-title { margin: 0; }
.ad-selection-lien .elementor-heading-title { margin: 0; white-space: nowrap; }
.ad-selection-lien a {
	display: inline-block;
	padding-block: 10px; /* zone tactile de 44 px */
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-color: rgb(212 123 44 / 0.5);
}
/* Flèche en inline-block : le soulignement du lien ne s'y applique pas. */
.ad-selection-lien a span { display: inline-block; margin-left: 4px; transition: transform 0.2s ease; }
.ad-selection-lien a:hover { text-decoration-color: currentColor; }
.ad-selection-lien a:hover span { transform: translateX(3px); }
.ad-selection .woocommerce ul.products { margin-bottom: 0 !important; grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) {
	.ad-selection .woocommerce ul.products { gap: 16px; }
}
@media (max-width: 899px) {
	.ad-selection .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
	.ad-selection .woocommerce ul.products { gap: 12px; }
	.ad-selection .woocommerce ul.products li.product { padding: 10px 10px 14px !important; }
	.ad-selection .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; }
	.ad-selection .woocommerce ul.products li.product .button { align-self: stretch; justify-content: center; padding: 0 10px; font-size: 0.85rem; }
}
@media (prefers-reduced-motion: reduce) {
	.ad-selection-lien a span { transition: none; }
	.ad-selection-lien a:hover span { transform: none; }
}

/* Barre au-dessus du catalogue : nombre de résultats et tri */
.woocommerce .woocommerce-result-count { margin: 0 0 24px; color: var(--ad-b-doux); line-height: 48px; }
.woocommerce .woocommerce-ordering { margin: 0 0 24px; }
.woocommerce .woocommerce-ordering select {
	min-height: 48px;
	padding: 0 40px 0 16px;
	border: 1.5px solid rgb(83 50 28 / 0.2);
	border-radius: 999px;
	background-color: #fff;
	color: var(--ad-b-espresso);
	font: inherit;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border-radius: 999px;
	color: var(--ad-b-espresso);
	font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--ad-b-latte); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ad-b-espresso); color: var(--ad-b-creme); }

/* Pastille « Promo » */
.woocommerce span.onsale {
	top: 14px !important;
	left: 14px !important;
	right: auto !important;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--ad-b-caramel);
	color: var(--ad-b-espresso);
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	z-index: 3;
}

/* --------------------------------------------------------------------------
   Fiche produit
   -------------------------------------------------------------------------- */
.woocommerce div.product {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	column-gap: clamp(32px, 5vw, 64px);
	row-gap: 48px;
	align-items: start;
}
.woocommerce div.product > * { grid-column: 1 / -1; }
.woocommerce div.product > .woocommerce-product-gallery { grid-column: 1; }
.woocommerce div.product > .summary { grid-column: 2; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
@media (max-width: 900px) {
	.woocommerce div.product { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.woocommerce div.product > .woocommerce-product-gallery,
	.woocommerce div.product > .summary { grid-column: 1; }
}

/* Galerie */
/* Fond blanc des photos fondu dans le fond crème de la page : « multiply » rend le blanc
   transparent sans toucher aux couleurs du paquet. Le fond crème est posé sur le cadre lui-même,
   car le diaporama crée son propre contexte d'empilement. */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	overflow: hidden;
	border-radius: 24px;
	background: var(--ad-b-creme);
}
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .flex-viewport { background: var(--ad-b-creme); }
.woocommerce div.product div.images img { border-radius: 0; mix-blend-mode: multiply; }
.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 12px 0 0;
}
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images .flex-control-thumbs li img {
	aspect-ratio: 1;
	object-fit: cover;
	border: 2px solid transparent;
	border-radius: 14px;
	background: var(--ad-b-creme);
	mix-blend-mode: multiply;
	opacity: 0.65;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}
.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { opacity: 1; border-color: var(--ad-b-caramel); }

/* Résumé : titre, prix, description courte */
.woocommerce div.product .product_title {
	margin: 0 0 14px;
	font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif;
	font-size: clamp(1.9rem, 3.2vw, 2.75rem);
	font-weight: 600;
	line-height: 1.1;
	color: var(--ad-b-espresso);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 20px;
	color: var(--ad-b-caramelf);
	font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif;
	font-size: 2rem;
	font-weight: 600;
}
.woocommerce div.product p.price del,
.woocommerce ul.products li.product .price del { order: 2; color: var(--ad-b-doux); font-size: 0.6em; font-weight: 400; opacity: 0.8; }
.woocommerce div.product p.price ins,
.woocommerce ul.products li.product .price ins { text-decoration: none; }
/* « TTC » (inc/cartes-produits.php) : juste après le prix, avant l'ancien prix barré. */
.woocommerce-price-suffix { font-size: 0.7em; font-weight: 600; letter-spacing: 0.03em; }
.woocommerce div.product p.price .woocommerce-price-suffix,
.woocommerce div.product span.price .woocommerce-price-suffix { order: 1; margin-left: -6px; font-size: 0.45em; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--ad-b-doux); margin-bottom: 24px; }
.woocommerce div.product .woocommerce-product-details__short-description ul { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 8px; }
/* Puce en position absolue (pas de flex : un <strong> deviendrait un élément à part, entouré d'espaces). */
.woocommerce div.product .woocommerce-product-details__short-description li { position: relative; padding-left: 18px; color: var(--ad-b-espresso); }
.woocommerce div.product .woocommerce-product-details__short-description li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ad-b-caramel);
}

/* Stock */
.woocommerce div.product .stock {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	font-weight: 600;
	font-size: 0.95rem;
}
.woocommerce div.product .stock::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.woocommerce div.product .stock.in-stock { color: #2F6B3A; }
.woocommerce div.product .stock.out-of-stock { color: #B3261E; }

/* Quantité + ajout au panier */
.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 0 0 28px;
}
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .quantity .qty {
	width: 84px;
	min-height: 56px;
	border-radius: 999px;
	text-align: center;
	font-weight: 600;
}
.woocommerce div.product form.cart .button {
	float: none;
	flex: 1 1 220px;
	min-height: 56px;
	font-size: 1.05rem;
}

/* Réassurance sous le bouton (ajoutée par functions.php) */
.ad-produit-atouts {
	display: grid;
	gap: 10px;
	margin: 0 0 28px;
	padding: 18px 20px;
	border: 1px solid var(--ad-b-bord);
	border-radius: 16px;
	background: var(--ad-b-creme);
	list-style: none;
}
.ad-produit-atouts li { display: flex; align-items: center; gap: 12px; color: var(--ad-b-espresso); font-size: 0.95rem; }
.ad-produit-atouts svg { flex: none; width: 20px; height: 20px; color: var(--ad-b-caramelf); }
.ad-produit-atouts a { color: var(--ad-b-caramelf); font-weight: 600; }

/* Méta (référence, catégorie) */
.woocommerce div.product .product_meta {
	display: grid;
	gap: 4px;
	padding-top: 18px;
	border-top: 1px solid var(--ad-b-bord);
	color: var(--ad-b-doux);
	font-size: 0.875rem;
}
.woocommerce div.product .product_meta a { color: var(--ad-b-caramelf); }

/* Onglets (description, informations, avis) */
.woocommerce div.product .woocommerce-tabs {
	padding: clamp(24px, 4vw, 44px);
	border: 1px solid var(--ad-b-bord);
	border-radius: 24px;
	background: #fff;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 28px !important;
	padding: 0 !important;
	overflow: visible;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.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 {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 20px !important;
	border-radius: 999px;
	color: var(--ad-b-espresso) !important;
	font-weight: 600 !important;
	transition: background-color 0.2s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { background: rgb(235 220 198 / 0.6); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { background: var(--ad-b-espresso); color: var(--ad-b-creme) !important; }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0; color: var(--ad-b-doux); }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; } /* redit le nom de l'onglet */
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3 { color: var(--ad-b-espresso); font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif; }
.woocommerce table.shop_attributes { border: 0; margin: 0; }
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	padding: 14px 16px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ad-b-bord) !important;
	background: transparent !important;
	font-style: normal;
}
.woocommerce table.shop_attributes th { width: 200px; color: var(--ad-b-espresso); font-weight: 600; }
.woocommerce table.shop_attributes td p { margin: 0; }

/* Informations légales (inc/infos-legales.php) : menus dépliants sous les onglets */
.ad-infos-legales {
	clear: both;
	margin-top: 28px;
	padding: clamp(20px, 3.5vw, 36px) clamp(20px, 4vw, 44px);
	border: 1px solid var(--ad-b-bord);
	border-radius: 24px;
	background: #fff;
}
.ad-infos-legales > h2 {
	margin: 0 0 8px;
	color: var(--ad-b-espresso);
	font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif;
	font-size: clamp(1.25rem, 2.2vw, 1.6rem);
}
.ad-infos-bloc { border-bottom: 1px solid var(--ad-b-bord); }
.ad-infos-bloc summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 2px;
	color: var(--ad-b-espresso);
	font-weight: 600;
	font-size: 1.05rem;
	cursor: pointer;
	list-style: none;
}
.ad-infos-bloc summary::-webkit-details-marker { display: none; }
.ad-infos-bloc summary::after {
	content: "";
	flex: none;
	width: 10px;
	height: 10px;
	margin-right: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-3px) rotate(45deg);
	transition: transform 0.2s ease;
}
.ad-infos-bloc[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.ad-infos-bloc summary:hover,
.ad-infos-bloc summary:focus-visible { color: var(--ad-b-caramelf); }
.ad-infos-bloc summary:focus-visible { outline: 2px solid var(--ad-b-caramel); outline-offset: 2px; border-radius: 6px; }
.ad-infos-contenu { padding: 0 2px 20px; color: var(--ad-b-doux); line-height: 1.6; }
.ad-infos-contenu p { margin: 0 0 10px; }
.ad-infos-contenu strong { color: var(--ad-b-espresso); }
.ad-infos-note,
.ad-infos-avertissement { font-size: 0.875rem; }
.ad-infos-avertissement { margin: 16px 0 0; color: var(--ad-b-doux); }
.ad-infos-nutrition { width: 100%; max-width: 460px; margin: 0; border: 0 !important; border-collapse: collapse; }
.ad-infos-nutrition th,
.ad-infos-nutrition td {
	padding: 10px 4px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ad-b-bord) !important;
	background: transparent !important;
	text-align: left;
	font-weight: 400;
}
.ad-infos-nutrition thead th { color: var(--ad-b-espresso); font-weight: 700; }
.ad-infos-nutrition td { text-align: right; white-space: nowrap; color: var(--ad-b-espresso); }
.ad-infos-nutrition .ad-infos-sous th { padding-left: 20px !important; font-size: 0.9375rem; }

/* Produits liés */
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2,
.ad-panier-corps .cross-sells > h2 {
	margin: 0 0 24px;
	font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif;
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
	color: var(--ad-b-espresso);
}

/* --------------------------------------------------------------------------
   Panier et commande (blocs WooCommerce)
   -------------------------------------------------------------------------- */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout { color: var(--e-global-color-primary, #2B1A10); }
/* Hello décale les blocs « pleine largeur » de -80 px : on les aligne sur le reste de la page. */
.site-main .wp-block-woocommerce-cart.alignwide,
.site-main .wp-block-woocommerce-checkout.alignwide {
	width: auto;
	max-width: none;
	margin-inline: 0;
}
.wc-block-components-button:not(.is-link) {
	min-height: 52px;
	border: 0 !important;
	border-radius: 999px !important;
	background-color: var(--e-global-color-accent, #D47B2C) !important;
	color: var(--e-global-color-primary, #2B1A10) !important;
	font-weight: 600 !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.wc-block-components-button:not(.is-link):hover {
	background-color: var(--e-global-color-primary, #2B1A10) !important;
	color: var(--e-global-color-creme, #FBF5EC) !important;
}
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	border-color: rgb(83 50 28 / 0.12) !important;
}
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout .wc-block-checkout__sidebar {
	padding: 24px !important;
	border: 1px solid rgb(83 50 28 / 0.12);
	border-radius: 22px;
	background: #fff;
	align-self: flex-start;
}
.wc-block-components-product-name { color: var(--e-global-color-primary, #2B1A10) !important; font-weight: 600; text-decoration: none; }
.wc-block-components-product-price,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--e-global-color-caramelf, #A95A17); font-weight: 600; }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border-radius: 12px !important;
	border-color: rgb(83 50 28 / 0.25) !important;
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--e-global-color-accent, #D47B2C) !important;
	box-shadow: 0 0 0 2px rgb(212 123 44 / 0.25) !important;
}
.wc-block-components-quantity-selector { border-radius: 999px !important; overflow: hidden; }
.wc-block-components-quantity-selector::after { border-radius: 999px !important; border-color: rgb(83 50 28 / 0.25) !important; }
.wc-block-cart-items__header,
.wc-block-components-title,
.wc-block-components-checkout-step__title { font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif !important; color: var(--e-global-color-primary, #2B1A10); }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif; }

/* --------------------------------------------------------------------------
   Mon compte (templates/mon-compte.php) : bandeau chocolat de la boutique, puis
   menu du compte à gauche et rubrique à droite ; non connecté : formulaires centrés.
   -------------------------------------------------------------------------- */
.ad-compte-corps { max-width: 1240px; margin-inline: auto; padding: 40px 24px 96px; }
.ad-compte-corps .woocommerce > :empty { display: none; }

/* Connecté : deux colonnes, placées explicitement (des extensions ajoutent parfois des
   éléments avant le menu, qui décalaient tout). */
.ad-compte-connecte .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 24px 40px;
	align-items: start;
}
.ad-compte-connecte .woocommerce > * { grid-column: 1 / -1; }
.ad-compte-connecte .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; }
.ad-compte-connecte .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; }

/* Menu du compte : carte blanche, une icône par rubrique */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 10px;
	list-style: none;
	border: 1px solid var(--ad-b-bord);
	border-radius: var(--ad-b-rayon);
	background: #fff;
	box-shadow: var(--ad-b-ombre);
}
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	--ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1.5'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1.5'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1.5'/%3E%3C/svg%3E");
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 12px;
	color: var(--ad-b-espresso);
	font-weight: 500;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background: currentColor;
	opacity: 0.75;
	-webkit-mask: var(--ad-ico) center / contain no-repeat;
	mask: var(--ad-ico) center / contain no-repeat;
}
.woocommerce-MyAccount-navigation-link--orders a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") !important; }
.woocommerce-MyAccount-navigation-link--downloads a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E") !important; }
.woocommerce-MyAccount-navigation-link--edit-address a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important; }
.woocommerce-MyAccount-navigation-link--payment-methods a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E") !important; }
.woocommerce-MyAccount-navigation-link--edit-account a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") !important; }
.woocommerce-MyAccount-navigation-link--customer-logout a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpath d='m16 17 5-5-5-5'/%3E%3Cpath d='M21 12H9'/%3E%3C/svg%3E") !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: rgb(235 220 198 / 0.6); }
.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible { outline: 2px solid var(--ad-b-caramel); outline-offset: 1px; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--ad-b-espresso); color: var(--ad-b-creme); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before { background: var(--ad-b-caramel); opacity: 1; }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--ad-b-bord); }
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--ad-b-doux); }

/* Rubrique : carte blanche */
.woocommerce-account .woocommerce-MyAccount-content {
	padding: clamp(22px, 3vw, 40px);
	border: 1px solid var(--ad-b-bord);
	border-radius: var(--ad-b-rayon);
	background: #fff;
	box-shadow: var(--ad-b-ombre);
}
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-content p { color: var(--ad-b-doux); line-height: 1.6; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.ad-compte-tuile a) { color: var(--ad-b-caramelf); font-weight: 600; }
.woocommerce-account h2, .woocommerce-account h3 { font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif; color: var(--ad-b-espresso); line-height: 1.2; }
/* Tableaux (commandes) */
.woocommerce-account table.shop_table { border: 0 !important; border-collapse: collapse; margin: 0; }
.woocommerce-account table.shop_table th { padding: 10px 12px !important; border: 0 !important; border-bottom: 1px solid var(--ad-b-bord) !important; color: var(--ad-b-doux); font-size: 0.85rem; font-weight: 600; text-align: left; }
.woocommerce-account table.shop_table td { padding: 14px 12px !important; border: 0 !important; border-bottom: 1px solid var(--ad-b-bord) !important; vertical-align: middle; }
.woocommerce-account table.shop_table .button { min-height: 38px; padding: 0 16px; font-size: 0.88rem; }
/* Adresses */
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 20px; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; padding: 20px; border-radius: 16px; background: var(--ad-b-creme); }
.woocommerce-account .woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; }
.woocommerce-account .woocommerce-Address-title h2 { margin: 0; font-size: 1.2rem; }
.woocommerce-account .woocommerce-Address-title .edit { float: none; }
.woocommerce-account address { margin-top: 12px; color: var(--ad-b-espresso); font-style: normal; line-height: 1.6; }
.woocommerce-account fieldset { margin: 24px 0 0; padding: 20px; border: 1px solid var(--ad-b-bord); border-radius: 16px; }
.woocommerce-account fieldset legend { padding: 0 8px; font-weight: 600; color: var(--ad-b-espresso); }

/* Tableau de bord (woocommerce/myaccount/dashboard.php) */
.ad-compte-bonjour { margin: 0 0 8px; font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.ad-compte-texte { margin: 0; max-width: 60ch; }
.ad-compte-pas-vous { display: block; margin-top: 6px; font-size: 0.9rem; }
.ad-compte-derniere {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin-top: 28px;
	padding: 18px 22px;
	border-radius: 16px;
	background: var(--ad-b-creme);
	border-inline-start: 4px solid var(--ad-b-caramel);
}
.ad-compte-derniere > div { flex: 1 1 240px; }
.ad-compte-derniere p { margin: 0; }
.ad-compte-etiquette { color: var(--ad-b-caramelf) !important; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.ad-compte-commande { color: var(--ad-b-espresso) !important; }
.ad-compte-statut { padding: 4px 12px; border-radius: 999px; background: var(--ad-b-latte); color: var(--ad-b-espresso); font-size: 0.85rem; font-weight: 600; }
.ad-compte-statut--completed { background: #DDEBD5; color: #2F5A1E; }
.ad-compte-statut--processing { background: #FBE3C7; color: #8A4A0E; }
.ad-compte-statut--cancelled, .ad-compte-statut--failed { background: #F6D6D3; color: #8C2A21; }
.ad-compte-tuiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; }
.ad-compte-tuile a {
	--ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	padding: 20px;
	border: 1px solid var(--ad-b-bord);
	border-radius: 18px;
	background: #fff;
	color: var(--ad-b-espresso);
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.ad-compte-tuile--adresses a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.ad-compte-tuile--details a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.ad-compte-tuile--boutique a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 8h1a4 4 0 0 1 0 8h-1'/%3E%3Cpath d='M3 8h14v9a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4z'/%3E%3Cpath d='M6 2v2M10 2v2M14 2v2'/%3E%3C/svg%3E"); }
.ad-compte-tuile a:hover { transform: translateY(-3px); border-color: rgb(212 123 44 / 0.45); box-shadow: 0 18px 32px -20px rgb(43 26 16 / 0.4); }
.ad-compte-tuile a:focus-visible { outline: 2px solid var(--ad-b-caramel); outline-offset: 2px; }
.ad-compte-tuile-icone {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 8px;
	border-radius: 50%;
	background: var(--ad-b-caramel);
}
.ad-compte-tuile-icone::before {
	content: "";
	width: 20px;
	height: 20px;
	background: var(--ad-b-espresso);
	-webkit-mask: var(--ad-ico) center / contain no-repeat;
	mask: var(--ad-ico) center / contain no-repeat;
}
.ad-compte-tuile-titre { font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif; font-size: 1.1rem; font-weight: 600; }
.ad-compte-tuile-texte { color: var(--ad-b-doux); font-size: 0.9rem; line-height: 1.45; }
.ad-compte-tuile--boutique a { background: var(--ad-b-espresso); border-color: var(--ad-b-espresso); color: var(--ad-b-creme); }
.ad-compte-tuile--boutique .ad-compte-tuile-texte { color: var(--ad-b-latte); }

/* Non connecté : connexion (et inscription si elle est ouverte) centrées */
.ad-compte-corps:not(.ad-compte-connecte) .woocommerce { max-width: 1000px; margin-inline: auto; }
.ad-compte-corps:not(.ad-compte-connecte) .woocommerce:not(:has(.u-columns)) { max-width: 520px; }
.woocommerce-account .u-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 24px; }
.woocommerce-account .u-columns::before, .woocommerce-account .u-columns::after { display: none; }
.woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2 { float: none; width: auto; }
.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register,
.woocommerce-account form.woocommerce-ResetPassword {
	margin: 0 !important;
	padding: clamp(22px, 3vw, 36px) !important;
	border: 1px solid var(--ad-b-bord) !important;
	border-radius: var(--ad-b-rayon) !important;
	background: #fff;
	box-shadow: var(--ad-b-ombre);
}
.ad-compte-corps:not(.ad-compte-connecte) .woocommerce > h2,
.ad-compte-corps .u-columns h2 { margin: 0 0 16px; font-size: 1.5rem; }
.woocommerce-account .woocommerce-form-login .form-row input.input-text,
.woocommerce-account .woocommerce-form-register .form-row input.input-text,
.woocommerce-account .woocommerce-ResetPassword .form-row input.input-text { width: 100%; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 0 16px 12px 0; font-weight: 500 !important; }
.woocommerce-account .woocommerce-LostPassword a { color: var(--ad-b-caramelf); font-weight: 600; }

@media (max-width: 900px) {
	.ad-compte-connecte .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.ad-compte-connecte .woocommerce > .woocommerce-MyAccount-content { grid-column: 1; grid-row: 2; }
	/* Menu du compte : rangée de pastilles qui défile horizontalement */
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: 6px; padding: 6px; overflow-x: auto; scrollbar-width: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation li { flex: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation li a { padding: 10px 14px; white-space: nowrap; }
	.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0 0 0 6px; border-top: 0; border-inline-start: 1px solid var(--ad-b-bord); }
}
@media (max-width: 767px) {
	.ad-compte-corps { padding: 24px 16px 64px; }
	.woocommerce-account table.shop_table_responsive tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--ad-b-bord); }
	.woocommerce-account table.shop_table_responsive td { border: 0 !important; padding: 6px 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
	.ad-compte-tuile a { transition: none; }
	.ad-compte-tuile a:hover { transform: none; }
}

/* Page 404 (404.php) : recherche dans le bandeau, raccourcis en cartes */
.ad-404-recherche { max-width: 520px; margin-top: 24px; }
.ad-404-recherche .ad-recherche .search-field { background: #fff; border-color: transparent; }
.ad-404-recherche .ad-recherche-envoyer {
	position: absolute;
	right: 5px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--ad-b-caramel);
	color: var(--ad-b-espresso);
	cursor: pointer;
}
.ad-404-recherche .ad-recherche-envoyer svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.ad-404-corps { max-width: 1240px; margin-inline: auto; padding: 48px 24px 96px; }
.ad-404-liens { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.ad-404-liens a {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	height: 100%;
	padding: 26px 56px 26px 26px;
	border: 1px solid var(--ad-b-bord);
	border-radius: var(--ad-b-rayon);
	background: #fff;
	box-shadow: var(--ad-b-ombre);
	color: var(--ad-b-espresso);
	text-decoration: none;
	transition: transform 0.2s ease, border-color 0.2s ease;
}
.ad-404-liens a:hover { transform: translateY(-3px); border-color: rgb(212 123 44 / 0.45); }
.ad-404-liens a:focus-visible { outline: 2px solid var(--ad-b-caramel); outline-offset: 2px; }
.ad-404-titre { font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif; font-size: 1.2rem; font-weight: 600; }
.ad-404-texte { color: var(--ad-b-doux); line-height: 1.5; }
.ad-404-fleche { position: absolute; right: 24px; bottom: 24px; color: var(--ad-b-caramelf); font-size: 1.3rem; }
.ad-404-accueil { margin: 32px 0 0; text-align: center; }
.ad-404-accueil a { color: var(--ad-b-caramelf); font-weight: 600; }
@media (max-width: 767px) { .ad-404-corps { padding: 32px 16px 64px; } }
@media (prefers-reduced-motion: reduce) { .ad-404-liens a { transition: none; } .ad-404-liens a:hover { transform: none; } }

/* Mon compte : icône de la rubrique « Liste de souhaits » */
.woocommerce-MyAccount-navigation-link--liste-de-souhaits a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-9.3-9.1C1.4 8.1 3.4 4.5 7 4.5c2 0 3.6 1.1 5 3 1.4-1.9 3-3 5-3 3.6 0 5.6 3.6 4.3 6.9-1.8 4.5-9.3 9.1-9.3 9.1z'/%3E%3C/svg%3E") !important; }
.ad-compte-tuile--paiement a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E"); }
.ad-compte-tuile--souhaits a { --ad-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-9.3-9.1C1.4 8.1 3.4 4.5 7 4.5c2 0 3.6 1.1 5 3 1.4-1.9 3-3 5-3 3.6 0 5.6 3.6 4.3 6.9-1.8 4.5-9.3 9.1-9.3 9.1z'/%3E%3C/svg%3E"); }

/* Mon compte > Adresses : copier une adresse vers l'autre (inc/compte-adresses.php) */
.ad-adresse-copie { margin: 14px 0 0; }
.ad-adresse-copier {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 16px;
	border: 1.5px solid rgb(83 50 28 / 0.25);
	border-radius: 999px;
	background: #fff;
	color: var(--e-global-color-primary, #2B1A10);
	font: inherit;
	font-size: 0.88rem;
	font-weight: 600;
	font-style: normal;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}
.woocommerce-account .ad-adresse-copier:hover,
.woocommerce-account .ad-adresse-copier:focus { border-color: var(--e-global-color-accent, #D47B2C); background: rgb(235 220 198 / 0.5); color: var(--e-global-color-primary, #2B1A10); }
.ad-adresse-copier:focus-visible { outline: 2px solid var(--e-global-color-accent, #D47B2C); outline-offset: 2px; }
.ad-adresse-copier svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ad-adresse-reprendre { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 20px; padding: 14px 16px; border-radius: 14px; background: var(--e-global-color-creme, #FBF5EC); }
.ad-adresse-info { color: var(--e-global-color-caramelf, #A95A17); font-size: 0.88rem; font-weight: 600; }

/* --------------------------------------------------------------------------
   Liste de souhaits (inc/liste-souhaits.php) : cœur sur les cartes et la fiche produit
   -------------------------------------------------------------------------- */
.ad-souhait {
	position: absolute;
	top: 24px;
	right: 24px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgb(255 255 255 / 0.92);
	box-shadow: 0 4px 12px -4px rgb(43 26 16 / 0.35);
	color: var(--e-global-color-primary, #2B1A10);
	text-decoration: none;
	transition: transform 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}
.ad-souhait svg { width: 20px; height: 20px; fill: transparent; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; transition: fill 0.2s ease, transform 0.25s ease; }
/* Couleurs imposées : les liens des cartes produit ont leurs propres couleurs (WooCommerce, Elementor). */
a.ad-souhait, a.ad-souhait:focus, a.ad-souhait:visited { color: var(--e-global-color-primary, #2B1A10) !important; }
a.ad-souhait:hover, a.ad-souhait.is-actif, a.ad-souhait.is-actif:focus { color: #C0392B !important; }
.ad-souhait:hover { transform: scale(1.06); }
.ad-souhait:focus-visible { outline: 2px solid var(--e-global-color-accent, #D47B2C); outline-offset: 2px; }
.ad-souhait.is-actif svg { fill: currentColor; animation: ad-coeur 0.35s ease; }
.ad-souhait.is-attente { opacity: 0.6; pointer-events: none; }
@keyframes ad-coeur { 50% { transform: scale(1.3); } }
/* Fiche produit : bouton avec libellé, sous « Ajouter au panier » */
.ad-souhait.ad-souhait--fiche {
	position: static;
	display: inline-flex;
	gap: 10px;
	width: auto;
	height: auto;
	min-height: 44px;
	margin: 4px 0 18px;
	padding: 0 18px 0 14px;
	border: 1.5px solid rgb(83 50 28 / 0.2);
	border-radius: 999px;
	background: #fff;
	box-shadow: none;
	font-weight: 600;
}
.ad-souhait.ad-souhait--fiche:hover { transform: none; border-color: #C0392B; }
.ad-souhait-texte { color: var(--e-global-color-primary, #2B1A10); font-size: 0.95rem; }
/* Message de confirmation */
.ad-souhait-message {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 1001;
	max-width: calc(100vw - 32px);
	padding: 12px 20px;
	border-radius: 999px;
	background: var(--e-global-color-primary, #2B1A10);
	color: var(--e-global-color-creme, #FBF5EC);
	font-size: 0.92rem;
	font-weight: 600;
	box-shadow: 0 14px 34px -12px rgb(0 0 0 / 0.5);
	opacity: 0;
	transform: translate(-50%, 12px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}
.ad-souhait-message.is-visible { opacity: 1; transform: translate(-50%, 0); }
.ad-souhait-message a { color: var(--e-global-color-accent, #D47B2C); text-decoration: underline; text-underline-offset: 3px; }
/* Page Mon compte > Liste de souhaits */
.ad-souhaits-compte { margin: 0 0 18px; }
.ad-souhaits .woocommerce ul.products { grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); margin: 0 !important; }
.ad-souhaits li.product { transition: opacity 0.3s ease, transform 0.3s ease; }
.ad-souhaits li.product.is-retire { opacity: 0; transform: scale(0.96); }
.ad-souhaits-vide { padding: 12px 0; text-align: center; }
.ad-souhaits-vide p { margin: 0 0 6px; }
.ad-souhaits-vide-titre { color: var(--e-global-color-primary, #2B1A10) !important; font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif; font-size: 1.3rem; font-weight: 600; }
.ad-souhaits-vide .button { margin-top: 14px; }
@media (max-width: 767px) {
	.ad-souhait { top: 16px; right: 16px; width: 36px; height: 36px; }
	.ad-souhait svg { width: 18px; height: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.ad-souhait, .ad-souhait svg, .ad-souhait-message, .ad-souhaits li.product { transition: none; animation: none !important; }
}

/* --------------------------------------------------------------------------
   Panier (woocommerce/cart/cart.php, inc/panier-selection.php) : articles à cocher à gauche,
   récapitulatif à droite ; articles décochés gardés pour plus tard, grisés.
   -------------------------------------------------------------------------- */
.ad-panier-corps { max-width: 1240px; margin-inline: auto; padding: 40px 24px 96px; }
.ad-panier-corps .woocommerce > :empty { display: none; }
.ad-panier-corps .woocommerce:has(> .woocommerce-cart-form) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	grid-template-areas: "notes notes" "liste recap" "suite suite";
	gap: 24px 40px;
	align-items: start;
}
.ad-panier-corps .woocommerce > * { grid-column: 1 / -1; }
.ad-panier-corps .woocommerce > .woocommerce-notices-wrapper { grid-area: notes; }
.ad-panier-corps .woocommerce > .woocommerce-cart-form { grid-area: liste; }
.ad-panier-corps .woocommerce > .cart-collaterals { grid-area: recap; width: auto; }
.ad-panier-corps .woocommerce > .cross-sells { grid-area: suite; }
.ad-panier-corps .woocommerce-notices-wrapper > * { margin-bottom: 0 !important; }

/* Barre : « Tout cocher » et compteur */
.ad-panier-barre { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 0 4px; }
.ad-panier-tout { display: inline-flex; align-items: center; gap: 12px; margin: 0; color: var(--ad-b-espresso); font-weight: 600; cursor: pointer; }
.ad-panier-compte { margin: 0; color: var(--ad-b-doux); font-size: 0.95rem; }
.ad-panier-compte strong { color: var(--ad-b-espresso); }
.ad-panier-aide { margin: 6px 4px 18px; color: var(--ad-b-doux); font-size: 0.9rem; }

/* Cases à cocher */
.ad-panier input[type="checkbox"].ad-coche,
.ad-panier input[type="checkbox"].ad-coche-tout {
	-webkit-appearance: none;
	appearance: none;
	flex: none;
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	margin: 0;
	border: 2px solid rgb(83 50 28 / 0.35);
	border-radius: 7px;
	background: #fff;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}
.ad-panier input[type="checkbox"].ad-coche::after,
.ad-panier input[type="checkbox"].ad-coche-tout::after {
	content: "";
	width: 14px;
	height: 14px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
	transform: scale(0);
	transition: transform 0.15s ease;
}
.ad-panier input[type="checkbox"]:is(.ad-coche, .ad-coche-tout):checked { border-color: var(--ad-b-caramel); background: var(--ad-b-caramel); }
.ad-panier input[type="checkbox"]:is(.ad-coche, .ad-coche-tout):checked::after { transform: scale(1); }
.ad-panier input[type="checkbox"]:is(.ad-coche, .ad-coche-tout):hover { border-color: var(--ad-b-caramel); }
.ad-panier input[type="checkbox"]:is(.ad-coche, .ad-coche-tout):focus-visible { outline: 2px solid var(--ad-b-caramel); outline-offset: 3px; }
.ad-panier input[type="checkbox"].ad-coche:disabled { opacity: 0.4; cursor: not-allowed; }

/* Liste : une carte par article */
.woocommerce .ad-panier-liste,
.woocommerce .ad-panier-liste tbody { display: block; width: 100%; margin: 0 !important; border: 0 !important; background: none; }
.ad-panier-liste tbody { display: grid !important; gap: 12px; }
.ad-panier-liste tr.ad-ligne {
	position: relative;
	display: grid;
	grid-template-columns: 24px 84px minmax(0, 1fr) auto 96px 36px;
	align-items: center;
	gap: 16px;
	padding: 14px 16px;
	border: 1px solid var(--ad-b-bord);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--ad-b-ombre);
	transition: background-color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
/* Plus fort que le tableau « responsive » de WooCommerce (cellules à droite, vignette masquée) */
.woocommerce table.ad-panier-liste.shop_table_responsive tr td { display: block !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; }
.woocommerce table.ad-panier-liste.shop_table_responsive tr td::before { display: none !important; }
.woocommerce table.ad-panier-liste.shop_table_responsive tr td.product-thumbnail { display: block !important; }
.woocommerce table.ad-panier-liste.shop_table_responsive tr td.product-subtotal { text-align: right !important; }
.woocommerce table.ad-panier-liste.shop_table_responsive tr.ad-ligne { display: grid !important; }
.ad-panier-liste .product-thumbnail img { display: block; width: 84px !important; height: 84px; object-fit: cover; border-radius: 12px; background: var(--ad-b-creme); }
.ad-panier-liste .product-name { color: var(--ad-b-espresso); line-height: 1.35; }
.ad-panier-liste .product-name > a { color: var(--ad-b-espresso); font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif; font-size: 1.08rem; font-weight: 600; text-decoration: none; }
.ad-panier-liste .product-name > a:hover { color: var(--ad-b-caramelf); }
.ad-panier-liste .ad-prix-unitaire { display: block; margin-top: 4px; color: var(--ad-b-doux); font-size: 0.88rem; }
.ad-panier-liste .ad-prix-unitaire del { opacity: 0.7; }
.ad-panier-liste .ad-prix-unitaire ins { text-decoration: none; color: var(--ad-b-caramelf); font-weight: 600; }
.ad-panier-liste .product-quantity .quantity .qty { width: 76px; min-height: 44px; padding: 6px 8px; border-radius: 999px; text-align: center; }
.ad-panier-liste .product-subtotal { color: var(--ad-b-espresso); font-weight: 600; text-align: right !important; white-space: nowrap; }
.ad-panier-liste .product-remove a.remove {
	display: grid !important;
	place-items: center;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50%;
	color: var(--ad-b-doux) !important;
	font-size: 1.5rem;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.ad-panier-liste .product-remove a.remove:hover { background: #F6D6D3 !important; color: #8C2A21 !important; }
.ad-panier-liste .backorder_notification, .ad-panier-liste .variation { margin: 4px 0 0; font-size: 0.85rem; color: var(--ad-b-doux); }

/* Articles décochés : gardés pour plus tard, en retrait */
.ad-panier-liste tr.ad-ligne-titre { display: block; margin-top: 14px; padding: 0 4px; }
.ad-panier-liste tr.ad-ligne-titre td { color: var(--ad-b-doux); font-size: 0.88rem; }
.ad-panier-liste tr.ad-ligne-titre span { color: var(--ad-b-espresso); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.8rem; }
.ad-panier-liste tr.ad-ligne--decochee { background: rgb(255 255 255 / 0.55); border-style: dashed; box-shadow: none; }
.ad-panier-liste tr.ad-ligne--decochee :is(.product-thumbnail, .product-name, .product-subtotal) { opacity: 0.6; }
.ad-panier-liste tr.ad-ligne--decochee .product-subtotal { font-weight: 500; }
.ad-panier-liste tr.ad-ligne--decochee:hover { background: #fff; }
.ad-panier-liste .ad-ligne-etat { display: inline-block; margin-top: 6px; padding: 2px 10px; border-radius: 999px; background: #F6D6D3; color: #8C2A21; font-size: 0.8rem; font-weight: 600; opacity: 1; }

/* Code promo ; bouton « Mettre à jour » masqué (mise à jour automatique), gardé sans JavaScript */
.ad-panier-liste tr.ad-ligne-actions { display: block; margin-top: 8px; }
.ad-panier-liste tr.ad-ligne-actions td.actions { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.ad-panier-liste .coupon { display: flex; flex-wrap: wrap; gap: 8px; float: none !important; }
.ad-panier-liste .coupon .input-text { width: 200px !important; min-height: 44px; margin: 0 !important; padding: 0 16px !important; border-radius: 999px !important; }
.woocommerce .ad-panier-liste .coupon .button { min-height: 44px; padding: 0 20px; background: transparent; border: 1.5px solid var(--ad-b-espresso); color: var(--ad-b-espresso); }
.woocommerce .ad-panier-liste .coupon .button:hover { background: var(--ad-b-espresso); color: var(--ad-b-creme); }
.woocommerce-js .ad-panier .ad-panier-maj {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-height: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Récapitulatif (cart-totals natif) */
.ad-panier-corps .cart-collaterals { position: sticky; top: 110px; }
/* Avec les suggestions en dessous, le récapitulatif collant glisserait par-dessus : il reste à sa place. */
.ad-panier-corps .woocommerce:has(> .cross-sells) > .cart-collaterals { position: static; }
.ad-panier-corps .cart-collaterals .cart_totals { float: none !important; width: auto !important; padding: 24px; border: 1px solid var(--ad-b-bord); border-radius: var(--ad-b-rayon); background: #fff; box-shadow: var(--ad-b-ombre); }
.ad-panier-corps .cart_totals h2 { margin: 0 0 12px; font-size: 1.3rem; }
.ad-panier-corps .cart_totals table.shop_table { margin: 0 0 8px !important; border: 0 !important; }
.ad-panier-corps .cart_totals table.shop_table th,
.ad-panier-corps .cart_totals table.shop_table td { padding: 12px 0 !important; border: 0 !important; border-top: 1px solid var(--ad-b-bord) !important; background: none !important; vertical-align: top; }
.ad-panier-corps .cart_totals table.shop_table th { color: var(--ad-b-doux); font-weight: 500; }
.ad-panier-corps .cart_totals table.shop_table td { text-align: right; }
.ad-panier-corps .cart_totals .order-total th, .ad-panier-corps .cart_totals .order-total td { color: var(--ad-b-espresso); font-size: 1.2rem; font-weight: 600; }
.ad-panier-corps .cart_totals .order-total .amount { color: var(--ad-b-caramelf); }
.ad-panier-corps .cart_totals .woocommerce-shipping-destination, .ad-panier-corps .cart_totals .shipping-calculator-button { font-size: 0.85rem; }
.ad-panier-corps .cart_totals .shipping-calculator-button { color: var(--ad-b-caramelf); }

/* Livraison : une carte par mode (woocommerce/cart/cart-shipping.php, inc/livraison.php) */
.ad-panier-corps .cart_totals tr.ad-livraison td { text-align: left !important; }
.ad-panier-corps .cart_totals tr.ad-livraison td::before { display: none !important; }
.ad-livraison-titre { margin: 0 0 10px; color: var(--ad-b-doux); font-weight: 500; }
#shipping_method.ad-livraison-choix { display: grid; gap: 8px; margin: 0 !important; padding: 0; list-style: none; }
#shipping_method.ad-livraison-choix .ad-option { position: relative; margin: 0 !important; border: 1.5px solid var(--ad-b-bord); border-radius: 14px; background: #fff; transition: border-color 0.15s ease, background-color 0.15s ease; }
#shipping_method.ad-livraison-choix .ad-option:not(.is-indispo):hover { border-color: rgb(212 123 44 / 0.55); }
#shipping_method.ad-livraison-choix .ad-option.is-choisie, #shipping_method.ad-livraison-choix .ad-option:has(input:checked) { border-color: var(--ad-b-caramel); background: var(--ad-b-creme); }
#shipping_method.ad-livraison-choix .ad-option:has(input:focus-visible) { outline: 2px solid var(--ad-b-caramel); outline-offset: 2px; }
#shipping_method.ad-livraison-choix .ad-option input.shipping_method { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
#shipping_method.ad-livraison-choix .ad-option label,
#shipping_method.ad-livraison-choix .ad-option-ligne { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 12px; align-items: center; margin: 0; padding: 12px 14px; cursor: pointer; line-height: 1.3; }
/* Pas de pastille radio : la carte encadrée en orange indique le mode choisi. */
/* Logo du transporteur (ou tasse Autodistri) dans un cartouche blanc */
#shipping_method.ad-livraison-choix .ad-option-logo { display: flex; align-items: center; justify-content: center; width: 52px; height: 36px; padding: 3px; box-sizing: border-box; border: 1px solid var(--ad-b-bord); border-radius: 8px; background: #fff; color: var(--ad-b-cafe); overflow: hidden; }
#shipping_method.ad-livraison-choix .ad-option-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
#shipping_method.ad-livraison-choix .ad-option-texte { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#shipping_method.ad-livraison-choix .ad-option-nom { color: var(--ad-b-espresso); font-size: 0.95rem; font-weight: 600; }
#shipping_method.ad-livraison-choix .ad-option-detail { color: var(--ad-b-doux); font-size: 0.8rem; }
#shipping_method.ad-livraison-choix .ad-option-prix { color: var(--ad-b-espresso); font-size: 0.95rem; font-weight: 600; white-space: nowrap; text-align: right; }
#shipping_method.ad-livraison-choix .ad-option:has(.ad-option-reco) { margin-top: 8px !important; }
#shipping_method.ad-livraison-choix .ad-option-reco { position: absolute; top: -10px; left: 14px; padding: 2px 9px; border-radius: 999px; background: var(--ad-b-caramel); color: #fff; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.02em; line-height: 1.4; }
#shipping_method.ad-livraison-choix .ad-option-offert { display: inline-block; padding: 3px 10px; border-radius: 999px; background: #E3EFD9; color: #2F5A1F; font-size: 0.8rem; font-weight: 700; }
#shipping_method.ad-livraison-choix .ad-option > :not(input):not(label) { margin: 0 14px 12px; font-size: 0.85rem; }
#shipping_method.ad-livraison-choix .pl-checkout-carrier-image { display: none; } /* Logo ajouté par Packlink : le transporteur est déjà nommé. */
#shipping_method.ad-livraison-choix .ad-option.is-indispo { border-style: dashed; background: transparent; }
#shipping_method.ad-livraison-choix .ad-option.is-indispo .ad-option-ligne { grid-template-columns: 52px minmax(0, 1fr); cursor: default; opacity: 0.6; }
.ad-livraison-seuil { margin: 10px 0 0; padding: 8px 12px; border-radius: 10px; background: var(--ad-b-creme); color: var(--ad-b-cafe); font-size: 0.85rem; }
.ad-livraison-seuil strong { color: var(--ad-b-caramelf); }
.ad-panier-corps .cart_totals .ad-livraison-adresse { margin: 12px 0 0; color: var(--ad-b-doux); }
.ad-panier-corps .cart_totals .ad-livraison-adresse strong { color: var(--ad-b-espresso); font-weight: 600; }
.ad-livraison .woocommerce-shipping-calculator { margin: 4px 0 0; }
.ad-livraison-vide { padding: 14px 16px; border: 1px solid var(--ad-b-bord); border-radius: 14px; background: var(--ad-b-creme); line-height: 1.5; }
.ad-livraison-vide p { margin: 0; font-size: 0.9rem; }
.ad-livraison-vide strong { display: block; margin-bottom: 4px; color: var(--ad-b-espresso); }
.ad-livraison-vide .ad-livraison-vide-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 12px; }
.woocommerce .ad-livraison-vide .button { min-height: 44px; padding: 0 20px; }
.ad-livraison-vide .ad-livraison-vide-mail { color: var(--ad-b-caramelf); font-weight: 600; word-break: break-all; }
@media (max-width: 420px) {
	#shipping_method.ad-livraison-choix .ad-option label { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; padding: 12px; }
	#shipping_method.ad-livraison-choix .ad-option-logo { width: 44px; height: 32px; }
	#shipping_method.ad-livraison-choix .ad-option.is-indispo .ad-option-ligne { grid-template-columns: 44px minmax(0, 1fr); gap: 10px; padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	#shipping_method.ad-livraison-choix .ad-option { transition: none; }
}
.ad-panier-corps .wc-proceed-to-checkout { padding: 8px 0 0 !important; }
.ad-panier-corps .woocommerce .wc-proceed-to-checkout a.checkout-button { display: flex !important; width: 100% !important; min-height: 54px; margin: 0 !important; font-size: 1.05rem; }
.ad-panier-corps .ad-totaux-vide p { margin: 0 0 18px; color: var(--ad-b-doux); line-height: 1.55; }
.ad-panier-corps .woocommerce .ad-totaux-vide .button { width: 100% !important; }

/* Panier vide */
.ad-panier-corps .wc-empty-cart-message, .ad-panier-corps .return-to-shop { max-width: 560px; margin-inline: auto; text-align: center; }
.ad-panier-corps .cart-empty.woocommerce-info { justify-content: center; }

@media (max-width: 1024px) {
	.ad-panier-corps .woocommerce:has(> .woocommerce-cart-form) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "notes" "liste" "recap" "suite"; }
	.ad-panier-corps .cart-collaterals { position: static; }
}
@media (max-width: 767px) {
	.ad-panier-corps { padding: 24px 16px 64px; }
	/* Case et vignette à gauche ; nom en haut ; quantité et total en dessous */
	.ad-panier-liste tr.ad-ligne { grid-template-columns: 24px 64px minmax(0, 1fr) auto; gap: 10px 12px; padding: 14px 40px 14px 12px; align-items: start; }
	.ad-panier-liste tr.ad-ligne .ad-col-coche { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
	.ad-panier-liste tr.ad-ligne .product-thumbnail { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
	.ad-panier-liste tr.ad-ligne .product-name { grid-column: 3 / -1; grid-row: 1; }
	.ad-panier-liste tr.ad-ligne .product-quantity { grid-column: 3; grid-row: 2; }
	.ad-panier-liste tr.ad-ligne .product-subtotal { grid-column: 4; grid-row: 2; align-self: center; }
	.ad-panier-liste .product-thumbnail img { width: 64px !important; height: 64px; }
	.ad-panier-liste .product-name > a { font-size: 1rem; }
	.ad-panier-liste .product-quantity .quantity .qty { width: 64px; min-height: 40px; }
	.ad-panier-liste .product-remove { position: absolute; top: 6px; right: 4px; }
	.ad-panier-liste .coupon { flex: 1 1 100%; }
	.ad-panier-liste .coupon .input-text { flex: 1 1 auto; width: auto !important; }
}
@media (prefers-reduced-motion: reduce) {
	.ad-panier input[type="checkbox"]::after, .ad-panier-liste tr.ad-ligne { transition: none !important; }
}

/* Lien « Votre panier » du bloc mini-panier et titres de page WooCommerce */
.woocommerce-page:not(.elementor-page) .page-header { margin-bottom: 8px; }

/* --------------------------------------------------------------------------
   Commande : choix du point relais Packlink (bouton sous l'option, panneau des points).
   Packlink ouvre et ferme #pl-picker-modal par style="display: block | none" ; le voile,
   Échap, le blocage du défilement de la page et le nettoyage des adresses : inc/livraison.php.
   -------------------------------------------------------------------------- */
.wc-block-components-shipping-rates-control #packlink-drop-off { margin-top: 2px; }
.wc-block-components-shipping-rates-control #packlink-drop-off-picker {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 0;
	margin: 0;
	padding: 7px 15px;
	border: 1.5px solid var(--e-global-color-accent, #D47B2C);
	border-radius: 999px;
	background: #fff;
	box-shadow: none;
	color: var(--e-global-color-caramelf, #A95A17);
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.wc-block-components-shipping-rates-control #packlink-drop-off-picker::before {
	content: "";
	flex: none;
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wc-block-components-shipping-rates-control #packlink-drop-off-picker:hover,
.wc-block-components-shipping-rates-control #packlink-drop-off-picker:focus-visible {
	background: var(--e-global-color-accent, #D47B2C);
	color: var(--e-global-color-primary, #2B1A10);
}
.wc-block-components-shipping-rates-control #packlink-drop-off-picker:focus-visible { outline: 2px solid var(--e-global-color-accent, #D47B2C); outline-offset: 2px; }
.wc-block-components-radio-control__label-group .woocommerce-shipping-destination {
	max-width: none !important;
	font-size: 0.84rem !important;
	line-height: 1.45;
	color: var(--e-global-color-doux, #6B5646);
}
.woocommerce-shipping-destination strong { color: var(--e-global-color-primary, #2B1A10); font-weight: 600; }

/* Panneau : à droite sur ordinateur, en bas sur téléphone. */
body #pl-picker-modal {
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
	width: min(460px, 100vw);
	height: 100%;
	box-sizing: border-box;
	padding-top: 72px;
	z-index: 100001;
	background: var(--e-global-color-creme, #FBF5EC);
	box-shadow: -30px 0 70px -30px rgb(43 26 16 / 0.5);
	color: var(--e-global-color-primary, #2B1A10);
	font-family: var(--e-global-typography-text-font-family, "DM Sans"), system-ui, sans-serif;
	overscroll-behavior: contain;
	animation: ad-relais-droite 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
}
body #pl-picker-modal::before {
	content: "Choisir un point relais";
	position: absolute;
	inset: 0 0 auto;
	height: 72px;
	display: flex;
	align-items: center;
	padding: 0 68px 0 24px;
	box-sizing: border-box;
	border-bottom: 1px solid rgb(83 50 28 / 0.12);
	font-family: var(--e-global-typography-primary-font-family, Fraunces), Georgia, serif;
	font-size: 1.3rem;
	font-weight: 600;
}
body #pl-picker-modal #pl-picker-modal-close {
	top: 16px;
	right: 18px;
	width: 40px;
	height: 40px;
	border: 1px solid rgb(83 50 28 / 0.15) !important;
	border-radius: 50%;
	background: #fff;
	box-shadow: none;
	transition: background-color 0.15s ease;
}
body #pl-picker-modal #pl-picker-modal-close:hover { background: var(--e-global-color-latte, #EBDCC6); }
body #pl-picker-modal #pl-picker-modal-close path { stroke: var(--e-global-color-primary, #2B1A10); stroke-width: 1.6; }
#pl-picker-modal location-picker { display: block; height: 100%; }
#pl-picker-modal .lp-content { height: 100%; min-height: 0; background: transparent; }
#pl-picker-modal .lp-locations { height: 100%; padding: 0 18px 28px; box-sizing: border-box; overscroll-behavior: contain; scrollbar-width: thin; }

/* Recherche, collée en haut de la liste */
#pl-picker-modal .lp-input-wrapper { position: sticky; top: 0; z-index: 2; height: auto; margin: 0 0 4px; padding: 16px 0 12px; background: var(--e-global-color-creme, #FBF5EC); }
#pl-picker-modal .lp-input-wrapper > .input { width: 100%; }
#pl-picker-modal .lp-input-wrapper > .input > input {
	height: 52px;
	padding: 20px 16px 4px;
	border: 1px solid rgb(83 50 28 / 0.25) !important;
	border-radius: 12px;
	background: #fff;
	color: var(--e-global-color-primary, #2B1A10);
	font: 500 0.95rem/1.2 var(--e-global-typography-text-font-family, "DM Sans"), system-ui, sans-serif;
}
#pl-picker-modal .lp-input-wrapper > .input > input:focus { border-color: var(--e-global-color-accent, #D47B2C) !important; box-shadow: 0 0 0 2px rgb(212 123 44 / 0.25); }
#pl-picker-modal .lp-input-wrapper > .input > .label,
#pl-picker-modal .lp-input-wrapper > .input > input:focus + .label,
#pl-picker-modal .lp-input-wrapper > .input > input:valid + .label {
	left: 16px;
	text-transform: none;
	font: 500 0.92rem/1.2 var(--e-global-typography-text-font-family, "DM Sans"), system-ui, sans-serif !important;
	color: var(--e-global-color-doux, #6B5646);
	transition: top 0.2s ease, font-size 0.2s ease;
}
#pl-picker-modal .lp-input-wrapper > .input > .label { top: 17px; }
#pl-picker-modal .lp-input-wrapper > .input > input:focus + .label,
#pl-picker-modal .lp-input-wrapper > .input > input:valid + .label { top: 8px; font-size: 0.72rem !important; }

/* Un point = une carte (présentation compacte quelle que soit la largeur d'écran) */
#pl-picker-modal .lp-collapse { display: none !important; }
#pl-picker-modal .lp-expand { display: block !important; }
#pl-picker-modal .lp-location-wrapper {
	display: block;
	min-height: 0;
	margin: 0 0 10px;
	padding: 14px 16px;
	border: 1.5px solid rgb(83 50 28 / 0.12);
	border-radius: 14px;
	background: #fff;
	cursor: default;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
#pl-picker-modal .lp-location-wrapper:hover { border-color: rgb(212 123 44 / 0.55); box-shadow: 0 10px 24px -18px rgb(43 26 16 / 0.45); }
#pl-picker-modal .lp-location-wrapper.selected { border-color: var(--e-global-color-accent, #D47B2C); background: #fffaf3; }
#pl-picker-modal .lp-location-wrapper > * { min-height: 0; color: var(--e-global-color-doux, #6B5646); font: 400 0.84rem/1.45 var(--e-global-typography-text-font-family, "DM Sans"), system-ui, sans-serif; }
#pl-picker-modal .lp-location-wrapper > .composite { margin: 0; line-height: 1.45; }
#pl-picker-modal .street-name { letter-spacing: 0.02em; }
#pl-picker-modal .street-name b { display: block; margin-bottom: 2px; color: var(--e-global-color-primary, #2B1A10); font-size: 0.92rem; font-weight: 700; letter-spacing: 0.01em; }
#pl-picker-modal .lp-working-hours-btn { margin-top: 6px; color: var(--e-global-color-caramelf, #A95A17); font-size: 0.8rem; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
#pl-picker-modal .lp-working-hours { width: auto; max-width: 280px; }
#pl-picker-modal .lp-hour-wrapper * { height: 22px; line-height: 22px; color: var(--e-global-color-doux, #6B5646); }
#pl-picker-modal .lp-hour-wrapper .day { font-size: 0.78rem; font-weight: 700; }
#pl-picker-modal .lp-hour-wrapper .hours { font-size: 0.8rem; }
#pl-picker-modal .lp-select-column { display: flex; align-items: center; gap: 14px; min-width: 0; margin-top: 10px; }
#pl-picker-modal .lp-select-button {
	height: auto;
	margin: 0;
	padding: 7px 18px;
	border: 1.5px solid var(--e-global-color-accent, #D47B2C);
	border-radius: 999px;
	background: var(--e-global-color-accent, #D47B2C);
	color: var(--e-global-color-primary, #2B1A10);
	font-size: 0.84rem;
	font-weight: 600;
	line-height: 1.2;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
#pl-picker-modal .lp-select-button:hover { border-color: var(--e-global-color-primary, #2B1A10); background: var(--e-global-color-primary, #2B1A10); color: var(--e-global-color-creme, #FBF5EC); }
#pl-picker-modal .lp-select-column a { color: var(--e-global-color-doux, #6B5646); font-size: 0.8rem; text-decoration: underline; text-underline-offset: 2px; }
#pl-picker-modal .lp-select-column a:hover { color: var(--e-global-color-caramelf, #A95A17); }
#pl-picker-modal .lp-spinner-wrapper { background: var(--e-global-color-creme, #FBF5EC); }
#pl-picker-modal .lp-spinner { border-color: var(--e-global-color-latte, #EBDCC6); border-left-color: var(--e-global-color-accent, #D47B2C); }

.ad-relais-voile { position: fixed; inset: 0; z-index: 100000; background: rgb(43 26 16 / 0.45); animation: ad-relais-fondu 0.25s ease; }
.ad-relais-voile[hidden] { display: none; }
html.ad-relais-ouvert, html.ad-relais-ouvert body { overflow: hidden; }
html.ad-relais-ouvert .cky-btn-revisit-wrapper { display: none; } /* pastille cookies, au-dessus de tout */

@keyframes ad-relais-droite { from { transform: translateX(100%); } to { transform: none; } }
@keyframes ad-relais-bas { from { transform: translateY(100%); } to { transform: none; } }
@keyframes ad-relais-fondu { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 767px) {
	body #pl-picker-modal {
		top: auto;
		left: 0;
		width: 100%;
		height: 88vh;
		height: 88dvh;
		padding-top: 64px;
		border-radius: 22px 22px 0 0;
		box-shadow: 0 -20px 60px -20px rgb(43 26 16 / 0.5);
		animation-name: ad-relais-bas;
	}
	body #pl-picker-modal::before { height: 64px; padding-left: 18px; font-size: 1.15rem; }
	body #pl-picker-modal #pl-picker-modal-close { top: 12px; right: 14px; }
	#pl-picker-modal .lp-locations { padding: 0 12px 24px; }
	#pl-picker-modal .lp-input-wrapper { padding-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	body #pl-picker-modal, .ad-relais-voile { animation: none; }
}