/* Oratorio — onglet Chants (js/chants.js). Couleurs : uniquement les tokens de style.css. */
.chants .chant-body{padding-top:2px}
.chant-credit{font-family:var(--sc);font-weight:700;letter-spacing:.06em;font-size:14.5px;color:var(--gold);line-height:1.45}

/* Vignette YouTube cliquable (lien externe, pas d'iframe) */
.chant-video{position:relative;display:block;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line);background:var(--ground);color:var(--ink);text-decoration:none;aspect-ratio:16/9}
.chant-video img{display:block;width:100%;height:100%;object-fit:cover}
.chant-video.no-thumb img{display:none}
.chant-video-label{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:8px;background:var(--red);color:var(--red-ink);font-size:14.5px;padding:6px 12px 6px 10px;border-radius:999px;line-height:1.2}
.chant-video.no-thumb .chant-video-label{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);white-space:nowrap}
.chant-video .play{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}
.chant-video:hover .chant-video-label{filter:brightness(1.08)}
.chant-video:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.chant-h{font-family:var(--sc);font-weight:700;font-weight:400;letter-spacing:.12em;font-size:14px;color:var(--gold);margin:6px 0 0}

/* Pistes par voix */
.voix{display:flex;flex-direction:column;gap:8px}
.voix-row{display:grid;grid-template-columns:4.6em minmax(0,1fr);align-items:center;gap:10px}
.voix-row label{font-family:var(--sc);font-weight:700;letter-spacing:.06em;font-size:15px;color:var(--ink)}
.voix-row audio{width:100%;min-width:0;height:40px}

/* Paroles */
.paroles{display:flex;flex-direction:column;gap:12px;font-family:var(--display);font-size:18.5px;line-height:1.5}
.paroles p{margin:0}
.paroles .refrain{background:var(--soft);border-left:3px solid var(--red);padding:10px 14px;border-radius:var(--r-sm)}
.paroles .refrain b{font-family:var(--sc);font-weight:700;font-weight:400;letter-spacing:.08em;color:var(--red)}
.paroles .trad{display:block;margin-top:6px;font-family:var(--body);font-size:15.5px;color:var(--muted)}
.paroles ol.couplets{margin:0;padding-left:1.6em;display:flex;flex-direction:column;gap:14px}
.paroles ol.couplets li::marker{color:var(--red);font-variant-numeric:lining-nums}
.paroles.trad-bloc{font-family:var(--body);font-size:17px;line-height:1.6}

/* Feuille plein écran d'un chant */
html.chant-open{overflow:hidden}
.chant-sheet{position:fixed;inset:0;z-index:60;overflow-y:auto;background:var(--ground);-webkit-overflow-scrolling:touch}
.chant-sheet-bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;padding:10px clamp(16px,4vw,40px);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1.5px solid var(--line)}
.chant-sheet-close{appearance:none;border:0;background:none;font-family:var(--sc);font-weight:700;letter-spacing:.08em;font-size:16px;color:var(--red);cursor:pointer;padding:8px 4px}
.chant-sheet-body{max-width:860px;margin:0 auto;padding:clamp(18px,4vw,40px) clamp(16px,4vw,40px) 80px;display:flex;flex-direction:column;gap:14px}
.chant-sheet-body h2{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(30px,6vw,46px);line-height:1.05}
.chant-player{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000;border:1.5px solid var(--trait)}
.chant-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.chant-yt{margin:0;font-size:15px}
.chant-sheet .paroles{font-size:clamp(19px,2.6vw,23px);line-height:1.6}
.chant-sheet .couplets{padding-left:1.3em}
.chant-sheet .couplets li{margin-bottom:.9em}
