/* EzWebStudio — thème Doux (2.8) : Coins arrondis, boutons en pilule, fonds pâles teintés, dégradés légers.
   Polices : DM Sans (titres), Inter (texte) — SIL Open Font License, hébergées avec le site. */
:root {
  --ez-fond: #ffffff;
  --ez-surface: #f3f7fc;
  --ez-texte: #0f1b2d;
  --ez-texte-doux: #4a5a70;
  --ez-bord: #dfe6ef;
  --ez-primaire: #0a336f;
  --ez-accent: #0461a8;
  --ez-secondaire: #0b8fd1;
  --ez-sur-accent: #ffffff;
  --ez-sur-primaire: #ffffff;
  --ez-rayon: 14px;
  --ez-densite: 1.1;
  --ez-degrade: linear-gradient(135deg, var(--ez-accent), var(--ez-secondaire));
  --ez-ombre: rgb(10 51 111 / .14);
  --ez-police-titres: "DM Sans", var(--ez-police-secours);
  --ez-police-texte: "Inter", var(--ez-police-secours);
}
@media (prefers-color-scheme: dark) {
  :root.ez-sombre-auto {
    --ez-fond: #0d1420;
    --ez-surface: #142033;
    --ez-texte: #e8eef7;
    --ez-texte-doux: #a7b6ca;
    --ez-bord: #243349;
    --ez-primaire: #e8eef7;
    --ez-accent: #5cb8ff;
    --ez-secondaire: #3fc3f5;
    --ez-sur-accent: #06111f;
    --ez-sur-primaire: #0d1420;
    --ez-ombre: rgb(0 0 0 / .45);
    --ez-alerte-fond: #3d1714;
    --ez-alerte-texte: #ffb4ab;
  }
}
h1 { letter-spacing: -0.02em; line-height: 1.12; }
h2 { letter-spacing: -0.01em; font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.4rem); }
.ez-bouton { border-radius: 999px; padding: .75rem 1.5rem; transition: transform .15s ease, box-shadow .15s ease; }
.ez-bouton:where(:not(.ez-bouton-secondaire)) { background: var(--ez-degrade); box-shadow: 0 6px 18px color-mix(in srgb, var(--ez-accent) 28%, transparent); }
.ez-bouton:hover { transform: translateY(-1px); filter: none; }
.ez-bloc-hero:not(.ez-hero-avec-image) { background: radial-gradient(56rem 26rem at 85% -10%, color-mix(in srgb, var(--ez-secondaire) 22%, transparent), transparent 60%), radial-gradient(44rem 24rem at -10% 110%, color-mix(in srgb, var(--ez-accent) 14%, transparent), transparent 60%), var(--ez-surface); }
.ez-carte, .ez-tarif { border-color: var(--ez-bord); transition: box-shadow .2s ease, transform .2s ease; }
.ez-carte:hover { box-shadow: 0 16px 34px -18px var(--ez-ombre); transform: translateY(-2px); }
.ez-appel { background: linear-gradient(120deg, var(--ez-primaire), var(--ez-accent) 65%, var(--ez-secondaire)); border-radius: calc(var(--ez-rayon) * 1.6); }
.ez-entete { background: color-mix(in srgb, var(--ez-fond) 92%, transparent); backdrop-filter: blur(8px); }
@media (prefers-reduced-motion: reduce) { .ez-bouton, .ez-carte { transition: none; } .ez-bouton:hover, .ez-carte:hover { transform: none; } }
