/* 3e pastille : nom du département montré par l'illustration */
.departements__titre .dep-nom { justify-self: start; margin-top: calc(-1 * var(--e-3) + 6px); font-size: clamp(1.6rem, calc(1rem + 1.9vw), 3rem); letter-spacing: -0.03em; line-height: 1; white-space: nowrap; }
.departements__titre .dep-nom .pastille { padding: 0.12em 0.42em 0.18em; background: var(--fond-inverse, #101211); color: var(--accent); }
.dep-nom__texte { display: inline-block; transition: opacity 260ms ease, transform 260ms ease; }
.dep-nom__texte.est-sortie { opacity: 0; transform: translateY(0.25em); }
@media (prefers-reduced-motion: reduce) { .dep-nom__texte { transition: none; } .dep-nom__texte.est-sortie { opacity: 1; transform: none; } }
/* Entreposage : boîte suspendue au pont roulant, bien visible (au-dessus du quai) */
.departements__plan .pont .caisse path { stroke: var(--texte); stroke-width: 1.4; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.departements__plan .pont .caisse .h { fill: color-mix(in srgb, var(--accent) 55%, #fff); }
.departements__plan .pont .cable { stroke-width: 2.2; }
/* Chauffeur/Livraison : le camion n'est plus « fantôme » (route visible à travers) aussi longtemps : entrée/sortie par fondu bref */
@keyframes dep-rouler { 0% { transform: translate(calc(var(--vx) * -1), calc(var(--vy) * -1)); opacity: 0; } 4%, 96% { opacity: 1; } 100% { transform: translate(var(--vx), var(--vy)); opacity: 0; } }

/* ---------- Audit 3D : un seul sens de lumière (haut le plus clair, face gauche moyenne, face droite la plus sombre) ---------- */
.departements__plan .iso.cabine .g, .departements__plan .iso.mur .g { fill: color-mix(in srgb, var(--texte) 7%, var(--surface)); }
.departements__plan .iso.scanneur-barre .g { fill: color-mix(in srgb, var(--texte) 10%, var(--surface)); }
.departements__plan .iso.poutre .g { fill: color-mix(in srgb, var(--accent) 84%, var(--texte)); }
.departements__plan .iso.vitre-cabine .g { fill: color-mix(in srgb, var(--accent-2) 72%, var(--surface)); }
.departements__plan .iso.objet-sombre .g, .departements__plan .iso.patte .g, .departements__plan .iso.pied-ecran .g { fill: color-mix(in srgb, var(--accent-2) 82%, var(--surface)); }
.departements__plan .iso.objet-sombre .h { fill: color-mix(in srgb, var(--accent-2) 70%, var(--surface)); }
/* Texte de la station, sous la pastille du nom (change avec l'illustration) */
.departements__titre .dep-texte { margin: 0; max-width: 40ch; font-size: var(--t-s); line-height: 1.45; color: var(--texte); background: color-mix(in srgb, var(--fond) 88%, transparent); padding: 6px 10px; border-radius: 10px; transition: opacity 260ms ease, transform 260ms ease; }
.departements__titre .dep-texte.est-sortie { opacity: 0; transform: translateY(0.3em); }
.no-mouvement .departements__titre .dep-texte, html:not(.js) .departements__titre .dep-texte { display: none; }
@media (max-width: 759px) { .departements__titre .dep-texte { max-width: calc(100vw - 2 * var(--gouttiere)); font-size: 0.9rem; } }
@media (prefers-reduced-motion: reduce) { .departements__titre .dep-texte { transition: none; } }
.departements .portique-pied .ombre-sol, .portique-pied .ombre-sol { fill: color-mix(in srgb, var(--texte) 22%, transparent); stroke: none; }
