/* ========================================================================== GO PRESTIGE — Custom CSS (couche override) Chargé après app.css — stratégie 100% override, aucune valeur hardcodée ========================================================================== */
 :root {
    /* Couleurs */
     --gp-primary: #c0a055;
     --gp-secondary: #d4cfc3;
     --gp-bg: #ffffff;
     --gp-text: #625e53;
     --gp-primary-dark: #755d24;
    /* Typographies */
     --gp-font-title: "DM Serif Display", serif;
     --gp-font-text: "Open Sans", sans-serif;
}

/*Titres*/
.h1, .h2, .h3, .h4, .h5, h1, h2, h3, h4, h5 {
    font-family: "DM Serif Display", serif;
    font-weight: 400;
    line-height: 1.15;
}

h1, .h1 { font-size: clamp(3rem, 4vw, 3.25rem); }
h2, .h2 { font-size: clamp(2.8rem, 3vw, 2.25rem); }
h3, .h3 { font-size: clamp(1.3rem, 2.2vw, 1.6rem); }
h4, .h4 { font-size: clamp(1.1rem, 1.8vw, 1.3rem); }
h5, .h5 { font-size: 1rem; }

p {
    font-size: 1rem;
    line-height: 1.6;
    hyphens: manual;
}


/*Nav menu*/
.nav-container .btn-primary {
    font-weight: 500;
}
.btn:first-child:hover, :not(.btn-check)+.btn:hover {
    background-color: #a6863a;
}
.nav-container nav .chat img {
    width: 75px;
}
.page-home .shape .search-bar .search-bar-inner .dropdown-menu {
    border-radius: 15px;
    border-top-left-radius: 15px;
}

/*Nav menu mobile*/
.app-mobile-header {
    background: #d3cfc3;
    height: 66px;
}
.app-mobile-header .navbar .navbar-brand img {
    height: 60px;
}
.app-mobile-header .navbar .navbar-brand {
    margin: 0px 0 0 8px;
}
.app-mobile-header .chat {
    top: 13px;
}
.app-mobile-header .mobile-nav-button {
    top: 26px;
}

/*Header*/
.app-header .links p a {
    font-size: 1.05em;
}

/*HERO / Moteur de recherche*/
.page-home .shape .search-bar .search-bar-inner .btn {
    font-size: .82em;
}
.page-home .shape .search-bar .search-bar-inner .dropdown-menu a {
    font-size: 1.2em;
    padding: 10px 20px;
        color: var(--gp-text);
}
.page-home .shape .search-bar .search-bar-inner .dropdown-menu a:focus, .page-home .shape .search-bar .search-bar-inner .dropdown-menu a:hover {
    color: var(--gp-primary);
}
.page-home .shape .search-bar .search-bar-inner .dropdown-menu label {
    font-size: 1.2em;
    padding: 10px 20px;
}
.dropdown-quantity {
    color:var(--gp-primary);
    padding-left: 5px;
}
.form-check-input.form-check-mini[type=checkbox] {
    height: 1.2em;
    margin-right: .4em;
    margin-top: .2em;
    width: 1.2em;
    background-color: transparent;
}
.page-home .shape .search-bar {
    top: 40%;
}
/*Dropdown*/
.form-check-input.form-check-mini:checked, .form-check-input.form-check-mini[type=checkbox] {
    background: #fff;
    border-color: var(--gp-primary);
    border-radius: 0;
}
.page-home .shape .search-bar .search-bar-inner .dropdown-menu {
    background: #ffffff;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
.page-home .shape .search-bar .search-bar-inner .dropdown-menu label {
    color: var(--gp-text)
}
.page-home .shape .search-bar .search-bar-inner .dropdown-menu label:focus, .page-home .shape .search-bar .search-bar-inner .dropdown-menu label:hover {
    background: transparent !important;
}
.page-home .shape .search-bar .search-bar-inner .dropdown-menu label:focus, .page-home .shape .search-bar .search-bar-inner .dropdown-menu label:hover {
    background: var(--gp-text);
    color: var(--gp-primary);
}

/*Dropdown hover*/
.page-home .shape .search-bar .search-bar-inner .dropdown-menu label:focus, .page-home .shape .search-bar .search-bar-inner .dropdown-menu label:hover {
    background: var(--gp-primary-dark);
}
.page-home .shape .search-bar .search-bar-inner .dropdown-menu a:focus, .page-home .shape .search-bar .search-bar-inner .dropdown-menu a:hover {
    background: transparent;
}
/*CP, Commune, ...*/
.dropdown-menu .dropdown-search {
    width: 100%;
    box-sizing: border-box;
}
.page-home .shape .search-bar .search-bar-inner .dropdown-menu .dropdown-search {
    font-size: 1.2em;
}
.page-home .shape .search-bar .search-bar-inner .dropdown-menu .dropdown-search {
    font-size: 1.2em;
    padding-left: 19px;
    padding-bottom: 10px;
    border-bottom: solid 1px #e4e4e4;
}

/* Placeholder (CP, COMMUNE, VILLE ...) */
.dropdown-menu .dropdown-search::placeholder {
    color: #e4e4e4;
    opacity: 1;
}

.page-home .search-bar .dropdown-menu .dropdown-search.text-white::placeholder {
    color: var(--gp-text) !important;
    opacity: 1;
}
/* Champ localité du hero (home.htm) — override texte blanc -> gris charte */
.dropdown-search.text-white {
  color: var(--gp-text) !important;
}

.dropdown-search.text-white::placeholder {
  color: var(--gp-text) !important;
  opacity: 0.7;
}


/* HERO / Badge Marquee rond (hero page d'accueil) */
 .page-home .shape .carousel .property-label {
     background: var(--gp-primary);
     border-radius: 50%;
     color: #fff;
     display: flex;
     align-items: center;
     justify-content: center;
     font-weight: 700;
     font-size: 1.3em;
     height: 120px;
     width: 120px;
     left: auto;
     letter-spacing: 1px;
     padding: 0 8px;
     position: absolute;
     right: 50px;
     text-align: center;
     text-transform: uppercase;
     top: 50px;
     z-index: 2;
}
 @media (max-width: 575px) {
     .page-home .shape .carousel .property-label {
         font-size: 1em;
         height: 80px;
         width: 80px;
         right: 20px;
         top: 20px;
    }
}
/* Titres hero : taille fluide à partir de 1680px et en dessous (desktop/tablette uniquement) */
 @media (min-width: 1000px) {
     .page-home .shape .carousel .carousel-item-description .h3, .page-home .shape .carousel .carousel-item-description h3 {
         font-size: clamp(2rem, -0.5rem + 4vw, calc(var(--bs-body-font-size) * 3.75));
    }
     .page-home .shape .carousel .carousel-item-description .h4, .page-home .shape .carousel .carousel-item-description h4 {
         font-size: clamp(0.95em, -0.25rem + 2.2vw, 1.17em);
    }
}
/*Nav + filtre home responsive*/
 @media (max-width: 575px) {
     .page-home .shape .carousel .carousel-item-description {
         top: 40% !important;
    }
}
 @media (max-width:1000px){
     .page-home .jumbotron{
        margin-bottom:0
    }
     .page-home .shape{
        display:flex;
        flex-direction:column;
        margin-top:0;
        padding:0
    }
     .page-home .shape .brand,.page-home .shape:after,.page-home .shape:before{
        display:none
    }
     .page-home .shape .search-bar{
        order:2;
        position:relative;
        transform:translateY(0);
        width:100%
    }
     .page-home .shape .search-bar .search-bar-inner{
        border-left:0;
        flex-wrap:wrap;
        justify-content:space-between!important
    }
     .page-home .shape .search-bar .search-bar-inner .align-self-center{
        padding:10px 5px
    }
     .page-home .shape .search-bar .search-bar-inner .align-self-center:nth-child(2){
        border-left:1px solid #c0a055;
        min-width:50%
    }
     .page-home .shape .search-bar .search-bar-inner .align-self-center:last-child,.page-home .shape .search-bar .search-bar-inner .align-self-center:nth-last-child(2){
        border-bottom:0;
        border-top:1px solid #c0a055;
        width:100%
    }
     .page-home .shape .search-bar .search-bar-inner .align-self-center:last-child{
        background:#c0a055;
        padding:15px 0
    }
     .page-home .shape .search-bar .search-bar-inner .align-self-center .btn{
        display:inline-block;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap
    }
     .page-home .shape .carousel .carousel-item-description{
        left:13.5%;
        top:60%;
        width:80%
    }
     .page-home .shape .carousel .carousel-item-description .h3,.page-home .shape .carousel .carousel-item-description h3{
        font-size:2.79em;
        font-weight:500
    }
     .page-home .shape .carousel .carousel-item-description .h4,.page-home .shape .carousel .carousel-item-description h4{
        font-size:.9em;
        max-width:calc(80% - 20px);
        padding-right:20px
    }
     .page-home .shape .carousel .carousel-item-description .h4 span,.page-home .shape .carousel .carousel-item-description h4 span{
        display:block;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap
    }
     .page-home .shape .carousel .carousel-item-description .more{
        margin-top:-.36em
    }
     .page-home .shape .carousel .carousel-indicators{
        margin:0 12px 12px
    }
     .page-home .shape .carousel .carousel-indicators [data-bs-target]{
        height:8px;
        width:8px
    }
     .page-home .shape .scroll-arrow{
        display:none
    }
}
/* Bascule nav mobile/desktop à 900px au lieu de 576px */
 @media (min-width: 575px) and (max-width: 1000px) {
     #mobile-navbar {
         display: block !important;
    }
     #app-header, #app-nav {
         display: none !important;
    }
}

/*Margin left hero*/
 @media (min-width: 1000px) {
     .page-home .shape .search-bar .search-bar-inner {
         margin-left: 8%;
    }
}
 .page-home .shape .brand img {
     width: 80%;
     margin-left: 10%;
}
/* Masquer la ligne décorative "Nos dernières offres" en dessous de 900px */
 @media (max-width: 1000px) {
     .page-home .properties-list .bar {
         display: none !important;
    }
}
/* Hero pleine largeur (bord à bord) à partir de 900px */
 @media (max-width: 1000px) {
     .page-home .shape .row > .col-md-3 {
         display: none;
    }
}
 @media (max-width: 1000px) {
     .col-md-9 {
         width: 100%;
    }
}

/*ACCUEIL / Bloc Immobilier de prestige*/
@media (min-width: 768px) {
    .page-home .experiences .col-md-7.last-offers {
        margin-top: -6px;
    }
}
.page-home .experiences {
    padding: 130px 0 0;
}
/* Libère la hauteur fixe (27.5vw) héritée d'app.css : le bloc grandit avec le texte */
@media (min-width: 768px) {
    .page-home .experiences {
        height: auto !important;
        min-height: 27.5vw;
    }
}
.page-home .experiences .last-offers p {
    padding-top: 15px;
}
.page-home .experiences .last-offers p {
    padding-bottom: 0px;
}
/*Texte*/
.page-home .experiences .last-offers p {
    padding-bottom: 20px;
}
/*Largeur H1*/
.page-home .experiences .last-offers h1 {
    max-width: 15em;
}
/*Décoration*/
.page-home .experiences .circle {
    margin: -4% 0 0 6.5%;
}
@media (max-width: 768px) {
.page-home .experiences .last-offers h1 {
    margin-top: 20px;
}
.page-home .experiences {
    padding: 70px 0 0;
}
.page-home section {
    margin-bottom: 50px;
}
}
/*Bouton CTA*/
.page-home .experiences .btn-primary {
    font-size: 0.82em;
    font-weight: 500;
    padding: 10px 25px;
}

/*Accueil / Masquer ligne décorative*/
.page-home .properties-list .bar {
    display: none !important;
}

/*Nos dernières offres*/
@media (min-width: 768px) {
    .page-home .properties-list .offset-md-2 {
        margin-left: 0% !important;
    }
}
.properties-list .property-item .property-label {
    font-size: 1em;
}
/* Montrer un aperçu de la carte suivante dans le slider */
@media (min-width: 768px) {
    .page-home .properties-list .slider .slider-cell.col-md-4 {
        width: calc(30% - 16px) !important;
    }
}
/* 575px → 1280px : 2 cartes visibles + aperçu de la suivante */
@media (min-width: 575px) and (max-width: 1280px) {
    .page-home .properties-list .slider .slider-cell.col-md-4 {
        width: calc(45% - 16px) !important;
    }
}

/* En dessous de 575px : 1 carte + aperçu de la suivante à droite */
@media (max-width: 574.98px) {
    .page-home .properties-list .slider .property-item-container.slider-cell {
        width: 85% !important;
    }
}
/*Encart bien ville*/
.properties-list.grid .property-item .property-content .property-header .h5, .properties-list.grid .property-item .property-content .property-header h5 {
    font-size: 1.2em;
}
/*Encarts critères*/
.properties-list.grid .property-item .property-content .property-details {
    font-size: 0.9em;
}
.properties-list .property-item .property-content .property-details img {
    height: 23px;
}
/*FOOTER*/
.content-footer {
    border-top: solid 1px #d3cfc3;
    padding-top: 50px;
}
/* ============================================
   FOOTER — bascule mobile à 850px (au lieu de 767.98px)
   Recrée la mise en colonne d'app.css + centrage des blocs
   ============================================ */
@media (max-width: 850px) {
  .content-footer .container .content-footer-inner {
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: center;
    margin: 0 auto !important;
    max-width: 80%;
  }

  /* neutralise text-start pour centrer aussi le texte interne */
  .content-footer .container .content-footer-inner .text-start {
    text-align: center !important;
  }

  .content-footer .container .content-footer-inner h5,
  .content-footer .container .content-footer-inner p {
    text-align: center;
  }
}

/* ============================================================ PAGE SERVICES — Go Prestige ============================================================ */
 .services-page{
     --gp-primary:#c0a055;
     --gp-gold-light:#d7be75;
     --gp-gold-stroke:#bf9828;
     --gp-text:#625e53;
     --gp-radius:25px;
     --gp-glass-blur:22px;
    /* équivalent web du "blur 50" Figma — ajustable */
     --gp-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
     overflow-x:clip;
}
 .services-page .gp-wrap{
    max-width:1140px;
    margin-inline:auto;
    padding-inline:24px;
}
/* --- Barres décoratives --- */
 .services-page .gp-bar{
    display:block;
    width:55px;
    height:3px;
    background:var(--gp-primary);
    border:0;
    margin:16px 0 24px;
}
 .services-page .gp-bar--center{
    margin-left:auto;
    margin-right:auto;
}
 .services-page .gp-bar--sm{
    width:50px;
}
/* --- Boutons pilule --- */
 .services-page .gp-btn{
     display:inline-flex;
    align-items:center;
    gap:12px;
     background:var(--gp-primary);
    color:#fff;
     font-family:"Open Sans",sans-serif;
    font-size:.8rem;
     letter-spacing:.11em;
    text-transform:uppercase;
    text-decoration:none;
     padding:14px 26px;
    border-radius:50px;
    border:0;
     transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
 .services-page .gp-btn:hover{
    background: #a6863a;
    color:#fff;
    transform:translateY(-2px);
}
 .services-page .gp-btn img{
    height:11px;
    width:auto;
    display:block;
    filter:brightness(0) invert(1);
}
/* --- 1. HÉRO --- */
 .services-page .gp-hero{
    padding:48px 0 88px;
}
 .services-page .gp-hero__title{
    text-align:center;
    font-size:2.8rem;
    color:var(--gp-text);
    margin:0;
}
 .services-page .gp-hero__grid{
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:64px;
    align-items:center;
    margin-top:48px;
}
 .services-page .gp-hero__heading{
    color:var(--gp-text);
    margin:0;
    line-height:1.15;
}

@media (max-width: 575.98px) {
    .services-page .gp-hero__heading {
    line-height: 1.15;
    font-size: 2.6rem;
}
.services-page .gp-bar {
    margin: 25px 0 24px;
}
}
 .services-page .gp-hero__lead{
    font-size:1.15rem;
    line-height:1.55;
    color:var(--gp-text);
    margin:0 0 28px;
}
 .services-page .gp-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
}
 .services-page .gp-hero__media img{
    width:100%;
    height:100%;
    max-height:440px;
    border-radius:var(--gp-radius);
    display:block;
    object-fit:cover;
    box-shadow:var(--gp-shadow);
}
/* --- 2. NOTRE EXPERTISE --- */
 .services-page .gp-expertise-section{
    padding:0 0 100px;
}
 .services-page .gp-expertise{
     background:#fff;
    border-radius:var(--gp-radius);
    box-shadow:var(--gp-shadow);
     padding:clamp(36px,5vw,75px);
}
@media (max-width: 575.98px) {
.services-page .gp-expertise {
    padding: clamp(25px, 5vw, 75px);
}
}
 .services-page .gp-expertise__title{
    color:var(--gp-text);
    margin:0 0 14px;
}
 .services-page .gp-expertise__lead{
    font-size:1rem;
    line-height:1.62em;
    color:var(--gp-text);
    max-width:990px;
    margin:0 0 48px;
}
 .services-page .gp-expertise__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    column-gap:clamp(40px,6vw,100px);
    row-gap:40px;
}
 .services-page .gp-feature{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:16px;
    align-items:start;
}
 .services-page .gp-feature__icon{
    width:28px;
    height:28px;
    margin-top:2px;
    flex-shrink:0;
}
 .services-page .gp-feature__title{
    font-family:"Open Sans",sans-serif;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:1.1em;
    line-height:1.62em;
    color:var(--gp-text);
    margin:0 0 10px;
}
 .services-page .gp-feature__text{
    margin:0;
    color:var(--gp-text);
    font-size: 1rem;
    line-height:1.62em;
}
/* --- 3. VENDRE / LOUER (glassmorphisme) --- */
 .services-page .gp-offers{
     position:relative;
    padding:100px 24px 170px;
    isolation:isolate;
     background:#26241f url(../images/go-prestige-immobilier-luxe-brabant-wallon.webp) center/cover no-repeat;
     height: 1175px;
}
 .services-page .gp-offers::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.45));
}
 .services-page .gp-offers__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,520px));
    gap:80px;
    justify-content:center;
    max-width:1070px;
    margin-inline:auto;
}
 .services-page .gp-card-glass{
     background:rgba(0,0,0,.45);
     -webkit-backdrop-filter:blur(var(--gp-glass-blur));
     backdrop-filter:blur(var(--gp-glass-blur));
     border:2px solid var(--gp-gold-stroke);
     border-radius:var(--gp-radius);
     box-shadow:0 5px 15px rgba(0,0,0,.5);
     padding:clamp(32px,3.5vw,50px);
    color:#fff;
     display:flex;
    flex-direction:column;
     transition:transform .3s ease,box-shadow .3s ease;
}
 @media (max-width:575px){
.services-page .gp-card-glass {
    padding: clamp(25px, 3vw, 25px);
}
}
 .services-page .gp-card-glass__title{
    color:#fff;
    margin:0;
}
 .services-page .gp-card-glass__lead{
    color:#fff;
    font-size:1rem;
    line-height:1.55;
    margin:0 0 22px;
}
 .services-page .gp-card-glass__list{
    list-style:none;
    padding:0;
    margin:0 0 32px;
}
 .services-page .gp-card-glass__list li{
    position:relative;
    padding-left:22px;
    margin-bottom:12px;
    line-height:1.5;
    color:#fff;
    text-align:left;
}
 .services-page .gp-card-glass__list li::before{
    content:"";
    position:absolute;
    left:0;
    top:.55em;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--gp-primary);
}
 .services-page .gp-card-glass .gp-btn{
    align-self:flex-start;
    margin-top:auto;
}
/* --- 4. NOS ENGAGEMENTS (superposé sur la section fond) --- */
 .services-page .gp-commit-section{
    padding:0 24px;
}
 .services-page .gp-commit{
     position:relative;
    z-index:2;
    max-width:1070px;
    margin:-300px auto 0;
     background:var(--gp-primary);
    border-radius:var(--gp-radius);
    box-shadow:0 5px 15px rgba(0,0,0,.15);
     padding:clamp(40px,5vw,75px);
    color:#fff;
}
 @media (max-width:575px){
.services-page .gp-commit {
    padding: clamp(25px, 7vw, 25px);
}
}
 .services-page .gp-commit__head{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    margin-bottom:32px;
}
 .services-page .gp-commit__head img{
    width:95px;
    height:95px;
    filter:brightness(0) invert(1);
}
 .services-page .gp-commit__title{
    color:#fff;
    margin:0;
}
 .services-page .gp-commit__lead{
    text-align:center;
    color:#fff;
    font-size:1rem;
    line-height: 1.6;
    margin:0 0 44px;
}
 .services-page .gp-commit__list{
    display:flex;
    flex-direction:column;
    gap:50px;
    max-width:920px;
    margin-inline:auto;
}
 .services-page .gp-commit__item{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:24px;
    align-items:center;
}
 .services-page .gp-commit__num{
    font-family:"Open Sans",sans-serif;
    font-weight:500;
    font-size:3.75rem;
    line-height:1;
    color:var(--gp-gold-light);
}
 .services-page .gp-commit__text{
    color:#fff;
    font-size:1rem;
    line-height:1.6;
    margin:0;
    text-align:left;
}
 .services-page .gp-commit__text strong{
    color:#fff;
    font-weight:700;
}
/* --- 5. CTA --- */
 .services-page .gp-cta{
    text-align:center;
    padding:115px 0 80px;
}
 .services-page .gp-cta__title{
    color:var(--gp-text);
    margin:0 0 40px;
}
/* ============================================================ RESPONSIVE (breakpoint thème : 900px) ============================================================ */
 @media (max-width:900px){
     .services-page .gp-hero__grid, .services-page .gp-expertise__grid{
        grid-template-columns:1fr;
    }
     .services-page .gp-hero__grid{
        gap:36px;
    }
     .services-page .gp-expertise__grid{
        row-gap:32px;
    }
    
    /* --- 3. VENDRE / LOUER — Carrousel --- */
     .services-page .gp-offers{
        padding:50px 0 72px;
        height: auto !important;
        min-height: initial;
        overflow-x: hidden;
    }
     .services-page .gp-offers__grid{
        display: flex !important;
        grid-template-columns: none !important;
        justify-content: flex-start !important; /* Neutralise le centrage desktop */
        margin-inline: 0 !important;           /* Neutralise le margin: auto desktop */
        width: 100% !important;
        max-width: 100% !important;
        
        overflow-x: auto !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        
        gap: 16px;
        padding-inline: 24px;
        scroll-padding-left: 24px;
        
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE / Edge */
    }
     .services-page .gp-offers__grid::-webkit-scrollbar {
        display: none; /* Chrome / Safari */
    }
     .services-page .gp-offers .gp-card-glass {
        flex: 0 0 85% !important; /* Empêche la carte de rétrécir */
        min-width: 85% !important;
        scroll-snap-align: start;
        box-sizing: border-box;
    }

    /* --- 4. NOS ENGAGEMENTS --- */
     .services-page .gp-commit{
        margin-top:40px;
    }
     .services-page .gp-commit__head{
        flex-direction:column;
        gap:12px;
        text-align:center;
    }
     .services-page .gp-commit__list{
        gap:36px;
    }
     .services-page .gp-commit__num{
        font-size:2.8rem;
    }
     .services-page .gp-expertise-section{
        padding-bottom:50px;
    }
}

 @media (max-width:575px){
     .services-page .gp-hero {
        padding: 0 0 30px;
    }
     .services-page .gp-hero__actions{
        flex-direction:column;
    }
     .services-page .gp-hero__actions .gp-btn{
        justify-content:center;
    }
}
/*Page contact*/
.page-contact .contact-container hr {
    width: 14%;
}
/* Contact — carte sous les horaires */
:root {
    --gp-contact-map-h: 320px;
}
.contact-container .contact-map {
    height: var(--gp-contact-map-h);
}

.crmform {
    padding: 0px 50px;
}

@media (min-width: 1400px) {
    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%;
    }
}

@media (min-width: 1400px) {
    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
        margin-top: 30px;
    }
}
/* Contact — resserrer le hr de la colonne gauche */
.page-contact .contact-container hr {
    margin: 1.5rem 0 2rem;
}

/* Contact — espacement au-dessus de la carte */
.page-contact .contact-container .map-container.mt-4 {
    margin-top: 2.5rem !important;
}

.page-contact .crmform p.text-center {
    hyphens: manual;
    line-height: 1.6em;
    word-spacing: normal;
}

/* Popup estimation — padding du formulaire (sans toucher la page contact) */
.mfp-content .crmform {
    padding: 50px 50px;
}

/* Popup estimation — resserrer le paragraphe d'intro */
.mfp-content .crmform p.text-center {
    margin-bottom: 2rem;
    margin-top: 2rem;
}

@media (max-width: 767px) {
.crmform {
    padding: 0px 0px;
}
}

/* Contact — espace au-dessus du bloc info+carte sur mobile */
@media (max-width: 767.98px) {
    .page-contact .contact-container .col-md-4 {
        margin-top: 50px;
        margin-bottom: -100px;
    }
}

@media (max-width: 575.98px) {
    .page-contact .contact-container .h1, .page-contact .contact-container .h2, .page-contact .contact-container h1, .page-contact .contact-container h2 {
        font-size: 2.6rem;
        line-height: 1.1;
    }
}
}