/*
Theme Name: 	MFM Digital
Text Domain:    medicimmo
Theme URI: 		http://themes.muffingroup.com/betheme
Author: 		MFM Digital
Author URI: 	http://mfmdigital.com.com
Description:	MFM Digital Child Theme
Template:		betheme
Version: 		1.0.0
*/
/* forcer les placesholders */
*:placeholder{
    font-family: var(--font-primary) !important ;
}
/* --- Formats Grids --- */
#grid-centers,
#grid-cabinets {
    display: grid;
    gap: var(--gap-xs);
    padding-bottom: 100px;
    @media screen and (max-width: 1240px) {
        padding-left: 25px;
        padding-right: 25px;
    }
    @media screen and (max-width: 767px) {
        padding-left: 0px;
        padding-right: 0px;
    }

    @media(width > 920px) {
        &:has(.secnonna){

            grid-template-columns: 1fr 300px;
        }
    }
}

.centers-container,.cabinets-container{
    padding: 25px;
}

:root {
    --color-primary: #839D83;
    --color-primary-light: #A7C3A7;
    --color-primary-lighter: #E3EFE3;
    --color-secondary: #889FA9;
    --color-text: #000000;
    --color-text-light: #777777;
    --color-text-lighter: #687277;
    --color-gray: #52525B;
    --color-bg: #F7F8F8;
    --color-white: #ffffff;
    --color-border: #CAD5CA;

    --font-primary: 'Montserrat', sans-serif;
    --font-secondary: 'Merriweather', sans-serif;

    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;

    --radius-sm: 5px;
    --radius-m: 8px;
    --radius-md: 10px;
    --radius-lg: 13px;
    --radius-xl: 15px;
    --radius-special: 10px 10px 10px 50px;

    --gap-xs: clamp(8px, 1vw, 10px);
    --gap-sm: clamp(12px, 2vw, 20px);
    --gap-md: clamp(20px, 3vw, 24px);
    --gap-lg: clamp(24px, 5vw, 40px);
    --gap-xl: clamp(40px, 6vw, 60px);
}

#mfn-header-template, #mfn-sidemenu-tmpl-418 {
    #menu-menu-connecte{
        justify-content: center;
        align-items: center;
    }
    
.menu-item-profil {
    a{
        color: transparent !important;
    }
    background-color: rgba(255, 0, 0, 0)!important;
    .menu-item-btn {
        border-radius: var(--radius-m);
        border: solid 1px var(--color-white);
        height: 40px;
        a{
            color: var(--color-text) !important;
        }
        &:hover{
            background-color: var(--color-primary);
            a{
                color: var(--color-white) !important;
            }
        }
        a{
            margin-top: 0px;
        }
        @media screen and (max-width:960px)
        {
            margin-top: 25px;
        }
    }
}
    /*--- Icône profil ---*/
    & .mfn-menu-item-icon {
        img {
            width: 36px;
        }
    }

    /*--- Sous-menu déconnexion ---*/
    .menu-item-out {
        .menu-label {
            display: inline-block !important;
            color: var(--color-primary) !important;
        }
    }
}
/* --- POP UP --- */
.hidden{
    display: none !important;
}
#pop-up{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    min-width: 100%;
    min-height: 100vh;
    background-color: rgba(0, 0, 0, 0.500);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;

    .container-pop{
        width: 80%;
        background-color:var(--color-white);
        border-radius: 20px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 50px 0px;

        h1{
            color: var(--color-primary);
        }
        .container-profil{
            .profil{
                width: 125px;
                height: 125px;
                border: 1px solid #EAEAEA;
                border-radius: 20px;
                margin-top: 25px;
                display: flex;
                flex-direction: column;
                justify-content: space-evenly;
                align-items: center;
                position: relative;
                img{
                    width: 30px;
                }
                p{
                    font-size: 16px;
                    font-weight: 500;
                    margin: 0;
                }
                .link_profil{
                    inset: 0;
                    position: absolute;
                }

            }
        }
    }   
    @media screen and (min-width:960px){
        .container-pop{
            width: 60%;
            padding: 100px 0px;
            .container-profil{
                display: flex;
                width: 75%;
                justify-content: space-evenly;
                flex-direction: row;
                margin-top: 50px;
                .profil{
                    margin: 0;
                    width: 150px;
                    height: 150px;     
                    
                    img{
                        width: 35px;
                    }
                }
            }
        }
    }
}

/*--- Cacher flèche dans le menu profil ---*/
.fa-arrow-down:before {
    display: none !important;
}

/*--- Emoji du footer ---*/
.emoji {
    width: 20px;
}

/* --- Global padding top for single pages --- */
#single-doctor,
#single-center,
#single-cabinet {
    padding-top: 40px;
    padding-bottom: 40px;
}

/* --- Page Doctor --- */
#single-doctor {
    position: relative;
    font-family: var(--font-primary);
    color: var(--color-text);
    font-weight: var(--fw-medium);
    display: grid;
    gap: var(--gap-lg);
    padding: clamp(30px, 6vw, 50px) 0;
    width: 100%;
    z-index: 1;

    @media(width > 920px) {
        grid-template-columns: 380px 1fr;
    }

    h3 {
        font-family: var(--font-primary);
        font-weight: var(--fw-medium);
        font-size: 32px;
        line-height: 1.16;
    }

    h5 {
        font-family: var(--font-primary);
        font-weight: var(--fw-medium);
        font-size: 23px;
        line-height: 1.71;
        color: var(--color-text);
    }

    p {
        font-size: 15px;
        font-weight: var(--fw-regular);
        line-height: 1.56;
        text-align: justify;
    }

    a {
        text-decoration: none;
    }

    &::before {
        content: "";
        position: fixed;
        top: 0;
        left: 50%;
        transform: translateX(-50%) scaleX(-1);
        width: 100vw;
        height: 100vh;
        z-index: -1;
        background-image: url('dist/img/background.jpg');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        opacity: 0.2;
        pointer-events: none;
    }

    .doctor-contact {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .doctor-photo {
        padding-bottom: 20px;

        img {
            border-radius: var(--radius-xl);
        }
    }

    .btn-contact {
        display: block;
        width: 80%;
        text-align: center;
        margin-bottom: 10px;
        color: var(--color-white);
        background-color: var(--color-primary);
        border-radius: 41px;
        padding: 5px 15px;
    }
    .doctor-photo{
        max-width: 250px;
    }

    

    .doctor-specialities-container {
        display: flex;
        flex-wrap: wrap;
        gap: var(--gap-xs);
        margin-bottom: clamp(20px, 5vw, 40px);
    }

    .speciality-pill {
        display: inline-block;
        color: var(--color-primary);
        font-size: clamp(14px, 3vw, 18px);
        background-color: var(--color-primary-lighter);
        border-radius: 100px;
        padding: 10px 15px;
    }

    .doctor-email-wraper {
        border-bottom: 1px solid var(--color-text);
        padding-bottom: 10px;
        margin-bottom: 10px;
        width: 60%;
    }

    .doctor-description,
    .medical-centers {
        margin-top: clamp(20px, 5vw, 40px);
    }
}

/* --- Grilles communes --- */
.centers-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gap-sm);
}

div:has(.centers-grid) {
    container-type: inline-size;

    .centers-grid {
        @container (width > 600px) {
            grid-template-columns: repeat(2, 1fr);
        }

        @container (width > 940px) {
            grid-template-columns: repeat(3, 1fr);
        }
    }
}

/* --- Cards (Centres & Cabinets) --- */
.medical-center-card,
.medical-cabinet-card,
.medical-estate-card,
.centers-grid .medical-center-card {
    background-color: var(--color-white);
    border: 1px solid var(--color-primary-lighter);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
    container-type: inline-size;
    container-name: card;
    position: relative;

    a.center-link {
        position: absolute;
        inset: 0;
    }

    &:hover {
        box-shadow: 0px 8px 32px 0px rgba(0, 0, 0, 0.12);

        .center-price {
            background-color: var(--color-primary);
            color: var(--color-white);
        }

        .center-city {
            background-color: var(--color-primary);
        }
    }

    .center-photo,
    .cabinet-photo,
    .estate-photo {
        width: 100%;
        flex-shrink: 0;
        position: relative;
        img {
            width: 100%;
            aspect-ratio: 1/0.5;
            height: auto;
            object-fit: cover;
        }
    }

    .center-infos, .estate-infos {
        padding: 20px 25px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: var(--gap-xs);
        flex: 1;

        &>*:not(.center-price) {
            flex: 0 0 auto;
        }
    }

    .center-city,.estate-city {
        position: absolute;
        bottom: -15px;
        left: 50%;
        transform: translateX(-50%);
        background-color: var(--color-primary);
        padding: clamp(4px, 1vw, 5px) clamp(8px, 2vw, 10px);
        border: 1px solid var(--color-white);
        border-radius: var(--radius-sm);
        color: var(--color-white);
        font-size: clamp(13px, 2vw, 15px);
        font-weight: var(--fw-medium);
        z-index: 10;
        white-space: nowrap;
        transition: background-color 0.3s ease;
    }

    .center-name {
        font-family: var(--font-secondary);
        font-size: clamp(12px, 2vw, 14px);
        font-weight: var(--fw-bold);
        padding: 10px;
        line-height: 18px;
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        width: 80%;
    }

    .center-infos-grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 10px;
        column-gap: clamp(30px, 8vw, 50px);

        span {
            display: inline-flex;
            align-items: center;
            gap: 0.25em;
            color: var(--color-text-light);
            font-size: clamp(14px, 3vw, 18px);
        }
    }

    .icon {
        height: 1em;
        width: auto;
        vertical-align: middle;
    }

    .center-price {
        margin-top: auto;
        padding: clamp(12px, 2vw, 15px) clamp(15px, 3vw, 20px);
        background-color: var(--color-primary-lighter);
        color: var(--color-primary);
        font-family: var(--font-secondary);
        font-weight: var(--fw-bold);
        font-size: clamp(10px, 1.5vw, 12px);
        text-transform: uppercase;
        border-radius: 0 0 var(--radius-lg) var(--radius-lg);
        width: calc(100% + 50px);
        transition: all 0.3s ease;

        span {
            margin-left: 5px;
            font-size: clamp(18px, 3vw, 24px);
        }
    }

    @container card (width > 300px) {
        .center-infos-grid {
            column-gap: 60px;
        }
    }
}

/* Lien de la card cabinet */
.medical-cabinet-card a.cabinet-link {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 10;
}
.medical-estate-card{
    max-width: 350px;
}

/* Spécificité pour les cabinets dans #single-center-bottom */
#single-center-bottom .medical-cabinet-card .cabinet-photo {
    aspect-ratio: 4/3;
}

/* --- Pages Centre & Cabinet médical (styles communs) --- */
#Wrapper:has(#single-center),
#Wrapper:has(#single-cabinet) {
    background-color: var(--color-bg);
}

.centre-back a {
    color: #889FA9;
    font-size: clamp(14px, 2vw, 16px);
    font-weight: var(--fw-medium);
}

.cabinet-days-available {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-xs);

    >div {
        position: relative;
        background-color: #EEEEEE;
        border-radius: var(--radius-m);
        line-height: 40px;
        color: var(--color-text);
        font-size: clamp(14px, 2vw, 16px);
        padding: 0 16px;
        cursor: pointer;

        &:not(:hover)>.popin-day-hours {
            display: none;
        }

        &:hover {
            z-index: 2;
        }

        .popin-day-hours {
            position: absolute;
            background-color: var(--color-white);
            padding: 10px;
            border-radius: var(--radius-m);
            bottom: 50px;
            left: 5px;
            display: grid;
            gap: var(--gap-xs);

            >div {
                background-color: #EEEEEE;
                color: var(--color-gray);
                font-size: clamp(12px, 1.8vw, 14px);
                padding: 5px;
                border-radius: var(--radius-m);
                font-weight: var(--fw-regular);
                width: 125px;
                text-align: center;
            }
        }
    }

}

#single-center,
#single-cabinet {
    display: grid;
    width: 100%;
    max-width: 100%;
    font-family: var(--font-primary);
    position: relative;
    z-index: 1;

    h1{
        font-family: var(--font-primary);
        font-weight: var(--fw-medium);
        font-size: clamp(24px, 4vw, 32px);
        color: var(--color-text);
        text-transform: uppercase;
        margin: clamp(12px, 2vw, 16px) 0;
        line-height: 30px;
    }
    h2{
        font-size: 20px;
        line-height: 30px;
        font-weight: 600;
        letter-spacing: 0px;
    }

    h5 {
        font-family: var(--font-secondary);
        font-weight: var(--fw-regular);
        font-size: clamp(18px, 3vw, 23px);
        color: var(--color-text);
        display: flex;
        align-items: center;
        gap: var(--gap-xs);
        margin-bottom: clamp(12px, 2vw, 16px);

        .icon-title {
            height: 1em;
            width: auto;
            flex-shrink: 0;
        }
    }

    h6 {
        font-family: var(--font-primary);
        font-size: clamp(16px, 2.5vw, 18px);
        font-weight: var(--fw-semibold);
        margin-bottom: 8px;
    }

    p {
        font-family: var(--font-primary);
        font-weight: var(--fw-medium);
        font-size: clamp(14px, 2vw, 16px);
        color: var(--color-text);
        line-height: 1.5;
    }

    a {
        text-decoration: none;
    }
    .flex-info{
        display:flex;
        gap: 10px;
        align-items: center;
        margin-bottom:15px ;
        p{
            margin: 0;
        }
    }
}

/* --- Top sections (Centre & Cabinet) --- */
#single-center-top{
    display: flex;
    flex-direction: column;
    gap: 50px;
    h1 {
        font-size: 32px;
        text-align: center;
        line-height: 38px;
    }
}
#single-cabinet-top {
    display: grid;
    gap: var(--gap-md);

    @media(width >=768px) {
        grid-template-columns: 1fr 1fr;
        gap: var(--gap-lg);
    }

    .photo-centre,
    .photo-cabinet {
        width: 100%;
        overflow: hidden;
        border-radius: var(--radius-m);

        img {
            width: 100%;
            max-height: 400px;
            object-fit: cover;
            display: block;
        }
    }

    .infos-cabinet {
        display: flex;
        flex-direction: column;
        gap: var(--gap-xs);
    

        p {
            color: var(--color-secondary);
            font-size: clamp(18px, 2.5vw, 20px);
        }

        .adresse-line {
            display: flex;
            align-items: center;
            gap: var(--gap-xs);
            color: var(--color-text-light);
            text-transform: uppercase;
            font-size: clamp(12px, 1.8vw, 15px);
            font-weight: var(--fw-medium);
        }

        .adresse {
            height: 1.2em;
            width: auto;
            flex-shrink: 0;
        }
    }

    .centre-spec {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        gap: var(--gap-sm);
        margin-top: 10px;
        text-transform: uppercase;
        font-size: clamp(12px, 1.8vw, 14px);

        @media(width >=480px) {
            flex-direction: row;
        }

        .spec-item {
            display: flex;
            flex-direction: column;
            gap: var(--gap-xs);

            .spec-label {
                font-weight: var(--fw-medium);
                display: block;
                color: var(--color-primary);
            }

            img {
                height: 1.2em;
                width: auto;
            }

            .spec-content {
                display: flex;
                align-items: center;
                gap: 4px;
                color: var(--color-text);
                font-weight: var(--fw-medium);
            }
        }
    }

    .centre-price {
        background-color: var(--color-primary);
        color: var(--color-white);
        font-weight: var(--fw-semibold);
        font-size: clamp(16px, 2.5vw, 20px);
        text-transform: uppercase;
        padding: 10px 35px;
        margin-top: 20px;
        border-radius: var(--radius-sm);
        text-align: center;

        a {
            color: inherit;
        }

        @media(width >=480px) {
            width: fit-content;
            min-width: 250px;
        }
    }
}

/* Infobulles horaires */
.day-info-wrapper {
    position: relative;
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
    cursor: help;
    padding: 0 !important;
    background-color: rgba(0, 0, 0, 0) !important;

    /* Icone "i" */
    .info-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background-color: #839d82;
        color: #ffffff;
        font-family: serif;
        font-style: italic;
        font-weight: bold;
        font-size: 14px;
        border: 1px solid #ccc;
    }

    /* Infobulle */
    .info-tooltip {
        visibility: hidden;
        opacity: 0;
        width: 200px;
        background-color: var(--color-primary);
        color: var(--color-white);
        text-align: center;
        border-radius: 6px;
        padding: 8px;
        font-size: clamp(12px, 1.8vw, 14px);
        line-height: 1.2;
        position: absolute;
        z-index: 100;
        top: 125%;
        left: 50%;
        transform: translateX(-50%);
        transition: opacity 0.3s;
    }

    /* Flèche sur l'infobulle */
    .info-tooltip::after {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 50%;
        margin-left: -5px;
        border-width: 5px;
        border-style: solid;
        border-color: transparent transparent var(--color-primary) transparent;
    }
}

/* Afficher l'infobulle au survol */
.day-info-wrapper:hover .info-tooltip {
    visibility: visible;
    opacity: 1;
}

/* --- Middle sections (Centre & Cabinet) --- */
#single-center-middle,
#single-cabinet-middle {
    display: grid;
    gap: var(--gap-lg);

    @media(width >=920px) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
        gap: clamp(40px, 6vw, 50px);
    }

    @media(width >=768px) and (width < 1024px) {
        grid-template-columns: 1fr;

        .middle-right {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: var(--gap-md);

            .centre-contact {
                grid-column: 1 / -1;
            }
        }
    }

    .middle-left,
    .middle-center,
    .middle-right {
        display: flex;
        flex-direction: column;
        gap: var(--gap-md);
    }
    .middle-center {
        grid-column: 1 / -1;
    }
    
}

#single-center-middle > *,
#single-cabinet-middle > *,
#single-center-top > *,
#single-cabinet-top > * {
    min-width: 0;
}
.bloc-info {
    background-color: var(--color-white);
    border-radius: var(--radius-special);
    padding: clamp(16px, 3vw, 40px);
    margin-bottom: 20px;

    ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }
}

.bloc-info-green {
    background-color: var(--color-primary);
    border-radius: var(--radius-md) var(--radius-md) var(--radius-md) 39px;
    padding: clamp(16px, 3vw, 40px);
    text-align: center;

    h6 {
        color: var(--color-white);
        font-family: var(--font-primary);
        font-size: clamp(18px, 2.5vw, 22px);
        font-weight: var(--fw-medium);
        margin-bottom: 12px;
    }

    p {
        color: #FFFFFFC7;
        font-family: var(--font-primary);
        font-size: clamp(14px, 2vw, 16px);
        font-weight: var(--fw-regular);
        margin-bottom: 20px;
    }

    .btn-contact {
        display: flex;
        align-items: center;
        text-align: center;
        justify-content: center;
        gap: var(--gap-xs);
        margin-bottom: 12px;
        border-radius: var(--radius-sm);
        padding: 12px 20px;
        font-size: clamp(14px, 2vw, 16px);
        font-weight: var(--fw-regular);
        transition: all 0.3s ease;

        .icon-contact {
            width: 20px;
        }
    }

    .btn-contact-email {
        background-color: var(--color-white);
        color: var(--color-primary);
    }

    .btn-contact-phone {
        background-color: var(--color-primary-light);
        color: var(--color-white);
    }
}

/* --- Equipements & Personnel --- */
.centre-equipements .equipements-list {
    display: grid;
    gap: var(--gap-xs);
}

#single-cabinet .equipements-bubbles {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#single-cabinet .equipement-bubble {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background-color: #f3f4f6;
    border: 1px solid #e5e7eb;
    font-weight: var(--fw-medium);

}

#single-cabinet .equipement-bubble .equipement-icon {
    height: 20px;
    width: 20px;
    flex-shrink: 0;
}

#single-cabinet .equipement-bubble .equipement-label {
    font-size: clamp(13px, 1.8vw, 15px);
    color: var(--color-text);
    white-space: nowrap;
}

/* cards doctor quand elles sont dans la partie gauche du site */
.centre-praticien-sidebar {
    margin-top: 20px;

    .praticiens-list-column {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 8px;

        .doctor-card-horizontal {
            width: 100%;
            box-sizing: border-box;
            text-decoration: none;
            color: inherit;

            .doc-visual {
                img {
                    width: 120px;
                    height: 120px;
                    border-radius: 8px;
                    object-fit: cover;
                }
            }

            .doc-infos {
                h6 {
                    margin: 0;
                    font-size: clamp(14px, 2vw, 16px);
                    font-weight: var(--fw-medium);
                    color: #333;
                }

                .doc-job {
                    font-size: clamp(12px, 1.8vw, 14px);
                    color: #777;
                    display: block;
                    margin-top: 4px;
                    line-height: 1.2;
                }
            }
        }
    }
}

/* --- Cards Cabinets quand elles sont dans la partie gauche du site --- */
.centre-cabinets-under-doctors .medical-cabinets-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    align-items: start;
}

@media (max-width: 1024px) {
    .centre-cabinets-under-doctors .medical-cabinets-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .centre-cabinets-under-doctors .medical-cabinets-grid {
        grid-template-columns: 1fr;
    }
}
#single-center-middle{
    .equipements-container {
        display: flex;
        flex-wrap: wrap;
        gap: var(--gap-sm);
    }
    /* --- Equipements & Personnel --- */
    .centre-equipements .equipements-list {
        display: grid;
        gap: var(--gap-xs);
    }

    .equipements-bubbles {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

     .equipement-bubble {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 10px;
        border-radius: 999px;
        background-color: #f3f4f6;
        border: 1px solid #e5e7eb;
        font-weight: var(--fw-medium);

    }

   .equipement-bubble .equipement-icon {
        height: 20px;
        width: 20px;
        flex-shrink: 0;
    }

    .equipement-bubble .equipement-label {
        font-size: clamp(13px, 1.8vw, 15px);
        color: var(--color-text);
        white-space: nowrap;
    }
}
#single-cabinet-middle {
    .equipements-container {
        display: flex;
        flex-wrap: wrap;
        gap: var(--gap-sm);
    }

    .equipements-colonne {
        flex: 1;
        min-width: 200px;

        h6 {
            font-weight: var(--fw-semibold);
            margin-top: 0;
            margin-bottom: 10px;
        }
    }

    .specialites-list li {
        display: flex;
        align-items: center;
        gap: var(--gap-xs);
        padding: 5px 0;
        font-weight: var(--fw-medium);
        font-size: clamp(14px, 2vw, 16px);
        color: var(--color-text);
    }
}

.centre-personnel {
    display: grid;
    gap: var(--gap-md);

    @media(width >=640px) {
        grid-template-columns: 1fr 1fr;
    }

    li {
        color: var(--color-text);
        font-weight: var(--fw-medium);
        font-size: clamp(14px, 2vw, 16px);
    }
}

.bloc-info .horaires-list {
    display: flex;
    flex-direction: column;
    gap: 5px;

    .horaire-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 6px 10px;
        font-size: clamp(14px, 1.8vw, 16px);

        &.closed {
            opacity: 0.6;

            .day-hours {
                color: #999;
                font-style: italic;
            }
        }

        .day-name {
            font-weight: var(--fw-semibold);
            color: #333;
            padding-right: 8px;
        }

        .day-hours {
            font-weight: var(--fw-medium);
        }
    }
}

/* Problème footer trop haut : */
#dashboard-new-cabinet{
    margin-bottom: 100px;
}



/* --- Bottom section --- */
#single-center-bottom {
    display: grid;
    gap: var(--gap-lg);

    .centre-praticien {
        padding: 25px;
        h5 {
            margin-bottom: 10px;
        }
    }

    .doctors-grid{
        display: grid;
        gap: var(--gap-sm);
        grid-template-columns: 1fr;
        margin-top: 25px;

        @media(width >=770px) {
            grid-template-columns: repeat(2, 1fr);
            width: 75%;
            margin: 0 auto;
            margin-top: 25px;
            gap: 25px;
        }

        @media(width >=1024px) {
            margin: 0;
            width: 100%;
            gap: var(--gap-sm);
        }

        @media(width >=1400px) {
            grid-template-columns: repeat(3, 1fr);
        }
    }
    .centre-cabinets .medical-cabinets-grid {
        display: grid;
        gap: var(--gap-sm);
        grid-template-columns: 1fr;

        @media(width >=640px) {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    .centre-cabinets .medical-cabinets-grid {
        margin-bottom: clamp(30px, 6vw, 50px);
    }

    .praticien-card {
        background-color: #F0F6F4;
        border-radius: var(--radius-xl);
        overflow: hidden;
        display: flex;
        flex-direction: column;
        height: 100%;
        container-type: inline-size;
        container-name: doctor-card;

        @container doctor-card (width > 400px) {
            flex-direction: row;

            .doc-infos {
                width: 100%;
            }
        }

        &:hover .doc-photo img {
            transform: scale(1.05);
        }
    }

    .doc-photo {
        width: 100%;
        aspect-ratio: 3/3;
        flex-shrink: 0;
        position: relative;
        overflow: hidden;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: top;
            display: block;
            transition: transform 0.3s ease;
        }
    }

    .doc-infos {
        padding: 20px;
        display: flex;
        flex-direction: column;
        gap: var(--gap-xs);
        flex-grow: 1;

        h6 {
            font-size: clamp(15px, 2vw, 17px);
            font-weight: var(--fw-medium);
            line-height: 28px;
            margin: 0;
        }

        .doc-spec {
            flex-grow: 1;

            p {
                font-size: clamp(12px, 1.8vw, 14px);
                font-weight: var(--fw-semibold);
                color: var(--color-text-lighter);
                margin: 0;
            }
        }

        .link-profile {
            display: inline-flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            color: var(--color-text);
            font-size: clamp(13px, 1.8vw, 15px);
            font-weight: var(--fw-medium);
            text-transform: uppercase;
            transition: transform 0.3s ease;

            .icon-arrow {
                height: 1em;
                width: auto;
                margin-left: auto;
                transition: transform 0.3s ease;
            }

            &:hover {
                font-weight: var(--fw-semibold);

                .icon-arrow {
                    transform: translateX(4px);
                }
            }
        }
    }
}

/* --- Bottom section Cabinet --- */
#single-cabinet-bottom {
    display: grid;
    gap: var(--gap-lg);
    margin-top: 20px;

    .centre-autres-cabinets h5 {
        margin-bottom: 10px;
    }

    .medical-cabinets-grid {
        display: grid;
        gap: var(--gap-sm);
        grid-template-columns: 1fr;

        @media(width >=640px) {
            grid-template-columns: repeat(2, 1fr);
        }

        @media(width >=1024px) {
            grid-template-columns: repeat(3, 1fr);
        }

        @media(width >=1400px) {
            grid-template-columns: repeat(4, 1fr);
        }
    }
}

/* --- Search Doctors Form --- */
.search-doctors-form-container {

    .search-form-title {
        font-family: var(--font-secondary);
        font-weight: var(--fw-regular);
        font-size: clamp(24px, 5vw, 26px);
        color: var(--color-text);
        margin-bottom: clamp(20px, 4vw, 25px);
        text-align: center;
    }
}

.search-doctors-form {
    display: grid;
    gap: var(--gap-sm);
    grid-template-columns: 1fr;

    .form-group {
        display: flex;
        flex-direction: column;
        gap: var(--gap-xs);

        label,p {
            font-size: clamp(14px, 2vw, 16px);
            font-weight: var(--fw-medium);
            color: var(--color-text);
            margin-bottom: 0px;
        }

        .container-choice{
            display: flex;
            #visio{
                margin-left: 15px;
            }
        }

        .form-control {
            margin: 0;
            width: 100%;
            padding: 14px 16px;
            border: 1px solid var(--color-border);
            border-radius: var(--radius-sm);
            font-size: clamp(14px, 2vw, 16px);
            font-family: var(--font-primary);
            color: var(--color-text);
            background-color: var(--color-white);
            transition: all 0.3s ease;

            &:focus {
                border-color: var(--color-primary);
                outline: none;
                box-shadow: 0 0 0 3px var(--color-primary-lighter);
            }

            &::placeholder {
                color: var(--color-primary);
            }
        }

        select.form-control {
            cursor: pointer;
            appearance: none;
            background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M1 1L6 6L11 1" stroke="%23839D83" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
            background-repeat: no-repeat;
            background-position: right 16px center;
            background-size: 12px;
            padding-right: 40px;
        }
    }

    .btn-search-doctors {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--gap-xs);
        padding: 16px 28px;
        background-color: var(--color-primary);
        color: var(--color-white);
        border: none;
        border-radius: var(--radius-sm);
        font-size: clamp(14px, 2vw, 16px);
        font-weight: var(--fw-bold);
        cursor: pointer;
        transition: all 0.3s ease;
        white-space: nowrap;

        &:active {
            transform: translateY(0);
        }
    }
}

/* --- Carousel Home Page --- */
.swiper.carousel-centres,
.swiper.carousel-cabinets,
.swiper.carousel-estates
 {
    position: relative !important;
    padding: 0 20px;
    margin: 0 -10px;
}

.swiper-wrapper {
    padding-bottom: 50px !important;
    padding-top: 50px !important;
    background-color: transparent !important;
}

.swiper-scrollbar {
    display: block !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 10px !important;
    width: calc(100% - 20px) !important;
    height: 5px !important;
    border-radius: 4px !important;
    background-color: #A7C3A747 !important;
    opacity: 1 !important;
}

.swiper-scrollbar-lock {
    display: block !important;
}

.swiper-scrollbar-drag {
    background-color: var(--color-primary) !important;
}

.swiper-slide {
    height: auto !important;
}

.carousel-header {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);

    img {
        height: 2em;
        width: auto;
        min-width: 2px;
    }

    @media (width < 1024px) {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--gap-xs);

        img {
            display: none;
        }
    }
}

.carousel-title {
    font-family: var(--font-secondary);
    font-weight: var(--fw-regular);
    font-size: clamp(18px, 3vw, 27px);
    line-height: 1;
    color: var(--color-text);
    margin: 0;

}

.carousel-link {
    text-decoration: underline;
    color: var(--color-primary);
    font-family: var(--font-secondary);
    font-size: clamp(18px, 3vw, 27px);
    font-weight: var(--fw-regular);
    line-height: 1;
    transition: color 0.3s ease;

    &:hover {
        color: #8D9F95;
    }
}

/* --- Responsive global --- */

.container {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;
    box-sizing: border-box;
}
@media screen and (max-width: 1220px) {
    .container {
        padding: 0 50px;
    }
    
}


/* --- PhotoSwipe --- */
.photo-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
    max-height: 400px;
    overflow: hidden;
    border-radius: var(--radius-m);
    a{
        width: 100%;
        height: 100%;
        display: block;
    }
    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
}

.btn-photos {
    position: absolute;
    bottom: 15px;
    right: 15px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
    background-color: #F3F4F5;
    border: none;
    padding: 8px 15px;
    border-radius: var(--radius-sm);
    cursor: pointer;
}

.photo-icon-btn {
    width: 20px;
    height: auto;
    display: block;
}

.txt-btn-photos {
    font-size: clamp(14px 1.5vw, 16px);
    font-weight: var(--fw-medium);
    color: var(--color-primary);
}

/* --- Custom Select Styles --- */
.sv-nice-select {
    appearance: base-select;
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-m);
    height: 40px;
    padding: 0 35px 0 15px;
    box-sizing: border-box;
    background-image: var(--sv-arrowicon);
    background-position: center right 8px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    margin-bottom: 0;
    background-color: var(--color-white) !important;
    font-size: clamp(14px, 2vw, 16px);
    line-height: 2.8em;

    ::selected-value {
        font-weight: var(--fw-semibold);
        color: var(--color-primary);
        font-family: 'Arial', sans-serif;
        font-size: clamp(14px, 2vw, 16px);
        display: flex;
        align-items: center;
    }

    &:focus {
        outline: none;
        background-color: var(--color-white) !important;
        color: initial;
    }

    &::picker(select) {
        appearance: base-select;
        background-color: var(--color-white);
        border: 1px solid var(--color-primary);
        border-radius: var(--radius-md);
        padding: 6px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        transition: opacity 0.2s, transform 0.2s;
    }

    &::picker-icon {
        display: none
    }

    option {
        &[value=""] {
            display: none;
        }

        padding: 8px 12px;
        border-radius: 6px;
        color: #333;
        line-height:1.4em;

        &::checkmark {
            display: none
        }

        &:checked {
            background-color: var(--color-primary);
            color: var(--color-white);
        }

        &:not(:checked):hover {
            background-color: rgba(131, 157, 131, 0.1);
        }
    }
}

/* Ensure filter dropdown appears above other content */
#Content:has(.filters-content.visible) {
    z-index: 0; /* problème avec la nav si à 99 */
}

/* --- Tabs Composant Tarifs --- */

.tabs-header {
    display: flex;
    border-bottom: 1px solid #e0e0e0;
    gap: 25px;
    align-items: center;
    padding: 0 4px;
    flex-wrap: nowrap;
}

.tab-btn {
    flex: 0 1 auto;
    padding: 8px 0px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-weight: var(--fw-medium);
    color: var(--color-gray);
    white-space: nowrap;
    min-width: 56px;
    margin-bottom: -1px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tab-btn.disabled {
    color: #ccc;
    cursor: not-allowed;
    font-weight: var(--fw-medium);
}

.tabs-body {
    padding: 20px 0 ;
    min-height: 100px;
}

.mobile-panel {
    display: none;
}

@media (min-width: 821px) {
    .bloc-info.cabinet-tarifs .mobile-panel {
        display: none !important;
    }
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

/* --- Tranches --- */
.tranche-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    margin-bottom: 6px;
    border-radius: 5px;

    .tranche-label {
        color: var(--color-gray);
    }

    &:hover {
        background: #E3EFE3;

        .tranche-label {
            color: var(--color-text);
        }
    }

    .tranche-col-name {
        display: flex;
        align-items: center;
        gap: var(--gap-xs);
        flex: 3 1 0;
        font-size: clamp(14px, 2vw, 16px);
        color: var(--color-text);
        font-weight: var(--fw-regular);

        .tranche-time {
            color: var(--color-border);
            font-size: clamp(14px, 2vw, 16px);
        }
    }

    .tranche-col-price {
        flex: 0 0 auto;
        margin-left: auto;
        text-align: right;
        font-weight: var(--fw-medium);
        color: var(--color-text);
        font-size: clamp(14px, 2vw, 16px);
        white-space: nowrap;
    }
}

@media (max-width: 820px) {
    .tabs-header {
        flex-direction: column;
        gap: var(--gap-xs);
        align-items: stretch;
        padding: 8px 6px;
        border-bottom: none;
    }

    .tab-btn {
        display: block;
        width: 100%;
        text-align: left;
        padding: 10px 12px;
        background: var(--color-white);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-m);
        min-width: 0;
        white-space: normal;
        color: var(--color-gray);
        font-size: clamp(14px, 3vw, 16px);
    }

    .tabs-body {
        display: none;
        padding-top: 10px;
    }

    .mobile-panel {
        display: none;
        padding: 10px 12px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-m);
        background: var(--color-white);
        margin-top: 6px;
    }

    .tranche-row {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: var(--gap-xs);
    }

    .tranche-col-name {
        min-width: 0;
        flex: 1 1 auto;
    }

    .tranche-time {
        flex: 0 0 auto;
        color: var(--color-gray);
        font-size: clamp(12px, 2vw, 14px);
    }

    .tranche-col-price {
        margin-left: 8px;
        flex: 0 0 auto;
    }
}

/* --- Lien dans le footer --- */
.copyright a {
    text-decoration: underline;
}

.copyright a:visited {
    text-decoration: underline;
}

/* --- Page Mot de passe oublié --- */
.alert {
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
}

.alert-error {
    background-color: #fde8e8;
    color: #c81e1e;
    border: 1px solid #fbd5d5;
}

.alert-success {
    background-color: #def7ec;
    color: #03543f;
    border: 1px solid #bcf0da;
}

.mfm-forgot-password-wrap {
    max-width: 400px;
    margin: 0 auto;
    margin-top: 80px;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #f9f9f9;
}

.mfm-forgot-password-wrap input[type="text"] {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.mfm-forgot-password-wrap input[type="submit"] {
    background-color: #839d83;
    color: #fff;
    border: none;
    padding: 10px 20px;
    cursor: pointer;

    &:hover {
        background-color: #6f8c6f;
    }
}

/* --- Popup publication praticien --- */
.sc-is-hidden {
    display: none !important;
}

.sc-pricing-practicient-dialog {
    border: none;
    margin: auto;
    padding: 0;
    width: min(980px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    background: transparent;
}

.sc-pricing-practicient-dialog::backdrop {
    background: rgba(0, 0, 0, 0.5);
}

.sc-pricing-popup {
    position: relative;
    background: #fff;
    border-radius: 20px;
    padding: 30px;
    max-height: calc(100vh - 24px);
    overflow: auto;
}

.sc-pricing-close {
    position: absolute;
    top: 12px;
    right: 12px;
    border: none;
    border-radius: 9999px;
    padding: 8px 14px;
    background: #0f172a;
    color: #fff;
    cursor: pointer;
}

.sc-pricing-step-choices h3 {
    text-align: center;
    margin-bottom: 8px;
}

.sc-pricing-intro {
    text-align: center;
    margin-bottom: 18px;
    color: #52525b;
}

.sc-pricing-options {
    display: grid;
    gap: 14px;
}

.sc-pricing-option-card {
    border: 1px solid #eaeaea;
    border-radius: 16px;
    padding: 18px;
    text-align: center;
    display: grid;
    gap: 10px;
}

.sc-pricing-option-card img {
    width: 36px;
    margin: 0 auto;
}

.sc-pricing-option-card h4 {
    margin: 0;
    font-size: 22px;
}

.sc-pricing-option-card p {
    margin: 0;
    color: #52525b;
}

.sc-pricing-main-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 9999px;
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 18px;
    line-height: 1;
    text-decoration: none !important;
    background: #839d83;
    color: #fff !important;
    font-weight: 700;
    cursor: pointer;
}

.sc-pricing-main-btn:hover,
.sc-pricing-main-btn:focus {
    background: #0f172a;
    color: #fff !important;
    text-decoration: none !important;
}

button.sc-pricing-main-btn:hover,
button.sc-pricing-main-btn:focus {
    background: #0f172a !important;
    color: #fff !important;
}

.sc-pricing-back-btn {
    border: none;
    border-radius: 9999px;
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 16px;
    line-height: 1;
    background: #e5e7eb;
    color: #1f2937;
    cursor: pointer;
}

.sc-pricing-form-subtitle {
    margin-bottom: 14px;
    color: #52525b;
}

.sc-pricing-form {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sc-pricing-form label {
    display: grid;
    gap: 6px;
}

.sc-pricing-form label span {
    font-weight: 600;
    color: #334155;
    font-size: 13px;
}

.sc-pricing-form input,
.sc-pricing-form select,
.sc-pricing-form textarea {
    width: 100%;
    margin: 0;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 10px 12px;
    box-sizing: border-box;
}

.sc-pricing-form-full {
    grid-column: 1 / -1;
}

.sc-pricing-form-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    button {
        margin:0;
    }
}

.sc-pricing-form-success {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #ecfdf5;
    color: #047857;
}

.sc-pricing-form-error {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fef2f2;
    color: #b91c1c;
}

@media (min-width: 960px) {
    .sc-pricing-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .sc-pricing-popup {
        padding: 16px;
    }
    .sc-pricing-form {
        grid-template-columns: 1fr;
    }
}

/* Princing Praticien */

.sc_princing_practicient{
    min-height: 100vh;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    font-family: var(--font-secondary);

    .btn-toggle-choice{
        width: 300px;
        height: 50px;
        background-color: var(--color-white);
        border-radius: 25px;
        display: flex;
        position: relative;
        margin-top: 25px;
        padding: 5px;
        .toggle{
            width: 50%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 1;
            cursor: pointer;
            p{
                margin: 0;
                color: var(--color-white);
                font-weight: var(--fw-regular);
                font-size: 17px;
                transition: all 0.5s;
            }
        }
        .inset-toggle{
            width: 50%;
            height: 85%;
            z-index: 0;
            background-color:#8CA095;
            border-radius: 25px;
            position: absolute;
            top: 50%;
            left: 5px;
            transform: translateY(-50%);
            transition: all 0.5s;
        }
        .toggle-active{
            left: 145px;
        }
        .toggle-annually{
            p{
                color: var(--color-text);
            }
        }
        .bonus{
            background-color: var(--color-white);
            border-radius: 5px;
            padding: 2.5px 15px;
            position: absolute;
            right: -40%;
            bottom: -75%;
            display: flex;
            justify-content: center;
            align-items: center;
            transform: rotate(-15deg);
            z-index: 5;
            p{
                font-size: 12px;
                font-weight:900;
                color: var(--color-text);
                margin: 0;
            }
            @media screen and (max-width:600px){
                right: -10%;
                transform: rotate(-0deg);
                bottom: -85%;
                margin-right: 5px;
            }
        }

        .bonus::after{
            content: "";
            position: absolute;
            top: 2%;
            left: 40%;
            transform: translateY(-50%) rotate(90deg);
            width: 25px;
            height: 35px;
            background-color: white;
            clip-path: polygon(50% 0, 50% 0%, 50% 100%, 0 85%);
            border-radius: 10px;
        }
    &:has(.inset-toggle.toggle-active){
        .toggle-annually{
            p{
                color: var(--color-white);
            }
        }
        .toggle-monthly{
            p{
                color: var(--color-text);
            }
        }
    }
}
    .content-forfait{
        margin-top: 115px;
        margin-bottom: 150px;
        display: flex;
        width: 90%;
        justify-content: center;
        gap: 25px;
        @media screen and (max-width: 1200px){
            flex-direction: column;
            align-items: center;
        }
        @media screen and (max-width: 500px){
            width: 100%;
        }
        .plan-payant{
            border-bottom: solid 4px #AFC9BB;
            border-left: solid 4px #AFC9BB;
            border-right: solid 4px #AFC9BB;
            @media screen and (max-width:1200px){
                margin-top: 55px;
            }
        }
        .block{
            width: 400px;
            background-color: var(--color-white);
            padding: 25px 50px;
            border-radius: 10px;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            position: relative;
            z-index: 1;
            @media screen and (max-width:1200px){
                padding-bottom: 100px;
            }
            @media screen and (max-width: 500px){
                width: 100%;
            }

            .recom{
                width: 102%;
                position: absolute;
                top: -55px;
                left: -3.5px;
                background-color: #496053;
                height: 70px;
                display: flex;
                justify-content: center;
                align-items: center;
                z-index: 0;
                border-top-left-radius: 10px;
                border-top-right-radius: 10px;
                border-top: solid 4px #AFC9BB;
                border-left: solid 4px #AFC9BB;
                border-right: solid 4px #AFC9BB;
                p{
                    font-size: 24px;
                    color: white;
                    font-weight: 400;
                    margin: 0;
                }
            }
            h2{
                font-size: 20px;
                color: var(--color-text);
                font-weight: 700;
                margin-left: 25px;
            }
            .prix{
                font-size: 40px;
                color:#8CA095 ;
                font-weight: 700;
                margin-left: 25px;
            }
            #btn-basique{
                background-color: #496053;
            }
            .chose_plan{
                width: 280px;
                height: 55px;
                background-color: #8CA095;
                border-radius: 30px;
                text-align: center;
                align-self: center;
                color: white;
                margin-top: 25px;
                font-size: 18px;
                @media screen and (max-width: 500px){
                    width: 90%;
                }
            }
            .info-block{
                align-self: center;
                width: 300px;
                height: 200px;
                background-color: #ECF2ED;
                border-radius: 10px;
                padding: 15px;
                font-family: var(--font-primary);
                overflow: hidden;
                position: relative;
                margin-top: 25px;
                @media screen and (max-width: 500px){
                    width: 90%;
                }
                p{
                    font-size: 11px;
                    color: black;
                    font-weight: 500;
                    margin: 0;
                    margin-bottom: 10px;
                }
                ul{
                    list-style: disc;
                    margin-left: 15px;
                    li{
                        font-size: 12px;
                        color: black;
                        font-weight: 500;
                        line-height: 15px;
                        margin-bottom: 10px;
                        &::marker{
                            color: #8CA095;
                        }
                    }
                }
            }
            .info-block::after{
                content:"";
                width: 100%;
                height: 5px;
                position: absolute;
                background-color: #8CA095;
                z-index: 1;
                top: 0%;
                left: 0%;
            }
            .fiche{
                margin-top: 10px;
                display: flex;
                flex-direction: column;
                flex-grow: 1;
                h4{
                    font-size: 14px;
                    font-weight: 700;
                    text-transform: uppercase;
                    margin-top: 15px;
                    margin-bottom: 0;
                }
                ul{
                    list-style: none;
                    position: relative;
                    li{
                        display: flex;
                        gap: 10px;
                        align-items: center;
                        font-size: 13px;
                        color: black;
                        font-weight: 600;
                        font-family: var(--font-primary);
                        &::before{
                            content: "";
                            display: block;
                            width: 14px;
                            height: 14px;
                            background-image: url('dist/img/icons/icon-validity.png');
                            background-size: contain;
                            background-repeat: no-repeat;
                        }
                    }
                    .li-sur{
                        font-weight: 700;
                        text-decoration: underline;
                    }
                }
                .unvalide{
                    li{
                        color: #B0B0B0;
                        &::before{
                            background-image: url('dist/img/icons/icon-unvalidity.png');
                        }
                    }
                } 

                .bonus-header {
                    margin-top: auto;
                }

            } 

        } 
    } 
}
/* ========== TOGGLE HORIZONTAL page publication ========== */

/* Centrage sur la page */
.toggle-horizontal-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Conteneur principal du toggle */
.toggle-horizontal {
    display: inline-flex;
    padding: 2px;
    align-items: center;
    border-radius: 86px;
    border: 1px solid #839D83;
    background: #F0F6F4;
}

/* Style commun aux deux onglets */
.toggle-horizontal__tab {
    display: flex;
    height: 46px;
    padding: 2px 20px;
    justify-content: center;
    align-items: center;
    gap: 5px;
    border-radius: 146px;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: background 0.3s ease, color 0.3s ease;
    color: #CAD5CA;
    text-align: center;
    font-family: Montserrat, sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

/* Supprimer le hover par défaut des boutons */
.toggle-horizontal__tab:hover,
.toggle-horizontal__tab:focus {
    outline: none;
    background: transparent;
    color: #CAD5CA;
}

/* Icône inactive : grise */
.toggle-horizontal__tab img {
    width: auto;
    transition: filter 0.3s ease;
    filter: brightness(0.5) opacity(0.6);
}

/* Tailles spécifiques des icônes */
.toggle-horizontal__tab .toggle-icon-key {
    width: 20px;
    height: auto;
    aspect-ratio: 103 / 50;
}

.toggle-horizontal__tab .toggle-icon-accueil {
    width: 14px;
    height: 14px;
}

/* État actif */
.toggle-horizontal__tab.active {
    background: #8ca095;
    color: #FFF;
    font-weight: 500;
}

/* Hover/focus sur onglet actif : garder le même style */
.toggle-horizontal__tab.active:hover,
.toggle-horizontal__tab.active:focus {
    background: #8ca095;
    color: #FFF;
}

/* Icône en blanc quand l'onglet est actif */
.toggle-horizontal__tab.active img {
    filter: brightness(0) invert(1);
}
/* ========== RESPONSIVE ========== */
@media (max-width: 768px) {
    .toggle-horizontal__tab {
        padding: 2px 14px;
        font-size: 13px;
        height: 40px;
    }
}

@media (max-width: 480px) {
    .toggle-horizontal__tab {
        padding: 2px 10px;
        font-size: 11px;
        height: 36px;
        gap: 4px;
    }

    .toggle-horizontal__tab .toggle-icon-key {
        width: 16px;
    }

    .toggle-horizontal__tab .toggle-icon-accueil {
        width: 12px;
        height: 12px;
    }
}
.button-animation-slide .button {
    transform-style: flat !important;
    transform: none !important;
    transition: none !important;
}

/* Single City */
.sv-city-header{
    padding-top: 100px;
    position: relative;
    h1{
        font-size: 2.5rem; 
        color: #1f2937;
        position: relative;
        margin: 0; 
        z-index: 1;
        span {
            display: inline;
            padding: 0 4px;
            background-color: var(--color-primary-light);
            opacity: 75%;
            border-radius: 5px;
            height: 15px;
            position: absolute;
            width: 81%;
            bottom: 8px;
            left: 0;
            z-index: -1;
        }
    }
    p{
        line-height: 20px;
        margin-top: 15px;
        font-size: 15px;
        margin-bottom: 75px;
        color: var(--color-text);
    }
}
#sv-city{
    display: grid;
    gap: var(--gap-xs);
    margin-bottom: 100px;
  /* background-color: red; */
}

/* City Card */
.grid-city{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 40px;
    .city-card{
        width: 200px;
        height: 200px;
        border-radius: 10px;
        position: relative;
        overflow: hidden;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        .city-link{
            inset: -0;
            position: absolute;
            background-color: rgba(0, 0, 0, 0.500);
            color: white;
            font-weight: 500;
            font-size: 20px;
            margin: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            transition: all 0.3s ease;
        }
    }
    .city-card:hover .city-link{
        background-color: #e3efe36b;
        color: black;
        text-shadow: white 0px 0px 5px;
    }
}


.politique_cookies button{
    padding:0;
    background-color: transparent;
}

/* Provinces */
.title-province{
    font-size: 2.5rem; 
    color: #1f2937;
    position: relative;
    margin: 0; 
    z-index: 1;
    margin-top: 75px;
    span {
        display: inline;
        padding: 0 4px;
        background-color: var(--color-primary-light);
        opacity: 75%;
        border-radius: 5px;
        height: 15px;
        position: absolute;
        width: 75%;
        bottom: 8px;
        left: 0;
        z-index: -1;
    }
}
.search-province{
    display: flex;
    align-items: center;
    margin-top: 25px;
    height: 40px;
    gap: 10px;
    #search-province-input{
        border: solid 1px #777777;
        border-radius: 8px;
        box-sizing: border-box;
        margin: 0;
        height: 100%;
    }
    button{
        background-color: var(--color-primary);
        color: var(--color-white);
        font-family: var(--font-primary);
        font-weight: 400;
        font-size: clamp(14px, 2vw, 16px);
        border: none;
        border-radius: var(--radius-sm);
        cursor: pointer;
        padding: 0 10px;
        height: 100%;
        &:hover{
            background-color: var(--color-primary);
            color: white;
        }
    }
}
.province-section{
    margin: 25px 0px;
    h2{
        font-size: 2rem;
        margin: 0;
    }
}