/* ovoPass - main.css (extraido de index.html) */
:root {
  --dourado: #B8860B;
  --dourado-claro: #D4A017;
  --preto: #1a1a1a;
  --cinza-escuro: #333;
  --cinza: #666;
  --cinza-claro: #f5f5f5;
  --borda: #e8e8e8;
  --branco: #ffffff;
  --verde: #2d7a3a;
  --laranja: #E8772E;
  --laranja-claro: #f59a5b;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--branco); color:var(--preto); -webkit-font-smoothing:antialiased; }

/* NAV */
nav {
  position:fixed; top:0; left:0; right:0;
  background:rgba(255,255,255,0.97); backdrop-filter:blur(10px);
  z-index:100; padding:0 7%; height:100px;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid var(--borda);
}
.nav-logo img { height:90px; object-fit:contain; display:block; }
.nav-links { display:flex; gap:2rem; list-style:none; align-items:center; }
.nav-links a { text-decoration:none; color:var(--cinza); font-size:0.88rem; font-weight:500; transition:color 0.2s; }
.nav-links a:hover { color:var(--preto); }
.btn-nav { background:var(--preto)!important; color:var(--branco)!important; padding:0.55rem 1.3rem!important; border-radius:6px; font-weight:600!important; font-size:0.85rem!important; transition:background 0.2s!important; }
.btn-nav:hover { background:var(--dourado)!important; }
.nav-mobile-btn { display:none; background:none; border:none; cursor:pointer; font-size:1.5rem; }

/* HERO */
/* HERO — layout split 2 colunas */
#hero {
  min-height:auto;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding:120px 7% 60px;
  background:
    radial-gradient(circle at 88% 12%, rgba(232,119,46,0.11), transparent 40%),
    radial-gradient(circle at 6% 88%, rgba(184,134,11,0.08), transparent 35%),
    linear-gradient(180deg, #fffdf8 0%, var(--branco) 62%);
  border-bottom:1px solid var(--borda);
}
/* blobs decorativos flutuantes no fundo do banner */
#hero::before, #hero::after {
  content:''; position:absolute; border-radius:50%; z-index:0;
  filter:blur(46px); pointer-events:none;
}
#hero::before { width:320px; height:320px; background:rgba(232,119,46,0.12); top:-90px; right:7%; animation:blob-float 9s ease-in-out infinite; }
#hero::after { width:280px; height:280px; background:rgba(212,160,23,0.12); bottom:-100px; left:-50px; animation:blob-float 11s ease-in-out infinite reverse; }
@keyframes blob-float { 0%,100%{transform:translate(0,0)} 50%{transform:translate(22px,-26px)} }
.hero-content { position:relative; z-index:1; max-width:640px; flex:1 1 auto; }
.hero-mascote { flex:0 0 36%; display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.hero-mascote::before {
  content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:min(380px,90%); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(232,119,46,0.22), transparent 65%); z-index:0;
}
.hero-mascote img {
  position:relative; z-index:1; width:100%; max-width:380px; height:auto;
  filter:drop-shadow(0 20px 32px rgba(0,0,0,0.18));
  animation:mascote-bob 4.5s ease-in-out infinite;
}
@keyframes mascote-bob { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
.hero-badge { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--borda); color:var(--dourado); font-size:0.73rem; font-weight:600; padding:5px 14px; border-radius:100px; margin-bottom:1rem; letter-spacing:1px; text-transform:uppercase; }
h1 { font-family:'Playfair Display',serif; font-size:clamp(2.4rem,4vw,3.8rem); font-weight:900; line-height:1.1; color:var(--preto); margin-bottom:1rem; letter-spacing:-1px; }
h1 em { font-style:italic; color:var(--dourado); }
.hero-sub { font-size:0.97rem; color:var(--cinza); line-height:1.7; margin-bottom:1.4rem; font-weight:300; max-width:460px; }
.hero-ctas { display:flex; gap:1rem; flex-wrap:wrap; align-items:center; }
.btn-primario { background:var(--preto); color:var(--branco); padding:0.95rem 2rem; border-radius:6px; font-size:0.95rem; font-weight:600; text-decoration:none; border:none; cursor:pointer; transition:background 0.2s; font-family:'DM Sans',sans-serif; }
.btn-primario:hover { background:var(--dourado); }
/* CTA em destaque — anel pulsante + brilho deslizante p/ atrair o clique */
.cta-destaque { position:relative; overflow:hidden; animation:cta-pulse 2.2s ease-out infinite; }
@keyframes cta-pulse {
  0% { box-shadow:0 0 0 0 rgba(232,119,46,0.55); }
  70% { box-shadow:0 0 0 14px rgba(232,119,46,0); }
  100% { box-shadow:0 0 0 0 rgba(232,119,46,0); }
}
.cta-destaque::after {
  content:''; position:absolute; top:0; left:-120%; width:55%; height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,0.4), transparent);
  transform:skewX(-20deg); animation:cta-shine 3.2s ease-in-out infinite;
}
@keyframes cta-shine { 0%{left:-120%} 45%,100%{left:160%} }
.cta-destaque:hover, .cta-destaque:hover::after { animation-play-state:paused; }
@media (prefers-reduced-motion: reduce) {
  .cta-destaque, .cta-destaque::after, .hero-mascote img, #hero::before, #hero::after { animation:none; }
}
.btn-secundario { background:transparent; color:var(--cinza); padding:0.95rem 2rem; border-radius:6px; font-size:0.95rem; font-weight:500; text-decoration:none; border:1px solid var(--borda); cursor:pointer; transition:border-color 0.2s,color 0.2s; }
.btn-secundario:hover { border-color:var(--preto); color:var(--preto); }
.hero-numeros { display:flex; gap:2rem; margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--borda); flex-wrap:wrap; }
.numero-item h3 { font-family:'Playfair Display',serif; font-size:1.9rem; font-weight:900; color:var(--preto); margin-bottom:0.2rem; }
.numero-item p { font-size:0.74rem; color:var(--cinza); letter-spacing:0.3px; text-transform:uppercase; font-weight:500; }

/* SEÇÕES GERAIS */
section { padding:55px 7%; }
.section-label { font-size:0.72rem; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--dourado); margin-bottom:0.8rem; }
h2 { font-family:'Playfair Display',serif; font-size:clamp(1.8rem,2.8vw,2.5rem); font-weight:900; line-height:1.15; color:var(--preto); margin-bottom:0.9rem; letter-spacing:-0.5px; }
h2 em { font-style:italic; color:var(--dourado); }
.secao-desc { font-size:0.97rem; color:var(--cinza); line-height:1.8; max-width:560px; font-weight:300; }

/* COMO FUNCIONA */
#como-funciona { background:var(--cinza-claro); border-top:1px solid var(--borda); border-bottom:1px solid var(--borda); }
.passos-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5px; background:var(--borda); border:1px solid var(--borda); border-radius:10px; overflow:hidden; margin-top:2rem; }
.passo-card { background:var(--branco); padding:2.2rem 1.8rem; position:relative; }
.passo-num { font-family:'Playfair Display',serif; font-size:3rem; font-weight:900; color:var(--borda); line-height:1; margin-bottom:1rem; }
.passo-card h3 { font-size:1rem; font-weight:600; color:var(--preto); margin-bottom:0.5rem; }
.passo-card p { font-size:0.88rem; color:var(--cinza); line-height:1.7; }
.passo-icon { font-size:1.8rem; margin-bottom:0.8rem; }

/* SOBRE */
#sobre { background:var(--branco); }
.sobre-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; margin-top:2.5rem; }
.sobre-texto p { font-size:0.98rem; color:var(--cinza); line-height:1.85; margin-bottom:1.1rem; font-weight:300; }
.sobre-destaques { display:grid; grid-template-columns:1fr 1fr; gap:1.3rem; margin-top:2rem; padding-top:2rem; border-top:1px solid var(--borda); }
.destaque-item h4 { font-size:1.4rem; font-family:'Playfair Display',serif; font-weight:900; color:var(--preto); margin-bottom:0.2rem; }
.destaque-item p { font-size:0.8rem; color:var(--cinza); }
.sobre-imagem { background:var(--cinza-claro); border-radius:12px; height:460px; display:flex; align-items:center; justify-content:center; border:1px solid var(--borda); overflow:hidden; position:relative; }
.sobre-imagem img { max-width:68%; object-fit:contain; opacity:0.8; }
.sobre-imagem-tag { position:absolute; bottom:20px; left:20px; background:var(--branco); border:1px solid var(--borda); border-radius:8px; padding:0.9rem 1.2rem; font-size:0.82rem; color:var(--cinza-escuro); font-weight:500; line-height:1.5; }
.sobre-imagem-tag strong { display:block; color:var(--preto); font-weight:700; font-size:1rem; }

/* BENEFÍCIOS */
#beneficios { background:var(--cinza-claro); border-top:1px solid var(--borda); border-bottom:1px solid var(--borda); }
.beneficios-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px; margin-top:2rem; border:1px solid var(--borda); border-radius:10px; overflow:hidden; background:var(--borda); }
.beneficio-card { background:var(--branco); padding:2rem 1.8rem; }
.beneficio-num { font-family:'Playfair Display',serif; font-size:2rem; font-weight:900; color:var(--borda); margin-bottom:0.8rem; line-height:1; }
.beneficio-card h3 { font-size:0.97rem; font-weight:600; color:var(--preto); margin-bottom:0.5rem; }
.beneficio-card p { font-size:0.86rem; color:var(--cinza); line-height:1.7; }

/* MISSÃO/VISÃO */
#missao { background:var(--branco); }
.mv-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5px; background:var(--borda); border:1px solid var(--borda); border-radius:10px; overflow:hidden; margin-top:2rem; }
.mv-card { background:var(--branco); padding:2.3rem 2rem; }
.mv-card-label { font-size:0.7rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--dourado); margin-bottom:0.8rem; }
.mv-card h3 { font-family:'Playfair Display',serif; font-size:1.3rem; font-weight:700; color:var(--preto); margin-bottom:0.8rem; line-height:1.3; }
.mv-card p { font-size:0.9rem; color:var(--cinza); line-height:1.8; font-weight:300; }

/* PLANOS */
#planos { background:var(--cinza-claro); border-top:1px solid var(--borda); border-bottom:1px solid var(--borda); }
.planos-header { margin-bottom:3rem; }
.planos-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px; background:var(--borda); border:1px solid var(--borda); border-radius:10px; overflow:hidden; }
.plano-card { background:var(--branco); padding:2.3rem 2rem; display:flex; flex-direction:column; position:relative; }
.plano-card.destaque { background:var(--preto); }
.plano-badge { display:inline-flex; align-items:center; gap:6px; font-size:0.68rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--dourado); border:1px solid var(--dourado); padding:4px 12px; border-radius:100px; margin-bottom:1.3rem; width:fit-content; }
.plano-nome { font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:900; color:var(--preto); margin-bottom:0.3rem; }
.plano-card.destaque .plano-nome { color:var(--branco); }
.plano-freq { font-size:0.78rem; color:var(--cinza); letter-spacing:0.5px; margin-bottom:1.5rem; font-weight:500; }
.plano-card.destaque .plano-freq { color:rgba(255,255,255,0.5); }
.plano-preco { font-size:2.6rem; font-weight:700; color:var(--preto); line-height:1; margin-bottom:0.3rem; font-family:'Playfair Display',serif; }
.plano-card.destaque .plano-preco { color:var(--branco); }
.plano-preco span { font-size:0.95rem; font-weight:400; color:var(--cinza); font-family:'DM Sans',sans-serif; }
.plano-card.destaque .plano-preco span { color:rgba(255,255,255,0.4); }
.plano-centavos { font-size:1.6rem; font-family:'DM Sans',sans-serif; font-weight:500; }
.plano-em-breve { font-size:0.76rem; color:var(--dourado); margin-bottom:1.8rem; font-weight:600; letter-spacing:0.3px; }
.plano-card.destaque .plano-em-breve { color:#f0c040; }
.plano-sep { border:none; border-top:1px solid var(--borda); margin-bottom:1.4rem; }
.plano-card.destaque .plano-sep { border-color:rgba(255,255,255,0.1); }
.plano-detalhes { list-style:none; margin-bottom:1.8rem; flex:1; }
.plano-detalhes li { display:flex; align-items:flex-start; gap:9px; font-size:0.88rem; color:var(--cinza); padding:0.45rem 0; border-bottom:1px solid var(--borda); }
.plano-card.destaque .plano-detalhes li { color:rgba(255,255,255,0.7); border-color:rgba(255,255,255,0.08); }
.plano-detalhes li:last-child { border-bottom:none; }
.check { color:var(--dourado); flex-shrink:0; font-size:0.95rem; }
.btn-plano { display:block; text-align:center; background:var(--preto); color:var(--branco); padding:0.85rem; border-radius:6px; font-weight:600; text-decoration:none; transition:background 0.2s; border:none; cursor:pointer; font-size:0.88rem; font-family:'DM Sans',sans-serif; width:100%; }
.btn-plano:hover { background:var(--dourado); }
.plano-card.destaque .btn-plano { background:var(--branco); color:var(--preto); }
.plano-card.destaque .btn-plano:hover { background:var(--dourado); color:var(--branco); }
.planos-nota { text-align:center; margin-top:1.8rem; font-size:0.8rem; color:var(--cinza); }

/* DEPOIMENTOS — carrossel */
#depoimentos { background:var(--branco); }
.depo-carousel { position:relative; margin-top:2rem; }
.depo-track {
  display:flex; gap:1.5rem; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; padding:0.5rem 0.2rem 1rem;
  -ms-overflow-style:none; scrollbar-width:none;
}
.depo-track::-webkit-scrollbar { display:none; }
.depo-track .depo-card { scroll-snap-align:start; flex:0 0 calc((100% - 3rem) / 3); }
.depo-nav {
  position:absolute; top:46%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%; border:1px solid var(--borda);
  background:var(--branco); color:var(--preto); font-size:1.5rem; line-height:1;
  cursor:pointer; z-index:2; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 16px rgba(0,0,0,0.1);
}
.depo-nav:hover { background:var(--laranja); color:var(--branco); border-color:var(--laranja); }
.depo-nav.prev { left:-12px; } .depo-nav.next { right:-12px; }
.depo-dots { display:flex; gap:8px; justify-content:center; margin-top:0.6rem; }
.depo-dot { width:8px; height:8px; border-radius:50%; background:var(--borda); border:none; cursor:pointer; padding:0; transition:all 0.2s; }
.depo-dot.active { background:var(--laranja); width:22px; border-radius:4px; }
.depo-card { background:var(--cinza-claro); border:1px solid var(--borda); border-radius:12px; padding:1.8rem; }
.depo-estrelas { color:var(--dourado); font-size:0.9rem; margin-bottom:0.9rem; letter-spacing:2px; }
.depo-texto { font-size:0.92rem; color:var(--cinza-escuro); line-height:1.75; margin-bottom:1.2rem; font-style:italic; font-weight:300; }
.depo-autor { display:flex; align-items:center; gap:10px; }
.depo-avatar { width:36px; height:36px; border-radius:50%; background:var(--borda); display:flex; align-items:center; justify-content:center; font-size:0.85rem; font-weight:600; color:var(--cinza-escuro); flex-shrink:0; }
.depo-nome { font-size:0.85rem; font-weight:600; color:var(--preto); }
.depo-bairro { font-size:0.76rem; color:var(--cinza); }

/* FAQ */
#faq { background:var(--cinza-claro); border-top:1px solid var(--borda); border-bottom:1px solid var(--borda); }
.faq-wrap { margin-top:2rem; max-width:760px; }
.faq-item { border-bottom:1px solid var(--borda); }
.faq-item:last-child { border-bottom:none; }
.faq-pergunta { width:100%; background:none; border:none; text-align:left; padding:1.2rem 0; font-size:0.97rem; font-weight:600; color:var(--preto); cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; font-family:'DM Sans',sans-serif; }
.faq-icone { color:var(--dourado); font-size:1.2rem; flex-shrink:0; transition:transform 0.2s; }
.faq-item.aberto .faq-icone { transform:rotate(45deg); }
.faq-resposta { display:none; padding-bottom:1.2rem; font-size:0.91rem; color:var(--cinza); line-height:1.8; font-weight:300; }
.faq-item.aberto .faq-resposta { display:block; }

/* COBERTURA / CEP */
#cobertura { background:var(--branco); }
.cobertura-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; margin-top:2.5rem; }
.cep-box { background:var(--cinza-claro); border:1px solid var(--borda); border-radius:12px; padding:2rem; }
.cep-box h3 { font-family:'Playfair Display',serif; font-size:1.3rem; font-weight:700; color:var(--preto); margin-bottom:0.6rem; }
.cep-box p { font-size:0.88rem; color:var(--cinza); margin-bottom:1.4rem; line-height:1.6; }
.cep-input-wrap { display:flex; gap:0.8rem; }
.cep-input { flex:1; background:var(--branco); border:1.5px solid var(--borda); border-radius:6px; padding:0.8rem 1rem; font-size:0.95rem; color:var(--preto); font-family:'DM Sans',sans-serif; outline:none; transition:border-color 0.2s; }
.cep-input:focus { border-color:var(--preto); }
.btn-cep { background:var(--preto); color:var(--branco); border:none; padding:0.8rem 1.5rem; border-radius:6px; font-weight:600; cursor:pointer; font-family:'DM Sans',sans-serif; font-size:0.88rem; transition:background 0.2s; white-space:nowrap; }
.btn-cep:hover { background:var(--dourado); }
.cep-resultado { margin-top:1rem; padding:0.9rem 1rem; border-radius:6px; font-size:0.88rem; font-weight:500; display:none; }
.cep-ok { background:#e8f5e9; color:var(--verde); border:1px solid #c8e6c9; }
.cep-nok { background:#fce4ec; color:#c62828; border:1px solid #ffcdd2; }
.bairros-lista { margin-top:0.8rem; }
.bairros-lista h4 { font-size:0.78rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--cinza); margin-bottom:0.8rem; }
.bairros-tags { display:flex; flex-wrap:wrap; gap:0.5rem; }
.bairro-tag { background:var(--cinza-claro); border:1px solid var(--borda); border-radius:100px; padding:4px 12px; font-size:0.78rem; color:var(--cinza-escuro); }
.mapa-placeholder { background:var(--cinza-claro); border:1px solid var(--borda); border-radius:12px; height:340px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:0.8rem; }
.mapa-placeholder span { font-size:2.5rem; }
.mapa-placeholder p { font-size:0.88rem; color:var(--cinza); text-align:center; }

/* CADASTRO */
#cadastro { background:var(--cinza-claro); border-top:1px solid var(--borda); }
.cadastro-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:50px; margin-top:2rem; align-items:start; }
.cadastro-info h3 { font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:700; color:var(--preto); margin-bottom:0.9rem; line-height:1.3; }
.cadastro-info p { font-size:0.9rem; color:var(--cinza); line-height:1.8; margin-bottom:1.3rem; font-weight:300; }
.cadastro-item { display:flex; align-items:flex-start; gap:11px; padding:0.9rem 0; border-bottom:1px solid var(--borda); }
.cadastro-item:last-child { border-bottom:none; }
.cadastro-item-num { width:26px; height:26px; border-radius:50%; border:1px solid var(--borda); display:flex; align-items:center; justify-content:center; font-size:0.72rem; font-weight:600; color:var(--cinza); flex-shrink:0; margin-top:2px; }
.cadastro-item-texto h4 { font-size:0.9rem; font-weight:600; color:var(--preto); margin-bottom:0.2rem; }
.cadastro-item-texto p { font-size:0.8rem; color:var(--cinza); }
.form-box { background:var(--branco); border:1px solid var(--borda); border-radius:12px; padding:2.2rem; }
.form-box h3 { font-family:'Playfair Display',serif; font-size:1.2rem; font-weight:700; color:var(--preto); margin-bottom:1.4rem; padding-bottom:1rem; border-bottom:1px solid var(--borda); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-full { grid-column:1/-1; }
.form-grupo { display:flex; flex-direction:column; gap:5px; }
.form-grupo label { font-size:0.75rem; font-weight:600; letter-spacing:0.5px; color:var(--cinza-escuro); text-transform:uppercase; }
.form-grupo input, .form-grupo select, .form-grupo textarea {
  background:var(--branco); border:1px solid var(--borda); border-radius:6px;
  padding:0.75rem 0.9rem; font-size:0.9rem; color:var(--preto);
  font-family:'DM Sans',sans-serif; outline:none; transition:border-color 0.2s;
}
.form-grupo input::placeholder, .form-grupo textarea::placeholder { color:#bbb; }
.form-grupo input:focus, .form-grupo select:focus, .form-grupo textarea:focus { border-color:var(--preto); }
.form-grupo textarea { resize:vertical; min-height:70px; }
.form-secao-titulo { font-size:0.72rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--dourado); margin-top:1.2rem; margin-bottom:0.3rem; grid-column:1/-1; }

.btn-assinar { background:var(--preto); color:var(--branco); border:none; padding:1rem; border-radius:6px; font-size:0.97rem; font-weight:600; cursor:pointer; margin-top:1.4rem; width:100%; transition:background 0.2s; font-family:'DM Sans',sans-serif; }
.btn-assinar:hover { background:var(--dourado); }
.cep-aviso { font-size:0.78rem; color:var(--cinza); margin-top:0.4rem; }
.cep-aviso.erro { color:#c62828; }
.cep-aviso.ok { color:var(--verde); }

/* CTA FAIXA */
#faixa { background:var(--preto); padding:55px 7%; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.faixa-texto h3 { font-family:'Playfair Display',serif; font-size:1.8rem; font-weight:900; color:var(--branco); margin-bottom:0.4rem; letter-spacing:-0.5px; }
.faixa-texto p { color:rgba(255,255,255,0.5); font-size:0.92rem; }
.btn-faixa { background:var(--branco); color:var(--preto); padding:0.95rem 2rem; border-radius:6px; font-size:0.92rem; font-weight:600; text-decoration:none; transition:background 0.2s; white-space:nowrap; font-family:'DM Sans',sans-serif; flex-shrink:0; }
.btn-faixa:hover { background:var(--dourado); color:var(--branco); }

/* FOOTER */
footer { background:var(--branco); border-top:1px solid var(--borda); padding:3rem 7% 2rem; }
.footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:3rem; padding-bottom:2.5rem; border-bottom:1px solid var(--borda); }
.footer-logo img { height:48px; object-fit:contain; margin-bottom:1rem; }
.footer-desc { font-size:0.85rem; color:var(--cinza); line-height:1.7; font-weight:300; }
.footer-col h4 { font-size:0.75rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--preto); margin-bottom:1rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.55rem; }
.footer-col ul a { color:var(--cinza); text-decoration:none; font-size:0.85rem; transition:color 0.2s; }
.footer-col ul a:hover { color:var(--preto); }
.footer-contato { display:flex; flex-direction:column; gap:0.6rem; }
.footer-contato a { color:var(--cinza); text-decoration:none; font-size:0.85rem; display:flex; align-items:center; gap:8px; }
.footer-contato a:hover { color:var(--preto); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:1.5rem; gap:1rem; flex-wrap:wrap; }
.footer-copy { font-size:0.78rem; color:#bbb; }
.footer-selos { display:flex; gap:1rem; align-items:center; }
.footer-selo { font-size:0.72rem; color:var(--cinza); border:1px solid var(--borda); border-radius:4px; padding:3px 10px; }
.footer-social { display:flex; gap:0.8rem; }
.footer-social a { width:32px; height:32px; border:1px solid var(--borda); border-radius:6px; display:flex; align-items:center; justify-content:center; color:var(--cinza); text-decoration:none; font-size:0.85rem; transition:border-color 0.2s,color 0.2s; }
.footer-social a:hover { border-color:var(--preto); color:var(--preto); }

/* MODAL */
.modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.45); z-index:200; align-items:center; justify-content:center; }
.modal-overlay.aberto { display:flex; }
.modal { background:var(--branco); border-radius:12px; padding:2.8rem 2.3rem; max-width:400px; width:90%; text-align:center; border:1px solid var(--borda); animation:popIn 0.25s ease; }
@keyframes popIn { from{opacity:0;transform:scale(0.92)} to{opacity:1;transform:scale(1)} }
.modal-icone { font-size:2.2rem; margin-bottom:1rem; }
.modal h3 { font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--preto); margin-bottom:0.7rem; }
.modal p { color:var(--cinza); font-size:0.9rem; line-height:1.75; margin-bottom:1.8rem; font-weight:300; }
.modal-fechar { background:var(--preto); color:var(--branco); border:none; padding:0.85rem 2.2rem; border-radius:6px; font-weight:600; cursor:pointer; font-size:0.9rem; font-family:'DM Sans',sans-serif; transition:background 0.2s; }
.modal-fechar:hover { background:var(--dourado); }

/* RESPONSIVO */
@media(max-width:1024px) {
  .passos-grid { grid-template-columns:repeat(2,1fr); }
  .footer-top { grid-template-columns:1fr 1fr; }
}
@media(max-width:900px) {
  nav .nav-links { display:none; }
  .nav-mobile-btn { display:block; }
  #hero { padding:90px 5% 50px; }
  .sobre-grid,.cobertura-grid,.cadastro-grid { grid-template-columns:1fr; gap:40px; }
  .mv-grid,.planos-grid { grid-template-columns:1fr; }
  .beneficios-grid { grid-template-columns:1fr; }
  /* tablet: mascote permanece ao lado, um pouco menor */
  .hero-mascote { flex:0 0 30%; }
  .hero-mascote img { max-width:260px; }
  .depo-track .depo-card { flex:0 0 85%; }
  .depo-nav { display:none; }
  .hero-numeros { gap:1.5rem; }
  .sobre-imagem { height:280px; }
  .passos-grid { grid-template-columns:1fr 1fr; }
  .footer-top { grid-template-columns:1fr 1fr; }
  .form-grid { grid-template-columns:1fr; }
  .cep-input-wrap { flex-direction:column; }
}
/* mobile/celular: oculta o mascote (evita poluir) — só conteúdo + CTA */
@media(max-width:767px) {
  .hero-mascote { display:none; }
  #hero { gap:0; }
}
@media(max-width:600px) {
  .passos-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }

  #hero { padding:85px 5% 40px; }
  section { padding:45px 5%; }
  nav { padding:0 5%; }
  #faixa { padding:40px 5%; }
  footer { padding:2.5rem 5% 1.5rem; }
}

/* ── UI/UX MODERNO ── */
*, *:focus { outline:none; }
*:focus-visible { outline:2px solid var(--dourado); outline-offset:3px; border-radius:4px; }
::selection { background:var(--dourado); color:var(--branco); }
/* Transição suave em links */
a, button { transition:all 0.18s ease; }
/* Card hover lift */
.beneficio-card:hover, .depo-card:hover, .passo-card:hover {
  transform:translateY(-3px);
  box-shadow:0 8px 24px rgba(0,0,0,0.07);
  z-index:1; position:relative;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.plano-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,0.1); z-index:1; position:relative; }
/* Inputs — estilo mais moderno */
.form-grupo input:focus, .form-grupo select:focus, .form-grupo textarea:focus {
  border-color:var(--dourado); box-shadow:0 0 0 3px rgba(184,134,11,0.1);
}
/* Botão primário — estado active */
.btn-primario:active, .btn-assinar:active { transform:scale(0.98); }
/* Badge hero — glassmorphism leve */
.hero-badge { background:rgba(184,134,11,0.06); backdrop-filter:blur(4px); }
/* Scroll indicator */
.scroll-hint { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:6px; color:var(--cinza); font-size:0.72rem; letter-spacing:1px; text-transform:uppercase; animation:bounce 2s infinite; }
.scroll-hint span { font-size:1.2rem; }
@keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }
/* Sticky nav sombra ao rolar */
nav.scrolled { box-shadow:0 2px 16px rgba(0,0,0,0.08); }
/* Progress bar top */
#progress-bar { position:fixed; top:0; left:0; height:2px; background:var(--dourado); width:0%; z-index:200; transition:width 0.1s linear; }
/* Seção número stats — destaque maior */
.numero-item h3 { font-size:2rem; }
/* Fundo alternado suave entre seções */
#depoimentos { background:var(--branco); }
/* Input CEP — ícone loading */
.cep-aviso.loading::before { content:"⏳ "; }


/* ── MODAL PIX ── */
.modal-pix-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.55); z-index:300; align-items:center; justify-content:center; padding:1rem; }
.modal-pix-overlay.aberto { display:flex; }
.modal-pix { background:var(--branco); border-radius:16px; padding:0; max-width:480px; width:100%; overflow:hidden; box-shadow:0 24px 64px rgba(0,0,0,0.18); animation:popIn 0.25s ease; }
.modal-pix-header { background:var(--preto); padding:1.4rem 1.8rem; display:flex; align-items:center; justify-content:space-between; }
.modal-pix-header h3 { font-family:'Playfair Display',serif; font-size:1.15rem; font-weight:700; color:var(--branco); margin:0; }
.modal-pix-header button { background:none; border:none; color:rgba(255,255,255,0.5); font-size:1.4rem; cursor:pointer; line-height:1; padding:0; }
.modal-pix-header button:hover { color:var(--branco); }
.modal-pix-steps { display:flex; background:var(--cinza-claro); border-bottom:1px solid var(--borda); }
.modal-pix-step { flex:1; padding:0.7rem 0.5rem; text-align:center; font-size:0.72rem; font-weight:600; color:var(--cinza); letter-spacing:0.3px; position:relative; }
.modal-pix-step.ativo { color:var(--preto); background:var(--branco); }
.modal-pix-step span { display:block; font-size:1.1rem; margin-bottom:2px; }
.modal-pix-body { padding:1.6rem 1.8rem; }
/* Passo 1 */
.pix-resumo { background:var(--cinza-claro); border:1px solid var(--borda); border-radius:10px; padding:1rem 1.2rem; margin-bottom:1.2rem; }
.pix-resumo-linha { display:flex; justify-content:space-between; align-items:center; padding:0.3rem 0; font-size:0.88rem; color:var(--cinza); }
.pix-resumo-linha strong { color:var(--preto); font-weight:600; }
.pix-resumo-total { border-top:1px solid var(--borda); margin-top:0.4rem; padding-top:0.6rem; font-size:1rem; font-weight:700; color:var(--preto); }
.pix-qr-wrap { display:flex; flex-direction:column; align-items:center; gap:0.8rem; margin-bottom:1.2rem; }
.pix-qr-wrap img { width:180px; height:180px; border:1.5px solid var(--borda); border-radius:10px; }
.pix-chave-box { width:100%; background:var(--cinza-claro); border:1.5px dashed var(--borda); border-radius:8px; padding:0.75rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:0.8rem; }
.pix-chave-box span { font-size:0.92rem; font-weight:600; color:var(--preto); font-family:monospace; letter-spacing:0.5px; }
.btn-copiar { background:var(--preto); color:var(--branco); border:none; padding:0.45rem 1rem; border-radius:6px; font-size:0.78rem; font-weight:600; cursor:pointer; white-space:nowrap; font-family:'DM Sans',sans-serif; transition:background 0.2s; }
.btn-copiar:hover { background:var(--dourado); }
.btn-copiar.copiado { background:var(--verde); }
.pix-instrucoes { font-size:0.82rem; color:var(--cinza); line-height:1.7; margin-bottom:1.2rem; }
.pix-instrucoes strong { color:var(--preto); }
.btn-pix-pago { background:var(--verde); color:var(--branco); border:none; padding:1rem; border-radius:8px; font-size:0.97rem; font-weight:700; cursor:pointer; width:100%; font-family:'DM Sans',sans-serif; transition:background 0.2s; display:flex; align-items:center; justify-content:center; gap:8px; }
.btn-pix-pago:hover { background:#1e5c2a; }
/* Passo 2 */
.pix-comprovante-info { text-align:center; padding:0.5rem 0 1rem; }
.pix-comprovante-info .pix-icone-grande { font-size:3rem; margin-bottom:0.8rem; }
.pix-comprovante-info h4 { font-family:'Playfair Display',serif; font-size:1.2rem; color:var(--preto); margin-bottom:0.5rem; }
.pix-comprovante-info p { font-size:0.88rem; color:var(--cinza); line-height:1.7; margin-bottom:1.2rem; }
.pix-destaque { background:rgba(184,134,11,0.07); border:1px solid rgba(184,134,11,0.25); border-radius:8px; padding:0.9rem 1rem; font-size:0.85rem; color:var(--cinza-escuro); line-height:1.6; margin-bottom:1.2rem; }
.pix-destaque strong { color:var(--preto); display:block; margin-bottom:0.2rem; font-size:0.9rem; }
.btn-wpp-comprovante { background:#25D366; color:var(--branco); border:none; padding:1rem; border-radius:8px; font-size:0.95rem; font-weight:700; cursor:pointer; width:100%; font-family:'DM Sans',sans-serif; display:flex; align-items:center; justify-content:center; gap:10px; transition:background 0.2s; }
.btn-wpp-comprovante:hover { background:#128C7E; }
.pix-nota-final { text-align:center; margin-top:0.9rem; font-size:0.76rem; color:#bbb; }


/* ── Quantidade de pentes ── */
.qtd-wrap { display:flex; align-items:center; gap:0.7rem; flex-wrap:wrap; }
.qtd-btn {
  width:36px; height:36px; border-radius:6px; border:1.5px solid var(--borda);
  background:var(--branco); font-size:1.2rem; font-weight:600; color:var(--preto);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:border-color 0.2s, background 0.2s; flex-shrink:0; line-height:1;
  font-family:'DM Sans',sans-serif;
}
.qtd-btn:hover { border-color:var(--preto); background:var(--cinza-claro); }
.qtd-btn:active { transform:scale(0.95); }
#f-qtd {
  width:52px; text-align:center; font-size:1.1rem; font-weight:700;
  border:1.5px solid var(--borda); border-radius:6px; padding:0.4rem;
  color:var(--preto); background:var(--cinza-claro); cursor:default;
  -moz-appearance:textfield;
}
#f-qtd::-webkit-inner-spin-button, #f-qtd::-webkit-outer-spin-button { -webkit-appearance:none; }
.qtd-info {
  font-size:0.85rem; color:var(--dourado); font-weight:600;
  background:rgba(184,134,11,0.07); border:1px solid rgba(184,134,11,0.2);
  border-radius:6px; padding:0.35rem 0.75rem; white-space:nowrap;
}


/* ── Seleção de dia de entrega ── */
.dias-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0.6rem; margin-bottom:0.4rem; }
.dia-btn {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:4px; padding:0.85rem 0.5rem; border:1.5px solid var(--borda); border-radius:8px;
  background:var(--branco); cursor:pointer; transition:all 0.18s ease;
  font-family:'DM Sans',sans-serif;
}
.dia-btn:hover { border-color:var(--preto); background:var(--cinza-claro); }
.dia-btn.selecionado { border-color:var(--dourado); background:rgba(184,134,11,0.07); }
.dia-nome { font-size:0.82rem; font-weight:700; color:var(--preto); text-align:center; line-height:1.2; }
.dia-btn.selecionado .dia-nome { color:var(--dourado); }
.dia-hora { font-size:0.72rem; color:var(--cinza); text-align:center; line-height:1.3; }
@media(max-width:600px) { .dias-grid { grid-template-columns:repeat(2,1fr); } }

