/*
 * Registre "Économies réalisées" (Produits + Livraison) — v1.0.189,
 * correctif « intégration native ». Sur la page panier, les lignes sont
 * désormais de VRAIS <tr><th>/<td> injectés dans la table de totaux
 * WooCommerce native (woocommerce_cart_totals_before_order_total, voir
 * inc/g8-advantages-render.php) : elles héritent automatiquement de la
 * métrique native (.cart_totals .shop_table th/td, cart-checkout.css) —
 * aucun style de mise en page n'est nécessaire ici pour l'alignement de
 * base, uniquement les nuances propres à ce module (prix barré, couleur des
 * lignes d'économie, poids de la ligne totale).
 *
 * `.g8-advantages` / `.g8-advantages__*` (sans le préfixe `-row`) restent
 * utilisés UNIQUEMENT par le résumé autonome de la page Merci
 * (g8_advantages_render_order_confirmation_summary()), qui n'est pas dans
 * une table WooCommerce et garde donc son propre gabarit <div>/<p>.
 */

/*
 * v1.0.203 (mission "finalisation UI/UX du récapitulatif", parties 4/6,
 * supersède intégralement v1.0.199 partie B / v1.0.202) -- BUG CIBLÉ
 * "puces devant les libellés" : le détail des réductions n'est plus une
 * suite de <tr><th>/<td> dans la table de totaux (un <tr> par composante,
 * chacun avec un bullet "•") mais une liste de lignes <div> à l'intérieur
 * d'un accordéon replié par défaut (voir .g8-advantages-detail-line
 * ci-dessous) -- jamais de bullet, jamais de tiret devant le libellé, un
 * vrai signe moins (−) devant chaque montant (construit directement dans
 * le gabarit PHP, inc/g8-advantages-render.php, jamais un ::before
 * décoratif qui aurait pu se confondre avec un simple séparateur visuel).
 */
.g8-advantages-detail-line {
  display: flex;
  min-height: var(--g8-recap-min-row-height, 44px);
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: var(--g8-recap-row-py, 12px) 0;
  border-bottom: 1px solid var(--g8-recap-separator-color, var(--g8-border));
}
.g8-advantages-detail-line:last-child {
  border-bottom: 0;
}
/* v1.0.204 (P2.6) -- BUG CIBLÉ "détail des réductions trop gras" : Remise
 * sur les produits / Code promo / Livraison offerte en graisse regular
 * (400), jamais le 600 partagé des labels principaux du récapitulatif. */
.g8-advantages-detail-line__label {
  color: var(--g8-navy, #22314c);
  font-size: var(--g8-recap-label-size, .8125rem);
  font-weight: 400;
  line-height: 1.35;
}
.g8-advantages-detail-line__value {
  flex: 0 0 auto;
  color: var(--g8-navy, #22314c);
  font-size: var(--g8-recap-amount-size, .8125rem);
  font-weight: var(--g8-recap-amount-weight, 600);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/*
 * v1.0.203 (mission partie 11) -- la ligne qui porte l'accordéon reste
 * BLANCHE/neutre (jamais teintée) : seule la ligne d'en-tête "Réductions
 * appliquées" (ci-dessus) garde la légère teinte saumon -- évite l'effet
 * "gros pavé coloré" que produirait une zone rose étendue sur plusieurs
 * lignes. Même rythme horizontal que le reste du récapitulatif
 * (--g8-recap-zone-px-desktop), même accordéon natif que "Ajouter un code
 * promo"/"Calculer les frais de livraison hors France" (classe partagée
 * .g8-cart-accordion, cart-checkout.css) -- fermé par défaut.
 */
.g8-advantages-detail-row td {
  padding: 0 var(--g8-recap-zone-px-desktop, 24px) !important;
  background: var(--g8-white, #fff);
  border-bottom: 1px solid var(--g8-recap-separator-color, var(--g8-border));
}
.g8-advantages-detail-accordion {
  border-bottom: 0;
}
.g8-advantages-detail-accordion > summary {
  justify-content: flex-start;
}
.g8-advantages-detail-accordion .g8-advantages-detail-list {
  padding-bottom: 4px;
}
/* v1.0.203 -- "Voir le détail" / "Masquer le détail" : bascule en CSS pur
 * selon l'état [open] de l'accordéon (même mécanisme déjà établi pour
 * d'autres libellés à deux états dans ce thème), jamais de script requis
 * pour ce module 100% rendu serveur. */
.g8-advantages-detail-toggle-hide {
  display: none;
}
.g8-advantages-detail-accordion[open] .g8-advantages-detail-toggle-show {
  display: none;
}
.g8-advantages-detail-accordion[open] .g8-advantages-detail-toggle-hide {
  display: inline;
}

/*
 * v1.0.205 -- accordéon unique « Réductions appliquées ».
 * La ligne complète est le déclencheur ; le total reste visible dans les
 * deux états et le détail ouvert reprend le rythme du panneau Livraison,
 * avec une teinte saumon très pâle issue de la palette Glace8®.
 */
.g8-advantages-accordion-row td {
  padding: 0 var(--g8-recap-zone-px-desktop, 24px) !important;
  background: var(--g8-white, #fff);
  border-top: 1px solid var(--g8-recap-separator-color, var(--g8-border));
  border-bottom: 1px solid var(--g8-recap-separator-color, var(--g8-border));
}
.g8-advantages-accordion-row .g8-advantages-detail-accordion {
  border-bottom: 0;
}
.g8-advantages-accordion-row .g8-advantages-detail-accordion > summary {
  width: 100%;
  justify-content: flex-start;
}
.g8-advantages-accordion__label {
  min-width: 0;
  color: var(--g8-navy, #22314c);
  font-size: var(--g8-recap-label-size, .8125rem);
  font-weight: var(--g8-recap-label-weight, 600);
  line-height: 1.25;
}
.g8-advantages-accordion__total {
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--g8-navy, #22314c);
  font-size: var(--g8-recap-saved-amount-size, 1.2rem);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.g8-advantages-accordion-row .g8-advantages-detail-list {
  margin: 0 0 12px;
  padding: 4px 14px;
  border-radius: var(--g8-recap-zone-radius, 10px);
  background: #fff5f2;
  background: color-mix(in srgb, var(--g8-rose-pale, #fee7e1) 58%, white);
}
.g8-advantages-accordion-row .g8-advantages-detail-line {
  min-height: 40px;
  padding: 9px 0;
}

@media (max-width: 480px) {
  .g8-advantages-accordion-row td {
    padding-right: var(--g8-recap-zone-px-mobile, 16px) !important;
    padding-left: var(--g8-recap-zone-px-mobile, 16px) !important;
  }
  .g8-advantages-accordion__label {
    font-size: .74rem;
  }
  .g8-advantages-accordion__total {
    font-size: 1rem;
  }
  .g8-advantages-accordion-row .g8-advantages-detail-list {
    padding-right: 12px;
    padding-left: 12px;
  }
}

/*
 * v1.0.197 (mission "récap + panier mixte B2C/Pro", partie A) -- emoji
 * Unicode réel utilisé comme repère décoratif de zone (jamais un pictogramme
 * SVG ni une police d'icônes) : léger espacement à droite, taille alignée
 * sur le texte voisin, jamais seul porteur de sens (voir aria-hidden sur
 * chaque span.g8-zone-emoji, ici et dans assets/js/cart-checkout.js).
 */
.g8-zone-emoji {
  margin-right: 0.35em;
  font-size: 1em;
  line-height: 1;
}

/*
 * v1.0.204 (P2.1, supersède intégralement v1.0.203 partie 11) -- BUG CIBLÉ
 * "rectangle rose résiduel" : le fond saumon de l'en-tête "Réductions
 * appliquées" est retiré ENTIÈREMENT (fond blanc, comme le reste du
 * récapitulatif) -- structuré uniquement par le séparateur discret déjà
 * partagé avec les autres titres de zone, jamais une couleur de fond.
 */
.g8-advantages-heading--economies th,
.g8-advantages-heading--economies td {
  background: var(--g8-white, #fff);
}

/*
 * v1.0.198 partie E -- zone neutre "Code promo" (accordéon avant
 * application, ligne appliquée après), désormais EN DEHORS de la zone rose
 * Économies : même fond blanc que "Votre commande", même rythme
 * vertical/horizontal que les autres zones (tokens partagés
 * --g8-recap-row-py / --g8-recap-min-row-height, cart-checkout.css).
 * v1.0.202 (mission partie 5) -- la ligne coupon RÉELLEMENT appliquée
 * partage désormais exactement ce même traitement neutre (fond blanc, même
 * rythme), jamais un second bloc/couleur qui la ferait ressortir davantage
 * que le reste du récapitulatif.
 */
.g8-cart-coupon-row td,
.g8-cart-coupon-applied-row th,
.g8-cart-coupon-applied-row td {
  min-height: var(--g8-recap-min-row-height, 44px);
  padding-top: var(--g8-recap-row-py, 12px) !important;
  padding-bottom: var(--g8-recap-row-py, 12px) !important;
  padding-left: var(--g8-recap-zone-px-desktop, 24px) !important;
  padding-right: var(--g8-recap-zone-px-desktop, 24px) !important;
  background: var(--g8-white, #fff);
  border-bottom: 1px solid var(--g8-recap-separator-color, var(--g8-border));
}
.g8-cart-coupon-row .g8-cart-coupon-accordion {
  background: transparent;
}

/*
 * Ligne coupon appliquée (native WooCommerce, .cart-discount) : même
 * hiérarchie typographique que les autres labels/montants du récapitulatif
 * (Niveau 3/5, --g8-recap-label-*/--g8-recap-amount-*) -- jamais une
 * couleur/graisse différente pour ce montant, jamais de second montant
 * recalculé ici (celui affiché EST celui rendu par WooCommerce). Le lien de
 * suppression reste Niveau 4 (discret, gris, --g8-recap-secondary-*), déjà
 * le motif du checkout -- voir .woocommerce-remove-coupon, cart-checkout.css.
 */
/* v1.0.203 (mission "finalisation UI/UX du récapitulatif", partie 2) --
 * BUG CIBLÉ "code promo sur deux lignes" : le libellé ("Code promo : CODE",
 * voir g8_cart_coupon_applied_label(), inc/g8-cart-checkout-woocommerce.php)
 * et le montant + lien "Enlever" restent chacun sur une seule ligne, jamais
 * un retour à la ligne au milieu du libellé ni entre le montant et le lien. */
.g8-cart-coupon-applied-row th {
  font-size: var(--g8-recap-label-size, .8125rem);
  font-weight: var(--g8-recap-label-weight, 600);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.g8-cart-coupon-applied-row td {
  display: table-cell;
  text-align: right !important;
  color: var(--g8-navy, #22314c);
  font-size: var(--g8-recap-amount-size, .8125rem);
  font-weight: var(--g8-recap-amount-weight, 600);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.g8-cart-coupon-applied-row .woocommerce-remove-coupon {
  color: var(--g8-recap-secondary-color, var(--g8-muted));
  font-size: var(--g8-recap-secondary-size, .72rem);
  font-weight: var(--g8-recap-secondary-weight, 400);
  margin-left: 0.6em;
}

/*
 * v1.0.195 §A/§D/§F -- titres de zone ("Livraison", "Économies réalisées"),
 * séparation visuelle sobre entre les trois zones du récapitulatif (marge
 * verticale visible, jamais un nouveau fond ou une carte). Réutilisé par la
 * zone Livraison (assets/js/cart-checkout.js, arrangeCartShipping()) et la
 * zone Économies (inc/g8-advantages-render.php) -- un seul point de style
 * pour les deux, jamais dupliqué.
 */
/*
 * v1.0.198 partie E -- titre de zone "Votre commande" (.g8-kicker de base,
 * classe globale réutilisée sur d'autres pages, jamais modifiée directement)
 * : harmonisé ICI, localement, avec les deux autres titres de zone
 * (.g8-advantages-row--heading th ci-dessous) -- même graisse 700, même
 * letter-spacing, taille déjà identique (0.78rem, coïncidence héritée de
 * .g8-kicker).
 */
.g8-advantages-heading--order {
  font-weight: 700;
  letter-spacing: 0.04em;
}

/*
 * v1.0.199 (mission UI ciblée, partie C "système visuel commun") -- SEUL
 * point de vérité pour le padding/l'arrondi/la graisse des titres de zone,
 * partagé par "🚚 Livraison" ET "✨ Économies réalisées" (jamais deux
 * règles dupliquées par zone). Seules la couleur de fond et la couleur du
 * séparateur restent spécifiques à chaque zone (voir les règles dédiées).
 *
 * BUG CIBLÉ "titre mal centré verticalement" / "vide excessif au-dessus du
 * titre" -- l'ancien padding 22px (haut) / 2px (bas) était fortement
 * asymétrique. Un espace de séparation ENTRE zones (--g8-recap-zone-gap,
 * 20px) est désormais distinct du padding INTERNE de la ligne elle-même
 * (--g8-recap-row-py, 13px, identique en haut et en bas) : le titre est
 * réellement centré dans sa propre ligne, avec un espacement de zone
 * raisonnable au-dessus, jamais un vide disproportionné.
 */
/*
 * v1.0.200 (mission ciblée, partie D "typographie discrète") -- les titres
 * de zone ("Livraison" / "Économies réalisées") doivent rester discrets et
 * homogènes avec les autres lignes du récapitulatif : casse normale (plus de
 * majuscules forcées), graisse 500 (dans la fourchette 400/500 des
 * sous-lignes, jamais 700), même taille que les autres lignes principales
 * (.82rem, identique à .cart_totals .shop_table th/td, cart-checkout.css --
 * remplace l'ancien 0.78rem propre au titre), letter-spacing normal (plus le
 * 0.04em hérité du style "kicker" majuscule, devenu sans objet une fois la
 * casse normale rétablie). --g8-recap-title-weight reste à 700 par défaut
 * (jeton partagé, potentiellement réutilisé ailleurs) : la valeur 500 est
 * appliquée ICI en dur, propre à ce titre de zone.
 */
/* v1.0.202 -- Niveau 2 (titres de section) : 14px/700, mission "harmoniser
 * visuellement le récapitulatif" -- distinct des labels (Niveau 3, 13px/600)
 * pour que "Livraison"/"Réductions appliquées" restent identifiables comme
 * des titres, jamais confondus avec les lignes qu'ils introduisent. */
.g8-advantages-row--heading th {
  padding-top: calc(var(--g8-recap-zone-gap, 24px) + var(--g8-recap-row-py, 12px)) !important;
  padding-bottom: var(--g8-recap-row-py, 12px) !important;
  padding-left: var(--g8-recap-zone-px-desktop, 24px) !important;
  padding-right: var(--g8-recap-zone-px-desktop, 24px) !important;
  border-top: 1px solid var(--g8-recap-separator-color, rgba(34, 49, 76, 0.14));
  color: var(--g8-navy, #22314c);
  font-size: var(--g8-recap-title2-size, .875rem);
  line-height: 1.35;
  font-weight: var(--g8-recap-title2-weight, 700);
  text-transform: none;
  letter-spacing: normal;
  text-align: left !important;
  vertical-align: middle;
}
/* Première zone de la table (Livraison, généralement en tête) : pas de
 * vide de séparation ni de double trait avec le bord du tableau lui-même. */
.g8-wc-cart-page .cart_totals tr.g8-advantages-row--heading:first-child th {
  padding-top: var(--g8-recap-row-py, 12px) !important;
  border-top: 0;
}

/*
 * v1.0.203 (mission "finalisation UI/UX du récapitulatif", partie 4,
 * supersède v1.0.201/v1.0.202) -- le montant total des réductions figure
 * désormais DANS l'en-tête "Réductions appliquées" (même <tr> que le
 * titre, voir inc/g8-advantages-render.php) : reste un point focal
 * SECONDAIRE, valorisé mais toujours nettement en dessous du Total final
 * natif WooCommerce (1.5rem/700, .cart_totals .order-total td > strong,
 * cart-checkout.css). Jamais la classe native `order-total` réutilisée ici
 * (voir le commentaire dans inc/g8-advantages-render.php pour la raison
 * exacte) — un style local suffisant et sans risque de collision avec un
 * script tiers. Même ligne verticale que le titre (vertical-align middle,
 * hérité de .g8-advantages-row--heading th) : jamais un montant décalé.
 */
.g8-advantages-heading--economies td {
  padding-top: calc(var(--g8-recap-zone-gap, 24px) + var(--g8-recap-row-py, 12px)) !important;
  padding-bottom: var(--g8-recap-row-py, 12px) !important;
  vertical-align: middle;
  text-align: right !important; /* v1.0.204 (P2.2) -- montant total toujours aligné complètement à droite. */
}
.g8-wc-cart-page .cart_totals tr.g8-advantages-heading--economies:first-child td {
  padding-top: var(--g8-recap-row-py, 12px) !important;
}
.g8-advantages-heading--economies td strong {
  font-size: var(--g8-recap-saved-amount-size, 1.2rem);
  font-weight: 700;
  color: var(--g8-navy, #22314c);
  font-variant-numeric: tabular-nums;
}

.g8-advantages__struck-price {
  color: var(--g8-muted, rgba(60, 60, 60, 0.68));
  text-decoration: line-through;
  font-weight: 400;
}

/* -------------------------------------------------------------------------
 * Résumé autonome — page Merci (lecture seule, hors table WooCommerce).
 * ---------------------------------------------------------------------- */

.g8-advantages {
  margin: 0 0 4px;
  font-family: var(--g8-font-body, "Nobel Sans", "Avenir Next", system-ui, sans-serif);
  color: var(--g8-text, #3c3c3c);
}

.g8-advantages__title {
  font-weight: 400;
  font-size: 0.68rem;
  letter-spacing: 0.01em;
  margin: 0 0 4px;
  color: var(--g8-muted, rgba(60, 60, 60, 0.68));
}

.g8-advantages__checkout-reminder {
  margin: 0;
  font-size: 0.85rem;
  color: var(--g8-navy, #22314c);
}

.g8-advantages--order-summary {
  padding: 12px 0;
}

.g8-advantages__group-label {
  margin: 0 0 4px;
  font-size: 0.92rem;
}

.g8-advantages__order-total {
  margin: 8px 0 0;
  padding-top: 8px;
  border-top: 1px solid var(--g8-border, rgba(34, 49, 76, 0.14));
  font-size: 0.98rem;
}

@media (prefers-reduced-motion: reduce) {
  .g8-advantages {
    transition: none !important;
  }
}
