/* Veillée — carrousels réutilisables : coverflow (Swiper) et dépliement de vignettes. Thème clair uniquement.
 * Les largeurs de l’effet « dépliement » se règlent par variables, section par section :
 *   --vc-w0 (carte centrale) … --vc-w4 (vignette la plus repliée), --vc-h (hauteur du rail).
 * Mouvement : 380 ms, courbe « ease », comme le coverflow Swiper des pages Musique et Journaux. */
/* Largeurs proportionnelles au carrousel : au centre d’une page à trois colonnes, plusieurs vignettes restent visibles
   de chaque côté de la carte active. */
.vc-unfold{--vc-w0:min(680px,58cqw);--vc-w1:clamp(64px,11cqw,172px);--vc-w2:clamp(44px,7cqw,116px);--vc-w3:clamp(30px,4.5cqw,82px);--vc-w4:clamp(22px,3cqw,58px);--vc-gap:8px;--vc-speed:380ms;
  container-type:inline-size;position:relative;height:var(--vc-h,480px);overflow:clip;outline:none;touch-action:pan-y;perspective:1400px}
/* overflow:clip et non hidden : un focus ou un clic sur une vignette coupée ne fait jamais défiler le carrousel. */
.vc-unfold:focus-visible{outline:3px solid var(--copper);outline-offset:-3px;border-radius:12px}
/* Un rail unique qui coulisse : la carte active est recentrée par une translation animée. */
.vc-rail{display:flex;align-items:stretch;gap:var(--vc-gap);height:100%;width:max-content;padding:8px 0;transition:transform var(--vc-speed) ease;will-change:transform}
.vc-panel{flex:0 0 auto;height:100%;min-width:0;overflow:hidden;border-radius:14px;position:relative;
  transition:width var(--vc-speed) ease,margin var(--vc-speed) ease,opacity var(--vc-speed) ease,transform var(--vc-speed) ease,filter var(--vc-speed) ease;
  transform-origin:center center;width:var(--vc-w4);opacity:.55}
.vc-panel>*{height:100%}
.vc-panel[data-vc-step="0"]{width:var(--vc-w0);opacity:1;transform:none;z-index:5}
.vc-panel[data-vc-step="1"]{width:var(--vc-w1);opacity:.96;z-index:4}
.vc-panel[data-vc-step="2"]{width:var(--vc-w2);opacity:.88;z-index:3}
.vc-panel[data-vc-step="3"]{width:var(--vc-w3);opacity:.74;z-index:2}
.vc-panel[data-vc-step="4"]{width:var(--vc-w4);opacity:.6;z-index:1}
/* Replié à zéro : sa largeur et l’écart qui le suit disparaissent, sans saut quand il se déplie. */
.vc-panel[data-vc-step="hidden"]{width:0;opacity:0;pointer-events:none;border-width:0;margin-inline-end:calc(var(--vc-gap) * -1)}
/* Le reste du coverflow : les vignettes repliées s’inclinent vers le centre et reculent légèrement. */
.vc-panel[data-vc-side=before]{transform:perspective(1400px) rotateY(26deg) scale(.94);filter:saturate(.9)}
.vc-panel[data-vc-side=after]{transform:perspective(1400px) rotateY(-26deg) scale(.94);filter:saturate(.9)}
.vc-panel[data-vc-step="1"][data-vc-side=before]{transform:perspective(1400px) rotateY(18deg) scale(.97);filter:none}
.vc-panel[data-vc-step="1"][data-vc-side=after]{transform:perspective(1400px) rotateY(-18deg) scale(.97);filter:none}
.vc-unfold.vc-dragging{cursor:grabbing}
.vc-unfold.vc-dragging .vc-rail,.vc-unfold.vc-instant .vc-rail,.vc-unfold.vc-instant .vc-panel{transition:none}
/* Sondes invisibles : largeurs cibles de chaque rang, lues pour centrer la carte active. */
.vc-probes{position:absolute;left:0;top:0;width:100%;height:0;overflow:hidden;visibility:hidden;pointer-events:none}
.vc-probe{display:block;height:0}
.vc-probe[data-vc-step="0"]{width:var(--vc-w0)}.vc-probe[data-vc-step="1"]{width:var(--vc-w1)}.vc-probe[data-vc-step="2"]{width:var(--vc-w2)}.vc-probe[data-vc-step="3"]{width:var(--vc-w3)}.vc-probe[data-vc-step="4"]{width:var(--vc-w4)}
.vc-cover{position:absolute;inset:0;width:100%;background:transparent;border:0;padding:0;cursor:pointer;border-radius:14px}
.vc-cover:focus-visible{outline:3px solid var(--copper);outline-offset:-4px}
.vc-panel[data-vc-step="0"] .vc-cover{display:none}
@media(prefers-reduced-motion:reduce){.vc-rail,.vc-panel{transition:none}}
@media(max-width:1000px){.vc-unfold{--vc-w0:min(640px,76cqw);--vc-w1:112px;--vc-w2:76px;--vc-w3:54px;--vc-w4:38px}}
@media(max-width:600px){.vc-unfold{--vc-w0:84cqw;--vc-w1:60px;--vc-w2:40px;--vc-w3:26px;--vc-w4:0px}}
