/* ==========================================================
   S-Auto-Five — Véhicules : styles publics
   ========================================================== */

.saf5{
  --saf5-accent:#12B4FB;
  --saf5-disponible:#17B26A;
  --saf5-bientot:#12B4FB;
  --saf5-reserve:#E9724C;
  --saf5-vendu:#8B9099;

  --saf5-encre:#111315;
  --saf5-gris:#6E747C;
  --saf5-fond:#FFFFFF;
  --saf5-voile:#F5F8FA;
  --saf5-trait:#E2E7EB;

  font-family:inherit;
  color:var(--saf5-encre);
}
.saf5 *{box-sizing:border-box;}
.saf5{max-width:100%;}
.saf5__filtre,.saf5__rang,.saf5__prix,.saf5__champ{min-width:0;}
.saf5__range{min-width:0;}
.saf5__champ select,.saf5__champ input{max-width:100%;}
.saf5-hide{display:none!important;}
.saf5-message{color:#6E747C;}

/* ─────────── barre de filtre ─────────── */
.saf5__filtre{
  position:relative;background:var(--saf5-fond);
  border:1px solid var(--saf5-trait);border-radius:14px;
  padding:20px 22px;margin-bottom:28px;
}
.saf5__filtre::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--saf5-accent);border-radius:14px 14px 0 0;
}
.saf5__filtre-titre{
  font-size:20px;font-weight:700;margin:0 0 14px;
}
.saf5__rang{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 20px;}
.saf5__rang + .saf5__rang{margin-top:16px;padding-top:16px;border-top:1px solid var(--saf5-trait);}
.saf5__label{
  font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--saf5-gris);flex:0 0 auto;
}
.saf5__champ{display:flex;flex-direction:column;gap:6px;flex:1 1 180px;min-width:160px;}
.saf5__champ--inline{flex-direction:row;align-items:center;gap:10px;flex:0 1 auto;min-width:0;}
.saf5__champ select{
  padding:9px 12px;border:1px solid var(--saf5-trait);border-radius:8px;
  background:var(--saf5-fond);color:var(--saf5-encre);font-size:15px;width:100%;
}
.saf5__champ select:focus-visible{outline:2px solid var(--saf5-accent);outline-offset:2px;}

.saf5__pills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.saf5__pill{
  font-size:14px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
  padding:8px 16px;border-radius:999px;cursor:pointer;line-height:1.2;
  border:1px solid var(--saf5-trait);background:var(--saf5-voile);color:var(--saf5-encre);
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.saf5__pill:hover{border-color:var(--saf5-accent);}
.saf5__pill[aria-pressed="true"]{background:var(--saf5-accent);border-color:var(--saf5-accent);color:#fff;}
.saf5__pill:focus-visible{outline:2px solid var(--saf5-accent);outline-offset:3px;}

.saf5__prix{display:flex;align-items:center;gap:12px;flex:0 1 380px;min-width:240px;}
.saf5__range{
  flex:1 1 auto;-webkit-appearance:none;appearance:none;margin:0;
  height:4px;border-radius:2px;background:var(--saf5-trait);outline:none;
}
.saf5__range::-webkit-slider-thumb{
  -webkit-appearance:none;width:20px;height:20px;border-radius:50%;
  background:var(--saf5-accent);border:3px solid #fff;cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.25);
}
.saf5__range::-moz-range-thumb{
  width:20px;height:20px;border-radius:50%;border:3px solid #fff;
  background:var(--saf5-accent);cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25);
}
.saf5__range:focus-visible{outline:2px solid var(--saf5-accent);outline-offset:6px;}
.saf5__valeur{font-weight:700;font-size:18px;color:var(--saf5-accent);white-space:nowrap;min-width:96px;text-align:right;}

.saf5__submit{
  padding:11px 26px;border:0;border-radius:8px;cursor:pointer;
  font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:var(--saf5-accent);align-self:flex-end;
  transition:filter .2s ease,transform .2s ease;
}
.saf5__submit:hover{filter:brightness(1.07);transform:translateY(-1px);}

.saf5__pied{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;
  margin-top:16px;padding-top:14px;border-top:1px solid var(--saf5-trait);
}
.saf5__compte{font-size:14px;color:var(--saf5-gris);}
.saf5__compte b{color:var(--saf5-encre);font-weight:600;}
.saf5__reset{
  font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  background:none;border:0;padding:4px 0;cursor:pointer;
  color:var(--saf5-gris);border-bottom:1px solid currentColor;
}
.saf5__reset:hover{color:var(--saf5-accent);}

/* ─────────── grille ─────────── */
.saf5__grille{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));}
.saf5__grille--1{grid-template-columns:minmax(0,1fr);}
.saf5__grille--2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));}
.saf5__grille--4{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}

.saf5__carte{
  background:var(--saf5-fond);border:1px solid var(--saf5-trait);border-radius:14px;
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease;
}
.saf5__carte:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(17,19,21,.10);}
.saf5__carte.est-vedette{border-color:var(--saf5-accent);box-shadow:0 0 0 1px var(--saf5-accent) inset;}
.saf5__carte.est-vendu .saf5__media img{filter:grayscale(1);opacity:.75;}

.saf5__media{position:relative;display:block;aspect-ratio:4/3;background:var(--saf5-voile);overflow:hidden;}
.saf5__media img{width:100%;height:100%;object-fit:cover;display:block;}
.saf5__nomedia{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--saf5-gris);font-size:14px;}

.saf5__badge{
  position:absolute;top:12px;left:12px;
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;color:#fff;background:var(--saf5-gris);
}
.saf5__badge.est-disponible{background:var(--saf5-disponible);}
.saf5__badge.est-bientot{background:var(--saf5-bientot);}
.saf5__badge.est-reserve{background:var(--saf5-reserve);}
.saf5__badge.est-vendu{background:var(--saf5-vendu);}

.saf5__corps{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;}
.saf5__titre{font-size:21px;font-weight:700;line-height:1.2;margin:0 0 6px;}
.saf5__titre a{color:var(--saf5-encre);text-decoration:none;}
.saf5__titre a:hover{color:var(--saf5-accent);}
.saf5__tarif{font-size:24px;font-weight:700;color:var(--saf5-accent);margin:0 0 14px;}

.saf5__specs{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:0;}
.saf5__specs li{
  font-size:13px;line-height:1.3;background:var(--saf5-voile);
  border:1px solid var(--saf5-trait);padding:5px 10px;border-radius:6px;white-space:nowrap;
}
.saf5__lien{
  margin-top:auto;display:block;text-align:center;text-decoration:none;
  font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:var(--saf5-accent);padding:11px 18px;border-radius:8px;
  transition:filter .2s ease;
}
.saf5__lien:hover{filter:brightness(1.07);color:#fff;}

.saf5__vide{
  text-align:center;padding:40px 20px;margin-top:16px;
  border:1px dashed var(--saf5-trait);border-radius:14px;color:var(--saf5-gris);
}
.saf5__vide strong{display:block;font-size:20px;color:var(--saf5-encre);margin-bottom:6px;}

/* ─────────── fiche véhicule ─────────── */
.saf5--fiche{margin-bottom:26px;}
.saf5__galerie{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:22px;}
.saf5__galerie img{width:100%;border-radius:10px;display:block;aspect-ratio:4/3;object-fit:cover;}
.saf5__entete{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
.saf5__entete .saf5__badge{position:static;}
.saf5__tarif--grand{font-size:34px;margin:0;}

.saf5__fiche-specs{
  list-style:none;margin:0 0 24px;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;
  background:var(--saf5-trait);border:1px solid var(--saf5-trait);border-radius:10px;overflow:hidden;
}
.saf5__fiche-specs li{background:var(--saf5-fond);padding:12px 16px;display:flex;flex-direction:column;gap:3px;}
.saf5__fs-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--saf5-gris);}
.saf5__fiche-specs b{font-size:16px;font-weight:600;}

.saf5__bloc{margin:26px 0;}
.saf5__bloc-titre{font-size:22px;font-weight:700;margin:0 0 10px;}
.saf5__bloc-liste{margin:0;padding-left:20px;}
.saf5__bloc-liste li{margin-bottom:6px;}

.saf5__infos{
  margin-top:30px;padding:22px 24px;border-radius:14px;
  background:var(--saf5-fond);border:1px solid var(--saf5-trait);
}
.saf5__infos-titre{font-size:19px;font-weight:700;margin:0 0 10px;}
.saf5__infos p{margin:0;}

.saf5__reservation{
  margin-top:30px;padding:26px;border-radius:14px;
  background:var(--saf5-voile);border:1px solid var(--saf5-trait);text-align:center;
}
.saf5__reservation h2{margin:0 0 16px;font-size:22px;}
.saf5__cta{
  display:inline-block;text-decoration:none;
  font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;background:var(--saf5-accent);padding:14px 30px;border-radius:8px;
  transition:transform .2s ease,filter .2s ease;
}
.saf5__cta:hover{transform:translateY(-2px);filter:brightness(1.07);color:#fff;}
.saf5__mention{margin:14px 0 0;font-size:14px;color:var(--saf5-gris);}

/* ─────────── bandeau arrivages ─────────── */
.saf5__arrivages{
  position:relative;background:var(--saf5-fond);
  border:1px solid var(--saf5-trait);border-radius:14px;
  padding:26px 28px 18px;overflow:hidden;text-align:center;
}
.saf5__arrivages::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--saf5-accent);}
.saf5__ar-top{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding-bottom:16px;border-bottom:1px solid var(--saf5-trait);
}
.saf5__ar-titre{
  font-size:clamp(24px,4vw,38px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  line-height:1.05;margin:0;
}
.saf5__ar-titre em{font-style:normal;color:var(--saf5-accent);}
.saf5__ar-compte{font-size:13px;letter-spacing:.14em;color:var(--saf5-gris);text-transform:uppercase;}

.saf5__ar-scene{padding:24px 0 20px;min-height:200px;}
.saf5__ar-statut{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;
  border:1px solid var(--saf5-trait);background:var(--saf5-voile);color:var(--saf5-gris);
}
.saf5__ar-puce{width:6px;height:6px;border-radius:50%;background:var(--saf5-bientot);animation:saf5-pulse 2s ease-in-out infinite;}
@keyframes saf5-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.3;transform:scale(.7);}}

.saf5__ar-marque{display:block;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--saf5-gris);margin-bottom:4px;}
.saf5__ar-modele{font-size:clamp(30px,5.4vw,52px);font-weight:700;line-height:1.04;text-transform:uppercase;margin:16px 0 0;}
.saf5__ar-specs{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 0;padding:0;}
.saf5__ar-specs li{font-size:14px;background:var(--saf5-voile);border:1px solid var(--saf5-trait);padding:6px 12px;border-radius:6px;white-space:nowrap;}
.saf5__ar-cta{
  display:inline-block;margin-top:22px;text-decoration:none;
  font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;background:var(--saf5-accent);padding:11px 24px;border-radius:8px;
  transition:transform .2s ease,filter .2s ease;
}
.saf5__ar-cta:hover{transform:translateY(-2px);filter:brightness(1.07);color:#fff;}

.saf5__ar-anim{opacity:0;transform:translateY(12px);}
.saf5__arrivages.is-live .saf5__ar-anim{opacity:1;transform:none;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1);}
.saf5__arrivages.is-live .saf5__ar-modele{transition-delay:.10s;}
.saf5__arrivages.is-live .saf5__ar-specs li{transition-delay:calc(.18s + var(--i) * .06s);}
.saf5__arrivages.is-live .saf5__ar-cta{transition-delay:.42s;}

.saf5__ar-nav{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--saf5-trait);}
.saf5__ar-jauges{flex:1;display:flex;align-items:center;gap:8px;}
.saf5__ar-fleche{
  flex:0 0 auto;width:34px;height:34px;padding:0;line-height:1;font-size:18px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--saf5-trait);border-radius:50%;
  background:var(--saf5-fond);color:var(--saf5-encre);cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.saf5__ar-fleche:hover{background:var(--saf5-accent);border-color:var(--saf5-accent);color:#fff;}
.saf5__ar-dot{
  flex:1;height:3px;padding:0;border:0;border-radius:2px;
  background:var(--saf5-trait);cursor:pointer;position:relative;overflow:hidden;
}
.saf5__ar-dot::after{content:"";position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:var(--saf5-accent);}
.saf5__ar-dot.is-actif::after{animation:saf5-jauge var(--saf5-duree,6s) linear forwards;}
.saf5__arrivages.is-pause .saf5__ar-dot.is-actif::after{animation-play-state:paused;}
@keyframes saf5-jauge{to{transform:scaleX(1);}}

/* ─────────── responsive ─────────── */
@media (max-width:640px){
  .saf5__filtre{padding:18px 14px;}
  .saf5__label{flex:1 1 100%;text-align:center;}

  /* chaque critère occupe toute la largeur disponible */
  .saf5__rang{gap:10px 12px;}
  .saf5__champ--inline{flex:1 1 100%;flex-wrap:wrap;justify-content:center;}
  .saf5__champ--inline select{flex:1 1 100%;min-width:0;}

  .saf5__prix{flex:1 1 100%;min-width:0;gap:10px;flex-wrap:wrap;justify-content:center;}
  .saf5__prix .saf5__range{flex:1 1 auto;min-width:0;}
  .saf5__valeur{min-width:0;flex:0 0 auto;font-size:16px;text-align:center;}

  .saf5__pied{gap:8px 16px;}
  .saf5__grille,.saf5__grille--2,.saf5__grille--4{grid-template-columns:1fr;}
  .saf5__tarif--grand{font-size:28px;}
  .saf5__arrivages{padding:22px 18px 16px;}
  .saf5__ar-scene{min-height:250px;}
  .saf5__submit{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  .saf5 *{animation:none!important;transition:none!important;}
  .saf5__ar-anim{opacity:1;transform:none;}
  .saf5__ar-dot.is-actif{background:var(--saf5-accent);}
}

/* ─────────── galerie cliquable ─────────── */
.saf5__galerie{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:22px;}
.saf5__vue{
  padding:0;border:0;background:none;cursor:zoom-in;border-radius:10px;overflow:hidden;
  position:relative;display:block;line-height:0;
}
.saf5__vue img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .35s ease;}
.saf5__vue:hover img{transform:scale(1.05);}
.saf5__vue:focus-visible{outline:2px solid var(--saf5-accent);outline-offset:3px;}

/* ─────────── visionneuse plein écran ─────────── */
.saf5-visionneuse{
  position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  background:rgba(8,10,13,.94);padding:24px;
}
.saf5-visionneuse[hidden]{display:none;}
.saf5-v__image{max-width:94vw;max-height:84vh;border-radius:8px;display:block;user-select:none;}
.saf5-v__fermer,.saf5-v__fleche{
  position:absolute;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.45);color:#fff;
  cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;
  transition:background .2s ease;
}
.saf5-v__fermer{top:18px;right:18px;width:44px;height:44px;font-size:28px;line-height:1;}
.saf5-v__fleche{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:34px;line-height:1;}
.saf5-v__fleche--g{left:16px;}
.saf5-v__fleche--d{right:16px;}
.saf5-v__fermer:hover,.saf5-v__fleche:hover{background:var(--saf5-accent);border-color:var(--saf5-accent);}
.saf5-v__compteur{
  position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  color:#fff;font-size:14px;letter-spacing:.12em;background:rgba(0,0,0,.5);
  padding:6px 16px;border-radius:999px;font-variant-numeric:tabular-nums;
}

/* ─────────── boutons de contact ─────────── */
.saf5__boutons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
.saf5__cta--tel{background:var(--saf5-encre);}
.saf5__cta--tel:hover{background:#000;}

/* ─────────── véhicules similaires ─────────── */
.saf5__similaires{margin-top:40px;padding-top:30px;border-top:1px solid var(--saf5-trait);}
.saf5__grille--3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}

@media (max-width:640px){
  .saf5__filtre--form .saf5__champ{flex:1 1 100%;}
  .saf5__rappel{gap:6px;}
  .saf5-v__fleche{width:42px;height:42px;font-size:26px;}
  .saf5-v__fleche--g{left:6px;}
  .saf5-v__fleche--d{right:6px;}
  .saf5__boutons .saf5__cta{flex:1 1 100%;text-align:center;}
}

/* ─────────── couleurs pilotées par les réglages ─────────── */
.saf5__lien,.saf5__cta,.saf5__submit{color:var(--saf5-bouton-texte,#fff);}
.saf5__lien:hover,.saf5__cta:hover{color:var(--saf5-bouton-texte,#fff);}

/* ─────────── logo de marque sur l'annonce ─────────── */
.saf5__titre{display:flex;align-items:center;gap:9px;min-width:0;}
.saf5__titre a{min-width:0;overflow-wrap:anywhere;}
.saf5__logo-marque{
  width:30px;height:30px;object-fit:contain;flex:0 0 auto;display:block;
}
.saf5__filtre--form .saf5__rang--form{align-items:flex-end;}
.saf5__filtre--form .saf5__champ{flex:1 1 190px;}

/* ─────────── paiement en plusieurs fois ─────────── */
.saf5__paiement{
  margin-top:18px;padding:14px 18px;border-radius:10px;text-align:left;
  background:var(--saf5-fond);border:1px solid var(--saf5-trait);
  display:flex;flex-direction:column;gap:3px;
}
.saf5__paiement strong{font-size:15px;}
.saf5__paiement span{font-size:14px;color:var(--saf5-gris);}
.saf5__legal{font-size:12px;color:var(--saf5-gris);font-style:normal;line-height:1.4;margin-top:6px;}

/* ─────────── compteur de consultations ─────────── */
.saf5__vues{
  display:inline-flex;align-items:center;gap:7px;margin:0 0 14px;
  padding:6px 14px;border-radius:999px;
  background:var(--saf5-voile);border:1px solid var(--saf5-trait);
  font-size:13px;color:var(--saf5-gris);
}

/* ─────────── baisse de prix ─────────── */
.saf5__promo-pastille{
  position:absolute;top:12px;right:12px;
  display:flex;flex-direction:column;align-items:center;gap:1px;
  padding:6px 12px;border-radius:10px;
  background:var(--saf5-promo,#D14343);color:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.22);
  animation:saf5-promo-pulse 2.6s ease-in-out infinite;
}
.saf5__promo-pastille b{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.92;}
.saf5__promo-pastille i{font-style:normal;font-size:16px;font-weight:800;line-height:1.1;white-space:nowrap;}
@keyframes saf5-promo-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.045);}}

.saf5__ancien{
  color:var(--saf5-gris);font-size:.62em;font-weight:600;
  text-decoration-color:var(--saf5-promo,#D14343);text-decoration-thickness:2px;
  margin-right:8px;
}
.saf5__tarif--grand .saf5__ancien{font-size:.5em;}

.saf5__baisse{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
  margin:-6px 0 20px;padding:12px 16px;border-radius:10px;
  background:color-mix(in srgb, var(--saf5-promo,#D14343) 9%, transparent);
  border:1px solid color-mix(in srgb, var(--saf5-promo,#D14343) 32%, transparent);
}
.saf5__baisse-gain{
  font-size:17px;font-weight:800;color:var(--saf5-promo,#D14343);
  letter-spacing:-.01em;
}
.saf5__baisse-texte{font-size:15px;}
.saf5__baisse-date{font-size:13px;color:var(--saf5-gris);margin-left:auto;}

.saf5--promos{margin:30px 0;}
.saf5__promo-titre{
  display:flex;align-items:center;gap:12px;
  font-size:clamp(22px,3vw,30px);font-weight:700;margin:0 0 20px;
}
.saf5__promo-titre::after{
  content:"";flex:1;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--saf5-promo,#D14343),transparent);
}

@media (max-width:640px){
  .saf5__baisse-date{margin-left:0;flex:1 1 100%;}
  .saf5__promo-pastille i{font-size:14px;}
}
@media (prefers-reduced-motion:reduce){
  .saf5__promo-pastille{animation:none;}
}

/* ─────────── demande d'information ─────────── */
.saf5__demande{
  margin-top:34px;padding:26px;border-radius:14px;
  background:var(--saf5-voile);border:1px solid var(--saf5-trait);
}
.saf5__demande-titre{font-size:22px;font-weight:700;margin:0 0 6px;}
.saf5__demande-vehicule{margin:0 0 18px;font-size:15px;color:var(--saf5-gris);}
.saf5__demande-vehicule strong{color:var(--saf5-encre);}
.saf5__demande-ref{
  display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;
  background:var(--saf5-fond);border:1px solid var(--saf5-trait);
  font-size:12px;letter-spacing:.06em;color:var(--saf5-gris);
}
.saf5__demande-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:14px;}
.saf5__demande-form .saf5__champ{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.saf5__demande-form input[type="text"],
.saf5__demande-form input[type="tel"],
.saf5__demande-form input[type="email"],
.saf5__demande-form textarea{
  width:100%;padding:11px 13px;border:1px solid var(--saf5-trait);border-radius:8px;
  background:var(--saf5-fond);color:var(--saf5-encre);font-family:inherit;font-size:15px;
}
.saf5__demande-form input:focus,.saf5__demande-form textarea:focus{outline:2px solid var(--saf5-accent);outline-offset:1px;border-color:var(--saf5-accent);}
.saf5__demande-form textarea{resize:vertical;}
.saf5__demande-form .saf5__cta{border:0;cursor:pointer;font-family:inherit;}
.saf5__demande-rgpd{font-size:13px;color:var(--saf5-gris);margin:0 0 16px;}
.saf5__pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.saf5__demande-ok,.saf5__demande-ko{
  margin:0 0 4px;padding:14px 18px;border-radius:10px;font-size:15px;
  background:rgba(23,178,106,.10);border:1px solid rgba(23,178,106,.35);color:#0B7A47;
}
.saf5__demande-ko{background:rgba(209,67,67,.09);border-color:rgba(209,67,67,.35);color:#9B2C2C;}

/* rappel du véhicule sur la page de contact */
.saf5__rappel{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin:0 0 20px;padding:14px 18px;border-radius:10px;
  background:var(--saf5-voile);border:1px solid var(--saf5-trait);
  border-left:4px solid var(--saf5-accent);
}
.saf5__rappel-label{font-size:14px;color:var(--saf5-gris);}
.saf5__rappel strong{font-size:17px;}

@media (max-width:640px){
  .saf5__demande{padding:18px;}
  .saf5__demande-form .saf5__cta{width:100%;text-align:center;}
}

/* ─────────── couleur dédiée au prix ─────────── */
.saf5__tarif,
.saf5__tarif--grand{color:var(--saf5-prix,var(--saf5-accent));}

/* ─────────── blocs de texte ─────────── */
.saf5__bloc p,
.saf5__infos p{margin:0 0 12px;line-height:1.65;}
.saf5__bloc p:last-child,
.saf5__infos p:last-child{margin-bottom:0;}
.saf5__bloc-liste{margin:0 0 12px;padding-left:20px;line-height:1.6;}
.saf5__bloc-liste li{margin-bottom:6px;}

/* ─────────── véhicule vendu ─────────── */
.saf5__vendu{
  margin-top:34px;padding:26px;border-radius:14px;text-align:center;
  background:color-mix(in srgb, var(--saf5-vendu,#D14343) 8%, transparent);
  border:1px solid color-mix(in srgb, var(--saf5-vendu,#D14343) 34%, transparent);
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.saf5__vendu strong{font-size:21px;color:var(--saf5-vendu,#D14343);}
.saf5__vendu span{font-size:15px;color:var(--saf5-gris);max-width:52ch;}
.saf5__vendu .saf5__cta{margin-top:10px;}

/* le bloc d'indisponibilité prend la couleur du statut concerné */
.saf5__vendu.est-reserve{
  background:color-mix(in srgb, var(--saf5-reserve,#E9724C) 8%, transparent);
  border-color:color-mix(in srgb, var(--saf5-reserve,#E9724C) 34%, transparent);
}
.saf5__vendu.est-reserve strong{color:var(--saf5-reserve,#E9724C);}
