/* ==========================================================================
   theme.css — Harmonisation des pages éditoriales (08/10/2026)
   --------------------------------------------------------------------------
   Les pages guide (accueil, vélo, voiture, gares, aéroport, mentions) chargent
   encore l'ancien thème (style_new.css : Quicksand, titres violets, liens
   vert anis, H1 en encart vert absolu, texte justifié). Cette feuille, chargée
   EN DERNIER et limitée à body.mmob-legacy (posé par layout.php quand
   style_new.css est demandé), les aligne sur le design system mmob.css :
   encre pour les titres, bleu de marque pour les repères, lecture confortable.
   Les couleurs de lignes TaM ne sont jamais modifiées.
   ========================================================================== */

body.mmob-legacy { background: var(--mmob-surface-2); }
body.mmob-legacy main.mmob-scope,
body.mmob-legacy main.mmob-scope p,
body.mmob-legacy main.mmob-scope li { font-family: var(--mmob-font); color: var(--mmob-ink-soft); }
body.mmob-legacy main.mmob-scope p,
body.mmob-legacy main.mmob-scope li { font-size: 1.02rem; line-height: 1.7; }
body.mmob-legacy main.mmob-scope strong { color: var(--mmob-ink); }
body.mmob-legacy main.mmob-scope [style*="justify"] { text-align: left !important; }

/* --- Bandeau photo : image en fond, voile sombre, titre en bas à gauche --- */
body.mmob-legacy .breadcrumb-area { min-height: 0; padding: 0; }
body.mmob-legacy .breadcrumb-area > .container {
  position: relative; max-width: 1140px; height: 340px !important; margin-top: 24px !important;
  border-radius: var(--mmob-radius-lg); overflow: hidden;
  background-size: cover !important; background-position: center !important;
  box-shadow: var(--mmob-shadow);
  display: flex; align-items: flex-end;
}
body.mmob-legacy .breadcrumb-area > .container::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,30,50,0) 25%, rgba(10,30,50,.78) 100%);
}
body.mmob-legacy .breadcrumb-area > .container > .row { position: relative; width: 100%; margin: 0; }
body.mmob-legacy .breadcrumb-wrap.text-left { text-align: left !important; }
body.mmob-legacy .breadcrumb-title { padding: 0 30px 30px; border-radius: 0; }
body.mmob-legacy .breadcrumb-title h1 {
  position: static !important; transform: none !important; width: auto !important;
  margin: 0 0 8px !important; padding: 0 !important; background: none !important;
  font-family: var(--mmob-font) !important; font-size: clamp(1.7rem, 3.6vw, 2.6rem) !important;
  font-weight: 800 !important; letter-spacing: -.02em; line-height: 1.1; color: #fff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.35);
}
body.mmob-legacy .breadcrumb-title p,
body.mmob-legacy .breadcrumb-title nav { color: rgba(255,255,255,.92) !important; margin: 0; font-size: 1rem; max-width: 640px; }
body.mmob-legacy .breadcrumb-title nav a { color: #fff !important; text-decoration: none; }

/* --- Zone de contenu : colonne de lecture --- */
body.mmob-legacy .about-area5.pt-120 { padding-top: 36px; padding-bottom: 48px; }
body.mmob-legacy .about-area5 > .container {
  max-width: 1140px; background: var(--mmob-surface); border: 1px solid var(--mmob-line);
  border-radius: var(--mmob-radius-lg); padding: 36px 44px 28px !important; box-shadow: var(--mmob-shadow-sm);
}

/* --- Titres : encre, filet de marque --- */
body.mmob-legacy main.mmob-scope h2,
body.mmob-legacy main.mmob-scope h3,
body.mmob-legacy main.mmob-scope h4 { font-family: var(--mmob-font); color: var(--mmob-ink); letter-spacing: -.01em; }
body.mmob-legacy .about-area5 h2 {
  font-size: 1.55rem !important; font-weight: 800; margin: 40px 0 14px !important;
  padding-left: 14px; border-left: 4px solid var(--mmob-primary);
}
body.mmob-legacy .about-area5 h2:first-child { margin-top: 0 !important; }
body.mmob-legacy .about-area5 h3 { font-size: 1.2rem; font-weight: 700; margin: 28px 0 10px; }

/* --- Liens : bleu de marque --- */
body.mmob-legacy .about-area5 a:not(.mmob-btn):not(.mmob-line):not(.hm-tile) {
  color: var(--mmob-primary-600); text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: 3px; font-weight: 600;
}
body.mmob-legacy .about-area5 a:not(.mmob-btn):not(.mmob-line):not(.hm-tile):hover { color: var(--mmob-primary-700); }

/* --- Listes à puces --- */
body.mmob-legacy .list-style-one li { padding-left: 24px; margin-bottom: 8px; }
body.mmob-legacy .list-style-one li::before {
  content: ""; top: .72em; width: 8px; height: 8px; border-radius: 50%;
  background: var(--mmob-primary); font-family: inherit;
}

/* --- Illustrations : plus discrètes --- */
body.mmob-legacy .about-area5 img.image { max-width: 240px; width: 100%; height: auto; display: block; margin: 0 auto; }

/* --- Espaces publicitaires vides : moins de blanc --- */
body.mmob-legacy .mmob-ad:empty { min-height: 0; }

@media (max-width: 767px) {
  body.mmob-legacy .breadcrumb-area > .container { height: 230px !important; margin-top: 12px !important; border-radius: 0; }
  body.mmob-legacy .breadcrumb-title { padding: 0 18px 20px; }
  body.mmob-legacy .about-area5.pt-120 { padding-top: 16px; }
  body.mmob-legacy .about-area5 > .container { padding: 22px 18px 16px !important; border-radius: 0; border-inline: 0; }
  body.mmob-legacy .about-area5 img.image { max-width: 170px; margin-bottom: 8px; }
}

/* ==========================================================================
   Accueil : accès rapides + lignes de tram
   ========================================================================== */
.hm-quick { margin: 30px 0 8px; }
.hm-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.hm-tiles li { margin: 0 !important; padding: 0 !important; }
.hm-tiles li::before { display: none; }
a.hm-tile {
  display: flex; align-items: center; gap: 12px; height: 100%; padding: 14px 16px;
  border-radius: var(--mmob-radius); background: var(--mmob-surface-2); border: 1px solid var(--mmob-line);
  color: var(--mmob-ink); text-decoration: none; transition: border-color var(--mmob-ease), transform var(--mmob-ease), box-shadow var(--mmob-ease);
}
a.hm-tile:hover { border-color: var(--mmob-primary); transform: translateY(-2px); box-shadow: var(--mmob-shadow); color: var(--mmob-ink); text-decoration: none; }
.hm-tile i { flex: 0 0 40px; height: 40px; border-radius: 12px; display: grid; place-items: center;
  background: var(--mmob-primary-050); color: var(--mmob-primary-600); font-size: 1.05rem; }
.hm-tile b { display: block; font-size: .98rem; color: var(--mmob-ink); }
.hm-tile small { display: block; font-size: .8rem; color: var(--mmob-muted); line-height: 1.3; }
.hm-trams { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 18px 0 0; padding: 14px 16px;
  border-radius: var(--mmob-radius); background: var(--mmob-primary-050); }
.hm-trams > span { font-weight: 700; color: var(--mmob-ink); margin-right: 4px; }
.hm-trams a.hm-tram { display: inline-flex; align-items: center; gap: 8px; text-decoration: none !important; color: var(--mmob-ink) !important; font-weight: 500 !important; font-size: .9rem; }
.hm-trams a.hm-tram:hover em { text-decoration: underline; }
.hm-trams em { font-style: normal; }
.hm-free { display: flex; gap: 14px; align-items: center; margin: 22px 0 0; padding: 16px 18px; border-radius: var(--mmob-radius);
  background: var(--mmob-green-050); border: 1px solid #cfe8bb; }
.hm-free i { color: var(--mmob-success); font-size: 1.4rem; }
body.mmob-legacy .hm-free p { margin: 0; }
@media (max-width: 991px) { .hm-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .hm-trams em { display: none; } }
@media (max-width: 575px) {
  a.hm-tile { flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px; }
  .hm-tile i { flex-basis: auto; width: 36px; height: 36px; }
  .hm-tile b { font-size: .95rem; }
}
