/* ========================================
   RESET
======================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Inter',sans-serif;

background:#ffffff;

color:#0f172a;

overflow-x:hidden;

}

/* ========================================
   CONTAINER
======================================== */

.container{

width:100%;

max-width:1280px;

margin:auto;

padding:0 24px;

}

/* ========================================
   HEADER
======================================== */

#header{

position:fixed;

top:0;

left:0;

width:100%;

z-index:999;

transition:.35s;

}

#header.scrolled{

background:rgba(255,255,255,.92);

backdrop-filter:blur(16px);

box-shadow:
0 10px 40px rgba(0,0,0,.08);

}

.nav{

height:90px;

display:flex;

align-items:center;

justify-content:space-between;

}

/* ========================================
   LOGO
======================================== */

.logo{

text-decoration:none;

font-size:30px;

font-weight:800;

display:flex;

align-items:center;

}

.logo-main{

background:
linear-gradient(
135deg,
#00E5FF,
#6D5DFC
);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

.logo-eu{

color:#0f172a;

}

/* ========================================
   MENU
======================================== */

.menu{

display:flex;

gap:32px;

}

.menu a{

text-decoration:none;

color:#334155;

font-weight:600;

transition:.3s;

}

.menu a:hover{

color:#6D5DFC;

}

/* ========================================
   BOTÕES
======================================== */

.actions{

display:flex;

gap:14px;

align-items:center;

}

.btn-login{

text-decoration:none;

color:#334155;

font-weight:600;

}

.btn-primary{

background:
linear-gradient(
135deg,
#00E5FF,
#6D5DFC
);

color:#fff;

text-decoration:none;

padding:14px 26px;

border-radius:16px;

font-weight:700;

transition:.3s;

display:inline-flex;

align-items:center;

justify-content:center;

}

.btn-primary:hover{

transform:translateY(-2px);

box-shadow:
0 12px 30px rgba(109,93,252,.25);

}

.btn-secondary{

text-decoration:none;

color:#334155;

font-weight:700;

}

/* ========================================
   MOBILE BTN
======================================== */

#mobileBtn{

display:none;

border:none;

background:none;

font-size:28px;

cursor:pointer;

}

/* ========================================
   HERO
======================================== */

.hero{

padding-top:140px;

padding-bottom:100px;

position:relative;

overflow:hidden;

}

/* GLOW */

.hero::before{

content:'';

position:absolute;

width:700px;

height:700px;

background:

radial-gradient(
circle,
rgba(109,93,252,.12),
transparent
);

top:-250px;

right:-150px;

z-index:0;

filter:blur(80px);

}

.hero-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:60px;

align-items:center;

position:relative;

z-index:2;

}

/* ========================================
   BADGE
======================================== */

.badge{

display:inline-flex;

padding:10px 18px;

border-radius:999px;

background:#f4f4ff;

color:#6D5DFC;

font-size:14px;

font-weight:700;

margin-bottom:24px;

}

/* ========================================
   TITULO
======================================== */

.hero h1{

font-size:64px;

line-height:1.05;

font-weight:800;

margin-bottom:24px;

}

.hero h1 span{

background:
linear-gradient(
135deg,
#00E5FF,
#6D5DFC
);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

/* ========================================
   TEXTO
======================================== */

.hero-text{

font-size:18px;

line-height:1.8;

color:#64748b;

margin-bottom:20px;

}

/* ========================================
   DESTAQUE
======================================== */

.hero-highlight{

background:#f8fafc;

padding:18px;

border-radius:18px;

font-weight:700;

margin:30px 0;

border:1px solid #e2e8f0;

}

/* ========================================
   BOTÕES HERO
======================================== */

.hero-buttons{

display:flex;

gap:16px;

margin-bottom:30px;

flex-wrap:wrap;

}

.hero-btn{

min-width:240px;

}

/* ========================================
   FEATURES
======================================== */

.hero-features{

display:flex;

flex-wrap:wrap;

gap:18px;

color:#475569;

font-weight:600;

}

/* ========================================
   MOCKUPS
======================================== */

.hero-right{

position:relative;

display:flex;

justify-content:center;

align-items:center;

}

.desktop-mockup{

width:100%;

max-width:620px;

height:380px;

background:#ffffff;

border-radius:28px;

border:1px solid #e2e8f0;

box-shadow:
0 30px 80px rgba(0,0,0,.10);

display:flex;

align-items:center;

justify-content:center;

font-size:24px;

font-weight:800;

color:#64748b;

}

.mobile-mockup{

position:absolute;

right:-20px;

bottom:-40px;

width:220px;

height:430px;

background:#fff;

border-radius:35px;

border:1px solid #e2e8f0;

box-shadow:
0 25px 60px rgba(0,0,0,.12);

display:flex;

align-items:center;

justify-content:center;

font-weight:700;

color:#64748b;

}

/* ========================================
   IMPACT
======================================== */

.impact{

padding:100px 0;

text-align:center;

background:#f8fafc;

}

.impact h2{

font-size:44px;

margin-bottom:20px;

font-weight:800;

}

.impact p{

max-width:900px;

margin:auto;

font-size:20px;

line-height:1.8;

color:#64748b;

}

.impact-highlight{

margin-top:25px !important;

font-weight:700;

color:#6D5DFC !important;

}

/* ========================================
   RESPONSIVO
======================================== */

@media(max-width:992px){

.menu{

display:none;

}

.actions{

display:none;

}

#mobileBtn{

display:block;

}

.hero-grid{

grid-template-columns:1fr;

}

.hero h1{

font-size:46px;

}

.mobile-mockup{

position:relative;

right:auto;

bottom:auto;

margin-top:20px;

}

.hero-right{

flex-direction:column;

}

}

@media(max-width:768px){

.hero{

padding-top:120px;

}

.hero h1{

font-size:38px;

}

.hero-text{

font-size:16px;

}

.desktop-mockup{

height:240px;

}

.mobile-mockup{

width:180px;

height:340px;

}

.impact h2{

font-size:32px;

}

}

/* ========================================
   TITULOS DE SEÇÃO
======================================== */

.section-title{

text-align:center;

max-width:900px;

margin:auto auto 60px;

}

.section-title h2{

font-size:48px;

font-weight:800;

margin-bottom:20px;

}

.section-title p{

font-size:18px;

color:#64748b;

line-height:1.8;

}

/* ========================================
   BENEFICIOS
======================================== */

.beneficios{

padding:120px 0;

}

.beneficios-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:24px;

}

.beneficio-card{

background:#fff;

border:1px solid #e2e8f0;

border-radius:24px;

padding:32px;

transition:.3s;

}

.beneficio-card:hover{

transform:translateY(-6px);

box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.icon{

font-size:38px;

margin-bottom:16px;

}

.beneficio-card h3{

margin-bottom:12px;

font-size:22px;

}

.beneficio-card p{

color:#64748b;

line-height:1.7;

}

/* ========================================
   DOR
======================================== */

.dor{

padding:120px 0;

background:#f8fafc;

}

.dor-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:20px;

}

.dor-card{

background:#fff;

padding:28px;

border-radius:20px;

font-weight:700;

text-align:center;

}

/* ========================================
   TRANSFORMAÇÃO
======================================== */

.transformacao{

padding:120px 0;

}

.transformacao-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:40px;

}

.antes,
.depois{

padding:40px;

border-radius:24px;

}

.antes{

background:#f8fafc;

}

.depois{

background:linear-gradient(
135deg,
#00E5FF,
#6D5DFC
);

color:#fff;

}

.antes h3,
.depois h3{

font-size:28px;

margin-bottom:24px;

}

.antes ul,
.depois ul{

list-style:none;

}

.antes li,
.depois li{

padding:12px 0;

font-size:18px;

}

/* ========================================
   RESPONSIVO
======================================== */

@media(max-width:992px){

.beneficios-grid{

grid-template-columns:1fr;

}

.dor-grid{

grid-template-columns:1fr;

}

.transformacao-grid{

grid-template-columns:1fr;

}

.section-title h2{

font-size:34px;

}

}

/* ========================================
   PAINEL
======================================== */

.painel{

  padding:120px 0;

  background:#f8fafc;

}

.painel-wrapper{

  position:relative;

  max-width:1100px;

  margin:auto;

}

.painel-desktop{

  background:#fff;

  padding:10px;

  border-radius:28px;

  border:1px solid #edf2f7;

  box-shadow:
    0 20px 50px rgba(0,0,0,.08);

  overflow:hidden;

  line-height:0; /* elimina espaço fantasma */

}

.painel-desktop img{

  width:100%;

  height:auto;

  display:block;

  border-radius:20px;

}

.painel-mobile{

  position:absolute;

  right:-10px;

  bottom:-25px;

  width:220px;

  background:#fff;

  padding:6px;

  border-radius:34px;

  border:1px solid #edf2f7;

  box-shadow:
    0 20px 50px rgba(0,0,0,.10);

  overflow:hidden;

  z-index:10;

}

.painel-mobile img{

  width:100%;

  height:auto;

  display:block;

  border-radius:28px;

}

.painel-features{

  margin-top:60px;

  display:grid;

  grid-template-columns:repeat(6,1fr);

  gap:16px;

}

.painel-features div{

  background:#fff;

  padding:18px;

  border-radius:18px;

  text-align:center;

  font-weight:700;

  border:1px solid #edf2f7;

}

/* ========================================
   COMO FUNCIONA
======================================== */

.funciona{

padding:140px 0;

}

.steps{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:20px;

}

.step{

background:#fff;

border:1px solid #e2e8f0;

border-radius:24px;

padding:28px;

text-align:center;

font-weight:700;

}

.step span{

display:flex;

width:50px;

height:50px;

margin:auto auto 20px;

align-items:center;

justify-content:center;

border-radius:50%;

background:linear-gradient(
135deg,
#00E5FF,
#6D5DFC
);

color:#fff;

font-weight:800;

}

/* ========================================
   TEMAS
======================================== */

.temas{

padding:140px 0;

background:#f8fafc;

}

.temas-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:24px;

}

.tema{

height:240px;

border-radius:28px;

display:flex;

align-items:center;

justify-content:center;

font-size:24px;

font-weight:800;

color:#fff;

box-shadow:
0 20px 40px rgba(0,0,0,.08);

}

.rosa{
background:linear-gradient(135deg,#ff5db1,#ff91cb);
}

.azul{
background:linear-gradient(135deg,#2196f3,#00E5FF);
}

.verde{
background:linear-gradient(135deg,#23c552,#56e97f);
}

.roxo{
background:linear-gradient(135deg,#6D5DFC,#9d91ff);
}

.black{
background:linear-gradient(135deg,#111,#333);
}

.gold{
background:linear-gradient(135deg,#d4a017,#f6d365);
}

/* ========================================
   RESPONSIVO
======================================== */

@media(max-width:992px){

.painel-mobile{

position:relative;

right:auto;

bottom:auto;

margin:20px auto 0;

}

.painel-features{

grid-template-columns:repeat(2,1fr);

}

.steps{

grid-template-columns:1fr;

}

.temas-grid{

grid-template-columns:1fr;

}

}

/* ========================================
   PLANOS
======================================== */

.planos{

padding:140px 0;

}

.planos-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.plano-card{

background:#fff;

border:1px solid #e2e8f0;

border-radius:30px;

padding:40px;

text-align:center;

}

.plano-card h3{

font-size:34px;

margin:20px 0;

}

.plano-badge{

display:inline-block;

padding:10px 18px;

border-radius:999px;

background:#f4f4ff;

color:#6D5DFC;

font-weight:700;

}

.destaque{

border:2px solid #6D5DFC;

transform:scale(1.04);

}

/* ========================================
   SEGURANÇA
======================================== */

.seguranca{

padding:140px 0;

background:#f8fafc;

}

.seguranca-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:24px;

}

.seg-card{

background:#fff;

padding:30px;

border-radius:24px;

font-weight:700;

text-align:center;

}

/* ========================================
   FAQ
======================================== */

.faq{

padding:140px 0;

}

.faq-list{

max-width:900px;

margin:auto;

}

.faq-item{

padding:30px;

border:1px solid #e2e8f0;

border-radius:24px;

margin-bottom:20px;

}

.faq-item h3{

margin-bottom:12px;

}

/* ========================================
   CTA FINAL
======================================== */

.cta-final{

padding:140px 0;

text-align:center;

background:
linear-gradient(
135deg,
#00E5FF,
#6D5DFC
);

color:#fff;

}

.cta-final h2{

font-size:52px;

margin-bottom:20px;

}

.cta-final p{

font-size:20px;

margin-bottom:40px;

}

.cta-big{

font-size:18px;

padding:20px 40px;

background:#fff !important;

color:#6D5DFC !important;

}

/* ========================================
   FOOTER
======================================== */

.footer{

padding:80px 0;

text-align:center;

}

.footer h3{

font-size:34px;

margin-bottom:12px;

}

.footer-links{

display:flex;

justify-content:center;

gap:30px;

margin:30px 0;

flex-wrap:wrap;

}

.footer-links a{

text-decoration:none;

color:#64748b;

}

.copyright{

color:#94a3b8;

}

/* ========================================
   RESPONSIVO FINAL
======================================== */

@media(max-width:992px){

.planos-grid{

grid-template-columns:1fr;

}

.seguranca-grid{

grid-template-columns:1fr;

}

.destaque{

transform:none;

}

.cta-final h2{

font-size:36px;

}

}


.desktop-mockup img{

  width:100%;

  max-width:700px;

  border-radius:24px;

  display:block;

}

.mobile-mockup img{

  width:100%;

  max-width:220px;

  border-radius:28px;

  display:block;

}

.hero-right{

  position:relative;

  display:flex;

  justify-content:center;

  align-items:center;

}


.mobile-mockup{

  position:absolute;

  right:-20px;

  bottom:-30px;

  z-index:2;

}


.painel-desktop img{

  width:100%;

  max-width:900px;

  border-radius:24px;

  display:block;

}


.painel-mobile img{

  width:100%;

  max-width:220px;

  border-radius:28px;

  display:block;

}


.tema-preview img{

  width:100%;

  max-width:900px;

  border-radius:24px;

  display:block;

  margin:auto;

}


.pdf-preview img{

  width:100%;

  max-width:450px;

  border-radius:24px;

}

.preco-destaque{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:#dcfce7;
  color:#15803d;
  font-size:14px;
  font-weight:800;
}

.preco-dia{
  color:#f59e0b;
  font-size:14px;
  font-weight:800;
}

.economia-badge{

  display:inline-block;

  padding:8px 16px;

  border-radius:999px;

  background:#fef3c7;

  color:#b45309;

  font-weight:800;

  margin:10px 0 20px;

}

.preco-antigo{

  font-size:18px;

  color:#94a3b8;

  text-decoration:line-through;

  margin-bottom:8px;

}

.preco-principal{

  font-size:56px;

  font-weight:900;

  line-height:1;

  margin-bottom:10px;

  color:#111827;

}

.preco-destaque{

  display:inline-block;

  padding:8px 14px;

  border-radius:999px;

  background:#dcfce7;

  color:#15803d;

  font-size:14px;

  font-weight:800;

  margin-bottom:10px;

}

.preco-dia{

  font-size:14px;

  color:#f59e0b;

  font-weight:800;

  margin-bottom:20px;

}



.tema-btn{

  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;

}

.tema-cor{

  width:14px;
  height:14px;
  border-radius:50%;
  display:inline-block;

}

.tema-cor.azul{
  background:#3b82f6;
}

.tema-cor.rosa{
  background:#ec4899;
}

.tema-cor.verde{
  background:#22c55e;
}


/* ========================================
   PEDIDO PDF
======================================== */

.pedido-preview{

margin-top:80px;

background:#fff;

border-radius:32px;

padding:50px;

border:1px solid #e2e8f0;

box-shadow:
0 20px 60px rgba(0,0,0,.06);

}

.pedido-content{

display:grid;

grid-template-columns:1fr 1fr;

gap:50px;

align-items:center;

}

.pedido-badge{

display:inline-block;

padding:8px 14px;

border-radius:999px;

background:#eff6ff;

color:#2563eb;

font-size:13px;

font-weight:700;

margin-bottom:20px;

}

.pedido-texto h3{

font-size:32px;

margin-bottom:20px;

}

.pedido-texto ul{

margin:25px 0;

display:grid;

gap:12px;

}

.pedido-imagem img{

width:100%;

display:block;

border-radius:20px;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

}

@media(max-width:768px){

.pedido-content{

grid-template-columns:1fr;

}

.pedido-preview{

padding:25px;

}

}

/* ========================================
   MENU MOBILE
======================================== */

#mobileBtn{

  display:none;

}

@media(max-width:900px){

  #mobileBtn{

    display:block;

    background:none;

    border:none;

    font-size:28px;

    cursor:pointer;

  }

  .menu{

    position:fixed;

    top:80px;

    left:0;

    width:100%;

    background:#fff;

    padding:20px;

    display:none;

    flex-direction:column;

    gap:20px;

    box-shadow:
      0 20px 40px rgba(0,0,0,.08);

    z-index:999;

  }

  .menu.open{

    display:flex;

  }

}

/* ========================================
   PATCH MENU MOBILE OZONTECK
======================================== */

#mobileBtn{

  display:none;

  background:none;

  border:none;

  font-size:28px;

  cursor:pointer;

  color:#111827;

}

/* DESKTOP */

@media(min-width:901px){

  .menu{

    display:flex !important;

    align-items:center;

    gap:30px;

  }

}

/* MOBILE */

@media(max-width:900px){

  .menu{

    position:fixed;

    top:80px;

    left:0;

    width:100%;

    background:#ffffff;

    padding:25px;

    display:none !important;

    flex-direction:column;

    align-items:flex-start;

    gap:18px;

    border-top:1px solid #e5e7eb;

    box-shadow:
      0 20px 50px rgba(0,0,0,.10);

    z-index:9999;

  }

  .menu.open{

    display:flex !important;

  }

  .menu a{

    width:100%;

    padding:10px 0;

    font-size:16px;

    font-weight:600;

  }

  #mobileBtn{

    display:block;

    z-index:10000;

  }

  .actions{

    display:none;

  }

}

/* ========================================
   PATCH TEMAS V2
======================================== */

#temas .section-title{
  margin-bottom:20px !important;
}

.temas-grid{
  margin-bottom:12px !important;
}

.tema-preview{
  margin-top:-3px;
}

.tema-info{
  margin-top:12px;
}

/* ========================================
   BOTÕES DE TEMAS PREMIUM
======================================== */

.tema-btn{

  border:2px solid transparent;

  background:#ffffff;

  border-radius:16px;

  padding:14px 20px;

  font-weight:700;

  font-size:18px;

  cursor:pointer;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease,
    background .25s ease;

  box-shadow:
    0 8px 20px rgba(0,0,0,.06);

}

/* HOVER */

.tema-btn:hover{

  transform:translateY(-2px);

  border-color:rgb(var(--theme-rgb));

  box-shadow:
    0 12px 30px rgba(var(--theme-rgb),.12);

}

/* CLIQUE */

.tema-btn:active{

  transform:scale(.98);

}

/* BOTÃO SELECIONADO */

.tema-btn.active{

  border:2px solid rgb(var(--theme-rgb));

  background:
    linear-gradient(
      135deg,
      rgba(var(--theme-rgb),.10),
      rgba(var(--theme-rgb),.03)
    );

  box-shadow:
    0 0 0 3px rgba(var(--theme-rgb),.18),
    0 12px 30px rgba(var(--theme-rgb),.15);

  transform:translateY(-2px);

}

/* ========================================
   COR INDIVIDUAL DOS TEMAS
======================================== */

.tema-btn[data-theme="azul"].active{

  border-color:#14b8a6;

  box-shadow:
    0 0 0 3px rgba(20,184,166,.18),
    0 12px 30px rgba(20,184,166,.15);

}

.tema-btn[data-theme="rosa"].active{

  border-color:#e55b94;

  box-shadow:
    0 0 0 3px rgba(229,91,148,.18),
    0 12px 30px rgba(229,91,148,.15);

}

.tema-btn[data-theme="verde"].active{

  border-color:#22c55e;

  box-shadow:
    0 0 0 3px rgba(34,197,94,.18),
    0 12px 30px rgba(34,197,94,.15);

}

.tema-btn.active{

  background:#ffffff;

  transform:translateY(-2px);

}

/* ========================================
   CARDS PREMIUM
======================================== */

.beneficio-card,
.dor-card,
.step,
.seg-card,
.faq-item,
.plano-card,
.painel-features div{

  background:#ffffff;

  border:1px solid rgba(109,93,252,.18);

  border-radius:24px;

  position:relative;

  overflow:hidden;

  box-shadow:
    0 10px 25px rgba(15,23,42,.05),
    0 0 0 1px rgba(109,93,252,.04);

  transition:
    all .28s ease;

}

/* brilho permanente */

.beneficio-card::before,
.dor-card::before,
.step::before,
.seg-card::before,
.faq-item::before,
.plano-card::before,
.painel-features div::before{

  content:"";

  position:absolute;

  top:0;

  left:0;

  width:100%;

  height:2px;

  background:
  linear-gradient(
    90deg,
    #00E5FF,
    #6D5DFC
  );

  opacity:.45;

}

/* hover */

.beneficio-card:hover,
.dor-card:hover,
.step:hover,
.seg-card:hover,
.faq-item:hover,
.plano-card:hover,
.painel-features div:hover{

  transform:
  translateY(-6px);

  border-color:
  rgba(109,93,252,.35);

  box-shadow:
    0 20px 50px rgba(109,93,252,.12),
    0 8px 20px rgba(15,23,42,.08);

}

/* clique */

.beneficio-card:active,
.dor-card:active,
.step:active,
.seg-card:active,
.faq-item:active,
.plano-card:active,
.painel-features div:active{

  transform:
  translateY(-1px);

}


/* =====================================
   GLASS MENU PREMIUM
===================================== */

header,
#header,
.site-header,
.navbar,
.topbar{

  position:fixed !important;

  top:0;
  left:0;
  right:0;

  z-index:9999;

  background:
  rgba(255,255,255,.65) !important;

  backdrop-filter:
  blur(18px) saturate(180%) !important;

  -webkit-backdrop-filter:
  blur(18px) saturate(180%) !important;

  border-bottom:
  1px solid rgba(109,93,252,.10);

  box-shadow:
  0 8px 30px rgba(15,23,42,.05);

}
