/* CSS dynamique externalisé par le thème Piraino. */
.foobar.fbr-toggle-size-sm {
        z-index: 999998 !important;    position: fixed!important;
}
    body { font-family: 'Inter', sans-serif; }

    /* CSS DESKTOP MEGA MENU */
    #primary-nav-container > ul > li { display: flex; align-items: stretch; transition: background-color 0.2s ease; }
    #primary-nav-container > ul > li > a { display: flex; align-items: center; padding: 0 24px; position: relative; text-decoration: none !important; transition: color 0.2s ease; }
    #primary-nav-container > ul > li:not(.mega-active) > a:hover { background-color: #FFFFFF; color: #675F50 !important; }
    #primary-nav-container > ul > li.mega-active { background-color: #FFFFFF !important; }
    #primary-nav-container > ul > li.mega-active > a, #primary-nav-container > ul > li.current-menu-item > a { color: #6A6256 !important; }
    #primary-nav-container > ul > li.mega-active > a::after, #primary-nav-container > ul > li.current-menu-item > a::after { content: ''; position: absolute; bottom: 26px; left: 24px; right: 24px; height: 2px; background-color: #6A6256; }
    
    .custom-scrollbar::-webkit-scrollbar { width: 6px; }
    .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
    .custom-scrollbar::-webkit-scrollbar-thumb { background-color: #D1D5DB; border-radius: 10px; }
    .custom-scrollbar::-webkit-scrollbar-thumb:hover { background-color: #9CA3AF; }

    .hover-trigger-item { background-color: transparent; border-bottom: 1px solid #E5E7EB; transition: background-color 0.3s ease; outline: none; text-decoration: none; display: block; } 
    .hover-trigger-item:hover:not([data-active="true"]), .hover-trigger-item:focus:not([data-active="true"]) { background-color: #EAEAEA !important; } 
    .hover-trigger-item[data-active="true"] { background-color: #FFFFFF !important; } 
    .hover-trigger-item .active-line { opacity: 0; transition: opacity 0.3s ease; }
    .hover-trigger-item[data-active="true"] .active-line { opacity: 1; }
    .hover-trigger-item[data-active="true"] .item-img,
    .hover-trigger-item:hover .item-img { filter: grayscale(0%) !important; opacity: 1 !important; }

    .hover-trigger-gamme { background-color: #ffffff; color: #000000; border-bottom: 1px solid #E5E7EB; transition: background-color 0.3s ease; outline: none; text-decoration: none; display: block; }
    .hover-trigger-gamme:hover:not([data-active="true"]), .hover-trigger-gamme:focus:not([data-active="true"]) { background-color: #F3F4F6 !important; } 
    .hover-trigger-gamme div.gamme-h4, .hover-trigger-gamme p { transition: color 0.3s ease; }
    .gamme-logo-active { display: none; }
    .hover-trigger-gamme[data-active="true"] .gamme-logo-inactive { display: none; }
    .hover-trigger-gamme[data-active="true"] .gamme-logo-active { display: block; }

    /* =======================================================
       CSS SEO-FRIENDLY POUR CACHER/AFFICHER SANS DISPLAY:NONE
       ======================================================= */
    .mega-menu-panel {
        visibility: hidden; opacity: 0; pointer-events: none; position: absolute; top: 100%; left: 0; right: 0;
        transition: opacity 0.3s ease, visibility 0.3s ease; display: flex; z-index: -1; flex-direction: column;
    }
    .mega-menu-panel.panel-active {
        visibility: visible; opacity: 1; pointer-events: auto; position: relative; z-index: 100;
    }
    
    .mega-tab-content {
        visibility: hidden; opacity: 0; pointer-events: none; position: absolute; inset: 0; display: flex;
        transition: opacity 0.3s ease, visibility 0.3s ease; z-index: -1;
    }
    .mega-tab-content.tab-active {
        opacity: 1; z-index: 10; visibility: inherit; pointer-events: inherit;
    }
    
    .hover-target {
        visibility: hidden; opacity: 0; pointer-events: none; position: absolute; inset: 0; display: flex;
        transition: opacity 0.3s ease, visibility 0.3s ease; z-index: -1;
    }
    .hover-target.target-active {
        opacity: 1; z-index: 10; visibility: inherit; pointer-events: inherit;
    }

    /* FALLBACK DESKTOP SANS JS AMELIORE POUR SEO */
    @media (min-width: 1024px) {
        .no-js .mega-menu-panel { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; position: absolute !important; }
        .no-js .mega-menu-panel::before { content: ''; position: absolute; top: -50px; left: 0; right: 0; height: 50px; z-index: -1; }
                                    .no-js header:has(.menu-item-2848:hover) .mega-menu-panel[data-trigger=".menu-item-2848"],
                .no-js .mega-menu-panel[data-trigger=".menu-item-2848"]:hover {
                    visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; position: relative !important; z-index: 100 !important;
                }
                            .no-js header:has(.menu-item-8896:hover) .mega-menu-panel[data-trigger=".menu-item-8896"],
                .no-js .mega-menu-panel[data-trigger=".menu-item-8896"]:hover {
                    visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; position: relative !important; z-index: 100 !important;
                }
                            .no-js header:has(.menu-item-8897:hover) .mega-menu-panel[data-trigger=".menu-item-8897"],
                .no-js .mega-menu-panel[data-trigger=".menu-item-8897"]:hover {
                    visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; position: relative !important; z-index: 100 !important;
                }
                            .no-js header:has(.menu-item-8899:hover) .mega-menu-panel[data-trigger=".menu-item-8899"],
                .no-js .mega-menu-panel[data-trigger=".menu-item-8899"]:hover {
                    visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; position: relative !important; z-index: 100 !important;
                }
                            .no-js header:has(.menu-item-8895:hover) .mega-menu-panel[data-trigger=".menu-item-8895"],
                .no-js .mega-menu-panel[data-trigger=".menu-item-8895"]:hover {
                    visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; position: relative !important; z-index: 100 !important;
                }
                    
        .no-js .mega-tab-content:has(.hover-trigger:hover, .hover-target:hover) .hover-target { visibility: hidden !important; opacity: 0 !important; z-index: -1 !important; pointer-events: none !important; }
        .no-js .mega-tab-content:has(.hover-trigger:nth-child(1):hover, .hover-target:nth-child(1):hover) .hover-target:nth-child(1),
        .no-js .mega-tab-content:has(.hover-trigger:nth-child(2):hover, .hover-target:nth-child(2):hover) .hover-target:nth-child(2),
        .no-js .mega-tab-content:has(.hover-trigger:nth-child(3):hover, .hover-target:nth-child(3):hover) .hover-target:nth-child(3),
        .no-js .mega-tab-content:has(.hover-trigger:nth-child(4):hover, .hover-target:nth-child(4):hover) .hover-target:nth-child(4),
        .no-js .mega-tab-content:has(.hover-trigger:nth-child(5):hover, .hover-target:nth-child(5):hover) .hover-target:nth-child(5),
        .no-js .mega-tab-content:has(.hover-trigger:nth-child(6):hover, .hover-target:nth-child(6):hover) .hover-target:nth-child(6),
        .no-js .mega-tab-content:has(.hover-trigger:nth-child(7):hover, .hover-target:nth-child(7):hover) .hover-target:nth-child(7),
        .no-js .mega-tab-content:has(.hover-trigger:nth-child(8):hover, .hover-target:nth-child(8):hover) .hover-target:nth-child(8) { visibility: visible !important; opacity: 1 !important; z-index: 10 !important; pointer-events: auto !important; }

        .no-js .mega-tab-content:has(.hover-trigger:not(:nth-child(1)):hover, .hover-target:not(:nth-child(1)):hover) .hover-trigger-item:nth-child(1) { background-color: transparent !important; }
        .no-js .mega-tab-content:has(.hover-trigger:not(:nth-child(1)):hover, .hover-target:not(:nth-child(1)):hover) .hover-trigger-gamme:nth-child(1) { background-color: #ffffff !important; }
        .no-js .mega-tab-content:has(.hover-trigger:not(:nth-child(1)):hover, .hover-target:not(:nth-child(1)):hover) .hover-trigger-gamme:nth-child(1) .gamme-h4 { color: #000000 !important; }
        .no-js .mega-tab-content:has(.hover-trigger:not(:nth-child(1)):hover, .hover-target:not(:nth-child(1)):hover) .hover-trigger-gamme:nth-child(1) p { color: #6B7280 !important; }
        .no-js .hover-trigger-item:hover { background-color: #ffffff !important; }
        .no-js .hover-trigger-gamme:hover { background-color: #6A6256 !important; }
        .no-js .hover-trigger-gamme:hover .gamme-h4, .no-js .hover-trigger-gamme:hover p { color: #ffffff !important; }
    }

    /* CSS MOBILE DÉDIÉ */
    .mobile-hide-scrollbar::-webkit-scrollbar { display: none; }
    .mobile-hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

    #mobile-menu-toggle:checked ~ #mobile-menu-wrapper { transform: translateX(0) !important; }
    #mobile-menu-toggle:checked ~ #mobile-menu-overlay-bg { display: block !important; opacity: 1 !important; }
    body:has(#mobile-menu-toggle:checked) { overflow: hidden; }
    .mobile-panel-toggle:checked + .mobile-level-2 { transform: translateX(0) !important; }
    
    details > summary { list-style: none; }
    details > summary::-webkit-details-marker { display: none; }

.custom-scrollbar::-webkit-scrollbar { width: 4px; }
    .custom-scrollbar::-webkit-scrollbar-track { background: #f1f1f1; }
    .custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
    input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

    /* État vide : le résultat occupe l'espace restant du viewport. */
    #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-main-column--empty {
        display: flex !important;
        flex-direction: column !important;
        min-height: calc(100svh - 148px);
    }

    #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-results--empty {
        display: flex !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        min-height: 320px;
        align-items: center !important;
        justify-content: center !important;
    }

    #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-empty-state {
        display: flex !important;
        width: 100% !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center;
    }

    #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-empty-state__inner {
        width: 100%;
        padding: 0px;
        box-sizing: border-box;
    }

    #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-empty-state__message {
        color: #000000;
        text-align: center;
    }

    #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-empty-state__button {
        display: inline-flex;
        min-height: 48px;
        margin-top: 28px;
        padding: 14px 28px;
        align-items: center;
        justify-content: center;
        border: 1px solid #675F50;
        border-radius: 3px;
        background-color: #675F50;
        color: #FFFFFF;
        text-decoration: none;
    }

    #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-empty-state__button--essentiel {
        border-color: #C8D400;
        background-color: #C8D400;
    }

    #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-empty-state__button--signature,
    #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-empty-state__button--default {
        border-color: #675F50;
        background-color: #675F50;
    }

    #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-empty-state__button--prestige {
        border-color: #000000;
        background-color: #000000;
    }

    #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-empty-state__button:hover {
        color: #FFFFFF;
        opacity: .88;
    }

    @media (min-width: 1024px) {
        #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-main-column--empty {
            min-height: calc(100vh - 196px);
        }

        #catalogue-maisons-block_07806de267222e4cfe42a8e7a4df4904 .catalogue-results--empty {
            min-height: 380px;
        }
    }

    /* Essentiel */
    .filter-wrapper.gamme-essentiel input:checked + .visual-btn,
    .filter-wrapper.gamme-essentiel:hover .visual-btn,
    .filter-mirror-wrapper.gamme-essentiel-mirror input:checked + .visual-btn,
    .filter-mirror-wrapper.gamme-essentiel-mirror:hover .visual-btn {
        background-color: #C8D400 !important;
        color: white !important;
        border-color: #C8D400 !important;
    }

    /* Signature */
    .filter-wrapper.gamme-signature input:checked + .visual-btn,
    .filter-wrapper.gamme-signature:hover .visual-btn,
    .filter-mirror-wrapper.gamme-signature-mirror input:checked + .visual-btn,
    .filter-mirror-wrapper.gamme-signature-mirror:hover .visual-btn {
        background-color: #675F50 !important;
        color: white !important;
        border-color: #675F50 !important;
        font-weight: 400 !important;
    }

    /* Prestige */
    .filter-wrapper.gamme-prestige input:checked + .visual-btn,
    .filter-wrapper.gamme-prestige:hover .visual-btn,
    .filter-mirror-wrapper.gamme-prestige-mirror input:checked + .visual-btn,
    .filter-mirror-wrapper.gamme-prestige-mirror:hover .visual-btn {
        background-color: #000000 !important;
        color: white !important;
        border-color: #000000 !important;
        font-weight: 400 !important;
    }

    /* Forcer l'affichage de l'icône peu importe l'écran */
    .filter-wrapper input:checked + .visual-btn .check-icon,
    .filter-mirror-wrapper input:checked + .visual-btn .check-icon {
        display: block !important;
    }

    @media (max-width: 1023px) {
        .filter-wrapper:not([class*="gamme-"]) input:checked + .visual-btn, 
        .filter-mirror-wrapper:not([class*="gamme-"]) input:checked + .visual-btn { 
            background-color: #E6E4DF; color: #675F50; border-color: #E6E4DF; font-weight: 700; 
        }
        .filter-wrapper input:not(:checked) + .visual-btn .check-icon, 
        .filter-mirror-wrapper input:not(:checked) + .visual-btn .check-icon { 
            display: none; 
        }
    }

    @media (min-width: 1024px) {
        .check-icon { display: none !important; }
        .filter-wrapper.type-gamme:not([class*="gamme-"]) input:checked + .visual-btn { background-color: #1a1a1a; color: white; border-color: #1a1a1a; }
        .filter-wrapper.type-style input:checked + .visual-btn { background-color: #e5e7eb; color: black; font-weight: bold; }
        .filter-wrapper.type-piece input:checked + .visual-btn, .filter-wrapper.type-chambre input:checked + .visual-btn { background-color: #f3f4f6; color: black; font-weight: bold; border-color: black; }
    }
