/* ═══════════════════════════════════════════════════════════════════════════════
   AstroAlma - Habillage du site (thème Astra) : en-tête et menu, pages produits
   Palette « ciel de nuit » : #0E0B1F, #17132E, #2C2652, or #E8C27A
   ═══════════════════════════════════════════════════════════════════════════════ */
:root {
    --aas-nuit: #0E0B1F; --aas-surface: #17132E; --aas-surface-2: #1D1839; --aas-ligne: #2C2652;
    --aas-texte: #EDE9FF; --aas-doux: #B4AED6; --aas-or: #E8C27A; --aas-or-clair: #F6DFA8; --aas-violet: #A99BFF;
}

/* ── Menu « hamburger » jusqu'à 1599 px : le menu complet ne tient sur une ligne qu'au-delà
   (petits portables, iPad, écrans moyens). Le seuil est aussi donné à Astra (astra_header_break_point). */
@media (max-width: 1599px) {
    #ast-desktop-header { display: none !important; }
    #ast-mobile-header { display: block !important; }
}
@media (min-width: 1600px) {
    #ast-mobile-header { display: none !important; }
    /* Grand écran : menu compact sur une seule ligne */
    #ast-desktop-header .main-header-menu { flex-wrap: nowrap; }
    #ast-desktop-header .main-header-menu > li > .menu-link { white-space: nowrap; padding-left: 12px; padding-right: 12px; }
}

/* ── Menu mobile : panneau de nuit, liens clairs, accents dorés ───────────────── */
#ast-mobile-header .ast-mobile-header-content,
#ast-mobile-header .ast-mobile-header-content .main-header-bar-navigation,
#ast-mobile-header .ast-mobile-header-content #ast-hf-mobile-menu {
    background: transparent;
}
#ast-mobile-header .ast-mobile-header-content {
    background: linear-gradient(180deg, rgba(23, 19, 46, 0.98), rgba(14, 11, 31, 0.99)) !important;
    border-top: 1px solid rgba(232, 194, 122, 0.25);
    border-bottom: 1px solid var(--aas-ligne);
    box-shadow: 0 24px 48px -18px rgba(0, 0, 0, 0.85);
    padding: 8px 14px 16px;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    /* pas de backdrop-filter : fond déjà opaque à 98 %, et le flou ralentit le tactile sur mobile */
    animation: aasDescente 0.22s ease both;
}
@keyframes aasDescente { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
#ast-mobile-header #ast-hf-mobile-menu { border: 0 !important; }
#ast-mobile-header #ast-hf-mobile-menu .menu-item { border: 0 !important; background: transparent !important; }
#ast-mobile-header #ast-hf-mobile-menu > .menu-item { border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important; }
#ast-mobile-header #ast-hf-mobile-menu > .menu-item:last-child { border-bottom: 0 !important; }
#ast-mobile-header #ast-hf-mobile-menu .menu-link {
    color: var(--aas-texte) !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4 !important;
    padding: 13px 48px 13px 8px;
    border-radius: 12px;
    transition: color 0.2s, background 0.2s;
}
#ast-mobile-header #ast-hf-mobile-menu .menu-link:hover,
#ast-mobile-header #ast-hf-mobile-menu .menu-link:focus,
#ast-mobile-header #ast-hf-mobile-menu .current-menu-item > .menu-link,
#ast-mobile-header #ast-hf-mobile-menu .current-menu-ancestor > .menu-link {
    color: var(--aas-or) !important;
    background: rgba(232, 194, 122, 0.06) !important;
}
#ast-mobile-header #ast-hf-mobile-menu > .menu-item > .ast-menu-toggle {
    top: 0 !important;
    height: 48px !important;
    line-height: 48px !important;
}
#ast-mobile-header #ast-hf-mobile-menu .ast-menu-toggle {
    color: var(--aas-doux) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 10px;
}
#ast-mobile-header #ast-hf-mobile-menu .ast-menu-toggle:hover,
#ast-mobile-header #ast-hf-mobile-menu .ast-submenu-expanded > .ast-menu-toggle { color: var(--aas-or) !important; }
#ast-mobile-header #ast-hf-mobile-menu .ast-arrow-svg { fill: currentColor; }
#ast-mobile-header #ast-hf-mobile-menu .sub-menu {
    background: transparent !important;
    border: 0 !important;
    margin: 0 0 10px 12px;
    padding: 2px 0 2px 12px;
    border-left: 1px solid rgba(232, 194, 122, 0.3) !important;
}
#ast-mobile-header #ast-hf-mobile-menu .sub-menu .menu-link {
    color: var(--aas-doux) !important;
    font-size: 0.95rem;
    padding-top: 10px;
    padding-bottom: 10px;
}
#ast-mobile-header #ast-hf-mobile-menu .sub-menu .menu-link:hover,
#ast-mobile-header #ast-hf-mobile-menu .sub-menu .current-menu-item > .menu-link { color: var(--aas-or-clair) !important; }
/* Bouton du menu : contour doré discret */
#ast-mobile-header .menu-toggle.main-header-menu-toggle {
    border-color: rgba(232, 194, 122, 0.45) !important;
    color: var(--aas-or) !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border-radius: 12px !important;
    transition: background 0.2s, border-color 0.2s;
}
#ast-mobile-header .menu-toggle.main-header-menu-toggle[aria-expanded="true"] { background: rgba(232, 194, 122, 0.1) !important; border-color: var(--aas-or) !important; }
#ast-mobile-header .menu-toggle .ast-mobile-svg { fill: currentColor; }
@media (prefers-reduced-motion: reduce) { #ast-mobile-header .ast-mobile-header-content { animation: none; } }

/* Menu ouvert sur tablette et portable : panneau flottant à droite plutôt qu'une bande pleine largeur */
@media (min-width: 768px) and (max-width: 1599px) {
    #ast-mobile-header { position: relative; }
    #ast-mobile-header .ast-mobile-header-content {
        position: absolute;
        top: 100%;
        right: 16px;
        left: auto;
        width: min(420px, calc(100vw - 32px));
        border: 1px solid rgba(232, 194, 122, 0.25);
        border-radius: 20px;
        z-index: 99;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   BOUTIQUE ET PAGES PRODUITS ASTROALMA (classe .aa-boutique posée par includes/site.php)
   ═══════════════════════════════════════════════════════════════════════════════ */
body.aa-boutique,
body.aa-boutique #page,
body.aa-boutique .site-content,
body.aa-boutique.ast-separate-container,
body.aa-boutique .ast-separate-container,
body.aa-boutique .ast-woocommerce-container {
    background-color: var(--aas-nuit) !important;
    color: var(--aas-texte);
}
body.aa-boutique .site-content {
    background:
        radial-gradient(70% 40% at 15% 0%, rgba(169, 155, 255, 0.10), transparent 60%),
        radial-gradient(60% 40% at 90% 10%, rgba(232, 194, 122, 0.08), transparent 60%),
        var(--aas-nuit) !important;
}
body.aa-boutique .ast-article-single,
body.aa-boutique .ast-separate-container .ast-article-single,
body.aa-boutique.ast-separate-container .ast-article-single,
body.aa-boutique .woocommerce-page-content,
body.aa-boutique .ast-woocommerce-container > * {
    background: transparent !important;
    box-shadow: none !important;
}
body.aa-boutique .woocommerce-breadcrumb,
body.aa-boutique .woocommerce-breadcrumb a { color: var(--aas-doux) !important; font-size: 0.85rem; }
body.aa-boutique .woocommerce-breadcrumb a:hover { color: var(--aas-or) !important; }

/* Fiche produit */
body.aa-boutique div.product .woocommerce-product-gallery {
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(232, 194, 122, 0.22);
    background: radial-gradient(circle at 50% 35%, #2A2350, #120E28 75%);
    box-shadow: 0 30px 70px -35px rgba(169, 155, 255, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
body.aa-boutique div.product .woocommerce-product-gallery img { border-radius: 0; }
body.aa-boutique div.product .woocommerce-product-gallery__trigger { background: rgba(14, 11, 31, 0.7) !important; border-radius: 50%; }
body.aa-boutique div.product .summary { padding: 6px 4px; }
body.aa-boutique div.product .summary .posted_in,
body.aa-boutique div.product .summary .ast-woo-product-category,
body.aa-boutique .single-product-category {
    display: inline-block;
    color: var(--aas-or) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}
body.aa-boutique div.product .product_title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600;
    font-size: clamp(2rem, 4vw, 2.8rem) !important;
    line-height: 1.1;
    margin: 6px 0 10px;
    background: linear-gradient(100deg, #FFF7E6 0%, #F6DFA8 40%, #E8C27A 70%, #CFA35C 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
    -webkit-text-fill-color: transparent;
}
body.aa-boutique div.product p.price,
body.aa-boutique div.product span.price {
    color: var(--aas-texte) !important;
    font-size: 2rem !important;
    font-weight: 700;
    letter-spacing: -0.01em;
}
body.aa-boutique div.product .woocommerce-product-details__short-description,
body.aa-boutique div.product .woocommerce-product-details__short-description p { color: var(--aas-doux) !important; font-size: 1rem; }

/* Bloc « ce que permettent tes crédits » */
body.aa-boutique .aa-produit-atouts {
    margin: 18px 0 20px;
    padding: 18px 20px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015));
}
body.aa-boutique .aa-produit-titre { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.35rem; font-weight: 600; color: var(--aas-or); margin-bottom: 8px; }
body.aa-boutique .aa-produit-liste { list-style: none; margin: 0 0 6px; padding: 0; }
body.aa-boutique .aa-produit-liste li { position: relative; padding: 5px 0 5px 22px; color: var(--aas-texte); }
body.aa-boutique .aa-produit-liste li::before {
    content: ''; position: absolute; left: 3px; top: 0.85em; width: 7px; height: 7px; transform: rotate(45deg); border-radius: 1px;
    background: linear-gradient(135deg, var(--aas-or-clair), var(--aas-or)); box-shadow: 0 0 8px rgba(232, 194, 122, 0.6);
}
body.aa-boutique .aa-produit-note { color: var(--aas-doux); font-size: 0.85rem; margin-top: 4px; }
body.aa-boutique .aa-produit-garanties { list-style: none; margin: 12px 0 0; padding: 12px 0 0; border-top: 1px solid rgba(255, 255, 255, 0.07); display: flex; flex-wrap: wrap; gap: 6px 16px; }
body.aa-boutique .aa-produit-garanties li { color: var(--aas-doux); font-size: 0.85rem; }
body.aa-boutique .aa-produit-garanties li::before { content: '✓'; color: var(--aas-or); margin-right: 6px; font-weight: 700; }

/* Bouton d'achat */
body.aa-boutique div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 6px 0 18px; }
body.aa-boutique div.product form.cart .quantity { display: none; } /* vendu à l'unité */
body.aa-boutique .single_add_to_cart_button,
body.aa-boutique ul.products li.product .button,
body.aa-boutique .woocommerce a.button,
body.aa-boutique a.added_to_cart {
    border: 0 !important;
    border-radius: 999px !important;
    padding: 14px 30px !important;
    background: linear-gradient(145deg, #F6DFA8, #E8C27A 50%, #D2A55E) !important;
    color: #1A1530 !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em;
    box-shadow: 0 12px 30px -12px rgba(232, 194, 122, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
    transition: transform 0.18s, box-shadow 0.18s !important;
}
body.aa-boutique .single_add_to_cart_button { min-width: 240px; font-size: 1.05rem !important; }
body.aa-boutique .single_add_to_cart_button:hover,
body.aa-boutique ul.products li.product .button:hover { transform: translateY(-1px); box-shadow: 0 18px 38px -14px rgba(232, 194, 122, 0.8) !important; }
body.aa-boutique div.product .product_meta { color: var(--aas-doux); font-size: 0.85rem; border-top: 1px solid rgba(255, 255, 255, 0.07); padding-top: 12px; }
body.aa-boutique div.product .product_meta a { color: var(--aas-or); }

/* Onglets (description) */
body.aa-boutique .woocommerce-tabs ul.tabs { border: 0 !important; padding: 0 !important; margin: 0 0 14px !important; }
body.aa-boutique .woocommerce-tabs ul.tabs::before { display: none !important; }
body.aa-boutique .woocommerce-tabs ul.tabs li { border: 1px solid rgba(255, 255, 255, 0.1) !important; background: rgba(255, 255, 255, 0.04) !important; border-radius: 999px !important; margin: 0 6px 0 0 !important; }
body.aa-boutique .woocommerce-tabs ul.tabs li::before, body.aa-boutique .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.aa-boutique .woocommerce-tabs ul.tabs li a { color: var(--aas-texte) !important; padding: 8px 18px !important; }
body.aa-boutique .woocommerce-tabs ul.tabs li.active { border-color: var(--aas-or) !important; background: rgba(232, 194, 122, 0.1) !important; }
body.aa-boutique .woocommerce-tabs ul.tabs li.active a { color: var(--aas-or) !important; }
body.aa-boutique .woocommerce-Tabs-panel {
    padding: 20px 22px !important;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    background: rgba(255, 255, 255, 0.025);
    color: var(--aas-texte);
}
body.aa-boutique .woocommerce-Tabs-panel h2 { font-family: 'Cormorant Garamond', Georgia, serif; color: var(--aas-or) !important; font-weight: 600; }

/* Produits similaires et boutique : cartes */
body.aa-boutique .related > h2,
body.aa-boutique .upsells > h2,
body.aa-boutique .woocommerce-products-header__title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600;
    color: var(--aas-texte) !important;
    font-size: clamp(1.6rem, 3vw, 2.1rem) !important;
}
body.aa-boutique ul.products li.product {
    padding: 14px 14px 18px !important;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(29, 24, 57, 0.95), rgba(20, 16, 42, 0.95));
    text-align: center;
    transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
body.aa-boutique ul.products li.product:hover {
    transform: translateY(-3px);
    border-color: rgba(232, 194, 122, 0.4);
    box-shadow: 0 24px 50px -30px rgba(232, 194, 122, 0.45);
}
body.aa-boutique ul.products li.product img { border-radius: 16px; background: radial-gradient(circle at 50% 35%, #2A2350, #120E28 75%); }
body.aa-boutique ul.products li.product .woocommerce-loop-product__title,
body.aa-boutique ul.products li.product .ast-loop-product__link h2 { color: var(--aas-texte) !important; font-weight: 600; font-size: 1rem !important; }
body.aa-boutique ul.products li.product .price { color: var(--aas-or) !important; font-weight: 700; font-size: 1.1rem !important; }
body.aa-boutique ul.products li.product .ast-woo-product-category { color: var(--aas-doux) !important; font-size: 0.7rem !important; letter-spacing: 0.12em; text-transform: uppercase; }
body.aa-boutique ul.products li.product .button { padding: 10px 20px !important; font-size: 0.9rem !important; }
body.aa-boutique .woocommerce-result-count,
body.aa-boutique .woocommerce-ordering select { color: var(--aas-doux); }
body.aa-boutique .woocommerce-ordering select { background: var(--aas-surface); border: 1px solid var(--aas-ligne); border-radius: 12px; }
body.aa-boutique .woocommerce-message,
body.aa-boutique .woocommerce-info {
    background: var(--aas-surface) !important;
    color: var(--aas-texte) !important;
    border-top-color: var(--aas-or) !important;
    border-radius: 14px;
}
@media (max-width: 767px) {
    body.aa-boutique .single_add_to_cart_button { width: 100%; }
}
/* ═══════════════════════════════════════════════════════════════════════════════
   PANIER ET COMMANDE (blocs WooCommerce) : classe .aa-tunnel posée par includes/site.php
   Même ciel de nuit que les pages produits (.aa-boutique), cartes vitrées, accents or
   ═══════════════════════════════════════════════════════════════════════════════ */
body.aa-tunnel {
    --aas-carte: linear-gradient(180deg, rgba(29, 24, 57, 0.92), rgba(18, 14, 38, 0.92));
    --aas-bord: rgba(232, 194, 122, 0.22);
}
body.aa-tunnel .entry-header { text-align: center; margin-bottom: 8px !important; }
body.aa-tunnel .entry-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 600 !important;
    font-size: clamp(2.1rem, 4.4vw, 3rem) !important;
    line-height: 1.1;
    background: linear-gradient(100deg, #FFF7E6 0%, #F6DFA8 40%, #E8C27A 70%, #CFA35C 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
    -webkit-text-fill-color: transparent;
}
body.aa-tunnel .entry-content { max-width: 1120px; margin-left: auto; margin-right: auto; }
body.aa-tunnel .entry-content,
body.aa-tunnel .wp-block-woocommerce-cart,
body.aa-tunnel .wp-block-woocommerce-checkout { color: var(--aas-texte); font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif; }

/* Étapes : Panier → Coordonnées et paiement → Confirmation */
body.aa-tunnel .aa-etapes {
    display: flex; justify-content: center; align-items: center; gap: 10px;
    list-style: none; margin: 4px auto 26px !important; padding: 0 !important; flex-wrap: wrap;
}
body.aa-tunnel .aa-etapes li {
    display: inline-flex; align-items: center; gap: 8px; margin: 0 !important;
    color: var(--aas-doux); font-size: 0.82rem; font-weight: 600; letter-spacing: 0.02em;
}
body.aa-tunnel .aa-etapes li + li::before { content: ''; width: 28px; height: 1px; background: var(--aas-ligne); margin-right: 2px; }
body.aa-tunnel .aa-etapes .aa-etape-num {
    width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--aas-ligne); font-size: 0.78rem; color: var(--aas-doux);
}
body.aa-tunnel .aa-etapes .is-fait .aa-etape-num { border-color: rgba(232, 194, 122, 0.5); color: var(--aas-or); }
body.aa-tunnel .aa-etapes .is-actif { color: var(--aas-texte); }
body.aa-tunnel .aa-etapes .is-actif .aa-etape-num {
    background: linear-gradient(135deg, #F3D79B, #D9A954); border-color: transparent; color: #1A1433;
    box-shadow: 0 0 0 4px rgba(232, 194, 122, 0.14);
}

/* Cartes : articles, récapitulatif, étapes de la commande */
body.aa-tunnel .wc-block-cart-items,
body.aa-tunnel .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
body.aa-tunnel .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.aa-tunnel .wc-block-checkout__main .wc-block-components-checkout-step,
body.aa-tunnel .checkout-order-summary-block-fill {
    background: var(--aas-carte) !important;
    border: 1px solid var(--aas-bord) !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 60px -40px rgba(169, 155, 255, 0.55);
}
body.aa-tunnel .wc-block-cart-items { border-collapse: separate !important; border-spacing: 0; overflow: hidden; }
body.aa-tunnel .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
body.aa-tunnel .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { padding: 6px 20px 10px; }
body.aa-tunnel .wc-block-checkout__main .wc-block-components-checkout-step { padding: 20px 22px 14px !important; margin: 0 0 16px !important; }

/* Titres */
body.aa-tunnel .wc-block-cart__totals-title,
body.aa-tunnel .wc-block-components-checkout-step__title,
body.aa-tunnel .wc-block-components-express-payment__title,
body.aa-tunnel .wc-block-components-checkout-order-summary__title-text,
body.aa-tunnel .wc-block-cart-items__header,
body.aa-tunnel .wc-block-cart-items__header th {
    color: var(--aas-or) !important;
}
body.aa-tunnel .wc-block-components-checkout-step__title,
body.aa-tunnel .wc-block-components-express-payment__title,
body.aa-tunnel .wc-block-components-checkout-order-summary__title-text {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.45rem !important;
    font-weight: 600 !important;
}
body.aa-tunnel .wc-block-cart__totals-title {
    font-size: 0.75rem !important; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700 !important;
    padding: 14px 0 8px !important; margin: 0 !important;
}
body.aa-tunnel .wc-block-cart-items__header th { font-size: 0.72rem !important; letter-spacing: 0.16em; text-transform: uppercase; padding: 16px 18px 10px !important; border: 0 !important; background: transparent !important; }
body.aa-tunnel .wc-block-components-checkout-step__description { color: var(--aas-doux) !important; }

/* Lignes du panier */
body.aa-tunnel .wc-block-cart-items td { border-top: 1px solid rgba(255, 255, 255, 0.07) !important; padding: 18px !important; background: transparent !important; }
body.aa-tunnel .wc-block-cart-item__image img,
body.aa-tunnel .wc-block-components-order-summary-item__image img {
    border-radius: 14px !important; border: 1px solid var(--aas-bord) !important;
    background: radial-gradient(circle at 50% 35%, #2A2350, #120E28 75%);
}
body.aa-tunnel .wc-block-components-product-name {
    color: var(--aas-texte) !important; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.3rem !important; font-weight: 600; text-decoration: none !important; line-height: 1.2;
}
body.aa-tunnel a.wc-block-components-product-name:hover { color: var(--aas-or) !important; }
body.aa-tunnel .wc-block-components-product-metadata,
body.aa-tunnel .wc-block-components-product-metadata p { color: var(--aas-doux) !important; font-size: 0.85rem !important; }
body.aa-tunnel .wc-block-cart-item__prices,
body.aa-tunnel .wc-block-components-product-price { color: var(--aas-doux) !important; }
body.aa-tunnel .wc-block-cart-item__total,
body.aa-tunnel .wc-block-cart-item__total .wc-block-components-product-price,
body.aa-tunnel .wc-block-components-order-summary-item__total-price { color: var(--aas-texte) !important; font-weight: 700; }
body.aa-tunnel .wc-block-cart-item__remove-link {
    color: var(--aas-doux) !important; opacity: 0.85; border-radius: 50%; padding: 4px !important; transition: color 0.2s, background 0.2s;
}
body.aa-tunnel .wc-block-cart-item__remove-link:hover { color: #FF9E9E !important; background: rgba(255, 138, 138, 0.1) !important; opacity: 1; }
body.aa-tunnel .wc-block-components-quantity-selector { border-color: var(--aas-ligne) !important; border-radius: 12px !important; background: rgba(8, 6, 20, 0.5) !important; }
body.aa-tunnel .wc-block-components-quantity-selector input,
body.aa-tunnel .wc-block-components-quantity-selector button { color: var(--aas-texte) !important; background: transparent !important; }
body.aa-tunnel .wc-block-components-order-summary-item__quantity {
    background: linear-gradient(135deg, #F3D79B, #D9A954) !important; color: #1A1433 !important; border: 0 !important; box-shadow: 0 0 0 2px #17132E !important;
}

/* Totaux, code promo */
body.aa-tunnel .wc-block-components-totals-wrapper { border-top: 1px solid rgba(255, 255, 255, 0.08) !important; }
body.aa-tunnel .wc-block-components-totals-item__label,
body.aa-tunnel .wc-block-components-totals-item__value { color: var(--aas-texte) !important; }
body.aa-tunnel .wc-block-components-totals-item__description,
body.aa-tunnel .wc-block-components-totals-footer-item-tax { color: var(--aas-doux) !important; }
body.aa-tunnel .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.4rem !important; font-weight: 600; }
body.aa-tunnel .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.aa-tunnel .wc-block-components-totals-footer-item-tax-value { color: var(--aas-or) !important; font-size: 1.5rem !important; font-weight: 700 !important; }
body.aa-tunnel .wc-block-components-panel__button,
body.aa-tunnel .wc-block-components-panel__button:hover { color: var(--aas-doux) !important; font-size: 0.9rem !important; }
body.aa-tunnel .wc-block-components-panel__button-icon,
body.aa-tunnel .wc-block-components-checkout-order-summary__title-icon { fill: var(--aas-or) !important; color: var(--aas-or) !important; }
body.aa-tunnel .wc-block-components-checkout-order-summary__title-price { color: var(--aas-or) !important; font-weight: 700; }

/* Boutons principaux : or */
body.aa-tunnel .wc-block-cart__submit-button,
body.aa-tunnel .wc-block-components-checkout-place-order-button,
body.aa-tunnel .wc-block-components-totals-coupon__button,
body.aa-tunnel .wc-block-components-button.contained {
    background: linear-gradient(135deg, #F3D79B 0%, #E8C27A 50%, #D9A954 100%) !important;
    color: #1A1433 !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em;
    min-height: 54px;
    box-shadow: 0 16px 34px -18px rgba(232, 194, 122, 0.8) !important;
    transition: transform 0.18s, box-shadow 0.18s, filter 0.18s;
    text-decoration: none !important;
}
body.aa-tunnel .wc-block-cart__submit-button:hover,
body.aa-tunnel .wc-block-components-checkout-place-order-button:hover,
body.aa-tunnel .wc-block-components-button.contained:hover { transform: translateY(-1px); filter: brightness(1.04); box-shadow: 0 20px 40px -18px rgba(232, 194, 122, 0.95) !important; }
body.aa-tunnel .wc-block-components-button.contained .wc-block-components-button__text { color: #1A1433 !important; }
body.aa-tunnel .wc-block-components-checkout-return-to-cart-button { color: var(--aas-doux) !important; }
body.aa-tunnel .wc-block-components-checkout-return-to-cart-button svg { fill: currentColor; }

/* « Ou » entre paiement express et suite */
body.aa-tunnel .wc-block-components-express-payment-continue-rule { color: var(--aas-doux) !important; }
body.aa-tunnel .wc-block-components-express-payment-continue-rule::before,
body.aa-tunnel .wc-block-components-express-payment-continue-rule::after { border-color: var(--aas-ligne) !important; background: var(--aas-ligne) !important; }
body.aa-tunnel .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content {
    border-color: rgba(232, 194, 122, 0.3) !important; border-radius: 0 0 20px 20px !important; background: rgba(18, 14, 38, 0.6) !important;
}
body.aa-tunnel .wc-block-components-express-payment__title-container::before,
body.aa-tunnel .wc-block-components-express-payment__title-container::after { border-color: rgba(232, 194, 122, 0.3) !important; }
body.aa-tunnel .wc-block-components-express-payment__title { font-family: 'Manrope', system-ui, sans-serif !important; font-size: 1.05rem !important; font-weight: 600 !important; color: var(--aas-doux) !important; }
/* Récapitulatif (téléphone et tablette : en tête et en bas de la colonne) */
body.aa-tunnel .wc-block-components-checkout-order-summary__title { border: 0 !important; }
body.aa-tunnel .checkout-order-summary-block-fill { padding: 4px 16px 8px !important; }
body.aa-tunnel .checkout-order-summary-block-fill *,
body.aa-tunnel .wp-block-woocommerce-checkout-order-summary-block *,
body.aa-tunnel .wp-block-woocommerce-cart-order-summary-block * { border-color: rgba(255, 255, 255, 0.08) !important; }

/* Champs */
/* :not() : plus fort que la règle du kit Elementor qui force les champs en gris clair (!important) */
body.aa-tunnel .wc-block-components-text-input input:not([type="checkbox"]):not([type="radio"]),
body.aa-tunnel .wc-block-components-text-input textarea:not([readonly]):not([hidden]),
body.aa-tunnel .wc-blocks-components-select .wc-blocks-components-select__select:not([multiple]):not([size]),
body.aa-tunnel .wc-block-components-combobox .wc-block-components-combobox-control input:not([type="checkbox"]):not([type="radio"]),
body.aa-tunnel textarea.wc-block-components-textarea:not([readonly]):not([hidden]),
body.aa-tunnel .wc-block-components-totals-coupon__input input:not([type="checkbox"]):not([type="radio"]) {
    background: rgba(8, 6, 20, 0.6) !important;
    border: 1px solid var(--aas-ligne) !important;
    border-radius: 14px !important;
    color: var(--aas-texte) !important;
    box-shadow: none !important;
    color-scheme: dark;
}
body.aa-tunnel .wc-blocks-components-select__container { background: transparent !important; border-radius: 14px !important; }
body.aa-tunnel .wc-blocks-components-select .wc-blocks-components-select__select:not([multiple]):not([size]) {
    padding: 20px 40px 4px 14px !important; height: 54px !important; line-height: 1.3 !important; font-size: 1rem !important;
}
body.aa-tunnel .wc-blocks-components-select .wc-blocks-components-select__label { left: 15px !important; top: 7px !important; font-size: 0.72rem !important; }
body.aa-tunnel .wc-blocks-components-select__select option { background: #17132E; color: var(--aas-texte); }
body.aa-tunnel .wc-blocks-components-select__expand { fill: var(--aas-or) !important; }
body.aa-tunnel .wc-block-components-text-input label,
body.aa-tunnel .wc-blocks-components-select__label,
body.aa-tunnel .wc-block-components-combobox .wc-block-components-combobox-control label { color: var(--aas-doux) !important; }
body.aa-tunnel .wc-block-components-text-input input:not([type="checkbox"]):not([type="radio"]):focus,
body.aa-tunnel .wc-blocks-components-select .wc-blocks-components-select__select:not([multiple]):not([size]):focus,
body.aa-tunnel textarea.wc-block-components-textarea:not([readonly]):not([hidden]):focus {
    border-color: var(--aas-or) !important;
    box-shadow: 0 0 0 3px rgba(232, 194, 122, 0.2) !important;
    outline: none !important;
}
body.aa-tunnel .wc-block-components-text-input.has-error input,
body.aa-tunnel .wc-block-components-validation-error { border-color: #FF8A80 !important; color: #FF9E9E !important; }
body.aa-tunnel .wc-block-components-address-form__address_2-toggle,
body.aa-tunnel .wc-block-components-address-card__edit,
body.aa-tunnel .wc-block-checkout__terms a,
body.aa-tunnel .wc-block-components-checkout-step a { color: var(--aas-or) !important; }
body.aa-tunnel .wc-block-components-address-card { background: rgba(8, 6, 20, 0.4) !important; border: 1px solid var(--aas-ligne) !important; border-radius: 14px !important; color: var(--aas-texte) !important; }

/* Cases et boutons radio (moyens de paiement) */
body.aa-tunnel .wc-block-components-checkbox .wc-block-components-checkbox__input,
body.aa-tunnel .wc-block-components-radio-control__input {
    background: rgba(8, 6, 20, 0.6) !important; border: 1px solid #4A4380 !important;
}
body.aa-tunnel .wc-block-components-checkbox .wc-block-components-checkbox__input:checked { background: #E8C27A !important; border-color: #E8C27A !important; }
body.aa-tunnel .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #1A1433 !important; }
body.aa-tunnel .wc-block-components-radio-control__input:checked { border-color: #E8C27A !important; }
body.aa-tunnel .wc-block-components-radio-control__input:checked::before { background: #E8C27A !important; }
body.aa-tunnel .wc-block-components-checkbox__label,
body.aa-tunnel .wc-block-components-radio-control__label,
body.aa-tunnel .wc-block-components-radio-control__secondary-label,
body.aa-tunnel .wc-block-components-radio-control__description,
body.aa-tunnel .wc-block-checkout__terms { color: var(--aas-texte) !important; }
body.aa-tunnel .wc-block-checkout__terms { color: var(--aas-doux) !important; font-size: 0.85rem; }
body.aa-tunnel .wc-block-components-radio-control--highlight-checked::after,
body.aa-tunnel .wc-block-components-radio-control-accordion-option,
body.aa-tunnel .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    border-color: var(--aas-bord) !important; box-shadow: none !important; border-radius: 16px !important;
}
body.aa-tunnel .wc-block-components-radio-control-accordion-option--checked-option-highlighted { background: rgba(232, 194, 122, 0.06) !important; box-shadow: inset 0 0 0 1px rgba(232, 194, 122, 0.55) !important; }
body.aa-tunnel .wc-block-components-radio-control-accordion-content { color: var(--aas-texte) !important; }
body.aa-tunnel .payment-methods--logos-count { background: var(--aas-surface-2) !important; color: var(--aas-doux) !important; border-radius: 6px; }

/* Squelettes de chargement, messages */
body.aa-tunnel .wc-block-components-skeleton__element { background: rgba(255, 255, 255, 0.06) !important; }
body.aa-tunnel .wc-block-components-skeleton__element::after { background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.06), transparent) !important; }
body.aa-tunnel .wc-block-components-notice-banner {
    background: rgba(29, 24, 57, 0.95) !important; border: 1px solid var(--aas-bord) !important; border-radius: 16px !important; color: var(--aas-texte) !important;
}
body.aa-tunnel .wc-block-components-notice-banner.is-error { border-color: rgba(255, 138, 128, 0.6) !important; }
body.aa-tunnel .wc-block-components-notice-banner.is-success { border-color: rgba(142, 220, 154, 0.6) !important; }
body.aa-tunnel .wc-block-components-notice-banner > svg { fill: var(--aas-or) !important; background: transparent !important; }

/* Panier vide : message et nouveautés */
body.aa-tunnel .wc-block-cart__empty-cart__title { color: var(--aas-texte) !important; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.8rem !important; font-weight: 600; }
body.aa-tunnel .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { background-color: rgba(180, 174, 214, 0.45) !important; width: 4em !important; height: 4em !important; mask-size: contain; -webkit-mask-size: contain; }
body.aa-tunnel .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) { color: var(--aas-or) !important; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; }
body.aa-tunnel .wp-block-separator.is-style-dots::before { color: var(--aas-or) !important; }
body.aa-tunnel .wc-block-grid__product {
    background: var(--aas-carte); border: 1px solid var(--aas-bord) !important; border-radius: 20px; padding: 12px !important; text-align: center;
}
body.aa-tunnel .wc-block-grid__product-image img { border-radius: 14px; border: 0 !important; }
body.aa-tunnel .wc-block-grid__product-title { color: var(--aas-texte) !important; font-weight: 700; font-size: 0.95rem !important; }
body.aa-tunnel .wc-block-grid__product-price { color: var(--aas-or) !important; font-weight: 700; }
body.aa-tunnel .wc-block-grid__product .wp-block-button__link,
body.aa-tunnel .wc-block-grid__product .add_to_cart_button {
    background: linear-gradient(135deg, #F3D79B, #D9A954) !important; color: #1A1433 !important; border-radius: 999px !important; font-weight: 800 !important; border: 0 !important;
}

/* Page de confirmation de commande */
body.aa-tunnel .woocommerce-order { color: var(--aas-texte); }
body.aa-tunnel .woocommerce-thankyou-order-received,
body.aa-tunnel .woocommerce-notice--success {
    font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.6rem !important; color: var(--aas-or) !important; text-align: center;
    background: var(--aas-carte) !important; border: 1px solid var(--aas-bord) !important; border-radius: 20px; padding: 18px !important;
}
body.aa-tunnel ul.woocommerce-order-overview {
    display: flex; flex-wrap: wrap; gap: 10px; padding: 0 !important; margin: 18px 0 !important;
}
body.aa-tunnel ul.woocommerce-order-overview li {
    flex: 1 1 160px; float: none !important; margin: 0 !important; padding: 14px 16px !important; border: 1px solid var(--aas-ligne) !important;
    border-radius: 16px; background: rgba(8, 6, 20, 0.4); color: var(--aas-doux) !important; font-size: 0.72rem !important; letter-spacing: 0.12em;
}
body.aa-tunnel ul.woocommerce-order-overview li strong { display: block; margin-top: 6px; color: var(--aas-texte) !important; font-size: 1rem !important; letter-spacing: 0; text-transform: none; }

/* Mobile */
@media (max-width: 768px) {
    body.aa-tunnel .aa-etapes { gap: 6px; }
    body.aa-tunnel .aa-etapes li { font-size: 0.72rem; }
    body.aa-tunnel .aa-etapes li + li::before { width: 14px; }
    body.aa-tunnel .wc-block-checkout__main .wc-block-components-checkout-step { padding: 16px 14px 10px !important; }
    body.aa-tunnel .wc-block-cart-items td { padding: 14px 12px !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   MON COMPTE ET CONFIRMATION : tableaux (commandes, détails) et cartes d'adresse
   Astra peint l'en-tête des tableaux et le titre des cartes d'adresse en #fbfbfb (quasi blanc) :
   le texte clair du site y devenait illisible.
   ═══════════════════════════════════════════════════════════════════════════════ */
body.woocommerce-account,
body.aa-tunnel { --ast-wc-container-head-bg-color: #1D1839; }
body.woocommerce-account table.shop_table,
body.woocommerce-account table.woocommerce-orders-table,
body.woocommerce-account table.woocommerce-table,
body.aa-tunnel table.shop_table {
    background: linear-gradient(180deg, rgba(29, 24, 57, 0.92), rgba(18, 14, 38, 0.92)) !important;
    border: 1px solid rgba(232, 194, 122, 0.22) !important;
    border-radius: 18px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
    color: #EDE9FF !important;
}
body.woocommerce-account table.shop_table thead,
body.woocommerce-account table.shop_table thead tr,
body.woocommerce-account table.shop_table thead th,
body.aa-tunnel table.shop_table thead,
body.aa-tunnel table.shop_table thead th {
    background: rgba(232, 194, 122, 0.08) !important;
    color: #E8C27A !important;
    font-size: 0.74rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border: 0 !important;
}
body.woocommerce-account table.shop_table th,
body.woocommerce-account table.shop_table td,
body.aa-tunnel table.shop_table th,
body.aa-tunnel table.shop_table td {
    background: transparent !important;
    color: #EDE9FF !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    padding: 14px 16px !important;
}
body.woocommerce-account table.shop_table tbody th,
body.woocommerce-account table.shop_table tfoot th,
body.aa-tunnel table.shop_table tfoot th { color: #B4AED6 !important; font-weight: 600 !important; }
body.woocommerce-account table.shop_table tfoot tr:last-child td,
body.aa-tunnel table.shop_table tfoot tr:last-child td { color: #E8C27A !important; font-weight: 700 !important; }
body.woocommerce-account table.shop_table tbody tr:hover td { background: rgba(255, 255, 255, 0.025) !important; }
body.woocommerce-account table.shop_table a,
body.aa-tunnel table.shop_table a { color: #E8C27A !important; text-decoration: none; font-weight: 600; }
body.woocommerce-account .woocommerce-orders-table__cell-order-status { color: #B4AED6 !important; }
body.woocommerce-account table.shop_table .button,
body.woocommerce-account .woocommerce-orders-table .button,
body.woocommerce-account .woocommerce-MyAccount-content .button {
    background: transparent !important; color: #E8C27A !important; border: 1px solid rgba(232, 194, 122, 0.55) !important;
    border-radius: 999px !important; padding: 7px 16px !important; font-weight: 700 !important; font-size: 0.85rem !important;
}
body.woocommerce-account table.shop_table .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .button:hover { background: rgba(232, 194, 122, 0.12) !important; }
/* Mobile : le tableau des commandes devient des cartes (WooCommerce ajoute data-title) */
@media (max-width: 768px) {
    body.woocommerce-account table.shop_table_responsive tbody tr { display: block; border-top: 1px solid rgba(255, 255, 255, 0.08); }
    body.woocommerce-account table.shop_table_responsive tbody td::before { color: #B4AED6 !important; font-weight: 600; }
}

/* Cartes d'adresse : titre (Adresse de facturation, de livraison) et contenu */
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title,
body.woocommerce-account .woocommerce-Addresses .woocommerce-column__title,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title,
body.woocommerce-account .woocommerce-customer-details .woocommerce-column__title,
body.aa-tunnel .woocommerce-customer-details .woocommerce-column__title {
    background: transparent !important;
    border: 0 !important;
    padding: 0 0 10px !important;
    margin: 0 0 10px !important;
    border-bottom: 1px solid rgba(232, 194, 122, 0.22) !important;
    color: #E8C27A !important;
}
body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-Address-title h3,
body.woocommerce-account .woocommerce-column__title,
body.aa-tunnel .woocommerce-column__title,
body.aa-tunnel .woocommerce-order-details__title,
body.aa-tunnel .woocommerce-column__title h2,
body.woocommerce-account .woocommerce-order-details__title,
body.woocommerce-account .woocommerce-customer-details h2 {
    color: #E8C27A !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 600 !important;
    font-size: 1.5rem !important;
    margin: 0 !important;
}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account .woocommerce-Addresses .u-column1,
body.woocommerce-account .woocommerce-Addresses .u-column2,
body.woocommerce-account .woocommerce-customer-details .woocommerce-column,
body.aa-tunnel .woocommerce-customer-details .woocommerce-column {
    background: linear-gradient(180deg, rgba(29, 24, 57, 0.92), rgba(18, 14, 38, 0.92)) !important;
    border: 1px solid rgba(232, 194, 122, 0.22) !important;
    border-radius: 20px !important;
    padding: 18px 20px !important;
    color: #EDE9FF !important;
}
body.woocommerce-account .woocommerce-Addresses address,
body.woocommerce-account .woocommerce-MyAccount-content address,
body.woocommerce-account .woocommerce-customer-details address,
body.aa-tunnel .woocommerce-customer-details address {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    color: #EDE9FF !important;
    font-style: normal;
    line-height: 1.7;
}
body.woocommerce-account .woocommerce-customer-details--email,
body.woocommerce-account .woocommerce-customer-details--phone,
body.aa-tunnel .woocommerce-customer-details--email,
body.aa-tunnel .woocommerce-customer-details--phone { color: #B4AED6 !important; }
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title .edit,
body.woocommerce-account .woocommerce-Addresses a.edit { color: #E8C27A !important; font-weight: 700; font-size: 0.85rem; text-decoration: none; }
/* Détail d'une commande : statut et dates */
body.woocommerce-account .woocommerce-MyAccount-content mark {
    background: rgba(232, 194, 122, 0.14) !important; color: #E8C27A !important; border-radius: 6px; padding: 1px 6px;
}

/* Champs des formulaires du compte (adresses, Mes infos) : plus forts que le kit Elementor */
body.woocommerce-account .woocommerce-MyAccount-content input.input-text:not([type="checkbox"]):not([type="radio"]),
body.woocommerce-account .woocommerce-MyAccount-content textarea:not([readonly]):not([hidden]),
body.woocommerce-account .woocommerce-MyAccount-content select:not([multiple]):not([size]) {
    background: rgba(8, 6, 20, 0.6) !important;
    border: 1px solid #2C2652 !important;
    border-radius: 14px !important;
    color: #EDE9FF !important;
    box-shadow: none !important;
    color-scheme: dark;
}
body.woocommerce-account .woocommerce-MyAccount-content input.input-text:not([type="checkbox"]):not([type="radio"]):focus,
body.woocommerce-account .woocommerce-MyAccount-content textarea:not([readonly]):not([hidden]):focus {
    border-color: #E8C27A !important; box-shadow: 0 0 0 3px rgba(232, 194, 122, 0.22) !important; outline: none;
}

/* ═══ Réponse immédiate au toucher ═══ */
/* Pas d'attente de double-tap (zoom) sur les éléments cliquables, pas de flash gris d'Android */
a, button, [role="button"], [role="radio"], input[type="submit"], input[type="button"], label, select, summary {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
/* Retour visuel dès l'appui (avant même la réponse du serveur) */
button:active, [role="button"]:active, input[type="submit"]:active, .button:active, .btn-primary:active, .btn-secondary:active, .elementor-button:active {
    transform: scale(0.97);
    transition: transform 0.06s ease-out;
}
.aa-envoi { opacity: 0.75; cursor: progress; }
/* Barre de chargement : seule une transformation est animée (aucune peinture pendant l'attente) */
#aa-nav-barre {
    position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 100000; pointer-events: none;
    background: linear-gradient(90deg, #A99BFF, #E8C27A, #F6DFA8);
    transform-origin: 0 50%; transform: scaleX(0); opacity: 0;
}
#aa-nav-barre.aa-actif { opacity: 1; animation: aaNavBarre 8s cubic-bezier(0.1, 0.7, 0.2, 1) forwards; }
@keyframes aaNavBarre { 0% { transform: scaleX(0); } 10% { transform: scaleX(0.35); } 100% { transform: scaleX(0.92); } }
body.admin-bar #aa-nav-barre { top: 32px; }
@media (max-width: 782px) { body.admin-bar #aa-nav-barre { top: 46px; } }
@media (prefers-reduced-motion: reduce) { #aa-nav-barre.aa-actif { animation: none; transform: scaleX(0.6); } }

/* Panier et commande sur mobile : contenu centré, marges de 16 px (Astra laissait 10 % de chaque côté
   et le bloc panier « alignwide » était décalé de 20 px vers la gauche) */
@media (max-width: 921px) {
    body.aa-tunnel .ast-container { margin-left: 16px !important; margin-right: 16px !important; max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
    body.aa-tunnel .entry-content .alignwide,
    body.aa-tunnel .entry-content .alignfull { margin-left: 0 !important; margin-right: 0 !important; width: auto !important; max-width: 100% !important; }
    body.aa-tunnel .wc-block-cart-items { width: 100% !important; max-width: 100% !important; }
}

/* ═══════════════════════════════════════════════════════════════
   PANNEAU LATÉRAL DU PANIER (ordinateur, icône panier de l'en-tête)
   Palette « ciel de nuit » : carte par article, total en évidence, « Commander » en bouton doré
   ═══════════════════════════════════════════════════════════════ */
.astra-mobile-cart-overlay { background: rgba(6, 4, 16, 0.62) !important; }
body .astra-cart-drawer {
    width: 440px !important; max-width: 92vw !important;
    background: radial-gradient(120% 60% at 100% 0%, rgba(169, 155, 255, 0.14), transparent 60%), linear-gradient(180deg, #17132E 0%, #0E0B1F 100%) !important;
    color: #EDE9FF !important;
    border-left: 1px solid rgba(232, 194, 122, 0.22);
    border-radius: 22px 0 0 22px;
    box-shadow: -24px 0 60px -12px rgba(0, 0, 0, 0.7);
    font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
    transition: right 0.32s cubic-bezier(0.22, 1, 0.36, 1), left 0.32s cubic-bezier(0.22, 1, 0.36, 1), transform 0.32s cubic-bezier(0.22, 1, 0.36, 1) !important;
    display: flex; flex-direction: column; overflow: hidden;
}
body .astra-cart-drawer .astra-cart-drawer-header {
    position: relative !important; top: auto !important; left: auto !important; width: auto !important; flex: 0 0 auto;
    display: flex; align-items: center; flex-direction: row-reverse; justify-content: space-between;
    padding: 22px 22px 18px 26px !important; border: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: transparent !important;
}
body .astra-cart-drawer .astra-cart-drawer-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important; font-size: 1.75rem !important; font-weight: 600 !important;
    line-height: 1.1 !important; color: #F6DFA8 !important; text-align: left !important; padding: 0 !important; letter-spacing: 0.01em;
}
body .astra-cart-drawer .astra-cart-drawer-close {
    position: static !important; width: 40px !important; height: 40px !important; padding: 0 !important;
    display: grid !important; place-items: center; border-radius: 50% !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important; background: rgba(255, 255, 255, 0.04) !important; color: #EDE9FF !important;
    cursor: pointer; transition: background 0.15s, border-color 0.15s, transform 0.15s;
}
body .astra-cart-drawer .astra-cart-drawer-close:hover { background: rgba(232, 194, 122, 0.12) !important; border-color: rgba(232, 194, 122, 0.5) !important; transform: rotate(90deg); }
body .astra-cart-drawer .astra-cart-drawer-close svg { width: 16px !important; height: 16px !important; fill: currentColor !important; }
body .astra-cart-drawer .astra-cart-drawer-content { flex: 1 1 auto; overflow-y: auto; padding: 18px 22px 22px !important; display: flex; flex-direction: column; }
body .astra-cart-drawer .widget_shopping_cart, body .astra-cart-drawer .widget_shopping_cart_content { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; height: auto !important; }
body .astra-cart-drawer .woocommerce-mini-cart { flex: 1 1 auto; margin: 0 !important; padding: 0 !important; list-style: none; overflow: visible !important; }

/* Articles */
body .astra-cart-drawer .woocommerce-mini-cart-item {
    position: relative; display: grid !important; grid-template-columns: 64px 1fr; column-gap: 14px; row-gap: 4px; align-items: center;
    margin: 0 0 12px !important; padding: 14px 44px 14px 14px !important; min-height: 0 !important;
    background: rgba(255, 255, 255, 0.035) !important; border: 1px solid rgba(255, 255, 255, 0.08) !important; border-radius: 16px;
    transition: border-color 0.15s, background 0.15s;
}
body .astra-cart-drawer .woocommerce-mini-cart-item:hover { border-color: rgba(232, 194, 122, 0.35) !important; background: rgba(232, 194, 122, 0.05) !important; }
body .astra-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
    display: contents !important; color: #EDE9FF !important; font-weight: 700 !important; font-size: 0.98rem !important; line-height: 1.3; text-decoration: none !important;
}
body .astra-cart-drawer .woocommerce-mini-cart-item img {
    position: static !important; top: auto !important; left: auto !important; transform: none !important;
    grid-row: 1 / span 2; width: 64px !important; height: 64px !important; margin: 0 !important; float: none !important;
    object-fit: cover; border-radius: 14px; box-shadow: 0 0 0 1px rgba(232, 194, 122, 0.3), 0 8px 18px -10px rgba(169, 155, 255, 0.6);
}
body .astra-cart-drawer .woocommerce-mini-cart-item .quantity {
    grid-column: 2; display: block !important; color: #B4AED6 !important; font-size: 0.86rem !important; margin: 0 !important;
}
body .astra-cart-drawer .woocommerce-mini-cart-item .quantity .amount { color: #E8C27A !important; font-weight: 700; }
body .astra-cart-drawer .woocommerce-mini-cart-item .variation { grid-column: 2; margin: 0 !important; color: #B4AED6; font-size: 0.8rem; }
body .astra-cart-drawer .woocommerce-mini-cart-item a.remove {
    position: absolute !important; top: 50% !important; right: 12px !important; left: auto !important; transform: translateY(-50%);
    width: 28px !important; height: 28px !important; display: grid !important; place-items: center; border-radius: 50% !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important; background: transparent !important; color: #D4CEF2 !important; font-size: 0 !important;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
}
body .astra-cart-drawer .woocommerce-mini-cart-item a.remove:hover { color: #FF8A8A !important; border-color: rgba(255, 138, 138, 0.5) !important; background: rgba(255, 138, 138, 0.08) !important; }
body .astra-cart-drawer .woocommerce-mini-cart-item a.remove svg { width: 12px !important; height: 12px !important; fill: currentColor !important; }

/* Total et boutons, collés en bas du panneau */
body .astra-cart-drawer .woocommerce-mini-cart__total {
    display: flex !important; justify-content: space-between; align-items: baseline; margin: 8px 0 0 !important; padding: 18px 2px 14px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important; border-bottom: 0 !important; background: transparent !important;
}
body .astra-cart-drawer .woocommerce-mini-cart__total strong { color: #B4AED6 !important; font-weight: 600 !important; font-size: 0.92rem; text-transform: uppercase; letter-spacing: 0.12em; }
body .astra-cart-drawer .woocommerce-mini-cart__total .amount { color: #F6DFA8 !important; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.7rem !important; font-weight: 700 !important; }
body .astra-cart-drawer .woocommerce-mini-cart__buttons { display: flex !important; flex-direction: column-reverse; gap: 10px; margin: 0 !important; padding: 0 !important; }
body .astra-cart-drawer .woocommerce-mini-cart__buttons a.button {
    display: flex !important; align-items: center; justify-content: center; width: 100% !important; margin: 0 !important; min-height: 50px;
    padding: 0 22px !important; border-radius: 999px !important; font-family: inherit !important; font-size: 0.98rem !important; font-weight: 700 !important;
    letter-spacing: 0.01em; text-decoration: none !important; transition: transform 0.15s, box-shadow 0.15s, background 0.15s, border-color 0.15s;
    background: transparent !important; color: #EDE9FF !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; box-shadow: none !important;
}
body .astra-cart-drawer .woocommerce-mini-cart__buttons a.button:hover { border-color: rgba(232, 194, 122, 0.6) !important; color: #F6DFA8 !important; }
body .astra-cart-drawer .woocommerce-mini-cart__buttons a.checkout {
    background: linear-gradient(135deg, #E8C27A, #F6DFA8) !important; color: #0E0B1F !important; border: 0 !important;
    box-shadow: 0 14px 30px -14px rgba(232, 194, 122, 0.8) !important;
}
body .astra-cart-drawer .woocommerce-mini-cart__buttons a.checkout:hover { transform: translateY(-1px); color: #0E0B1F !important; box-shadow: 0 18px 34px -14px rgba(232, 194, 122, 0.95) !important; }
body .astra-cart-drawer .woocommerce-mini-cart__buttons a.checkout::after { content: "→"; margin-left: 10px; font-weight: 700; }

/* Panier vide */
body .astra-cart-drawer .woocommerce-mini-cart__empty-message {
    margin: auto 0 !important; padding: 40px 10px !important; text-align: center; color: #B4AED6 !important; font-size: 1rem;
}
body .astra-cart-drawer .woocommerce-mini-cart__empty-message::before {
    content: "✦"; display: block; margin: 0 auto 14px; font-size: 2rem; color: #E8C27A; text-shadow: 0 0 18px rgba(232, 194, 122, 0.6);
}
@media (prefers-reduced-motion: reduce) { body .astra-cart-drawer { transition: none !important; } }
