/* « Écouter » (2026-10-31) : les lecteurs d'écoute des artistes en carrousel de façades (partials/artist_players, ecouter.js).
   Une façade visible à la fois sur téléphone, deux sur écran moyen, trois sur grand écran ; défilement au doigt (scroll-snap),
   aux flèches et au clavier. Jetons seulement. */
.splayers__sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.splayers__head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.splayers__nav { display: flex; gap: var(--space-2); }
.splayers__nav[hidden] { display: none; }
.splayers__arrow {
    width: 40px; height: 40px; border-radius: var(--radius-pill); border: 1px solid var(--color-border-strong);
    background: var(--color-surface); color: var(--color-ink); font-size: 1.4rem; line-height: 1; cursor: pointer;
}
.splayers__arrow:hover:not(:disabled) { border-color: var(--color-accent); color: var(--color-accent-text); }
.splayers__arrow:disabled { opacity: 0.35; cursor: default; }
.splayers__track {
    list-style: none; margin: var(--space-3) 0 0; padding: 0 0 var(--space-2);
    display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: var(--space-3);
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain;
    scrollbar-width: thin;
}
.splayers__track:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
@media (min-width: 700px) { .splayers__track { grid-auto-columns: calc((100% - var(--space-3)) / 2); } }
@media (min-width: 1100px) { .splayers__track { grid-auto-columns: calc((100% - 2 * var(--space-3)) / 3); } }
@media (prefers-reduced-motion: reduce) { .splayers__track { scroll-behavior: auto; } }
/* Un seul lecteur (la plupart des événements) : toute la largeur du bloc, 560 px au plus ; deux : moitié chacun (2026-11-04). */
.splayers__track:has(> .splayer:only-child) { grid-auto-columns: min(100%, 560px); }
@media (min-width: 700px) { .splayers__track:has(> .splayer:nth-child(2):last-child) { grid-auto-columns: calc((100% - var(--space-3)) / 2); } }
.splayer {
    scroll-snap-align: start; display: flex; flex-direction: column; gap: var(--space-2); min-width: 0;
    padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface);
}
.splayer__facade { display: flex; flex-direction: column; gap: var(--space-2); }
.splayer__facade[hidden] { display: none; }
.splayer__play {
    display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: var(--space-3); row-gap: 2px; width: 100%;
    min-height: 72px; padding: var(--space-3); text-align: left; font: inherit; cursor: pointer;
    border: 1px solid var(--color-border-strong); border-radius: var(--radius-md); background: var(--color-surface-2); color: var(--color-ink);
}
a.splayer__play { text-decoration: none; }
.splayer__play:hover, .splayer__play:focus-visible { border-color: var(--color-accent); }
.splayer__play:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.splayer__logo { width: 40px; height: 40px; grid-row: span 2; fill: currentColor; color: var(--color-accent); }
.splayer__text { font-weight: 600; }
.splayer__label { grid-column: 2; color: var(--color-text-2); }
.splayer__note { margin: 0; }
.splayer__frame iframe { display: block; width: 100%; border: 0; border-radius: var(--radius-sm); }
.splayer__frame--video iframe { aspect-ratio: 16 / 9; height: auto; }
.splayer__foot { margin: auto 0 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); }
.splayer__close { font: inherit; background: none; border: 0; padding: 0; color: var(--color-accent-text); text-decoration: underline; cursor: pointer; }
.splayer__close[hidden] { display: none; }
/* YouTube (2026-11-04) : la vignette de la vidéo en façade, 16:9, toute l'image cliquable, le bouton lecture orange dans le coin
   (comme sur rrasmq.physalis.ovh). Le clic la remplace par le lecteur, en lecture automatique. */
.splayer__play--thumb { --play-bg: #c7721c; --play-fg: #fff; --play-shadow: rgba(0, 0, 0, 0.35); display: flex; flex-direction: column; align-items: stretch; gap: var(--space-2); padding: 0; min-height: 0; border: 0; background: none; }
.splayer__thumb { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-sm); background: var(--color-surface-2); }
.splayer__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.splayer__go {
    position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; margin: -24px 0 0 -34px; border-radius: 12px;
    background: var(--play-bg); box-shadow: 0 2px 10px var(--play-shadow); transition: transform 0.15s ease;
}
.splayer__go::after {
    content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-40%, -50%);
    border-style: solid; border-width: 11px 0 11px 18px; border-color: transparent transparent transparent var(--play-fg);
}
.splayer__play--thumb:hover .splayer__go, .splayer__play--thumb:focus-visible .splayer__go { transform: scale(1.1); }
.splayer__play--thumb .splayer__text { padding: 0 2px; }
@media (prefers-reduced-motion: reduce) { .splayer__go { transition: none; } }
