/* Parcours d'achat retenu (D-042) : panier A, tunnel B (tout sur une page), confirmation B, remerciements A+B,
   sur le panier et la commande WooCommerce classiques. Aucune règle sur les extensions tierces (Stripe, points
   relais Boxtal) : leurs blocs gardent leur propre mise en forme. Mon compte en fin de fichier. */
.lzqf-achat { background: #fafaf7; }
.lzqf-achat .woocommerce { width: 100%; max-width: var(--wp--style--global--wide-size) !important; } /* WooCommerce le limite à 1000 px et le centre */

/* En-tête commun : étapes, surtitre, titre. */
.lzqf-achat-entete { box-sizing: border-box; width: 100%; max-width: var(--wp--style--global--wide-size); margin-inline: auto; padding: 0 clamp(1rem, 4vw, 2.5rem) clamp(1.75rem, 4vw, 2.5rem); }
/* Fil des étapes à chevrons : Panier › Livraison et paiement › Confirmation. */
.lzqf-etapes-achat { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .25rem 0; margin: 0 0 clamp(1.75rem, 4vw, 2.5rem); padding: 0 0 1.1rem; border-bottom: 1px solid #e2e5e0; list-style: none; font-size: .98rem; }
.lzqf-etapes-achat li { display: flex; align-items: center; min-height: 40px; color: var(--wp--preset--color--gris); font-weight: 500; } /* gris du thème : 5,9:1 sur le fond (AA), au lieu de 3,6:1 */
.lzqf-etapes-achat li + li::before { content: "›"; margin: 0 .8rem; color: #a7afab; font-size: 1.2rem; }
.lzqf-etapes-achat li.is-faite a, .lzqf-etapes-achat li.is-faite span { color: var(--wp--preset--color--vert); text-underline-offset: .25em; }
.lzqf-etapes-achat li.is-faite a::before, .lzqf-etapes-achat li.is-faite > span::before { content: "✓"; margin-right: .35rem; font-size: .85em; }
.lzqf-etapes-achat li.is-courante a, .lzqf-etapes-achat li.is-courante > span { color: var(--wp--preset--color--vert); font-weight: 700; text-decoration: none; }
.lzqf-etapes-achat li[aria-current] a, .lzqf-etapes-achat li[aria-current] > span { padding: .3rem .8rem; border-radius: 999px; background: var(--wp--preset--color--creme); }
.lzqf-etapes-achat li.is-courante a:hover { text-decoration: underline; text-underline-offset: .25em; }
.lzqf-etapes-achat a { display: inline-flex; align-items: center; min-height: 36px; }
.lzqf-achat-entete--paiement h1 { text-align: center; }
@media (max-width: 600px) { .lzqf-etapes-achat { font-size: .875rem; } .lzqf-etapes-achat li + li::before { margin: 0 .45rem; } .lzqf-etapes-achat li[aria-current] a, .lzqf-etapes-achat li[aria-current] > span { padding: .25rem .6rem; } }
/* Trois étapes lisibles sur une seule ligne à 390 px ; elles peuvent revenir à la ligne plus bas. */
@media (max-width: 480px) {
	.lzqf-etapes-achat { justify-content: space-between; font-size: .84rem; }
	.lzqf-etapes-achat li + li::before { margin: 0 .25rem; }
	.lzqf-etapes-achat li[aria-current] a, .lzqf-etapes-achat li[aria-current] > span { padding: .2rem .4rem; }
}
.lzqf-achat-entete--paiement { padding-bottom: 1.25rem; }
.lzqf-achat-entete--paiement h1 { font-size: clamp(1.75rem, 3vw, 2.25rem); max-width: none; }
.lzqf-achat-entete__statut { display: flex; width: 3.5rem; height: 3.5rem; margin-bottom: 1.25rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--wp--preset--color--vert); color: var(--wp--preset--color--creme); font-size: 1.6rem; }
.lzqf-achat-entete .lzqf-surtitre { margin: 0 0 .9rem; color: var(--wp--preset--color--vert-2); font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.lzqf-achat-entete h1 { max-width: 20ch; margin: 0; color: var(--wp--preset--color--vert); font-size: clamp(2.2rem, 4.6vw, 3.9rem); line-height: 1.05; letter-spacing: -.04em; }
.lzqf-achat-entete__texte { max-width: 60ch; margin: 1rem 0 0; color: #3c433f; }

/* Champs, boutons, messages (panier, commande, compte). */
.woocommerce form .form-row label { margin-bottom: .3rem; color: var(--wp--preset--color--encre); font-size: .88rem; font-weight: 500; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .quantity .qty, .woocommerce-cart .coupon .input-text {
	min-height: 48px; padding: .6rem .8rem; box-sizing: border-box; border: 1px solid #cdd3cd; border-radius: var(--wp--custom--radius--champ); background: var(--wp--preset--color--blanc); color: var(--wp--preset--color--encre); font: inherit; font-size: 1rem;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus, .woocommerce .quantity .qty:focus { border-color: var(--wp--preset--color--vert); outline: 3px solid var(--wp--preset--color--or-fonce); outline-offset: 1px; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--wp--preset--color--erreur); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, #place_order { box-sizing: border-box;
	min-height: 48px; padding: .8rem 1.5rem; border: 0; border-radius: var(--wp--custom--radius--bouton); background: var(--wp--preset--color--vert); color: var(--wp--preset--color--blanc); cursor: pointer; font-family: var(--wp--preset--font-family--texte); font-size: .95rem; font-weight: 600; line-height: 1.3; text-decoration: none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, #place_order:hover { background: var(--wp--preset--color--vert-2); color: var(--wp--preset--color--blanc); }
.woocommerce button.button:disabled, .woocommerce button.button[disabled] { opacity: .55; cursor: not-allowed; }
.woocommerce a.button:focus-visible, .woocommerce button.button:focus-visible, #place_order:focus-visible { outline: 3px solid var(--wp--preset--color--or-fonce); outline-offset: 2px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { padding: 1rem 1.25rem; border: 0; border-left: 3px solid var(--wp--preset--color--vert); border-radius: 0; background: var(--wp--preset--color--creme); list-style: none; }
.woocommerce-error { border-left-color: var(--wp--preset--color--erreur); }
.woocommerce-error:focus { outline: 3px solid var(--wp--preset--color--or-fonce); outline-offset: 2px; }
.woocommerce-checkout .form-row .lzqf-champ-erreur { margin: .35rem 0 0; color: var(--wp--preset--color--erreur); font-size: .875rem; line-height: 1.4; }
.woocommerce-checkout .form-row .lzqf-champ-erreur[hidden] { display: none; }
.woocommerce-checkout .lzqf-telephone-saisie { display: flex; align-items: stretch; min-width: 0; border: 1px solid #a7afab; border-radius: 4px; background: #fff; }
.woocommerce-checkout .lzqf-telephone-saisie:focus-within { outline: 2px solid var(--wp--preset--color--vert); outline-offset: 2px; }
.woocommerce-checkout .lzqf-telephone-saisie input[type="tel"] { flex: 1; width: 0; min-width: 0; min-height: 48px; margin: 0; border: 0 !important; border-radius: 0 4px 4px 0; background: transparent; box-shadow: none !important; }
.woocommerce-checkout .lzqf-telephone-saisie input[type="tel"]:focus { outline: none; }
.woocommerce-checkout .lzqf-telephone-pays { position: relative; display: inline-flex; align-items: center; flex: 0 0 auto; gap: .4rem; padding: .5rem 1.6rem .5rem .75rem; min-height: 48px; box-sizing: border-box; border-right: 1px solid #e2e5e0; color: var(--wp--preset--color--vert); font-weight: 600; }
.woocommerce-checkout .lzqf-telephone-pays img { display: block; width: 24px; height: 18px; object-fit: cover; border-radius: 2px; }
.woocommerce-checkout .lzqf-telephone-pays::after { position: absolute; right: .6rem; top: calc(50% - 3px); content: ""; width: 5px; height: 5px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); pointer-events: none; }
.woocommerce-checkout .lzqf-telephone-pays select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; margin: 0; }
.woocommerce-checkout .lzqf-telephone-pays:focus-within { outline: 2px solid var(--wp--preset--color--or-fonce); outline-offset: -3px; }
.woocommerce-checkout .lzqf-contact-invalide .lzqf-telephone-saisie { border-color: var(--wp--preset--color--erreur); }
.woocommerce-checkout .lzqf-contact-invalide input { border-color: var(--wp--preset--color--erreur) !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce table.shop_table dl.variation { margin: .3rem 0 0; color: var(--wp--preset--color--gris); font-size: .85rem; }
.woocommerce table.shop_table dl.variation dt, .woocommerce table.shop_table dl.variation dd, .woocommerce table.shop_table dl.variation p { display: inline; margin: 0; }
.woocommerce table.shop_table dl.variation dd::after { content: ' '; }
.lzqf-format-avantage { display: block; margin: .25rem 0 0; color: var(--wp--preset--color--gris); font-size: .8rem; font-weight: 600; }

/* Livraison offerte : progression (panier). */
.lzqf-livraison { margin: 0 0 1.5rem; padding: 1rem 1.25rem; background: var(--wp--preset--color--creme); }
.lzqf-livraison p { margin: .55rem 0 0; font-size: .9rem; }
.lzqf-livraison .lzqf-progres { height: .5rem; overflow: hidden; background: #e2dccb; }
.lzqf-livraison .lzqf-progres span { display: block; height: 100%; background: var(--wp--preset--color--vert); }
.lzqf-securite { margin: .75rem 0 0; color: var(--wp--preset--color--gris); font-size: .8rem; text-align: center; }

/* Panier A : articles en cartes à gauche, récapitulatif à droite. */
.woocommerce-cart .lzqf-achat .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 22.5rem; gap: 1.5rem clamp(2rem, 4vw, 3rem); align-items: start; }
.woocommerce-cart .lzqf-achat .woocommerce > * { grid-column: 1 / -1; }
.woocommerce-cart .lzqf-achat .woocommerce > .woocommerce-cart-form { grid-column: 1; margin: 0; }
.woocommerce-cart .lzqf-achat .woocommerce > .cart-collaterals { display: flex; flex-direction: column; gap: 1.5rem; grid-column: 2; width: auto; }
.woocommerce-cart .cart-collaterals .cart_totals { order: -1; } /* le récapitulatif avant les suggestions */
.woocommerce-cart .lzqf-achat .woocommerce > .lzqf-livraison { grid-column: 1; }
.woocommerce-cart table.shop_table.cart { display: block; margin: 0; border: 0; border-radius: 0; background: transparent; }
.woocommerce-cart table.shop_table.cart thead { display: none; }
.woocommerce-cart table.shop_table.cart tbody { display: grid; gap: 1rem; }
.woocommerce-cart table.shop_table.cart tr.cart_item { position: relative; display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) auto; grid-template-areas: "image nom nom" "image quantite total" "image prix prix"; gap: .35rem 1.25rem; align-items: center; padding: 1.25rem 3rem 1.25rem 1.25rem; border: 1px solid #e2e5e0; background: var(--wp--preset--color--blanc); }
.woocommerce-cart table.shop_table.cart tr.cart_item td { display: block; padding: 0; border: 0; background: transparent; text-align: left !important; }
.woocommerce-cart table.shop_table.cart tr.cart_item td::before { display: none !important; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail { grid-area: image; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail img { display: block; width: 7.5rem; height: 9rem; object-fit: contain; background: #f4f3ef; mix-blend-mode: multiply; }
.woocommerce-cart table.shop_table.cart td.product-name { grid-area: nom; }
.woocommerce-cart table.shop_table.cart td.product-name > a { color: var(--wp--preset--color--vert); font-family: var(--wp--preset--font-family--titre); font-size: 1.3rem; font-weight: 600; letter-spacing: -.02em; text-decoration: none; }
.woocommerce-cart table.shop_table.cart td.product-price { grid-area: prix; color: var(--wp--preset--color--gris); font-size: .82rem; }
.woocommerce-cart table.shop_table.cart td.product-price::after { content: " l’unité"; }
.woocommerce-cart table.shop_table.cart td.product-quantity { grid-area: quantite; }
.woocommerce-cart table.shop_table.cart td.product-quantity .qty { width: 5rem; text-align: center; }
.woocommerce-cart table.shop_table.cart td.product-subtotal { grid-area: total; color: var(--wp--preset--color--vert); font-weight: 700; text-align: right !important; }
.woocommerce-cart table.shop_table.cart td.product-remove { position: absolute; top: .75rem; right: .75rem; }
.woocommerce-cart table.shop_table.cart td.product-remove a.remove { display: flex; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center; border-radius: 50%; color: var(--wp--preset--color--gris) !important; font-size: 1.4rem; line-height: 1; text-decoration: none; }
.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover { background: #f4e5e2; color: var(--wp--preset--color--erreur) !important; }
.woocommerce-cart table.shop_table.cart tr:not(.cart_item) { display: block; }
.woocommerce-cart table.shop_table.cart td.actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; padding: .5rem 0 0; border: 0; background: transparent; }
.woocommerce-cart table.shop_table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: .5rem; }
.woocommerce-cart table.shop_table.cart td.actions .coupon label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text { width: 12rem; }
.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"] { background: transparent; color: var(--wp--preset--color--vert); box-shadow: inset 0 0 0 1px #cdd3cd; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: auto; padding: clamp(1.25rem, 3vw, 1.75rem); background: var(--wp--preset--color--creme); }
.woocommerce-cart .cart_totals h2 { margin: 0 0 1rem; font-size: 1.5rem; }
.woocommerce-cart .cart_totals table.shop_table { margin: 0; border: 0; background: transparent; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { padding: .75rem 0; border: 0; border-top: 1px solid #e2dccb; background: transparent; font-size: .92rem; vertical-align: top; }
.woocommerce-cart .cart_totals table.shop_table th { font-weight: 500; }
.woocommerce-cart .cart_totals .order-total th, .woocommerce-cart .cart_totals .order-total td { font-size: 1.1rem; font-weight: 700; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 1.25rem 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; align-items: center; justify-content: center; width: 100%; box-sizing: border-box; margin: 0; padding: .9rem 1.25rem; font-size: 1rem; }
.woocommerce-cart .cart-collaterals .cross-sells { float: none; width: auto; margin: 0; }
.woocommerce-cart .cross-sells > h2 { margin: 0 0 .75rem; font-size: 1.05rem; }
.woocommerce-cart .cross-sells ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.woocommerce-cart .cross-sells ul.products::before, .woocommerce-cart .cross-sells ul.products::after { display: none; }
.woocommerce-cart .cross-sells ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 0; text-align: left; }
.woocommerce-cart .cross-sells ul.products li.product a { text-decoration: none; }
.woocommerce-cart .cross-sells ul.products li.product img { width: 100%; height: auto; aspect-ratio: 4 / 5; margin: 0 0 .5rem; object-fit: contain; background: #f4f3ef; mix-blend-mode: multiply; }
.woocommerce-cart .cross-sells .woocommerce-loop-product__title { margin: 0; padding: 0 !important; color: var(--wp--preset--color--vert); font-family: var(--wp--preset--font-family--titre); font-size: .95rem !important; font-weight: 600; }
.woocommerce-cart .cross-sells .price { display: block; margin: .2rem 0 0; color: var(--wp--preset--color--encre) !important; font-size: .85rem !important; }
.woocommerce-cart .cross-sells a.button { min-height: 40px; margin-top: .5rem; padding: .5rem .8rem; font-size: .8rem; }
.woocommerce-cart .cart-empty { padding: 1.25rem; }
.woocommerce-cart .return-to-shop a.button { display: inline-flex; }
/* Panier (M-031) : total « hors livraison », réassurance, suggestions « + Ajouter », panier vide. */
.woocommerce-cart .cart-collaterals .cart_totals table small.includes_tax, .woocommerce-cart .cart-collaterals .cart_totals table .lzqf-hors-livraison { display: block; color: var(--wp--preset--color--gris); font-size: .78rem; font-weight: 400; } /* 5,6:1 sur le crème (AA) */
.lzqf-reassurance { display: grid; gap: .45rem; margin: 1rem 0 0; padding: 0; list-style: none; color: var(--wp--preset--color--encre); font-size: .82rem; }
.lzqf-reassurance li { position: relative; padding-left: 1.4rem; }
.lzqf-reassurance li::before { content: "✓"; position: absolute; left: 0; color: var(--wp--preset--color--vert); font-weight: 700; }
.woocommerce-cart form.lzqf-maj-auto button[name="update_cart"] { display: none !important; } /* quantités prises en compte seules (achat.js) ; Entrée dans le champ reste gérée par WooCommerce */
.lzqf-panier-suggestions h2 { margin: 0 0 .75rem; font-size: 1.05rem; }
.lzqf-panier-suggestions .lzqf-upsell__suggestions { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.lzqf-panier-suggestions .lzqf-upsell__suggestion { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) auto; align-items: center; gap: .9rem; padding: .6rem .75rem; border: 1px solid #e6e1d4; border-radius: 6px; background: #fff; }
.lzqf-panier-suggestions .lzqf-upsell__vignette img { display: block; width: 3.5rem; height: 3.5rem; object-fit: contain; background: #f4f3ef; mix-blend-mode: multiply; }
.lzqf-panier-suggestions .lzqf-upsell__infos { display: grid; gap: .1rem; min-width: 0; }
.lzqf-panier-suggestions .lzqf-upsell__infos a { color: var(--wp--preset--color--vert); font-weight: 600; line-height: 1.3; text-decoration: none; }
.lzqf-panier-suggestions .lzqf-upsell__infos a:hover { text-decoration: underline; }
.lzqf-panier-suggestions .lzqf-upsell__infos small { color: var(--wp--preset--color--gris); font-size: .78rem; }
.lzqf-panier-suggestions .lzqf-upsell__ajout a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .9rem; box-sizing: border-box; border: 1px solid var(--wp--preset--color--vert); border-radius: 3px; background: #fff; color: var(--wp--preset--color--vert); font-size: .82rem; font-weight: 600; white-space: nowrap; text-decoration: none; }
.lzqf-panier-suggestions .lzqf-upsell__ajout { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .75rem; }
.lzqf-panier-suggestions .lzqf-upsell__ajout a:hover { background: var(--wp--preset--color--vert); color: #fff; }
.lzqf-panier-suggestions .lzqf-upsell__ajout a.loading { opacity: .6; pointer-events: none; }
.lzqf-panier-suggestions .lzqf-upsell__ajout a:focus-visible { outline: 3px solid var(--wp--preset--color--or-fonce); outline-offset: 2px; }
.lzqf-panier-suggestions .lzqf-upsell__ajout .added_to_cart { display: inline-flex; }
@media (max-width: 600px) {
	.lzqf-panier-suggestions .lzqf-upsell__suggestion { grid-template-columns: 3.5rem minmax(0, 1fr); }
	.lzqf-panier-suggestions .lzqf-upsell__ajout { grid-column: 1 / -1; justify-content: flex-start; }
}
.woocommerce-cart .cart_totals table.shop_table_responsive td::before { content: attr(data-title); margin-right: 1rem; }
.woocommerce-cart .cart_totals tr.lzqf-livraison-note td::before { content: none; display: none; }
.woocommerce-cart .lzqf-panier-selection { margin: 0 0 2rem; }
.woocommerce-cart .lzqf-panier-selection .lzqf-conteneur { padding: 0; }
.woocommerce-cart .lzqf-panier-selection .lzqf-selection__titre { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1rem; margin: 0 0 1.25rem; }
.woocommerce-cart .lzqf-panier-selection .lzqf-selection__titre h2 { margin: 0; font-size: clamp(1.4rem, 2.4vw, 1.8rem); }
.woocommerce-cart .lzqf-panier-selection .lzqf-selection__titre p { margin: 0; color: var(--wp--preset--color--gris); }
.woocommerce-cart .lzqf-panier-selection .lzqf-selection__titre a { margin-left: auto; color: var(--wp--preset--color--vert); font-weight: 600; }
.screen-reader-text:not(:focus) { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.lzqf-achat-aide { max-width: var(--wp--style--global--wide-size) !important; margin-top: clamp(2.5rem, 5vw, 3.5rem); padding-top: 2rem; border-top: 1px solid #e2e5e0; }
.lzqf-achat-aide h2 { margin: 0; font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.lzqf-achat-aide p { max-width: 64ch; margin: .75rem 0 0; }
.lzqf-achat-aide .lzqf-lien-fleche { margin-top: .5rem; }

/* Tunnel : Contact, adresse, Expédition et Paiement à gauche ; récapitulatif crème à droite.
   L'ordre du document est aussi celui du clavier et de la colonne mobile. */
.woocommerce-checkout .woocommerce-form-login-toggle, .woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout #order_review_heading { display: none; }
.woocommerce-checkout form.checkout_coupon { display: none !important; }
.woocommerce-checkout form.woocommerce-form-login { max-width: 36rem; margin: 0 0 2rem; padding: 1.25rem; border: 1px solid #e2e5e0; border-radius: 6px; background: #fff; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: auto; }
.lzqf-tunnel__section { margin: 0 0 2.25rem; }
.lzqf-tunnel__titre { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; }
.lzqf-tunnel__titre h2 { margin: 0; color: var(--wp--preset--color--encre); font-family: var(--wp--preset--font-family--titre); font-size: 1.35rem; font-weight: 600; letter-spacing: -.02em; }
.lzqf-tunnel__titre a { color: var(--wp--preset--color--vert-2); font-size: .85rem; text-underline-offset: .2em; }
.lzqf-tunnel__note { margin: -.4rem 0 1rem; color: var(--wp--preset--color--gris); font-size: .85rem; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: flow-root; }
/* Adresse : prénom | nom, adresse, code postal | ville, pays (le script d'adresse WooCommerce remet les classes selon le pays : on ordonne en CSS ;
   assets/js/achat.js range ensuite le document dans cet ordre, pour le clavier, M-039). */
#lzqf-adresse .woocommerce-billing-fields__field-wrapper { display: flex; flex-wrap: wrap; gap: 0 .8rem; }
#lzqf-adresse .woocommerce-billing-fields__field-wrapper > .form-row { flex: 1 1 100%; width: auto; float: none; order: 8; }
#lzqf-adresse #billing_first_name_field { flex-basis: calc(50% - .4rem); order: 1; }
#lzqf-adresse #billing_last_name_field { flex-basis: calc(50% - .4rem); order: 2; }
#lzqf-adresse #billing_company_field { order: 3; }
#lzqf-adresse #billing_address_1_field { order: 4; }
#lzqf-adresse #billing_address_2_field { order: 5; }
#lzqf-adresse #billing_postcode_field { flex-basis: calc(35% - .4rem); order: 6; }
#lzqf-adresse #billing_city_field { flex-basis: calc(65% - .4rem); order: 7; }
#lzqf-adresse #billing_country_field { order: 8; }
.woocommerce-checkout form .form-row { margin: 0 0 .85rem; padding: 0; }
.woocommerce-checkout form .form-row-first, .woocommerce-checkout form .form-row-last { width: calc(50% - .4rem); }
.woocommerce-checkout form .form-row input.input-text, .woocommerce-checkout form .form-row select, .woocommerce-checkout form .form-row textarea, .woocommerce-checkout .select2-container .select2-selection--single { border-radius: 6px; }
.woocommerce-checkout form .form-row label { font-size: .82rem; color: var(--wp--preset--color--gris); }
.woocommerce-checkout .woocommerce-shipping-fields h3 { margin: 0 0 .75rem; font-family: var(--wp--preset--font-family--texte); font-size: .95rem; font-weight: 500; }
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address { margin: 1rem 0 2rem; padding: 1.25rem; border: 1px solid #d9dfd9; border-radius: 8px; background: #fff; }
.woocommerce-checkout .woocommerce-shipping-fields #lzqf-adresse-livraison-t { margin: 0 0 1rem; color: var(--wp--preset--color--encre); font-family: var(--wp--preset--font-family--titre); font-size: 1.35rem; font-weight: 600; }
.woocommerce-checkout #ship-to-different-address-checkbox:focus-visible { outline: 3px solid var(--wp--preset--color--or-fonce); outline-offset: 2px; }
.woocommerce-checkout .woocommerce-additional-fields h3 { display: none; }
.woocommerce-checkout .woocommerce-additional-fields textarea { min-height: 5rem; }
/* Paiement. */
.woocommerce-checkout #payment { border-radius: 0; background: transparent; }
.woocommerce-checkout #payment ul.payment_methods { margin: 0; padding: 0; border: 1px solid #d9dfd9; border-radius: 6px; background: #fff; }
.woocommerce-checkout #payment ul.payment_methods > li { padding: .9rem 1rem; }
.woocommerce-checkout #payment div.payment_box { margin: .75rem 0 0; border-radius: 6px; background: var(--wp--preset--color--creme); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .place-order { padding: 1.25rem 0 0; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: .82rem; color: var(--wp--preset--color--gris); }
.woocommerce-checkout #place_order { width: 100%; min-height: 56px; border-radius: 6px; font-size: 1.05rem; }
.lzqf-tunnel__retour { margin: 1rem 0 0; }
.lzqf-tunnel__retour a { display: inline-flex; align-items: center; min-height: 44px; color: var(--wp--preset--color--vert-2); font-size: .9rem; text-underline-offset: .2em; }
/* Les deux enfants de #order_review participent à la grille, tout en gardant le DOM WooCommerce/Boxtal sous cet identifiant. */
.woocommerce-checkout #order_review { display: contents; }
.woocommerce-checkout #lzqf-expedition[hidden] { display: none; }
.woocommerce-checkout #lzqf-expedition .lzqf-expedition__table { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: transparent; }
.woocommerce-checkout #lzqf-expedition .lzqf-expedition__table th, .woocommerce-checkout #lzqf-expedition .lzqf-expedition__table td { display: block; width: 100%; padding: 0; border: 0; background: transparent; text-align: left; }
.woocommerce-checkout #lzqf-expedition .lzqf-expedition__table th { margin-bottom: .6rem; color: var(--wp--preset--color--encre); font-size: .95rem; font-weight: 600; }
.woocommerce-checkout #lzqf-expedition .lzqf-expedition__table td::before { display: none; }
/* Récapitulatif. */
.woocommerce-checkout #order_review > .lzqf-recap { box-sizing: border-box; min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); border-radius: 8px; background: var(--wp--preset--color--creme); }
.lzqf-recap__titre { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; }
.lzqf-recap__titre h2 { margin: 0; color: var(--wp--preset--color--encre); font-family: var(--wp--preset--font-family--titre); font-size: 1.2rem; font-weight: 600; }
.lzqf-recap__titre span { color: var(--wp--preset--color--gris); font-size: .85rem; }
.woocommerce-checkout #order_review .lzqf-recap table.shop_table { width: 100%; margin: 0; border: 0; border-collapse: collapse; table-layout: auto; background: transparent; }
.woocommerce-checkout #order_review .lzqf-recap table.shop_table thead { display: none; }
.woocommerce-checkout #order_review .lzqf-recap table.shop_table th, .woocommerce-checkout #order_review .lzqf-recap table.shop_table td { padding: .55rem 0; border: 0; background: transparent; font-size: .92rem; vertical-align: middle; }
.woocommerce-checkout #order_review .cart_item td { padding: .6rem 0; }
.woocommerce-checkout #order_review td.product-total { text-align: right; white-space: nowrap; }
.lzqf-recap__article { display: flex; align-items: center; gap: .9rem; }
.woocommerce-checkout #order_review a.lzqf-recap__article { color: inherit; text-decoration: none; }
.woocommerce-checkout #order_review a.lzqf-recap__article:hover .lzqf-recap__nom { text-decoration: underline; text-underline-offset: .2em; }
.woocommerce-checkout #order_review a.lzqf-recap__article:focus-visible { border-radius: 8px; outline: 3px solid var(--wp--preset--color--or-fonce); outline-offset: 3px; }
.lzqf-recap__vignette { position: relative; flex: 0 0 3.6rem; width: 3.6rem; height: 3.6rem; border: 1px solid #e3dccb; border-radius: 8px; background: #fff; }
.lzqf-recap__vignette img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 8px; mix-blend-mode: multiply; }
.lzqf-recap__qte { position: absolute; top: -.5rem; right: -.5rem; display: grid; place-items: center; min-width: 1.35rem; height: 1.35rem; padding: 0 .3rem; box-sizing: border-box; border-radius: 999px; background: var(--wp--preset--color--vert); color: #fff; font-size: .72rem; font-weight: 700; }
.lzqf-recap__nom { display: grid; gap: .15rem; font-weight: 600; color: var(--wp--preset--color--encre); line-height: 1.3; }
.lzqf-recap__nom small { color: var(--wp--preset--color--gris); font-size: .78rem; font-weight: 400; }
.woocommerce-checkout #order_review tfoot th { font-weight: 400; text-align: left; }
.woocommerce-checkout #order_review tfoot td { text-align: right; }
/* Récapitulatif en blocs et lignes flexibles : chaque ligne occupe toute la largeur du panneau. */
.woocommerce-checkout #order_review .lzqf-recap table.shop_table, .woocommerce-checkout #order_review .lzqf-recap table.shop_table tbody, .woocommerce-checkout #order_review .lzqf-recap table.shop_table tfoot { display: block; width: 100%; }
.woocommerce-checkout #order_review .lzqf-recap table.shop_table tr { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.woocommerce-checkout #order_review .lzqf-recap table.shop_table th, .woocommerce-checkout #order_review .lzqf-recap table.shop_table td { display: block; }
.woocommerce-checkout #order_review td.product-name { flex: 1 1 auto; min-width: 0; }
.woocommerce-checkout #order_review tfoot tr.cart-subtotal { margin-top: .5rem; border-top: 1px solid #e3dccb; }
.woocommerce-checkout #order_review tfoot tr.order-total { margin-top: .5rem; border-top: 1px solid #e3dccb; align-items: flex-start; }
/* Uniques radios WooCommerce et interface Boxtal, déplacées dans la colonne gauche. */
.woocommerce-checkout #lzqf-expedition tr.woocommerce-shipping-totals { display: block; }
.woocommerce-checkout #lzqf-expedition ul#shipping_method { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.woocommerce-checkout #lzqf-expedition ul#shipping_method li { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .75rem; align-items: center; margin: 0; padding: 1rem 1.1rem; border: 1px solid #d9dfd9; border-radius: 8px; background: #fff; line-height: 1.35; text-align: left; cursor: pointer; }
.woocommerce-checkout #lzqf-expedition ul#shipping_method li:has(input:checked) { border-color: var(--wp--preset--color--vert); box-shadow: inset 0 0 0 1px var(--wp--preset--color--vert); }
.woocommerce-checkout #lzqf-expedition ul#shipping_method input { margin: 0; accent-color: var(--wp--preset--color--vert); width: 1.05rem; height: 1.05rem; }
.woocommerce-checkout #lzqf-expedition ul#shipping_method label { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0; cursor: pointer; }
.lzqf-livraison__nom { display: grid; gap: .1rem; color: var(--wp--preset--color--encre); font-size: .92rem; font-weight: 600; }
.lzqf-livraison__nom small { color: var(--wp--preset--color--gris); font-size: .78rem; font-weight: 400; }
.lzqf-livraison__prix { flex: 0 0 auto; color: var(--wp--preset--color--encre); font-size: .92rem; font-weight: 600; white-space: nowrap; }
.woocommerce-checkout #lzqf-expedition ul#shipping_method .bw-parcel-point { grid-column: 1 / -1; display: block; margin: .75rem 0 0; padding: .7rem .85rem; border-radius: 6px; background: #f7f3ea; color: var(--wp--preset--color--encre); font-size: .8rem; line-height: 1.45; }
.woocommerce-checkout #lzqf-expedition ul#shipping_method .bw-parcel-point br { display: none; }
.woocommerce-checkout #lzqf-expedition ul#shipping_method .bw-parcel-point [class^="bw-parcel-client"] { display: block; color: var(--wp--preset--color--gris); }
.woocommerce-checkout #lzqf-expedition ul#shipping_method .bw-parcel-point [class^="bw-parcel-name"] { display: block; color: var(--wp--preset--color--encre); font-weight: 600; text-transform: capitalize; }
.woocommerce-checkout #lzqf-expedition ul#shipping_method .bw-parcel-point small { display: block; color: var(--wp--preset--color--gris); font-size: .78rem; text-transform: capitalize; }
.woocommerce-checkout #lzqf-expedition ul#shipping_method .bw-select-parcel { display: inline-block; margin-top: .35rem; color: var(--wp--preset--color--vert); font-weight: 600; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
/* Ligne informative dans le récapitulatif : prix recopié du libellé WooCommerce choisi, sans contrôle interactif. */
.woocommerce-checkout #order_review tr.lzqf-recap__livraison { padding-top: .35rem; }
.woocommerce-checkout #order_review tr.lzqf-recap__livraison small { display: block; color: var(--wp--preset--color--gris); font-size: .78rem; font-weight: 400; }
.woocommerce-checkout #order_review tr.lzqf-recap__livraison td { font-weight: 600; white-space: nowrap; }
/* Total : montant en grand, TVA en dessous sur une ligne. */
.woocommerce-checkout #order_review .order-total th, .woocommerce-checkout #order_review .order-total td { padding-top: 1rem; border-top: 0; color: var(--wp--preset--color--encre); vertical-align: top; }
.woocommerce-checkout #order_review .order-total th { font-size: 1.1rem; font-weight: 700; }
.woocommerce-checkout #order_review .order-total td strong { display: block; font-size: 1.35rem; font-weight: 700; white-space: nowrap; }
.woocommerce-checkout #order_review .order-total small.includes_tax { display: block; color: var(--wp--preset--color--gris); font-size: .75rem; font-weight: 400; white-space: nowrap; }
.lzqf-recap__code { display: flex; gap: .5rem; margin: 1.25rem 0 0; }
.lzqf-recap__code input { flex: 1; min-width: 0; min-height: 46px; padding: .5rem .8rem; border: 1px solid #d9dfd9; border-radius: 6px; background: #fff; font: inherit; font-size: .95rem; }
.lzqf-recap__code button { min-height: 46px; padding: 0 1.1rem; border: 1px solid #d9dfd9; border-radius: 6px; background: #efe8da; color: var(--wp--preset--color--vert); font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; }
.lzqf-recap__code button:hover { background: var(--wp--preset--color--vert); color: #fff; }
.lzqf-recap__code input:focus-visible, .lzqf-recap__code button:focus-visible { outline: 3px solid var(--wp--preset--color--or-fonce); outline-offset: 1px; }
@media (min-width: 960px) {
	.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 27rem); grid-template-areas: "details recap" "expedition recap" "paiement recap"; grid-template-rows: auto auto 1fr; gap: 0 clamp(2.5rem, 5vw, 5rem); align-items: start; }
	.woocommerce-checkout form.checkout > * { grid-column: 1 / -1; }
	.woocommerce-checkout form.checkout > #customer_details { grid-area: details; }
	.woocommerce-checkout form.checkout > .lzqf-tunnel__paiement { grid-area: paiement; }
	.woocommerce-checkout form.checkout > #order_review > #lzqf-expedition { grid-area: expedition; }
	.woocommerce-checkout form.checkout > #order_review > .lzqf-recap { grid-area: recap; position: sticky; top: var(--lzqf-recap-top, calc(var(--wp-admin--admin-bar--height, 0px) + var(--lzqf-entete-h, 0px) + 1.5rem)); }
}
@media (max-width: 959px) {
	.woocommerce-checkout form.checkout { display: flex; flex-direction: column; }
	.woocommerce-checkout form.checkout > #order_review > .lzqf-recap { width: 100%; margin-bottom: 2.25rem; }
}
@media (max-width: 480px) {
	.woocommerce-checkout form .form-row-first, .woocommerce-checkout form .form-row-last { width: 100%; float: none; }
	#lzqf-adresse #billing_first_name_field, #lzqf-adresse #billing_last_name_field { flex-basis: 100%; }
}

/* Confirmation B : suivi en trois étapes, résumé réel, détails WooCommerce. */
.lzqf-confirmation { max-width: var(--wp--style--global--wide-size); margin: 0 auto; }
.lzqf-suivi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2rem); margin: 0 0 2rem; padding: 0; list-style: none; }
.lzqf-suivi li { padding-top: 1.1rem; border-top: 2px solid #cdd3cd; }
.lzqf-suivi li.is-faite { border-top-color: var(--wp--preset--color--vert); }
.lzqf-suivi span { color: var(--wp--preset--color--gris); font-size: .75rem; }
.lzqf-suivi h2 { margin: .6rem 0 .3rem; font-size: 1.35rem; }
.lzqf-suivi p { margin: 0; color: #3c433f; font-size: .92rem; }
.lzqf-confirmation__resume { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0 0 2rem !important; padding: 0; list-style: none; }
.lzqf-confirmation__resume li { box-sizing: border-box; float: none !important; width: auto !important; margin: 0 !important; padding: 1rem 1.1rem !important; border: 1px solid #e2e5e0 !important; background: var(--wp--preset--color--blanc); color: var(--wp--preset--color--gris); font-size: .8rem; text-transform: none !important; }
.lzqf-confirmation__resume li::before { display: none !important; }
.lzqf-confirmation__resume strong { display: block; margin-top: .25rem; color: var(--wp--preset--color--vert); font-size: 1.05rem; }
/* M-082 : lecture continue, récapitulatif puis adresses et relais, sans rangée haute imposée. */
.lzqf-confirmation__detail { display: block; margin: 0 0 2rem; }
.lzqf-confirmation__detail .woocommerce-order-details, .lzqf-confirmation__detail .woocommerce-customer-details { margin: 0; padding: 0; border: 0; background: transparent; }
.lzqf-confirmation__detail .woocommerce-order-details { box-sizing: border-box; padding: clamp(1.25rem, 3vw, 2rem); border-radius: 8px; background: var(--wp--preset--color--creme); }
.lzqf-confirmation__detail .woocommerce-order-details__title { margin: 0 0 1rem; color: var(--wp--preset--color--encre); font-family: var(--wp--preset--font-family--titre); font-size: 1.2rem; font-weight: 600; }
.lzqf-confirmation__detail table.shop_table, .lzqf-confirmation__detail table.shop_table tbody, .lzqf-confirmation__detail table.shop_table tfoot { display: block; width: 100%; margin: 0; border: 0; background: transparent; }
.lzqf-confirmation__detail table.shop_table thead { display: none; }
.lzqf-confirmation__detail table.shop_table tr { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.lzqf-confirmation__detail table.shop_table th, .lzqf-confirmation__detail table.shop_table td { display: block; padding: .55rem 0; border: 0; background: transparent; font-size: .92rem; }
.lzqf-confirmation__detail table.shop_table tbody td.product-name { flex: 1 1 auto; min-width: 0; padding: .6rem 0; }
.lzqf-confirmation__detail table.shop_table td.product-total { white-space: nowrap; }
.lzqf-confirmation__detail .wc-item-meta { display: none; }
.lzqf-confirmation__detail .lzqf-recap__nom a { color: var(--wp--preset--color--encre); text-decoration: none; }
.lzqf-confirmation__detail .lzqf-recap__nom a:hover { text-decoration: underline; text-underline-offset: .2em; }
.lzqf-confirmation__detail tfoot tr:first-child { margin-top: .5rem; border-top: 1px solid #e3dccb; }
.lzqf-confirmation__detail tfoot th { font-weight: 400; text-align: left; }
.lzqf-confirmation__detail tfoot td { text-align: right; }
.lzqf-confirmation__livraison { display: grid; justify-items: end; gap: .1rem; }
.lzqf-confirmation__livraison small { color: var(--wp--preset--color--gris); font-size: .78rem; }
.lzqf-confirmation__detail tfoot tr:last-child { margin-top: .5rem; border-top: 1px solid #e3dccb; align-items: flex-start; }
.lzqf-confirmation__detail tfoot tr:last-child th { padding-top: 1rem; font-size: 1.1rem; font-weight: 700; }
.lzqf-confirmation__detail tfoot tr:last-child td { padding-top: 1rem; }
.lzqf-confirmation__detail tfoot tr:last-child td > .woocommerce-Price-amount { display: block; font-size: 1.35rem; font-weight: 700; white-space: nowrap; }
.lzqf-confirmation__detail tfoot tr:last-child small.includes_tax { display: block; color: var(--wp--preset--color--gris); font-size: .75rem; white-space: nowrap; }
.lzqf-confirmation__detail .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1.5rem 2rem; margin: 0; }
.lzqf-confirmation__detail .woocommerce-columns--addresses::before, .lzqf-confirmation__detail .woocommerce-columns--addresses::after { display: none; }
.lzqf-confirmation__detail .woocommerce-column { box-sizing: border-box; float: none; width: auto; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; overflow-wrap: anywhere; }
.lzqf-confirmation__detail .woocommerce-column__title { margin: 0 0 .75rem; color: var(--wp--preset--color--encre); font-family: var(--wp--preset--font-family--titre); font-size: 1.05rem; font-weight: 600; }
.lzqf-confirmation__detail address { margin: 0; padding: 0 !important; border: 0 !important; color: #3c433f; font-size: .92rem; font-style: normal; line-height: 1.6; }
.lzqf-confirmation__detail address p { margin: .5rem 0 0; color: var(--wp--preset--color--gris); font-size: .85rem; }
.lzqf-confirmation__detail address p::before { color: var(--wp--preset--color--vert); }
.lzqf-confirmation__detail > * + * { margin-top: 1.5rem; }
.lzqf-confirmation__detail .woocommerce-customer-details { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #e2e5e0; }
@media (max-width: 600px) {
	.lzqf-confirmation__detail .woocommerce-columns--addresses { grid-template-columns: 1fr; }
}
.lzqf-confirmation__erreur { margin-bottom: 2rem; padding: 1.25rem; border-left: 3px solid var(--wp--preset--color--erreur); background: var(--wp--preset--color--blanc); }
.lzqf-confirmation__erreur p { margin: 0; }
.lzqf-confirmation__attente { margin-bottom: 2rem; padding: 1.25rem; border-left: 3px solid var(--wp--preset--color--vert); background: var(--wp--preset--color--creme); }
.lzqf-confirmation__attente p { margin: 0; }
.lzqf-confirmation__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.25rem; }
.lzqf-confirmation__actions a:not(.wp-element-button) { color: var(--wp--preset--color--vert); font-weight: 600; }
.lzqf-confirmation .wp-element-button { display: inline-flex; align-items: center; min-height: 48px; box-sizing: border-box; color: var(--wp--preset--color--blanc); text-decoration: none; }

/* Remerciements A+B : le message de l'atelier, puis trois gestes. */
.lzqf-merci { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: clamp(2.5rem, 5vw, 4rem); border-top: 1px solid #e2e5e0; }
.lzqf-merci h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.05; letter-spacing: -.04em; }
.lzqf-merci p:not(.lzqf-surtitre) { max-width: 45ch; margin: 1rem 0 0; }
.lzqf-merci .lzqf-surtitre { margin: 0 0 1rem; color: var(--wp--preset--color--vert-2); font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.lzqf-merci .wp-element-button { margin-top: 1.5rem; }
.lzqf-merci figure { margin: 0; }
.lzqf-merci img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.lzqf-merci figcaption { margin-top: .5rem; color: var(--wp--preset--color--gris); font-size: .72rem; }
.lzqf-gestes { padding-block: clamp(2.5rem, 5vw, 3.5rem) 0; }
.lzqf-gestes .lzqf-surtitre { margin: 0 0 1rem; color: var(--wp--preset--color--vert-2); font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.lzqf-gestes h2 { max-width: 22ch; margin: 0; font-size: clamp(1.7rem, 3vw, 2.3rem); }
.lzqf-gestes__grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); margin-top: 2rem; }
.lzqf-gestes__grille > div { padding-top: 1rem; border-top: 1px solid #cdd3cd; }
.lzqf-gestes__grille span { color: var(--wp--preset--color--vert); font-family: var(--wp--preset--font-family--titre); font-size: 1.2rem; font-weight: 600; }
.lzqf-gestes__grille h3 { margin: .5rem 0 .25rem; font-size: 1.3rem; }
.lzqf-gestes__grille p { margin: 0; color: #3c433f; font-size: .92rem; }

@media (max-width: 900px) {
	.woocommerce-cart .lzqf-achat .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-cart .lzqf-achat .woocommerce > .woocommerce-cart-form, .woocommerce-cart .lzqf-achat .woocommerce > .cart-collaterals, .woocommerce-cart .lzqf-achat .woocommerce > .lzqf-livraison { grid-column: 1; position: static; }
	.lzqf-suivi, .lzqf-gestes__grille { grid-template-columns: 1fr; }
	.lzqf-confirmation__resume { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lzqf-merci { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
	.woocommerce-cart table.shop_table.cart tr.cart_item { grid-template-columns: 5.5rem minmax(0, 1fr); grid-template-areas: "image nom" "image prix" "quantite total"; padding: 1rem 2.75rem 1rem 1rem; }
	.woocommerce-cart table.shop_table.cart td.product-thumbnail img { width: 5.5rem; height: 6.75rem; }
	.lzqf-confirmation__resume { grid-template-columns: 1fr; }
}

/* Mon compte en « hub » (24/09) : en-tête adaptatif, avantages (visiteur), menu latéral à icônes, tableau de bord. */
.lzqf-compte { background: #fafaf7; }
.lzqf-compte .woocommerce { width: 100%; max-width: var(--wp--style--global--wide-size) !important; } /* WooCommerce le limite à 1000 px et le centre */
.lzqf-compte .woocommerce::before, .lzqf-compte .woocommerce::after { display: none !important; } /* clearfix WooCommerce : dans une grille, il occupait la première case */
.lzqf-compte-entete { margin: 0 0 clamp(1.75rem, 4vw, 2.5rem); }
.lzqf-compte-entete .lzqf-surtitre { margin: 0 0 .75rem; }
.lzqf-compte-entete h1 { margin: 0; color: var(--wp--preset--color--vert); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.05; letter-spacing: -.04em; }
.lzqf-compte-entete__texte { max-width: 56ch; margin: .75rem 0 0; color: #3c433f; }
.lzqf-compte-entete__retour { display: inline-flex; align-items: center; min-height: 36px; margin-bottom: .35rem; color: var(--wp--preset--color--vert-2); font-size: .9rem; text-decoration: none; }
.lzqf-compte-entete__retour:hover { text-decoration: underline; text-underline-offset: .2em; }
.lzqf-compte-avantages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.75rem 0 0; padding: 0; list-style: none; }
.lzqf-compte-avantages li { display: flex; align-items: flex-start; gap: .85rem; padding: 1rem 1.1rem; border-radius: 8px; background: var(--wp--preset--color--creme); font-size: .88rem; color: var(--wp--preset--color--gris); line-height: 1.45; }
.lzqf-compte-avantages strong { display: block; margin-bottom: .15rem; color: var(--wp--preset--color--encre); font-size: .95rem; }
.lzqf-compte-avantages__icone, .lzqf-hub__icone { display: grid; place-items: center; flex: 0 0 2.5rem; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: #fff; color: var(--wp--preset--color--vert); }
.lzqf-compte-avantages__icone svg, .lzqf-hub__icone svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* Visiteur : connexion et création de compte côte à côte, en cartes. */
.lzqf-compte #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 2.5rem); }
.lzqf-compte #customer_login::before, .lzqf-compte #customer_login::after { display: none; }
.lzqf-compte #customer_login > div { float: none; width: auto; }
.lzqf-compte #customer_login h2 { margin: 0 0 1rem; color: var(--wp--preset--color--encre); font-size: 1.35rem; }
.lzqf-compte .woocommerce-form-login, .lzqf-compte .woocommerce-form-register, .lzqf-compte .woocommerce-ResetPassword { margin: 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #e2e5e0; border-radius: 8px; background: var(--wp--preset--color--blanc); }
.lzqf-compte .woocommerce-ResetPassword { max-width: 36rem; }
.lzqf-compte .woocommerce-LostPassword { margin: 1rem 0 0; }
.lzqf-compte form .form-row input.input-text { border-radius: 6px; }
.lzqf-compte .woocommerce-form-login__submit, .lzqf-compte .woocommerce-form-register__submit { width: 100%; border-radius: 6px; }

/* Client connecté : menu latéral (carte à icônes) et contenu. */
.lzqf-compte .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 16rem minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.lzqf-compte .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.lzqf-compte .woocommerce-MyAccount-navigation, .lzqf-compte .woocommerce-MyAccount-content { float: none; width: auto; }
.lzqf-compte .woocommerce-MyAccount-navigation { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--lzqf-entete-h, 0px) + 1.5rem); }
.lzqf-compte .woocommerce-MyAccount-navigation ul { margin: 0; padding: .5rem; border: 1px solid #e2e5e0; border-radius: 8px; background: #fff; list-style: none; }
.lzqf-compte .woocommerce-MyAccount-navigation li { margin: 0; }
.lzqf-compte .woocommerce-MyAccount-navigation a { display: flex; align-items: center; gap: .7rem; min-height: 46px; padding: .5rem .75rem; box-sizing: border-box; border-radius: 6px; color: var(--wp--preset--color--encre); font-weight: 500; text-decoration: none; }
.lzqf-compte .woocommerce-MyAccount-navigation a::before { content: ""; flex: 0 0 1.15rem; width: 1.15rem; height: 1.15rem; background: currentColor; opacity: .75; -webkit-mask: var(--lzqf-icone) center / contain no-repeat; mask: var(--lzqf-icone) center / contain no-repeat; }
.lzqf-compte .woocommerce-MyAccount-navigation a:hover { background: var(--wp--preset--color--creme); }
.lzqf-compte .woocommerce-MyAccount-navigation .is-active a { background: var(--wp--preset--color--creme); color: var(--wp--preset--color--vert); font-weight: 600; }
.lzqf-compte .woocommerce-MyAccount-navigation .is-active a::before { opacity: 1; }
.lzqf-compte .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: .35rem !important; padding-top: .35rem; border-top: 1px solid #eef0ec; }
.lzqf-compte .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--wp--preset--color--gris); }
.woocommerce-MyAccount-navigation-link--dashboard { --lzqf-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11l8-7 8 7v9h-5v-6H9v6H4z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders { --lzqf-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h13v10H3zM16 11h3l2 3v3h-5'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address { --lzqf-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--payment-methods { --lzqf-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18v12H3zM3 10h18M7 15h4'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account { --lzqf-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 21c.4-4 3.1-6 7.5-6s7.1 2 7.5 6'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout { --lzqf-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h4v16h-4M10 8l-4 4 4 4M6 12h10'/%3E%3C/svg%3E"); }

/* Tableau de bord. */
.lzqf-hub { display: grid; gap: clamp(2rem, 4vw, 2.75rem); }
.lzqf-hub__titre { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0 0 .9rem; }
.lzqf-hub__titre h2 { margin: 0; color: var(--wp--preset--color--encre); font-size: 1.3rem; }
.lzqf-hub__titre a { color: var(--wp--preset--color--vert-2); font-size: .88rem; text-underline-offset: .2em; }
.lzqf-hub__carte { padding: clamp(1.1rem, 3vw, 1.5rem); border: 1px solid #e2e5e0; border-radius: 8px; background: #fff; }
.lzqf-hub__commande-entete { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #eef0ec; }
.lzqf-hub__commande-entete strong { display: block; color: var(--wp--preset--color--encre); font-size: 1.05rem; }
.lzqf-hub__commande-entete span:not(.lzqf-statut) { color: var(--wp--preset--color--gris); font-size: .85rem; }
.lzqf-statut { display: inline-flex; align-items: center; padding: .3rem .75rem; border-radius: 999px; background: #eef0ec; color: var(--wp--preset--color--encre); font-size: .8rem; font-weight: 600; white-space: nowrap; }
.lzqf-statut--processing { background: #fbf0d3; color: #6b5214; }
.lzqf-statut--completed { background: #e2efe8; color: var(--wp--preset--color--vert); }
.lzqf-statut--on-hold, .lzqf-statut--pending { background: #f1ede4; color: #5b625f; }
.lzqf-statut--cancelled, .lzqf-statut--failed, .lzqf-statut--refunded { background: #f7e3de; color: var(--wp--preset--color--erreur); }
.lzqf-hub__articles { display: grid; gap: .75rem; margin: 1rem 0; padding: 0; list-style: none; }
.lzqf-hub__articles li { display: flex; align-items: center; gap: .9rem; }
.lzqf-hub__article-nom { display: grid; gap: .1rem; color: var(--wp--preset--color--encre); font-size: .92rem; font-weight: 600; }
.lzqf-hub__article-nom small { color: var(--wp--preset--color--gris); font-size: .78rem; font-weight: 400; }
.lzqf-hub__commande-pied { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid #eef0ec; color: var(--wp--preset--color--gris); font-size: .9rem; }
.lzqf-hub__commande-pied strong { margin-left: .35rem; color: var(--wp--preset--color--encre); font-size: 1.1rem; }
.lzqf-hub__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.lzqf-hub__actions .wp-element-button { display: inline-flex; align-items: center; min-height: 44px; padding: .6rem 1.2rem; border-radius: 6px; color: #fff; text-decoration: none; }
.lzqf-hub__lien { color: var(--wp--preset--color--vert); font-weight: 600; text-underline-offset: .2em; }
.lzqf-hub__vide p { margin: 0 0 1rem; color: #3c433f; }
.lzqf-hub__tuiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1rem; }
.lzqf-hub__tuile { display: grid; gap: .3rem; align-content: start; padding: 1.1rem 1.2rem; border: 1px solid #e2e5e0; border-radius: 8px; background: #fff; color: var(--wp--preset--color--gris); font-size: .85rem; line-height: 1.4; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.lzqf-hub__tuile .lzqf-hub__icone { margin-bottom: .45rem; background: var(--wp--preset--color--creme); }
.lzqf-hub__tuile strong { color: var(--wp--preset--color--encre); font-size: 1rem; }
.lzqf-hub__tuile:hover { border-color: var(--wp--preset--color--vert); box-shadow: 0 6px 18px rgba(18, 61, 52, .08); }
.lzqf-hub__tuile:focus-visible { outline: 3px solid var(--wp--preset--color--or-fonce); outline-offset: 2px; }
.lzqf-hub__cafes { grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)) !important; }
.lzqf-hub__aide { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; align-items: center; padding: clamp(1.25rem, 3vw, 2rem); border-radius: 8px; background: var(--wp--preset--color--creme); }
.lzqf-hub__aide h2 { margin: 0 0 .4rem; font-size: 1.3rem; }
.lzqf-hub__aide p { margin: 0; color: #3c433f; font-size: .92rem; }
.lzqf-hub__aide-liens { display: grid; }
.lzqf-hub__aide-liens a { display: flex; align-items: center; justify-content: space-between; min-height: 44px; border-bottom: 1px solid #e3dccb; color: var(--wp--preset--color--vert); font-weight: 500; text-decoration: none; }
.lzqf-hub__aide-liens a::after { content: "→"; color: var(--wp--preset--color--or-fonce); }

/* Mes commandes, adresses, informations : même vocabulaire (cartes, filets, pastilles). */
.lzqf-compte .woocommerce-orders-table { width: 100%; border: 1px solid #e2e5e0; border-radius: 8px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; }
.lzqf-compte .woocommerce-orders-table th { padding: .8rem 1rem; border: 0; border-bottom: 1px solid #e2e5e0; background: #fafaf7; color: var(--wp--preset--color--gris); font-size: .8rem; font-weight: 600; text-align: left; }
.lzqf-compte .woocommerce-orders-table td { padding: .9rem 1rem; border: 0; border-bottom: 1px solid #eef0ec; font-size: .92rem; vertical-align: middle; }
.lzqf-compte .woocommerce-orders-table tr:last-child td { border-bottom: 0; }
.lzqf-compte .woocommerce-orders-table__cell-order-number a { color: var(--wp--preset--color--vert); font-weight: 600; }
.lzqf-compte .woocommerce-orders-table .button { min-height: 38px; padding: .45rem .9rem; border: 1px solid var(--wp--preset--color--vert); border-radius: 6px; background: #fff; color: var(--wp--preset--color--vert); font-size: .85rem; }
.lzqf-compte .woocommerce-orders-table .button:hover { background: var(--wp--preset--color--vert); color: #fff; }
.lzqf-compte .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.lzqf-compte .woocommerce-Addresses::before, .lzqf-compte .woocommerce-Addresses::after { display: none; }
.lzqf-compte .woocommerce-Address { float: none !important; width: auto !important; padding: 1.25rem; border: 1px solid #e2e5e0; border-radius: 8px; background: #fff; }
.lzqf-compte .woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.lzqf-compte .woocommerce-Address-title h2 { margin: 0 0 .6rem; font-size: 1.1rem; }
.lzqf-compte .woocommerce-Address-title a { color: var(--wp--preset--color--vert); font-size: .88rem; font-weight: 600; }
.lzqf-compte .woocommerce-Address address { font-style: normal; color: #3c433f; line-height: 1.6; }
.lzqf-compte .woocommerce-MyAccount-content > form, .lzqf-compte .woocommerce-EditAccountForm { max-width: 42rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #e2e5e0; border-radius: 8px; background: #fff; }
.lzqf-compte .woocommerce-MyAccount-content fieldset { margin: 1.5rem 0 0; padding: 1rem 0 0; border: 0; border-top: 1px solid #eef0ec; }
.lzqf-compte .woocommerce-MyAccount-content legend { padding: 0; font-weight: 600; }
.lzqf-compte .woocommerce-MyAccount-content > p:first-child { color: #3c433f; }

@media (max-width: 782px) {
	.lzqf-compte #customer_login, .lzqf-compte .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); }
	.lzqf-compte .woocommerce-MyAccount-navigation, .lzqf-compte .woocommerce-MyAccount-content { min-width: 0; }
	.lzqf-compte .woocommerce-MyAccount-navigation { position: static; }
	.lzqf-compte .woocommerce-MyAccount-navigation ul { display: flex; gap: .35rem; overflow-x: auto; padding: .4rem; scrollbar-width: none; }
	.lzqf-compte .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
	.lzqf-compte .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0 !important; padding: 0; border: 0; }
	.lzqf-compte .woocommerce-MyAccount-navigation a { white-space: nowrap; }
	.lzqf-compte-avantages, .lzqf-hub__aide, .lzqf-compte .woocommerce-Addresses { grid-template-columns: 1fr; }
}

/* Messages WooCommerce en bandeau (thème bloc) : palette du site au lieu du bleu par défaut. */
.lzqf-achat .wc-block-components-notice-banner, .lzqf-compte .wc-block-components-notice-banner { border: 0; border-left: 3px solid var(--wp--preset--color--vert); border-radius: 0; background: var(--wp--preset--color--creme); color: var(--wp--preset--color--encre); }
.lzqf-achat .wc-block-components-notice-banner > svg, .lzqf-compte .wc-block-components-notice-banner > svg { background-color: var(--wp--preset--color--vert); fill: var(--wp--preset--color--blanc); }
.lzqf-achat .wc-block-components-notice-banner.is-error, .lzqf-compte .wc-block-components-notice-banner.is-error { border-left-color: var(--wp--preset--color--erreur); }
.lzqf-achat .wc-block-components-notice-banner.is-error > svg, .lzqf-compte .wc-block-components-notice-banner.is-error > svg { background-color: var(--wp--preset--color--erreur); }
.lzqf-achat .wc-block-components-notice-banner a { color: var(--wp--preset--color--vert); }

/* Tunnel (M-031) : explication du téléphone, lien Boxtal utilisable au clavier (rôle ajouté par assets/js/achat.js). */
.woocommerce-checkout #billing_phone_field .description { display: block !important; position: static; margin: .3rem 0 0; padding: 0; background: none; color: var(--wp--preset--color--gris); font-size: .78rem; }
.woocommerce-checkout #billing_phone_field .description::before { display: none; }
.woocommerce-checkout #lzqf-expedition ul#shipping_method .bw-select-parcel { cursor: pointer; }
.woocommerce-checkout #lzqf-expedition ul#shipping_method .bw-select-parcel:focus-visible { outline: 3px solid var(--wp--preset--color--or-fonce); outline-offset: 2px; border-radius: 2px; }

/* M-043 : carte Boxtal sur mobile. L'extension masque la liste des points relais sous 768 px et ne laisse que la carte,
   dont le cadrage place les marqueurs hors de l'écran : plus rien à toucher pour choisir. On garde la carte, plus basse,
   et la liste (nom, adresse, « Choisir ce point relais ») visible en dessous. L'extension n'est pas modifiée. */
@media (max-width: 767px) {
	body #bw-map { width: calc(100% - 2rem); height: auto; max-height: none; padding: 8px; }
	body #bw-map #bw-map-inner { height: auto; }
	body #bw-map #bw-map-inner #bw-map-container { float: none; height: auto; padding-right: 0; }
	body #bw-map #bw-map-inner #bw-map-container #bw-map-canvas { height: 38vh; }
	body #bw-map #bw-map-inner #bw-pp-container { display: block; float: none; width: 100%; height: 42vh; margin: 8px 0 0; padding: 0 4px; }
	body #bw-map #bw-map-inner #bw-pp-container table td .bw-parcel-point-title { width: auto; max-width: 100%; white-space: normal; }
	body #bw-map #bw-map-inner .bw-parcel-point-button { display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 44px; margin: .4rem 0 .2rem; padding: .5rem .9rem; font-size: .9rem; line-height: 1.3; }
	body #bw-map #bw-map-inner .bw-close { top: 4px; right: 4px; }
}

/* M-085 : réassurance sous les articles, distincte du pied de page et du récapitulatif. */
.woocommerce-cart .lzqf-panier-engagements { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 1.5rem 0 0; padding: 1.25rem .5rem; list-style: none; border: 1px solid var(--wp--preset--color--filet, #e2e5e0); border-radius: 8px; background: var(--wp--preset--color--creme, #f7f4ec); }
.woocommerce-cart .lzqf-panier-engagements li { display: flex; flex-direction: column; align-items: center; gap: .5rem; min-width: 0; padding: .25rem .6rem; text-align: center; color: var(--wp--preset--color--vert); }
.woocommerce-cart .lzqf-panier-engagements li + li { border-left: 1px solid var(--wp--preset--color--filet, #e2e5e0); }
.woocommerce-cart .lzqf-panier-engagements svg { flex: none; }
.woocommerce-cart .lzqf-panier-engagements strong { font-size: .82rem; line-height: 1.4; }
.woocommerce-cart .lzqf-panier-engagements small { color: var(--wp--preset--color--gris); font-size: .75rem; line-height: 1.4; }
@media (max-width: 900px) {
	.woocommerce-cart .lzqf-panier-engagements { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1rem; }
	.woocommerce-cart .lzqf-panier-engagements li:nth-child(3) { border-left: 0; }
}

/* AC-09 (01/10) : récapitulatif, puis code promo, puis engagements, puis suggestions ; le champ promo du tableau est masqué. */
.woocommerce-cart table.shop_table.cart td.actions .coupon { display: none; }
.woocommerce-cart .cart-collaterals .lzqf-panier-suggestions { order: 1; }
.woocommerce-cart .lzqf-panier-promo { padding: 1.1rem clamp(1.25rem, 3vw, 1.75rem); border: 1px solid var(--wp--preset--color--filet, #e2e5e0); border-radius: 8px; background: var(--wp--preset--color--blanc, #fff); }
.woocommerce-cart .lzqf-panier-promo label { display: block; margin: 0 0 .5rem; color: var(--wp--preset--color--vert); font-size: .92rem; font-weight: 600; }
.woocommerce-cart .lzqf-panier-promo > div { display: flex; gap: .5rem; }
.woocommerce-cart .lzqf-panier-promo .input-text { flex: 1 1 auto; min-width: 0; min-height: 44px; }
.woocommerce-cart .lzqf-panier-promo .button { flex: none; min-height: 44px; }
/* M-104 (02/10) : engagements et suggestions sous les articles (colonne de gauche sur ordinateur, le récapitulatif s'étend sur deux rangées). */
.woocommerce-cart .lzqf-panier-bas { display: grid; gap: 2rem; }
.woocommerce-cart .lzqf-panier-bas .lzqf-panier-engagements { margin: 0; }
@media (min-width: 901px) { .woocommerce-cart .lzqf-achat .woocommerce > .cart-collaterals { grid-row: span 2; } .woocommerce-cart .lzqf-achat .woocommerce > .lzqf-panier-bas { grid-column: 1; } }

/* AC-01 (01/10) : Mon compte › détail d'une commande, même présentation que la confirmation. */
.lzqf-commande__intro { margin: 0 0 1.5rem; font-size: 1rem; }
.lzqf-commande__intro mark { padding: .15rem .55rem; border-radius: 4px; background: var(--wp--preset--color--creme); color: var(--wp--preset--color--vert); font-weight: 600; }
.lzqf-commande__nouvelles { margin: 1.5rem 0; }
.lzqf-commande__nouvelles h2 { margin: 0 0 .75rem; font-size: 1.2rem; }
.lzqf-commande__nouvelles .notes { margin: 0; padding: 0; list-style: none; }
.lzqf-commande__nouvelles .note { margin: 0 0 .75rem; padding: .9rem 1.1rem; border-left: 3px solid var(--wp--preset--color--vert); background: var(--wp--preset--color--blanc); }
.lzqf-commande__nouvelles .meta { margin: 0 0 .25rem; color: var(--wp--preset--color--gris); font-size: .8rem; }
.lzqf-commande__nouvelles .description p { margin: 0; }

/* M-105 A02 : le bouton « afficher le mot de passe » de WooCommerce faisait 22 × 22 px ; zone tactile de 44 px (libellé, bascule clavier et pictogramme de WooCommerce inchangés), champ élargi à droite pour que la saisie ne passe pas dessous. */
.woocommerce form .password-input .show-password-input, .woocommerce-page form .password-input .show-password-input { display: grid; place-items: center; box-sizing: border-box; width: 44px; height: 44px; right: 0; }
.woocommerce form .password-input .show-password-input:focus-visible, .woocommerce-page form .password-input .show-password-input:focus-visible { outline: 3px solid var(--wp--preset--color--or-fonce); outline-offset: -3px; }
.woocommerce form .password-input input, .woocommerce-page form .password-input input { padding-right: 48px !important; }
