/* Vila Galé Cumbuco (13/11/2026): cópia do transfer-aeroporto.css sob .pagina-vg, para a página ter CSS próprio
   (mudança numa página não vaza para outra). Abertura e selo iguais aos da página Beach Park. */
/* Página /transfer-aeroporto-fortaleza (23/10/2026): menu da home, painel Contato, rodapé novo e Guia rápido,
   copiados da página de executivo sob body.pagina-vg. O transfer-fortaleza.css (compartilhado) não muda. */
/* Topo da home nesta página (decisão do dono, 23/10): desfaz o "logo + Ligar" das páginas de anúncio. */
.pagina-vg .topo__interna { justify-content: normal; }

/* Painel Contato (vem da home): o × não encolhe quando o título quebra em 2 linhas. */
.pagina-vg .painel-contato__fechar { flex: 0 0 44px; }

/* Guia rápido: 4 blocos de texto, 2 colunas no computador. */
.pagina-vg .te-guia__grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 56px; margin-top: 8px; }
.pagina-vg .te-guia__bloco h3 { margin: 0 0 12px; font-size: 22px; line-height: 30px; color: var(--branco); }
.pagina-vg .te-guia__bloco p { margin: 0; max-width: 62ch; font-size: 17px; line-height: 28px; color: var(--cinza-claro); }
.pagina-vg .te-guia__bloco a { color: var(--aqua-claro); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 899px) { .pagina-vg .te-guia__grade { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 767px) { .pagina-vg .te-guia__bloco h3 { font-size: 20px; line-height: 27px; } .pagina-vg .te-guia__bloco p { font-size: 16px; line-height: 26px; } }

/* Rodapé no modelo do dono (23/10): marca · Navegue · card Fale com a Fortal; base com Voltar ao topo. */
.pagina-vg .te-rodape { padding: 0; border-top: 1px solid rgba(8, 170, 167, .35); }
.pagina-vg .te-rodape__grade {
  max-width: 1280px; margin: 0 auto; padding: 56px var(--margem);
  display: grid; grid-template-columns: minmax(0, 1.25fr) auto minmax(0, 1.15fr); align-items: start;
}
.pagina-vg .te-rodape .marca img { width: 220px; height: auto; }
.pagina-vg .te-rodape__frase { margin: 26px 0 0; max-width: 30ch; font-size: 20px; line-height: 30px; color: var(--branco); }
.pagina-vg .te-rodape__selo {
  display: inline-flex; align-items: center; gap: 12px; margin: 26px 0 0; padding: 10px 22px 10px 16px;
  border: 1px solid rgba(8, 170, 167, .55); border-radius: 999px; font-size: 16px; line-height: 22px; color: var(--branco);
}
.pagina-vg .te-rodape__selo span { width: 12px; height: 12px; border-radius: 50%; background: var(--aqua); flex: none; }
.pagina-vg .te-rodape__nav { align-self: stretch; margin: 0 48px; padding: 4px 56px; border-left: 1px solid rgba(255, 255, 255, .1); border-right: 1px solid rgba(255, 255, 255, .1); }
.pagina-vg .te-rodape__rotulo { margin: 0 0 14px; font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--aqua-claro); }
.pagina-vg .te-rodape__nav ul { list-style: none; margin: 0; padding: 0; }
.pagina-vg .te-rodape__nav a { display: inline-flex; align-items: center; min-height: 52px; font-size: 19px; color: var(--branco); text-decoration: none; }
.pagina-vg .te-rodape__nav a:hover { color: var(--aqua-claro); }
.pagina-vg .te-rodape__contato {
  padding: 26px 28px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 20px;
  background: rgba(255, 255, 255, .03); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}
.pagina-vg .te-rodape__botao {
  display: flex; align-items: center; gap: 14px; min-height: 56px; padding: 10px 18px 10px 20px; border-radius: 16px;
  background: linear-gradient(90deg, var(--aqua), #19c1bd); color: var(--branco); font-size: 17px; font-weight: 600; text-decoration: none;
}
.pagina-vg .te-rodape__botao > svg:first-child { width: 26px; height: 26px; flex: none; }
.pagina-vg .te-rodape__botao span { flex: 1; }
.pagina-vg .te-rodape__chevron { width: 20px; height: 20px; flex: none; }
.pagina-vg .te-rodape__botao:hover { filter: brightness(1.06); }
.pagina-vg .te-rodape__canais { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 6px; }
.pagina-vg .te-rodape__canais a { display: flex; align-items: center; gap: 16px; min-height: 56px; color: var(--branco); text-decoration: none; font-size: 17px; line-height: 22px; overflow-wrap: anywhere; }
.pagina-vg .te-rodape__canais small { display: block; font-size: 14px; line-height: 18px; color: var(--cinza-claro); }
.pagina-vg .te-rodape__canais a:hover { color: var(--aqua-claro); }
.pagina-vg .te-rodape__icone { display: inline-flex; width: 32px; height: 32px; flex: none; color: var(--aqua-claro); }
.pagina-vg .te-rodape__icone svg { width: 100%; height: 100%; }
.pagina-vg .te-rodape__base {
  max-width: none; margin: 0; padding: 18px max(var(--margem), calc((100% - 1280px) / 2 + var(--margem)));
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  border-top: 1px solid rgba(8, 170, 167, .35); font-size: 15px; color: var(--cinza-claro);
}
.pagina-vg .te-rodape__base p { margin: 0; }
.pagina-vg .te-rodape__topo { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--cinza-claro); text-decoration: none; }
.pagina-vg .te-rodape__topo svg { width: 22px; height: 22px; color: var(--aqua-claro); }
.pagina-vg .te-rodape__topo:hover { color: var(--branco); }
.pagina-vg .te-rodape :where(a):focus-visible { outline: 3px solid var(--verde); outline-offset: 3px; border-radius: 8px; }
@media (max-width: 1099px) {
  .pagina-vg .te-rodape__grade { grid-template-columns: 1fr 1fr; gap: 40px; }
  .pagina-vg .te-rodape__nav { margin: 0; padding: 0 0 0 40px; border-right: 0; }
  .pagina-vg .te-rodape__contato { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .pagina-vg .te-rodape__grade { grid-template-columns: 1fr; gap: 32px; padding: 40px 20px; }
  .pagina-vg .te-rodape .marca img { width: 180px; }
  .pagina-vg .te-rodape__frase { font-size: 18px; line-height: 27px; }
  .pagina-vg .te-rodape__nav { padding: 24px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .1); }
  .pagina-vg .te-rodape__contato { padding: 22px 18px; }
  .pagina-vg .te-rodape__botao { font-size: 16px; }
  .pagina-vg .te-rodape__base { padding: 16px 20px calc(16px + 68px + env(safe-area-inset-bottom)); flex-wrap: wrap; }
}

/* Abertura com foto e selo "Imagem ilustrativa": mesmo tratamento da van (aluguel-van.css), sob .pagina-vg. */
.pagina-vg .abertura { min-height: max(640px, min(56.25vw, 820px)); }
@media (min-width: 768px) {
  .pagina-vg .abertura__fundo {
    left: auto; right: 0; width: min(100%, 1458px);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%);
    mask-image: linear-gradient(90deg, transparent 0, #000 22%);
  }
}
/* A partir de 1100 px a foto ocupa 78% da largura, à direita: o grupo sai de trás do texto. Altura segue a foto. */
@media (min-width: 1100px) {
  .pagina-vg .abertura { min-height: max(640px, min(43.9vw, 820px)); }
  .pagina-vg .abertura__fundo { width: min(78vw, 1458px); }
}
.pagina-vg .abertura__fundo img { object-position: 50% 55%; }
.pagina-vg .abertura::before {
  background:
    linear-gradient(180deg, rgba(7, 30, 32, .7) 0%, rgba(7, 30, 32, 0) 18%),
    linear-gradient(90deg, rgba(7, 30, 32, .94) 0%, rgba(7, 30, 32, .84) 22%, rgba(7, 30, 32, .42) 36%, rgba(7, 30, 32, .1) 48%, rgba(7, 30, 32, 0) 58%);
}
.pagina-vg .abertura__interna { display: flex; align-items: flex-start; }
.pagina-vg .abertura__conteudo { max-width: 500px; }
.pagina-vg .tv-selo-ilustrativa {
  position: absolute; right: 16px; bottom: 16px; z-index: 1; margin: 0; padding: 4px 10px; border-radius: 999px;
  background: rgba(7, 30, 32, .72); color: var(--cinza-claro); font-size: 14px; line-height: 20px;
}
/* Celular: a foto também é fundo, ancorada embaixo; o texto fica no topo sobre o petróleo que se desfaz na foto,
   então os rostos e a van aparecem abaixo do botão, sem texto por cima. */
@media (max-width: 767px) {
  .pagina-vg .abertura { min-height: 0; }
  .pagina-vg .abertura__fundo { top: auto; height: 64%; }
  .pagina-vg .abertura__fundo img { object-position: 50% 60%; }
  .pagina-vg .abertura::before {
    background: linear-gradient(180deg, #071E20 0%, #071E20 34%, rgba(7, 30, 32, .75) 44%, rgba(7, 30, 32, .15) 58%, rgba(7, 30, 32, 0) 66%);
  }
  .pagina-vg .abertura__interna { padding-bottom: min(108vw, 420px); }
  .pagina-vg .tv-selo-ilustrativa { right: 12px; bottom: 12px; }
}


/* Ajustes desta foto (13/11): placa à esquerda, sedã e SUV no centro, casal e van à direita. A foto é recortada a 6%
   para a placa sair logo depois da coluna de texto; o degradê termina antes da placa. */
.pagina-vg .abertura__fundo img { object-position: 6% 60%; }
.pagina-vg .abertura::before {
  background:
    linear-gradient(180deg, rgba(7, 30, 32, .7) 0%, rgba(7, 30, 32, 0) 18%),
    linear-gradient(90deg, rgba(7, 30, 32, .96) 0%, rgba(7, 30, 32, .9) 26%, rgba(7, 30, 32, .45) 36%, rgba(7, 30, 32, 0) 44%);
}
@media (max-width: 767px) {
  .pagina-vg .abertura__fundo img { object-position: 20% 100%; }
  .pagina-vg .abertura::before {
    background: linear-gradient(180deg, #071E20 0%, #071E20 58%, rgba(7, 30, 32, .75) 63%, rgba(7, 30, 32, .2) 71%, rgba(7, 30, 32, 0) 77%);
  }
}

/* Aviso de independência abaixo dos selos (revisão 13/11). */
.pagina-vg .abertura__aviso { margin: 14px 0 0; display: block; width: fit-content; max-width: 100%; padding: 4px 10px; border-radius: 10px; background: rgba(7, 30, 32, .82); color: var(--branco); font-size: 14px; line-height: 20px; text-wrap: balance; }

/* Celular: sem a seta dentro dos botões do miolo, o texto cabe em 1 linha a 375 px (medido 13/11). */
@media (max-width: 767px) { .pagina-vg main .botao svg:has(path[d^="M5 12h14"]) { display: none; } }

/* Hotéis no Cumbuco (13/11): 1 coluna no celular, 2 no tablet, 4 no desktop largo. */
.pagina-vg .vg-hoteis__lista { list-style: none; margin: 32px 0 0; padding: 0; display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .pagina-vg .vg-hoteis__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .pagina-vg .vg-hoteis__lista { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pagina-vg .vg-hotel { display: flex; flex-direction: column; gap: 10px; padding: 12px 12px 16px; border-radius: 20px;
  background: rgba(255, 255, 255, .04); border: 1px solid rgba(25, 193, 189, .22); }
.pagina-vg .vg-hotel__foto { position: relative; margin: 0; border-radius: 14px; overflow: hidden; aspect-ratio: 4 / 3; }
.pagina-vg .vg-hotel__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pagina-vg .vg-hotel__selo { position: absolute; right: 8px; bottom: 8px; margin: 0; padding: 2px 8px; border-radius: 999px;
  background: rgba(7, 30, 32, .72); color: var(--cinza-claro); font-size: 12px; line-height: 18px; }
.pagina-vg .vg-hotel h3 { margin: 4px 4px 0; font-size: 18px; line-height: 24px; }
.pagina-vg .vg-hotel p { margin: 0 4px; font-size: 15px; line-height: 22px; color: var(--cinza-claro); }
.pagina-vg .vg-hotel .tf-chip { margin-top: auto; }

/* VERA 13/11: entre 768 e 1099 px a foto desce para baixo do texto (antes o botão e os selos ficavam sobre ela). */
@media (min-width: 768px) and (max-width: 1099px) {
  .pagina-vg .abertura { min-height: 1000px; }
  .pagina-vg .abertura__fundo { top: auto; bottom: 0; height: 446px; }
  .pagina-vg .abertura__interna { padding-bottom: 0; }
  .pagina-vg .abertura::before { background: linear-gradient(180deg, #071E20 0%, #071E20 52%, rgba(7, 30, 32, .6) 58%, rgba(7, 30, 32, 0) 66%); }
}
/* VERA 13/11: títulos de seção menores no celular e quebras de linha equilibradas. */
@media (max-width: 767px) { .pagina-vg .tf-cabecalho h2 { font-size: 28px; line-height: 34px; } }
.pagina-vg main :is(h1, h2, h3, .abertura__apoio, .reservar__passos p, summary span) { text-wrap: balance; }
.pagina-vg main :is(p, li) { text-wrap: pretty; }

/* Guia com 3 blocos (13/11): o último ocupa a linha inteira, sem buraco ao lado. */
.pagina-vg .te-guia__bloco:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* Novo padrão de seção (piloto em 'Como funciona', 13/11): cabeçalho em 2 colunas, linha do tempo, etapa e fecho. */
.pagina-vg .vg-cabecalho { display: grid; gap: 16px; align-items: end; margin-bottom: 40px; }
.pagina-vg .vg-cabecalho h2 { margin: 8px 0 0; }
.pagina-vg .vg-destaque { color: var(--aqua-claro); }
.pagina-vg .vg-cabecalho__lado { margin: 0; color: var(--cinza-claro); font-size: 18px; line-height: 28px; max-width: 44ch; }
@media (min-width: 1000px) {
  .pagina-vg .vg-cabecalho { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; }
  .pagina-vg .vg-cabecalho__lado { padding-left: 32px; border-left: 1px solid rgba(200, 212, 211, .28); margin-bottom: 6px; }
}
.pagina-vg .vg-linha { display: none; }
@media (min-width: 1000px) {
  .pagina-vg .vg-linha { list-style: none; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .pagina-vg .vg-linha li { position: relative; display: flex; align-items: center; }
  .pagina-vg .vg-linha span { position: relative; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
    border: 2px solid var(--aqua-claro); background: var(--petroleo); color: var(--branco); font-weight: 700; font-size: 15px;
    box-shadow: 0 0 14px rgba(63, 211, 207, .35); }
  .pagina-vg .vg-linha li::before { content: ""; position: absolute; left: 44px; right: -24px; top: 50%; height: 2px;
    background: linear-gradient(90deg, rgba(63, 211, 207, .9), rgba(63, 211, 207, .35)); }
  .pagina-vg .vg-linha li:last-child::before { right: 0; background: linear-gradient(90deg, rgba(63, 211, 207, .7), rgba(63, 211, 207, 0)); }
  .pagina-vg .vg-linha li:not(:last-child)::after { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px;
    border-top: 2px solid var(--aqua-claro); border-right: 2px solid var(--aqua-claro); transform: translate(-50%, -50%) rotate(45deg); }
}
.pagina-vg .vg-etapa { margin: 0 0 6px; color: var(--aqua-claro); font-size: 13px; line-height: 18px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase; }
.pagina-vg .vg-passo { border-color: rgba(63, 211, 207, .35); }
.pagina-vg .vg-cabecalho h2 { font-weight: 800; letter-spacing: -.01em; }
.pagina-vg .vg-passo .card-vidro__vidro { box-shadow: inset 0 1px 0 rgba(63, 211, 207, .55), 0 -1px 18px rgba(63, 211, 207, .10); }
@media (min-width: 1000px) {
  .pagina-vg .vg-passo h3 { font-size: 26px; line-height: 32px; }
  .pagina-vg .vg-passo > p:not(.vg-etapa):not(.vg-mini) { font-size: 17px; line-height: 26px; }
}
/* O texto da etapa 3 encostava no entalhe do ícone a 1366: card mais alto a partir de 1000 px. */
@media (min-width: 1000px) { .pagina-vg .vg-passo { min-height: 344px; } }
/* Abaixo de 1000 px (1 coluna) o texto descia até o entalhe do ícone: espaço reservado embaixo do último parágrafo. */
@media (max-width: 999px) { .pagina-vg .vg-passo > p:last-of-type { margin-bottom: 76px; } }
.pagina-vg .vg-fecho { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 40px; }
.pagina-vg .vg-fecho p { margin: 0; color: var(--branco); font-size: 22px; line-height: 30px; }
@media (max-width: 767px) {
  .pagina-vg .vg-fecho { margin-top: 28px; }
  .pagina-vg .vg-fecho p { font-size: 18px; line-height: 26px; }
  .pagina-vg .vg-fecho .botao { width: 100%; }
}

/* Veículos no novo padrão (13/11): fio sob o cabeçalho, rótulo mini, traço turquesa, nota das malas e link com seta. */
.pagina-vg .vg-cabecalho--linha { padding-bottom: 28px; border-bottom: 1px solid rgba(63, 211, 207, .45); }
.pagina-vg .vg-veiculo h3 { font-size: 28px; line-height: 34px; margin: 0 0 8px; }
.pagina-vg .vg-traco { display: block; width: 40px; height: 3px; margin: 18px 0 14px; border-radius: 2px; background: var(--aqua-claro); }
.pagina-vg .vg-mini { margin: 0 0 2px; color: var(--cinza-claro); font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
/* Parágrafos dos cards de veículo sem margem extra (no mockup o texto é compacto) e card um pouco mais alto. */
.pagina-vg .vg-veiculo p { margin: 0; }
.pagina-vg .vg-veiculo .vg-etapa { margin: 0 0 6px; }
@media (min-width: 1000px) { .pagina-vg .vg-veiculo { min-height: 392px; } }
.pagina-vg .vg-nota-malas { display: flex; align-items: center; gap: 20px; margin-top: 36px; }
.pagina-vg .vg-nota-malas__icone { flex: none; width: 40px; height: 40px; color: var(--aqua-claro); padding-right: 20px; box-sizing: content-box;
  border-right: 1px solid rgba(200, 212, 211, .28); }
.pagina-vg .vg-nota-malas p { margin: 0; color: var(--cinza-claro); font-size: 15px; line-height: 22px; }
.pagina-vg .vg-nota-malas .vg-nota-malas__forte { color: var(--branco); font-size: 18px; line-height: 26px; font-weight: 600; margin-bottom: 4px; }
.pagina-vg .vg-link { display: inline-flex; align-items: center; gap: 8px; color: var(--branco); font-size: 18px; line-height: 26px; text-underline-offset: 6px; }
.pagina-vg .vg-link svg { width: 20px; height: 20px; }
@media (max-width: 767px) {
  .pagina-vg .vg-veiculo h3 { font-size: 24px; line-height: 30px; }
  .pagina-vg .vg-nota-malas { align-items: flex-start; gap: 14px; }
  .pagina-vg .vg-nota-malas__icone { width: 32px; height: 32px; padding-right: 14px; }
  .pagina-vg .vg-nota-malas .vg-nota-malas__forte { font-size: 16px; line-height: 24px; }
}

/* Replicação do padrão (13/11): cards de foto, guia e FAQ com o mesmo acabamento dos cards de etapa. */
.pagina-vg .vg-hotel { box-shadow: inset 0 1px 0 rgba(63, 211, 207, .5), 0 -1px 18px rgba(63, 211, 207, .08); }
.pagina-vg .vg-hotel .vg-etapa { margin: 6px 4px 0; }
.pagina-vg .vg-hotel h3 { margin-top: 0; }
.pagina-vg .vg-fecho .vg-fecho__nota { max-width: 60ch; color: var(--cinza-claro); font-size: 16px; line-height: 24px; }
.pagina-vg .te-guia__bloco { box-shadow: inset 0 1px 0 rgba(63, 211, 207, .45); }
.pagina-vg .faq__cabecalho h2 { font-weight: 800; letter-spacing: -.01em; }
.pagina-vg .tf-encontro .vg-passo, .pagina-vg .tf-pontos .vg-passo { min-height: 0; }
@media (min-width: 1000px) { .pagina-vg .tf-pontos .vg-passo { min-height: 300px; } .pagina-vg .tf-encontro .vg-passo { min-height: 340px; } }

/* Três veículos (sedã, SUV, van) lado a lado a partir de tablet largo. */
@media (min-width: 1024px) { .pagina-vg .tf-frota { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
