    /* ============================= */
/* 🔥 WAIOLET AD CARD */
/* ============================= */
body {
    background-color: #050508 !important;
}

/* Esconde as barras de progresso mais comuns (Pace, NProgress e Slim) */
.pace, .nprogress-busy, #nprogress, .loading-bar {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}


.waAdCard{
  display:flex;
  gap:14px;
  padding:16px;
  border-radius:22px;
  text-decoration:none;
  color:#fff;

  background:
    radial-gradient(600px 200px at 20% 0%, rgba(139,92,246,.20), transparent 60%),
    linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.03));

  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 60px rgba(0,0,0,.45);

  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);

  transition: transform .2s ease, box-shadow .2s ease;
}

.waAdCard:active{
  transform: scale(.98);
}

.waAdCard:hover{
  box-shadow:0 25px 80px rgba(139,92,246,.25);
}

/* IMAGEM */
.waAdThumb{
  width:90px;
  height:90px;
  border-radius:18px;
  overflow:hidden;
  flex:0 0 auto;
  background:#0b0b14;
}

.waAdThumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* CONTEÚDO */
.waAdContent{
  flex:1;
  min-width:0;
}

/* TAG */
.waAdBadge{
  display:inline-flex;
  padding:6px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.4px;

  color:#f4e7b6;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.12);

  margin-bottom:8px;
}

/* TÍTULO */
.waAdTitle{
  font-size:16px;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* SUB */
.waAdSub{
  margin-top:4px;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.70);

  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* BOTÃO */
.waAdButton{
  margin-top:12px;
  display:inline-block;
  padding:10px 14px;
  border-radius:14px;
  font-weight:900;

  background:linear-gradient(135deg,#8b5cf6,#a78bfa);
  color:#140a25;

  box-shadow:0 12px 30px rgba(139,92,246,.25);
}

.topbar{
  position: sticky;
  top: 0;
  z-index: 999;
  height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.topbar-side{
  width: 64px;
  display: flex;
  align-items: center;
}

.topbar-side.left{
  justify-content: flex-start;
}

.topbar-side.right{
  justify-content: flex-end;
}

.topbar-center{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.topbar-center .logo{
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.topbar-center .logo img{
  height: 34px;
  width: auto;
  display: block;
  object-fit: contain;
}

.nav-icon{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  transition: .22s ease;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}

.nav-icon:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.14);
}

.nav-icon:active{
  transform: scale(.96);
}

.nav-icon svg{
  display: block;
}

.profile-icon{
  overflow: hidden;
}

/* espaço abaixo do header */
body{
  padding-top: 0;
}

/* mobile */
@media (max-width: 768px){
  .topbar{
    height: 68px;
    padding: 0 12px;
  }

  .topbar-side{
    width: 56px;
  }

  .topbar-center .logo img{
    height: 30px;
  }

  .nav-icon{
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }
}

.nav-icon{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  text-decoration:none;

  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);

  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);

  box-shadow:
  0 8px 20px rgba(0,0,0,.35),
  inset 0 1px 0 rgba(255,255,255,.06);

  transition:.25s ease;
}

.nav-icon svg{
  width:22px;
  height:22px;
  stroke:white;
  stroke-width:2;
  fill:none;
  opacity:.9;
}

/* hover bonito */
.nav-icon:hover{
  transform:translateY(-2px);
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.03));
  box-shadow:
  0 12px 30px rgba(0,0,0,.45),
  0 0 12px rgba(139,92,246,.35);
}

/* clique */
.nav-icon:active{
  transform:scale(.92);
}

/* pesquisa */
.search-icon{
  border-radius:16px;
}

/* perfil */
.profile-icon{
  border-radius:50%;
}
.warning-modal{
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0,0,0,.60);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  animation: warningFade .25s ease;
}

.warning-card{
  position: relative;
  width: 100%;
  max-width: 320px;
  min-height: 180px;
  border-radius: 26px;
  padding: 22px 18px 18px;
  overflow: hidden;

  background:
    linear-gradient(180deg, rgba(20,20,20,.98) 0%, rgba(8,8,8,.98) 100%);
  border: 1px solid rgba(255,60,60,.18);

  box-shadow:
    0 30px 80px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 0 40px rgba(255,40,40,.08);

  animation: warningPop .28s ease;
}

.warning-glow{
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 180px;
  height: 100px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,50,50,.22) 0%, rgba(255,50,50,0) 72%);
  pointer-events: none;
}

.warning-close{
  position: absolute;
  top: 12px;
  right: 12px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 12px;
  cursor: pointer;
  z-index: 2;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.88);
  font-size: 14px;
  font-weight: 900;

  transition: .18s ease;
}

.warning-close:hover{
  background: rgba(255,50,50,.14);
  color: #fff;
  transform: scale(1.04);
}

.warning-close:active{
  transform: scale(.94);
}

.warning-icon-wrap{
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

.warning-icon{
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;

  background:
    linear-gradient(135deg, #ff3b30 0%, #8b0000 100%);
  color: #fff;
  font-size: 26px;
  font-weight: 900;

  box-shadow:
    0 14px 30px rgba(255,59,48,.26),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.warning-content{
  text-align: center;
  margin-top: 14px;
}

.warning-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 12px;

  background: rgba(255,60,60,.10);
  border: 1px solid rgba(255,60,60,.18);
  color: #ff8b8b;

  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1px;
}

.warning-content h3{
  margin: 0 0 8px;
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .2px;
}

.warning-content p{
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.55;
  font-weight: 500;
}

.warning-hide{
  opacity: 0;
  transform: scale(.96);
  pointer-events: none;
  transition: .2s ease;
}

@keyframes warningFade{
  from{ opacity: 0; }
  to{ opacity: 1; }
}

@keyframes warningPop{
  from{
    opacity: 0;
    transform: translateY(12px) scale(.96);
  }
  to{
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 480px){
  .warning-card{
    max-width: 300px;
    min-height: 172px;
    border-radius: 24px;
    padding: 20px 16px 16px;
  }

  .warning-icon{
    width: 50px;
    height: 50px;
    font-size: 24px;
    border-radius: 16px;
  }

  .warning-content h3{
    font-size: 17px;
  }

  .warning-content p{
    font-size: 12.5px;
  }
}

/* --- Overlay: Fundo Preto Absoluto --- */
.w-magic-stream-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000; /* Preto puro para esconder o fundo */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999; /* Garante que fique acima de tudo */
    
    /* Suavidade na saída (quando carregar) */
    opacity: 1;
    visibility: visible;
    transition: opacity 0.6s ease-out, visibility 0.6s ease-out;
}

/* --- Container do Efeito "Metaball" --- */
/* Esta é a mágica: o contraste alto esconde o blur, criando formas orgânicas */
.w-magic-stream-container {
    position: relative;
    width: 80px;  /* Área de órbita */
    height: 80px;
    filter: blur(8px) contrast(20); /* O segredo do efeito orgânico/mágico */
    background-color: #000000; /* Precisa do fundo preto aqui também */
}

/* --- Estilo das Bolinhas (Esferas) --- */
.w-magic-ball {
    position: absolute;
    width: 32px; /* Tamanho da bolinha */
    height: 32px;
    border-radius: 50%;
    background-color: #FFFFFF; /* Cor pura, o filtro cuida da suavidade */
    top: 24px; /* Centraliza verticalmente no container */
    left: 24px; /* Centraliza horizontalmente no container */
    transform-origin: center center;
}

/* --- Animação da Bolinha 1 (Órbita Interna) --- */
.w-ball-1 {
    animation: w-magic-orbit-1 2s infinite ease-in-out;
    box-shadow: 0 0 15px 5px rgba(255, 255, 255, 0.3); /* Leve brilho mágico */
}

/* --- Animação da Bolinha 2 (Órbita Externa/Rastro) --- */
.w-ball-2 {
    animation: w-magic-orbit-2 2s infinite ease-in-out;
    opacity: 0.8; /* Um pouco mais fraca para criar contraste */
}

/* --- Animações Mágicas de Órbita --- */
@keyframes w-magic-orbit-1 {
    0%, 100% {
        transform: translateX(-20px) scale(1);
    }
    50% {
        transform: translateX(20px) scale(1.1); /* Pulsa levemente no meio */
    }
}

@keyframes w-magic-orbit-2 {
    0%, 100% {
        transform: translateX(20px) scale(0.9);
    }
    50% {
        transform: translateX(-20px) scale(1);
    }
}

/* --- Classe para esconder o loader via JS --- */
.w-magic-stream-hidden {
    opacity: 0 !important;
    visibility: hidden !important;
}
/* Fundo totalmente preto e centralização */
.nx-loader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* Container do spinner */
.nx-spinner-container {
  position: relative;
  width: 60px;
  height: 60px;
}

/* O "negocinho" rodando estilo Netflix */
.nx-custom-circle {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 4px solid rgba(255, 255, 255, 0.1); /* Parte opaca do círculo */
  border-top: 4px solid #ffffff; /* A parte branca que brilha */
  border-radius: 50%;
  animation: nx-spin-rotate 1.1s linear infinite;
}

/* Animação suave de rotação */
@keyframes nx-spin-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Portal que ocupa a TELA INTEIRA */
.magic-screen-portal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;
  opacity: 1;
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  visibility: visible;
}

.magic-screen-portal.magic-hidden {
  opacity: 0;
  visibility: hidden;
}

/* Container do Spinner */
.magic-stardust-spinner {
  position: relative;
  width: 38px; /* Um pouco menor para parecer mais nítido */
  height: 38px;
}

/* Estilo dos traços - Mais finos e com brilho suave */
.magic-arc {
  box-sizing: border-box;
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1.5px solid transparent; /* Traço ultra fino */
  border-radius: 50%;
  /* Degradê simulado pelo border-top */
  border-top-color: #ffffff; 
  /* Filtro de brilho para o efeito "encanto" */
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.5));
  animation: magic-ultra-fluid 1.4s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}

/* Delays calculados para rastro contínuo */
.magic-arc:nth-child(1) { animation-delay: -0.3s; }
.magic-arc:nth-child(2) { animation-delay: -0.15s; }
.magic-arc:nth-child(3) { border-top-color: rgba(255, 255, 255, 0.3); }

/* Animação simplificada para evitar "lag" visual */
@keyframes magic-ultra-fluid {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
