/* ==========================================================================
   1. VARIABLES & FONT-FACE
   ========================================================================== */

:root {
    --magic-offset: 0.5rem;
}

@media(min-width:992px) {
    :root {
        --magic-offset: 1.875rem;
    }
}

@font-face {
    font-family: 'Helvetica Condensed';
    src: url(fonts/helvetica-condensed.ttf);
}

@font-face {
    font-family: 'Helvetica Bold Condensed';
    src: url(fonts/helvetica-bold-condensed.otf);
}

@font-face {
    font-family: 'Helvetica Neue Condensed';
    src: url(fonts/helvetica-neue-condensed.otf);
}

@font-face {
    font-family: 'Helvetica Neue Bold Condensed';
    src: url(fonts/helvetica-neue-bold-condensed.ttf);
}

/* ==========================================================================
   2. RESET, BASE & SCROLLBAR
   ========================================================================== */

::-webkit-scrollbar {
    width: .5rem;
    height: .5rem;
}

::-webkit-scrollbar-thumb {
    background: var(--wp--preset--color--color-1);
    border-radius: 50rem;
}

body {
    font-family: 'Helvetica Condensed', sans-serif;
    font-size: 16px;
    color: var(--wp--preset--color--color-1);
    overflow-x: hidden;
}

@media(min-width:1750px) {
    body {
        font-size: 18px;
    }
}

body:not(.home) main#primary {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

a {
    color: var(--wp--preset--color--color-2);
}

a:not([class]) {
    font-weight: 700;
    text-decoration: none;
    background-image: linear-gradient(var(--wp--preset--color--color-1) 100%, var(--wp--preset--color--color-1) 100%);
    background-size: 0 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: .5s;
}

a:not([class]):hover {
    color: var(--wp--preset--color--color-1);
    background-size: 100% 1px;
}

/* ==========================================================================
   3. UTILS & HELPER CLASSES
   ========================================================================== */

.hc {
    font-family: 'Helvetica Condensed';
}

.hcn {
    font-family: 'Helvetica Neue Condensed';
}

.hcb {
    font-family: 'Helvetica Bold Condensed';
}

.hcnb {
    font-family: 'Helvetica Neue Bold Condensed';
}

.amatic {
    font-family: 'Amatic SC';
}

.fluid-on-left {
    margin-left: 0;
}

.fluid-on-right {
    margin-right: 0;
}

@media(min-width:992px) {

    .fluid-on-left,
    .fluid-on-right {
        max-width: calc(960px + (100% - 960px) / 2);
    }
}

@media(min-width:1200px) {

    .fluid-on-left,
    .fluid-on-right {
        max-width: calc(1140px + (100% - 1140px) / 2);
    }
}

@media(min-width:1400px) {

    .fluid-on-left,
    .fluid-on-right {
        max-width: calc(1320px + (100% - 1320px) / 2);
    }
}

@media(min-width:1600px) {

    .fluid-on-left,
    .fluid-on-right {
        max-width: calc(1500px + (100% - 1500px) / 2);
    }
}

@media(min-width:1750px) {

    .fluid-on-left,
    .fluid-on-right {
        max-width: calc(1560px + (100% - 1560px) / 2);
    }
}

@media(min-width:1920px) {

    .fluid-on-left,
    .fluid-on-right {
        max-width: 1640px;
        margin: auto;
    }
}

.rect-left {
    padding-left: 0;
}

.rect-left:before {
    content: '';
    width: var(--magic-offset);
    height: 150px;
    background-color: var(--wp--preset--color--color-5);
    display: block;
}

.rect-right {
    padding-right: 0;
}

.rect-right:before {
    content: '';
    width: var(--magic-offset);
    height: 150px;
    background-color: var(--wp--preset--color--color-5);
    margin-left: auto;
    display: block;
}

.fade-in {
    animation: fadeIn 1.5s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media screen and (min-width: 1200px) {
    .container {
        max-width: 90%;
    }
}

/* ==========================================================================
   4. BUTTONS
   ========================================================================== */

.btn-color-1 {
    color: #fff;
    background-color: var(--wp--preset--color--color-1);
    padding: 10px 25px;
    border-radius: 25px;
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    font-size: 1.125rem;
    font-weight: 500;
    text-align: center;
}

.btn-color-1:hover {
    color: #fff;
    text-decoration: none;
    background-color: var(--wp--preset--color--color-5);
}

.btn-color5 {
    color: #fff;
    background-color: var(--wp--preset--color--color-5);
    border: solid 1px var(--wp--preset--color--color-5);
    margin-top: auto;
    padding: 0.5rem 1.5rem;
    border-radius: 1.5rem;
    transition: background-color 0.3s;
}

.btn-color5:hover,
.btn-color5:active {
    color: var(--wp--preset--color--color-5);
    background-color: #fff;
    border-color: var(--wp--preset--color--color-5);
}

/* Version spécifique bouton color5 (doublon dans original, fusionné ici) */
.btn-color5:hover,
.btn-color5:active {
    background-color: var(--wp--preset--color--color-2);
    color: #fff;
}

.btn-isba {
    color: #fff;
    background-color: var(--wp--preset--color--color-5);
    border-radius: 1.5rem;
    transition: .25s;
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.btn-isba:is(:hover, :active) {
    color: #fff;
    background-color: var(--wp--preset--color--color-3);
}

.btn-modern-scroll {
    display: inline-flex;
    align-items: center;
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
    padding: 10px 20px;
    background-color: var(--wp--preset--color--color-5);
    color: white;
    border-radius: 30px;
    transition: background-color 0.3s ease;
    text-transform: uppercase;
}

.btn-modern-scroll:hover {
    background-color: var(--wp--preset--color--color-2);
}

.btn-modern-scroll svg {
    width: 20px;
    height: 20px;
    margin-left: 10px;
}

/* ==========================================================================
   5. HEADER & NAVIGATION
   ========================================================================== */

header>.row,
header .header-container,
header .header-container>.row {
    height: auto;
}

header .header-container {
    margin-bottom: 0;
}

header .header-container .header-logo-container {
    padding-left: var(--magic-offset);
    padding-right: 0;
}

header .header-container .header-logo-container img {
    max-width: 250px;
    height: auto;
}

@media(min-width:992px) {
    header .header-container .header-logo-container {
        margin-top: -3.5rem !important;
    }

    header .header-container .header-logo-container img {
        max-width: 320px;
    }
}

/* Logo wrapper avec slogan en dessous */
.header-logo-wrapper {
    display: inline-block;
    text-align: center;
}

.header-logo-wrapper .custom-logo-link {
    display: block;
}

/* Slogan du header */
.header-slogan {
    font-family: 'Helvetica Condensed', sans-serif;
    font-size: 0.75rem;
    font-style: italic;
    color: var(--wp--preset--color--color-2);
    margin: 0.25rem 0 0 0;
    text-align: center;
}

@media(min-width:992px) {
    .header-slogan {
        font-size: 1.0rem;
    }
}

.header-socialmenu-container {
    background-color: var(--wp--preset--color--color-2);
}

/* Menu header top gauche */
.header-top-left-menu {
    display: flex;
    align-items: center;
    margin-right: 0;
}

.header-top-left-menu ul {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

.header-top-left-menu ul li {
    list-style: none;
    padding: 0 1rem;
}

.header-top-left-menu ul li:not(:last-child) {
    border-right: solid 1px #6c6c72;
}

.header-socialmenu .order-instantly {
    width: 280px;
    position: relative;
    z-index: 1;
}

.header-socialmenu .order-instantly>div {
    color: #fff;
    text-align: left;
    background: var(--wp--preset--color--color-5);
    padding: 10px;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    display: flex;
    align-items: center;
    position: absolute;
    right: 20px;
}

.header-socialmenu .order-instantly>div p {
    margin-bottom: 0;
}

.header-socialmenu ul li:not(:last-child) {
    border-right: solid 1px #6c6c72;
}

.header-socialmenu ul li a {
    color: #fff;
}

.header-socialmenu ul li a:is(:hover, :active) {
    color: #fff;
}

nav.navbar {
    display: none;
}

@media(min-width:992px) {
    .header-container {
        margin-top: 4rem;
    }

    nav.navbar {
        display: flex;
    }
}

@media(max-width:1199px) {
    .header-menu-container .navbar {
        justify-content: flex-end;
    }

    .header-menu-container .navbar button {
        color: var(--wp--preset--color--color-1);
        border: none;
        outline: none;
        box-shadow: none;
        margin: .5rem 0;
    }

    #primary-nav-lg {
        display: block;
        position: relative;
        z-index: 10;
    }

    #primary-nav-lg>ul {
        display: flex;
        background-color: #fff;
        text-align: center;
        padding: 1.5rem;
        position: fixed;
        left: 0;
        transform: translateY(-100%);
        visibility: hidden;
        opacity: 0;
        transition: .5s;
    }

    #primary-nav-lg.collapsing>ul,
    #primary-nav-lg.show>ul {
        transform: none;
        opacity: 1;
        visibility: visible;
    }

    #primary-nav-lg>ul li {
        margin-bottom: .5rem;
    }

    #primary-nav-lg>ul ul {
        padding-left: 0;
    }

    #primary-nav-lg>ul ul li {
        text-align: center;
    }

    /* Mobile dropdown menu - hidden by default */
    #primary-nav-lg .dropdown-menu {
        display: none;
        position: static;
        float: none;
        width: 100%;
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 0;
    }

    /* Mobile dropdown menu - visible when show class */
    #primary-nav-lg .dropdown-menu.show {
        display: block;
    }

    /* Style for mobile dropdown toggle arrow */
    #primary-nav-lg .dropdown-toggle::after {
        display: inline-block;
        margin-left: 0.5em;
        transition: transform 0.3s;
    }

    /* Rotate arrow when open */
    #primary-nav-lg .dropdown.show>.dropdown-toggle::after {
        transform: rotate(180deg);
    }

    /* Mobile submenu items */
    #primary-nav-lg .dropdown-menu .nav-link {
        padding: 0.5rem 1rem;
        font-size: 0.95rem;
    }

    /* Nested submenus indent */
    #primary-nav-lg .dropdown-menu .dropdown-menu {
        padding-left: 1rem;
    }
}

.header-container .header-menu-container .navbar>.navbar-collapse>ul>li:not(:last-child) {
    margin-right: 1.5rem;
}

.header-container .header-menu-container .navbar ul .nav-link {
    color: var(--wp--preset--color--color-4);
    font-size: 1.1rem;
    font-weight: 700;
    padding: .5rem;
    background-image: linear-gradient(var(--wp--preset--color--color-2) 100%, var(--wp--preset--color--color-2) 100%);
    background-size: 0 3px;
    background-position: center bottom;
    background-repeat: no-repeat;
    display: inline-block;
    transition: background .5s, opacity 1s var(--reveal-delay, 0s) cubic-bezier(.5, 0, 0, 1), transform 1s var(--reveal-delay, 0s) cubic-bezier(.5, 0, 0, 1);
}

.header-container .header-menu-container .navbar>.navbar-collapse>ul>li>.nav-link {
    padding: .5rem .5rem 1.875rem .5rem;
}

@media(min-width:1200px) {
    .header-menu-container .navbar ul .nav-link {
        display: block;
    }

    .header-menu-container .navbar>div>ul>li>.nav-link {
        font-size: 1.25rem;
        padding: .5rem .5rem 1.5rem;
    }
}

@media(min-width:1400px) {
    .header-menu-container .navbar>div>ul>li>.nav-link {
        padding: .5rem 1rem 1.5rem;
    }
}

.header-menu-container .navbar>div>ul>li:hover>.nav-link,
.header-menu-container .navbar>div>ul>li.current-menu-item>.nav-link,
.header-menu-container .navbar>div>ul>li>.nav-link.show {
    color: var(--wp--preset--color--color-2);
    background-size: 50% 3px;
}

.header-container .header-menu-container .navbar>.navbar-collapse>ul>li:last-child>.nav-link {
    color: #fff;
    padding: 0.5rem 1rem;
    background: var(--wp--preset--color--color-2);
    border: solid 1px var(--wp--preset--color--color-2);
    border-radius: 1.5rem;
    transition: .25s;
}

.header-container .header-menu-container .navbar>.navbar-collapse>ul>li:last-child>.nav-link:is(:hover, :active) {
    color: var(--wp--preset--color--color-2);
    background-color: #fff;
}

.header-menu-container .navbar ul ul {
    width: 100%;
    text-align: center;
    margin-top: 0;
    border: none;
    border-radius: 0;
}

.header-menu-container .navbar ul ul li .nav-link {
    color: #6F6F77;
}

.header-container .header-menu-container .navbar ul ul li .nav-link {
    padding-bottom: 1rem;
    background-image: linear-gradient(var(--wp--preset--color--color-2) 100%, var(--wp--preset--color--color-2) 100%);
    background-size: 0 1px;
    background-position: center bottom;
    background-repeat: no-repeat;
    display: inline-block;
}

.header-container .header-menu-container .navbar ul ul li .nav-link:hover {
    color: var(--wp--preset--color--color-2);
    background: none;
}

.header-container .header-menu-container .navbar ul ul li.current-menu-item>.nav-link {
    color: var(--wp--preset--color--color-5);
    background: none;
}

/* Override pour le bloc vert */
.header-container .header-menu-container .navbar ul.dropdown-depth-2 li .nav-link:hover,
.header-container .header-menu-container .navbar ul.dropdown-depth-2 li.current-menu-item>.nav-link {
    color: #e0f2e9;
}

#app-menu-container>div>ul .app-dropdown-offcanvas .nav-item {
    padding-top: .5rem;
    padding-bottom: 1rem;
}

/* =============================================
   Mobile Menu Dropdowns (app-menu-container)
   ============================================= */
#app-menu-container .dropdown-menu,
#app-menu-container .app-dropdown-offcanvas {
    display: none;
    position: static;
    float: none;
    width: 100%;
    background-color: #fff;
    border: none;
    box-shadow: none;
    padding: 0.5rem 0 0.5rem 1rem;
    margin-top: 0.5rem;
}

#app-menu-container .dropdown-menu.show,
#app-menu-container .app-dropdown-offcanvas.show {
    display: block;
}

#app-menu-container .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.5em;
    transition: transform 0.3s;
}

#app-menu-container .nav-item.show>.dropdown-toggle::after,
#app-menu-container .dropdown.show>.dropdown-toggle::after {
    transform: rotate(180deg);
}

#app-menu-container .back-toggler {
    display: block;
    padding: 0.5rem;
    cursor: pointer;
    color: var(--wp--preset--color--color-1);
    font-weight: bold;
}

/* =============================================
   MEGA MENU DESKTOP
   ============================================= */
@media(min-width:1200px) {

    /* Le header doit être le contexte de positionnement */
    body>header {
        position: relative;
        z-index: 100;
    }

    /* Container du mega-menu - pleine largeur sous le header */
    .header-menu-container .navbar ul.dropdown-depth-0 {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        background: #fff;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
        border-top: 3px solid var(--wp--preset--color--color-1);
        padding: 0;
        display: none;
        flex-wrap: nowrap;
        justify-content: stretch;
        gap: 0;
        text-align: left;
        z-index: 1000;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        transition-delay: 0.3s;
        /* Délai avant fermeture */
    }

    /* Pont invisible pour maintenir le hover entre Produits et le menu */
    .header-menu-container .navbar ul.dropdown-depth-0::before {
        content: '';
        position: absolute;
        top: -20px;
        left: 0;
        right: 0;
        height: 20px;
    }

    /* Afficher au hover du parent */
    .header-menu-container .navbar>div>ul>li.dropdown:hover>ul.dropdown-depth-0,
    .header-menu-container .navbar>div>ul>li.menu-item-has-children:hover>ul.dropdown-depth-0 {
        display: flex;
        opacity: 1;
        visibility: visible;
        transition-delay: 0s;
        /* Ouverture immédiate */
    }

    /* Le menu reste ouvert quand on hover dessus */
    .header-menu-container .navbar ul.dropdown-depth-0:hover {
        display: flex;
        opacity: 1;
        visibility: visible;
        transition-delay: 0s;
    }

    /* Colonnes de niveau 1 (catégories principales) */
    .header-menu-container .navbar ul.dropdown-depth-0>li {
        flex: 1 1 50%;
        min-width: 0;
        max-width: none;
        padding: 3rem 4%;
        margin: 0;
        position: static;
        border-right: 1px solid rgba(30, 100, 50, 0.15);
    }

    .header-menu-container .navbar ul.dropdown-depth-0>li:last-child {
        border-right: none;
    }

    /* Fond distinct pour les sections du mega menu */

    /* Base : tous les 1er éléments en vert */
    .header-menu-container .navbar ul.dropdown-depth-0>li:nth-of-type(1) {
        background: linear-gradient(90deg, #c8e6d0 0%, #e8f3eb 100%) !important;
    }

    /* Base : tous les derniers éléments en beige */
    .header-menu-container .navbar ul.dropdown-depth-0>li:last-child {
        background: linear-gradient(90deg, #e8f3eb 0%, #f0e8d0 20%, #f5edd8 60%) !important;
    }

    /* Milieu (3 éléments) : transition fluide vert → beige */
    .header-menu-container .navbar ul.dropdown-depth-0>li:nth-of-type(2):not(:last-child) {
        background: linear-gradient(90deg, #d8ebdf 0%, #e5e9dc 40%, #efe8d5 100%) !important;
    }

    /* Ajustement 1er élément pour menu 3 items - termine plus tôt en vert clair */
    .header-menu-container .navbar ul.dropdown-depth-0>li:nth-of-type(1):has(~ li:nth-of-type(3)) {
        background: linear-gradient(90deg, #c8e6d0 0%, #d8ebdf 100%) !important;
    }

    /* Ajustement dernier élément pour menu 3 items - commence plus tôt en beige */
    .header-menu-container .navbar ul.dropdown-depth-0>li:nth-of-type(3):last-child {
        background: linear-gradient(90deg, #efe8d5 0%, #f5edd8 50%) !important;
    }

    /* === Spécifique menu Nos produits : Titre PARTICULIERS à droite === */
    .header-menu-container .navbar ul.dropdown-depth-0>li:nth-of-type(1) {
        text-align: right;
    }

    .header-menu-container .navbar ul.dropdown-depth-0>li:nth-of-type(1)>.nav-link {
        float: right;
    }

    .header-menu-container .navbar ul.dropdown-depth-0>li:nth-of-type(1)>.nav-link::after {
        left: auto;
        right: 0;
    }

    /* Titre de catégorie niveau 1 */
    .header-menu-container .navbar ul.dropdown-depth-0>li>.nav-link {
        font-size: 1.15rem;
        font-weight: 700;
        color: var(--wp--preset--color--color-1);
        padding: 0 0 0.75rem 0;
        margin-bottom: 1rem;
        border: none;
        display: inline-block;
        background: none;
        position: relative;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .header-menu-container .navbar ul.dropdown-depth-0>li>.nav-link::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 40px;
        height: 2px;
        background: var(--wp--preset--color--color-2);
        transition: width 0.3s ease;
    }

    .header-menu-container .navbar ul.dropdown-depth-0>li>.nav-link:hover {
        color: var(--wp--preset--color--color-2);
    }

    .header-menu-container .navbar ul.dropdown-depth-0>li>.nav-link:hover::after {
        width: 100%;
    }

    /* Sous-menu niveau 2 - multi-colonnes pour réduire la hauteur */
    .header-menu-container .navbar ul.dropdown-depth-0 ul.dropdown-depth-1 {
        position: static;
        display: block !important;
        background: transparent;
        box-shadow: none;
        padding: 0;
        margin: 0;
        width: 100%;
        column-count: 3;
        column-gap: 2rem;
    }

    /* Items niveau 2 - éviter les coupures */
    .header-menu-container .navbar ul.dropdown-depth-1>li {
        margin: 0 0 0.5rem 0;
        padding: 0;
        break-inside: avoid;
        page-break-inside: avoid;
        display: block;
        width: 100%;
    }

    .header-menu-container .navbar ul.dropdown-depth-1>li>.nav-link {
        font-size: 0.95rem;
        font-weight: 500;
        color: #555;
        padding: 0.4rem 0;
        display: block;
        background: none;
        transition: all 0.2s ease;
        border: none;
        padding-left: 0;
        white-space: normal;
        word-wrap: break-word;
        position: relative;
    }

    .header-menu-container .navbar ul.dropdown-depth-1>li>.nav-link:hover {
        color: var(--wp--preset--color--color-1);
        padding-left: 8px;
    }

    /* Positionnement pour le dropdown niveau 4 */
    .header-menu-container .navbar ul.dropdown-depth-1>li.menu-item-has-children {
        position: static;
    }

    /* Effet onglet vert au hover sur niveau 3 avec sous-menu */
    .header-menu-container .navbar ul.dropdown-depth-1>li.menu-item-has-children:hover>.nav-link {
        background-color: var(--wp--preset--color--color-1);
        color: #fff;
        border-left: none;
        border-radius: 8px 8px 0 0;
        position: relative;
        z-index: 1000;
        margin-bottom: -3.5rem;
        padding-bottom: calc(0.25rem + 4.3rem);
        padding-left: 1rem;
        padding-right: 1rem;
        white-space: normal;
        word-wrap: break-word;
        max-width: 150px;
    }

    /* Niveau 4 (dropdown-depth-2) - Grand bloc vert au hover */
    .header-menu-container .navbar ul.dropdown-depth-2 {
        display: flex;
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        background-color: var(--wp--preset--color--color-1);
        padding: 2.5rem 5%;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 2rem;
        z-index: 999;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        transition-delay: 0.15s;
        /* Délai avant fermeture */
    }

    /* Afficher le bloc vert au hover du niveau 3 */
    .header-menu-container .navbar ul.dropdown-depth-1>li.menu-item-has-children:hover>ul.dropdown-depth-2 {
        opacity: 1;
        visibility: visible;
        transition-delay: 0s;
        /* Ouverture immédiate */
    }

    /* Chaque niveau 4 = une colonne */
    .header-menu-container .navbar ul.dropdown-depth-2>li {
        flex: 0 0 auto;
        min-width: 150px;
        max-width: 200px;
        margin: 0;
        padding: 0;
    }

    /* Titre niveau 4 (en-tête de colonne) */
    .header-menu-container .navbar ul.dropdown-depth-2>li {
        position: relative;
        padding-bottom: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .header-menu-container .navbar ul.dropdown-depth-2>li>.nav-link {
        display: flex;
        align-items: flex-start;
        font-size: 1rem;
        font-weight: 700;
        color: #fff;
        padding: 0;
        min-height: 3.8rem;
        margin-bottom: 0.5rem;
        background: none;
        position: relative;
    }

    /* Trait à hauteur fixe - utiliser ::before car ::after est masqué sur dropdown-toggle */
    .header-menu-container .navbar ul.dropdown-depth-2>li>.nav-link::before {
        content: '' !important;
        display: block !important;
        position: absolute;
        top: 3.8rem;
        left: 0;
        right: 0;
        height: 2px;
        background: rgba(255, 255, 255, 0.5);
    }

    .header-menu-container .navbar ul.dropdown-depth-2>li>.nav-link:hover {
        color: #fff;
        text-decoration: underline;
    }

    /* Niveau 5 - toujours visible sous son parent niveau 4 */
    .header-menu-container .navbar ul.dropdown-depth-2 ul.dropdown-depth-3 {
        display: block !important;
        position: static;
        background: transparent;
        box-shadow: none;
        padding: 0;
        margin: 0;
    }

    .header-menu-container .navbar ul.dropdown-depth-3>li {
        margin: 0;
    }

    .header-menu-container .navbar ul.dropdown-depth-3>li>.nav-link {
        display: block;
        color: rgba(255, 255, 255, 0.85);
        padding: 0.3rem 0;
        font-size: 0.9rem;
        font-weight: 400;
        background: none;
        transition: color 0.2s, padding-left 0.2s;
    }

    .header-menu-container .navbar ul.dropdown-depth-3>li>.nav-link::before {
        display: none;
    }

    .header-menu-container .navbar ul.dropdown-depth-3>li>.nav-link:hover {
        color: #fff;
        padding-left: 0.5rem;
    }

    .header-menu-container .navbar ul.dropdown-depth-3>li.current-menu-item>.nav-link {
        color: #fff;
        font-weight: 600;
    }

    /* Masquer la flèche dropdown en desktop */
    .header-menu-container .navbar ul.dropdown-depth-0 .dropdown-toggle::after {
        display: none;
    }

    /* Ajustement pour le positionnement - tous les parents doivent être static */
    .header-menu-container .navbar>div>ul>li.dropdown,
    .header-menu-container .navbar>div>ul>li.menu-item-has-children {
        position: static;
    }

    .header-menu-container .navbar,
    .header-menu-container .navbar>div,
    .header-menu-container .navbar-collapse {
        position: static;
    }

    .header-menu-container {
        position: static;
    }

    .header-container {
        position: static;
    }
}

/* ==========================================================================
   6. FOOTER
   ========================================================================== */

footer a {
    color: var(--wp--preset--color--color-2);
}

footer .footer-container {
    padding: 2.5rem 0;
}

@media(min-width:992px) {
    footer .footer-container {
        padding: 7.5rem 0 1.5rem 0;
    }
}

footer .footer-container .footer-left>div {
    padding-left: var(--magic-offset);
}

@media(max-width:991px) {
    footer .footer-container .footer-left>div {
        text-align: center;
    }

    footer .footer-container .footer-left>div img {
        max-width: 175px;
        display: block;
        margin: auto;
    }
}

footer .footer-container .footer-left .social-networks {
    width: 100%;
    font-family: 'Helvetica Bold Condensed';
    font-size: 1.25rem;
    color: var(--wp--preset--color--color-2);
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    margin: .75rem auto;
    border-top: solid 1px #bfcad5;
    border-bottom: solid 1px #bfcad5;
}

@media(min-width:992px) {
    footer .footer-container .footer-left .social-networks {
        margin-left: 0;
        margin-right: 0;
        width: 75%;
    }
}

footer .footer-container .footer-left .social-networks a {
    font-size: 2.25rem;
}

footer .footer-container .footer-left .copyright {
    font-family: 'Helvetica Condensed';
    font-size: 1rem;
    color: var(--wp--preset--color--color-2);
}

footer .footer-container .footer-left .copyright a {
    font-weight: 400;
}

footer .footer-container .footer-right {
    border-left: solid 1px #bfcad5;
    font-weight: 600;
    color: var(--wp--preset--color--color-2);
}

footer .footer-container .footer-right .finance-par {
    margin-top: 1.5rem;
}

footer .footer-container .footer-right .reinsurances {
    justify-content: start;
}

footer .footer-container .footer-right .reinsurances>div {
    width: 50%;
    flex: 0 0 auto;
}

footer .footer-container .footer-right .reinsurances .icon img {
    margin: 0 auto;
    display: block;
}

footer .copyright {
    text-align: center;
    font-size: 0.875rem;
    margin-top: 2vh;
}

footer .footer-menu ul {
    list-style-type: none;
    padding-left: 25px;
}

footer .footer-menu ul li {
    margin-bottom: 5px;
}

footer .footer-menu ul li a {
    font-size: 1rem;
    font-weight: 500;
}

@media(min-width:992px) {
    footer .footer-menu ul {
        padding-left: 75px;
    }

    footer .footer-container .footer-right .reinsurances>div {
        width: 25%;
    }

    footer .copyright {
        margin-top: 7vh;
    }
}

@media(min-width:1750px) {
    footer .footer-container .footer-right .reinsurances>div {
        width: auto;
        flex: 1 0 0%;
    }

    footer .footer-container .footer-right .reinsurances .icon img {
        max-width: 100px;
    }
}

/* ==========================================================================
   7. COMMON COMPONENTS (GLASS-BLOCK, SLIDERS, VIDEOS)
   ========================================================================== */

/* Glass Block */
.glass-block {
    position: relative;
    width: 100%;
    height: 100%;
    padding-left: calc(var(--magic-offset, .5rem) * 2);
    padding-right: .5rem;
    top: var(--magic-offset, 0);
}

.glass-block:before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #41A812;
    position: absolute;
    left: 0;
    bottom: 0;
    backdrop-filter: blur(2px);
    mix-blend-mode: multiply;
    z-index: 1;
}

@media(min-width:992px) {
    .glass-block:before {
        backdrop-filter: blur(5px);
    }
}

.glass-block>div {
    position: relative;
    z-index: 1;
}

.whitemark {
    position: absolute;
    left: calc(var(--magic-offset) * 2);
    bottom: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.15;
}

.product-excerpt {
    position: relative;
    z-index: 1;
}

/* Sticky CTA */
.sticky-cta {
    align-items: flex-end;
    right: 1rem;
    left: auto;
}

.sticky-cta>a:has(.cta-label) {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
}

.sticky-cta>a>.cta-label {
    max-width: 0;
    overflow: hidden;
    white-space: nowrap;
    opacity: 0;
    background-color: var(--wp--preset--color--color-3);
    color: #1a5522;
    padding: 0;
    border-radius: 20px 0 0 20px;
    font-size: 1.1rem;
    font-weight: 600;
    transition: max-width 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
    margin-right: -12px;
}


.sticky-cta>a:hover>.cta-label {
    max-width: 250px;
    opacity: 1;
    padding: 10px 25px 10px 18px;
}

@media(min-width:768px) {
    .sticky-cta {
        right: 1.5rem;
        left: auto;
    }
}

.sticky-cta>*:not(.search)>i {
    box-shadow: 0 0 .5rem 0 #fff;
}

.sticky-cta>*:not(.search):hover>i {
    color: #fff;
    background-color: var(--wp--preset--color--color-3);
}

/* Video Players */
.ytplayer,
.overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}

.ytplayer+.overlay {
    display: flex;
    text-align: center;
    background: #0008;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all .5s;
    overflow: hidden;
}

.ytplayer+.overlay>.play {
    max-width: 30%;
    max-height: 30%;
}

.ytplayer.paused+.overlay {
    opacity: 1;
}

.ytplayer+.overlay>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Slick Sliders & Pagination */
.isba-slick-aside .isba-slick-index button {
    color: #fff;
    background-color: var(--wp--preset--color--color-2);
    padding: 0 0.75rem;
    border: solid 1px var(--wp--preset--color--color-2);
    border-radius: 0.75rem;
}

.isba-slick-aside .slick-arrow {
    width: 1.75rem;
    height: 1.75rem;
    color: var(--wp--preset--color--color-2);
    background-color: transparent;
    border: solid 1px var(--wp--preset--color--color-2);
    border-radius: 50%;
    transition: .5s;
}

.isba-slick-aside .slick-arrow:hover {
    color: #fff;
    background-color: var(--wp--preset--color--color-2);
}

.isba-slick-aside .slick-dots {
    position: static;
    transition: .5s;
}

.isba-slick-aside .slick-dots li {
    width: auto;
}

.isba-slick-aside .slick-dots li button,
.isba-slick-aside .slick-dots li button:before {
    width: 15px;
    height: 7px;
    padding: 0;
    background-color: var(--wp--preset--color--color-2);
    border-radius: .75rem;
    transition: .5s;
}

.isba-slick-aside .slick-dots li button:before {
    color: transparent;
    opacity: 1;
}

.isba-slick-aside .slick-dots li.slick-active button,
.isba-slick-aside .slick-dots li.slick-active button:before {
    width: 45px;
    background-color: var(--wp--preset--color--color-3);
    opacity: 1;
}

.archive-pagination {
    text-align: center;
    display: block;
}

.archive-pagination>a,
.archive-pagination>span {
    padding: .5rem 1rem;
}

.archive-pagination>a {
    color: var(--wp--preset--color--color-1);
    text-decoration: none;
    transition: .25s;
}

.archive-pagination>span,
.archive-pagination>a:is(:hover, :active) {
    color: #fff;
    background-color: var(--wp--preset--color--color-1);
}

/* Reinsurances */
.reinsurances {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.reinsurances .col img {
    max-height: 135px;
    width: auto;
    margin: auto;
    object-fit: contain;
    display: block;
}

@media(max-width:576px) {
    .reinsurances .col img {
        max-height: 75px;
    }
}

.reinsurances .title {
    height: 3rem;
    font-size: 1rem;
    color: var(--wp--preset--color--color-2);
    text-align: center;
    margin-top: .75rem;
}

/* ==========================================================================
   8. HOME PAGE SECTIONS
   ========================================================================== */

.home h2 {
    font-family: 'Helvetica Condensed', sans-serif;
    font-size: 2.375rem;
    color: var(--wp--preset--color--color-2);
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 0;
}

@media(min-width:992px) {
    .home h2 {
        font-size: 4.125rem;
        line-height: 1;
        text-align: left;
    }
}

.home h2>span,
.home h2>strong {
    font-family: 'Helvetica Neue Bold Condensed';
}

/***** Slider *****/
.home-slider .slick-slide a {
    aspect-ratio: 16/5;
}

.home-slider .slick-slide a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/***** Réassurances ****/
.reassurances-produits {
    padding-bottom: 8vh;
}

.reassurances-produits .item-reassurance .icon {
    width: 110px;
    height: 110px;
    border: 1px solid var(--wp--preset--color--color-1);
    border-radius: 50%;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px auto;
}

.reassurances-produits .item-reassurance .icon img {
    width: 100%;
    height: 100%;
    max-width: 60%;
    max-height: 75%;
    object-fit: contain;

}

.reassurances-produits .item-reassurance p {
    text-align: center;
    color: var(--wp--preset--color--color-2);
    font-weight: 500;
    font-size: 1.125rem;
}

/**** Texte présentation entreprise ****/
.presentation-entreprise {
    padding-bottom: 8vh;
    color: var(--wp--preset--color--color-2);
    font-size: 1.125rem;
}

/* Section: Le tapis pour toutes les situations */
.le-tapis-pour-toutes-les-situations-container-fluid {
    margin-bottom: 5vh;
}

.le-tapis-pour-toutes-les-situations-container-fluid .isba-slick-aside {
    gap: 15px;
}

.le-tapis-pour-toutes-les-situations-container-fluid .glass-block {
    display: flex;
    align-items: center;
    padding: 1.25rem;
}

@media(min-width:992px) {
    .le-tapis-pour-toutes-les-situations-container-fluid {
        margin-bottom: 10vh;
    }

    .le-tapis-pour-toutes-les-situations-container-fluid .glass-block {
        display: block;
        padding: 25px;
    }
}

.le-tapis-pour-toutes-les-situations-container-fluid .glass-block:before {
    background-color: var(--wp--preset--color--color-2);
}

.le-tapis-pour-toutes-les-situations-container-fluid .glass-block h1,
.le-tapis-pour-toutes-les-situations-container-fluid .glass-block p {
    color: #fff;
}

.le-tapis-pour-toutes-les-situations-container-fluid {
    position: relative;
}

.le-tapis-pour-toutes-les-situations-container-fluid .glass-block form {
    flex-wrap: wrap;
    gap: 10px;
}

.le-tapis-pour-toutes-les-situations-container-fluid .glass-block form input {
    flex: 1;
    min-width: 150px;
    border-radius: 1.5rem;
    border: var(--wp--preset--color--color-2);
    padding: 0.75rem 1.5rem;
    outline: none;
}

.le-tapis-pour-toutes-les-situations-container-fluid .glass-block form button {
    border-radius: 1.5rem;
    color: #fff;
    background-color: var(--wp--preset--color--color-5);
    font-size: 1rem;
    text-transform: uppercase;
    font-weight: 600;
    font-family: 'Helvetica Neue Bold Condensed';
    white-space: nowrap;
    padding: 0.75rem 1.5rem;
}

@media(max-width: 575px) {
    .le-tapis-pour-toutes-les-situations-container-fluid .glass-block form {
        flex-direction: column;
    }

    .le-tapis-pour-toutes-les-situations-container-fluid .glass-block form input {
        width: 100%;
    }

    .le-tapis-pour-toutes-les-situations-container-fluid .glass-block form button {
        width: 100%;
    }
}

.le-tapis-pour-toutes-les-situations-container-fluid .glass-block h1 {
    font-family: 'Helvetica Condensed';
    font-size: 1.5rem;
}

@media(min-width:992px) {
    .le-tapis-pour-toutes-les-situations-container-fluid .glass-block h1 {
        font-size: 2.5rem;
        line-height: 1.1;
    }
}

.le-tapis-pour-toutes-les-situations-container-fluid .glass-block h1 strong {
    font-family: 'Helvetica Neue Bold Condensed';
    text-transform: uppercase;
    font-weight: 700;
}

.le-tapis-pour-toutes-les-situations-container-fluid .glass-block .introduction {
    font-family: 'Helvetica Condensed';
    font-size: 1.25rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* Section: Utilisations de nos tapis */
.utilisations-de-nos-tapis-container-fluid+.utilisations-de-nos-tapis-container-fluid {
    background-color: #f2f2f2;
    padding-bottom: 1rem;
}

@media(min-width:992px) {
    .utilisations-de-nos-tapis-container-fluid+.utilisations-de-nos-tapis-container-fluid {
        margin-bottom: 5rem;
    }
}

.utilisations-de-nos-tapis-container-fluid .introduction {
    font-family: 'Helvetica Condensed';
    font-size: 1.25rem;
    color: var(--wp--preset--color--color-2);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
}

@media(min-width:992px) {
    .utilisations-de-nos-tapis-container-fluid .introduction {
        font-size: 1.875rem;
    }
}

.utilisations-de-nos-tapis-container-fluid .slick .slick-slide .categorie-tapis {
    padding-right: 1.875rem;
    position: relative;
}

.utilisations-de-nos-tapis-container-fluid .slick .slick-slide .categorie-tapis .image {
    position: relative;
    aspect-ratio: 1/1;
}

.utilisations-de-nos-tapis-container-fluid .slick .slick-slide .categorie-tapis .introduction {
    font-family: 'Helvetica Condensed';
    font-size: 1.125rem;
    line-height: 1.3;
    color: #fff;
    padding: 1.25rem;
    background-color: var(--wp--preset--color--color-5);
    display: flex;
    align-items: flex-end;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    opacity: 0;
    transition: .25s;
}

.utilisations-de-nos-tapis-container-fluid .slick .slick-slide .categorie-tapis:hover .introduction {
    opacity: 1;
}

.utilisations-de-nos-tapis-container-fluid .slick .slick-slide .categorie-tapis .introduction>div {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
}

.utilisations-de-nos-tapis-container-fluid .slick .slick-slide .categorie-tapis .introduction svg {
    width: 1.5rem;
    height: 1.5rem;
    color: #fff;
    padding: .25rem;
    border: solid 1px;
    border-radius: 100%;
    display: block;
    margin-bottom: 10px;
}

.utilisations-de-nos-tapis-container-fluid .slick .slick-slide .categorie-tapis img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.utilisations-de-nos-tapis-container-fluid .slick .slick-slide .categorie-tapis a {
    color: var(--wp--preset--color--color-2);
    text-decoration: none;
}

.utilisations-de-nos-tapis-container-fluid .slick .slick-slide .categorie-tapis a h3 {
    font-weight: 700;
    font-family: 'Helvetica Neue Bold Condensed';
    font-size: 1.25rem;
    margin-top: 5px;
}

@media(min-width:992px) {
    .utilisations-de-nos-tapis-container-fluid .slick .slick-slide .categorie-tapis a h3 {
        font-size: 1.875rem;
    }
}

.utilisations-de-nos-tapis-container-fluid .slick .slick-slide .categorie-tapis a:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
}

.utilisations-de-nos-tapis-container-fluid .btn-isba {
    font-size: 1.125rem;
    position: relative;
    font-weight: 500;
    padding: .275rem .75rem;
}

@media(max-width:991px) {
    .utilisations-de-nos-tapis-container-fluid .btn-isba {
        max-width: 95%;
        font-size: 1.125rem;
    }
}

.utilisations-de-nos-tapis-container-fluid .btn-isba svg {
    vertical-align: middle;
    padding: .25rem;
    border: solid 1px #fff;
    border-radius: 100%;
    position: absolute;
    left: 0.5rem;
    aspect-ratio: 1/1;
}

.utilisations-de-nos-tapis-container-fluid .isba-slick-aside {
    gap: 15px;
}

/* Section: Sélection de nos produits */
.selections-de-nos-produits-container-fluid .categories {
    background-color: #f2f2f2;
}

@media(min-width:992px) {
    .selections-de-nos-produits-container-fluid .categories {
        transform: translateY(-35%);
        margin-bottom: -10rem;
    }

    .utilisations-de-nos-tapis-container-fluid .isba-slick-aside {
        padding-left: var(--magic-offset) !important;
    }
}

.selections-de-nos-produits-container-fluid .categories .product-excerpt .product-excerpt-image img {
    height: 200px;
}

.selections-de-nos-produits-container-fluid h4 {
    font-family: 'Helvetica Bold Condensed';
    font-size: 1.5rem;
    color: var(--wp--preset--color--color-2);
    text-transform: uppercase;
    padding-top: 3rem;
    margin-bottom: 0;
}

@media(min-width:992px) {
    .selections-de-nos-produits-container-fluid h4 {
        font-size: 1.875rem;
    }
}

.selections-de-nos-produits-container-fluid a {
    font-family: 'Helvetica Bold Condensed';
    font-size: 1.125rem;
    color: var(--wp--preset--color--color-2);
    text-decoration: none;
    transition: .25s;
}

@media(min-width:992px) {
    .selections-de-nos-produits-container-fluid a {
        font-size: 1.25rem;
    }
}

.selections-de-nos-produits-container-fluid a:is(:hover, :active) {
    color: var(--wp--preset--color--color-1);
}

.selections-de-nos-produits-container-fluid a svg {
    vertical-align: middle;
    padding: .25rem;
    border: solid 1px;
    border-radius: 100%;
}

.selections-de-nos-produits-container-fluid .whitemark {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
    opacity: 0.12;
    pointer-events: none;
}

.selections-de-nos-produits-container-fluid .categories>.row {
    position: relative;
    z-index: 1;
}

.selections-de-nos-produits-container-fluid .reinsurances {
    margin-top: 4rem;
    margin-bottom: 4rem;
}

.selections-de-nos-produits-container-fluid .reinsurances .col {
    width: 50%;
    flex: 0 0 auto;
}

@media(min-width:575px) {
    .selections-de-nos-produits-container-fluid .reinsurances .col {
        width: 33.33%;
    }
}

@media(min-width:992px) {
    .selections-de-nos-produits-container-fluid .reinsurances .col {
        width: 20%;
    }
}

/* Section: Toute l'efficacité */
@media(min-width:992px) {
    .toute-l-efficacite-de-nos-tapis-container-fluid+.toute-l-efficacite-de-nos-tapis-container-fluid {
        margin-bottom: 4.5rem;
    }
}

.toute-l-efficacite-de-nos-tapis-container-fluid h3 {
    font-family: 'Amatic SC';
    font-size: 3.75rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
}

@media(min-width:992px) {
    .toute-l-efficacite-de-nos-tapis-container-fluid h3 {
        font-size: 4rem;
    }
}

@media(min-width:1200px) {
    .toute-l-efficacite-de-nos-tapis-container-fluid h3 {
        text-align: left;
    }
}

.toute-l-efficacite-de-nos-tapis-container-fluid h3+img {
    display: block;
    margin: auto;
}

@media(min-width:992px) {
    .toute-l-efficacite-de-nos-tapis-container-fluid h3+img {
        max-width: 75%;
    }
}

@media(min-width:1200px) {
    .toute-l-efficacite-de-nos-tapis-container-fluid h3+img {
        margin-bottom: -2rem;
        max-width: 100%;
    }
}

@media(min-width:1600px) {
    .toute-l-efficacite-de-nos-tapis-container-fluid h3+img {
        margin-bottom: -5rem;
    }
}

.toute-l-efficacite-de-nos-tapis-container-fluid .introduction {
    font-family: 'Helvetica Condensed';
    font-size: 1rem;
    color: #fff;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

@media(min-width:992px) {
    .toute-l-efficacite-de-nos-tapis-container-fluid .introduction {
        font-size: 1.25rem;
    }
}

@media(min-width:1200px) {
    .toute-l-efficacite-de-nos-tapis-container-fluid .introduction {
        margin-right: 20%;
    }
}

.toute-l-efficacite-de-nos-tapis-container-fluid .video-home-container {
    padding-bottom: 56.25%;
    position: relative;
}

.toute-l-efficacite-de-nos-tapis-container-fluid .video-home-container .ytplayer,
.toute-l-efficacite-de-nos-tapis-container-fluid .video-home-container .overlay {
    border-radius: 1.5rem;
}

/* Section: Ils nous font confiance */
.ils-nous-font-confiance .home-slider-logos {
    margin-top: 5vh;
    margin-bottom: 10vh;
}

.ils-nous-font-confiance .home-slider-logos .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
}

.ils-nous-font-confiance .home-slider-logos .item-logo img {
    width: 150px;
    height: auto;
    margin: 0 auto;
    display: block;
}

.ils-nous-font-confiance .home-slider-logos .slick-dots {
    bottom: -50px;
}

.ils-nous-font-confiance .home-slider-logos .slick-prev,
.ils-nous-font-confiance .home-slider-logos .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 50px;
    height: 50px;
    border: 2px solid var(--wp--preset--color--color-2);
    background-color: transparent;
    color: var(--wp--preset--color--color-2);
    border-radius: 50%;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    transition: all 0.3s ease;
}

.ils-nous-font-confiance .home-slider-logos .slick-prev::before,
.ils-nous-font-confiance .home-slider-logos .slick-next::before {
    display: none;
    content: none;
}

.ils-nous-font-confiance .home-slider-logos .slick-prev:hover,
.ils-nous-font-confiance .home-slider-logos .slick-next:hover {
    background-color: var(--wp--preset--color--color-3);
    border-color: var(--wp--preset--color--color-3);
    color: #fff;
    transform: translateY(-50%) scale(1.05);
}

.ils-nous-font-confiance .home-slider-logos .slick-prev {
    left: 0;
}

.ils-nous-font-confiance .home-slider-logos .slick-next {
    right: 0;
}

@media (min-width: 992px) {

    .ils-nous-font-confiance .home-slider-logos .slick-prev,
    .ils-nous-font-confiance .home-slider-logos .slick-next {
        width: 55px;
        height: 55px;
        font-size: 1.3rem;
    }

    .ils-nous-font-confiance .home-slider-logos .slick-prev {
        left: -30px;
    }

    .ils-nous-font-confiance .home-slider-logos .slick-next {
        right: -30px;
    }
}

/* Section: Par Styles */
.par-styles-container-fluid+.par-styles-container-fluid {
    background-color: #f2f2f2;
    margin-bottom: 10vh;
}

.par-styles-container-fluid .images .slick-track {
    display: flex !important;
}

.par-styles-container-fluid .images .slick-slide {
    height: inherit !important;
}

.par-styles-container-fluid .images .slick-slide>div {
    height: 100%;
    display: flex;
    align-items: center;
}

.par-styles-container-fluid .images .slick-slide>div img {
    aspect-ratio: 4/3;
    object-fit: contain;
}

.par-styles-container-fluid .images .slick-slide>div img.logo-placeholder {
    width: 75% !important;
    margin: auto;
    object-fit: contain;
}

.par-styles-container-fluid .titles h3 {
    font-family: 'Helvetica Condensed';
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.375rem;
    text-transform: uppercase;
    color: #7E7E83;
    margin-bottom: .75rem;
    cursor: pointer;
    transition: .5s;
}

@media(min-width:992px) {
    .par-styles-container-fluid .titles h3 {
        font-size: 1.25rem;
        margin-bottom: 1rem;
        line-height: 1.5rem;
    }
}

.par-styles-container-fluid .titles h3:hover,
.par-styles-container-fluid .titles h3.active {
    color: var(--wp--preset--color--color-2);
    font-weight: 700;
    margin-left: .25rem;
}

.par-styles-container-fluid .titles h3 svg {
    width: .5em;
    height: .5em;
    vertical-align: middle;
    padding: .25rem;
    border: solid 1px;
    border-radius: 100%;
    transition: .25s;
    margin-left: .625rem;
}

.par-styles-container-fluid .titles h3:hover svg,
.par-styles-container-fluid .titles h3.active svg {
    transform: rotate(45deg);
}

.par-styles-container-fluid .contents {
    margin-right: 16.666667%;
}

.par-styles-container-fluid .contents .content {
    font-family: 'Helvetica Neue Condensed';
    font-size: 1rem;
    color: var(--wp--preset--color--color-2);
    overflow: hidden;
    display: -webkit-box !important;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

@media(min-width:992px) {
    .par-styles-container-fluid .contents .content {
        font-size: 1.125rem;
    }
}

.par-styles-container-fluid .rect-right {
    margin-top: -3rem;
}

/* Section: Demande de devis */
.demande-de-devis-container-fluid .image {
    min-width: 375px;
    height: 50vh;
    padding-left: var(--magic-offset);
    display: none;
}

.demande-de-devis-container-fluid .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media(min-width:992px) {
    .demande-de-devis-container-fluid .image {
        display: block;
    }
}

.demande-de-devis-container-fluid .glass-block {
    position: relative;
    background-size: cover;
    width: 100%;
    height: auto;
}

.demande-de-devis-container-fluid .glass-block ul {
    list-style: none;
}

.demande-de-devis-container-fluid .glass-block ul li {
    color: #fff;
    text-align: left;
    position: relative;
    padding-left: 1.5em;
}

.demande-de-devis-container-fluid .glass-block ul li:before {
    content: "→";
    position: absolute;
    left: 0;
}

@media(min-width:992px) {
    .demande-de-devis-container-fluid .glass-block {
        position: absolute;
        width: 50%;
        background-image: none !important;
    }
}

.demande-de-devis-container-fluid .glass-block>div {
    padding: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.demande-de-devis-container-fluid .glass-block h2 {
    font-family: 'Helvetica Neue Bold Condensed';
    font-size: 2.25rem;
    line-height: 1;
    text-align: center;
    color: #fff;
    text-transform: none;
    margin-bottom: .75rem;
}

.demande-de-devis-container-fluid .glass-block .btn {
    font-family: 'Helvetica Neue Bold Condensed';
    font-size: 1.125rem;
    color: var(--wp--preset--color--color-3);
    text-transform: uppercase;
    background-color: var(--wp--preset--color--color-1);
    border: solid 1px var(--wp--preset--color--color-3);
    border-radius: 1.5rem;
    width: auto;
}

.le-tapis-pour-toutes-les-situations-container-fluid .glass-block .btn:is(:hover, :active),
.demande-de-devis-container-fluid .glass-block .btn:is(:hover, :active) {
    color: var(--wp--preset--color--color-1);
    background-color: var(--wp--preset--color--color-3);
}

/* Section: FAQ (Accordions) */
.container.bloc-questions {
    padding-top: 5vh;
    padding-bottom: 5vh;
}

@media (min-width: 1200px) {
    .container.bloc-questions {
        max-width: 1640px;
    }
}

@media screen and (min-width: 991px) {
    .container.bloc-questions {
        padding-top: 10vh;
        padding-bottom: 10vh;
    }
}

.bloc-questions h2 {
    text-transform: uppercase;
    font-size: 2rem;
    font-weight: 400;
    margin-bottom: 3vh;
}

@media screen and (min-width: 991px) {
    .bloc-questions h2 {
        font-size: 2.8rem;
    }
}

.accordion-item {
    border: 1px solid black !important;
    margin-bottom: 15px;
    border-radius: 25px !important;
    background-color: #fff;
    color: black;
}

.accordion-item .accordion-button {
    border: none;
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    text-align: left;
    background-color: transparent;
    font-weight: 600;
    color: var(--wp--preset--color--color-2);
    font-size: 1.125rem;
    box-shadow: none;
    border-radius: 15px !important;
    outline: 0;
    padding: 1rem 1.25rem;
}

.accordion-button::after {
    content: "+";
    position: absolute;
    height: auto;
    right: 25px;
    top: 0;
    bottom: 0;
    margin: auto;
    color: var(--wp--preset--color--color-2);
    font-weight: 400;
    background-image: none !important;
    font-size: 2.5rem;
    transform: none !important;
}

.accordion-button[aria-expanded="true"]::after {
    content: "-";
}

.accordion-item .accordion-body {
    padding: 1rem 1.25rem;
    color: black;
    font-size: 1rem;
}

@media screen and (min-width: 768px) {
    .accordion-item {
        border-radius: 35px !important;
    }

    .accordion-item .accordion-button {
        border-radius: 50px !important;
        font-size: 1.25rem;
        padding-right: 1.25rem;
    }
}

/* ==========================================================================
   9. ACTUALITÉS & NEWS
   ========================================================================== */

.container.category-actualites {
    padding: 40px 0;
}

.card.actualites-card {
    border: none;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
    transition: transform 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.card.actualites-card:hover {
    transform: translateY(-5px);
}

.card-image {
    position: relative;
}

.card-image img {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    object-fit: cover;
    height: 200px;
    width: 100%;
}

.card-date {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
}

.card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
}

.card-title {
    color: #333;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    transition: 0.3s;
    line-height: 1.4
}

.card-text {
    margin-bottom: 15px;
}

.card.actualites-card .card-text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.container.single-actualite {
    padding: 60px 0;
    max-width: 75%;
    margin: 0 auto;
}

.actualite-content {
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    padding: 30px;
    background-color: #fff;
    border-radius: 10px;
}

.actualite-image {
    position: relative;
    margin-bottom: 20px;
}

.actualite-image img {
    border-radius: 10px;
    width: 100%;
    max-height: 500px;
    object-fit: cover;
}

.actualite-date {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
}

.actualite-title {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #333;
}

.actualite-meta {
    font-size: 14px;
    color: #666;
    margin-bottom: 20px;
}

.actualite-body {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    margin-bottom: 30px;
}

/* Home / Last News */
.last-news-container-title h2 span {
    display: block;
}
.last-news-container .btn-isba {
    font-size: 1.125rem;
}

.last-news-container .reseaux {
    color: #fff;
    font-size: 1.25rem;
}

.last-news-container .reseaux h2 {
    color: #fff;
}

.last-news-container .reseaux a svg {
    font-size: 1.75rem;
    color: #fff;
}

.last-news-container .reseaux a svg:hover {
    color: var(--wp--preset--color--color-3);
}

.last-news-container .temoignages {
    color: #fff;
    font-size: 1.5rem;
    margin-top: 5vh;
}

.last-news-container .temoignages img {
    display: block;
    max-width: 100%;
    margin: 20px auto 20px 0;
    width: 75%;
}

@media screen and (min-width: 991px) {
    .last-news-container {
        margin-bottom: 50px;
    }
}

.news-cards {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.news-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: white;
    margin-bottom: 30px;
    border-radius: 10px;
    height: 500px;
    width: 100%;
}

.news-card-title {
    font-size: 1.25rem;
    margin-top: 15px;
}

.news-card-excerpt {
    font-size: 1rem;
    color: #555;
}

.news-card-footer {
    margin-top: auto;
}

.news-card-image {
    position: relative;
}

.news-card-date {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    color: white;
    padding: 5px 10px;
    border-top-right-radius: 5px;
}

.news-card-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
}

.news-card-title a {
    text-decoration: none;
    color: #333;
}

.news-card-title a:hover {
    color: #007bff;
}

@media (min-width: 768px) {
    .news-card {
        width: calc(50% - 10px);
    }
}

/* ==========================================================================
   10. WOOCOMMERCE & PRODUCTS
   ========================================================================== */

/* Product Excerpt (Grid cards) */
.product-excerpt {
    background-color: #fff;
    border: solid 1px var(--wp--preset--color--color-4);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.product-excerpt .product-excerpt-image .woocommerce-sale-badge-custom {
    position: absolute;
    top: 25px;
    left: 0;
}
.product-excerpt .product-excerpt-image .onsale {
    background-color: #1a5522 !important;
    border-radius: 5px !important;
    padding: 5px 15px !important;
    font-size: 1.125rem !important;
    min-height: 0 !important;
    min-width: 0 !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}
.product-excerpt .product-excerpt-image {
    padding: 1.25rem;
    position: relative;
}

.product-excerpt .product-excerpt-image img {
    height: 250px;
    object-fit: cover;
}

.product-excerpt .product-excerpt-image img.logo-placeholder {
    object-fit: contain;
}

.product-excerpt .product-excerpt-content {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
}

.product-excerpt .product-excerpt-content h5 {
    font-family: 'Helvetica Bold Condensed';
    font-size: 1.125rem;
    color: #000;
    text-transform: uppercase;
    margin-bottom: .75rem;
    min-height: 4.5rem;
}

.product-excerpt .product-excerpt-content .product-excerpt-content-description {
    font-size: 1rem;
    color: #000;
    height: 4.5rem;
    margin-bottom: 1.25rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.product-excerpt .product-excerpt-content .product-excerpt-content-price {
    font-family: 'Helvetica Bold Condensed';
    font-size: 1.75rem;
    color: #000;
    margin-bottom: 1rem;
    line-height: 1.2;
}
.product-excerpt .product-excerpt-content .product-excerpt-content-price .discount {
    font-size: 1.35rem;
    opacity: 0.7;
    text-decoration: line-through;
}
.product-excerpt .product-excerpt-content .product-excerpt-content-price sup {
    font-size: 1.125rem;
}

.product-excerpt a {
    color: #fff;
}

.product-excerpt a:is(:hover, :active) {
    color: var(--wp--preset--color--color-5);
}

.product-excerpt-footer {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
}

.product-excerpt-content-reference {
    color: #808080;
    opacity: 80%;
    font-style: italic;
    font-size: 0.9rem;
}

/* Product Archive */
.banner-container {
    background-color: var(--wp--preset--color--color-2);
    height: 215px;
}

.banner-container .col {
    padding-left: var(--magic-offset, .5rem);
}

@media(max-width:576px) {
    .banner-container h1 {
        font-size: 2.25rem;
    }
}
@media(max-width:991px) {
    .banner-container {
        margin-right: 0;
        width: 100%;
        max-width: 100%;
    }
}

.banner-container .whitemark {
    left: auto;
    right: var(--magic-offset, .5rem);
}

.banner-container #breadcrumb .breadcrumb_item:not(:last-child):after {
    content: '/';
}

.woocommerce.archive h1 {
    font-family: 'Helvetica Bold Condensed';
    font-size: 3.125rem;
    line-height: .9;
    color: var(--wp--preset--color--color-2);
    text-transform: uppercase;
    margin-bottom: 0;
    position: relative;
    z-index: 1;
}

.woocommerce.archive .reinsurances {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.woocommerce.archive .reinsurances>div {
    width: 50%;
    flex: 0 0 auto;
}

@media(min-width:992px) {
    .woocommerce.archive h1 {
        font-size: 4.125rem;
    }
    .woocommerce.archive .reinsurances>div {
        width: 25%;
    }
}

.woocommerce.archive .toute-l-efficacite-de-nos-tapis-container-fluid {
    margin-top: 2.5rem;
}

.woocommerce.archive .toute-l-efficacite-de-nos-tapis-container-fluid+.toute-l-efficacite-de-nos-tapis-container-fluid {
    margin-top: 0;
    margin-bottom: 1.75rem;
}

@media(min-width:992px) {
    .woocommerce.archive .toute-l-efficacite-de-nos-tapis-container-fluid {
        margin-top: 6rem;
    }

    .woocommerce.archive .toute-l-efficacite-de-nos-tapis-container-fluid+.toute-l-efficacite-de-nos-tapis-container-fluid {
        margin-top: 0;
        margin-bottom: 6.5rem;
    }
}

.woocommerce.archive .toute-l-efficacite-de-nos-tapis-container-fluid h2 {
    font-size: 1.875rem;
    color: var(--wp--preset--color--color-2);
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 0;
}

@media(min-width:992px) {
    .woocommerce.archive .toute-l-efficacite-de-nos-tapis-container-fluid h2 {
        font-size: 2.875rem;
        line-height: 1;
        text-align: left;
    }
}

.woocommerce.archive .toute-l-efficacite-de-nos-tapis-container-fluid h2>span {
    display: block;
    font-family: 'Helvetica Neue Bold Condensed';
    font-size: 2.375rem;
}

@media(min-width:992px) {
    .woocommerce.archive .toute-l-efficacite-de-nos-tapis-container-fluid h2>span {
        font-size: 4.125rem;
        line-height: .7;
    }
}

/* Single Product Page */
.single-product-container {
    padding-left: var(--magic-offset, .5rem);
}

.single-product-container .slick-single-product,
.single-product-container .slick-single-product * {
    max-height: 350px;
    background-color: #fff;
}

.single-product-container .slick-single-product .slick-track {
    display: flex !important;
}

.single-product-container .slick-single-product .slick-slide {
    height: inherit !important;
}

.single-product-container .slick-single-product .slick-slide img {
    object-fit: cover;
}

.single-product-container .slick-single-product-nav .slick-slide.slick-current img {
    border: solid 3px var(--wp--preset--color--color-2);
}
.single-product-container .onsale {
    background-color: #1a5522 !important;
    border-radius: 5px !important;
    padding: 5px 15px !important;
    font-size: 1.125rem !important;
    min-height: 0 !important;
    min-width: 0 !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}
.single-product-container .reinsurances {
    margin-top: 2rem;
    margin-bottom: 2rem;
    gap: 1rem 0;
    justify-content: center;
}

.single-product-container .reinsurances>div {
    width: 50%;
    flex: 0 0 auto;
    padding: 0.5rem;
}

.single-product-container .reinsurances .icon img {
    max-width: 70px;
    height: auto;
    margin: 0 auto;
    display: block;
    transition: transform 0.3s ease;
}

.single-product-container .reinsurances .icon:hover img {
    transform: scale(1.15);
}

@media(min-width:768px) {
    .single-product-container .reinsurances>div {
        width: 33.33%;
    }
}

@media(min-width:1200px) {
    .single-product-container .reinsurances>div {
        width: 25%;
    }
}

.single-product-container table.variations {
    width: 100%;
}

.single-product-container table.variations tr {
    margin-bottom: 1rem;
    align-items: baseline;
    display: flex;
    gap: 10px;
}

.single-product-container table.variations th {
    font-family: 'Helvetica Neue Bold Condensed';
    color: var(--wp--preset--color--color-2);
}

.single-product-container table.variations td select {
    padding: 0.25rem 1rem;
    background-color: #fff;
    border: solid 1px #707070;
}

.single-product-container .single_variation_wrap {
    margin-top: 3rem;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 25px;
}

@media(max-width:576px) {
    .single-product-container .single_variation_wrap {
        flex-direction: column;
    }
}

.single-product-container .single_variation_wrap .amount {
    font-family: 'Helvetica Neue Bold Condensed';
    color: var(--wp--preset--color--color-5);
    font-size: 1.875rem;
}

.single-product-container .single_variation_wrap .variations_button {
    flex: 1;
    display: flex;
    justify-content: space-around;
    align-items: stretch;
}

.single-product-container .single_variation_wrap .variations_button .quantity {
    display: inline-block;
}

.single-product-container .single_variation_wrap .variations_button .quantity input {
    height: 100%;
}

.single-product-container .single_variation_wrap .variations_button button {
    background-color: var(--wp--preset--color--color-5);
    border-radius: 50rem;
}

.single-product-container .nav-tabs {
    border-bottom: solid 1px #707070;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.single-product-container .nav-tabs::-webkit-scrollbar {
    display: none;
}

.single-product-container .nav-tabs .nav-item {
    flex-shrink: 0;
}

.single-product-container .nav-tabs .nav-item button {
    height: 3rem;
    color: #000;
    border: solid 1px #707070;
    border-left: none;
    border-bottom: none;
    border-radius: 0;
    white-space: nowrap;
    font-size: 0.95rem;
}

.single-product-container .nav-tabs .nav-item:first-child button {
    border-left: solid 1px #707070;
}

.single-product-container .tab-content-container {
    padding-left: var(--magic-offset, .5rem);
}

.single-product-container .tab-content {
    background-color: #fff;
    border: solid 1px #707070;
    border-top: none;
    color: #000;
}

.single-product-container .tab-content p {
    margin-bottom: 0;
}

.single-product-container .tab-content ul {
    color: #6F6F6F;
}

.single-product-container .tab-content #tab-content-characteristics>div:nth-child(odd),
.single-product-container .tab-content #characteristics>div:nth-child(odd) {
    background-color: #B6DDA3;
}

.single-product-container .tab-content #tab-content-characteristics {
    font-family: 'Helvetica Neue Condensed', sans-serif;
}

.single-product-container .tab-content #tab-content-characteristics strong {
    font-family: 'Helvetica Neue Bold Condensed', sans-serif;
}

.single-product-container .les-plus {
    padding-top: 3rem;
}

.single-product .products-list-container .col {
    height: 450px;
    position: absolute;
    left: 0;
    z-index: -1;
}

@media(min-width:992px) {
    .single-product .products-list-container .col+.col-12 {
        margin-top: 135px;
    }
}

.single-product .products-list-container h2 {
    font-family: 'Helvetica Condensed';
    font-size: 2.875rem;
    line-height: 1;
    color: var(--wp--preset--color--color-2);
    text-transform: uppercase;
    margin-bottom: 0;
}

.single-product .products-list-container h2 span {
    font-family: 'Helvetica Neue Bold Condensed';
    font-size: 4.125rem;
    line-height: .7;
    display: block;
    position: relative;
    z-index: 1;
}

.single-product .products-list-container .see-more {
    font-family: 'Helvetica Bold Condensed';
    font-size: 1.125rem;
    color: var(--wp--preset--color--color-2);
    text-decoration: none;
    transition: .25s;
}

@media(min-width:992px) {
    .single-product .products-list-container .see-more {
        font-size: 1.25rem;
    }
}

.single-product .products-list-container .see-more:is(:hover, :active) {
    color: var(--wp--preset--color--color-1);
}

.single-product .products-list-container .see-more svg {
    vertical-align: middle;
    padding: 0.25rem;
    border: solid 1px;
    border-radius: 100%;
}

/* WooCommerce Global Styles */
.single-product .woocommerce-breadcrumb {
    display: none !important;
}

.shop_table .button,
.checkout-button,
.single_add_to_cart_button,
.woocommerce-checkout .button,
.wc-backward {
    background: var(--wp--preset--color--color-1) !important;
    color: #fff !important;
    transition: 0.5s;
}

.shop_table .button:hover,
.checkout-button:hover,
.single_add_to_cart_button:hover,
.woocommerce-checkout .button:hover,
.wc-backward:hover {
    background: var(--wp--preset--color--color-1);
}

.woocommerce-Price-amount bdi {
    font-family: 'Helvetica Neue Bold Condensed';
    font-size: 30px;
    font-weight: 400;
    color: var(--wp--preset--color--color-5);
}

.single-product-woocommerce {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.single-product-woocommerce .price {
    margin-bottom: 0;
}
.single-product-woocommerce .price del bdi {
    color: #000;
    opacity: 0.7;
    font-size: 1.35rem;
    text-decoration: line-through;
    margin-right: 10px;
}
.single-product-woocommerce .price del,
.single-product-woocommerce .price ins {
    text-decoration: none;
}

.single-product-woocommerce form.cart {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    justify-content: space-between;
    align-items: center;
}

.single-product-woocommerce form.cart button.single_add_to_cart_button {
    padding: 0.75rem 1.5rem;
    border-radius: 1.5rem;
    border: none;
    transition: 0.5s;
}

table.variations th.label label {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 0;
}

table.variations th.label label[for="pa_couleurs"]::before {
    content: url('img/couleur.svg');
}

table.variations th.label label[for="pa_dimensions"]::before {
    content: url('img/arrows-fullscreen.svg');
}

form.variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button::before {
    content: url('img/cart.svg');
    margin-right: 15px;
}

div.woocommerce-variation-price del {
    text-decoration: none;
}

div.woocommerce-variation-price del bdi {
    text-decoration: line-through;
    font-size: 22px;
    vertical-align: top;
}

div.woocommerce-variation-price ins {
    text-decoration: none;
}

/* Badges & References */
.nouveaute {
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    color: #FFFFFF;
    background-color: var(--wp--preset--color--color-5);
    padding: 0.25rem 0.75rem;
    border-radius: 8px;
}

.promotion {
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    color: #FFFFFF;
    background-color: #E32020;
    padding: 0.25rem 0.75rem;
    border-radius: 8px;
}

/* ==========================================================================
   11. FORMS & CONTACT
   ========================================================================== */

.ginput_container input[type="text"],
.ginput_container textarea {
    border: solid 1px var(--wp--preset--color--color-1);
    border-radius: .25rem;
    outline: var(--wp--preset--color--color-1);
    transition: .25s;
}

.ginput_container input[type="text"]:focus,
.ginput_container textarea:focus {
    box-shadow: 0 0 0 0.25rem #1A552240;
}

.ginput_container_consent {
    display: flex;
    align-items: center;
}

.ginput_container_consent input[type="checkbox"] {
    width: 2em;
    height: 2em;
    margin-top: 0 !important;
    margin-right: 1rem;
    border: solid 3px var(--wp--preset--color--color-1);
    position: relative;
}

.ginput_container_consent input[type="checkbox"]:checked {
    background-color: var(--wp--preset--color--color-1);
    accent-color: var(--wp--preset--color--color-1);
}

.button.gform_button {
    padding: .5rem 1.25rem;
    color: #fff;
    background-color: var(--wp--preset--color--color-1);
    border: solid 1px var(--wp--preset--color--color-1);
    border-radius: 1.5rem;
    transition: .25s;
}

.button.gform_button:hover {
    background-color: #fff;
    color: var(--wp--preset--color--color-1);
}

/* My Account */
.woocommerce-MyAccount-navigation>ul {
    list-style: none;
}

.woocommerce-MyAccount-navigation>ul>li {
    padding: .5rem;
}

/* ==========================================================================
   12. MISCELLANEOUS
   ========================================================================== */

.category-text-top,
.category-text-bottom {
    margin-bottom: 1.25rem;
    font-size: 1rem;
    color: #000;
}

.table-acf ul {
    margin: 0;
}

.modern-text {
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
    line-height: 1.8;
    color: #555;
    background-color: #f8f8f8;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.title-1987 {
    border: 2px solid #1a5522;
    padding: 13px 15px;
    border-radius: 50%;
    text-align: center;
    font-weight: bold;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 75px;
    height: 75px;
    margin: 0 auto;
}

@media (min-width: 575px) {
    .title-1987 {
        width: 110px;
        height: 110px;
    }
}

.feature-card {
    background-color: #f9f9f9;
    border-radius: 10px;
    transition: transform 0.3s ease;
    padding: 20px;
}

.feature-card:hover {
    transform: translateY(-10px);
}

.feature-icon {
    font-size: 2.5rem;
    color: #007bff;
}

.le-tapis-card {
    max-width: 80%;
}

@media (max-width: 768px) {
    .card {
        padding: 1.5rem;
    }
}

/* Product Sorting Dropdown */
.isba-product-sort {
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.isba-product-sort label {
    font-weight: 500;
    color: #333;
    margin-bottom: 0;
    font-size: 0.9rem;
}

.isba-product-sort .form-select {
    min-width: 160px;
    padding: 8px 35px 8px 12px;
    font-size: 0.9rem;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.isba-product-sort .form-select:hover {
    border-color: var(--color-1);
}

.isba-product-sort .form-select:focus {
    border-color: var(--color-1);
    box-shadow: 0 0 0 3px rgba(var(--color-1-rgb), 0.15);
    outline: none;
}

@media (max-width: 991px) {
    .isba-product-sort {
        width: 100%;
    }

    .isba-product-sort .form-select {
        flex: 1;
    }
}

@media (max-width: 575px) {
    .isba-product-sort {
        flex-direction: column;
        align-items: stretch;
    }

    .isba-product-sort label {
        margin-bottom: 5px;
    }

    .isba-product-sort .form-select {
        width: 100%;
    }
}

/* Product Tabs System */
.product-tabs-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin-bottom: 2rem;
    padding-top: 2rem;
    position: relative;
    flex-wrap: wrap;
}

.product-tab-btn {
    background: none;
    border: none;
    padding: 0.75rem 1.5rem;
    font-family: 'Helvetica Bold Condensed', sans-serif;
    font-size: 1.1rem;
    text-transform: uppercase;
    color: #999;
    cursor: pointer;
    transition: color 0.3s ease;
    position: relative;
    white-space: nowrap;
}

.product-tab-btn:hover {
    color: var(--wp--preset--color--color-2);
}

.product-tab-btn.active {
    color: var(--wp--preset--color--color-2);
}

.product-tab-btn::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 3px;
    background-color: var(--wp--preset--color--color-2);
    transition: width 0.3s ease;
}

.product-tab-btn.active::after {
    width: 80%;
}

@media(min-width: 992px) {
    .product-tab-btn {
        font-size: 1.3rem;
        padding: 0.75rem 2rem;
    }
}

/* Tab content */
.product-tabs-content {
    position: relative;
    min-height: 300px;
}

.product-tab-pane {
    display: none;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.product-tab-pane.active {
    display: block;
    opacity: 1;
}

/* Progress bar for autoplay */
.product-tabs-nav.autoplay-active .product-tab-btn.active::after {
    animation: tabProgress var(--tab-interval, 5s) linear;
}

@keyframes tabProgress {
    from {
        width: 0;
    }

    to {
        width: 80%;
    }
}

/* Tarteaucitron */

.tarteaucitronIconBottomRight {
    bottom: 55px !important;
}
@media (min-width:991px){
    .tarteaucitronIconBottomRight {
        bottom: 0 !important;
    }
}