/* ============================================================
   RADIO PASSION VARADERO — WOW Layer
   Background animations, new hero, mini/fullscreen player,
   install modal redesign.
   ============================================================ */

html,body{background:var(--bg-0)}
/* Player deplace en haut - plus de padding-bottom necessaire */

/* ============ BG LAYER (derriere tout) ============ */
.wow-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}

.wow-gradient{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 120% 80% at 50% 0%, rgba(0,180,216,0.35), transparent 60%),
    radial-gradient(ellipse 100% 70% at 20% 100%, rgba(255,45,146,0.25), transparent 60%),
    radial-gradient(ellipse 80% 60% at 80% 80%, rgba(255,107,0,0.18), transparent 60%),
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg-0) 70%, #000 100%);
  transition:filter 0.5s ease;
}
body.wow-playing .wow-gradient{animation:wow-bg-pulse 3.5s ease-in-out infinite}
@keyframes wow-bg-pulse{0%,100%{filter:brightness(1) saturate(1)} 50%{filter:brightness(1.2) saturate(1.4)}}

.wow-palms{
  position:absolute;bottom:0;left:0;right:0;height:100vh;opacity:0.9;pointer-events:none;
  mask-image:linear-gradient(to top, black 0%, black 45%, transparent 85%);
  -webkit-mask-image:linear-gradient(to top, black 0%, black 45%, transparent 85%);
}
.wow-palm{position:absolute;bottom:0;transform-origin:bottom center;animation:wow-sway 6s ease-in-out infinite alternate;filter:drop-shadow(0 0 35px rgba(0,240,255,0.5)) drop-shadow(0 0 15px rgba(255,0,110,0.3))}
.wow-palm.p1{left:-20px;bottom:-10px;width:180px;animation-delay:-0.5s;z-index:2}
.wow-palm.p2{right:-30px;bottom:-10px;width:220px;animation-delay:-2s;z-index:2}
.wow-palm.p3{left:44%;bottom:-30px;width:120px;opacity:0.5;animation-delay:-3s;z-index:1}
@keyframes wow-sway{from{transform:rotate(-2deg)}to{transform:rotate(3deg)}}
@media (min-width:900px){
  .wow-palm.p1{width:260px;left:0}
  .wow-palm.p2{width:320px;right:0}
  .wow-palm.p3{width:180px}
}

.wow-particles{position:absolute;inset:0}
.wow-particle{
  position:absolute;border-radius:50%;
  animation:wow-particle-float var(--dur,8s) linear infinite;
  animation-delay:var(--delay,0s);
  bottom:-20px;left:var(--x,50%);
  opacity:0;
}
body.wow-playing .wow-particle{opacity:1}
@keyframes wow-particle-float{
  0%{transform:translate(0,0);opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{transform:translate(var(--dx,0),-110vh);opacity:0}
}

.wow-viz-bg{
  position:absolute;left:0;right:0;bottom:90px;
  display:flex;align-items:flex-end;gap:3px;height:140px;padding:0 4vw;
  opacity:0;transition:opacity 0.4s;pointer-events:none;
}
body.wow-playing .wow-viz-bg{opacity:0.32}
.wow-viz-bar{
  flex:1;background:linear-gradient(to top,var(--red),var(--cyan));
  border-radius:3px 3px 0 0;height:10%;
  animation:wow-bar var(--d,0.6s) ease-in-out infinite alternate;
  animation-delay:var(--del,0s);
  box-shadow:0 0 8px var(--cyan);
}
@keyframes wow-bar{from{height:5%}to{height:var(--h,60%)}}

/* ============ MAIN STACKS OVER BG ============ */
.site-header{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(5,8,26,0.88),rgba(5,8,26,0.3)) !important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,240,255,0.08) !important}
main{position:relative;z-index:5}

/* ============ WOW HERO ============ */
.wow-hero{padding:14px 18px 30px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;max-width:1100px;margin:0 auto}

.wow-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}
.wow-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 14px;border-radius:999px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:0.88rem;letter-spacing:.3px;color:#fff;
}
.wow-chip.live{background:linear-gradient(135deg,rgba(255,0,110,0.2),rgba(255,107,0,0.15));border-color:var(--red)}
.wow-chip.live .dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 12px var(--red);animation:wow-blink 1.2s infinite}
@keyframes wow-blink{50%{opacity:0.3}}
.wow-chip.dj{background:linear-gradient(135deg,rgba(255,195,0,0.15),rgba(255,107,0,0.12));border-color:var(--gold);color:var(--gold)}
.wow-chip.song{color:var(--cyan);border-color:rgba(0,240,255,0.25)}
.wow-chip.listeners{color:var(--green);border-color:rgba(6,214,160,0.25)}

.wow-kicker{
  font-family:'Poppins',sans-serif;font-weight:900;
  font-size:clamp(1.6rem,6vw,2.6rem);
  letter-spacing:-1px;line-height:1;text-transform:uppercase;
  color:#fff;
  margin:0;
}
.wow-kicker .grad{background:linear-gradient(92deg,var(--gold) 0%,var(--orange) 50%,var(--red) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.wow-genres{color:rgba(255,255,255,0.7);font-size:0.9rem;font-weight:300;letter-spacing:.5px;margin:0}
.wow-genres b{color:var(--cyan);font-weight:600}

.wow-np-label{
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 14px;border-radius:999px;
  background:rgba(0,240,255,0.1);border:1px solid rgba(0,240,255,0.3);
  font-family:'Poppins',sans-serif;font-size:0.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:2px;color:var(--cyan);
}
.wow-np-label .eq-mini{display:inline-flex;gap:2px}
.wow-np-label .eq-mini i{display:block;width:3px;height:12px;background:var(--cyan);border-radius:1px;animation:wow-eq 0.6s ease-in-out infinite alternate}
.wow-np-label .eq-mini i:nth-child(2){animation-delay:.15s}
.wow-np-label .eq-mini i:nth-child(3){animation-delay:.3s}
@keyframes wow-eq{from{height:3px}to{height:14px}}

/* Giant rotating album cover (vinyle) */
.wow-cover-stage{position:relative;width:min(86vw,360px);aspect-ratio:1;display:flex;align-items:center;justify-content:center;margin:8px 0}
.wow-cover-rings{position:absolute;inset:0;border-radius:50%;animation:wow-spin 20s linear infinite;pointer-events:none}
.wow-cover-rings::before{
  content:'';position:absolute;inset:-10px;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0deg,var(--cyan) 60deg,transparent 120deg,var(--red) 180deg,transparent 240deg,var(--gold) 300deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  padding:2px;opacity:0.7;filter:blur(1px);
}
.wow-cover-rings::after{content:'';position:absolute;inset:-22px;border-radius:50%;border:1px dashed rgba(0,240,255,0.3);animation:wow-spin 30s linear reverse infinite}

.wow-cover-glow{
  position:absolute;inset:-30px;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(0,240,255,0.35),rgba(255,0,110,0.2) 40%,transparent 65%);
  filter:blur(20px);animation:wow-glow 3s ease-in-out infinite;
}
@keyframes wow-glow{50%{transform:scale(1.08);opacity:0.8}}

.wow-cover-img{
  width:78%;aspect-ratio:1;border-radius:50%;position:relative;
  background-color:#0a0d14;
  background-image:var(--cover-bg, none);
  background-size:cover;background-position:center;background-repeat:no-repeat;
  box-shadow:
    0 0 0 6px #000,
    0 0 0 7px var(--cyan),
    0 20px 60px rgba(0,0,0,0.6),
    inset 0 0 40px rgba(0,0,0,0.4);
  animation:wow-spin 25s linear infinite;
  animation-play-state:paused;
}
body.wow-playing .wow-cover-img{animation-play-state:running}
.wow-cover-img::before{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,0.15),transparent 50%);pointer-events:none}
.wow-cover-img::after{content:'';position:absolute;top:50%;left:50%;width:22%;height:22%;margin-left:-11%;margin-top:-11%;border-radius:50%;background:#000;box-shadow:inset 0 0 0 2px rgba(255,255,255,0.15)}
@keyframes wow-spin{to{transform:rotate(360deg)}}

.wow-song-title{font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(1.25rem,4.5vw,1.75rem);line-height:1.15;letter-spacing:-.5px;max-width:92vw;overflow-wrap:break-word;color:#fff;margin:0}
.wow-song-artist{color:rgba(255,255,255,0.7);font-size:clamp(0.9rem,3vw,1.1rem);font-weight:400;margin-top:4px;max-width:92vw;overflow-wrap:break-word}

/* BIG PLAY BUTTON */
.wow-btn-play{
  width:96px;height:96px;border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--gold) 0%,var(--orange) 50%,var(--red) 100%);
  color:#000;font-size:2.3rem;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 0 rgba(255,0,110,0.55),0 20px 50px rgba(255,107,0,0.5),0 0 80px rgba(255,0,110,0.3);
  transition:transform 0.2s,background 0.4s;
  animation:wow-breathe 2.5s ease-in-out infinite;
  margin-top:6px;
}
.wow-btn-play:active{transform:scale(0.93)}
.wow-btn-play:hover{transform:scale(1.05)}
@keyframes wow-breathe{
  0%,100%{box-shadow:0 0 0 0 rgba(255,0,110,0.55),0 20px 50px rgba(255,107,0,0.5),0 0 80px rgba(255,0,110,0.3)}
  50%{box-shadow:0 0 0 20px rgba(255,0,110,0),0 25px 55px rgba(255,107,0,0.6),0 0 100px rgba(255,0,110,0.5)}
}
body.wow-playing .wow-btn-play{background:linear-gradient(135deg,var(--cyan),var(--cyan))}
.wow-btn-play .ic-play,.wow-btn-play .ic-pause{display:block}
body.wow-playing .wow-btn-play .ic-play{display:none}
body:not(.wow-playing) .wow-btn-play .ic-pause{display:none}

/* Next up */
.wow-next-up{
  margin-top:4px;padding:8px 16px;border-radius:12px;
  background:linear-gradient(90deg,rgba(0,240,255,0.08),transparent);
  border-left:3px solid var(--cyan);
  max-width:92vw;text-align:left;
  display:flex;align-items:center;gap:10px;overflow:hidden;
}
.wow-next-up .lbl{font-size:0.65rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--cyan);font-weight:700;white-space:nowrap;font-family:'Poppins',sans-serif}
.wow-next-up .txt{font-size:0.85rem;color:rgba(255,255,255,0.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}

/* Vote row */
.wow-votes{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:2px}
.wow-vote-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:999px;cursor:pointer;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:0.85rem;
  transition:transform 0.15s;border:1px solid transparent;background:transparent;
}
.wow-vote-btn.up{color:var(--green);background:rgba(6,214,160,0.1);border-color:rgba(6,214,160,0.3)}
.wow-vote-btn.down{color:var(--red);background:rgba(255,0,110,0.1);border-color:rgba(255,0,110,0.3)}
.wow-vote-btn.request{color:var(--gold);background:rgba(255,195,0,0.08);border-color:rgba(255,195,0,0.3)}
.wow-vote-btn:active{transform:scale(0.92)}

/* ============ MINI PLAYER (en haut, sous le menu) ============ */
.wow-mini{
  position:sticky;top:56px;left:0;right:0;z-index:95;
  padding:4px 12px;
  background:linear-gradient(180deg,rgba(5,8,26,0.98),rgba(10,17,40,0.95));
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(0,240,255,0.12);
  box-shadow:0 6px 24px rgba(0,0,0,0.5);
}
.wow-mini-inner{
  max-width:800px;margin:0 auto;
  display:flex;align-items:center;gap:8px;
  justify-content:center;
}
.wow-mp-meta{
  display:flex;align-items:center;gap:6px;
  color:rgba(255,255,255,0.7);font-size:0.8rem;font-weight:600;
  padding:4px 10px;border-radius:999px;
  background:rgba(255,255,255,0.06);border:1px solid rgba(0,240,255,0.15);
  flex-shrink:0;
}
.wow-mp-meta i{color:var(--cyan);font-size:0.75rem}
.wow-mp-volume{
  display:flex;align-items:center;gap:8px;flex-shrink:0;
  color:rgba(255,255,255,0.55);font-size:0.85rem;
}
.wow-mp-volume input[type=range]{
  -webkit-appearance:none;appearance:none;width:100px;height:4px;border-radius:999px;
  background:linear-gradient(90deg,var(--cyan) var(--vol,80%),rgba(255,255,255,0.15) var(--vol,80%));
  outline:none;cursor:pointer;
}
.wow-mp-volume input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;
  background:#fff;box-shadow:0 0 8px rgba(0,240,255,0.8);cursor:pointer;
}
.wow-mp-volume input[type=range]::-moz-range-thumb{
  width:14px;height:14px;border-radius:50%;border:0;
  background:#fff;box-shadow:0 0 8px rgba(0,240,255,0.8);cursor:pointer;
}
.wow-mp-side{
  background:none;border:0;color:rgba(255,255,255,0.55);
  width:30px;height:30px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:0.95rem;transition:background 0.15s,color 0.15s;flex-shrink:0;
}
.wow-mp-side:hover{background:rgba(255,255,255,0.08);color:#fff}
.wow-mp-like:hover{color:#ff4757 !important}
.wow-mp-dislike:hover{color:#00d2ff !important}
.wow-mp-help{
  flex-shrink:0;display:inline-flex;align-items:center;gap:4px;
  font-size:0.7rem;color:rgba(255,255,255,0.45);text-decoration:none;
  padding:2px 4px;transition:color 0.15s;
  font-family:'Inter',sans-serif;letter-spacing:0.2px;
}
.wow-mp-help span{
  display:inline-flex;align-items:center;justify-content:center;
  width:15px;height:15px;border-radius:50%;
  background:rgba(255,195,0,0.15);color:#ffc300;
  font-weight:700;font-size:0.68rem;
}
.wow-mp-help:hover{color:#ffc300}
.wow-mp-help:hover span{background:rgba(255,195,0,0.3)}
@media (max-width: 640px){ .wow-mp-help{display:none} }
.wow-mp-like[data-voted="1"]{color:#ff4757 !important;animation:wow-pulse 0.4s ease-out}
.wow-mp-dislike[data-voted="-1"]{color:#00d2ff !important;animation:wow-pulse 0.4s ease-out}
@keyframes wow-pulse{0%{transform:scale(1)}50%{transform:scale(1.25)}100%{transform:scale(1)}}
/* Responsive : masque les extras hors desktop */
@media (max-width: 900px){
  .wow-mp-volume, .wow-mp-meta{display:none}
}
@media (max-width: 640px){
  .wow-mp-side{display:none}
}
.wow-mini::before{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),var(--red),var(--gold),transparent);
  background-size:200% 100%;opacity:0;transition:opacity 0.3s;
}
@media (max-width: 640px){ .wow-mini{top:52px;padding:3px 8px;} .wow-mp-cover{width:32px;height:32px;} .wow-mp-play{width:32px;height:32px;font-size:0.85rem;} .wow-mp-info .t{font-size:0.78rem;} .wow-mp-info .a{font-size:0.65rem;} }
body.wow-playing .wow-mini::before{opacity:1;animation:wow-line 3s linear infinite}
@keyframes wow-line{to{background-position:-200% 0}}

.wow-mp-cover{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;position:relative;
  background-color:#0a0d14;background-image:var(--cover-bg, none);background-size:cover;background-position:center;background-repeat:no-repeat;
  box-shadow:0 0 0 2px rgba(0,240,255,0.5),0 4px 12px rgba(0,0,0,0.5);
  animation:wow-spin 12s linear infinite;animation-play-state:paused;
  cursor:pointer;
}
body.wow-playing .wow-mp-cover{animation-play-state:running}
.wow-mp-info{flex:1;min-width:0;max-width:320px;cursor:pointer}
.wow-mp-info .t{font-weight:700;font-size:0.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;font-family:'Poppins',sans-serif;line-height:1.2}
.wow-mp-info .a{font-size:0.7rem;color:rgba(255,255,255,0.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.wow-mp-info .a .live{color:var(--red);font-weight:700;letter-spacing:1px}
.wow-mp-play{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--gold),var(--orange));
  color:#000;font-size:1rem;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(255,107,0,0.45);transition:transform 0.15s;
}
.wow-mp-play:active{transform:scale(0.9)}
.wow-mp-play .ic-play,.wow-mp-play .ic-pause{display:block}
body.wow-playing .wow-mp-play .ic-play{display:none}
body:not(.wow-playing) .wow-mp-play .ic-pause{display:none}
.wow-mp-expand{background:none;border:none;color:rgba(255,255,255,0.45);font-size:1rem;cursor:pointer;padding:6px}

/* ============ FULLSCREEN IMMERSIVE PLAYER ============ */
.wow-fs{
  position:fixed;inset:0;z-index:200;
  background:
    radial-gradient(ellipse at top,rgba(0,240,255,0.25),transparent 60%),
    radial-gradient(ellipse at bottom,rgba(255,0,110,0.3),transparent 60%),
    linear-gradient(180deg,#0a1128 0%,#05081a 100%);
  display:flex;flex-direction:column;align-items:center;padding:20px;
  transform:translateY(100%);transition:transform 0.4s cubic-bezier(.2,.8,.2,1);
  overflow:hidden;
}
.wow-fs.open{transform:translateY(0)}
.wow-fs-topbar{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 4px;max-width:480px;margin:0 auto}
.wow-fs-topbar button{background:rgba(255,255,255,0.08);border:none;color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:1.1rem}
.wow-fs-topbar .lbl{font-family:'Poppins',sans-serif;font-size:0.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);font-weight:700}
/* Fullscreen background animations */
.wow-fs-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.wow-fs-gradient{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 30%, rgba(0,240,255,0.35), transparent 50%),
    radial-gradient(circle at 70% 70%, rgba(255,0,110,0.35), transparent 50%),
    radial-gradient(circle at 50% 100%, rgba(255,195,0,0.2), transparent 50%);
  animation:wow-fs-grad 8s ease-in-out infinite;
}
@keyframes wow-fs-grad{
  0%,100%{transform:scale(1) rotate(0deg);opacity:0.8}
  50%{transform:scale(1.1) rotate(8deg);opacity:1}
}
.wow-fs-particles{position:absolute;inset:0}
.wow-fs-particles .p{
  position:absolute;border-radius:50%;bottom:-20px;
  animation:wow-particle-float var(--dur,10s) linear infinite;
  animation-delay:var(--delay,0s);
  opacity:0;
}
body.wow-playing .wow-fs-particles .p{opacity:1}

/* Audio-reactive canvas visualizer */
.wow-fs-viz-canvas{
  width:100%;max-width:420px;margin:0 auto 10px;
  height:80px;display:block;
  opacity:0;transition:opacity 0.3s;
}
body.wow-playing .wow-fs-viz-canvas{opacity:1}
.wow-fs-viz-canvas.has-audio ~ .wow-fs-viz{display:none}

.wow-fs > *:not(.wow-fs-bg){position:relative;z-index:1}
.wow-fs-cover-wrap{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:420px;margin:0 auto;position:relative}
.wow-fs-cover{
  width:82vw;max-width:340px;aspect-ratio:1;border-radius:50%;position:relative;
  background-color:#0a0d14;background-image:var(--cover-bg, none);background-size:cover;background-position:center;background-repeat:no-repeat;
  box-shadow:0 0 0 8px #000,0 0 0 9px var(--cyan),0 30px 80px rgba(0,240,255,0.3);
  animation:wow-spin 20s linear infinite;animation-play-state:paused;
}
body.wow-playing .wow-fs-cover{animation-play-state:running}
.wow-fs-cover::after{content:'';position:absolute;top:50%;left:50%;width:13%;height:13%;margin-left:-6.5%;margin-top:-6.5%;background:#000;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,0.2)}
.wow-fs-info{text-align:center;margin:20px 0;width:100%;max-width:480px}
.wow-fs-info .t{font-family:'Poppins',sans-serif;font-weight:800;font-size:1.5rem;line-height:1.15;margin-bottom:6px;word-break:break-word;color:#fff}
.wow-fs-info .a{color:rgba(255,255,255,0.7);font-size:1rem}
.wow-fs-controls{display:flex;gap:20px;align-items:center;justify-content:center;width:100%;max-width:420px;margin:0 auto 20px}
.wow-fs-ctrl{width:64px;height:64px;border-radius:50%;border:none;cursor:pointer;background:rgba(255,255,255,0.08);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center}
.wow-fs-ctrl.big{width:86px;height:86px;font-size:2rem;background:linear-gradient(135deg,var(--gold),var(--red));color:#000;box-shadow:0 15px 50px rgba(255,0,110,0.5)}
.wow-fs-ctrl.big .ic-play,.wow-fs-ctrl.big .ic-pause{display:block}
body.wow-playing .wow-fs-ctrl.big .ic-play{display:none}
body:not(.wow-playing) .wow-fs-ctrl.big .ic-pause{display:none}
.wow-fs-viz{width:100%;max-width:420px;margin:0 auto 10px;height:60px;display:flex;align-items:flex-end;gap:3px}
.wow-fs-viz .b{flex:1;background:linear-gradient(to top,var(--red),var(--cyan));border-radius:2px 2px 0 0;min-height:4px;animation:wow-bar var(--d,0.6s) ease-in-out infinite alternate}
body:not(.wow-playing) .wow-fs-viz .b{animation-play-state:paused;opacity:0.3}

/* ============ INSTALL MODAL ============ */
.wow-install{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,0.7);backdrop-filter:blur(10px);display:none;align-items:flex-end;justify-content:center;padding:0}
.wow-install.open{display:flex;animation:wow-fade 0.3s}
@keyframes wow-fade{from{opacity:0}to{opacity:1}}
.wow-install-sheet{
  width:100%;max-width:520px;
  background:linear-gradient(180deg,#0f1a3a,#05081a);
  border-radius:24px 24px 0 0;border-top:2px solid var(--cyan);
  padding:20px 22px 28px;position:relative;
  animation:wow-slide 0.4s cubic-bezier(.2,.8,.2,1);
  max-height:90vh;overflow-y:auto;
}
@keyframes wow-slide{from{transform:translateY(100%)}}
.wow-install .handle{width:40px;height:4px;background:rgba(255,255,255,0.2);border-radius:2px;margin:0 auto 16px}
.wow-install h3{font-family:'Poppins',sans-serif;font-size:1.25rem;font-weight:800;margin-bottom:4px;display:flex;align-items:center;gap:10px;color:#fff}
.wow-install h3 .dot{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--gold),var(--orange));display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#000;box-shadow:0 0 20px rgba(255,107,0,0.5)}
.wow-install .sub{color:rgba(255,255,255,0.7);font-size:0.88rem;margin-bottom:14px}
.wow-install-tabs{display:flex;gap:0;margin-bottom:14px;background:rgba(255,255,255,0.05);border-radius:12px;padding:4px}
.wow-install-tabs button{flex:1;padding:10px;background:transparent;border:none;color:rgba(255,255,255,0.7);font-family:'Poppins',sans-serif;font-weight:700;font-size:0.85rem;cursor:pointer;border-radius:8px;transition:all 0.2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.wow-install-tabs button.active{background:var(--cyan);color:#000}
.wow-install-step{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.wow-install-step:last-child{border:none}
.wow-install-step .n{width:28px;height:28px;border-radius:50%;background:rgba(0,240,255,0.15);color:var(--cyan);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.9rem;flex-shrink:0}
.wow-install-step .txt{flex:1;font-size:0.9rem;line-height:1.4;color:#fff}
.wow-install-step .txt b{color:var(--cyan)}
.wow-install-step .ic{background:rgba(255,255,255,0.08);padding:4px 8px;border-radius:6px;display:inline-flex;align-items:center;gap:4px;font-size:0.8rem}
.wow-install-bens{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px}
.wow-install-bens .b{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:rgba(0,240,255,0.1);border-radius:999px;font-size:0.72rem;color:var(--cyan);border:1px solid rgba(0,240,255,0.2)}
.wow-install-cta{display:flex;gap:10px;margin-top:16px}
.wow-install-cta .primary{flex:1;padding:14px;border:none;border-radius:14px;cursor:pointer;background:linear-gradient(135deg,var(--gold),var(--orange),var(--red));color:#000;font-family:'Poppins',sans-serif;font-weight:800;font-size:0.95rem;box-shadow:0 10px 30px rgba(255,107,0,0.4)}
.wow-install-cta .ghost{padding:14px 18px;background:transparent;color:rgba(255,255,255,0.45);border:1px solid rgba(255,255,255,0.15);border-radius:14px;cursor:pointer;font-weight:600;font-size:0.88rem}

/* ============ ADSENSE (discret) ============ */
.wow-ad-slot{
  max-width:336px;width:100%;
  margin:22px auto;
  padding:8px;
  border-radius:12px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.05);
  position:relative;
  z-index:2;
}
.wow-ad-slot::before{
  content:'Publicite';
  position:absolute;top:-8px;left:12px;
  padding:1px 8px;font-size:0.6rem;letter-spacing:1px;text-transform:uppercase;
  background:var(--bg-0);color:rgba(255,255,255,0.35);
  border-radius:6px;font-family:'Poppins',sans-serif;font-weight:600;
}
.wow-ad-slot ins{display:block;min-height:250px}

/* ============ RESPONSIVE ============ */
@media (min-width:900px){
  .wow-hero{padding:30px 40px 50px}
  .wow-cover-stage{width:340px}
  .wow-btn-play{width:110px;height:110px;font-size:2.6rem}
}

/* ============================================================
   v3 — Désactivation décor wow sur mobile (Stitch v3, 2026-04-27)
   Compétition visuelle avec les vraies cartes + paint cost.
   ============================================================ */
@media (max-width: 1024px) {
    .wow-bg { display: none !important; }
}

/* ============================================================
   PWA INSTALL MODAL — refonte 2026-05-01
   ============================================================ */

/* Bouton fermer (×) en haut à droite */
.pwa-close-btn {
    position: absolute; top: 16px; right: 16px;
    background: rgba(255,255,255,0.08); border: none;
    color: rgba(255,255,255,0.5); width: 32px; height: 32px;
    border-radius: 50%; cursor: pointer; font-size: 14px;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.2s, color 0.2s;
}
.pwa-close-btn:hover { background: rgba(255,255,255,0.15); color: #fff; }

/* Icône app centrée */
.pwa-app-icon {
    display: flex; justify-content: center; margin: 0 auto 14px;
}
.pwa-app-icon img {
    width: 64px; height: 64px; border-radius: 18px;
    box-shadow: 0 4px 20px rgba(255,107,0,0.35);
    display: block;
}

/* Titre et sous-titre */
.pwa-title {
    font-family: var(--font-display, 'Poppins', sans-serif);
    font-size: 1.2rem; font-weight: 800; color: #fff;
    text-align: center; margin-bottom: 2px;
}
.pwa-platform {
    text-align: center; font-size: 0.75rem; font-weight: 700;
    letter-spacing: 1px; text-transform: uppercase;
    color: var(--orange, #ff6b00); margin-bottom: 10px;
}
.pwa-desc {
    text-align: center; font-size: 0.88rem;
    color: rgba(255,255,255,0.65); line-height: 1.5;
    margin: 0 0 18px;
}

/* Boutons */
.pwa-btn-primary {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; padding: 14px;
    background: linear-gradient(135deg, var(--gold, #f5c518), var(--orange, #ff6b00));
    border: none; border-radius: 14px; cursor: pointer;
    color: #000; font-family: var(--font-display, 'Poppins', sans-serif);
    font-weight: 800; font-size: 0.95rem;
    box-shadow: 0 6px 24px rgba(255,107,0,0.35);
    transition: filter 0.2s, transform 0.15s;
}
.pwa-btn-primary:hover { filter: brightness(1.08); transform: translateY(-1px); }
.pwa-btn-primary:active { transform: scale(0.97); }
.pwa-btn-later {
    display: block; width: 100%; padding: 11px;
    background: transparent; border: none;
    color: rgba(255,255,255,0.35); font-size: 0.85rem;
    cursor: pointer; margin-top: 8px; text-align: center;
    transition: color 0.2s;
}
.pwa-btn-later:hover { color: rgba(255,255,255,0.6); }

/* Steps iOS */
.pwa-steps {
    list-style: none; padding: 0; margin: 0 0 18px;
    display: flex; flex-direction: column; gap: 10px;
}
.pwa-steps li {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 12px;
    background: rgba(255,255,255,0.04);
    border-radius: 10px; border: 1px solid rgba(255,255,255,0.07);
}
.pwa-step-num {
    width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
    background: rgba(0,240,255,0.15); color: var(--cyan, #00f0ff);
    font-weight: 800; font-size: 0.8rem;
    display: flex; align-items: center; justify-content: center;
}
.pwa-step-ic {
    width: 28px; height: 28px; border-radius: 8px; flex-shrink: 0;
    background: rgba(255,255,255,0.08);
    display: flex; align-items: center; justify-content: center;
    font-size: 0.85rem; color: rgba(255,255,255,0.7);
}
.pwa-step-txt {
    flex: 1; font-size: 0.87rem; color: rgba(255,255,255,0.85); line-height: 1.35;
}
.pwa-step-txt b { color: #fff; }
.pwa-ios-note {
    text-align: center; font-size: 0.75rem;
    color: rgba(255,255,255,0.35); margin: -8px 0 16px;
}
.pwa-ios-note i { margin-right: 4px; }

/* Barre notifications (commune) */
.pwa-notif-bar {
    display: flex; align-items: center; gap: 10px;
    margin-top: 18px; padding: 12px;
    background: rgba(0,240,255,0.07);
    border: 1px solid rgba(0,240,255,0.18);
    border-radius: 12px;
}
.pwa-notif-text {
    flex: 1; min-width: 0;
    display: flex; flex-direction: column; gap: 2px;
}
.pwa-notif-text strong { font-size: 0.88rem; color: #fff; }
.pwa-notif-text span { font-size: 0.73rem; color: rgba(255,255,255,0.45); }
.pwa-notif-btn {
    flex-shrink: 0;
    background: var(--cyan, #00f0ff); color: #000;
    border: none; padding: 8px 14px; border-radius: 999px;
    font-weight: 700; font-size: 0.78rem; cursor: pointer;
    transition: filter 0.2s;
}
.pwa-notif-btn:hover { filter: brightness(0.9); }
