/* sélecteur et menu de langues */
.lang-select{max-width:320px}
.lang-menu{position:fixed;z-index:9500;min-width:190px;max-height:70vh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column}
.lang-menu button{display:block;width:100%;text-align:left;padding:10px 14px;border-radius:10px;font-size:.95rem;font-weight:500;color:var(--tx)}
.lang-menu button:hover,.lang-menu button:focus-visible{background:color-mix(in srgb,var(--acc) 12%,transparent)}
.lang-menu button[aria-checked="true"]{font-weight:700;color:var(--acc)}
html[dir="rtl"] .lang-menu button{text-align:right}

/* Parisian Agenda v2 : coque desktop. Accueil pleine largeur en deux colonnes ; Personnaliser et Hors ligne dans le menu latéral. */
.tabs-extra{display:none}
@media(min-width:1000px){
  /* accueil pleine largeur */
  main:has(.nfx-home){max-width:none;padding-left:clamp(28px,3.2vw,72px);padding-right:clamp(28px,3.2vw,72px)}
  .nfx-intro{max-width:none}
  .nfx-widgets{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}

  /* bandeaux Personnaliser / Hors ligne retirés de l'accueil: ils sont dans le menu */
  .nfx-home ~ .ofy-banner, .nfx-home .ofy-banner, main .ofy-ask, main .ofy-banner, .nfx-home .off-wrap{display:none}

  /* groupe « Mon voyage » du menu latéral */
  .tabs-extra{display:flex;flex-direction:column;gap:4px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line2)}
  .tabs-extra .tabs-more{margin:0 0 6px 14px;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3)}
  .tabs-extra button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 14px;border-radius:999px;color:var(--tx3);font-size:.95rem;font-weight:600;text-align:left;transition:color var(--dur-base),background var(--dur-base)}
  .tabs-extra button:hover{color:var(--tx);background:color-mix(in srgb,var(--acc) 10%,transparent)}
  .tabs-extra svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .tabs-extra small{margin-left:auto;font-size:.75rem;font-weight:700;color:var(--acc)}
}

/* accueil en deux colonnes: bandeau (1/3 de la hauteur d'écran) et rangées à gauche, widgets en colonne de droite */
@media(min-width:1200px){
  .nfx-stage{height:clamp(260px,34vh,400px)}
  .nfx-bbtitle{font-size:clamp(1.9rem,2.6vw,2.8rem)}
  .nfx-home{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,24vw,440px);column-gap:clamp(20px,2vw,36px);align-items:start}
  .nfx-home>*,.nfx-rest>*,.nfx-rows>*{grid-column:1;min-width:0}
  .nfx-rest,.nfx-rows{display:contents}
  .nfx-widgets{grid-column:2;grid-row:2 / span 60;position:sticky;top:calc(var(--safeT) + var(--topH) + 16px);align-self:start;
    grid-template-columns:1fr;margin:0;max-height:calc(100vh - var(--topH) - 36px);overflow-y:auto;scrollbar-width:thin;padding-right:2px}
  .nfx-w-quick{grid-column:auto}
  /* titre, accroche et recherche: en tête de la colonne de droite, comme un widget */
  .nfx-bb{grid-row:1}
  .nfx-intro{grid-column:2;grid-row:1;align-self:start;padding:0 0 18px;max-width:none}
  .nfx-intro h1{font-size:clamp(1.5rem,1.9vw,2.1rem)}
  .nfx-intro .lede{font-size:.95rem}
  .nfx-intro .search{max-width:none;margin:12px 0 0}
  /* widgets repliés: une seule colonne pleine largeur (sinon intro/recherche forcés en colonne 2 implicite et hero réduit) */
  html[data-widgets="off"] .nfx-intro{grid-column:1;grid-row:auto;padding:20px 2px 4px;max-width:720px}
  html[data-widgets="off"] .nfx-bb{grid-row:auto}
  html[data-widgets="off"] .nfx-intro h1{font-size:1.9rem}
  html[data-widgets="off"] .nfx-intro .lede{font-size:1rem}
  html[data-widgets="off"] .nfx-intro .search{max-width:640px}
}

/* pastilles de ligne: toutes parfaitement rondes (métro, RER, tram), libellés longs réduits pour tenir dans le cercle */
.tr-b,.tr-b.tr-k-r,.tr-b.tr-k-t,.pa-tr-chip,.hw-chip,.hw-chip.hw-ck-r,.hw-chip.hw-ck-t{border-radius:50%;padding:0;aspect-ratio:1/1;line-height:1;text-align:center}
.tr-b{width:24px;min-width:24px;height:24px}
.pa-tr-chip{width:34px;min-width:34px;height:34px}
.hw-chip{width:32px;min-width:32px;height:32px}
.tr-b[data-l="3"],.pa-tr-chip[data-l="3"],.hw-chip[data-l="3"]{font-size:10px;letter-spacing:-.04em}
.tr-b[data-l="4"],.pa-tr-chip[data-l="4"],.hw-chip[data-l="4"]{font-size:8.5px;letter-spacing:-.06em}
.tr-b[data-l="3"]{font-size:9px}
.tr-b[data-l="4"]{font-size:7.5px}
