/* ==========================================================================
   AERIXA — Habillage sombre premium (skin)
   Chargé EN DERNIER. Bascule les surfaces claires en sombre, corrige les
   couleurs codées en dur (bleus/cyan/oranges/dégradés) et applique l'accent
   champagne. Aucune fonction PHP ni nom technique modifié.
   ========================================================================== */

/* --- BASES SOMBRES -------------------------------------------------------- */
body { background: var(--aerixa-bg); color: var(--aerixa-text); }
h1, h2, h3, h4 { color: var(--aerixa-text); }
::selection { background: var(--aerixa-accent); color: #17191C; }
:focus-visible { outline: 2px solid var(--aerixa-accent); outline-offset: 2px; }
.eyebrow { color: var(--aerixa-accent); }
.eyebrow--light { color: var(--aerixa-accent); }
.lead, .section-head p { color: var(--aerixa-text-muted); }
.skip-link { background: var(--aerixa-bg-secondary); color: #fff; }
.frost-line { opacity: .35; }
.stars { color: var(--aerixa-stars); }

/* Contenu éditorial (WYSIWYG) sur fond sombre */
.entry-content { color: var(--aerixa-text); }
.entry-content p { color: var(--aerixa-text-muted); }
.entry-content a { color: var(--aerixa-accent); }
.entry-content a:hover { color: var(--aerixa-accent-light); }
.entry-content th { color: var(--aerixa-accent); }
.entry-content blockquote { color: var(--aerixa-text); border-left-color: var(--aerixa-accent); }
.entry-content ul li::before { background: var(--aerixa-accent); }
.entry-content th, .entry-content td { border-bottom-color: var(--aerixa-border); }

/* --- BOUTONS -------------------------------------------------------------- */
.btn--primary, .btn--ice, .btn--heat, .btn--white {
  background: var(--aerixa-accent); color: #17191C; border-color: var(--aerixa-accent);
  box-shadow: var(--sh-md);
}
.btn--primary:hover, .btn--ice:hover, .btn--heat:hover, .btn--white:hover {
  background: var(--aerixa-accent-light); color: #17191C;
}
.btn--ghost { background: transparent; color: var(--aerixa-text); border-color: rgba(255,255,255,.20); }
.btn--ghost:hover { background: var(--aerixa-surface); border-color: rgba(255,255,255,.32); color: var(--aerixa-text); }

/* --- HEADER & NAV --------------------------------------------------------- */
.announce { background: #111315; color: var(--aerixa-text); }
.announce strong { color: var(--aerixa-accent); }
.announce__arrow, .announce__close { color: var(--aerixa-text-muted); }
.announce__arrow:hover, .announce__close:hover { background: rgba(255,255,255,.08); color: var(--aerixa-text); }
.util-bar { background: var(--aerixa-bg); border-bottom-color: var(--aerixa-border); color: var(--aerixa-text-muted); }
.util-bar a, .util-bar__left span, .util-bar__right a { color: var(--aerixa-text-muted); }
.util-bar__right a:hover { color: var(--aerixa-accent); }
.site-header { background: rgba(32,35,40,.85); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--aerixa-border); }
.brand { color: var(--aerixa-text); }
.brand__flake { color: var(--aerixa-accent); }
.primary-nav a { color: var(--aerixa-text); }
.primary-nav a:hover, .primary-nav .current-menu-item > a { color: var(--aerixa-accent); }
.primary-nav .sub-menu { background: var(--aerixa-bg-secondary); border-color: var(--aerixa-border); box-shadow: var(--sh-lg); }
.primary-nav .sub-menu a { color: var(--aerixa-text); }
.primary-nav .sub-menu a:hover { background: var(--aerixa-surface-elevated); color: var(--aerixa-accent); }
.icon-btn { color: var(--aerixa-text); }
.icon-btn:hover { background: var(--aerixa-surface); color: var(--aerixa-accent); }
.icon-btn .count { background: var(--aerixa-accent); color: #17191C; }
.icon-btn .count--heat, .count--heat { background: var(--aerixa-accent-dark); color: var(--aerixa-text); }
.menu-badge { background: var(--aerixa-accent-dark); color: var(--aerixa-text); }
.header-search { background: var(--aerixa-bg-secondary); border-top-color: var(--aerixa-border); }
.mobile-menu { background: var(--aerixa-bg); }
.mobile-menu__top, .mobile-menu__foot { border-color: var(--aerixa-border); }
.mobile-scrim { background: rgba(0,0,0,.6); }
.back-to-top { background: var(--aerixa-surface); color: var(--aerixa-accent); border: 1px solid var(--aerixa-border); }
.back-to-top:hover { background: var(--aerixa-surface-elevated); }

/* --- FOOTER --------------------------------------------------------------- */
.site-footer { background: #111315; border-top-color: var(--aerixa-border); color: var(--aerixa-text-muted); }
.site-footer h4, .footer-col h4 { color: var(--aerixa-accent); }
.footer-brand .brand { color: var(--aerixa-text); }
.footer-col a, .footer-bottom a { color: var(--aerixa-text); }
.footer-col a:hover, .footer-bottom a:hover { color: var(--aerixa-accent); }
.footer-email { color: var(--aerixa-accent); }
.footer-pay .pay-badge { background: #fff; }
.footer-pay .pay-badge--text { background: var(--aerixa-surface-elevated); color: var(--aerixa-accent); }

/* --- HERO ----------------------------------------------------------------- */
.hero__media::after {
  background:
    linear-gradient(90deg, rgba(23,25,28,.92) 0%, rgba(23,25,28,.70) 34%, rgba(23,25,28,.28) 62%, rgba(23,25,28,0) 82%),
    linear-gradient(0deg, rgba(23,25,28,.60) 0%, rgba(23,25,28,.12) 34%, transparent 55%);
}
.hero__eyebrow { color: rgba(255,255,255,.85); }
.hero__eyebrow .dot { background: var(--aerixa-accent); box-shadow: 0 0 0 0 rgba(201,166,107,.55); }
@keyframes pulse { 70% { box-shadow: 0 0 0 10px rgba(201,166,107,0); } 100% { box-shadow: 0 0 0 0 rgba(201,166,107,0); } }

/* --- BANDEAU RÉASSURANCE + CARTES --------------------------------------- */
.hero-strip { background: var(--aerixa-bg-secondary); border-bottom-color: var(--aerixa-border); }
.hero-strip__item { color: var(--aerixa-text); }
.hero-strip__item svg { color: var(--aerixa-accent); }
.reassure { background: var(--aerixa-surface); border-color: var(--aerixa-border); }
.reassure:hover { border-color: var(--aerixa-accent); }
.reassure .ic { background: var(--aerixa-surface-elevated); color: var(--aerixa-accent); }
.reassure h4 { color: var(--aerixa-text); }
.reassure p { color: var(--aerixa-text-muted); }

/* --- CATÉGORIES (home) ---------------------------------------------------- */
.cat-card { background: var(--aerixa-bg-secondary); }
.cat-card::after { background: linear-gradient(0deg, rgba(23,25,28,.88), rgba(23,25,28,.05) 65%); }
.cat-card__link { color: var(--aerixa-accent); }

/* --- CARTES PRODUITS (home + boutique) ----------------------------------- */
.product-card { background: var(--aerixa-surface); border: 1px solid var(--aerixa-border); }
.product-card__media { background: var(--aerixa-light); }
.product-card__media img { background: var(--aerixa-light); }
.product-card__title, .product-card__title a { color: var(--aerixa-text); }
.product-card__cat, .fr-cat, .product-card__rating span { color: var(--aerixa-text-muted); }
.product-card .price, .product-card .price ins, .product-card ins { color: var(--aerixa-accent); }
.price, .price ins { color: var(--aerixa-accent); }
.price del, del { color: var(--aerixa-text-muted); }
.product-card .button { background: var(--aerixa-accent); color: #17191C; border-color: var(--aerixa-accent); }
.product-card .button:hover { background: var(--aerixa-accent-light); color: #17191C; border-color: var(--aerixa-accent-light); }
.spec-chip { color: var(--aerixa-text); background: var(--aerixa-surface-elevated); }
.spec-chip svg { color: var(--aerixa-accent); }

/* --- BADGES / PROMO (bronze) --------------------------------------------- */
.badge--heat, .onsale, .fr-save-badge, span.onsale { background: var(--aerixa-promo); color: var(--aerixa-text); }
.badge--ice { background: var(--aerixa-surface-elevated); color: var(--aerixa-accent); }
.badge--new { background: var(--aerixa-surface-elevated); color: var(--aerixa-text); }
.badge--soft { background: var(--aerixa-bg-secondary); color: var(--aerixa-text-muted); border-color: var(--aerixa-border); }

/* --- « POURQUOI AERIXA » (split) ----------------------------------------- */
.usp:hover { background: var(--aerixa-surface-elevated); }
.usp .ic { background: var(--aerixa-surface-elevated); color: var(--aerixa-accent); }
.usp h4 { color: var(--aerixa-text); }
.usp p { color: var(--aerixa-text-muted); }
.float-card { background: rgba(255,255,255,.94); }
.float-card .stat .n { color: var(--aerixa-text-dark); }

/* --- AIDE AU CHOIX (btu-card) -------------------------------------------- */
.btu-card { background: var(--aerixa-surface); border-color: var(--aerixa-border); }
.btu-card:hover { border-color: var(--aerixa-accent); }
.btu-card .surf { color: var(--aerixa-accent); }
.btu-card .btu { color: var(--aerixa-text); }
.btu-card .btu span { color: var(--aerixa-text-muted); }
.btu-card p { color: var(--aerixa-text-muted); }

/* --- BANDEAU PROMO / COMPTE À REBOURS ------------------------------------ */
.promo-band { background: linear-gradient(120deg, #2a2620 0%, var(--aerixa-bg-secondary) 62%); border: 1px solid rgba(201,166,107,.28); }
.promo-band::after { background: rgba(201,166,107,.10); }
.promo-band h2, .promo-band p { color: var(--aerixa-text); }
.promo-band .eyebrow--light { color: var(--aerixa-accent); }
.countdown .unit { background: rgba(255,255,255,.06); }

/* --- AVIS ----------------------------------------------------------------- */
.review-card { background: var(--aerixa-surface); border-color: var(--aerixa-border); }
.review-card blockquote { color: var(--aerixa-text); }
.review-card__author .av { background: var(--aerixa-surface-elevated); color: var(--aerixa-accent); }
.review-card__author .name { color: var(--aerixa-text); }
.review-card__author .meta { color: var(--aerixa-text-muted); }
.review-card__verified { color: var(--aerixa-accent); }

/* --- FAQ ------------------------------------------------------------------ */
.faq-item { background: var(--aerixa-surface); border-color: var(--aerixa-border); }
.faq-item[open] { border-color: var(--aerixa-accent); }
.faq-item summary { color: var(--aerixa-text); }
.faq-item summary .plus { background: var(--aerixa-surface-elevated); color: var(--aerixa-accent); }
.faq-item[open] summary .plus { background: var(--aerixa-accent); color: #17191C; }
.faq-item__body { color: var(--aerixa-text-muted); }

/* --- CTA band ------------------------------------------------------------- */
.cta-band { background: var(--aerixa-bg-secondary); border: 1px solid var(--aerixa-border); }
.cta-band h2 { color: var(--aerixa-text); }

/* --- SEARCH / INPUTS ------------------------------------------------------ */
.fr-search-form input[type="search"], .woocommerce-product-search .search-field, .search-form .search-field,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.fr-contact-form input, .fr-contact-form textarea, .fr-contact-form select {
  background: #fff; color: var(--aerixa-text-dark); border-color: var(--aerixa-border-light);
}
.fr-search-form input:focus, .woocommerce-product-search .search-field:focus, .search-form .search-field:focus,
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus {
  border-color: var(--aerixa-accent); box-shadow: 0 0 0 3px rgba(201,166,107,.30); outline: none;
}
.fr-search-form button[type="submit"], .woocommerce-product-search button[type="submit"], .search-form .search-submit {
  background: var(--aerixa-accent); color: #17191C;
}
.fr-search-form button[type="submit"]:hover, .search-form .search-submit:hover { background: var(--aerixa-accent-light); }

/* --- BOUTIQUE : hero, filtres, tri, pagination --------------------------- */
.shop-hero { background: var(--aerixa-bg-secondary); }
.shop-hero::before { background: radial-gradient(700px 340px at 80% -20%, rgba(201,166,107,.18), transparent 70%); }
.shop-sidebar { color: var(--aerixa-text); }
.filter-block { background: var(--aerixa-bg-secondary); border-color: var(--aerixa-border); }
.filter-block h4 { color: var(--aerixa-text); }
.filter-block .fr-filter-link { color: var(--aerixa-text-muted); }
.filter-block .fr-filter-link:hover, .filter-block .fr-filter-link.is-active { color: var(--aerixa-accent); }
.filter-block .count { color: var(--aerixa-text-muted); }
.filter-block--help { background: var(--aerixa-surface); border-color: var(--aerixa-accent); }
.fr-filter-reset { color: var(--aerixa-text-muted); }
.fr-filter-reset:hover { color: var(--aerixa-accent); }
.shop-toolbar, .woocommerce-result-count { color: var(--aerixa-text-muted); }
.woocommerce-ordering select, select.orderby {
  background-color: var(--aerixa-surface); color: var(--aerixa-text); border-color: var(--aerixa-border);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23C9A66B' stroke-width='2'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
}
.woocommerce-pagination .page-numbers { background: var(--aerixa-surface); color: var(--aerixa-text); border-color: var(--aerixa-border); }
.woocommerce-pagination .page-numbers:hover { background: var(--aerixa-surface-elevated); }
.woocommerce-pagination .current { background: var(--aerixa-accent); color: #17191C; border-color: var(--aerixa-accent); }

/* --- FICHE PRODUIT -------------------------------------------------------- */
.single-product div.product { color: var(--aerixa-text); }
.single-product div.product p { color: var(--aerixa-text-muted); }
.woocommerce div.product .product_title { color: var(--aerixa-text); }
.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce div.product .price { color: var(--aerixa-accent); }
.woocommerce-product-details__short-description, .product_meta { color: var(--aerixa-text-muted); }
.product_meta a { color: var(--aerixa-accent); }
.fr-sales-24h { color: var(--aerixa-text-muted); }
.fr-assurance li { color: var(--aerixa-text); }
.fr-assurance .ic, .fr-assurance li > svg { color: var(--aerixa-accent); }
.fr-stock--in { color: var(--aerixa-success) !important; }
.fr-stock--low { color: var(--aerixa-alert) !important; }
.quantity { background: var(--aerixa-surface); border-color: var(--aerixa-border); }
.quantity input.qty { color: var(--aerixa-text); background: transparent; }
.quantity .qty-btn { color: var(--aerixa-text); }
.quantity .qty-btn:hover { background: var(--aerixa-surface-elevated); }
.woocommerce-tabs ul.tabs li a { color: var(--aerixa-text-muted); }
.woocommerce-tabs ul.tabs li.active a { color: var(--aerixa-accent); }
.woocommerce-tabs ul.tabs li.active a::after { background: var(--aerixa-accent); }
.woocommerce-Tabs-panel, .woocommerce-Tabs-panel p { color: var(--aerixa-text-muted); }
table.shop_attributes { color: var(--aerixa-text); }
table.shop_attributes th { color: var(--aerixa-accent); }
table.shop_attributes tr { border-color: var(--aerixa-border); }
table.shop_attributes tr:nth-child(odd) { background: var(--aerixa-bg-secondary); }
table.shop_attributes td { color: var(--aerixa-text-muted); }

/* Boutons WooCommerce génériques (secondaires) + ajout panier (principal) */
.woocommerce a.button, .woocommerce button.button, .woocommerce .button, .woocommerce input.button {
  background: var(--aerixa-surface-elevated); color: var(--aerixa-text); border-radius: var(--r-pill);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button:hover { background: #3b414a; }
.woocommerce .button.alt, .woocommerce button.button.alt, .wc-proceed-to-checkout .checkout-button,
.single_add_to_cart_button, .woocommerce #respond input#submit {
  background: var(--aerixa-accent) !important; color: #17191C !important;
}
.woocommerce .button.alt:hover, .single_add_to_cart_button:hover, .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--aerixa-accent-light) !important; color: #17191C !important;
}

/* --- PANIER / CHECKOUT / COMPTE : zone claire (lisibilité maximale) ------- */
body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account {
  background: var(--aerixa-light); color: var(--aerixa-text-dark);
}
.woocommerce-cart .site-main, .woocommerce-checkout .site-main, .woocommerce-account .site-main { color: var(--aerixa-text-dark); }
.woocommerce-cart h1, .woocommerce-cart h2, .woocommerce-cart h3,
.woocommerce-checkout h1, .woocommerce-checkout h2, .woocommerce-checkout h3,
.woocommerce-account h1, .woocommerce-account h2, .woocommerce-account h3 { color: var(--aerixa-text-dark); }
.woocommerce-cart table.cart th, .woocommerce-cart table.cart td,
.woocommerce-checkout .site-main label, .woocommerce-account .site-main label,
.woocommerce-checkout .site-main p, .woocommerce-account .site-main p,
.cart_totals th, .cart_totals td, .woocommerce-Address address { color: var(--aerixa-text-dark); }
.cart_totals, .woocommerce-Address, .woocommerce-checkout #payment ul.payment_methods,
.woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation ul {
  background: #fff; border-color: var(--aerixa-border-light);
}
.cart_totals .order-total .amount { color: var(--aerixa-text-dark); }
.woocommerce-cart .site-main a, .woocommerce-checkout .site-main a, .woocommerce-account .site-main a { color: var(--aerixa-accent-dark); }
.woocommerce-MyAccount-navigation a { color: var(--aerixa-text-dark); }
.woocommerce-MyAccount-navigation a:hover { background: var(--aerixa-light); color: var(--aerixa-text-dark); }
.woocommerce-MyAccount-navigation-link.is-active a, .woocommerce-MyAccount-navigation li.is-active a { color: var(--aerixa-accent-dark); }
.woocommerce-MyAccount-content mark { background: rgba(201,166,107,.18); color: var(--aerixa-text-dark); }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--aerixa-accent); }
.woocommerce-message { color: var(--aerixa-text-dark); }

/* ==========================================================================
   CORRECTIFS AERIXA (priment sur les règles ci-dessus)
   ========================================================================== */

/* Boutons carte produit (accueil + boutique) : toujours champagne, lisibles */
.product-card .button, .product-card a.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button.add_to_cart_button {
  background: var(--aerixa-accent) !important; color: #17191C !important; border-color: var(--aerixa-accent) !important;
}
.product-card .button:hover, .woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button.add_to_cart_button:hover {
  background: var(--aerixa-accent-light) !important; color: #17191C !important; border-color: var(--aerixa-accent-light) !important;
}
.woocommerce ul.products li.product .added_to_cart { color: var(--aerixa-accent); }

/* Panier / Commande / Compte : sombre & parfaitement lisible ------------- */
body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account {
  background: var(--aerixa-bg) !important; color: var(--aerixa-text) !important;
}
.woocommerce-cart .site-main, .woocommerce-checkout .site-main, .woocommerce-account .site-main,
.woocommerce-cart h1, .woocommerce-cart h2, .woocommerce-cart h3,
.woocommerce-checkout h1, .woocommerce-checkout h2, .woocommerce-checkout h3,
.woocommerce-account h1, .woocommerce-account h2, .woocommerce-account h3,
.woocommerce-cart table.cart th, .woocommerce-cart table.cart td { color: var(--aerixa-text) !important; }

/* Blocs WooCommerce (Cart & Checkout Blocks) */
.wc-block-components-product-name, .wc-block-cart-item__prices,
.wc-block-components-totals-item__label, .wc-block-components-product-metadata,
.wc-block-components-order-summary-item__description, .wc-block-checkout__main,
.wc-block-components-checkout-step__title, .wc-block-components-checkout-step__description,
.wc-block-components-text-input label, .wc-block-components-address-card,
.wc-block-components-order-summary-item__quantity { color: var(--aerixa-text) !important; }
a.wc-block-components-product-name:hover { color: var(--aerixa-accent) !important; }
.wc-block-components-totals-item__value { color: var(--aerixa-accent) !important; }
.wc-block-cart__sidebar, .wc-block-components-sidebar { background: var(--aerixa-bg-secondary) !important; border: 1px solid var(--aerixa-border) !important; }
.wc-block-components-text-input input, .wc-block-components-text-input .input-text { background: #fff !important; color: var(--aerixa-text-dark) !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .wc-block-components-button.contained {
  background: var(--aerixa-accent) !important; color: #17191C !important;
}

/* Panier / compte classiques (repli) */
.cart_totals, .woocommerce-Address, .woocommerce-checkout #payment ul.payment_methods,
.woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation ul {
  background: var(--aerixa-surface) !important; border-color: var(--aerixa-border) !important; color: var(--aerixa-text) !important;
}
.cart_totals .order-total .amount { color: var(--aerixa-accent) !important; }
.woocommerce-MyAccount-navigation a { color: var(--aerixa-text) !important; }
.woocommerce-MyAccount-navigation a:hover { background: var(--aerixa-surface-elevated) !important; color: var(--aerixa-accent) !important; }
.woocommerce-cart .site-main a, .woocommerce-checkout .site-main a, .woocommerce-account .site-main a { color: var(--aerixa-accent) !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { background: var(--aerixa-surface) !important; color: var(--aerixa-text) !important; }

/* ==========================================================================
   CORRECTIFS AERIXA — v2 (cartes 2 boutons · étoiles · panier/commande)
   Cible des classes WooCommerce précises, sans sélecteurs globaux.
   ========================================================================== */

/* --- Cartes produit : système à 2 boutons -------------------------------- */
.product-card__actions { display: grid; gap: .5rem; margin-top: .75rem; }
.product-card__actions .button,
.product-card__actions a.button { width: 100%; text-align: center; margin: 0; }

/* Bouton 1 « Ajouter au panier » : champagne plein (déjà forcé plus haut). */
/* On masque le lien « Voir le panier » injecté après l'ajout AJAX pour
   conserver la mise en page à 2 boutons (le compteur d'en-tête se met à jour). */
.product-card .added_to_cart { display: none !important; }

/* Bouton 2 « Acheter maintenant » : IDENTIQUE au bouton 1 (champagne plein,
   texte anthracite, même bordure, même hover). Spécificité relevée pour primer. */
.product-card a.button.button--buy-now,
.woocommerce ul.products li.product a.button.button--buy-now {
  background: var(--aerixa-accent) !important;
  color: #17191C !important;
  border: 1px solid var(--aerixa-accent) !important;
}
.product-card a.button.button--buy-now:hover,
.woocommerce ul.products li.product a.button.button--buy-now:hover {
  background: var(--aerixa-accent-light) !important;
  color: #17191C !important;
  border-color: var(--aerixa-accent-light) !important;
}

/* État « Rupture de stock » : neutre, non cliquable, jamais de faux bouton. */
.product-card span.button.button--oos,
.product-card .button--oos,
.woocommerce ul.products li.product span.button.button--oos {
  background: transparent !important;
  color: var(--aerixa-text-muted) !important;
  border: 1px solid var(--aerixa-border) !important;
  cursor: not-allowed;
  pointer-events: none;
  opacity: .85;
}

/* --- Fiche produit : « Acheter maintenant » IDENTIQUE au bouton principal --- */
/* Les deux boutons : champagne plein, texte anthracite, pleine largeur, empilés. */
.single-product form.cart { display: flex !important; flex-direction: column; align-items: stretch; gap: .6rem; }
.single-product form.cart .quantity { align-self: flex-start; margin: 0; }
.single-product form.cart .single_add_to_cart_button { width: 100% !important; margin: 0 !important; }
.woocommerce button.button.single-buy-now,
.woocommerce .single-buy-now,
.single-buy-now {
  display: block; width: 100% !important; margin: 0 !important;
  background: var(--aerixa-accent) !important;
  color: #17191C !important;
  border: 1px solid var(--aerixa-accent) !important;
}
.woocommerce button.button.single-buy-now:hover,
.woocommerce .single-buy-now:hover,
.single-buy-now:hover {
  background: var(--aerixa-accent-light) !important;
  color: #17191C !important;
  border-color: var(--aerixa-accent-light) !important;
}

/* --- Étoiles : or partout (natif WooCommerce inclus) --------------------- */
.star-rating { color: var(--aerixa-stars); }
.star-rating::before { color: var(--aerixa-stars); opacity: .30; }
.star-rating span::before { color: var(--aerixa-stars); opacity: 1; }
.woocommerce-product-rating .star-rating,
.comment-form-rating .stars a { color: var(--aerixa-stars); }

/* --- Panier / Commande — Blocs WooCommerce : lisibilité ------------------- */
/* Tous les montants formatés en clair par défaut… */
.wc-block-components-formatted-money-amount { color: var(--aerixa-text) !important; }
/* …promo, sous-totaux et total en champagne. */
.wc-block-components-product-price__value.is-discounted,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount,
.wc-block-components-order-summary-item__total-price {
  color: var(--aerixa-accent) !important;
}
/* Ancien prix barré en gris. */
.wc-block-components-product-price__regular {
  color: var(--aerixa-text-muted) !important; text-decoration: line-through;
}
/* Textes d'aide, descriptions, cases à cocher, CGV → clair.
   NB : la description est dans un <p> qui hérite d'un gris quasi-noir → on cible
   aussi le <p> enfant, sinon la description produit reste illisible. */
.wc-block-components-checkbox__label,
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__description p,
.wc-block-components-order-summary-item__individual-price,
.wc-block-checkout__terms,
.wc-block-components-checkout-step__description,
.wc-block-components-totals-coupon__description,
.wc-block-components-address-card__address-section {
  color: var(--aerixa-text-muted) !important;
}
/* Titres d'étapes / de blocs : blancs. */
.wc-block-components-checkout-step__title,
.wc-block-components-title { color: var(--aerixa-text) !important; }
/* Libellés flottants des champs : le champ a un fond BLANC → le libellé doit
   être un gris moyen lisible (placeholder), jamais blanc sur blanc. */
.wc-block-components-text-input label,
.wc-block-components-text-input.is-active label {
  color: #7B8188 !important;
}
/* Titre de l'accordéon « Résumé de la commande » / « Ajouter des codes promo »
   (barre repliable, surtout mobile) : quasi-noir → blanc, chevron compris.
   On cible tous les descendants (le titre est imbriqué) + la classe de titre
   du résumé pour couvrir l'état replié mobile. */
.wc-block-components-panel__button,
.wc-block-components-panel__button *,
.wc-block-components-panel__button svg,
.wc-block-components-checkout-order-summary__title,
.wc-block-components-checkout-order-summary__title *,
.wc-block-components-checkout-order-summary__title-text {
  color: var(--aerixa-text) !important; fill: var(--aerixa-text) !important;
}
/* Note « Vous validez votre commande en tant qu'invité » : blanc lisible. */
.wc-block-checkout__guest-checkout-notice,
.wc-block-checkout__guest-checkout-notice * {
  color: var(--aerixa-text) !important;
}
/* Bouton « Appliquer » du code promo : texte anthracite sur champagne. */
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon__button .wc-block-components-button__text {
  color: #17191C !important;
}
/* Sélecteur de quantité des blocs (panier) : pastille sombre homogène,
   valeur et symboles blancs (plus de pastille blanche à valeur invisible). */
.wc-block-components-quantity-selector {
  background: var(--aerixa-surface-elevated) !important;
  border: 1px solid var(--aerixa-border) !important;
}
.wc-block-components-quantity-selector__input,
.wc-block-components-quantity-selector__button {
  background: transparent !important; color: var(--aerixa-text) !important;
}
/* Badge « Promo ». */
.wc-block-components-sale-badge {
  background: var(--aerixa-surface-elevated) !important;
  color: var(--aerixa-accent) !important;
}
/* Boutons de validation : texte anthracite lisible sur champagne. */
.wc-block-cart__submit-button,
.wc-block-cart__submit-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text {
  color: #17191C !important;
}
/* Séparateurs plus visibles. */
.wc-block-components-order-summary-item,
.wc-block-cart-items__row,
.wc-block-components-totals-item { border-color: var(--aerixa-border) !important; }

/* --- Panier / Commande — version classique (shortcode) ------------------- */
/* Prix, sous-totaux, quantités lisibles sur fond sombre. */
.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal,
.woocommerce-cart .product-total,
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { color: var(--aerixa-text) !important; }
.woocommerce del, .woocommerce del .amount { color: var(--aerixa-text-muted) !important; }
.woocommerce ins, .woocommerce ins .amount { color: var(--aerixa-accent) !important; background: transparent; text-decoration: none; }
/* Champ quantité (fiche produit / panier classique) : pastille HOMOGÈNE.
   Le champ valeur devient transparent + texte blanc → plus de carré blanc
   isolé au centre de la pastille sombre ; les boutons −/+ (.qty-btn) sont
   déjà blancs sur le fond sombre du conteneur .quantity. */
.woocommerce .quantity { background: var(--aerixa-surface-elevated); border: 1px solid var(--aerixa-border); }
.woocommerce .quantity input.qty {
  background: transparent !important; color: var(--aerixa-text) !important;
  border: 0 !important;
}
.woocommerce .quantity .qty-btn,
.woocommerce .quantity .minus,
.woocommerce .quantity .plus { color: var(--aerixa-text) !important; background: transparent !important; }
/* Bouton « Passer la commande » (bas de panier / barre mobile) : champagne + texte anthracite. */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--aerixa-accent) !important; color: #17191C !important;
  border-color: var(--aerixa-accent) !important;
}
/* « Économisez / Vous économisez » : texte clair au lieu de quasi-noir. */
.woocommerce .cart-discount,
.woocommerce .savings,
.woocommerce-cart .cart-collaterals .amount { color: var(--aerixa-text) !important; }

/* ==========================================================================
   CORRECTIF CARTE — corps anthracite (cause racine du fond blanc)
   Cause : la règle de base « .product-card, ul.products li.product {background:#fff} »
   gagne via « ul.products li.product » (spécificité 0-2-2) contre « .product-card »
   (0-1-0) de la skin. En contexte boucle (accueil, boutique, similaires, upsells,
   cross-sells…) la carte devenait blanche → titre blanc sur blanc.
   On aligne la spécificité + !important ciblé pour garantir le corps sombre.
   La zone image garde son fond clair via .product-card__media.
   ========================================================================== */
.product-card,
ul.products li.product,
.woocommerce ul.products li.product,
.wc-block-grid__product,
.related.products ul.products li.product,
.up-sells ul.products li.product,
.cross-sells ul.products li.product {
  background: var(--aerixa-surface) !important;
}
.product-card__media,
.wc-block-grid__product-image {
  background: var(--aerixa-light) !important;
}
/* Titre de carte : toujours blanc lisible sur le corps sombre. */
.product-card__title,
.product-card__title a,
ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  color: var(--aerixa-text) !important;
}

/* Prix des cartes (boucle) : le <span.amount>/<bdi>/symbole héritent d'un gris
   quasi-noir (#202328) → illisible sur le corps sombre. On force l'or pour le
   prix courant et le gris atténué pour l'ancien prix barré. */
.product-card .price,
.product-card .price .amount,
.product-card .price .woocommerce-Price-amount,
.product-card .price bdi,
.product-card .price .woocommerce-Price-currencySymbol,
.product-card .price ins,
ul.products li.product .price .amount,
ul.products li.product .price bdi,
ul.products li.product .price .woocommerce-Price-currencySymbol {
  color: var(--aerixa-accent) !important;
}
.product-card .price del,
.product-card .price del .amount,
.product-card .price del bdi,
.product-card .price del .woocommerce-Price-amount,
.product-card .price del .woocommerce-Price-currencySymbol,
ul.products li.product .price del,
ul.products li.product .price del .amount,
ul.products li.product .price del bdi,
ul.products li.product .price del .woocommerce-Price-currencySymbol {
  color: var(--aerixa-text-muted) !important;
}

/* Étoiles des cartes en OR : la règle « .product-card__rating span {muted} »
   (destinée au texte de la note) écrasait « .stars ». On rétablit l'or pour
   les étoiles uniquement, le texte de la note restant gris clair. */
.product-card__rating .stars,
.product-card__rating .stars svg,
.product-card__rating .stars svg path,
.product-card__rating .stars svg use {
  color: var(--aerixa-stars) !important;
  fill: currentColor !important;
}

/* Ligne note sur la FICHE PRODUIT : même style que les cartes, espacement adapté. */
.fr-single-rating { margin: .35rem 0 .6rem; display: flex; align-items: center; gap: .4rem; }
.fr-single-rating .stars { color: var(--aerixa-stars) !important; }
.fr-single-rating span { color: var(--aerixa-text-muted); }
