/* =========================================================
   Spidi Serrurier — feuille de style principale
   Palette : bleu profond + accent orange (pro & rassurant)
   ========================================================= */

:root{
  --bleu-900:#08192f;
  --bleu-800:#0b2545;
  --bleu-700:#123a6b;
  --bleu-100:#e8eef7;
  --bleu-50:#f4f7fc;

  --orange:#f97316;
  --orange-fonce:#ea580c;
  --orange-clair:#fff2e6;

  --vert:#0f9d58;
  --vert-clair:#e6f6ee;

  --gris-900:#111827;
  --gris-700:#374151;
  --gris-500:#6b7280;
  --gris-300:#d1d5db;
  --gris-100:#f3f4f6;
  --blanc:#ffffff;

  --rayon:14px;
  --rayon-sm:8px;
  --ombre:0 1px 2px rgba(11,37,69,.06), 0 8px 24px rgba(11,37,69,.08);
  --ombre-forte:0 12px 40px rgba(11,37,69,.16);
  --max:1140px;
  --transition:.22s ease;
  --police:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--police);
  font-size:17px;
  line-height:1.65;
  color:var(--gris-700);
  background:var(--blanc);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--bleu-700);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{color:var(--bleu-800);line-height:1.2;margin:0 0 .6em;font-weight:800;letter-spacing:-.02em;}
h1{font-size:clamp(2rem,4.6vw,3.1rem);}
h2{font-size:clamp(1.6rem,3.2vw,2.25rem);}
h3{font-size:1.2rem;}
p{margin:0 0 1.1em;}
ul{margin:0 0 1.1em;padding-left:1.2em;}
li{margin-bottom:.4em;}

.conteneur{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px;}
.section{padding:74px 0;}
.section--gris{background:var(--bleu-50);}
.section--bleu{background:var(--bleu-800);color:var(--bleu-100);}
.section--bleu h2,.section--bleu h3{color:#fff;}
.centre{text-align:center;}
.section__intro{max-width:680px;margin:0 auto 46px;text-align:center;color:var(--gris-500);font-size:1.05rem;}
.surtitre{
  display:inline-block;text-transform:uppercase;letter-spacing:.12em;
  font-size:.78rem;font-weight:700;color:var(--orange-fonce);margin-bottom:.7em;
}

/* ---------- Boutons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:14px 26px;border-radius:999px;border:2px solid transparent;
  font-weight:700;font-size:1rem;line-height:1;cursor:pointer;
  transition:transform var(--transition),box-shadow var(--transition),background var(--transition);
  text-decoration:none;white-space:nowrap;
}
.btn:hover{text-decoration:none;transform:translateY(-2px);}
.btn--orange{background:var(--orange);color:#fff;box-shadow:0 6px 18px rgba(249,115,22,.35);}
.btn--orange:hover{background:var(--orange-fonce);color:#fff;}
.btn--bleu{background:var(--bleu-800);color:#fff;}
.btn--bleu:hover{background:var(--bleu-700);color:#fff;}
.btn--fantome{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.btn--fantome:hover{background:rgba(255,255,255,.12);color:#fff;}
.btn--contour{background:#fff;color:var(--bleu-800);border-color:var(--bleu-100);box-shadow:var(--ombre);}
.btn--contour:hover{border-color:var(--bleu-700);color:var(--bleu-700);}
.btn--large{padding:17px 34px;font-size:1.08rem;}
.btn--bloc{width:100%;}

/* ---------- Barre supérieure ---------- */
.barre-haut{background:var(--bleu-900);color:#c9d6e8;font-size:.86rem;}
.barre-haut__int{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px 20px;}
.barre-haut__gauche{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.barre-haut span{display:inline-flex;align-items:center;gap:.45em;}
.barre-haut a{color:#fff;font-weight:600;}
.pastille{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.7);animation:pulse 2.2s infinite;}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(52,211,153,.7);}
  70%{box-shadow:0 0 0 9px rgba(52,211,153,0);}
  100%{box-shadow:0 0 0 0 rgba(52,211,153,0);}
}

/* ---------- En-tête ---------- */
.entete{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--bleu-100);}
.entete__int{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;}
.logo{display:flex;align-items:center;gap:11px;font-weight:800;color:var(--bleu-800);font-size:1.15rem;letter-spacing:-.02em;}
.logo:hover{text-decoration:none;}
.logo__marque{
  width:42px;height:42px;border-radius:11px;flex:0 0 42px;
  background:linear-gradient(135deg,var(--bleu-700),var(--bleu-900));
  display:grid;place-items:center;color:#fff;
}
.logo__nom{display:flex;flex-direction:column;line-height:1.15;}
.logo__nom small{font-size:.7rem;font-weight:600;color:var(--gris-500);letter-spacing:.05em;text-transform:uppercase;}

.nav{display:flex;align-items:center;gap:6px;}
.nav a{
  padding:9px 12px;border-radius:var(--rayon-sm);color:var(--gris-700);white-space:nowrap;
  font-weight:600;font-size:.94rem;transition:background var(--transition),color var(--transition);
}
.nav a:hover{background:var(--bleu-50);color:var(--bleu-800);text-decoration:none;}
.nav a.actif{color:var(--bleu-800);background:var(--bleu-100);}
.entete__cta{display:flex;align-items:center;gap:12px;}
.tel-entete{display:flex;flex-direction:column;line-height:1.15;text-align:right;}
.tel-entete small{font-size:.72rem;color:var(--gris-500);font-weight:600;}
.tel-entete strong{font-size:1.12rem;color:var(--bleu-800);}
.tel-entete:hover{text-decoration:none;}

.burger{display:none;background:none;border:0;padding:8px;cursor:pointer;color:var(--bleu-800);}

/* ---------- Héros ---------- */
.heros{
  position:relative;color:#fff;overflow:hidden;
  background:
    radial-gradient(1000px 500px at 82% -10%, rgba(249,115,22,.30), transparent 60%),
    linear-gradient(160deg,var(--bleu-900) 0%, var(--bleu-800) 45%, var(--bleu-700) 100%);
}
.heros::after{
  content:"";position:absolute;inset:0;opacity:.07;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);
  background-size:52px 52px;
}
.heros__int{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding:76px 20px 84px;}
.heros h1{color:#fff;margin-bottom:.45em;}
.heros h1 em{font-style:normal;color:#ffc078;}
.heros__accroche{font-size:1.14rem;color:#cfdcef;max-width:560px;margin-bottom:1.6em;}
.heros__badge{
  display:inline-flex;align-items:center;gap:.6em;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);padding:8px 16px;border-radius:999px;
  font-size:.86rem;font-weight:600;color:#fff;margin-bottom:1.4em;
}
.heros__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:2.2em;}
.heros__preuves{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:22px 28px;border-top:1px solid rgba(255,255,255,.16);padding-top:22px;}
.preuve strong{display:block;font-size:1.55rem;color:#fff;line-height:1.1;}
.preuve span{font-size:.85rem;color:#a9bdd8;}

.carte-urgence{
  background:#fff;border-radius:20px;padding:30px;box-shadow:var(--ombre-forte);color:var(--gris-700);
}
.carte-urgence h2{font-size:1.28rem;margin-bottom:.3em;}
.carte-urgence__tel{
  display:flex;align-items:center;gap:14px;background:var(--orange-clair);
  border:1px dashed #fdba74;border-radius:var(--rayon);padding:16px;margin:18px 0;
}
.carte-urgence__tel span{font-size:.8rem;color:var(--orange-fonce);font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.carte-urgence__tel strong{display:block;font-size:1.55rem;color:var(--bleu-800);letter-spacing:-.02em;}
.carte-urgence__tel a{color:inherit;}
.liste-check{list-style:none;padding:0;margin:0 0 20px;}
.liste-check li{display:flex;gap:.65em;align-items:flex-start;font-size:.96rem;margin-bottom:.55em;}
.liste-check svg{flex:0 0 20px;margin-top:3px;color:var(--vert);}

/* ---------- Bandeau de confiance ---------- */
.bandeau-confiance{background:var(--bleu-50);border-bottom:1px solid var(--bleu-100);}
.bandeau-confiance__int{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:26px 20px;}
.confiance{display:flex;gap:12px;align-items:center;font-size:.93rem;font-weight:600;color:var(--bleu-800);}
.confiance svg{flex:0 0 26px;color:var(--orange);}

/* ---------- Grilles & cartes ---------- */
.grille{display:grid;gap:26px;}
.grille--2{grid-template-columns:repeat(2,1fr);}
.grille--3{grid-template-columns:repeat(3,1fr);}
.grille--4{grid-template-columns:repeat(4,1fr);}

.carte{
  background:#fff;border:1px solid var(--bleu-100);border-radius:var(--rayon);
  padding:28px;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
}
.carte:hover{transform:translateY(-4px);box-shadow:var(--ombre);border-color:#c9d8ee;}
.carte__icone{
  width:52px;height:52px;border-radius:13px;display:grid;place-items:center;
  background:var(--bleu-100);color:var(--bleu-700);margin-bottom:18px;
}
.carte h3{margin-bottom:.4em;}
.carte p{font-size:.96rem;margin-bottom:.8em;}
.carte__lien{font-weight:700;font-size:.92rem;color:var(--orange-fonce);display:inline-flex;gap:.4em;align-items:center;}
.carte__prix{font-size:.9rem;color:var(--gris-500);font-weight:600;}
.carte__prix strong{color:var(--bleu-800);font-size:1.05rem;}

/* ---------- Étapes ---------- */
.etapes{counter-reset:etape;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.etape{position:relative;padding-top:20px;}
.etape::before{
  counter-increment:etape;content:counter(etape);
  display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:var(--orange);color:#fff;font-weight:800;font-size:1.05rem;margin-bottom:16px;
}
.etape h3{font-size:1.05rem;}
.etape p{font-size:.94rem;color:var(--gris-500);margin:0;}

/* ---------- Tableau de tarifs ---------- */
.tableau-enveloppe{overflow-x:auto;border:1px solid var(--bleu-100);border-radius:var(--rayon);background:#fff;box-shadow:var(--ombre);}
table.tarifs{width:100%;border-collapse:collapse;min-width:560px;font-size:.97rem;}
table.tarifs caption{text-align:left;padding:20px 22px 0;font-weight:800;color:var(--bleu-800);font-size:1.1rem;}
table.tarifs th,table.tarifs td{padding:15px 22px;text-align:left;border-bottom:1px solid var(--bleu-100);}
table.tarifs thead th{background:var(--bleu-50);color:var(--bleu-800);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;}
table.tarifs tbody tr:last-child td{border-bottom:0;}
table.tarifs tbody tr:hover{background:var(--bleu-50);}
table.tarifs td:last-child,table.tarifs th:last-child{text-align:right;white-space:nowrap;font-weight:700;color:var(--bleu-800);}
.note-tarif{font-size:.88rem;color:var(--gris-500);margin-top:14px;}

/* ---------- Avis ---------- */
.avis{background:#fff;border:1px solid var(--bleu-100);border-radius:var(--rayon);padding:26px;}
.etoiles{color:#f59e0b;font-size:1.05rem;letter-spacing:2px;margin-bottom:12px;}
.avis p{font-size:.97rem;font-style:italic;color:var(--gris-700);}
.avis__auteur{display:flex;align-items:center;gap:12px;margin-top:16px;}
.avis__initiale{
  width:42px;height:42px;border-radius:50%;background:var(--bleu-100);color:var(--bleu-700);
  display:grid;place-items:center;font-weight:800;flex:0 0 42px;
}
.avis__auteur strong{display:block;color:var(--bleu-800);font-size:.95rem;}
.avis__auteur span{font-size:.84rem;color:var(--gris-500);}

/* ---------- Zone d'intervention ---------- */
.communes{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;}
.communes li{
  background:#fff;border:1px solid var(--bleu-100);border-radius:999px;
  padding:9px 18px;font-size:.92rem;font-weight:600;color:var(--bleu-800);
}
.zone-carte{
  border-radius:var(--rayon);overflow:hidden;border:1px solid var(--bleu-100);
  background:var(--bleu-100);min-height:340px;display:grid;place-items:center;color:var(--gris-500);
}
.zone-carte iframe{width:100%;height:100%;min-height:340px;border:0;display:block;}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto;}
.faq details{
  background:#fff;border:1px solid var(--bleu-100);border-radius:var(--rayon);
  padding:0;margin-bottom:12px;overflow:hidden;
}
.faq summary{
  cursor:pointer;padding:18px 22px;font-weight:700;color:var(--bleu-800);
  list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--orange);font-weight:700;line-height:1;}
.faq details[open] summary::after{content:"–";}
.faq details[open] summary{border-bottom:1px solid var(--bleu-100);}
.faq__rep{padding:18px 22px;font-size:.97rem;}
.faq__rep p:last-child{margin-bottom:0;}

/* ---------- Formulaire ---------- */
.formulaire{background:#fff;border:1px solid var(--bleu-100);border-radius:var(--rayon);padding:30px;box-shadow:var(--ombre);}
.champ{margin-bottom:18px;}
.champ label{display:block;font-weight:600;font-size:.92rem;color:var(--bleu-800);margin-bottom:6px;}
.champ label .obl{color:var(--orange-fonce);}
.champ input,.champ select,.champ textarea{
  width:100%;padding:13px 15px;border:1px solid var(--gris-300);border-radius:var(--rayon-sm);
  font-family:inherit;font-size:1rem;color:var(--gris-900);background:#fff;transition:border-color var(--transition),box-shadow var(--transition);
}
.champ input:focus,.champ select:focus,.champ textarea:focus{
  outline:none;border-color:var(--bleu-700);box-shadow:0 0 0 3px rgba(18,58,107,.12);
}
.champ textarea{min-height:120px;resize:vertical;}
.champ--double{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.champ-case{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--gris-500);}
.champ-case input{width:auto;margin-top:4px;flex:0 0 auto;}
.erreur{color:#dc2626;font-size:.85rem;margin-top:5px;display:none;}
.champ.invalide input,.champ.invalide select,.champ.invalide textarea{border-color:#dc2626;}
.champ.invalide .erreur{display:block;}
.message-succes{
  display:none;background:var(--vert-clair);border:1px solid #a7e0c2;color:#065f46;
  border-radius:var(--rayon-sm);padding:16px 18px;font-size:.95rem;margin-bottom:18px;
}
.pot-de-miel{position:absolute;left:-9999px;}

/* ---------- Bloc contact ---------- */
.info-contact{list-style:none;padding:0;margin:0;}
.info-contact li{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.info-contact svg{flex:0 0 22px;color:var(--orange);margin-top:3px;}
.info-contact strong{display:block;color:var(--bleu-800);}
.info-contact span,.info-contact a{font-size:.96rem;}

/* ---------- Appel à l'action final ---------- */
.cta-final{
  background:linear-gradient(140deg,var(--bleu-800),var(--bleu-700));
  color:#fff;border-radius:20px;padding:52px 40px;text-align:center;
}
.cta-final h2{color:#fff;}
.cta-final p{color:#cfdcef;max-width:560px;margin:0 auto 26px;}
.cta-final__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- Pied de page ---------- */
.pied{background:var(--bleu-900);color:#9fb3ce;font-size:.93rem;padding:56px 0 0;}
.pied__grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:40px;}
.pied h4{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;}
.pied ul{list-style:none;padding:0;margin:0;}
.pied li{margin-bottom:9px;}
.pied a{color:#9fb3ce;}
.pied a:hover{color:#fff;}
.pied .logo{color:#fff;margin-bottom:14px;}
.pied__bas{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem;}

/* ---------- Barre d'appel mobile ---------- */
.barre-mobile{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;
  background:rgba(255,255,255,.98);border-top:1px solid var(--bleu-100);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px;
  box-shadow:0 -4px 20px rgba(11,37,69,.12);
}
.barre-mobile .btn{flex:1;padding:14px 10px;font-size:.98rem;}

/* ---------- Fil d'Ariane ---------- */
.fil{background:var(--bleu-50);border-bottom:1px solid var(--bleu-100);font-size:.86rem;color:var(--gris-500);}
.fil__int{padding:12px 20px;}
.fil a{color:var(--gris-500);}
.fil span{color:var(--bleu-800);font-weight:600;}

/* ---------- En-tête de page interne ---------- */
.entete-page{background:linear-gradient(150deg,var(--bleu-900),var(--bleu-700));color:#fff;padding:56px 0;}
.entete-page h1{color:#fff;margin-bottom:.3em;}
.entete-page p{color:#cfdcef;max-width:640px;margin:0;font-size:1.06rem;}

/* ---------- Contenu légal ---------- */
.texte-legal{max-width:800px;margin:0 auto;}
.texte-legal h2{font-size:1.35rem;margin-top:1.8em;}
.texte-legal h2:first-child{margin-top:0;}

/* ---------- Galerie et cartes photo ---------- */
.carte--photo{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.carte--photo .carte__corps{padding:24px 26px 26px;}
.carte--photo h3{margin-bottom:.35em;}
.carte--photo p{font-size:.96rem;}
.carte--photo .liste-check li{font-size:.92rem;margin-bottom:.4em;}
.carte--photo .liste-check li::before{
  content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;
  background:var(--orange);margin-top:.62em;
}

a.photo{display:block;position:relative;background:var(--bleu-100);line-height:0;cursor:zoom-in;}
a.photo img{width:100%;height:auto;transition:transform .4s ease;}
a.photo:hover img{transform:scale(1.03);}
a.photo::after{
  content:"";position:absolute;inset:0;background:rgba(11,37,69,0);
  transition:background .3s ease;pointer-events:none;
}
a.photo:hover::after{background:rgba(11,37,69,.08);}
a.photo:focus-visible{outline:3px solid var(--orange);outline-offset:2px;}

.galerie{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.galerie figure{margin:0;display:flex;flex-direction:column;gap:10px;}
.galerie a.photo{
  border-radius:var(--rayon);overflow:hidden;border:1px solid var(--bleu-100);
  aspect-ratio:3/4;box-shadow:var(--ombre);
}
.galerie a.photo img{height:100%;object-fit:cover;object-position:top center;}
.galerie figcaption{font-size:.88rem;color:var(--gris-500);font-weight:600;}

/* ---------- Visionneuse ---------- */
.visionneuse{
  position:fixed;inset:0;z-index:300;background:rgba(8,25,47,.94);
  display:none;align-items:center;justify-content:center;padding:24px;
}
.visionneuse[data-ouvert="true"]{display:flex;}
.visionneuse figure{margin:0;max-width:min(1100px,92vw);max-height:88vh;display:flex;flex-direction:column;gap:14px;}
.visionneuse img{
  max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;
  border-radius:var(--rayon-sm);background:#fff;
}
.visionneuse figcaption{color:#cfdcef;font-size:.92rem;text-align:center;}
.visionneuse__fermer{
  position:absolute;top:18px;right:20px;width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);color:#fff;
  font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;
}
.visionneuse__fermer:hover{background:rgba(255,255,255,.22);}
.visionneuse__fermer:focus-visible{outline:2px solid #fff;outline-offset:2px;}

@media (max-width:980px){
  .galerie{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:820px){
  .galerie{grid-template-columns:repeat(2,1fr);gap:14px;}
  .galerie figcaption{font-size:.82rem;}
  .visionneuse{padding:14px;}
}

/* ---------- En-tête de page avec photo ---------- */
.entete-page--photo{
  position:relative;overflow:hidden;
  background:linear-gradient(150deg,var(--bleu-900),var(--bleu-700));
}
.entete-page--photo::before{
  content:"";position:absolute;inset:0;
  background-image:url("../assets/img/realisations/poignee-bronze.jpg");
  background-size:cover;background-position:center 62%;opacity:.28;
}
.entete-page--photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,var(--bleu-900) 8%, rgba(11,37,69,.72) 52%, rgba(18,58,107,.35) 100%);
}
.entete-page--photo .conteneur{position:relative;z-index:1;}

/* ---------- Bande photo pleine largeur ---------- */
.bande-photo{
  position:relative;min-height:320px;display:grid;place-items:center;
  background:var(--bleu-900) url("../assets/img/realisations/serrure-porte-entree.jpg") center 55%/cover no-repeat;
  text-align:center;padding:64px 20px;
}
.bande-photo::before{content:"";position:absolute;inset:0;background:rgba(8,25,47,.66);}
.bande-photo__int{position:relative;z-index:1;max-width:620px;}
.bande-photo h2{color:#fff;margin-bottom:.4em;}
.bande-photo p{color:#cfdcef;margin-bottom:1.5em;}
@media (max-width:820px){
  .bande-photo{min-height:260px;padding:48px 18px;}
}

/* Six entrées de menu : on libère de la place avant de basculer sur le burger */
@media (max-width:1240px){
  .entete__int{gap:14px;}
  .tel-entete{display:none;}
  .nav a{padding:9px 10px;font-size:.9rem;}
}
@media (max-width:1080px){
  .logo__nom small{display:none;}
  .nav a{padding:8px 8px;font-size:.86rem;}
}

/* ---------- Réactivité ---------- */
@media (max-width:980px){
  .heros__int{grid-template-columns:1fr;gap:40px;padding:56px 20px 64px;}
  .bandeau-confiance__int{grid-template-columns:repeat(2,1fr);}
  .grille--4{grid-template-columns:repeat(2,1fr);}
  .etapes{grid-template-columns:repeat(2,1fr);}
  .pied__grille{grid-template-columns:1fr 1fr;}
}
@media (max-width:960px){
  body{font-size:16px;padding-bottom:76px;}
  .barre-haut{font-size:.8rem;}
  .barre-haut__int{padding:8px 16px;}
  .barre-haut__gauche span:not(:first-child){display:none;}
  .barre-haut .txt-long{display:none;}
  .barre-haut a{white-space:nowrap;}
  .bandeau-confiance__int{grid-template-columns:1fr;gap:16px;}
  .entete__int{padding:12px 16px;gap:10px;}
  .logo{font-size:1rem;gap:9px;}
  .logo__marque{width:38px;height:38px;flex:0 0 38px;}
  .entete__cta > .btn{display:none;}
  .burger{display:block;}
  .nav{
    position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;
    align-items:stretch;gap:2px;padding:10px 14px 18px;border-bottom:1px solid var(--bleu-100);
    box-shadow:var(--ombre);display:none;
  }
  .nav.ouvert{display:flex;}
  .nav a{padding:13px 12px;font-size:1rem;}
  .tel-entete{display:none;}
  .grille--2,.grille--3,.grille--4{grid-template-columns:1fr;}
  .etapes{grid-template-columns:1fr;}
  .champ--double{grid-template-columns:1fr;}
  .pied__grille{grid-template-columns:1fr;gap:28px;}
  .section{padding:52px 0;}
  .cta-final{padding:38px 24px;}
  .barre-mobile{display:flex;}
  .heros__actions .btn{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
