/*
 * ═══════════════════════════════════════════════════════════════
 * ASSORTIS MOI — Design System v1.3
 * Flatsome Child Theme CSS Overrides — Fichier propre unifié
 * Dernière mise à jour : 23 mars 2026
 * ═══════════════════════════════════════════════════════════════
 */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,700;0,9..144,900;1,9..144,400&family=DM+Sans:wght@300;400;500;600;700&display=swap');

:root {
    --am-rose: #E8466A;
    --am-rose-hover: #F06B87;
    --am-rose-pale: #FDF0F3;
    --am-rose-mid: #FAD7DF;
    --am-rose-dark: #C53455;
    --am-dark: #1C1018;
    --am-text: #2A1520;
    --am-muted: #8C6070;
    --am-cream: #FFF8F5;
    --am-cream-dark: #F5EDE8;
    --am-white: #FFFFFF;
    --am-bg: #FEFBF9;
    --am-border: #F0E4E8;
    --am-border-dark: #E0CDD5;
    --am-green: #2E9E6B;
    --am-green-pale: #E8F8F0;
    --am-font-display: 'Playfair Display', Georgia, serif;
    --am-font-accent: 'Fraunces', Georgia, serif;
    --am-font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --am-radius-sm: 8px;
    --am-radius-md: 12px;
    --am-radius-lg: 16px;
    --am-radius-pill: 50px;
    --am-shadow-sm: 0 2px 8px rgba(28,16,24,.06);
    --am-shadow-md: 0 4px 20px rgba(28,16,24,.08);
    --am-shadow-lg: 0 8px 40px rgba(28,16,24,.12);
    --am-shadow-rose: 0 4px 15px rgba(232,70,106,.25);
}

/* ═══ 1. GLOBAL ═══ */
body { font-family: var(--am-font-body) !important; color: var(--am-text); background: var(--am-bg); line-height: 1.65; font-size: 15px; -webkit-font-smoothing: antialiased }
a { color: var(--am-rose); transition: color .2s } a:hover { color: var(--am-rose-hover) }
h1, h2, h3, .entry-title, .product-title, .shop-page-title, .category-title, .woocommerce-loop-product__title { font-family: var(--am-font-display) !important; color: var(--am-dark); line-height: 1.2 }
h1, .page-title { font-weight: 900 } h2, h3 { font-weight: 700 }
.breadcrumb-row, .breadcrumb, .woocommerce-breadcrumb { font-size: 13px; color: var(--am-muted) }
.breadcrumb a, .woocommerce-breadcrumb a { color: var(--am-muted) }
.breadcrumb a:hover, .woocommerce-breadcrumb a:hover { color: var(--am-rose) }

/* ═══ 2. BOUTONS ═══ */
.button, button.button, .button.primary, .button.alt, .checkout-button, input[type="submit"], .wc-forward, #place_order {
    background: var(--am-rose) !important; color: var(--am-white) !important; border: none !important;
    border-radius: var(--am-radius-pill) !important; font-family: var(--am-font-body) !important;
    font-weight: 600 !important; font-size: 14px !important; padding: 13px 32px !important;
    transition: all .25s !important; text-transform: none !important; letter-spacing: 0 !important; opacity: 1 !important;
}
.button:hover, button.button:hover, .button.primary:hover, .button.alt:hover, .checkout-button:hover, input[type="submit"]:hover, .wc-forward:hover, #place_order:hover {
    background: var(--am-rose-hover) !important; color: var(--am-white) !important;
    transform: translateY(-1px); box-shadow: var(--am-shadow-rose) !important;
}

/* ═══ 3. PRODUITS — Cards ═══ */
.product-small { background: var(--am-white); border-radius: var(--am-radius-lg); overflow: visible; transition: all .25s }
.product-small .box-text { background: var(--am-white); border-radius: 0 0 var(--am-radius-lg) var(--am-radius-lg) }
.product-small:hover { box-shadow: var(--am-shadow-md); transform: translateY(-3px) }
.product-small .box-image { border-radius: var(--am-radius-lg) var(--am-radius-lg) 0 0; overflow: visible; position: relative }
.product-small .box-image img { border-radius: var(--am-radius-lg) var(--am-radius-lg) 0 0 }
.product-small .product-title, .product-small .name { font-family: var(--am-font-body) !important; font-size: 13.5px !important; font-weight: 500; color: var(--am-dark); line-height: 1.4 }
.product-small .price, .woocommerce .price, .amount { color: var(--am-dark); font-weight: 600 }
.product-small .price del { color: var(--am-muted); opacity: .6 }
.product-small .price ins { color: var(--am-rose); font-weight: 700; text-decoration: none }
.badge-container .badge-inner, .onsale, .callout { background: var(--am-rose) !important; color: var(--am-white) !important; font-weight: 600; font-size: 11px; border-radius: var(--am-radius-sm) }
.star-rating span::before, .star-rating::before { color: #F5A623 !important }

/* ═══ 4. CATÉGORIES ═══ */
.shop-page-title, .category-title, .term-title { font-family: var(--am-font-display) !important; font-weight: 900; color: var(--am-dark) }
.woocommerce-result-count { font-size: 13px; color: var(--am-muted) }
.woocommerce-ordering select { border: 1.5px solid var(--am-border-dark) !important; border-radius: var(--am-radius-sm) !important; font-family: var(--am-font-body) !important; font-size: 13px }
.page-numbers li .current, .page-numbers li a:hover { background: var(--am-rose) !important; color: var(--am-white) !important }

/* ═══ 5. PANIER & CHECKOUT ═══ */
.cart-container th { background: var(--am-cream) !important; font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .5px; color: var(--am-muted) }
.cart-collaterals .cart_totals { background: var(--am-white); border-radius: var(--am-radius-lg); border: 1.5px solid var(--am-border); padding: 24px }
.woocommerce-checkout input[type="text"], .woocommerce-checkout input[type="email"], .woocommerce-checkout input[type="tel"], .woocommerce-checkout select, .woocommerce-checkout textarea, .form-row input, .form-row select, .form-row textarea {
    border: 1.5px solid var(--am-border-dark) !important; border-radius: var(--am-radius-sm) !important;
    padding: 12px 14px !important; font-family: var(--am-font-body) !important; font-size: 14px !important; transition: all .15s }
.woocommerce-checkout input:focus, .woocommerce-checkout select:focus, .form-row input:focus, .form-row select:focus {
    border-color: var(--am-rose) !important; box-shadow: 0 0 0 3px rgba(232,70,106,.1) !important; outline: none }

/* ═══ 6. FOOTER ═══ */
.footer-wrapper, #footer { background: var(--am-dark) !important; color: rgba(255,255,255,.7) }
.footer-wrapper a, #footer a { color: rgba(255,255,255,.8) !important } .footer-wrapper a:hover, #footer a:hover { color: var(--am-rose) !important }
.footer-wrapper h3, .footer-wrapper .widget-title, #footer h3, #footer .widget-title { font-family: var(--am-font-display) !important; color: var(--am-white) !important; font-weight: 700; font-size: 16px }
.absolute-footer { background: rgba(0,0,0,.2) !important; font-size: 12px }

/* ═══ 7. NEWSLETTER ═══ */
.newsletter-section, .section.has-equal, [class*="newsletter"], .bg-fill:has(.is-email-form) { background: var(--am-cream) !important }
.is-email-form, .newsletter-section form, [class*="newsletter"] form { display: flex !important; align-items: center !important; gap: 8px !important }
.is-email-form input[type="email"], .newsletter-section input[type="email"] {
    height: 48px !important; border-radius: var(--am-radius-pill) !important;
    border: 1.5px solid var(--am-border-dark) !important; padding: 0 20px !important; font-size: 14px !important }
.is-email-form button, .is-email-form input[type="submit"], .newsletter-section .button {
    height: 48px !important; border-radius: var(--am-radius-pill) !important; padding: 0 28px !important; white-space: nowrap !important }
/* Newsletter footer — fond beige + alignement */
.am-ft-nl { background: #FFF8F5 !important; border-top: 1px solid #F0E4E8 !important }
.am-ft-nl-form, .am-ft-nl .mc4wp-form { display: flex !important; align-items: center !important; gap: 8px !important }
.am-ft-nl-form input, .am-ft-nl .mc4wp-form input[type="email"] { height: 48px !important }
.am-ft-nl-form button, .am-ft-nl .mc4wp-form input[type="submit"] { height: 48px !important }

/* ═══ 8. MESSAGES ═══ */
.woocommerce-message, .woocommerce-info { border-top-color: var(--am-rose) !important; background: var(--am-rose-pale) !important }
.woocommerce-message::before, .woocommerce-info::before { color: var(--am-rose) !important }

/* ═══ 9. MEGA MENU FEATURED ═══ */
.am-mega-featured { padding: 16px !important; gap: 8px !important; justify-content: flex-start !important }
.am-mega-feat-photo { width: 100% !important; height: 120px !important; object-fit: cover !important; border-radius: 12px !important; box-shadow: 0 4px 12px rgba(28,16,24,.08) }
.am-mega-feat-emoji { height: 100px !important }
.am-mega-featured-name { font-size: 12.5px !important; margin-top: 2px }
.am-mega-featured-price { font-size: 13px !important; max-width: 200px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis }
.am-mega-featured-cta { margin-top: 4px !important; padding: 8px 18px !important }
.am-mega-feat-mini-img, .am-mega-feat-mini-emoji { width: 60px !important; height: 60px !important; border-radius: 12px !important }
.am-mega-feat-mini-img { object-fit: cover !important; box-shadow: 0 2px 8px rgba(28,16,24,.06) }
.am-mega-feat-mini { padding: 12px !important }
.am-mg3 { grid-template-columns: 1fr 1fr 260px !important }
/* Carte cadeau visuel */
.am-carte-cadeau { min-height: 120px !important; max-height: 160px !important; padding: 18px 16px !important; border-radius: 14px !important }
.am-cc-amount { font-size: 1.8rem !important }

/* ═══ 10. MASQUAGE SÉLECTEUR MANCHE ═══ */
.woocommerce-product-attributes-item--attribute_pa_type-de-manche,
tr[data-attribute_name="attribute_pa_type-de-manche"] { display: none !important }

/* ═══ 11. SUPPRESSION BLOC HEADER SPACER (garder breadcrumb) ═══ */
.am-header-spacer, [class*="header-spacer"],
.transparent-header-placeholder { display: none !important; height: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important }
/* Page header : compact, juste le breadcrumb */
.page-title-inner, .page-header { background: transparent !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important }
.page-header-title, .page-title-inner .page-title, .page-header .shop-page-title { display: none !important }

/* ═══════════════════════════════════════════════════════════════
 * 12-27. FICHE PRODUIT — Single Product
 * ═══════════════════════════════════════════════════════════════ */

/* ═══ 12. LAYOUT ═══ */
.single-product .product-container { padding-top: 10px !important; max-width: 1100px !important; margin: 0 auto !important }
.single-product .product-container .row { max-width: 1100px !important; margin: 0 auto !important }
.single-product .product-info { padding-top: 0 !important }

/* Catégorie au-dessus du titre */
.single-product .posted_in,
.single-product .product-info .product_meta .posted_in {
    display: block !important; font-size: 11px !important; font-weight: 600 !important;
    letter-spacing: 1.5px !important; text-transform: uppercase !important;
    color: #E8466A !important; margin-bottom: 6px !important; order: -1 !important;
}
.single-product .posted_in a { color: #E8466A !important; text-decoration: none !important }

/* Titre H1 */
.single-product .product-title.product_title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(1.4rem, 3vw, 1.8rem) !important; font-weight: 900 !important;
    color: #1C1018 !important; line-height: 1.2 !important; margin-bottom: 8px !important;
}

/* Avis sous le titre */
.single-product .star-rating { color: #F5A623 !important; font-size: 13px !important; margin-bottom: 0 !important }
.single-product .woocommerce-review-link { font-size: 12px !important; color: #8C6070 !important; text-decoration: none !important }

/* Prix */
.single-product .product-info .price,
.single-product .product-info .price .amount,
.single-product .product-info .price .woocommerce-Price-amount,
.single-product .summary .price,
.single-product .summary .price .amount {
    font-family: 'Playfair Display', Georgia, serif !important; font-size: 1.5rem !important;
    font-weight: 900 !important; color: #E8466A !important; margin-bottom: 18px !important;
}
.single-product .product-info .price del,
.single-product .product-info .price del .amount,
.single-product .summary .price del,
.single-product .summary .price del .amount { font-size: 1rem !important; color: #8C6070 !important; font-weight: 400 !important; opacity: .6 }
.single-product .product-info .price ins,
.single-product .summary .price ins { text-decoration: none !important; color: #E8466A !important }
.single-product .product-info .price .woocommerce-Price-amount,
.single-product .summary .price .woocommerce-Price-amount { font-size: inherit !important; color: inherit !important }

/* Short description */
.single-product .product-short-description { font-size: 13.5px !important; line-height: 1.7 !important; color: #8C6070 !important; margin-bottom: 14px !important }
.single-product .product-short-description p { font-size: 13.5px !important; margin-bottom: 6px !important }

/* Breadcrumb compact */
.single-product .breadcrumb-row { padding: 8px 0 !important }
.single-product .breadcrumbs, .single-product .woocommerce-breadcrumb {
    font-size: 12px !important; color: #8C6070 !important; padding: 14px 0 !important;
    display: flex !important; gap: 6px !important; align-items: center !important; flex-wrap: wrap !important;
}
.single-product .woocommerce-breadcrumb a { color: #8C6070 !important }
.single-product .woocommerce-breadcrumb a:hover { color: #E8466A !important }

/* Masquer SKU/Tags */
.single-product .product_meta .sku_wrapper,
.single-product .product_meta .tagged_as { display: none !important }

/* ═══ 13. GALERIE ═══ */
.single-product .product-gallery { max-width: 560px !important }
.single-product .product-gallery .slide,
.single-product .product-gallery .woocommerce-product-gallery__image {
    border-radius: 20px !important; overflow: hidden !important;
    border: 1.5px solid #F0E4E8 !important; background: #fff !important;
}
.single-product .product-gallery img { border-radius: 0 !important; object-fit: contain !important }
.single-product .product-gallery .flickity-slider img { border-radius: 0 !important }
.single-product .product-thumbnails .col { border-radius: 12px !important; overflow: hidden !important; border: 2px solid #F0E4E8 !important; transition: all .2s }
.single-product .product-thumbnails .col:hover,
.single-product .product-thumbnails .col.is-nav-selected { border-color: #E8466A !important }
.single-product .product-gallery-slider { margin-bottom: 10px !important }
.single-product .product-thumbnails { margin-bottom: 6px !important; gap: 8px !important }
/* Badge promo galerie */
.single-product .badge-container .badge-inner,
.single-product .onsale {
    background: #E8466A !important; color: #fff !important;
    font-size: 10px !important; font-weight: 600 !important; letter-spacing: .5px !important;
    padding: 5px 12px !important; border-radius: 50px !important; text-transform: uppercase !important;
}

/* ═══ 14. SÉLECTEURS VARIATIONS ═══ */
.single-product .variations { margin-bottom: 12px !important }
.single-product .variations tr { margin-bottom: 6px !important }
.single-product .variations td { padding: 4px 0 !important }
.single-product .variations .label label,
.single-product .variations th label {
    font-weight: 600 !important; font-size: 12px !important; color: #1C1018 !important; text-transform: none !important;
}
.single-product .variations select {
    width: 100% !important; padding: 10px 12px !important; font-size: 13px !important;
    height: auto !important; border: 1.5px solid #E0CDD5 !important; border-radius: 8px !important;
    font-family: 'DM Sans', sans-serif !important; color: #2A1520 !important; background: #fff !important;
    outline: none !important; appearance: none !important; -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 5 5-5' stroke='%238C6070' stroke-width='1.2' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important; background-position: right 10px center !important;
    padding-right: 28px !important; transition: border-color .2s !important;
}
.single-product .variations select:focus { border-color: #E8466A !important; box-shadow: 0 0 0 3px rgba(232,70,106,.1) !important }

/* ═══ 15. BOUTON ATC FICHE PRODUIT ═══ */
.single-product .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button,
.single-product .cart .single_add_to_cart_button {
    width: 100% !important; padding: 14px 28px !important; font-size: 15px !important;
    font-weight: 600 !important; display: flex !important; align-items: center !important;
    justify-content: center !important; gap: 10px !important;
    background: #E8466A !important; color: #fff !important; border: none !important;
    border-radius: 50px !important; cursor: pointer !important; transition: all .25s !important;
    font-family: 'DM Sans', sans-serif !important; height: auto !important;
}
.single-product .single_add_to_cart_button:hover {
    background: #F06B87 !important; transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(232,70,106,.3) !important;
}
/* Quantité — pill connecté (Flatsome uses input[type=button] for +/- ) */
.single-product .quantity,
.single-product div.ux-quantity {
    display: inline-flex !important; align-items: stretch !important; gap: 0 !important;
    margin-bottom: 12px !important; margin-right: 0 !important;
    background: #fff !important; border: 1.5px solid #E0CDD5 !important;
    border-radius: 50px !important; overflow: hidden !important; height: 44px !important;
}
.single-product .quantity input.minus,
.single-product .quantity input.plus,
.single-product .ux-quantity__button,
.single-product input.ux-quantity__button,
.single-product input[class*="ux-quantity_button"] {
    width: 44px !important; height: 44px !important; background: #fff !important;
    border: none !important; border-radius: 0 !important;
    font-size: 18px !important; color: #1C1018 !important;
    cursor: pointer !important; transition: background .2s !important;
    -webkit-appearance: none !important; appearance: none !important;
    padding: 0 !important; margin: 0 !important; line-height: 44px !important;
    text-align: center !important;
}
.single-product .quantity input.minus:hover,
.single-product .quantity input.plus:hover,
.single-product input.ux-quantity__button:hover,
.single-product input[class*="ux-quantity_button"]:hover {
    background: #FDF0F3 !important; color: #E8466A !important;
    transform: none !important; box-shadow: none !important;
}
.single-product .quantity input.qty,
.single-product .quantity input[type="number"] {
    width: 44px !important; height: 44px !important; border: none !important;
    border-left: 1.5px solid #F0E4E8 !important; border-right: 1.5px solid #F0E4E8 !important;
    border-radius: 0 !important; text-align: center !important; font-size: 15px !important;
    font-weight: 600 !important; font-family: 'DM Sans', sans-serif !important;
    margin: 0 !important; padding: 0 !important; -moz-appearance: textfield !important;
    line-height: 44px !important;
}
.single-product .quantity input::-webkit-outer-spin-button,
.single-product .quantity input::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0 !important }
/* Quantité + ATC sur même ligne */
.single-product form.cart:not(.am-has-set-builder) {
    display: flex !important; flex-wrap: wrap !important; gap: 10px !important; align-items: flex-end !important;
}
.single-product form.cart:not(.am-has-set-builder) .quantity,
.single-product form.cart:not(.am-has-set-builder) .ux-quantity { margin-bottom: 0 !important; flex-shrink: 0 !important }
.single-product form.cart:not(.am-has-set-builder) .single_add_to_cart_button { flex: 1 !important; margin: 0 !important }

/* ═══ 16. TRUST BADGES SOUS ATC ═══ */
.am-atc-trust { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 14px }
.am-atc-trust-item {
    display: flex; align-items: center; gap: 6px; font-size: 11px; color: #2A1520;
    background: #fff; border: 1px solid #F0E4E8; border-radius: 10px; padding: 8px 10px;
}
.am-atc-trust-item .ati { font-size: 14px; flex-shrink: 0 }

/* ═══ 17. TABS PRODUIT ═══ */
.single-product .product-footer { display: block !important; visibility: visible !important }
.single-product .product-footer .social-icons,
.single-product .product-footer [class*="share"] { display: none !important }
.single-product .product-footer > .trust-badges,
.single-product .product-footer > [class*="trust-badge"] { display: none !important }

.single-product .woocommerce-tabs,
.single-product .product-page-accordian { margin-top: 40px !important }
.single-product .woocommerce-tabs,
.single-product .panel-group,
.single-product .tabbable { display: block !important; visibility: visible !important; opacity: 1 !important }
.single-product .woocommerce-tabs ul.tabs {
    display: flex !important; gap: 0 !important; border-bottom: 2px solid #F0E4E8 !important;
    padding: 0 !important; margin: 0 !important; list-style: none !important; background: transparent !important;
}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after { display: none !important }
.single-product .woocommerce-tabs ul.tabs li {
    display: list-item !important; border: none !important; background: transparent !important;
    margin: 0 !important; padding: 0 !important; border-radius: 0 !important;
}
.single-product .woocommerce-tabs ul.tabs li a {
    padding: 12px 20px !important; font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important; font-weight: 500 !important; color: #8C6070 !important;
    background: transparent !important; border: none !important;
    border-bottom: 2px solid transparent !important; margin-bottom: -2px !important;
    transition: all .2s !important; text-transform: none !important; letter-spacing: 0 !important;
}
.single-product .woocommerce-tabs ul.tabs li a:hover { color: #1C1018 !important }
.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #E8466A !important; border-bottom-color: #E8466A !important; font-weight: 600 !important;
}
/* Contenu tabs */
.single-product .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .panel { padding: 8px 0 !important; padding-top: 8px !important }
.single-product .woocommerce-Tabs-panel h2 { font-family: 'Playfair Display', Georgia, serif !important; font-size: .95rem !important; font-weight: 700 !important; color: #1C1018 !important; margin: 12px 0 6px !important }
.single-product .woocommerce-Tabs-panel h2:first-child { margin-top: 0 !important }
.single-product .woocommerce-Tabs-panel p { font-size: 13.5px !important; color: #8C6070 !important; line-height: 1.8 !important; margin-bottom: 8px !important }
.single-product .woocommerce-Tabs-panel ul { padding-left: 18px !important; margin-bottom: 12px !important }
.single-product .woocommerce-Tabs-panel ul li { font-size: 13px !important; color: #8C6070 !important; line-height: 1.8 !important }
.single-product .woocommerce-Tabs-panel br:first-child,
.single-product .woocommerce-Tabs-panel > br { display: none !important }
.single-product .woocommerce-Tabs-panel--additional_information > *:first-child,
.single-product .woocommerce-Tabs-panel--ux_global_tab > *:first-child { margin-top: 0 !important }

/* Tableaux dans tabs — fond noir headers */
.single-product .woocommerce-tabs table th,
.single-product .woocommerce-Tabs-panel table th {
    background: #1C1018 !important; color: #fff !important;
    font-size: 11px !important; font-weight: 600 !important; padding: 10px 14px !important;
    text-align: left !important; border: 1px solid #F0E4E8 !important; text-transform: uppercase !important; letter-spacing: .3px !important;
}
.single-product .woocommerce-tabs table td,
.single-product .woocommerce-Tabs-panel table td {
    padding: 10px 14px !important; font-size: 13px !important; border: 1px solid #F0E4E8 !important; color: #2A1520 !important;
}
.single-product .woocommerce-tabs table { width: 100% !important; border-collapse: collapse !important; margin: 10px 0 !important }
.single-product .woocommerce-tabs table tr:nth-child(even) td,
.single-product .woocommerce-Tabs-panel table tr:nth-child(even) td { background: #F5F3F4 !important }
.single-product .woocommerce-tabs table tr:nth-child(odd) td { background: #fff !important }

/* Infos complémentaires — shop_attributes */
.single-product .shop_attributes th,
.single-product .shop_attributes tr:nth-child(even) th,
.single-product .shop_attributes tr:nth-child(odd) th { background: #1C1018 !important; color: #fff !important }
.single-product .shop_attributes tr:nth-child(even) td { background: #F5F3F4 !important }
.single-product .shop_attributes tr:nth-child(odd) td { background: #fff !important }
.single-product .shop_attributes td a,
.single-product .shop_attributes td p { color: #2A1520 !important }

/* ═══ 18. AVIS PRODUIT ═══ */
.single-product .woocommerce-Reviews #reviews { padding: 0 !important }
.single-product .woocommerce-Reviews .comment_container { padding: 16px 0 !important; border-bottom: 1px solid #F0E4E8 !important }
.single-product .woocommerce-Reviews .comment_container:last-child { border-bottom: none !important }
.single-product .woocommerce-Reviews .woocommerce-review__author { font-weight: 600 !important; font-size: 13px !important; color: #1C1018 !important }
.single-product .woocommerce-Reviews .woocommerce-review__published-date { font-size: 11px !important; color: #8C6070 !important }
.single-product .woocommerce-Reviews .description p { font-size: 13px !important; color: #8C6070 !important; line-height: 1.7 !important }

/* ═══ 19. CROSS-SELLS / RELATED ═══ */
.single-product .related.products, .single-product .cross-sells { margin-top: 48px !important }
.single-product .related.products > h2, .single-product .cross-sells > h2 {
    font-family: 'Playfair Display', Georgia, serif !important; font-size: 1.2rem !important;
    font-weight: 900 !important; color: #1C1018 !important; margin-bottom: 18px !important;
}
.single-product .related .product-small, .single-product .cross-sells .product-small {
    background: #fff !important; border: 1.5px solid #F0E4E8 !important;
    border-radius: 16px !important; overflow: hidden !important; transition: all .3s !important;
}
.single-product .related .product-small:hover, .single-product .cross-sells .product-small:hover {
    border-color: #FAD7DF !important; box-shadow: 0 4px 20px rgba(28,16,24,.08) !important; transform: translateY(-3px) !important;
}

/* ═══ 20. REASSURANCE BAR ═══ */
.am-reassurance { background: #fff; border-top: 1px solid #F0E4E8; border-bottom: 1px solid #F0E4E8; padding: 24px 20px; margin-top: 48px }
.am-reassurance-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px }
.am-reassurance-item { display: flex; align-items: center; gap: 12px; font-size: 13px; color: #2A1520 }
.am-reassurance-icon { width: 40px; height: 40px; border-radius: 50%; background: #FDF0F3; color: #E8466A; display: flex; align-items: center; justify-content: center; font-size: 17px; flex-shrink: 0 }
.am-reassurance-item strong { display: block; font-size: 13px; color: #1C1018 }
.am-reassurance-item .sub { font-size: 11.5px; color: #8C6070 }

/* ═══ 21. STICKY MOBILE ATC ═══ */
.am-sticky-atc { display: none !important; position: fixed; bottom: 0; left: 0; right: 0; z-index: 999; background: #fff; border-top: 1.5px solid #F0E4E8; padding: 12px 20px; box-shadow: 0 -4px 20px rgba(0,0,0,.08) }
.am-sticky-atc-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 1200px; margin: 0 auto }
.am-sticky-atc .sa-name { font-family: 'Playfair Display', Georgia, serif; font-size: .8rem; font-weight: 700; color: #1C1018; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.am-sticky-atc .sa-price { font-size: 14px; font-weight: 700; color: #E8466A }
.am-sticky-atc .sa-btn { padding: 12px 24px; font-size: 13px; flex-shrink: 0; background: #E8466A; color: #fff; border: none; border-radius: 50px; font-family: 'DM Sans', sans-serif; font-weight: 600; cursor: pointer; transition: all .25s }
.am-sticky-atc .sa-btn:hover { background: #F06B87 }

/* ═══ 22. DESCRIPTION VOIR PLUS ═══ */
.single-product .desc-content { position: relative; overflow: hidden; transition: max-height .4s ease }
.single-product .desc-content.collapsed { max-height: 200px }
.single-product .desc-content.collapsed::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 60px; background: linear-gradient(transparent, #FFF8F5); pointer-events: none }
.single-product .desc-toggle { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 8px; padding: 10px; font-size: 13px; font-weight: 500; color: #E8466A; cursor: pointer; background: none; border: none; font-family: 'DM Sans', sans-serif; width: 100%; transition: color .2s }
.single-product .desc-toggle:hover { color: #F06B87 }

/* ═══ 23. MASQUAGES FICHE PRODUIT ═══ */
.wcpa-text, .wcpa_form_outer .wcpa-text { display: none !important }
.single-product .summary p[style] { display: none !important }
.single-product .social-icons, .single-product [class*="share"],
.single-product .product_meta .social-share, .single-product .share-icons { display: none !important }

/* ═══ 24. MOBILE RESPONSIVE ═══ */
@media (max-width: 1024px) {
    .am-burg { display: flex !important; width: 48px !important; height: 48px !important; background: #1C1018 !important; color: #fff !important; border-radius: 12px !important; border: none !important; align-items: center; justify-content: center }
    .am-burg svg { width: 28px !important; height: 28px !important; stroke: #fff !important }
    .am-srpill { display: none !important }
}
@media (max-width: 849px) {
    body { overflow-x: hidden; }
    .mobile-menu a { font-family: var(--am-font-body) !important; font-size: 14px !important; font-weight: 500 }
    .product-small { margin-bottom: 12px } .product-small .product-title { font-size: 12.5px !important }
    .product-title.product_title { font-size: 1.2rem !important }
    .footer-wrapper .col { text-align: center }

    /* Header — pas coupé */
    .header-wrapper, .header-main, #header { overflow-x: hidden; max-width: 100vw; }
}
@media (max-width: 768px) {
    .single-product .product-gallery { max-width: 100% !important }

    /* Thumbnails cohérentes */
    .single-product .product-thumbnails .col { padding: 2px !important; }
    .single-product .product-thumbnails .col img {
        aspect-ratio: 1 / 1; object-fit: cover;
    }

    /* Réassurance — compacte en colonne avec icône + texte en ligne */
    .am-reassurance { padding: 0 15px !important; margin-top: 16px !important; }
    .am-reassurance-grid {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }
    .am-reassurance-item {
        flex-direction: row !important;
        gap: 10px !important;
        padding: 8px 0 !important;
        font-size: 13px !important;
        border-bottom: 1px solid #F0E4E8;
        text-align: left !important;
    }
    .am-reassurance-item:last-child { border-bottom: none; }
    .am-reassurance-icon {
        width: 32px !important; height: 32px !important; min-width: 32px !important;
        font-size: 15px !important;
    }
    .am-reassurance-item strong { font-size: 13px !important; }
    .am-reassurance-item .sub { font-size: 11px !important; }

    /* Sticky ATC — pleine largeur, pas tronqué */
    .am-sticky-atc {
        display: block !important;
        left: 0 !important; right: 0 !important;
        width: 100% !important; max-width: 100vw !important;
        box-sizing: border-box !important;
        padding: 10px 14px !important;
    }
    .am-sticky-atc .sa-info { flex: 1; min-width: 0; overflow: hidden; }
    .am-sticky-atc .sa-name {
        white-space: nowrap; overflow: hidden;
        text-overflow: ellipsis; font-size: .72rem;
    }
    .am-sticky-atc .sa-btn {
        flex-shrink: 0; padding: 10px 16px; font-size: 12px;
        white-space: nowrap;
    }

    /* Onglets — en pile verticale */
    .single-product .woocommerce-tabs ul.tabs {
        flex-direction: column !important;
        border-bottom: none !important;
        gap: 0 !important;
    }
    .single-product .woocommerce-tabs ul.tabs li {
        border-bottom: 1px solid #F0E4E8 !important;
        width: 100% !important;
    }
    .single-product .woocommerce-tabs ul.tabs li a {
        padding: 10px 14px !important;
        margin-bottom: 0 !important;
        border-bottom: none !important;
    }
    .single-product .woocommerce-tabs ul.tabs li.active a {
        border-left: 3px solid #E8466A !important;
        border-bottom: none !important;
        background: #FDF0F3 !important;
    }

    /* Espace réduit avant onglets */
    .single-product .woocommerce-tabs,
    .single-product .product-page-accordian { margin-top: 16px !important; }

    /* Trust badges sous ATC */
    .am-atc-trust { gap: 4px !important; }
    .am-atc-trust-item { padding: 6px 8px !important; font-size: 11px !important; }
}
@media (max-width: 549px) {
    body { font-size: 14px }
    h1, .page-title { font-size: 1.5rem !important }
    .product-small .box-text { padding: 8px 10px }
}
/* ═══ COMPOSEZ VOTRE SET — Masquer variations (zéro flash) ═══ */
body.has-am-set-builder .variations,
body.has-am-set-builder .reset_variations,
body.has-am-set-builder form.cart .quantity,
body.has-am-set-builder .woocommerce-variation-add-to-cart .quantity { display: none !important }

/* ═══ COMPOSEZ VOTRE SET ═══ */
.am-set-builder {
    background: var(--am-bg); border: 1.5px solid #F0E4E8; border-radius: 18px;
    padding: 22px; margin-bottom: 16px;
}
.am-set-title {
    font-family: 'Playfair Display', Georgia, serif !important; font-size: .95rem; font-weight: 700;
    color: #1C1018; margin-bottom: 4px; display: flex; align-items: center; gap: 8px;
}
.am-set-sub { font-size: 12px; color: #8C6070; margin-bottom: 16px; line-height: 1.5 }

/* Member rows — structure: .am-set-row > .am-set-row-attrs + .am-set-row-perso */
.am-set-members { display: flex; flex-direction: column; gap: 10px }
.am-set-row {
    padding: 10px; background: #fff; border: 1.5px solid #F0E4E8; border-radius: 14px;
    transition: border-color .2s;
}
.am-set-row:hover { border-color: #FAD7DF }
.am-set-row-attrs {
    display: flex; flex-wrap: nowrap; gap: 6px; align-items: flex-end;
}
.am-set-field { flex: 1 1 0; min-width: 0 }
.am-set-label { font-size: 10px; color: #8C6070; margin-bottom: 3px; display: block }
.am-set-select {
    width: 100%; padding: 7px 22px 7px 8px; border: 1.5px solid #F0E4E8; border-radius: 8px;
    font-family: 'DM Sans', sans-serif; font-size: 12px; color: #1C1018; background: #fff;
    outline: none; cursor: pointer; -webkit-appearance: none; appearance: none;
    overflow: hidden; text-overflow: ellipsis;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 5 5-5' stroke='%238C6070' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 8px center;
}
.am-set-select:focus { border-color: #E8466A }
.am-set-unit-price {
    font-size: 13px; font-weight: 700; color: #1C1018; white-space: nowrap;
    flex-shrink: 0; padding-bottom: 8px;
}
.am-set-remove {
    width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 1px solid #F0E4E8;
    display: flex; align-items: center; justify-content: center; font-size: 12px;
    cursor: pointer; color: #8C6070; transition: all .2s; flex-shrink: 0; margin-bottom: 4px;
}
.am-set-remove:hover { background: #fdf0f0; color: #c0392b; border-color: #f5c6cb }

/* Bouton ajouter */
.am-set-add {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 10px; border: 1.5px dashed #FAD7DF; border-radius: 12px;
    background: #FDF0F3; color: #E8466A; font-size: 13px; font-weight: 500;
    cursor: pointer; transition: all .2s; margin-top: 10px; font-family: 'DM Sans', sans-serif; width: 100%;
}
.am-set-add:hover { background: #E8466A; color: #fff; border-style: solid }

/* Nudge */
.am-set-nudge {
    display: flex; align-items: center; gap: 8px;
    background: #E8F8F0; border: 1px solid #c3e8d4; border-radius: 10px;
    padding: 9px 12px; margin-top: 12px;
}
.am-set-nudge-icon { font-size: 15px; flex-shrink: 0 }
.am-set-nudge p { font-size: 11.5px; color: #2E9E6B; line-height: 1.5; margin: 0 !important }
.am-set-nudge p strong { color: #1a7a50 }

/* Récap prix */
.am-set-summary { padding: 14px 0 0; margin-top: 12px; border-top: 1px solid #F0E4E8 }
.am-set-line { display: flex; justify-content: space-between; align-items: center; padding: 3px 0; font-size: 13px }
.am-set-line.sub { color: #8C6070 }
.am-set-line.discount { color: #2E9E6B; font-weight: 500 }
.am-set-line.total { font-size: 15px; font-weight: 700; color: #1C1018; padding-top: 8px; margin-top: 6px; border-top: 1px solid #F0E4E8 }
.am-set-orig { text-decoration: line-through; color: #8C6070; font-weight: 400; font-size: 13px; margin-right: 6px }
.am-set-final { font-family: 'Fraunces', Georgia, serif; font-size: 1.3rem; font-weight: 900; color: #E8466A }

/* Champs personnalisation dans chaque row du set */
.am-set-row-perso {
    display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px;
    padding-top: 10px; border-top: 1px dashed #F0E4E8;
}
.am-set-perso-field { flex: 1 1 140px; min-width: 120px }
.am-set-perso-input,
input.am-set-perso-input,
select.am-set-perso-input {
    width: 100%; padding: 10px 12px; border: 1.5px solid #F0E4E8; border-radius: 8px;
    font-family: 'DM Sans', sans-serif; font-size: 13px; color: #1C1018; background: #fff;
    outline: none; transition: all .2s;
}
.am-set-perso-input:focus,
input.am-set-perso-input:focus,
select.am-set-perso-input:focus {
    border-color: #E8466A; box-shadow: 0 0 0 3px rgba(232,70,106,.1);
}
.am-set-perso-input::placeholder { color: #C0A8B0; font-size: 12px }

/* Personnalisation standalone (hors set builder) */
.am-perso-standalone {
    margin-bottom: 18px; background: #fff; border: 1.5px solid #F0E4E8;
    border-radius: 16px; padding: 18px; transition: border-color .2s;
}
.am-perso-standalone:hover { border-color: #FAD7DF }
.am-perso-header {
    display: flex; align-items: center; gap: 10px; margin-bottom: 14px;
    padding-bottom: 12px; border-bottom: 1px solid #F0E4E8;
}
.am-perso-icon {
    width: 36px; height: 36px; border-radius: 10px; background: #FDF0F3;
    display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0;
}
.am-perso-title {
    font-family: 'Playfair Display', Georgia, serif; font-size: .85rem; font-weight: 700;
    color: #1C1018; display: block; line-height: 1.2;
}
.am-perso-hint {
    font-size: 11.5px; color: #8C6070; display: block; margin-top: 2px;
}
.am-perso-fields { display: flex; flex-wrap: wrap; gap: 10px }
.am-perso-field { flex: 1 1 200px; min-width: 0 }
.am-perso-label {
    font-size: 11px; font-weight: 600; color: #8C6070; display: block;
    margin-bottom: 4px; letter-spacing: .2px;
}
.am-perso-req { color: #E8466A }
.am-perso-standalone .am-perso-input,
.am-perso-standalone input.am-perso-input,
.am-perso-standalone select.am-perso-input,
.am-perso-standalone textarea.am-perso-input {
    width: 100% !important; padding: 11px 14px !important;
    border: 1.5px solid #F0E4E8 !important; border-radius: 10px !important;
    font-family: 'DM Sans', sans-serif !important; font-size: 13px !important;
    color: #1C1018 !important; background: #FEFBF9 !important;
    outline: none !important; transition: all .2s !important;
    -webkit-appearance: none !important; appearance: none !important;
}
.am-perso-standalone textarea.am-perso-input { min-height: 60px !important; resize: vertical !important }
.am-perso-standalone select.am-perso-input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 5 5-5' stroke='%238C6070' stroke-width='1.2' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important; background-position: right 12px center !important;
    padding-right: 30px !important; cursor: pointer !important;
}
.am-perso-standalone .am-perso-input:focus {
    border-color: #E8466A !important; background: #fff !important;
    box-shadow: 0 0 0 3px rgba(232,70,106,.1) !important;
}
.am-perso-standalone .am-perso-input::placeholder { color: #C0A8B0; font-size: 12px }

/* Bouton ATC custom du set */
.am-set-atc {
    width: 100%; padding: 14px 28px; margin-top: 14px;
    background: #E8466A; color: #fff; border: none; border-radius: 50px;
    font-family: 'DM Sans', sans-serif; font-size: 15px; font-weight: 600;
    cursor: pointer; transition: all .25s; display: flex; align-items: center;
    justify-content: center; gap: 8px;
}
.am-set-atc:hover { background: #F06B87; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(232,70,106,.3) }
.am-set-atc:disabled { opacity: .6; cursor: wait; transform: none; box-shadow: none }

/* MASQUER WCPA (ancien plugin) — tout cacher */
.wcpa_form_outer,
.wcpa_form_item,
.wcpa-text,
.wcpa_form_outer .wcpa-text,
form.cart .wcpa_form_outer,
.single-product .wcpa_form_outer {
    display: none !important;
}

/* ═══ UPSELL PERSO — style candy compact (produits non-perso) ═══ */
.am-upsell-perso { margin-top: 12px }
.am-upsell-btn {
    width: 100%; display: flex; align-items: center; gap: 8px;
    padding: 11px 14px; background: #FDF0F3; border: 1.5px solid #FAD7DF;
    border-radius: 12px; cursor: pointer; transition: all .2s;
    font-family: 'DM Sans', sans-serif; font-size: 13px;
}
.am-upsell-btn:hover { border-color: #E8466A; background: #fff }
.am-upsell-btn-icon { font-size: 15px; flex-shrink: 0 }
.am-upsell-btn-text { flex: 1; text-align: left; font-weight: 600; color: #1C1018 }
.am-upsell-btn-tag {
    font-size: 9px; font-weight: 700; color: #E8466A; background: #FDF0F3; border: 1px solid #FAD7DF;
    padding: 3px 8px; border-radius: 50px; text-transform: uppercase; letter-spacing: .5px; flex-shrink: 0;
}
.am-upsell-btn-arrow { font-size: 10px; color: #8C6070; flex-shrink: 0 }

.am-upsell-accordion { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .4s ease, opacity .3s ease }
.am-upsell-accordion.am-upsell-open { max-height: 800px; opacity: 1; margin-top: 8px }

.am-upsell-candy {
    background: linear-gradient(135deg, #FDF0F3 0%, #FFF0F5 50%, #FCE8EF 100%);
    border: 1.5px solid #FAD7DF; border-radius: 14px;
    padding: 16px; position: relative; overflow: hidden;
}
.am-upsell-candy::before {
    content: ""; position: absolute; top: -30px; right: -30px; width: 120px; height: 120px;
    background: radial-gradient(circle, rgba(232,70,106,.08) 0%, transparent 70%);
    border-radius: 50%; pointer-events: none;
}
.am-upsell-candy-header { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; position: relative; z-index: 1 }
.am-upsell-candy-icon {
    width: 36px; height: 36px; border-radius: 10px; background: #E8466A;
    display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0;
}
.am-upsell-candy-title { font-family: 'Playfair Display', Georgia, serif; font-size: .85rem; font-weight: 700; color: #1C1018 }
.am-upsell-candy-sub { font-size: 11px; color: #8C6070; margin-top: 1px }

.am-upsell-candy-form {
    background: rgba(255,255,255,.85); backdrop-filter: blur(6px);
    border-radius: 12px; border: 1px solid rgba(232,70,106,.1);
    padding: 14px; position: relative; z-index: 1;
}

.am-upsell-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px }
.am-upsell-row.am-upsell-full { grid-template-columns: 1fr }
.am-upsell-flabel { display: block; font-size: 11px; font-weight: 500; color: #8C6070; margin-bottom: 3px }
.am-upsell-freq { color: #E8466A }

.am-upsell-finput, input.am-upsell-finput, textarea.am-upsell-finput, select.am-upsell-finput {
    width: 100%; padding: 9px 11px; border: 1.5px solid #FAD7DF; border-radius: 8px;
    font-family: 'DM Sans', sans-serif; font-size: 13px; color: #2A1520;
    background: #fff; outline: none; transition: all .2s;
    -webkit-appearance: none; appearance: none;
}
select.am-upsell-finput {
    cursor: pointer; height: 40px; line-height: 1.2;
    padding-top: 0; padding-bottom: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238C6070' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 10px center; padding-right: 28px;
}
textarea.am-upsell-finput { min-height: 50px; resize: vertical }
.am-upsell-finput:focus { border-color: #E8466A; box-shadow: 0 0 0 3px rgba(232,70,106,.1) }
.am-upsell-finput::placeholder { color: #c8a0b0; font-size: 12px }

.am-upsell-candy-footer { margin-top: 10px }
.am-upsell-submit {
    width: 100%; padding: 12px 24px; background: #E8466A; color: #fff; border: none; border-radius: 50px;
    font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 600;
    cursor: pointer; transition: all .25s;
}
.am-upsell-submit:hover { background: #F06B87; transform: translateY(-1px); box-shadow: 0 4px 15px rgba(232,70,106,.3) }
.am-upsell-submit:disabled { opacity: .6; cursor: wait; transform: none; box-shadow: none }
.am-upsell-reassure { display: flex; justify-content: center; gap: 12px; margin-top: 8px; flex-wrap: wrap }
.am-upsell-reassure span { font-size: 10px; color: #8C6070; white-space: nowrap }

/* ═══ CATÉGORIES — Hero ═══ */
.am-cat-hero {
    background: linear-gradient(160deg, #FDF0F3 0%, #FFF0F5 40%, #FFF8F5 100%);
    padding: 20px 20px 24px; border-bottom: 1px solid #FAD7DF;
    position: relative; overflow: hidden; margin-bottom: 16px;
}
.am-cat-hero::before { display: none }
.am-cat-hero::after {
    content: ""; position: absolute; bottom: -40px; left: 30%;
    width: 200px; height: 200px;
    background: radial-gradient(circle, rgba(232,70,106,.04) 0%, transparent 70%);
    border-radius: 50%; pointer-events: none;
}
/* Masquer l'emoji déco */
.am-cat-emoji { display: none }
.am-cat-hero-inner {
    max-width: 1280px; margin: 0 auto; display: flex;
    align-items: center; justify-content: space-between; gap: 24px;
    position: relative; z-index: 1;
}
.am-cat-hero-text { max-width: 900px }
.am-cat-h1 {
    font-family: 'Playfair Display', Georgia, serif !important; font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
    font-weight: 900 !important; color: #1C1018 !important; line-height: 1.15 !important; margin-bottom: 8px !important;
}
.am-cat-h1 em { font-family: 'Fraunces', Georgia, serif; font-style: italic; color: #E8466A }
.am-cat-desc { font-size: 14.5px; color: #8C6070; line-height: 1.7; max-width: 900px }
.am-cat-stats { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px }
.am-cat-stat {
    display: flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 500;
    color: #8C6070; background: #fff; border: 1px solid #F0E4E8;
    padding: 5px 12px; border-radius: 50px;
}
.am-cat-dot { width: 5px; height: 5px; border-radius: 50%; background: #2E9E6B; flex-shrink: 0 }
.am-cat-emoji { font-size: clamp(3rem, 6vw, 4.5rem); flex-shrink: 0; opacity: .15 }

/* ═══ CATÉGORIES — Sous-catégories grid ═══ */
.am-subcats { padding: 16px 20px; max-width: 1280px; margin: 0 auto 8px }
.am-subcats-title {
    font-family: 'Playfair Display', Georgia, serif; font-size: .9rem; font-weight: 700;
    color: #1C1018; margin-bottom: 10px;
}
.am-subcats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px }
.am-subcat-card {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    padding: 16px 10px; background: #fff; border: 1.5px solid #F0E4E8;
    border-radius: 16px; text-decoration: none; transition: all .25s; text-align: center;
}
.am-subcat-card:hover { border-color: #FAD7DF; box-shadow: 0 4px 20px rgba(28,16,24,.08); transform: translateY(-3px) }
.am-sc-emoji { font-size: 1.6rem }
.am-sc-name { font-family: 'Playfair Display', Georgia, serif; font-size: .78rem; font-weight: 700; color: #1C1018; line-height: 1.3 }
.am-sc-count { font-size: 10px; color: #8C6070 }

/* ═══ CATÉGORIES — Chips sœurs (sous-catégories) ═══ */
.am-sibling-chips {
    padding: 16px 20px; display: flex; gap: 8px; flex-wrap: wrap;
    max-width: 1280px; margin: 0 auto;
}
.am-sibling-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 16px; border-radius: 50px; font-size: 12px; font-weight: 500;
    background: #fff; border: 1.5px solid #F0E4E8; color: #2A1520;
    text-decoration: none; transition: all .2s;
}
.am-sibling-chip:hover { border-color: #FAD7DF; color: #E8466A; background: #FDF0F3 }
.am-sibling-chip.am-chip-active { background: #E8466A; color: #fff; border-color: #E8466A }

/* ═══ CATÉGORIES — Product cards améliorées ═══ */
.am-pc-perso { font-size: 10px; color: #2E9E6B; font-weight: 500; margin-top: 4px }
.am-pc-colors { display: flex; gap: 4px; margin-top: 6px }
.am-pc-dot { width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid #F0E4E8 }
.am-pc-more { font-size: 9px; color: #8C6070; display: flex; align-items: center }

/* ═══ CATÉGORIES — SEO text ═══ */
.am-cat-seo { max-width: 1280px; margin: 0 auto; padding: clamp(32px, 5vw, 48px) 20px }
.am-cat-seo-content { position: relative; overflow: hidden; transition: max-height .4s ease }
.am-cat-seo-content.collapsed { max-height: 160px }
.am-cat-seo-content.collapsed::after {
    content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 60px;
    background: linear-gradient(transparent, #FEFBF9); pointer-events: none;
}
.am-cat-seo-content h2 {
    font-family: 'Playfair Display', Georgia, serif; font-size: 1.4rem; font-weight: 700;
    color: #1C1018; margin: 16px 0 6px;
}
.am-cat-seo-content h2:first-child { margin-top: 0 }
.am-cat-seo-content h3 {
    font-family: 'Playfair Display', Georgia, serif; font-size: 1.15rem; font-weight: 600;
    color: #1C1018; margin: 14px 0 6px;
}
.am-cat-seo-content p { font-size: 13px; color: #8C6070; line-height: 1.8; margin-bottom: 10px }
.am-cat-seo-toggle {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    margin-top: 8px; padding: 10px; font-size: 13px; font-weight: 500;
    color: #E8466A; cursor: pointer; background: none; border: none;
    font-family: 'DM Sans', sans-serif; width: 100%; transition: color .2s;
}
.am-cat-seo-toggle:hover { color: #F06B87 }

/* ═══ CATÉGORIES — Bouton filtre mobile ═══ */
.am-mobile-filter-btn {
    display: none; position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 99;
    background: #1C1018; color: #fff; padding: 12px 24px; border-radius: 50px;
    font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 600;
    border: none; cursor: pointer; box-shadow: 0 4px 20px rgba(0,0,0,.2);
}

/* ═══ CATÉGORIES — Layout ═══ */
/* Hero = pleine largeur au-dessus de la grille (déplacé par JS) */
.am-cat-hero { width: 100% }
.am-cat-hero-inner { max-width: 1280px; margin: 0 auto; padding: 0 20px }
.am-subcats { max-width: 1280px; margin: 0 auto; padding: 0 20px }
.am-sibling-chips { max-width: 1280px; margin: 0 auto; padding: 0 20px }

/* Shop container boxé */
.tax-product_cat .shop-container,
.tax-product_cat .row.category-page-row { max-width: 1280px !important; margin: 0 auto !important }

/* ═══ CATÉGORIES — Sidebar custom ═══ */
/* Masquer les widgets Flatsome sur les pages catégories */
.tax-product_cat #shop-sidebar .widget,
.tax-product_cat .shop-sidebar .widget,
.tax-product_cat .sidebar-inner .widget { display: none !important }

/* Sidebar : smart sticky — si sidebar plus haute que viewport, stick au bas */
.tax-product_cat .is-sticky-column,
.tax-product_cat .is-sticky-column__inner {
    position: static !important; /* désactiver le sticky Flatsome */
}
.tax-product_cat .col.large-3 {
    position: relative !important;
}

.am-sidebar-nav {
    background: #fff; border: 1.5px solid #F0E4E8; border-radius: 16px;
    padding: 14px; margin-bottom: 12px;
}
.am-sb-title {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.8px;
    color: #E8466A; margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid #F0E4E8;
}
.am-sb-back {
    display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500;
    color: #8C6070; padding: 6px 8px; margin: -4px -8px 8px; border-radius: 8px;
    text-decoration: none; transition: all .15s;
}
.am-sb-back:hover { background: #FDF0F3; color: #E8466A }
.am-sb-group { margin-bottom: 8px }
.am-sb-group:last-child { margin-bottom: 0 }
.am-sb-group-title {
    font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px;
    color: #8C6070; margin-bottom: 4px; padding-left: 4px;
}
.am-sb-link {
    display: flex; align-items: center; gap: 6px;
    padding: 5px 8px; margin: 1px 0; border-radius: 8px;
    font-size: 12.5px; font-weight: 500; color: #2A1520;
    text-decoration: none; transition: all .15s;
}
.am-sb-link:hover { background: #FDF0F3; color: #E8466A }
.am-sb-link.am-sb-active { background: #E8466A; color: #fff; font-weight: 600 }
.am-sb-emoji { font-size: 14px; width: 20px; text-align: center; flex-shrink: 0 }
.am-sb-count {
    margin-left: auto; font-size: 10px; color: #8C6070;
    background: #FEFBF9; padding: 2px 7px; border-radius: 10px;
}
.am-sb-link.am-sb-active .am-sb-count { background: rgba(255,255,255,.2); color: #fff }
.am-sb-divider { height: 1px; background: #F0E4E8; margin: 8px 0 }

/* CTA sidebar */
.am-sb-cta {
    background: linear-gradient(140deg, #1C1018, #2e1020); border-radius: 16px;
    padding: 16px; text-align: center; color: #fff; position: relative; overflow: hidden;
    margin-bottom: 12px;
}
.am-sb-cta::before {
    content: ""; position: absolute; bottom: -30px; right: -30px;
    width: 100px; height: 100px; border-radius: 50%;
    background: rgba(232,70,106,.15); pointer-events: none;
}
.am-sb-cta h3 {
    font-family: 'Playfair Display', Georgia, serif; font-size: .85rem; font-weight: 700;
    margin-bottom: 4px; position: relative; z-index: 1;
}
.am-sb-cta h3 em { font-style: italic; color: #E8466A }
.am-sb-cta p {
    font-size: 11px; color: rgba(255,255,255,.5); margin-bottom: 12px;
    line-height: 1.5; position: relative; z-index: 1;
}
.am-sb-cta-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 18px; border-radius: 50px; background: #E8466A; color: #fff;
    font-size: 13px; font-weight: 500; text-decoration: none; transition: all .25s;
    position: relative; z-index: 1;
}
.am-sb-cta-btn:hover { background: #F06B87; transform: translateY(-1px); color: #fff }

/* ═══ CATÉGORIES — Filtres FacetWP — style maquette ═══ */
.am-sidebar-filters {
    background: #fff; border: 1.5px solid #F0E4E8; border-radius: 16px;
    padding: 16px; margin-bottom: 12px;
}
.am-sf-title {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.8px;
    color: #E8466A; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid #F0E4E8;
    display: flex; align-items: center; justify-content: space-between;
}
.am-sf-group { margin-bottom: 12px }
.am-sf-group:last-child { margin-bottom: 0 }
.am-sf-label {
    font-size: 12px; font-weight: 600; color: #1C1018; margin-bottom: 6px;
}
.am-sf-reset { font-size: 11px; font-weight: 500; color: #8C6070; cursor: pointer; transition: color .2s }
.am-sf-reset:hover { color: #E8466A }

/* Reset FacetWP margins */
.am-sidebar-filters .facetwp-facet { margin-bottom: 0 !important; padding: 0 !important }

/* ── Checkboxes FacetWP : div.facetwp-checkbox ── */
.am-sidebar-filters div.facetwp-checkbox {
    display: flex !important; align-items: center !important; gap: 8px !important;
    padding: 5px 0 !important; cursor: pointer !important;
    font-size: 12px !important; color: #2A1520 !important;
    font-family: 'DM Sans', sans-serif !important;
    line-height: 1.4 !important; position: relative !important;
    margin: 0 !important; border: none !important; background: none !important;
}
/* Case à cocher custom */
.am-sidebar-filters div.facetwp-checkbox::before {
    content: '' !important; display: block !important;
    width: 16px !important; height: 16px !important; min-width: 16px !important;
    border: 1.5px solid #D0C4C8 !important; border-radius: 4px !important;
    background: #fff !important; transition: all .15s !important;
    flex-shrink: 0 !important; box-sizing: border-box !important;
}
.am-sidebar-filters div.facetwp-checkbox.checked::before {
    background: #E8466A !important; border-color: #E8466A !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-5' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important; background-position: center !important;
}
.am-sidebar-filters div.facetwp-checkbox.checked {
    color: #1C1018 !important; font-weight: 600 !important;
}
/* Texte de la valeur */
.am-sidebar-filters .facetwp-display-value {
    font-size: 12px !important; color: inherit !important;
}
/* Compteur (xx) */
.am-sidebar-filters .facetwp-counter {
    font-size: 10px !important; color: #8C6070 !important; margin-left: auto !important;
}
/* Lien "Voir X plus" */
.am-sidebar-filters a.facetwp-toggle {
    font-size: 11px !important; color: #E8466A !important; font-weight: 500 !important;
    cursor: pointer !important; margin-top: 4px !important;
    background: none !important; border: none !important; padding: 2px 0 !important;
    text-decoration: none !important; text-transform: none !important;
}

/* Voir plus/moins custom — masquer les checkboxes au-delà du seuil */
.am-sf-collapsible .facetwp-checkbox.am-sf-hidden { display: none !important; }
.am-sf-more-link {
    color: #E8466A; font-size: 12px; font-weight: 500;
    cursor: pointer; padding: 4px 0; display: block;
    background: none; border: none; font-family: inherit;
    text-transform: none !important;
}
.am-sf-more-link:hover { text-decoration: underline; }

/* Emoji devant "Personnalisable" */
.am-sidebar-filters div.facetwp-checkbox[data-value="personnalisable"] .facetwp-display-value::before {
    content: '✏️ ';
}

/* ── Slider prix ── */
.am-sidebar-filters .facetwp-slider-wrap { padding: 6px 0 !important }
.am-sidebar-filters .facetwp-slider .noUi-target {
    background: #F0E4E8 !important; border: none !important;
    height: 4px !important; border-radius: 4px !important; box-shadow: none !important;
}
.am-sidebar-filters .facetwp-slider .noUi-connect { background: #E8466A !important }
.am-sidebar-filters .facetwp-slider .noUi-handle {
    border: 2px solid #E8466A !important; background: #fff !important;
    border-radius: 50% !important; width: 16px !important; height: 16px !important;
    box-shadow: 0 1px 4px rgba(232,70,106,.2) !important;
    top: -7px !important; cursor: pointer !important; right: -8px !important;
}
.am-sidebar-filters .facetwp-slider .noUi-handle::before,
.am-sidebar-filters .facetwp-slider .noUi-handle::after { display: none !important }
.am-sidebar-filters .facetwp-slider-label {
    font-size: 11px !important; color: #8C6070 !important;
    margin-top: 6px !important; text-align: center !important;
}
/* Bouton reset du slider */
.am-sidebar-filters .facetwp-slider-reset {
    font-size: 10px !important; color: #8C6070 !important; background: none !important;
    border: 1px solid #F0E4E8 !important; border-radius: 6px !important;
    padding: 4px 10px !important; cursor: pointer !important;
    font-family: 'DM Sans', sans-serif !important; margin-top: 4px !important;
}
.am-sidebar-filters .facetwp-slider-reset:hover { border-color: #E8466A !important; color: #E8466A !important }

/* ═══ CATÉGORIES — Breadcrumb ═══ */
.am-breadcrumb {
    max-width: 1280px; margin: 0 auto; padding: 14px 20px;
    font-size: 12px; color: #8C6070; display: flex; gap: 6px; align-items: center; flex-wrap: wrap;
}
.am-breadcrumb a { color: #8C6070; text-decoration: none; transition: color .2s }
.am-breadcrumb a:hover { color: #E8466A }
.am-bc-sep { opacity: .4 }

/* ═══ CATÉGORIES — Product Cards — reset Flatsome + redesign ═══ */
/* Structure Flatsome :
   .product-small.col > .col-inner > .product-small.box > .box-image + .box-text
   La bordure va sur .col-inner pour englober image + texte */

/* Reset tout */
.tax-product_cat .products .product-small.col {
    padding: 8px !important; /* espace entre les cards */
}
.tax-product_cat .products .product-small.col > .col-inner {
    border: 1.5px solid #F0E4E8 !important; border-radius: 16px !important;
    overflow: visible !important; background: #fff !important;
    box-shadow: none !important; transition: all .3s !important;
    height: 100% !important; display: flex !important; flex-direction: column !important;
    position: relative !important;
}
.tax-product_cat .products .product-small.col > .col-inner:hover {
    border-color: #FAD7DF !important;
    box-shadow: 0 4px 20px rgba(28,16,24,.08) !important;
    transform: translateY(-3px) !important;
}
/* Supprimer les bordures/ombres de Flatsome sur .box */
.tax-product_cat .products .product-small.box {
    border: none !important; box-shadow: none !important;
    border-radius: 0 !important; margin: 0 !important;
}
/* Image : coins arrondis en haut — overflow visible pour badges */
.tax-product_cat .products .box-image {
    border-radius: 14px 14px 0 0 !important; overflow: visible !important;
    aspect-ratio: 1 / 1 !important; position: relative !important;
}
.tax-product_cat .products .box-image img {
    width: 100% !important; height: 100% !important; display: block !important;
    object-fit: cover !important; object-position: center !important;
    border-radius: 14px 14px 0 0 !important;
}
.tax-product_cat .products .box-image .image-none {
    width: 100% !important; height: 100% !important;
}
.tax-product_cat .products .box-image .image-none a {
    display: block !important; width: 100% !important; height: 100% !important;
}
/* Texte */
.tax-product_cat .products .box-text.box-text-products {
    padding: 12px 14px 14px !important; text-align: left !important;
    border: none !important; box-shadow: none !important; background: none !important;
    flex: 1 !important; display: flex !important; flex-direction: column !important;
}
/* Titre produit */
.tax-product_cat .products .product-small .product-title {
    font-family: 'Playfair Display', Georgia, serif !important; font-size: .82rem !important;
    font-weight: 700 !important; color: #1C1018 !important; line-height: 1.3 !important;
    margin-bottom: 4px !important;
}
.tax-product_cat .products .product-small .product-title a { color: #1C1018 !important }
.tax-product_cat .products .product-small .product-title a:hover { color: #E8466A !important }
/* Prix */
.tax-product_cat .products .product-small .price {
    font-size: 14px !important; font-weight: 600 !important; color: #E8466A !important;
}
.tax-product_cat .products .product-small .price del {
    font-size: 11px !important; color: #8C6070 !important; font-weight: 400 !important;
}
/* Catégorie au-dessus du titre */
.am-pc-cat {
    font-size: 10px; font-weight: 600; color: #8C6070; text-transform: uppercase;
    letter-spacing: .8px; margin-bottom: 3px;
}
/* Étoiles */
.am-pc-stars {
    display: flex; align-items: center; gap: 3px; font-size: 11px; color: #F5A623;
    margin-bottom: 4px;
}
.am-pc-stars span { color: #8C6070; font-size: 10px }
/* Couleurs dots */
.am-pc-colors { display: flex; gap: 4px; margin-top: 6px }
.am-pc-dot { width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid #F0E4E8 }
.am-pc-more { font-size: 9px; color: #8C6070; display: flex; align-items: center }
/* Badge personnalisable */
.am-pc-perso { font-size: 10px; color: #2E9E6B; font-weight: 500; margin-top: 4px }

/* Bouton "Sélectionner les options" */
.am-pc-btn-wrap { padding: 8px 14px 14px; margin-top: auto }
.am-pc-btn {
    display: block; text-align: center; padding: 9px 16px;
    background: #fff; color: #E8466A !important; border: 1.5px solid #E8466A;
    border-radius: 50px;
    font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 600;
    text-decoration: none; transition: all .2s;
}
.am-pc-btn:hover { background: #E8466A; color: #fff !important; transform: translateY(-1px); box-shadow: 0 3px 10px rgba(232,70,106,.25) }

/* Badges sur l'image produit */
.am-pc-badge {
    position: absolute; top: 10px; left: 10px; z-index: 2;
    font-size: 9px; font-weight: 600; letter-spacing: .5px;
    padding: 4px 10px; border-radius: 50px; text-transform: uppercase;
}
.am-pc-badge-best { background: #E8466A; color: #fff }
.am-pc-badge-new { background: #2E9E6B; color: #fff }

/* Masquer le bouton ATC par défaut de Flatsome sur les listings */
.tax-product_cat .products .product-small .add-to-cart-button,
.tax-product_cat .products .product-small .add_to_cart_button { display: none !important }
/* Masquer quick view sur les cards */
.tax-product_cat .products .image-tools.grid-tools { display: none !important }
/* Masquer badges Flatsome par défaut (EXISTE EN BLANC, etc.) */
.tax-product_cat .products .badge-container,
.tax-product_cat .products .callout,
.tax-product_cat .products .onsale { display: none !important }

/* Chaussettes : 2 colonnes pour mieux voir les designs */
.am-cat-chaussettes .products.large-columns-3 .product-small.col {
    width: 50% !important; max-width: 50% !important; flex: 0 0 50% !important;
}
.am-cat-chaussettes .products.large-columns-3 .product-small.col:nth-child(3n) { clear: none !important }
.am-cat-chaussettes .products.large-columns-3 .product-small.col:nth-child(2n+1) { clear: left !important }

/* Chips sœurs : centrer quand elles wrap sur 2 lignes */
.am-sibling-chips { justify-content: center !important }

/* ═══ CATÉGORIES — Masquer header Flatsome + sous-cats WooCommerce ═══ */
.tax-product_cat .page-header,
.tax-product_cat .page-title-inner,
.tax-product_cat .term-description,
.tax-product_cat .shop-page-title,
.tax-product_cat .category-page-title,
.tax-product_cat .category-header,
.tax-product_cat .page-header-bg,
.tax-product_cat .has-category-image,
.tax-product_cat > .page-header,
body.tax-product_cat .page-header,
body.tax-product_cat .page-title-inner { display: none !important; height: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important }

/* ═══ CATÉGORIES — Mobile overlay + drawer (global hide) ═══ */
.am-mobile-overlay { display: none; position: fixed; inset: 0; z-index: 9998; background: rgba(0,0,0,.5) }
.am-mobile-drawer { display: none }
@media (max-width: 768px) {
    .am-mobile-drawer { display: block }
}

/* ═══ CATÉGORIES — Mobile ═══ */
@media (max-width: 768px) {
    .am-cat-hero-inner { flex-direction: column; text-align: center }
    .am-cat-desc { margin: 0 auto }
    .am-cat-stats { justify-content: center }
    .am-cat-emoji { display: none }
    .am-subcats-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) }
    .am-mobile-filter-btn { display: block }
    .am-sibling-chips { padding: 12px 16px }
    .am-sibling-chip { padding: 6px 12px; font-size: 11px }

    /* Overlay sombre */
    .am-mobile-overlay.am-overlay-show { display: block }

    /* Drawer mobile — volet fixe depuis la droite */
    .am-mobile-drawer {
        position: fixed; top: 0; right: 0; bottom: 0;
        width: 85vw; max-width: 360px;
        z-index: 9999; background: #FEFBF9;
        overflow-y: auto; -webkit-overflow-scrolling: touch;
        box-shadow: -4px 0 20px rgba(0,0,0,.15);
        transform: translateX(100%);
        transition: transform .3s ease;
    }
    .am-mobile-drawer.am-drawer-open {
        transform: translateX(0);
    }
    .am-mobile-drawer-head {
        display: flex; align-items: center; justify-content: space-between;
        padding: 16px; border-bottom: 1px solid #F0E4E8;
        position: sticky; top: 0; background: #FEFBF9; z-index: 1;
    }
    .am-mobile-drawer-title {
        font-family: 'Fraunces', Georgia, serif;
        font-size: 1rem; font-weight: 700; color: #1C1018;
    }
    .am-mobile-close {
        display: flex !important; align-items: center; justify-content: center;
        width: 36px; height: 36px; border-radius: 50%;
        background: none; border: 1.5px solid #F0E4E8;
        font-size: 16px; color: #8C6070; cursor: pointer;
    }
    .am-mobile-close:hover { border-color: #E8466A; color: #E8466A }
    .am-mobile-drawer-body { padding: 16px }
}
@media (min-width: 769px) and (max-width: 1024px) {
    .am-subcats-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) }
}

/* Animations */
@keyframes amFadeIn { from { opacity: 0; transform: translateY(10px) } to { opacity: 1; transform: translateY(0) } }
@keyframes amFadeOut { from { opacity: 1; transform: translateY(0) } to { opacity: 0; transform: translateY(-10px) } }

/* Mobile set builder + perso + fiche produit */
@media (max-width: 768px) {
    /* Set builder container */
    .am-set-builder { padding: 14px; border-radius: 14px }
    .am-set-title { font-size: .85rem }
    .am-set-sub { font-size: 11px; margin-bottom: 12px }

    /* Rows : empiler les champs */
    .am-set-row { padding: 10px }
    .am-set-row-attrs { flex-wrap: wrap; gap: 6px }
    .am-set-field { flex: 1 1 100%; min-width: 0 }
    .am-set-label { font-size: 9px }
    .am-set-select { font-size: 14px; padding: 12px 30px 12px 12px; overflow: visible; text-overflow: clip; white-space: normal; height: auto; line-height: 1.3 }
    .am-set-unit-price { width: auto; padding-bottom: 6px; font-size: 14px; font-weight: 800 }
    .am-set-remove { margin-bottom: 4px }

    /* Perso dans les rows */
    .am-set-row-perso { gap: 6px }
    .am-set-perso-field { flex: 1 1 100% }
    .am-set-perso-input, input.am-set-perso-input, select.am-set-perso-input { font-size: 13px; padding: 10px 12px }

    /* Bouton ajouter */
    .am-set-add { font-size: 12px; padding: 10px }

    /* Nudge */
    .am-set-nudge { padding: 8px 10px }
    .am-set-nudge p { font-size: 11px }

    /* Récap prix */
    .am-set-line { font-size: 12px }
    .am-set-line.total { font-size: 14px }
    .am-set-final { font-size: 1.1rem }

    /* Bouton ATC custom set */
    .am-set-atc { font-size: 14px; padding: 13px 20px }

    /* Perso standalone */
    .am-perso-standalone { padding: 14px; border-radius: 14px }
    .am-perso-header { gap: 8px; margin-bottom: 12px; padding-bottom: 10px }
    .am-perso-icon { width: 32px; height: 32px; font-size: 14px }
    .am-perso-title { font-size: .8rem }
    .am-perso-hint { font-size: 11px }
    .am-perso-fields { gap: 8px }
    .am-perso-field { flex: 1 1 100% }
    .am-perso-label { font-size: 11px }
    .am-perso-standalone .am-perso-input { padding: 10px 12px !important; font-size: 13px !important }

    /* Trust badges sous ATC : 2 colonnes compact */
    .am-atc-trust { gap: 6px }
    .am-atc-trust-item { padding: 7px 8px; font-size: 11px }

    /* Sticky ATC mobile */
    .am-sticky-atc { padding: 10px 16px }
    .am-sticky-atc .sa-name { font-size: .75rem }
    .am-sticky-atc .sa-btn { padding: 10px 20px; font-size: 12px }

    /* Upsell perso candy */
    .am-upsell-btn { padding: 10px 12px; font-size: 12px }
    .am-upsell-candy { padding: 14px }
    .am-upsell-candy-form { padding: 12px }
    .am-upsell-row { grid-template-columns: 1fr }
    .am-upsell-submit { font-size: 13px; padding: 11px 20px }
    .am-upsell-reassure { gap: 8px }
    .am-upsell-reassure span { font-size: 9px }
}

@media (max-width: 480px) {
    /* Set builder : tout en 1 colonne */
    .am-set-field { flex: 1 1 100% }
    .am-set-row-attrs { gap: 4px }

    /* Prix + supprimer en ligne */
    .am-set-unit-price { font-size: 13px }

    /* Titre produit plus petit */
    .product-title.product_title { font-size: 1.1rem !important }

    /* Prix fiche */
    .single-product .product-info .price,
    .single-product .summary .price { font-size: 1.2rem !important }

    /* Reassurance 1 colonne */
    .am-reassurance-grid { grid-template-columns: 1fr !important }
    .am-reassurance-item { font-size: 12px }

    /* Trust badges 1 colonne */
    .am-atc-trust { grid-template-columns: 1fr !important }

    /* Sticky ATC — encore plus compact */
    .am-sticky-atc .sa-name { font-size: 0.68rem; }
    .am-sticky-atc .sa-btn { padding: 8px 14px; font-size: 11px; }
}

/* ═══ Fix mega menu hover gap ═══ */
/* Pont invisible entre le lien et le dropdown */
.nav .has-dropdown > .nav-top-link::after,
.nav .has-mega-menu > .nav-top-link::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 0;
    right: 0;
    height: 15px;
}
/* Délai de fermeture pour laisser le temps de descendre */
.nav .nav-dropdown,
.nav .mega-menu {
    transition: opacity 0.15s ease, visibility 0s linear 0.3s !important;
}
.nav .has-dropdown:hover > .nav-dropdown,
.nav .has-mega-menu:hover > .mega-menu {
    transition: opacity 0.15s ease, visibility 0s linear 0s !important;
}
/* Étendre la zone de hover du parent */
.nav .has-dropdown,
.nav .has-mega-menu {
    padding-bottom: 10px;
    margin-bottom: -10px;
}
.facetwp-facet .facetwp-toggle { display: none; } .facetwp-facet .facetwp-toggle:first-of-type { display: block; } .facetwp-facet.facetwp-expanded .facetwp-toggle { display: block; } .facetwp-facet.facetwp-expanded .facetwp-toggle:first-of-type { display: none; }

/* Masquer le sticky ATC quand le set builder est présent */
.am-has-set-builder ~ .am-sticky-atc,
body.am-has-set-builder .am-sticky-atc { display: none !important; }

/* === Flèches produit précédent/suivant — discrètes === */
.single-product .next-prev-thumbs .button.icon.is-outline.circle {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    background: #fff !important;
    border: 1px solid #e0d0d5 !important;
    color: #8C6070 !important;
    font-size: 13px !important;
    box-shadow: 0 2px 8px rgba(28,16,24,.06) !important;
    opacity: .5;
    transition: all .2s;
    padding: 0 !important;
    margin: 0 3px !important;
}
.single-product .next-prev-thumbs .button.icon.is-outline.circle:hover {
    opacity: 1;
    border-color: #E8466A !important;
    color: #E8466A !important;
}

/* ═══ Masquer sticky ATC Flatsome ═══ */
.sticky-add-to-cart,
.cart-sticky-wrapper,
.product-sticky-footer { display: none !important; }

/* ═══ Masquer sticky ATC Flatsome (vrais sélecteurs) ═══ */
.sticky-add-to-cart-wrapper,
.sticky-add-to-cart,
.cart-popup-inner--sticky { display: none !important; }

/* ═══ Fix bouton blog produits ═══ */
.am-blog-products-btn,
.am-blog-products-btn:visited,
.am-blog-products-btn:hover,
.am-blog-products-btn:active {
    color: #fff !important;
    text-decoration: none !important;
}

/* ═══ Fix bouton blog produits — spécificité haute ═══ */
.am-blog-products .am-blog-products-cta a.am-blog-products-btn {
    color: #fff !important;
    background: #E8466A !important;
}
.am-blog-products .am-blog-products-cta a.am-blog-products-btn:hover {
    color: #fff !important;
    background: #F06B87 !important;
}
