/* Refonte « Les touches » — lot 3 : série, saison, épisode, casting, personne. */

/* ---------- liens de navigation interne : bleu, soulignés au survol ---------- */
.t-sur,.t-ariane a,.t-cast-equipe a{color:var(--lien);font-weight:800;text-decoration:none;text-underline-offset:3px}
.t-sur:hover,.t-ariane a:hover,.t-cast-equipe a:hover{text-decoration:underline}

/* ---------- page série : bloc saisons / épisodes ---------- */
.t-serie-bloc{margin:30px 0 0}

/* ---------- page saison ---------- */
.t-saison-tete{display:flex;flex-direction:column;gap:10px;margin:0 0 22px}
.t-sur{font-size:.95rem;align-self:flex-start;min-height:44px;display:inline-flex;align-items:center}
.t-saison-tete h1,.t-ep-h1{font:900 clamp(1.8rem,6vw,2.6rem) var(--f-texte);letter-spacing:-.04em;line-height:.98;margin:0;text-wrap:balance}

/* ---------- liste d'épisodes : une touche par épisode ---------- */
.t-eps{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.t-ep{display:flex;align-items:center;gap:12px;padding:10px 14px 13px 10px;min-height:58px;color:var(--encre);text-decoration:none}
.t-ep-n{flex:0 0 auto;min-width:38px;height:38px;border-radius:10px;background:var(--creux);display:grid;place-items:center;
  font:400 .9rem var(--f-pixel)}
.t-ep-t{flex:1;min-width:0;font:800 1rem/1.2 var(--f-texte);letter-spacing:-.01em;overflow-wrap:anywhere}
.t-ep-d{display:flex;align-items:center;gap:8px;flex:0 0 auto}

/* ---------- page épisode ---------- */
.t-ariane{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;font:500 .95rem var(--f-texte);color:var(--encre-2);margin:-6px 0 6px}
.t-ariane a{min-height:44px;display:inline-flex;align-items:center}
.t-ep-h1:focus{outline:none}
.t-ep-h1:focus-visible{outline:3px solid var(--lien);outline-offset:4px;border-radius:6px}
.t-ep-tete{display:flex;flex-direction:column;gap:10px;margin:0 0 18px}
.t-ep-img{display:block;width:100%;max-width:720px;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-touche);
  background:var(--creux);margin:0 0 20px;box-shadow:0 5px 0 var(--touche-bord),0 7px 0 var(--touche-ombre)}
.t-ep-actions{margin-top:16px}
.t-ep-nav{display:flex;justify-content:space-between;gap:12px;max-width:720px;margin:22px 0 0}
.t-ep-nav .t-btn svg{width:18px;height:18px}
.t-ep-nav .t-btn>span{display:flex;flex-direction:column;line-height:1.1}
.t-ep-nav .t-btn small{font:400 .75rem var(--f-mono);color:var(--encre-2);margin-top:2px}
.t-ep-nav .t-btn:last-child>span{align-items:flex-end}

/* ---------- saisons : touches horizontales ---------- */
.t-saisons-l{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-width:720px}
.t-saison-l{display:flex;align-items:center;gap:14px;padding:8px 14px 11px 8px;color:var(--encre);text-decoration:none}
.t-saison-vig{flex:0 0 auto;width:48px;aspect-ratio:2/3;border-radius:8px;overflow:hidden;background:var(--creux)}
.t-saison-vig img{width:100%;height:100%;object-fit:cover;display:block}
.t-saison-c{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.t-saison-n{display:flex;align-items:center;gap:8px;font:800 1.05rem var(--f-texte);letter-spacing:-.01em}
.t-saison-p{display:flex;align-items:center;gap:10px}
.t-saison-barre{flex:1;max-width:220px;height:6px;border-radius:3px;background:var(--creux);overflow:hidden}
.t-saison-barre i{display:block;height:100%;background:var(--bleu-fond)}

/* ---------- casting : portraits en touches ---------- */
.t-cast{margin:30px 0 0}
.t-cast-equipe{font:500 1rem/1.5 var(--f-texte);color:var(--encre-2);margin:-4px 0 14px}
.t-cast .t-rail{grid-auto-columns:clamp(116px,32vw,140px)}
.t-cast-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:14px}
.t-pers{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:12px 8px 14px;color:var(--encre);text-decoration:none}
/* Acteur sans fiche : carte à plat, sans relief de touche (rien à toucher). */
.t-pers--fixe{background:var(--creux);border-radius:var(--r-touche)}
.t-pers-photo,.t-pers-grande{display:block;border-radius:50%;object-fit:cover;background:var(--creux)}
.t-pers-photo{width:76px;height:76px;margin:0 0 6px}
.t-pers-init{display:grid;place-items:center;font:400 1.1rem var(--f-pixel);color:var(--encre)}
.t-pers-nom{font:800 .92rem/1.15 var(--f-texte);letter-spacing:-.01em;overflow-wrap:anywhere}
.t-pers-role{font:400 .76rem/1.3 var(--f-mono);color:var(--encre-2);overflow-wrap:anywhere}
.t-cast .t-btn{margin-top:14px}

/* ---------- page personne ---------- */
.t-pers-tete{display:flex;align-items:center;gap:18px;margin:0 0 18px}
.t-pers-grande{flex:0 0 auto;width:112px;height:112px;box-shadow:0 0 0 4px var(--touche),0 6px 0 var(--touche-bord)}
.t-pers-grande.t-pers-init{font-size:1.7rem}
.t-pers-tete h1{font:900 clamp(1.8rem,6vw,2.6rem) var(--f-texte);letter-spacing:-.04em;line-height:.98;margin:0 0 8px;text-wrap:balance}
.t-pers-metier{font:400 .8rem var(--f-pixel);margin:0 0 6px}
.t-pers-vie{font:400 .85rem var(--f-mono);color:var(--encre-2);margin:0}
.t-bio{margin:0 0 26px;max-width:66ch}
.t-bio-langue{font:400 .8rem var(--f-mono);color:var(--encre-2);margin:0 0 6px}
.t-bio-txt{font:500 1rem/1.6 var(--f-texte);margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.t-bio.ouverte .t-bio-txt{display:block}
.t-bio .t-btn{margin-top:12px}
.t-carte-role{font:400 .76rem/1.3 var(--f-mono);color:var(--encre-2);margin:0 2px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.t-voir-tout{margin:16px 0 0}
@media (min-width:760px){.t-pers-grande{width:150px;height:150px}}
