/*
Theme Name: 	MFM Digital
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
*/

/* Theme customization starts here
-------------------------------------------------------------- */

    /**** Menu ****/

/* .menu-btn > a {
    background: #702c39;
    color: white !important;
    padding: 10px 20px !important;
    border-radius: 25px;
    transition: 0.5s ease;
}

.menu-btn > a:hover {
    background: #641423;
} */


/* Bloc Praticien HomePage */

#praticiens-grid{
    display:grid;
    gap:25px;

    .praticien-card{
        border-radius: 25px;
        background-color: #F0F2F4;
        overflow: hidden;
        position: relative;

        .cover-link{
            position: absolute;
            inset: -0;
            z-index: 1;
        }

        .container-img-praticien{
            width: 100%;
            height: 375px;
        }

        img{
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        p{
            margin-left: 25px;
            margin-bottom: 0px;
            font-size: 20px;
            font-weight: 500;
            margin-top: 25px;
            color: black;
            text-decoration: none;
        }
        .p-prof{
            margin-top: 0px;
            color: #702C39;
            font-size: 15px;
            font-weight: 600;
        }
        .btn-rdv-card{
            z-index: 2;
            padding: 10px 18px;
            border-radius: 50px;
            background-color: #702C39;
            color: white !important;
            font-size: 14px;
            font-weight: 600;
            text-decoration: none;
        }
        .container-arrow{
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 35px 25px 25px 25px;
        }
        .arrow{
            width: 25px;
            height: 15px;

            img{
                object-fit: contain;
            }
        }
    }

}
.praticien-search{
    background-color: #697c93;
    border-radius: 15px;
    padding: 150px 25px;
    h4{
        color: white;
        font-weight: 500;
        font-size: 30px;
        text-align: center;
        line-height: 30px;
    }
    .container-contact{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-top: 25px;
        gap: 5px;
        .contact{
            color: white;
            font-weight: 600;
            cursor: pointer;
            font-size: 20px;
            text-decoration: underline;
            margin: 0;
        }
        a{
            color: white !important;
            font-weight: 400;
            font-size: 21px;
            margin: 0;
        }
    }
}

/* *** Single praticien *** */

.container-single-praticien{
    width: 100%;
    min-height: 100vh;
    padding: 25px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    justify-content: space-between;
    margin-top: 100px;

    .praticien-left{
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;

        .img-single-praticien{
            border-radius: 20px;
            width: 100%;
            height: 500px;
            overflow: hidden;

            img{
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }
        #btn-rdv{
            margin-top: 25px;
            border-radius: 50px;
            padding: 15px 25px;
        }
    }

    }

    .praticien-right{
        width: 100%;


        .profession{
            width: 190px;
            height: 40px;
            background-color: #F5F0F1;
            border-radius: 20px;
            margin-top: 50px;

            p{
                margin: 0;
                width: 100%;
                height: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                color: #702C39;
                font-size: 15px;
                font-weight: 500;
            }
        }

        h1{
            margin-top: 20px;
        }

        hr{
            border: solid 1px black;
            width: 90%;
            margin: 15px 0;
        }

        p{
            color: black;
            a{
                color: black;
            }
        }

        .horaire-grid{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
            margin-top: 25px;

            .jour{
                text-align: center;
                border: solid 1px #EAE9E5;
                padding: 10px;
                border-radius: 20px;
            }
        }
    }


/* *** Responsive *** */
@media screen and (width>=640px)
{
    #praticiens-grid{
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (min-width: 960px)
{
    #praticiens-grid{
        grid-template-columns: 1fr 1fr 1fr;
    }
    .container-single-praticien{
        .praticien-right{
            .horaire-grid{
                grid-template-columns: 1fr 1fr 1fr;
            }
        }
    }
}

@media screen and (min-width: 1240px)
{
    #praticiens-grid{
        &[data-cols="4"]{
            grid-template-columns: 1fr 1fr 1fr 1fr;
        }
    }

    .container-single-praticien{
        padding: 100px;
        flex-direction: row;

        .praticien-left{
            width: 25%;
        }

        .praticien-right{
            width: 70%;

            p{
                font-size: 18px;
            }

            .profession{
                p{
                    font-size: 18px;
                }
            }

            h2{
                margin-top: 75px;
            }
        }
    }
}

/* Popup recrutement */
.novia-popup{
    position: fixed;
    inset: 0;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.novia-popup.is-active{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.novia-popup__overlay{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 80px 20px 20px;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.55);
    overflow-y: auto;
}

.novia-popup__dialog{
    width: min(100%, 916px);
    min-height: 360px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    box-sizing: border-box;
    padding: 90px 55px 125px;
    border-radius: 24px;
    color: white;
    background-color: #6A7C94;
    background-image: url("images/bg-modal.png");
    background-repeat: no-repeat;
    background-position: right -25px bottom -20px;
    background-size: 210px auto;
    transform: translateY(-30px);
    transition: transform 0.25s ease;
}

.novia-popup.is-active .novia-popup__dialog{
    transform: translateY(0);
}

.novia-popup .novia-popup__close,
.novia-popup .novia-popup__close:hover{
    position: absolute;
    top: 22px;
    right: 22px;
    width: 44px;
    height: 44px;
    border: 0 !important;
    padding: 0;
    border-radius: 999px;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    z-index: 2;
}

.novia-popup__close::before,
.novia-popup__close::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 26px!important;
    height: 3px;
    background: #fff!important;
    border-radius: 2px;
    transform-origin: center;


}

.novia-popup__close::before{
    transform: translate(-50%, -50%) rotate(45deg);
}

.novia-popup__close::after{
    transform: translate(-50%, -50%) rotate(-45deg);
}

.novia-popup .novia-popup__close:hover{
    .novia-popup__close::before,
    .novia-popup__close::after{
        background: #fff !important;
        width: 26px!important;

    }
}

.novia-popup__content{
    max-width:628px;
    position: relative;
    z-index: 1;
}

.novia-popup__content h2{
    margin: 0 0 20px;
    text-align: center;
    color: white;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.15;
}

.novia-popup__content p{
    text-align: center;
    margin: 0 0 24px;
    color: white;
    font-size: 18px;
    line-height: 1.5;
}

.novia-popup__phone{
    color: white !important;
    text-align: center;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    &:hover{
        text-decoration: none;
    }
}

html.novia-popup-open,
body.novia-popup-open{
    overflow: hidden;
}
.forminator-join {
    input, .forminator-select,textarea{
        border-radius: 25px!important;
        background-color: #fff!important;

    }
    .select2-selection--multiple{
        border:none!important;
        border-radius: 25px!important;
        background-color: #fff!important;
    }
    .select2-results__option--selected{
        background-color: #702c39!important;
    }
    .forminator-button {
        width:100%!important;
        border-radius: 25px!important;
    }
}

@media screen and (max-width: 640px)
{
    .novia-popup__overlay{
        padding-top: 40px;
    }

    .novia-popup__dialog{
        min-height: 320px;
        padding: 35px 25px 115px;
        background-size: 160px auto;
        background-position: right 15px bottom 15px;
    }

    .novia-popup__content h2{
        font-size: 30px;
    }

}

#forminator-module-526 [role='radiogroup'] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    label{
        margin: 0;
    }

}

.container-single-cabinet {

    margin: 134px;
    margin-top: 50px;
    margin-bottom: 50px;
    padding: 30px 20px;
}

.cabinet-main {
    display: flex;
    gap: 40px;
}
.cabinet-banner{

    display: flex;
    margin-top:150px;
   align-items: center;
    justify-content: center;
    background-color:rgba(245, 240, 241, 1) ;
    height: 150px;
          color: rgba(112, 44, 57, 1);
    font-weight: 500;
    font-size: 38px;
    line-height: 65;
    letter-spacing: 2%;
}
.cabinet-left {
    flex: 2;
}

.cabinet-sidebar {
    flex: 1;
    min-width: 260px;
}

/* Galerie */
.cabinet-gallery {

    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    grid-template-rows: repeat(2,minmax(0,1fr));
    min-width: 0;
    min-height: 0;
    gap: 8px;
    margin-bottom: 30px;
    height: clamp(100px,50vh,500px);
    max-width: 54vw;
    box-sizing: border-box;
    overflow: hidden;

}

.cabinet-gallery img {
   position: relative;
    object-fit: cover;
    border-radius: 15px;
    width: 100%;
    height: 100%;
    display: block;
     min-height: 0;
    min-width: 0;
    display: block;

}
.cabinet-gallery > a {
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    display: block;
    position: relative;
}

/* Grande image gauche sur 2 lignes */
.gallery-img-0 {
    grid-column: 1;
    grid-row: 1 / 3;
}
.cabinet-gallery > a.gallery-hidden {
    display: none;
}
.gallery-img-3 { position: relative; }
.gallery-more-overlay {
    position: absolute;
    display: flex;
    gap:10px;
    bottom: 10px;
    right: 10px;
    background: rgba(255, 255, 255, 1);
    color: rgba(106, 124, 148, 1);
    padding: 8.5px 10px;
    border-radius: 16px;
    font-weight: 400;
    font-size: 16px;
    cursor: pointer;
    pointer-events: none; /* let clicks pass through to the parent <a> */
    justify-content: center;
    align-items: center;

}
/* Grande image milieu sur 2 lignes */
.gallery-img-1 {
    grid-column: 2;
    grid-row: 1 / 3;
}

/* Petites images à droite */
.gallery-img-2 {
    grid-column: 3;
    grid-row: 1;
}

.gallery-img-3 {
    grid-column: 3;
    grid-row: 2;
}
/* Description*/
.cabinet-description{
    background-color: white;
    border-radius: 15px;
    padding: 20px;
font-weight: 400;
font-style: Regular;
font-size: 18px;

line-height: 35px;
letter-spacing: 2%;



}
/* Tableau dispos */
.cabinet-dispos {
    background-color: white;
    border-radius: 15px;
    padding: 20px;
    margin: 40px 0px;
}

.dispo-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 10px;
}

.dispo-table th,
.dispo-table td {
    padding: 10px;
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 2%;
    border:none;
    border-right: 1px solid rgba(217, 217, 217, 1);
}
.dispo-table td:last-child{
    border: none;
}

.dispo-table th {
    background: #702C39;
    color: white;
    font-weight: 400;
    line-height: 25px;
    font-size: 18px;
    letter-spacing: 2%;



}
.dispo-table th span {

font-weight: 400;
font-style: Regular;
font-size: 14px;
line-height: 16px;
letter-spacing: 2%;
text-align: center;
vertical-align: middle;

}

.dispo-dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
}
.dispo-table thead th:first-child {
    border-radius: 10px 0 0 0;
}

.dispo-table thead th:last-child {
    border-radius: 0 10px 0 0;
}

/* Arrondir les coins de la dernière ligne */
.dispo-table tbody tr:last-child td:first-child {
    border-radius: 0 0 0 10px;
}

.dispo-table tbody tr:last-child td:last-child {
    border-radius: 0 0 10px 0;
}

.dispo-dot.libre       { background-color: #6A7C94; }
.dispo-dot.occupe      { background-color: #702c39; }
.dispo-dot.non_propose {
    width: 18px;
    border-radius: 0;
    height: 0;
    border: 1px solid rgba(160, 163, 189, 1);
    border-width: thin;
    border-style: solid none none none
}

.dispo-legend {
    display: flex;
    gap: 20px;
    font-size: 13px;
    color: rgba(160, 163, 189, 1);
}

.dispo-legend span {
    display: flex;
    align-items: center;
    gap: 6px;
}
.equipement{

    background-color: white;
    border-radius: 15px;
    padding:40px;
    h2{
        margin: 0;
    }
}
/* Tags équipements */
.equipements-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    margin-bottom: 10px;
}


.tag {
    background: #f0f0f0;
    border-radius: 20px;
    padding: 5px 14px;
    font-size: 13px;
}
.cabinet-infos .map-icon{
    margin-right: 5px;
}

/* Sidebar */
.map-icon{
    height: 25px;
    width: 20px;
    display: block;
}
.map-icon-container{
    display: flex;
    flex-direction: row;
    gap: 15px;
    justify-content: start;
    align-items: start;
}
.sidebar-block  {
    background: white;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    text-align: center;

    text-align: start ;
}
.sidebar-block.adresse h3 {

font-weight: 500;
font-style: Medium;
font-size: 30px;

line-height: 35px;
letter-spacing: 0%;
vertical-align: middle;
margin-bottom: 15px;

}
.sidebar-block.contact{
    background: #702c39;
    color: white;
    border-radius: 8px;
    padding: 35px 40px;
    margin-bottom: 20px;
    text-align: center;
    font-family: Montserrat;
font-weight: 400;
font-style: Regular;
font-size: 20px;
line-height: 27px;
letter-spacing: 0%;


    h3{
        color:white;
font-weight: 700;
font-style: Bold;
font-size: 20px;
line-height: 35px;
letter-spacing: 0%;
text-align: center;

    }


}
.sidebar-block h3 {
        margin: 0;
    font-weight: 500;
    font-style: Medium;
    font-size: 30px;
    line-height: 35px;
    letter-spacing: 0%;
    vertical-align: middle;
}
.sidebar-block.tarif p{
font-weight: 400;
font-style: Regular;
font-size: 18px;
line-height: 35px;
letter-spacing: 2%;
color: rgba(0, 0, 0, 1);

}

.sidebar-block .button {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 38px;
    background: white;
    color: #702c39;
    border-radius: 70px;
    text-decoration: none;
    font-weight: 500;
    font-style: Medium;
    font-size: 18px;

line-height: 28px;
letter-spacing: 0%;
text-align: center;

}
#content{
    background-color:#F5F6F8
}
.cabinet-top {
    display: flex;
    gap: 50px;
    align-items: flex-start;
    margin-bottom: 40px;
    max-height:600vh;
    min-height: 0;
}

.cabinet-infos{
  padding-top:30px;
    line-height: 10px;
}


.cabinet-infos h1 {
font-weight: 500;
font-style: Medium;
font-size: 30px;
line-height: 65px;
letter-spacing: 0%;
vertical-align: middle;

    margin-bottom: 0px;
    justify-content: end;

}

.cabinet-superficie {
    color: rgba(106, 124, 148, 1);
    font-weight: 500;
font-style: Medium;
font-size: 20px;

line-height: 100%;
letter-spacing: 0%;

    margin-bottom: 12px;
}

.cabinet-adresse {
    display: flex;
    align-items: flex-start;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;
    gap: 8px;
    color: rgba(106, 124, 148, 1);
    margin-bottom: 16px;
}

.cabinet-short-desc {
    color: #555;
    line-height: 1.6;
}
/* SECTION AUTRES CABINETS */
.cabinet-other-container {
    padding: 60px 20px;
    text-align: center;
}

.related-main-title {

font-weight: 500;
font-style: Medium;
font-size: 38px;

line-height: 50px;
letter-spacing: 2%;
text-align: center;
vertical-align: middle;
margin-bottom: 45px;

}

.related-cabinets-image-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto 40px;
}

.cabinet-image-card {
    position: relative;
    height: 320px;
    border-radius: 12px;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    text-align: left;
}

.card-gradient-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.75) 0%,
        rgba(0, 0, 0, 0.35) 45%,
        rgba(0, 0, 0, 0) 75%
    );
    border-radius: 12px;
}


.card-cabinet-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 8px;
    color: #fff;
}

.card-cabinet-desc {
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 12px;
}

.card-link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    float: right;
    border-bottom: 1px solid white;
    padding-bottom:0 ;
}

.card-link-arrow .arrow {
    transition: transform 0.2s ease;
    transform: translateY(3px);
    width: 15px;
}
.card-link-arrow:hover{
    color: white;
    text-decoration: none;
}



.global-archive-btn-wrapper {
    margin-top: 20px;
}

.archive-city-button {
    display: inline-block;
    padding: 14px 32px;
    background-color: #702c39;
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: background-color 0.2s ease;
}
.archive-city-button:hover{
    color: white;


}


/* Responsive: stack cards on smaller screens */
@media (max-width: 900px) {
    .related-cabinets-image-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .related-cabinets-image-grid {
        grid-template-columns: 1fr;
    }

    .related-main-title {
        font-size: 22px;
    }
}
/* style archive */

.cabinet-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(4,1fr);
    gap: 40px;
    height: 100%;
}

@media (max-width: 768px) {
    .cabinet-grid {
        grid-template-columns: 1fr;
    }
}

.cabinet-card {
    display: flex;
    align-items: flex-start;
    gap: 24px;

    /* background-color: #F0F2F4; */
    border-radius: 15px;
    padding: 24px;
    box-sizing: border-box;
    position: relative;
    &::before{
        content:'';
        display:block;
        position:absolute;
        left:18%;
        top:0;
        right:0;
        bottom:0;
        background-color:#F0F2F4;
        border-radius:16px;
    }
    >div{
        position:relative;
        z-index: 1;
    }
}

@media (max-width: 640px) {
    .cabinet-card {
        flex-direction: column;
    }
}

/* ---- Image ---- */
.cabinet_card-image {
    flex: 0 0 180px;
    width: 180px;
    height: 260px;
    border-radius: 8px;
    overflow: hidden;


}

.cabinet_card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ---- Content ---- */


.card-content{
    display: flex;
    flex-direction: column;
    align-self: stretch;
    position: relative;
}

.card-title {

    font-weight: 500;
    font-size: 24px;
    line-height: 1.2;
    color: #1f2430;
    margin: 0 0 4px;
}

.cabinet-surface {

    font-weight: 500;
    font-size: 18px;
    color: #6A7C94;
    margin: 0 0 12px;
}

.cabinet-desc {

    font-size: 15px;
    line-height: 1.5;
    color: #333;
    margin: 0 0 16px;
}

/* ---- Equipment lists (two-column) ---- */
.cabinet-equipements-priv,
.cabinet-equipements-part {
    list-style: disc;
    list-style-position: inside;
    margin: 0 0 12px;
    columns: 1;
    column-gap: 16px;
    flex: 1;


}
.cabinet-equipements{
   display: flex;
   flex-direction: row;
}
.cabinet-equipements-priv li,
.cabinet-equipements-part li {
    font-size: 14px;
    color: #6A7C94;
    position: relative;
    padding-left: 12px;
    break-inside: avoid;
    margin-bottom: 4px;
    line-height: 27px;
    font-size: 16px;
    font-weight: 400;

}
.cabinet-equipements-priv li::marker,
.cabinet-equipements-part li::marker {
    font-size: 12px;   /* smaller than the 14px text */
    padding-right: 5px;
}



.cabinet-equipements-part {

}

/* ---- Button ---- */
.card-more {
    margin-top: auto;
    align-self: flex-end;
    background: #702c39;
    color: #fff !important;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    padding: 12px 32px;
    border-radius: 50px;
    bottom: 0;
    right: 0;
    transition: background 0.2s ease;
}

.card-more:hover {
    background: #5a1a28;
    color: #fff !important;
    text-decoration: none;
}