/* Pousada Alto Mar: site em HTML puro. Cores, fontes e medidas tiradas do tema Avada do WordPress (fusion-styles). */
@font-face { font-family: "Quicksand"; src: url("../fonts/quicksand.woff2") format("woff2"); font-weight: 300 700; font-display: swap; }
@font-face { font-family: "Lato"; src: url("../fonts/lato-700.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("../fonts/roboto.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }

:root {
  color-scheme: only light;
  --azul: #125e94;          /* primary_color do tema */
  --azul-escuro: #002457;   /* hover dos botões */
  --azul-icone: #055c93;
  --texto: #7f8795;
  --titulo: #6f727b;
  --cinza: #f8f8f8;
  --bege: #b9afa1;
  --largura: 1170px;
  --cabecalho: 235px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: #fff; color: var(--texto); font: 400 18px/32px "Quicksand", Tahoma, Geneva, sans-serif; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--azul); text-decoration: none; }
a:hover { color: var(--azul-escuro); }
h1, h2, h3, h4, h5, h6 { font-family: "Quicksand", Tahoma, sans-serif; font-weight: 400; color: var(--titulo); margin: 0 0 20px; }
p { margin: 0 0 20px; }
.container { width: 100%; max-width: calc(var(--largura) + 60px); margin: 0 auto; padding: 0 30px; }
.pular { position: absolute; left: -999px; top: 0; z-index: 100000; background: #fff; color: var(--azul); padding: 10px 16px; }
.pular:focus { left: 10px; top: 10px; }
.ic { width: 1em; height: 1em; fill: currentColor; display: inline-block; vertical-align: -0.125em; flex: none; }
.vis-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------------------------------------------------------------- cabeçalho (transparente sobre a foto, fixo branco ao rolar) */
.cabecalho { position: absolute; top: 0; left: 0; right: 0; z-index: 50; }
.cabecalho-in { display: flex; justify-content: space-between; align-items: flex-start; height: var(--cabecalho); }
.logo { margin-top: 31px; flex: none; }
.logo img { width: 270px; height: auto; }
.logo .logo-azul { display: none; width: 220px; }
.menu-lista { list-style: none; margin: 145px 0 0; padding: 0; display: flex; gap: 0; }
.menu-lista a { display: flex; flex-direction: column; align-items: center; padding: 0 14px; color: #fff; text-align: center; white-space: nowrap;
  font: 700 15px/1.4 "Quicksand", sans-serif; letter-spacing: 2px; border-top: 3px solid transparent; padding-top: 6px; }
.menu-lista a:hover, .menu-lista a[aria-current="page"] { color: #fff; border-top-color: var(--bege); }
.menu-lista .ic { width: 15px; height: 15px; margin-bottom: 4px; }
.ic-vazio { display: block; height: 19px; }
.menu-desc { font: 400 11px/1.4 "Quicksand", sans-serif; letter-spacing: 0; color: rgba(255, 255, 255, .75); margin-top: 3px; }
.menu-botao { display: none; }
.cabecalho.fixo { position: fixed; background: #fff; box-shadow: 0 1px 6px rgba(0, 0, 0, .12); animation: descer .3s ease; }
@keyframes descer { from { transform: translateY(-100%); } to { transform: none; } }
.cabecalho.fixo .cabecalho-in { height: 92px; align-items: center; }
.cabecalho.fixo .logo { margin-top: 0; }
.cabecalho.fixo .logo-branco { display: none; }
.cabecalho.fixo .logo-azul { display: block; }
.cabecalho.fixo .menu-lista { margin-top: 0; }
.cabecalho.fixo .menu-lista a { color: var(--titulo); font-size: 14px; }
.cabecalho.fixo .menu-desc { color: #9a9ca3; }

/* ---------------------------------------------------------------- topo da home e faixa de título das páginas internas */
.hero { position: relative; min-height: 600px; height: 100vh; max-height: 1000px; display: flex; align-items: center; justify-content: center;
  text-align: center; color: #fff; overflow: hidden; background: #5c5b5c; }
.hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-texto { position: relative; padding: 180px 20px 0; }
.hero-sub { font: italic 400 32px/1.2 "Quicksand", sans-serif; color: #f0e5d7; margin: 0 0 10px; }
.hero h1 { color: #fff; font-size: 82px; line-height: 1.2; letter-spacing: -1px; margin: 0; text-shadow: 0 1px 12px rgba(0, 0, 0, .25); }
.titulo-pagina { position: relative; background: #5c5b5c; color: #fff; text-align: center; overflow: hidden;
  padding: calc(var(--cabecalho) + 10px) 20px 60px; }
.titulo-pagina > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.titulo-pagina h1 { position: relative; color: #fff; font-size: 52px; line-height: 1.25; margin: 0; text-shadow: 0 1px 10px rgba(0, 0, 0, .3); }

/* ---------------------------------------------------------------- seções */
.secao { padding: 70px 0; position: relative; }
.secao-cinza { background: var(--cinza); }
.secao-seta::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); border: 22px solid transparent;
  border-top: 20px solid #fff; border-bottom: 0; }
.titulo-secao { text-align: center; margin-bottom: 40px; }
.titulo-secao h2 { font-size: 36px; line-height: 1.25; letter-spacing: -1px; margin: 0 0 10px; }
.titulo-secao p { margin: 0 0 10px; font-size: 16px; }
.folha { color: var(--azul); width: 30px; height: 30px; transform: scaleX(-1); display: block; margin: 12px auto 0; }
.h-medio { font-size: 26px; line-height: 1.4; letter-spacing: -1px; }
.duas-colunas { display: grid; grid-template-columns: 1fr 1fr; gap: 4%; align-items: center; }
.duas-colunas > * { min-width: 0; }
.texto-centro { text-align: center; }

.botao { display: inline-block; font: 700 14px/17px "Lato", Tahoma, sans-serif; letter-spacing: 2px; text-transform: uppercase;
  padding: 13px 29px; border-radius: 30px; background: var(--azul); color: #fff; border: 2px solid var(--azul); transition: background .2s, border-color .2s; }
.botao:hover { background: var(--azul-escuro); border-color: var(--azul-escuro); color: #fff; }
.botao-contorno { background: transparent; color: var(--azul); }
.botao-contorno:hover { background: var(--azul); color: #fff; border-color: var(--azul); }

/* comodidades (O que oferecemos!) */
.comodidades { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px 30px; text-align: center; }
.comodidades .ic { width: 42px; height: 42px; color: var(--azul-icone); display: block; margin: 0 auto 14px; }
.comodidades .bed-flip { transform: scaleX(-1); }
.comodidades h3 { font-size: 18px; line-height: 1.4; margin: 0; }

/* listas com ícone */
.lista-icones { list-style: none; margin: 0; padding: 0; }
.lista-icones li { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 12px; line-height: 1.75; font-size: 18px; }
.lista-icones .ic { color: var(--azul-icone); width: 18px; height: 18px; margin-top: 7px; }
.tres-colunas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 30px; }
.tres-colunas > * { min-width: 0; }
.todos-quartos h2 { text-align: center; font-weight: 700; font-size: 26px; letter-spacing: -1px; margin-bottom: 35px; }

/* quartos (cartões com foto) */
.quartos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; text-align: center; }
.quartos > * { min-width: 0; }
.quarto h3 { font-size: 26px; line-height: 1.4; letter-spacing: -1px; min-height: 2.8em; margin-bottom: 20px; }
.quarto img { width: 100%; height: 300px; object-fit: cover; }
.quarto .botao { margin-top: 10px; }

/* faixa de reserva (foto do porto) */
.chamada { position: relative; color: #fff; padding: 90px 0; overflow: hidden; background: #0c2c47; }
.chamada > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.chamada::before { content: ""; position: absolute; inset: 0; background: rgba(0, 36, 87, .55); z-index: 1; }
.chamada-in { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 50px; }
.chamada h2 { color: #fff; font-size: 24px; line-height: 1.4; margin: 0 0 15px; }
.chamada p { margin: 0; font-size: 16px; }

/* locais próximos */
.mapa iframe { width: 100%; height: 400px; border: 0; display: block; }
.locais { list-style: none; margin: 0; padding: 0; }
.locais li { display: flex; gap: 14px; align-items: center; margin-bottom: 10px; }
.locais strong { color: var(--titulo); font-weight: 700; }
.locais .ic { color: var(--azul-icone); width: 14px; height: 18px; }

/* prints de avaliações e selos */
.avaliacoes, .selos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; align-items: center; }
.selos { gap: 60px; padding: 0 30px; }
.avaliacoes > *, .selos > * { min-width: 0; }

/* onda entre os selos e o restaurante */
.onda { display: block; width: 100%; height: 60px; color: var(--cinza); margin-top: 20px; }
.secao-restaurante { padding-top: 40px; }

/* frase e depoimentos */
.frase { text-align: center; padding: 60px 0; }
.frase p { font-size: 26px; line-height: 1.4; letter-spacing: -.5px; color: var(--titulo); margin: 14px 0 0; }
.depoimentos { background: var(--azul-icone); color: #fff; padding: 90px 0; text-align: center; }
.depoimentos h2 { color: #fff; font-size: 26px; margin-bottom: 30px; }
.depoimentos .carrossel { max-width: 760px; margin: 0 auto; }
.depoimento blockquote { margin: 0; font-style: italic; font-size: 17px; line-height: 1.7; }
.depoimento blockquote p { margin: 0 0 18px; }
.depoimento .autor { font-size: 15px; }
.depoimento .autor strong { font-weight: 700; }

/* cartões do blog */
.grade-posts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
.grade-posts > li { min-width: 0; }
.card-post { background: #fff; border: 1px solid #ebeaea; box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
.card-post img { width: 100%; height: auto; }
.card-post-corpo { padding: 25px 25px 20px; }
.card-post h3 { font-size: 20px; line-height: 1.5; letter-spacing: -.5px; margin: 0 0 15px; padding-bottom: 15px; border-bottom: 1px solid #e0dede; }
.card-post h3 a { color: var(--azul); }
.card-post p { font-size: 16px; line-height: 1.75; margin: 0 0 15px; }
.leia-mais { font-size: 12px; }
.leia-mais .ic { width: 8px; height: 10px; }
.secao-blog .container { max-width: none; padding: 0; }
.secao-blog .titulo-secao { padding: 0 20px; }
.secao-blog .grade-posts { gap: 0; }
.secao-blog .card-post { box-shadow: none; }
.blog-pagina .card-post h3 { text-align: center; border: 0; padding: 0; margin: 0; }

/* contato */
.contato-caixas { display: grid; grid-template-columns: 1fr 1fr; gap: 4%; align-items: start; }
.contato-caixas > * { min-width: 0; }
.caixa-contato { background: var(--cinza); padding: 50px 40px 70px; text-align: center; }
.caixa-contato h2, .contato-local h2 { font-size: 20px; line-height: 1.4; margin-bottom: 18px; }
.caixa-contato hr, .contato-local hr { width: 75px; border: 0; border-top: 1px solid var(--azul); margin: 0 auto 30px; }
.caixa-contato p { text-align: left; font-size: 16px; line-height: 1.8; }
.caixa-contato .telefone-grande { font-size: 30px; line-height: 1.6; margin: 0 0 10px; text-align: center; }
.telefone-grande a { color: var(--azul); }
.caixa-contato .botoes { display: flex; flex-direction: column; align-items: center; gap: 20px; margin-top: 20px; }
.contato-local { text-align: center; padding-top: 30px; }
.contato-local address { font-style: normal; font-size: 16px; line-height: 1.8; margin-bottom: 20px; }
.contato-local .mapa iframe { height: 300px; max-width: 400px; margin: 0 auto; }

/* posts */
.post-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 60px; padding: 60px 0 70px; }
.post-nav { display: flex; justify-content: space-between; border-top: 1px solid #e7e6e6; border-bottom: 1px solid #e7e6e6;
  padding: 6px 0; margin-bottom: 40px; font-size: 16px; }
.post-nav .ic { width: 9px; height: 12px; }
.post-destaque { margin: 0 0 30px; }
.post-corpo { font-size: 16px; line-height: 1.85; }
.post-corpo img { margin: 0 0 25px; }
.post-corpo strong { color: var(--titulo); }
.post-assinatura { color: var(--texto); }
.compartilhe { background: #f6f6f6; padding: 25px 30px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px; margin: 40px 0; }
.compartilhe h2 { font-size: 20px; margin: 0; }
.compartilhe ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; }
.compartilhe a { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; background: var(--azul-icone); color: #fff; border-radius: 4px; }
.compartilhe .ic { width: 16px; height: 16px; }
.relacionados h2 { font-size: 20px; margin-bottom: 20px; }
.relacionados ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.relacionados img { width: 100%; height: 150px; object-fit: cover; margin-bottom: 10px; }
.relacionados a { font-size: 15px; line-height: 1.5; }
.lateral h2 { font-size: 13px; letter-spacing: 0; color: var(--titulo); margin: 0 0 12px; }
.lateral ul { list-style: none; margin: 0 0 40px; padding: 0; }
.lateral li { border-bottom: 1px solid #e7e6e6; padding: 8px 0; font-size: 15px; line-height: 1.6; display: flex; gap: 8px; }
.lateral .ic { width: 7px; height: 10px; margin-top: 7px; color: var(--azul); }

/* página 404 */
.pagina-404 { padding: 60px 0 80px; }
.pagina-404 ul { line-height: 2; }

/* ---------------------------------------------------------------- carrosséis (scroll-snap, sem biblioteca) */
.carrossel { position: relative; }
.carrossel-trilho { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; list-style: none; margin: 0; padding: 0;
  gap: var(--gap, 0px); }
.carrossel-trilho::-webkit-scrollbar { display: none; }
.carrossel-trilho > li { flex: 0 0 calc((100% - (var(--cols, 1) - 1) * var(--gap, 0px)) / var(--cols, 1)); scroll-snap-align: start; min-width: 0; }
.carrossel-trilho img { width: 100%; }
.carrossel-seta { position: absolute; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border: 0; padding: 0; cursor: pointer;
  background: rgba(0, 0, 0, .6); color: #fff; display: flex; align-items: center; justify-content: center; z-index: 2; }
.carrossel-seta:hover { background: rgba(0, 0, 0, .75); }
.carrossel-seta .ic { width: 9px; height: 16px; }
.carrossel-seta.anterior { left: 10px; }
.carrossel-seta.proxima { right: 10px; }
.carrossel-pontos { display: flex; justify-content: center; gap: 8px; margin-top: 30px; }
.carrossel-pontos button { width: 12px; height: 12px; border-radius: 50%; border: 1px solid #fff; background: transparent; padding: 0; cursor: pointer; }
.carrossel-pontos button[aria-current="true"] { background: #fff; }
.carrossel-pousada img { height: 450px; object-fit: cover; }
.carrossel-fotos { --cols: 5; --gap: 10px; }
.carrossel-fotos img { height: 450px; object-fit: cover; }
.galeria { --cols: 3; --gap: 10px; margin-bottom: 50px; }
.galeria img { height: 300px; object-fit: cover; }
.galeria h3 { text-align: center; font-weight: 700; font-size: 20px; margin-bottom: 25px; }
.galeria a { display: block; cursor: zoom-in; }

/* foto ampliada (galerias de /acomodacoes/) */
.ampliada { position: fixed; inset: 0; z-index: 2147483000; background: rgba(0, 0, 0, .9); display: none; align-items: center; justify-content: center; }
.ampliada.aberta { display: flex; }
.ampliada img { max-width: 92vw; max-height: 86vh; width: auto; height: auto; }
.ampliada button { position: absolute; background: rgba(0, 0, 0, .5); border: 0; color: #fff; width: 48px; height: 48px; cursor: pointer;
  display: flex; align-items: center; justify-content: center; }
.ampliada .fechar { top: 12px; right: 12px; }
.ampliada .anterior { left: 12px; top: 50%; transform: translateY(-50%); }
.ampliada .proxima { right: 12px; top: 50%; transform: translateY(-50%); }
.ampliada .ic { width: 20px; height: 20px; }
.ampliada-legenda { position: absolute; bottom: 12px; left: 0; right: 0; text-align: center; color: #ddd; font-size: 14px; }

/* ---------------------------------------------------------------- rodapé */
.rodape { border-top: 9px solid #ebeaea; padding: 30px 0; }
.rodape-in { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 20px; }
.rodape-logo img { width: 300px; height: auto; }
.rodape-copy { text-align: center; font-size: 11px; line-height: 1.5; text-transform: uppercase; color: var(--titulo); margin: 0; }
.redes { list-style: none; margin: 0; padding: 0; display: flex; justify-content: flex-end; gap: 10px; }
.redes a { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 4px; background: #e8e8e8; color: #bebdbd; }
.redes a:hover { color: var(--azul); }
.redes .ic { width: 16px; height: 16px; }

/* ---------------------------------------------------------------- botão flutuante do WhatsApp (Click to Chat) */
.whatsapp-flutuante { position: fixed; bottom: 10px; right: 10px; z-index: 99; display: block; }
.whatsapp-flutuante img { width: 50px; height: 50px; transition: transform .2s; }
.whatsapp-flutuante:hover img { transform: scale(1.08); }

/* ---------------------------------------------------------------- motor de reservas Omnibees (visual do plugin wp-booking-engine) */
.menu-aberto .reserva-botao { display: none; }
.reserva-botao { position: fixed; top: 10%; right: 6px; z-index: 9999; display: flex; align-items: center; gap: 10px; border: 0; padding: 0;
  background: transparent; cursor: pointer; font-family: "Roboto", Arial, sans-serif; }
.reserva-rotulo { font-size: 12px; width: 120px; border-radius: 4px; background: #f5f7f9; color: #43474e; padding: 10px 15px;
  box-shadow: 0 0 5px rgba(0, 0, 0, .2); }
.reserva-circulo { width: 60px; height: 60px; border-radius: 50%; background: #000; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 5px rgba(0, 0, 0, .2); }
.reserva-circulo img { width: 26px; height: 26px; }
.reserva-painel { position: fixed; top: 0; right: 0; height: 100%; width: 340px; max-width: 100%; z-index: 2147483001; background: #000; color: #fff;
  overflow-y: auto; transform: translateX(100%); transition: transform .4s ease, visibility .4s; visibility: hidden; font-family: "Roboto", Arial, sans-serif; text-align: center; }
.reserva-painel.aberto { transform: none; visibility: visible; }
.reserva-in { padding: 20px 16px 30px; }
.reserva-topo { display: flex; justify-content: space-between; align-items: center; padding-bottom: 20px; }
.reserva-titulo { font-size: 18px; color: #fff; margin: 0; font-weight: 400; font-family: "Roboto", Arial, sans-serif; }
.reserva-fechar { background: transparent; border: 0; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; padding: 4px 8px; }
.reserva-painel label.datas-rotulo { display: block; text-align: left; font-size: 13px; color: #ddd; margin: 4px 0 2px; }
.reserva-datas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 6px; }
.reserva-painel input, .reserva-painel select { width: 100%; height: 40px; border-radius: 6px; border: 0; padding: 8px 10px; font: 14px "Roboto", Arial, sans-serif;
  background: #fff; color: #222; margin: 0; }
.reserva-campo { position: relative; margin: 7px 0; }
.reserva-campo img { position: absolute; left: 7px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; pointer-events: none; }
.reserva-campo select, .reserva-campo input { padding-left: 34px; }
.reserva-hospedes { display: flex; gap: 15px; }
.reserva-hospedes > * { flex: 1; }
.idades { font-size: 14px; }
.idade { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin: 7px 0; text-align: left; }
.idade input { width: 50%; }
.reserva-enviar { margin-top: 15px; width: 100%; border: 1px solid transparent; background: #05055d; padding: 10px 20px; border-radius: 6px; color: #fff;
  cursor: pointer; text-transform: uppercase; font: 700 14px "Roboto", Arial, sans-serif; }
.reserva-enviar:hover { background: rgba(5, 5, 93, .8); }
.reserva-omnibees { display: inline-block; margin-top: 30px; }
.reserva-omnibees img { width: 120px; height: auto; }

/* ---------------------------------------------------------------- celular e tablet */
@media (max-width: 1199px) {
  :root { --cabecalho: 96px; }
  .cabecalho-in { height: var(--cabecalho); align-items: center; }
  .logo { margin-top: 0; }
  .logo img { width: 200px; }
  .menu-botao { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; background: transparent; border: 0; color: #fff; cursor: pointer; padding: 0; }
  .menu-botao .ic { width: 26px; height: 26px; }
  .cabecalho.fixo .menu-botao { color: var(--titulo); }
  .menu-lista { display: none; position: absolute; top: var(--cabecalho); left: 0; right: 0; margin: 0; flex-direction: column;
    background: var(--azul); box-shadow: 0 6px 12px rgba(0, 0, 0, .2); }
  .menu-lista.aberto { display: flex; }
  .menu-lista a, .cabecalho.fixo .menu-lista a { flex-direction: row; gap: 12px; padding: 0 30px; line-height: 50px; color: #fff; font-size: 14px;
    border-top: 1px solid rgba(255, 255, 255, .18); }
  .menu-lista a[aria-current="page"] { background: var(--azul-escuro); }
  .menu-lista .ic { margin: 0; }
  .menu-desc, .cabecalho.fixo .menu-desc, .ic-vazio { display: none; }
  .cabecalho.fixo .cabecalho-in { height: var(--cabecalho); }
  .hero h1 { font-size: 56px; }
  .titulo-pagina h1 { font-size: 40px; }
}
@media (max-width: 800px) {
  body { font-size: 16px; line-height: 28px; }
  .container { padding: 0 20px; }
  .secao { padding: 50px 0; }
  .duas-colunas, .contato-caixas, .tres-colunas, .quartos, .avaliacoes, .grade-posts, .post-layout { grid-template-columns: 1fr; }
  .duas-colunas { gap: 35px; }
  .comodidades { grid-template-columns: 1fr 1fr; gap: 35px 15px; }
  .selos { grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 0; }
  .titulo-secao h2 { font-size: 28px; }
  .hero { min-height: 0; height: 520px; }
  .hero-texto { padding-top: 70px; }
  .hero h1 { font-size: 46px; }
  .hero-sub { font-size: 22px; }
  /* +70px: o título fica abaixo do botão flutuante "Reservar Agora" (fixo a 10% do topo, 60px de altura) */
  .titulo-pagina { padding: calc(var(--cabecalho) + 70px) 20px 40px; }
  .titulo-pagina h1 { font-size: 30px; }
  .chamada-in { flex-direction: column; text-align: center; gap: 25px; }
  .carrossel-pousada img { height: 320px; }
  .carrossel-fotos { --cols: 2; }
  .carrossel-fotos img { height: 300px; }
  .galeria { --cols: 1; }
  .galeria img { height: 260px; }
  .quarto h3 { min-height: 0; font-size: 22px; }
  .rodape-in { grid-template-columns: 1fr; text-align: center; }
  .rodape-logo img { margin: 0 auto; width: 240px; }
  .redes { justify-content: center; }
  .caixa-contato { padding: 40px 20px; }
  .caixa-contato .telefone-grande { font-size: 24px; }
  .post-layout { gap: 30px; padding-top: 40px; }
  .relacionados ul { grid-template-columns: 1fr 1fr; }
  .frase p { font-size: 22px; }
}
