/* Premium category buttons: larger, red fade/grow backgrounds, thin gold edges. */
.content-btn{
  border:1px solid var(--gold) !important;
  box-shadow:none !important;
  animation:categoryShake 1.25s ease-in-out infinite;
  isolation:isolate;
}
.content-btn .gold-bg{display:block !important;position:absolute;inset:0;z-index:0;opacity:.22;pointer-events:none;border-radius:inherit;}
.content-btn::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,30,30,.18),rgba(130,0,0,.08),rgba(255,90,70,.18));opacity:.45;animation:redBreath 2.8s ease-in-out infinite;}
.content-btn .inner{position:relative;z-index:2;min-height:92px;}
.content-btn.mini{transform:none !important;opacity:1 !important;margin:0 !important;animation:categoryShake 1.2s ease-in-out infinite !important;}
/* Each of the six gets its own red tone. */
.content-btn:nth-child(1){background:linear-gradient(135deg,#3a1118,#7b1e2b,#b52a3b);}
.content-btn:nth-child(2){background:linear-gradient(135deg,#321015,#681724,#a62438);}
.content-btn:nth-child(3){background:linear-gradient(135deg,#3d0e14,#861b2a,#c12b42);}
.content-btn:nth-child(4){background:linear-gradient(135deg,#351019,#741b31,#ad2943);}
.content-btn:nth-child(5){background:linear-gradient(135deg,#401016,#8f1d2c,#c73848);}
.content-btn:nth-child(6){background:linear-gradient(135deg,#361017,#711a2a,#b92d43);}
.content-btn .thumb-wrap{width:92px !important;height:92px !important;flex:0 0 92px;}
.content-btn video.thumb,.content-btn .thumb{width:92px !important;height:92px !important;}
.content-btn .label{font-size:1.12rem !important;}
.content-btn .badge{font-size:.72rem;background:#00c853;padding:5px 10px;border-radius:20px;margin-left:auto;white-space:nowrap;box-shadow:0 0 10px rgba(0,200,83,.18);}


.content-btn::after{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:28px;
  pointer-events:none;
  z-index:0;
  background:linear-gradient(135deg,rgba(255,25,45,.45),rgba(255,0,80,.12),rgba(255,100,30,.42));
  filter:blur(12px);
  opacity:.22;
  transform:scale(.96);
  animation:categoryGlow 2.6s ease-in-out infinite;
}
.content-btn:nth-child(2),
.content-btn:nth-child(5){animation-delay:.35s}
.content-btn:nth-child(3),
.content-btn:nth-child(6){animation-delay:.7s}
.content-btn:nth-child(4){animation-delay:1.05s}
.content-btn:nth-child(2)::before,.content-btn:nth-child(5)::before{animation-delay:.35s}
.content-btn:nth-child(3)::before,.content-btn:nth-child(6)::before{animation-delay:.7s}
.content-btn:nth-child(4)::before{animation-delay:1.05s}
.content-btn:nth-child(2)::after,.content-btn:nth-child(5)::after{animation-delay:.35s}
.content-btn:nth-child(3)::after,.content-btn:nth-child(6)::after{animation-delay:.7s}
.content-btn:nth-child(4)::after{animation-delay:1.05s}

@keyframes categoryGlow{
  0%,100%{opacity:.16;transform:scale(.96)}
  50%{opacity:.78;transform:scale(1.055)}
}
@keyframes redBreath{0%,100%{opacity:.28;transform:scale(.985)}50%{opacity:.72;transform:scale(1.015)}}
@keyframes categoryShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-1px)}75%{transform:translateX(1px)}}

/* Keep payment popup still and premium. */
.pay-card{animation:popIn .4s cubic-bezier(.34,1.56,.64,1)}
.btn-lipa{
  animation:payButtonBounce 2.4s ease-in-out infinite !important;
  transform-origin:center center;
  position:relative;
  box-shadow:none !important;
}
@keyframes payButtonBounce{
  0%,100%{
    transform:translateY(0) scale(1);
    opacity:.82;
    filter:brightness(.98);
    box-shadow:0 0 6px rgba(255,0,0,.12),0 0 14px rgba(255,0,0,.08);
  }
  18%{
    transform:translateY(-3px) scale(1.012);
    opacity:.9;
    filter:brightness(1.02);
    box-shadow:0 0 12px rgba(255,0,0,.22),0 0 24px rgba(255,0,0,.12);
  }
  36%{
    transform:translateY(0) scale(1.035);
    opacity:1;
    filter:brightness(1.08);
    box-shadow:0 0 18px rgba(255,0,0,.34),0 0 36px rgba(255,0,0,.18);
  }
  52%{
    transform:translateY(-2px) scale(1.018);
    opacity:.96;
    filter:brightness(1.04);
    box-shadow:0 0 14px rgba(255,0,0,.26),0 0 28px rgba(255,0,0,.14);
  }
  70%{
    transform:translateY(0) scale(1.005);
    opacity:.88;
    filter:brightness(1);
    box-shadow:0 0 8px rgba(255,0,0,.16),0 0 18px rgba(255,0,0,.09);
  }
  86%{
    transform:translateY(0) scale(1);
    opacity:.82;
    filter:brightness(.98);
    box-shadow:0 0 5px rgba(255,0,0,.1),0 0 12px rgba(255,0,0,.06);
  }
}
@media (prefers-reduced-motion:reduce){
  .btn-lipa{animation:none !important}
}
.pay-logos img.active{animation:none !important}
.pay-status.loading::after{content:'';display:inline-block;width:12px;height:12px;border:2px solid var(--gold);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;margin-left:6px;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shake{0%,100%{transform:translate(0,0) rotate(0)}10%{transform:translate(-2px,-1px) rotate(-1deg)}20%{transform:translate(2px,1px) rotate(1deg)}30%{transform:translate(-2px,2px) rotate(-.5deg)}40%{transform:translate(2px,-1px) rotate(.5deg)}50%{transform:translate(-1px,1px) rotate(-1deg)}60%{transform:translate(1px,-2px) rotate(1deg)}70%{transform:translate(-2px,1px) rotate(-.5deg)}80%{transform:translate(2px,1px) rotate(.5deg)}90%{transform:translate(-1px,-1px) rotate(-1deg)}}
@keyframes popIn{from{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
@media (prefers-reduced-motion:reduce){.content-btn,.content-btn::before,.content-btn::after,.btn-endelea,.btn-endelea::before,.btn-endelea::after{animation:none !important}}
@media (max-width:420px){.content-btn{min-height:104px;padding:.8rem}.content-btn .thumb-wrap,.content-btn video.thumb,.content-btn .thumb{width:84px !important;height:84px !important;flex-basis:84px}.content-btn .inner{min-height:84px}.content-btn .label{font-size:1rem !important}.content-btn .badge{font-size:.64rem;padding:4px 7px}}

/* v9 category access: never combine categories in one list */
.category-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.content-btn .count{font-size:.72rem;color:rgba(255,255,255,.72);font-weight:600}
.unlocked-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:.7rem}
.unlocked-title h3{margin:0}
.access-ok{background:#00c853;color:#fff;font-size:.68rem;font-weight:800;padding:5px 9px;border-radius:20px;white-space:nowrap}
.video-thumb{border:1px solid rgba(255,215,0,.28);box-shadow:0 4px 16px rgba(0,0,0,.25)}
.video-thumb .play-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;text-shadow:0 2px 8px #000;pointer-events:none}
.video-thumb .video-number{position:absolute;left:5px;top:5px;background:rgba(0,0,0,.65);color:#fff;font:700 .65rem 'Outfit';padding:3px 6px;border-radius:8px}
.video-thumb.missing{background:linear-gradient(135deg,#321015,#8f1d2c);}
#unlocked-area{scroll-margin-top:1rem}

/* Button labels: package count/price are intentionally hidden from the cards. */
.content-btn .count { display: none !important; }
.content-btn .category-info .label { display: block; }

/* Button 7 — LiVE */
.content-btn:nth-child(7){background:linear-gradient(135deg,#3b0c12,#8f1726,#d52f45);animation-delay:1.4s}
.content-btn:nth-child(7)::before{animation-delay:1.4s}
.content-btn:nth-child(7)::after{animation-delay:1.4s}

.live-access-card{
  display:flex;flex-direction:column;align-items:center;gap:.7rem;
  padding:1.2rem;border:1px solid rgba(255,215,0,.35);border-radius:18px;
  background:linear-gradient(145deg,rgba(80,8,18,.95),rgba(24,8,12,.96));
  box-shadow:0 10px 28px rgba(0,0,0,.28),0 0 22px rgba(255,30,50,.12);
  text-align:center;
}
.live-icon{font-size:2rem;filter:drop-shadow(0 0 8px rgba(255,30,50,.5))}
.live-text{font-weight:800;color:#fff;font-size:1rem}
.live-button{
  display:inline-flex;align-items:center;justify-content:center;min-width:210px;
  padding:.9rem 1.2rem;border-radius:999px;border:1px solid var(--gold);
  color:#fff;text-decoration:none;font:800 1rem 'Outfit',sans-serif;
  background:linear-gradient(135deg,#e60026,#ff4d4d,#a80020);
  box-shadow:0 0 20px rgba(255,20,50,.28);animation:livePulse 1.7s ease-in-out infinite;
}
.live-button.disabled{opacity:.55;cursor:not-allowed;animation:none}
.live-note{font-size:.7rem;color:var(--muted);line-height:1.4}
@keyframes livePulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.035);filter:brightness(1.16)}}

/* v18: purple energy stays OUTSIDE the buttons + gentle bounce on all 7. */
.content-btn{
  position:relative;
  overflow:visible !important;
  animation:buttonBounce 2.1s ease-in-out infinite !important;
}
/* Purple energy is an outer halo only — it does not fill/grow inside the button. */
.content-btn::after{
  content:"";
  position:absolute;
  inset:-18px;
  border-radius:30px;
  pointer-events:none;
  z-index:-1;
  background:radial-gradient(ellipse at center,
    rgba(168,85,247,.95) 0%,
    rgba(124,58,237,.62) 34%,
    rgba(168,85,247,.28) 58%,
    transparent 76%);
  filter:blur(16px);
  opacity:.42;
  transform:scale(.92);
  animation:purpleOuterGlow 2.25s ease-in-out infinite;
}
.content-btn:nth-child(1)::after{animation-delay:0s}
.content-btn:nth-child(2)::after{animation-delay:.22s}
.content-btn:nth-child(3)::after{animation-delay:.44s}
.content-btn:nth-child(4)::after{animation-delay:.66s}
.content-btn:nth-child(5)::after{animation-delay:.88s}
.content-btn:nth-child(6)::after{animation-delay:1.10s}
.content-btn:nth-child(7)::after{animation-delay:1.32s}

@keyframes purpleOuterGlow{
  0%,100%{opacity:.24;transform:scale(.92)}
  50%{opacity:.98;transform:scale(1.10)}
}

/* Small rhythmic bounce for all seven buttons. */
@keyframes buttonBounce{
  0%,100%{transform:translateY(0) scale(1)}
  12%{transform:translateY(-2px) scale(1.008)}
  24%{transform:translateY(0) scale(1)}
  38%{transform:translateY(-4px) scale(1.014)}
  52%{transform:translateY(0) scale(1)}
  66%{transform:translateY(-2px) scale(1.008)}
  80%{transform:translateY(0) scale(1)}
}
.content-btn:nth-child(1){animation-delay:0s !important}
.content-btn:nth-child(2){animation-delay:.20s !important}
.content-btn:nth-child(3){animation-delay:.40s !important}
.content-btn:nth-child(4){animation-delay:.60s !important}
.content-btn:nth-child(5){animation-delay:.80s !important}
.content-btn:nth-child(6){animation-delay:1s !important}
.content-btn:nth-child(7){animation-delay:1.20s !important}

/* LIVE indicator: a blinking red light beside the LiVE label. */
.content-btn[data-id="7"] .label{
  display:flex !important;
  align-items:center;
  gap:.48rem;
}
.content-btn[data-id="7"] .label::before{
  content:"";
  width:11px;
  height:11px;
  flex:0 0 11px;
  border-radius:50%;
  background:#ff1f35;
  box-shadow:0 0 6px rgba(255,31,53,.9),0 0 18px rgba(255,31,53,.75);
  animation:liveDot 1s ease-in-out infinite;
}
@keyframes liveDot{
  0%,100%{opacity:.28;transform:scale(.72);box-shadow:0 0 3px rgba(255,31,53,.35)}
  50%{opacity:1;transform:scale(1.22);box-shadow:0 0 8px rgba(255,31,53,1),0 0 22px rgba(255,31,53,.95)}
}

/* ONA LiVE hapa: bounce + growth + fade pulse. */
.live-button{
  animation:liveButtonBounce 1.35s ease-in-out infinite !important;
  transform-origin:center;
}
@keyframes liveButtonBounce{
  0%,100%{transform:translateY(0) scale(1);opacity:.72;filter:brightness(.96)}
  20%{transform:translateY(-4px) scale(1.025);opacity:.88;filter:brightness(1.04)}
  42%{transform:translateY(0) scale(1.065);opacity:1;filter:brightness(1.18)}
  58%{transform:translateY(-2px) scale(1.04);opacity:.96;filter:brightness(1.12)}
  78%{transform:translateY(0) scale(1.015);opacity:.82;filter:brightness(1)}
}
.live-button::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:inherit;
  border:1px solid rgba(255,215,0,.5);
  pointer-events:none;
  opacity:.2;
  transform:scale(.94);
  animation:liveButtonRing 1.35s ease-in-out infinite;
}
.live-button{position:relative;isolation:isolate}
@keyframes liveButtonRing{
  0%,100%{opacity:.12;transform:scale(.94)}
  50%{opacity:.82;transform:scale(1.08)}
}
.live-button.disabled::after{display:none}

@media (prefers-reduced-motion:reduce){
  .content-btn,
  .content-btn::after,
  .content-btn[data-id="7"] .label::before,
  .live-button,
  .live-button::after{animation:none !important}
}
