/* =====================================================================
   remplacement-parebrise.fr — Feuille de style
   Charte : #0D1B2A / #2166F3 / #E7F1FF / #F2F4F7 / #22C55E — Poppins
   ===================================================================== */

:root{
  --nuit:#0D1B2A;
  --bleu:#2166F3;
  --bleu-fonce:#1A52C7;
  --bleu-clair:#E7F1FF;
  --gris:#F2F4F7;
  --vert:#22C55E;
  --or:#F5A623;

  --texte:#0D1B2A;
  --texte-doux:#5A6779;
  --bord:#E3E8EF;
  --blanc:#fff;

  --r:12px;
  --r-lg:18px;
  --ombre:0 1px 2px rgba(13,27,42,.05), 0 8px 24px -12px rgba(13,27,42,.15);
  --ombre-fort:0 12px 40px -12px rgba(13,27,42,.25);
  --conteneur:1200px;
  --entete:76px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--texte);background:var(--blanc);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--bleu);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-weight:700;line-height:1.2;margin:0 0 .6em;letter-spacing:-.02em}
h1{font-size:clamp(1.9rem,4vw,2.9rem)}
h2{font-size:clamp(1.5rem,3vw,2.1rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
ul{margin:0 0 1em;padding-left:1.2em}
:focus-visible{outline:3px solid var(--bleu);outline-offset:2px;border-radius:4px}

.conteneur{max-width:var(--conteneur);margin:0 auto;padding:0 20px}
.conteneur--etroit{max-width:820px}
.section{padding:64px 0}
.section--gris{background:var(--gris)}
.section--pale{background:linear-gradient(180deg,#F7FAFF,#EEF4FF)}
.centre{text-align:center}
.muet{color:var(--texte-doux)}
.petit{font-size:.875rem}
.mb0{margin-bottom:0}

/* ---------- Titre de section ---------- */
.titre-section{text-align:center;margin-bottom:44px}
.titre-section h2{margin-bottom:14px;display:inline-block;position:relative;padding-bottom:12px}
.titre-section h2::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:54px;height:3px;background:var(--bleu);border-radius:2px;
}
.titre-section p{color:var(--texte-doux);max-width:640px;margin:0 auto}

/* ---------- Boutons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border-radius:10px;font-weight:600;font-size:.95rem;
  border:1.5px solid transparent;cursor:pointer;transition:.18s;text-decoration:none;
  font-family:inherit;line-height:1.2;
}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn--principal{background:var(--bleu);color:#fff}
.btn--principal:hover{background:var(--bleu-fonce);box-shadow:0 8px 20px -8px rgba(33,102,243,.7)}
.btn--fantome{background:#fff;color:var(--bleu);border-color:var(--bord)}
.btn--fantome:hover{border-color:var(--bleu);background:var(--bleu-clair)}
.btn--vert{background:var(--vert);color:#fff}
.btn--vert:hover{background:#16A34A}
.btn--nuit{background:var(--nuit);color:#fff}
.btn--blanc{background:#fff;color:var(--bleu)}
.btn--bloc{width:100%}
.btn--gros{padding:16px 32px;font-size:1.02rem}
.btn svg{width:18px;height:18px;flex:none}

/* ---------- En-tête ---------- */
.entete{
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--bord);
}
.entete__in{display:flex;align-items:center;gap:28px;height:var(--entete)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.logo:hover{text-decoration:none}
.logo__txt{font-weight:700;font-size:1.02rem;line-height:1.08;color:var(--nuit);letter-spacing:-.03em}
.logo__txt span{color:var(--bleu)}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{
  color:var(--texte);font-weight:500;font-size:.94rem;padding:9px 13px;border-radius:8px;
}
.nav a:hover{background:var(--gris);text-decoration:none}
.nav a.actif{color:var(--bleu);font-weight:600}
.entete .btn{flex:none}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer;margin-left:auto}
.burger span{display:block;width:22px;height:2px;background:var(--nuit);margin:4px 0;border-radius:2px;transition:.2s}

/* ---------- Héro ---------- */
.hero{position:relative;background:var(--nuit);color:#fff;overflow:hidden}
.hero__fond{position:absolute;inset:0;object-fit:cover;object-position:center;width:100%;height:100%}
/* Le voile suit la photo : dense à gauche sous le titre, il s'ouvre à droite
   pour laisser voir l'atelier et les ventouses. Contrastes mesurés : 8,4:1 sur le titre, 8,1:1 sur le sous-titre. */
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,
    rgba(13,27,42,.86) 0%,
    rgba(13,27,42,.78) 26%,
    rgba(13,27,42,.58) 48%,
    rgba(13,27,42,.26) 66%,
    rgba(13,27,42,.16) 100%);
}
.hero__in{position:relative;z-index:2;display:grid;grid-template-columns:1fr 400px;gap:56px;
  align-items:center;padding:76px 0 84px}
.hero h1{color:#fff;margin-bottom:18px}
.hero h1 em{font-style:normal;color:#6FA1FF}
.hero__sous{color:#C7D3E3;font-size:1.06rem;max-width:520px;margin-bottom:28px}
.hero__points{display:flex;flex-wrap:wrap;gap:26px}
.hero__point{display:flex;align-items:center;gap:11px;font-size:.9rem;line-height:1.3;color:#EAF1FB}
.hero__point svg{width:30px;height:30px;flex:none;stroke:#fff;opacity:.9}
.hero__point b{display:block;font-weight:600}

/* ---------- Bloc recherche ---------- */
.recherche{background:#fff;border-radius:var(--r-lg);padding:30px 28px;box-shadow:var(--ombre-fort);color:var(--texte)}
.recherche h2{font-size:1.32rem;text-align:center;margin-bottom:20px}
.champ{position:relative;margin-bottom:12px}
.champ svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:19px;height:19px;stroke:var(--texte-doux);pointer-events:none}
.champ input,.champ select,.champ textarea{
  width:100%;padding:14px 14px 14px 44px;border:1.5px solid var(--bord);border-radius:10px;
  font-family:inherit;font-size:.95rem;color:var(--texte);background:#fff;appearance:none;
}
.champ--simple input,.champ--simple select,.champ--simple textarea{padding-left:14px}
.champ input:focus,.champ select:focus,.champ textarea:focus{
  outline:none;border-color:var(--bleu);box-shadow:0 0 0 4px rgba(33,102,243,.13)
}
.champ select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A6779' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center}
.recherche__aide{text-align:center;font-size:.8rem;color:var(--texte-doux);margin:12px 0 0}
label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px}
.obligatoire{color:#DC2626}

/* Autocomplétion */
.auto{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--bord);
  border-radius:10px;box-shadow:var(--ombre);max-height:280px;overflow:auto;z-index:30;display:none}
.auto.ouvert{display:block}
.auto b{display:block;padding:11px 15px;cursor:pointer;font-weight:500;font-size:.92rem;border-bottom:1px solid #F1F4F8}
.auto b:last-child{border-bottom:0}
.auto b:hover,.auto b.sel{background:var(--bleu-clair)}
.auto b i{font-style:normal;color:var(--texte-doux);font-size:.82rem;margin-left:6px}

/* ---------- Bandeau atouts ---------- */
.atouts{border-bottom:1px solid var(--bord);background:#fff}
.atouts__grille{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:30px 0}
.atout{display:flex;gap:14px;align-items:flex-start}
.atout svg{width:34px;height:34px;flex:none;stroke:var(--bleu)}
.atout b{display:block;font-size:.95rem;margin-bottom:2px}
.atout span{font-size:.85rem;color:var(--texte-doux);line-height:1.45}

/* ---------- Étapes ---------- */
.etapes{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.etape{text-align:center;position:relative}
.etape__rond{
  width:112px;height:112px;border-radius:50%;background:#fff;margin:0 auto 18px;
  display:grid;place-items:center;box-shadow:var(--ombre);position:relative;
}
.etape__rond svg{width:44px;height:44px;stroke:var(--bleu)}
.etape__num{
  position:absolute;top:-6px;left:50%;transform:translateX(-50%);
  width:30px;height:30px;border-radius:50%;background:var(--bleu);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:.85rem;border:3px solid var(--gris);
}
.etape h3{font-size:1.05rem;margin-bottom:8px}
.etape p{font-size:.88rem;color:var(--texte-doux);margin:0}

/* ---------- Cartes garages ---------- */
.grille{display:grid;gap:18px}
.grille--3{grid-template-columns:repeat(3,1fr)}
.grille--2{grid-template-columns:repeat(2,1fr)}

.carte{
  background:#fff;border:1px solid var(--bord);border-radius:var(--r-lg);
  padding:22px;transition:.18s;position:relative;display:flex;flex-direction:column;
}
.carte:hover{border-color:#C9DAFB;box-shadow:var(--ombre);transform:translateY(-2px)}
.carte--premium{border-color:#BBD3FD;background:linear-gradient(180deg,#F8FBFF,#fff)}
.carte--premium::before{
  content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;
  background:var(--bleu);border-radius:0 4px 4px 0;
}
.carte__haut{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.carte h3{margin:0 0 6px;font-size:1.06rem}
.carte h3 a{color:var(--nuit)}
.carte h3 a:hover{color:var(--bleu);text-decoration:none}
.carte__note{display:flex;align-items:center;gap:7px;font-size:.87rem;margin-bottom:10px}
.carte__note b{font-size:.95rem}
.carte__adr{font-size:.88rem;color:var(--texte-doux);display:flex;gap:7px;align-items:flex-start;margin-bottom:12px}
.carte__adr svg{width:16px;height:16px;flex:none;margin-top:3px;stroke:var(--texte-doux)}
.carte__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.carte__actions{display:flex;gap:8px;margin-top:auto}
.carte__actions .btn{flex:1;padding:11px 14px;font-size:.88rem}
.carte__dist{font-size:.8rem;color:var(--bleu);font-weight:600;white-space:nowrap}

.puce{
  display:inline-flex;align-items:center;gap:5px;background:var(--gris);color:var(--texte-doux);
  padding:4px 10px;border-radius:20px;font-size:.76rem;font-weight:500;
}
.puce--bleu{background:var(--bleu-clair);color:var(--bleu-fonce)}
.puce--vert{background:#DCFCE7;color:#15803D}

.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.badge--premium{background:var(--bleu);color:#fff}
.badge--pro{background:#DCFCE7;color:#15803D}

/* ---------- Étoiles ---------- */
.stars{display:inline-flex;gap:2px;vertical-align:middle}
.star{width:15px;height:15px;display:inline-block;
  background:#D6DBE3;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") center/contain no-repeat;}
.star--on{background:var(--or)}
.star--half{background:linear-gradient(90deg,var(--or) 50%,#D6DBE3 50%)}
.stars--vide{color:var(--texte-doux);font-size:.83rem}

/* ---------- Annuaire régions ---------- */
.regions{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.regions__liste{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.regions__liste a{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:13px 16px;border:1px solid var(--bord);border-radius:10px;background:#fff;
  font-weight:500;font-size:.92rem;color:var(--bleu);
}
.regions__liste a:hover{border-color:var(--bleu);background:var(--bleu-clair);text-decoration:none}
.regions__liste i{font-style:normal;color:var(--texte-doux);font-size:.8rem}
/* ---------- Carte de France ---------- */
.carte-zone{position:relative;max-width:470px;margin:0 auto}
.carte-fr{position:relative}
.carte-fr svg{width:100%;height:auto;display:block;overflow:visible}
.carte-fr__sol path{fill:#DAE7FE;stroke:#fff;stroke-width:1.2;stroke-linejoin:round}
.carte-fr__pin path{fill:var(--bleu);transition:.18s}
.carte-fr__pin .carte-fr__oeil{fill:#fff}
.carte-fr__pin{cursor:pointer}
.carte-fr__pin:hover path{fill:var(--nuit)}
.carte-fr__pin:focus-visible{outline:3px solid var(--nuit);outline-offset:2px}
.carte-zone .compteur{position:absolute;right:-6px;bottom:14px;margin:0;width:168px;height:168px;
  box-shadow:0 8px 30px -10px rgba(13,27,42,.28)}
.carte-zone .compteur b{font-size:1.35rem}
.carte-zone .compteur span{padding:0 20px;font-size:.78rem}

.compteur{
  background:#fff;border-radius:50%;width:190px;height:190px;display:grid;place-items:center;
  text-align:center;box-shadow:var(--ombre);margin:0 auto;
}
.compteur b{display:block;font-size:1.5rem;color:var(--bleu);line-height:1.1}
.compteur span{font-size:.82rem;color:var(--texte-doux);display:block;padding:0 22px;margin-top:4px}

/* ---------- Témoignages ---------- */
.temoins{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.temoin{background:#fff;border:1px solid var(--bord);border-radius:var(--r);padding:22px;text-align:center}
.temoin p{font-size:.9rem;font-style:italic;color:var(--texte-doux);margin:12px 0 14px}
.temoin b{display:block;font-size:.9rem}
.temoin span{font-size:.8rem;color:var(--texte-doux)}

/* ---------- CTA pro ---------- */
.cta-pro{background:var(--bleu);color:#fff;padding:34px 0}
.cta-pro__in{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cta-pro svg{width:52px;height:52px;stroke:#fff;flex:none}
.cta-pro b{display:block;font-size:1.15rem;margin-bottom:3px}
.cta-pro p{margin:0;font-size:.92rem;color:#DCE8FF;max-width:520px}
.cta-pro .btn{margin-left:auto}

/* ---------- Pied de page ---------- */
.pied{background:var(--nuit);color:#9FB0C4;padding:56px 0 0;font-size:.88rem}
.pied a{color:#9FB0C4}
.pied a:hover{color:#fff}
.pied__grille{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:40px}
.pied h4{color:#fff;font-size:.95rem;margin-bottom:16px}
.pied ul{list-style:none;padding:0;margin:0}
.pied li{margin-bottom:9px}
.pied .logo__txt{color:#fff}
.pied .logo__txt span{color:#6FA1FF}
.pied__desc{margin:16px 0 18px;max-width:280px;line-height:1.6}
.reseaux{display:flex;gap:10px}
.reseaux a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center}
.reseaux a:hover{background:var(--bleu)}
.reseaux svg{width:16px;height:16px;fill:#fff}
.pied__tel{display:inline-flex;align-items:center;gap:8px;background:var(--bleu);color:#fff!important;
  padding:9px 16px;border-radius:8px;font-weight:600;margin:6px 0}
.pied__bas{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;text-align:center;font-size:.82rem}

/* ---------- Fil d'ariane ---------- */
.ariane{padding:16px 0;font-size:.83rem;color:var(--texte-doux)}
.ariane ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.ariane li::after{content:"›";margin-left:8px;color:#B7C0CD}
.ariane li:last-child::after{content:""}

/* ---------- Page listing ---------- */
.listing{display:grid;grid-template-columns:290px 1fr;gap:32px;align-items:start;padding:8px 0 64px}
.filtres{background:#fff;border:1px solid var(--bord);border-radius:var(--r-lg);padding:22px;position:sticky;top:calc(var(--entete) + 16px)}
.filtres h3{font-size:1rem;margin-bottom:16px}
.filtres fieldset{border:0;padding:0;margin:0 0 20px}
.filtres legend{font-weight:600;font-size:.86rem;margin-bottom:9px;padding:0}
.filtres label.coche{display:flex;align-items:center;gap:9px;font-weight:400;font-size:.9rem;margin-bottom:8px;cursor:pointer}
.filtres input[type=checkbox],.filtres input[type=radio]{width:17px;height:17px;accent-color:var(--bleu);margin:0}
.listing__entete{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.listing__entete p{margin:0;font-size:.9rem;color:var(--texte-doux)}
.tri{display:flex;align-items:center;gap:8px;font-size:.88rem}
.tri select{padding:9px 34px 9px 12px;border:1.5px solid var(--bord);border-radius:8px;font-family:inherit;font-size:.88rem;background:#fff}

.pagination{display:flex;gap:6px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.pagination a,.pagination span{
  min-width:40px;height:40px;display:grid;place-items:center;padding:0 12px;border-radius:8px;
  border:1px solid var(--bord);background:#fff;font-size:.9rem;font-weight:500;color:var(--texte)
}
.pagination a:hover{border-color:var(--bleu);color:var(--bleu);text-decoration:none}
.pagination .actif{background:var(--bleu);border-color:var(--bleu);color:#fff}

/* ---------- Fiche garage ---------- */
.fiche{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start;padding-bottom:64px}
.bloc{background:#fff;border:1px solid var(--bord);border-radius:var(--r-lg);padding:26px;margin-bottom:20px}
.bloc h2{font-size:1.25rem;margin-bottom:16px}
.fiche__entete{background:var(--nuit);color:#fff;padding:40px 0 34px}
.fiche__entete h1{color:#fff;margin-bottom:10px;font-size:clamp(1.6rem,3vw,2.3rem)}
.fiche__entete .muet{color:#B8C6D8}
.fiche__meta{display:flex;gap:20px;flex-wrap:wrap;align-items:center;font-size:.92rem;color:#DCE6F2}
.aside{position:sticky;top:calc(var(--entete) + 16px)}
.infos{list-style:none;padding:0;margin:0}
.infos li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--bord);font-size:.92rem}
.infos li:last-child{border-bottom:0}
.infos svg{width:19px;height:19px;flex:none;stroke:var(--bleu);margin-top:2px}
.infos b{display:block;font-size:.78rem;color:var(--texte-doux);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.carte-geo{height:260px;border-radius:var(--r);overflow:hidden;border:1px solid var(--bord);background:var(--gris)}
.carte-geo iframe{width:100%;height:100%;border:0}

/* ---------- Formulaire devis ---------- */
.devis{background:linear-gradient(160deg,#12325F,#0D1B2A);color:#fff;border-radius:var(--r-lg);padding:26px}
.devis h3{color:#fff;font-size:1.15rem;margin-bottom:6px}
.devis p{font-size:.86rem;color:#B8C6D8}
.devis label{color:#DCE6F2;font-size:.82rem}
.devis input,.devis select,.devis textarea{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:#fff}
.devis input::placeholder,.devis textarea::placeholder{color:#8FA2B8}
.devis select option{color:var(--texte)}
.devis .rassure{display:flex;gap:8px;align-items:center;font-size:.78rem;color:#9FB0C4;margin-top:12px}
.devis .rassure svg{width:15px;height:15px;stroke:var(--vert);flex:none}

.grille-form{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.grille-form .pleine{grid-column:1/-1}

/* ---------- Alertes ---------- */
.alerte{padding:14px 18px;border-radius:10px;font-size:.92rem;margin-bottom:20px;border:1px solid}
.alerte--ok{background:#ECFDF3;border-color:#A6F4C5;color:#05603A}
.alerte--ko{background:#FEF3F2;border-color:#FECDCA;color:#B42318}
.alerte--info{background:var(--bleu-clair);border-color:#BBD3FD;color:#12325F}

/* ---------- Tarifs ---------- */
.tarifs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.tarif{background:#fff;border:1.5px solid var(--bord);border-radius:var(--r-lg);padding:30px;display:flex;flex-direction:column}
.tarif--phare{border-color:var(--bleu);box-shadow:var(--ombre-fort);position:relative}
.tarif--phare::after{content:"Le plus choisi";position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--bleu);color:#fff;font-size:.72rem;font-weight:700;padding:5px 14px;border-radius:20px;white-space:nowrap}
.tarif h3{font-size:1.1rem;margin-bottom:4px}
.tarif__prix{font-size:2.2rem;font-weight:700;color:var(--nuit);line-height:1;margin:14px 0 4px}
.tarif__prix small{font-size:.9rem;font-weight:500;color:var(--texte-doux)}
.tarif ul{list-style:none;padding:0;margin:20px 0}
.tarif li{display:flex;gap:9px;font-size:.9rem;margin-bottom:11px;align-items:flex-start}
.tarif li::before{content:"";width:17px;height:17px;flex:none;margin-top:3px;background:var(--vert);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;}
.tarif li.non::before{background:#CBD5E1;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E")}
.tarif li.non{color:var(--texte-doux)}
.tarif .btn{margin-top:auto}

/* ---------- FAQ ---------- */
.faq details{background:#fff;border:1px solid var(--bord);border-radius:var(--r);margin-bottom:12px;overflow:hidden}
.faq summary{padding:18px 22px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:.98rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--bleu);font-weight:400;line-height:1;flex:none}
.faq details[open] summary::after{content:"−"}
.faq details[open] summary{border-bottom:1px solid var(--bord)}
.faq .rep{padding:18px 22px;font-size:.93rem;color:var(--texte-doux)}
.faq .rep p:last-child{margin-bottom:0}

/* ---------- Nuage de liens SEO ---------- */
.nuage{display:flex;flex-wrap:wrap;gap:8px}
.nuage a{background:#fff;border:1px solid var(--bord);border-radius:20px;padding:7px 14px;font-size:.85rem;color:var(--texte)}
.nuage a:hover{border-color:var(--bleu);color:var(--bleu);text-decoration:none}

/* ---------- Tableau admin ---------- */
.tableau{width:100%;border-collapse:collapse;background:#fff;font-size:.88rem}
.tableau th,.tableau td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--bord);vertical-align:top}
.tableau th{background:var(--gris);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--texte-doux)}
.tableau tr:hover td{background:#FAFCFF}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}
.kpi__c{background:#fff;border:1px solid var(--bord);border-radius:var(--r);padding:20px}
.kpi__c b{display:block;font-size:1.8rem;color:var(--nuit);line-height:1.1}
.kpi__c span{font-size:.82rem;color:var(--texte-doux)}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .hero__in{grid-template-columns:1fr;gap:34px;padding:52px 0 60px}
  .atouts__grille{grid-template-columns:1fr 1fr;gap:24px}
  .etapes{grid-template-columns:1fr 1fr;gap:32px}
  .regions{grid-template-columns:1fr;gap:32px}
  .temoins{grid-template-columns:1fr 1fr}
  .grille--3{grid-template-columns:1fr 1fr}
  .listing{grid-template-columns:1fr}
  .filtres{position:static}
  .fiche{grid-template-columns:1fr}
  .aside{position:static}
  .pied__grille{grid-template-columns:1fr 1fr;gap:32px}
  .tarifs{grid-template-columns:1fr}
  .kpi{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  /* héros empilé : le texte couvre toute la largeur, voile vertical uniforme */
  .hero::after{background:linear-gradient(180deg,
    rgba(13,27,42,.80) 0%, rgba(13,27,42,.76) 55%, rgba(13,27,42,.72) 100%)}
  .hero__fond{object-position:70% center}
  .section{padding:44px 0}
  .nav{display:none;position:absolute;top:var(--entete);left:0;right:0;background:#fff;
    flex-direction:column;align-items:stretch;padding:12px;border-bottom:1px solid var(--bord);box-shadow:var(--ombre)}
  .nav.ouvert{display:flex}
  .burger{display:block}
  .entete .btn--principal{display:none}
  .atouts__grille,.etapes,.temoins,.grille--3,.grille--2,.regions__liste,.grille-form{grid-template-columns:1fr}
  /* le compteur repasse sous la carte pour ne pas la masquer */
  .carte-zone .compteur{position:static;margin:18px auto 0;width:158px;height:158px}
  .hero__points{gap:16px}
  .cta-pro .btn{margin-left:0;width:100%}
  .pied__grille{grid-template-columns:1fr}
  .kpi{grid-template-columns:1fr}
  .carte__actions{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .btn:hover,.carte:hover{transform:none}
}
