/* ===========================================================
   Universo Promos — shared stylesheet
   =========================================================== */

:root{
  --bg-deep:#0a0616;
  --bg-mid:#150a30;
  --purple:#6d28d9;
  --purple-2:#4c1d95;
  --magenta:#c084fc;
  --gold:#ffc84d;
  --off-white:#f4f0ff;
  --line:rgba(244,240,255,0.14);
  --max-w:1100px;
  --max-w-article:720px;

  --ml-yellow:#fee600;
  --amazon-orange:#ff9900;
  --shopee-orange:#ee4d2d;
  --aliexpress-red:#e62e04;
  --instant-teal:#38c6d9;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:96px;}
body{
  margin:0;
  background:var(--bg-deep);
  color:var(--off-white);
  font-family:'Manrope',sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Unbounded',sans-serif;
  margin:0;
  line-height:1.15;
  letter-spacing:-0.01em;
}
a{color:inherit;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--max-w); margin:0 auto; padding:0 24px;}
.eyebrow{
  font-family:'Manrope',sans-serif;
  font-weight:800;
  font-size:0.72rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--magenta);
}
.hidden{display:none !important;}

/* ---------- starfield background ---------- */
.stars{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(1.5px 1.5px at 20px 30px, #fff, transparent),
    radial-gradient(1px 1px at 90px 120px, #fff, transparent),
    radial-gradient(1.5px 1.5px at 160px 60px, #fff, transparent),
    radial-gradient(1px 1px at 230px 180px, #fff, transparent),
    radial-gradient(1px 1px at 300px 40px, #fff, transparent),
    radial-gradient(1.5px 1.5px at 40px 200px, #fff, transparent),
    radial-gradient(1px 1px at 130px 260px, #fff, transparent),
    radial-gradient(1px 1px at 260px 240px, #fff, transparent),
    radial-gradient(1.5px 1.5px at 340px 140px, #fff, transparent),
    radial-gradient(1px 1px at 10px 280px, #fff, transparent);
  background-repeat:repeat;
  background-size:360px 300px;
  opacity:0.55;
  animation:drift 90s linear infinite;
}
.glow-a, .glow-b{
  position:fixed; z-index:0; pointer-events:none; filter:blur(90px); opacity:0.5;
}
.glow-a{
  top:-10%; left:50%; width:700px; height:700px; margin-left:-350px;
  background:radial-gradient(circle, var(--purple) 0%, transparent 70%);
  transform:translate3d(0, calc(var(--parallax-y, 0px) * 0.12), 0);
}
.glow-b{
  bottom:-15%; right:-10%; width:600px; height:600px;
  background:radial-gradient(circle, var(--magenta) 0%, transparent 70%);
  opacity:0.28;
  transform:translate3d(0, calc(var(--parallax-y, 0px) * -0.08), 0);
}
@keyframes drift{ from{background-position:0 0;} to{background-position:-360px 300px;} }

/* ---------- scroll reveal ---------- */
.reveal{
  opacity:0; transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
  will-change:opacity, transform;
}
.reveal.is-visible{opacity:1; transform:translateY(0);}

main{position:relative; z-index:1;}

/* ---------- header / nav ---------- */
header{
  padding:18px 0;
  position:sticky; top:0; z-index:50;
  background:rgba(10,6,22,0.5);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
header.is-scrolled{
  background:rgba(10,6,22,0.78);
  border-bottom-color:var(--line);
  box-shadow:0 10px 30px -15px rgba(0,0,0,0.5);
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:20px;}
.brand{display:flex; align-items:center; gap:10px; font-family:'Unbounded',sans-serif; font-weight:800; font-size:1rem; text-decoration:none;}
.brand img{width:34px; height:34px; border-radius:50%;}
.nav-links{display:flex; align-items:center; gap:28px;}
.nav-links a{
  text-decoration:none; font-weight:700; font-size:0.88rem;
  color:rgba(244,240,255,0.7);
  transition:color .15s ease;
}
.nav-links a:hover, .nav-links a.active{color:var(--off-white);}
.nav-right{display:flex; align-items:center; gap:18px;}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Manrope',sans-serif; font-weight:800; font-size:0.9rem;
  padding:12px 22px; border-radius:999px; text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn-primary{
  background:var(--gold); color:#241300;
  box-shadow:0 0 0 0 rgba(255,200,77,0.5);
}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,200,77,0.35);}
.btn-ghost{
  border:1px solid var(--line); color:var(--off-white); font-weight:700; font-size:0.85rem;
}
.btn-ghost:hover{border-color:var(--magenta);}

/* ---------- hero ---------- */
.hero{padding:96px 0 60px; text-align:center;}
.hero .rocket-logo{width:120px; height:120px; margin:0 auto 28px; border-radius:50%; animation:float 5s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);}}
.hero h1{font-size:clamp(2.2rem, 5vw, 3.6rem); font-weight:900; max-width:820px; margin:0 auto;}
.hero h1 span{color:var(--gold);}
.hero p{max-width:600px; margin:22px auto 36px; color:rgba(244,240,255,0.75); font-size:1.08rem;}
.hero-cta{display:flex; flex-direction:column; align-items:center; gap:14px;}
.hero-cta small{color:rgba(244,240,255,0.5); font-size:0.82rem;}

/* smaller page hero (for inner pages) */
.page-hero{padding:70px 0 30px;}
.page-hero h1{font-size:clamp(1.8rem, 4vw, 2.6rem);}
.page-hero p{max-width:640px; color:rgba(244,240,255,0.7); margin-top:14px; font-size:1rem;}

/* ---------- section shell ---------- */
section{padding:70px 0;}
.section-head{max-width:620px; margin:0 0 40px;}
.section-head h2{font-size:clamp(1.6rem,3.4vw,2.2rem); margin-top:10px;}
.section-head p{color:rgba(244,240,255,0.7); margin-top:12px;}

/* ---------- link generator ---------- */
.generator-card{
  max-width:720px; margin:0 auto;
  background:rgba(244,240,255,0.03);
  border:1px solid var(--line);
  border-radius:20px;
  padding:32px;
  box-shadow:0 20px 50px -10px rgba(0,0,0,0.3);
}
.generator-form{display:flex; gap:12px;}
.generator-form input[type="url"]{
  flex:1;
  background:rgba(10,6,22,0.7);
  border:1px solid var(--line);
  border-radius:999px;
  padding:14px 22px;
  color:var(--off-white);
  font-family:'Manrope',sans-serif;
  font-size:0.95rem;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.generator-form input[type="url"]:focus{
  outline:none; border-color:var(--magenta);
  box-shadow:0 0 0 3px rgba(192,132,252,0.15);
}

#loading-state{
  margin-top:24px; text-align:center; color:var(--magenta);
  font-weight:700; font-size:0.9rem; animation:pulse 1.5s infinite;
}
@keyframes pulse{0%,100%{opacity:1;} 50%{opacity:0.5;}}

#error-state{
  margin-top:20px; padding:14px 18px; border-radius:14px;
  background:rgba(238,77,45,0.1); border:1px solid rgba(238,77,45,0.35);
  color:#ffb199; font-size:0.88rem; text-align:center;
}

.result-container{
  margin-top:24px; padding-top:24px; border-top:1px dashed var(--line);
  animation:fadeIn .4s ease;
}
@keyframes fadeIn{from{opacity:0; transform:translateY(-10px);} to{opacity:1; transform:translateY(0);}}

.result-box{display:flex; align-items:center; gap:12px; margin-top:12px; flex-wrap:wrap;}
.generated-link{
  flex:1 1 240px; width:100%; min-width:0; box-sizing:border-box;
  background:rgba(192,132,252,0.08);
  border:1px solid rgba(192,132,252,0.4);
  border-radius:999px;
  padding:12px 20px;
  color:var(--gold);
  font-weight:700;
  font-family:'Manrope',sans-serif;
  text-decoration:none;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.generated-link:hover{border-color:var(--gold);}
.result-box .btn{flex:none;}

/* ---------- banner carousel ("Ofertas da semana") ---------- */

.carousel-card{
  border:1px solid var(--line); border-radius:20px; padding:28px;
  background:linear-gradient(160deg, rgba(109,40,217,0.10), rgba(192,132,252,0.03));
}
.banner-carousel{position:relative;}
.carousel-track{display:grid;}
.carousel-slide{
  grid-area:1 / 1;
  display:flex; align-items:center; justify-content:center;
  padding:8px 48px;
  opacity:0; visibility:hidden;
  transition:opacity .5s ease;
}
.carousel-slide.is-active{opacity:1; visibility:visible; position:relative; z-index:2;}
.carousel-img{max-width:100%; height:auto; border-radius:10px; display:block;}

/* Força o banner dinâmico da Instant Gaming a ocupar 100% da largura */
.ig-banner-destaque {
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
}

.ig-banner-destaque iframe,
.ig-banner-destaque div {
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
}

.carousel-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:50%;
  border:1px solid var(--line); background:rgba(10,6,22,0.6);
  color:var(--off-white); font-size:1.3rem; line-height:1; padding:0;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:border-color .15s ease, background .15s ease;
  z-index:3;
}
.carousel-arrow:hover{border-color:var(--magenta); background:rgba(192,132,252,0.18);}
.carousel-arrow.prev{left:0;}
.carousel-arrow.next{right:0;}

.carousel-dots{display:flex; justify-content:center; align-items:center; gap:8px; margin-top:20px;}
.carousel-dot{
  width:8px; height:8px; border-radius:50%; padding:0; border:none;
  background:rgba(244,240,255,0.25); cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.carousel-dot:hover{background:rgba(244,240,255,0.5);}
.carousel-dot.is-active{background:var(--gold); transform:scale(1.3);}

/* ---------- store partner grid ---------- */
.store-grid{
  display:grid; grid-template-columns:repeat(5, 1fr); gap:16px;
}
.store-card{
  border:1px solid var(--line); border-radius:16px; padding:22px 16px;
  text-align:center; background:rgba(244,240,255,0.03);
}
.store-card .dot{width:10px; height:10px; border-radius:50%; margin:0 auto 12px;}
.store-card strong{display:block; font-family:'Unbounded',sans-serif; font-size:0.85rem;}
.store-card.ml .dot{background:var(--ml-yellow);}
.store-card.amazon .dot{background:var(--amazon-orange);}
.store-card.shopee .dot{background:var(--shopee-orange);}
.store-card.aliexpress .dot{background:var(--aliexpress-red);}
.store-card.instant .dot{background:var(--instant-teal);}

/* ---------- tutorial tabs ---------- */
.tab-switch input{position:absolute; opacity:0; pointer-events:none;}
.tab-labels{
  display:inline-flex; gap:6px; padding:6px; flex-wrap:wrap; justify-content:center;
  background:rgba(244,240,255,0.05); border:1px solid var(--line);
  border-radius:999px; margin-bottom:36px;
}
.tab-labels label{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px; border-radius:999px; cursor:pointer;
  font-family:'Unbounded',sans-serif; font-weight:700; font-size:0.78rem;
  color:rgba(244,240,255,0.55);
  transition:background .2s ease, color .2s ease;
}
.tab-labels label .dot{width:9px; height:9px; border-radius:50%; flex:none;}
.tab-labels label[for="tab-ml"] .dot{background:var(--ml-yellow);}
.tab-labels label[for="tab-amazon"] .dot{background:var(--amazon-orange);}
.tab-labels label[for="tab-shopee"] .dot{background:var(--shopee-orange);}
.tab-labels label[for="tab-aliexpress"] .dot{background:var(--aliexpress-red);}
.tab-labels label[for="tab-instant"] .dot{background:var(--instant-teal);}
#tab-ml:checked ~ .tab-labels label[for="tab-ml"],
#tab-amazon:checked ~ .tab-labels label[for="tab-amazon"],
#tab-shopee:checked ~ .tab-labels label[for="tab-shopee"],
#tab-aliexpress:checked ~ .tab-labels label[for="tab-aliexpress"],
#tab-instant:checked ~ .tab-labels label[for="tab-instant"]{
  background:rgba(244,240,255,0.12); color:var(--off-white);
}
.tab-panels .panel{display:none;}
#tab-ml:checked ~ .tab-panels .panel-ml{display:block;}
#tab-amazon:checked ~ .tab-panels .panel-amazon{display:block;}
#tab-shopee:checked ~ .tab-panels .panel-shopee{display:block;}
#tab-aliexpress:checked ~ .tab-panels .panel-aliexpress{display:block;}
#tab-instant:checked ~ .tab-panels .panel-instant{display:block;}

.platform-tag{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Unbounded',sans-serif; font-weight:700; font-size:0.78rem;
  padding:6px 14px; border-radius:999px; margin-bottom:18px;
}
.platform-tag .dot{width:8px; height:8px; border-radius:50%;}
.platform-tag.ml{background:rgba(254,230,0,0.1); border:1px solid rgba(254,230,0,0.3); color:#fee600;}
.platform-tag.amazon{background:rgba(255,153,0,0.1); border:1px solid rgba(255,153,0,0.35); color:#ffb84d;}
.platform-tag.shopee{background:rgba(238,77,45,0.12); border:1px solid rgba(238,77,45,0.35); color:#ff8266;}
.platform-tag.aliexpress{background:rgba(230,46,4,0.12); border:1px solid rgba(230,46,4,0.35); color:#ff6b47;}
.platform-tag.instant{background:rgba(56,198,217,0.12); border:1px solid rgba(56,198,217,0.35); color:#7fe3f0;}

.tutorial-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.steps{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:22px;}
.steps li{display:flex; gap:16px; align-items:flex-start;}
.step-num{
  flex:none; width:34px; height:34px; border-radius:10px;
  background:rgba(192,132,252,0.12); border:1px solid rgba(192,132,252,0.35);
  display:flex; align-items:center; justify-content:center;
  font-family:'Unbounded',sans-serif; font-weight:700; font-size:0.85rem; color:var(--magenta);
}
.step-text strong{display:block; font-size:1rem; margin-bottom:3px;}
.step-text span{color:rgba(244,240,255,0.65); font-size:0.92rem;}

/* phone mockup */
.phone-stage{display:flex; justify-content:center;}
.phone{
  width:280px; border-radius:42px; padding:14px;
  background:linear-gradient(160deg, #1c0f3d, #0a0616);
  border:1px solid rgba(192,132,252,0.3);
  box-shadow:0 30px 80px -20px rgba(109,40,217,0.55), inset 0 0 0 1px rgba(255,255,255,0.03);
  position:relative;
}
.phone::before{
  content:""; position:absolute; top:26px; left:50%; transform:translateX(-50%);
  width:70px; height:6px; border-radius:99px; background:rgba(244,240,255,0.15);
}
.phone-screen{
  margin-top:26px; border-radius:28px; aspect-ratio:9/18; background:#0d0620;
  overflow:hidden; position:relative; display:flex; align-items:center; justify-content:center;
}
.phone-screen img{width:100%; height:100%; object-fit:cover;}
.phone-screen .gif-placeholder{text-align:center; padding:20px; color:rgba(244,240,255,0.5); font-size:0.82rem;}
.phone-screen .gif-placeholder strong{display:block; color:var(--off-white); font-family:'Unbounded',sans-serif; font-size:0.85rem; margin-bottom:6px;}

/* ---------- qr code ---------- */
.qr-block{display:flex; flex-direction:column; align-items:center; gap:22px; text-align:center;}
.qr-card{
  width:230px; background:#ffffff; border-radius:24px; padding:20px;
  box-shadow:0 30px 70px -20px rgba(109,40,217,0.5); border:1px solid rgba(255,255,255,0.6);
}
.qr-card img{width:100%; height:auto; display:block; border-radius:6px;}
.qr-card .qr-placeholder{
  aspect-ratio:1/1; border-radius:6px; border:1.5px dashed rgba(109,40,217,0.4);
  display:flex; align-items:center; justify-content:center;
  color:#5b21b6; font-size:0.78rem; padding:16px; text-align:center;
  font-family:'Manrope',sans-serif;
}
.qr-block small{color:rgba(244,240,255,0.5); font-size:0.82rem; max-width:320px;}

/* ---------- article / blog cards ---------- */
.article-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
.article-card{
  border:1px solid var(--line); border-radius:18px; padding:26px;
  background:rgba(244,240,255,0.03); text-decoration:none;
  display:flex; flex-direction:column; gap:12px;
  transition:border-color .15s ease, transform .15s ease;
}
.article-card:hover{border-color:rgba(192,132,252,0.5); transform:translateY(-3px);}
.article-card .platform-tag{margin-bottom:0;}
.article-card h3{font-size:1.05rem; font-weight:700;}
.article-card p{color:rgba(244,240,255,0.65); font-size:0.9rem; margin:0;}
.article-card .read-more{font-size:0.82rem; font-weight:800; color:var(--magenta); margin-top:auto;}

/* ---------- article page (prose) ---------- */
.article-body{max-width:var(--max-w-article); margin:0 auto;}
.article-body h2{font-size:1.4rem; margin-top:40px; margin-bottom:14px;}
.article-body h3{font-size:1.15rem; margin-top:28px; margin-bottom:10px;}
.article-body p{color:rgba(244,240,255,0.82); margin:0 0 18px; font-size:1.02rem;}
.article-body ul, .article-body ol{color:rgba(244,240,255,0.82); margin:0 0 18px; padding-left:22px;}
.article-body li{margin-bottom:8px;}
.article-body strong{color:var(--off-white);}
.disclosure-note{
  max-width:var(--max-w-article); margin:0 auto 40px;
  border:1px solid rgba(192,132,252,0.35); background:rgba(192,132,252,0.06);
  border-radius:14px; padding:16px 20px; font-size:0.88rem; color:rgba(244,240,255,0.75);
}
.breadcrumb{max-width:var(--max-w-article); margin:0 auto 24px; font-size:0.85rem; color:rgba(244,240,255,0.5);}
.breadcrumb a{color:var(--magenta); text-decoration:none; font-weight:700;}

/* ---------- simple content pages (about/contact/legal) ---------- */
.prose{max-width:var(--max-w-article); margin:0 auto;}
.prose h2{font-size:1.3rem; margin-top:36px; margin-bottom:12px;}
.prose p{color:rgba(244,240,255,0.8); margin:0 0 16px; font-size:1rem;}
.prose ul{color:rgba(244,240,255,0.8); padding-left:22px; margin:0 0 16px;}
.prose li{margin-bottom:8px;}
.contact-cards{display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:var(--max-w-article); margin:0 auto;}
.contact-card{
  border:1px solid var(--line); border-radius:16px; padding:24px;
  background:rgba(244,240,255,0.03); text-align:center;
}
.contact-card strong{display:block; font-family:'Unbounded',sans-serif; font-size:0.95rem; margin-bottom:8px;}
.contact-card a{color:var(--magenta); text-decoration:none; font-weight:700; font-size:0.9rem;}

/* ---------- final cta ---------- */
.final-cta{text-align:center; border-top:1px solid var(--line); padding:80px 0 60px;}
.final-cta h2{font-size:clamp(1.7rem,3.8vw,2.4rem); max-width:600px; margin:0 auto 16px;}
.final-cta p{color:rgba(244,240,255,0.7); max-width:480px; margin:0 auto 30px;}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line); padding:50px 0 40px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; margin-bottom:36px;}
.footer-brand{display:flex; align-items:center; gap:10px; font-family:'Unbounded',sans-serif; font-weight:800; font-size:0.95rem; margin-bottom:12px;}
.footer-brand img{width:28px; height:28px; border-radius:50%;}
.footer-col p{color:rgba(244,240,255,0.55); font-size:0.88rem; margin:0;}
.footer-col h4{font-size:0.78rem; text-transform:uppercase; letter-spacing:0.1em; color:rgba(244,240,255,0.5); margin-bottom:14px;}
.footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.footer-col a{color:rgba(244,240,255,0.7); text-decoration:none; font-size:0.88rem;}
.footer-col a:hover{color:var(--off-white);}
.footer-bottom{
  border-top:1px solid var(--line); padding-top:24px;
  color:rgba(244,240,255,0.4); font-size:0.8rem;
  display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .store-grid{grid-template-columns:repeat(2, 1fr);}
  .article-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr; gap:28px;}
}
@media (max-width:760px){
  .tutorial-grid{grid-template-columns:1fr; gap:40px;}
  .phone-stage{order:-1;}
  .nav-links{display:none;}
  .contact-cards{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .generator-form{flex-direction:column;}
  .result-box{flex-direction:column; align-items:stretch;}
  .generated-link{
    text-align:center; white-space:normal; word-break:break-all; text-overflow:clip;
    border-radius:16px; line-height:1.5;
  }
  .result-box .btn{width:100%; justify-content:center;}
  .carousel-card{padding:20px;}
  .carousel-slide{padding:8px 34px;}
  .carousel-arrow{width:30px; height:30px; font-size:1.05rem;}
}

@media (prefers-reduced-motion: reduce){
  .stars, .hero .rocket-logo{animation:none;}
  html{scroll-behavior:auto;}
  .glow-a, .glow-b{transform:none;}
  .reveal{opacity:1; transform:none; transition:none;}
}
