/* ══════════════════════════════════════════════════════════════════
   EATALIA v6 — WooCommerce stylesheet
   ──────────────────────────────────────────────────────────────────
   Override complet des templates WooCommerce.
   Mobile-first, utilise les variables sémantiques (--col-ink, --col-surface…).
   Variables Customizer consommées ici (injectées par inc/woocommerce.php) :
     --eap-radius-btn   : rayon des boutons (0-99px)
     --eap-radius-card  : rayon des cards
     --eap-radius-input : rayon des inputs
     --eap-cart-layout  : '1col' | '2col' (produits | récap sticky)
   ══════════════════════════════════════════════════════════════════ */

/* ══════════════ PAGE PRODUIT ══════════════ */
.eap-single-product {
  color: var(--col-ink);
}
.eap-single-product__inner {
  /* Défaut desktop : le grid-template-columns vient du PHP inline */
  align-items: start;
}

/* Mobile-first : stack toujours sur petit écran, peu importe les settings */
@media (max-width: 900px) {
  .eap-single-product__inner {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
}

/* Gallery */
.eap-product-gallery .woocommerce-product-gallery { margin: 0 !important; }
.eap-product-gallery .woocommerce-product-gallery__image img {
  max-height: 560px;
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  border-radius: var(--eap-radius-card, 24px);
  background: var(--col-bg-alt);
  box-shadow: var(--shadow-sm);
}
.eap-product-gallery .flex-viewport {
  background: var(--col-bg-alt) !important;
  border-radius: var(--eap-radius-card, 24px) !important;
  overflow: hidden !important;
}
.eap-product-gallery .flex-control-thumbs {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.8rem;
  padding: 0;
  list-style: none;
}
.eap-product-gallery .flex-control-thumbs li {
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
}
.eap-product-gallery .flex-control-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--eap-radius-input, 10px);
  border: 2px solid transparent;
  cursor: pointer;
  opacity: 0.75;
  transition: all var(--dur, 0.3s) var(--ease, ease);
}
.eap-product-gallery .flex-control-thumbs img:hover,
.eap-product-gallery .flex-control-thumbs .flex-active {
  opacity: 1;
  border-color: var(--col-primary);
}

/* Summary (colonne infos) */
.eap-product-summary {
  color: var(--col-ink);
}
.eap-product-summary .product_title {
  font-family: var(--font-heading);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 700;
  color: var(--col-ink) !important;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 0.75rem;
}
.eap-product-summary .price {
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 2.5vw, 1.8rem);
  font-weight: 800;
  color: var(--col-primary) !important;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.eap-product-summary .price del {
  font-size: 0.7em;
  color: var(--col-muted) !important;
  font-weight: 500;
  text-decoration: line-through;
}
.eap-product-summary .price ins { text-decoration: none !important; }
.eap-product-summary .woocommerce-product-details__short-description {
  color: var(--col-ink-soft) !important;
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}
.eap-product-summary .woocommerce-product-details__short-description p { color: var(--col-ink-soft); }

/* Tables variations / add-ons */
.eap-product-summary table.variations {
  width: 100%;
  margin-bottom: 1.25rem;
  border-collapse: collapse;
}
.eap-product-summary table.variations td,
.eap-product-summary table.variations th {
  color: var(--col-ink) !important;
  padding: 0.5rem 0;
  border: none;
}
.eap-product-summary table.variations select {
  background: var(--col-surface) !important;
  color: var(--col-ink) !important;
  border: 1.5px solid var(--col-border-strong) !important;
  border-radius: var(--eap-radius-input, 10px) !important;
  padding: 0.6rem 0.9rem !important;
  width: 100%;
  font-family: inherit;
  font-size: 0.92rem;
}
.eap-product-summary table.variations select:focus {
  outline: none;
  border-color: var(--col-primary) !important;
  box-shadow: 0 0 0 3px var(--col-primary-glow);
}

/* Quantité */
.eap-product-summary .quantity {
  display: inline-flex !important;
  align-items: center;
  margin-right: 0.75rem;
}
.eap-product-summary .quantity input[type=number] {
  width: 72px;
  background: var(--col-surface) !important;
  border: 1.5px solid var(--col-border-strong) !important;
  color: var(--col-ink) !important;
  border-radius: var(--eap-radius-input, 10px) !important;
  padding: 0.75rem 0.5rem !important;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  font-family: var(--font-heading);
  -moz-appearance: textfield;
}
.eap-product-summary .quantity input:focus {
  outline: none;
  border-color: var(--col-primary) !important;
  box-shadow: 0 0 0 3px var(--col-primary-glow);
}
.eap-product-summary .quantity input::-webkit-inner-spin-button,
.eap-product-summary .quantity input::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

/* Bouton add-to-cart */
/* v6.5 — Bouton "Ajouter au panier" (couleurs/taille/padding/hover modulables via Customizer) */
.eap-product-summary .single_add_to_cart_button.button,
.woocommerce .single_add_to_cart_button,
.ea-product-card__quick-add,
.ajax_add_to_cart,
.add_to_cart_button {
  background: var(--btn-addcart-bg, #C4572E) !important;
  color: var(--btn-addcart-color, #fff) !important;
  border: var(--btn-addcart-border-w, 0) solid var(--btn-addcart-border, transparent) !important;
  border-radius: var(--btn-addcart-radius, 50px) !important;
  padding: var(--btn-addcart-pad-y, 16px) var(--btn-addcart-pad-x, 38px) !important;
  font-family: var(--font-heading) !important;
  font-size: var(--btn-addcart-font-size, 16px) !important;
  font-weight: var(--btn-addcart-font-weight, 700) !important;
  letter-spacing: var(--btn-addcart-letter-spacing, 0.02em) !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: var(--btn-addcart-shadow, none) !important;
  transition: all var(--btn-addcart-duration, 280ms) ease !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.eap-product-summary .single_add_to_cart_button.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.ea-product-card__quick-add:hover,
.ajax_add_to_cart:hover,
.add_to_cart_button:hover {
  background: var(--btn-addcart-hover-bg, #A64721) !important;
  color: var(--btn-addcart-hover-color, #fff) !important;
  transform: var(--btn-addcart-hover-transform, translateY(-2px)) !important;
  filter: var(--btn-addcart-hover-filter, none) !important;
}

/* YITH Add-Ons (options produit) */
.eap-product-summary .yith_wapo_groups {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.eap-product-summary .yith_wapo_group,
.eap-product-summary .yith-wapo-block {
  background: var(--col-surface) !important;
  border: 1px solid var(--col-border) !important;
  border-radius: var(--eap-radius-card, 20px) !important;
  padding: 1.25rem 1.4rem !important;
  margin-bottom: 0 !important;
}
.eap-product-summary .yith_wapo_group_name,
.eap-product-summary .yith-wapo-block-title {
  font-family: var(--font-heading);
  font-weight: 700 !important;
  font-size: 1rem !important;
  color: var(--col-ink) !important;
  margin-bottom: 0.75rem !important;
}
.eap-product-summary .yith_wapo_option label,
.eap-product-summary .yith-wapo-option label {
  color: var(--col-ink-soft) !important;
  font-size: 0.95rem;
}

/* Onglets description / avis */
.woocommerce-tabs {
  margin-top: clamp(3rem, 6vw, 5rem);
  background: var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: var(--eap-radius-card, 24px);
  padding: clamp(1.5rem, 3vw, 2.5rem);
}
.woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0 0 2rem 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--col-border);
}
.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after { display: none !important; }
.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li a {
  display: inline-block !important;
  padding: 0.85rem 1.4rem !important;
  font-family: var(--font-heading);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--col-ink-soft) !important;
  text-decoration: none !important;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  transition: all var(--dur, 0.3s) var(--ease, ease);
}
.woocommerce-tabs ul.tabs li a:hover { color: var(--col-ink) !important; }
/* v6.27.3 — Onglet actif : texte BLANC sur fond rouge (cohérent avec le pill .eap-product__tabs-wrap)
   Avant : color: var(--col-primary) !important; → faisait rouge sur rouge (illisible) */
.woocommerce-tabs ul.tabs li.active a {
  color: #fff !important;
  background: var(--col-primary) !important;
  border-bottom-color: var(--col-primary);
}
.woocommerce-tabs .woocommerce-Tabs-panel {
  color: var(--col-ink);
}
.woocommerce-tabs .woocommerce-Tabs-panel h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight: 700;
  color: var(--col-ink);
  margin-bottom: 1rem;
  letter-spacing: -0.015em;
}
.woocommerce-tabs .woocommerce-Tabs-panel h3 {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--col-ink);
  margin-block: 1.5rem 0.6rem;
}
.woocommerce-tabs .woocommerce-Tabs-panel p {
  color: var(--col-ink-soft);
  line-height: 1.75;
  margin-bottom: 1rem;
}

/* Section produits similaires */
.related.products,
.upsells.products {
  margin-top: clamp(3rem, 6vw, 5rem);
}
.related.products > h2,
.upsells.products > h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 2.8vw, 2rem);
  font-weight: 700;
  color: var(--col-ink);
  margin-bottom: 1.75rem;
  letter-spacing: -0.015em;
}

/* Les produits similaires utilisent le template content-product.php qui génère
   un <li class="ea-product-card-li"> — on le rend "transparent" pour que la
   carte .ea-product-card à l'intérieur porte tout le style visuel. */
.related.products ul.products,
.upsells.products ul.products,
.woocommerce ul.products {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  grid-template-columns: repeat(var(--grid-cols-desktop, 4), 1fr);
  gap: var(--grid-gap, 1.5rem);
}
.ea-product-card-li {
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
}
.ea-product-card-li::before { display: none !important; }
/* Masquer les éléments WooCommerce qui pourraient s'ajouter par hook en double
   (le bouton "Ajouter au panier" par défaut après la carte — on a notre quick-add intégré) */
.ea-product-card-li > .button,
.ea-product-card-li > .added_to_cart {
  display: none !important;
}
/* Sur mobile, 2 colonnes max pour les related/upsells */
@media (max-width: 768px) {
  .related.products ul.products,
  .upsells.products ul.products,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
@media (max-width: 480px) {
  .related.products ul.products,
  .upsells.products ul.products,
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
}

/* ══════════════════════════════════════════════════════════════════
   EATALIA v6.20.1 — PAGE PANIER (corrections bugs visuels)
   ──────────────────────────────────────────────────────────────────
   Corrections :
   - Header : padding-top suffisant pour ne plus coller au menu sticky
   - Image produit : placeholder gracieux quand pas d'image
   - Shipping calculator : empilage propre des champs (label/select/input)
   - Coupon : input + bouton sur 1 seule ligne, taille raisonnable
   - Bouton "Mettre à jour" : taille proportionnelle, plus discret
   - Cellule remove : taille fixe, alignée verticalement
   - Variations : nettoyage du double `:` et meilleure typo
   - Cellule thumbnail : largeur min même sans image
   ══════════════════════════════════════════════════════════════════ */

/* ══════════════ PAGE PANIER — Container ══════════════ */
.eap-cart-page {
  padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(3rem, 6vw, 5rem);
  color: var(--col-ink);
}

/* v6.20.3 — Le header est `position: fixed` (80px de haut) et sort du flow.
   Il faut donc compenser : 80px header + ~50-70px de respiration = ~130-150px
   de padding-top pour que le breadcrumb ne soit pas collé au menu noir. */
.ea-page-header--cart {
  padding: clamp(7rem, 12vw, 9rem) 0 clamp(2rem, 4vw, 3rem) !important;
}

/* v6.21.0 — Retiré : .eap-cart-notice et dérivés (.--warning, .--success,
   .__icon, .__body, .__bar, .__bar-fill).
   La bannière "Plus que X € pour la livraison gratuite" est désormais gérée
   par le plugin "🍕 Eatalia Restaurant" qui calcule et affiche cette info
   selon les réglages plugin (et non plus eatalia_get_option('free_delivery')). */

/* ══════════════ Wrapper custom = ancrage grille ══════════════ */
.eap-cart-wrapper {
  display: block;
  container-type: inline-size;
  container-name: cart;
}

.eap-cart-wrapper .woocommerce {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
  align-items: start;
}

.eap-cart-wrapper .woocommerce > .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
  margin: 0;
}
.eap-cart-wrapper .woocommerce > .woocommerce-notices-wrapper:empty {
  display: none;
}

@container cart (min-width: 880px) {
  .eap-cart-wrapper .woocommerce {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    gap: clamp(1.5rem, 2.5vw, 2.25rem);
  }
  .eap-cart-wrapper .woocommerce-cart-form {
    grid-column: 1;
    min-width: 0;
  }
  .eap-cart-wrapper .cart-collaterals {
    grid-column: 2;
    width: 100% !important;
    position: sticky;
    top: clamp(90px, 12vh, 140px);
    align-self: start;
  }
}

@supports not (container-type: inline-size) {
  @media (min-width: 960px) {
    .eap-cart-wrapper .woocommerce {
      grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
      gap: 2.25rem;
    }
    .eap-cart-wrapper .woocommerce-cart-form {
      grid-column: 1;
      min-width: 0;
    }
    .eap-cart-wrapper .cart-collaterals {
      grid-column: 2;
      width: 100% !important;
      position: sticky;
      top: 140px;
      align-self: start;
    }
  }
}

.eap-cart-wrapper .cart-collaterals,
.eap-cart-wrapper .cart-collaterals .cart_totals {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

/* ══════════════ Table panier ══════════════ */
.eap-cart-wrapper table.shop_table,
.eap-cart-wrapper table.shop_table_responsive {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: var(--col-surface) !important;
  border: 1px solid var(--col-border) !important;
  border-radius: var(--eap-radius-card, 20px) !important;
  overflow: hidden;
  margin: 0 !important;
  box-shadow: 0 1px 2px rgba(61, 48, 36, 0.04);
  /* v6.20.2 — table-layout: fixed ESSENTIEL pour que les widths du thead
     soient strictement respectées et éviter le débordement de la table.
     En mode auto, le navigateur ajuste les colonnes selon le contenu, ce
     qui peut faire gonfler la cellule remove à 480px et faire chevaucher
     la table avec le récap à droite. */
  table-layout: fixed !important;
}

.eap-cart-wrapper table.shop_table thead tr th {
  background: var(--col-bg-alt) !important;
  color: var(--col-ink-soft) !important;
  font-family: var(--font-heading) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 0.95rem 1.1rem !important;
  border: none !important;
  border-bottom: 1px solid var(--col-border) !important;
  text-align: left;
  white-space: nowrap;
}
/* v6.20.1 — Sous-total = aligné à droite (cohérence avec cellule subtotal) */
.eap-cart-wrapper table.shop_table thead .product-subtotal {
  text-align: right !important;
}
/* v6.20.1 — Quantité = centré (cohérence avec stepper) */
.eap-cart-wrapper table.shop_table thead .product-quantity {
  text-align: center !important;
}

/* v6.20.2 — Widths explicites sur thead pour table-layout: fixed.
   Sans ces widths, les colonnes seraient distribuées équitablement.
   La cellule .product-name garde "auto" = elle prend l'espace résiduel. */
.eap-cart-wrapper table.shop_table thead .product-remove    { width: 60px !important; }
.eap-cart-wrapper table.shop_table thead .product-thumbnail { width: 100px !important; }
.eap-cart-wrapper table.shop_table thead .product-name      { width: auto !important; }
.eap-cart-wrapper table.shop_table thead .product-price     { width: 100px !important; }
.eap-cart-wrapper table.shop_table thead .product-quantity  { width: 160px !important; }
.eap-cart-wrapper table.shop_table thead .product-subtotal  { width: 120px !important; }

/* v6.20.2 — Cacher visuellement les en-têtes "Supprimer l'élément" et "Miniature".
   On garde le texte pour les lecteurs d'écran (accessibilité) mais on neutralise
   la taille de la police pour ne pas réserver d'espace visuel. */
.eap-cart-wrapper table.shop_table thead .product-remove,
.eap-cart-wrapper table.shop_table thead .product-thumbnail {
  font-size: 0 !important;
  color: transparent !important;
}
.eap-cart-wrapper table.shop_table thead .product-remove::before,
.eap-cart-wrapper table.shop_table thead .product-thumbnail::before {
  content: '' !important;
}

/* Lignes produits */
.eap-cart-wrapper table.shop_table tbody tr.cart_item {
  background: transparent !important;
  border-bottom: 1px solid var(--col-border) !important;
  transition: background-color var(--dur, 0.3s) var(--ease, ease);
}
.eap-cart-wrapper table.shop_table tbody tr.cart_item:hover {
  background: color-mix(in oklab, var(--col-bg-alt) 50%, transparent) !important;
}
.eap-cart-wrapper table.shop_table tbody tr.cart_item:last-of-type {
  border-bottom: none !important;
}
.eap-cart-wrapper table.shop_table tbody td {
  padding: 1.1rem 1rem !important;
  vertical-align: middle !important;
  border: none !important;
  color: var(--col-ink) !important;
  background: transparent !important;
  font-size: 0.95rem;
}

/* ══════════════ Cellule remove (×) ══════════════ */
/* v6.20.1 — Largeur fixe + centrage */
.eap-cart-wrapper table.shop_table .product-remove {
  width: 60px !important;
  padding: 1rem 0.5rem 1rem 0.85rem !important;
  text-align: center !important;
  vertical-align: middle !important;
}

/* ══════════════ Image produit + placeholder ══════════════ */
.eap-cart-wrapper table.shop_table .product-thumbnail {
  width: 100px !important;
  padding: 0.95rem 0.5rem 0.95rem 0.5rem !important;
  vertical-align: middle !important;
}
.eap-cart-wrapper table.shop_table .product-thumbnail a {
  display: block;
  width: 80px;
  height: 80px;
}
.eap-cart-wrapper table.shop_table .product-thumbnail img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: var(--eap-radius-input, 12px) !important;
  display: block !important;
  background: var(--col-bg-alt);
  transition: transform var(--dur, 0.3s) var(--ease, ease);
}
.eap-cart-wrapper table.shop_table .product-thumbnail a:hover img {
  transform: scale(1.04);
}
/* v6.20.1 — Placeholder visuel quand pas d'image (contenu vide ou img cassée) */
.eap-cart-wrapper table.shop_table .product-thumbnail:empty::before,
.eap-cart-wrapper table.shop_table .product-thumbnail a:empty::before {
  content: '\1F355';
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  background: var(--col-bg-alt);
  border-radius: var(--eap-radius-input, 12px);
  font-size: 2rem;
  border: 1px dashed var(--col-border-strong);
}

/* v6.20.1 — Placeholder via span (créé en PHP par eap_cart_item_thumbnail) */
.eap-cart-wrapper .eap-cart-thumb-placeholder,
.eap-cart-wrapper table.shop_table .eap-cart-thumb-placeholder {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  background: var(--col-bg-alt);
  border-radius: var(--eap-radius-input, 12px);
  font-size: 2rem;
  border: 1px dashed var(--col-border-strong);
  line-height: 1;
}

/* Nom produit */
.eap-cart-wrapper table.shop_table .product-name {
  color: var(--col-ink) !important;
  font-weight: 600;
  min-width: 0;
  vertical-align: middle !important;
}
.eap-cart-wrapper table.shop_table .product-name a {
  color: var(--col-ink) !important;
  font-family: var(--font-heading);
  font-weight: 700 !important;
  font-size: 1rem;
  text-decoration: none !important;
  display: inline-block;
  margin-bottom: 0.25rem;
  line-height: 1.35;
  transition: color var(--dur, 0.3s) var(--ease, ease);
}
.eap-cart-wrapper table.shop_table .product-name a:hover {
  color: var(--col-primary) !important;
}
.eap-cart-wrapper table.shop_table .product-name strong {
  color: var(--col-ink) !important;
  font-family: var(--font-heading);
  font-weight: 700 !important;
  font-size: 1rem;
  display: inline-block;
  margin-bottom: 0.25rem;
}

/* Variations / add-ons — v6.22.8 affichage "Label: Valeur" sur une ligne par paire */
.eap-cart-wrapper table.shop_table .product-name dl.variation,
.eap-cart-wrapper table.shop_table .product-name .variation {
  margin: 0.5rem 0 0 0 !important;
  padding: 0;
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--col-ink-soft);
  display: block;
}

/* Chaque paire dt+dd sur sa propre ligne, mais dt et dd côte à côte */
.eap-cart-wrapper table.shop_table .product-name dl.variation dt {
  display: inline;
  font-weight: 600;
  color: var(--col-ink);
  font-family: var(--font-body);
  margin: 0;
  padding: 0;
}
.eap-cart-wrapper table.shop_table .product-name dl.variation dt::after {
  content: ' ';
}
.eap-cart-wrapper table.shop_table .product-name dl.variation dd {
  display: inline;
  font-weight: 400;
  color: var(--col-ink-soft);
  font-family: var(--font-body);
  margin: 0;
  padding: 0;
}
.eap-cart-wrapper table.shop_table .product-name dl.variation dd p {
  margin: 0;
  display: inline;
}
/* Saut de ligne APRÈS chaque paire dd, pour avoir une paire par ligne */
.eap-cart-wrapper table.shop_table .product-name dl.variation dd::after {
  content: '\A';
  white-space: pre;
}

/* Prix unitaire & sous-total */
.eap-cart-wrapper table.shop_table .product-price,
.eap-cart-wrapper table.shop_table .product-subtotal {
  font-family: var(--font-heading);
  font-weight: 700 !important;
  color: var(--col-ink) !important;
  font-size: 1rem;
  white-space: nowrap;
  vertical-align: middle !important;
}
.eap-cart-wrapper table.shop_table .product-subtotal {
  font-size: 1.05rem;
  color: var(--col-primary) !important;
  text-align: right !important;
}

/* ══════════════ Stepper de quantité +/- ══════════════ */
.eap-cart-wrapper table.shop_table .product-quantity {
  white-space: nowrap;
  text-align: center !important;
  vertical-align: middle !important;
}
.eap-cart-wrapper table.shop_table .product-quantity .quantity {
  display: inline-flex;
  align-items: center;
  background: var(--col-bg-alt);
  border: 1.5px solid var(--col-border-strong);
  border-radius: var(--eap-radius-input, 12px);
  overflow: hidden;
  transition: border-color var(--dur, 0.3s) var(--ease, ease);
}
.eap-cart-wrapper table.shop_table .product-quantity .quantity:focus-within {
  border-color: var(--col-primary);
  box-shadow: 0 0 0 3px var(--col-primary-glow);
}

.eap-cart-wrapper table.shop_table .product-quantity .qty-btn {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  color: var(--col-ink);
  width: 36px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color var(--dur, 0.3s) var(--ease, ease),
              color var(--dur, 0.3s) var(--ease, ease);
  user-select: none;
  line-height: 1;
}
.eap-cart-wrapper table.shop_table .product-quantity .qty-btn:hover {
  background: var(--col-primary-soft);
  color: var(--col-primary);
}
.eap-cart-wrapper table.shop_table .product-quantity .qty-btn:active {
  transform: scale(0.92);
}
.eap-cart-wrapper table.shop_table .product-quantity .qty-btn:focus-visible {
  outline: 2px solid var(--col-primary);
  outline-offset: -2px;
}
.eap-cart-wrapper table.shop_table .product-quantity .qty-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.eap-cart-wrapper table.shop_table .product-quantity .qty {
  width: 48px !important;
  background: transparent !important;
  border: none !important;
  border-left: 1.5px solid var(--col-border-strong) !important;
  border-right: 1.5px solid var(--col-border-strong) !important;
  border-radius: 0 !important;
  color: var(--col-ink) !important;
  padding: 0.5rem 0 !important;
  text-align: center !important;
  font-family: var(--font-heading);
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  height: 40px;
  -moz-appearance: textfield;
  appearance: textfield;
}
.eap-cart-wrapper table.shop_table .product-quantity .qty::-webkit-outer-spin-button,
.eap-cart-wrapper table.shop_table .product-quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.eap-cart-wrapper table.shop_table .product-quantity .qty:focus {
  outline: none;
}

/* ══════════════ Bouton supprimer (×) ══════════════ */
.eap-cart-wrapper a.remove,
.eap-cart-wrapper table.shop_table a.remove {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--col-bg-alt) !important;
  color: var(--col-muted) !important;
  font-size: 1.05rem !important;
  text-decoration: none !important;
  border-radius: 50% !important;
  transition: background-color var(--dur, 0.3s) var(--ease, ease),
              color var(--dur, 0.3s) var(--ease, ease),
              transform var(--dur, 0.3s) var(--ease-bounce, ease);
  font-weight: 400 !important;
  border: 1px solid var(--col-border) !important;
  margin: 0 !important;
}
.eap-cart-wrapper a.remove:hover,
.eap-cart-wrapper table.shop_table a.remove:hover {
  background: var(--col-primary) !important;
  color: var(--clr-white, #fff) !important;
  border-color: var(--col-primary) !important;
  transform: scale(1.1) rotate(90deg);
}
.eap-cart-wrapper a.remove:focus-visible {
  outline: 3px solid var(--col-primary);
  outline-offset: 3px;
}

/* ══════════════ Mobile : table → cartes empilées ══════════════ */
@container cart (max-width: 640px) {
  .eap-cart-wrapper table.shop_table,
  .eap-cart-wrapper table.shop_table_responsive {
    display: block !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  .eap-cart-wrapper table.shop_table thead { display: none !important; }
  .eap-cart-wrapper table.shop_table tbody { display: block; }

  .eap-cart-wrapper table.shop_table tbody tr.cart_item {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    grid-template-areas:
      "thumb name   remove"
      "thumb price  price"
      "qty   qty    subtotal";
    gap: 0.5rem 0.85rem;
    padding: 1rem;
    background: var(--col-surface) !important;
    border: 1px solid var(--col-border) !important;
    border-radius: var(--eap-radius-card, 18px) !important;
    margin-bottom: 0.85rem;
    align-items: center;
  }
  .eap-cart-wrapper table.shop_table tbody tr.cart_item:hover {
    background: var(--col-surface) !important;
  }
  .eap-cart-wrapper table.shop_table tbody td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    width: auto !important;
  }
  .eap-cart-wrapper table.shop_table .product-remove {
    grid-area: remove;
    justify-self: end;
    align-self: start;
    width: auto !important;
  }
  .eap-cart-wrapper table.shop_table .product-thumbnail {
    grid-area: thumb;
    padding: 0 !important;
    width: 80px !important;
  }
  .eap-cart-wrapper table.shop_table .product-thumbnail img {
    width: 80px !important;
    height: 80px !important;
  }
  .eap-cart-wrapper table.shop_table .product-name {
    grid-area: name;
    align-self: start;
  }
  .eap-cart-wrapper table.shop_table .product-price {
    grid-area: price;
    color: var(--col-ink-soft) !important;
    font-size: 0.85rem;
    font-weight: 600 !important;
  }
  .eap-cart-wrapper table.shop_table .product-price::before {
    content: 'Prix : ';
    color: var(--col-muted);
    font-weight: 500;
  }
  .eap-cart-wrapper table.shop_table .product-quantity {
    grid-area: qty;
    align-self: center;
    text-align: left !important;
  }
  .eap-cart-wrapper table.shop_table .product-subtotal {
    grid-area: subtotal;
    text-align: right !important;
    align-self: center;
    font-size: 1.15rem !important;
    color: var(--col-primary) !important;
  }
}

@supports not (container-type: inline-size) {
  @media (max-width: 640px) {
    .eap-cart-wrapper table.shop_table,
    .eap-cart-wrapper table.shop_table_responsive {
      display: block !important;
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
    }
    .eap-cart-wrapper table.shop_table thead { display: none !important; }
    .eap-cart-wrapper table.shop_table tbody { display: block; }
    .eap-cart-wrapper table.shop_table tbody tr.cart_item {
      display: grid;
      grid-template-columns: 80px 1fr auto;
      grid-template-areas:
        "thumb name   remove"
        "thumb price  price"
        "qty   qty    subtotal";
      gap: 0.5rem 0.85rem;
      padding: 1rem;
      background: var(--col-surface) !important;
      border: 1px solid var(--col-border) !important;
      border-radius: var(--eap-radius-card, 18px) !important;
      margin-bottom: 0.85rem;
      align-items: center;
    }
    .eap-cart-wrapper table.shop_table tbody td {
      display: block !important;
      padding: 0 !important;
      border: none !important;
      width: auto !important;
    }
    .eap-cart-wrapper table.shop_table .product-remove   { grid-area: remove; justify-self: end; width: auto !important; }
    .eap-cart-wrapper table.shop_table .product-thumbnail{ grid-area: thumb; padding: 0 !important; width: 80px !important; }
    .eap-cart-wrapper table.shop_table .product-thumbnail img { width: 80px !important; height: 80px !important; }
    .eap-cart-wrapper table.shop_table .product-name     { grid-area: name; }
    .eap-cart-wrapper table.shop_table .product-price    {
      grid-area: price;
      color: var(--col-ink-soft) !important;
      font-size: 0.85rem;
      font-weight: 600 !important;
    }
    .eap-cart-wrapper table.shop_table .product-price::before { content: 'Prix : '; color: var(--col-muted); font-weight: 500; }
    .eap-cart-wrapper table.shop_table .product-quantity { grid-area: qty; text-align: left !important; }
    .eap-cart-wrapper table.shop_table .product-subtotal {
      grid-area: subtotal;
      text-align: right !important;
      align-self: center;
      font-size: 1.15rem !important;
      color: var(--col-primary) !important;
    }
  }
}

/* ══════════════ Ligne d'actions (coupon + update) — v6.20.2 ══════════════
   Le `td.actions` étant prisonnier de table-layout: fixed (60px), le JS
   `cart-stepper.js` extrait son contenu dans un div .eap-cart-actions-extracted
   placé juste après la table. On stylise ce div et on garde aussi des règles
   de fallback sur le td natif au cas où le JS serait désactivé. */

/* Fallback sans JS : si le td.actions est encore visible, on le rend
   au moins lisible (même contraint en largeur) */
.eap-cart-wrapper table.shop_table tbody tr:has(td.actions) {
  background: var(--col-bg-alt) !important;
  border-bottom: none !important;
}
.eap-cart-wrapper table.shop_table tbody tr:has(td.actions):hover {
  background: var(--col-bg-alt) !important;
}
.eap-cart-wrapper table.shop_table .actions {
  padding: 1rem 1.1rem !important;
  background: var(--col-bg-alt) !important;
}

/* v6.20.3 — Wrapper extrait par cart-stepper.js, SOUDÉ visuellement à la table.
   Pour que ça ressemble à un seul bloc et pas à deux cartes séparées, on retire
   le border-radius bas de la table (et son border-bottom), et le wrapper prend
   le relais avec son border-radius bas. */
.eap-cart-wrapper .woocommerce-cart-form table.shop_table {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
}
.eap-cart-actions-extracted {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  padding: 1.1rem 1.25rem;
  background: var(--col-bg-alt);
  border: 1px solid var(--col-border);
  border-top: none; /* La table fournit la bordure haute */
  border-radius: 0 0 var(--eap-radius-card, 20px) var(--eap-radius-card, 20px);
  margin-top: 0;
  box-sizing: border-box;
}

/* v6.20.2 — Sélecteurs étendus : ciblent à la fois le td.actions natif (fallback)
   et le wrapper extrait .eap-cart-actions-extracted (cas normal avec JS). */
:is(.eap-cart-wrapper, .eap-cart-actions-extracted) .coupon {
  display: flex;
  gap: 0.5rem;
  flex: 1 1 280px;
  min-width: 0;
  align-items: stretch;
}
:is(.eap-cart-wrapper, .eap-cart-actions-extracted) .coupon label {
  display: none !important;
}
:is(.eap-cart-wrapper, .eap-cart-actions-extracted) .coupon input[type=text],
:is(.eap-cart-wrapper, .eap-cart-actions-extracted) .coupon input#coupon_code {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  background: var(--col-surface) !important;
  border: 1.5px solid var(--col-border-strong) !important;
  color: var(--col-ink) !important;
  border-radius: var(--eap-radius-input, 99px) !important;
  padding: 0.7rem 1.1rem !important;
  font-family: inherit;
  font-size: 0.92rem;
  height: 44px;
  line-height: 1;
  box-sizing: border-box;
}
:is(.eap-cart-wrapper, .eap-cart-actions-extracted) .coupon input[type=text]:focus {
  outline: none;
  border-color: var(--col-primary) !important;
  box-shadow: 0 0 0 3px var(--col-primary-glow);
}

/* v6.20.2 — Bouton "Appliquer" : pas de wrap, taille raisonnable */
:is(.eap-cart-wrapper, .eap-cart-actions-extracted) .coupon .button,
:is(.eap-cart-wrapper, .eap-cart-actions-extracted) .coupon button[name="apply_coupon"],
:is(.eap-cart-wrapper, .eap-cart-actions-extracted) .button[name="apply_coupon"] {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  padding: 0.7rem 1.4rem !important;
  height: 44px !important;
  line-height: 1 !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  background: var(--col-primary) !important;
  color: var(--clr-white, #fff) !important;
  border: 1.5px solid var(--col-primary) !important;
  border-radius: var(--eap-radius-btn, 99px) !important;
  font-family: var(--font-heading) !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  cursor: pointer !important;
  transition: all var(--dur, 0.3s) var(--ease, ease) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: unset !important;
}
:is(.eap-cart-wrapper, .eap-cart-actions-extracted) .coupon .button:hover,
:is(.eap-cart-wrapper, .eap-cart-actions-extracted) .button[name="apply_coupon"]:hover {
  background: var(--col-primary-dark) !important;
  border-color: var(--col-primary-dark) !important;
}

/* v6.20.2 — "Mettre à jour" : discret, à côté */
:is(.eap-cart-wrapper, .eap-cart-actions-extracted) .button[name="update_cart"] {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  background: var(--col-surface) !important;
  color: var(--col-ink) !important;
  border: 1.5px solid var(--col-border-strong) !important;
  border-radius: var(--eap-radius-btn, 99px) !important;
  padding: 0.7rem 1.3rem !important;
  height: 44px !important;
  line-height: 1 !important;
  font-family: var(--font-heading) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all var(--dur, 0.3s) var(--ease, ease) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  min-height: unset !important;
}
.eap-cart-wrapper .button[name="update_cart"]:hover {
  background: var(--col-primary-soft) !important;
  border-color: var(--col-primary) !important;
  color: var(--col-primary) !important;
}
.eap-cart-wrapper .button[name="update_cart"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ══════════════ Récap commande (cart_totals) ══════════════ */
.eap-cart-wrapper .cart_totals {
  background: var(--col-surface) !important;
  border: 1px solid var(--col-border) !important;
  border-radius: var(--eap-radius-card, 20px) !important;
  padding: clamp(1.5rem, 2.8vw, 2rem) !important;
  color: var(--col-ink);
  box-shadow:
    0 1px 2px rgba(61, 48, 36, 0.04),
    0 8px 24px -12px rgba(61, 48, 36, 0.08);
  position: relative;
}
.eap-cart-wrapper .cart_totals::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--col-primary), var(--col-accent));
  border-radius: var(--eap-radius-card, 20px) var(--eap-radius-card, 20px) 0 0;
}

.eap-cart-wrapper .cart_totals h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
  font-weight: 700 !important;
  color: var(--col-ink) !important;
  margin-bottom: 1.4rem !important;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.eap-cart-wrapper .cart_totals h2::before {
  content: '\1F9FE';
  font-size: 1.1em;
}

.eap-cart-wrapper .cart_totals table {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: visible;
  margin: 0 !important;
  box-shadow: none !important;
  table-layout: auto;
}
.eap-cart-wrapper .cart_totals table tr {
  background: transparent !important;
  border-bottom: 1px solid var(--col-border) !important;
}
.eap-cart-wrapper .cart_totals table tr:last-child {
  border-bottom: none !important;
}
.eap-cart-wrapper .cart_totals table th {
  background: transparent !important;
  color: var(--col-ink-soft) !important;
  font-family: var(--font-body) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 0.85rem 0 !important;
  text-align: left !important;
  vertical-align: top !important;
  white-space: normal !important;
  width: 40%;
}
.eap-cart-wrapper .cart_totals table td {
  color: var(--col-ink) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  text-align: right !important;
  padding: 0.85rem 0 !important;
  font-size: 0.98rem;
  background: transparent !important;
  vertical-align: top !important;
}

/* Total cinétique */
.eap-cart-wrapper .cart_totals .order-total th,
.eap-cart-wrapper .cart_totals .order-total td {
  padding-top: 1.1rem !important;
  padding-bottom: 1.1rem !important;
}
.eap-cart-wrapper .cart_totals .order-total th {
  color: var(--col-ink) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  font-family: var(--font-heading) !important;
}
.eap-cart-wrapper .cart_totals .order-total td {
  color: var(--col-primary) !important;
  font-family: var(--font-display, var(--font-heading)) !important;
  font-size: clamp(1.5rem, 3.5vw, 1.85rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

/* ══════════════ Shipping Calculator — v6.20.3 ══════════════
   WooCommerce affiche un formulaire complet (Pays/Ville/CP + bouton "Mettre à jour")
   directement dans la carte récap, ce qui parasite la lecture. On le masque par
   défaut : seul le lien "Calculer les frais d'expédition" reste visible et permet
   à l'utilisateur de l'ouvrir s'il en a besoin (toggle natif WC en JS).
   Quand WC ouvre le form (style="display:block" inline), on le remet visible. */

/* Caché par défaut */
.eap-cart-wrapper .shipping-calculator-form,
.eap-cart-wrapper .woocommerce-shipping-calculator {
  display: none !important;
  width: 100% !important;
  margin-top: 0.85rem !important;
  padding: 0 !important;
}

/* Mais si WC le rend visible via inline style ou classe is-open, on le réaffiche */
.eap-cart-wrapper .shipping-calculator-form[style*="block"],
.eap-cart-wrapper .shipping-calculator-form.is-open,
.eap-cart-wrapper .woocommerce-shipping-calculator[style*="block"] {
  display: block !important;
}

/* Le calculator est dans un <td> qui s'étend full width */
.eap-cart-wrapper .cart_totals .shipping {
  display: table-row;
}
.eap-cart-wrapper .cart_totals .shipping td {
  text-align: left !important;
  padding-top: 0.85rem !important;
  padding-bottom: 0.85rem !important;
}

/* Le formulaire shipping calculator : empilage propre */
.eap-cart-wrapper .shipping-calculator-form .form-row,
.eap-cart-wrapper .woocommerce-shipping-calculator .form-row {
  display: block !important;
  width: 100% !important;
  margin: 0 0 0.85rem 0 !important;
  padding: 0 !important;
  float: none !important;
}
.eap-cart-wrapper .shipping-calculator-form .form-row label,
.eap-cart-wrapper .woocommerce-shipping-calculator .form-row label {
  display: block !important;
  margin-bottom: 0.35rem !important;
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--col-ink) !important;
  letter-spacing: 0.01em;
}
.eap-cart-wrapper .shipping-calculator-form input[type="text"],
.eap-cart-wrapper .shipping-calculator-form input[type="email"],
.eap-cart-wrapper .shipping-calculator-form select,
.eap-cart-wrapper .woocommerce-shipping-calculator input[type="text"],
.eap-cart-wrapper .woocommerce-shipping-calculator select,
.eap-cart-wrapper .shipping-calculator-form .select2-container,
.eap-cart-wrapper .shipping-calculator-form .select2-selection {
  width: 100% !important;
  background: var(--col-surface) !important;
  border: 1.5px solid var(--col-border-strong) !important;
  color: var(--col-ink) !important;
  border-radius: var(--eap-radius-input, 12px) !important;
  padding: 0.7rem 1rem !important;
  font-family: inherit !important;
  font-size: 0.95rem !important;
  height: 44px !important;
  min-height: 44px !important;
  line-height: 1.3 !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}
.eap-cart-wrapper .shipping-calculator-form input:focus,
.eap-cart-wrapper .shipping-calculator-form select:focus {
  outline: none !important;
  border-color: var(--col-primary) !important;
  box-shadow: 0 0 0 3px var(--col-primary-glow) !important;
}

/* Select2 spécifique */
.eap-cart-wrapper .shipping-calculator-form .select2-container .select2-selection--single {
  height: 44px !important;
  border: 1.5px solid var(--col-border-strong) !important;
  border-radius: var(--eap-radius-input, 12px) !important;
  background: var(--col-surface) !important;
}
.eap-cart-wrapper .shipping-calculator-form .select2-selection--single .select2-selection__rendered {
  line-height: 41px !important;
  color: var(--col-ink) !important;
  padding-left: 1rem !important;
  padding-right: 2rem !important;
}
.eap-cart-wrapper .shipping-calculator-form .select2-selection--single .select2-selection__arrow {
  height: 41px !important;
  top: 0 !important;
  right: 0.5rem !important;
}

/* Bouton "Mettre à jour" du calculator */
.eap-cart-wrapper .shipping-calculator-form button,
.eap-cart-wrapper .shipping-calculator-form .button {
  background: var(--col-primary) !important;
  color: var(--clr-white, #fff) !important;
  border: 1.5px solid var(--col-primary) !important;
  border-radius: var(--eap-radius-btn, 99px) !important;
  padding: 0.7rem 1.4rem !important;
  height: 44px !important;
  line-height: 1 !important;
  font-family: var(--font-heading) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  cursor: pointer !important;
  width: auto !important;
  min-width: 140px;
  margin-top: 0.5rem;
}
.eap-cart-wrapper .shipping-calculator-form button:hover {
  background: var(--col-primary-dark) !important;
  border-color: var(--col-primary-dark) !important;
}

/* Lien "Calculer les frais d'expédition" */
.eap-cart-wrapper .shipping-calculator-button {
  color: var(--col-primary) !important;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: underline;
  display: inline-block;
  margin-top: 0.4rem;
}
.eap-cart-wrapper .shipping-calculator-button:hover {
  color: var(--col-primary-dark) !important;
}

/* Texte "Saisissez votre adresse pour voir les options" */
.eap-cart-wrapper .cart_totals .shipping td .woocommerce-shipping-destination,
.eap-cart-wrapper .woocommerce-shipping-destination {
  color: var(--col-ink-soft) !important;
  font-family: var(--font-body) !important;
  font-weight: 400 !important;
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
  text-align: left !important;
  display: block;
  margin-bottom: 0.4rem;
}

/* Shipping methods (radio + label) */
.eap-cart-wrapper .woocommerce-shipping-methods {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.eap-cart-wrapper .woocommerce-shipping-methods li {
  padding: 0.4rem 0 !important;
  color: var(--col-ink-soft) !important;
  font-family: var(--font-body) !important;
  font-weight: 400 !important;
  font-size: 0.9rem !important;
  list-style: none !important;
  text-align: left !important;
}
.eap-cart-wrapper .woocommerce-shipping-methods li label {
  color: var(--col-ink) !important;
  font-weight: 600;
  font-family: var(--font-body) !important;
  font-size: 0.92rem !important;
  margin-left: 0.4rem;
  cursor: pointer;
}

/* ══════════════ Bouton "Valider la commande" ══════════════ */
.eap-cart-wrapper .wc-proceed-to-checkout {
  margin-top: 1.5rem;
}
.eap-cart-wrapper .wc-proceed-to-checkout .checkout-button,
.eap-cart-wrapper button.checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100% !important;
  background: var(--btn-checkout-bg, var(--col-primary)) !important;
  color: var(--btn-checkout-color, #fff) !important;
  border: var(--btn-checkout-border-w, 0) solid var(--btn-checkout-border, transparent) !important;
  border-radius: var(--btn-checkout-radius, var(--eap-radius-btn, 99px)) !important;
  padding: var(--btn-checkout-pad-y, 18px) var(--btn-checkout-pad-x, 24px) !important;
  font-family: var(--font-heading) !important;
  font-size: var(--btn-checkout-font-size, 16px) !important;
  font-weight: var(--btn-checkout-font-weight, 700) !important;
  letter-spacing: var(--btn-checkout-letter-spacing, 0.02em) !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer;
  /* v6.20.4 — Box-shadow plus discret. Avant : 0 4px 16px -4px qui avec le glow
     orange créait une barre floue disgracieuse. Maintenant : ombrage léger. */
  box-shadow: var(--btn-checkout-shadow, 0 4px 14px -6px rgba(196, 87, 46, 0.35)) !important;
  transition: transform var(--btn-checkout-duration, 280ms) var(--ease, ease),
              background-color var(--btn-checkout-duration, 280ms) var(--ease, ease),
              box-shadow var(--btn-checkout-duration, 280ms) var(--ease, ease) !important;
  position: relative;
  overflow: hidden;
}
.eap-cart-wrapper .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--btn-checkout-hover-bg, var(--col-primary-dark)) !important;
  color: var(--btn-checkout-hover-color, #fff) !important;
  transform: var(--btn-checkout-hover-transform, translateY(-2px)) !important;
  box-shadow: 0 6px 18px -6px rgba(196, 87, 46, 0.45) !important;
}
.eap-cart-wrapper .wc-proceed-to-checkout .checkout-button:focus-visible {
  outline: 3px solid var(--col-accent);
  outline-offset: 3px;
}

/* ══════════════ Paiements express (Apple Pay / Google Pay / Klarna) — v6.20.4 ══════════════
   WooCommerce Payments injecte automatiquement dans .wc-proceed-to-checkout un wrapper
   .wcpay-express-checkout-wrapper qui contient les boutons Apple Pay / Google Pay /
   Klarna selon ce que le client active. Sans style adapté, ces boutons ressortent
   carrément du design. Ici on les harmonise avec les autres CTA du thème. */

/* Wrapper express checkout : séparé du bouton principal par un trait + label */
.eap-cart-wrapper .wcpay-express-checkout-wrapper,
.eap-cart-wrapper #wcpay-express-checkout-element,
.eap-cart-wrapper .wc-block-components-express-payment {
  margin-top: 1rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid var(--col-border) !important;
  position: relative;
}

/* Label "ou payer en 1 clic" au-dessus des boutons express */
.eap-cart-wrapper .wcpay-express-checkout-wrapper::before {
  content: 'ou payer en 1 clic';
  display: block;
  text-align: center;
  font-family: var(--font-heading);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--col-ink-soft);
  margin-bottom: 0.85rem;
}

/* Apple Pay : full width, hauteur cohérente avec le bouton principal */
.eap-cart-wrapper apple-pay-button,
.eap-cart-wrapper .apple-pay-button,
.eap-cart-wrapper [class*="apple-pay-button"] {
  --apple-pay-button-width: 100% !important;
  --apple-pay-button-height: 48px !important;
  --apple-pay-button-border-radius: var(--eap-radius-btn, 99px) !important;
  width: 100% !important;
  height: 48px !important;
  margin-bottom: 0.5rem !important;
  display: block;
}

/* Google Pay et autres boutons Stripe */
.eap-cart-wrapper .gpay-button,
.eap-cart-wrapper [class*="gpay-button"],
.eap-cart-wrapper .wcpay-express-checkout-wrapper button {
  width: 100% !important;
  height: 48px !important;
  border-radius: var(--eap-radius-btn, 99px) !important;
  margin-bottom: 0.5rem !important;
}

/* Iframe Stripe (cas où Stripe injecte ses boutons dans une iframe) */
.eap-cart-wrapper .wcpay-express-checkout-wrapper iframe {
  width: 100% !important;
  border-radius: var(--eap-radius-btn, 99px) !important;
  overflow: hidden;
}

/* Klarna placement (3 versements sans intérêts...) */
.eap-cart-wrapper klarna-placement,
.eap-cart-wrapper .klarna-placement,
.eap-cart-wrapper [data-key*="klarna"] {
  display: block;
  margin: 0.85rem 0 !important;
  padding: 0.75rem 1rem !important;
  background: color-mix(in oklab, #FFB3C7 15%, var(--col-surface));
  border: 1px solid color-mix(in oklab, #FFB3C7 30%, transparent);
  border-radius: var(--eap-radius-card, 12px);
  font-size: 0.85rem;
  color: var(--col-ink);
  line-height: 1.5;
}
.eap-cart-wrapper klarna-placement a,
.eap-cart-wrapper .klarna-placement a {
  color: var(--col-primary) !important;
  font-weight: 600;
  text-decoration: underline;
}

/* Bouton "Continuer mes achats" (panier vide) */
.eap-cart-wrapper a.button.wc-backward,
.eap-cart-wrapper .return-to-shop .button,
.eap-cart-wrapper a.wc-backward {
  background: var(--btn-continue-bg, var(--col-surface)) !important;
  color: var(--btn-continue-color, var(--col-ink)) !important;
  border: var(--btn-continue-border-w, 2px) solid var(--btn-continue-border, var(--col-ink)) !important;
  border-radius: var(--btn-continue-radius, var(--eap-radius-btn, 99px)) !important;
  padding: var(--btn-continue-pad-y, 14px) var(--btn-continue-pad-x, 28px) !important;
  font-family: var(--font-heading) !important;
  font-size: var(--btn-continue-font-size, 14px) !important;
  font-weight: var(--btn-continue-font-weight, 600) !important;
  letter-spacing: var(--btn-continue-letter-spacing, 0.03em) !important;
  text-transform: uppercase;
  box-shadow: var(--btn-continue-shadow, none) !important;
  transition: all var(--btn-continue-duration, 280ms) var(--ease, ease) !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.eap-cart-wrapper a.button.wc-backward:hover,
.eap-cart-wrapper .return-to-shop .button:hover,
.eap-cart-wrapper a.wc-backward:hover {
  background: var(--btn-continue-hover-bg, var(--col-ink)) !important;
  color: var(--btn-continue-hover-color, #fff) !important;
  transform: var(--btn-continue-hover-transform, translateY(-2px)) !important;
}

/* ══════════════ Panier vide ══════════════ */
.eap-cart-wrapper .cart-empty,
.eap-cart-wrapper .wc-empty-cart-message {
  background: var(--col-surface) !important;
  border: 1px solid var(--col-border) !important;
  border-radius: var(--eap-radius-card, 20px) !important;
  padding: clamp(2rem, 5vw, 3.5rem) !important;
  text-align: center;
  font-family: var(--font-heading) !important;
  font-size: clamp(1rem, 2vw, 1.15rem) !important;
  font-weight: 600 !important;
  color: var(--col-ink) !important;
  margin: 0 0 1.25rem 0 !important;
}
.eap-cart-wrapper .return-to-shop {
  text-align: center;
  margin-top: 1rem;
}

/* ══════════════ Upsells (section custom) ══════════════ */
.eap-cart-upsells {
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  padding-top: clamp(2rem, 4vw, 2.75rem);
  border-top: 1px solid var(--col-border);
}
.eap-cart-upsells__title {
  font-family: var(--font-heading);
  font-size: clamp(1.3rem, 2.5vw, 1.75rem);
  font-weight: 700;
  color: var(--col-ink);
  margin-bottom: 1.5rem;
  letter-spacing: -0.015em;
}
.eap-cart-upsells__title em {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--col-primary);
  font-weight: 500;
}

.ea-product-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.8rem;
  background: var(--col-bg-alt);
}

/* ══════════════ Animations & Reduced motion ══════════════ */
.eap-cart-wrapper .cart_item {
  animation: eap-fade-in 0.4s var(--ease, ease) backwards;
}
.eap-cart-wrapper .cart_item:nth-child(1) { animation-delay: 0.05s; }
.eap-cart-wrapper .cart_item:nth-child(2) { animation-delay: 0.1s; }
.eap-cart-wrapper .cart_item:nth-child(3) { animation-delay: 0.15s; }
.eap-cart-wrapper .cart_item:nth-child(4) { animation-delay: 0.2s; }
.eap-cart-wrapper .cart_item:nth-child(n+5) { animation-delay: 0.25s; }

@keyframes eap-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .eap-cart-wrapper *,
  .eap-cart-wrapper *::before,
  .eap-cart-wrapper *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ══════════════ PAGE CHECKOUT ══════════════ */
.woocommerce-checkout {
  color: var(--col-ink);
}

.woocommerce-checkout form.checkout {
  display: block;
}
@media (min-width: 960px) {
  .woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 2rem;
    align-items: start;
  }
  .woocommerce-checkout #customer_details { grid-column: 1; }
  .woocommerce-checkout h3#order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: 2;
    position: sticky;
    top: 140px;
  }
  .woocommerce-checkout h3#order_review_heading {
    position: relative;
    top: auto;
    margin: 0 0 1rem 0;
  }
}

/* Cartes de formulaire checkout */
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2,
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
  background: var(--col-surface) !important;
  border: 1px solid var(--col-border) !important;
  border-radius: var(--eap-radius-card, 20px) !important;
  padding: clamp(1.25rem, 2.5vw, 1.75rem) !important;
  margin-bottom: 1.25rem !important;
  float: none !important;
  width: 100% !important;
}

.woocommerce-checkout h3 {
  font-family: var(--font-heading);
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  font-weight: 700;
  color: var(--col-ink);
  margin-bottom: 1.25rem;
  letter-spacing: -0.01em;
}

/* Champs de formulaire */
.woocommerce form .form-row label {
  display: block;
  color: var(--col-ink) !important;
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
  letter-spacing: 0.01em;
}
.woocommerce form .form-row label .required {
  color: var(--col-primary);
  text-decoration: none;
  border: none;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  width: 100% !important;
  background: var(--col-bg-alt) !important;
  border: 1.5px solid var(--col-border-strong) !important;
  color: var(--col-ink) !important;
  border-radius: var(--eap-radius-input, 12px) !important;
  padding: 0.85rem 1rem !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  min-height: 48px !important;
  box-shadow: none !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: none !important;
  border-color: var(--col-primary) !important;
  background: var(--col-surface) !important;
  box-shadow: 0 0 0 3px var(--col-primary-glow) !important;
}
.woocommerce form .form-row textarea { min-height: 120px !important; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
  color: var(--col-ink) !important;
  line-height: 46px !important;
  padding: 0 !important;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 10px !important; height: 28px !important; }

.woocommerce form .form-row {
  padding: 0 !important;
  margin: 0 0 1rem 0 !important;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
  width: calc(50% - 0.5rem) !important;
  display: inline-block;
  vertical-align: top;
}
.woocommerce form .form-row-first { margin-right: 1rem !important; }
@media (max-width: 560px) {
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    width: 100% !important;
    margin-right: 0 !important;
  }
}

/* Récap commande (colonne droite) */
#order_review_heading {
  font-family: var(--font-heading) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--col-ink) !important;
  margin-bottom: 1rem !important;
}

#order_review {
  background: var(--col-surface) !important;
  border: 1px solid var(--col-border) !important;
  border-radius: var(--eap-radius-card, 20px) !important;
  padding: clamp(1.25rem, 2.5vw, 1.75rem) !important;
}

#order_review table.shop_table {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
#order_review table.shop_table thead { display: table-header-group !important; }
#order_review table.shop_table thead th {
  background: transparent !important;
  border-bottom: 1px solid var(--col-border) !important;
  padding: 0.75rem 0 !important;
}
#order_review table.shop_table tbody tr {
  border-bottom: 1px solid var(--col-border) !important;
}
#order_review table.shop_table tbody td,
#order_review table.shop_table tfoot td {
  padding: 0.75rem 0 !important;
  font-size: 0.95rem;
}
#order_review table.shop_table .product-name {
  color: var(--col-ink) !important;
  font-family: var(--font-heading);
  font-weight: 700;
}
#order_review table.shop_table .product-total {
  text-align: right !important;
  font-family: var(--font-heading);
  font-weight: 700 !important;
  color: var(--col-ink) !important;
}
#order_review table.shop_table .variation {
  font-size: 0.82rem;
  color: var(--col-ink-soft) !important;
  margin-top: 0.3rem !important;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.7rem;
}
#order_review table.shop_table .variation dt,
#order_review table.shop_table .variation dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 500 !important;
  color: inherit !important;
}
#order_review table.shop_table .variation dt { font-weight: 700 !important; color: var(--col-ink) !important; }
/* v6.20.5 — Les labels viennent déjà avec ":" intégré (ex: "Taille:") donc
   pas besoin d'ajouter un ":" via ::after, sinon on obtient "Taille::". */
#order_review table.shop_table .variation dt::after { content: '' !important; margin-right: 0.4rem !important; }

/* Lignes totaux */
#order_review .cart-subtotal th,
#order_review .cart-subtotal td,
#order_review .shipping th,
#order_review .shipping td,
#order_review .order-total th,
#order_review .order-total td {
  color: var(--col-ink) !important;
  padding: 0.75rem 0 !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
}
#order_review .cart-subtotal th,
#order_review .shipping th {
  font-weight: 500 !important;
  color: var(--col-ink-soft) !important;
}
#order_review .cart-subtotal td,
#order_review .shipping td {
  text-align: right !important;
  font-weight: 600 !important;
}
#order_review .order-total {
  border-top: 2px solid var(--col-border) !important;
}
#order_review .order-total th { color: var(--col-ink) !important; font-size: 1.05rem !important; }
#order_review .order-total td {
  text-align: right !important;
  color: var(--col-primary) !important;
  font-size: 1.4rem !important;
  font-weight: 800 !important;
}

/* Méthodes de paiement */
#payment {
  background: transparent !important;
  border: none !important;
  padding: 1.25rem 0 0 0 !important;
  margin: 0 !important;
}
#payment ul.payment_methods {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 1rem 0 !important;
  list-style: none;
}
#payment ul.payment_methods li {
  background: var(--col-bg-alt) !important;
  border: 1.5px solid var(--col-border) !important;
  border-radius: var(--eap-radius-input, 14px) !important;
  padding: 0.85rem 1rem !important;
  margin-bottom: 0.6rem !important;
  color: var(--col-ink) !important;
  transition: all var(--dur, 0.3s) var(--ease, ease);
}
#payment ul.payment_methods li:has(input:checked) {
  background: var(--col-primary-soft) !important;
  border-color: var(--col-primary) !important;
}
#payment ul.payment_methods li label {
  color: var(--col-ink) !important;
  font-weight: 600;
  cursor: pointer;
}
#payment ul.payment_methods li .payment_box {
  background: var(--col-surface) !important;
  border: 1px solid var(--col-border) !important;
  border-radius: var(--eap-radius-input, 10px) !important;
  padding: 0.85rem 1rem !important;
  margin-top: 0.5rem !important;
  color: var(--col-ink-soft) !important;
  font-size: 0.88rem;
}
#payment ul.payment_methods li .payment_box::before { display: none !important; }

/* CGV checkbox */
.woocommerce-terms-and-conditions-wrapper {
  margin: 1rem 0;
  padding: 0.85rem 1rem;
  background: var(--col-bg-alt);
  border-radius: var(--eap-radius-input, 12px);
}
.woocommerce-terms-and-conditions-wrapper label,
.woocommerce-form__label-for-checkbox {
  color: var(--col-ink) !important;
  font-size: 0.92rem !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: flex-start;
  gap: 0.55rem;
  cursor: pointer;
}
.woocommerce-terms-and-conditions-wrapper input[type=checkbox],
.woocommerce-form__input-checkbox {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--col-primary);
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.woocommerce-terms-and-conditions-wrapper .required { color: var(--col-primary); }

/* Bouton COMMANDER (le gros) */
#place_order,
#payment button#place_order {
  width: 100% !important;
  background: var(--col-primary) !important;
  color: var(--clr-white, #fff) !important;
  border: none !important;
  border-radius: var(--eap-radius-btn, 99px) !important;
  padding: 1.2rem 1.5rem !important;
  font-family: var(--font-heading) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  cursor: pointer !important;
  box-shadow: 0 10px 28px var(--col-primary-glow) !important;
  transition: all var(--dur, 0.3s) var(--ease, ease) !important;
  min-height: 60px !important;
  margin-top: 1rem !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-transform: none;
}
#place_order:hover {
  background: var(--col-primary-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px var(--col-primary-glow) !important;
}

/* Notifications / messages WC — icônes via ::before (remplace les templates notices/*.php) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce-NoticeGroup .woocommerce-notice {
  background: var(--col-surface) !important;
  border: 1px solid var(--col-border) !important;
  border-left: 4px solid var(--col-primary) !important;
  border-radius: var(--eap-radius-input, 12px) !important;
  color: var(--col-ink) !important;
  padding: 1rem 1.25rem 1rem 3rem !important;
  font-size: 0.95rem;
  margin-bottom: 1.25rem !important;
  list-style: none !important;
  position: relative;
}
/* WooCommerce ajoute un ::before par défaut : on le réécrit en icône custom */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.85rem;
  border-radius: 50%;
  color: var(--clr-white, #fff);
  background: var(--col-primary);
  content: 'i';
  line-height: 1;
  flex-shrink: 0;
  text-indent: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-info::before {
  content: 'i';
  font-style: italic;
  background: var(--col-primary);
}
.woocommerce-message {
  border-left-color: var(--clr-olive-500, #6B7248) !important;
}
.woocommerce-message::before {
  content: '\2713';
  background: var(--clr-olive-500, #6B7248);
  font-size: 0.9rem;
}
.woocommerce-error {
  border-left-color: #D0342C !important;
  background: color-mix(in oklab, #D0342C 6%, var(--col-surface)) !important;
}
.woocommerce-error::before {
  content: '!';
  background: #D0342C;
}
.woocommerce-message .button,
.woocommerce-info .button {
  float: right;
  background: var(--col-primary) !important;
  color: var(--clr-white, #fff) !important;
  border-radius: var(--eap-radius-btn, 99px) !important;
  padding: 0.5rem 1.1rem !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
}

/* ══════════════════════════════════════════════════════════════════
   PAGE CONFIRMATION / THANK YOU — Refonte v6.23 (2026)
   Architecture en cards segmentées, glassmorphism subtil,
   container queries pour responsive ultra-fluide.
   ══════════════════════════════════════════════════════════════════ */

/* — Reset/conteneur du thank-you — */
.eap-checkout-page--thankyou {
  padding-block: clamp(1.5rem, 3vw, 3rem) clamp(3rem, 5vw, 5rem);
}
.eap-checkout-page--thankyou .container {
  max-width: 920px;
}
.woocommerce-order {
  /* Reset des styles par défaut WC */
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Conteneur principal du thank-you custom */
.eap-thankyou {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.25rem);
  /* IMPORTANT : pas de container-type ici sinon ça casse les grid auto-fit
     des enfants directs (.eap-thankyou__overview etc.). Les container queries
     sont posées plus bas sur des enfants spécifiques. */
}

/* — Animations — */
@keyframes eap-thankyou-circle {
  from { stroke-dashoffset: 226; }
  to   { stroke-dashoffset: 0; }
}
@keyframes eap-thankyou-check {
  to { stroke-dashoffset: 0; }
}
@keyframes eap-thankyou-fade-up {
  from { opacity: 0; transform: translateY(0.75rem); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .eap-thankyou *,
  .eap-thankyou *::before,
  .eap-thankyou *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* ── HERO — Bloc d'accueil "Merci" ── */
.eap-thankyou__hero {
  text-align: center;
  padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.25rem, 3vw, 2rem);
  background:
    radial-gradient(ellipse at top, color-mix(in srgb, var(--col-primary) 6%, transparent) 0%, transparent 60%),
    var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: var(--eap-radius-card, 24px);
  box-shadow: 0 1px 3px rgba(61, 48, 36, 0.04), 0 12px 32px -16px rgba(61, 48, 36, 0.12);
  animation: eap-thankyou-fade-up 0.5s ease-out;
}
.eap-thankyou__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 1.25rem;
  color: var(--col-primary);
  display: grid;
  place-items: center;
}
.eap-thankyou__icon svg {
  width: 100%;
  height: 100%;
}
.eap-thankyou__eyebrow {
  display: inline-block;
  margin: 0 0 0.75rem;
  padding: 0.35rem 0.85rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--col-primary-dark);
  background: var(--col-primary-soft);
  border-radius: 999px;
}
.eap-thankyou__title,
.eap-thankyou .woocommerce-thankyou-order-received {
  font-family: var(--font-display, var(--font-heading));
  font-style: italic;
  font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.5rem);
  font-weight: 500;
  line-height: 1.15;
  color: var(--col-ink);
  margin: 0 0 0.85rem;
  text-wrap: balance;
}
.eap-thankyou__intro {
  max-width: 52ch;
  margin: 0 auto;
  font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
  line-height: 1.6;
  color: var(--col-ink-soft);
  text-wrap: pretty;
}

/* ── ÉCHEC DE PAIEMENT ── */
.eap-thankyou__failed {
  text-align: center;
  padding: clamp(1.75rem, 4vw, 2.5rem);
  background: #FFF5F5;
  border: 1px solid #F4C5C5;
  border-radius: var(--eap-radius-card, 20px);
}
.eap-thankyou__failed-icon {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}
.eap-thankyou__failed-title {
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem);
  color: #B91C1C;
  margin: 0 0 0.5rem;
}
.eap-thankyou__failed-text {
  color: var(--col-ink-soft);
  margin: 0 0 1.5rem;
}
.eap-thankyou__failed-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin: 0;
}

/* ── OVERVIEW — Récap n° / date / email / total / paiement ── */
.eap-thankyou__overview,
.woocommerce-order-overview {
  /* Stratégie simple et robuste :
     - mobile (< 600px)   : 1 colonne
     - tablette (≥ 600px) : 2 colonnes
     - desktop (≥ 900px)  : auto-fit avec minimum 160px
     - Pas de container queries (incompatibles avec auto-fit ici) */
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: var(--eap-radius-card, 20px);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(61, 48, 36, 0.04);
}
@media (min-width: 600px) {
  .eap-thankyou__overview,
  .woocommerce-order-overview {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 900px) {
  .eap-thankyou__overview,
  .woocommerce-order-overview {
    /* auto-fit avec min-width concret = clé pour vraiment s'étaler en colonnes */
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }
}
.eap-thankyou__overview-item,
.woocommerce-order-overview > li {
  /* min-width: 0 = clé pour éviter le débordement en grid */
  min-width: 0;
  padding: 1.1rem 1.35rem;
  margin: 0;
  background: transparent;
  border: none;
  border-right: 1px solid var(--col-border);
  border-bottom: 1px solid var(--col-border);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  list-style: none;
}
/* Suppression des bordures de fin de rangée/colonne (auto-fit safe) */
.eap-thankyou__overview-item:last-child,
.woocommerce-order-overview > li:last-child {
  border-right: none;
  border-bottom: none;
}
.eap-thankyou__overview-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--col-muted);
}
.eap-thankyou__overview-value {
  font-family: var(--font-heading);
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.15rem);
  font-weight: 700;
  color: var(--col-ink);
  letter-spacing: -0.01em;
  /* Critical : empêcher le débordement (cas de l'email long)
     SANS forcer la césure laide de tous les mots (ex: "ré-ception"). */
  min-width: 0;
  overflow-wrap: break-word;
  /* Pas de hyphens: auto ici — sinon césure laide sur les mots courts. */
}
.eap-thankyou__overview-value time {
  font-feature-settings: 'tnum';
}
/* Email : tronquer avec ellipsis si trop long */
.eap-thankyou__overview-item--email .eap-thankyou__overview-value {
  font-size: 0.95rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Total : mise en avant */
.eap-thankyou__overview-item--total {
  background: linear-gradient(135deg, var(--col-primary-soft) 0%, transparent 100%);
}
.eap-thankyou__overview-item--total .eap-thankyou__overview-value {
  color: var(--col-primary-dark);
  font-size: clamp(1.1rem, 1rem + 0.4vw, 1.3rem);
}

/* ── NOTE DE COMMANDE ── */
.eap-thankyou__note {
  padding: 1.25rem 1.5rem;
  background: var(--col-accent-soft);
  border-left: 4px solid var(--col-accent);
  border-radius: 12px;
}
.eap-thankyou__note-title {
  font-family: var(--font-heading);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--col-ink);
  margin: 0 0 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.eap-thankyou__note-text {
  margin: 0;
  color: var(--col-ink-soft);
  line-height: 1.6;
}

/* ── ORDER DETAILS — Détails produits ── */
.eap-order-details,
.woocommerce-order-details {
  background: var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: var(--eap-radius-card, 20px);
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  box-shadow: 0 1px 3px rgba(61, 48, 36, 0.04);
}
.eap-order-details__title,
.woocommerce-order-details__title {
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 1rem + 0.5vw, 1.4rem);
  font-weight: 700;
  color: var(--col-ink);
  margin: 0 0 1.25rem;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.eap-order-details__title::before {
  content: '';
  width: 4px;
  height: 1.2em;
  background: var(--col-primary);
  border-radius: 999px;
  display: inline-block;
}

.eap-order-details__inner {
  display: flex;
  flex-direction: column;
}

/* En-tête desktop */
.eap-order-details__header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.5rem;
  padding: 0 0 0.75rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid var(--col-border);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--col-muted);
}
.eap-order-details__col-total {
  text-align: right;
}
@media (max-width: 480px) {
  .eap-order-details__header { display: none; }
}

/* Liste des items */
.eap-order-details__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.eap-order-details__item {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px dashed var(--col-border);
}
.eap-order-details__item:last-child {
  border-bottom: none;
}
.eap-order-details__item:has(.eap-order-details__thumb img:not([src])),
.eap-order-details__item:not(:has(.eap-order-details__thumb img)) {
  grid-template-columns: 1fr;
}
.eap-order-details__thumb {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--col-bg-alt);
  display: grid;
  place-items: center;
}
.eap-order-details__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.eap-order-details__body {
  min-width: 0;
}
.eap-order-details__name-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem 1rem;
  justify-content: space-between;
  margin: 0 0 0.4rem;
}
.eap-order-details__name {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.1rem);
  font-weight: 700;
  color: var(--col-ink);
  letter-spacing: -0.01em;
  flex: 1 1 auto;
  min-width: 0;
}
.eap-order-details__name a {
  color: inherit;
  text-decoration: none;
  background-image: linear-gradient(to right, var(--col-primary), var(--col-primary));
  background-size: 0% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size 0.3s ease;
}
.eap-order-details__name a:hover,
.eap-order-details__name a:focus-visible {
  background-size: 100% 1px;
}
.eap-order-details__qty {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--col-ink-soft);
  padding: 0.15rem 0.5rem;
  background: var(--col-bg-alt);
  border-radius: 999px;
  white-space: nowrap;
  margin-left: 0.5rem;
}
.eap-order-details__price {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.1rem);
  font-weight: 700;
  color: var(--col-ink);
  white-space: nowrap;
  font-feature-settings: 'tnum';
  flex-shrink: 0;
}

/* — VARIATIONS — Tailles, Pâte, Fromages, Composition — */
.eap-order-details__meta,
.eap-order-details .variation,
.woocommerce-order-details .variation {
  display: grid;
  grid-template-columns: minmax(auto, 140px) 1fr;
  gap: 0.3rem 0.85rem;
  margin: 0.6rem 0 0;
  padding: 0.65rem 0.85rem;
  background: var(--col-bg-alt);
  border-radius: 10px;
  font-size: 0.88rem;
}
.eap-order-details__meta dt,
.eap-order-details .variation dt,
.woocommerce-order-details .variation dt {
  margin: 0;
  padding: 0;
  font-weight: 600;
  color: var(--col-ink-soft);
  text-align: left;
}
.eap-order-details__meta dt::after,
.eap-order-details .variation dt::after,
.woocommerce-order-details .variation dt::after {
  content: ' :';
}
.eap-order-details__meta dd,
.eap-order-details .variation dd,
.woocommerce-order-details .variation dd {
  margin: 0;
  padding: 0;
  color: var(--col-ink);
  font-weight: 500;
}
.eap-order-details__meta dd p,
.eap-order-details .variation dd p,
.woocommerce-order-details .variation dd p {
  margin: 0;
  display: inline;
}
@media (max-width: 480px) {
  .eap-order-details__meta,
  .eap-order-details .variation,
  .woocommerce-order-details .variation {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }
  .eap-order-details__meta dt::after,
  .eap-order-details .variation dt::after,
  .woocommerce-order-details .variation dt::after {
    content: '';
  }
  .eap-order-details__meta dd,
  .eap-order-details .variation dd,
  .woocommerce-order-details .variation dd {
    padding-left: 0.25rem;
  }
}

.eap-order-details__purchase-note {
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.85rem;
  background: var(--col-accent-soft);
  border-radius: 10px;
  font-size: 0.88rem;
  color: var(--col-ink);
}

/* — TOTAUX — */
.eap-order-details__totals {
  margin: 1.5rem 0 0;
  padding: 1.25rem 0 0;
  border-top: 2px solid var(--col-border);
  display: grid;
  gap: 0.5rem;
}
.eap-order-details__total-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: baseline;
}
.eap-order-details__total-label {
  margin: 0;
  font-size: 0.95rem;
  color: var(--col-ink-soft);
  font-weight: 500;
}
.eap-order-details__total-value {
  margin: 0;
  font-size: 0.95rem;
  color: var(--col-ink);
  font-weight: 600;
  text-align: right;
  font-feature-settings: 'tnum';
}
.eap-order-details__total-value bdi {
  font-feature-settings: 'tnum';
}
.eap-order-details__total-row--order_total {
  margin-top: 0.5rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--col-border);
}
.eap-order-details__total-row--order_total .eap-order-details__total-label,
.eap-order-details__total-row--order_total .eap-order-details__total-value {
  font-family: var(--font-heading);
  font-size: clamp(1.1rem, 1rem + 0.4vw, 1.3rem);
  font-weight: 700;
  color: var(--col-ink);
  letter-spacing: -0.01em;
}
.eap-order-details__total-row--order_total .eap-order-details__total-value {
  color: var(--col-primary-dark);
}
.eap-order-details__total-row--order_total .eap-order-details__total-value small.includes_tax {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--col-muted);
  font-family: var(--font-base);
  letter-spacing: 0;
}

/* ── CUSTOMER DETAILS — Adresses ── */
.eap-customer-details,
.woocommerce-customer-details {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}
.eap-customer-details__title,
.woocommerce-customer-details > h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 1rem + 0.5vw, 1.4rem);
  font-weight: 700;
  color: var(--col-ink);
  margin: 0 0 1.25rem;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.eap-customer-details__title::before,
.woocommerce-customer-details > h2::before {
  content: '';
  width: 4px;
  height: 1.2em;
  background: var(--col-primary);
  border-radius: 999px;
  display: inline-block;
}
.eap-customer-details__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.eap-customer-details__grid.has-shipping {
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .eap-customer-details__grid.has-shipping {
    grid-template-columns: 1fr 1fr;
  }
}

.eap-customer-card {
  background: var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: var(--eap-radius-card, 18px);
  padding: 1.25rem 1.5rem;
  box-shadow: 0 1px 3px rgba(61, 48, 36, 0.04);
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.eap-customer-card:hover {
  border-color: var(--col-border-strong);
  box-shadow: 0 4px 16px -8px rgba(61, 48, 36, 0.12);
}
.eap-customer-card__header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 0.85rem;
  padding: 0 0 0.85rem;
  border-bottom: 1px solid var(--col-border);
}
.eap-customer-card__icon {
  font-size: 1.15rem;
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  background: var(--col-primary-soft);
  border-radius: 10px;
}
.eap-customer-card__title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--col-ink);
  letter-spacing: -0.01em;
}
.eap-customer-card__body {
  margin: 0;
  padding: 0;
  font-style: normal;
  line-height: 1.65;
  color: var(--col-ink);
  font-size: 0.95rem;
}
.eap-customer-card__body br + br {
  display: block;
  content: '';
  margin-bottom: 0.25rem;
}
/* Téléphone & email : intégrés proprement, sans tirets disgracieux */
.eap-customer-card__body p {
  margin: 0.65rem 0 0;
  padding: 0.55rem 0 0;
  /* Un seul séparateur fin pour le PREMIER paragraphe après l'adresse */
  border-top: 1px solid var(--col-border);
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem 0.65rem;
  font-size: 0.9rem;
}
/* Pas de séparateur sur les paragraphes suivants (téléphone + email collés) */
.eap-customer-card__body p + p {
  border-top: none;
  margin-top: 0.35rem;
  padding-top: 0;
}
.eap-customer-card__meta-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--col-muted);
}
.eap-customer-card__body a {
  color: var(--col-primary-dark);
  text-decoration: none;
  font-weight: 500;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}
.eap-customer-card__body a:hover,
.eap-customer-card__body a:focus-visible {
  border-bottom-color: currentColor;
}

/* Compatibilité avec les overrides anciens (au cas où le template natif WC s'affiche) */
.woocommerce-order .woocommerce-customer-details address {
  background: var(--col-surface) !important;
  border: 1px solid var(--col-border) !important;
  border-radius: var(--eap-radius-card, 16px) !important;
  padding: 1.25rem 1.5rem !important;
  color: var(--col-ink) !important;
  font-style: normal;
  line-height: 1.65;
}

/* ── ACTIONS DE FIN ── */
.eap-thankyou__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
  margin-top: clamp(1rem, 2vw, 1.5rem);
  padding-top: clamp(1.5rem, 3vw, 2rem);
  border-top: 1px dashed var(--col-border);
}
.eap-thankyou__actions .btn {
  flex: 1 1 auto;
  max-width: 280px;
  justify-content: center;
}
@media (max-width: 480px) {
  .eap-thankyou__actions .btn {
    max-width: none;
    width: 100%;
  }
}

/* ── STEPPER : état "tout terminé" pour la confirmation ── */
.ea-checkout-line.done {
  background: var(--col-primary) !important;
  opacity: 0.5;
}
.ea-page-header--confirmation .ea-checkout-step.active {
  background: linear-gradient(135deg, #16A34A 0%, #15803D 100%) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.ea-page-header--confirmation .ea-checkout-step.active .ea-checkout-step__num {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}

/* ──────────────────────────────────────────────────────────────────
   COMPATIBILITÉ — Extension EATALIA ORDER MANAGER (eatalia-order-manager)
   Hook : woocommerce_order_details_after_order_table
   Injecte : <h2>Détails de votre commande</h2> + <table class="woocommerce-table">
              avec <tr><th>Mode</th><td>À emporter</td></tr> et l'heure estimée.
   On lui donne le même look-and-feel que .eap-order-details / .eap-customer-card.
   ────────────────────────────────────────────────────────────────── */

/* Wrapper visuel : on cible le H2 + la table qui suivent dans .eap-thankyou,
   en dehors de tout autre conteneur stylé. */
.eap-thankyou > h2 + table.woocommerce-table {
  margin: 0 0 0;
}

/* Le H2 "Détails de votre commande" devient un titre de section cohérent */
.eap-thankyou > h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 1rem + 0.5vw, 1.4rem);
  font-weight: 700;
  color: var(--col-ink);
  margin: 0 0 1rem;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.eap-thankyou > h2::before {
  content: '';
  width: 4px;
  height: 1.2em;
  background: var(--col-primary);
  border-radius: 999px;
  display: inline-block;
}

/* Wrapper card autour de la table — astuce : on cible directement la table
   injectée et on lui applique l'apparence d'une card. */
.eap-thankyou > h2 + table.woocommerce-table,
.eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) {
  width: 100%;
  background: var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: var(--eap-radius-card, 20px);
  border-collapse: separate;
  border-spacing: 0;
  padding: 0.5rem 0;
  box-shadow: 0 1px 3px rgba(61, 48, 36, 0.04);
  overflow: hidden;
}

/* Lignes : comportement liste */
.eap-thankyou > h2 + table.woocommerce-table tbody tr,
.eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody tr {
  border: none !important;
  background: transparent !important;
}

/* Cellules : grid 2 colonnes propre, séparateur subtil entre lignes */
.eap-thankyou > h2 + table.woocommerce-table tbody th,
.eap-thankyou > h2 + table.woocommerce-table tbody td,
.eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody th,
.eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody td {
  padding: 0.85rem 1.5rem !important;
  border: none !important;
  border-bottom: 1px dashed var(--col-border) !important;
  background: transparent !important;
  vertical-align: middle;
  line-height: 1.5;
}
.eap-thankyou > h2 + table.woocommerce-table tbody tr:last-child th,
.eap-thankyou > h2 + table.woocommerce-table tbody tr:last-child td,
.eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody tr:last-child th,
.eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody tr:last-child td {
  border-bottom: none !important;
}

/* Libellé (TH) — styling éditorial */
.eap-thankyou > h2 + table.woocommerce-table tbody th,
.eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody th {
  width: 35%;
  min-width: 130px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--col-muted);
  text-align: left;
  font-family: var(--font-base, inherit);
}

/* Valeur (TD) — texte principal */
.eap-thankyou > h2 + table.woocommerce-table tbody td,
.eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody td {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--col-ink);
  text-align: left;
}

/* "(Dès que possible)" en italique et discret */
.eap-thankyou > h2 + table.woocommerce-table tbody td em,
.eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody td em {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.15rem 0.55rem;
  background: var(--col-primary-soft);
  color: var(--col-primary-dark);
  border-radius: 999px;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.02em;
  vertical-align: 1px;
}

/* Responsive : empilement vertical sur mobile */
@media (max-width: 480px) {
  .eap-thankyou > h2 + table.woocommerce-table tbody th,
  .eap-thankyou > h2 + table.woocommerce-table tbody td,
  .eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody th,
  .eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody td {
    display: block;
    width: 100%;
    padding: 0.5rem 1.25rem !important;
    border-bottom: none !important;
  }
  .eap-thankyou > h2 + table.woocommerce-table tbody th,
  .eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody th {
    padding-bottom: 0.15rem !important;
    padding-top: 0.85rem !important;
  }
  .eap-thankyou > h2 + table.woocommerce-table tbody tr:not(:last-child),
  .eap-thankyou table.woocommerce-table:not(.shop_table):not(.order_details) tbody tr:not(:last-child) {
    border-bottom: 1px dashed var(--col-border) !important;
  }
}

/* ──────────────────────────────────────────────────────────────────
   FALLBACK — Si l'override woocommerce/checkout/order-details.php
   n'est PAS chargé (cache, fichier absent), on style malgré tout
   le tableau natif <table class="shop_table order_details">.
   v6.23.5 — Sélecteurs étendus pour cibler aussi à l'intérieur de
             .eap-thankyou (cas où le HTML natif WC s'affiche directement).
   ────────────────────────────────────────────────────────────────── */
.woocommerce-order .woocommerce-order-details:not(.eap-order-details),
.eap-thankyou .woocommerce-order-details:not(.eap-order-details) {
  background: var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: var(--eap-radius-card, 20px);
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  box-shadow: 0 1px 3px rgba(61, 48, 36, 0.04);
  margin-top: 0;
}
.woocommerce-order .woocommerce-order-details:not(.eap-order-details) > h2,
.eap-thankyou .woocommerce-order-details:not(.eap-order-details) > h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 1rem + 0.5vw, 1.4rem);
  font-weight: 700;
  color: var(--col-ink);
  margin: 0 0 1.25rem;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.woocommerce-order .woocommerce-order-details:not(.eap-order-details) > h2::before,
.eap-thankyou .woocommerce-order-details:not(.eap-order-details) > h2::before {
  content: '';
  width: 4px;
  height: 1.2em;
  background: var(--col-primary);
  border-radius: 999px;
  display: inline-block;
}
table.shop_table.order_details,
.eap-thankyou table.shop_table.order_details,
table.shop_table.order_details {
  width: 100%;
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}
table.shop_table.order_details thead {
  background: transparent !important;
}
table.shop_table.order_details thead th {
  padding: 0 0 0.85rem !important;
  border-bottom: 1px solid var(--col-border) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--col-muted) !important;
  background: transparent !important;
  text-align: left;
}
table.shop_table.order_details thead .product-total {
  text-align: right !important;
}
table.shop_table.order_details tbody td {
  padding: 1rem 0 !important;
  border-bottom: 1px dashed var(--col-border) !important;
  background: transparent !important;
  vertical-align: top !important;
  color: var(--col-ink) !important;
  font-size: 0.95rem;
}
table.shop_table.order_details tbody td.product-name {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--col-ink);
  letter-spacing: -0.01em;
  font-size: 1rem;
  line-height: 1.5;
}
table.shop_table.order_details tbody td.product-name a {
  color: inherit;
  text-decoration: none;
}
table.shop_table.order_details tbody td.product-name a:hover {
  color: var(--col-primary);
}
table.shop_table.order_details tbody td.product-name strong.product-quantity {
  display: inline-block;
  margin-left: 0.5rem;
  padding: 0.15rem 0.5rem;
  background: var(--col-bg-alt);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--col-ink-soft);
  vertical-align: 1px;
}
table.shop_table.order_details tbody td.product-total {
  text-align: right !important;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  color: var(--col-ink);
  white-space: nowrap;
  font-feature-settings: 'tnum';
}

/* Variations (Tailles, Pâte, Fromages, Composition) — formatage clé/valeur */
table.shop_table.order_details tbody td.product-name dl.variation,
table.shop_table.order_details tbody td.product-name .wc-item-meta {
  display: grid;
  grid-template-columns: minmax(auto, 140px) 1fr;
  gap: 0.3rem 0.85rem;
  margin: 0.7rem 0 0 !important;
  padding: 0.7rem 0.9rem !important;
  background: var(--col-bg-alt);
  border-radius: 10px;
  font-size: 0.88rem;
  font-family: var(--font-base, inherit);
  font-weight: 400;
  letter-spacing: 0;
  list-style: none;
}
table.shop_table.order_details tbody td.product-name dl.variation dt,
table.shop_table.order_details tbody td.product-name .wc-item-meta li strong,
table.shop_table.order_details tbody td.product-name .wc-item-meta-label {
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 600;
  color: var(--col-ink-soft);
  font-family: var(--font-base, inherit);
  text-transform: none;
  letter-spacing: 0;
  font-size: inherit;
  float: none !important;
  clear: none !important;
}
table.shop_table.order_details tbody td.product-name dl.variation dt::after {
  content: ' :';
}
table.shop_table.order_details tbody td.product-name dl.variation dd,
table.shop_table.order_details tbody td.product-name .wc-item-meta li {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--col-ink);
  font-weight: 500;
  font-family: var(--font-base, inherit);
  list-style: none;
}
table.shop_table.order_details tbody td.product-name dl.variation dd p,
table.shop_table.order_details tbody td.product-name .wc-item-meta li p {
  margin: 0 !important;
  padding: 0 !important;
  display: inline;
}

/* Pied de tableau : sous-total / TVA / total */
table.shop_table.order_details tfoot th,
table.shop_table.order_details tfoot td {
  padding: 0.7rem 0 !important;
  border: none !important;
  border-bottom: 1px dashed var(--col-border) !important;
  background: transparent !important;
  font-size: 0.95rem;
  color: var(--col-ink);
}
table.shop_table.order_details tfoot tr:last-child th,
table.shop_table.order_details tfoot tr:last-child td {
  border-bottom: none !important;
  padding-top: 1rem !important;
  border-top: 1px solid var(--col-border) !important;
  font-family: var(--font-heading);
  font-size: clamp(1.05rem, 1rem + 0.4vw, 1.25rem);
  font-weight: 700;
  letter-spacing: -0.01em;
}
table.shop_table.order_details tfoot th {
  text-align: right !important;
  font-weight: 500;
  color: var(--col-ink-soft);
}
table.shop_table.order_details tfoot tr:last-child th {
  color: var(--col-ink);
  font-weight: 700;
}
table.shop_table.order_details tfoot td {
  text-align: right !important;
  font-weight: 600;
  white-space: nowrap;
  font-feature-settings: 'tnum';
}
table.shop_table.order_details tfoot tr:last-child td {
  color: var(--col-primary-dark);
  font-weight: 700;
}
table.shop_table.order_details tfoot td small.includes_tax {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--col-muted);
  font-family: var(--font-base);
  letter-spacing: 0;
}

@media (max-width: 480px) {
  table.shop_table.order_details tbody td.product-name dl.variation,
  table.shop_table.order_details tbody td.product-name .wc-item-meta {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }
  table.shop_table.order_details tbody td.product-name dl.variation dt::after {
    content: '';
  }
}

/* ══════════════════════════════════════════════════════════════════
   PAGE MON COMPTE — Refonte v6.24 (2026)
   Layout sidebar + content avec design cohérent du thème.
   ══════════════════════════════════════════════════════════════════ */

/* Stats du haut de la page Mon Compte */
.eap-account-page {
  padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(3rem, 5vw, 5rem);
}
.eap-account-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media (min-width: 600px) {
  .eap-account-stats {
    grid-template-columns: repeat(3, 1fr);
  }
}
.eap-account-stat {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  background: var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: var(--eap-radius-card, 18px);
  box-shadow: 0 1px 3px rgba(61, 48, 36, 0.04);
  transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.eap-account-stat:hover {
  border-color: var(--col-border-strong);
  box-shadow: 0 4px 16px -8px rgba(61, 48, 36, 0.12);
  transform: translateY(-1px);
}
.eap-account-stat__icon {
  font-size: 1.75rem;
  line-height: 1;
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  background: var(--col-primary-soft);
  border-radius: 14px;
  flex-shrink: 0;
}
.eap-account-stat__body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
.eap-account-stat__value {
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 1.2rem + 0.6vw, 1.75rem);
  font-weight: 800;
  line-height: 1;
  color: var(--col-ink);
  letter-spacing: -0.02em;
}
.eap-account-stat__label {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--col-muted);
}
.eap-account-stat--cta {
  justify-content: center;
  background: linear-gradient(135deg, var(--col-primary-soft) 0%, transparent 100%);
}
.eap-account-stat--cta .btn {
  width: auto;
}

/* Layout principal sidebar + contenu */
.woocommerce-account .woocommerce {
  display: block;
}
@media (min-width: 900px) {
  .woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 2rem;
    align-items: start;
  }
}

/* ── NAVIGATION SIDEBAR ── */
.eap-account-nav,
.woocommerce-MyAccount-navigation {
  background: var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: var(--eap-radius-card, 20px);
  padding: 0.6rem;
  margin: 0 0 1.5rem;
  box-shadow: 0 1px 3px rgba(61, 48, 36, 0.04);
}
@media (min-width: 900px) {
  .eap-account-nav,
  .woocommerce-MyAccount-navigation {
    position: sticky;
    top: 6rem;
    margin-bottom: 0;
  }
}
.eap-account-nav__list,
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.eap-account-nav__item,
.woocommerce-MyAccount-navigation ul li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.eap-account-nav__link,
.woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem !important;
  color: var(--col-ink-soft) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  font-family: var(--font-heading);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  position: relative;
}
.eap-account-nav__link::before,
.woocommerce-MyAccount-navigation ul li a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) scaleY(0);
  width: 3px;
  height: 60%;
  background: var(--col-primary);
  border-radius: 999px;
  transition: transform 0.25s ease;
}
.eap-account-nav__link:hover,
.eap-account-nav__link:focus-visible,
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li a:focus-visible {
  background: var(--col-bg-alt) !important;
  color: var(--col-ink) !important;
  outline: none;
}
.eap-account-nav__item.is-active .eap-account-nav__link,
.woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--col-primary) !important;
  color: #fff !important;
  font-weight: 700;
  box-shadow: 0 4px 12px -4px var(--col-primary-glow, rgba(196, 87, 46, 0.4));
}
.eap-account-nav__item.is-active .eap-account-nav__link::before,
.woocommerce-MyAccount-navigation ul li.is-active a::before {
  transform: translateY(-50%) scaleY(1);
  background: #fff;
}
.eap-account-nav__icon {
  font-size: 1.1rem;
  line-height: 1;
  flex-shrink: 0;
  width: 1.5rem;
  text-align: center;
}
.eap-account-nav__label {
  flex: 1;
  min-width: 0;
}

/* ── CONTENT MyAccount ── */
.woocommerce-MyAccount-content {
  background: var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: var(--eap-radius-card, 20px);
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  color: var(--col-ink);
  box-shadow: 0 1px 3px rgba(61, 48, 36, 0.04);
}
.woocommerce-MyAccount-content > p:first-child,
.woocommerce-MyAccount-content > .woocommerce-message:first-child {
  margin-top: 0;
}
.woocommerce-MyAccount-content p {
  color: var(--col-ink);
  line-height: 1.65;
}
.woocommerce-MyAccount-content p strong {
  color: var(--col-ink);
  font-weight: 700;
}
.woocommerce-MyAccount-content a {
  color: var(--col-primary-dark);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}
.woocommerce-MyAccount-content a:hover,
.woocommerce-MyAccount-content a:focus-visible {
  border-bottom-color: currentColor;
}

/* Tableau des commandes (Mon Compte → Commandes) */
.woocommerce-MyAccount-content table.shop_table.my_account_orders,
.woocommerce-MyAccount-content table.shop_table.account-orders-table {
  width: 100%;
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.woocommerce-MyAccount-content table.shop_table thead th {
  padding: 0 0 0.85rem !important;
  border-bottom: 1px solid var(--col-border) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--col-muted) !important;
  background: transparent !important;
  text-align: left;
}
.woocommerce-MyAccount-content table.shop_table tbody td {
  padding: 1rem 0.5rem !important;
  border-bottom: 1px dashed var(--col-border) !important;
  background: transparent !important;
  vertical-align: middle !important;
  color: var(--col-ink) !important;
  font-size: 0.95rem;
}
.woocommerce-MyAccount-content table.shop_table tbody td.order-number a {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--col-primary-dark);
}
.woocommerce-MyAccount-content table.shop_table tbody td .button,
.woocommerce-MyAccount-content table.shop_table tbody td .woocommerce-button {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.95rem !important;
  background: var(--col-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.woocommerce-MyAccount-content table.shop_table tbody td .button:hover,
.woocommerce-MyAccount-content table.shop_table tbody td .woocommerce-button:hover {
  background: var(--col-primary-dark) !important;
  transform: translateY(-1px);
}

/* Statut de commande (badge) */
.woocommerce-MyAccount-content table.shop_table tbody td.order-status,
.woocommerce-MyAccount-content table.shop_table tbody td .order-status {
  display: inline-block;
  padding: 0.25rem 0.65rem;
  background: var(--col-accent-soft);
  color: var(--col-ink);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
}

/* Vue d'une commande (woocommerce-order-details sur view-order) */
.woocommerce-view-order .woocommerce-order-details,
.woocommerce-MyAccount-content .woocommerce-order-details {
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
}
/* Le bandeau "La commande n°XXX a été passée le..." */
.woocommerce-MyAccount-content > p:first-of-type {
  padding: 1rem 1.25rem;
  margin: 0 0 1.5rem;
  background: var(--col-bg-alt);
  border-radius: 12px;
  border-left: 4px solid var(--col-primary);
  font-size: 0.95rem;
}
.woocommerce-MyAccount-content > p:first-of-type mark {
  background: var(--col-primary-soft);
  color: var(--col-primary-dark);
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  font-weight: 700;
}

/* Adresses dans Mon Compte → Adresses */
.woocommerce-MyAccount-content .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin: 0;
}
@media (min-width: 600px) {
  .woocommerce-MyAccount-content .woocommerce-Addresses {
    grid-template-columns: 1fr 1fr;
  }
}
.woocommerce-MyAccount-content .woocommerce-Address {
  background: var(--col-bg-alt);
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
}
.woocommerce-MyAccount-content .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--col-border);
}
.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--col-ink);
}
.woocommerce-MyAccount-content address {
  font-style: normal;
  line-height: 1.65;
  color: var(--col-ink);
}

/* ══════════════════════════════════════════════════════════════════
   PAGE SUIVI DE COMMANDE — v6.24
   ══════════════════════════════════════════════════════════════════ */
.eap-tracking-page {
  padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(3rem, 5vw, 5rem);
}
.eap-tracking-card {
  background: var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: var(--eap-radius-card, 20px);
  padding: clamp(1.75rem, 4vw, 2.5rem);
  text-align: center;
  box-shadow: 0 1px 3px rgba(61, 48, 36, 0.04), 0 12px 32px -16px rgba(61, 48, 36, 0.1);
}
.eap-tracking-card__icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 1.5rem;
  color: var(--col-primary);
  background: var(--col-primary-soft);
  border-radius: 18px;
}
.eap-tracking-card .track_order,
.eap-tracking-card form {
  text-align: left;
  display: grid;
  gap: 1rem;
  max-width: 480px;
  margin: 1.5rem auto 0;
}
.eap-tracking-card .form-row,
.eap-tracking-card p.form-row {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.eap-tracking-card label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--col-ink);
  letter-spacing: 0.02em;
}
.eap-tracking-card input[type="text"],
.eap-tracking-card input[type="email"] {
  width: 100% !important;
  padding: 0.85rem 1rem !important;
  background: var(--col-surface) !important;
  border: 1.5px solid var(--col-border) !important;
  border-radius: 12px !important;
  font-size: 0.95rem;
  color: var(--col-ink);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.eap-tracking-card input[type="text"]:focus,
.eap-tracking-card input[type="email"]:focus {
  outline: none;
  border-color: var(--col-primary) !important;
  box-shadow: 0 0 0 4px var(--col-primary-glow, rgba(196, 87, 46, 0.15));
}
.eap-tracking-card .button,
.eap-tracking-card button[type="submit"] {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  padding: 0.85rem 2rem !important;
  background: var(--col-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: var(--font-heading) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
  width: auto;
  margin: 0.5rem auto 0;
}
.eap-tracking-card .button:hover,
.eap-tracking-card button[type="submit"]:hover {
  background: var(--col-primary-dark) !important;
  transform: translateY(-1px);
}
.eap-tracking-help {
  margin: 2rem 0 0;
  text-align: center;
  font-size: 0.95rem;
  color: var(--col-ink-soft);
}
.eap-tracking-help__phone {
  color: var(--col-primary-dark);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid currentColor;
  margin-left: 0.35rem;
}
.eap-tracking-help__phone:hover {
  color: var(--col-primary);
}

/* ══════════════════════════════════════════════════════════════════
   PAGE PRODUIT — Onglet AVIS (Comments / Reviews) — v6.24
   Le sélecteur de note natif WC affiche par défaut "1 étoile sur 5"
   en lien texte. On le transforme en pictogrammes étoiles cliquables.
   ══════════════════════════════════════════════════════════════════ */

/* Wrapper de l'onglet Avis */
#reviews,
.woocommerce-Reviews {
  padding-top: 1.5rem;
}
#reviews #comments {
  margin-bottom: 2rem;
}
#reviews h2,
.woocommerce-Reviews-title {
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 1.2rem + 0.6vw, 1.75rem);
  font-weight: 700;
  color: var(--col-ink);
  margin: 0 0 1.25rem;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
#reviews h2::before,
.woocommerce-Reviews-title::before {
  content: '';
  width: 4px;
  height: 1.2em;
  background: var(--col-primary);
  border-radius: 999px;
  display: inline-block;
}

/* Message "Pas encore d'avis" */
.woocommerce-noreviews {
  margin: 0 0 1.5rem !important;
  padding: 1rem 1.25rem !important;
  background: var(--col-bg-alt);
  border-radius: 12px;
  border-left: 4px solid var(--col-primary);
  color: var(--col-ink);
  font-size: 0.95rem;
}

/* Formulaire d'avis */
#review_form {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background: var(--col-bg-alt);
  border-radius: 16px;
}
#review_form_wrapper #reply-title {
  display: block;
  margin-bottom: 1.25rem !important;
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--col-ink);
}
#review_form .comment-form-rating label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--col-ink);
}
#review_form .comment-form-rating .required {
  color: var(--col-primary);
}

/* ──────────────────────────────────────────────────────────────────
   SÉLECTEUR D'ÉTOILES (formulaire d'avis)
   Le script wc-single-product.js de WC ajoute des classes au survol
   et au clic. On style en se basant sur ces classes.
   ────────────────────────────────────────────────────────────────── */

/* Conteneur des étoiles */
.comment-form-rating .stars {
  display: inline-flex !important;
  align-items: center;
  gap: 0.15rem;
  margin: 0.5rem 0 1.25rem !important;
  padding: 0 !important;
  list-style: none;
}

/* Le span qui wrap les liens (selon les versions WC) */
.comment-form-rating .stars > span {
  display: inline-flex !important;
  align-items: center;
  gap: 0.15rem;
}

/* Chaque lien étoile = un carré cliquable de 36×36 */
.comment-form-rating .stars a {
  position: relative !important;
  display: inline-block !important;
  width: 2.25rem !important;
  height: 2.25rem !important;
  line-height: 2.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  text-indent: -9999px !important;
  text-decoration: none !important;
  color: transparent !important;
  background: transparent !important;
  border: none !important;
  border-radius: 8px;
  cursor: pointer;
  overflow: hidden;
  transition: transform 0.15s ease, background-color 0.15s ease;
}

/* L'étoile elle-même via ::before */
.comment-form-rating .stars a::before {
  content: '\2605'; /* ★ */
  position: absolute !important;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-indent: 0 !important;
  font-size: 1.75rem;
  line-height: 1;
  color: var(--col-border-strong, rgba(61, 48, 36, 0.22));
  transition: color 0.15s ease;
}

/* Étoile survolée seule = dorée */
.comment-form-rating .stars a:hover::before {
  color: var(--clr-ochre-500, #CE9426);
}
.comment-form-rating .stars a:hover {
  background: var(--col-bg-alt);
  transform: scale(1.05);
}

/* Étoile sélectionnée (.active) et toutes celles avant = dorées */
.comment-form-rating .stars a.active::before,
.comment-form-rating .stars.selected a.active ~ a::before {
  color: var(--col-border-strong, rgba(61, 48, 36, 0.22));
}

/* Sélection persistante via .selected (classe ajoutée par le JS WC) */
.comment-form-rating .stars.selected a:not(.active)::before {
  color: var(--clr-ochre-500, #CE9426) !important;
}
.comment-form-rating .stars.selected a.active ~ a::before {
  color: var(--col-border-strong, rgba(61, 48, 36, 0.22)) !important;
}

/* Focus accessible */
.comment-form-rating .stars a:focus-visible {
  outline: 3px solid var(--col-primary);
  outline-offset: 2px;
}

/* Champ "Votre avis" */
#review_form .comment-form-comment {
  margin: 1.25rem 0 !important;
}
#review_form .comment-form-comment label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--col-ink);
}
#review_form textarea {
  width: 100% !important;
  min-height: 130px;
  padding: 0.85rem 1rem !important;
  background: var(--col-surface) !important;
  border: 1.5px solid var(--col-border) !important;
  border-radius: 12px !important;
  font-family: var(--font-base, system-ui) !important;
  font-size: 0.95rem;
  color: var(--col-ink);
  resize: vertical;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#review_form textarea:focus {
  outline: none;
  border-color: var(--col-primary) !important;
  box-shadow: 0 0 0 4px var(--col-primary-glow, rgba(196, 87, 46, 0.15));
}

/* Bouton "Soumettre" */
#review_form .form-submit input[type="submit"],
#review_form #submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 2rem !important;
  background: var(--col-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: var(--font-heading) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
#review_form .form-submit input[type="submit"]:hover,
#review_form #submit:hover {
  background: var(--col-primary-dark) !important;
  transform: translateY(-1px);
}
#review_form .form-submit input[type="submit"]:focus-visible,
#review_form #submit:focus-visible {
  outline: 3px solid var(--col-primary);
  outline-offset: 3px;
}

/* Liste des avis existants */
.commentlist {
  list-style: none;
  margin: 0 0 2rem !important;
  padding: 0 !important;
  display: grid;
  gap: 1rem;
}
.commentlist .comment {
  background: var(--col-surface);
  border: 1px solid var(--col-border);
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
}
.commentlist .comment .comment-text {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.commentlist .star-rating {
  margin: 0 0 0.5rem !important;
}
.commentlist .meta {
  font-size: 0.85rem;
  color: var(--col-muted);
  margin: 0 0 0.75rem !important;
}
.commentlist .meta strong {
  color: var(--col-ink);
}

/* ══════════════ MOBILE : RÉCAP STICKY BAS ══════════════ */
@media (max-width: 959px) {
  body.woocommerce-cart .wc-proceed-to-checkout,
  body.woocommerce-checkout #place_order,
  body.woocommerce-cart .cart_totals .checkout-button {
    position: sticky;
    bottom: 0;
    z-index: 100;
    background: var(--col-surface);
    padding: 0.85rem;
    margin-inline: calc(var(--container-pad) * -1);
    border-top: 1px solid var(--col-border);
    box-shadow: 0 -8px 24px rgba(61, 48, 36, 0.08);
  }
  body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
  body.woocommerce-checkout #place_order {
    margin: 0 !important;
    border-radius: var(--eap-radius-btn, 99px) !important;
  }
}

/* ══════════════ ACCESSIBILITÉ ══════════════ */
.woocommerce .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  border: 0 !important;
}

/* ══════════════ PAGE CONFIRMATION (merci de votre commande) ══════════════ */
.eap-confirmation-page {
  padding: 2rem 0 5rem;
  color: var(--col-ink);
}

.eap-confirmation__hero {
  text-align: center;
  margin-bottom: 3rem;
}
.eap-confirmation__icon {
  font-size: clamp(3.5rem, 8vw, 5rem);
  line-height: 1;
  margin-bottom: 1.25rem;
  animation: eap-confetti 2s var(--ease-bounce, cubic-bezier(0.34, 1.56, 0.64, 1)) both;
}
@keyframes eap-confetti {
  0%   { transform: scale(0) rotate(-90deg); opacity: 0; }
  60%  { transform: scale(1.15) rotate(8deg); opacity: 1; }
  100% { transform: scale(1) rotate(0deg); }
}
.eap-confirmation__title {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 700;
  color: var(--col-ink);
  letter-spacing: -0.025em;
  line-height: 1.1;
  margin-bottom: 1rem;
  text-wrap: balance;
}
.eap-confirmation__title em {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--col-primary);
  font-weight: 500;
}
.eap-confirmation__intro {
  color: var(--col-ink-soft);
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 52ch;
  margin-inline: auto;
}
.eap-confirmation__intro strong { color: var(--col-primary); font-weight: 700; }
.eap-confirmation__actions {
  display: flex;
  gap: 0.85rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 2.5rem;
}
@media (max-width: 560px) {
  .eap-confirmation__actions .btn { width: 100%; justify-content: center; }
}


/* ══════════════════════════════════════════════════════════════════
   v6.20.5 — PAGE COMMANDE (checkout) — fixes design
   ──────────────────────────────────────────────────────────────────
   La page commande utilise le template page-commande.php qui rend le
   shortcode [woocommerce_checkout]. WooCommerce génère un formulaire
   complexe avec énormément de wrappers natifs + plugins (Klarna, login,
   coupons). Cette section harmonise tout ça avec le design du thème.
   ══════════════════════════════════════════════════════════════════ */

/* === FIX : Header WooCommerce (toutes pages WC, pas que --cart) === */
/* Le header est position:fixed, donc on a besoin de padding-top important
   sur toutes les pages WC pour que le breadcrumb ne colle pas au menu noir. */
body.woocommerce-checkout .ea-page-header,
body.woocommerce-cart .ea-page-header,
body.woocommerce-account .ea-page-header,
.ea-page-header.ea-page-header--checkout,
.ea-page-header.ea-page-header--account {
  padding: clamp(7rem, 12vw, 9rem) 0 clamp(2rem, 4vw, 3rem) !important;
}

/* === FIX : Le H3 #order_review_heading "Votre commande" est dupliqué ===
   On le cache car le récap a déjà son propre titre via ::before. */
.woocommerce-checkout #order_review_heading {
  display: none !important;
}

/* === FIX : Récap commande #order_review — accent bar + titre injecté === */
.woocommerce-checkout #order_review {
  padding: 1.5rem 1.75rem !important;
  position: relative;
  box-shadow:
    0 1px 2px rgba(61, 48, 36, 0.04),
    0 8px 24px -12px rgba(61, 48, 36, 0.08);
}
.woocommerce-checkout #order_review::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--col-primary), var(--col-accent));
  border-radius: var(--eap-radius-card, 20px) var(--eap-radius-card, 20px) 0 0;
}
/* Titre injecté en haut de la table (puisque le H3 est caché) */
.woocommerce-checkout #order_review .shop_table::before {
  content: 'Récapitulatif de commande';
  display: block;
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--col-ink);
  margin: 0.5rem 0 1rem;
  letter-spacing: -0.005em;
}

/* Total en gros sur le récap commande */
.woocommerce-checkout #order_review .order-total td {
  color: var(--col-primary) !important;
  font-family: var(--font-display, var(--font-heading)) !important;
  font-size: clamp(1.5rem, 3.5vw, 1.85rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}
.woocommerce-checkout #order_review .order-total th {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
}

/* === FIX : Sous-cartes imbriquées dans Détails de facturation ===
   Le plugin de planification (fos-checkout-box) crée une sous-carte
   "Quand voulez-vous votre commande" dans la carte facturation.
   On retire le fond/bordure pour éviter l'effet poupée russe. */
.woocommerce-checkout .fos-checkout-box,
.woocommerce-checkout .eap-when-section,
.woocommerce-checkout fieldset.eap-when-section {
  background: transparent !important;
  border: none !important;
  padding: 0 0 1.25rem 0 !important;
  margin-bottom: 1.25rem !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--col-border) !important;
  border-radius: 0 !important;
}
.woocommerce-checkout .fos-checkout-box h3,
.woocommerce-checkout .fos-checkout-box .fos-checkout-title {
  font-family: var(--font-heading) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--col-ink) !important;
  margin: 0 0 0.85rem !important;
}

/* === FIX : Notice "Avez-vous un code promo ?" — design propre === */
.woocommerce-info {
  background: var(--col-bg-alt) !important;
  border: 1px solid var(--col-border) !important;
  border-left: 4px solid var(--col-primary) !important;
  border-radius: var(--eap-radius-card, 12px) !important;
  padding: 1rem 1.25rem !important;
  color: var(--col-ink) !important;
  font-size: 0.95rem !important;
  margin-bottom: 1.25rem !important;
  list-style: none !important;
}
.woocommerce-info::before {
  display: none !important; /* Le ⓘ par défaut moche */
}
.woocommerce-info a.showcoupon,
.woocommerce-info a.showlogin,
.woocommerce-info a {
  color: var(--col-primary) !important;
  font-weight: 600;
  text-decoration: underline;
}

/* Formulaires login/coupon dépliés (cartes propres) */
form.woocommerce-form-coupon,
form.woocommerce-form-login {
  background: var(--col-surface) !important;
  border: 1px solid var(--col-border) !important;
  border-radius: var(--eap-radius-card, 12px) !important;
  padding: 1.25rem 1.5rem !important;
  margin-bottom: 1.25rem !important;
}

/* === FIX : "Expédier à une adresse différente ?" — pas de carte === */
#ship-to-different-address,
.woocommerce-shipping-fields > h3 {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 1rem !important;
  box-shadow: none !important;
}
#ship-to-different-address h3,
#ship-to-different-address {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin: 0 0 1rem !important;
}
#ship-to-different-address-checkbox {
  margin: 0 0.4rem 0 0 !important;
  width: 18px;
  height: 18px;
  cursor: pointer;
}

/* === FIX : Notes de commande — carte propre === */
.woocommerce-additional-fields {
  background: var(--col-surface) !important;
  border: 1px solid var(--col-border) !important;
  border-radius: var(--eap-radius-card, 20px) !important;
  padding: clamp(1.25rem, 2.5vw, 1.75rem) !important;
  margin-bottom: 1.25rem !important;
}
.woocommerce-additional-fields h3 {
  font-family: var(--font-heading) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--col-ink) !important;
  margin: 0 0 1rem !important;
}

/* === FIX : Méthodes de paiement — cartes radio modernes === */
.woocommerce-checkout #payment ul.wc_payment_methods,
.wc_payment_methods {
  margin: 1.25rem 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}
.wc_payment_methods .wc_payment_method,
.woocommerce-checkout ul.payment_methods li {
  background: var(--col-surface) !important;
  border: 1.5px solid var(--col-border-strong) !important;
  border-radius: var(--eap-radius-card, 12px) !important;
  margin-bottom: 0.5rem !important;
  padding: 0.85rem 1.1rem !important;
  list-style: none !important;
  transition: all 0.2s ease;
}
/* Méthode sélectionnée : highlight terracotta */
.wc_payment_methods .wc_payment_method:has(input:checked),
.woocommerce-checkout ul.payment_methods li:has(input:checked) {
  border-color: var(--col-primary) !important;
  background: var(--col-primary-soft) !important;
  box-shadow: 0 0 0 3px var(--col-primary-glow);
}
.wc_payment_methods .wc_payment_method label {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600 !important;
  color: var(--col-ink) !important;
  margin: 0 !important;
  cursor: pointer;
  font-family: var(--font-heading) !important;
}
.wc_payment_methods .wc_payment_method input[type="radio"] {
  margin-right: 0.4rem;
  cursor: pointer;
  accent-color: var(--col-primary);
}
/* Boîte d'info par méthode (texte explicatif "Payer en argent comptant...") */
.wc_payment_methods .wc_payment_method .payment_box {
  margin-top: 0.85rem !important;
  padding: 0.85rem 1rem !important;
  background: var(--col-bg-alt) !important;
  border-radius: var(--eap-radius-input, 8px) !important;
  font-size: 0.9rem !important;
  color: var(--col-ink-soft) !important;
  line-height: 1.5;
  border: none !important;
}
.wc_payment_methods .wc_payment_method .payment_box::before {
  display: none !important; /* Le triangle/flèche par défaut */
}

/* === FIX : Logos cartes (Visa/MasterCard/AmEx) sur méthode "Carte" === */
.woocommerce-checkout .wc_payment_method label img {
  max-height: 24px !important;
  width: auto !important;
  vertical-align: middle;
  margin-left: 0.4rem;
}

/* === FIX : Bouton "Commander" final === */
#place_order,
.woocommerce-checkout #place_order {
  width: 100% !important;
  margin-top: 1rem !important;
  background: var(--col-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--eap-radius-btn, 99px) !important;
  padding: 18px 24px !important;
  font-family: var(--font-heading) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  box-shadow: 0 4px 14px -6px rgba(196, 87, 46, 0.35) !important;
  transition: all 280ms var(--ease, ease) !important;
}
#place_order:hover {
  background: var(--col-primary-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px -6px rgba(196, 87, 46, 0.45) !important;
}
#place_order:focus-visible {
  outline: 3px solid var(--col-accent);
  outline-offset: 3px;
}

/* === FIX : Texte privacy (RGPD) avant le bouton Commander === */
.woocommerce-privacy-policy-text {
  font-size: 0.85rem !important;
  color: var(--col-ink-soft) !important;
  line-height: 1.55;
  margin: 1rem 0 0.5rem !important;
}
.woocommerce-privacy-policy-text a {
  color: var(--col-primary) !important;
  text-decoration: underline;
}

/* === FIX : Checkbox CGV === */
.woocommerce-terms-and-conditions-wrapper {
  margin: 0.5rem 0 1rem !important;
  font-size: 0.9rem;
}
.woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start;
  gap: 0.5rem;
  cursor: pointer;
}
.woocommerce-form__input-checkbox {
  margin: 0.2rem 0 0 !important;
  width: 18px;
  height: 18px;
  accent-color: var(--col-primary);
  cursor: pointer;
}

/* ══════════════════════════════════════════════════════════════════
   v6.22 — AUDIT FIXES (corrections critiques)
   ──────────────────────────────────────────────────────────────────
   - FIX #5 : overlay .is-updating sur le wrapper panier (anti-flash coupon)
   - FIX #6 : single product mobile/tablette — empilage propre 600-900px
   - FIX #13 : feedback visuel drawer panier pendant AJAX
   - FIX coupon mobile <480px — empilage propre
   ══════════════════════════════════════════════════════════════════ */

/* ── FIX #5 : Overlay .is-updating page panier ─────────────────── */
.eap-cart-wrapper {
  position: relative;
  transition: opacity 200ms ease;
}

.eap-cart-wrapper.is-updating {
  pointer-events: none;
  opacity: 0.65;
}

.eap-cart-wrapper.is-updating::after {
  content: '';
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 28px;
  height: 28px;
  border: 3px solid var(--col-border-strong, rgba(61, 48, 36, 0.22));
  border-top-color: var(--col-primary, #C4572E);
  border-radius: 50%;
  animation: eap-spin 700ms linear infinite;
  z-index: 10;
  pointer-events: none;
}

/* v6.22.4 — Pendant l'update : on ne cache PLUS la barre coupon.
   La règle précédente (visibility: hidden sur .eap-cart-actions-extracted)
   pouvait rester collée si unmarkUpdating() ne se déclenchait pas après
   un AJAX silencieusement échoué, faisant disparaître la barre alors
   qu'elle était présente dans le DOM.

   Désormais, le feedback visuel pendant l'update se limite à :
     - opacity 0.65 sur le wrapper (qui inclut la barre, donc reste visible)
     - pointer-events: none (interactions désactivées)
     - le spinner ::after du wrapper

   La barre coupon reste TOUJOURS visible. */

@keyframes eap-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .eap-cart-wrapper.is-updating::after {
    animation: none;
    opacity: 0.5;
  }
  .eap-cart-wrapper {
    transition: none;
  }
}

/* ── FIX coupon mobile <480px — empilage propre ─────────────────── */
@media (max-width: 480px) {
  .eap-cart-actions-extracted {
    flex-direction: column;
    align-items: stretch !important;
    gap: 0.6rem !important;
  }
  :is(.eap-cart-wrapper, .eap-cart-actions-extracted) .coupon {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    width: 100%;
  }
  :is(.eap-cart-wrapper, .eap-cart-actions-extracted) .coupon input[type=text],
  :is(.eap-cart-wrapper, .eap-cart-actions-extracted) .coupon input#coupon_code {
    flex: 1 1 auto;
    min-width: 0;
  }
  :is(.eap-cart-wrapper, .eap-cart-actions-extracted) .button[name="update_cart"] {
    width: 100%;
  }
}

/* ── FIX #13 : Feedback visuel drawer panier (mini-cart) ──────────── */
.ea-mini-cart-item.is-loading {
  opacity: 0.6;
  pointer-events: none;
  position: relative;
}
.ea-mini-cart-item .ea-qty-btn:disabled,
.ea-mini-cart-item .ea-qty-btn[aria-busy="true"] {
  opacity: 0.4;
  cursor: wait;
}
.ea-mini-cart-item .ea-qty-val[data-loading="1"] {
  opacity: 0.5;
  font-style: italic;
}

/* Spinner discret sur l'item en cours d'update */
.ea-mini-cart-item.is-loading::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0.5rem;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  opacity: 0.4;
  animation: eap-spin 700ms linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .ea-mini-cart-item.is-loading::before { animation: none; }
}

/* ── Quick-add positionné HORS de l'<a> (markup HTML valide) ────── */
.ea-product-card-wrap {
  position: relative;
  display: block;
}
.ea-product-card-wrap > .ea-product-card {
  display: block;
}
.ea-product-card-wrap > .ea-product-card__quick-add {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  z-index: 5;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  background: var(--col-primary, #C4572E);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,.18);
  transition: transform 200ms ease, background 200ms ease;
  padding: 0;
}
.ea-product-card-wrap > .ea-product-card__quick-add:hover {
  transform: scale(1.1);
  background: var(--col-primary-dark, #A64721);
}
.ea-product-card-wrap > .ea-product-card__quick-add:active {
  transform: scale(0.92);
}
.ea-product-card-wrap > .ea-product-card__quick-add:focus-visible {
  outline: 3px solid var(--col-primary, #C4572E);
  outline-offset: 2px;
}

/* Si la card n'est PAS wrappée (legacy markup), on garde l'ancien comportement */
.ea-product-card .ea-product-card__quick-add:not(.ea-product-card-wrap > .ea-product-card__quick-add) {
  /* ancien style hérité, déjà défini plus haut dans le fichier */
}

/* Cellule actions vide ne doit jamais prendre de hauteur */
.eap-cart-wrapper table.shop_table td.actions:empty {
  padding: 0 !important;
  border: none !important;
  height: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════
   v6.22.8 — Variations / add-ons dans le DRAWER (mini-cart)
   ──────────────────────────────────────────────────────────────────
   Affichage propre "Tailles: Sénior (31 cm)" sur une ligne par paire.
   ══════════════════════════════════════════════════════════════════ */
.ea-mini-cart-item__info dl.variation,
.ea-mini-cart-item__info .variation {
  margin: 0.25rem 0 0.4rem 0;
  padding: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--col-ink-soft);
}
.ea-mini-cart-item__info dl.variation dt {
  display: inline;
  font-weight: 600;
  color: var(--col-ink);
  margin: 0;
  padding: 0;
}
.ea-mini-cart-item__info dl.variation dt::after {
  content: ' ';
}
.ea-mini-cart-item__info dl.variation dd {
  display: inline;
  font-weight: 400;
  color: var(--col-ink-soft);
  margin: 0;
  padding: 0;
}
.ea-mini-cart-item__info dl.variation dd p {
  display: inline;
  margin: 0;
}
/* Une paire dt+dd par ligne (saut de ligne après chaque dd) */
.ea-mini-cart-item__info dl.variation dd::after {
  content: '\A';
  white-space: pre;
}
