:root{
    --shadow: 0px 1px 5px #695f5614;
    --shadowHeader: 0px 1px 2px rgba(212, 210, 210, 0.32);
    --radius: 18px;
    --radius2: 24px;
    --container: 1140px;
    --ease: .3s ease;
    --blackColor: #232427;
    --whiteColor:#ffffff;
    --greyColor : #e9e8e6;
    --mutedColor: #4b5563;
    --primaryColor : #c9b392;
    --secondColor : #f5f4f2;
    --thirdColor : #eeedea;
    --headerBottomH: 62px;
    --opacityColor: #23242737;
}

*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body{
    font-family: "Montserrat", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji", sans-serif;
    font-weight: 400;
    color: var(--blackColor);
    overflow-x: hidden;
    background: var(--whiteColor);
}

html{ scroll-behavior:smooth; }

a{text-decoration: none; color: var(--blackColor);font-size: .95rem;}

img{max-width: 100%;}

li{list-style: none;}

.bRadius{border-radius: 15px}

.ohhiden{overflow: hidden}

.hover:hover{
    box-shadow: var(--shadow);
    transition: var(--ease);
}

.padding{padding: .8rem 1.5rem;}

.pb5 {padding-bottom: 5rem}

.pt5{padding-top: 5rem}

.mt5{margin-top: 5rem}

.mb5 {margin-bottom: 5rem}

.bgPrimary {background-color: var(--primaryColor);}
.bgSecondary {background-color: var(--secondColor);}
.bgThird {background-color: var(--thirdColor);}
.bgDark {background-color: var(--blackColor);}
.bgLinear {background: linear-gradient(90deg, var(--secondColor) 0%, var(--thirdColor) 100%);}
.bgMuted {background-color: var(--mutedColor);}

.txtPrimary {color: var(--primaryColor);}
.txtDark {color: var(--blackColor);}
.txtWhite {color: var(--whiteColor);}
.txtMuted {color: var(--mutedColor);transition: var(--ease)}
.hoverMuted:hover{color: var(--blackColor);}
.transition {transition: var(--ease);}

h1{font-size: 1.5rem}
h2,h3 {font-size: 1.3rem}
h4,h5,h6 {font-size: .9rem}
p {font-size: .95rem}


/* ------- header ----------- */

header {
    width: 100%;
    height: auto;
    padding: 0;
}

header .headerTop,
.headerBottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header .headerTop{
    padding: .5rem 2rem;
    width: 100%;
    background: var(--whiteColor);
}

.headerBottom {
    position: sticky;
    top: 0;
    width: 100%;
    background-color: var(--whiteColor);
    padding: .7rem 2rem;
    border-bottom: 1px solid rgba(0,0,0,.1);
    z-index: 100;
}

.headerBottom ul {
    margin-bottom: 0;
    padding-left: 0;
}

.headerBottom .ms-nav li{
    margin: .5rem .5rem;
    font-weight: 550;
}

/* -- mob -- */
.ms-burger{
    display:none; /* visible uniquement mobile */
    width: 42px;
    height: 42px;
    background: transparent;
    border: 1px solid #e9e8e6;
    cursor: pointer;
    padding: 0;
    position: relative;
}

/* conteneur interne */
.ms-burger span{
    position:absolute;
    left:8px;
    right:8px;
    height:2px;
    background-color: var(--mutedColor);
    border-radius:2px;
    transition: .3s ease;
}

/* position des 3 lignes */
.ms-burger span:nth-child(1){ top:12px; }
.ms-burger span:nth-child(2){ top:20px; }
.ms-burger span:nth-child(3){ top:28px; }


/* =============== index =============== */
.hero{
    padding: 0 2rem;
}

.swiperHome {
    width: 100%;
    height: 85vh;
}

.swiperHome .swiper-slide {
    position: relative;
}

/*.swiperHome .swiper-slide::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--opacityColor);
    z-index: 1;
}*/

.swiperHome .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiperHome .swiper-slide .txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
    z-index: 2;
}

.swiperHome .swiper-slide .txt h2 {
    color: var(--whiteColor);
    text-transform: uppercase;
    font-size: 2.5rem;
    font-weight: 300;
}

.homeVisualProcess .processLayout{
    display:grid;
    grid-template-columns:repeat(12,1fr);
    gap:18px;
}
.processFeatureCard{
    grid-column:span 4;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    overflow:hidden;
    min-height:260px;
    position:relative;
}
.processFeatureCard.big{
    grid-column:span 6;
    grid-row:span 2;
}
.processFeatureCard.wide{
    grid-column:span 6;
}
.processFeatureCard.dark{
    background: var(--blackColor);
    color: var(--secondColor);
}
.processFeatureCard .imgWrap{
    height:260px;
    overflow:hidden;
}
.processFeatureCard .imgWrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.processFeatureCard .content{
    padding:24px;
}
.processFeatureCard .step{
    display:inline-flex;
    width:42px;
    height:42px;
    border-radius:999px;
    align-items:center;
    justify-content:center;
    background:var(--secondColor);
    color:var(--primaryColor);
    font-weight:800;
    margin-bottom:16px;
}
.processFeatureCard h3{
    margin-bottom:12px;
}
.processFeatureCard p{
    margin:0;
    color:var(--mutedColor);
    line-height:1.6;
}
.processFeatureCard.dark p{
    color:rgba(255,255,255,.72);
}

.ctaLuxury{
    background:linear-gradient(135deg, #fff 0%, #f7f4ee 100%);
    border:1px solid rgba(0,0,0,.08);
    padding:36px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
}

.ctaLuxury .left{
    max-width: 60%;
}

.ctaLuxury h2{
    line-height:1.08;
    margin-bottom:12px;
}

.ctaLuxury p{
    color:var(--mutedColor);
    margin-bottom:0;
}

.ctaLuxury .right{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    justify-content:flex-end;
}

@media(max-width:1199px){
    .processFeatureCard,
    .processFeatureCard.big,
    .processFeatureCard.wide{
        grid-column:span 6;
    }
}

@media(max-width:991px){
    .heroStats{
        grid-template-columns:1fr;
    }

    .heroMiniCards{
        grid-template-columns:1fr;
    }

    .sectionHeaderFancy{
        flex-direction:column;
        align-items:flex-start;
    }

    .processFeatureCard,
    .processFeatureCard.big,
    .processFeatureCard.wide{
        grid-column:span 12;
    }

    .ctaLuxury{
        flex-direction:column;
        align-items:flex-start;
        padding: 20px;
    }

    .ctaLuxury .left{
        max-width: 100%;
    }
    .ctaLuxury .right{
        justify-content:flex-start;
    }
}


/* ------ card  -------- */

.ms-prop{
    position: relative;
    overflow: hidden;
    background: var(--greyColor);
    min-height: 360px;
    isolation: isolate;
    cursor: pointer;
}

.ms-prop::before{
    content: "";
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    background-color: var(--opacityColor);
}
@media (max-width: 992px){ .ms-prop{ grid-column: span 6; } }
@media (max-width: 576px){ .ms-prop{ grid-column: span 1; min-height: 320px; } }

.ms-prop__img{
    position:absolute;
    inset:0;
    background-size: cover;
    background-position: center;
    transform: scale(1.01);
    transition: transform .45s ease;
}

.ms-prop:hover .ms-prop__img{
    transform: scale(1.07);
}

/* ====== TOP RIGHT ARROW ====== */
.ms-prop__go{
    position:absolute;
    top:14px;
    right:14px;
    z-index: 3;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(255,255,255,.14);
    backdrop-filter: blur(10px);
    display:grid;
    place-items:center;
    color:#fff;
    transition: transform .25s ease, background .25s ease;
}
.ms-prop:hover .ms-prop__go{
    transform: translateY(-1px);
    background: rgba(255,255,255,.18);
}

/* ====== TEXT ====== */
.ms-prop__titleTop{
    position:absolute;
    top: 18px;
    left: 18px;
    right: 72px;
    z-index: 3;
    color:#fff;
    font-weight: 800;
    line-height: 1.1;
    font-size: 18px;
    text-shadow: 0 10px 30px rgba(0,0,0,.55);
    opacity: .95;
}

.ms-prop__titleBottom{
    position:absolute;
    left: 18px;
    bottom: 18px;
    z-index: 3;
    color:#fff;
    font-weight: 800;
    font-size: 18px;
    text-shadow: 0 10px 30px rgba(0,0,0,.55);
    opacity: .95;
}

/* ====== LOCATION PILL ====== */
.ms-pill{
    position:absolute;
    left: 18px;
    bottom: 92px;
    z-index: 3;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(255,255,255,.16);
    backdrop-filter: blur(10px);
    color:#fff;
    font-weight: 700;
    font-size: 13px;
}
.ms-pill svg{ width:16px; height:16px; opacity:.95; }

/* ====== BOTTOM INFO CHIPS (HOVER) ====== */
.ms-chips{
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    z-index: 4;
    display: flex;
    gap: 10px;
    flex-wrap: nowrap;
    overflow: auto;
    padding-bottom: 2px;

    /* hidden by default */
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
}

.ms-prop:hover .ms-chips{
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.ms-chip{
    flex: 0 0 auto;
    min-width: 70px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.90);
    padding: 10px 12px;
    line-height: 1.05;
}

.ms-chip__k{
    font-size: 11px;
    color: rgba(11,15,20,.55);
    font-weight: 700;
}

.ms-chip__v{
    margin-top: 4px;
    font-size: 13px;
    color: rgba(11,15,20,.90);
    font-weight: 900;
}

/* smooth scroll chips */
.ms-chips::-webkit-scrollbar{ height: 8px; }
.ms-chips::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.20); border-radius: 999px; }


/* =============== propreties =============== */


.properties .ms-filter{
    border:1px solid rgba(0,0,0,.08);
    padding:16px;
    background:#fff;
    box-shadow: 0 10px 30px rgba(0,0,0,.04);
}

/* Sticky seulement sur desktop */
@media (min-width: 992px){
    .properties .ms-filter{ top: 18px; }
}

/* mobile top bar */
.properties .ms-mobileBar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding: 10px 12px;
    border:1px solid rgba(0,0,0,.08);
    background:#fff;
    box-shadow: 0 10px 30px rgba(0,0,0,.04);
}
.properties .ms-countPill{
    border:1px solid rgba(0,0,0,.08);
    border-radius: 999px;
    padding: 8px 10px;
    background: rgba(0,0,0,.03);
    font-size: 13px;
}

/* filter container */
.properties .ms-filter{
    border:1px solid rgba(0,0,0,.08);
    padding: 16px;
    background:#fff;
    box-shadow: 0 10px 30px rgba(0,0,0,.04);
}
@media (min-width: 992px){
    .properties .ms-filter{ top: 18px; }
}

/* offcanvas premium */
.properties .ms-offcanvas{
    border-right: 1px solid rgba(0,0,0,.08);
}
.properties .ms-offcanvas .offcanvas-header{
    border-bottom: 1px solid rgba(0,0,0,.08);
}

/* Buttons */
.properties .ms-btn{
    border-radius: 14px !important;
    padding: 10px 14px !important;
    font-weight: 600 !important;
    letter-spacing: .01em;
}
.properties .ms-btn-outline{
    border: 1px solid rgba(0,0,0,.14) !important;
    background: #fff !important;
}
.properties .ms-btn-outline:hover{
    background: rgba(0,0,0,.03) !important;
}
.properties .ms-btn-outline-sm{
    border-radius: 12px !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(0,0,0,.14) !important;
    background:#fff !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}
.properties .ms-btn-dark{
    background:#0b0f14 !important;
    border: 1px solid #0b0f14 !important;
    color:#fff !important;
}

/* Form fields premium + iOS fix */
.properties .ms-field{
    border-radius: 14px !important;
    border: 1px solid rgba(0,0,0,.14) !important;
    padding: 12px 12px !important;
    font-weight: 500;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
}
.properties .ms-field:focus{
    border-color: rgba(11,15,20,.45) !important;
    box-shadow: 0 0 0 4px rgba(11,15,20,.08) !important;
}
.properties select.ms-field{
    background-image: linear-gradient(45deg, transparent 50%, rgba(0,0,0,.55) 50%),
                        linear-gradient(135deg, rgba(0,0,0,.55) 50%, transparent 50%);
    background-position: calc(100% - 18px) calc(50% - 2px),
                        calc(100% - 12px) calc(50% - 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 38px !important;
}



/* =============== proprety =============== */

.propertyClass .ms-heroGrid{
    display:grid;
    grid-template-columns: 2fr 1fr;
    gap: 14px;
}
@media(max-width:992px){ .ms-heroGrid{ grid-template-columns:1fr; } }

.propertyClass .ms-heroMain, .propertyClass .ms-heroThumb{
    position: relative;
    display: block;
    overflow: hidden;
    background: #ffffffe0;
    cursor: pointer;
}

/* si pas assez d'images, on cache les thumbs */
.ms-heroGrid.is-1 .ms-heroSide { display: none; }
.ms-heroGrid.is-2 .ms-heroThumb[data-gallery-open="2"] { display: none; }
.ms-heroGrid.is-2 .ms-heroThumb img { height: 420px; } /* option si tu veux 1 seule thumb plus grande */

@media(max-width:992px){
    .ms-heroGrid.is-2 .ms-heroThumb img { height: 200px; }
}

.propertyClass .ms-heroMain img{ width: 100%; height: 420px; object-fit:cover; display:block; }
@media(max-width:992px){ .propertyClass .ms-heroMain img{ height: 100%; } }

.propertyClass .ms-heroSide{ display: grid; gap: 14px; }
.propertyClass .ms-heroThumb img{ width: 100%; height: 203px; object-fit:cover; display: block; }
@media(max-width:992px){ .propertyClass .ms-heroThumb img{ height: 200px; } }

.propertyClass .ms-badge{
    position: absolute; top: 14px; left: 14px;
    background:#2c7a2c; color:#fff;
    padding: 6px 10px;
    font-weight: 800; font-size: 12px;
}
.propertyClass .ms-count{
    position: absolute; right:14px; bottom:14px;
    background: rgba(255,255,255,.92);
    padding: 8px 10px;
    font-weight:900;
}

.propertyClass .ms-contactCard{
    border:1px solid rgba(0,0,0,.08);
    padding:18px;
    background:#fff;
    box-shadow: 0 10px 30px rgba(0,0,0,.05);
    height:100%;
}
.propertyClass .ms-contactTop{ display:flex; align-items:center; gap:12px; }
.propertyClass .ms-avatar{
    width:54px; height:54px;
    background: radial-gradient(circle at 30% 30%, rgba(0,0,0,.10), rgba(0,0,0,.03));
}
.propertyClass .ms-contactTitle{ font-weight:900; font-size:16px; }
.propertyClass .ms-contactNote{ color: rgba(0,0,0,.55); font-size:13px; }

.propertyClass .ms-title{ font-weight: 600; letter-spacing: -.02em; }
.propertyClass .ms-price{ font-size: 24px; font-weight: 600; margin-top: 10px; }

.propertyClass .ms-iconRow{
    display:flex; flex-wrap:wrap; gap:12px;
}
.propertyClass .ms-icon{
    display:flex; align-items:center; gap:10px;
    border:1px solid rgba(0,0,0,.08);
    padding:10px 12px;
    background:#fff;
}
.propertyClass .ms-icon svg{ width:18px; height:18px; opacity:.8; }
.propertyClass .ms-icon b{ font-weight: 600; }
.propertyClass .ms-icon span{ color: rgba(0,0,0,.55); font-size:13px; }

.propertyClass .ms-section{
    border:1px solid rgba(0,0,0,.08);
    padding:18px;
    background:#fff;
}
.propertyClass .ms-sectionTitle{ font-weight: 600; margin-bottom:10px; }
.propertyClass .ms-text{ color: rgba(0,0,0,.72); line-height:1.6; }

.propertyClass .ms-chipWrap{ display:flex; flex-wrap:wrap; gap:10px; }
.propertyClass .ms-chip{
    background: rgba(0,0,0,.05);
    padding: 8px 12px;
    font-size:13px;
}

.propertyClass .ms-dl{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
    margin:0;
}
.propertyClass .ms-dl dt{ color: rgba(0,0,0,.55); font-size:13px; font-weight:700; }
.propertyClass .ms-dl dd{ margin:0; }


.propertyClass .ms-modal{ overflow:hidden; background:#c4ccd6b2; }
.propertyClass .ms-modalClose{
    position:absolute; top:14px; right:14px;
    background: rgba(255,255,255,.9);
    padding:10px;
}
.propertyClass .msSwiper{ height: 72vh; }
.propertyClass .msSwiper img{ width:100%; height:100%; object-fit:contain; background:#ffffffe0; }

.swiper-button-next, .swiper-button-prev {
    color: var(--mutedColor)!important;
}

.swiper-pagination-bullet-active {
    background-color: var(--mutedColor)!important;
}

/* =============== qui sommes nous =============== */

.whoHero .container-fluid{
    position: relative;
}

.whoHeroStats{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:14px;
    margin-top:32px;
}
.whoHeroStats .item{
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    padding:18px;
}
.whoHeroStats .item strong{
    display:block;
    margin-bottom:8px;
    font-size:15px;
}
.whoHeroStats .item span{
    color:var(--mutedColor);
    font-size:14px;
    line-height:1.5;
}

.whoHeroVisual{
    position: relative;
    overflow: hidden;
    min-height: 450px;
}
.whoHeroVisual img{
    width: 100%;
    height: 450px;
    min-height: 450px;
    object-fit: cover;
    display: block;
}
.whoHeroCard{
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 18px 20px;
    border: 1px solid rgba(0,0,0,.08);
}
.whoHeroCard span{
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--primaryColor);
    margin-bottom: 6px;
}
.whoHeroCard strong{
    display: block;
    font-size: 18px;
    line-height: 1.4;
}

.whoImageBlock{
    overflow: hidden;
}
.whoImageBlock img{
    width: 100%;
    height: 300px;
    min-height: 300px;
    object-fit: cover;
    display: block;
}

.whoMethod .whoCard{
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    padding:24px;
    height:100%;
}
.whoMethod .whoCard .step{
    display:inline-flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    background:var(--thirdColor);
    color:var(--primaryColor);
    font-weight:800;
    margin-bottom:16px;
}
.whoMethod .whoCard h3{
    font-size:20px;
    margin-bottom:12px;
}
.whoMethod .whoCard p{
    color:var(--mutedColor);
    margin:0;
    line-height:1.6;
}

.valueCard{
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    padding:28px;
    height:100%;
}
.valueCard.dark{
    background:#0f1720;
    color:#fff;
}
.valueCard.dark p{
    color:rgba(255,255,255,.78);
}
.whoList{
    margin:18px 0 0;
    padding-left:18px;
}
.whoList li{
    margin-bottom:10px;
    line-height:1.6;
    color:var(--mutedColor);
}
.valueCard.dark .whoList li{
    color:rgba(255,255,255,.78);
}

@media(max-width:991px){
    .whoHeroStats{
        grid-template-columns:1fr;
    }
    .whoHeroVisual,
    .whoHeroVisual img{
        min-height:380px;
    }
    .whoImageBlock img{
        min-height:320px;
    }
}

/* =============== contact =============== */

.contactHeroShell{
    border:1px solid rgba(0,0,0,.08);
    background:#fff;
}

.contactHeroLeft,
.contactHeroRight{
    padding:34px;
    height:100%;
}
.contactHeroLeft{
    border-right:1px solid rgba(0,0,0,.08);
}
.contactHeroLeft p,
.contactHeroRight p{
    color:var(--mutedColor);
    max-width:720px;
}

.contactHeroIntro{
    display:flex;
    gap:16px;
    align-items:flex-start;
}
.contactHeroIntro .line{
    width:40px;
    height:2px;
    background:#111;
    margin-top:10px;
}
.contactHeroIntro span{
    display:block;
    font-weight:700;
    color:var(--primaryColor);
    margin-bottom:6px;
}
.contactHeroIntro strong{
    display:block;
    line-height:1.5;
}

.contactHeroVisual{
    margin-top:20px;
}
.contactHeroVisual img{
    width:100%;
    height:260px;
    object-fit:cover;
    display:block;
}

.contactInfoGrid{
    border-top:1px solid rgba(0,0,0,.08);
    border-left:1px solid rgba(0,0,0,.08);
}

.contactInfoGrid > [class*="col-"]{
    display:flex;
}

.contactInfoBox{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    width:100%;
    height:100%;
    min-height:220px;
    padding:28px;
    background:#fff;
    border-right:1px solid rgba(0,0,0,.08);
    border-bottom:1px solid rgba(0,0,0,.08);
    text-decoration:none;
    color:inherit;
}

.contactInfoBox .icon{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.04);
    margin-bottom:18px;
    flex:0 0 auto;
}

.contactInfoBox .icon svg{
    width:22px;
    height:22px;
    fill:#111;
}

.contactInfoBox span{
    display:block;
    color:var(--mutedColor);
    margin-bottom:8px;
}

.contactInfoBox strong{
    display:block;
    line-height:1.45;
    margin-bottom:18px;
}

.contactInfoBox .d-flex{
    margin-top:auto;
}

.contactInfoBox .d-flex a{
    font-weight:600;
}

.contactInfoBox .d-flex a:hover{
    text-decoration:underline !important;
}

.contactEditorialBox{
    border:1px solid rgba(0,0,0,.08);
    background:#fff;
}
.contactEditorialText{
    padding:40px;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.contactEditorialText p{
    color:var(--mutedColor);
    max-width:640px;
}
.contactHoursBox{
    margin:26px 0;
    padding:18px 0;
    border-top:1px solid rgba(0,0,0,.08);
    border-bottom:1px solid rgba(0,0,0,.08);
}
.contactHoursBox span{
    display:block;
    color:var(--mutedColor);
    margin-bottom:6px;
}
.contactHoursBox strong{
    display: block;
}

.contactEditorialVisual img{
    width: 100%;
    height: 450px;
    min-height: 450px;
    object-fit: cover;
    display: block;
}

@media(max-width:991px){
    .contactHeroLeft{
        border-right:0;
        border-bottom:1px solid rgba(0,0,0,.08);
    }

    .contactHeroLeft,
    .contactHeroRight,
    .contactEditorialText,
    .contactInfoBox{
        padding:22px;
    }

    .contactEditorialVisual img{
        min-height:300px;
    }
}




/* =============== footer =============== */

footer {
    width: 100%;
    height: auto
}

footer .colAskDevis {
    padding: .5rem 0
}

footer .colAskDevis a {
    display: flex;
    justify-content: space-between;
    align-items: center
}

footer .colAskDevis span {
    font-size: 2.2rem
}

.rowFooterLink a {
    color: var(--mutedColor)
}

.rowFooterLink svg {
    fill: var(--mutedColor);
    width: 20px;
    height: 20px;
    transition: .3s ease
}

.rowFooterLink a:hover {
    color: var(--blackColor)
}

.rowFooterLink a:hover svg {
    fill: var(--blackColor)
}




@media (max-width: 767px){
    .ms-burger{ display:inline-flex; align-items:center; justify-content:center; }

    /* menu devient dropdown */
    .ms-nav{
        position:absolute;
        left: 1rem;
        right: 1rem;
        top: calc(100% + 2px);
        background: var(--whiteColor);
        border: 1px solid rgba(0,0,0,.10);
        box-shadow: var(--shadowHeader);
        padding: .5rem .75rem;

        opacity:0;
        transform: translateY(-8px);
        pointer-events:none;
        transition: var(--ease);
        z-index: 120;
    }

    /* on retire le d-flex bootstrap sur mobile */
    .ms-nav ul{
        display:block !important;
    }
    .ms-nav li{
        margin:0 !important;
    }
    .ms-nav a{
        display:block;
        padding: .75rem .6rem;
    }
    .ms-nav a:hover{
        background: rgba(0,0,0,.04);
    }

    /* état ouvert */
    .headerBottom.is-open .ms-nav{
        opacity:1;
        transform: translateY(0);
        pointer-events:auto;
    }

    /* animation burger -> X */
    .headerBottom.is-open .ms-burger span:nth-child(1){
        transform: translateY(8px) rotate(45deg);
    }
    .headerBottom.is-open .ms-burger span:nth-child(2){
        opacity:0;
    }
    .headerBottom.is-open .ms-burger span:nth-child(3){
        transform: translateY(-8px) rotate(-45deg);
    }

    .hero{
        padding: 0 calc(1.5rem * .5);
    }

    .swiperHome {
        width: 100%;
        height: 45vh;
        margin-top: 2rem;
    }

    .propertyClass .ms-heroGrid.is-1{
        grid-template-columns: 1fr;
    }

    .rowFooterLogo {
        text-align: center
    }


    footer .colAskDevis {
        padding-right: calc(var(--bs-gutter-x)* .5);
        padding-left: calc(var(--bs-gutter-x)* .5)
    }

    .rowFooterLink li {
        margin: .3rem 0
    }

    .rowFooterLink a {
        font-size: 1.05rem
    }

    .rowFooterCopyright {
        padding-bottom: 90px
    }

}

/* --- Mobile dropdown --- */
@media (max-width: 992px){
    .swiperHome {
        height: 50vh;
    }
}

@media (max-width: 1024px){
    .swiperHome {
        height: 40vh;
    }
}