/* Défilé podium — composant réutilisable (assets/js/parade.js) */
.parade{position:relative;--sh:460px;--sw:1200px;--nav:78px;background:
  radial-gradient(900px 520px at 50% 28%,rgba(122,44,255,.22),transparent 70%),
  radial-gradient(700px 360px at 50% 100%,rgba(255,46,154,.16),transparent 70%)}
.parade__sticky{display:flex;flex-direction:column}
.parade__head{width:min(1200px,92vw);margin-inline:auto;padding:clamp(40px,7vw,90px) 0 10px}
.parade__head .eyebrow{margin-bottom:10px}
.parade__head h2,.parade__head h3{font-family:var(--serif);font-weight:700;line-height:1.05;max-width:22ch;font-size:clamp(1.9rem,4.6vw,3.4rem)}
.parade__head h2 em,.parade__head h3 em{color:var(--rose);font-style:italic;font-weight:500}
.parade__head p.pn{color:#ddd0e8;max-width:58ch;margin-top:12px;font-size:1rem}
.parade__head small.tm{display:block;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--or);font-weight:700;margin-bottom:8px}
.parade__head small.tm i{font-style:normal;color:var(--rose);margin-right:10px;font-family:var(--serif);font-size:1.2em;letter-spacing:.05em}

/* Sans JS : rangée horizontale native */
.parade__stage{position:relative}
.parade:not(.is-on) .parade__stage{overflow-x:auto;scroll-snap-type:x proximity;padding:20px 0 34px}
.parade:not(.is-on) .parade__track{display:flex;gap:18px;padding:0 4vw;list-style:none;width:max-content}
.parade:not(.is-on) .parade__track+.parade__track{margin-top:18px}
.parade:not(.is-on) .pcard{scroll-snap-align:center;height:min(58svh,420px)}
.parade:not(.is-on) .parade__floor,.parade:not(.is-on) .parade__foot{display:none}

/* Mode épinglé (classe posée par le JS) */
.parade.is-on .parade__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;padding-top:var(--nav)}
.parade.is-on .parade__head{padding-top:clamp(8px,2vw,22px);flex:none}
.parade.is-on .parade__stage{flex:1;min-height:0;perspective:1300px;perspective-origin:50% 40%;overflow:clip}
.parade.is-on .parade__track{position:absolute;left:0;top:0;bottom:0;display:flex;align-items:flex-end;gap:clamp(18px,3.2vw,46px);width:max-content;
  padding:0 0 clamp(54px,11vh,96px);list-style:none}
.parade.is-on[data-rows="2"] .parade__track{top:2%;height:48%;bottom:auto;padding-bottom:0;align-items:center}
.parade.is-on[data-rows="2"] .parade__track+.parade__track{top:50%;height:48%}
.parade.is-on[data-dir="up"] .parade__track{left:0;right:0;top:0;bottom:auto;width:auto;flex-direction:column;align-items:center;gap:clamp(18px,4vh,40px);padding:0}
.parade__track{margin:0}

.pcard{position:relative;flex:none;list-style:none;--k:1;--base:.64;
  height:calc(var(--sh) * var(--base) * var(--k));aspect-ratio:var(--ar,.8);transform-origin:50% 100%;--f:0}
.parade[data-rows="2"] .pcard{--base:.4;transform-origin:50% 50%}
.parade[data-dir="up"] .pcard{height:auto;width:calc(var(--sw) * .3 * var(--k));max-width:78vw;transform-origin:50% 50%}
.pcard:nth-child(6n+1){--k:1}.pcard:nth-child(6n+2){--k:.82}.pcard:nth-child(6n+3){--k:.94}
.pcard:nth-child(6n+4){--k:.74}.pcard:nth-child(6n+5){--k:.9}.pcard:nth-child(6n){--k:.8}
.pcard__in{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border-radius:14px;overflow:hidden;background:var(--nuit2);
  border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 40px -14px rgba(0,0,0,.8),0 0 calc(var(--f) * 46px) rgba(255,46,154,calc(var(--f) * .55));
  -webkit-box-reflect:below 5px linear-gradient(to bottom,transparent 62%,rgba(255,255,255,.2));cursor:default}
button.pcard__in{cursor:zoom-in;color:inherit;font:inherit;text-align:left}
.pcard__in img{display:block;width:100%;height:100%;object-fit:cover}
.pcard__in::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(7,4,12,.78),transparent 38%),rgba(7,4,12,calc(.5 - var(--f) * .5))}
.pcard__cap{position:absolute;left:12px;right:12px;bottom:10px;z-index:2;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#fff;
  opacity:calc(.25 + var(--f) * .75);text-shadow:0 1px 8px rgba(0,0,0,.8);pointer-events:none}
.pcard__cap b{color:var(--or);margin-right:8px;font-family:var(--serif);font-size:1.15em;letter-spacing:.04em}
/* tache de lumière au sol sous la carte */
.pcard::after{content:"";position:absolute;left:-12%;right:-12%;bottom:-18px;height:30px;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,60,170,.8),transparent);opacity:calc(var(--f) * .85);filter:blur(7px);z-index:-1}

/* podium : sol lumineux rose + trait de lumière */
.parade__floor{position:absolute;left:-5%;right:-5%;bottom:0;height:clamp(54px,11vh,96px);pointer-events:none;z-index:0;
  background:linear-gradient(to bottom,rgba(255,46,154,.34),rgba(122,44,255,.08) 55%,transparent),
  repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 90px)}
.parade__floor::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--or) 20%,var(--magenta) 50%,var(--or) 80%,transparent);
  box-shadow:0 0 22px 3px rgba(255,46,154,.65)}
.parade[data-rows="2"] .parade__floor,.parade[data-dir="up"] .parade__floor{display:none}
.parade[data-dir="up"] .pcard__in{-webkit-box-reflect:none}
.parade[data-dir="up"] .parade__stage::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;
  background:radial-gradient(60% 50% at 50% 50%,rgba(255,46,154,.16),transparent)}

.parade__foot{flex:none;width:min(1200px,92vw);margin:0 auto;display:flex;align-items:center;gap:18px;padding:10px 0 84px}
.parade__count{font-family:var(--serif);font-size:1rem;letter-spacing:.14em;color:var(--or);min-width:5.4em;font-variant-numeric:tabular-nums}
.parade__bar{position:relative;flex:1;height:2px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden}
.parade__bar i{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--magenta),var(--or))}
.parade__hint{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.parade.is-live .pcard{will-change:transform}
.parade.is-live .parade__track{will-change:transform}

@media(max-width:700px){
  .parade{--nav:64px}
  .pcard{--base:.6}
  .pcard__in{border-radius:10px;-webkit-box-reflect:none}
  .parade[data-rows="2"] .pcard{--base:.4}
  .parade__head{padding-bottom:0}
  .parade__head p.pn{font-size:.92rem;margin-top:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .parade[data-dir="up"] .pcard{width:calc(var(--sw) * .56 * var(--k))}
  .pcard__cap{font-size:.6rem;left:9px;bottom:8px}
  .parade__hint{display:none}
}
@media(prefers-reduced-motion:reduce){.pcard__in{box-shadow:0 18px 40px -14px rgba(0,0,0,.8)}}

/* liens vers les pages d'édition */
.edlink{display:inline-block;margin-top:8px;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:var(--rose);border-bottom:1px solid rgba(255,140,200,.4);padding-bottom:2px}
.edlink:hover{color:#fff;border-color:#fff}

.parade__note{display:block;margin-top:6px;font-size:.78rem;color:var(--muted);font-style:italic}

/* Visionneuse plein écran (assets/js/edition.js) */
.elb{position:fixed;inset:0;z-index:200;background:rgba(5,2,9,.97);display:none;place-items:center;touch-action:pan-y}
.elb.open{display:grid}
.elb img{max-width:min(94vw,1100px);max-height:86vh;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:var(--glow);user-select:none;-webkit-user-drag:none}
.elb button{position:absolute;width:54px;height:54px;border-radius:50%;border:1px solid var(--line);font-size:1.4rem;background:rgba(0,0,0,.5);color:#fff;display:grid;place-items:center}
.elb button:hover{border-color:var(--rose);color:var(--rose)}
.elb .x{top:max(16px,env(safe-area-inset-top));right:16px}.elb .p{left:16px;top:50%;translate:0 -50%}.elb .n{right:16px;top:50%;translate:0 -50%}
.elb__cap{position:absolute;left:0;right:0;bottom:max(14px,env(safe-area-inset-bottom));text-align:center;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
@media(max-width:700px){.elb button{width:44px;height:44px}.elb .p{left:8px}.elb .n{right:8px}.elb img{max-width:100vw;border-radius:0}}
.parade:not(.is-on) .pcard{--f:1}
