/* Safeness Transport — compléments pour les pages de transferts.
   S'ajoute à /css/pages.css (mêmes variables, même charte). Aucune ressource tierce. */

.enveloppe--large { max-width: 60rem; }

/* Fil d'Ariane */
.fil { font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--texte-faible); margin: 0 0 1.75rem; }
.fil a { color: var(--texte-faible); border-bottom: 0; }
.fil a:hover, .fil a:focus-visible { color: var(--or); }

/* Photo d'en-tête et photos de contenu */
.photo-tete, .photo { margin: 0 0 2.5rem; border: 1px solid var(--filet); border-radius: 6px; overflow: hidden; background: var(--fond-carte); }
.photo-tete img, .photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.photo { margin: 2rem 0; }

/* Pastille prix sous le titre */
.prix-tete { display: inline-block; margin: 0 0 2rem; padding: 0.55rem 1.2rem; border: 1px solid rgba(251, 188, 5, 0.45); border-radius: 999px; color: var(--or); font-size: 0.8125rem; letter-spacing: 0.04em; }

/* Sections */
.bloc { margin: 0; }
.bloc > h2 { margin-top: 3.25rem; }
.bloc .surtitre { margin: 3.25rem 0 0.5rem; color: var(--or); }
.bloc .surtitre + h2 { margin-top: 0; }
.bloc .intro { font-size: 1.0625rem; color: rgba(255, 255, 255, 0.78); }

/* Chiffres clés */
.chiffres { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); margin: 0 0 2.5rem; }
.chiffre { padding: 1.4rem; border: 1px solid var(--filet); border-radius: 6px; background: var(--fond-carte); }
.chiffre__valeur { display: block; font-size: 1.75rem; font-weight: 300; color: var(--texte-fort); letter-spacing: -0.02em; line-height: 1.1; margin-bottom: 0.4rem; }
.chiffre__label { font-size: 0.625rem; text-transform: uppercase; letter-spacing: 3px; color: var(--texte-faible); }

/* Cartes */
.grille .carte { margin: 0; }
.carte h3 { margin-top: 0; }

/* Listes */
.liste-etapes { list-style: none; counter-reset: etape; padding-left: 0; }
.liste-etapes li { counter-increment: etape; position: relative; padding-left: 2.75rem; margin-bottom: 1rem; }
.liste-etapes li::before { content: counter(etape, decimal-leading-zero); position: absolute; left: 0; top: 0.1rem; width: 2rem; height: 2rem; border: 1px solid var(--filet-fort); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.6875rem; color: var(--or); }

/* Encadré */
.encadre { margin: 2rem 0; padding: 1rem 1.25rem; border: 1px solid rgba(251, 188, 5, 0.3); border-left: 3px solid var(--or); border-radius: 4px; background: rgba(251, 188, 5, 0.06); font-size: 0.9375rem; color: rgba(255, 255, 255, 0.78); }
.encadre p:last-child { margin-bottom: 0; }

/* Texte + photo */
.duo { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; align-items: start; margin: 1.5rem 0; }
.duo .photo { margin: 0; }
.duo .photo img { aspect-ratio: 4 / 3; }

/* Questions fréquentes (même rendu que la page CDG, repliables) */
.faq { margin: 0; }
.faq details { padding: 1rem 0; border-bottom: 1px solid var(--filet); }
.faq details:last-child { border-bottom: 0; padding-bottom: 0; }
.faq summary { cursor: pointer; list-style: none; position: relative; padding-right: 2rem; font-weight: 600; color: var(--texte-fort); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; right: 0.25rem; top: -0.1rem; font-size: 1.35rem; font-weight: 300; color: var(--or); transition: transform 0.2s ease; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 0.75rem 0 0; color: rgba(255, 255, 255, 0.72); }

/* Flotte */
.flotte .carte .surtitre { margin: 0 0 0.5rem; color: var(--or); }
.flotte .carte h3 { margin: 0 0 0.5rem; }
.flotte .carte p { margin: 0; font-size: 0.875rem; color: var(--texte-faible); }

/* Appel à l'action */
.cta { margin: 3.5rem 0 0; padding: 2.25rem; border: 1px solid var(--filet); border-radius: 8px; background: var(--fond-carte); }
.cta h2 { margin-top: 0; margin-bottom: 0.75rem; }
.cta .surtitre { color: var(--texte-faible); }

/* Autres trajets dans le pied de page */
.pied__trajets { margin: 0 0 1.75rem; padding: 0 0 1.75rem; border-bottom: 1px solid var(--filet); }
.pied__trajets .surtitre { margin-bottom: 0.75rem; }

@media (max-width: 40rem) {
  .duo { grid-template-columns: 1fr; }
  .cta { padding: 1.5rem; }
}

/* Navigation : retour accueil + réserver (haut et bas de page) */
.entete__actions { display: flex; align-items: center; gap: 1.25rem; }
.pastille--petite { padding: 0.55rem 1.2rem; font-size: 0.75rem; }
.retour { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; margin: 3rem 0 0; padding-top: 2.5rem; border-top: 1px solid var(--filet); }
@media (max-width: 40rem) { .entete__actions { gap: 0.75rem; } .entete__lien { font-size: 0.6875rem; letter-spacing: 0.12em; } }
