/* =========================================================
   Aperçus : codes promo, suivi de commande, avis clients,
   stories nouveautés, statistiques
   ========================================================= */
.pr1,.pr2,.pr3,.pr4,.pr5,.tr1,.tr2,.tr4,.tr5,.av1,.av2,.av3,.av4,.av5,.st1,.sa1,.sa2,.sa3,.sa4,.sa5{width:100%}
.bar{height:8px;border-radius:9px;background:#ffffff12;overflow:hidden;flex:1}
.bar i{display:block;height:100%;width:0;background:var(--goldgrad);box-shadow:0 0 12px #f5b40088;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.stars{display:flex;justify-content:center;gap:6px;margin:10px 0}
.stars button{font-size:34px;color:#ffffff22;transition:transform .2s,color .2s,text-shadow .2s}
.stars button.on{color:#ffd65a;text-shadow:0 0 18px #f5b400;transform:scale(1.15) rotate(-6deg)}
.xchips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:6px 0}
.xchips button{padding:7px 11px;border-radius:99px;font-size:12px;font-weight:700;border:1px solid var(--line2);background:var(--card);transition:all .2s}
.xchips button.on{border-color:var(--gold);background:#f5b4001f;color:var(--gold2)}

/* ---------- codes promo ---------- */
.pr-cart{display:grid;gap:8px;padding:14px;border-radius:16px;background:var(--card);border:1px solid var(--line2);font-size:14px}
.pr-cart>div{display:flex;justify-content:space-between}
.pr-disc{max-height:0;opacity:0;overflow:hidden;color:var(--ok);transition:all .5s}
.pr-disc.on{max-height:30px;opacity:1}
.pr-tot{border-top:1px dashed var(--line2);padding-top:8px;font-size:17px}
.pr-tot b{font-family:"Russo One";font-weight:400;color:var(--gold2)}
.pr-field{display:flex;align-items:center;gap:8px;margin-top:12px;padding:6px 6px 6px 14px;border-radius:14px;border:1px solid var(--line);background:#0006;transition:all .3s}
.pr-field span{flex:1;font-weight:800;letter-spacing:2px;text-align:left}
.pr-field span.ph{color:var(--mute);letter-spacing:0;font-weight:500}
.pr-field button{padding:10px 14px;border-radius:10px;background:var(--goldgrad);color:#1a1200;font-weight:800}
.pr-field.ok{border-color:var(--ok);box-shadow:0 0 0 3px #3ddc8422}
.pr-q{display:block;text-align:center;margin-bottom:14px}
.pr-cards{display:flex;gap:10px;justify-content:center;perspective:800px}
.pr-c{position:relative;width:86px;height:120px;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.pr-c span{position:absolute;inset:0;display:grid;place-content:center;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;text-align:center}
.pr-c .f{background:var(--goldgrad);font-size:34px;box-shadow:0 8px 24px #f5b40044}
.pr-c .b{background:#15120a;border:1px solid var(--gold);transform:rotateY(180deg)}
.pr-c .b em{font-style:normal;font-family:"Russo One";font-size:20px;color:var(--gold2)}
.pr-c .b small{font-size:12px;color:var(--mute)}
.pr-c.flip{transform:rotateY(180deg)}
.pr-c.dim{opacity:.6}
.coupon{position:relative;display:flex;border-radius:16px;background:var(--goldgrad);color:#1a1200;overflow:hidden;box-shadow:0 12px 34px #f5b40044}
.coupon:before,.coupon:after{content:"";position:absolute;left:58%;width:18px;height:18px;border-radius:50%;background:#0a0a0d;transform:translateX(-50%)}
.coupon:before{top:-9px}.coupon:after{bottom:-9px}
.cp-l{flex:58%;padding:18px 12px;text-align:center;border-right:2px dashed #1a120055}
.cp-l b{display:block;font-family:"Russo One";font-weight:400;font-size:34px}
.cp-l small{font-size:12px;font-weight:700}
.cp-r{flex:42%;padding:14px 8px;text-align:center;display:grid;align-content:center}
.cp-r em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:2px}
.cp-r b{font-size:16px;letter-spacing:1px}
.cp-r small{font-size:10px;font-weight:700}
.cp-stamp{position:absolute;right:10px;top:8px;padding:3px 8px;border:2px solid #0a7a3a;color:#0a7a3a;font-style:normal;font-weight:900;font-size:12px;border-radius:6px;transform:rotate(12deg);opacity:0}
.coupon.copied .cp-stamp{opacity:1;animation:stampIn .4s cubic-bezier(.2,1.4,.4,1)}
.bday{position:relative;padding:20px 14px;border-radius:20px;text-align:center;background:radial-gradient(120% 100% at 50% 0%,#3a2a00,#120e05);border:1px solid var(--line)}
.bd-cake{display:block;font-size:52px;animation:bob 2s ease-in-out infinite}
.bday b{display:block;font-size:18px;margin:6px 0}
.bday p{font-size:13.5px;margin-bottom:10px}
.bday small{font-size:11.5px;color:var(--mute)}
.bd-code{display:inline-block;padding:8px 14px;border-radius:10px;border:1px dashed var(--gold);font-weight:900;letter-spacing:2px;filter:blur(7px);transition:filter .6s}
.bday.open .bd-code{filter:none}
.bday.open .bd-cake{animation:pulse .6s 3}
.tier-t{text-align:center;font-size:14px;margin-bottom:14px}
.xtier{position:relative;height:14px;border-radius:9px;background:#ffffff12;margin:0 14px 18px}
.xtier i{display:block;height:100%;border-radius:9px;background:var(--goldgrad);box-shadow:0 0 14px #f5b40088;transition:width .7s cubic-bezier(.2,1.3,.4,1)}
.xtier span{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:24px;filter:grayscale(1)}
.xtier.full span{filter:none;animation:pulse .6s 3}
.tier-items{display:grid;gap:8px}
.tier-items button{padding:12px;border-radius:12px;border:1px solid var(--line2);background:var(--card);font-weight:700;font-size:13.5px;transition:all .2s}
.tier-items button.added{border-color:var(--ok);color:var(--ok)}
.pr-tot2{text-align:center;margin-top:10px;font-size:13px;color:var(--mute)}
.pr-tot2 b{color:var(--txt)}

/* ---------- suivi de commande ---------- */
.tr-n{display:block;text-align:center;margin-bottom:14px}
.xsteps{position:relative;display:grid;gap:16px;padding-left:6px}
.xsteps:before{content:"";position:absolute;left:25px;top:20px;bottom:20px;width:2px;background:#ffffff14}
.stp{position:relative;display:flex;align-items:center;gap:12px;opacity:.35;transition:opacity .4s}
.stp i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#1a1810;border:2px solid #ffffff22;font-style:normal;font-size:18px;z-index:1;transition:all .4s}
.stp b{display:block;font-size:14px}.stp small{font-size:11.5px;color:var(--mute)}
.stp.on{opacity:1}
.stp.on i{border-color:var(--gold);box-shadow:0 0 0 4px #f5b40022,0 0 20px #f5b40066;animation:pop .4s cubic-bezier(.2,1.4,.4,1)}
.tr2 svg{width:100%;border-radius:16px;background:#0d0c09;border:1px solid var(--line2)}
.tr-eta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:12px 14px;border-radius:14px;background:var(--card)}
.tr-eta span{font-size:12.5px;color:var(--mute)}
.tr-eta b{font-family:"Russo One";font-weight:400;font-size:20px;color:var(--gold2)}
.tr4{text-align:center}
.tr4>small{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--mute)}
.qr-mini.big{width:150px;height:150px;margin:10px auto;transition:box-shadow .4s}
.tr4.ok .qr-mini{box-shadow:0 0 0 4px var(--ok),0 0 30px #3ddc8488}
.xpin{display:flex;gap:8px;justify-content:center;margin:6px 0 8px}
.xpin b{display:grid;place-items:center;width:40px;height:48px;border-radius:10px;background:var(--card2);border:1px solid var(--line);font-family:"Russo One";font-weight:400;font-size:24px;color:var(--gold2)}
.tr4 p{font-size:13px;color:var(--mute)}
.tr5{text-align:center}
.tr-ok{display:block;font-size:46px;animation:pop .5s cubic-bezier(.2,1.4,.4,1)}
.tr5>b{display:block;font-size:18px;margin-top:4px}
.tr5>p{font-size:13px;color:var(--mute)}

/* ---------- avis clients ---------- */
.av1{display:flex;gap:16px;align-items:center}
.av-big{text-align:center;flex:none}
.av-big b{display:block;font-family:"Russo One";font-weight:400;font-size:46px;line-height:1}
.av-big span{font-size:15px}
.av-big small{display:block;font-size:11px;color:var(--mute)}
.av-bars{flex:1;display:grid;gap:6px}
.av-bars>div{display:flex;align-items:center;gap:8px;font-size:12px}
.av-bars span{width:26px;color:var(--mute)}.av-bars em{width:34px;font-style:normal;text-align:right;color:var(--mute)}
.xrv{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:14px;background:var(--card);border:1px solid var(--line2);text-align:left}
.xrv b{display:block;font-size:13.5px}.xrv span{font-size:12px}
.xrv p{font-size:13px;color:#ddd8cc;margin-top:2px}
.xrv.small{padding:9px}
.xrv.mine{border-color:var(--gold);background:linear-gradient(90deg,#f5b4001a,transparent)}
.vf{font-style:normal;font-size:10.5px;font-weight:800;color:var(--ok);margin-left:4px}
.av2{height:300px;overflow:hidden;-webkit-mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}
.rv-track{display:grid;gap:10px;animation:rvScroll 16s linear infinite}
@keyframes rvScroll{to{transform:translateY(-50%)}}
.av3{text-align:center}
.av-list{display:grid;gap:8px;margin-top:12px}
.av4{display:grid;gap:10px}
.rvp{display:flex;gap:10px;padding:10px;border-radius:14px;background:var(--card);border:1px solid var(--line2);text-align:left}
.rvp-img{display:grid;place-items:center;width:64px;height:64px;border-radius:12px;font-size:32px;background:radial-gradient(circle at 30% 30%,#3a2a00,#120e05);flex:none}
.rvp-b{flex:1}.rvp-b b{font-size:13.5px;margin-right:6px}.rvp-b span{font-size:12px}.rvp-b p{font-size:12.5px;color:#ddd8cc}
.like{margin-top:4px;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:800;border:1px solid var(--line2);transition:all .2s}
.like u{text-decoration:none;display:inline-block}
.like.on{border-color:#ff5470;color:#ff8aa0}
.like.on u{animation:pop .35s cubic-bezier(.2,1.4,.4,1)}
.reply{max-height:0;opacity:0;overflow:hidden;margin-top:8px;padding:0 10px;border-left:3px solid var(--gold);background:#f5b4000f;border-radius:0 10px 10px 0;transition:all .5s}
.reply.on{max-height:140px;opacity:1;padding:8px 10px}
.reply b{font-size:12px;color:var(--gold2)}

/* ---------- stories ---------- */
.st-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.st-ring{display:grid;justify-items:center;gap:6px}
.st-ring i{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;font-style:normal;font-size:26px;background:#14120c;box-shadow:0 0 0 3px #0a0a0d,0 0 0 5.5px #f5b400,0 0 18px #f5b40066;transition:all .3s}
.st-ring:not(.seen) i{animation:ringGlow 2s ease-in-out infinite}
.st-ring:nth-child(2) i{animation-delay:.3s}.st-ring:nth-child(3) i{animation-delay:.6s}.st-ring:nth-child(4) i{animation-delay:.9s}
@keyframes ringGlow{50%{box-shadow:0 0 0 3px #0a0a0d,0 0 0 5.5px #ffd65a,0 0 30px #f5b400aa}}
.st-ring.seen i{box-shadow:0 0 0 3px #0a0a0d,0 0 0 5.5px #ffffff26;filter:grayscale(.7)}
.st-ring small{font-size:11px;font-weight:700}
.st-fake{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.st-fake i{height:70px;border-radius:12px;background:var(--card);border:1px solid var(--line2)}
.st-fake i:first-child{grid-column:span 2}
.st-badge{text-align:center;font-size:13px;margin-bottom:14px}
.sv{position:relative;width:100%;max-width:240px;aspect-ratio:9/16;margin:0 auto;border-radius:18px;overflow:hidden;border:1px solid var(--line2);box-shadow:0 20px 50px #000a;animation:svIn .4s cubic-bezier(.2,1.2,.4,1)}
@keyframes svIn{from{transform:scale(.6);opacity:0}}
.sv-bars{position:absolute;top:8px;left:8px;right:8px;display:flex;gap:4px;z-index:2}
.sv-bars i{flex:1;height:3px;border-radius:3px;background:#ffffff40;overflow:hidden}
.sv-bars u{display:block;height:100%;width:0;background:#fff}
.sv-bars i.done u{width:100%}
.sv-bars i.run u{animation:svRun 3.2s linear forwards}
@keyframes svRun{to{width:100%}}
.sv-head{position:absolute;top:18px;left:10px;right:10px;display:flex;justify-content:space-between;font-size:11.5px;font-weight:800;z-index:2}
.sv-head small{color:#fffa;font-weight:500}
.sv-body{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:18px;text-align:center;z-index:3;pointer-events:none}
.sv-body .btn,.sv-body .poll{pointer-events:auto}
.sv-e{font-size:64px;animation:bob 2.4s ease-in-out infinite}
.sv-body>b{font-size:17px;text-shadow:0 2px 12px #000}
.sv-p{font-size:16px;font-weight:800}
.dstage .sv-cta{width:auto;padding:11px 16px;font-size:13.5px;margin-top:4px}
.sv-cd{font-family:"Russo One";font-size:30px;color:var(--gold2);text-shadow:0 0 20px #f5b40088}
.sv-zone{position:absolute;top:0;bottom:0;width:50%;z-index:1}
.sv-zone.l{left:0}.sv-zone.r{right:0}
.poll{display:grid;gap:8px;width:190px}
.poll button{position:relative;display:flex;justify-content:space-between;padding:11px 12px;border-radius:12px;background:#fff1;border:1px solid #fff3;overflow:hidden;font-weight:800;font-size:13.5px}
.poll i{position:absolute;inset:0;width:0;background:#f5b40044;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.poll span,.poll em{position:relative;font-style:normal}
.poll em{opacity:0;transition:opacity .4s .3s}
.poll.voted i{width:var(--w)}
.poll.voted em{opacity:1}
.poll button.me{border-color:var(--gold)}

/* ---------- statistiques ---------- */
.sa1{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kpi{padding:14px 12px;border-radius:16px;background:linear-gradient(160deg,#1d1708,#0e0d0a);border:1px solid var(--line);animation:in .5s both}
.kpi:nth-child(2){animation-delay:.1s}.kpi:nth-child(3){animation-delay:.2s}.kpi:nth-child(4){animation-delay:.3s}
.kpi small{display:block;font-size:11px;color:var(--mute);font-weight:700}
.kpi b{display:block;font-family:"Russo One";font-weight:400;font-size:22px;margin:4px 0;color:var(--gold2)}
.kpi em{font-style:normal;font-size:11.5px;font-weight:800;color:var(--ok)}
.seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--card);width:max-content;margin:0 auto 10px}
.seg button{padding:7px 16px;border-radius:9px;font-size:12.5px;font-weight:800;color:var(--mute);transition:all .2s}
.seg button.on{background:var(--goldgrad);color:#1a1200}
.sa2>b{display:block;text-align:center;font-family:"Russo One";font-weight:400;font-size:18px;margin-bottom:8px}
.sa2 svg{width:100%;height:160px;overflow:visible;filter:drop-shadow(0 0 8px #f5b40055)}
.sa3{display:grid;gap:10px}
.xtop{display:flex;align-items:center;gap:10px}
.xtop em{width:22px;font-style:normal;font-family:"Russo One";font-size:16px;color:var(--gold2);text-align:center}
.xtop:first-child em{text-shadow:0 0 12px #f5b400}
.xtop>span{font-size:22px}
.xtop>div{flex:1}.xtop>div b{display:block;font-size:13px;margin-bottom:4px}
.xtop small{font-size:11px;color:var(--mute);width:62px;text-align:right}
.hm{display:grid;grid-template-columns:20px repeat(6,1fr);gap:4px;align-items:center}
.hm small{font-size:10px;color:var(--mute);text-align:center}
.hm i{aspect-ratio:1.5;border-radius:6px;background:rgba(245,180,0,var(--v));box-shadow:0 0 calc(var(--v) * 16px) rgba(245,180,0,calc(var(--v) * .6));animation:pop .4s cubic-bezier(.2,1.4,.4,1) both;cursor:pointer}
.hm-t{text-align:center;font-size:13px;margin-top:12px}
.xlive{display:flex;align-items:center;justify-content:center;gap:10px}
.xlive .dot{width:12px;height:12px;border-radius:50%;background:#ff5470;box-shadow:0 0 0 0 #ff5470aa;animation:liveDot 1.4s infinite}
@keyframes liveDot{70%{box-shadow:0 0 0 12px #ff547000}100%{box-shadow:0 0 0 0 #ff547000}}
.xlive b{font-family:"Russo One";font-weight:400;font-size:34px}
.xlive small{font-size:12px;color:var(--mute);max-width:90px;text-align:left}
.lv-ca{text-align:center;font-size:13px;margin:6px 0 12px;color:var(--mute)}
.lv-ca b{color:var(--gold2);font-size:16px}
.feed{display:grid;gap:8px;min-height:180px;align-content:start}
.feed>div{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;background:var(--card);border:1px solid var(--line2);font-size:12.5px}
.feed>div span{flex:1}
.feed>div em{font-style:normal;font-weight:900;color:var(--ok)}

/* vidéo complète Starw33d : chapitres sous le lecteur */
.real-big{max-height:62vh;object-fit:contain}
.rchap{position:relative;display:flex;gap:8px;overflow-x:auto;margin:4px -16px 14px;padding:2px 16px;scrollbar-width:none}
.rchap::-webkit-scrollbar{display:none}
.rchap button{flex:none;padding:9px 13px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:#cfd6e6;font:inherit;font-size:12.5px;font-weight:800;white-space:nowrap;transition:.25s}
.rchap button.on{background:var(--goldgrad);color:#1a1200;border-color:transparent;box-shadow:0 0 16px #f5b40055}

/* logos animés : comparateur AVANT (logo fixe) / APRÈS (animation)
   carte de la galerie = balayage automatique en boucle ; vue en grand = ligne à faire glisser au doigt */
.anim.ba .an-tabs,.anim.ba .an-t,.anim.ba .an-play{z-index:3}
.ba-avant{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;pointer-events:none}
.ba-line{position:absolute;top:0;bottom:0;left:100%;width:2px;margin-left:-1px;z-index:2;pointer-events:none;font-style:normal;
  background:linear-gradient(180deg,transparent,#ffd65a 12%,#fff 50%,#ffd65a 88%,transparent);box-shadow:0 0 14px #f5b400,0 0 4px #fff}
.ba-line:after{content:"⇄";position:absolute;top:50%;left:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;display:grid;place-items:center;
  background:var(--goldgrad);color:#1a1200;font-weight:900;font-size:15px;box-shadow:0 0 18px #f5b400aa,0 4px 12px #000a}
.ba-line b{position:absolute;top:calc(50% + 24px);padding:4px 8px;border-radius:8px;font:800 10.5px var(--mono);letter-spacing:1.5px;white-space:nowrap}
.ba-line b:first-child{right:10px;background:#000c;color:#fff;border:1px solid #ffffff33}
.ba-line b:last-child{left:10px;background:var(--goldgrad);color:#1a1200}
.anim.ba .ba-avant{animation:baClip 7.5s cubic-bezier(.65,0,.35,1) infinite}
.anim.ba .ba-line{animation:baLine 7.5s cubic-bezier(.65,0,.35,1) infinite}
@keyframes baClip{0%,16%{clip-path:inset(0 0 0 0)}40%,82%{clip-path:inset(0 100% 0 0)}100%{clip-path:inset(0 0 0 0)}}
@keyframes baLine{0%,16%{left:100%}40%,82%{left:0%}100%{left:100%}}
body.busy .anim.ba .ba-avant,body.busy .anim.ba .ba-line,body.lite .anim.ba .ba-avant,body.lite .anim.ba .ba-line{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  .anim.ba .ba-avant{animation:none;clip-path:inset(0 50% 0 0)}
  .anim.ba .ba-line{animation:none;left:50%}
}

.ba-big{position:relative;aspect-ratio:1;border-radius:18px;overflow:hidden;background:#000;border:1px solid var(--line);touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none}
.ba-big video{width:100%;height:100%;object-fit:cover;display:block}
.ba-big .ba-avant{clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.ba-big .ba-line{left:var(--x)}
.ba-big .ba-line:after{width:40px;height:40px;margin:-20px 0 0 -20px;font-size:19px}
.ba-big .ba-line b{top:14px;font-size:12px}
.ba-son{position:absolute;right:10px;bottom:10px;z-index:3;width:38px;height:38px;border-radius:50%;background:#000b;border:1px solid #ffffff33;font-size:17px}
.ba-hint{margin:8px 0 2px;text-align:center;font-size:12.5px;color:var(--mute)}
