/* =========================================================================
   Lupéo — design system « La bonne pièce » : PANIER, PAIEMENT, COMPTE
   =========================================================================
   Sections 8 à 10 de la refonte, séparées de lupeo-ds-pages.css le 19/09/2026
   pour ne pas alourdir les rayons, les fiches et le blog (~66 Ko de règles qui
   ne servent que sur ces pages). Chargée par functions.php sur le panier, le
   paiement (confirmation comprise) et le compte client, APRÈS lupeo-ds-pages.css :
   même cascade qu'avant la séparation.

   Plan
     8. Panier (blocs WooCommerce)
     9. Paiement : en-tête réduit, étapes, champs, résumé, mobile, confirmation
    10. Compte client : tableau de bord, commandes, adresses, informations, connexion
   ========================================================================= */

/* ---------- 8. Panier et paiement (blocs WooCommerce) ----------------------- */

/* Les deux écrans sont les blocs React de WooCommerce : le balisage ne change
   pas, seules les couleurs, graisses, rayons et espacements viennent du design
   system — et, pour le panier, la composition du prototype « Panier » :
   titre et « Continuer mes achats » sur une ligne, lignes de produit en cartes
   (image 104 px | détail | total), récapitulatif de 380 px collant à droite.
   Rien ici ne touche à la logique (livraison, coupons, paiement). */

/* Titre du panier + lien de retour, sur une même ligne. */
body.woocommerce-cart .hero-section .entry-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 20px}
body.woocommerce-cart .hero-section .page-title{margin:0;font-size:clamp(30px,3.4vw,44px);line-height:1.03;letter-spacing:-.032em}
.lp-panier__suite{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600;color:var(--lp-ink);text-decoration:none}
.lp-panier__suite:hover,.lp-panier__suite:focus-visible{color:var(--lp-green-600)}
.lp-panier__retour{transform:rotate(180deg)}

/* Titres d'étape et de bloc. */
body .wc-block-components-title,
body .wc-block-components-checkout-step__title{
  font-family:var(--lp-sans);font-size:clamp(19px,1.6vw,21px);font-weight:700;line-height:1.25;letter-spacing:-.018em;color:var(--lp-ink);
}
body .wc-block-cart .wp-block-woocommerce-cart-order-summary-heading-block.wc-block-cart__totals-title,
body .wc-block-components-checkout-order-summary__title-text{
  font-family:var(--lp-sans);font-size:17px;font-weight:700;line-height:1.25;letter-spacing:-.018em;text-transform:none;color:var(--lp-ink);
}
body .wc-block-components-checkout-step__heading a,
body .wc-block-checkout__login-prompt{color:var(--lp-green-600);font-weight:500}

/* Mise en page du panier : la colonne des lignes, puis 380 px de récapitulatif. */
body .wc-block-cart.wc-block-components-sidebar-layout{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:clamp(24px,3vw,44px)}
body .wc-block-cart .wc-block-components-main{flex:1 1 0;min-width:0;width:auto;padding:0}
body .wc-block-cart .wc-block-components-sidebar{flex:0 0 380px;width:380px;padding:24px;position:sticky;top:94px}

/* Lignes du panier : une carte, une ligne = image 104 px | détail | total. */
body .wc-block-cart-items{display:block;width:100%;border:1px solid var(--lp-line);border-radius:13px;overflow:hidden;border-collapse:separate;background:var(--lp-surface)}
body .wc-block-cart-items tbody{display:block}
body .wc-block-cart-items__header{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body .wc-block-cart-items__row{
  display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:18px;align-items:start;
  padding:18px;border:0;border-bottom:1px solid var(--lp-line-2);
}
body .wc-block-cart-items__row:last-child{border-bottom:0}
/* ⚠️ !important : WooCommerce pose sa marge intérieure et ses filets sur chaque
   <td> avec une spécificité que rien d'autre ne bat proprement. */
body .wc-block-cart .wc-block-cart-items .wc-block-cart-items__row > td{display:block;padding:0!important;border:0!important}
body .wc-block-cart .wc-block-cart-item__image{width:104px}
body .wc-block-cart .wc-block-cart-item__image a{display:block;border-radius:9px;overflow:hidden;background:var(--lp-surface-2)}
body .wc-block-cart .wc-block-cart-item__image img{display:block;width:104px!important;height:104px!important;max-width:none;object-fit:contain;padding:8px;box-sizing:border-box;mix-blend-mode:multiply}
body .wc-block-cart .wc-block-cart-item__product{min-width:0}
body .wc-block-cart .wc-block-cart-item__total{text-align:right}
body .wc-block-cart-item__total .wc-block-components-product-price__value{font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--lp-ink);white-space:nowrap}
body .wc-block-components-product-name{display:block;margin:0 0 6px;font-size:16px;font-weight:600;line-height:1.35;letter-spacing:-.012em;color:var(--lp-ink);text-decoration:none}
body a.wc-block-components-product-name:hover,
body a.wc-block-components-product-name:focus-visible{color:var(--lp-green-600);text-decoration:underline;text-underline-offset:3px}
body .wc-block-cart-item__prices .wc-block-components-product-price{font-size:13px;color:var(--lp-ink-3)}
body .wc-block-components-product-metadata,
body .wc-block-components-product-metadata__description{margin:0 0 12px;font-size:13px;line-height:1.45;color:var(--lp-ink-3)}
body .wc-block-cart-item__quantity{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
body .wc-block-cart-item__remove-link{
  padding:0;border:0;background:none;
  font-size:0;color:var(--lp-ink-2);cursor:pointer;
}
body .wc-block-cart-item__remove-link svg{display:none}
body .wc-block-cart-item__remove-link::after{content:"Retirer";font-size:13.5px;font-weight:400;text-decoration:underline;text-underline-offset:3px}
body .wc-block-cart-item__remove-link:hover{color:var(--lp-ink)}

/* Sélecteur de quantité : 44 px de haut, filet net, arrondi 8 px. */
body .wc-block-components-quantity-selector{
  height:44px;width:auto;
  border:1px solid var(--lp-line-forte);border-radius:var(--lp-r-2);background:var(--lp-surface);overflow:hidden;
}
body .wc-block-components-quantity-selector::after{display:none}
body .wc-block-components-quantity-selector__input{min-width:28px;font-size:15px;font-weight:600;color:var(--lp-ink)}
body .wc-block-components-quantity-selector__button{width:40px;color:var(--lp-ink)}
body .wc-block-components-quantity-selector__button:hover:not(:disabled){background:var(--lp-surface-2)}

/* Récapitulatif / résumé de commande : une carte de 13 px d'arrondi. */
body .wc-block-components-sidebar-layout .wc-block-components-sidebar{
  border:1px solid var(--lp-line);border-radius:13px;background:var(--lp-surface);box-shadow:none;align-self:flex-start;
}
body .wc-block-components-totals-wrapper{border-color:var(--lp-line-2)}
body .wc-block-components-totals-item__label{font-size:15px;color:var(--lp-ink-2)}
body .wc-block-components-totals-item__value{font-size:15px;font-weight:600;color:var(--lp-ink)}
body .wc-block-components-totals-item__description{font-size:12.5px;color:var(--lp-ink-3)}
body .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:16px;font-weight:600;color:var(--lp-ink)}
body .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount:not(.wc-block-components-totals-footer-item-tax-value){font-size:28px;font-weight:700;letter-spacing:-.024em;color:var(--lp-ink)}
body .wc-block-components-panel__button{font-size:14px;color:var(--lp-ink-2)}
body .wc-block-components-panel__button:hover{color:var(--lp-ink)}

/* Boutons d'action : vert action, texte sombre, 56 px, 9 px de rayon. */
body .wc-block-cart__submit-button,
body .wc-block-components-checkout-place-order-button{
  min-height:56px;border-radius:9px;
  background:var(--lp-green-400);color:var(--lp-green-400-ink);
  font-family:var(--lp-sans);font-size:16px;font-weight:700;letter-spacing:0;box-shadow:none;
}
body .wc-block-cart__submit-button:hover,
body .wc-block-components-checkout-place-order-button:hover{background:#00B85D;color:var(--lp-green-400-ink)}
body .wc-block-cart__submit-container::after{
  content:"Carte bancaire, Klarna, Amazon Pay — paiement chiffré";
  display:block;margin-top:14px;text-align:center;font-size:12.5px;line-height:1.5;color:var(--lp-ink-2);
}

/* Champs de formulaire : 54 px, filet fin, bord net au focus. */
body .wc-block-components-text-input input[type="text"],
body .wc-block-components-text-input input[type="email"],
body .wc-block-components-text-input input[type="tel"],
body .wc-block-components-text-input input[type="password"],
body .wc-block-components-text-input input[type="number"],
body .wc-block-components-textarea,
body .wc-blocks-components-select .wc-blocks-components-select__select{
  min-height:54px;
  border:1px solid var(--lp-line-forte);border-radius:var(--lp-r-2);background:var(--lp-surface);
  font-family:var(--lp-sans);font-size:15px;color:var(--lp-ink);
  box-shadow:none;
}
body .wc-block-components-text-input input:focus,
body .wc-block-components-textarea:focus,
body .wc-blocks-components-select .wc-blocks-components-select__select:focus{
  border-color:var(--lp-green-600);box-shadow:0 0 0 3px rgba(0,124,117,.18);
}
body .wc-block-components-text-input label,
body .wc-blocks-components-select__label{font-family:var(--lp-sans);color:var(--lp-ink-3)}
body .wc-block-components-text-input.has-error input{border-color:var(--lp-danger);box-shadow:0 0 0 3px rgba(194,90,34,.16)}
body .wc-block-components-validation-error{color:var(--lp-danger)}

/* Focus clavier des cases et boutons radio de WooCommerce. */
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus-visible,
body .wc-block-components-radio-control .wc-block-components-radio-control__input:focus-visible,
body .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input:focus-visible{
  /* ⚠️ !important : une règle de WooCommerce pose `outline:none!important` sur ces deux contrôles
     (aucun indicateur de focus au clavier) ; seule une déclaration importante plus précise la bat. */
  outline:2px solid var(--lp-green-600)!important;outline-offset:2px;
}

/* Cases à cocher et choix de livraison / paiement : cartes de choix de 64 px. */
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]{
  border:1px solid var(--lp-line-forte);border-radius:var(--lp-r-1);background:var(--lp-surface);
}
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked{background:var(--lp-green-600);border-color:var(--lp-green-600)}
body .wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:#fff}
body .wc-block-components-radio-control .wc-block-components-radio-control__option{
  min-height:64px;margin:0 0 10px;padding:16px 18px 16px 52px;
  border:1px solid var(--lp-line-forte);border-radius:10px;background:var(--lp-surface);box-shadow:none;
}
body .wc-block-components-radio-control .wc-block-components-radio-control__option-checked,
body .wc-block-components-radio-control .wc-block-components-radio-control__option--checked-option-highlighted{
  border-color:var(--lp-green-600);background:var(--lp-green-50);box-shadow:inset 0 0 0 1px var(--lp-green-600);
}
body .wc-block-components-radio-control .wc-block-components-radio-control__option::after{display:none}
body .wc-block-components-radio-control__input{border-color:var(--lp-line-forte)}
body .wc-block-components-radio-control__input:checked{border-color:var(--lp-green-600)}
body .wc-block-components-radio-control__input:checked::before{background:var(--lp-green-600)}
body .wc-block-components-radio-control__label,
body .wc-block-components-radio-control__secondary-label{font-size:15px;color:var(--lp-ink)}
body .wc-block-components-radio-control__secondary-label{font-weight:700}

/* Résumé de commande (paiement) : vignettes de 52 px, pastille de quantité en encre. */
body .wc-block-components-order-summary-item__image{width:52px}
body .wc-block-components-order-summary-item__image img{border-radius:8px;background:var(--lp-surface-2);mix-blend-mode:multiply;object-fit:contain}
body .wc-block-components-order-summary-item__quantity{background:var(--lp-ink);color:#fff;border:0;box-shadow:none;font-size:11px;font-weight:700}
body .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-size:13.5px;font-weight:500;line-height:1.35}
body .wc-block-components-order-summary-item__total-price{font-size:14px;font-weight:600;color:var(--lp-ink)}

/* Avis : couleur + icône + mot, jamais un aplat criard. */
body .wc-block-components-notice-banner{
  border:1px solid var(--lp-line);border-radius:var(--lp-r-3);background:var(--lp-surface-2);color:var(--lp-ink);font-size:15px;line-height:1.5;
}
body .wc-block-components-notice-banner.is-error{border-color:#F0CBB8;background:#FFF4EE;color:var(--lp-ink)}
body .wc-block-components-notice-banner.is-error > svg{background:var(--lp-danger);fill:#fff}
body .wc-block-components-notice-banner.is-success,
body .wc-block-components-notice-banner.is-info{border-color:#CFE9DD;background:var(--lp-green-50);color:var(--lp-ink)}
body .wc-block-components-notice-banner.is-success > svg,
body .wc-block-components-notice-banner.is-info > svg{background:var(--lp-green-600);fill:#fff}

/* Conditions et notes. */
body .wc-block-checkout__terms{font-size:13.5px;line-height:1.55;color:var(--lp-ink-3)}
body .wc-block-checkout__terms a{color:var(--lp-green-600);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Petits écrans : la colonne des totaux passe sous les lignes, la ligne se compacte. */
@media (max-width:1040px){
  body .wc-block-cart.wc-block-components-sidebar-layout{flex-wrap:wrap}
  body .wc-block-cart .wc-block-components-sidebar{flex:1 1 100%;width:100%;position:static}
}
/* WooCommerce 11.2 (22/10/2026) : de 700 à 919 px de conteneur, le panier passe du gabarit large au gabarit
   « is-medium ». Trois effets, ramenés à l'état d'avant :
   1. WooCommerce y met la mise en page en colonne ; notre « align-items:flex-start » rétrécissait alors la
      colonne des lignes à la largeur de son contenu → retour à la mise en page en ligne (le récapitulatif
      passe dessous grâce au retour à la ligne ci-dessous) ;
   2. WooCommerce masque le titre « Total panier » sous 920 px → il revient ;
   3. au-dessus de 860 px de fenêtre, la ligne de panier garde le gabarit large (image 104 px | détail | total)
      au lieu de la grille mobile de WooCommerce ; en dessous, la règle « 88 px » du prototype s'applique déjà.
   Sous WooCommerce 11.1, « is-medium » n'existe que sous 700 px de conteneur : ces règles n'y visent rien. */
@container (min-width: 700px){
  body .wc-block-cart.is-medium.wc-block-components-sidebar-layout{flex-direction:row;margin-bottom:48px}
  body .wc-block-cart.is-medium .wc-block-components-sidebar{margin-bottom:0}
  body .wc-block-cart.is-medium .wc-block-components-sidebar .wc-block-cart__totals-title{display:block;margin-bottom:0;padding-top:8px;padding-right:16px;padding-bottom:10px}
  /* Le reste de la grille mobile que WooCommerce pose sur « is-medium » : filet sous la dernière ligne,
     marge à droite de la quantité, montant en bloc, en-têtes de colonnes retirés aux lecteurs d'écran. */
  body .wc-block-cart.is-medium table.wc-block-cart-items.wp-block-woocommerce-cart-line-items-block .wc-block-cart-items__row{border-bottom:1px solid var(--lp-line-2)}
  body .wc-block-cart.is-medium table.wc-block-cart-items.wp-block-woocommerce-cart-line-items-block .wc-block-cart-items__row:last-child{border-bottom:0}
  body .wc-block-cart.is-medium table.wc-block-cart-items .wc-block-cart-item__quantity{padding-right:0}
  body .wc-block-cart.is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total .wc-block-components-formatted-money-amount{display:inline}
  body .wc-block-cart.is-medium table.wc-block-cart-items .wc-block-cart-items__header{display:revert}
}
@media (min-width:861px){
  body .wc-block-cart.is-medium table.wc-block-cart-items .wc-block-cart-items__row{grid-template-columns:104px minmax(0,1fr) auto;gap:18px;padding:18px}
  body .wc-block-cart.is-medium table.wc-block-cart-items .wc-block-cart-items__row > td{grid-column:auto;grid-row:auto}
}
@media (max-width:860px){
  /* Ligne de panier (prototype « Panier », mobile : image 88 px, texte à droite, total en bas à droite).
     ⚠️ Le sélecteur reprend celui de WooCommerce (`.wc-block-cart table.wc-block-cart-items …`, trois
     classes) préfixé de `body` : seul un sélecteur aussi précis bat sa grille « 80 px 132 px », qui
     posait le total en haut à droite de la première ligne — par-dessus le nom du produit — et sa règle
     `.is-mobile … {padding:16px 0}` collait l'image au bord de la carte. */
  body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{grid-template-columns:88px minmax(0,1fr);gap:0 14px;padding:18px}
  body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image{grid-column:1;grid-row:1 / span 2;width:88px}
  body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product{grid-column:2;grid-row:1}
  body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{grid-column:2;grid-row:2;padding-top:8px!important;text-align:right}
  body .wc-block-cart .wc-block-cart-item__image img{width:88px!important;height:88px!important}
}

/* ---------- 8b. Panier vide ------------------------------------------------- */

/* Le panier vide est le bloc « empty-cart » de WooCommerce, enregistré dans la
   page Panier : titre à pictogramme, séparateur, « Nouveau dans la boutique » et
   la grille des nouveautés. Le prototype n'a pas d'état vide : on garde le
   contenu et le fonctionnement natifs, et on leur donne le langage du thème —
   l'état vide de la recherche (carte grise, bord fin, rayon 14 px), les titres
   de section, les cartes et le bouton « action » du catalogue.
   Le bloc n'existe que panier vide : rien ici n'atteint le panier rempli. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{margin-top:clamp(20px,2.4vw,32px)}
body.woocommerce-cart .wc-block-cart__empty-cart__title{
  max-width:760px;margin:0 auto;padding:clamp(24px,3vw,36px) clamp(20px,2.6vw,32px);
  border:1px solid var(--lp-line);border-radius:var(--lp-r-4);background:var(--lp-surface-2);
  font-family:var(--lp-sans);font-size:clamp(19px,1.6vw,21px);font-weight:700;line-height:1.3;letter-spacing:-.018em;color:var(--lp-ink);
}
/* Le pictogramme (pseudo-élément décoratif, non lu) : vert du thème, à l'échelle du texte. */
body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before{
  width:56px;height:56px;margin:0 auto 16px;font-size:inherit;background-color:var(--lp-green-600);
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
/* Le séparateur à points devient le filet du thème. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr.wp-block-separator{
  max-width:none;width:100%;height:0;margin:clamp(36px,4vw,56px) 0 clamp(20px,2.4vw,28px);border:0;border-top:1px solid var(--lp-line);background:none;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr.wp-block-separator::before{display:none}
/* « Nouveau dans la boutique » : un titre de section, pas un second titre de page. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title){
  margin:0 0 18px;text-align:left;font-family:var(--lp-sans);font-size:clamp(20px,1.9vw,24px);font-weight:700;line-height:1.2;letter-spacing:-.022em;color:var(--lp-ink);
}
/* La grille des nouveautés : les cartes du catalogue. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin:0;padding:0;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product{
  display:flex;flex-direction:column;max-width:none;width:auto;margin:0;padding:12px 12px 16px;
  border:1px solid var(--lp-line);border-radius:var(--lp-r-4);background:var(--lp-surface);text-align:left;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link{display:block;color:var(--lp-ink);text-decoration:none}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image{margin:0 0 12px;border-radius:var(--lp-r-3);background:var(--lp-surface-2);overflow:hidden}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title{
  margin:0 0 8px;font-size:14.5px;font-weight:600;line-height:1.35;color:var(--lp-ink);text-decoration:none;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link:hover .wc-block-grid__product-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link:focus-visible .wc-block-grid__product-title{color:var(--lp-green-600)}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price{margin:auto 0 12px;font-size:15px;font-weight:700;color:var(--lp-ink);text-align:left}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .woocommerce-price-suffix{font-weight:400;color:var(--lp-ink-3)}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart{margin:0}
/* Le bouton : celui du catalogue (« action » : vert vif, texte foncé). */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link{
  display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:0;padding:11px 16px;
  border:1px solid transparent;border-radius:var(--lp-r-2);background:var(--lp-green-400);color:var(--lp-green-400-ink);
  font-family:var(--lp-sans);font-size:14.5px;font-weight:700;line-height:1.2;text-decoration:none;white-space:normal;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:focus-visible{background:#00BE60;color:var(--lp-green-400-ink)}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:focus-visible{outline:2px solid var(--lp-green-600);outline-offset:3px}
@media (max-width:1024px){
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product{padding:10px 10px 12px}
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title{font-size:14px}
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link{padding:10px 8px;font-size:13.5px}
}

/* ---------- 9. Paiement (page de commande) ---------------------------------- */

/* Le prototype « Panier » traite le paiement à part : cadre resserré (1180 px,
   gouttières de 40 px au plus), en-tête réduit au logo et à la mention de
   paiement chiffré, bande d'étapes, formulaire à libellés AU-DESSUS des champs,
   choix de livraison en cartes, résumé de 356 px collant à droite. Tout est
   habillage : le balisage des blocs WooCommerce n'est pas modifié, et aucune
   règle de livraison, de coupon ou de paiement n'est touchée. */

/* 9a. Cadre, en-tête réduit, bande d'étapes. */
body.woocommerce-checkout{
  --lp-gouttiere:clamp(20px,3vw,40px);
  --lp-wrap:calc(1180px - 2 * var(--lp-gouttiere));
  --theme-normal-container-max-width:var(--lp-wrap);
  --theme-container-edge-spacing:calc(100vw - 2 * var(--lp-gouttiere));
}
/* L'en-tête ne colle plus : le résumé, lui, colle à 24 px du haut. */
body.woocommerce-checkout #header{position:static}
body.woocommerce-checkout #header [data-row*="middle"] > .ct-container{max-width:1180px;padding-inline:var(--lp-gouttiere)}
body.woocommerce-checkout #header [data-column="end"]{display:flex;align-items:center;justify-content:flex-end;min-width:0}
body.woocommerce-checkout #header [data-column="end"] [data-items]{display:none}
body.woocommerce-checkout #header [data-column="end"]::after{
  content:"Paiement chiffré · connexion sécurisée";
  padding-left:26px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007C75' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.4' y='10' width='15.2' height='10.4' rx='2.4'/%3E%3Cpath d='M8.2 10V7.2a3.8 3.8 0 0 1 7.6 0V10'/%3E%3Cpath d='M12 14v2.6'/%3E%3C/svg%3E") left center/17px 17px no-repeat;
  font-size:13px;line-height:17px;color:var(--lp-ink-2);text-align:right;
}

.lp-etapes{border-bottom:1px solid var(--lp-line);background:#FAFBFA}
.lp-etapes__liste{
  display:flex;gap:clamp(16px,3vw,40px);overflow:auto;
  max-width:1180px;margin:0 auto;padding:0 var(--lp-gouttiere);
  list-style:none;box-sizing:border-box;
}
.lp-etape{margin:0;padding:0}
.lp-etape__lien{
  display:flex;align-items:center;gap:10px;
  padding:17px 0;border-bottom:2px solid transparent;
  font-size:14.5px;font-weight:500;line-height:23px;color:var(--lp-ink-3);white-space:nowrap;text-decoration:none;
}
.lp-etape__num{
  display:grid;place-items:center;flex:none;
  width:23px;height:23px;border-radius:99px;
  background:var(--lp-line);color:var(--lp-ink-3);
  font-size:11.5px;font-weight:700;line-height:1;
}
a.lp-etape__lien:hover{color:var(--lp-ink)}
.lp-etape.is-actif .lp-etape__lien{border-bottom-color:var(--lp-green-400);color:var(--lp-ink);font-weight:600}
.lp-etape.is-actif .lp-etape__num{background:var(--lp-ink);color:#fff}
.lp-etape.is-fait .lp-etape__lien{color:var(--lp-ink)}
.lp-etape.is-fait .lp-etape__num{background:#00B85D;color:#fff}
/* 320 px (WCAG 1.4.10, reflow) : les trois étapes tiennent sans défiler — « Confirmation » était rognée. */
@media (max-width:360px){
  .lp-etapes__liste{gap:10px;padding-inline:12px}
  .lp-etape__lien{gap:6px;font-size:13px}
  .lp-etape__num{width:20px;height:20px;font-size:10.5px}
}

/* Titre : 56 px sous la bande, 26 px avant le formulaire, 32 px de haut. */
body.woocommerce-checkout .ct-container-full[data-vertical-spacing]{padding-top:clamp(32px,4vw,56px);padding-bottom:80px}
body.woocommerce-checkout .hero-section{margin-bottom:26px}
body.woocommerce-checkout .hero-section .page-title{font-size:clamp(24px,2.6vw,32px);line-height:1.1;letter-spacing:-.026em}

/* Pied réduit à la ligne de copyright, sur fond blanc (le prototype n'a pas de pied ici). */
body.woocommerce-checkout #footer [data-row]{background:var(--lp-surface)}

/* 9b. Deux colonnes : le formulaire, puis 356 px de résumé collant. */
body.woocommerce-checkout .entry-content > .wp-block-woocommerce-checkout{max-width:var(--lp-wrap);margin-inline:auto}
body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout{
  display:flex;flex-wrap:nowrap;align-items:flex-start;gap:clamp(24px,3vw,48px);margin:0;
}
body.woocommerce-checkout .wc-block-checkout .wc-block-components-main{flex:1 1 0;min-width:0;width:auto;padding:0}
body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar{
  flex:0 0 356px;width:356px;margin:0;padding:22px;
  position:sticky;top:24px;align-self:flex-start;
}

/* 9c. Sections du formulaire : titre de 19 px, 30 px entre deux sections. */
body.woocommerce-checkout .wc-block-components-form .wc-block-components-checkout-step{margin:0 0 30px}
body.woocommerce-checkout .wc-block-components-checkout-step__heading-container{gap:0;margin-bottom:16px}
/* WooCommerce pose `font-weight:500` sur .wc-block-components-title.wc-block-components-title
   (deux classes) : la même précaution ici pour rendre les titres en 700. */
body.woocommerce-checkout .wc-block-components-title.wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step__title.wc-block-components-title{margin:0;font-size:19px;font-weight:700;line-height:1.25;letter-spacing:-.018em}
body.woocommerce-checkout .wc-block-checkout__guest-checkout-notice{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--lp-ink-3)}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__login-prompt{font-size:14px;line-height:1.4;font-weight:600}
body.woocommerce-checkout .wc-block-components-checkout-step__content>*{margin-bottom:14px}
body.woocommerce-checkout .wc-block-components-checkout-step__content>:last-child{margin-bottom:0}

/* 9d. Champs : libellé de 12,5 px AU-DESSUS, champ de 49 px, comme le prototype.
   WooCommerce pose le libellé après le champ et le fait flotter ; ici il passe
   en tête de colonne, à plat, sans transformation. */
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input{
  display:flex;flex-direction:column;gap:7px;margin:0;line-height:normal;white-space:normal;
}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill+label{
  order:-1;position:static;top:auto;left:auto;transform:none;max-width:none;overflow:visible;opacity:1;
  font-family:var(--lp-sans);font-size:12.5px;font-weight:600;line-height:15px;color:var(--lp-ink-2);cursor:default;
}
body.woocommerce-checkout .wc-block-components-text-input input[type="text"],
body.woocommerce-checkout .wc-block-components-text-input input[type="email"],
body.woocommerce-checkout .wc-block-components-text-input input[type="tel"],
body.woocommerce-checkout .wc-block-components-text-input input[type="password"],
body.woocommerce-checkout .wc-block-components-text-input input[type="number"],
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type="text"],
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type="email"],
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type="tel"],
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type="password"],
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type="number"],
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type="text"]:focus,
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type="email"]:focus,
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type="tel"]:focus,
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type="password"]:focus,
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type="number"]:focus,
body.woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill,
body.woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill:focus{
  height:49px;min-height:0;padding:0 15px;box-sizing:border-box;
  font-size:15px;line-height:normal;
}
/* 🐞 Curseur décentré au clic (30/09/2026) : WooCommerce Blocks rend `padding-top:1.5em` aux
   champs actifs, AU FOCUS et en saisie automatique, pour loger son libellé flottant. Ici le
   libellé est au-dessus du champ : sans les sélecteurs `:focus` et `:-webkit-autofill` ci-dessus,
   le texte et le curseur descendaient de 24 px dès le clic. */
body.woocommerce-checkout .wc-block-components-text-input.is-active input:focus,
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus{
  outline:none;border-color:var(--lp-green-600);box-shadow:0 0 0 3px rgba(0,124,117,.18)!important; /* WooCommerce Blocks impose `box-shadow:none!important` au focus */
}
body.woocommerce-checkout .wc-block-components-text-input.has-error label{color:var(--lp-danger)}
body.woocommerce-checkout .wc-block-components-validation-error{margin-top:6px;font-size:12.5px;line-height:1.4}
body.woocommerce-checkout .wc-block-components-validation-error p{margin:0;font-size:inherit}

/* Pays / région : même gabarit que les champs texte. */
body.woocommerce-checkout .wc-block-checkout__form .wc-blocks-components-select,
body.woocommerce-checkout .wc-block-components-country-input,
body.woocommerce-checkout .wc-block-components-state-input{margin:0}
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__container{
  display:flex;flex-direction:column;gap:7px;background:none;line-height:normal;
}
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label{
  position:static;max-width:none;overflow:visible;opacity:1;
  font-family:var(--lp-sans);font-size:12.5px;font-weight:600;line-height:15px;color:var(--lp-ink-2);
}
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select{
  height:49px;min-height:0;padding:0 44px 0 15px;font-size:15px;line-height:normal;color:var(--lp-ink);
}
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__expand{top:auto;bottom:12px;transform:none;fill:var(--lp-ink-2)}

/* Adresse : nom et prénom côte à côte, code postal de 160 px puis la ville. */
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-address-form{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start;
}
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-address-form > *{margin:0;min-width:0;flex:1 1 100%}
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-address-form .wc-block-components-address-form__first_name,
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-address-form .wc-block-components-address-form__last_name,
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-address-form .wc-block-components-address-form__state{flex:1 1 calc(50% - 7px)}
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-address-form .wc-block-components-address-form__postcode{flex:0 0 160px}
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-address-form .wc-block-components-address-form__city{flex:1 1 0}
body.woocommerce-checkout .wc-block-components-address-form__address_2-hidden-input{position:absolute}
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle{margin:0;font-size:13.5px;font-weight:600;color:var(--lp-green-600)}
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-checkbox{margin-top:2px}

/* Adresse déjà enregistrée : une carte discrète. */
body.woocommerce-checkout .wc-block-components-address-card{
  padding:14px 16px;border:1px solid var(--lp-line-forte);border-radius:var(--lp-r-2);background:var(--lp-surface);font-size:14.5px;line-height:1.5;
}
body.woocommerce-checkout .wc-block-components-address-card__edit{font-size:13.5px;font-weight:600;color:var(--lp-green-600)}

/* Cases à cocher, note de commande. */
body.woocommerce-checkout .wc-block-components-checkbox label{gap:12px;font-size:14px;line-height:20px;color:var(--lp-ink)}
body.woocommerce-checkout .wc-block-checkout__create-account{margin-top:14px!important}

/* 9e. Options de livraison et de paiement : cartes de 64 px, sans le cadre
   commun que WooCommerce dessine autour du groupe. */
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked:after{display:none}
body.woocommerce-checkout .wc-block-components-radio-control{display:flex;flex-direction:column;gap:10px}
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option{
  display:flex;align-items:center;margin:0;padding:16px 18px 16px 52px;min-height:64px;
  border:1px solid var(--lp-line-forte);border-radius:10px;background:var(--lp-surface);box-shadow:none;
}
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option-checked,
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option--checked-option-highlighted{
  border-color:var(--lp-green-600);background:#F5FBF8;
  /* ⚠️ !important : Blocksy pose un anneau de 1,5 px avec !important sur la carte cochée ;
     le prototype n'a qu'un filet de 1 px. */
  box-shadow:none!important;
}
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option:after,
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option-layout:after{display:none}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control .wc-block-components-radio-control__input,
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input{
  left:18px;top:50%;transform:translateY(-50%);width:20px;height:20px;
  border:1.5px solid var(--lp-line-forte);
}
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked{border-color:var(--lp-green-600)}
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked:before{background:var(--lp-green-600)}
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control .wc-block-components-radio-control__option-layout{padding-bottom:0}
body.woocommerce-checkout .wc-block-components-radio-control__label-group{align-items:center;gap:14px}
body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label{font-size:15px;font-weight:600;line-height:1.35;color:var(--lp-ink)}
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label{flex:0 0 auto;font-size:15px;font-weight:700;color:var(--lp-ink);white-space:nowrap}
body.woocommerce-checkout .wc-block-components-radio-control__description,
body.woocommerce-checkout .wc-block-components-radio-control__secondary-description{font-size:13px;line-height:1.4;color:var(--lp-ink-2)}

/* Moyens de paiement en accordéon (passerelles actives en production, désactivées en
   préproduction — cette partie n'a donc pas pu être vue à l'écran) : la même carte, avec
   le contenu de la passerelle DANS la carte. */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option{
  margin:0;border:1px solid var(--lp-line-forte);border-radius:10px;background:var(--lp-surface);overflow:hidden;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted{
  border-color:var(--lp-green-600);background:#F5FBF8;box-shadow:none!important;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{
  margin:0;border:0;border-radius:0;background:transparent;box-shadow:none!important;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option:after{display:none}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content{padding:0 18px 18px}

/* Avis : « aucun moyen de paiement » (préproduction) et erreurs — sans aplat criard. */
body.woocommerce-checkout .wc-block-checkout__no-payment-methods-notice,
body.woocommerce-checkout .wc-block-components-notice-banner.is-error{
  margin:0;padding:14px 16px!important;
  border:1px solid #F0CBB8;border-radius:var(--lp-r-3);background:#FFF4EE;color:var(--lp-ink);font-size:14.5px;line-height:1.5;
}

/* Note, conditions, bouton : le bouton reprend le « Payer » du prototype, en vert action. */
body.woocommerce-checkout .wc-block-checkout__terms{margin:0 0 22px;font-size:13.5px;line-height:1.55;color:var(--lp-ink-3)}
body.woocommerce-checkout .wc-block-checkout__terms.wc-block-checkout__terms--with-separator{padding-top:22px;border-top:1px solid var(--lp-line-2)}
body.woocommerce-checkout .wc-block-checkout__actions{margin-bottom:0}
body.woocommerce-checkout .wc-block-checkout__actions .wc-block-checkout__actions_row{justify-content:flex-start}
body.woocommerce-checkout .wc-block-checkout__actions .wc-block-components-checkout-place-order-button{
  width:100%;max-width:380px;min-height:58px;padding:0 22px;border-radius:9px;
  background:var(--lp-green-400);color:var(--lp-green-400-ink);font-size:16.5px;font-weight:700;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-checkout-place-order-button__text::after{
  content:"";flex:none;width:18px;height:18px;margin-left:11px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.6 12h16'/%3E%3Cpath d='m13.6 6.2 6 5.8-6 5.8'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.6 12h16'/%3E%3Cpath d='m13.6 6.2 6 5.8-6 5.8'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* 9f. Résumé de commande : carte de 356 px, titre 16 px, lignes 52 px, totaux.
   Le même contenu existe deux fois chez WooCommerce — dans la colonne de droite
   (grands écrans) et, sous 700 px de large, dans le formulaire juste avant le
   bouton (« checkout-order-summary-block-fill-wrapper »). Les règles ci-dessous
   s'accrochent donc au bloc « résumé » lui-même, présent dans les deux ; seule
   la carte (cadre, marges) diffère : la colonne de droite d'un côté, le bloc en
   flux de l'autre (9h). */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{border:0;border-radius:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill{border:0;border-radius:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill .wc-block-components-totals-coupon,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill .wc-block-components-totals-item{padding-left:0;padding-right:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title{margin:0 0 18px;padding:0;border:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title{margin:0 0 18px;font-size:16px;font-weight:700;line-height:20px;letter-spacing:-.016em}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text{margin:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__heading{margin:0}
body.woocommerce-checkout .wc-block-components-checkout-order-summary__content{padding:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper{margin:0;padding:0;border:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-cart-items-block{margin-bottom:18px}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary{margin:0;padding:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary__content{display:flex;flex-direction:column;gap:14px;padding:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item{display:flex;align-items:center;gap:12px;padding:0;border:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__image{
  flex:none;width:52px;height:52px;margin:0;padding:0;display:block;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__image>img{width:52px;max-width:52px;height:52px;border-radius:8px;background:var(--lp-surface-2);object-fit:contain;mix-blend-mode:multiply}
/* La pastille de quantité est colorée par Blocksy avec la couleur 1 de la palette (quatre classes) :
   même chemin ici, pour la rendre en encre comme le prototype. */
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-totals-block .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__quantity,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__quantity{
  top:-6px;right:-6px;transform:none;min-width:20px;height:20px;min-height:0;padding:0;
  background:var(--lp-ink);color:#fff;border:0;box-shadow:none;font-size:11px;font-weight:700;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity span{padding:0 5px;color:#fff}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__description{flex:1 1 0;min-width:0;display:block;padding:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-name{margin:0;font-size:13.5px;font-weight:500;line-height:1.35;letter-spacing:0;color:var(--lp-ink)}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-product-metadata{display:none}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price{margin:0 0 0 auto;padding:0;font-size:14px;font-weight:600;white-space:nowrap;color:var(--lp-ink)}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price .wc-block-formatted-money-amount{font-size:14px;font-weight:600;color:var(--lp-ink)}

/* Lignes du résumé (retour de David du 01/10/2026 : « les titres, ça ne fait pas fini »). Trois colonnes côte à côte
   (photo | nom | prix + « Économisez 6,00 € ») laissaient 110 px au nom dans un résumé de 356 px : jusqu'à 7 lignes
   par titre. Désormais : le nom prend toute la largeur à côté de la photo (3 lignes au plus), le prix et l'économie
   passent sur une ligne dessous ; l'économie devient une petite pastille rouge promotion. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item{
  display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-areas:"photo nom" "photo prix";
  column-gap:14px;row-gap:6px;align-items:start;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__image{grid-area:photo;align-self:start}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__description{grid-area:nom}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-name{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;
  font-size:13.5px;line-height:1.4;text-wrap:pretty;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price{grid-area:prix;margin:0;justify-self:stretch;white-space:normal}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-cart-item__total-price-and-sale-badge-wrapper{
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-sale-badge{
  order:-1;margin:0;padding:3px 8px;border:0;border-radius:999px;
  background:#FCE8EC;color:var(--lp-promo,#C8102E);
  font-size:11.5px;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;white-space:nowrap;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-sale-badge .wc-block-formatted-money-amount{font-size:inherit;font-weight:inherit;color:inherit}
/* Le prix reste à droite, qu'il y ait une économie à sa gauche ou non. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-cart-item__total-price-and-sale-badge-wrapper > .wc-block-components-product-price{margin-left:auto}
/* Sous le nom : les détails de la ligne (variante choisie, « Remise : 5 % avec … » des ventes croisées) restent
   visibles — masqués jusqu'ici avec tout le bloc, le client voyait un prix baisser sans savoir pourquoi —, mais plus
   l'extrait de description que WooCommerce coupe en plein mot (« Crochet de mât d&… »). */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-product-metadata{display:block;margin:3px 0 0;font-size:12px;line-height:1.4;color:var(--lp-ink-3,#59635F)}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-product-metadata__description{display:none}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-product-details{margin:0;padding:0;list-style:none}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-product-details li{margin:0}
.wc-block-cart .wc-block-cart-items .wc-block-components-product-metadata__description{display:none}
.wc-block-cart .wc-block-cart-items .wc-block-components-sale-badge{
  margin-top:4px;padding:3px 8px;border:0;border-radius:999px;background:#FCE8EC;color:var(--lp-promo,#C8102E);
  font-size:11.5px;font-weight:600;line-height:1.2;text-transform:none;letter-spacing:0;
}
.wc-block-cart .wc-block-cart-items .wc-block-components-sale-badge .wc-block-formatted-money-amount{font-size:inherit;font-weight:inherit;color:inherit}
/* D'où vient l'économie : « Promo : −30 % » (promotion du produit) en rouge, « Remise : 5 % avec … » (ventes
   croisées) en vert — et la pastille « Économisez » prend la couleur de sa cause (rouge si le produit est en
   promotion, vert si l'économie ne vient que de la remise des ventes croisées). Caisse et panier. */
:is(body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,.wc-block-cart .wc-block-cart-items) .wc-block-components-product-details__promo{color:var(--lp-promo,#C8102E);font-weight:600}
:is(body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,.wc-block-cart .wc-block-cart-items) .wc-block-components-product-details__remise{color:#00605A;font-weight:500}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item:has(.wc-block-components-product-details__remise):not(:has(.wc-block-components-product-details__promo)) .wc-block-components-sale-badge,
.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row:has(.wc-block-components-product-details__remise):not(:has(.wc-block-components-product-details__promo)) .wc-block-components-sale-badge{background:#E6F5EF;color:#00605A}
/* Sur un grand écran, le résumé gagne de la place : le formulaire garde plus de 650 px. */
@media (min-width:1200px){
  body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar{flex-basis:420px;width:420px}
}

/* Coupon, sous-total, livraison, total. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-coupon-form-block{padding:14px 0;border-top:1px solid var(--lp-line-2)}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon{margin:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button{padding:0;font-size:14px;font-weight:500;color:var(--lp-ink-2)}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-totals-block{
  display:flex;flex-direction:column;gap:10px;padding:16px 0;border-top:1px solid var(--lp-line-2);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-totals-block > .wc-block-components-totals-wrapper:not(:has(*)){display:none}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item{padding-top:0;padding-bottom:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__label{font-size:14.5px;color:var(--lp-ink-2)}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__value{font-size:14.5px;font-weight:600;color:var(--lp-ink)}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__description{font-size:12.5px;color:var(--lp-ink-3)}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item){padding-top:16px;border-top:1px solid var(--lp-line-2)}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:15px;font-weight:600;color:var(--lp-ink)}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-formatted-money-amount:not(.wc-block-components-totals-footer-item-tax-value){font-size:24px;font-weight:700;letter-spacing:-.022em}

/* 9g. Engagements et « Modifier mon panier » (posés par lupeo-paiement.js). */
.lp-assurances ul{display:flex;flex-direction:column;gap:11px;margin:0;padding:0;list-style:none}
.lp-assurances li{display:flex;align-items:center;gap:10px;margin:0;font-size:13px;line-height:1.3;color:var(--lp-ink)}
.lp-assurances li svg{flex:none;width:17px;height:17px;color:var(--lp-ink-2)}
.wc-block-checkout .lp-assurances{margin-top:18px;padding-top:16px;border-top:1px solid var(--lp-line-2)}
.lp-assurances__modifier{display:block;margin-top:18px;text-align:center;font-size:13.5px;font-weight:600;color:var(--lp-green-600);text-decoration:none}
.lp-assurances__modifier:hover{color:var(--lp-green-800);text-decoration:underline}
.wc-block-cart .lp-assurances{margin-top:24px}
.wc-block-cart .lp-assurances ul{flex-direction:row;flex-wrap:wrap;gap:12px 26px}
.wc-block-cart .lp-assurances li{gap:9px;font-size:13.5px}
.wc-block-cart .lp-assurances li svg{width:18px;height:18px}

/* 9h. Petits écrans : une colonne, le résumé APRÈS le formulaire (prototype). */
body.woocommerce-checkout .wp-block-woocommerce-checkout{padding-top:0}
@media (max-width:1040px){
  body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout{flex-wrap:wrap}
  body.woocommerce-checkout .wc-block-checkout .wc-block-components-main{flex:1 1 100%;order:1}
  body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar{flex:1 1 100%;width:100%;order:2;position:static}
}
/* Sous 700 px de large — le seuil de WooCommerce lui-même, en requête de conteneur —
   le résumé en accordéon de la colonne de droite s'efface : le même contenu est déjà
   dans le formulaire (bloc « fill-wrapper »), qui devient la carte du prototype,
   sous le bouton de commande. */
@container (max-width: 699px){
  body.woocommerce-checkout .wc-block-checkout__sidebar{display:none}
  body.woocommerce-checkout .wc-block-checkout__actions{display:flex;flex-direction:column}
  body.woocommerce-checkout .wc-block-checkout__actions > .wc-block-checkout__actions_row{order:1}
  body.woocommerce-checkout .wc-block-checkout__actions > div:has(> .checkout-order-summary-block-fill-wrapper){order:2}
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper{
    display:block;margin-top:24px;padding:22px;overflow:visible;
    border:1px solid var(--lp-line);border-radius:13px;background:var(--lp-surface);
  }
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary{padding:0}
}
/* WooCommerce 11.2 (22/10/2026) : le gabarit « is-medium » va désormais jusqu'à 920 px de conteneur
   (avant : 700) et y reprend le schéma du téléphone — résumé dans le formulaire, accordéon dans la
   colonne. Même traitement que ci-dessus, porté par la CLASSE et réservé aux conteneurs de 700 px et plus
   (en dessous, la règle de conteneur ci-dessus s'applique déjà) : sous WooCommerce 11.1, « is-medium »
   ne dépasse pas 700 px, ces règles n'y visent donc rien. */
@container (min-width: 700px){
  body.woocommerce-checkout .wc-block-checkout.is-medium .wc-block-checkout__sidebar{display:none}
  body.woocommerce-checkout .wc-block-checkout.is-medium .wc-block-checkout__actions{display:flex;flex-direction:column}
  body.woocommerce-checkout .wc-block-checkout.is-medium .wc-block-checkout__actions > .wc-block-checkout__actions_row{order:1}
  body.woocommerce-checkout .wc-block-checkout.is-medium .wc-block-checkout__actions > div:has(> .checkout-order-summary-block-fill-wrapper){order:2}
  body.woocommerce-checkout .wc-block-checkout.is-medium .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper{
    display:block;margin-top:24px;padding:22px;overflow:visible;
    border:1px solid var(--lp-line);border-radius:13px;background:var(--lp-surface);
  }
  /* « Modifier mon panier » hérite l'interligne du bloc : 1,65 dans la colonne d'avant, 1,4 dans le formulaire. */
  body.woocommerce-checkout .wc-block-checkout.is-medium .checkout-order-summary-block-fill-wrapper .lp-assurances__modifier{line-height:1.65}
  body.woocommerce-checkout .wc-block-checkout.is-medium .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary{padding:0}
}

/* 9i. Commande confirmée : pastille verte, grand titre, texte, actions, puis le
   récapitulatif (tableaux : voir 10f). */
body.lp-confirmee .hero-section::before{
  content:"";display:block;width:56px;height:56px;margin:0 0 24px;border-radius:99px;
  background:#00B85D url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.6 12.4 4.9 5 9.9-11'/%3E%3C/svg%3E") center/30px 30px no-repeat;
}
body.lp-confirmee .hero-section{margin-bottom:16px}
body.lp-confirmee .hero-section .page-title{font-size:clamp(28px,3.2vw,42px);line-height:1.03;letter-spacing:-.03em}
body.woocommerce-order-received .woocommerce-thankyou-order-received{
  display:block;min-height:0;max-width:52ch;margin:0 0 28px;padding:0;border:0;background:none;
  font-size:17px;line-height:1.6;font-weight:400;color:var(--lp-ink-2);
}
body.woocommerce-order-received .woocommerce-thankyou-order-received::before{display:none}
body.woocommerce-order-received .woocommerce-order-overview{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 0 28px;padding:0;list-style:none;
  border:1px solid var(--lp-line);border-radius:13px;overflow:hidden;background:var(--lp-surface);
}
body.woocommerce-order-received .woocommerce-order-overview li{
  margin:0;padding:16px 20px;border:0;border-right:1px solid var(--lp-line-2);
  font-family:var(--lp-mono);font-size:10.5px;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--lp-ink-3);
}
body.woocommerce-order-received .woocommerce-order-overview li:last-child{border-right:0}
body.woocommerce-order-received .woocommerce-order-overview li strong{
  display:block;margin-top:5px;font-family:var(--lp-sans);font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--lp-ink);
}
.lp-confirmation__actions{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 34px}
.lp-confirmation__bouton{
  display:inline-flex;align-items:center;gap:10px;padding:14px 21px;
  border:1.5px solid var(--lp-line-forte);border-radius:8px;background:transparent;
  font-size:15px;font-weight:600;line-height:1.2;color:var(--lp-ink);text-decoration:none;
}
.lp-confirmation__bouton:hover{border-color:var(--lp-ink);color:var(--lp-ink)}
.lp-confirmation__bouton--plein{padding:15px 22px;border-color:var(--lp-green-600);background:var(--lp-green-600);color:#fff}
.lp-confirmation__bouton--plein:hover{border-color:#005F59;background:#005F59;color:#fff}
.lp-confirmation__bouton svg{width:17px;height:17px}

/* ---------- 10. Compte client ----------------------------------------------- */

/* Le prototype « Compte client » : fil d'Ariane, « Bonjour Julien » et sa ligne de
   contexte, un menu en carte de 240 px, puis l'écran choisi — tableau de bord
   (chiffres, colis en route, dernières commandes, raccourcis), commandes en
   cartes, adresses, informations. Le balisage et la logique sont ceux de
   WooCommerce ; le tableau de bord et la liste des commandes sont rendus par
   les gabarits du thème (inc/compte.php). */

/* 10a. Titre. */
body.woocommerce-account.logged-in .ct-container-full[data-vertical-spacing]{padding-top:0;padding-bottom:80px}
body.woocommerce-account.logged-in .hero-section{margin-bottom:28px}
.lp-compte__fil{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:20px 0;font-size:12.5px;line-height:1.5;color:var(--lp-ink-3)}
.lp-compte__fil a{color:var(--lp-ink-3);text-decoration:none}
.lp-compte__fil a:hover{color:var(--lp-green-600);text-decoration:underline}
.lp-compte__fil .separator{color:#C9D2CE}
.lp-compte__fil .last-item{color:var(--lp-ink);font-weight:500}
body.woocommerce-account.logged-in .hero-section .page-title{margin:0 0 8px;font-size:clamp(28px,3.2vw,42px);line-height:1.03;letter-spacing:-.032em}
.lp-compte__soustitre{margin:0;font-size:16px;line-height:1.5;color:var(--lp-ink-2)}

/* 10b. Deux colonnes : le menu (240 px, collant), puis l'écran. */
body.woocommerce-account .woocommerce.ct-woo-account{
  display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:start;
}
body.woocommerce-account .ct-woo-account .ct-acount-nav{position:sticky;top:94px;margin:0;width:auto}
body.woocommerce-account .woocommerce-MyAccount-navigation{padding:10px;border:1px solid var(--lp-line);border-radius:12px;background:var(--lp-surface)}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li{margin:0;border:0}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
  display:flex;align-items:center;gap:12px;
  height:auto;min-height:46px;padding:12px 13px;border:0;border-radius:9px;
  font-size:14.5px;font-weight:500;line-height:1.3;color:var(--lp-ink);text-decoration:none;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{background:var(--lp-surface-2);color:var(--lp-ink)}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{background:var(--lp-green-100);color:#00524D;font-weight:600}
/* Icônes : celles du design system, à la couleur du texte (remplacent celles de Blocksy). */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before{
  content:"";flex:none;width:20px;height:20px;margin:0;
  background:currentColor;
  -webkit-mask:var(--lp-nav-ico) center/contain no-repeat;mask:var(--lp-nav-ico) center/contain no-repeat;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a::after{content:none}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard{--lp-nav-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.4' r='3.6'/%3E%3Cpath d='M4.6 20c.7-3.7 3.7-5.6 7.4-5.6s6.7 1.9 7.4 5.6'/%3E%3C/svg%3E")}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--orders{--lp-nav-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.4 8.2h13.2l-1 11.3H6.4z'/%3E%3Cpath d='M9 8.2V7a3 3 0 0 1 6 0v1.2'/%3E%3C/svg%3E")}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads{--lp-nav-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11'/%3E%3Cpath d='m7.4 10.6 4.6 4.6 4.6-4.6'/%3E%3Cpath d='M5 19.4h14'/%3E%3C/svg%3E")}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address{--lp-nav-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6.4-5.6 6.4-11A6.4 6.4 0 0 0 5.6 10c0 5.4 6.4 11 6.4 11z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E")}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account{--lp-nav-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.4 3.6h8.2l3.4 3.4v13.4H6.4z'/%3E%3Cpath d='M14.4 3.6V7H18'/%3E%3Cpath d='M9.2 11.4h5.6M9.2 14.6h5.6M9.2 17.8h3.4'/%3E%3C/svg%3E")}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--lupeo-demande-retour{--lp-nav-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.2 9.4h11a4.6 4.6 0 0 1 0 9.2H8'/%3E%3Cpath d='m7.6 5.8-3.4 3.6 3.4 3.6'/%3E%3C/svg%3E")}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout{--lp-nav-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4.6H5.6v14.8H10'/%3E%3Cpath d='M9.6 12h10'/%3E%3Cpath d='m16 8.2 3.8 3.8-3.8 3.8'/%3E%3C/svg%3E")}
/* « Se déconnecter » : à part, sous un filet, plus discret. */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout{margin:6px 4px 0;padding-top:8px;border-top:1px solid var(--lp-line-2)}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a{min-height:42px;padding:10px 9px;font-weight:500;color:var(--lp-ink-2)}

/* 10c. L'écran : titres de section et texte courant. */
body.woocommerce-account .woocommerce-MyAccount-content{min-width:0;font-size:15px;line-height:1.6;color:var(--lp-ink-2)}
body.woocommerce-account .woocommerce-MyAccount-content > :first-child{margin-top:0}
body.woocommerce-account .woocommerce-MyAccount-content .lp-compte__titre{margin:0 0 20px;font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-.022em;color:var(--lp-ink)}

/* 10d. Tableau de bord : les chiffres. */
.lp-compte__chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:0 0 24px}
.lp-kpi{padding:18px 20px;border:1px solid var(--lp-line);border-radius:12px;background:var(--lp-surface)}
.lp-kpi__tete{display:flex;align-items:center;gap:9px;margin:0 0 12px;color:var(--lp-ink-2)}
.lp-kpi__tete svg{flex:none;width:18px;height:18px}
.lp-kpi__tete span{font-family:var(--lp-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;line-height:1.3}
.lp-kpi__valeur{font-size:26px;font-weight:700;line-height:1;letter-spacing:-.024em;color:var(--lp-ink)}
.lp-kpi__detail{margin-top:6px;font-size:12.5px;line-height:1.4;color:var(--lp-ink-3)}

/* Le colis en route. */
.lp-colis{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:0 0 24px;padding:20px 22px;border:1px solid #BEE7D5;border-radius:12px;background:var(--lp-green-50)}
.lp-colis__icone{flex:none;width:24px;height:24px;color:var(--lp-green-600)}
.lp-colis__texte{min-width:0}
.lp-colis__titre{margin:0 0 4px;font-size:16px;font-weight:700;letter-spacing:-.012em;color:var(--lp-ink)}
.lp-colis__detail{font-size:14px;line-height:1.5;color:var(--lp-ink-brume)}
.lp-colis__bouton{
  display:inline-flex;align-items:center;gap:9px;margin-left:auto;padding:13px 18px;border-radius:8px;
  background:var(--lp-green-600);color:#fff;font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;text-decoration:none;
}
.lp-colis__bouton:hover{background:#005F59;color:#fff}
.lp-colis__bouton svg{width:16px;height:16px}

/* Dernières commandes + raccourcis. */
.lp-compte__moitie{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}
.lp-carte{border:1px solid var(--lp-line);border-radius:12px;background:var(--lp-surface);overflow:hidden}
.lp-carte__tete{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--lp-line-2)}
body.woocommerce-account .lp-carte .lp-carte__titre{margin:0;font-size:15px;font-weight:700;line-height:1.3;letter-spacing:-.015em;color:var(--lp-ink)}
.lp-carte__lien{font-size:13.5px;font-weight:600;color:var(--lp-green-600);text-decoration:none}
.lp-carte__lien:hover{text-decoration:underline}
.lp-carte__vide{margin:0;padding:20px;font-size:14.5px}
.lp-carte--raccourcis{padding:20px 22px}
body.woocommerce-account .lp-carte--raccourcis .lp-carte__titre{margin:0 0 16px}
.lp-cmd-ligne{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--lp-line-2);color:var(--lp-ink);text-decoration:none}
.lp-cmd-ligne:last-child{border-bottom:0}
.lp-cmd-ligne:hover{background:#FAFBFA}
.lp-cmd-ligne__vignette,.lp-cmd__vignette{display:block;flex:none;width:44px;height:44px;border-radius:8px;background:var(--lp-surface-2);overflow:hidden}
.lp-cmd-ligne__vignette img,.lp-cmd__vignette img{display:block;width:100%;height:100%;object-fit:contain;padding:3px;box-sizing:border-box;mix-blend-mode:multiply}
.lp-cmd-ligne__texte{display:block;min-width:0}
.lp-cmd-ligne__ref{display:block;margin-bottom:3px;font-family:var(--lp-mono);font-size:11.5px;color:var(--lp-ink-3)}
.lp-cmd-ligne__resume{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:14.5px;font-weight:600;line-height:1.3}
.lp-cmd-ligne__resume .lp-cmd__nom{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lp-cmd__autres{flex:none;font-size:13px;font-weight:400;color:var(--lp-ink-3)}
.lp-cmd-ligne .lp-badge{margin-left:auto}
.lp-raccourcis{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.lp-raccourcis li{margin:0}
.lp-raccourcis a{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 0;border-bottom:1px solid var(--lp-line-2);font-size:14.5px;color:var(--lp-ink);text-decoration:none}
.lp-raccourcis li:last-child a{border-bottom:0}
.lp-raccourcis a:hover{color:var(--lp-green-600)}
.lp-raccourcis__icone{flex:none;width:19px;height:19px;color:var(--lp-ink-2)}
.lp-raccourcis__fleche{flex:none;width:15px;height:15px;margin-left:auto;color:var(--lp-ink-3)}

/* Badges d'état : un mot, une icône, une couleur. */
.lp-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:6px;font-size:11.5px;font-weight:600;line-height:1.2;white-space:nowrap}
.lp-badge svg{flex:none;width:13px;height:13px;stroke-width:2.3}
.lp-badge--cours{background:var(--lp-green-100);color:#00524D}
.lp-badge--fait{background:#F2F4F3;color:var(--lp-ink-2)}
.lp-badge--alerte{background:#FFF6E2;color:#7A5200}

/* 10e. Commandes : une carte par commande. */
.lp-commandes{display:flex;flex-direction:column;gap:14px}
.lp-cmd{border:1px solid var(--lp-line);border-radius:12px;background:var(--lp-surface);overflow:hidden}
.lp-cmd__tete{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;padding:15px 20px;border-bottom:1px solid var(--lp-line-2);background:#FAFBFA}
.lp-cmd__champ{display:flex;flex-direction:column;gap:3px}
.lp-cmd__etiquette{font-family:var(--lp-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;line-height:1.3;color:var(--lp-ink-3)}
.lp-cmd__valeur{font-size:14px;font-weight:500;line-height:1.3;color:var(--lp-ink);text-decoration:none}
.lp-cmd__valeur--mono{font-family:var(--lp-mono)}
.lp-cmd__valeur--fort{font-weight:600}
a.lp-cmd__valeur:hover{color:var(--lp-green-600);text-decoration:underline}
.lp-cmd__tete .lp-badge{margin-left:auto;padding:7px 11px;font-size:12px}
.lp-cmd__tete .lp-badge svg{width:14px;height:14px}
.lp-cmd__corps{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:20px;padding:18px 20px}
.lp-cmd__lignes{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.lp-cmd__ligne{display:flex;align-items:center;gap:13px;margin:0}
.lp-cmd__ligne .lp-cmd__vignette{width:48px;height:48px}
.lp-cmd__texte{display:block;min-width:0}
.lp-cmd__ligne .lp-cmd__nom{display:block;font-size:14.5px;font-weight:600;line-height:1.35;color:var(--lp-ink)}
.lp-cmd__ref{display:block;margin-top:3px;font-family:var(--lp-mono);font-size:11px;color:var(--lp-ink-3)}
.lp-cmd__actions{display:flex;flex-direction:column;gap:9px}
.lp-cmd__bouton{
  display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;
  border:1.5px solid var(--lp-line-forte);border-radius:8px;background:transparent;
  font-size:14px;font-weight:600;line-height:1.2;color:var(--lp-ink);text-decoration:none;
}
.lp-cmd__bouton:hover{border-color:var(--lp-ink);color:var(--lp-ink)}
.lp-cmd__bouton--pay{border-color:var(--lp-green-600);background:var(--lp-green-600);color:#fff}
.lp-cmd__bouton--pay:hover{background:#005F59;border-color:#005F59;color:#fff}
.lp-cmd__probleme{display:flex;align-items:center;justify-content:center;padding:6px;font-size:14px;font-weight:600;color:var(--lp-green-600);text-decoration:none}
.lp-cmd__probleme:hover{text-decoration:underline}
body.woocommerce-account .woocommerce-pagination{display:flex;gap:10px;margin-top:20px}

/* 10f. Une commande (page de détail) : filet fin, en-têtes mono, total en évidence. */
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type mark{background:none;color:var(--lp-ink);font-weight:600}
body.lp-page-commande .woocommerce-order-details__title,
body.lp-page-commande .woocommerce-column__title,
body.lp-page-commande .woocommerce-customer-details h2{margin:30px 0 14px;font-size:19px;font-weight:700;line-height:1.25;color:var(--lp-ink)}
body.lp-page-commande table.shop_table{
  width:100%;margin:0 0 24px;border:1px solid var(--lp-line);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden;font-size:14.5px;
}
body.lp-page-commande table.shop_table th,
body.lp-page-commande table.shop_table td{padding:13px 18px;border:0;border-bottom:1px solid var(--lp-line-2);text-align:left;vertical-align:top;color:var(--lp-ink-2)}
body.lp-page-commande table.shop_table thead th{background:#FAFBFA;font-family:var(--lp-mono);font-size:10.5px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--lp-ink-3)}
body.lp-page-commande table.shop_table tfoot th{font-weight:500;color:var(--lp-ink-2)}
body.lp-page-commande table.shop_table tfoot td{font-weight:600;color:var(--lp-ink)}
body.lp-page-commande table.shop_table tr:last-child > th,
body.lp-page-commande table.shop_table tr:last-child > td{border-bottom:0}
body.lp-page-commande table.shop_table .product-name a{color:var(--lp-ink);font-weight:600;text-decoration:none}
body.lp-page-commande table.shop_table .product-name a:hover{color:var(--lp-green-600)}
body.lp-page-commande .woocommerce-customer-details address{padding:18px 20px;border:1px solid var(--lp-line);border-radius:12px;font-style:normal;line-height:1.7;color:var(--lp-ink-2)}

/* 10g. Adresses : la livraison en premier, encadrée en vert ; la facturation à côté. */
body.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 18px}
body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after{content:none}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address{float:none;width:auto;max-width:none;margin:0;padding:20px 22px;border:1px solid var(--lp-line);border-radius:12px;background:var(--lp-surface)}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address:nth-child(2){order:-1;border:1.5px solid var(--lp-green-600);background:#F5FBF8}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address{display:flex;flex-direction:column;align-items:flex-start}
body.woocommerce-account .woocommerce-Address-title{display:contents}
body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-Address-title h3{order:1;margin:0 0 14px;font-size:12.5px;font-weight:700;line-height:1.3;color:var(--lp-ink-2)}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address:nth-child(2) .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address:nth-child(2) .woocommerce-Address-title h3{color:#00524D}
body.woocommerce-account .woocommerce-Address address{order:2;margin:0 0 16px;font-size:15px;font-style:normal;line-height:1.7;color:var(--lp-ink)}
body.woocommerce-account .woocommerce-Address-title a.edit{order:3;margin:0;font-size:13.5px;font-weight:600;color:var(--lp-green-600);text-decoration:none}
body.woocommerce-account .woocommerce-Address-title a.edit:hover{text-decoration:underline}

/* 10h. Formulaires du compte : libellé au-dessus, champ de 49 px, bouton vert. */
body.woocommerce-account .woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-address-fields{max-width:640px;padding:24px;border:1px solid var(--lp-line);border-radius:12px;background:var(--lp-surface)}
body.woocommerce-account form .form-row{margin:0 0 14px}
body.woocommerce-account form .form-row label{display:block;margin:0 0 7px;font-size:12.5px;font-weight:600;line-height:1.3;color:var(--lp-ink-2)}
body.woocommerce-account form .form-row label .required{color:var(--lp-danger);text-decoration:none}
body.woocommerce-account form .form-row input.input-text,
body.woocommerce-account form .form-row select,
body.woocommerce-account form .form-row textarea,
body.woocommerce-account .woocommerce-form-login input.input-text{
  width:100%;height:49px;padding:0 15px;box-sizing:border-box;
  border:1px solid var(--lp-line-forte);border-radius:var(--lp-r-2);background:var(--lp-surface);
  font-family:var(--lp-sans);font-size:15px;color:var(--lp-ink);box-shadow:none;
}
body.woocommerce-account form .form-row textarea{height:auto;min-height:110px;padding:13px 15px}
body.woocommerce-account form .form-row input.input-text:focus,
body.woocommerce-account form .form-row select:focus,
body.woocommerce-account form .form-row textarea:focus,
body.woocommerce-account .woocommerce-form-login input.input-text:focus{border-color:var(--lp-green-600);box-shadow:0 0 0 3px rgba(0,124,117,.18)}
body.woocommerce-account form .form-row em,
body.woocommerce-account form .form-row .description{display:block;margin-top:6px;font-size:12.5px;font-style:normal;color:var(--lp-ink-3);opacity:1}
/* Bouton « afficher le mot de passe » : Blocksy le trace dans une boîte de 14 px ; la cible
   tactile passe à 24 px (WCAG 2.5.8) sans grossir l'œil, et se centre sur le champ. */
body form:is(.login,.register,.edit-account,.lost_reset_password) [class*="password-input"] .show-password-input{
  width:24px;height:24px;top:50%;right:7px;transform:translateY(-50%);
  -webkit-mask-size:14px 14px;mask-size:14px 14px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
}
body.woocommerce-account form fieldset{margin:24px 0 14px;padding:18px 20px 6px;border:1px solid var(--lp-line);border-radius:12px}
body.woocommerce-account form fieldset legend{padding:0 8px;font-size:13.5px;font-weight:700;color:var(--lp-ink)}
body.woocommerce-account .woocommerce-Button,
body.woocommerce-account button.button,
body.woocommerce-account .woocommerce-form-login__submit{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:0;height:auto;padding:14px 22px;border:0;border-radius:8px;
  background:var(--lp-green-600);color:#fff;font-family:var(--lp-sans);font-size:15px;font-weight:600;line-height:1.2;cursor:pointer;
}
body.woocommerce-account .woocommerce-Button:hover,
body.woocommerce-account button.button:hover,
body.woocommerce-account .woocommerce-form-login__submit:hover{background:#005F59;color:#fff}

/* 10i. Écran de connexion (client non connecté) : une carte, comme les formulaires. */
body.woocommerce-account:not(.logged-in) .woocommerce-form-login{max-width:480px;padding:24px;border:1px solid var(--lp-line);border-radius:12px;background:var(--lp-surface)}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row{margin:0 0 14px}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login .woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;font-size:14px;font-weight:400;color:var(--lp-ink)}
body.woocommerce-account:not(.logged-in) .lost_password{margin:16px 0 0;font-size:14px}
body.woocommerce-account:not(.logged-in) .lost_password a{color:var(--lp-green-600)}

/* Avis de WooCommerce dans le compte. */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error{
  margin:0 0 20px;padding:14px 18px;border:1px solid var(--lp-line);border-radius:12px;background:var(--lp-surface-2);
  font-size:14.5px;line-height:1.5;color:var(--lp-ink);
}
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-error::before{display:none}
body.woocommerce-account .woocommerce-message{border-color:#CFE9DD;background:var(--lp-green-50)}
body.woocommerce-account .woocommerce-error{border-color:#F0CBB8;background:#FFF4EE;list-style:none}

/* 10j. Petits écrans. */
@media (max-width:1040px){
  body.woocommerce-account .woocommerce.ct-woo-account{grid-template-columns:minmax(0,1fr)}
  body.woocommerce-account .ct-woo-account .ct-acount-nav{position:static}
  .lp-compte__moitie,
  body.woocommerce-account .woocommerce-Addresses{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .lp-cmd__corps{grid-template-columns:minmax(0,1fr)}
  .lp-cmd__tete .lp-badge{margin-left:0}
}
@media (max-width:520px){
  .lp-colis__bouton{margin-left:0}
  .lp-cmd-ligne{flex-wrap:wrap;row-gap:8px}
  .lp-cmd-ligne__texte{flex:1 1 calc(100% - 60px)}
  .lp-cmd-ligne .lp-badge{margin-left:58px}
}
