/* =====================================================================
   AutoPilot V2 · identité visuelle (lot I1, 13/10/2026)
   Chargée en DERNIER : reprend les jetons « Trajectoire Sport » de l'actuel
   (src/index.css, validés par JB le 02/10) et ajoute la signature V2 :
   la touche turquoise/menthe du logo Car Factory, mesurée sur nos photos
   (lettres de l'enseigne : #ace7e1 = hsl(174 55% 79%)), utilisée avec
   parcimonie : indicateurs actifs, anneaux, focus, petits reflets.
   Aucun !important : chaque règle gagne par l'ordre de chargement.
   ===================================================================== */

@font-face {
  font-family: 'Inter';
  src: url('/fonts/Inter-Variable-latin.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /* — Jetons Sport de l'actuel (valeurs exactes) — */
  --sport-marine-haut: 214 57% 20%;
  --sport-marine-bas: 216 56% 11%;
  --sport-bandeau-haut: 210 66% 29%;
  --sport-bandeau-bas: 215 61% 17%;
  --sport-azur-haut: 212 90% 46%;
  --sport-azur-bas: 215 92% 42%;
  --sport-azur-fort: 214 84% 36%;
  --primary: 213 91% 44%;
  --background: 213 62% 95%;
  --foreground: 222 28% 11%;
  --card: 0 0% 100%;
  --accent: 213 95% 95%;
  --accent-foreground: 213 80% 34%;
  --muted-foreground: 220 11% 36%;
  --border: 220 17% 79%;
  --bord: 220 17% 86%;
  --ring: 213 91% 50%;
  --band-line: 0 0% 100%;
  --choisi-fond: 213 95% 95%;
  --choisi-texte: 213 88% 38%;
  --choisi-cerne: 213 85% 70%;
  --success: 152 64% 32%;
  --success-doux: 152 52% 95%;
  --success-trait: 152 35% 76%;
  --success-fort: 152 70% 28%;
  --warning: 35 92% 48%;
  --warning-doux: 40 92% 95%;
  --warning-trait: 38 75% 76%;
  --warning-fort: 32 90% 32%;
  --destructive: 0 84% 50%;
  --destructive-doux: 0 88% 96%;
  --destructive-trait: 0 70% 84%;
  --destructive-fort: 0 72% 45%;

  /* — Signature V2 : la menthe du logo Car Factory — */
  --menthe: 174 55% 79%;      /* mesurée : #ace7e1, sur fond marine */
  --menthe-vif: 172 66% 56%;  /* reflets, anneaux sur fond sombre */
  --menthe-fort: 175 70% 30%; /* texte et traits sur fond clair (contraste AA) */
  --menthe-doux: 172 60% 94%;

  /* — Correspondance avec les variables de la maquette (style.css) — */
  --navy: hsl(var(--sport-marine-haut));
  --blue: hsl(var(--primary));
  --ink: hsl(218 40% 16%);
  --muted: hsl(var(--muted-foreground));
  --line: hsl(var(--bord));
  --bg: hsl(var(--background));
  --red: hsl(var(--destructive-fort));
  --green: hsl(var(--success-fort));
  --amber: hsl(var(--warning-fort));

  /* — Ombres en couches, rayons — */
  --v2-ombre-1: 0 1px 2px hsl(216 50% 20% / .06), 0 2px 6px hsl(216 50% 20% / .05);
  --v2-ombre-2: 0 1px 2px hsl(216 50% 20% / .07), 0 6px 16px hsl(216 50% 20% / .08), 0 18px 40px -18px hsl(216 60% 20% / .18);
  --v2-ombre-3: 0 2px 4px hsl(216 50% 20% / .08), 0 12px 28px hsl(216 50% 20% / .14), 0 30px 60px -20px hsl(216 60% 18% / .28);
  --v2-courbe: cubic-bezier(.2,.8,.2,1);
}

/* ---------- Socle : police, fond, chiffres ---------- */
body {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 14px;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  background:
    radial-gradient(1200px 520px at 100% -10%, hsl(var(--menthe) / .16), transparent 60%),
    radial-gradient(900px 480px at -10% 0%, hsl(var(--primary) / .08), transparent 60%),
    linear-gradient(180deg, hsl(213 62% 96%), hsl(var(--background)) 420px);
  min-height: 100vh;
}
h1 { letter-spacing: -.02em; font-weight: 800; }
/* Chiffres tabulaires là où l'on compare des nombres (compteurs, tableaux, prix, km). */
.v2-compteur, .gg-age, .fw-id-right > strong, .v2-faits span[data-fait="km"], .v2-galerie-compteur, .gg-overview strong, .v2-bandeau-chiffres strong, .v2-vitrine-texte small, .gg-lane-title > span { font-variant-numeric: tabular-nums; }
h2, h3 { letter-spacing: -.01em; }
.eyebrow { letter-spacing: .08em; color: hsl(var(--accent-foreground)); }
.eyebrow::before {
  content: ""; display: inline-block; width: 18px; height: 3px; border-radius: 2px; margin-right: 8px; vertical-align: middle;
  background: linear-gradient(90deg, hsl(var(--primary)), hsl(var(--menthe-vif)));
}
a { color: hsl(var(--primary)); }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid hsl(var(--menthe-fort));
  outline-offset: 2px;
  box-shadow: 0 0 0 5px hsl(var(--menthe) / .35);
}
::selection { background: hsl(var(--menthe) / .55); }

/* ---------- En-tête : coque marine, reflet oblique, verre ---------- */
header.v2-entete {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  gap: 22px;
  padding: 12px 28px;
  min-height: 66px;
  background:
    linear-gradient(105deg, hsl(var(--sport-marine-haut) / .97), hsl(var(--sport-marine-bas) / .98));
  box-shadow: inset 0 1px 0 hsl(var(--band-line) / .12), 0 1px 0 hsl(216 60% 8% / .4), 0 10px 30px -14px hsl(216 70% 10% / .6);
}
header.v2-entete::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  top: -60%; right: 18%; width: 34%; height: 220%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, hsl(var(--band-line) / .07), transparent);
}
header.v2-entete::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; pointer-events: none;
  background: linear-gradient(90deg, transparent 2%, hsl(var(--menthe) / .55) 30%, hsl(var(--primary) / .7) 62%, transparent 98%);
}

/* Marque : logo + « AutoPilot » + pastille V2 */
.brand.v2-marque { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; letter-spacing: -.02em; flex-shrink: 0; }
.v2-logo { width: 34px; height: 34px; flex-shrink: 0; filter: drop-shadow(0 4px 10px hsl(212 90% 40% / .45)); }
.brand.v2-marque .v2-marque-texte { font-size: 21px; font-weight: 800; color: #fff; }
.brand.v2-marque .v2-marque-v2 {
  position: relative; overflow: hidden;
  font-size: 12px; font-weight: 800; letter-spacing: .04em; line-height: 1;
  padding: 5px 8px 5px 7px; border-radius: 6px;
  color: hsl(215 70% 12%);
  background: linear-gradient(135deg, hsl(var(--menthe)), hsl(var(--menthe-vif)));
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5px), calc(100% - 5px) 100%, 0 100%);
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / .6);
}
.brand.v2-marque .v2-marque-v2::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 35%, hsl(0 0% 100% / .55) 50%, transparent 65%);
  transform: translateX(-120%); animation: v2-reflet 5s var(--v2-courbe) 1.2s infinite;
}
@keyframes v2-reflet { 0%, 70% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }

/* Menu : six entrées égales, indicateur turquoise qui glisse */
header.v2-entete nav.v2-nav {
  position: relative; flex: 0 1 auto;
  display: grid; grid-template-columns: repeat(6, minmax(0, 116px)); gap: 0;
  padding: 4px; border-radius: 12px;
  background: hsl(var(--band-line) / .05);
  box-shadow: inset 0 0 0 1px hsl(var(--band-line) / .08);
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
}
header.v2-entete nav.v2-nav a {
  position: relative; z-index: 1; text-align: center;
  padding: 9px 6px; border-radius: 9px;
  color: hsl(212 35% 84%); font-weight: 650; font-size: 14px; white-space: nowrap;
  background: transparent; box-shadow: none;
  transition: color .18s var(--v2-courbe);
}
header.v2-entete nav.v2-nav a:hover { color: #fff; }
header.v2-entete nav.v2-nav a.active { color: #fff; background: transparent; box-shadow: none; }
.v2-nav-indic {
  position: absolute; z-index: 0; top: 4px; left: 4px; bottom: 4px;
  width: calc((100% - 8px) / 6);
  border-radius: 9px;
  background: linear-gradient(180deg, hsl(var(--band-line) / .16), hsl(var(--band-line) / .06));
  box-shadow: inset 0 1px 0 hsl(var(--band-line) / .22), 0 6px 16px -8px hsl(216 70% 5% / .7);
  transform: translateX(calc(var(--i, 0) * 100%));
  transition: transform .32s var(--v2-courbe), opacity .2s;
}
.v2-nav-indic::after {
  content: ""; position: absolute; left: 22%; right: 22%; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0;
  background: hsl(var(--menthe));
  box-shadow: 0 0 12px hsl(var(--menthe-vif) / .9), 0 0 2px hsl(var(--menthe));
}
nav.v2-nav.v2-nav-sans .v2-nav-indic { opacity: 0; }

/* Recherche en verre */
header.v2-entete .search.v2-search {
  margin-left: auto;
  background: hsl(var(--band-line) / .07);
  border: 1px solid hsl(var(--band-line) / .16);
  border-radius: 11px;
  backdrop-filter: blur(12px) saturate(150%);
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  box-shadow: inset 0 1px 0 hsl(var(--band-line) / .14);
  transition: border-color .18s, background .18s, box-shadow .18s;
}
header.v2-entete .search.v2-search:focus-within {
  background: hsl(var(--band-line) / .12);
  border-color: hsl(var(--menthe) / .7);
  box-shadow: inset 0 1px 0 hsl(var(--band-line) / .14), 0 0 0 4px hsl(var(--menthe) / .18);
}
.v2-search input { font-size: 14px; color: #fff; width: 240px; padding: 10px 12px 10px 34px; }
.v2-search::before {
  content: ""; position: absolute; left: 12px; top: 50%; width: 12px; height: 12px; margin-top: -8px;
  border: 2px solid hsl(212 35% 80%); border-radius: 50%; pointer-events: none;
}
.v2-search::after {
  content: ""; position: absolute; left: 24px; top: 50%; width: 6px; height: 2px; margin-top: 4px;
  background: hsl(212 35% 80%); transform: rotate(45deg); border-radius: 2px; pointer-events: none;
}
.v2-search input::placeholder { color: hsl(212 30% 76%); }
.v2-search input:focus-visible { outline: none; box-shadow: none; }

/* Bandeau d'aperçu sous l'en-tête */
.demo {
  background: hsl(var(--card) / .7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: hsl(var(--muted-foreground));
  border-bottom: 1px solid hsl(var(--bord));
  font-size: 12px;
}
.demo.v2-demo-serveur { background: hsl(var(--success-doux)); color: hsl(var(--success-fort)); border-bottom-color: hsl(var(--success-trait)); }

/* ---------- Boutons : .btn-primaire de l'actuel ---------- */
.btn {
  border-color: hsl(var(--bord));
  border-radius: 9px;
  font-weight: 650;
  font-size: 14px;
  box-shadow: 0 1px 1px hsl(216 50% 20% / .05);
}
.btn:hover:not(:disabled) { border-color: hsl(var(--choisi-cerne)); background: hsl(var(--accent) / .6); }
.btn.primary {
  position: relative; isolation: isolate;
  color: #fff; border-color: transparent; background: transparent; box-shadow: none;
  filter: drop-shadow(0 2px 3px hsl(var(--sport-azur-fort) / .28));
  font-weight: 650;
}
.btn.primary::before {
  content: ""; position: absolute; inset: -1px; z-index: -1; pointer-events: none;
  border-radius: inherit;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%);
  background: linear-gradient(155deg, hsl(var(--sport-azur-haut)), hsl(var(--sport-azur-bas)));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .6), inset 0 -2px 0 hsl(var(--sport-azur-fort) / .8);
}
.btn.primary:hover:not(:disabled) { background: transparent; border-color: transparent; }
.btn.primary:hover:not(:disabled)::before { background: linear-gradient(155deg, hsl(var(--sport-azur-haut) / .92), hsl(var(--sport-azur-bas))); }

/* ---------- Sélection : un seul style (.etat-choisi de l'actuel) ---------- */
.fw-filter-row button.selected, .aw-tabs button.selected, .v2-categorie.selected, .v2-dossier.selected {
  background-color: hsl(var(--choisi-fond));
  color: hsl(var(--choisi-texte));
  border-color: hsl(var(--choisi-cerne) / .6);
  box-shadow: inset 0 0 0 1px hsl(var(--choisi-cerne) / .6);
}
.queue-item.selected { background: hsl(var(--choisi-fond)); border-left: 3px solid hsl(var(--menthe-fort)); box-shadow: none; }

/* Filtres et onglets : lisibles (13 px), même sélection partout */
.fw-filter-row button { font-size: 13px; }
.aw-tabs button { font-size: 14px; }

/* ---------- Badges : un composant, tons sémantiques ----------
   vert = avancement · orange = attente · rouge = retard · azur = information · gris = neutre */
.badge { border-radius: 999px; padding: 4px 9px; font-size: 12px; font-weight: 700; letter-spacing: .01em; border: 1px solid transparent; }
.badge.green { color: hsl(var(--success-fort)); background: hsl(var(--success-doux)); border-color: hsl(var(--success-trait)); }
.badge.amber { color: hsl(var(--warning-fort)); background: hsl(var(--warning-doux)); border-color: hsl(var(--warning-trait)); }
.badge.red { color: hsl(var(--destructive-fort)); background: hsl(var(--destructive-doux)); border-color: hsl(var(--destructive-trait)); }
.badge.blue { color: hsl(var(--accent-foreground)); background: hsl(var(--accent)); border-color: hsl(var(--choisi-cerne) / .55); }
.badge.grey { color: hsl(218 18% 36%); background: hsl(216 30% 95%); border-color: hsl(var(--bord)); }

/* ---------- Surfaces : panneaux et cartes en couches ---------- */
.panel, .fw-shell, .v2-graph, .v2-tuile, .v2-lieu, .gg-job {
  border-color: hsl(var(--bord));
  box-shadow: var(--v2-ombre-1);
}
.panel { border-radius: 14px; background: linear-gradient(180deg, hsl(0 0% 100%), hsl(213 60% 99%)); }
.panel-title { border-bottom-color: hsl(var(--bord)); }
.fw-shell { box-shadow: var(--v2-ombre-2); }

/* Bandeaux marine à reflet oblique (Aujourd'hui, tableau, atelier) */
.v2-bandeau, .v2-overview, .gg-overview.v2-overview, .aw-metrics.v2-overview {
  isolation: isolate;
  background:
    radial-gradient(600px 220px at 88% -30%, hsl(var(--menthe) / .22), transparent 70%),
    linear-gradient(110deg, hsl(var(--sport-bandeau-haut)), hsl(var(--sport-bandeau-bas)));
  border: 1px solid hsl(var(--band-line) / .12);
  box-shadow: inset 0 1px 0 hsl(var(--band-line) / .2), 0 6px 16px -8px hsl(214 62% 23% / .55), 0 24px 48px -28px hsl(214 62% 18% / .6);
}
.v2-bandeau::after, .v2-overview::after {
  inset: 0 6% 0 auto; width: 16%;
  background: linear-gradient(180deg, hsl(var(--band-line) / .09), transparent);
  clip-path: polygon(45% 0, 100% 0, 55% 100%, 0 100%);
}
.v2-bandeau::before, .v2-overview::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; pointer-events: none;
  background: linear-gradient(180deg, hsl(var(--menthe)), hsl(var(--primary)));
}
.v2-bandeau-chiffres strong { font-size: 34px; font-weight: 800; letter-spacing: -.03em; }
.v2-bandeau-chiffres > div > span { color: hsl(212 40% 84%); font-size: 13px; }
.v2-bandeau-note { color: hsl(212 40% 88%); font-size: 13px; }
.v2-bandeau-activite { background: hsl(var(--band-line) / .06); border-color: hsl(var(--band-line) / .14); backdrop-filter: blur(6px); }
.v2-bandeau-tete, .v2-bandeau-activite small { color: hsl(212 40% 84%); font-size: 12px; }
.v2-compteur.v2-roule { color: hsl(var(--menthe)); }
.v2-sparkline.clair .v2-spark-trait { stroke: hsl(var(--menthe)); }
.v2-sparkline.clair .v2-spark-aire { fill: hsl(var(--menthe) / .16); }
.gg-overview strong { font-size: 30px; font-weight: 800; letter-spacing: -.03em; }
.gg-overview span { color: hsl(212 40% 88%); }

/* Graphiques : azur + menthe */
.v2-barre-corps { fill: hsl(var(--primary) / .75); }
.v2-barre.actif .v2-barre-corps { fill: hsl(var(--sport-azur-fort)); }
.v2-anneau-trait { stroke: hsl(var(--primary)); }
.v2-anneau-trait.complet { stroke: hsl(var(--menthe-fort)); }
.v2-jauge-trait { stroke: hsl(var(--primary)); }
.v2-jauge.vert .v2-jauge-trait { stroke: hsl(var(--success)); }
.v2-jauge.ambre .v2-jauge-trait { stroke: hsl(var(--warning)); }
.v2-particule { fill: hsl(var(--menthe-vif)); }
.v2-exemples { color: hsl(var(--warning-fort)); background: hsl(var(--warning-doux)); border-color: hsl(var(--warning-trait)); font-size: 11px; }
.v2-pastille { background: hsl(var(--warning)); box-shadow: 0 0 0 0 hsl(var(--warning) / .5); }

/* ---------- Photos : vignettes et « sans photo » ---------- */
.v2-vignette {
  position: relative; display: block; overflow: hidden; flex-shrink: 0;
  background: linear-gradient(160deg, hsl(213 40% 92%), hsl(213 30% 86%));
}
.v2-vignette img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; }
.v2-sans-photo {
  display: grid; place-items: center;
  background:
    radial-gradient(120% 90% at 30% 10%, hsl(0 0% 100% / .75), transparent 60%),
    linear-gradient(160deg, var(--v2-teinte, #d6dee7), hsl(213 25% 82%));
  color: hsl(215 35% 30%);
}
.v2-sans-photo svg { position: absolute; inset: 8% 6% 12%; width: 88%; height: 80%; opacity: .7; }
.v2-sp-caisse { fill: hsl(215 30% 40% / .22); stroke: hsl(215 30% 35% / .55); stroke-width: 1.4; stroke-linejoin: round; }
.v2-sp-vitre { fill: hsl(215 35% 30% / .35); }
.v2-sp-roue { fill: hsl(215 30% 25% / .55); }
.v2-sp-sol { stroke: hsl(215 30% 35% / .35); stroke-width: 1.4; }
.v2-sans-photo b { position: relative; font-size: 15px; font-weight: 800; letter-spacing: .06em; color: hsl(215 50% 22%); background: hsl(0 0% 100% / .72); border-radius: 6px; padding: 2px 7px; box-shadow: 0 1px 2px hsl(216 50% 20% / .12); }
.v2-sans-photo small { position: absolute; bottom: 6px; right: 8px; font-size: 10px; font-weight: 700; letter-spacing: .04em; color: hsl(215 25% 34%); text-transform: uppercase; }
.v2-mention-reelle {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 600; color: hsl(var(--menthe-fort));
  background: hsl(var(--menthe-doux)); border: 1px solid hsl(var(--menthe) / .8);
  border-radius: 999px; padding: 3px 10px 3px 8px; white-space: nowrap;
}
.v2-mention-reelle::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: hsl(var(--menthe-fort)); box-shadow: 0 0 0 3px hsl(var(--menthe) / .55); }

/* ---------- Tableau du garage : cartes photo, colonnes teintées ---------- */
.gg-board { gap: 14px; }
.gg-lane {
  --lane: var(--primary);
  position: relative; overflow: hidden;
  border-radius: 16px; padding: 12px;
  border: 1px solid hsl(var(--lane) / .2);
  background: linear-gradient(180deg, hsl(var(--lane) / .1), hsl(var(--lane) / .03) 260px), hsl(213 40% 97%);
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / .8);
}
.gg-lane::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, hsl(var(--lane)), hsl(var(--lane) / .35)); }
.gg-lane[data-etape="arrivages"] { --lane: 205 75% 46%; }
.gg-lane[data-etape="preparation"] { --lane: 32 88% 48%; }
.gg-lane[data-etape="pretes"] { --lane: 213 91% 44%; }
.gg-lane[data-etape="livraisons"] { --lane: 152 64% 34%; }
.gg-lane-title h2 { font-size: 18px; font-weight: 750; }
.gg-lane-title > span { background: hsl(var(--lane) / .14); color: hsl(var(--lane)); font-weight: 800; box-shadow: inset 0 0 0 1px hsl(var(--lane) / .25); }
.gg-lane[data-etape="preparation"] .gg-lane-title > span { color: hsl(var(--warning-fort)); }
.gg-lane > small { font-size: 13px; color: hsl(var(--muted-foreground)); }

.gg-car.v2-carte-photo { padding: 0; margin: 10px 0; overflow: hidden; border-radius: 14px; border: 1px solid hsl(var(--bord)); box-shadow: var(--v2-ombre-1); background: #fff; }
.gg-car.v2-carte-photo:hover, .gg-car.v2-carte-photo:focus-visible {
  border-color: hsl(var(--menthe-fort) / .6);
  box-shadow: 0 0 0 3px hsl(var(--menthe) / .45), var(--v2-ombre-3);
}
.v2-carte-visuel { position: relative; }
.v2-carte-visuel .v2-carte-img { width: 100%; height: 132px; }
.v2-carte-visuel::after { content: ""; position: absolute; inset: auto 0 0 0; height: 46px; background: linear-gradient(180deg, transparent, hsl(216 60% 10% / .35)); pointer-events: none; }
.v2-carte-photo:hover .v2-carte-img img { transform: scale(1.04); }
.v2-carte-img img { transition: transform .4s var(--v2-courbe); }
.gg-age.v2-sur-photo {
  position: absolute; z-index: 1; top: 8px; right: 8px;
  background: hsl(216 60% 10% / .62); color: #fff; font-size: 12px; font-weight: 700;
  border-radius: 999px; padding: 4px 9px;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  box-shadow: inset 0 0 0 1px hsl(0 0% 100% / .18);
}
.v2-carte-photo .v2-carte-id { padding: 10px 12px 0; }
.v2-carte-photo .gg-card-top strong { font-size: 15px; font-weight: 750; line-height: 1.25; }
.v2-carte-photo .gg-plate { font-size: 12.5px; margin: 3px 0 0; color: hsl(var(--muted-foreground)); }
.v2-carte-photo .gg-location { padding: 0 12px; margin-top: 8px; font-size: 13px; line-height: 1.4; }
.v2-carte-photo .gg-tags { padding: 0 12px; margin: 8px 0; }
.v2-carte-photo p { padding: 0 12px; font-size: 13.5px; margin: 6px 0 8px; line-height: 1.4; }
.v2-carte-photo .gg-card-foot { margin: 0 12px; padding: 8px 0 10px; font-size: 12px; border-top-color: hsl(var(--bord)); }
.v2-carte-photo .v2-anneau-trait { stroke: hsl(var(--menthe-fort)); }
.v2-carte-photo .v2-anneau-fond { stroke: hsl(var(--menthe-doux)); }

/* Liste et « par lieu » : petite photo */
.v2-liste-voiture { display: flex; align-items: center; gap: 10px; }
.v2-liste-voiture > span:last-child { display: grid; gap: 2px; min-width: 0; }
.v2-liste-photo { width: 64px; height: 46px; border-radius: 8px; }
.v2-mini-photo { width: 58px; height: 42px; border-radius: 8px; }
.v2-mini-carte { border-color: hsl(var(--bord)); background: #fff; }
.v2-mini-carte:hover, .v2-mini-carte:focus-visible { border-color: hsl(var(--menthe-fort) / .6); box-shadow: 0 0 0 3px hsl(var(--menthe) / .4), var(--v2-ombre-2); }

/* ---------- Aujourd'hui ---------- */
.v2-task { gap: 16px; }
.v2-task-visuel { display: block; flex-shrink: 0; border-radius: 10px; overflow: hidden; box-shadow: var(--v2-ombre-1); }
.v2-task-photo { width: 104px; height: 74px; }
.v2-task-voiture { display: block; font-size: 12px; font-weight: 700; color: hsl(var(--accent-foreground)); letter-spacing: .01em; margin-bottom: 2px; }
.v2-task .muted.small { font-size: 13px; }
.v2-task:hover { background: hsl(var(--accent) / .5); }

.v2-vitrine { margin-top: 18px; }
.v2-vitrine .panel-title > div { display: grid; gap: 2px; }
.v2-vitrine-rail {
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(210px, 1fr);
  gap: 12px; padding: 14px 18px 18px; overflow-x: auto; scroll-snap-type: x mandatory;
  scrollbar-width: thin;
}
.v2-vitrine-carte {
  display: grid; scroll-snap-align: start; border-radius: 12px; overflow: hidden; background: #fff;
  border: 1px solid hsl(var(--bord)); box-shadow: var(--v2-ombre-1); color: var(--ink);
  animation: v2-entree .3s var(--v2-courbe) backwards; animation-delay: calc(var(--n, 0) * 40ms);
  transition: transform .18s var(--v2-courbe), box-shadow .18s, border-color .18s;
}
.v2-vitrine-carte:hover, .v2-vitrine-carte:focus-visible { transform: translateY(-3px); border-color: hsl(var(--menthe-fort) / .5); box-shadow: 0 0 0 3px hsl(var(--menthe) / .4), var(--v2-ombre-3); }
.v2-vitrine-photo { width: 100%; height: 140px; }
.v2-vitrine-carte:hover .v2-vitrine-photo img { transform: scale(1.04); }
.v2-vitrine-photo img { transition: transform .4s var(--v2-courbe); }
.v2-vitrine-texte { display: grid; gap: 3px; padding: 10px 12px 12px; }
.v2-vitrine-texte strong { font-size: 14px; }
.v2-vitrine-texte small { font-size: 12.5px; color: hsl(var(--muted-foreground)); }

/* ---------- Fiche : en-tête héros photo + galerie ---------- */
.fw-identity.v2-heros {
  align-items: stretch; gap: 26px; padding: 22px 24px;
  background:
    radial-gradient(700px 260px at 0% 0%, hsl(var(--menthe) / .14), transparent 70%),
    linear-gradient(105deg, hsl(213 70% 99%), hsl(213 70% 95%));
}
.v2-heros .fw-id-main { align-self: center; }
.v2-heros .fw-id-main h2 { font-size: 30px; font-weight: 800; letter-spacing: -.03em; }
.v2-heros .fw-id-main p { font-size: 14px; color: hsl(var(--muted-foreground)); }
.v2-heros .fw-id-right { align-self: center; }
.v2-heros .fw-id-right > strong { font-size: 28px; font-weight: 800; letter-spacing: -.03em; color: hsl(var(--sport-azur-fort)); }
.v2-heros .fw-id-right > span { font-size: 12px; }
.v2-heros .v2-mention-reelle { margin-top: 10px; }

.v2-galerie { width: 380px; flex-shrink: 0; display: grid; gap: 8px; align-content: start; }
.v2-galerie-cadre { position: relative; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; box-shadow: var(--v2-ombre-2); background: hsl(213 30% 88%); }
.v2-galerie-vide .v2-galerie-cadre { width: 100%; height: 100%; }
.v2-galerie-image { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.v2-galerie-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.v2-galerie-fleche {
  position: absolute; top: 50%; z-index: 2; width: 38px; height: 38px; margin-top: -19px;
  display: grid; place-items: center; padding: 0 0 3px;
  font-size: 26px; line-height: 1; font-weight: 400; color: #fff;
  border: 1px solid hsl(0 0% 100% / .3); border-radius: 50%;
  background: hsl(216 60% 10% / .45);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  opacity: .9; transition: opacity .15s, background .15s, transform .08s var(--v2-courbe);
}
.v2-galerie-fleche:hover { background: hsl(216 60% 10% / .7); opacity: 1; }
.v2-galerie-fleche:active { transform: scale(.94); }
.v2-galerie-fleche.gauche { left: 10px; }
.v2-galerie-fleche.droite { right: 10px; }
.v2-galerie-compteur {
  position: absolute; left: 10px; bottom: 10px; z-index: 2;
  font-size: 12px; font-weight: 700; color: #fff; padding: 4px 9px; border-radius: 999px;
  background: hsl(216 60% 10% / .55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.v2-galerie-plein {
  position: absolute; right: 10px; bottom: 10px; z-index: 2; width: 32px; height: 32px; padding: 0;
  display: grid; place-items: center; border-radius: 9px; border: 1px solid hsl(0 0% 100% / .3);
  background: hsl(216 60% 10% / .5); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.v2-galerie-plein svg { width: 16px; height: 16px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; }
.v2-galerie-miniatures { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.v2-galerie-miniatures button { padding: 0; border: 0; border-radius: 9px; overflow: hidden; aspect-ratio: 4 / 3; background: hsl(213 30% 88%); opacity: .72; box-shadow: inset 0 0 0 1px hsl(var(--bord)); transition: opacity .15s, box-shadow .15s; }
.v2-galerie-miniatures button:hover { opacity: 1; }
.v2-galerie-miniatures button.actif { opacity: 1; box-shadow: 0 0 0 2px hsl(var(--menthe-fort)), 0 0 0 5px hsl(var(--menthe) / .45); }
.v2-galerie-miniatures img { display: block; width: 100%; height: 100%; object-fit: cover; }

.v2-plein-ecran {
  position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 40px 72px;
  background: hsl(216 60% 6% / .88); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  animation: v2-fondu .18s ease both;
}
.v2-plein-ecran figure { margin: 0; max-width: min(1280px, 100%); display: grid; gap: 10px; animation: v2-palette .2s var(--v2-courbe) backwards; }
.v2-plein-ecran img { display: block; width: 100%; height: auto; max-height: calc(100vh - 140px); object-fit: contain; border-radius: 12px; box-shadow: 0 30px 80px hsl(0 0% 0% / .5); }
.v2-plein-ecran figcaption { display: flex; justify-content: space-between; gap: 12px; color: hsl(212 40% 88%); font-size: 14px; }
.v2-plein-ecran figcaption span:first-child { font-weight: 700; color: #fff; }
.v2-plein-ecran .v2-galerie-fleche { position: fixed; width: 52px; height: 52px; margin-top: -26px; font-size: 34px; }
.v2-plein-ecran .v2-galerie-fleche.gauche { left: 14px; }
.v2-plein-ecran .v2-galerie-fleche.droite { right: 14px; }
.v2-plein-fermer { position: fixed; top: 14px; right: 14px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid hsl(0 0% 100% / .3); background: hsl(0 0% 100% / .1); color: #fff; font-size: 26px; line-height: 1; padding: 0 0 3px; }
.v2-plein-fermer:hover { background: hsl(0 0% 100% / .2); }

/* Fiche compacte (Commerce) : galerie plus petite, le texte garde sa place */
.fw-compact .fw-identity.v2-heros { flex-wrap: wrap; gap: 16px; padding: 16px; }
.fw-compact .v2-heros .v2-galerie { width: 230px; }
.fw-compact .v2-heros .fw-id-main { flex: 1 1 240px; min-width: 240px; }
.fw-compact .v2-heros .fw-id-main h2 { font-size: 24px; }
.fw-compact .v2-heros .v2-id-vivant { flex: 1 1 100%; }
.fw-compact .v2-heros .fw-id-right { flex: 1 1 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px 12px; }
.fw-compact .v2-galerie-miniatures { gap: 4px; }
.fw-compact .v2-galerie-fleche { width: 30px; height: 30px; margin-top: -15px; font-size: 21px; }
.fw-compact .fw-id-facts.v2-faits span { font-size: 12px; padding: 4px 8px; }
.fw-compact .v2-faits span[data-fait="plaque"] { padding-left: 18px; }
.v2-heros .fw-id-main { min-width: 260px; }

/* Faits en pastilles sémantiques */
.fw-id-facts.v2-faits { gap: 8px; }
.fw-id-facts.v2-faits span { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; padding: 5px 10px; border-radius: 999px; background: hsl(216 30% 95%); color: hsl(218 30% 28%); border: 1px solid hsl(var(--bord)); }
.v2-faits span[data-fait="plaque"] {
  border-radius: 6px; padding: 4px 9px 4px 20px; position: relative; font-weight: 750; letter-spacing: .04em;
  background: #fff; color: hsl(218 40% 14%); border-color: hsl(218 30% 30% / .7);
}
.v2-faits span[data-fait="plaque"]::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 12px; border-radius: 5px 0 0 5px; background: hsl(222 75% 38%); }
.v2-faits span[data-fait="km"] { background: hsl(var(--accent)); color: hsl(var(--accent-foreground)); border-color: hsl(var(--choisi-cerne) / .5); }
.v2-faits span[data-famille="electrique"] { background: hsl(var(--menthe-doux)); color: hsl(var(--menthe-fort)); border-color: hsl(var(--menthe) / .9); }
.v2-faits span[data-famille="hybride"] { background: hsl(var(--success-doux)); color: hsl(var(--success-fort)); border-color: hsl(var(--success-trait)); }
.v2-faits span[data-famille="thermique"] { background: hsl(var(--warning-doux)); color: hsl(var(--warning-fort)); border-color: hsl(var(--warning-trait)); }
.v2-faits span[data-fait="couleur"]::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--v2-pastille, #ccc); box-shadow: inset 0 0 0 1px hsl(0 0% 0% / .2), 0 1px 2px hsl(0 0% 0% / .15); }

/* Onglets de la fiche : indicateur azur → menthe */
.v2-onglet-indic::after { background: linear-gradient(90deg, hsl(var(--primary)), hsl(var(--menthe-vif))); box-shadow: 0 -1px 8px hsl(var(--menthe-vif) / .5); }
.v2-id-indic { border-color: hsl(var(--bord)); background: hsl(0 0% 100% / .75); backdrop-filter: blur(6px); }
.v2-id-indic:hover { border-color: hsl(var(--menthe-fort) / .6); box-shadow: 0 0 0 3px hsl(var(--menthe) / .35), var(--v2-ombre-2); }

/* Commerce : photo dans la file */
.queue-item.v2-avec-photo { display: grid; grid-template-columns: 72px minmax(0, 1fr); column-gap: 12px; align-items: start; }
.queue-item.v2-avec-photo > * { grid-column: 2; }
.queue-item.v2-avec-photo > .v2-file-photo { grid-column: 1; grid-row: 1 / span 3; }
.v2-file-photo { width: 72px; height: 54px; border-radius: 9px; box-shadow: var(--v2-ombre-1); }
.v2-file-voiture { font-weight: 600; color: hsl(var(--accent-foreground)); }
.queue-item p { font-size: 13px; }

/* Atelier : photo vignette sur chaque travail */
.v2-job-id { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 14px; align-items: center; }
.gg-job > .v2-job-id { flex-direction: row; display: grid; }
.v2-job-id > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.v2-job-photo { width: 92px; height: 66px; border-radius: 10px; box-shadow: var(--v2-ombre-1); }

/* Gestion / État : tuiles avec filet menthe au survol */
.v2-tuile:hover, .v2-tuile:focus-visible { border-color: hsl(var(--menthe-fort) / .55); box-shadow: 0 0 0 3px hsl(var(--menthe) / .35), var(--v2-ombre-3); }
.v2-tuile-n { color: hsl(var(--accent-foreground)); background: hsl(var(--accent)); }
.v2-tuile-barre i { background: linear-gradient(90deg, hsl(var(--success)) 0 var(--ok), hsl(var(--warning)) var(--ok) calc(var(--ok) + var(--sim)), transparent calc(var(--ok) + var(--sim))); }

/* Toasts */
.toast { background: linear-gradient(105deg, hsl(var(--sport-marine-haut)), hsl(var(--sport-marine-bas))); }
.toast::before { background: hsl(var(--menthe)); box-shadow: 0 0 0 3px hsl(var(--menthe) / .3); }

/* Squelette */
#v2-squelette { background: hsl(var(--background)); }
.v2-sq-tete { height: 66px; background: linear-gradient(105deg, hsl(var(--sport-marine-haut)), hsl(var(--sport-marine-bas))); }

/* ---------- Connexion : photo floutée, carte en verre ---------- */
.v2-connexion-ecran { position: relative; min-height: 100vh; isolation: isolate; overflow: hidden; color: #fff; }
.v2-connexion-fond {
  position: absolute; inset: -40px; z-index: -1;
  background:
    linear-gradient(115deg, hsl(var(--sport-marine-haut) / .94), hsl(var(--sport-marine-bas) / .7) 50%, hsl(var(--sport-bandeau-haut) / .35)),
    url('/photos/mini/fond-connexion.jpg') center / cover no-repeat;
  filter: saturate(115%);
}
.v2-connexion-fond::after {
  content: ""; position: absolute; top: -20%; right: 12%; width: 30%; height: 160%; transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, hsl(var(--band-line) / .07), transparent);
}
.v2-connexion-grille { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, 440px); gap: 56px; align-items: center; max-width: 1180px; min-height: 100vh; margin: 0 auto; padding: 48px 32px; }
.v2-connexion-accroche h1 { font-size: 40px; line-height: 1.12; margin: 26px 0 14px; color: #fff; max-width: 560px; }
.v2-connexion-accroche p { font-size: 16px; line-height: 1.6; color: hsl(212 40% 86%); max-width: 520px; margin: 0 0 26px; }
.v2-marque-grande .v2-logo { width: 46px; height: 46px; }
.brand.v2-marque.v2-marque-grande .v2-marque-texte { font-size: 30px; }
.brand.v2-marque.v2-marque-grande .v2-marque-v2 { font-size: 14px; padding: 6px 10px 6px 9px; }
.v2-connexion-vignettes { display: flex; gap: 12px; }
.v2-connexion-photo { width: 150px; height: 104px; border-radius: 12px; box-shadow: 0 0 0 1px hsl(0 0% 100% / .18), 0 18px 40px -14px hsl(0 0% 0% / .6); }
.v2-connexion-photo:nth-child(2) { transform: translateY(14px); }
.v2-connexion-carte {
  border-radius: 20px; padding: 26px 26px 18px; color: var(--ink);
  background: hsl(0 0% 100% / .86);
  border: 1px solid hsl(0 0% 100% / .6);
  backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%);
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / .9), 0 30px 80px -20px hsl(216 70% 4% / .7);
}
.v2-connexion-tete { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 14px; }
.v2-connexion-tete h2 { font-size: 22px; font-weight: 800; }
.v2-connexion-carte .fw-label { display: block; font-size: 13px; font-weight: 700; margin: 12px 0 6px; color: hsl(218 30% 28%); }
.v2-connexion-carte .fw-command-input { width: 100%; box-sizing: border-box; font-size: 15px; padding: 12px 14px; border-radius: 10px; border: 1px solid hsl(var(--border)); background: #fff; }
.v2-connexion-carte .fw-command-input:focus-visible { border-color: hsl(var(--menthe-fort)); }
.v2-connexion-bouton { width: 100%; justify-content: center; margin: 18px 0 12px; padding: 13px; font-size: 15px; }
.v2-connexion-note { color: hsl(var(--muted-foreground)); font-size: 12.5px; line-height: 1.5; margin: 0; }
.v2-connexion-pied { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid hsl(var(--bord)); font-size: 12px; color: hsl(var(--menthe-fort)); font-weight: 600; }

/* ---------- Plancher de lisibilité : la maquette descendait à 9-10 px ---------- */
.fw-section-tabs strong { font-size: 14px; }
.fw-section-tabs span, .fw-kicker, .fw-axes span, .fw-view-heading > div > span, .fw-local-menu > button span { font-size: 12px; }
.fw-axes strong, .fw-kv strong, .fw-local-menu > button, .fw-table, .fw-attention { font-size: 13px; }
.fw-kv > span, .fw-table th, .fw-table td small, .fw-attention span:not(.fw-alert-dot), .fw-separator-title span, .fw-session, .fw-footer { font-size: 12px; }
.fw-info, .fw-focus p, .fw-photo-main p, .fw-reply small, .fw-editor-footer p, .fw-owner { font-size: 13px; }
.fw-id-right > span, .fw-thread-head > span:last-child, .fw-document-grid small, .fw-checkgrid small, .fw-track small, .fw-price-line span, .fw-economic span { font-size: 12px; }
.fw-shortcuts .btn, .fw-attention .btn, .fw-view-heading .btn, .fw-focus .btn, .fw-actions-row .btn, .fw-reply .btn, .fw-id-right .btn, .fw-table .btn, .fw-table .badge { font-size: 12.5px; }
.fw-compact .fw-section-tabs strong, .fw-compact .fw-local-menu > button, .fw-compact .fw-table th, .fw-compact .fw-table td, .fw-compact .fw-track strong { font-size: 12px; }
.fw-compact .fw-id-main p, .fw-compact .fw-focus p { font-size: 13px; }
.fw-compact .fw-id-right .btn, .fw-compact .fw-view-heading .btn, .fw-compact .fw-footer .btn, .fw-compact .fw-footer > span { font-size: 12px; }
@media (max-width: 600px) { .fw-section-tabs strong { font-size: 12px; } }

/* ---------- Écrans larges (2560) : on respire, rien ne flotte ---------- */
@media (min-width: 1900px) {
  .page { max-width: 2200px; padding: 28px 40px; }
  header.v2-entete { padding: 12px 40px; }
  header.v2-entete nav.v2-nav { grid-template-columns: repeat(6, minmax(0, 132px)); }
  header.v2-entete nav.v2-nav a { font-size: 15px; }
  .v2-search input { width: 320px; }
  .v2-carte-visuel .v2-carte-img { height: 168px; }
  .v2-galerie { width: 520px; }
  .v2-heros .fw-id-main h2 { font-size: 36px; }
  .v2-vitrine-rail { grid-auto-columns: minmax(240px, 1fr); }
  .v2-vitrine-photo { height: 170px; }
  .v2-task-photo { width: 128px; height: 90px; }
}

/* ---------- Tablette ---------- */
@media (max-width: 1100px) {
  header.v2-entete { padding: 10px 18px; gap: 14px; }
  header.v2-entete nav.v2-nav { grid-template-columns: repeat(6, minmax(0, 104px)); }
  header.v2-entete nav.v2-nav a { font-size: 13px; padding: 9px 4px; }
  .v2-galerie { width: 300px; }
  .v2-connexion-grille { grid-template-columns: 1fr; gap: 28px; max-width: 560px; }
}
@media (max-width: 800px) {
  .fw-identity.v2-heros { flex-wrap: wrap; }
  .v2-heros .v2-galerie { width: 100%; }
  .v2-heros .v2-id-vivant { width: 100%; }
}

/* ---------- Téléphone (375) ---------- */
@media (max-width: 600px) {
  header.v2-entete { padding: 10px 12px 12px; gap: 10px; }
  .brand.v2-marque .v2-marque-texte { font-size: 19px; }
  .v2-logo { width: 30px; height: 30px; }
  header.v2-entete nav.v2-nav { width: 100%; flex-basis: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  header.v2-entete nav.v2-nav a { font-size: 13px; padding: 9px 4px; }
  header.v2-entete .search.v2-search { flex-basis: 100%; margin-left: 0; }
  .v2-search input { width: 100%; }
  .v2-nav-indic { width: calc((100% - 8px) / 3); height: calc((100% - 8px) / 2); bottom: auto; transform: translate(calc(var(--i-col, 0) * 100%), calc(var(--i-ligne, 0) * 100%)); }
  .v2-bandeau-chiffres strong { font-size: 28px; }
  .v2-task { display: grid; grid-template-columns: 84px minmax(0, 1fr); align-items: start; }
  .v2-task > .badge, .v2-task > .btn { grid-column: 2; justify-self: start; margin-left: 0; }
  .v2-task-photo { width: 84px; height: 62px; }
  .v2-vitrine-rail { grid-auto-columns: 72%; padding: 12px; }
  .v2-carte-visuel .v2-carte-img { height: 160px; }
  .fw-identity.v2-heros { padding: 14px; gap: 14px; }
  .v2-heros .fw-id-main h2 { font-size: 24px; }
  .v2-galerie-miniatures { gap: 5px; }
  .v2-plein-ecran { padding: 64px 8px; }
  .v2-plein-ecran .v2-galerie-fleche { top: auto; bottom: 18px; margin-top: 0; }
  .v2-job-id { grid-template-columns: 76px minmax(0, 1fr); }
  .v2-job-photo { width: 76px; height: 56px; }
  .v2-connexion-grille { padding: 28px 16px; min-height: auto; }
  .v2-connexion-accroche h1 { font-size: 28px; margin-top: 18px; }
  .v2-connexion-accroche p { font-size: 15px; }
  .v2-connexion-vignettes { display: none; }
  .v2-connexion-carte { padding: 20px 16px 14px; }
  .panel-title .row .v2-mention-reelle { white-space: normal; }
  .panel-title { flex-wrap: wrap; gap: 8px; }
  .fw-full .fw-id-facts.v2-faits span:nth-child(n+3), .fw-compact .fw-id-facts.v2-faits span:nth-child(n+3) { display: inline-flex; }
  .fw-compact .v2-heros .v2-galerie { width: 100%; }
  .fw-compact .v2-heros .fw-id-main { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .brand.v2-marque .v2-marque-v2::after, .v2-galerie-image img, .v2-vitrine-carte, .v2-plein-ecran, .v2-plein-ecran figure { animation: none; }
  .v2-nav-indic, .v2-carte-img img, .v2-vitrine-carte, .v2-vitrine-photo img { transition: none; }
  .v2-carte-photo:hover .v2-carte-img img, .v2-vitrine-carte:hover .v2-vitrine-photo img, .v2-vitrine-carte:hover { transform: none; }
}
