/* ============================================
   GELATO LOVERS — Design premium
   Paleta: creme / borgonha / dourado / azul noite
   ============================================ */

:root {
  --creme: #FAF6EF;
  --creme-2: #F3ECDF;
  --borgonha: #A6252C;
  --borgonha-esc: #7A1E23;
  --dourado: #C9A25A;
  --dourado-claro: #E4CD9C;
  --petroleo: #1C5F8A;
  --noite: #12263A;
  --noite-2: #0C1B2B;
  --texto: #2B2320;
  --texto-suave: #6E625B;
  --branco: #FFFFFF;
  --fonte-titulo: 'Fraunces', Georgia, serif;
  --fonte-corpo: 'Outfit', -apple-system, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  font-family: var(--fonte-corpo);
  background: var(--creme);
  color: var(--texto);
  line-height: 1.65;
  font-size: 16.5px;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
a { color: inherit; }

.container { width: min(1120px, 92%); margin: 0 auto; }

/* ---------- Tipografia ---------- */
h1, h2, h3 { font-family: var(--fonte-titulo); font-weight: 600; line-height: 1.15; }
h1 { font-size: clamp(2.1rem, 6.4vw, 3.6rem); letter-spacing: -0.01em; }
h2 { font-size: clamp(1.7rem, 4.6vw, 2.5rem); }
h3 { font-size: 1.25rem; }

.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 0.78rem; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--dourado); font-weight: 500;
}
.eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--dourado); }

section { padding: 72px 0; }
.section-head { max-width: 640px; margin-bottom: 40px; }
.section-head p { color: var(--texto-suave); margin-top: 12px; }

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 15px 30px; border-radius: 999px; border: none; cursor: pointer;
  font-family: var(--fonte-corpo); font-size: 1rem; font-weight: 600;
  text-decoration: none; transition: all .25s ease;
}
.btn-primario { background: var(--borgonha); color: var(--branco); }
.btn-primario:hover { background: var(--borgonha-esc); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(166,37,44,.28); }
.btn-contorno { background: transparent; color: var(--branco); border: 1.5px solid rgba(255,255,255,.4); }
.btn-contorno:hover { border-color: var(--dourado); color: var(--dourado); }
.btn-dourado { background: var(--dourado); color: var(--noite); }
.btn-dourado:hover { background: var(--dourado-claro); transform: translateY(-2px); }

/* ---------- Header ---------- */
.topo {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(18,38,58,.92); backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(201,162,90,.25);
}
.topo-inner { display: flex; align-items: center; justify-content: space-between; height: 68px; }
.topo-logo { height: 44px; width: auto; background: var(--branco); border-radius: 10px; padding: 4px 10px; }
.topo nav { display: none; gap: 28px; }
.topo nav a { color: rgba(255,255,255,.85); text-decoration: none; font-size: .95rem; font-weight: 500; }
.topo nav a:hover { color: var(--dourado); }
.topo .btn { padding: 10px 20px; font-size: .9rem; }

/* ---------- Hero ---------- */
.hero {
  background: linear-gradient(160deg, var(--noite) 0%, var(--noite-2) 60%, #1a1206 130%);
  color: var(--branco);
  padding: 140px 0 0; position: relative; overflow: hidden;
}
.hero::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 70% 50% at 80% 10%, rgba(201,162,90,.14), transparent 60%);
}
.hero-grid { position: relative; z-index: 1; display: grid; gap: 40px; padding-bottom: 90px; }
.hero h1 { color: var(--branco); }
.hero h1 em { font-style: italic; color: var(--dourado); }
.hero-sub { margin-top: 18px; font-size: 1.12rem; color: rgba(255,255,255,.78); max-width: 520px; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.hero-selos { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 38px; font-size: .88rem; color: rgba(255,255,255,.65); }
.hero-selos span { display: flex; align-items: center; gap: 8px; }
.hero-selos svg { width: 16px; height: 16px; fill: var(--dourado); flex-shrink: 0; }
.hero-foto {
  border-radius: 20px; overflow: hidden; aspect-ratio: 4/3.6;
  background: linear-gradient(140deg, #2a4258, #1a2f44);
  display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(201,162,90,.3);
}
.hero-foto img { width: 100%; height: 100%; object-fit: cover; }
.foto-placeholder { color: rgba(255,255,255,.35); font-size: .9rem; text-align: center; padding: 20px; }

/* Divisor curva de gelato */
.divisor-scoop { display: block; width: 100%; height: 54px; margin-top: -1px; }

/* ---------- Faixa de logos ---------- */
.clientes-faixa { background: var(--noite-2); padding: 54px 0 64px; color: var(--branco); }
.clientes-faixa .eyebrow { color: var(--dourado); }
.clientes-faixa h2 { color: var(--branco); margin-top: 10px; font-size: clamp(1.4rem, 3.4vw, 1.9rem); }
.logos-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 34px; }
.logo-card {
  display: flex; align-items: center; justify-content: center;
  min-height: 92px; padding: 18px; border-radius: 14px; text-decoration: none;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
  transition: all .25s ease;
}
.logo-card:hover { border-color: var(--dourado); background: var(--branco); transform: translateY(-3px); }
.logo-card img { max-height: 52px; width: auto; filter: brightness(0) invert(1); opacity: .85; transition: .25s; }
.logo-card:hover img { filter: none; opacity: 1; }
.logo-card .logo-texto { font-family: var(--fonte-titulo); font-size: 1.15rem; color: rgba(255,255,255,.85); text-align: center; }
.clientes-faixa .ver-mais { margin-top: 22px; font-size: .9rem; color: rgba(255,255,255,.6); }
.clientes-sub { margin-top: 52px; }
.clientes-sub h2 { font-size: clamp(1.2rem, 3vw, 1.5rem); }

/* ---------- Carrossel sutil ---------- */
.carrossel { position: relative; width: 100%; height: 100%; overflow: hidden; }
.carrossel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .5s ease; }
.carrossel img.ativo { opacity: 1; }
.carrossel-seta {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 34px; height: 34px; border-radius: 50%; border: none; cursor: pointer;
  background: rgba(255,255,255,.82); color: var(--noite);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.05rem; line-height: 1; transition: background .2s; opacity: .85;
}
.carrossel-seta:hover { background: var(--branco); opacity: 1; }
.carrossel-seta.ant { left: 12px; }
.carrossel-seta.prox { right: 12px; }
.carrossel-pontos { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; z-index: 3; }
.carrossel-pontos span { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.5); transition: background .2s; }
.carrossel-pontos span.ativo { background: var(--dourado); }

/* ---------- Modelos de carrinho ---------- */
.carrinhos { background: var(--creme-2); }
.carrinhos-grid { display: grid; gap: 18px; }
.carrinho-card { background: var(--branco); border-radius: 18px; padding: 30px 26px; border: 1px solid #EBE2D0; box-shadow: 0 3px 20px rgba(43,35,32,.05); }
.carrinho-foto { aspect-ratio: 4/5; border-radius: 12px; overflow: hidden; margin-bottom: 18px; background: linear-gradient(140deg, var(--creme-2), #E8DCC4); display:flex; align-items:center; justify-content:center; }
.carrinho-foto img { width: 100%; height: 100%; object-fit: cover; }
.carrinho-card .btn { margin-top: 16px; }
.carrinho-card .sabores { display: inline-block; margin: 6px 0 12px; padding: 6px 16px; border-radius: 999px; background: var(--creme); border: 1px solid var(--dourado); color: var(--borgonha-esc); font-size: .85rem; font-weight: 600; }
.carrinho-card h3 { color: var(--noite); }
.carrinho-card p { color: var(--texto-suave); font-size: .97rem; }
.carrinho-card.perso { background: linear-gradient(160deg, var(--noite), #1a3550); color: var(--branco); border: 1px solid rgba(201,162,90,.4); }
.carrinho-card.perso h3 { color: var(--dourado); }
.carrinho-card.perso p { color: rgba(255,255,255,.82); }
@media (min-width: 860px) { .carrinhos-grid { grid-template-columns: 1fr 1fr 1.15fr; } }

/* ---------- ROI ---------- */
.roi { background: var(--creme); }
.roi-grid { display: grid; gap: 18px; margin-top: 8px; }
.roi-card {
  background: var(--branco); border-radius: 18px; padding: 30px 26px;
  border: 1px solid var(--creme-2); position: relative;
  box-shadow: 0 3px 20px rgba(43,35,32,.05);
}
.roi-card::before {
  content: ''; position: absolute; top: 0; left: 26px; width: 46px; height: 3px;
  background: var(--dourado); border-radius: 0 0 3px 3px;
}
.roi-card h3 { color: var(--borgonha); margin-bottom: 10px; }
.roi-card p { color: var(--texto-suave); font-size: .98rem; }

/* ---------- Segmentos ---------- */
.segmentos { background: var(--creme-2); }
.seg-grid { display: grid; gap: 22px; }
.seg-card { border-radius: 22px; overflow: hidden; color: var(--branco); position: relative; padding: 44px 30px; min-height: 340px; display: flex; flex-direction: column; justify-content: flex-end; }
.seg-card.corp { background: linear-gradient(165deg, var(--noite) 20%, var(--petroleo) 130%); }
.seg-card.social { background: linear-gradient(165deg, var(--borgonha-esc) 10%, var(--borgonha) 120%); }
.seg-card .eyebrow { color: var(--dourado-claro); }
.seg-card h3 { font-size: 1.7rem; margin: 10px 0 12px; }
.seg-card p { color: rgba(255,255,255,.82); font-size: .98rem; }
.seg-card ul { margin: 16px 0 24px; padding-left: 0; list-style: none; }
.seg-card li { padding: 5px 0 5px 26px; position: relative; font-size: .95rem; color: rgba(255,255,255,.9); }
.seg-card li::before { content: '✦'; position: absolute; left: 0; color: var(--dourado); }
.seg-card .btn { align-self: flex-start; }

/* ---------- Como funciona ---------- */
.passos-grid { display: grid; gap: 26px; counter-reset: passo; }
.passo { position: relative; padding-left: 70px; }
.passo::before {
  counter-increment: passo; content: counter(passo, decimal-leading-zero);
  position: absolute; left: 0; top: -4px;
  font-family: var(--fonte-titulo); font-size: 2.4rem; font-weight: 600;
  color: var(--dourado); opacity: .85;
}
.passo h3 { margin-bottom: 6px; }
.passo p { color: var(--texto-suave); font-size: .97rem; }

/* ---------- Galeria ---------- */
.galeria { background: var(--noite); color: var(--branco); }
.galeria h2 { color: var(--branco); }
.galeria .section-head p { color: rgba(255,255,255,.7); }
.galeria-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.galeria-item {
  aspect-ratio: 1; border-radius: 14px; overflow: hidden; cursor: pointer;
  background: linear-gradient(140deg, #23394e, #16283a);
  border: 1px solid rgba(255,255,255,.08); position: relative;
}
.galeria-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.galeria-item:hover img { transform: scale(1.06); }
a.galeria-item { display: block; text-decoration: none; }
.galeria-nome {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 12px 10px;
  font-size: .82rem; font-weight: 500; color: #fff;
  background: linear-gradient(transparent, rgba(12,27,43,.85));
  opacity: 0; transition: opacity .3s ease;
}
.galeria-item:hover .galeria-nome { opacity: 1; }
@media (hover: none) { .galeria-nome { opacity: 1; } }
.galeria-video { grid-column: span 2; aspect-ratio: 16/9; }
.galeria-video iframe { width: 100%; height: 100%; border: 0; }

.galeria-ver-tudo { text-align: center; margin-top: 30px; }

/* ---------- Portfólio ---------- */
.paginacao { display: flex; justify-content: center; gap: 8px; margin-top: 40px; flex-wrap: wrap; }
.paginacao a, .paginacao span {
  min-width: 42px; height: 42px; padding: 0 12px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none; font-weight: 600; font-size: .95rem;
  background: rgba(255,255,255,.07); color: rgba(255,255,255,.85);
  border: 1px solid rgba(255,255,255,.12);
}
.paginacao a:hover { border-color: var(--dourado); color: var(--dourado); }
.paginacao .atual { background: var(--dourado); color: var(--noite); border-color: var(--dourado); }
.filtro-tipo { display: flex; gap: 10px; margin: 6px 0 30px; flex-wrap: wrap; }
.filtro-tipo a {
  padding: 9px 20px; border-radius: 999px; text-decoration: none; font-size: .9rem; font-weight: 600;
  background: rgba(255,255,255,.07); color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.15);
}
.filtro-tipo a.ativo, .filtro-tipo a:hover { background: var(--dourado); color: var(--noite); border-color: var(--dourado); }

/* ---------- Cards de eventos sociais (foto) ---------- */
.social-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 34px; }
.social-card {
  position: relative; aspect-ratio: 1; border-radius: 14px; overflow: hidden;
  display: block; text-decoration: none; background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1); transition: all .25s ease;
}
.social-card:hover { border-color: var(--dourado); transform: translateY(-3px); }
.social-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.social-card:hover img { transform: scale(1.06); }
.social-card .social-nome {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 34px 12px 12px;
  font-family: var(--fonte-titulo); font-size: .98rem; color: var(--dourado-claro);
  background: linear-gradient(transparent, rgba(12,27,43,.92));
}
.social-card .social-sem-foto {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-family: var(--fonte-titulo); font-size: 1.1rem; color: rgba(255,255,255,.85); text-align: center; padding: 16px;
}

/* ---------- Sabores ---------- */
.sabor-categoria { margin-bottom: 40px; }
.sabor-categoria h2 { color: var(--borgonha); margin-bottom: 16px; font-size: clamp(1.3rem, 3vw, 1.7rem); }
.sabor-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.sabor-lista { display: grid; grid-template-columns: 1fr; gap: 12px; }
.sabor-item {
  background: var(--branco); border: 1px solid var(--creme-2); border-left: 3px solid var(--dourado);
  border-radius: 12px; padding: 16px 18px;
}
.sabor-item strong { display: block; font-family: var(--fonte-titulo); font-size: 1.08rem; color: var(--noite); }
.sabor-item .sabor-base { display: inline-block; margin-top: 4px; font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--borgonha); }
.sabor-item p { margin-top: 6px; font-size: .92rem; color: var(--texto-suave); }
@media (min-width: 700px) { .sabor-lista { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .sabor-lista { grid-template-columns: 1fr 1fr 1fr; } }
.sabor-chips span {
  padding: 10px 20px; border-radius: 999px; font-size: .95rem; font-weight: 500;
  background: var(--branco); border: 1px solid var(--dourado); color: var(--texto);
}
.sob-medida {
  margin-top: 50px; padding: 34px 28px; border-radius: 18px;
  background: linear-gradient(160deg, var(--noite), #1a3550); color: var(--branco);
  border: 1px solid rgba(201,162,90,.4);
}
.sob-medida h2 { color: var(--dourado); margin-bottom: 10px; }
.sob-medida p { color: rgba(255,255,255,.85); }
.link-sabores { display: inline-block; margin-top: 14px; color: var(--borgonha); font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--dourado); padding-bottom: 2px; }
.link-sabores:hover { color: var(--borgonha-esc); }

@media (min-width: 860px) { .social-grid { grid-template-columns: repeat(4, 1fr); gap: 18px; } }

/* Lightbox */
.lightbox {
  position: fixed; inset: 0; z-index: 300; background: rgba(12,27,43,.94);
  display: none; align-items: center; justify-content: center; padding: 24px;
}
.lightbox.aberto { display: flex; }
.lightbox img { max-width: 100%; max-height: 88vh; border-radius: 12px; }
.lightbox-fechar { position: absolute; top: 18px; right: 22px; background: none; border: none; color: #fff; font-size: 2.2rem; cursor: pointer; line-height: 1; z-index: 2; }
.lightbox-seta {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 46px; height: 46px; border-radius: 50%; border: none; cursor: pointer;
  background: rgba(255,255,255,.14); color: #fff; font-size: 1.3rem; line-height: 1;
  display: flex; align-items: center; justify-content: center; transition: background .2s;
}
.lightbox-seta:hover { background: var(--dourado); color: var(--noite); }
.lightbox-seta.ant { left: 14px; }
.lightbox-seta.prox { right: 14px; }
.lightbox-contador {
  position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 2;
  color: rgba(255,255,255,.75); font-size: .88rem; letter-spacing: .08em;
}
@media (max-width: 640px) { .lightbox-seta { width: 40px; height: 40px; } .lightbox-seta.ant { left: 8px; } .lightbox-seta.prox { right: 8px; } }

/* ---------- Produto ---------- */
.produto-grid { display: grid; gap: 34px; align-items: center; }
.produto-foto { border-radius: 20px; overflow: hidden; aspect-ratio: 4/3; background: linear-gradient(140deg, var(--creme-2), #E8DCC4); display: flex; align-items: center; justify-content: center; }
.produto-foto img { width: 100%; height: 100%; object-fit: cover; }
.produto-texto p { color: var(--texto-suave); margin-top: 14px; }
.produto-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.produto-tags span {
  padding: 8px 16px; border-radius: 999px; font-size: .85rem; font-weight: 500;
  background: var(--branco); border: 1px solid var(--dourado); color: var(--borgonha-esc);
}

/* ---------- Formulário ---------- */
.orcamento { background: linear-gradient(170deg, var(--borgonha-esc), var(--borgonha) 90%); color: var(--branco); }
.orcamento h2 { color: var(--branco); }
.orcamento .section-head p { color: rgba(255,255,255,.8); }
.orcamento .eyebrow { color: var(--dourado-claro); }
.form-card { background: var(--branco); border-radius: 22px; padding: 34px 26px; color: var(--texto); box-shadow: 0 24px 60px rgba(0,0,0,.22); }
.form-grid { display: grid; gap: 18px; }
.campo label { display: block; font-size: .88rem; font-weight: 600; margin-bottom: 6px; color: var(--noite); }
.campo { min-width: 0; }
.campo input, .campo select, .campo textarea {
  width: 100%; max-width: 100%; min-width: 0; padding: 13px 16px; border-radius: 12px;
  border: 1.5px solid var(--creme-2); background: var(--creme);
  font-family: var(--fonte-corpo); font-size: 1rem; color: var(--texto);
  transition: border-color .2s; box-sizing: border-box;
}
.campo input[type="date"] {
  -webkit-appearance: none; appearance: none;
  display: block; min-height: 50px; text-align: left;
}
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--dourado); }
.campo textarea { resize: vertical; min-height: 90px; }
.form-card .btn { width: 100%; margin-top: 6px; }
.form-obs { font-size: .82rem; color: var(--texto-suave); text-align: center; margin-top: 14px; }

/* ---------- FAQ ---------- */
.faq details {
  background: var(--branco); border-radius: 14px; margin-bottom: 12px;
  border: 1px solid var(--creme-2); overflow: hidden;
}
.faq summary {
  padding: 18px 22px; cursor: pointer; font-weight: 600; list-style: none;
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; font-size: 1.4rem; color: var(--dourado); transition: transform .25s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 22px 18px; color: var(--texto-suave); font-size: .97rem; }

/* ---------- Rodapé ---------- */
.rodape { background: var(--noite-2); color: rgba(255,255,255,.75); padding: 56px 0 110px; font-size: .93rem; }
.rodape-grid { display: grid; gap: 30px; }
.rodape-logo { height: 54px; width: auto; background: var(--branco); border-radius: 12px; padding: 6px 12px; margin-bottom: 14px; }
.rodape a { color: rgba(255,255,255,.85); text-decoration: none; }
.rodape a:hover { color: var(--dourado); }
.rodape-contato { display: flex; flex-direction: column; gap: 10px; }
.rodape-contato a { display: inline-flex; align-items: center; gap: 10px; }
.rodape-contato svg { width: 18px; height: 18px; fill: var(--dourado); }
.rodape-linha { margin-top: 40px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: .82rem; color: rgba(255,255,255,.45); }

/* ---------- Rodapé interno ---------- */
.rodape-interno { text-align: center; padding: 48px 0 56px; }
.rodape-logo-mini { height: 46px; width: auto; background: var(--branco); border-radius: 10px; padding: 5px 10px; display: inline-block; margin-bottom: 22px; }
.rodape-contatos-linha { display: flex; flex-direction: column; gap: 13px; align-items: center; margin-bottom: 20px; }
.rodape-contatos-linha a { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.88); text-decoration: none; font-size: .95rem; }
.rodape-contatos-linha a:hover { color: var(--dourado); }
.rodape-contatos-linha svg { width: 17px; height: 17px; fill: var(--dourado); flex-shrink: 0; }
.rodape-cnpj { font-size: .8rem; color: rgba(255,255,255,.5); margin-bottom: 8px; letter-spacing: .03em; }
.rodape-copy { font-size: .8rem; color: rgba(255,255,255,.45); }
.rodape-copy a { color: rgba(255,255,255,.65); }
.rodape-copy a:hover { color: var(--dourado); }
@media (min-width: 860px) { .rodape-contatos-linha { flex-direction: row; gap: 28px; justify-content: center; } }

/* ---------- WhatsApp flutuante + barra mobile ---------- */
.zap-flutuante {
  position: fixed; right: 18px; bottom: 86px; z-index: 200;
  width: 58px; height: 58px; border-radius: 50%;
  background: #25D366; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 24px rgba(0,0,0,.3); transition: transform .2s;
}
.zap-flutuante:hover { transform: scale(1.08); }
.zap-flutuante svg { width: 30px; height: 30px; fill: #fff; }

.barra-cta-mobile {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 190;
  background: rgba(18,38,58,.96); backdrop-filter: blur(10px);
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(201,162,90,.3);
}
.barra-cta-mobile .btn { width: 100%; padding: 13px; }

/* ---------- Página de evento ---------- */
.evento-hero { background: var(--noite); color: var(--branco); padding: 130px 0 60px; text-align: center; }
.evento-hero .logo-destaque {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--branco); border-radius: 18px; padding: 22px 34px; margin-bottom: 24px;
}
.evento-hero .logo-destaque img { max-height: 70px; width: auto; }
.evento-hero h1 { color: var(--branco); font-size: clamp(1.8rem, 5vw, 2.6rem); }
.evento-hero .tag-tipo {
  display: inline-block; margin-top: 14px; padding: 6px 18px; border-radius: 999px;
  font-size: .8rem; letter-spacing: .12em; text-transform: uppercase;
  border: 1px solid var(--dourado); color: var(--dourado);
}
.evento-corpo { padding: 60px 0; }
.evento-descricao { max-width: 680px; margin: 0 auto 46px; text-align: center; color: var(--texto-suave); font-size: 1.08rem; }
.evento-cta { text-align: center; padding: 20px 0 70px; }

/* ---------- Animações de entrada ---------- */
@media (prefers-reduced-motion: no-preference) {
  .revelar { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
  .revelar.visivel { opacity: 1; transform: none; }
}

/* ---------- Desktop ---------- */
@media (min-width: 860px) {
  section { padding: 96px 0; }
  .topo nav { display: flex; }
  .hero { padding-top: 150px; }
  .hero-foto { aspect-ratio: 4/4.5; }
  .hero-grid { grid-template-columns: 1.05fr .95fr; align-items: start; gap: 60px; }
  .logos-grid { grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .roi-grid { grid-template-columns: repeat(3, 1fr); }
  .seg-grid { grid-template-columns: 1fr 1fr; }
  .passos-grid { grid-template-columns: repeat(3, 1fr); }
  .passo { padding-left: 0; padding-top: 64px; }
  .passo::before { left: 0; top: 0; }
  .galeria-grid { grid-template-columns: repeat(4, 1fr); }
  .galeria-video { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
  .produto-grid { grid-template-columns: 1fr 1fr; }
  .form-card { padding: 46px; }
  .form-grid { grid-template-columns: 1fr 1fr; }
  .form-grid .campo-full { grid-column: span 2; }
  .rodape { padding-bottom: 56px; }
  .rodape-grid { grid-template-columns: 2fr 1fr 1fr; }
  .barra-cta-mobile { display: none; }
  .zap-flutuante { bottom: 24px; }
}
