/* 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; }

@media (min-width: 1024px) {
    #realisations-grid-1-grid > *:nth-child(9n+7) {
        grid-column: span 2 / span 2;
        grid-row: span 2 / span 2;
    }
}
input.filter-checkbox:checked + .visual-btn .check-icon {
    display: block !important;
}
