:root{
  --ink:#0E0E0E;
  --bg:#0B0B0B;
  --paper:#FFFFFF;
  --mint:hsl(42, 90%, 54%);
  --aqua:#f9c54f;
  --rose:#FFC7D1;
  --muted:#C9CED6;
  --radius:18px;
  --shadow:0 14px 40px rgba(0,0,0,.18);
}
html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{background:var(--bg); color:#fff; font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, Noto Sans;}
a{text-decoration:none}
:focus-visible{outline:2px solid var(--aqua); outline-offset:3px; border-radius:10px}
.header-blur{ backdrop-filter: blur(8px); background: rgba(0,0,0,.6); border-bottom:1px solid rgba(255,255,255,.08) }
.glass{ background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius); box-shadow:var(--shadow) }
.card{ background:#0E0E0E; border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden }
.badge{ display:inline-flex; align-items:center; gap:.4rem; padding:.25rem .6rem; border-radius:999px; font-size:.75rem; font-weight:700; border:1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.07)}
.btn{ display:inline-flex; align-items:center; gap:.6rem; border-radius:999px; padding:.9rem 1.2rem; font-weight:800; transition: transform .12s ease, box-shadow .2s ease, background .2s ease; box-shadow:0 8px 20px rgba(247, 224, 26, 0.25) }
.btn:hover{ transform: translateY(-1px) }
.btn:active{ transform: translateY(0) }
.btn-primary{ background: linear-gradient(180deg, var(--aqua), var(--mint)); color:#0E0E0E }
.btn-dark{ background:#111; color:#fff; box-shadow:0 8px 20px rgba(0,0,0,.35) }
.price{ font-weight:800; font-size:1.2rem }
.tag{ font-size:.8rem; color:#f9c54f }
.faq h3{ cursor:pointer }
.sticky-cta{ position:fixed; bottom:14px; left:50%; transform:translateX(-50%); z-index:50; background:#0F0F0F; border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:.6rem; display:flex; gap:.6rem; box-shadow:var(--shadow) }
.sticky-cta a{ padding:.6rem 1rem; border-radius:999px; }
.hero-grad{ background: radial-gradient(900px 400px at 15% -10%, rgba(250, 234, 7, 0.22), transparent 60%), radial-gradient(900px 500px at 85% 10%, rgba(224, 226, 115, 0.18), transparent 60%); }
.table{ width:100%; border-collapse: collapse; }
.table td{ padding:.6rem .3rem; border-bottom:1px dashed rgba(255,255,255,.1) }
footer a{ color:#fff; opacity:.8 }
footer a:hover{ opacity:1 }

/* =============================================== */
/* Estilos Modernos para Menu Mobile               */
/* =============================================== */

/* Estilo base para os links no menu gaveta */
.menu-link {
  display: flex;
  align-items: center;
  gap: 0.8rem; /* Espaço entre ícone e texto */
  padding: 0.8rem 1rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  border-radius: 8px;
  text-decoration: none;
  transform: translateX(-20px);
  opacity: 0;
  animation: slideIn 0.4s forwards;
}

/* Efeito ao passar o mouse */
.menu-link:hover {
  background-color: rgba(255, 255, 255, 0.07);
  color: #FFFFFF;
}

/* Animação de entrada dos links */
@keyframes slideIn {
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Atraso na animação para cada link (efeito cascata) */
#mobile-menu.is-open .menu-link:nth-child(1) { animation-delay: 0.1s; }
#mobile-menu.is-open .menu-link:nth-child(2) { animation-delay: 0.15s; }
#mobile-menu.is-open .menu-link:nth-child(3) { animation-delay: 0.2s; }
#mobile-menu.is-open .menu-link:nth-child(4) { animation-delay: 0.25s; }

/* Reset da animação quando o menu fecha */
#mobile-menu:not(.is-open) .menu-link {
  opacity: 0;
  transform: translateX(-20px);
}