/* =========================================================
   RVT RECEPTIVO TURÍSTICO — folha de estilo
   Co Digital Marketing · 2026
   ========================================================= */

:root{
  /* paleta tirada da arte oficial da RVT: azul-marinho + dourado */
  --marinho:#0B1E3A;
  --marinho-esc:#061428;
  --marinho-cl:#1B3A66;
  --azul:#3E7EB8;
  --azul-cl:#9FC6E6;
  --ouro:#C68B2C;
  --ouro-esc:#A87322;
  --areia:#F6F3ED;
  --branco:#FFFFFF;
  --tinta:#161C26;
  --cinza:#5D6675;
  --linha:#E2DED5;
  --raio:16px;
  --raio-g:24px;
  --sombra:0 4px 24px rgba(11,30,58,.08);
  --sombra-g:0 18px 48px rgba(11,30,58,.16);
  --max:1180px;
  --nav-h:84px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; overflow-x:clip;
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--tinta); background:var(--branco);
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4{line-height:1.15; margin:0 0 .5em; letter-spacing:-.02em; font-weight:800}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.6rem)}
h3{font-size:clamp(1.15rem,2vw,1.4rem)}
p{margin:0 0 1em}
.env{width:min(100% - 40px,var(--max)); margin-inline:auto}
.sec{padding:clamp(56px,8vw,104px) 0}
.sec-areia{background:var(--areia)}
.sec-marinho{background:var(--marinho); color:#E6EDF6}
.sec-marinho h2,.sec-marinho h3{color:#fff}
.centro{text-align:center}
.limite{max-width:660px; margin-inline:auto}

/* ---------- etiquetas e títulos ---------- */
.etq{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--azul); margin-bottom:14px;
}
.etq::before{content:""; width:26px; height:2px; background:var(--ouro); border-radius:2px}
.sec-marinho .etq{color:var(--azul-cl)}
.sub{color:var(--cinza); font-size:1.05rem}
.sec-marinho .sub{color:#A9BCD2}

/* ---------- botões ---------- */
.bt{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 28px; border-radius:999px; font-weight:800; font-size:1rem;
  border:2px solid transparent; cursor:pointer; transition:.25s ease; text-align:center;
}
.bt-ouro{background:var(--ouro); color:#fff; box-shadow:0 8px 22px rgba(198,139,44,.32)}
.bt-ouro:hover{background:var(--ouro-esc); transform:translateY(-2px)}
.bt-marinho{background:var(--marinho); color:#fff}
.bt-marinho:hover{background:var(--marinho-cl); transform:translateY(-2px)}
.bt-linha{border-color:rgba(255,255,255,.55); color:#fff}
.bt-linha:hover{background:rgba(255,255,255,.14)}
.bt-linha-esc{border-color:var(--marinho); color:var(--marinho)}
.bt-linha-esc:hover{background:var(--marinho); color:#fff}
.bt-bloco{width:100%}

/* ---------- barra de navegação ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:900; height:var(--nav-h);
  display:flex; align-items:center; transition:height .25s ease;
}
.nav::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(6,20,40,.72),rgba(6,20,40,0));
  transition:.3s ease;
}
.nav.small{height:64px}
.nav.small::before{background:rgba(255,255,255,.94); backdrop-filter:blur(14px); box-shadow:0 2px 18px rgba(11,30,58,.10)}
.nav .env{display:flex; align-items:center; justify-content:space-between; gap:20px}
.marca{display:flex; align-items:center; flex:none}
.marca-img{height:52px; width:auto; display:block; transition:height .25s ease}
.nav.small .marca-img{height:44px}
.logo-escuro{display:none}
.nav.small .logo-claro{display:none}
.nav.small .logo-escuro{display:block}
.nav-links{display:flex; align-items:center; gap:28px}
.nav-links a{color:#fff; font-weight:600; font-size:.95rem; opacity:.92}
.nav-links a:hover{opacity:1}
.nav.small .nav-links a{color:var(--marinho)}
.nav-links .bt{padding:11px 22px; font-size:.92rem}
.nav-bt{display:none; background:none; border:0; padding:8px; cursor:pointer}
.nav-bt span{display:block; width:26px; height:2px; background:#fff; margin:5px 0; border-radius:2px; transition:.25s}
.nav.small .nav-bt span{background:var(--marinho)}

@media(max-width:940px){
  .nav-bt{display:block; z-index:2}
  .marca{position:relative; z-index:2}
  .marca-img,.nav.small .marca-img{height:44px}
  body.nav-aberto .nav.small .logo-claro{display:block}
  body.nav-aberto .nav.small .logo-escuro{display:none}
  body.nav-aberto .nav.small .nav-bt span{background:#fff}
  .nav-links{
    position:fixed; inset:0; background:var(--marinho-esc);
    flex-direction:column; justify-content:center; gap:26px;
    transform:translateX(100%); transition:transform .32s ease; z-index:1;
  }
  .nav-links.aberto{transform:none}
  .nav-links a{color:#fff !important; font-size:1.25rem}
  .nav-aberto{overflow:hidden}
}

/* ---------- hero ---------- */
.hero{position:relative; min-height:clamp(560px,92vh,860px); display:flex; align-items:center; color:#fff; padding:calc(var(--nav-h) + 40px) 0 60px}
.hero-bg{position:absolute; inset:0; z-index:0; overflow:hidden}
.hero-bg img{width:100%; height:100%; object-fit:cover}
.hero-bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg,rgba(6,20,40,.90) 8%,rgba(6,20,40,.68) 46%,rgba(6,20,40,.30) 100%);
}
.hero .env{position:relative; z-index:1}
.hero-txt{max-width:660px}
.hero h1{color:#fff; margin-bottom:20px}
.hero h1 em{font-style:normal; color:#E6C27A}
.hero-lead{font-size:1.15rem; color:#CFDCEC; max-width:560px}
.hero-bts{display:flex; flex-wrap:wrap; gap:14px; margin:32px 0 40px}
.hero-selos{display:flex; flex-wrap:wrap; gap:14px 30px; padding-top:26px; border-top:1px solid rgba(255,255,255,.18)}
.hero-selo{display:flex; align-items:center; gap:10px; font-size:.9rem; font-weight:600; color:#BFD0E4}
.hero-selo svg{flex:none; width:20px; height:20px; stroke:var(--azul-cl)}

/* ---------- faixa de confiança ---------- */
.faixa{background:var(--marinho-esc); color:#fff; padding:26px 0}
.faixa-grade{display:grid; grid-template-columns:repeat(auto-fit,minmax(178px,1fr)); gap:22px 24px; text-align:center}
.faixa-item strong{display:block; font-size:1rem; color:var(--azul-cl); font-weight:800; line-height:1.35; letter-spacing:-.01em}
.faixa-item span{font-size:.82rem; color:#8496AE; letter-spacing:.01em; line-height:1.4; display:block; margin-top:2px}
@media(max-width:720px){.faixa-grade{grid-template-columns:repeat(2,1fr); gap:22px}}

/* ---------- grade de cards ---------- */
.grade{display:grid; gap:26px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:940px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}

.card{
  background:#fff; border:1px solid var(--linha); border-radius:var(--raio-g);
  overflow:hidden; display:flex; flex-direction:column; transition:.28s ease;
}
.card:hover{transform:translateY(-6px); box-shadow:var(--sombra-g); border-color:transparent}
.card-foto{position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--marinho-cl)}
.card-foto img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease}
.card:hover .card-foto img{transform:scale(1.06)}
.card-tag{
  position:absolute; top:14px; left:14px; z-index:1;
  background:rgba(6,20,40,.86); color:#fff; font-size:.72rem; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase; padding:7px 13px; border-radius:999px;
}
.card-corpo{padding:24px 24px 26px; display:flex; flex-direction:column; flex:1}
.card-corpo h3{margin-bottom:8px}
.card-corpo p{color:var(--cinza); font-size:.96rem; flex:1}
.card-meta{display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 18px}
.pill{
  display:inline-flex; align-items:center; gap:6px; font-size:.78rem; font-weight:700;
  background:var(--areia); color:var(--marinho); padding:6px 12px; border-radius:999px;
}
.card-pe{display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; padding-top:16px; border-top:1px solid var(--linha)}
.preco small{display:block; font-size:.72rem; color:var(--cinza); font-weight:600; letter-spacing:.04em; text-transform:uppercase}
.preco strong{font-size:1.32rem; color:var(--marinho); font-weight:800}
.preco .sob{font-size:1rem; color:var(--marinho-cl)}
.card-link{font-weight:800; color:var(--ouro); font-size:.94rem; display:inline-flex; align-items:center; gap:6px}
.card:hover .card-link{gap:11px}
.card-link::after{content:"→"; transition:.25s}

/* ---------- passos ---------- */
.passos{counter-reset:p; display:grid; gap:26px; grid-template-columns:repeat(3,1fr)}
@media(max-width:800px){.passos{grid-template-columns:1fr}}
.passo{position:relative; padding:32px 26px; background:#fff; border-radius:var(--raio-g); border:1px solid var(--linha)}
.passo::before{
  counter-increment:p; content:counter(p,decimal-leading-zero);
  font-size:2.4rem; font-weight:800; color:var(--azul-cl); line-height:1; display:block; margin-bottom:12px;
}
.passo h3{font-size:1.12rem}
.passo p{color:var(--cinza); font-size:.95rem; margin:0}

/* ---------- motivos ---------- */
.motivo{display:flex; gap:16px; align-items:flex-start}
.motivo-ic{
  flex:none; width:46px; height:46px; border-radius:14px; display:grid; place-items:center;
  background:rgba(62,126,184,.12);
}
.motivo-ic svg{width:22px; height:22px; stroke:var(--azul); fill:none; stroke-width:2}
.sec-marinho .motivo-ic{background:rgba(159,198,230,.14)}
.motivo h3{font-size:1.05rem; margin-bottom:4px}
.motivo p{font-size:.95rem; color:var(--cinza); margin:0}
.sec-marinho .motivo p{color:#A9BCD2}

/* ---------- depoimentos ---------- */
.dep{background:#fff; border:1px solid var(--linha); border-radius:var(--raio-g); padding:28px}
.dep-estrelas{color:var(--ouro); letter-spacing:3px; font-size:.95rem; margin-bottom:12px}
.dep p{font-size:.98rem; color:var(--tinta)}
.dep-quem{display:flex; align-items:center; gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid var(--linha)}
.dep-ini{width:42px; height:42px; border-radius:50%; background:var(--marinho); color:#fff; display:grid; place-items:center; font-weight:800; flex:none}
.dep-quem strong{display:block; font-size:.94rem}
.dep-quem span{font-size:.83rem; color:var(--cinza)}

/* ---------- faq ---------- */
.faq{max-width:820px; margin-inline:auto}
.faq-item{border-bottom:1px solid var(--linha)}
.faq-p{
  width:100%; background:none; border:0; text-align:left; cursor:pointer;
  padding:22px 44px 22px 0; font-size:1.05rem; font-weight:700; color:var(--marinho);
  position:relative; font-family:inherit;
}
.faq-p::after{content:"+"; position:absolute; right:8px; top:50%; transform:translateY(-50%); font-size:1.5rem; color:var(--ouro); transition:.25s}
.faq-item.aberto .faq-p::after{content:"−"}
.faq-r{max-height:0; overflow:hidden; transition:max-height .32s ease}
.faq-r p{padding:0 30px 22px 0; color:var(--cinza); font-size:.98rem; margin:0}

/* ---------- chamada final ---------- */
.cta{position:relative; overflow:hidden; background:var(--marinho); color:#fff; text-align:center; padding:clamp(60px,9vw,110px) 0}
.cta::before{
  content:""; position:absolute; inset:0; opacity:.16;
  background:url(../img/cataratas-ar.jpg) center/cover;
}
.cta .env{position:relative}
.cta h2{color:#fff; max-width:760px; margin-inline:auto}
.cta p{color:#BACBE0; max-width:560px; margin-inline:auto 1.6em}
.cta .hero-bts{justify-content:center}

/* ---------- formulário ---------- */
.form-caixa{background:#fff; border:1px solid var(--linha); border-radius:var(--raio-g); padding:clamp(26px,4vw,40px); box-shadow:var(--sombra)}
.campo{margin-bottom:16px}
.campo label{display:block; font-size:.86rem; font-weight:700; color:var(--marinho); margin-bottom:6px}
.campo input,.campo select,.campo textarea{
  width:100%; padding:13px 15px; border:1.5px solid var(--linha); border-radius:12px;
  font-family:inherit; font-size:1rem; color:var(--tinta); background:#fff; transition:.2s;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:0; border-color:var(--azul); box-shadow:0 0 0 4px rgba(62,126,184,.12)}
.campo textarea{min-height:110px; resize:vertical}
.form-nota{font-size:.82rem; color:var(--cinza); margin:14px 0 0}

/* ---------- página interna ---------- */
.topo-int{position:relative; color:#fff; padding:calc(var(--nav-h) + 70px) 0 70px; overflow:hidden}
.topo-int .hero-bg::after{background:linear-gradient(100deg,rgba(6,20,40,.90),rgba(6,20,40,.60))}
.topo-int .env{position:relative; z-index:1}
.migalha{font-size:.86rem; color:#8FA4BE; margin-bottom:14px}
.migalha a:hover{color:#fff}
.topo-int h1{color:#fff; max-width:780px}
.topo-int .hero-lead{margin-bottom:0}

.int-grade{display:grid; grid-template-columns:1fr 380px; gap:44px; align-items:start}
@media(max-width:980px){.int-grade{grid-template-columns:1fr}}
.int-corpo h2{margin-top:38px; font-size:clamp(1.35rem,2.4vw,1.6rem)}
.int-corpo h2:first-child{margin-top:0}
.int-corpo ul{padding-left:22px; margin:0 0 1.2em}
.int-corpo li{margin-bottom:8px; color:var(--cinza)}
.lista-check{list-style:none; padding:0 !important}
.lista-check li{position:relative; padding-left:30px; color:var(--tinta)}
.lista-check li::before{
  content:"✓"; position:absolute; left:0; top:0; color:var(--azul); font-weight:800;
}
.lista-x{list-style:none; padding:0 !important}
.lista-x li{position:relative; padding-left:30px}
.lista-x li::before{content:"×"; position:absolute; left:2px; top:0; color:#C0554A; font-weight:800; font-size:1.1rem}

.aside{position:sticky; top:96px; background:#fff; border:1px solid var(--linha); border-radius:var(--raio-g); padding:28px; box-shadow:var(--sombra)}
.aside .preco{margin-bottom:6px}
.aside .preco strong{font-size:1.8rem}
.aside-lista{list-style:none; padding:0; margin:20px 0; font-size:.93rem}
.aside-lista li{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px dashed var(--linha); color:var(--cinza)}
.aside-lista li strong{color:var(--marinho); text-align:right; font-weight:700}
.aside-nota{font-size:.8rem; color:var(--cinza); text-align:center; margin:12px 0 0}

.tabela{width:100%; border-collapse:collapse; font-size:.95rem; background:#fff; border-radius:var(--raio); overflow:hidden; box-shadow:var(--sombra)}
.tabela th{background:var(--marinho); color:#fff; text-align:left; padding:14px 16px; font-size:.86rem; letter-spacing:.04em; text-transform:uppercase}
.tabela td{padding:14px 16px; border-bottom:1px solid var(--linha); color:var(--cinza)}
.tabela td:first-child{color:var(--tinta); font-weight:700}
.tabela-rolagem{overflow-x:auto; -webkit-overflow-scrolling:touch}

/* ---------- rodapé ---------- */
.rodape{background:var(--marinho-esc); color:#93A6BE; padding:70px 0 0; font-size:.94rem}
.rodape-grade{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:36px; padding-bottom:48px}
@media(max-width:900px){.rodape-grade{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rodape-grade{grid-template-columns:1fr}}
.rodape h4{color:#fff; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:18px}
.rodape ul{list-style:none; padding:0; margin:0}
.rodape li{margin-bottom:10px}
.rodape a:hover{color:var(--azul-cl)}
.rodape .marca{margin-bottom:18px}
.rodape .marca-img{height:96px}
.rodape-base{border-top:1px solid rgba(255,255,255,.10); padding:22px 0; font-size:.83rem; display:flex; flex-wrap:wrap; gap:10px 24px; justify-content:space-between}

/* ---------- botão flutuante whatsapp ---------- */
.zap{
  position:fixed; right:18px; bottom:18px; z-index:800;
  display:flex; align-items:center; gap:10px; padding:14px 20px 14px 16px;
  background:#22B45C; color:#fff; border-radius:999px; font-weight:800; font-size:.95rem;
  box-shadow:0 10px 30px rgba(34,180,92,.42); transition:.25s;
}
.zap:hover{transform:translateY(-3px); background:#1C9E4F}
.zap svg{width:22px; height:22px; fill:#fff}
@media(max-width:560px){.zap span{display:none} .zap{padding:16px; border-radius:50%}}

/* ---------- revelação ---------- */
.sr{opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease}
.sr.in{opacity:1; transform:none}
@media(prefers-reduced-motion:reduce){
  .sr{opacity:1 !important; transform:none !important; transition:none}
  html{scroll-behavior:auto}
}

/* ---------- frota ---------- */
.frota{display:grid; grid-template-columns:1.35fr 1fr; gap:24px}
@media(max-width:760px){.frota{grid-template-columns:1fr}}
.frota figure{margin:0; border-radius:var(--raio-g); overflow:hidden; position:relative; background:var(--marinho)}
.frota img{width:100%; height:100%; object-fit:cover; aspect-ratio:16/10}
.frota figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:34px 22px 18px; color:#fff;
  font-size:.92rem; font-weight:700;
  background:linear-gradient(180deg,rgba(6,20,40,0),rgba(6,20,40,.86));
}
.slogan{font-style:italic; color:var(--ouro); font-weight:700}

/* ---------- hero: linha de destaque ---------- */
.hero-lead-forte{font-size:1.28rem; font-weight:700; color:#fff; max-width:600px; margin-bottom:.6em}
@media(max-width:640px){.hero-lead-forte{font-size:1.12rem}}

/* ---------- nota do Google ---------- */
.nota-google{
  display:inline-flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:center;
  background:#fff; border:1px solid var(--linha); border-radius:999px;
  padding:12px 24px; margin-top:18px; box-shadow:var(--sombra);
}
.nota-google strong{font-size:1.6rem; color:var(--marinho); font-weight:800; line-height:1}
.nota-google .dep-estrelas{margin:0; font-size:1.05rem}
.nota-google span:last-child{font-size:.9rem; color:var(--cinza); font-weight:600}
.dep-quem span span{display:block; font-size:.82rem; color:var(--cinza)}
.dep{display:flex; flex-direction:column}
.dep p{flex:1}
.dep .dep-quem{margin-top:auto}
