/* ==========================================================================
   La Boutique du Pro — panier.css (pages Panier et Paiement uniquement, inc/panier.php)
   Maquettes « Panier - propositions » et « Paiement 1b » (Claude Design, 02/10/2026).

   A. Page Panier : panier CLASSIQUE de WooCommerce, gabarits du thème (woocommerce/cart/cart.php,
      cart-totals.php, cart-empty.php). Deux colonnes sur ordinateur (articles | récapitulatif gris),
      une colonne sur téléphone avec le bouton « Payer » fixé en bas de l'écran.
   B. Page Paiement : bloc Commande NATIF de WooCommerce habillé (étapes en cartes, moyens de paiement en
      accordéon, récapitulatif gris avec le total en grand), avec l'en-tête et le pied de page du site.
   C. Commun aux deux : champs, messages, fenêtre des points relais (WCMultiShipping).
   Mobile d'abord ; ordinateur à partir de 1024 px.
   ========================================================================== */

:root {
	--lbdp-recap-fond: #F5F5F4;   /* récapitulatif gris (maquettes) */
	--lbdp-carte-bord: #DADADA;   /* cartes des étapes, lignes du récapitulatif */
	--lbdp-vert-texte: #1E7A44;   /* « Offerte », remise, délai en stock, coches */
	--lbdp-ambre: #8A4F00;        /* délai « sur commande » */
	--lbdp-ambre-point: #B86A00;
	--lbdp-mixte-fond: #FFF6E8;   /* message « commande mixte » */
	--lbdp-mixte-bord: #F0D3A4;
	--lbdp-mixte-texte: #3D2A0A;
}

.woocommerce-cart .lbdp-page,
.woocommerce-checkout .lbdp-page { padding-bottom: 3rem; }
.woocommerce-cart .lbdp-contenu,
.woocommerce-checkout .lbdp-contenu { color: var(--lbdp-texte); font-size: .875rem; line-height: 1.5; }
/* Les listes et titres du panier ne prennent pas le style éditorial de .lbdp-contenu */
.lbdp-contenu :is(.lbdp-panier-page, .lbdp-panier-vide, .wc-block-checkout) :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
.lbdp-contenu :is(.lbdp-panier-page, .lbdp-panier-vide, .wc-block-checkout) li + li { margin-top: 0; }
.lbdp-contenu :is(.lbdp-panier-page, .lbdp-panier-vide) :is(h1, h2, h3) { margin: 0; }
.lbdp-contenu :is(.wc-block-cart-items, .wc-block-checkout) :is(th, td) { padding: 0; border: 0; }

/* Délai d'un article (panier, récapitulatif du paiement) : point de couleur + texte. */
.lbdp-delai-article { display: inline-flex; align-items: baseline; gap: 6px; color: var(--lbdp-vert-texte); font-size: .75rem; font-weight: 600; line-height: 1.4; }
.lbdp-delai-article::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: currentColor; transform: translateY(-1px); }
.lbdp-delai-article--commande { color: var(--lbdp-ambre); }
.lbdp-delai-article--commande::before { background: var(--lbdp-ambre-point); }

/* Message « commande mixte » (panier et paiement) */
.lbdp-commande-mixte {
	display: grid; gap: 4px; margin: 1rem 0 0; padding: 14px 16px;
	border: 1px solid var(--lbdp-mixte-bord); border-radius: 10px; background: var(--lbdp-mixte-fond);
	font-size: .8125rem; line-height: 1.55;
}
.lbdp-commande-mixte__titre { margin: 0; color: var(--lbdp-texte); font-size: .875rem; font-weight: 600; }
.lbdp-commande-mixte__texte { margin: 0; color: var(--lbdp-mixte-texte); }
.lbdp-commande-mixte a { color: var(--lbdp-texte); font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.lbdp-commande-mixte a:hover { color: var(--lbdp-orange); }

/* ==========================================================================
   A. PAGE PANIER
   ========================================================================== */

.lbdp-panier-page { display: grid; gap: 1.25rem; padding-top: 1rem; }
@media (min-width: 1024px) {
	.lbdp-panier-page { grid-template-columns: minmax(0, 1fr) 380px; align-items: start; gap: 40px; padding-top: 1.75rem; }
}
@media (min-width: 1280px) {
	.lbdp-panier-page { grid-template-columns: minmax(0, 1fr) 420px; gap: 56px; }
}
.lbdp-panier-page__principal { min-width: 0; }
.lbdp-panier-page__tete { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .625rem; margin-bottom: 1rem; }
.lbdp-panier-page__titre { color: var(--lbdp-texte); font-size: 1.5rem; font-weight: 700; line-height: 1.2; }
.lbdp-panier-page__nombre { color: var(--lbdp-texte-3); font-size: .875rem; }
@media (min-width: 1024px) {
	.lbdp-panier-page__titre { font-size: 1.875rem; }
}

/* Encart « livraison offerte » (téléphone) */
.lbdp-panier-etat {
	display: grid; gap: 8px; margin-bottom: .75rem; padding: 12px 14px;
	border: 1px solid var(--lbdp-carte-bord); border-radius: 10px; background: var(--lbdp-recap-fond);
}
.lbdp-panier-etat__titre { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin: 0; color: var(--lbdp-texte); font-size: .8125rem; font-weight: 600; }
.lbdp-panier-etat__ok { display: inline-flex; align-items: center; gap: 4px; color: var(--lbdp-vert-texte); }
.lbdp-panier-etat__ok + .lbdp-panier-etat__ok::before { content: "·"; margin-right: 4px; color: var(--lbdp-vert-texte); }
.lbdp-panier-etat__barre {
	display: block; width: 100%; height: 6px; overflow: hidden; border: 0; border-radius: 3px; background: var(--lbdp-bord);
	-webkit-appearance: none; appearance: none;
}
.lbdp-panier-etat__barre::-webkit-progress-bar { border-radius: 3px; background: var(--lbdp-bord); }
.lbdp-panier-etat__barre::-webkit-progress-value { border-radius: 3px; background: var(--lbdp-orange); }
.lbdp-panier-etat__barre::-moz-progress-bar { border-radius: 3px; background: var(--lbdp-orange); }

/* Bandeau livraison (ordinateur ; sur téléphone, l'encart ci-dessus le remplace) */
.lbdp-panier-page__livraison { display: none; }
.lbdp-panier-page__coche {
	display: inline-flex; flex: none; align-items: center; justify-content: center; width: 18px; height: 18px;
	border-radius: 50%; background: var(--lbdp-vert-texte); color: #fff;
}
@media (min-width: 1024px) {
	.lbdp-panier-etat { display: none; }
	.lbdp-panier-page__livraison { display: block; margin: 0 0 1.25rem; padding: 1rem 1.25rem 1.125rem; border: 1px solid var(--lbdp-orange-bord); border-radius: 10px; font-size: .875rem; }
	.lbdp-panier-page__livraison.est-offerte { border-color: #BFDDC9; }
	.lbdp-panier-page__livraison .lbdp-livraison-offerte__texte { font-weight: 400; }
	/* Texte et jauge respirent (Enes, 09/10/2026) : le bloc est en display: block, le gap du composant ne joue pas ici */
	.lbdp-panier-page__livraison .lbdp-livraison-offerte__barre { margin-top: .75rem; height: 8px; border-radius: 4px; }
}

/* En-têtes de colonnes (ordinateur) et lignes d'articles */
.lbdp-panier-page__colonnes { display: none; }
.lbdp-panier-ligne {
	display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; column-gap: 12px;
	grid-template-areas:
		"img marque  total"
		"img nom     total"
		"img details details"
		"img delai   delai"
		"img qte     retirer";
	padding: 14px 0; border-bottom: 1px solid var(--lbdp-bord);
}
.lbdp-panier-ligne__infos { display: contents; }
.lbdp-panier-ligne__vignette { grid-area: img; align-self: start; }
.lbdp-panier-ligne__image,
.lbdp-panier-ligne__vignette img {
	display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain;
	padding: 3px; border: 1px solid var(--lbdp-champ); border-radius: var(--lbdp-r-carte); background: #fff;
}
.lbdp-panier-ligne__marque { grid-area: marque; color: var(--lbdp-texte-3); font-size: .6875rem; line-height: 1.4; }
.lbdp-panier-ligne__nom { grid-area: nom; color: var(--lbdp-texte); font-size: .8125rem; font-weight: 500; line-height: 1.35; text-decoration: none; }
.lbdp-contenu a.lbdp-panier-ligne__nom { color: var(--lbdp-texte); text-decoration: none; }
.lbdp-contenu a.lbdp-panier-ligne__nom:hover { color: var(--lbdp-orange); }
.lbdp-panier-ligne__details { grid-area: details; margin-top: 2px; color: var(--lbdp-texte-3); font-size: .75rem; line-height: 1.4; }
.lbdp-panier-ligne .lbdp-delai-article { grid-area: delai; margin-top: 2px; font-size: .6875rem; }
.lbdp-panier-ligne__quantite { grid-area: qte; margin-top: 10px; }
.lbdp-panier-ligne__retirer-zone { grid-area: retirer; align-self: center; justify-self: end; margin-top: 10px; }
.lbdp-contenu a.lbdp-panier-ligne__retirer {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 2px; color: var(--lbdp-texte-3); font-size: .75rem; text-decoration: underline; text-underline-offset: 2px; /* zone tactile 40 px (05/10/2026) */
}
.lbdp-contenu a.lbdp-panier-ligne__retirer:hover { color: var(--lbdp-erreur); }
.lbdp-panier-ligne__total { grid-area: total; display: flex; flex-direction: column; align-items: flex-end; line-height: 1.3; white-space: nowrap; }
.lbdp-panier-ligne__ttc { color: var(--lbdp-texte); font-size: .875rem; font-weight: 700; }
.lbdp-panier-ligne__ttc.est-promo { color: var(--lbdp-orange); }
.lbdp-panier-ligne__barre { color: var(--lbdp-texte-3); font-size: .75rem; }
.lbdp-panier-ligne__ht { color: var(--lbdp-texte-3); font-size: .6875rem; }
.lbdp-panier-ligne .lbdp-quantite { border-color: var(--lbdp-champ); border-radius: var(--lbdp-r-carte); }

@media (min-width: 768px) {
	.lbdp-panier-page__colonnes {
		display: grid; grid-template-columns: minmax(0, 1fr) 130px 120px; gap: 16px;
		padding: 0 4px .5rem; border-bottom: 1px solid var(--lbdp-bord);
		color: var(--lbdp-texte-3); font-size: .75rem;
	}
	.lbdp-panier-page__colonnes span:nth-child(2) { text-align: center; }
	.lbdp-panier-page__colonnes span:nth-child(3) { text-align: right; }
	.lbdp-panier-ligne {
		grid-template-columns: 72px minmax(0, 1fr) 130px 120px; column-gap: 16px;
		grid-template-areas:
			"img marque  qte total"
			"img nom     qte total"
			"img details qte total"
			"img delai   qte total"
			"img retirer qte total";
		padding: 20px 4px;
	}
	.lbdp-panier-ligne__vignette { margin-right: 4px; }
	.lbdp-panier-ligne__marque { font-size: .75rem; }
	.lbdp-panier-ligne__nom { margin-top: 2px; font-size: .9375rem; }
	.lbdp-panier-ligne__quantite { align-self: center; justify-self: center; margin-top: 0; }
	.lbdp-panier-ligne__retirer-zone { justify-self: start; margin-top: 4px; }
	.lbdp-panier-ligne__total { align-self: center; }
	.lbdp-panier-ligne__ttc { font-size: .9375rem; }
	.lbdp-panier-ligne__ht { font-size: .75rem; }
}

/* Bas de la colonne : « Continuer mes achats » ; « Mettre à jour » seulement sans JavaScript */
.lbdp-panier-page__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1.25rem; }
.lbdp-contenu a.lbdp-panier-page__continuer { color: var(--lbdp-texte); font-size: .875rem; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.lbdp-contenu a.lbdp-panier-page__continuer:hover { color: var(--lbdp-orange); }
.lbdp-js .lbdp-panier-page__maj { display: none; }

/* Récapitulatif (cart-totals.php) */
.lbdp-panier-page__recap { min-width: 0; }
.lbdp-recap { display: flex; flex-direction: column; gap: 14px; }
.lbdp-recap__boite {
	display: flex; flex-direction: column; gap: 14px; padding: 16px;
	border-radius: 12px; background: var(--lbdp-recap-fond);
}
.lbdp-recap__total { order: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "libelle montant" "note montant"; align-items: center; column-gap: 12px; padding-top: 12px; border-top: 1px solid var(--lbdp-carte-bord); }
.lbdp-recap__total-libelle { grid-area: libelle; color: var(--lbdp-texte); font-size: .9375rem; font-weight: 600; }
.lbdp-recap__total-montant { grid-area: montant; color: var(--lbdp-texte); font-size: 1.5rem; font-weight: 700; line-height: 1.1; white-space: nowrap; }
.lbdp-recap__total-note { grid-area: note; color: var(--lbdp-texte-3); font-size: .75rem; }
.lbdp-recap__lignes { order: 1; display: grid; gap: 8px; margin: 0; font-size: .8125rem; }
.lbdp-recap__ligne { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.lbdp-recap__ligne dt { color: var(--lbdp-texte); font-weight: 400; }
.lbdp-recap__ligne dd { margin: 0; color: var(--lbdp-texte); text-align: right; white-space: nowrap; }
.lbdp-recap__ligne dd .woocommerce-Price-amount { font-weight: inherit; }
.lbdp-recap__ligne--remise :is(dt, dd) { color: var(--lbdp-vert-texte); }
.lbdp-recap__ligne--tva :is(dt, dd) { color: var(--lbdp-texte-3); }
.lbdp-recap__ligne .includes_tax { display: none; }
.lbdp-recap__ligne .lbdp-recap__offert { color: var(--lbdp-vert-texte); font-weight: 600; }
.lbdp-recap__ligne .lbdp-recap__a-venir { color: var(--lbdp-texte-3); }

/* Ordre sur téléphone (maquette) : code appliqué (-1), détail (1), total (2), champ code promo (3) ; ordinateur : plus bas */
.lbdp-code-promo { order: 3; }

/* Code promo appliqué : pastille pointillée + « Retirer » */
.lbdp-code-applique {
	order: -1; display: flex; align-items: center; gap: 10px; padding: 8px 10px;
	border: 1px solid #BFDDC9; border-radius: var(--lbdp-r-carte); background: var(--lbdp-vert-clair);
	color: var(--lbdp-vert-texte); font-size: .8125rem;
}
.lbdp-code-applique__code { padding: 2px 8px; border: 1px dashed var(--lbdp-vert-texte); border-radius: var(--lbdp-r-badge); background: #fff; font-size: .75rem; font-weight: 700; letter-spacing: .02em; }
.lbdp-contenu a.lbdp-code-applique__retirer { margin-left: auto; color: var(--lbdp-texte); font-size: .75rem; text-decoration: underline; text-underline-offset: 2px; }
.lbdp-contenu a.lbdp-code-applique__retirer:hover { color: var(--lbdp-erreur); }

/* « Ajouter un code promo » : lien qui déplie le champ */
.lbdp-code-promo__ouvrir { width: fit-content; color: var(--lbdp-texte); font-size: .8125rem; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; list-style: none; }
.lbdp-code-promo__ouvrir::-webkit-details-marker { display: none; }
.lbdp-code-promo__ouvrir:hover { color: var(--lbdp-orange); }
.lbdp-code-promo__champ { display: flex; gap: 8px; margin-top: 10px; }
.lbdp-code-promo__champ input { flex: 1; min-width: 0; height: 44px; min-height: 44px; text-transform: uppercase; }
.lbdp-code-promo__champ .lbdp-bouton { min-height: 44px; padding-inline: 1rem; }
.lbdp-code-promo .coupon-error-notice { margin: 6px 0 0; color: var(--lbdp-erreur); font-size: .75rem; }
.lbdp-code-promo input.has-error { border-color: var(--lbdp-erreur); }

/* Bouton « Payer » : fixé en bas de l'écran sur téléphone */
.lbdp-recap__bouton.lbdp-bouton { display: flex; width: 100%; min-height: 52px; border-radius: var(--lbdp-r-carte); font-size: 1rem; }
.lbdp-recap__payer { display: grid; gap: 8px; }
@media (max-width: 1023.98px) {
	.lbdp-recap__payer {
		position: fixed; inset: auto 0 0; z-index: 30;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid var(--lbdp-bord); background: #fff; box-shadow: 0 -6px 18px rgba(0, 0, 0, .06);
	}
	body.lbdp-page-panier:has(.lbdp-recap__payer) { padding-bottom: calc(74px + env(safe-area-inset-bottom, 0px)); }
}

/* Réassurance et logos */
.lbdp-recap__reassurance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.lbdp-recap__reassurance a { display: grid; gap: 1px; color: var(--lbdp-texte-3); font-size: .75rem; line-height: 1.4; text-decoration: none; }
.lbdp-recap__reassurance strong { color: var(--lbdp-texte); font-weight: 600; }
.lbdp-recap__reassurance a:hover strong { color: var(--lbdp-orange); }
.lbdp-contenu .lbdp-recap__reassurance a { text-decoration: none; }
/* Logos du récapitulatif : les 9 sur UNE ligne, sur toute la largeur (Enes, 06/10/2026 ; avant : 4 par ligne) */
.lbdp-recap__logos .lbdp-logos-paiement { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 4px; }
.lbdp-recap__logos .lbdp-logos-paiement img { width: 100%; }

@media (min-width: 1024px) {
	.lbdp-recap {
		position: sticky; top: calc(var(--lbdp-sous-entete) + 16px);
		gap: 16px; padding: 24px; border-radius: 12px; background: var(--lbdp-recap-fond);
	}
	.lbdp-recap__boite { gap: 16px; padding: 0; background: none; }
	/* Ordinateur : le total d'abord, en grand, juste au-dessus du détail puis du bouton (maquette) */
	.lbdp-recap__total { order: -2; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 0 0 16px; border-top: 0; border-bottom: 1px solid var(--lbdp-carte-bord); }
	.lbdp-recap__total-libelle { color: var(--lbdp-texte-3); font-size: .75rem; font-weight: 500; }
	.lbdp-recap__total-montant { font-size: 2.25rem; }
	.lbdp-recap__total-note { font-size: .8125rem; }
	.lbdp-recap__lignes { order: -1; }
	.lbdp-code-applique { order: 1; }
	.lbdp-code-promo { order: 2; }
}

/* Panier vide */
.lbdp-panier-vide { display: grid; gap: 2.5rem; padding: 1.5rem 0 1rem; }
.lbdp-panier-vide__tete { display: grid; justify-items: center; gap: .75rem; max-width: 560px; margin: 0 auto; text-align: center; }
.lbdp-panier-vide__titre { color: var(--lbdp-texte); font-size: 1.5rem; font-weight: 700; }
.lbdp-panier-vide__texte { margin: 0; color: var(--lbdp-texte-2); font-size: .875rem; line-height: 1.6; }
.lbdp-panier-vide__boutons { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; width: 100%; margin-top: .5rem; }
.lbdp-panier-vide__boutons .lbdp-bouton { border-radius: var(--lbdp-r-carte); }
/* « .lbdp-contenu h2 » : passe devant la remise à zéro des titres du panier (haut du fichier) */
.lbdp-contenu h2.lbdp-panier-vide__sous-titre,
.lbdp-contenu h2.lbdp-panier-suggestions__titre { margin: 0 0 1rem; color: var(--lbdp-texte); font-size: 1.125rem; font-weight: 600; }
.lbdp-panier-vide__categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.lbdp-panier-vide__categorie { display: grid; gap: 8px; color: var(--lbdp-texte); font-size: .875rem; font-weight: 600; text-decoration: none; }
.lbdp-contenu a.lbdp-panier-vide__categorie { text-decoration: none; }
.lbdp-panier-vide__media { display: block; overflow: hidden; aspect-ratio: 1 / 1; border-radius: 10px; background: var(--lbdp-fond); }
.lbdp-panier-vide__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.lbdp-panier-vide__categorie:hover .lbdp-panier-vide__image { transform: scale(1.03); }
.lbdp-panier-vide__categorie:hover .lbdp-panier-vide__nom { color: var(--lbdp-orange); }
.lbdp-panier-vide__produits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lbdp-panier-vide__produits > :nth-child(n + 5) { display: none; }
.lbdp-panier-vide__reassurance { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 2rem; padding-top: 1.5rem; border-top: 1px solid var(--lbdp-bord); color: var(--lbdp-texte-2); font-size: .8125rem; text-align: center; }
@media (min-width: 768px) {
	.lbdp-panier-vide { padding-top: 2.5rem; gap: 3rem; }
	.lbdp-panier-vide__titre { font-size: 2rem; }
	.lbdp-panier-vide__categories { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
	.lbdp-panier-vide__produits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lbdp-panier-vide__produits > :nth-child(n + 4) { display: none; }
}
@media (min-width: 1024px) {
	.lbdp-panier-vide__produits { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.lbdp-panier-vide__produits > :nth-child(n + 4) { display: flex; }
}

/* « Complétez votre tenue » (template-parts/panier-suggestions.php) : cartes produit du thème dans la grille des
   listes (base.css), titre comme « Meilleures ventes » du panier vide. Téléphone : après le récapitulatif, 2 cartes
   par ligne. Ordinateur : colonne de gauche, sous les articles ; le récapitulatif occupe les deux rangées de droite
   (la 2e rangée, « 1fr », absorbe sa hauteur : le bloc suit les articles sans trou). */
.lbdp-panier-suggestions { min-width: 0; margin-top: 1rem; }
@media (min-width: 768px) and (max-width: 1439.98px) {
	.lbdp-panier-suggestions__produits > :nth-child(n + 4) { display: none; } /* 3 colonnes : 3 cartes */
}
@media (min-width: 1024px) {
	.lbdp-panier-page--suggestions { grid-template-rows: auto 1fr; }
	.lbdp-panier-page--suggestions .lbdp-panier-page__recap { grid-column: 2; grid-row: 1 / span 2; }
	.lbdp-panier-suggestions { grid-column: 1; grid-row: 2; margin-top: 0; }
}
@media (min-width: 1024px) and (max-width: 1439.98px) {
	/* colonne de gauche étroite : 4 cartes de 170 px coupaient « Expédition sous 24 h » (essai à 1280 px) */
	.lbdp-panier-suggestions__produits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Messages de WooCommerce au-dessus du panier (article retiré « Annuler ? », code promo appliqué…) */
.woocommerce-cart .woocommerce-notices-wrapper:not(:empty) { margin: 1rem 0 0; }

/* ==========================================================================
   B. PAGE PAIEMENT (maquette 1b)
   ========================================================================== */

.lbdp-tunnel .lbdp-page { padding-top: 1.25rem; }
/* Titre « Validation de commande » : même style que « Votre panier » */
.lbdp-paiement__titre { margin: 0 0 .5rem; color: var(--lbdp-texte); font-size: 1.5rem; font-weight: 700; line-height: 1.2; }
.lbdp-paiement__bonjour { margin: 0 0 1rem; color: var(--lbdp-texte-2); font-size: .9375rem; }
/* Téléphone en petit, sans bouton (D20, 04/10/2026) */
.lbdp-paiement__tel { margin: -.5rem 0 1rem; color: var(--lbdp-texte-3); font-size: .8125rem; }
.lbdp-paiement__tel a { color: inherit; white-space: nowrap; }
@media (min-width: 1024px) {
	.lbdp-paiement__titre { margin-bottom: .75rem; font-size: 1.875rem; }
}
@media (min-width: 1024px) {
	.lbdp-tunnel .lbdp-page { padding-top: 2.5rem; }
	.lbdp-paiement__bonjour { max-width: 620px; }
}

/* Deux colonnes : formulaire (620 px) | récapitulatif en carte grise arrondie, comme sur la page Panier (demande
   d'Enes du 02/10/2026 : il ne prend plus toute la droite de l'écran). Réglé sur la largeur de l'écran, pas sur la
   classe « is-large » que WooCommerce pose après coup (pas de saut de mise en page). */
.wp-block-woocommerce-checkout { font-family: var(--lbdp-police); }
@media (min-width: 1024px) {
	.wc-block-checkout.wc-block-components-sidebar-layout {
		display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 440px); gap: 48px; /* toute la largeur (demande d'Enes du 04/10/2026) */
		margin: 0;
	}
	.wc-block-checkout .wc-block-components-main,
	.wc-block-checkout .wc-block-components-sidebar { width: auto; margin: 0; padding: 0; }
	/* Le récapitulatif vient AVANT le formulaire dans la page (en haut sur téléphone) : colonnes fixées ici. */
	.wc-block-checkout .wc-block-checkout__main { grid-column: 1; grid-row: 1; }
	.wc-block-checkout .wc-block-checkout__sidebar {
		grid-column: 2; grid-row: 1; align-self: start; padding: 24px 28px 28px; border: 0; border-radius: 12px; background: var(--lbdp-recap-fond);
	}
	/* Collé SOUS le menu (+ barre d'admin) en descendant : WooCommerce le collait à son propre décalage et le haut du
	   récapitulatif (total) passait sous le menu (vu le 03/10/2026). Long panier : il défile dans sa colonne. */
	.wc-block-checkout .wc-block-checkout__sidebar,
	.wc-block-checkout .wc-block-checkout__sidebar.is-sticky {
		position: sticky; top: calc(var(--lbdp-sous-entete) + 16px);
		max-height: calc(100vh - var(--lbdp-sous-entete) - 32px); overflow-y: auto; overscroll-behavior: contain;
	}
}
@media (min-width: 1280px) {
	.wc-block-checkout.wc-block-components-sidebar-layout { grid-template-columns: minmax(0, 1fr) minmax(400px, 480px); gap: 56px; }
}

/* Étapes en cartes : numéro, coche verte quand l'étape est remplie, Paiement en avant (bordure noire) */
.wc-block-checkout__form { display: flex; flex-direction: column; counter-reset: lbdp-etape; }
.wc-block-checkout__form > .wc-block-components-checkout-step {
	margin: 0 0 14px; padding: 16px; border: 1px solid var(--lbdp-carte-bord); border-radius: 12px; background: #fff;
	counter-increment: lbdp-etape;
}
.wc-block-checkout__form > .wc-block-components-checkout-step::after { display: none; } /* trait vertical natif des étapes numérotées */
.wc-block-components-checkout-step__heading { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.wc-block-components-checkout-step__heading::before {
	content: counter(lbdp-etape); display: flex; flex: none; align-items: center; justify-content: center; width: 26px; height: 26px;
	border-radius: 50%; background: var(--lbdp-texte); color: #fff; font-size: .8125rem; font-weight: 600;
}
.wc-block-components-checkout-step__title::before { display: none; } /* numéros natifs de WooCommerce */
.wc-block-checkout__form > .wc-block-components-checkout-step:is(#contact-fields:has(input[type="email"]:valid), #shipping-fields:has(.wc-block-components-address-card), #billing-fields:has(.wc-block-components-address-card), #shipping-option:has(input:checked)) .wc-block-components-checkout-step__heading::before {
	content: "✓"; background: var(--lbdp-vert-texte);
}
.wc-block-components-checkout-step__heading .wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__title.wc-block-components-title.wc-block-components-title {
	margin: 0; color: var(--lbdp-texte); font-family: var(--lbdp-police); font-size: 1.0625rem; font-weight: 600; line-height: 1.3; letter-spacing: 0; text-transform: none;
}
.wc-block-components-checkout-step__heading-content { margin-left: auto; font-size: .8125rem; }
.wc-block-components-checkout-step__heading-content a { color: var(--lbdp-texte); text-decoration: underline; text-underline-offset: 2px; }
.wc-block-components-checkout-step__container,
.wc-block-components-checkout-step__content { padding: 0; }
.wc-block-components-checkout-step__description { margin: 0 0 12px; color: var(--lbdp-texte-3); font-size: .8125rem; }
@media (min-width: 768px) {
	.wc-block-checkout__form > .wc-block-components-checkout-step { padding: 18px 22px; }
	.wc-block-components-checkout-step__heading { gap: 16px; }
	.wc-block-components-checkout-step__heading::before { width: 28px; height: 28px; font-size: .875rem; }
}

/* Adresse enregistrée (client connecté) : carte grise résumée + « Modifier » */
.wc-block-components-address-card {
	padding: 14px 16px; border: 0; border-radius: 10px; background: var(--lbdp-recap-fond); color: var(--lbdp-texte-2); font-size: .875rem; line-height: 1.55;
}
.wc-block-components-address-card__address-section--primary { color: var(--lbdp-texte); font-weight: 600; }
.wc-block-components-address-card__edit { color: var(--lbdp-texte); font-size: .8125rem; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.wc-block-components-address-card__edit:hover { color: var(--lbdp-orange); }

/* Bloc Paiement : moyens, notes, bouton et conditions dans UNE carte à bordure noire (maquette 1b) */
.wc-block-checkout__form > #payment-method { order: 10; margin: 0; padding-bottom: 8px; border: 2px solid var(--lbdp-texte); border-bottom: 0; border-radius: 12px 12px 0 0; }
/* La note de commande est elle aussi une « étape » de WooCommerce : sans cadre ni numéro propres, dans la carte Paiement */
.wc-block-checkout__form > #order-notes { order: 11; margin: 0; padding: 4px 16px 8px; border: 0; border-inline: 2px solid var(--lbdp-texte); border-radius: 0; background: #fff; counter-increment: none; }
.wc-block-checkout__form > #order-notes .wc-block-components-checkout-step__heading::before { display: none; }
.wc-block-checkout__form > .wc-block-checkout__actions { order: 12; margin: 0; padding: 8px 16px 6px; border-inline: 2px solid var(--lbdp-texte); background: #fff; }
.wc-block-checkout__form > .wc-block-checkout__terms { order: 13; margin: 0 0 16px; padding: 4px 16px 18px; border: 2px solid var(--lbdp-texte); border-top: 0; border-radius: 0 0 12px 12px; background: #fff; text-align: center; }
.wc-block-checkout__form > div:not([class]) { order: 20; } /* paiement express (PayPal, Google Pay) : après le bloc Paiement */
@media (min-width: 768px) {
	.wc-block-checkout__form > #payment-method { padding: 22px 22px 8px; }
	.wc-block-checkout__form > #order-notes { padding-inline: 22px; }
	.wc-block-checkout__form > .wc-block-checkout__actions { padding-inline: 22px; }
	.wc-block-checkout__form > .wc-block-checkout__terms { padding: 4px 22px 22px; }
}
.wc-block-checkout__terms.wc-block-checkout__terms--with-separator { border-top: 0; }
.wc-block-checkout__terms,
.wc-block-checkout__terms p { color: var(--lbdp-texte-3); font-size: .75rem; line-height: 1.5; }
.wc-block-checkout__terms a { color: var(--lbdp-texte-2); text-decoration: underline; text-underline-offset: 2px; }
.wc-block-checkout__order-notes .wc-block-components-checkbox { margin-top: 4px; }
.wc-block-checkout__actions_row { gap: 1rem; }
.wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button { display: none; } /* « Retour au panier » est dans l'en-tête */
.wc-block-components-checkout-place-order-button.wc-block-components-button:not(.is-link) {
	width: 100%; min-height: 56px; border-radius: 10px; font-size: 1.0625rem; font-weight: 600;
}
.wc-block-components-checkout-place-order-button .wc-block-components-button__text { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 0 .375rem; }
@media (min-width: 768px) {
	.wc-block-components-checkout-place-order-button.wc-block-components-button:not(.is-link) { min-height: 58px; font-size: 1.125rem; }
}

/* Accordéon des moyens de paiement : cadre gris, option choisie encadrée de noir, explication sur fond gris */
#payment-method .wc-block-components-radio-control--highlight-checked { overflow: hidden; border: 1px solid var(--lbdp-champ); border-radius: 10px; }
#payment-method .wc-block-components-radio-control--highlight-checked::after { display: none; }
#payment-method .wc-block-components-radio-control-accordion-option { position: relative; margin: 0; border-radius: 0; box-shadow: none; }
#payment-method .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option { border-top: 1px solid var(--lbdp-bord); }
#payment-method .wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	z-index: 1; background: #FAFAF9; box-shadow: none;
}
#payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted::after {
	content: ""; position: absolute; inset: 0; z-index: 3; display: block; height: auto; /* WooCommerce s'en sert comme trait de 1 px */
	border: 2px solid var(--lbdp-texte); border-radius: inherit; background: none; pointer-events: none;
}
/* Coins de la 1re et de la dernière option (le cadre gris est arrondi) ; les autres restent carrées (règle plus haut) */
#payment-method .wc-block-components-radio-control-accordion-option:first-child { border-radius: 9px 9px 0 0; }
#payment-method .wc-block-components-radio-control-accordion-option:last-child { border-radius: 0 0 9px 9px; }
#payment-method .wc-block-components-radio-control-accordion-option:only-child { border-radius: 9px; }
#payment-method .wc-block-components-radio-control__option { min-height: 56px; padding-top: 16px; padding-bottom: 16px; }
#payment-method .wc-block-components-radio-control__label { font-size: .9375rem; font-weight: 500; }
#payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted .wc-block-components-radio-control__label { font-weight: 600; }
#payment-method .wc-block-components-radio-control-accordion-content {
	margin: 0; padding: 14px 18px 16px 52px; border-top: 1px solid var(--lbdp-bord); background: #F4F4F3; text-align: left;
	color: var(--lbdp-texte); font-size: .875rem; line-height: 1.6;
}
#payment-method .wc-block-components-radio-control-accordion-content:empty { display: none; }
#payment-method .wc-block-components-radio-control-accordion-content :is(p, div) { text-align: left; }
/* Logos de cartes des passerelles : les trois premiers (Visa, Mastercard, Amex), pas JCB, Discover, Elo, Hiper */
#payment-method .wc-block-components-payment-method-icons > :nth-child(n + 4) { display: none; }
#payment-method .wc-block-components-payment-method-icons { margin: 0; }
#payment-method .wc-block-components-payment-method-icon { height: 22px; }
#payment-method .wc-block-components-radio-control__label img { max-height: 24px; width: auto; }

/* Boutons radio : rond noir (maquette 1b), partout dans la commande */
.wc-block-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input {
	width: 20px; height: 20px; min-width: 20px; border: 1.5px solid var(--lbdp-texte-3); background: #fff;
}
.wc-block-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked { border: 6px solid var(--lbdp-texte); background: #fff; }
.wc-block-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before { display: none; }
.wc-block-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:focus-visible { outline: 2px solid var(--lbdp-orange); outline-offset: 2px; }

/* Options de livraison : même cadre que les moyens de paiement */
#shipping-option .wc-block-components-radio-control--highlight-checked { overflow: hidden; border: 1px solid var(--lbdp-champ); border-radius: 10px; }
#shipping-option .wc-block-components-radio-control--highlight-checked::after { display: none; }
#shipping-option .wc-block-components-radio-control__option { margin: 0; border-radius: 0; box-shadow: none; }
#shipping-option .wc-block-components-radio-control__option + .wc-block-components-radio-control__option { border-top: 1px solid var(--lbdp-bord); }
#shipping-option .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option.wc-block-components-radio-control__option--checked-option-highlighted {
	background: #FAFAF9; box-shadow: inset 0 0 0 2px var(--lbdp-texte);
}
#shipping-option .wc-block-components-radio-control__secondary-label .wc-block-formatted-money-amount { font-weight: 600; }
#shipping-option .wc-block-components-radio-control__secondary-label { text-transform: none; }
/* Le contour noir suit l'arrondi du cadre (il était carré et coupé dans les coins) */
#shipping-option .wc-block-components-radio-control__option:first-child { border-radius: 9px 9px 0 0; }
#shipping-option .wc-block-components-radio-control__option:last-child { border-radius: 0 0 9px 9px; }
#shipping-option .wc-block-components-radio-control__option:only-child { border-radius: 9px; }
#shipping-option .wc-block-components-radio-control__option:has(input[value^="chronopost_relais"]) { border-radius: 9px 9px 0 0; }
/* Relais choisi : un seul contour noir autour de l'option et du choix du point de retrait */
#shipping-option .wc-block-components-shipping-rates-control:has(input[value^="chronopost_relais"]:checked) label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 2px 2px 0 var(--lbdp-texte), inset -2px 0 0 var(--lbdp-texte);
}
#shipping-option .wc-block-components-shipping-rates-control:has(input[value^="chronopost_relais"]:checked) #wms_pickup_woo_block {
	box-shadow: inset 2px 0 0 var(--lbdp-texte), inset -2px -2px 0 var(--lbdp-texte);
}

/* Récapitulatif (colonne grise) : total en grand en haut, articles, détail, code promo, commande mixte */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { border: 0; border-radius: 0; background: none; }
.wc-block-components-checkout-order-summary__content { display: flex; flex-direction: column; }
.wc-block-components-checkout-order-summary__content > .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) {
	order: -1; padding: 0 0 18px; border: 0; border-bottom: 1px solid var(--lbdp-carte-bord);
}
.wc-block-components-checkout-order-summary__content > .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item)::after { display: none; }
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 0; }
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--lbdp-texte-3); font-size: .8125rem; font-weight: 500; }
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--lbdp-texte); font-size: 2rem; font-weight: 700; line-height: 1.05; }
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item-tax { margin: 0; color: var(--lbdp-texte-2); font-size: .8125rem; }
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-wrapper { padding: 16px 0; border-color: var(--lbdp-carte-bord); }
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-wrapper::after { border-color: var(--lbdp-carte-bord); }
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-item { padding: 3px 0; color: var(--lbdp-texte); font-size: .875rem; }
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-item__value { color: var(--lbdp-texte); font-weight: 500; }
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-item__description { color: var(--lbdp-texte-3); font-size: .75rem; }
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-discount .wc-block-components-totals-item__value,
.wc-block-components-checkout-order-summary__content .wc-block-components-totals-discount .wc-block-components-totals-item__label { color: var(--lbdp-vert-texte); }
.wc-block-components-totals-shipping .wc-block-components-totals-item__value strong { color: var(--lbdp-vert-texte); font-weight: 600; text-transform: none; }
.wc-block-components-checkout-order-summary__content .wp-block-woocommerce-checkout-order-summary-totals-block {
	display: flex; flex-direction: column; gap: 10px; padding: 16px 0; border-top: 1px solid var(--lbdp-carte-bord);
}
.wc-block-components-checkout-order-summary__content .wp-block-woocommerce-checkout-order-summary-totals-block > .wc-block-components-totals-wrapper { padding: 0; border: 0; }
.wc-block-components-checkout-order-summary__content .wp-block-woocommerce-checkout-order-summary-totals-block > .wc-block-components-totals-wrapper::after { display: none; }
.wc-block-components-checkout-order-summary__content .wp-block-woocommerce-checkout-order-summary-totals-block > .wc-block-components-totals-wrapper:empty { display: none; }
.wc-block-components-checkout-order-summary__content .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-item { padding: 0; font-size: .9375rem; }
.wc-block-components-checkout-order-summary__content .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-item__description { margin-top: 2px; }
.wc-block-components-totals-shipping__via { color: var(--lbdp-texte-3); font-size: .75rem; }
@media (min-width: 1024px) {
	.wc-block-checkout.is-large .wc-block-components-checkout-order-summary__title { display: none; } /* le total fait office de titre */
	.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 2.5rem; }
}

/* Articles du récapitulatif : vignette 56 px, quantité en pastille grise, déclinaison « Gris · 42 », délai */
.wc-block-components-order-summary { padding: 0; }
.wc-block-components-order-summary .wc-block-components-order-summary__content { display: grid; gap: 14px; }
.wc-block-components-order-summary-item { display: flex; align-items: center; gap: 14px; padding: 0; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__image { position: relative; flex: none; width: 56px; padding: 0; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__image > img {
	width: 56px; max-width: none; aspect-ratio: 1 / 1; padding: 3px; border: 1px solid var(--lbdp-champ); border-radius: var(--lbdp-r-carte); background: #fff; object-fit: contain;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
	/* transform: none : WooCommerce décale déjà la pastille de la moitié de sa taille ; ajouté aux -8 px, elle
	   mordait sur le début du nom du produit (05/10/2026). */
	top: -8px; right: -8px; transform: none; min-width: 22px; height: 22px; padding: 0 6px; border: 0; border-radius: 11px;
	background: var(--lbdp-texte-3); color: #fff; box-shadow: none; font-size: .75rem; font-weight: 600; line-height: 22px;
}
.wc-block-components-order-summary-item__description { flex: 1; min-width: 0; padding: 0; }
/* Les règles de WooCommerce (2 classes) remettaient 24 px de vide à gauche du nom et une vignette de 48 px dans le
   résumé du bas de la commande sur téléphone (« 4 Résumé de la commande ») : même présentation que le récapitulatif.
   Plus d'air en haut : la pastille de quantité ne touche plus le cadre (Enes, 04/10/2026). */
.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-order-summary-item__description { padding: 0; }
.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-order-summary-item__image { width: 56px; }
.checkout-order-summary-block-fill { border-color: var(--lbdp-carte-bord); border-radius: var(--lbdp-r-carte); background: #fff; }
.checkout-order-summary-block-fill .wp-block-woocommerce-checkout-order-summary-cart-items-block { padding: 20px 0 16px; }
.checkout-order-summary-block-fill .wc-block-components-order-summary .wc-block-components-order-summary__content { gap: 18px; }
.wc-block-components-order-summary-item__description .wc-block-components-product-name { display: block; margin: 0; color: var(--lbdp-texte); font-size: .875rem; font-weight: 500; line-height: 1.35; }
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__description .wc-block-cart-item__prices { display: none; }
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata { display: flex; flex-direction: column; margin-top: 2px; }
/* Données de l'article (délai) affichées par WooCommerce AVANT la déclinaison : remises dessous (« Gris · 42 », puis délai) */
.wc-block-components-order-summary-item__description .wc-block-components-product-details:has(.lbdp-delai-article) { order: 2; }
.wc-block-components-order-summary-item__description .wc-block-components-product-details {
	display: flex; flex-wrap: wrap; gap: 0; margin: 0; color: var(--lbdp-texte-3); font-size: .8125rem; line-height: 1.45;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-details > span:not(.lbdp-delai-article) + span:not(.lbdp-delai-article)::before { content: "·"; margin: 0 5px; }
.wc-block-components-order-summary-item__description .wc-block-components-product-details__name { display: none; } /* « Couleur : » / « Taille : » */
.wc-block-components-order-summary-item__description .wc-block-components-product-details > span > span[aria-hidden] { display: none; } /* « / » natif entre les valeurs */
.wc-block-components-order-summary-item__description .lbdp-delai-article { flex-basis: 100%; margin-top: 2px; font-size: .75rem; }
.wc-block-components-order-summary-item__total-price { flex: none; padding: 0; color: var(--lbdp-texte); font-size: .875rem; font-weight: 500; white-space: nowrap; }
.wc-block-components-order-summary-item__description p.stock { display: none; } /* ancien texte de l'extension de stock */
/* Téléphone : le prix et son badge « Économisez … » (insécables) passent SOUS le nom. À côté, ils écrasaient la colonne
   du nom jusqu'à une lettre par ligne dans le résumé que WooCommerce ajoute en bas du formulaire (vu le 03/10/2026). */
@media (max-width: 599.98px) {
	.wc-block-components-order-summary .wc-block-components-order-summary-item { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 14px; row-gap: 6px; align-items: start; }
	.wc-block-components-order-summary .wc-block-components-order-summary-item__image { grid-row: span 2; }
	.wc-block-components-order-summary-item__total-price { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; white-space: normal; }
	.wc-block-components-order-summary-item__total-price > * { white-space: nowrap; }
}

/* « Ajouter un code promo » : lien */
.wc-block-components-checkout-order-summary__content .wc-block-components-panel__button {
	padding: 0; color: var(--lbdp-texte); font-size: .875rem; font-weight: 500; text-decoration: underline; text-underline-offset: 2px;
}
.wc-block-components-checkout-order-summary__content .wc-block-components-panel__button-icon { display: none; }
/* Badge natif « Disponible sur commande » : doublon de la ligne de délai du thème (« Sur commande · … ») */
.wc-block-components-order-summary-item .wc-block-components-product-backorder-badge { display: none; }

/* « Paiement sécurisé » + logos ajoutés sous le récapitulatif dans l'éditeur : à gauche sur ordinateur ; masqués sur
   téléphone, où ils s'intercalaient entre le résumé et le formulaire (l'en-tête dit « Sécurisé », le pied a les logos).
   « .wc-block-checkout » devant : passe devant « :root .has-text-align-center » de WordPress (paragraphe centré dans l'éditeur). */
.wc-block-checkout .wc-block-checkout__sidebar > p { margin: 24px 0 10px; color: var(--lbdp-texte); font-size: 1rem; font-weight: 600; text-align: left; }
.wc-block-checkout__sidebar > p br { display: none; }
.wc-block-checkout__sidebar > .lbdp-logos-paiement-bloc { display: block; justify-content: flex-start; margin-top: 0; }
/* Logos en petit, ~36 px de haut, 6 à 8 par ligne (demande d'Enes du 03/10/2026 ; ils faisaient ~85 px, 4 par ligne) */
/* Grille de 8 (4 + 4 sous 1 280 px) : en ligne souple, « Mandat administratif » restait seul sur une 2e ligne
   (lot front n° 6 du 05/10/2026 ; logos toujours petits, choix d'Enes) */
/* 9 logos depuis le Virement : tous sur UNE ligne, rétrécis à la largeur de la colonne (Enes, 06/10/2026) */
.wc-block-checkout__sidebar > .lbdp-logos-paiement-bloc .lbdp-logos-paiement { display: grid; grid-template-columns: repeat(9, minmax(0, 54px)); gap: 5px; }
.wc-block-checkout__sidebar > .lbdp-logos-paiement-bloc .lbdp-logos-paiement img { width: 100%; height: auto; }
@media (max-width: 1023.98px) {
	.wc-block-checkout__sidebar > p,
	.wc-block-checkout__sidebar > .lbdp-logos-paiement-bloc,
	.wc-block-checkout__sidebar > .wp-block-image { display: none; }
}

/* Téléphone : récapitulatif repliable sur fond gris, pleine largeur, en haut de la page */
@media (max-width: 1023.98px) {
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
		margin-inline: calc(var(--lbdp-gouttiere) * -1); padding: 0 var(--lbdp-gouttiere);
		border: 0; border-block: 1px solid var(--lbdp-bord); border-radius: 0; background: var(--lbdp-recap-fond);
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title { padding: 14px 0; }
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text { font-size: .875rem; font-weight: 500; }
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-price { font-size: 1.0625rem; font-weight: 700; }
	.wc-block-components-checkout-order-summary__content { padding-bottom: 16px; }
	.wc-block-components-checkout-order-summary__content > .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) {
		order: 5; padding: 14px 0 0; border-top: 1px solid var(--lbdp-carte-bord); border-bottom: 0;
	}
	.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item { flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: space-between; }
	.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--lbdp-texte); font-size: .9375rem; font-weight: 600; }
	.wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.25rem; }
	.wc-block-components-order-summary-item { gap: 12px; }
	.wc-block-components-order-summary .wc-block-components-order-summary-item__image,
	.wc-block-components-order-summary .wc-block-components-order-summary-item__image > img { width: 48px; }
}

/* Paiement express (PayPal, Google Pay) : sous le bloc Paiement, discret */
.wc-block-components-express-payment { position: relative; z-index: 0; isolation: isolate; margin-top: 8px; }
.wc-block-components-express-payment .wc-block-components-express-payment__title-container { margin-bottom: 8px; }
.wc-block-checkout__actions ~ div .wc-block-components-express-payment-continue-rule { display: none; }

/* ==========================================================================
   C. COMMUN : titres, champs, boutons et messages des blocs WooCommerce
   ========================================================================== */

.wc-block-components-title.wc-block-components-title,
.wc-block-components-checkout-order-summary__title-text { color: var(--lbdp-texte); font-family: var(--lbdp-police); font-weight: 600; letter-spacing: 0; text-transform: none; }
.wc-block-checkout a:not(.wc-block-components-button, .wc-block-components-product-name) { color: var(--lbdp-texte); }
.wc-block-components-product-name { color: var(--lbdp-texte); text-decoration: none; }
.wc-block-components-product-metadata { color: var(--lbdp-texte-3); font-size: .75rem; }

/* Boutons des blocs (orange de base.css ; on corrige ce que les blocs redéfinissent) */
.wc-block-components-button:not(.is-link) {
	min-height: 48px; padding: .625rem 1.5rem;
	border: 1.5px solid var(--lbdp-orange); border-radius: var(--lbdp-r);
	background: var(--lbdp-orange); color: #fff;
	font-family: var(--lbdp-police); font-size: .9375rem; font-weight: 600; text-decoration: none;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-button:not(.is-link):focus:not(:disabled) { border-color: var(--lbdp-orange-survol); background: var(--lbdp-orange-survol); color: #fff; }
.wc-block-components-button:not(.is-link):focus-visible { box-shadow: none; outline: 2px solid var(--lbdp-orange); outline-offset: 2px; }
.wc-block-components-button:not(.is-link).outlined { border-color: var(--lbdp-texte); background: transparent; color: var(--lbdp-texte); }
.wc-block-components-button:not(.is-link).outlined:hover { border-color: var(--lbdp-orange); background: transparent; color: var(--lbdp-orange); }

/* Champs : 48 px, bordure #D6D6D6, rayon 6 px, halo orange au focus */
.wc-block-components-form .wc-block-components-text-input :is(input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url]),
.wc-block-components-text-input :is(input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url]),
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-textarea {
	border: 1px solid var(--lbdp-champ); border-radius: var(--lbdp-r); color: var(--lbdp-texte);
	font-family: var(--lbdp-police);
}
.wc-block-components-form .wc-block-components-text-input :is(input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url]),
.wc-block-components-text-input :is(input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url]) { height: 48px; }
.wc-block-components-form .wc-block-components-text-input :is(input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url]):focus,
.wc-block-components-text-input :is(input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url]):focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
.wc-block-components-textarea:focus {
	border-color: var(--lbdp-orange); box-shadow: 0 0 0 3px var(--lbdp-halo); outline: 0;
}
.wc-block-components-text-input label,
.wc-blocks-components-select .wc-blocks-components-select__label { color: var(--lbdp-texte-3); font-family: var(--lbdp-police); }
.wc-block-components-text-input.has-error input,
.wc-blocks-components-select.has-error .wc-blocks-components-select__select { border-color: var(--lbdp-erreur); }
.wc-block-components-validation-error { color: var(--lbdp-erreur); font-size: .75rem; }
/* Listes à libellé flottant (« Type de compte », « Pays/Région ») : libellé et valeur séparés (01/10/2026). */
.wc-blocks-components-select .wc-blocks-components-select__select { height: 54px; padding: 22px 36px 6px 12px; line-height: 1.3; }
.wc-blocks-components-select .wc-blocks-components-select__label { top: 7px; font-size: .75rem; line-height: 1.2; }

/* Cases à cocher */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border-color: var(--lbdp-champ); border-radius: var(--lbdp-r-badge); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { border-color: var(--lbdp-texte); background: var(--lbdp-texte); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked + .wc-block-components-checkbox__mark { fill: #fff; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:focus { outline-color: var(--lbdp-orange); }
.wc-block-components-checkbox__label { color: var(--lbdp-texte-2); font-size: .875rem; }
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__secondary-label { color: var(--lbdp-texte); font-weight: 500; }
.wc-block-components-radio-control__description,
.wc-block-components-radio-control__secondary-description { color: var(--lbdp-texte-3); }

/* Code promo (panneau natif du récapitulatif) */
.wc-block-components-totals-coupon__form { gap: .5rem; }
.wc-block-components-totals-coupon__button { min-height: 48px; }
.wc-block-components-chip,
.wc-block-components-totals-discount__coupon-list-item { border: 1px dashed var(--lbdp-vert-texte); border-radius: var(--lbdp-r-badge); background: #fff; color: var(--lbdp-vert-texte); font-size: .75rem; font-weight: 700; }

/* Messages des blocs (mêmes codes que les notices WooCommerce de base.css) */
.wc-block-components-notice-banner {
	gap: .75rem; padding: .875rem 1rem; border: 1px solid var(--lbdp-orange-bord); border-radius: 10px;
	background: var(--lbdp-orange-clair); color: var(--lbdp-texte); font-size: .875rem;
}
.wc-block-components-notice-banner > svg { fill: currentColor; background: none; }
.wc-block-components-notice-banner.is-success { border-color: transparent; background: var(--lbdp-vert-clair); color: var(--lbdp-vert-fonce); }
/* Paiement refusé, erreur de saisie : encart rouge clair (maquette 1b) */
.wc-block-components-notice-banner.is-error { border-color: #F1B5AE; background: var(--lbdp-erreur-clair); color: #5C1A15; }
.wc-block-components-notice-banner.is-error > svg { fill: #B3261E; }
.wc-block-components-notice-banner.is-error strong { color: #8C1D18; }
.wc-block-components-notice-banner .wc-forward { color: inherit; font-weight: 600; }

/* Bouton « Choisir un point de retrait » (extension WCMultiShipping) : bouton clair avec un repère de carte.
   L'extension pose un style en ligne (padding 4 px, bordure noire de 2 px) : d'où les !important sur ces deux réglages. */
.wc-block-checkout .wms_pickup_selection_button {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 48px; margin: 1rem 0 .75rem !important; padding: .625rem 1.5rem !important;
	border: 1.5px solid var(--lbdp-texte) !important; border-radius: var(--lbdp-r-carte); background: #fff;
	color: var(--lbdp-texte); font-family: var(--lbdp-police); font-size: .9375rem; font-weight: 600; line-height: 1.2; cursor: pointer;
	transition: background-color .15s, color .15s;
}
.wc-block-checkout .wms_pickup_selection_button::before {
	content: ""; flex: none; width: 18px; height: 18px; 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='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%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='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wc-block-checkout .wms_pickup_selection_button:hover,
.wc-block-checkout .wms_pickup_selection_button:focus-visible { background: var(--lbdp-texte); color: #fff; }
@media (max-width: 599.98px) {
	.wc-block-checkout .wms_pickup_selection_button { display: flex; width: 100%; }
}

/* Le choix du point de retrait se place juste SOUS l'option « relais Pickup », et non après toutes les options.
   CSS seul : les enveloppes intermédiaires sont « aplaties » (display: contents) pour que les options et le bloc
   de l'extension soient rangés ensemble, puis ordonnés : relais, point de retrait, autres options. */
.wc-block-components-shipping-rates-control:has(#wms_pickup_woo_block) { display: flex; flex-direction: column; position: relative; }
.wc-block-components-shipping-rates-control:has(#wms_pickup_woo_block) > .wc-block-components-shipping-rates-control__package,
.wc-block-components-shipping-rates-control:has(#wms_pickup_woo_block) > .wc-block-components-shipping-rates-control__package > .wc-block-components-radio-control { display: contents; }
.wc-block-components-shipping-rates-control:has(#wms_pickup_woo_block) .wc-block-components-radio-control__option { order: 3; }
.wc-block-components-shipping-rates-control:has(#wms_pickup_woo_block) .wc-block-components-radio-control__option:has(input[value^="chronopost_relais"]) { order: 1; }
#wms_pickup_woo_block { order: 2; margin: 0; padding: 0 16px 14px 48px; border: 0; background: #FAFAF9; } /* trait du dessous : celui de l'option suivante */
@media (max-width: 599.98px) {
	#wms_pickup_woo_block { padding: 0 12px 14px; }
}
/* Ici l'option et son point de retrait sont dans le cadre commun : pas de cadre propre (display: contents ci-dessus). */
#shipping-option .wc-block-components-shipping-rates-control:has(#wms_pickup_woo_block) { overflow: hidden; border: 1px solid var(--lbdp-champ); border-radius: 10px; }

/* Fenêtre « Choisir un point de retrait » (extension WCMultiShipping) aux couleurs de la boutique. Le HTML et le
   fonctionnement de l'extension ne sont pas touchés. */
.wms_pickup_modal .wms_modal_content { border-radius: var(--lbdp-r-carte); overflow: hidden; color: var(--lbdp-texte); font-family: var(--lbdp-police); box-shadow: 0 24px 60px rgba(0, 0, 0, .28); }
.wms_pickup_modal .wc-backbone-modal-main .wc-backbone-modal-header { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--lbdp-bord); background: #fff; }
.wms_pickup_modal .wms_pickup_modal_address { flex: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; }
.wms_pickup_modal .wms_pickup_modal_address > div { flex: 1 1 150px; width: auto; margin: 0; padding: 0; }
.wms_pickup_modal .wms_pickup_modal_address input,
.wms_pickup_modal .wms_pickup_modal_address select {
	width: 100%; height: 44px; min-height: 44px; margin: 0; padding: 0 .875rem;
	border: 1px solid var(--lbdp-champ); border-radius: var(--lbdp-r); background-color: #fff; box-shadow: none;
	color: var(--lbdp-texte); font-family: var(--lbdp-police); font-size: .875rem;
}
.wms_pickup_modal .wms_pickup_modal_address input:focus,
.wms_pickup_modal .wms_pickup_modal_address select:focus { border-color: var(--lbdp-orange); box-shadow: 0 0 0 3px var(--lbdp-halo); outline: 0; }
.wms_pickup_modal .wms_pickup_modal_address_search,
.wms_pickup_modal .wms_pickup_modal_listing_one_button_ship {
	display: inline-flex; align-items: center; justify-content: center;
	width: 100%; min-height: 44px; margin: 0; padding: .5rem 1.25rem;
	border: 1.5px solid var(--lbdp-orange) !important; border-radius: var(--lbdp-r) !important; background: var(--lbdp-orange) !important; box-shadow: none;
	color: #fff !important; font-family: var(--lbdp-police); font-size: .875rem; font-weight: 600; line-height: 1.2; cursor: pointer;
	transition: background-color .15s, border-color .15s;
}
.wms_pickup_modal .wms_pickup_modal_address_search:hover,
.wms_pickup_modal .wms_pickup_modal_listing_one_button_ship:hover { border-color: var(--lbdp-orange-survol) !important; background: var(--lbdp-orange-survol) !important; }
.wms_pickup_modal .modal-close:not(.wc-backbone-modal-backdrop) {
	flex: none; display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: var(--lbdp-r); background: none;
	color: var(--lbdp-texte); font-size: 0; cursor: pointer;
}
.wms_pickup_modal .modal-close:not(.wc-backbone-modal-backdrop)::before { content: "\00d7"; font-family: var(--lbdp-police); font-size: 28px; font-weight: 400; line-height: 1; }
.wms_pickup_modal .modal-close:not(.wc-backbone-modal-backdrop):hover { background: var(--lbdp-fond); color: var(--lbdp-orange); }
.wms_pickup_modal .wms_pickup_modal_listing { padding: 12px; background: var(--lbdp-fond); }
.wms_pickup_modal .wms_pickup_modal_listing_one { margin: 0 0 12px; padding: 16px; border: 1px solid var(--lbdp-bord); border-radius: var(--lbdp-r-carte); background: #fff; box-shadow: none; }
.wms_pickup_modal .wms_pickup_modal_listing_one:hover { border-color: var(--lbdp-orange); }
.wms_pickup_modal .wms_pickup_name { margin: 0 0 6px; font-size: 1rem; font-weight: 600; line-height: 1.3; }
.wms_pickup_modal .wms_pickup_address1,
.wms_pickup_modal .wms_pickup_address2 { margin: 0; color: var(--lbdp-texte-2); font-size: .8125rem; line-height: 1.5; }
.wms_pickup_modal .wms_pickup_country { display: none; } /* « FR » sous chaque adresse : sans intérêt pour le client */
.wms_pickup_modal .wms_pickup_open_time { width: 100%; margin: 10px 0 12px; border: 0; border-collapse: collapse; font-size: .8125rem; }
.wms_pickup_modal .wms_pickup_open_time td { padding: 5px 0; border: 0; border-bottom: 1px solid var(--lbdp-bord); color: var(--lbdp-texte-2); }
.wms_pickup_modal .wms_pickup_open_time tr:last-child td { border-bottom: 0; }
.wms_pickup_modal .wms_pickup_open_time td:first-child { width: 6.5rem; color: var(--lbdp-texte); font-weight: 500; }
.wms_pickup_modal .leaflet-marker-icon { filter: hue-rotate(165deg) saturate(1.7) brightness(1.05); } /* repères bleus → orange */
/* Croix de fermeture : l'extension la dessine avec la police d'icônes de l'admin (dashicons), absente de la boutique
   (carré vide sur iPhone) ; vraie croix ici. Loupe du bouton de recherche (même police) retirée. Les règles de
   l'extension ont 4 classes et des !important : celles-ci en ont une de plus. */
.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link::before {
	content: "\00d7" !important; font: 400 30px/1 var(--lbdp-police) !important; color: var(--lbdp-texte);
}
.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_modal_address_search .dashicons { display: none; }

/* Paiement express : sur un appareil Apple (Apple Pay disponible), Google Pay est masqué (Enes, 04/10/2026 : « on est
   sur iPhone, pourquoi payer avec GPay ? »). Classe posée par inc/panier.php. */
html.lbdp-apple-pay #express-payment-method-ppcp-googlepay { display: none !important; }

/* Téléphone (Enes, 04/10/2026 : « l'app Chronopost, c'est une cata sur tel ») : plein écran sans marges ; en haut,
   2 lignes au lieu de 4 (ville + code postal, puis pays + « Chercher ») et la croix à droite ; carte plus basse ;
   points relais compacts (horaires en petit). */
@media (max-width: 767.98px) {
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main article { padding: 0 !important; }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_modal_content { height: 100%; margin: 0; border-radius: 0; box-shadow: none; } /* 15 px de marge de l'extension */
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wc-backbone-modal-header {
		position: static; display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: start; gap: 8px;
		padding: 10px 8px 10px 12px; padding-top: calc(10px + env(safe-area-inset-top, 0px)); background: #fff;
	}
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wc-backbone-modal-header > div:last-child { position: static; }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_modal_address {
		display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 8px; width: auto; margin: 0;
	}
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_modal_address > div { grid-column: auto; min-width: 0; }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_modal_address input,
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_modal_address select { height: 44px; min-height: 44px; padding: 0 12px; font-size: 16px; }
	/* « Trouver un point relais » ne tient pas à côté du pays : « Chercher » à l'écran, le vrai libellé reste lu. */
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_modal_address_search { min-height: 44px; padding: 0 12px; font-size: 0; }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_modal_address_search::after { content: "Chercher"; font-size: .9375rem; }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link {
		position: static; width: 44px; height: 44px; border: 0; border-radius: var(--lbdp-r); background: none; box-shadow: none;
	}
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_modal_map_container { grid-template-rows: 170px minmax(0, 1fr); }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_modal_listing { padding: 10px 10px calc(10px + env(safe-area-inset-bottom, 0px)); }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_modal_listing .wms_pickup_modal_listing_one { margin: 0 0 8px; padding: 12px; }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_name { font-size: .9375rem; }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_open_time { margin: 6px 0 8px; font-size: .75rem; }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_open_time td { padding: 2px 0; }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_open_time td:first-child { width: 5.5rem; }
	.wms_pickup_modal .wc-backbone-modal .wc-backbone-modal-main .wms_pickup_modal_listing .wms_pickup_modal_listing_one .wms_pickup_modal_listing_one_button_ship { min-height: 42px; margin-top: 6px; }
}

/* Badge « Économisez 15,00 € » des blocs (promotion) : orange clair, comme dans le panier latéral */
.wc-block-components-sale-badge {
	display: inline-block; padding: 2px 8px; border: 0; border-radius: var(--lbdp-r-badge);
	background: var(--lbdp-orange-clair); color: var(--lbdp-orange-texte, var(--lbdp-orange-texte)); font-size: .75rem; font-weight: 600; line-height: 1.4; text-transform: none; white-space: nowrap;
}
.wc-block-components-sale-badge .wc-block-formatted-money-amount { color: inherit; font-size: inherit; font-weight: inherit; }
.wc-block-components-product-price__regular { color: var(--lbdp-texte-3); }
.wc-block-components-product-price__value.is-discounted { color: var(--lbdp-orange); }

/* blockUI de WooCommerce pendant une mise à jour du panier : voile blanc léger */
.lbdp-panier-page .blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }

/* ==========================================================================
   D. CONFIRMATION DE COMMANDE (« commande reçue », gabarit classique de WooCommerce)
   Les feuilles de WooCommerce sont coupées sur le site : bandeau de confirmation, tuiles du récapitulatif,
   coordonnées bancaires (virement), délais d'expédition (inc/panier.php), détail et adresses.
   ========================================================================== */

/* Toute la largeur du conteneur (demande d'Enes du 07/10/2026 : « fais prendre toute l'espace », plus de colonne de
   880 px collée à gauche). Téléphone et tablette : une colonne, dans l'ordre de WooCommerce. Ordinateur : voir la
   mise en page en deux colonnes plus bas. */
.woocommerce-order { display: grid; gap: 1.5rem; }
/* Téléphone et tablette : « Délais de préparation et d'expédition » tout à la fin, après les adresses (demande d'Enes du
   07/10/2026). Sans effet sur ordinateur, où la page n'est plus une grille (encart à droite, voir plus bas). */
.woocommerce-order > .lbdp-delais { order: 1; }
.lbdp-contenu .woocommerce-order :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
.lbdp-contenu .woocommerce-order li + li { margin-top: 0; }
.lbdp-contenu .woocommerce-order :is(h2, h3) { margin: 0 0 .75rem; color: var(--lbdp-texte); font-size: 1.125rem; font-weight: 600; }
/* Grille (coche | texte) plutôt que flex : en flex, Chrome calculait la hauteur du texte comme s'il passait à la ligne
   à chaque mot (126 px au lieu de 82 px pour deux lignes sur téléphone, vu le 07/10/2026). */
.woocommerce-order .woocommerce-thankyou-order-received {
	display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .75rem; margin: 0; padding: 1rem 1.25rem;
	border: 1px solid #BFDDC9; border-radius: 12px; background: var(--lbdp-vert-clair); color: var(--lbdp-vert-fonce);
	font-size: 1.0625rem; font-weight: 600; line-height: 1.4;
}
.woocommerce-order .woocommerce-thankyou-order-received::before {
	content: "✓"; display: flex; flex: none; align-items: center; justify-content: center; width: 32px; height: 32px;
	border-radius: 50%; background: var(--lbdp-vert-texte); color: #fff; font-size: 1rem;
}
.woocommerce-order .woocommerce-thankyou-order-failed { margin: 0; padding: 1rem 1.25rem; border: 1px solid #F1B5AE; border-radius: 12px; background: var(--lbdp-erreur-clair); color: #5C1A15; font-weight: 600; }
.woocommerce-order .woocommerce-thankyou-order-failed-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; }

/* Récapitulatif en tuiles : numéro, date, e-mail, total, moyen de paiement */
.woocommerce-order .woocommerce-order-overview {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden;
	border: 1px solid var(--lbdp-bord); border-radius: 12px; background: var(--lbdp-bord);
}
.woocommerce-order .woocommerce-order-overview li { display: grid; gap: 2px; padding: 12px 14px; background: #fff; color: var(--lbdp-texte-3); font-size: .75rem; }
.woocommerce-order .woocommerce-order-overview li strong { color: var(--lbdp-texte); font-size: .9375rem; font-weight: 600; overflow-wrap: anywhere; }
.woocommerce-order .woocommerce-order-overview__total strong { color: var(--lbdp-orange); }
@media (min-width: 768px) {
	.woocommerce-order .woocommerce-order-overview { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}

/* Coordonnées bancaires (virement) et délais : encarts gris */
.woocommerce-order .woocommerce-bacs-bank-details,
.lbdp-delais { padding: 16px 18px; border-radius: 12px; background: var(--lbdp-recap-fond); }
.woocommerce-order .wc-bacs-bank-details-account-name { margin: 0 0 .5rem; font-size: .9375rem; }
.woocommerce-order .wc-bacs-bank-details { display: grid; gap: 6px; font-size: .875rem; }
.woocommerce-order .wc-bacs-bank-details li { color: var(--lbdp-texte-2); }
/* Banque, code guichet, IBAN, BIC : police du site en gras (plus de police « machine à écrire », demande d'Enes du
   07/10/2026), chiffres de même largeur pour relire l'IBAN, et un clic sélectionne toute la valeur pour la copier. */
.woocommerce-order .wc-bacs-bank-details strong { color: var(--lbdp-texte); font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; user-select: all; }
.lbdp-delais__liste { display: grid; gap: 10px; font-size: .875rem; line-height: 1.6; }
.lbdp-delais__item { position: relative; padding-left: 22px; color: var(--lbdp-texte-2); }
.lbdp-delais__item::before { content: ""; position: absolute; top: .5em; left: 2px; width: 10px; height: 10px; border-radius: 50%; background: var(--lbdp-vert-texte); }
.lbdp-delais__item--commande::before { background: var(--lbdp-ambre-point); }
.lbdp-delais__item--mixte::before { border: 2px solid var(--lbdp-texte); background: transparent; }
.lbdp-delais__item strong { color: var(--lbdp-texte); font-weight: 600; }

/* Détail de la commande (même tableau que « Mon compte ») et adresses */
.woocommerce-order .woocommerce-table {
	width: 100%; margin: 0; overflow: hidden; border: 1px solid var(--lbdp-bord); border-radius: 12px;
	border-collapse: separate; border-spacing: 0; font-size: .875rem;
}
.woocommerce-order .woocommerce-table :is(th, td) { padding: .75rem 1rem; border: 0; border-top: 1px solid var(--lbdp-bord); text-align: left; vertical-align: top; }
.woocommerce-order .woocommerce-table thead th { border-top: 0; background: var(--lbdp-fond); color: var(--lbdp-texte-3); font-size: .75rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
.woocommerce-order .woocommerce-table .product-total,
.woocommerce-order .woocommerce-table tfoot td { text-align: right; }
.woocommerce-order .woocommerce-table tfoot th { color: var(--lbdp-texte-2); font-weight: 500; }
/* Ligne Total en gras, même suivie de la ligne « Actions » (Bon de commande…) ajoutée par une extension ; même règle
   que le détail d'une commande dans Mon compte (compte.css) */
.woocommerce-order .woocommerce-table tfoot tr:is(:last-child, :has(+ tr > .order-actions--heading)):not(:has(> .order-actions--heading)) :is(th, td) { color: var(--lbdp-texte); font-size: 1rem; font-weight: 700; }
.woocommerce-order .woocommerce-table tfoot .order-actions--heading { vertical-align: middle; }
.woocommerce-order .woocommerce-table tfoot .order-actions-button { margin: .25rem 0 .25rem .5rem; }
.woocommerce-order .woocommerce-table .product-name a { color: var(--lbdp-texte); font-weight: 500; text-decoration: none; }
.woocommerce-order .woocommerce-table .product-name a:hover { color: var(--lbdp-orange); }
.woocommerce-order .woocommerce-table .product-quantity { color: var(--lbdp-texte-3); font-weight: 500; }
.woocommerce-order .wc-item-meta { margin: .25rem 0 0; color: var(--lbdp-texte-3); font-size: .75rem; }
.woocommerce-order .wc-item-meta p { display: inline; margin: 0; }
.woocommerce-order .woocommerce-columns--addresses { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
@media (min-width: 768px) {
	.woocommerce-order .woocommerce-columns--addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.woocommerce-order .woocommerce-column--billing-address,
.woocommerce-order .woocommerce-column--shipping-address { padding: 1.25rem; border: 1px solid var(--lbdp-bord); border-radius: 12px; }
.woocommerce-order .woocommerce-customer-details address { color: var(--lbdp-texte-2); font-size: .875rem; font-style: normal; line-height: 1.6; }
.woocommerce-order .woocommerce-customer-details :is(.woocommerce-customer-details--phone, .woocommerce-customer-details--email) { margin: .5rem 0 0; }

/* Ordinateur (1 024 px et plus) : deux colonnes sur toute la largeur.
   - En haut, sur toute la largeur : bandeau vert « Merci » puis tuiles N° / Date / E-mail / Total / Paiement.
   - À droite (380 px) : ce que le client doit FAIRE ou SAVOIR tout de suite, coordonnées bancaires (virement) puis
     délais d'expédition, visibles sans faire défiler.
   - À gauche (le reste) : ce qu'il RELIT, détail de la commande (produits, totaux) puis adresses.
   Les deux encarts de droite arrivent avant le détail dans la page : posés en « float » à droite, l'un sous l'autre,
   le détail et les adresses montent à gauche à leur hauteur. Chaque colonne garde ainsi sa propre hauteur, sans trou
   (une grille alignerait les lignes des deux colonnes). Sans encart à droite (commande échouée, payée par carte…),
   le détail garde toute la largeur. Sur téléphone, l'ordre reste celui de WooCommerce (paiement avant le détail). */
@media (min-width: 1024px) {
	.woocommerce-order { --lbdp-confirmation-cote: 380px; display: flow-root; }
	.lbdp-contenu .woocommerce-order > :not(:first-child) { margin-top: 1.5rem; }
	.woocommerce-order > :is(.woocommerce-bacs-bank-details, .lbdp-delais) { float: right; clear: right; width: var(--lbdp-confirmation-cote); }
	.woocommerce-order:has(> .woocommerce-bacs-bank-details, > .lbdp-delais) > :is(.woocommerce-order-details, .woocommerce-customer-details) {
		margin-right: calc(var(--lbdp-confirmation-cote) + 2rem);
	}
}

/* ==========================================================================
   E. PAGE « PAYER UNE COMMANDE » (endpoint order-pay : lien « page de paiement client » d'une commande créée dans
   l'admin, bouton « Payer » d'une commande en attente dans Mon compte). Le bloc Commande ne rend pas cet endpoint :
   WooCommerce y affiche son gabarit classique checkout/form-pay.php (<form id="order_review"> : tableau de la
   commande, puis #payment avec les moyens de paiement en liste et le bouton « Payer la commande »). Les feuilles de
   WooCommerce sont coupées sur le site (inc/assets.php) : même habillage que le détail d'une commande (section D),
   rien d'autre n'est touché (revue du 08/10/2026). Les scripts des passerelles (CB, PayPal) ne sont pas concernés.
   ========================================================================== */

.lbdp-contenu form#order_review :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
.lbdp-contenu form#order_review li + li { margin-top: 0; }
form#order_review .shop_table {
	width: 100%; margin: 0 0 1.5rem; overflow: hidden; border: 1px solid var(--lbdp-bord); border-radius: 12px;
	border-collapse: separate; border-spacing: 0; font-size: .875rem;
}
form#order_review .shop_table :is(th, td) { padding: .75rem 1rem; border: 0; border-top: 1px solid var(--lbdp-bord); text-align: left; vertical-align: top; }
form#order_review .shop_table thead th { border-top: 0; background: var(--lbdp-fond); color: var(--lbdp-texte-3); font-size: .75rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
form#order_review .shop_table :is(.product-total, .product-subtotal) { text-align: right; }
form#order_review .shop_table tfoot th { color: var(--lbdp-texte-2); font-weight: 500; }
form#order_review .shop_table tfoot tr:last-child :is(th, td) { color: var(--lbdp-texte); font-size: 1rem; font-weight: 700; }
form#order_review .shop_table .product-quantity { color: var(--lbdp-texte-3); font-weight: 500; }
form#order_review .wc-item-meta { margin: .25rem 0 0; color: var(--lbdp-texte-3); font-size: .75rem; }
form#order_review .wc-item-meta p { display: inline; margin: 0; }
/* Moyens de paiement : une carte par moyen (bouton radio, nom, logos à 24 px), explication ou champs de la passerelle
   sur fond gris dessous (la boîte .payment_box est ouverte et fermée par le script de WooCommerce). */
form#order_review .wc_payment_methods { display: grid; gap: .5rem; margin: 0 0 1.25rem; }
form#order_review .wc_payment_method { display: flex; flex-wrap: wrap; align-items: center; gap: .625rem; padding: .875rem 1rem; border: 1px solid var(--lbdp-bord); border-radius: 10px; }
form#order_review .wc_payment_method > label { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0; color: var(--lbdp-texte); font-weight: 500; cursor: pointer; }
form#order_review .wc_payment_method img { max-height: 24px; width: auto; border-radius: 0; }
form#order_review .payment_box { flex-basis: 100%; margin: .25rem 0 0; padding: .875rem 1rem; border-radius: 8px; background: var(--lbdp-recap-fond); color: var(--lbdp-texte-2); font-size: .8125rem; line-height: 1.5; }
form#order_review .payment_box > :last-child { margin-bottom: 0; }
/* Conditions puis bouton « Payer la commande » : toute la largeur sur téléphone */
form#order_review #payment > .form-row { display: grid; gap: 1rem; margin: 0; }
form#order_review #place_order { width: 100%; }
@media (min-width: 768px) {
	form#order_review #place_order { width: auto; min-width: 280px; justify-self: start; }
}
