/* Google Fonts — Inter + Playfair Display — 24/03/2026 */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=Inter:wght@300;400;500&display=swap');

/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

/* Filtres mobile — voir bloc principal plus bas (ligne ~770) */

/* ==========================================================
   FIX SLIDER PRIX — afficher les 2 handles — 22/03/2026
   ========================================================== */
/* FIX: empecher la surcharge var(--handle-left) qui bloque le 2e handle */
.ui-slider-handle[style*="left"] {
    left: unset !important;
}

.ui-slider .ui-slider-handle {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #1a1a1a !important;
    border: 2px solid #fff !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2) !important;
    cursor: pointer !important;
    top: -7px !important;
    z-index: 2 !important;
    position: absolute !important;
}

.ui-slider .ui-slider-range {
    background: #1a1a1a !important;
    height: 4px !important;
}

.ui-slider {
    height: 4px !important;
    background: #e0e0e0 !important;
    border: none !important;
    border-radius: 2px !important;
    margin: 15px 8px !important;
}

/* --- Fix overscroll iOS — fond cohérent — 19/03/2026 --- */
html { background-color: #fff !important; }

/* ========================================
   MARGE ENTRE IMAGE PRÉSENTATION ET CATÉGORIES — 19 mars 2026
   ======================================== */
.container-category {
    margin-top: 40px;
}
@media (max-width: 767px) {
    .container-category {
        margin-top: 25px;
    }
}

/* ========================================
   ATTRIBUTS PRODUIT — Style luxe La Galerie — 18 mars 2026
   ======================================== */

/* Conteneur général */
.product-variants-listing {
    padding: 8px 0;
    margin-top: 8px;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* === COULEURS === */
/* Wishlist heart — 28/03/2026 */
.lg-wishlist-heart {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    background: none;
    border: none;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    transition: all .2s ease;
    padding: 0;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,.3));
}
.lg-wishlist-heart svg {
    width: 22px;
    height: 22px;
    stroke-width: 1.5;
}
.lg-wishlist-heart:hover {
    transform: scale(1.15);
    color: #e74c3c;
}
.lg-wishlist-heart:hover svg {
    fill: #e74c3c;
    stroke: #e74c3c;
}
.lg-wishlist-heart.active {
    color: #e74c3c;
}
.lg-wishlist-heart.active svg {
    fill: #e74c3c;
    stroke: #e74c3c;
}
.lang-rtl .lg-wishlist-heart {
    right: auto;
    left: 10px;
}

/* Discount badge left — 28/03/2026 */
.product-flag.discount,
.product-flag.on-sale {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    z-index: 2;
}
.lang-rtl .product-flag.discount,
.lang-rtl .product-flag.on-sale {
    left: auto !important;
    right: 12px !important;
}

.variant-colors {
    display: flex !important;
    gap: 6px;
    margin: 4px 0 6px;
    flex-wrap: wrap;
    justify-content: flex-start;
    opacity: 1 !important;
    visibility: visible !important;
}

/* RTL — swatches couleur non coupées — 25/03/2026 */
.lang-rtl .variant-colors {
    justify-content: flex-end;
}
.lang-rtl .product-full-attr,
.lang-rtl .thumbnail-container .product-meta {
    overflow: visible;
}

.variant-color-item {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1.5px solid rgba(0,0,0,.1);
    display: inline-block;
    cursor: pointer;
    transition: all 0.25s ease;
    background-size: cover;
    background-position: center;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    touch-action: manipulation; /* supprime le délai 300ms sur iOS — 21/03/2026 */
}

.variant-color-item:hover {
    border-color: #1a1a1a;
    transform: scale(1.15);
    box-shadow: 0 2px 6px rgba(0,0,0,.12);
}

/* Couleur sélectionnée — anneau noir visible — 21/03/2026 */
.variant-color-item.active,
.variant-color-item.lg-swatch-active {
    outline: 2px solid #1a1a1a !important;
    outline-offset: 2px !important;
    transform: scale(1.1) !important;
}

.variant-color-item.sold-out {
    opacity: 1;
    cursor: pointer;
}

/* === TAILLES === */
.variant-sizes {
    margin: 4px 0 8px;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.variant-label {
    display: none !important;
}

.size-options {
    display: flex !important;
    flex-direction: row !important;
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
    opacity: 1 !important;
    visibility: visible !important;
}

.variant-size-item {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 3px 0;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .02em;
    color: #999;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid transparent;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 24px;
    text-align: center;
    opacity: 1 !important;
    visibility: visible !important;
}

.variant-size-item:hover {
    color: #1a1a1a;
    border-bottom-color: #1a1a1a;
    background-color: transparent;
}

.variant-size-item.sold-out {
    opacity: 0.2 !important;
    cursor: not-allowed;
    text-decoration: line-through;
    color: #ccc;
}

/* === CARTE PRODUIT — Style luxe aéré === */
.product-miniature .product-meta {
    padding: 2px 2px 8px !important;
    text-align: left !important;
}

.product-miniature .product-title {
    margin: 0 0 2px !important;
}

.product-miniature .product-title a {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    transition: color .2s ease !important;
}

.product-miniature .product-title a:hover {
    color: #666 !important;
}

/* Prix */
.product-miniature .product-price-and-shipping {
    margin: 2px 0 !important;
    text-align: left !important;
}

.product-miniature .product-price-and-shipping .price {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 300 !important;
    color: #1a1a1a !important;
    letter-spacing: .03em !important;
}

/* Prix barré (ancien prix) */
.product-miniature .product-price-and-shipping .regular-price {
    font-size: 10px !important;
    color: #bbb !important;
    text-decoration: line-through !important;
    font-weight: 300 !important;
    margin-right: 6px !important;
}

/* Badge promo — listing (texte pourcentage) — style élégant 19 mars 2026 */
.product-miniature .product-price-and-shipping .discount-percentage,
.product-miniature .product-price-and-shipping .discount-amount {
    font-size: 9px !important;
    font-weight: 500 !important;
    color: #8a7050 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    letter-spacing: .08em !important;
}

/* Badge Coming Soon / Rupture */
.product-miniature .product-flag {
    font-family: 'Inter', sans-serif !important;
    font-size: 8px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    padding: 5px 10px !important;
    background: rgba(255,255,255,.85) !important;
    color: #1a1a1a !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Badge promo -15% — listing image — noir élégant */
.product-miniature .product-flag.discount {
    background: #1a1a1a !important;
    color: #e8dcc8 !important;
    letter-spacing: .15em !important;
}

/* Badge promo — fiche produit : "-15%" sur l'image — style luxe 19 mars 2026 */
.product-flags .product-flag.discount {
    background: #1a1a1a !important;
    color: #e8dcc8 !important;
    font-family: 'Inter', Georgia, sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    padding: 6px 12px !important;
    border-radius: 0 !important;
    border: none !important;
}

/* "Sauvegarder X%" — fiche produit — style luxe 19 mars 2026 */
.product-price .discount-percentage,
.product-price .discount-amount,
.has-discount .discount-percentage,
.has-discount .discount-amount,
span.discount.discount-percentage,
span.discount.discount-amount {
    display: inline-block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    background: transparent !important;
    border: 1px solid #c9b89a !important;
    padding: 4px 10px !important;
    border-radius: 0 !important;
    vertical-align: middle !important;
    margin-left: 8px !important;
}

/* Description courte (cacher en listing pour un rendu épuré) */
.product-miniature .product-description-short {
    display: none !important;
}

/* Image produit : transition douce au hover */
.product-miniature .product-thumbnail img {
    transition: transform .4s ease, opacity .3s ease !important;
}
.product-miniature:hover .product-thumbnail img {
    transform: scale(1.03) !important;
}

/* Espacement entre les cartes produit */
@media (max-width: 767px) {
    .product_list .ajax_block_product {
        margin-bottom: 15px !important;
    }
    .variant-size-item {
        font-size: 9px !important;
        min-width: 20px !important;
        padding: 2px 0 !important;
    }
    .variant-color-item {
        width: 15px !important;
        height: 15px !important;
    }
}

.products-selection .sort-by-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.products-selection .sort-by-row .filter-button {
    margin-left: auto;
    text-align: right;
}

/* RTL - align filter button to the left */
.rtl .products-selection .sort-by-row .filter-button,
[dir="rtl"] .products-selection .sort-by-row .filter-button {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}

.thumbnail-container:hover .product-additional,
.thumbnail-container:hover .second-image-style {
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Product image navigation arrows — supprimé 21/03/2026, remplacé par slider slick */

/* Hide product tabs navigation */
.product-tabs .nav-tabs {
    display: none !important;
}

/* Make tab content always visible */
.product-tabs .tab-content .tab-pane {
    display: block !important;
    opacity: 1 !important;
}

/* Hide accessories section inside the column */
.product-container #category-products2 {
    display: none !important;
}

.product-container .product-accessories {
    display: none !important;
}

/* Reduce space between product-image and product-meta */
.thumbnail-container .product-meta {
    padding: 4px 0 0 0 !important;
    margin: 0 !important;
}
.product-miniature .product-full-attr {
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}
.product-miniature .product-item-attribute {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}
.product-miniature .pro3-btn {
    display: none !important;
}

#wrapper {
    min-height: 500px;
    padding-left: 9px;
    padding-right: 9px;
    padding-top: 10px;
    padding-bottom: 10px;
    /* Empêcher le scroll horizontal causé par le bleed 100vw — 18 mars 2026 */
    overflow-x: clip !important;
}

/* Fix bandes blanches homepage mobile FR + HE — zéro padding/margin sur toute la chaîne — 18 mars 2026 */
body#index #wrapper {
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: clip !important;
}
body#index #content-wrapper,
body#index #main,
body#index #content,
body#index .page-home {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}
body#index #wrapper > .row {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
/* Fix col-lg-12 padding sur homepage — 19 mars 2026 */
body#index #content-wrapper.col-lg-12 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}
body#index .ApRow {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
}
body#index .ApRow > .ApColumn {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body#index .ApImage img {
    width: 100% !important;
    display: block !important;
}
body#index .page-home > .row {
    margin: 0 !important;
}

/* ========================================
   BLOCS RÉASSURANCE — Style épuré La Galerie — 18 mars 2026
   ======================================== */

/* Conteneur : fond subtil, espacement aéré */
body#index .ApRow:has(img[src*="iconify"]) {
    background: #fafaf8 !important;
    padding: 30px 10px !important;
    margin: 20px 0 !important;
    border-top: 1px solid #f0ede8 !important;
    border-bottom: 1px solid #f0ede8 !important;
}

/* Chaque bloc */
body#index .ApRow:has(img[src*="iconify"]) .ApColumn > .ApImage > div {
    padding: 20px 10px !important;
}

/* Icônes : plus petites, plus fines, couleur douce */
body#index .ApRow:has(img[src*="iconify"]) img[src*="iconify"] {
    width: 28px !important;
    height: 28px !important;
    opacity: 0.6 !important;
    margin-bottom: 10px !important;
    filter: none !important;
}

/* Titres : plus discrets, élégants */
body#index .ApRow:has(img[src*="iconify"]) h4 {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    margin: 0 0 6px 0 !important;
}

/* Descriptions : subtiles */
body#index .ApRow:has(img[src*="iconify"]) p {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    color: #999 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* Mobile : stack horizontal compact */
@media (max-width: 767px) {
    body#index .ApRow:has(img[src*="iconify"]) {
        padding: 20px 5px !important;
    }
    body#index .ApRow:has(img[src*="iconify"]) .ApColumn {
        padding: 0 3px !important;
    }
    body#index .ApRow:has(img[src*="iconify"]) img[src*="iconify"] {
        width: 22px !important;
        height: 22px !important;
    }
    body#index .ApRow:has(img[src*="iconify"]) h4 {
        font-size: 8px !important;
        letter-spacing: .1em !important;
    }
    body#index .ApRow:has(img[src*="iconify"]) p {
        font-size: 8px !important;
        line-height: 1.4 !important;
    }
}

/* ========================================
   FOOTER — Style épuré La Galerie — 18 mars 2026
   ======================================== */

/* Fond footer */
.box-footer {
    background: #f8f7f5 !important;
    padding: 40px 20px 30px !important;
    border-top: 1px solid #eae7e2 !important;
}

/* Header homepage : z-index au-dessus de tout — fix 30 mars 2026 */
#index:not(.keep-header) #page #header {
    z-index: 10000 !important;
}

/* Logo header — 29 mars 2026 */
.box-top .ApColumn:nth-child(1) a[style],
.box-top .ApColumn:nth-child(1) a {
    margin-top: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}
.box-top .logo.img-fluid,
.box-top .logo-second.img-fluid {
    width: 160px;
    height: auto;
    background: transparent !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

/* Logo footer */
.box-footer .logo.img-fluid {
    content: url('/img/logo-gg.svg') !important;
    max-width: 140px !important;
    opacity: 0.9 !important;
    margin-bottom: 20px !important;
}

/* Infos contact */
.box-footer .ApRawHtml div {
    font-family: 'Inter', sans-serif !important;
}
.box-footer .ApRawHtml p {
    font-size: 13px !important;
    color: #666 !important;
    margin-bottom: 12px !important;
    line-height: 1.6 !important;
}
.box-footer .ApRawHtml a {
    color: #666 !important;
    text-decoration: none !important;
    transition: color .2s ease !important;
}
.box-footer .ApRawHtml a:hover {
    color: #1a1a1a !important;
}
.box-footer .ApRawHtml svg {
    stroke: #999 !important;
    width: 16px !important;
    height: 16px !important;
}

/* Titres des sections (Collections, Service Client) */
.box-footer .title_block {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
}

/* Liens footer */
.box-footer .ApBlockLink ul li a {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #888 !important;
    padding: 6px 0 !important;
    display: block !important;
    transition: color .2s ease, padding-left .2s ease !important;
}
.box-footer .ApBlockLink ul li a:hover {
    color: #1a1a1a !important;
    padding-left: 5px !important;
}

/* Séparateur titre accordion */
.box-footer .title.clearfix {
    border-bottom: 1px solid #eae7e2 !important;
    padding: 12px 0 !important;
}

/* Copyright */
.box-copyright {
    background: #f2f0ec !important;
    padding: 15px 20px !important;
    border-top: 1px solid #eae7e2 !important;
}

/* Newsletter */
.box-footer .block_newsletter {
    font-family: 'Inter', sans-serif !important;
}

/* Mobile : espacement */
@media (max-width: 767px) {
    .box-footer {
        padding: 30px 15px 20px !important;
    }
    .box-footer .logo.img-fluid {
        max-width: 120px !important;
        display: block !important;
        margin: 0 auto 20px !important;
    }
    .box-footer .ApRawHtml div {
        text-align: center !important;
    }
    .box-footer .ApColumn {
        margin-bottom: 5px !important;
    }
}

/* Fix search widget overlap with profile and cart icons */
@media (min-width: 576px) {
    .box-top .ApColumn:nth-child(3) {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
    }

    .box-top .ApColumn:nth-child(3) #_desktop_cart,
    .box-top .ApColumn:nth-child(3) #currency-selector-label,
    .box-top .ApColumn:nth-child(3) .language-selector-wrapper,
    .box-top .ApColumn:nth-child(3) .userinfo-selector {
        float: none !important;
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
    }
}

/* Home page specific bottom value */
body#index .plist-dsimple .thumbnail-container .pro3-btn {
    position: absolute;
    bottom: 60px;
    left: 15px;
    right: 15px;
    text-align: left;
    font-size: 0;
    transition: all .4s;
    pointer-events: none;
}

/* Header alignment — logo centré, icônes à droite — 30/03/2026 refonte luxe */
#header .header-top .inner {
    height: 80px;
}
#header .header-top .inner > .box-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 80px !important;
    flex-wrap: nowrap !important;
}

/* Colonne 1 — Logo */
.box-top > .ApColumn:nth-child(1) {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
}
.box-top > .ApColumn:nth-child(1) a {
    display: flex !important;
    align-items: center !important;
    margin-top: 0 !important;
    padding: 0 !important;
}

/* Colonne 2 — Menu (caché mobile, visible desktop) */
.box-top > .ApColumn:nth-child(2) {
    display: flex !important;
    align-items: center !important;
    flex: 1 !important;
    justify-content: center !important;
}

/* Colonne 3 — Icônes */
.box-top > .ApColumn:nth-child(3) {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    gap: 10px !important;
}

/* Mobile — burger gauche, logo centré, icônes droite */
@media (max-width: 991px) {
    #header .header-top .inner,
    #header .header-top .inner > .box-top {
        height: 56px !important;
    }
    #header .header-top .inner > .box-top {
        display: flex !important;
        align-items: center !important;
    }
    /* Col 1 = Logo → centré */
    .box-top > .ApColumn:nth-child(1) {
        order: 2 !important;
        flex: 1 !important;
        justify-content: center !important;
        display: flex !important;
        align-items: center !important;
    }
    .box-top > .ApColumn:nth-child(1) a {
        margin-top: 0 !important;
        padding: 0 !important;
        line-height: 0 !important;
    }
    /* Col 2 = Burger → droite */
    .box-top > .ApColumn:nth-child(2) {
        order: 3 !important;
        flex: 0 0 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        padding: 0 !important;
        height: 56px !important;
        line-height: 56px !important;
    }
    /* Col 3 = Icônes → gauche */
    .box-top > .ApColumn:nth-child(3) {
        order: 1 !important;
        flex: 0 0 auto !important;
        justify-content: flex-start !important;
        display: flex !important;
        align-items: center !important;
        height: 56px !important;
        gap: 6px !important;
    }
    /* Burger lui-même — centré verticalement */
    .navbar-toggler {
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        line-height: 1 !important;
    }
    .leo-megamenu,
    .leo-megamenu .navbar-header {
        display: flex !important;
        align-items: center !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* RTL header */
.lang-rtl .box-top > .ApColumn:nth-child(3) {
    justify-content: flex-start !important;
}
.lang-rtl .box-top > .ApColumn:nth-child(1) {
    justify-content: flex-end !important;
}
@media (max-width: 991px) {
    .lang-rtl .box-top > .ApColumn:nth-child(3) {
        justify-content: flex-end !important;
    }
}

/* ========================================
   NAVIGATION DESKTOP LUXE — refonte 30/03/2026
   ======================================== */
@media (min-width: 992px) {
    /* Nav links — typographie raffinée */
    .leo-megamenu .navbar-nav > li > a {
        font-family: 'Inter', sans-serif !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        letter-spacing: .20em !important;
        text-transform: uppercase !important;
        color: #1a1a1a !important;
        padding: 30px 14px !important;
        position: relative !important;
        transition: color 0.3s ease !important;
    }

    /* Underline slide-in dorée */
    .leo-megamenu .navbar-nav > li > a:before {
        content: '' !important;
        position: absolute !important;
        bottom: 25px !important;
        left: 14px !important;
        right: 14px !important;
        height: 1px !important;
        background-color: #C9A96E !important;
        transform: scaleX(0) !important;
        transform-origin: right center !important;
        transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    }
    .rtl .leo-megamenu .navbar-nav > li > a:before,
    html[dir="rtl"] .leo-megamenu .navbar-nav > li > a:before {
        transform-origin: left center !important;
    }
    .leo-megamenu .navbar-nav > li:hover > a:before,
    .leo-megamenu .navbar-nav > li.active > a:before {
        transform: scaleX(1) !important;
        transform-origin: left center !important;
        height: 1px !important;
        background: #C9A96E !important;
    }
    .rtl .leo-megamenu .navbar-nav > li:hover > a:before,
    .rtl .leo-megamenu .navbar-nav > li.active > a:before,
    html[dir="rtl"] .leo-megamenu .navbar-nav > li:hover > a:before,
    html[dir="rtl"] .leo-megamenu .navbar-nav > li.active > a:before {
        transform-origin: right center !important;
    }

    /* Hover color doré */
    .leo-megamenu .navbar-nav > li:hover > a,
    .leo-megamenu .navbar-nav > li.active > a {
        color: #C9A96E !important;
    }

    /* Dropdown caret — discret */
    .leo-megamenu .navbar-nav > li > a.dropdown-toggle:after {
        font-size: 9px !important;
        margin: 0 0 0 4px !important;
        opacity: 0.4 !important;
        transition: opacity 0.3s ease !important;
    }
    .leo-megamenu .navbar-nav > li:hover > a.dropdown-toggle:after {
        opacity: 0.8 !important;
    }
    html[dir="rtl"] .leo-megamenu .navbar-nav > li > a.dropdown-toggle:after {
        margin: 0 4px 0 0 !important;
    }

    /* Dropdown panel — luxe */
    .leo-megamenu .dropdown-menu {
        background: #FDFCFA !important;
        border: none !important;
        border-top: 1px solid #e8e4de !important;
        box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
        padding: 28px 32px !important;
        font-family: 'Inter', sans-serif !important;
    }
    .leo-megamenu .dropdown-menu li a {
        font-family: 'Inter', sans-serif !important;
        font-size: 12px !important;
        font-weight: 300 !important;
        letter-spacing: .06em !important;
        color: #555 !important;
        padding: 6px 0 !important;
        transition: color 0.25s ease, padding-left 0.25s ease !important;
        text-transform: none !important;
    }
    html[dir="rtl"] .leo-megamenu .dropdown-menu li a {
        transition: color 0.25s ease, padding-right 0.25s ease !important;
    }
    .leo-megamenu .dropdown-menu li a:hover {
        color: #C9A96E !important;
        padding-left: 4px !important;
        background-color: transparent !important;
    }
    html[dir="rtl"] .leo-megamenu .dropdown-menu li a:hover {
        padding-left: 0 !important;
        padding-right: 4px !important;
    }

    /* Dropdown titles */
    .leo-megamenu .dropdown-menu div.menu-title,
    .leo-megamenu .dropdown-menu .leo-widget .menu-title {
        font-family: 'Inter', sans-serif !important;
        font-size: 11px !important;
        font-weight: 500 !important;
        letter-spacing: .15em !important;
        text-transform: uppercase !important;
        color: #1a1a1a !important;
        border-bottom: 1px solid #e8e4de !important;
        padding-bottom: 10px !important;
        margin-bottom: 12px !important;
    }
}

/* Ordre icônes header : Loupe | Panier | Profil — 21 mars 2026 */
#leo_search_block_top { order: 1 !important; }
#_desktop_cart        { order: 2 !important; }
#leo_block_top        { order: 3 !important; }

/* Alignement uniforme des 3 icônes header — 21 mars 2026 */
#leo_search_block_top,
#_desktop_cart,
#leo_block_top {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    height: 40px !important;
    width: 40px !important;
    transition: opacity 0.3s ease !important;
}
#leo_search_block_top:hover,
#_desktop_cart:hover,
#leo_block_top:hover {
    opacity: 0.6 !important;
}
/* Badge panier doré — refonte luxe 30/03/2026 */
#_desktop_cart .cart-products-count {
    background-color: #C9A96E !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    min-width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
    border-radius: 8px !important;
    letter-spacing: 0 !important;
}
/* Supprimer le padding interne des wrappers enfants */
#_desktop_cart .header,
#leo_block_top .popup-title,
#leo_search_block_top > * {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
/* Lien panier occupe tout l'espace cliquable du header — 22/03/2026 */
#_desktop_cart .header a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    text-decoration: none !important;
}

/* Sticky header — frosted glass luxe — 30/03/2026 */
#header.sticky-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    box-shadow: 0 1px 0 rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04) !important;
    transition: all 0.3s ease !important;
    background-color: rgba(253,252,250,0.97) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

/* === ÉLIMINER tout espace mort dans le header === */
#header .header-nav,
#header .header-banner {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
}

/* Header collé au top sans espace mort — 18 mars 2026 — refonte luxe 30/03/2026 */
#header {
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-top: none !important;
    background: #FDFCFA;
    transition: background-color 0.4s ease, box-shadow 0.4s ease;
}

#header > .header-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ========================================
   PAGE BEST SELLERS — Layout éditorial premium (cat 33) — 26/03/2026
   ======================================== */

/* Hero */
.lg-bs-hero {
    text-align: center;
    padding: 50px 20px 35px;
}
.lg-bs-title {
    font-family: 'Playfair Display', serif;
    font-size: 38px;
    font-weight: 400;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #1a1a1a;
    margin: 16px 0;
}
.lg-bs-tagline {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-style: italic;
    letter-spacing: .1em;
    color: #888;
    margin: 0 0 16px;
}
.lg-bs-line {
    width: 50px;
    height: 1px;
    background: #c9b89a;
    margin: 0 auto;
}

/* Spotlight — produit vedette */
.lg-bs-spotlight {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    padding: 0 20px 50px;
    max-width: 1000px;
    margin: 0 auto;
    overflow: hidden;
}
.lg-bs-spotlight-image {
    overflow: hidden !important;
    border-radius: 2px;
    max-height: 500px;
}
.lg-bs-spotlight-image picture {
    display: block;
    overflow: hidden;
    max-height: 500px;
}
img.lg-bs-spotlight-img {
    display: block !important;
    width: 100% !important;
    height: 500px !important;
    object-fit: cover !important;
    max-width: 100% !important;
}
.lg-bs-spotlight-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.lg-bs-spotlight-label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: #c9b89a;
}
.lg-bs-spotlight-name {
    font-family: 'Playfair Display', serif;
    font-size: 36px;
    font-weight: 400;
    color: #1a1a1a;
    letter-spacing: .05em;
    margin: 0;
}
.lg-bs-spotlight-price {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 300;
    color: #1a1a1a;
}
.lg-bs-spotlight-cta {
    display: inline-block;
    margin-top: 10px;
    padding: 14px 40px;
    border: 1px solid #1a1a1a;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: #1a1a1a;
    text-decoration: none;
    transition: all .3s ease;
    align-self: flex-start;
}
.lg-bs-spotlight-cta:hover {
    background: #1a1a1a;
    color: #fff;
}

/* Conteneur des spotlights */
.lg-bs-products {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Divider entre les produits */
.lg-bs-divider {
    padding: 30px 0;
    text-align: center;
}

/* Alternance image gauche / droite sur desktop */
.lg-bs-spotlight.lg-bs-reverse {
    direction: ltr;
}
@media (min-width: 992px) {
    .lg-bs-spotlight.lg-bs-reverse {
        grid-template-columns: 0.9fr 1.1fr;
    }
    .lg-bs-spotlight.lg-bs-reverse .lg-bs-spotlight-image {
        order: 2;
    }
    .lg-bs-spotlight.lg-bs-reverse .lg-bs-spotlight-info {
        order: 1;
        text-align: right;
        align-items: flex-end;
    }
    html[dir="rtl"] .lg-bs-spotlight.lg-bs-reverse .lg-bs-spotlight-info {
        text-align: left;
        align-items: flex-start;
    }
}

/* Ancien prix barre */
.lg-bs-spotlight-oldprice {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 300;
    color: #bbb;
    text-decoration: line-through;
    margin-top: -8px;
}

/* ========================================
   PAGE DERNIÈRE CHANCE — Promotions (cat 35) — 27/03/2026
   ======================================== */

/* Hero */
.lg-dc-hero {
    text-align: center;
    padding: 50px 20px 35px;
}
.lg-dc-title {
    font-family: 'Playfair Display', serif;
    font-size: 38px;
    font-weight: 400;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #1a1a1a;
    margin: 16px 0;
}
.lg-dc-tagline {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-style: italic;
    letter-spacing: .1em;
    color: #888;
    margin: 0 0 24px;
}
.lg-dc-line {
    width: 50px;
    height: 1px;
    background: #c9b89a;
    margin: 0 auto;
}

/* Countdown */
.lg-dc-countdown {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 20px auto 24px;
    padding: 12px 24px;
    background: #1a1a1a;
    border-radius: 4px;
}
.lg-dc-count-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 40px;
}
.lg-dc-count-num {
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 500;
    color: #fff;
    letter-spacing: .05em;
    font-variant-numeric: tabular-nums;
}
.lg-dc-count-label {
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #c9b89a;
    margin-top: 2px;
}
.lg-dc-count-sep {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 300;
    color: #c9b89a;
    margin-top: -10px;
}

/* Spotlight — produit star */
.lg-dc-spotlight {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    padding: 0 20px 40px;
    max-width: 1000px;
    margin: 0 auto;
    overflow: hidden;
}
.lg-dc-spotlight-image {
    overflow: hidden;
    border-radius: 4px;
    position: relative;
}
img.lg-dc-spotlight-img {
    display: block !important;
    width: 100% !important;
    height: 500px !important;
    object-fit: cover !important;
    max-width: 100% !important;
}
.lg-dc-badge-big {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 3;
    background: #c9b89a;
    color: #1a1a1a;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 3px;
    letter-spacing: .05em;
}
html[dir="rtl"] .lg-dc-badge-big { left: auto; right: 16px; }
.lg-dc-spotlight-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.lg-dc-spotlight-label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: #c9b89a;
}
.lg-dc-spotlight-name {
    font-family: 'Playfair Display', serif;
    font-size: 36px;
    font-weight: 400;
    color: #1a1a1a;
    letter-spacing: .05em;
    margin: 0;
}
.lg-dc-spotlight-oldprice {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 300;
    color: #bbb;
    text-decoration: line-through;
}
.lg-dc-spotlight-price {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: #1a1a1a;
}
.lg-dc-spotlight-cta {
    display: inline-block;
    margin-top: 8px;
    padding: 14px 40px;
    border: 1px solid #1a1a1a;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: #1a1a1a;
    text-decoration: none;
    transition: all .3s ease;
    align-self: flex-start;
}
.lg-dc-spotlight-cta:hover {
    background: #1a1a1a;
    color: #fff;
}

/* Section heading */
.lg-dc-section-head {
    text-align: center;
    padding: 10px 20px 30px;
}
.lg-dc-section-label {
    display: inline-block;
    margin-top: 16px;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 400;
    letter-spacing: .1em;
    color: #1a1a1a;
}

/* Grille Dernière Chance */
#lg-dc-grid {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    overflow: hidden;
}

/* RTL */
html[dir="rtl"] .lg-dc-spotlight { direction: rtl; }
html[dir="rtl"] .lg-dc-spotlight-info { text-align: right; }
html[dir="rtl"] .lg-dc-spotlight-cta { align-self: flex-end; }

/* Masquer filtres/sidebar pour cat 35 — comme Best Sellers */
body.category-id-35 #left-column,
body.category-id-35 #search_filters_wrapper,
body.category-id-35 .products-selection,
body.category-id-35 #lg-sticky-filter,
body.category-id-35 .hidden-md-up.text-xs-right.up,
body.category-id-35 #js-product-list-top {
    display: none !important;
}
body.category-id-35 #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.category-id-35 #wrapper {
    padding-bottom: 0 !important;
}

/* Mobile Dernière Chance */
@media (max-width: 991px) {
    .lg-dc-hero { padding: 30px 16px 20px; }
    .lg-dc-title { font-size: 24px; letter-spacing: .15em; }
    .lg-dc-tagline { font-size: 11px; }
    .lg-dc-countdown { gap: 6px; padding: 10px 16px; }
    .lg-dc-count-num { font-size: 18px; }
    .lg-dc-count-item { min-width: 32px; }

    .lg-dc-spotlight {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding: 0 12px 25px !important;
        position: relative;
        border-radius: 8px;
        overflow: hidden !important;
    }
    .lg-dc-spotlight-image {
        max-height: 380px !important;
        border-radius: 8px;
        position: relative;
    }
    .lg-dc-spotlight-image::after {
        content: '';
        position: absolute;
        bottom: 0; left: 0; right: 0;
        height: 60%;
        background: linear-gradient(to top, rgba(0,0,0,.55), transparent);
        border-radius: 0 0 8px 8px;
        pointer-events: none;
    }
    img.lg-dc-spotlight-img { height: 380px !important; border-radius: 8px; }
    .lg-dc-spotlight-info {
        position: absolute !important;
        bottom: 20px; left: 24px; right: 24px;
        z-index: 2;
        text-align: left;
        align-items: flex-start;
    }
    .lg-dc-spotlight-label { color: #e8dcc8 !important; }
    .lg-dc-spotlight-name { color: #fff !important; font-size: 26px; }
    .lg-dc-spotlight-oldprice { color: rgba(255,255,255,.5) !important; }
    .lg-dc-spotlight-price { color: #fff !important; font-size: 18px !important; }
    .lg-dc-spotlight-cta {
        border-color: #fff !important; color: #fff !important;
        padding: 10px 28px !important; font-size: 10px !important;
        margin-top: 6px !important;
    }
    html[dir="rtl"] .lg-dc-spotlight-info { text-align: right !important; align-items: flex-end !important; }
    .lg-dc-section-label { font-size: 18px; }
    #lg-dc-grid { padding: 0 8px; }
}

/* Best Sellers + Dernière Chance : masquer filtres, grille, sidebar — 26/03/2026 */
body.category-id-33 #left-column,
body.category-id-33 #search_filters_wrapper,
body.category-id-33 .products-selection,
body.category-id-33 #lg-sticky-filter,
body.category-id-33 .hidden-md-up.text-xs-right.up,
body.category-id-33 #js-product-list-top {
    display: none !important;
}
body.category-id-33 #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.category-id-33 #wrapper {
    padding-bottom: 0 !important;
}

/* Footer marque */
.lg-bs-footer {
    text-align: center;
    padding: 40px 20px;
}
.lg-bs-line-full {
    width: 200px;
    height: 1px;
    background: #e0e0e0;
    margin: 0 auto 20px;
}
.lg-bs-brand {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: .25em;
    color: #999;
    text-transform: uppercase;
}

/* RTL */
html[dir="rtl"] .lg-bs-spotlight { direction: rtl; }
html[dir="rtl"] .lg-bs-spotlight-info { text-align: right; }
html[dir="rtl"] .lg-bs-spotlight-cta { align-self: flex-end; }

/* Mobile + Tablette */
@media (max-width: 991px) {
    .lg-bs-hero { padding: 30px 16px 20px; }
    .lg-bs-title { font-size: 24px; letter-spacing: .15em; }
    .lg-bs-tagline { font-size: 11px; }
    .lg-bs-products { padding: 0 12px; }
    .lg-bs-divider { padding: 20px 0; }

    /* Spotlight mobile : card avec texte superpose sur degrade */
    .lg-bs-spotlight {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding: 0 !important;
        max-width: 100% !important;
        position: relative;
        border-radius: 8px;
        overflow: hidden !important;
    }
    .lg-bs-spotlight.lg-bs-reverse .lg-bs-spotlight-image { order: unset; }
    .lg-bs-spotlight.lg-bs-reverse .lg-bs-spotlight-info { order: unset; }

    .lg-bs-spotlight-image {
        max-height: 420px !important;
        border-radius: 8px;
        position: relative;
    }
    .lg-bs-spotlight-image::after {
        content: '';
        position: absolute;
        bottom: 0; left: 0; right: 0;
        height: 60%;
        background: linear-gradient(to top, rgba(0,0,0,.55), transparent);
        border-radius: 0 0 8px 8px;
        pointer-events: none;
    }
    .lg-bs-spotlight-image picture { max-height: 420px !important; }
    img.lg-bs-spotlight-img { height: 420px !important; border-radius: 8px; }

    /* Info superpose sur l'image */
    .lg-bs-spotlight-info {
        position: absolute !important;
        bottom: 20px;
        left: 24px;
        right: 24px;
        z-index: 2;
        text-align: left;
        align-items: flex-start;
    }
    .lg-bs-spotlight-label { color: #e8dcc8 !important; }
    .lg-bs-spotlight-name { color: #fff !important; font-size: 26px; }
    .lg-bs-spotlight-price { color: rgba(255,255,255,.9) !important; font-size: 14px !important; }
    .lg-bs-spotlight-oldprice { color: rgba(255,255,255,.5) !important; }
    .lg-bs-spotlight-cta {
        border-color: #fff !important;
        color: #fff !important;
        padding: 10px 28px !important;
        font-size: 10px !important;
        align-self: flex-start !important;
        margin-top: 6px !important;
    }
    .lg-bs-spotlight-cta:hover {
        background: #fff !important;
        color: #1a1a1a !important;
    }

    /* RTL mobile */
    html[dir="rtl"] .lg-bs-spotlight-info {
        text-align: right !important;
        align-items: flex-end !important;
    }
    html[dir="rtl"] .lg-bs-spotlight-cta { align-self: flex-end !important; }
}

/* ========================================
   PAGE "TOUT VOIR" — Produits groupés par catégorie — 26/03/2026
   ======================================== */
#lg-grouped-products {
    padding: 0 15px;
}
#lg-grouped-products .lg-group {
    margin-bottom: 50px;
}
#lg-grouped-products .lg-group-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    border-bottom: 2px solid #1a1a1a;
    padding-bottom: 12px;
    margin-bottom: 25px;
}
#lg-grouped-products .lg-group-title {
    font-family: 'Playfair Display', serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: .03em;
    color: #1a1a1a;
    margin: 0;
    text-transform: uppercase;
}
#lg-grouped-products .lg-group-title a {
    color: inherit;
    text-decoration: none;
}
#lg-grouped-products .lg-group-title a:hover {
    color: #555;
}
#lg-grouped-products .lg-group-viewall {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #888;
    text-decoration: none;
    white-space: nowrap;
}
#lg-grouped-products .lg-group-viewall:hover {
    color: #1a1a1a;
}
/* RTL */
html[dir="rtl"] #lg-grouped-products .lg-group-header {
    flex-direction: row-reverse;
}
/* Mobile */
@media (max-width: 767px) {
    #lg-grouped-products .lg-group-title {
        font-size: 20px;
    }
    #lg-grouped-products .lg-group-header {
        flex-direction: column;
        gap: 8px;
    }
    html[dir="rtl"] #lg-grouped-products .lg-group-header {
        align-items: flex-end;
    }
}

/* Fix mobile : le .row du mega-menu fait 201px, on laisse le header gérer — 18 mars 2026 */

/* ========================================
   FIX MEGA MENU DESKTOP — dropdown cliquable — 26/03/2026
   Le theme Athena utilise opacity:0 + visibility:hidden + display:none.
   On force display:block au :hover pour que les liens soient cliquables.
   ======================================== */
@media (min-width: 992px) {
    /* Au hover : forcer visible + cliquable — ecrase toutes les media queries du theme */
    .leo-megamenu .dropdown:hover > .dropdown-menu,
    .leo-megamenu .dropdown:hover > .dropdown-sub,
    .leo-megamenu li.parent:hover > .dropdown-menu,
    .leo-megamenu li.parent:hover > .dropdown-sub {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
    /* Sous-menus level2+ : visibles au hover */
    .leo-megamenu .dropdown-submenu:hover > .dropdown-menu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
}

/* Uniformiser l'affichage catégorie mobile FR/HE — 18 mars 2026 */
@media (max-width: 767px) {
    /* Même padding conteneur pour LTR et RTL */
    body.page-category #wrapper,
    body.page-category #content-wrapper,
    body.page-category #main {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Grille produits : bord à bord avec petit gap */
    body.page-category .product_list.grid {
        padding: 0 5px !important;
    }
    body.page-category .product_list.grid .row {
        margin-left: -5px !important;
        margin-right: -5px !important;
    }

    /* Bouton filtre : pleine largeur, même style */
    body.page-category #search_filters_wrapper,
    body.page-category .leo-show-sidebar {
        margin: 0 !important;
        border-radius: 0 !important;
        width: 100% !important;
    }

    /* --- Panneau filtres mobile slide-in --- */
    #left-column {
        display: none !important;
    }
    #left-column.lg-filters-open {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 85% !important;
        max-width: 350px !important;
        height: 100vh !important;
        z-index: 10000 !important;
        background: #fff !important;
        overflow-y: auto !important;
        padding: 20px !important;
        box-shadow: 4px 0 20px rgba(0,0,0,0.15) !important;
        animation: lgSlideIn 0.3s ease !important;
    }
    #left-column.lg-filters-open #search_filters_wrapper {
        display: block !important;
    }
    #lg-filter-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.4);
        z-index: 9999;
    }
    @keyframes lgSlideIn {
        from { transform: translateX(-100%); }
        to { transform: translateX(0); }
    }

    /* Texte "Affichage X-X de X" centré */
    body.page-category .showing {
        text-align: center !important;
        padding: 10px 15px !important;
    }
}

/* Cacher les bannières catégorie (image + description) — garder uniquement homepage — 18 mars 2026 */
body:not(#index) #js-product-list-header {
    display: none !important;
}

/* Grille produits mobile : 2 par ligne, taille uniforme FR/HE — 18 mars 2026 */
@media (max-width: 480px) {
    .product_list .ajax_block_product.col-sp-12 {
        width: 50% !important;
        float: left !important;
    }
    /* RTL : float right */
    html[dir="rtl"] .product_list .ajax_block_product.col-sp-12 {
        float: right !important;
    }
    /* Taille uniforme des images et cartes produit */
    .product_list .ajax_block_product {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    .product_list .ajax_block_product .thumbnail-container {
        width: 100% !important;
    }
    .product_list .ajax_block_product .product-thumbnail img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1.12 !important;
        object-fit: cover !important;
    }
    /* Texte produit compact pour 2 colonnes */
    .product_list .ajax_block_product .product-title a {
        font-size: 12px !important;
        line-height: 1.3 !important;
    }
    .product_list .ajax_block_product .product-price-and-shipping {
        font-size: 13px !important;
    }
}

/* Grille produits tablette/desktop : uniformiser FR/HE */
@media (min-width: 481px) and (max-width: 767px) {
    html[dir="rtl"] .product_list .ajax_block_product {
        float: right !important;
    }
    .product_list .ajax_block_product .product-thumbnail img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1.12 !important;
        object-fit: cover !important;
    }
}

/* Note : overflow:hidden sur #page (theme.css:22576) casse position:fixed sur iOS Safari.
   Le fix est fait via JS dans layout-both-columns.tpl : le header est déplacé hors de #page sur mobile — 18 mars 2026 */

/* ========================================
   MOBILE HEADER — Comportement unique
   ======================================== */
@media (max-width: 767px) {

    /* Base : toujours fixed en mobile — z-index au-dessus de l'overlay menu — 30 mars 2026 */
    #header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 10000 !important;
        transition: background-color 0.3s ease, box-shadow 0.3s ease;
    }

    /* Body : supprimer tout padding du thème qui crée un espace blanc */
    body {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Wrapper : pas de padding-top, le margin-top sur #page suffit — fix 30 mars 2026 */
    #wrapper {
        padding-top: 0 !important;
        min-height: calc(100vh - 56px);
    }

    /* État blanc (scroll ou autre page) */
    #header.sticky-header {
        background-color: #fff !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    }

    /* État transparent (accueil au top) */
    body#index #header.transparent-header {
        background-color: transparent !important;
        box-shadow: none !important;
    }

    /* Sécurité : autres pages toujours blanc */
    body:not(#index) #header {
        background-color: #fff !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    }

    /* padding-top géré dynamiquement par JS (trackScrollPosition) */
}

/* Fix mobile header icon alignment */
@media (max-width: 575px) {
    #header .header-top .ApRow,
    #header.sticky-header .header-top .ApRow {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    #header .header-top .ApColumn,
    #header.sticky-header .header-top .ApColumn {
        display: flex !important;
        align-items: center !important;
    }

    #header .header-top .ApColumn:last-child,
    #header.sticky-header .header-top .ApColumn:last-child {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        margin-left: auto !important;
    }
}


/* RTL Mobile : inverser l'alignement automatique des icônes header */
@media (max-width: 575px) {
    [dir="rtl"] #header .header-top .ApColumn:last-child,
    [dir="rtl"] #header.sticky-header .header-top .ApColumn:last-child {
        margin-left: 0 !important;
        margin-right: auto !important;
    }
}

/* Fix cart badge position on mobile */
@media (max-width: 575px) {
    .box-top .col-info #_desktop_cart .header .cart-products-count,
    #_desktop_cart .cart-products-count {
        top: 0px !important;
        left: auto !important;
        right: -5px !important;
        transform: none !important;
        position: absolute !important;
    }

    #_desktop_cart .header {
        position: relative !important;
    }
}

/* RTL Mobile : badge panier sur le bon côté */
@media (max-width: 575px) {
    [dir="rtl"] .box-top .col-info #_desktop_cart .header .cart-products-count,
    [dir="rtl"] #_desktop_cart .cart-products-count {
        right: auto !important;
        left: -5px !important;
    }
}

/* RTL Mobile : popup panier aligné côté gauche */
@media (max-width: 767px) {
    [dir="rtl"] #_desktop_cart .cart-preview,
    [dir="rtl"] #_desktop_cart .dropdown-cart-content {
        right: auto !important;
        left: 0 !important;
    }
}

/* ========================================
   POPUP PROFIL — Redesign élégant La Galerie — 18 mars 2026
   ======================================== */
#leo_block_top .popup-content {
    min-width: 320px !important;
    max-width: 340px !important;
    padding: 24px !important;
    border-radius: 12px !important;
    border: none !important;
    background: #fff !important;
    box-shadow: 0 8px 40px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06) !important;
}

/* Titres sections (La langue, Devise) */
#leo_block_top .popup-content .language-selector > span,
#leo_block_top .popup-content .currency-selector > span {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    color: #999 !important;
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
}

/* Liens langue/devise */
#leo_block_top .popup-content .language-selector .link,
#leo_block_top .popup-content .currency-selector .link {
    display: flex !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
}

#leo_block_top .popup-content .language-selector .link li a,
#leo_block_top .popup-content .currency-selector .link li a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 14px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    color: #333 !important;
    text-decoration: none !important;
    transition: all .2s ease !important;
    background: #fafafa !important;
}

#leo_block_top .popup-content .language-selector .link li a:hover,
#leo_block_top .popup-content .currency-selector .link li a:hover {
    border-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #fff !important;
}

#leo_block_top .popup-content .language-selector .link li.current a,
#leo_block_top .popup-content .currency-selector .link li.current a {
    border-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #fff !important;
    font-weight: 600 !important;
}

/* Drapeaux langue */
#leo_block_top .popup-content .language-selector .link li a img {
    width: 20px !important;
    height: 14px !important;
    border-radius: 2px !important;
    object-fit: cover !important;
}

/* Colonnes du popup — empiler en vertical */
#leo_block_top .popup-content > .row {
    display: flex !important;
    flex-direction: column !important;
}

#leo_block_top .popup-content > .row > .col-xs-6 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* Séparateur entre sections */
#leo_block_top .popup-content > .row > .col-xs-6:first-child {
    border-bottom: 1px solid #f0f0f0 !important;
    padding-bottom: 8px !important;
    margin-bottom: 16px !important;
}

/* Section devise - inline avec langue */
#leo_block_top .popup-content .currency-selector {
    margin-top: 0 !important;
}

/* Liens utilisateur (Sign in, Mon compte, Checkout, Wishlist) */
#leo_block_top .popup-content .user-info {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#leo_block_top .popup-content .user-info li {
    margin: 0 !important;
    padding: 0 !important;
}

#leo_block_top .popup-content .user-info li a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: .02em !important;
    border-bottom: 1px solid #f5f5f5 !important;
    transition: all .2s ease !important;
}

#leo_block_top .popup-content .user-info li:last-child a {
    border-bottom: none !important;
}

#leo_block_top .popup-content .user-info li a:hover {
    color: #000 !important;
    padding-left: 6px !important;
}

#leo_block_top .popup-content .user-info li a .material-icons {
    font-size: 20px !important;
    color: #1a1a1a !important;
    width: 24px !important;
    text-align: center !important;
}

/* Bouton Sign In — style premium */
#leo_block_top .popup-content .user-info li a.signin {
    background: #1a1a1a !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    margin-bottom: 8px !important;
    border-bottom: none !important;
    font-weight: 500 !important;
    justify-content: center !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
}

#leo_block_top .popup-content .user-info li a.signin:hover {
    background: #333 !important;
    padding-left: 16px !important;
}

#leo_block_top .popup-content .user-info li a.signin .material-icons {
    color: #fff !important;
}

/* Make category header full width */
#main #js-product-list-header {
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
}

#main #js-product-list-header .block-category {
    margin: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
}

#main #js-product-list-header .block-category-inner {
    margin: 0 !important;
    padding: 0 !important;
}

#main #js-product-list-header .category-cover {
    margin: 0 !important;
    padding: 0 !important;
}

#main #js-product-list-header .category-cover img {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    height: auto !important;
}

/* Doublon body#category bleed 100vw supprimé — 18 mars 2026 */

/* RTL - popup profil : positionner correctement — 18 mars 2026 */
[dir="rtl"] #leo_block_top.popup-over .popup-content {
    left: auto !important;
    right: -20px !important;
}

[dir="rtl"] .popup-over .popup-content:before,
[dir="rtl"] .popup-over .popup-content:after {
    left: auto !important;
    right: 28px !important;
}

/* RTL mobile : centrer le popup sur l'écran */
@media (max-width: 767px) {
    [dir="rtl"] #leo_block_top.popup-over .popup-content {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        top: 85px !important;
        width: calc(100vw - 30px) !important;
        max-width: 340px !important;
    }

    [dir="rtl"] .popup-over .popup-content:before,
    [dir="rtl"] .popup-over .popup-content:after {
        display: none !important;
    }

    /* LTR mobile aussi — centrer le popup */
    html:not([dir="rtl"]) #leo_block_top.popup-over .popup-content {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        top: 85px !important;
        width: calc(100vw - 30px) !important;
        max-width: 340px !important;
    }

    html:not([dir="rtl"]) #leo_block_top .popup-content:before,
    html:not([dir="rtl"]) #leo_block_top .popup-content:after {
        display: none !important;
    }
}

/* RTL - fix search bar direction */
[dir="rtl"] #leo_search_form_wrapper_top {
    right: auto;
    left: 0;
}

/* All pages: transparent-header defaults to ivoire */
#header.transparent-header {
    background-color: #FDFCFA !important;
}

/* Non-homepage: header always ivoire (CSS safety net, no JS needed) */
body:not(#index) #header {
    background-color: #FDFCFA !important;
}

/* Homepage only - transparent header posé sur le slider — 31/03/2026 */
body#index #header.transparent-header {
    background-color: transparent !important;
    box-shadow: none !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 100 !important;
}

/* Supprimer l'espace du header dans le flow — le contenu commence à top:0 */
body#index #wrapper {
    padding-top: 0 !important;
}

/* Texte blanc sur header transparent homepage */
body#index #header.transparent-header,
body#index #header.transparent-header a,
body#index #header.transparent-header .leo-megamenu > li > a,
body#index #header.transparent-header .header-top a,
body#index #header.transparent-header .material-icons,
body#index #header.transparent-header svg {
    color: #fff !important;
}
body#index #header.transparent-header svg {
    stroke: #fff !important;
}
body#index #header.transparent-header .logo img {
    filter: brightness(0) invert(1);
}

/* Homepage transparent → sticky frosted glass au scroll — 31/03/2026 */
body#index #header.sticky-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 100 !important;
    background-color: rgba(253,252,250,0.97) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid rgba(232,228,222,0.5) !important;
}



/* BULLETPROOF: empêcher tout transform sur #page quand le menu burger est fermé.
   Cela protège position:fixed sur #header dans TOUS les cas :
   - body sans classe off-canvas (chargement initial)
   - body.off-canvas-inactive (menu fermé)
   - toute autre page/catégorie
   Seul .off-canvas-active (menu ouvert) est exclu pour permettre le slide */
body:not(.off-canvas-active) > #page {
    transform: none !important;
}

/* ========================================
   MENU OFF-CANVAS MOBILE — Redesign pro La Galerie — 18 mars 2026
   FIX Bug 4 : breakpoint etendu de 767px a 991px pour couvrir tablettes — 26/03/2026
   ======================================== */
@media (max-width: 991px) {

    /* Panneau du menu : overlay fixe sous le header — refonte luxe 30/03/2026 */
    .off-canvas-nav-megamenu .offcanvas-mainnav {
        position: fixed !important;
        top: 56px !important;
        height: calc(100vh - 56px) !important;
        width: calc(100vw - 60px) !important;
        z-index: 9999 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        background: #FDFCFA !important;
        box-shadow: 4px 0 24px rgba(0,0,0,.08) !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* Position fermée : hors écran — LTR */
    html:not([dir="rtl"]) .off-canvas-nav-megamenu .offcanvas-mainnav {
        left: calc(-100vw + 60px) !important;
        transition: left 350ms cubic-bezier(.4,0,.2,1) !important;
    }
    html:not([dir="rtl"]) .off-canvas-active .off-canvas-nav-megamenu.active .offcanvas-mainnav {
        left: 0 !important;
    }

    /* Position fermée : hors écran — RTL (menu depuis la droite) */
    html[dir="rtl"] .off-canvas-nav-megamenu .offcanvas-mainnav {
        right: calc(-100vw + 60px) !important;
        left: auto !important;
        transition: right 350ms cubic-bezier(.4,0,.2,1) !important;
    }
    html[dir="rtl"] .off-canvas-active .off-canvas-nav-megamenu.active .offcanvas-mainnav {
        right: 0 !important;
    }

    /* Wrapper du menu : ne pas translater (overlay pur) — 21 mars 2026 */
    .off-canvas-active > .off-canvas-nav-megamenu.active {
        transform: none !important;
        transition: none !important;
    }

    /* Header reste en place — LTR */
    html:not([dir="rtl"]) .off-canvas-active > #header {
        transform: none !important;
    }
    html:not([dir="rtl"]) .off-canvas-inactive > #header,
    html:not([dir="rtl"]) body:not(.off-canvas-active) > #header {
        transform: none !important;
    }

    /* Header reste en place — RTL */
    html[dir="rtl"] .off-canvas-active > #header {
        transform: none !important;
    }
    html[dir="rtl"] .off-canvas-inactive > #header,
    html[dir="rtl"] body:not(.off-canvas-active) > #header {
        transform: none !important;
    }

    /* #page reste en place — LTR */
    html:not([dir="rtl"]) .off-canvas-active > #page {
        transform: none !important;
    }

    /* #page reste en place — RTL */
    html[dir="rtl"] .off-canvas-active > #page {
        transform: none !important;
    }

    /* Overlay sombre — frosted luxe — 30/03/2026 */
    .off-canvas-active .megamenu-overlay {
        background: rgba(0,0,0,.25) !important;
        backdrop-filter: blur(6px) !important;
        -webkit-backdrop-filter: blur(6px) !important;
        top: 56px !important;
        z-index: 9000 !important;
    }

    /* Header toujours AU-DESSUS de l'overlay et du menu — jamais grisé — 30 mars 2026 */
    .off-canvas-active #header,
    #header {
        z-index: 10000 !important;
    }

    /* Menu ouvert : header TOUJOURS ivoire, même sur homepage transparent — 30 mars 2026 */
    .off-canvas-active #header,
    .off-canvas-active #header.transparent-header {
        background-color: #FDFCFA !important;
        box-shadow: 0 1px 0 rgba(0,0,0,.05) !important;
    }

    /* Items du menu : style luxe — 30/03/2026 */
    .off-canvas-nav-megamenu .navbar-nav > li {
        border-bottom: 1px solid #eee8e0 !important;
    }

    .off-canvas-nav-megamenu .navbar-nav > li > a,
    .off-canvas-nav-megamenu .nav > li > a {
        font-family: 'Inter', sans-serif !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        letter-spacing: .16em !important;
        text-transform: uppercase !important;
        color: #1a1a1a !important;
        padding: 20px 28px !important;
        display: block !important;
        transition: all .3s ease !important;
    }

    .off-canvas-nav-megamenu .navbar-nav > li > a:hover,
    .off-canvas-nav-megamenu .nav > li > a:hover,
    .off-canvas-nav-megamenu .navbar-nav > li > a:active,
    .off-canvas-nav-megamenu .nav > li > a:active {
        background: transparent !important;
        padding-left: 32px !important;
        color: #C9A96E !important;
    }

    /* RTL hover */
    html[dir="rtl"] .off-canvas-nav-megamenu .navbar-nav > li > a:hover,
    html[dir="rtl"] .off-canvas-nav-megamenu .nav > li > a:hover {
        padding-left: 28px !important;
        padding-right: 32px !important;
    }

    /* Flèche dropdown (caret) — une seule flèche › vers la droite — 21 mars 2026 */
    .off-canvas-nav-megamenu .nav li.dropdown .caret {
        position: absolute !important;
        right: 20px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        border: none !important;
        width: auto !important;
        height: auto !important;
    }
    /* Masquer la flèche FontAwesome du theme (::before) */
    .off-canvas-nav-megamenu .nav li.dropdown .caret::before {
        display: none !important;
    }
    /* Garder uniquement notre › — doré — 30/03/2026 */
    .off-canvas-nav-megamenu .nav li.dropdown .caret::after {
        content: '›' !important;
        font-size: 18px !important;
        font-family: serif !important;
        color: #C9A96E !important;
        line-height: 1 !important;
    }

    /* Sous-menu dropdown — luxe 30/03/2026 */
    .off-canvas-nav-megamenu .dropdown-menu,
    .off-canvas-nav-megamenu .dropdown-sub {
        position: static !important;
        background: #f8f6f3 !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        float: none !important;
    }

    /* Annuler les marges négatives Bootstrap .row dans le menu mobile */
    .off-canvas-nav-megamenu .dropdown-menu-inner > .row,
    .off-canvas-nav-megamenu .dropdown-sub > .dropdown-menu-inner > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .off-canvas-nav-megamenu .dropdown-menu .mega-col,
    .off-canvas-nav-megamenu .dropdown-sub .mega-col {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .off-canvas-nav-megamenu .dropdown-menu a,
    .off-canvas-nav-megamenu .dropdown-sub a {
        font-size: 13px !important;
        font-weight: 300 !important;
        text-transform: none !important;
        letter-spacing: .06em !important;
        color: #555 !important;
        padding: 16px 24px 16px 36px !important;
        border-bottom: 1px solid #eee8e0 !important;
        display: block !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    html[dir="rtl"] .off-canvas-nav-megamenu .dropdown-menu a {
        padding: 12px 40px 12px 24px !important;
    }

    .off-canvas-nav-megamenu .dropdown-menu a:hover {
        color: #C9A96E !important;
        background: transparent !important;
    }

    /* Bouton retour sous-menu mobile — 21 mars 2026 */
    .mobile-back-btn {
        list-style: none !important;
        border-bottom: 1px solid #e8e8e8 !important;
    }
    .mobile-back-btn button {
        display: block !important;
        width: 100% !important;
        background: #f8f6f3 !important;
        border: none !important;
        text-align: left !important;
        padding: 14px 20px !important;
        font-family: 'Inter', sans-serif !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        letter-spacing: .05em !important;
        text-transform: uppercase !important;
        color: #1a1a1a !important;
        cursor: pointer !important;
    }
    html[dir="rtl"] .mobile-back-btn button {
        text-align: right !important;
    }

    /* Bouton hamburger : style luxe — 30/03/2026 */
    .navbar-toggler {
        border: none !important;
        background: transparent !important;
        font-size: 24px !important;
        color: #1a1a1a !important;
        padding: 6px 10px !important;
        opacity: 0.85 !important;
        transition: opacity 0.3s ease !important;
    }
    .navbar-toggler:hover, .navbar-toggler:active {
        opacity: 1 !important;
    }

    /* Aligner hamburger + icones panier sur la meme ligne — 27/03/2026 */
    .box-top .ApRow > .row {
        display: flex !important;
        align-items: center !important;
    }
    /* Colonne hamburger (col 2) */
    .box-top .ApColumn:nth-child(2) {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding-left: 8px !important;
    }
    /* Colonne icones droite (col 3) — aligner aussi */
    .box-top .ApColumn:nth-child(3) {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }
    .box-top .leo-megamenu,
    .box-top .leo-megamenu .navbar-header {
        display: flex !important;
        align-items: center !important;
    }
    .box-top .leo-megamenu .navbar-header .navbar-toggler.hidden-lg-up {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        font-size: 24px !important;
        color: #1a1a1a !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    /* Cacher le nav horizontal desktop sur mobile */
    .box-top .leo-megamenu .leo-top-menu {
        display: none !important;
    }
}

/* ========================================
   SÉLECTEUR LANGUE — bas du menu off-canvas — 30/03/2026
   ======================================== */
.lg-offcanvas-lang-li {
    list-style: none !important;
    border-bottom: none !important;
}
.lg-offcanvas-lang {
    padding: 28px 28px 36px !important;
    border-top: 1px solid #e8e4de !important;
    margin-top: 12px !important;
    text-align: center !important;
}
.lg-offcanvas-lang-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    color: #999 !important;
    margin-bottom: 16px !important;
}
.lg-offcanvas-lang-flags {
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
}
.lg-offcanvas-lang-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 22px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: .08em !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    border: 1px solid #e8e4de !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
    background: transparent !important;
}
.lg-offcanvas-lang-btn:hover {
    border-color: #C9A96E !important;
    color: #C9A96E !important;
}
.lg-offcanvas-lang-btn.lg-lang-active {
    border-color: #C9A96E !important;
    color: #C9A96E !important;
    font-weight: 500 !important;
}
.lg-offcanvas-lang-btn img {
    border-radius: 2px !important;
}

/* RTL Mega Menu — overlay, pas de push — 21 mars 2026 */
html[dir="rtl"] .off-canvas-nav-megamenu { right: 0 !important; left: auto !important; }
html[dir="rtl"] .off-canvas-active > .off-canvas-nav-megamenu.active { transform: none !important; left: auto !important; right: 0 !important; }
html[dir="rtl"] .off-canvas-active > #page { transform: none !important; }
html[dir="rtl"] .off-canvas-inactive > #page { transition: none !important; }
html[dir="rtl"] .off-canvas-button-megamenu { text-align: left !important; margin: 15px 0 10px 10px !important; }
html[dir="rtl"] .off-canvas-nav-megamenu .navbar-nav > li > a,
html[dir="rtl"] .off-canvas-nav-megamenu .nav > li > a { text-align: right !important; padding-right: 60px !important; padding-left: 10px !important; width: 100%; display: block; }
html[dir="rtl"] .off-canvas-nav-megamenu .nav li.dropdown .caret { right: auto !important; left: 0 !important; }
html[dir="rtl"] .off-canvas-nav-megamenu .dropdown-menu { text-align: right !important; }
html[dir="rtl"] .offcanvas-mainnav > .megamenu { padding: 0 10px !important; }
/* overflow-x: hidden sur body supprimé — remplacé par overflow-x: clip sur #wrapper — 18 mars 2026 */

/* ========================================
   GRANDS ÉCRANS — Pleine largeur — 18 mars 2026
   ======================================== */

/* Homepage + Slider : pleine largeur — tous les écrans — 19 mars 2026 */
body#index #page,
body#index #wrapper,
body#index section#wrapper,
body#index #content-wrapper,
body#index section#main,
body#index #content,
body#index .page-home,
body#index #wrapper > .row,
body#index .row.box-slide,
body#index .row.box-slide.ApRow,
body#index .row.box-slide.bg-boxed {
    max-width: 100vw !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

body#index .ApSlideShow,
body#index .bannercontainer,
body#index .bannercontainer.banner-fullwidth,
body#index .iview,
body#index [class*="iview-group"],
body#index .iviewSlider {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body#index .iview img,
body#index .iviewSlider img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

.ApRow,
.ApRow.bg-boxed {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (min-width: 1400px) {
    /* Catégories : centrer mais autoriser plus de largeur */
    body:not(#index) #wrapper .container {
        max-width: 1600px !important;
        width: 95% !important;
    }

    /* Header : pleine largeur */
    #header,
    #header .header-top,
    #header .header-top .inner,
    #header .row.box-top {
        max-width: 100% !important;
        width: 100% !important;
    }

    /* Footer : pleine largeur */
    .box-footer,
    .box-copyright {
        max-width: 100% !important;
        width: 100% !important;
    }

    /* Grille catégories homepage */
    body#index .slider-categories-mobile,
    body#index .slider-categories-mobile .ApColumn {
        max-width: 100% !important;
    }
}

/* ========================================
   POPUP GÉOLOCALISATION — La Galerie — 19 mars 2026
   ======================================== */

#lg-geo-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(255, 255, 255, 0.97) !important;
    z-index: 99998 !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    direction: ltr !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

#lg-geo-overlay.visible {
    display: flex !important;
    animation: lgGeoFadeIn 0.5s ease forwards;
}

@keyframes lgGeoFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.lg-geo-popup {
    text-align: center !important;
    max-width: 400px;
    width: 88%;
    padding: 52px 36px;
    margin: 0 auto !important;
    direction: ltr !important;
}

.lg-geo-logo {
    width: 160px;
    height: auto;
    margin-bottom: 40px;
}

.lg-geo-welcome {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 300;
    letter-spacing: 0.05em;
    color: #1a1a1a;
    margin: 0 0 6px;
    line-height: 1.5;
}

.lg-geo-subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #aaa;
    margin: 0 0 40px;
}

.lg-geo-selector-group {
    margin-bottom: 24px;
}

.lg-geo-selector-group label {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #999;
    margin-bottom: 10px;
}

.lg-geo-toggle {
    display: inline-flex;
    border: 1px solid #1a1a1a;
}

.lg-geo-btn {
    padding: 11px 28px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    letter-spacing: 0.04em;
    border: none;
    background: transparent;
    color: #1a1a1a;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.lg-geo-btn + .lg-geo-btn {
    border-left: 1px solid #1a1a1a;
}

.lg-geo-btn.active {
    background: #1a1a1a;
    color: #fff;
}

.lg-geo-btn:hover:not(.active) {
    background: rgba(26, 26, 26, 0.06);
}

.lg-geo-confirm {
    display: inline-block;
    margin-top: 36px;
    padding: 14px 56px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    border: 1px solid #1a1a1a;
    background: #1a1a1a;
    color: #fff;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.lg-geo-confirm:hover {
    background: transparent;
    color: #1a1a1a;
}

/* Mobile */
@media (max-width: 767px) {
    .lg-geo-popup {
        padding: 36px 20px;
    }
    .lg-geo-logo {
        width: 120px;
        margin-bottom: 32px;
    }
    .lg-geo-welcome {
        font-size: 17px;
    }
    .lg-geo-btn {
        padding: 10px 20px;
        font-size: 12px;
    }
    .lg-geo-confirm {
        padding: 13px 44px;
    }
}

/* RTL */
[dir="rtl"] .lg-geo-btn + .lg-geo-btn {
    border-left: none;
    border-right: 1px solid #1a1a1a;
}

/* ==========================================================================
   BARRE DE RÉASSURANCE HOMEPAGE 4 ITEMS — La Galerie — 31 mars 2026
   ========================================================================== */

/* Ancien masquage blockreassurance retiré le 02/04/2026 — réactivé pour affichage hébreu */
/* body#index #block-reassurance { display: none !important; } */
body#index .ApRow:has(img[src*="iconify"]) { display: none !important; }

.lg-home-reassurance {
    background: #FDFCFA;
    padding: 50px 20px;
    margin-top: 50px;
    border-top: 1px solid #f0ede8;
    border-bottom: 1px solid #f0ede8;
}

.lg-hr-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 20px;
}

a.lg-hr-item,
.lg-hr-item {
    text-align: center;
    padding: 20px 28px;
    border-left: 1px solid #e8e4de;
    text-decoration: none;
    color: inherit;
    display: block;
    transition: opacity .2s ease;
}

a.lg-hr-item:hover {
    opacity: .7;
    text-decoration: none;
    color: inherit;
}

.lg-hr-item:first-child {
    border-left: none;
}

.lg-hr-item svg {
    color: #C9A96E;
    margin-bottom: 14px;
    opacity: .75;
}

.lg-hr-title {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #1a1a1a;
    margin: 0 0 6px;
}

.lg-hr-text {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 300;
    color: #999;
    margin: 0;
    line-height: 1.4;
    letter-spacing: .02em;
}

/* Tablette */
@media (max-width: 991px) {
    .lg-hr-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 0;
    }
    .lg-hr-item {
        padding: 0 16px;
    }
    .lg-hr-item:nth-child(3) {
        border-left: none;
    }
}

/* Mobile */
@media (max-width: 575px) {
    .lg-home-reassurance {
        padding: 36px 16px;
        margin-top: 35px;
    }
    .lg-hr-grid {
        gap: 24px 0;
    }
    .lg-hr-item {
        padding: 0 12px;
    }
    .lg-hr-item svg {
        width: 24px;
        height: 24px;
    }
    .lg-hr-title {
        font-size: 9px;
    }
    .lg-hr-text {
        font-size: 10px;
    }
}

/* RTL */
[dir="rtl"] .lg-home-reassurance {
    direction: rtl;
}
[dir="rtl"] .lg-hr-item {
    border-left: none;
    border-right: 1px solid #e8e4de;
}
[dir="rtl"] .lg-hr-item:first-child {
    border-right: none;
}
[dir="rtl"] .lg-hr-item:nth-child(3) {
    border-right: none;
}

/* ==========================================================================
   INSTAGRAM FEED — REDESIGN LUXE MINIMALISTE — 31 mars 2026
   ========================================================================== */

/* --- Section principale --- */
.lagalerie-instagram {
    padding: 60px 20px 70px;
    margin-top: 40px;
    background-color: #fafafa;
    text-align: center;
    max-width: 100%;
    overflow: hidden;
}

/* --- Header : icône + titre + handle --- */
.lagalerie-instagram__header {
    margin-bottom: 40px;
}

.lagalerie-instagram__icon {
    display: inline-block;
    color: #1a1a1a;
    margin-bottom: 16px;
    opacity: 0.7;
}

.lagalerie-instagram__title {
    font-family: "Playfair Display", "Georgia", serif;
    font-weight: 400;
    font-style: italic;
    font-size: 28px;
    color: #1a1a1a;
    letter-spacing: 1px;
    margin: 0 0 8px;
    line-height: 1.3;
}

.lagalerie-instagram__handle {
    display: inline-block;
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #888;
    letter-spacing: 1px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.lagalerie-instagram__handle:hover {
    color: #1a1a1a;
}

/* --- Grille d'images --- */
/* Force la grille — priorité sur le CSS du module */
.lagalerie-instagram__grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    list-style: none !important;
    float: none !important;
    width: 100% !important;
}

/* Reset styles du module original qui peuvent interférer */
.lagalerie-instagram .ybc_ins_medias,
.lagalerie-instagram .ybc_ins_img_list,
.lagalerie-instagram .ybc_instagram_wrapper {
    display: contents !important;
}

.lagalerie-instagram__item {
    float: none !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* --- Item individuel --- */
.lagalerie-instagram__item {
    position: relative;
    overflow: hidden;
}

.lagalerie-instagram__link {
    display: block;
    text-decoration: none;
}

.lagalerie-instagram__img-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* ratio 1:1 */
    overflow: hidden;
    background-color: #eee;
}

.lagalerie-instagram__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* --- Hover : zoom subtil + overlay --- */
.lagalerie-instagram__link:hover .lagalerie-instagram__img {
    transform: scale(1.03);
}

.lagalerie-instagram__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.lagalerie-instagram__link:hover .lagalerie-instagram__overlay {
    background: rgba(0, 0, 0, 0.18);
    opacity: 1;
}

.lagalerie-instagram__overlay-icon {
    transform: translateY(8px);
    transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.lagalerie-instagram__link:hover .lagalerie-instagram__overlay-icon {
    transform: translateY(0);
}

.lagalerie-instagram__likes {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #fff;
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.5px;
    transform: translateY(8px);
    transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1) 0.05s;
}

.lagalerie-instagram__link:hover .lagalerie-instagram__likes {
    transform: translateY(0);
}

/* --- Footer : bouton CTA --- */
.lagalerie-instagram__footer {
    margin-top: 40px;
}

.lagalerie-instagram__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #1a1a1a;
    text-decoration: none;
    padding: 12px 28px;
    border: 1px solid #1a1a1a;
    transition: all 0.4s ease;
}

.lagalerie-instagram__cta:hover {
    background-color: #1a1a1a;
    color: #fff;
}

.lagalerie-instagram__cta svg {
    transition: transform 0.3s ease;
}

.lagalerie-instagram__cta:hover svg {
    transform: translateX(3px);
}

/* --- Responsive tablet --- */
@media (max-width: 991px) {
    .lagalerie-instagram__grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 12px !important;
        padding: 0 15px !important;
    }

    .lagalerie-instagram {
        padding: 50px 15px 60px;
    }

    .lagalerie-instagram__title {
        font-size: 24px;
    }
}

/* --- Responsive mobile --- */
@media (max-width: 767px) {
    .lagalerie-instagram__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        padding: 0 10px !important;
    }

    .lagalerie-instagram {
        padding: 40px 10px 50px;
    }

    .lagalerie-instagram__title {
        font-size: 20px;
        letter-spacing: 0.5px;
    }

    .lagalerie-instagram__handle {
        font-size: 13px;
    }

    .lagalerie-instagram__header {
        margin-bottom: 25px;
    }

    .lagalerie-instagram__footer {
        margin-top: 30px;
    }

    .lagalerie-instagram__cta {
        font-size: 11px;
        letter-spacing: 1.5px;
        padding: 10px 22px;
    }

    /* Masquer overlay sur mobile (tactile) */
    .lagalerie-instagram__overlay {
        display: none;
    }

    /* 6 photos max sur mobile (masquer 7e et 8e) */
    .lagalerie-instagram__item:nth-child(n+7) {
        display: none;
    }
}

/* --- Masquer les éléments originaux du module si encore visibles --- */
.ybc_instagram.ybc_ins_hook_home .ybc_instagram_header,
.ybc_instagram.ybc_ins_hook_home .ybc_instagram_wrapper,
.ybc_instagram.ybc_ins_hook_home .ins_button_grab {
    /* Gardé en fallback si le template original est utilisé */
}

/* --- Placeholder pour images cassées (CDN expiré) --- */
.lagalerie-instagram__placeholder {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #f0eeeb;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 0;
}

/* Quand l'image charge bien, masquer le placeholder */
.lagalerie-instagram__img-wrapper .lagalerie-instagram__img {
    position: absolute;
    z-index: 1;
}

/* Quand l'image est cassée, afficher le placeholder élégamment */
.lagalerie-instagram__item.img-error .lagalerie-instagram__img {
    display: none;
}

.lagalerie-instagram__item.img-error .lagalerie-instagram__overlay {
    display: none;
}

.lagalerie-instagram__item.img-error .lagalerie-instagram__placeholder {
    display: flex;
}

/* --- RTL support --- */
.lagalerie-instagram[dir="rtl"] .lagalerie-instagram__cta svg,
html[dir="rtl"] .lagalerie-instagram__cta svg {
    transform: scaleX(-1);
}

html[dir="rtl"] .lagalerie-instagram__cta:hover svg {
    transform: scaleX(-1) translateX(3px);
}

/* ========================================
   CARTE CADEAU — Redesign luxe La Galerie — 19 mars 2026
   ======================================== */

/* Conteneur principal — aéré, centré */
#giftcard_product {
    max-width: 900px !important;
    margin: 40px auto !important;
    padding: 0 20px;
    font-family: "Alegreya Sans", sans-serif;
}

/* Bannière catégorie — titre élégant sans fond */
#giftcard_product #block_category .content_scene_cat {
    margin: 0 !important;
}
#giftcard_product #block_category .content_scene_cat_bg {
    background: none !important;
    background-color: transparent !important;
    padding: 40px 0 20px !important;
    text-align: center;
}
#giftcard_product #block_category .category-name,
#giftcard_product .category-name {
    color: #000 !important;
    font-family: "Alegreya Sans", sans-serif !important;
    font-size: 32px !important;
    font-weight: 300 !important;
    letter-spacing: 6px;
    text-transform: uppercase;
    display: block;
}

/* Headers de section — style luxe noir/blanc */
#giftcard_product .header {
    background: #000 !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 14px;
    font-weight: 300;
    padding: 16px 24px;
    margin: 30px 0 20px;
}
#giftcard_product .header .title {
    color: #fff !important;
    font-weight: 300;
    letter-spacing: 3px;
}
#giftcard_product .header [class^="icon-"],
#giftcard_product .header [class*=" icon-"] {
    filter: brightness(0) invert(1);
}

/* Image template sélectionnée — bordure noire */
#block_templates .product-image-container.selected img {
    outline: 3px solid #000 !important;
    box-shadow: none !important;
}
#block_templates .product-image-container:hover img {
    box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
}
#block_templates .img-thumbnail,
#block_templates .imgm {
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    transition: all 0.3s ease;
}

/* Sélection montant — style élégant */
#block_amounts select[name="amount_select"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23000' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 12px center;
    border: 2px solid #000 !important;
    padding: 12px 40px 12px 16px !important;
    font-size: 16px !important;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    height: auto !important;
    width: auto !important;
    min-width: 180px;
}
#block_amounts select[name="amount_select"]:focus {
    border-color: #000 !important;
    box-shadow: 0 0 0 2px rgba(0,0,0,0.1) !important;
    outline: none;
}
#block_amounts .input-group-addon {
    background: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
    font-weight: 600;
    font-size: 16px;
}
#block_amounts .input-group {
    width: auto !important;
}

/* Montant personnalisé */
#block_amounts input[name="amount_input"] {
    border: 2px solid #000 !important;
    font-size: 16px !important;
    font-weight: 600;
    text-align: center;
    height: auto !important;
    padding: 12px 16px !important;
}

/* Bouton Ajouter au panier — noir luxe */
#block_button .btn-primary,
#giftcard_product .btn-primary {
    background: #000 !important;
    border: 2px solid #000 !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 14px;
    font-weight: 600;
    padding: 14px 30px;
    transition: all 0.3s ease;
    border-radius: 0 !important;
}
#block_button .btn-primary:hover,
#giftcard_product .btn-primary:hover {
    background: #fff !important;
    color: #000 !important;
}

/* Bouton Aperçu — contour noir */
#block_button .btn-secondary,
#giftcard_product .btn-secondary {
    background: #fff !important;
    border: 2px solid #000 !important;
    color: #000 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 14px;
    font-weight: 600;
    padding: 14px 30px;
    transition: all 0.3s ease;
    border-radius: 0 !important;
}
#block_button .btn-secondary:hover,
#giftcard_product .btn-secondary:hover {
    background: #000 !important;
    color: #fff !important;
}

/* Formulaire — champs épurés */
#giftcard_product .form-control,
#giftcard_product textarea.form-control {
    border: 1px solid #ccc !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    color: #333 !important;
    padding: 10px 14px !important;
    box-shadow: none !important;
    transition: border-color 0.3s ease;
}
#giftcard_product .form-control:focus,
#giftcard_product textarea.form-control:focus {
    border-color: #000 !important;
    box-shadow: none !important;
    outline: none;
}
#giftcard_product label {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
    font-weight: 600;
    color: #333;
}

/* Radio buttons envoi — style toggle élégant */
#block_customization .form-inline {
    padding: 12px 20px;
    border: 2px solid #e0e0e0;
    margin-right: 10px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
}
#block_customization .form-inline:hover {
    border-color: #000;
}
#block_customization input[type="radio"] {
    accent-color: #000;
}
#block_customization input[type="radio"]:checked ~ span {
    font-weight: 700;
}

/* Datepicker input */
#giftcard_product .datepicker {
    border: 2px solid #ccc !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    height: auto !important;
}

/* Responsive mobile */
@media (max-width: 767px) {
    #giftcard_product {
        padding: 0 15px;
        margin: 20px auto !important;
    }
    #giftcard_product .header {
        font-size: 12px;
        letter-spacing: 2px;
        padding: 12px 16px;
    }
    #block_button .btn-primary,
    #block_button .btn-secondary,
    #giftcard_product .btn-primary,
    #giftcard_product .btn-secondary {
        padding: 12px 20px;
        font-size: 13px;
        width: 100%;
        margin-bottom: 10px;
    }
    #giftcard_product #block_category .content_scene_cat_bg {
        padding: 25px 0 15px !important;
    }
    #giftcard_product .category-name {
        font-size: 24px !important;
        letter-spacing: 3px;
    }
    #block_amounts select[name="amount_select"] {
        min-width: 150px;
    }
}

/* =====================================================
   Accordion tabs — fiche produit — style luxe élégant
   19 mars 2026
   ===================================================== */

/* Conteneur accordion */
.product-accordion {
    border-top: 1px solid #e8e0d5 !important;
    margin-top: 24px !important;
}

/* Chaque item */
.product-accordion .accordion-item {
    border: none !important;
    border-bottom: 1px solid #e8e0d5 !important;
    background: transparent !important;
}

/* Bouton titre */
.product-accordion .accordion-toggle {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    padding: 16px 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
    text-align: left !important;
    transition: color .2s ease !important;
}

.product-accordion .accordion-toggle:hover {
    color: #9a8060 !important;
}

/* Icône +/- */
.product-accordion .accordion-icon {
    width: 14px !important;
    height: 14px !important;
    position: relative !important;
    flex-shrink: 0 !important;
    margin-left: 12px !important;
}

.product-accordion .accordion-icon::before,
.product-accordion .accordion-icon::after {
    content: '' !important;
    position: absolute !important;
    background: #1a1a1a !important;
    transition: transform .3s ease, opacity .3s ease !important;
}

/* trait horizontal */
.product-accordion .accordion-icon::before {
    width: 14px !important;
    height: 1px !important;
    top: 50% !important;
    left: 0 !important;
}

/* trait vertical (visible quand fermé) */
.product-accordion .accordion-icon::after {
    width: 1px !important;
    height: 14px !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* Quand ouvert : masquer le trait vertical */
.product-accordion .accordion-toggle[aria-expanded="true"] .accordion-icon::after {
    opacity: 0 !important;
    transform: translateX(-50%) rotate(90deg) !important;
}

/* Corps du contenu */
.product-accordion .accordion-body {
    padding: 0 0 20px 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 300 !important;
    letter-spacing: .04em !important;
    color: #555 !important;
    line-height: 1.8 !important;
}

/* =====================================================
   Galerie produit — thumbnails à gauche — style luxe
   19 mars 2026
   ===================================================== */

/* Conteneur global : flex horizontal */
.product-thumbs-left .images-container {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    align-items: flex-start !important;
}

/* Bande de thumbnails à gauche : 70px de large */
.product-thumbs-left .product-thumb-images {
    width: 70px !important;
    flex-shrink: 0 !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    z-index: auto !important;
}

/* Image principale : prend le reste de l'espace, alignée en haut */
.product-thumbs-left .product-cover {
    flex: 1 !important;
    margin: 0 !important;
    padding-top: 0 !important;
    align-self: flex-start !important;
    margin-left: 0 !important;
}

/* Thumbnail individuelle */
.product-thumbs-left .thumb-container {
    margin-bottom: 8px !important;
}

/* Bordure active : trait doré fin */
.product-thumbs-left .thumb.selected,
.product-thumbs-left .thumb:hover {
    border: 1px solid #c9b89a !important;
    outline: none !important;
}

/* Thumbnail non active : légèrement atténuée */
.product-thumbs-left .thumb:not(.selected) {
    opacity: 0.5 !important;
    transition: opacity .25s ease !important;
    border: 1px solid transparent !important;
}

.product-thumbs-left .thumb:not(.selected):hover {
    opacity: 1 !important;
}

/* =====================================================
   Bouton Filtre — style luxe élégant
   19 mars 2026
   ===================================================== */

#search_filter_toggler.btn.btn-outline,
button.js-search-toggler {
    background: transparent !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 0 !important;
    color: #1a1a1a !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    padding: 9px 20px !important;
    box-shadow: none !important;
    outline: none !important;
    transition: background .2s ease, color .2s ease !important;
}

#search_filter_toggler.btn.btn-outline:hover,
button.js-search-toggler:hover {
    background: #1a1a1a !important;
    color: #fff !important;
}

/* Conteneur alignement */
.filter-button {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

/* RTL */
.rtl .filter-button,
[dir="rtl"] .filter-button {
    justify-content: flex-start !important;
}

/* =====================================================
   Mobile — corrections fiche produit
   19 mars 2026
   ===================================================== */

@media (max-width: 767px) {

    /* Cacher les thumbnails latérales sur mobile */
    .product-thumbs-left .product-thumb-images,
    .product-thumbs-left #thumb-gallery {
        display: none !important;
    }

    /* Compte à rebours : cacher les boutons toggle ^ v */
    .leo-more-cdown .cdown-toggle,
    .leo-more-cdown .btn-toggle,
    .leo-more-cdown [class*="toggle"],
    .leo-more-cdown > button,
    .leo-more-cdown .cdown-show,
    .leo-more-cdown .cdown-hide {
        display: none !important;
    }

    /* Compte à rebours : fond noir — style épuré sur mobile */
    .leo-more-cdown {
        background: transparent !important;
        border: none !important;
        padding: 4px 0 !important;
    }

    /* Image principale pleine largeur sur mobile */
    .product-thumbs-left .images-container {
        display: block !important;
    }

    .product-thumbs-left .product-cover {
        width: 100% !important;
    }
}

/* =====================================================
   Galerie mobile — style plein écran type Jonak
   19 mars 2026
   ===================================================== */

/* Desktop : cacher le carousel mobile */
@media (min-width: 768px) {
    .lg-mobile-gallery { display: none !important; }
    .lg-desktop-gallery { display: block !important; }
}

/* Mobile : cacher le layout desktop, afficher le carousel */
@media (max-width: 767px) {
    .lg-mobile-gallery { display: block !important; }
    .lg-desktop-gallery { display: none !important; }

    /* Plein écran bord à bord */
    .lg-mobile-gallery,
    .lg-mobile-gallery .list-images-mobile,
    .lg-mobile-gallery .slick-slider,
    .lg-mobile-gallery .slick-list,
    .lg-mobile-gallery .slick-track {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Image pleine largeur, pas de marges */
    .lg-mobile-gallery .list-images-mobile img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        object-fit: cover !important;
    }

    /* Supprimer le padding du conteneur parent sur mobile */
    body#product .images-container {
        margin-left: -15px !important;
        margin-right: -15px !important;
        width: calc(100% + 30px) !important;
    }

    /* Points de navigation — style Jonak (cercles sombres) - 19/03/2026 */
    .lg-mobile-gallery .slick-dots {
        position: static !important;
        bottom: auto !important;
        margin-top: 12px !important;
        text-align: center !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .lg-mobile-gallery .slick-dots li button:before {
        font-size: 6px !important;
        color: #222 !important;
        opacity: 0.25 !important;
    }

    .lg-mobile-gallery .slick-dots li.slick-active button:before {
        opacity: 1 !important;
        color: #222 !important;
    }

    /* Cacher les flèches prev/next sur mobile — navigation par swipe */
    .lg-mobile-gallery .slick-prev,
    .lg-mobile-gallery .slick-next {
        display: none !important;
    }
}

/* Fix carousel mobile — bord à bord + slides correctes */
@media (max-width: 767px) {
    /* Bord à bord : technique 100vw */
    .lg-mobile-gallery {
        position: relative !important;
        left: 50% !important;
        right: 50% !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        width: 100vw !important;
        max-width: 100vw !important;
        overflow: hidden !important;
    }

    /* Règles Slick de base manquantes dans le bundle CSS - 19/03/2026 */
    .lg-mobile-gallery .slick-slider {
        position: relative !important;
        display: block !important;
        box-sizing: border-box !important;
        -webkit-touch-callout: none !important;
        user-select: none !important;
        touch-action: pan-y !important;
        width: 100% !important;
    }

    .lg-mobile-gallery .slick-list {
        position: relative !important;
        overflow: hidden !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .lg-mobile-gallery .slick-track {
        position: relative !important;
        left: 0 !important;
        top: 0 !important;
        display: block !important;
        width: 100% !important;
    }

    .lg-mobile-gallery .slick-track::before,
    .lg-mobile-gallery .slick-track::after {
        content: "" !important;
        display: table !important;
    }

    .lg-mobile-gallery .slick-track::after {
        clear: both !important;
    }

    /* Chaque slide : float pour layout horizontal */
    .lg-mobile-gallery .slick-slide {
        float: left !important;
        height: 100% !important;
        min-height: 1px !important;
        display: none !important;
        width: 100% !important;
    }

    .lg-mobile-gallery .slick-initialized .slick-slide {
        display: block !important;
    }

    /* RTL */
    [dir="rtl"] .lg-mobile-gallery .slick-slide {
        float: right !important;
    }

    /* Image portrait pleine largeur — ratio naturel (style Jonak) - 19/03/2026 */
    .lg-mobile-gallery .slick-slide img,
    .lg-mobile-gallery .list-images-mobile img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }
}

/* Fiche produit — supprimer espace entre header et photo — 19/03/2026 */
body#product #wrapper {
    padding-top: 0 !important;
}

/* Masquer le message "undefined" — 19/03/2026 */
body#product #product-availability .alert-danger {
    display: none !important;
}

body#product .lg-back-home-container {
    display: none !important;
}

body#product nav.breadcrumb,
body#product .breadcrumb-container {
    display: none !important;
}

body#product .lg-back-home {
    display: none !important;
}

/* Lien Retour sur l'image produit — 19/03/2026 */
.lg-img-retour {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    z-index: 100 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    background: rgba(255,255,255,.75) !important;
    padding: 5px 10px !important;
    backdrop-filter: blur(4px) !important;
    transition: background .2s ease !important;
}

.lg-img-retour:hover {
    background: rgba(255,255,255,.95) !important;
    color: #1a1a1a !important;
}

/* =====================================================
   FICHE PRODUIT — Masquer le sélecteur de quantité
   La Galerie — 19 mars 2026
   ===================================================== */
body#product .product-quantity .qty,
body#product .product-quantity > .control-label {
    display: none !important;
}

/* Masquer wishlist + comparateur sous le bouton panier — 19/03/2026 */
body#product .leo-compare-wishlist-button {
    display: none !important;
}

/* Bouton panier pleine largeur — 19/03/2026 */
body#product .product-add-to-cart .add,
body#product .product-add-to-cart .p-cartwapper {
    display: block !important;
    width: 100% !important;
}

body#product .product-add-to-cart .add-to-cart {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

/* =====================================================
   Référence produit — La Galerie — 19 mars 2026
   ===================================================== */
.lg-ref-block {
    margin: 16px 0 0 !important;
}

.lg-ref-hr {
    border: none !important;
    border-top: 1px solid #ebebeb !important;
    margin: 0 !important;
}

.lg-ref-inner {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 0 !important;
}

.lg-ref-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
}

.lg-ref-value {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: .06em !important;
    color: #555 !important;
}

/* =====================================================
   Bouton panier sticky — La Galerie — 19 mars 2026
   ===================================================== */
#lg-sticky-atc {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9000 !important;
    background: #fff !important;
    padding: 12px 16px !important;
    border-top: 1px solid #ebebeb !important;
    transform: translateY(100%) !important;
    transition: transform .35s cubic-bezier(.4,0,.2,1) !important;
    pointer-events: none !important;
}

#lg-sticky-atc.lg-sticky-visible {
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

#lg-sticky-atc .lg-sticky-btn {
    display: block !important;
    width: 100% !important;
    background: #1a1a1a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 15px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background .2s ease !important;
}

#lg-sticky-atc .lg-sticky-btn:hover {
    background: #333 !important;
}

/* =====================================================
   FICHE PRODUIT — Style raffiné prix / couleurs / tailles
   La Galerie — 19 mars 2026
   ===================================================== */

/* --- ESPACEMENT NOM → PRIX — 19/03/2026 --- */
body#product .product-detail-name,
body#product h1.h1.product-detail-name {
    margin-bottom: 4px !important;
}

body#product .leo-more-cdown {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body#product .product-prices {
    margin-top: 4px !important;
}

/* --- COMPTE À REBOURS — style minimal luxe — 19/03/2026 --- */
body#product .leo-more-cdown .deal-clock {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

body#product .leo-more-cdown .deal-clock li {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    min-width: 0 !important;
    padding: 0 10px 0 0 !important;
    margin: 0 10px 0 0 !important;
    border: none !important;
    border-radius: 0 !important;
    border-right: 1px solid #e0e0e0 !important;
    line-height: 1 !important;
    background: none !important;
}

body#product .leo-more-cdown .deal-clock li:last-child {
    border-right: none !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
}

body#product .leo-more-cdown .deal-clock li b {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    color: #1a1a1a !important;
    line-height: 1 !important;
    letter-spacing: .04em !important;
}

body#product .leo-more-cdown .deal-clock li span {
    font-family: 'Inter', sans-serif !important;
    font-size: 8px !important;
    font-weight: 400 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    margin-top: 3px !important;
}

/* --- PRIX — style raffiné luxe — 19/03/2026 --- */
body#product .product-prices {
    margin: 0 !important;
    padding: 0 !important;
}

body#product .product-prices .current-price {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

body#product .product-prices .price,
body#product .current-price .price,
body#product .product-prices .current-price span[itemprop="price"] {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: .08em !important;
    color: #1a1a1a !important;
    margin: 0 6px 0 0 !important;
}

body#product .product-prices .regular-price {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 300 !important;
    color: #bbb !important;
    text-decoration: line-through !important;
    letter-spacing: .04em !important;
    margin-left: 4px !important;
}

body#product .product-prices .product-discount,
body#product .product-prices .product-discount * {
    font-size: 11px !important;
    line-height: 1.4 !important;
}

body#product .product-prices .discount-percentage,
body#product .product-prices .discount-amount {
    font-family: 'Inter', sans-serif !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: #bbb !important;
    margin-left: 4px !important;
}

/* --- LABEL DU GROUPE (Couleur, Taille) --- */
body#product .product-variants-item .control-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    color: #888 !important;
    display: block !important;
    margin-bottom: 8px !important;
    margin-top: 10px !important;
}

/* --- SÉPARATEUR LÉGER AU-DESSUS DES VARIANTS --- */
body#product .product-variants {
    border-top: 1px solid #f0f0f0 !important;
    padding-top: 4px !important;
    margin-top: 8px !important;
}

/* --- SWATCHES COULEUR --- */
body#product .product-variants ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

body#product .product-variants .input-container {
    float: none !important;
    margin: 0 !important;
}

body#product .product-variants .input-color + .color {
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    display: inline-block !important;
    border: 1px solid transparent !important;
    outline: 2px solid transparent !important;
    outline-offset: 2px !important;
    transition: outline-color .2s ease !important;
    cursor: pointer !important;
}

body#product .product-variants .input-color:checked + .color {
    outline-color: #1a1a1a !important;
}

body#product .product-variants .input-color {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

/* --- SÉLECTEUR TAILLES --- */
body#product .product-variants .input-radio {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

body#product .product-variants .radio-label {
    display: inline-block !important;
    min-width: 36px !important;
    height: 36px !important;
    line-height: 34px !important;
    text-align: center !important;
    padding: 0 10px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: .04em !important;
    color: #1a1a1a !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 50px !important;
    cursor: pointer !important;
    transition: border-color .2s ease, background .2s ease, color .2s ease !important;
    user-select: none !important;
    white-space: nowrap !important;
}

body#product .product-variants .input-radio:checked + .radio-label {
    border-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #fff !important;
}

body#product .product-variants .radio-label:hover {
    border-color: #555 !important;
}

/* --- PANIER FLOTTANT DÉSACTIVÉ — 19/03/2026 --- */
.leo-fly-cart-icon-wrapper { display: none !important; }

/* --- NOM COLLECTION EN HAUT — PAGE LISTING — 20/03/2026 --- */
.lg-category-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: #1a1a1a !important;
    margin: 0 !important;
    padding: 20px 0 10px !important;
}

/* --- SLIDER IMAGES LISTING — 20/03/2026 --- */
.lg-listing-slider { position: relative; overflow: hidden; cursor: grab; }
.lg-listing-slider img { width: 100%; height: auto; display: block; }
/* Cacher les slides sauf le premier avant init Slick — évite carrés gris — 22/03/2026 */
.lg-listing-slider:not(.slick-initialized) > div:not(:first-child) { display: none; }
/* Dots sur la photo — position absolute dans le slider — 21/03/2026 */
.lg-listing-slider .slick-dots {
    position: absolute !important; bottom: 8px !important;
    left: 0 !important; right: 0 !important; width: 100% !important;
    list-style: none !important; padding: 0 !important; margin: 0 !important;
    display: flex !important; justify-content: center !important; gap: 5px !important;
    z-index: 10 !important;
}
.lg-listing-slider .slick-dots li {
    display: inline-block !important; margin: 0 !important;
    width: auto !important; height: auto !important;
}
.lg-listing-slider .slick-dots li button {
    font-size: 0 !important; width: 6px !important; height: 6px !important;
    padding: 0 !important; border: none !important; border-radius: 50% !important;
    background: rgba(255,255,255,0.5) !important; cursor: pointer !important; display: block !important;
}
.lg-listing-slider .slick-dots li button:before {
    display: none !important; /* Masque le bullet ::before de slick-theme.css */
}
.lg-listing-slider .slick-dots li.slick-active button {
    background: #fff !important;
}
.lg-listing-slider.slick-dotted { margin-bottom: 0 !important; }
.lg-listing-slider + .slick-arrows { display: none !important; }
.product-miniature .slick-arrows,
.product-miniature .slick-prev,
.product-miniature .slick-next { display: none !important; }

/* --- SOUS-CATÉGORIES PILLS — PAGE LISTING — 20/03/2026 --- */
.lg-subcategories-pills {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 5px 16px 20px !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
}
.lg-subcategories-pills::-webkit-scrollbar { display: none !important; }
.lg-subcat-pill {
    flex-shrink: 0 !important;
    padding: 10px 24px !important;
    border: 1px solid #999 !important;
    border-radius: 50px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all .2s ease !important;
}
.lg-subcat-pill:hover {
    background: #1a1a1a !important;
    color: #fff !important;
    border-color: #1a1a1a !important;
}

/* --- Masquer compteur articles + back to home listing — 20/03/2026 --- */
body.page-category .products-selection,
body.page-search .products-selection { display: none !important; }
body.page-category .lg-back-home-container,
body.page-category .lg-back-home,
body.page-search .lg-back-home-container,
body.page-search .lg-back-home { display: none !important; }

/* --- BOUTON FILTRER STICKY EN BAS — PAGE LISTING — 19/03/2026 --- */
/* Cacher le bouton filtre original */
body.page-category .filter-button,
body.page-search .filter-button,
body.page-best-sales .filter-button,
body.page-new-products .filter-button,
body.page-prices-drop .filter-button { display: none !important; }

/* Padding-bottom = hauteur de la barre filtre pour que le dernier produit reste accessible — 21/03/2026 */
body.page-category #wrapper,
body.page-search #wrapper,
body.page-best-sales #wrapper,
body.page-new-products #wrapper,
body.page-prices-drop #wrapper {
    padding-bottom: 70px !important;
}

/* Bouton sticky en bas — collé en bas, safe-area pour notch iPhone — 21/03/2026 */
#lg-sticky-filter {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1050 !important;
    background: #fff !important;
    padding: 10px 16px max(16px, env(safe-area-inset-bottom, 16px)) 16px !important;
    margin: 0 !important;
    box-shadow: 0 -2px 10px rgba(0,0,0,.08) !important;
}
/* Row flex : toggle grille + bouton filtrer */
#lg-sticky-filter .lg-filter-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
/* Bouton Filtrer — prend tout l'espace restant */
#lg-sticky-filter .lg-filter-btn {
    flex: 1 !important;
    background: #fff !important;
    color: #1a1a1a !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 12px 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
}
/* Toggle grille */
#lg-sticky-filter .lg-grid-toggle {
    display: flex !important;
    gap: 6px !important;
}
#lg-sticky-filter .lg-grid-btn {
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all .2s ease !important;
}
#lg-sticky-filter .lg-grid-btn.active {
    border-color: #1a1a1a !important;
}
/* Icône grille 2 colonnes — 2 carrés côte à côte */
.lg-grid-icon-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3px !important;
    width: 18px !important;
    height: 18px !important;
}
.lg-grid-icon-2::before,
.lg-grid-icon-2::after {
    content: '' !important;
    background: #1a1a1a !important;
    border-radius: 1px !important;
}
/* Icône grille 1 colonne — 1 rectangle */
.lg-grid-icon-1 {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    background: #1a1a1a !important;
    border-radius: 1px !important;
}
/* Grille 1 colonne — override toutes les classes col-* */
.product_list.lg-grid-single .ajax_block_product {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Bouton scroll top — flèche noire */
#lg-sticky-filter .lg-top-btn {
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #1a1a1a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 18px !important;
    line-height: 40px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}
/* Espace en bas du contenu pour ne pas cacher les produits sous le bouton sticky */
body.page-category #wrapper,
body.page-search #wrapper,
body.page-best-sales #wrapper,
body.page-new-products #wrapper,
body.page-prices-drop #wrapper {
    padding-bottom: 60px !important;
}

/* --- TAILLES INDISPONIBLES — renforcé 01/04/2026 --- */
/* Triple blocage : pointer-events + disabled + opacity — aucun moyen de cliquer */
body#product .product-variants li.out-of-stock > label {
    pointer-events: none !important;
    cursor: default !important;
    user-select: none !important;
}
body#product .product-variants li.out-of-stock .input-radio {
    pointer-events: none !important;
}
body#product .product-variants li.out-of-stock .radio-label {
    color: #c8c8c8 !important;
    border-color: #e8e8e8 !important;
    position: relative !important;
    opacity: .55 !important;
}

/* Trait diagonal très fin — style épuré */
body#product .product-variants li.out-of-stock .radio-label::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 6px !important;
    right: 6px !important;
    height: 1px !important;
    background: #c8c8c8 !important;
    transform: rotate(-20deg) !important;
}

body#product .product-variants li.out-of-stock .radio-label:hover {
    border-color: #e8e8e8 !important;
}

/* Popup listing — boutons taille soldout */
.lg-sp-size.lg-sp-soldout {
    pointer-events: none !important;
    cursor: default !important;
    user-select: none !important;
}


/* ==========================================================
   CHECKOUT — Design System Luxe La Galerie — 31/03/2026
   ========================================================== */

/* --- Reset PrestaShop step styling --- */
body#checkout section.checkout-step {
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}
body#checkout section.checkout-step .step-title {
    display: none !important;
}
body#checkout section.checkout-step .content {
    padding: 0 !important;
}
body#checkout section.checkout-step:not(.-current) .content {
    display: none !important;
}
body#checkout .checkout-step .lql-social-login { display: none !important; }

/* ==========================================================
   COMPOSANTS RÉUTILISABLES — Design System
   ========================================================== */

/* --- Indicateur de progression --- */
.lg-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 20px 24px 30px;
    max-width: 500px;
    margin: 0 auto;
}
.lg-progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.lg-progress-circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    border: 1.5px solid #d4d4d4;
    color: #d4d4d4;
    background: #fff;
    transition: all 0.3s;
}
.lg-progress-active .lg-progress-circle {
    background: #1a1a1a;
    border-color: #1a1a1a;
    color: #fff;
}
.lg-progress-done .lg-progress-circle {
    background: #fff;
    border-color: #1a1a1a;
    color: #1a1a1a;
}
.lg-progress-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.5px;
    color: #bbb;
    text-transform: uppercase;
}
.lg-progress-active .lg-progress-label {
    color: #1a1a1a;
    font-weight: 600;
}
.lg-progress-done .lg-progress-label {
    color: #999;
}
.lg-progress-line {
    flex: 1;
    height: 1px;
    background: #e0e0e0;
    min-width: 30px;
    margin: 0 8px;
    margin-bottom: 20px;
}

/* --- Conteneur étape --- */
.lg-step-container {
    max-width: 480px;
    margin: 0 auto;
    padding: 0 0 30px;
}

/* --- Titres --- */
.lg-step-title {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 400;
    color: #1a1a1a;
    text-align: center;
    margin: 0 0 4px;
    letter-spacing: 0.02em;
}
.lg-step-subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #999;
    text-align: center;
    margin: 0 0 4px;
}
.lg-step-email {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #bbb;
    text-align: center;
    margin: 0 0 20px;
}
.lg-step-header {
    margin-bottom: 24px;
}
.lg-step-footer {
    text-align: center;
    margin-top: 16px;
}

/* --- Boutons --- */
.lg-btn-primary {
    display: block;
    width: 100%;
    padding: 16px;
    background: #1a1a1a;
    color: #fff;
    border: none;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.2s;
    box-sizing: border-box;
}
.lg-btn-primary:hover { background: #333; color: #fff; }

.lg-btn-outline {
    display: block;
    width: 100%;
    padding: 15px;
    background: #fff;
    color: #1a1a1a !important;
    border: 1.5px solid #1a1a1a;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: all 0.2s;
    box-sizing: border-box;
}
.lg-btn-outline:hover { background: #1a1a1a; color: #fff !important; }

.lg-btn-google {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px;
    margin-top: 10px;
    border: 1px solid #e0e0e0;
    background: #fff;
    text-decoration: none !important;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #666 !important;
    transition: border-color 0.2s;
    box-sizing: border-box;
}
.lg-btn-google:hover { border-color: #1a1a1a; color: #1a1a1a !important; }

/* --- Liens subtils --- */
.lg-link-subtle {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #999;
    text-decoration: underline;
}
.lg-link-subtle:hover { color: #1a1a1a; }
.lg-text-tiny {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: #ccc;
    margin-top: 4px;
}

/* --- Séparateur --- */
.lg-divider {
    display: flex;
    align-items: center;
    margin: 28px 0;
}
.lg-divider::before,
.lg-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #e8e8e8;
}
.lg-divider span {
    padding: 0 20px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #ccc;
    text-transform: lowercase;
    letter-spacing: 0.5px;
}

/* --- Section authentification --- */
.lg-auth-section {
    text-align: center;
}

/* --- Formulaire guest --- */
.lg-guest-form {
    text-align: left;
    margin-top: 16px;
}
/* Inputs */
.lg-guest-form .form-group {
    margin-bottom: 18px !important;
}
.lg-guest-form .form-control {
    border: 1px solid #e0e0e0 !important;
    border-radius: 2px !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    font-family: 'Inter', sans-serif !important;
    background: #fff !important;
    color: #1a1a1a !important;
    transition: border-color 0.2s !important;
    height: auto !important;
    -webkit-appearance: none !important;
}
.lg-guest-form .form-control:focus {
    border-color: #1a1a1a !important;
    box-shadow: none !important;
    outline: none !important;
}
.lg-guest-form label.form-control-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #999 !important;
    margin-bottom: 6px !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
}
/* Champs full-width */
.lg-guest-form .form-group .col-md-3,
.lg-guest-form .form-group .col-md-6,
.lg-guest-form .form-group .js-input-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
}
.lg-guest-form .form-group.row {
    margin: 0 0 18px !important;
    display: block !important;
}
/* Checkboxes */
.lg-guest-form .checkbox-field {
    margin: 8px 0 !important;
}
.lg-guest-form .checkbox-field label {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    color: #999 !important;
    line-height: 1.5 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
}
/* Masquer "Optionnel" */
.lg-guest-form .form-control-comment { display: none !important; }
/* Erreurs */
.lg-guest-form .help-block,
.lg-guest-form .alert {
    color: #c53030 !important;
    font-size: 12px !important;
    margin-top: 4px !important;
}
/* Bouton submit */
.lg-guest-form .form-footer {
    margin-top: 12px !important;
}
.lg-guest-form .continue.btn-primary,
.lg-guest-form button[data-link-action="register-new-customer"] {
    display: block !important;
    width: 100% !important;
    padding: 16px !important;
    background: #1a1a1a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    float: none !important;
}
.lg-guest-form .continue.btn-primary:hover,
.lg-guest-form button[data-link-action="register-new-customer"]:hover {
    background: #333 !important;
}

/* --- Trust bar --- */
.lg-trust-bar {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
}
.lg-trust-item {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #bbb;
}
.lg-trust-item span {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

/* --- Mobile --- */
@media (max-width: 767px) {
    body#checkout section.checkout-step:not(.-current) {
        display: none !important;
    }
    /* Masquer sidebar resume commande sur mobile */
    body#checkout .cart-grid-right,
    body#checkout .cart-summary,
    body#checkout #js-checkout-summary {
        display: none !important;
    }
    .lg-step-container {
        padding: 0 16px 20px;
    }
    .lg-progress {
        padding: 16px 16px 20px;
    }
    .lg-progress-label {
        display: none;
    }
    .lg-progress-circle {
        width: 28px;
        height: 28px;
        font-size: 11px;
    }
    .lg-progress-line {
        margin-bottom: 0;
        min-width: 20px;
    }
    .lg-step-title {
        font-size: 20px;
    }
    .lg-trust-bar {
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }
}

/* Masquer footer dans le checkout et panier — zero distraction */
body#checkout #footer,
body#checkout .footer-container,
body#cart #footer,
body#cart .footer-container {
    display: none !important;
}

/* --- Supprimer espace blanc au-dessus --- */
body#checkout #wrapper,
body#order #wrapper,
body#cart #wrapper { padding-top: 0 !important; margin-top: 0 !important; }
body#checkout #wrapper > .container,
body#order #wrapper > .container,
body#cart #wrapper > .container { padding-top: 0 !important; margin-top: 0 !important; }
body#checkout #content-wrapper,
body#order #content-wrapper,
body#cart #content-wrapper { padding-top: 0 !important; margin-top: 0 !important; }
body#checkout section#content,
body#order section#content,
body#cart section#content { padding-top: 0 !important; margin-top: 0 !important; }
body#checkout .cart-grid-body,
body#order .cart-grid-body { padding-top: 0 !important; margin-top: 0 !important; }
body#checkout #checkout-process,
body#order #checkout-process { margin-top: 0 !important; padding-top: 0 !important; }
body#checkout .checkout-step,
body#order .checkout-step { margin-top: 0 !important; padding-top: 0 !important; border-top: none !important; }
body#checkout .checkout-step .content,
body#order .checkout-step .content { padding-top: 5px !important; }
body#checkout .breadcrumb,
body#order .breadcrumb { display: none !important; margin: 0 !important; padding: 0 !important; }

/* --- Resume commande sidebar — visible et style elegant — 30/03/2026 --- */
body#checkout .cart-grid-right,
body#order .cart-grid-right {
    display: block !important;
    background: #FDFCFA !important;
    border: 1px solid #e8e4de !important;
    border-radius: 0 !important;
    padding: 20px !important;
    margin-top: 10px !important;
}
body#checkout .cart-grid-right .card,
body#order .cart-grid-right .card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}
body#checkout .cart-grid-right .card-header,
body#order .cart-grid-right .card-header {
    background: transparent !important;
    border-bottom: 1px solid #e8e4de !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: 0.05em !important;
    color: #1a1a1a !important;
    padding: 10px 0 !important;
}
body#checkout .cart-grid-body,
body#order .cart-grid-body { flex: 0 0 65% !important; max-width: 65% !important; }
body#checkout .cart-grid-right,
body#order .cart-grid-right { flex: 0 0 35% !important; max-width: 35% !important; }
@media (max-width: 991px) and (min-width: 768px) {
    body#checkout .cart-grid-body { flex: 0 0 100% !important; max-width: 100% !important; }
    body#checkout .cart-grid-right { flex: 0 0 100% !important; max-width: 100% !important; margin-top: 20px; }
}
@media (max-width: 767px) {
    body#checkout .cart-grid-body,
    body#order .cart-grid-body { flex: 0 0 100% !important; max-width: 100% !important; }
    body#checkout .cart-grid-right,
    body#order .cart-grid-right { flex: 0 0 100% !important; max-width: 100% !important; margin-top: 15px !important; }
}

/* --- Masquer bloc LeoQuickLogin social en bas --- */
.checkout-step .lql-social-login,
body#checkout .lql-social-login { display: none !important; }

/* === TITRE LOGIN === */
.lg-checkout-hero { padding: 5px 0 0; }

.lg-checkout-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 38px;
    font-weight: 400;
    color: #1a1a1a;
    text-align: center;
    margin: 0 0 20px;
    letter-spacing: 2px;
}

/* === BOUTONS CREER / SE CONNECTER === */
.lg-checkout-auth-buttons {
    display: flex;
    gap: 12px;
    margin-bottom: 25px;
}

.lg-auth-btn {
    flex: 1;
    display: block;
    padding: 16px 10px;
    background: #1a1a1a;
    color: #fff !important;
    text-align: center;
    text-decoration: none !important;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    transition: background 0.2s ease;
}

.lg-auth-btn:hover {
    background: #333;
    color: #fff !important;
    text-decoration: none !important;
}

/* === SEPARATEUR === */
.lg-checkout-separator {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 22px 0 18px;
}

.lg-checkout-separator::before,
.lg-checkout-separator::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #e8e8e8;
}

.lg-checkout-separator span {
    padding: 0 18px;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #bbb;
}

/* === BOUTONS QUICK LOGIN === */
.lg-oneclick-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 25px;
}

.lg-oneclick-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 10px;
    border: 1px solid #e0e0e0;
    background: #fff;
    text-decoration: none !important;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #1a1a1a !important;
    transition: all 0.2s ease;
}

.lg-oneclick-btn:hover {
    border-color: #1a1a1a;
    background: #fafafa;
    text-decoration: none !important;
}

.lg-oneclick-btn svg { flex-shrink: 0; }

/* === ACCORDEONS FAQ === */
.lg-checkout-faq {
    margin-top: 30px;
    border-top: 1px solid #e8e8e8;
}

.lg-faq-item {
    border-bottom: 1px solid #e8e8e8;
}

.lg-faq-item summary {
    padding: 15px 0;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #1a1a1a;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.lg-faq-item summary::-webkit-details-marker { display: none; }

.lg-faq-item summary::after {
    content: '+';
    font-size: 18px;
    font-weight: 300;
    color: #999;
}

.lg-faq-item[open] summary::after {
    content: '\2212';
}

.lg-faq-item p {
    padding: 0 0 15px;
    margin: 0;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 13px;
    line-height: 20px;
    color: #666;
}

/* === JOIN US VIP === */
.lg-joinus {
    text-align: center;
    padding: 25px 0;
    margin: 20px 0 0;
    border-top: 1px solid #e8e8e8;
}

.lg-joinus-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 24px;
    font-weight: 400;
    color: #1a1a1a;
    margin: 0 0 8px;
    letter-spacing: 1px;
}

.lg-joinus-text {
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 12px;
    color: #999;
    line-height: 18px;
    margin: 0 0 15px;
}

.lg-joinus-form {
    display: flex;
    border: 1px solid #e0e0e0;
    max-width: 400px;
    margin: 0 auto;
}

.lg-joinus-input {
    flex: 1;
    border: none;
    padding: 13px 16px;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 13px;
    color: #1a1a1a;
    outline: none;
    background: #fff;
}

.lg-joinus-input::placeholder { color: #ccc; }

.lg-joinus-submit {
    background: #1a1a1a;
    color: #d4b896;
    border: none;
    padding: 13px 22px;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.lg-joinus-submit:hover { background: #333; }

.lg-joinus-success {
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 13px;
    color: #d4b896;
    font-weight: 600;
    margin: 0;
    letter-spacing: 1px;
}

/* --- Fix overflow accordeons coupes --- */
body#checkout .checkout-step .content,
body#checkout .checkout-step,
body#checkout #checkout-process,
body#checkout section#content,
body#checkout .cart-grid-body { overflow: visible !important; }

/* ==========================================================
   CHECKOUT STEP 2 — Adresse — Design System 31/03/2026
   ========================================================== */

/* Progress bar done state */
.lg-progress-line-done { background: #1a1a1a !important; }
.lg-progress-done .lg-progress-circle {
    background: #fff;
    border-color: #1a1a1a;
    color: #1a1a1a;
    font-size: 14px;
}

/* Formulaire adresse container */
.lg-address-form {
    max-width: 480px;
    margin: 0 auto;
    padding: 10px 0;
}

/* Masquer les champs inutiles */
.lg-address-form .form-group:has(#field-alias),
.lg-address-form .form-group:has([name="alias"]),
.lg-address-form .form-group:has(#field-company),
.lg-address-form .form-group:has([name="company"]),
.lg-address-form .form-group:has(#field-vat_number),
.lg-address-form .form-group:has([name="vat_number"]),
.lg-address-form .form-group:has(#field-dni),
.lg-address-form .form-group:has([name="dni"]),
.lg-address-form .form-group:has(#field-address2),
.lg-address-form .form-group:has([name="address2"]),
.lg-address-form .form-group:has(select[name="id_customer"]),
.lg-address-form .form-group:has(#field-id_customer),
.checkout-step .form-group:has(#field-alias),
.checkout-step .form-group:has([name="alias"]),
.checkout-step .form-group:has(#field-company),
.checkout-step .form-group:has([name="company"]),
.checkout-step .form-group:has(#field-vat_number),
.checkout-step .form-group:has([name="vat_number"]),
.checkout-step .form-group:has(#field-dni),
.checkout-step .form-group:has([name="dni"]),
.checkout-step .form-group:has(#field-address2),
.checkout-step .form-group:has([name="address2"]),
.checkout-step .form-group:has(select[name="id_customer"]),
.checkout-step .form-group:has(#field-id_customer) { display: none !important; }

/* Masquer "Optionnel" */
.lg-address-form .form-control-comment,
.checkout-step .form-control-comment { display: none !important; }

/* Layout champs — pleine largeur */
.lg-address-form .form-group.row,
.checkout-step .form-group.row {
    margin: 0 0 18px !important;
    display: block !important;
}
.lg-address-form .form-group .col-md-3,
.lg-address-form .form-group .col-md-6,
.lg-address-form .form-group .js-input-column,
.checkout-step .form-group .col-md-3,
.checkout-step .form-group .col-md-6,
.checkout-step .form-group .js-input-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
}

/* Labels — Design System */
.lg-address-form label.form-control-label,
.checkout-step .form-group label.form-control-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #999 !important;
    margin-bottom: 6px !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
}

/* Inputs — Design System (bordure complete) */
.lg-address-form .form-control,
.checkout-step .form-control {
    border: 1px solid #e0e0e0 !important;
    border-radius: 2px !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    background: #fff !important;
    transition: border-color 0.2s !important;
    height: auto !important;
    -webkit-appearance: none !important;
}
.lg-address-form .form-control:focus,
.checkout-step .form-control:focus {
    border-color: #1a1a1a !important;
    box-shadow: none !important;
    outline: none !important;
}
.lg-address-form .form-control::placeholder { color: #ccc; }

/* Select (pays) — Design System */
.lg-address-form .form-control-select,
.checkout-step .form-control-select {
    border: 1px solid #e0e0e0 !important;
    border-radius: 2px !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    font-family: 'Inter', sans-serif !important;
    background: #fff !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}

/* Erreurs */
.lg-address-form .form-group.has-error .form-control,
.checkout-step .form-group.has-error .form-control {
    border-color: #c53030 !important;
}
.lg-address-form .help-block,
.checkout-step .form-group .help-block {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: #c53030;
    margin-top: 4px;
}

/* Checkbox use same address */
.lg-address-form #use_same_address + label,
.checkout-step #use_same_address + label {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #999;
}

/* Lien adresse differente */
.lg-address-form [data-link-action="different-invoice-address"] {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #999;
    text-decoration: underline;
}

/* Ajouter adresse */
.lg-address-form .add-address a,
.checkout-step .add-address a {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #999 !important;
    text-decoration: none;
    letter-spacing: 0.5px;
}
.lg-address-form .add-address a:hover,
.checkout-step .add-address a:hover { color: #1a1a1a !important; }

/* Adresses sauvegardees — cards */
.checkout-step .address-selector .address-item {
    border: 1px solid #e0e0e0;
    border-radius: 2px;
    padding: 18px;
    margin-bottom: 10px;
    transition: border-color 0.2s;
    cursor: pointer;
}
.checkout-step .address-selector .address-item:hover,
.checkout-step .address-selector .address-item.selected {
    border-color: #1a1a1a;
}
.checkout-step .address-selector .address {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    color: #666;
}

/* Bouton annuler */
.checkout-step .cancel-address {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #999 !important;
    text-decoration: underline;
    margin-top: 10px;
    display: inline-block;
}

/* ==========================================================
   CHECKOUT STEP 3 — Livraison — Design System 31/03/2026
   ========================================================== */

/* Conteneur */
.delivery-options-list {
    max-width: 480px;
    margin: 0 auto;
}

/* === Shipping Cards Luxe === */
.lg-shipping-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lg-ship-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px;
    border: 1.5px solid #e8e4de;
    background: #fff;
    cursor: pointer;
    transition: all 0.25s ease;
    position: relative;
}
.lg-ship-card:hover {
    border-color: #c9b89a;
    background: #FDFCFA;
}
.lg-ship-card.lg-ship-selected,
.lg-ship-card:has(.lg-ship-radio:checked) {
    border-color: #1a1a1a;
    background: #FDFCFA;
}

/* Radio cache */
.lg-ship-radio {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* Checkmark circle */
.lg-ship-check {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1.5px solid #d4d4d4;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.25s ease;
    color: transparent;
    margin-top: 2px;
}
.lg-ship-card:has(.lg-ship-radio:checked) .lg-ship-check {
    background: #1a1a1a;
    border-color: #1a1a1a;
    color: #fff;
}

/* Contenu */
.lg-ship-content {
    flex: 1;
    min-width: 0;
}
.lg-ship-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 4px;
}
.lg-ship-name {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    letter-spacing: 0.5px;
}
.lg-ship-price {
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    font-weight: 500;
    color: #1a1a1a;
    white-space: nowrap;
}
.lg-ship-delay {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #999;
    font-style: italic;
}

/* Extra content carrier */
.carrier-extra-content {
    padding: 0 20px 16px;
    margin-top: 0;
    margin-bottom: 12px;
    border: none;
    background: transparent;
}
.carrier-extra-content:empty,
.carrier-extra-content[style*="display:none"],
.carrier-extra-content[style*="display: none"] {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Message de livraison */
.order-options {
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid #ede8e1;
}

.order-options label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #999;
    margin-bottom: 8px;
    display: block;
}

.order-options textarea {
    width: 100%;
    border: 1px solid #e0e0e0;
    border-radius: 2px;
    padding: 14px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #1a1a1a;
    resize: none;
    background: #fff;
    outline: none;
    transition: border-color 0.2s;
}

.order-options textarea:focus {
    border-color: #1a1a1a;
}

/* Cadeau */
.order-options .custom-checkbox label {
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 12px;
    color: #666;
    text-transform: none;
    letter-spacing: 0;
}

/* Bouton Continuer — deja style globalement */
.delivery-options-list .continue.btn-primary,
.delivery-options-list button[name="confirmDeliveryOption"] {
    background: #1a1a1a !important;
    border: none !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 18px 40px !important;
    width: 100%;
    margin-top: 25px;
    transition: background 0.3s ease;
}

.delivery-options-list .continue.btn-primary:hover,
.delivery-options-list button[name="confirmDeliveryOption"]:hover {
    background: #333 !important;
}

/* Badges de confiance sous les options */
#hook-display-after-carrier::after {
    content: 'Livraison securisee · Suivi en temps reel · Retours sous 14 jours';
    display: block;
    text-align: center;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #b5a08e;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ede8e1;
}
[dir="rtl"] #hook-display-after-carrier::after,
html[lang="he"] #hook-display-after-carrier::after {
    content: 'משלוח מאובטח · מעקב בזמן אמת · החזרה תוך 14 יום';
}

/* ========================================
   ICONE PANIER LUXE — Shopping bag — 20 mars 2026
   ======================================== */
.lg-cart-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.lg-cart-icon svg {
    stroke: #1a1a1a;
    transition: stroke 0.2s ease;
}
.blockcart:hover .lg-cart-icon svg {
    stroke: #c9b89a;
}
/* Cacher l'ancien icone Ico_Cart si il reste quelque part */
.blockcart .icon-Ico_Cart { display: none !important; }
/* Compteur produits */
.blockcart .cart-products-count {
    position: relative;
    top: -8px;
    right: 2px;
    font-size: 10px;
    font-weight: 600;
    color: #1a1a1a;
    min-width: 16px;
    text-align: center;
}

/* ========================================
   RECHERCHE EXPANDABLE HEADER — 20 mars 2026
   ======================================== */
button.lg-search-toggle,
#leo_search_block_top button.lg-search-toggle,
.lg-search-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: color 0.2s;
    padding: 0 !important;
    margin: 0;
    outline: none !important;
    -webkit-appearance: none;
}
button.lg-search-toggle:hover,
.lg-search-toggle:hover { color: #C9A96E !important; }
button.lg-search-toggle svg,
.lg-search-toggle svg { stroke: #000 !important; width: 20px; height: 20px; }
button.lg-search-toggle:hover svg,
.lg-search-toggle:hover svg { stroke: #C9A96E !important; }

/* Overlay barre de recherche — refonte luxe — 30/03/2026 */
.lg-search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: auto;
    height: 80px;
    background: #FDFCFA;
    border-bottom: 1px solid #e8e4de;
    z-index: 10001;
    display: flex;
    align-items: center;
    padding: 0 12px;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}
.lg-search-overlay.lg-search-open {
    opacity: 1;
    transform: translateY(0);
}

.lg-search-form {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 680px;
    background: transparent;
    border-radius: 0;
    border-bottom: 1px solid #C9A96E;
    padding: 0 4px 0 0;
    gap: 10px;
    height: 44px;
}

.lg-search-form input[type=text],
.lg-search-overlay #leo_search_query_top {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
    font-style: normal !important;
    font-weight: 300 !important;
    letter-spacing: .08em !important;
    color: #1a1a1a !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    height: auto !important;
    line-height: 1 !important;
}
.lg-search-form input[type=text]::placeholder,
.lg-search-overlay #leo_search_query_top::placeholder {
    color: #b0a89e;
    font-style: normal;
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* Bouton submit loupe masqué dans la barre recherche (inutile visuellement) */
.lg-search-submit { display: none !important; }

/* Fond blanc du bloc search toggle supprimé */
#leo_search_block_top { background: transparent !important; }

.lg-search-close {
    background: none;
    border: none;
    cursor: pointer;
    color: #999;
    padding: 0 0 0 12px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    transition: color 0.2s;
    margin-left: 4px;
}
.lg-search-close svg { width: 18px; height: 18px; }
.lg-search-close:hover { color: #1a1a1a; }

/* Résultats autocomplete — refonte luxe 30/03/2026 */
.lg-search-overlay .ac_results,
.lg-search-overlay .lps_results {
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    z-index: 10000;
    background: #FDFCFA;
    border: none;
    border-top: 1px solid #e8e4de;
    border-radius: 0;
    box-shadow: 0 8px 30px rgba(0,0,0,0.06);
    max-height: 400px;
    overflow-y: auto;
}
/* Cacher l'ancien toggle search-toggle-btn par defaut */
.search-toggle-btn:not(.lg-search-toggle) { display: none !important; }

/* Mobile */
@media (max-width: 767px) { /* standardisé 768→767 — 24/03/2026 */
    .lg-checkout-auth-buttons { flex-direction: column; gap: 8px; }
    .delivery-option .carrier-price { float: none; margin-top: 5px; }
    .delivery-option .delivery-option-2 > .row > div { margin-bottom: 5px; }
    .lg-search-form { max-width: 100%; height: 44px; padding: 0 14px 0 20px; }
    .lg-search-overlay { padding: 0 8px; }
}

/* ============================================================
   Bouton panier rapide listing — 22/03/2026
   ============================================================ */
.lg-product-title-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
}
.lg-product-title-row .product-title {
    flex: 1 !important;
    margin: 0 !important;
}
.lg-cart-quick-btn {
    flex-shrink: 0 !important;
    width: 28px !important; height: 28px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: #1a1a1a !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0.6 !important;
    transition: opacity .2s !important;
}
.lg-cart-quick-btn:hover { opacity: 1 !important; }
.lg-cart-quick-btn.lg-cart-added { opacity: 1 !important; color: #2a7a2a !important; }

/* RTL — bouton panier rapide à gauche — 25/03/2026 */
.lang-rtl .lg-product-title-row .lg-cart-quick-btn {
    order: -1 !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}


/* ============================================================
   Popup tailles listing — bottom sheet — 25/03/2026
   ============================================================ */
#lg-size-popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9999;
    align-items: flex-end;
    justify-content: center;
}
#lg-size-popup-overlay.lg-sp-active { display: flex; }
#lg-size-popup {
    background: #fff;
    width: 100%;
    max-width: 480px;
    padding: 28px 24px 40px;
    border-radius: 16px 16px 0 0;
    position: relative;
}
.lg-sp-close {
    position: absolute;
    top: 16px; right: 20px;
    font-size: 18px; cursor: pointer; color: #888;
}
.lg-sp-title {
    font-size: 11px; font-weight: 700;
    letter-spacing: .2em; text-transform: uppercase;
    text-align: center; margin-bottom: 24px; color: #1a1a1a;
}
/* Badge couleur selectionnee dans le popup tailles — 25/03/2026 */
.lg-sp-color-badge {
    display: none;
    text-align: center;
    font-size: 11px;
    color: #666;
    margin-bottom: 16px;
    letter-spacing: .05em;
}
.lg-sp-sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    max-height: 280px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.lg-sp-size {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px; height: 44px;
    padding: 0 12px;
    border: 1px solid #1a1a1a;
    background: none;
    cursor: pointer;
    font-size: 13px; font-weight: 500;
    color: #1a1a1a;
    text-decoration: none !important;
    transition: all .15s;
}
.lg-sp-size:hover { background: #1a1a1a; color: #fff !important; }
.lg-sp-soldout {
    border-color: #ccc !important;
    color: #bbb !important;
    text-decoration: line-through !important;
    cursor: default !important;
}
.lg-sp-soldout:hover { background: none !important; color: #bbb !important; }

/* Couleur active dans le popup couleurs — 25/03/2026 */
.lg-cp-active-color {
    outline: 2px solid #1a1a1a;
    outline-offset: 2px;
}

/* ============================================================
   Popup couleurs listing — bottom sheet — 21/03/2026
   ============================================================ */
#lg-color-popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 10000; /* harmonisé — était 99000, maintenant cohérent avec size popup (9999) — 24/03/2026 */
    align-items: flex-end;
}
#lg-color-popup-overlay.lg-cp-active {
    display: flex;
}
#lg-color-popup {
    background: #fff;
    width: 100%;
    padding: 28px 24px 44px;
    border-radius: 16px 16px 0 0;
    position: relative;
    animation: lgCpSlideUp .28s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes lgCpSlideUp {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
}
.lg-cp-close {
    position: absolute;
    top: 14px; right: 18px;
    font-size: 18px; line-height: 1;
    cursor: pointer; color: #aaa;
    background: none; border: none; padding: 4px;
}
.lg-cp-title {
    text-align: center;
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #1a1a1a;
    font-weight: 400;
    margin: 0 0 28px;
}
.lg-cp-swatches {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px;
}
.lg-cp-swatch {
    display: block;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.12);
    background-size: cover;
    background-position: center;
    cursor: pointer;
    text-decoration: none;
    transition: transform .15s, box-shadow .15s;
}
.lg-cp-swatch:hover,
.lg-cp-swatch:focus {
    transform: scale(1.08);
    box-shadow: 0 0 0 2px #1a1a1a;
    outline: none;
}
.lg-cp-soldout {
    opacity: 0.4;
}

/* ============================================================
   Panel résultats recherche instantanée — La Galerie 21/03/2026
   ============================================================ */
#lg-search-panel {
    position: fixed;
    top: 78px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    z-index: 9999;
    overflow-y: auto;
    padding: 16px 16px 32px;
}

/* Pills catégories */
.lg-search-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}
.lg-search-cat-pill {
    display: inline-block;
    border: 1px solid #1a1a1a;
    border-radius: 50px;
    padding: 6px 18px;
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    color: #1a1a1a;
    white-space: nowrap;
    transition: background .15s, color .15s;
}
.lg-search-cat-pill:hover { background: #1a1a1a; color: #fff; }

/* Grille produits 2 colonnes */
.lg-search-products-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.lg-search-product-card {
    display: block;
    text-decoration: none;
    color: #1a1a1a;
}
.lg-spc-img img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    display: block;
}
.lg-spc-info { padding: 8px 2px 0; }
.lg-spc-name {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    line-height: 1.3;
}
.lg-spc-price { font-size: 13px; margin-top: 4px; }
.lg-spc-old { color: #999; font-size: 11px; text-decoration: line-through; margin-right: 4px; }
.lg-spc-new { color: #1a1a1a; }
.lg-spc-swatches { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.lg-spc-swatch {
    display: inline-block;
    width: 14px; height: 14px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,.15);
    background-size: cover;
    flex-shrink: 0;
}

/* Lien voir tous */
.lg-search-all { text-align: center; padding: 24px 0 8px; }
.lg-search-all a {
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: underline;
    color: #1a1a1a;
}

/* Supprimer l'ancien popup dropdown leoproductsearch — remplacé par #lg-search-panel */
.ac_results, .lps_results { display: none !important; }

/* Cacher flèches slick sur pages listing/catégorie — 21/03/2026 */
#products .slick-arrows,
#js-product-list .slick-arrows,
.thumbnail-container .slick-arrows,
.products-grid .slick-arrows { display: none !important; }

/* ============================================================
   PAGE PANIER — Refonte luxe La Galerie — 30/03/2026
   ============================================================ */

/* --- Page layout centré --- */
body#cart .cart-container { border: none !important; box-shadow: none !important; padding: 0 !important; }
body#cart .card-block { padding: 0 !important; }
body#cart .cart-container hr.separator { display: none !important; }
body#cart .label { color: inherit !important; font-size: inherit !important; }
body#cart .card-block .h1 { display: none !important; }
body#cart .card-block + hr.separator { display: none !important; }

.lg-cart-page {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 24px;
}

/* --- Indicateur d'étapes --- */
.lg-cart-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 28px 0 8px;
}
.lg-step {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #bbb;
}
.lg-step svg { stroke: #ccc; }
.lg-step-active {
    color: #1a1a1a;
    font-weight: 600;
}
.lg-step-active svg { stroke: #c9b89a; }
.lg-step-divider {
    display: flex;
    align-items: center;
    color: #ddd;
}
[dir="rtl"] .lg-step-divider svg { transform: scaleX(-1); }

/* --- Onglets Panier / Wishlist --- */
body#cart .lg-cart-tabs {
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 24px 0 20px;
    border-bottom: 1px solid #ebebeb;
    margin-bottom: 0;
}
body#cart .lg-cart-tab {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #aaa;
    text-decoration: none;
    transition: color .2s;
    padding-bottom: 4px;
}
body#cart .lg-cart-tab:hover { color: #1a1a1a; }
body#cart .lg-cart-tab-active {
    color: #1a1a1a;
    font-weight: 600;
    border-bottom: 1.5px solid #c9b89a;
}

/* --- Product lines --- */
body#cart .cart-items {
    list-style: none;
    padding: 0;
    margin: 0;
}
body#cart .cart-item {
    opacity: 0;
    transform: translateY(12px);
    animation: lgCartFadeIn .4s cubic-bezier(.4,0,.2,1) forwards;
    animation-delay: calc(var(--stagger, 0) * 60ms);
}
@keyframes lgCartFadeIn {
    to { opacity: 1; transform: translateY(0); }
}

.lg-cart-product-line {
    display: flex;
    gap: 24px;
    padding: 28px 0;
    border-bottom: 1px solid #ebebeb;
    transition: background .2s;
}
.lg-cart-product-line:last-child { border-bottom: none; }

/* Image */
.lg-cpl-image {
    flex: 0 0 140px;
    max-width: 140px;
    overflow: hidden;
    border-radius: 2px;
}
.lg-cpl-image img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    display: block;
    transition: transform .5s cubic-bezier(.4,0,.2,1);
}
.lg-cart-product-line:hover .lg-cpl-image img { transform: scale(1.03); }

/* Détails */
.lg-cpl-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 4px;
    min-width: 0;
}

/* Header : nom + prix sur une ligne */
.lg-cpl-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

/* Nom */
.lg-cpl-name { flex: 1; min-width: 0; }
.lg-cpl-name a {
    font-family: 'Playfair Display', serif;
    font-size: 15px;
    font-weight: 400;
    font-style: italic;
    color: #1a1a1a;
    text-decoration: none;
    line-height: 1.4;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.lg-cpl-name a:hover { color: #c9b89a; }

/* Prix */
.lg-cpl-price {
    flex-shrink: 0;
    text-align: end;
    white-space: nowrap;
}
.lg-cpl-current-price {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #1a1a1a;
}
.lg-cpl-old-price {
    font-size: 12px;
    color: #aaa;
    text-decoration: line-through;
    margin-inline-end: 6px;
}

/* Attributs en pills */
.lg-cpl-attrs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2px;
}
.lg-cpl-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #f7f5f2;
    padding: 4px 10px;
    border-radius: 2px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: #666;
    letter-spacing: .03em;
}
.lg-cpl-pill-key {
    font-weight: 600;
    color: #444;
}

/* Actions */
.lg-cpl-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: auto;
    padding-top: 12px;
}

/* Quantité */
.lg-cpl-qty {
    display: inline-flex;
    align-items: center;
    border: 0.5px solid #d0d0d0;
    border-radius: 2px;
    height: 36px;
    transition: border-color .2s;
}
.lg-cpl-qty:hover { border-color: #c9b89a; }
.lg-cpl-qty-down,
.lg-cpl-qty-up {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    font-size: 16px;
    font-weight: 300;
    color: #1a1a1a !important;
    text-decoration: none !important;
    cursor: pointer;
    background: none;
    border: none;
    line-height: 1;
    transition: background .15s;
    flex-shrink: 0;
    -webkit-appearance: none;
    appearance: none;
}
.lg-cpl-qty-down:hover,
.lg-cpl-qty-up:hover {
    background: #f7f5f2;
    color: #1a1a1a !important;
}
.lg-cpl-qty-input {
    width: 36px !important;
    height: 36px !important;
    border: none !important;
    border-inline-start: 0.5px solid #d0d0d0 !important;
    border-inline-end: 0.5px solid #d0d0d0 !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    color: #1a1a1a !important;
    -moz-appearance: textfield;
}
.lg-cpl-qty-input::-webkit-outer-spin-button,
.lg-cpl-qty-input::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0 !important; display: none !important; }
body#cart input[type="number"]::-webkit-outer-spin-button,
body#cart input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0 !important; display: none !important; }
body#cart input[type="number"] { -moz-appearance: textfield !important; }
/* Masquer le Bootstrap input-spinner sur la page panier */
body#cart .input-group-btn-vertical,
body#cart .bootstrap-touchspin .input-group-btn-vertical,
body#cart .bootstrap-touchspin-up,
body#cart .bootstrap-touchspin-down,
body#cart .btn-touchspin,
body#cart .input-group-btn,
body#cart .js-touchspin { display: none !important; }
body#cart .bootstrap-touchspin { border: none !important; box-shadow: none !important; background: none !important; }
body#cart .bootstrap-touchspin .form-control,
body#cart .bootstrap-touchspin input { border: none !important; }

/* Cœur wishlist */
.lg-cpl-wishlist {
    display: flex;
    align-items: center;
    color: #999 !important;
    text-decoration: none !important;
    line-height: 1;
    transition: color .2s, transform .2s;
}
.lg-cpl-wishlist:hover { color: #c9b89a !important; transform: scale(1.15); }
.lg-cpl-wishlist.added svg { fill: #1a1a1a; stroke: #1a1a1a; }

/* Supprimer — texte raffiné */
.lg-cpl-delete {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: #bbb;
    text-decoration: none;
    letter-spacing: .05em;
    text-transform: uppercase;
    transition: color .2s;
    position: relative;
}
.lg-cpl-delete::after {
    content: '';
    position: absolute;
    bottom: -1px;
    inset-inline-start: 0;
    width: 0;
    height: 0.5px;
    background: #1a1a1a;
    transition: width .2s;
}
.lg-cpl-delete:hover { color: #1a1a1a; }
.lg-cpl-delete:hover::after { width: 100%; }

/* Cadeau */
.lg-cpl-gift {
    font-size: 11px;
    color: #c9b89a;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* Sous-total ligne */
.lg-cpl-subtotal {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #888;
    margin-top: 4px;
}

/* --- Share bar --- */
.lg-cart-share-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    border-bottom: 1px solid #ebebeb;
}
.lg-cart-share-label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #999;
}
.lg-cart-share-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f7f5f2;
    border: none;
    cursor: pointer;
    color: #999;
    transition: background .2s, color .2s;
}
.lg-cart-share-btn:hover { background: #ebe7e2; color: #1a1a1a; }

/* --- Summary card --- */
.lg-summary-card {
    border: 1px solid #e8e4e0;
    background: #faf8f5;
    margin-top: 24px;
}
.lg-summary-heading {
    font-family: 'Playfair Display', serif;
    font-size: 18px;
    font-weight: 400;
    color: #1a1a1a;
    padding: 24px 24px 16px;
}

/* Lignes de totaux dans la summary card */
.lg-summary-lines { padding: 0; }
.lg-summary-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 24px;
    border-bottom: 1px solid #ede9e4;
}
.lg-summary-line:last-child { border-bottom: none; }
.lg-summary-label {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #666;
}
.lg-summary-value {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #1a1a1a;
    text-align: end;
}

/* Totaux */
.lg-summary-totals { padding: 0; }

/* Total principal avec ligne dorée */
.lg-summary-total {
    border-top: 1.5px solid #c9b89a !important;
    border-bottom: none !important;
    padding: 18px 24px !important;
}
.lg-summary-total .lg-summary-label {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #1a1a1a;
}
.lg-summary-total .lg-summary-value {
    font-size: 16px;
    font-weight: 600;
    color: #1a1a1a;
}

/* Remise */
.lg-summary-discount .lg-summary-value { color: #b8860b; }

/* Note TVA */
.lg-summary-tax-note {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: #aaa;
    padding: 0 24px 16px;
    text-align: end;
}

/* --- Coupon dépliable --- */
.lg-cart-voucher {
    border-bottom: 1px solid #ede9e4;
}

/* Toggle */
.lg-coupon-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 16px 24px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #888;
    transition: color .2s;
}
.lg-coupon-toggle:hover { color: #1a1a1a; }
.lg-coupon-chevron { transition: transform .3s; }
.lg-coupon-toggle-open .lg-coupon-chevron { transform: rotate(180deg); }

/* Body coupon — caché par défaut */
.lg-coupon-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
}
.lg-coupon-body.lg-coupon-open {
    max-height: 200px;
}

/* Formulaire */
.lg-coupon-form {
    display: flex;
    align-items: center;
    padding: 0 24px 16px;
    gap: 12px;
}
.lg-coupon-input {
    flex: 1;
    border: none !important;
    border-bottom: 1px solid #d0d0d0 !important;
    outline: none !important;
    padding: 10px 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-style: italic;
    background: transparent !important;
    color: #1a1a1a !important;
    letter-spacing: .02em;
    border-radius: 0 !important;
}
.lg-coupon-input::placeholder { color: #bbb !important; }
.lg-coupon-btn {
    background: none;
    border: none;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #1a1a1a;
    cursor: pointer;
    padding: 10px 0;
    transition: color .2s;
}
.lg-coupon-btn:hover { color: #c9b89a; }

/* Chips voucher appliqué */
.lg-voucher-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 24px;
}
.lg-voucher-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f5f2ed;
    padding: 6px 14px;
    border-radius: 2px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #1a1a1a;
}
.lg-voucher-chip-val { color: #b8860b; font-weight: 500; }
.lg-voucher-chip-remove {
    color: #bbb;
    text-decoration: none;
    font-size: 16px;
    line-height: 1;
    transition: color .2s;
}
.lg-voucher-chip-remove:hover { color: #c00; }

/* Erreur coupon */
.lg-cart-voucher .alert-danger {
    margin: 8px 24px 12px;
    font-size: 12px;
}

/* --- Bouton CTA commander --- */
.lg-cart-actions {
    padding: 0 24px 24px;
}
.lg-cart-cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 56px;
    background: #1a1a1a;
    color: #fff !important;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    transition: background .3s, box-shadow .3s;
}
.lg-cart-cta-btn:hover {
    background: #333;
    box-shadow: 0 4px 16px rgba(0,0,0,.15);
}
.lg-cart-cta-btn[disabled] { background: #e0e0e0; color: #999 !important; cursor: default; box-shadow: none; }
.lg-cart-min-warning { font-size: 12px; color: #c00; margin-bottom: 12px; padding: 0 24px; }

/* Flèche CTA */
.lg-cta-arrow { transition: transform .2s; }
.lg-cart-cta-btn:hover .lg-cta-arrow { transform: translateX(3px); }
[dir="rtl"] .lg-cta-arrow { transform: scaleX(-1); }
[dir="rtl"] .lg-cart-cta-btn:hover .lg-cta-arrow { transform: scaleX(-1) translateX(3px); }

/* Icônes paiement */
.lg-payment-icons {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 14px 24px 0;
    opacity: 0.45;
}
.lg-payment-icons svg { flex-shrink: 0; }

/* Note sécurité */
.lg-secure-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 10px 24px 0;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #bbb;
}

/* --- Réassurance --- */
.lg-reassurance-strip {
    display: flex;
    justify-content: center;
    gap: 40px;
    padding: 36px 0;
    border-top: 1px solid #ebebeb;
    margin-top: 32px;
}
.lg-reassurance-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}
.lg-reassurance-item svg { stroke: #c9b89a; }
.lg-reassurance-item span {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #888;
    line-height: 1.4;
}

/* --- Bannière carte cadeau --- */
.lg-giftcard-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #1a1a1a;
    color: #fff;
    padding: 32px 24px;
    margin-top: 8px;
    border-radius: 2px;
}
.lg-gcb-left {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.lg-gcb-tag {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #c9b89a;
    border: 1px solid #c9b89a;
    display: inline-block;
    padding: 3px 10px;
    width: fit-content;
}
.lg-gcb-title {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 400;
    font-style: italic;
    letter-spacing: .03em;
    margin: 0;
    color: #fff;
}
.lg-gcb-sub {
    font-size: 11px;
    color: #aaa;
    letter-spacing: .04em;
    margin: 0;
}
.lg-gcb-btn {
    display: inline-block;
    margin-top: 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #fff !important;
    text-decoration: none !important;
    border-bottom: 1px solid #c9b89a;
    padding-bottom: 2px;
    width: fit-content;
    transition: border-color .2s;
}
.lg-gcb-btn:hover { border-color: #fff; }
.lg-gcb-right { flex-shrink: 0; }

/* Lien continuer les achats */
.lg-cart-continue-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #999;
    text-decoration: none;
    padding: 28px 0 32px;
    transition: color .2s;
}
.lg-cart-continue-link:hover { color: #1a1a1a; }
[dir="rtl"] .lg-cart-continue-link svg { transform: scaleX(-1); }

/* --- État vide du panier --- */
.lg-empty-cart {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 80px 24px;
    gap: 12px;
}
.lg-empty-icon { stroke: #c9b89a; margin-bottom: 8px; }
.lg-empty-title {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 400;
    font-style: italic;
    color: #1a1a1a;
    margin: 0;
}
.lg-empty-sub {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 300;
    color: #888;
    margin: 0;
}
.lg-empty-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 40px;
    background: #1a1a1a;
    color: #fff !important;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
    text-decoration: none !important;
    margin-top: 12px;
    transition: background .3s;
}
.lg-empty-cta:hover { background: #333; }
.lg-empty-wishlist-link {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #999;
    text-decoration: none;
    letter-spacing: .06em;
    border-bottom: 0.5px solid #ccc;
    padding-bottom: 1px;
    transition: color .2s, border-color .2s;
}
.lg-empty-wishlist-link:hover { color: #1a1a1a; border-color: #1a1a1a; }

/* --- Barre sticky mobile checkout --- */
.lg-sticky-checkout {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #fff;
    box-shadow: 0 -2px 12px rgba(0,0,0,.08);
    padding: 12px 20px;
    transform: translateY(100%);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
}
.lg-sticky-checkout.lg-sticky-visible { transform: translateY(0); }
.lg-sticky-total {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.lg-sticky-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #999;
}
.lg-sticky-price {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #1a1a1a;
}
.lg-sticky-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 44px;
    padding: 0 28px;
    background: #1a1a1a;
    color: #fff !important;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background .2s;
}
.lg-sticky-btn:hover { background: #333; }
[dir="rtl"] .lg-sticky-btn svg { transform: scaleX(-1); }

/* --- Accessibilité : réduire les animations --- */
@media (prefers-reduced-motion: reduce) {
    body#cart .cart-item { animation: none; opacity: 1; transform: none; }
    .lg-cart-product-line:hover .lg-cpl-image img { transform: none; }
    .lg-sticky-checkout { transition: none; }
    .lg-coupon-body { transition: none; }
}

/* --- MOBILE --- */
@media (max-width: 767px) {
    .lg-cart-page { padding: 0 16px; }

    /* Steps */
    .lg-cart-steps { gap: 8px; padding: 20px 0 4px; }
    .lg-step { font-size: 10px; gap: 4px; }

    /* Tabs */
    body#cart .lg-cart-tabs { gap: 20px; padding: 18px 0 14px; }

    /* Product lines */
    .lg-cart-product-line { gap: 16px; padding: 20px 0; }
    .lg-cpl-image { flex: 0 0 100px; max-width: 100px; }
    .lg-cpl-name a { font-size: 13px; white-space: normal; }

    /* Header: nom et prix empilés */
    .lg-cpl-header { flex-direction: column; gap: 4px; }
    .lg-cpl-price { text-align: start; }
    .lg-cpl-current-price { font-size: 14px; }

    /* Pills */
    .lg-cpl-pill { font-size: 10px; padding: 3px 8px; }

    /* Actions */
    .lg-cpl-actions { gap: 12px; flex-wrap: wrap; }
    .lg-cpl-qty { height: 34px; }
    .lg-cpl-qty-down, .lg-cpl-qty-up { width: 34px; height: 34px; font-size: 15px; }
    .lg-cpl-qty-input { width: 34px !important; height: 34px !important; }

    /* Summary card */
    .lg-summary-card { margin-inline: -16px; border-inline: none; }
    .lg-summary-heading { font-size: 16px; padding: 20px 20px 12px; }
    .lg-summary-line { padding: 10px 20px; }
    .lg-summary-total { padding: 14px 20px !important; }
    .lg-summary-tax-note { padding: 0 20px 12px; }
    .lg-cart-actions { padding: 0 20px 20px; }
    .lg-cart-cta-btn { height: 50px; font-size: 11px; }
    .lg-payment-icons { padding: 12px 20px 0; }
    .lg-secure-note { padding: 8px 20px 0; }

    /* Coupon */
    .lg-coupon-toggle { padding: 14px 20px; }
    .lg-coupon-form { padding: 0 20px 14px; }
    .lg-voucher-chips { padding: 10px 20px; }

    /* Réassurance */
    .lg-reassurance-strip { gap: 16px; padding: 28px 0; flex-wrap: wrap; }
    .lg-reassurance-item span { font-size: 9px; }

    /* Gift card */
    .lg-giftcard-banner { flex-direction: column; text-align: center; gap: 16px; padding: 28px 20px; border-radius: 0; margin-inline: -16px; }
    .lg-gcb-left { align-items: center; }
    .lg-gcb-title { font-size: 18px; }
    .lg-gcb-right { display: none; }

    /* Sticky checkout bar */
    .lg-sticky-checkout {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    body#cart { padding-bottom: 80px; }

    /* Empty */
    .lg-empty-cart { padding: 56px 16px; }
    .lg-empty-icon { width: 60px; height: 60px; }
    .lg-empty-title { font-size: 20px; }
}

@media (max-width: 575px) {
    .lg-cpl-image { flex: 0 0 90px; max-width: 90px; }
    .lg-cpl-name a { font-size: 12px; }
    .lg-cpl-current-price { font-size: 13px; }
    .lg-reassurance-strip { gap: 12px; }
    .lg-reassurance-item svg { width: 20px; height: 20px; }
}

/* --- RTL overrides --- */
[dir="rtl"] .lg-cpl-old-price { margin-inline-end: 6px; margin-inline-start: 0; }
[dir="rtl"] .lg-cpl-delete::after { inset-inline-start: auto; inset-inline-end: 0; }

/* ============================================================
   Popup confirmation ajout panier — style Jonak — 22/03/2026
   ============================================================ */
#lg-cart-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 99999;
    align-items: flex-end;
    justify-content: center;
    padding: 0;
}
#lg-cart-modal-overlay.lg-cm-active {
    display: flex;
}
#lg-cart-modal {
    background: #fff;
    padding: 40px 36px 40px;
    max-width: 100%;
    width: 100%;
    text-align: center;
    position: relative;
    animation: lgCmSlideIn .25s ease;
}
@keyframes lgCmSlideIn {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}
.lg-cm-close {
    position: absolute;
    top: 14px;
    right: 16px;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #999;
    line-height: 1;
    padding: 4px;
}
.lg-cm-close:hover { color: #1a1a1a; }
.lg-cm-title {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #1a1a1a;
    line-height: 1.6;
    margin: 0 0 36px;
}
.lg-cm-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.lg-cm-checkout {
    display: block;
    background: #1a1a1a;
    color: #fff !important;
    padding: 16px 24px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: background .2s;
}
.lg-cm-checkout:hover { background: #333; }
.lg-cm-continue {
    display: block;
    width: 100%;
    background: #fff;
    color: #1a1a1a;
    border: 1px solid #1a1a1a;
    padding: 15px 24px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s;
}
.lg-cm-continue:hover { background: #f7f7f7; }
/* Mobile */
@media (max-width: 575px) {
    #lg-cart-modal { padding: 44px 24px 32px; }
    .lg-cm-title { font-size: 12px; margin-bottom: 28px; }
}

/* ============================================================
   LOOKBOOK — Layout éditorial luxe — 29/03/2026
   ============================================================ */

/* Hero */
.lg-lb-hero { position:relative; width:100vw; margin-left:calc(-50vw + 50%); height:50vh; overflow:hidden; margin-bottom:0; }
.lg-lb-hero-image { position:absolute; inset:0; }
.lg-lb-hero-image img { width:100%; height:100%; object-fit:cover; }
.lg-lb-hero-overlay { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; background:rgba(0,0,0,.3); }
.lg-lb-title { font-family:'Playfair Display',serif; font-size:36px; font-weight:400; letter-spacing:.25em; color:#fff; margin:12px 0 8px; text-transform:uppercase; }
.lg-lb-subtitle { font-family:'Inter',sans-serif; font-size:13px; font-style:italic; color:rgba(255,255,255,.7); margin:0; letter-spacing:2px; }
.lg-lb-line { width:50px; height:1px; background:#c9a96e; }

/* Season filter pills */
.lg-lb-filters { display:flex; justify-content:center; gap:10px; padding:25px 16px; position:sticky; top:0; z-index:10; background:rgba(255,255,255,.95); backdrop-filter:blur(8px); }
.lg-lb-pill { font-family:'Inter',sans-serif; font-size:12px; font-weight:500; letter-spacing:1px; text-transform:uppercase; padding:8px 22px; border:1px solid #ddd; border-radius:20px; background:#fff; color:#1a1a1a; cursor:pointer; transition:all .3s ease; }
.lg-lb-pill:hover { border-color:#1a1a1a; }
.lg-lb-pill-active { background:#1a1a1a; color:#fff; border-color:#1a1a1a; }

/* Editorial grid */
.lg-lb-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:3px; max-width:1400px; margin:0 auto; padding:0 3px; }
.lg-lb-wide { grid-column:span 1; }

/* Product item */
.lg-lb-item { position:relative; overflow:hidden; opacity:0; transform:translateY(30px); transition:opacity .6s ease, transform .6s ease; }
.lg-lb-item:nth-child(odd) { transform:translateY(30px) translateX(-15px); }
.lg-lb-item:nth-child(even) { transform:translateY(30px) translateX(15px); }
.lg-lb-visible { opacity:1 !important; transform:translateY(0) translateX(0) !important; }
.lg-lb-wide.lg-lb-visible { transform:scale(1) translateY(0) translateX(0) !important; }
.lg-lb-hidden { display:none !important; }

/* Product image */
.lg-lb-image { position:relative; overflow:hidden; aspect-ratio:4/5; background:#f5f5f5; }
.lg-lb-img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.25,.46,.45,.94); }
.lg-lb-item:hover .lg-lb-img { transform:scale(1.05); }

/* Quick-buy overlay */
.lg-lb-quickbuy { position:absolute; bottom:0; left:0; right:0; padding:20px 16px; background:linear-gradient(transparent, rgba(0,0,0,.5)); display:flex; justify-content:center; opacity:0; transform:translateY(100%); transition:all .4s cubic-bezier(.25,.46,.45,.94); }
@media (hover:hover) { .lg-lb-item:hover .lg-lb-quickbuy { opacity:1; transform:translateY(0); } }
.lg-lb-cart-btn { display:flex; align-items:center; gap:8px; background:none; border:1px solid rgba(255,255,255,.8); padding:8px 18px; color:#fff; font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; border-radius:2px; transition:background .2s; }
.lg-lb-cart-btn:hover { background:rgba(255,255,255,.15); }

/* Mobile: quick-buy always visible as icon */
@media (hover:none) {
  .lg-lb-quickbuy { opacity:1; transform:translateY(0); background:none; padding:0; position:absolute; bottom:10px; right:10px; left:auto; }
  .lg-lb-cart-btn { border:none; background:rgba(255,255,255,.85); backdrop-filter:blur(4px); border-radius:50%; width:36px; height:36px; padding:0; justify-content:center; color:#1a1a1a; }
  .lg-lb-cart-btn span { display:none; }
}

/* Discount badge */
.lg-lb-badge { position:absolute; top:10px; left:10px; background:#1a1a1a; color:#fff; font-family:'Inter',sans-serif; font-size:10px; font-weight:600; padding:4px 8px; letter-spacing:.5px; z-index:2; }

/* Product info */
.lg-lb-info { padding:8px 6px 16px; }
.lg-lb-name { font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:#1a1a1a; text-decoration:none; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:color .3s; }
.lg-lb-item:hover .lg-lb-name { color:#c9a96e; }
.lg-lb-price-row { margin-top:2px; }
.lg-lb-price { font-family:'Inter',sans-serif; font-size:12px; font-weight:300; color:#1a1a1a; }
.lg-lb-oldprice { font-family:'Inter',sans-serif; font-size:10px; color:#bbb; text-decoration:line-through; margin-right:6px; }

/* RTL */
.lang-rtl .lg-lb-info { text-align:right; }
.lang-rtl .lg-lb-badge { left:auto; right:10px; }
.lang-rtl .lg-lb-oldprice { margin-right:0; margin-left:6px; }

/* Desktop */
@media (min-width:992px) {
  .lg-lb-hero { height:70vh; }
  .lg-lb-title { font-size:48px; letter-spacing:.3em; }
  .lg-lb-grid { grid-template-columns:repeat(3, 1fr); }
  .lg-lb-wide { grid-column:span 2; }
}

@media (min-width:1200px) {
  .lg-lb-grid { padding:0; }
}

/* Lookbook flip — flatlay → mannequin — 29/03/2026 */
.lg-lb-flatlay, .lg-lb-worn { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .7s cubic-bezier(.25,.46,.45,.94); }
.lg-lb-flatlay { opacity:1; z-index:1; }
.lg-lb-worn { opacity:0; z-index:2; }
.lg-lb-item.lg-lb-flipped .lg-lb-flatlay { opacity:0; }
.lg-lb-item.lg-lb-flipped .lg-lb-worn { opacity:1; }

/* Bouton "Voir le look porté" — toujours visible */
.lg-lb-flip-btn { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); z-index:5; background:rgba(0,0,0,.7); backdrop-filter:blur(6px); padding:8px 20px; border-radius:20px; border:none; cursor:pointer; transition:all .3s ease; }
.lg-lb-flip-btn span { font-family:'Inter',sans-serif; font-size:10px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; color:#fff; white-space:nowrap; }
.lg-lb-flip-btn:hover { background:rgba(0,0,0,.85); transform:translateX(-50%) scale(1.05); }
.lg-lb-item.lg-lb-flipped .lg-lb-flip-btn { background:rgba(255,255,255,.85); }
.lg-lb-item.lg-lb-flipped .lg-lb-flip-btn span { color:#1a1a1a; }
/* ==========================================================================
   BLOC INFO LIVRAISON/RETOURS — PAGE PRODUIT — 02/04/2026
   ========================================================================== */
.lg-product-info-strip {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 20px 0 10px;
    padding: 16px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.lg-pis-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #555;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.3px;
    transition: color .2s ease;
}
.lg-pis-item:hover {
    color: #1a1a1a;
    text-decoration: none;
}
.lg-pis-item svg {
    flex-shrink: 0;
    color: #1a1a1a;
}
/* RTL support */
.lang-rtl .lg-pis-item {
    flex-direction: row-reverse;
    text-align: right;
}

/* cache-bust: 1774914949 */
