
:root {
  --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Helvetica Neue", sans-serif;
  --heading-font-family: "Montserrat", var(--font-family);
  --line-height: 1.625;
  --accent-color: #186ADC;
  --el-gradient-start: #1859B4;
  --el-gradient-end: #0467F1;
  --background-color: #ffffff;
  --background-secondary-color: #F0F4F8;
  --text-primary: #303036;
  --text-secondary: #63636b;
  --border-color: #D4D4E1;
  --el-border-radius: 10px;
  --el-border-radius-min: 6px;
  --el-box-shadow: 2px 4px 20px 1px rgba(45,45,45,.13);
  --header-box-shadow: 0 0 14px 0 rgba(77,82,94,.15);
}
html,body{margin:0;padding:0;color:var(--text-primary);background:#fff;font-family:var(--font-family);line-height:var(--line-height)}
a{color:var(--accent-color);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--heading-font-family);margin:0 0 1rem}
.section{padding:4rem 0;background:#fff}
.section-bgc{background:var(--background-secondary-color);}
.section-heading{max-width:850px;margin:0 auto 2rem;text-align:center}
.section-desc{color:var(--text-secondary)}
.main{max-width:1920px;margin:0 auto;box-shadow:var(--el-box-shadow)}
.header-fixed{position:sticky;top:0;background:#fff;box-shadow:var(--header-box-shadow);z-index:10;padding:.75rem 0}
.logo img{max-height:44px}
.main-mnu-list{display:flex;gap:1.5rem}
.main-mnu-list a{color:var(--text-primary)}
.mmm{display:none}
@media (max-width:1199.98px){.mmm{display:block;position:fixed;inset:0 40% 0 0;background:#fff;transform:translateX(-120%);transition:.4s;z-index:99;box-shadow:var(--header-box-shadow)}
body.mmm-open .mmm{transform:none}}
.main-mnu-btn{width:24px;height:18px;position:relative}
.main-mnu-btn .bar{position:absolute;left:0;right:0;height:2px;background:#303036;transition:.3s}
.bar-1{top:0}.bar-2,.bar-3{top:8px}.bar-4{bottom:0}
.main-mnu-btn.active .bar-1,.main-mnu-btn.active .bar-4{opacity:0}.main-mnu-btn.active .bar-2{transform:rotate(45deg)}.main-mnu-btn.active .bar-3{transform:rotate(-45deg)}
.intro-item{min-height:28rem;display:flex;align-items:center;background-size:cover;background-position:center; justify-content: center;}
.intro-content{max-width:760px}
.ps-badge{display:inline-flex;gap:.5rem;padding:.4rem .75rem;border:1px solid #cfe0ff;background:#e9f2ff;border-radius:999px;font-size:.9rem}
.btn{display:inline-block;padding:.75rem 1.25rem;border-radius:8px;background:linear-gradient(90deg,var(--el-gradient-start),var(--el-gradient-end));color:#fff}
.btn-border{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}
.btn-group{display:flex;gap:1rem;flex-wrap:wrap; justify-content: center;}
.iitem-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;color:#fff;background:linear-gradient(90deg,var(--el-gradient-start),var(--el-gradient-end));margin:0 0 1rem}
.item{margin-bottom:1.5rem}
.item-style{background:#fff;border:1px solid var(--border-color);border-radius:10px;padding:1.25rem;transition:box-shadow .2s}
.item-style:hover{box-shadow:var(--el-box-shadow)}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{display:flex;gap:.625rem;margin:.75rem 0}
.stat-row{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1.5rem; justify-content: center;}
.stat b{font-size:1.5rem}
.cta{background:#186ADC;color:#fff;border-radius:10px;padding:2rem;text-align:center;margin:2rem 0}
.cta .btn{background:#fff;color:#186ADC}
.footer{background:#303036;color:#fff}
.footer a{color:#fff;opacity:.85}
.footer-main{padding:2.5rem 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:1rem 0;font-size:.9rem}
/* Forms */
.form-field{position:relative;margin-bottom:1rem}
.form-field-label{position:absolute;left:1rem;top:.75rem;color:#6F6F76;pointer-events:none;transition:.2s;background:#fff;padding:0 .25rem}
.form-field.focus .form-field-label{opacity:0;transform:translateX(8px)}
input,textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:transparent}

/* ====== Compact spacing overrides (paste at end of style.css) ====== */

/* 1) Gutter global un peu réduit */
:root {
  --bs-gutter-x: 1rem; /* était 1.5rem dans bootstrap-grid.css */
}

/* 2) Sections & en-têtes */
.section { padding: 2.5rem 0; }                /* était 4rem 0 */
.section-heading { margin-bottom: 1.25rem; }   /* était 2rem */
h1, h2, h3 { margin-bottom: .75rem; }          /* était 1rem */

/* 3) Hero / intro */
.intro-item { min-height: 22rem; }             /* était 28rem -> moins d'air au-dessus */
.intro-content { max-width: 680px; }           /* léger resserrage pour réduire les lignes */

/* 4) Badges, boutons, stats */
.ps-badge { padding: .35rem .6rem; font-size: .88rem; }
.btn { padding: .6rem 1rem; border-radius: 7px; }  /* plus dense */
.btn-group { gap: .75rem; }
.stat-row { gap: 1.25rem; margin-top: 1rem; }
.stat b { font-size: 1.35rem; }

/* 5) Cards services/contact */
.item { margin-bottom: 1rem; }                  /* était 1.5rem */
.item-style { padding: 1rem; }                  /* était 1.25rem */
.iitem-icon { width: 56px; height: 56px; margin-bottom: .75rem; }

/* 6) Header & menus */
.header-fixed { padding: .5rem 0; }             /* était .75rem */
.main-mnu-list { gap: 1rem; }                   /* était 1.5rem */

/* 7) CTA & Footer */
.cta { padding: 1.25rem; margin: 1.5rem 0; }    /* était 2rem / 2rem */
.footer-main { padding: 1.75rem 0; }            /* était 2.5rem */
.footer-bottom { padding: .75rem 0; }           /* était 1rem */

/* 8) Formulaires */
.form-field { margin-bottom: .75rem; }          /* était 1rem */
input, textarea { padding: .65rem .9rem; }
.form-field-label { top: .6rem; }

/* 9) Responsive – encore plus compact sur mobile */
@media (max-width: 575.98px) {
  .section { padding: 2rem 0; }
  .intro-item { min-height: 18rem; }
  .btn { padding: .55rem .9rem; }
  .cta { padding: 1rem; margin: 1rem 0; }
}

/* ====== Home (Hero) — plus large, pas plus haut ====== */

/* 1) Container plus large sur desktop, sans impacter le reste du site */
#home .container {
  max-width: 1280px;          /* élargi (BS5 xl=1140/xxl=1320) */
  padding-left: 1rem;
  padding-right: 1rem;
}

/* 2) Bloc de texte du Hero : plus large */
#home .intro-content {
  max-width: 960px;           /* avant ~680px : réduit les retours à la ligne */
}

/* 3) On annule l’agrandissement en hauteur du précédent patch */
#home .intro-item {
  min-height: clamp(22rem, 48vh, 36rem);  /* pas plus haut qu'avant */
  padding-top: 2.5rem;                    /* compact mais confortable */
  padding-bottom: 2.5rem;
  background-size: cover;
  background-position: center;
}

/* 4) Titre & description : un peu plus gros, mais largeur accrue => pas plus “long” */
#home .intro-content .section-heading h1 {
  font-size: clamp(2.1rem, 2.2vw + 1.1rem, 3.1rem);
  line-height: 1.12;
  letter-spacing: -.015em;
  margin-bottom: .7rem;
}

#home .intro-content .section-desc {
  font-size: clamp(1.02rem, 0.4vw + 1rem, 1.22rem);
  line-height: 1.55;
  max-width: 60rem;           /* laisse le paragraphe s'étaler un peu plus */
  margin-left: 0;
}

/* 5) Boutons et stats adaptés à la nouvelle largeur (sans gonfler la hauteur) */
#home .intro-btns .btn {
  font-size: 1rem;
  padding: .68rem 1.05rem;
}
#home .stat-row { gap: 1.1rem; margin-top: 1rem; }
#home .stat b { font-size: 1.5rem; }
#home .stat { font-size: .98rem; }

/* 6) Réactivité : on garde la largeur standard sur mobile */
@media (max-width: 991.98px) {
  #home .container { max-width: 100%; }
  #home .intro-content { max-width: 100%; }
  #home .intro-item {
    min-height: 22rem;        /* pas d’allongement en vertical sur mobile */
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  #home .intro-content .section-heading h1 {
    font-size: clamp(1.9rem, 6vw + .5rem, 2.5rem);
  }
  #home .intro-content .section-desc { font-size: 1.04rem; }
}




/* Map */
.map-embed{width:100%;height:320px;border:0;border-radius:10px}
@media (max-width:575.98px){.map-embed{height:260px}}
