/* =========================
   LMI MAISON — CSS GLOBAL
   ========================= */

:root{
  --lmi-blue:#143B7D;
  --lmi-ochre:#CC7722;
  --lmi-sand:#75553F;
  --lmi-gold:#D4AF37;
  --lmi-paper:#FFFFFF;
  --lmi-soft:#F7F4EF;
  --lmi-ink:#1F1F1F;
  --lmi-line:rgba(20,59,125,.10);
  --lmi-shadow:0 18px 42px rgba(20,59,125,.08);
  --lmi-radius:24px;
}

html{
  scroll-behavior:smooth;
}

html,
body{
  background:linear-gradient(180deg,#ffffff 0%,#faf7f1 100%);
  color:var(--lmi-ink);
}

body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.65;
}

/* Décalage d’ancre pour le header fixe */
section[id],
div[id],
article[id]{
  scroll-margin-top:110px;
}

/* Titres globaux */
h1,h2,h3,h4,h5,h6{
  color:var(--lmi-blue);
  letter-spacing:-.02em;
}

/* Paragraphes */
p{
  color:rgba(31,31,31,.84);
}

/* Liens */
a{
  color:var(--lmi-blue);
}

a:hover{
  color:#0f2d62;
}

/* Images */
img{
  max-width:100%;
  height:auto;
  border-radius:18px;
}

/* Tables */
table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
}

table th,
table td{
  padding:12px 14px;
  border-bottom:1px solid var(--lmi-line);
}

/* Champs */
input,
textarea,
select{
  border-radius:16px !important;
}

/* Boutons */
button,
input[type="button"],
input[type="submit"],
.zs-button,
.btn{
  border-radius:999px !important;
}

/* Cartes / blocs */
.card,
[class*="card"],
.zs-blog-post,
.zs-box,
.zscontent-box{
  border-radius:var(--lmi-radius);
}

/* Espacement général */
section{
  position:relative;
}

section + section{
  margin-top:10px;
}

/* Listes */
ul li,
ol li{
  margin-bottom:4px;
}

/* Nettoyage discret */
p:empty,
div:empty{
  min-height:0 !important;
}

/* Header custom : sécurité visuelle */
#lmi-maison-header-v1{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}

/* Footer custom : respiration */
#lmi-maison-footer-v1{
  margin-top:56px !important;
}

/* Mobile */
@media (max-width:768px){
  body{
    font-size:15px;
  }

  h1{
    line-height:1.08;
  }

  h2{
    line-height:1.12;
  }

  section[id],
  div[id],
  article[id]{
    scroll-margin-top:95px;
  }
}