/* Accompagnement achat auto-moto, Quentin Challier
   Feuille de styles unique, mobile first. Point de rupture : 900px. */

/* Polices auto-hébergées (Nunito et Nunito Sans, licence SIL Open Font License).
   Polices variables : un fichier par jeu de caractères couvre toutes les graisses utilisées. */
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url("/polices/nunito-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url("/polices/nunito-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/polices/nunito-sans-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/polices/nunito-sans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --creme: #FFFCF7;
  --encre: #26303A;
  --texte-2: #3E4852;
  --muted: #5A6470;
  --sable: #F3EEE6;
  --bordure: #EAE3D8;

  --sauge: #DDEFE3;
  --sauge-clair: #F1F8F3;
  --sauge-fonce: #2F6B52;

  --peche-clair: #FFF4E8;
  --peche: #FFE3D3;
  --peche-vif: #FFD8C2;
  --peche-fonce: #9A4A26;

  --ciel-clair: #EEF5FC;
  --ciel: #DCEBFA;
  --ciel-bord: #B9D3EE;
  --ciel-fonce: #2D5F8A;

  --beurre: #FFF1C9;
  --corail: #F08A5D;
  --corail-hover: #E97A48;
  --etoile: #F2B233;
  --gris-clair: #C8CFD6;

  --r-s: 14px;
  --r-m: 16px;
  --r-l: 24px;
  --r-xl: 32px;

  --titres: "Nunito", system-ui, sans-serif;
  --texte: "Nunito Sans", system-ui, sans-serif;

  --gouttiere: 20px;
  --max: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--creme);
  color: var(--encre);
  font-family: var(--texte);
  font-size: 17px;
  line-height: 1.6;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--encre); }
a:hover { color: var(--sauge-fonce); }

:focus-visible { outline: 3px solid var(--ciel-fonce); outline-offset: 3px; border-radius: 6px; }

h1, h2, h3 { font-family: var(--titres); font-weight: 900; line-height: 1.15; margin: 0; }
h1 { font-size: 34px; line-height: 1.12; }
h2 { font-size: 28px; }
h3 { font-size: 18px; font-weight: 700; font-family: var(--texte); }
p { margin: 0; }

.conteneur { width: 100%; max-width: calc(var(--max) + 2 * var(--gouttiere)); margin: 0 auto; padding: 0 var(--gouttiere); }
.section { padding: 44px 0; }
.section--peche { background: var(--peche-clair); }
.section--sauge { background: var(--sauge-clair); }
.section--ciel { background: var(--ciel-clair); }
.pile { display: flex; flex-direction: column; gap: 16px; }
.texte-2 { color: var(--texte-2); }
.petit { font-size: 14px; color: var(--muted); }
.lien-fort { font-weight: 700; color: var(--sauge-fonce); }
.visuellement-cache { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Boutons */
.bouton {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 56px; padding: 0 24px;
  border: none; border-radius: var(--r-m);
  font: 700 17px/1.2 var(--texte); text-decoration: none; text-align: center;
  cursor: pointer; transition: background-color .15s ease;
}
.bouton--corail { background: var(--corail); color: var(--encre); }
.bouton--corail:hover { background: var(--corail-hover); color: var(--encre); }
.bouton--sable { background: var(--sable); color: var(--encre); }
.bouton--sable:hover { background: var(--bordure); color: var(--encre); }
.bouton--encre { background: var(--encre); color: var(--creme); }
.bouton--encre:hover { background: #1B232B; color: var(--creme); }
.bouton--bloc { width: 100%; }

/* En-tête */
.entete { padding: 14px 0; }
.entete__barre { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.marque { flex-grow: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; text-decoration: none; }
.marque__image { width: auto; height: 26px; }
.marque__accroche { font-size: 12px; line-height: 1.15; color: var(--muted); }
.icone-bouton {
  width: 44px; height: 44px; border: none; border-radius: var(--r-s);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.icone-bouton--corail { background: var(--corail); }
.icone-bouton--sable { background: var(--sable); }
.entete__tel { display: none; }
.entete__cta { display: none; }
.nav { display: none; }
.nav.est-ouvert {
  order: 10; width: 100%;
  display: flex; flex-direction: column; gap: 4px;
  margin-top: 2px; padding: 8px; border-radius: var(--r-m); background: var(--sable);
}
.nav a { padding: 12px 14px; border-radius: 12px; text-decoration: none; font-weight: 700; }
.nav a:hover, .nav a[aria-current="page"] { background: var(--creme); color: var(--sauge-fonce); }

/* Héros */
.heros { padding: 16px 0 40px; }
.heros__grille { display: flex; flex-direction: column; gap: 18px; }
.heros__texte { display: flex; flex-direction: column; gap: 18px; }
.localisation { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 700; color: var(--sauge-fonce); }
.heros__intro { font-size: 18px; color: var(--texte-2); }
.liste-coches { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.liste-coches li { display: flex; align-items: center; gap: 12px; }
.pastille-coche {
  width: 32px; height: 32px; flex-shrink: 0; border-radius: 10px; background: var(--sauge);
  display: flex; align-items: center; justify-content: center;
}

/* Simulateur */
.simulateur { padding: 22px 18px; border-radius: var(--r-l); background: var(--ciel); display: flex; flex-direction: column; gap: 16px; }
.simulateur h2 { font-size: 24px; }
.simulateur fieldset { margin: 0; padding: 0; border: none; }
.simulateur legend, .champ label { font-size: 15px; font-weight: 700; margin-bottom: 8px; }
.segments { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.segments input { position: absolute; opacity: 0; pointer-events: none; }
.segments label {
  display: flex; align-items: center; justify-content: center; height: 52px; margin: 0;
  border-radius: var(--r-s); border: 1.5px solid var(--ciel-bord); background: #FFFFFF;
  font-size: 16px; font-weight: 700; cursor: pointer;
}
.segments input:checked + label { background: var(--ciel-fonce); border-color: var(--ciel-fonce); color: #FFFFFF; }
.segments input:focus-visible + label { outline: 3px solid var(--encre); outline-offset: 2px; }
.champ { display: flex; flex-direction: column; }
.champ select, .champ input, .champ textarea {
  min-height: 52px; padding: 0 14px; border: 1.5px solid var(--ciel-bord); border-radius: var(--r-s);
  background: #FFFFFF; color: var(--encre); font: 400 16px var(--texte);
}
.resultat { padding: 16px; border-radius: var(--r-m); background: #FFFFFF; display: flex; flex-direction: column; gap: 2px; }
.resultat__montant { font: 900 36px/1.15 var(--titres); color: var(--ciel-fonce); }

/* Étapes */
.etapes { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 20px; }
.etapes li { display: flex; gap: 14px; }
.numero {
  width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; background: var(--peche-vif);
  display: flex; align-items: center; justify-content: center; font: 900 19px var(--titres);
}
.etapes h3 { margin-bottom: 2px; }

/* Tarifs */
.tableau-cadre { border: 1.5px solid var(--bordure); border-radius: 20px; overflow: hidden; }
.tarifs { width: 100%; border-collapse: collapse; font-size: 16px; }
.tarifs thead tr { background: var(--sable); }
.tarifs th, .tarifs td { padding: 14px; }
.tarifs thead th { font-size: 14px; text-align: right; }
.tarifs thead th:first-child { text-align: left; }
.tarifs tbody tr { border-top: 1.5px solid var(--bordure); }
.tarifs tbody th { text-align: left; font-weight: 400; }
.tarifs tbody th a, .tarifs tbody th strong { display: block; font-weight: 700; }
.tarifs tbody th a { color: var(--sauge-fonce); }
.tarifs td { text-align: right; font: 800 17px var(--titres); white-space: nowrap; }
.tarifs--comparaison th, .tarifs--comparaison td { padding: 12px 10px; }
.tarifs--comparaison td { white-space: normal; font-size: 15px; }

/* Chiffre clé + vérifications */
.chiffre-cle { display: flex; align-items: center; gap: 16px; }
.chiffre-cle__nombre { font: 900 64px/1 var(--titres); color: var(--sauge-fonce); }
.chiffre-cle h2 { font-size: 26px; }
.verifs { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr; gap: 16px; }
.verifs li { display: flex; gap: 14px; }
.verifs strong { display: block; }
.verifs span { font-size: 15px; color: var(--texte-2); }
.icone-pastel {
  width: 44px; height: 44px; flex-shrink: 0; border-radius: var(--r-s); background: var(--sauge);
  display: flex; align-items: center; justify-content: center;
}
.icone-pastel--ciel { background: var(--ciel); width: 52px; height: 52px; border-radius: var(--r-m); }

/* Lignes de prix pastel */
.lignes { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.lignes li { display: flex; justify-content: space-between; gap: 12px; padding: 14px 16px; border-radius: var(--r-s); background: var(--beurre); }
.lignes--blanc li { background: #FFFFFF; }
.lignes strong { font-family: var(--titres); white-space: nowrap; }

/* À propos */
.photo-cadre {
  min-height: 280px; border-radius: var(--r-l); background: var(--peche); overflow: hidden;
  display: flex; align-items: center; justify-content: center; color: var(--peche-fonce); font-size: 14px; font-weight: 600;
}
.photo-cadre img { width: 100%; height: 100%; object-fit: cover; }
.stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.stat { padding: 16px; border-radius: 18px; display: flex; flex-direction: column; }
.stat strong { font: 900 30px/1.1 var(--titres); }
.stat span { font-size: 14px; color: var(--texte-2); }
.stat--sauge { background: var(--sauge); } .stat--sauge strong { color: var(--sauge-fonce); }
.stat--ciel { background: var(--ciel); } .stat--ciel strong { color: var(--ciel-fonce); }
.stat--peche { background: var(--peche); grid-column: span 2; } .stat--peche strong { color: var(--peche-fonce); }
.avis { padding: 18px; border-radius: 20px; border: 1.5px solid var(--bordure); background: #FFFFFF; display: flex; flex-direction: column; gap: 8px; }
.etoiles { display: flex; gap: 2px; }

/* FAQ */
.faq { display: flex; flex-direction: column; gap: 10px; }
.faq details { padding: 0 18px; border-radius: var(--r-m); background: #FFFFFF; }
.faq summary { list-style: none; cursor: pointer; padding: 16px 0; display: flex; justify-content: space-between; gap: 12px; font-weight: 700; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--corail); font-weight: 900; font-size: 20px; line-height: 1; }
.faq details[open] summary::after { content: "–"; }
.faq details p { padding-bottom: 16px; color: var(--texte-2); }

/* Appel final */
.appel { text-align: center; align-items: center; }

/* Espace client (argument sur l'accueil) */
.espace { display: flex; flex-direction: column; gap: 24px; }
.apercu { padding: 20px; border-radius: 28px; background: var(--sauge-clair); }
.apercu__ecran { padding: 18px; border-radius: 20px; background: #FFFFFF; display: flex; flex-direction: column; gap: 14px; }
.apercu__tete { display: flex; align-items: center; gap: 10px; font-family: var(--titres); }
.apercu__icone { width: 36px; height: 36px; border-radius: 10px; }
.apercu__etapes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.apercu__etapes span { height: 8px; border-radius: 4px; background: var(--bordure); }
.apercu__etapes .fait { background: var(--sauge-fonce); }
.apercu__etapes .encours { background: var(--corail); }
.apercu__etape { padding: 12px 14px; border-radius: 14px; background: var(--ciel); display: flex; flex-direction: column; }
.apercu__etape span { font-size: 13px; font-weight: 700; color: var(--ciel-fonce); }
.apercu__lignes { border: 1.5px solid var(--bordure); border-radius: 16px; font-size: 15px; }
.apercu__lignes div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; }
.apercu__lignes div + div { border-top: 1.5px solid var(--bordure); }
.etiquette { padding: 2px 10px; border-radius: 8px; background: var(--sauge); color: var(--sauge-fonce); font-weight: 700; }

/* Pied de page */
.pied { background: var(--encre); color: var(--creme); border-radius: 28px 28px 0 0; padding: 36px 0; font-size: 15px; }
.pied a { color: var(--creme); }
.pied__grille { display: flex; flex-direction: column; gap: 20px; }
.pied__logo { width: auto; height: 30px; margin-bottom: 8px; }
.pied address { font-style: normal; display: flex; flex-direction: column; gap: 4px; color: var(--gris-clair); }
.pied nav { display: flex; flex-direction: column; gap: 8px; }
.pied .petit { color: var(--gris-clair); }

/* Page prestation */
.ariane { font-size: 14px; color: var(--muted); }
.ariane ol { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.ariane li + li::before { content: "›"; margin-right: 6px; }
.ariane a { color: var(--muted); }
.encart-prix { padding: 20px; border-radius: var(--r-l); background: var(--ciel); display: flex; flex-direction: column; gap: 12px; }
.encart-prix__montant { font: 900 40px/1 var(--titres); color: var(--ciel-fonce); }
.encart-prix .liste-coches { gap: 6px; font-size: 16px; }
.points { display: grid; grid-template-columns: 1fr; gap: 8px; }
.points details { padding: 0 16px; border-radius: var(--r-m); background: var(--sauge-clair); }
.points summary { list-style: none; cursor: pointer; padding: 14px 0; display: flex; align-items: center; gap: 10px; font-weight: 700; }
.points summary::-webkit-details-marker { display: none; }
.points summary span:first-child { flex-grow: 1; }
.compteur { font-size: 13px; font-weight: 700; color: var(--sauge-fonce); background: var(--sauge); padding: 2px 10px; border-radius: 10px; }
.points ul { margin: 0 0 14px; padding-left: 18px; font-size: 15px; color: var(--texte-2); }
.visuel-rapport {
  min-height: 260px; border-radius: var(--r-l); background: var(--ciel); padding: 20px; text-align: center;
  display: flex; align-items: center; justify-content: center; color: var(--ciel-fonce); font-size: 14px; font-weight: 600;
}
.liens-prestations { display: grid; grid-template-columns: 1fr; gap: 10px; }
.liens-prestations a {
  display: flex; justify-content: space-between; align-items: center; padding: 16px 18px;
  border-radius: var(--r-m); background: var(--sable); text-decoration: none; font-weight: 700;
}
.liens-prestations a::after { content: "›"; }

/* Formulaires : réservation, devis convoyage */
[hidden] { display: none !important; }
.formulaire { padding: 22px 18px; border-radius: var(--r-l); background: var(--sable); display: flex; flex-direction: column; gap: 22px; }
.formulaire fieldset { margin: 0; padding: 0; border: none; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.formulaire legend { padding: 0; margin-bottom: 12px; font: 900 21px var(--titres); }
.formulaire .champ label { margin-bottom: 6px; }
.formulaire .champ select, .formulaire .champ input, .formulaire .champ textarea { border-color: var(--bordure); }
.champ textarea { min-height: 112px; padding: 12px 14px; resize: vertical; line-height: 1.5; }
.champ__aide { margin-top: 4px; font-size: 14px; color: var(--muted); }
.champ__obligatoire { color: var(--peche-fonce); }
.grille-champs { display: grid; grid-template-columns: 1fr; gap: 14px; }
.segments--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.case { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; }
.case input { width: 22px; height: 22px; margin: 2px 0 0; flex-shrink: 0; accent-color: var(--sauge-fonce); }
.case a { color: var(--sauge-fonce); font-weight: 700; }
.piege { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.alerte { padding: 14px 16px; border-radius: var(--r-s); background: var(--peche); }
.alerte ul { margin: 6px 0 0; padding-left: 18px; }
.recap { padding: 16px; border-radius: var(--r-m); background: var(--ciel); display: flex; flex-direction: column; gap: 2px; }
.code-promo { display: flex; gap: 8px; }
.code-promo input { flex: 1; min-width: 0; text-transform: uppercase; }
.code-promo .bouton { flex-shrink: 0; }
.code-promo__message { font-size: 15px; font-weight: 700; color: var(--sauge-fonce); }
.code-promo__message--erreur { color: #B3372B; }
.page-formulaire { display: flex; flex-direction: column; gap: 24px; }
.aparte { display: flex; flex-direction: column; gap: 14px; }

/* Contenu long : guide, pages légales */
.prose { max-width: 760px; display: flex; flex-direction: column; gap: 16px; }
.prose h2 { font-size: 26px; margin-top: 24px; }
.prose h3 { margin-top: 8px; }
.prose ul, .prose ol { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 6px; }
.prose a { color: var(--sauge-fonce); font-weight: 700; }
.encadre { padding: 18px 20px; border-radius: var(--r-m); background: var(--sauge-clair); display: flex; flex-direction: column; gap: 10px; }
.encadre--ciel { background: var(--ciel-clair); }

/* Ordinateur */
@media (min-width: 900px) {
  :root { --gouttiere: 40px; }
  body { font-size: 18px; }
  h1 { font-size: 56px; line-height: 1.08; }
  h2 { font-size: 42px; }
  h3 { font-size: 21px; }
  .section { padding: 80px 0; }

  .entete { padding: 24px 0; }
  .marque__image { height: 34px; }
  .marque__accroche { font-size: 13px; }
  .pied__logo { height: 36px; }

  .heros { padding: 40px 0 80px; }
  .heros__grille { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: center; }
  .heros__intro { font-size: 20px; }
  .liste-coches--ligne { flex-direction: row; gap: 24px; font-size: 16px; }
  .simulateur { padding: 32px; border-radius: var(--r-xl); gap: 18px; }
  .simulateur h2 { font-size: 30px; }
  .resultat__montant { font-size: 40px; }

  .etapes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
  .etapes li { flex-direction: column; gap: 12px; }
  .numero { width: 56px; height: 56px; font-size: 24px; }
  .centre { text-align: center; }

  .tarifs-cadre > * { max-width: 820px; }
  .tarifs th, .tarifs td { padding: 16px 20px; }
  .tarifs td { font-size: 19px; }

  .chiffre-cle__nombre { font-size: 96px; }
  .chiffre-cle h2 { font-size: 42px; }
  .verifs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 40px; }
  .verifs .icone-pastel { width: 52px; height: 52px; }
  .verifs strong { font-size: 19px; }
  .verifs span { font-size: 16px; }

  .deux-colonnes { display: grid; grid-template-columns: 5fr 1fr 6fr; align-items: start; }
  .deux-colonnes > :last-child { grid-column: 3; }
  .lignes li { padding: 18px 22px; border-radius: 18px; }
  .lignes strong { font-size: 20px; }

  .apropos { display: grid; grid-template-columns: 5fr 6fr; gap: 80px; align-items: start; }
  .photo-cadre { min-height: 460px; border-radius: var(--r-xl); position: sticky; top: 24px; }
  .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stat--peche { grid-column: auto; }

  .faq-grille { display: grid; grid-template-columns: 4fr 8fr; gap: 32px; }
  .faq details { padding: 0 24px; border-radius: 18px; }

  .pied { border-radius: 40px 40px 0 0; padding: 56px 0; font-size: 16px; }
  .pied__grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
  .pied nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; align-content: start; }

  .espace { display: grid; grid-template-columns: 6fr 1fr 5fr; align-items: center; gap: 0; }
  .espace > .apercu { grid-column: 3; padding: 36px; border-radius: var(--r-xl); }
  .espace__liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; font-size: 17px; }
  .apercu__ecran { padding: 24px; border-radius: var(--r-l); gap: 16px; }

  .heros-prestation { display: grid; grid-template-columns: 8fr 4fr; gap: 64px; align-items: end; }
  .encart-prix { padding: 28px; border-radius: 28px; }
  .encart-prix__montant { font-size: 48px; }
  .points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
  .points details { padding: 6px 24px; border-radius: 22px; }
  .liens-prestations { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .visuel-rapport { min-height: 300px; border-radius: 28px; }

  .formulaire { padding: 32px; border-radius: var(--r-xl); }
  .grille-champs--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-formulaire { display: grid; grid-template-columns: 7fr 1fr 4fr; gap: 0; align-items: start; }
  .page-formulaire > .aparte { grid-column: 3; position: sticky; top: 24px; }
  .prose h2 { font-size: 32px; margin-top: 32px; }
}

/* Navigation complète à partir de 1200px (en dessous : menu repliable) */
@media (min-width: 1200px) {
  .marque { flex-grow: 0; }
  .entete__barre { flex-wrap: nowrap; gap: 24px; }
  .nav, .nav.est-ouvert { order: 0; width: auto; display: flex; flex-direction: row; flex-grow: 1; justify-content: center; gap: 4px; margin: 0; padding: 0; background: none; }
  .nav a { font-size: 16px; white-space: nowrap; padding: 10px 8px; }
  .marque, .entete__tel, .entete__cta { white-space: nowrap; flex-shrink: 0; }
  .entete__menu, .entete__appel { display: none; }
  .entete__tel { font-weight: 700; font-size: 16px; text-decoration: none; }
  .entete__cta { display: inline-flex; min-height: 50px; font-size: 16px; }
}

@media (min-width: 1400px) {
  .entete__tel { display: inline; }
}

/* Sélecteur Auto / Moto : un seul type de véhicule affiché à la fois, auto par défaut */
html:not(.vehicule-moto) [data-vehicule="moto"], html.vehicule-moto [data-vehicule="voiture"] { display: none !important; }
.bascule { display: inline-grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 999px; background: var(--sable); align-self: flex-start; }
.bascule button { min-height: 40px; min-width: 76px; padding: 0 16px; border: none; border-radius: 999px; background: transparent; font: 700 15px/1 var(--texte); color: var(--texte-2); cursor: pointer; }
.bascule button[aria-pressed="true"] { background: var(--ciel-fonce); color: #FFFFFF; }
.bascule button:focus-visible { outline: 3px solid var(--encre); outline-offset: 2px; }
.encart-prix .bascule { background: rgba(255, 255, 255, .7); }
.tarifs-entete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }

/* Visuels réels à la place des cadres d'attente */
.photo-cadre--image, .visuel-rapport--image { min-height: 0 !important; padding: 0; background: #FFFFFF; }
.photo-cadre--image img { height: auto; aspect-ratio: 4 / 3; }
.visuel-rapport--image { border: 1px solid var(--bordure); overflow: hidden; }
.visuel-rapport--image img { width: 100%; height: auto; }
