/* ===================================================================
   Guará Bangalôs — sistema visual unificado
   Carregado depois do style.css: define tipografia, cores e os modelos
   de página. Contraste conferido (WCAG AA).
   =================================================================== */
:root {
  --serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --terra: #55482B;      /* marrom da terra */
  --noite: #2A2118;      /* noite do cerrado */
  --roxo: #A0522D;       /* entardecer: ações e foco (5,9:1 com branco) */
  --roxo-esc: #7E3F22;
  --nevoa: #F5F0EA;      /* fundos alternados */
  --linha: #E6DED4;
  --texto: #2B241D;
  --suave: #5E554C;      /* texto secundário (6,6:1 com branco) */
  --borda-campo: #8F8578;/* bordas de campos (3,4:1) */
}

/* ---------- base ---------- */
body { color:var(--texto); font-size:16px; line-height:1.6; }
h1, h2, h3, .addon-title, .art-title, .cal-titulo, .disp-titulo { font-family:var(--serif); font-weight:400; color:var(--texto); letter-spacing:0; }
a { color:var(--roxo-esc); }
a:hover { color:var(--noite); }
.peq, .cal-cat, .cal-sinal, .cal-dica, .campo2 span, .cal-datas span, .ed-campo > small, .art-meta, .tag { color:var(--suave) !important; }
.campo2 small, .cal-dias button small { color:var(--suave); font-size:11.5px; }
input, select, textarea { border-color:var(--borda-campo); }
.campo2 input, .busca2 input { border:0; }
:focus-visible { outline:3px solid var(--roxo); outline-offset:2px; }
.btn:focus-visible, .sppb-btn:focus-visible { outline:3px solid var(--roxo); outline-offset:3px; }
.dica { color:var(--suave); font-size:12.5px; }

/* sem "revelar ao rolar": conteúdo sempre visível */
.anim { visibility:visible !important; animation:none !important; }

/* ---------- botões ---------- */
.btn, .sppb-btn { border-radius:4px; font-weight:500; padding:9px 18px; }
.btn-sm { padding:5px 12px; font-size:14px; }
.btn.btn-claro { background:#fff; color:var(--roxo-esc); border:1px solid var(--roxo); }
.btn.btn-claro:hover { background:var(--nevoa); color:var(--noite); border-color:var(--roxo-esc); }
.link-acao { background:none; border:0; padding:0; font:inherit; font-size:14px; color:var(--roxo-esc); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }

/* ---------- cabeçalho do site ---------- */
#sp-top-bar { background:var(--noite); color:#D9D0C2; }
#sp-top-bar a { color:#D9D0C2; }
#menu a { font-size:15px; padding:0 14px; color:var(--texto); }
#menu a.ativo { color:var(--roxo-esc); font-weight:600; box-shadow:inset 0 -3px 0 var(--roxo); }
#menu a.btn-login { padding:0 14px; line-height:32px; border-radius:4px; box-shadow:none; }
@media (min-width:992px) { .offcanvas-toggler { display:none; } }

/* ---------- títulos de seção da home ---------- */
.addon-title { font-size:32px; line-height:1.2; margin-bottom:14px; }
.sec { padding:96px 0 80px; }
.hero2 + .chales { padding-top:120px; }
.chales p, .sec-piscina p { font-size:17px; line-height:1.65; max-width:34em; }
.features { padding:88px 0 72px; background:var(--nevoa); }
.features > .container > p { font-size:17px; color:var(--suave); }
.features .row3 { margin-top:44px; gap:28px; }
.feature img { height:auto; aspect-ratio:4/3; border-radius:3px; margin-bottom:16px; }
.feature h3 { font-family:var(--serif); font-weight:400; font-size:22px; color:var(--texto); margin-bottom:6px; }
.feature p { color:var(--suave); }
.sec-piscina { padding:96px 0 80px; }
.sec-piscina p { color:#EFE7DA; }

/* ---------- cabeçalho das páginas internas ---------- */
.cab-pagina { background-size:cover; background-position:center 45%; color:#fff; padding:64px 0 48px; }
.cab-pagina h1 { color:#fff; font-size:clamp(34px,4.5vw,46px); line-height:1.1; margin:10px 0 0; }
.cab-pagina p { color:#F3E7DC; font-size:17px; margin:12px 0 0; max-width:40em; }
.trilha { display:flex; gap:8px; font-size:13.5px; color:#EDE2D6; }
.trilha a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.page-body, .pagina-texto { padding:56px 0 72px; }
.cab-pagina + .page-body { padding-top:48px; }

/* ---------- páginas de texto ---------- */
.leitura { max-width:44rem; font-size:17px; line-height:1.7; }
.leitura p { margin-bottom:1.1em; }
.leitura .mapa iframe { border-radius:4px; }
.leitura-acoes { border-top:1px solid var(--linha); padding-top:18px; margin-top:32px; }
.precos-grade { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:24px; }
.preco-card { border:1px solid var(--linha); background:#fff; padding:16px 18px; display:flex; flex-direction:column; }
.preco-card span { font-size:14px; color:var(--suave); }
.preco-card b { font-family:var(--serif); font-weight:400; font-size:30px; line-height:1.2; color:var(--texto); margin:4px 0; }
.preco-card small { font-size:13px; color:var(--suave); }
.regras { padding-left:20px; margin:0 0 24px; }
.regras li { margin-bottom:6px; }
@media (max-width:767px) { .precos-grade { grid-template-columns:1fr 1fr; } }

/* ---------- acomodações ---------- */
.lista-unidades { display:grid; gap:28px; }
.un-card { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); background:#fff; border:1px solid var(--linha); }
.un-foto { display:block; overflow:hidden; min-height:300px; background:var(--nevoa); }
.un-foto img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.un-foto:hover img { transform:scale(1.03); }
.un-info { padding:26px 30px; display:flex; flex-direction:column; }
.un-info h2 { font-size:28px; margin:0; }
.un-info h2 a { color:var(--texto); }
.un-meta { color:var(--suave); font-size:15px; margin:4px 0 12px; }
.un-desc { font-size:15.5px; margin-bottom:14px; }
.chips { list-style:none; padding:0; margin:0 0 18px; display:flex; flex-wrap:wrap; gap:8px; }
.chips li { font-size:13.5px; background:var(--nevoa); color:var(--texto); padding:4px 10px; border-radius:20px; display:inline-flex; align-items:center; gap:6px; }
.chips li i { color:var(--roxo-esc); font-size:12px; }
.chips.grandes li { font-size:15px; padding:6px 14px; }
.un-rodape { margin-top:auto; display:flex; align-items:center; flex-wrap:wrap; gap:10px; border-top:1px solid var(--linha); padding-top:16px; }
.un-preco { margin:0 auto 0 0; color:var(--suave); font-size:14px; }
.un-preco b { font-family:var(--serif); font-weight:400; font-size:24px; color:var(--texto); }
@media (max-width:860px) { .un-card { grid-template-columns:1fr; } .un-foto { min-height:220px; aspect-ratio:16/10; } }

/* ---------- detalhe do chalé ---------- */
.un-detalhe { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:44px; margin-top:32px; align-items:start; }
.bom-saber { background:var(--nevoa); padding:18px 22px; margin:24px 0; }
.bom-saber h2 { font-size:22px; margin-bottom:8px; }
.bom-saber ul { margin:0; padding-left:20px; }
.bom-saber li { margin-bottom:4px; }
.secoes-un { columns:2; column-gap:40px; }
.secoes-un section { break-inside:avoid; margin-bottom:26px; }
.secoes-un h3 { font-size:21px; margin-bottom:8px; padding-bottom:6px; border-bottom:1px solid var(--linha); }
.secoes-un ul { list-style:none; padding:0; margin:0; font-size:15px; }
.secoes-un li { padding:3px 0 3px 18px; position:relative; }
.secoes-un li::before { content:""; position:absolute; left:2px; top:12px; width:6px; height:6px; border-radius:50%; background:#C9A66B; }
.caixa-reserva { position:sticky; top:84px; border:1px solid var(--linha); background:#fff; padding:22px; box-shadow:0 10px 30px rgba(42,33,24,.08); }
.caixa-reserva .un-preco { margin-bottom:8px; }
.caixa-reserva .btn-block { margin:16px 0 10px; }
@media (max-width:991px) { .un-detalhe { grid-template-columns:1fr; } .caixa-reserva { position:static; } .secoes-un { columns:1; } }

/* ---------- reservas, calendário, formulários ---------- */
.cal-titulo { font-size:30px; }
.cal-dias button { min-height:48px; }
.cal-unidades button { padding:14px 20px; font-size:15px; }
.calendario, .resultado { border-color:var(--linha); }
.resultado { background:#fff; }

/* ---------- rodapé ---------- */
#sp-bottom h3 { font-family:var(--serif); font-weight:400; font-size:20px; }
.cancelar-aviso { background:var(--nevoa); padding:20px 24px; margin-top:28px; }
.cancelar-aviso h2 { font-size:22px; margin-bottom:6px; }

/* barra do topo: ícones e telefone um pouco maiores */
#sp-top-bar { padding:9px 0; }
#sp-top-bar .social { gap:16px; }
#sp-top-bar .social a { font-size:18px; }
#sp-top-bar .contato { font-size:15px; }
#sp-top-bar .contato i { font-size:17px; margin-right:3px; vertical-align:-2px; }

/* ===== página de reservas: unidade, datas, hóspedes ===== */
.reserva-app { display:grid; gap:22px; }
.passos { list-style:none; display:flex; gap:10px; padding:0; margin:0; flex-wrap:wrap; }
.passos li { display:flex; align-items:center; gap:10px; padding:8px 16px 8px 8px; border-radius:30px; background:#fff; border:1px solid var(--linha); color:var(--suave); font-size:15px; }
.passos li span { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--nevoa); color:var(--suave); font-weight:600; font-size:14px; }
.passos li.atual { border-color:var(--roxo); color:var(--texto); font-weight:600; box-shadow:0 0 0 3px rgba(160,82,45,.12); }
.passos li.atual span { background:var(--roxo); color:#fff; }
.passos li.feito span { background:#3f7d4f; color:#fff; }
.rs-unidades { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
.rs-un { display:flex; gap:10px; align-items:center; text-align:left; background:#fff; border:1.5px solid var(--linha); border-radius:6px; padding:8px; cursor:pointer; font:inherit; color:var(--texto); transition:border-color .2s, box-shadow .2s; }
.rs-un img { width:64px; height:52px; object-fit:cover; border-radius:4px; flex:none; }
.rs-un span { display:flex; flex-direction:column; line-height:1.3; min-width:0; }
.rs-un b { font-size:15px; }
.rs-un small { font-size:12.5px; color:var(--suave); }
.rs-un em { font-style:normal; font-size:12px; color:#2f6b3e; margin-top:2px; }
.rs-un.indisp em { color:#9b2c2c; }
.rs-un.indisp { opacity:.75; }
.rs-un:hover { border-color:var(--roxo); }
.rs-un.on { border-color:var(--roxo); box-shadow:0 0 0 3px rgba(160,82,45,.15); background:#FCF8F4; }
.rs-corpo { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:22px; align-items:start; }
.rs-cal { background:#fff; border:1px solid var(--linha); border-radius:6px; padding:18px 22px; }
.rs-cal-topo { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cal-seta { width:38px; height:38px; border-radius:50%; border:1px solid var(--linha); background:#fff; cursor:pointer; color:var(--texto); }
.cal-seta:hover:not(:disabled) { border-color:var(--roxo); color:var(--roxo); }
.cal-seta:disabled { opacity:.3; cursor:default; }
.cal-previa { margin:0; font-size:15px; font-weight:600; color:var(--roxo-esc); min-height:24px; text-align:center; }
.rs-meses { display:grid; grid-template-columns:1fr 1fr; gap:34px; margin-top:6px; }
.rs-cal .cal-mes h3 { font-size:20px; text-align:left; margin:4px 0 12px; }
.rs-cal .cal-mes h3 span { color:var(--suave); }
.rs-cal .cal-sem span { font-size:12.5px; color:var(--suave); text-align:center; padding-bottom:6px; }
.rs-cal .cal-dias { gap:4px; }
.rs-cal .cal-dias button { height:58px; min-height:0; border:1px solid transparent; border-radius:6px; background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; font:inherit; cursor:pointer; color:var(--texto); transition:background .12s, border-color .12s; }
.rs-cal .cal-dias button b { font-size:16px; font-weight:600; }
.rs-cal .cal-dias button small { font-size:11.5px; color:var(--suave); }
.rs-cal .cal-dias button.p-normal { background:#f7f9f4; }
.rs-cal .cal-dias button.p-fds { background:#eef3e6; }
.rs-cal .cal-dias button.p-alta { background:#fbf1de; }
.rs-cal .cal-dias button.livre:hover { border-color:var(--texto); }
.rs-cal .cal-dias button.ocupado { background:repeating-linear-gradient(135deg,#F2EDE7 0 6px,#E8E1D9 6px 12px); color:#857B70; cursor:not-allowed; }
.rs-cal .cal-dias button.ocupado b { text-decoration:line-through; font-weight:400; }
.rs-cal .cal-dias button.so-saida { background:linear-gradient(135deg,#f7f9f4 50%,#EFE6DC 50%); }
.rs-cal .cal-dias button.passado { background:none; color:#B8AEA3; cursor:default; }
.rs-cal .cal-dias button.passado b { font-weight:400; }
.rs-cal .cal-dias button.hoje b { text-decoration:underline; text-underline-offset:3px; }
.rs-cal .cal-dias button.meio, .rs-cal .cal-dias button.previa { background:#F2DCCD; border-color:#F2DCCD; }
.rs-cal .cal-dias button.ini, .rs-cal .cal-dias button.fim { background:var(--roxo); border-color:var(--roxo); color:#fff; }
.rs-cal .cal-dias button.ini small, .rs-cal .cal-dias button.fim small { color:#F6E3D8; }
.rs-cal .cal-legenda { margin-top:14px; border-top:1px solid var(--linha); padding-top:12px; display:flex; gap:18px; flex-wrap:wrap; font-size:13px; color:var(--suave); }
.rs-cal .cal-legenda span::before { content:""; display:inline-block; width:14px; height:14px; border-radius:3px; margin-right:6px; vertical-align:-2px; border:1px solid var(--linha); }
.lg-normal::before { background:#f7f9f4; }
.lg-fds::before { background:#eef3e6; }
.lg-alta::before { background:#fbf1de; }
.rs-cal .lg-ocup::before { background:repeating-linear-gradient(135deg,#F2EDE7 0 3px,#E8E1D9 3px 6px); }
.rs-resumo { position:sticky; top:84px; background:#fff; border:1px solid var(--linha); border-radius:6px; padding:18px; box-shadow:0 10px 30px rgba(42,33,24,.07); }
.rs-un-topo { display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.rs-un-topo img { width:72px; height:58px; object-fit:cover; border-radius:4px; }
.rs-un-topo h3 { font-size:20px; margin:0; }
.rs-un-topo p { margin:0; font-size:13px; color:var(--suave); }
.rs-datas { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--borda-campo); border-radius:6px; overflow:hidden; margin-bottom:14px; }
.rs-datas > div { padding:9px 12px; display:flex; flex-direction:column; }
.rs-datas > div + div { border-left:1px solid var(--borda-campo); }
.rs-datas span { font-size:12px; color:var(--suave); }
.rs-datas b { font-size:16px; }
.rs-datas small { font-size:11.5px; color:var(--suave); }
.rs-datas.vazio b { font-weight:400; font-size:14px; color:var(--suave); }
.rs-datas .agora { background:#FBF4EE; box-shadow:inset 0 -3px 0 var(--roxo); }
.rs-datas .agora b { color:var(--texto); }
.rs-hosp { border-top:1px solid var(--linha); border-bottom:1px solid var(--linha); padding:6px 0; margin-bottom:12px; }
.hosp { display:flex; justify-content:space-between; align-items:center; padding:7px 0; }
.hosp b { display:block; font-size:15px; font-weight:600; }
.hosp small { font-size:12px; color:var(--suave); }
.hosp-ctrl { display:flex; align-items:center; gap:10px; }
.hosp-ctrl button { width:34px; height:34px; border-radius:50%; border:1px solid var(--borda-campo); background:#fff; font-size:18px; line-height:1; cursor:pointer; color:var(--texto); }
.hosp-ctrl button:hover { border-color:var(--roxo); color:var(--roxo); }
.hosp-ctrl output { min-width:18px; text-align:center; font-weight:600; }
.rs-conta summary { display:flex; justify-content:space-between; cursor:pointer; font-size:14px; color:var(--suave); list-style:none; }
.rs-conta summary::-webkit-details-marker { display:none; }
.rs-conta summary span:last-child { text-decoration:underline; text-underline-offset:3px; }
.rs-conta ul { list-style:none; padding:0; margin:8px 0 0; font-size:13.5px; }
.rs-conta li { display:flex; justify-content:space-between; padding:2px 0; }
.rs-total { display:flex; justify-content:space-between; align-items:baseline; margin-top:12px; }
.rs-total b { font-family:var(--serif); font-weight:400; font-size:28px; }
.rs-sinal, .rs-dica { font-size:13px; color:var(--suave); margin:4px 0 14px; }
.rs-ir { font-size:16px; padding:12px; }
@media (max-width:991px) { .rs-corpo { grid-template-columns:1fr; } .rs-resumo { position:static; } }
@media (max-width:640px) { .rs-meses { grid-template-columns:1fr; } .rs-meses .cal-mes + .cal-mes { display:none; } .rs-cal { padding:14px 10px; } .rs-cal .cal-dias button { height:52px; } .passos li { font-size:13px; } }

.rs-cal .cal-dias button small { white-space:nowrap; }
.rs-cal .cal-legenda .lg-txt::before { display:none; }
.rs-cal .cal-legenda .lg-txt { margin-right:auto; }

.un-foto { height:320px; min-height:0; }
@media (max-width:860px) { .un-foto { height:240px; aspect-ratio:auto; } }
.un-rodape .un-preco { flex-basis:100%; margin:0 0 4px; }
.un-rodape .btn { flex:1; text-align:center; }

/* ===== Gestão > Painel ===== */
.pn { display:grid; gap:20px; }
.pn-topo { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; }
.pn-data { margin:0; font-size:14px; color:var(--suave); }
.pn-topo h2 { font-size:30px; margin:2px 0 0; }
.pn-atalhos { display:flex; gap:8px; flex-wrap:wrap; }
.pn-atalhos .btn { display:inline-flex; align-items:center; gap:7px; font-size:14px; padding:7px 14px; }
.pn-hoje { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.pn-hoje > div { padding:16px 20px; display:flex; flex-direction:column; min-width:0; }
.pn-hoje > div + div { border-left:1px solid var(--linha); }
.pn-hoje span { font-size:13.5px; color:var(--suave); }
.pn-hoje b { font-family:var(--serif); font-weight:400; font-size:36px; line-height:1.15; color:var(--texto); }
.pn-hoje b em { font-style:normal; font-size:20px; color:var(--suave); }
.pn-hoje small { font-size:13px; color:var(--suave); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pn-barra { height:8px; background:var(--nevoa); border-radius:4px; overflow:hidden; margin-top:8px; }
.pn-barra i { display:block; height:100%; background:var(--roxo); border-radius:4px; }
.pn-grade { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:20px; }
.adm-box h2 { font-family:var(--serif); font-weight:400; font-size:21px; margin:0 0 14px; display:flex; align-items:center; gap:8px; }
.pn-tit { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.pn-tit h2 { margin:0; }
.pn-tit a { margin-left:auto; font-size:14px; }
.pn-atencao ul { list-style:none; margin:0; padding:0; }
.pn-atencao li { display:flex; align-items:center; gap:14px; padding:12px 0; border-top:1px solid var(--linha); }
.pn-atencao li:first-child { border-top:0; padding-top:0; }
.pn-atencao li > div { flex:1; min-width:0; }
.pn-atencao li b { font-weight:600; }
.pn-atencao small { display:block; color:var(--suave); font-size:13px; }
.at-ic { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; flex:none; }
.at-ic.azul { background:#e0f1f5; color:#0f6878; }
.at-ic.amarelo { background:#fdf1d6; color:#8a6100; }
.pn-vazio { display:flex; flex-direction:column; align-items:flex-start; gap:8px; color:var(--suave); }
.pn-vazio i { font-size:22px; color:#3f7d4f; }
.pn-vazio .fa-calendar { color:var(--roxo); }
.pn-vazio p { margin:0; font-size:14.5px; }
.pn-num { display:flex; flex-direction:column; padding:10px 0; border-top:1px solid var(--linha); }
.pn-num:first-of-type { border-top:0; padding-top:0; }
.pn-num span { font-size:13.5px; color:var(--suave); }
.pn-num b { font-family:var(--serif); font-weight:400; font-size:26px; color:var(--texto); }
.pn-num small { font-size:12.5px; color:var(--suave); }
.pn-ocup { display:grid; gap:4px; overflow-x:auto; }
.pn-ocup-lin { display:grid; grid-template-columns:110px repeat(14, minmax(30px,1fr)); gap:4px; align-items:center; }
.pn-ocup-lin.cab span { text-align:center; font-size:11.5px; color:var(--suave); line-height:1.2; }
.pn-ocup-lin.cab span b { display:block; font-size:14px; color:var(--texto); font-weight:600; }
.pn-ocup-lin.cab span.fds b { color:var(--roxo-esc); }
.pn-ocup-lin .un { font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pn-ocup-lin .cel { height:26px; border-radius:4px; }
.cel.livre, .pn-leg .livre { background:#eef3e6; }
.cel.st-aguardando, .pn-leg .st-aguardando { background:#f5d77f; }
.cel.st-comprovante, .pn-leg .st-comprovante { background:#8fd0dc; }
.cel.st-confirmada, .pn-leg .st-confirmada { background:#7a5e93; }
.pn-leg { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:13px; color:var(--suave); margin:12px 0 0; align-items:center; }
.pn-leg span { display:inline-block; width:14px; height:14px; border-radius:3px; margin-right:-10px; }
.pn-cheg { list-style:none; margin:0; padding:0; }
.pn-cheg li { display:flex; align-items:center; gap:14px; padding:10px 0; border-top:1px solid var(--linha); }
.pn-cheg li:first-child { border-top:0; }
.pn-cheg time { width:48px; text-align:center; font-size:12px; color:var(--suave); line-height:1.1; flex:none; }
.pn-cheg time b { display:block; font-family:var(--serif); font-weight:400; font-size:24px; color:var(--texto); }
.pn-cheg li > div { flex:1; min-width:0; }
.pn-cheg small { display:block; font-size:13px; color:var(--suave); }
.pn-wpp { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; color:#1f8a4c; border:1px solid var(--linha); }
.pn-wpp:hover { background:#e9f6ee; color:#1f8a4c; }
@media (max-width:1100px) { .pn-hoje { grid-template-columns:1fr 1fr; } .pn-hoje > div:nth-child(3) { border-left:0; } .pn-hoje > div:nth-child(n+3) { border-top:1px solid var(--linha); } .pn-grade { grid-template-columns:1fr; } }
.pn-leg span { margin-right:2px; vertical-align:-2px; }

/* ===== Editar site: formulário + prévia ao vivo ===== */
.ed.com-previa { grid-template-columns:190px minmax(0,1fr) minmax(360px,42%); }
.ed-secoes { top:76px; }
.ed-secoes a { font-size:14.5px; padding:11px 16px; }
.ed-intro { margin:2px 0 16px; }
.ed-intro h2 { font-family:var(--serif); font-weight:400; font-size:26px; margin:0; }
.ed-intro p { margin:4px 0 0; color:var(--suave); font-size:15px; }
.ed-ver { display:none; }
.ed-bloco { padding:20px 22px 10px; }
.ed-bloco legend { font-family:var(--serif); font-weight:400; font-size:20px; margin-bottom:4px; }
.ed-onde { display:flex; gap:7px; align-items:flex-start; background:var(--nevoa); color:var(--suave); font-size:13.5px; padding:8px 12px; border-radius:4px; margin:0 0 16px; }
.ed-onde i { margin-top:3px; color:var(--roxo); }
.ed-campo > span { font-size:14px; }
.ed-campo input, .ed-campo textarea, .ed-campo select { font-size:15px; }
.ed-campo textarea { min-height:70px; }
.ed-foto-box img { width:180px; height:112px; border:1px solid var(--linha); }
.ed-form { padding-bottom:4px; }
.ed-salvar { position:sticky; bottom:0; margin:8px -4px 0; padding:12px 16px; background:#fff; border:1px solid var(--linha); border-radius:6px; box-shadow:0 -6px 20px rgba(42,33,24,.08); display:flex; align-items:center; gap:10px; z-index:6; }
.ed-salvar .ed-status { margin-right:auto; font-size:14px; color:#2f6b3e; display:inline-flex; gap:6px; align-items:center; }
.ed-salvar .ed-aviso { margin-right:auto; font-size:14px; color:#8a6100; display:none; align-items:center; gap:6px; }
.ed-salvar .ed-aviso i { font-size:8px; }
.ed-salvar .ed-descartar { display:none; }
.ed-form.alterado .ed-status { display:none; }
.ed-form.alterado .ed-aviso { display:inline-flex; }
.ed-form.alterado .ed-descartar { display:inline-block; }
.ed-form:not(.alterado) .ed-salvar .btn:not(.ed-descartar) { opacity:.55; }
.ed-previa { position:sticky; top:76px; height:calc(100vh - 100px); display:flex; flex-direction:column; background:#fff; border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.08); overflow:hidden; }
.ed-previa-topo { display:flex; align-items:center; gap:10px; padding:10px 12px; border-bottom:1px solid var(--linha); font-size:14px; }
.ed-previa-topo span { font-weight:600; color:var(--texto); white-space:nowrap; }
.ed-previa-topo select { height:32px; font-size:14px; padding:0 8px; margin-left:auto; width:auto; }
.ed-previa-moldura { flex:1; overflow:hidden; position:relative; background:#eee; }
.ed-previa-moldura iframe { position:absolute; top:0; left:0; width:166.67%; height:166.67%; border:0; transform:scale(.6); transform-origin:0 0; background:#fff; }
.ed-previa-nota { margin:0; padding:8px 12px; font-size:12.5px; color:var(--suave); border-top:1px solid var(--linha); }
@media (max-width:1280px) { .ed.com-previa { grid-template-columns:190px minmax(0,1fr); } .ed-previa { grid-column:1/-1; position:static; height:560px; } }
@media (max-width:991px) { .ed.com-previa { grid-template-columns:1fr; } }
/* editor: barra de salvar no topo (não cobre conteúdo) e colunas mais equilibradas */
.ed.com-previa { grid-template-columns:170px minmax(0,1fr) minmax(320px,36%); gap:20px; }
.ed-conteudo { container-type:inline-size; }
.ed-salvar { position:sticky; top:57px; bottom:auto; margin:0 0 16px; padding:10px 14px; border-radius:6px; box-shadow:0 4px 14px rgba(42,33,24,.08); z-index:8; }
.ed-salvar .btn { white-space:nowrap; padding:8px 16px; font-size:14.5px; }
.ed-previa { top:76px; height:calc(100vh - 96px); }
.ed-unidade summary { flex-wrap:nowrap; min-width:0; }
.ed-unidade summary b { white-space:nowrap; }
.ed-unidade summary span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.ed-excluir { margin:6px 0 4px; }
.ed-nova { display:inline-flex; align-items:center; gap:6px; margin:10px 0 20px; }
.ed-foto-box { flex-wrap:wrap; }
.ed-fotos figcaption button { padding:7px 0; }
@container (max-width:700px) { .ed-3, .ed-4 { grid-template-columns:1fr 1fr; } .ed-feriado { grid-template-columns:1fr 1fr 34px; } .ed-feriado input[name=nome] { grid-column:1 / 3; } .ed-feriado.cab { display:none; } }
@container (max-width:460px) { .ed-2, .ed-3, .ed-4 { grid-template-columns:1fr; } .ed-salvar { flex-wrap:wrap; } }
@media (max-width:1280px) { .ed.com-previa { grid-template-columns:170px minmax(0,1fr); } }

/* rodapé no marrom-escuro (noite do cerrado) */
#sp-bottom, #sp-footer { background:var(--noite); }
#sp-bottom { border-top:0; }

/* ===== paleta sem roxo: ferrugem do lobo-guará + marrons do cerrado ===== */
:root { --roxo:#A0522D; --roxo-esc:#7E3F22; --nevoa:#F5F0EA; --linha:#E6DED4; --ocre:#D9A066; }
#localizacao { background:#33281D; }
#sp-bottom, #sp-footer { background:#2A2118; }
#localizacao address, .trajeto span { color:#D9CBB6; }
.trajeto::before { border-left-color:#D9A066; }
.trajeto li::before { background:#33281D; border-color:#D9A066; }
.trajeto li.chegada::before { background:#D9A066; border-color:#fff; box-shadow:0 0 0 4px rgba(217,160,102,.35); }
.btn.loc-principal { background:#D9A066; border-color:#D9A066; color:#2A2118; }
.btn.loc-principal:hover { background:#E2AE76; border-color:#E2AE76; color:#2A2118; }
.loc-sec:hover { text-decoration-color:#D9A066; }
.loc-principal:focus-visible, .loc-sec:focus-visible { outline-color:#D9A066; }
.loc-mapa { border-color:#2A2118; }
#sp-bottom h3 { border-bottom-color:rgba(217,160,102,.35); }
#sp-footer .container { border-top-color:rgba(217,160,102,.2); }
.sec-piscina .sppb-btn-default { background:#D9A066; border-color:#D9A066; color:#2A2118; }
.sec-piscina .sppb-btn-default:hover { background:#E2AE76; border-color:#E2AE76; color:#2A2118; }
.adm-side a.on { background:rgba(217,160,102,.18); border-left-color:#D9A066; }
.adm-logo span { color:#D9A066; }
.cel.st-confirmada, .pn-leg .st-confirmada { background:#A0522D; }
.ocup td.st-confirmada { background:#C98A62; }

/* ===== página de contato ===== */
.ct-pagina { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:40px; align-items:start; }
.ct-form { background:#fff; border:1px solid var(--linha); border-radius:6px; padding:26px 28px; display:grid; gap:14px; }
.ct-form h2 { font-size:26px; margin:0; }
.ct-form > .peq { margin:-6px 0 4px; }
.ct-form label { display:flex; flex-direction:column; gap:5px; font-size:14px; font-weight:600; color:var(--texto); }
.ct-form label small { font-weight:400; color:var(--suave); }
.ct-form input, .ct-form select, .ct-form textarea { font-weight:400; }
.ct-form label.invalido input, .ct-form label.invalido textarea { border-color:#c0392b; }
.ct-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ct-form .btn { justify-self:start; padding:11px 24px; font-size:16px; }
.ct-whats { display:flex; align-items:center; gap:14px; background:#1f7a46; color:#fff; border-radius:6px; padding:18px 20px; margin-bottom:16px; transition:background .2s; }
.ct-whats:hover { background:#196a3c; color:#fff; }
.ct-whats i { font-size:34px; }
.ct-whats b { display:block; font-size:18px; }
.ct-whats small { color:#d7efe0; font-size:14px; }
.ct-lista { list-style:none; margin:0; padding:0; background:#fff; border:1px solid var(--linha); border-radius:6px; }
.ct-lista li { display:flex; gap:14px; padding:14px 18px; border-top:1px solid var(--linha); font-size:15px; }
.ct-lista li:first-child { border-top:0; }
.ct-lista li > i { width:20px; text-align:center; color:var(--roxo); margin-top:4px; }
.ct-lista span { display:flex; flex-direction:column; min-width:0; overflow-wrap:anywhere; }
.ct-lista small { font-size:12.5px; color:var(--suave); }
.ct-mapa { font-size:14px; margin-top:2px; }
@media (max-width:860px) { .ct-pagina { grid-template-columns:1fr; } .ct-canais { order:-1; } .ct-2 { grid-template-columns:1fr; } }
/* menu: sem moldura de foco ao clicar com o mouse */
#menu a:focus:not(:focus-visible) { outline:none; }
#menu a:focus-visible { outline:2px solid var(--roxo); outline-offset:-6px; }

/* ===== página Como chegar ===== */
.cc { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:36px; align-items:stretch; }
.cc-info h2 { font-size:24px; margin:0 0 10px; }
.cc-info h2 + address { font-style:normal; font-size:18px; line-height:1.55; margin-bottom:18px; }
.cc-botoes { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; }
.cc-botoes .btn { display:inline-flex; align-items:center; gap:7px; font-size:15px; }
.trajeto.claro::before { border-left-color:#C98A62; }
.trajeto.claro li::before { background:#fff; border-color:#C98A62; }
.trajeto.claro li.chegada::before { background:var(--roxo); border-color:#fff; box-shadow:0 0 0 4px rgba(160,82,45,.25); }
.trajeto.claro b { color:var(--texto); }
.trajeto.claro span { color:var(--suave); }
.cc-mapa { min-height:460px; border:1px solid var(--linha); border-radius:8px; overflow:hidden; }
.cc-mapa iframe { width:100%; height:100%; min-height:460px; border:0; display:block; }
.cc-dicas { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:28px; }
.cc-dicas > * { display:flex; gap:12px; align-items:flex-start; background:var(--nevoa); border-radius:6px; padding:16px 18px; color:var(--texto); }
.cc-dicas i { font-size:20px; color:var(--roxo); margin-top:2px; width:22px; text-align:center; }
.cc-dicas a i { color:#1f7a46; }
.cc-dicas b { display:block; font-size:15px; }
.cc-dicas small { color:var(--suave); font-size:13.5px; }
.cc-dicas a:hover { background:#EFE6DC; color:var(--texto); }
@media (max-width:900px) { .cc { grid-template-columns:1fr; } .cc-mapa, .cc-mapa iframe { min-height:340px; } .cc-dicas { grid-template-columns:1fr; } }

/* ===== responsivo: rodapé e textos longos ===== */
@media (max-width:991px) { .bottom-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:640px) { .bottom-grid { grid-template-columns:1fr; gap:28px; } }
#sp-bottom a, .ct-lista a, .contatos a { overflow-wrap:anywhere; }
#pagina { overflow-x:clip; }

/* ===================================================================
   Responsivo: celular (até 640px) e tablet (até 991px)
   =================================================================== */
@media (max-width:991px) {
  .sec, .sec-piscina { padding:64px 0 56px; }
  .hero2 + .chales { padding-top:84px; }
  .features { padding:60px 0 52px; }
  .features .row3 { grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px; }
  .addon-title { font-size:28px; }
  .cab-pagina { padding:44px 0 34px; }
  .page-body, .pagina-texto { padding:40px 0 56px; }
  .row2 { gap:28px; }
}

@media (max-width:640px) {
  /* barra do topo: uma linha só */
  #sp-top-bar { padding:6px 0; }
  #sp-top-bar .container { flex-wrap:nowrap; }
  #sp-top-bar .social { gap:14px; }
  #sp-top-bar .social a { font-size:17px; }
  #sp-top-bar .contato { font-size:14px; white-space:nowrap; }

  /* cabeçalho */
  #sp-header, #sp-header .container { height:56px; }
  .marca .logo-image { width:36px; height:36px; }
  .marca-nome { font-size:18px; }
  .marca-nome small { font-size:10px; }

  /* topo da home */
  .hero2 { padding-top:120px; }
  .hero2 h1 { font-size:42px; margin-bottom:12px; }
  .hero2-texto { padding-bottom:24px; }
  .hero2-texto p { font-size:16px; }
  .hero2-lobo { width:62vw; right:-6%; top:6%; opacity:.18; }
  .hero2-barra { margin-bottom:0; padding:0; }
  .busca2 { grid-template-columns:repeat(6,1fr); box-shadow:none; }
  .busca2 .campo2:nth-child(1), .busca2 .campo2:nth-child(2) { grid-column:span 3; }
  .busca2 .campo2.num { grid-column:span 2; }
  .campo2 { padding:10px 12px; border-bottom:1px solid #E7E1EA; }
  .campo2 span { font-size:12px; }
  .campo2 small { display:block; font-size:10.5px; }
  .campo2 input { font-size:16px; }
  .campo2.num input { max-width:none; }
  .btn.busca2-btn { grid-column:1 / -1; padding:15px; font-size:16px; }

  /* seções da home */
  .sec, .sec-piscina { padding:44px 0 40px; }
  .hero2 + .chales { padding-top:44px; }
  .row2 { grid-template-columns:1fr; gap:20px; }
  .sec-piscina .row2 > img { order:-1; }
  .sec-piscina img, .chales .row2 img { height:240px; }
  .addon-title { font-size:26px; }
  .chales p, .sec-piscina p { font-size:16px; }
  .features { padding:44px 0 36px; }
  .features .row3 { grid-template-columns:1fr; gap:22px; }
  .feature img { aspect-ratio:16/10; }

  /* páginas internas */
  .cab-pagina { padding:30px 0 24px; }
  .cab-pagina h1 { font-size:32px; }
  .cab-pagina p { font-size:15px; }
  .page-body, .pagina-texto { padding:28px 0 44px; }
  .leitura { font-size:16px; }

  /* acomodações e detalhe */
  .un-info { padding:18px; }
  .un-info h2 { font-size:24px; }
  .un-rodape .btn { flex:1 1 100%; }
  .mosaico { height:240px; margin:0 0 8px; }
  .un-detalhe { margin-top:20px; gap:24px; }

  /* reservas */
  .passos { gap:6px; flex-wrap:nowrap; }
  .passos li { padding:6px 10px 6px 6px; font-size:12.5px; gap:6px; flex:1; min-width:0; }
  .passos li span { width:24px; height:24px; font-size:12px; flex:none; }
  .passos li:not(.atual) { color:transparent; font-size:0; flex:0 0 auto; padding:6px; }
  .passos li:not(.atual) span { font-size:12px; }
  .rs-unidades { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; padding-bottom:6px; margin:0 -15px; padding-left:15px; padding-right:15px; }
  .rs-un { flex:0 0 72%; scroll-snap-align:start; }
  .rs-cal { padding:12px 8px; }
  .rs-cal .cal-dias { gap:3px; }
  .rs-cal .cal-dias button { height:50px; }
  .rs-cal .cal-dias button b { font-size:15px; }
  .rs-cal .cal-dias button small { font-size:10.5px; }
  .rs-cal .cal-legenda { gap:10px; font-size:12px; }
  .rs-cal .cal-legenda .lg-txt { flex-basis:100%; }
  .rs-resumo { padding:16px; }

  /* contato e como chegar */
  .ct-form { padding:20px 18px; }
  .cc-mapa, .cc-mapa iframe { min-height:280px; }
  .cc-botoes .btn { flex:1 1 auto; justify-content:center; }

  /* localização da home */
  #localizacao { padding:44px 0 40px; }
  #localizacao h2 { font-size:28px; }
  .loc-mapa { height:260px; border-width:4px; }

  /* rodapé */
  #sp-bottom { padding:40px 0 24px; }
  #sp-bottom h3 { margin-bottom:14px; }
  .selos { flex-direction:row; flex-wrap:wrap; }
  .selos img { width:140px; }
  .rodape-base { gap:10px; }
  .rodape-base nav { flex-wrap:wrap; gap:8px 16px; }
  #go-top { right:14px; bottom:14px; }
}

/* toques confortáveis em telas de toque */
@media (pointer:coarse) {
  #offcanvas .oc-menu a { padding:10px 16px; font-size:16px; }
  .hosp-ctrl button { width:40px; height:40px; }
  .cal-seta { width:44px; height:44px; }
}

/* editor no celular/tablet: uma coluna, partes em faixa rolável, prévia embaixo */
@media (max-width:991px) {
  .ed.com-previa, .ed { grid-template-columns:1fr; }
  .ed-secoes { position:static; display:flex; overflow-x:auto; padding:0; }
  .ed-secoes a { white-space:nowrap; border-left:0; border-bottom:3px solid transparent; }
  .ed-secoes a.on { border-bottom-color:var(--roxo); }
  .ed-previa { position:static; height:520px; grid-column:auto; }
  .ed-salvar { top:52px; }
  .adm-conteudo { padding:16px 14px 32px; }
  .adm-top { padding:12px 14px; }
  .pn-topo h2 { font-size:24px; }
}
@media (max-width:640px) {
  .pn-atencao li { flex-wrap:wrap; }
  .pn-atencao li > div { flex:1 1 calc(100% - 50px); }
  .pn-atencao li > .btn { flex:1 1 100%; margin-left:50px; text-align:center; }
  .pn-cheg li { flex-wrap:wrap; }
  .pn-cheg li > div { flex:1 1 calc(100% - 62px); }
  .pn-cheg .status { margin-left:62px; }
  .pn-hoje b { font-size:30px; }
  .adm-box { padding:16px; }
}

/* ===== Área do hóspede ===== */
.ah-topo { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--linha); }
.ah-ola { display:flex; align-items:center; gap:12px; min-width:0; }
.ah-avatar { width:46px; height:46px; border-radius:50%; background:var(--roxo); color:#fff; display:grid; place-items:center; font-family:var(--serif); font-size:22px; flex:none; }
.ah-ola b { display:block; font-size:18px; }
.ah-ola small { color:var(--suave); font-size:14px; overflow-wrap:anywhere; }
.ah-abas { display:flex; gap:4px; background:var(--nevoa); padding:4px; border-radius:8px; }
.ah-abas a, .ah-abas button { display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border-radius:6px; font:inherit; font-size:14.5px; color:var(--texto); background:none; border:0; cursor:pointer; white-space:nowrap; }
.ah-abas a.on { background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08); font-weight:600; color:var(--roxo-esc); }
.ah-abas a:hover, .ah-abas button:hover { color:var(--roxo-esc); }
.rh-destaque { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); background:#fff; border:1px solid var(--linha); border-radius:10px; overflow:hidden; box-shadow:0 10px 30px rgba(42,33,24,.07); margin-bottom:34px; }
.rh-foto { background-size:cover; background-position:center; min-height:300px; position:relative; }
.rh-quando { position:absolute; left:14px; top:14px; background:rgba(42,33,24,.82); color:#fff; font-size:14px; font-weight:600; padding:6px 12px; border-radius:20px; }
.rh-dest-info { padding:24px 26px; display:flex; flex-direction:column; gap:12px; }
.rh-rotulo { margin:0; color:var(--suave); font-size:14px; }
.rh-dest-info h2 { font-size:30px; margin:0; }
.rh-datas-g { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--linha); border-radius:6px; }
.rh-datas-g > div { padding:10px 14px; display:flex; flex-direction:column; }
.rh-datas-g > div + div { border-left:1px solid var(--linha); }
.rh-datas-g span { font-size:12.5px; color:var(--suave); }
.rh-datas-g b { font-size:19px; }
.rh-datas-g small { font-size:12px; color:var(--suave); }
.rh-status { margin:0; font-size:14.5px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.rh-dest-acoes { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:4px; }
.rh-dest-acoes .btn { display:inline-flex; align-items:center; gap:7px; font-size:15px; }
.rh-grupo { margin-bottom:28px; }
.rh-grupo h2 { font-size:22px; margin:0 0 12px; display:flex; align-items:center; gap:8px; }
.rh-grupo h2 span { font-family:var(--sans); font-size:13px; background:var(--nevoa); color:var(--suave); border-radius:10px; padding:1px 9px; }
.rh-lista { display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:14px; }
.rh-card { display:flex; gap:14px; background:#fff; border:1px solid var(--linha); border-radius:8px; padding:12px; }
.rh-card img { width:96px; height:96px; object-fit:cover; border-radius:6px; flex:none; }
.rh-card.cancelada { opacity:.75; }
.rh-card.cancelada img { filter:grayscale(1); }
.rh-info { min-width:0; flex:1; display:flex; flex-direction:column; gap:3px; }
.rh-linha1 { display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.rh-linha1 h3 { font-size:18px; margin:0; }
.rh-datas, .rh-total { margin:0; font-size:14px; }
.rh-datas { color:var(--suave); }
.rh-total { font-weight:600; }
.rh-total small { font-weight:400; color:var(--suave); }
.rh-acoes { display:flex; gap:12px; align-items:center; margin-top:6px; }
.rh-vazio { text-align:center; background:var(--nevoa); border-radius:10px; padding:44px 20px; margin-bottom:28px; }
.rh-vazio i { font-size:36px; color:var(--roxo); }
.rh-vazio h2 { font-size:26px; margin:10px 0 4px; }
.rh-vazio p { color:var(--suave); }
.rh-politica { font-size:14px; color:var(--suave); }
.ah-dados { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.ah-caixa { background:#fff; border:1px solid var(--linha); border-radius:8px; padding:22px 22px 10px; }
.ah-caixa h2 { font-size:22px; margin:0 0 14px; }
.ah-caixa form.cadastro label { padding:0; }
.ah-caixa form.cadastro > .btn { margin-left:0; }
@media (max-width:860px) { .rh-destaque { grid-template-columns:1fr; } .rh-foto { min-height:200px; } .ah-dados { grid-template-columns:1fr; } }
@media (max-width:640px) {
  .ah-topo { flex-direction:column; align-items:stretch; }
  .ah-abas { justify-content:space-between; }
  .ah-abas a, .ah-abas button { flex:1; justify-content:center; padding:10px 6px; font-size:13.5px; }
  .ah-abas button { flex:0 0 auto; }
  .rh-dest-info { padding:18px; }
  .rh-dest-info h2 { font-size:26px; }
  .rh-dest-acoes .btn { flex:1 1 100%; justify-content:center; }
  .rh-lista { grid-template-columns:1fr; }
  .rh-card img { width:80px; height:80px; }
  .rh-linha1 { flex-direction:column; gap:4px; }
}

/* acesso (Entrar) só no rodapé */
.rodape-base .acesso { display:inline-flex; align-items:center; gap:14px; }
.rodape-base .link-entrar { display:inline-flex; align-items:center; gap:7px; border:1px solid rgba(217,160,102,.55); border-radius:20px; padding:5px 14px; opacity:1; color:#F3E7DC; }
.rodape-base .link-entrar:hover { background:rgba(217,160,102,.15); text-decoration:none; color:#fff; }
.rodape-base .link-entrar i { color:#D9A066; }
@media (max-width:640px) { .rodape-base .acesso { flex-basis:100%; } }
#sp-footer { padding-bottom:68px; }

/* ===== cantos arredondados: botões e imagens ===== */
:root { --raio-btn:8px; --raio-img:12px; }
.btn, .sppb-btn, .btn-sm, .btn-outline, .cal-limpar, .ver-todas, .rs-ir, .loc-principal, .busca2-btn { border-radius:var(--raio-btn) !important; }
.btn.busca2-btn { border-radius:0 var(--raio-btn) var(--raio-btn) 0 !important; }
.busca2 { border-radius:var(--raio-btn); overflow:hidden; }
@media (max-width:991px) { .btn.busca2-btn { border-radius:0 0 var(--raio-btn) var(--raio-btn) !important; } }
input, select, textarea, .rs-datas, .cal-datas, .rh-datas-g { border-radius:var(--raio-btn); }
.campo2 input, .busca2 input { border-radius:0; }
.chales .row2 img, .sec-piscina img, .feature img, .un-foto, .un-card, .rh-card img, .rh-destaque, .loc-mapa, .cc-mapa, .mapa iframe,
.preco-card, .ct-form, .ct-lista, .ct-whats, .caixa-reserva, .bom-saber, .rs-cal, .rs-resumo, .rs-un, .rs-un img, .rs-un-topo img, .calendario,
.cal-dias button, .cancelar-aviso, .cc-dicas > *, .ed-foto-box img, .ed-fotos figure, .adm-box, .kpi, .pn-hoje, .selos img { border-radius:var(--raio-img); }
.un-card { overflow:hidden; }
.un-foto { border-radius:0; }
@media (max-width:860px) { .un-foto { border-radius:0; } }
.mosaico { border-radius:var(--raio-img); }
.mosaico .m-foto { border-radius:6px; }
.tf-grade button, .tf-grade img { border-radius:8px; overflow:hidden; }
#lightbox img { border-radius:8px; }

/* fotos dentro de cards: respiro e os quatro cantos arredondados */
.un-card { padding:12px; gap:0; }
.un-foto { border-radius:var(--raio-img) !important; overflow:hidden; height:auto; min-height:300px; }
.un-foto img { border-radius:var(--raio-img); }
.un-info { padding:14px 20px 14px 26px; }
.rh-destaque { padding:12px; gap:0; }
.rh-foto { border-radius:var(--raio-img); }
.rh-dest-info { padding:14px 16px 14px 26px; }
.resultado .imagem, .chale-card .imagem { border-radius:var(--raio-img); }
@media (max-width:860px) {
  .un-foto { min-height:0; height:220px; }
  .un-info { padding:16px 6px 6px; }
  .rh-dest-info { padding:16px 6px 6px; }
}
.un-foto { position:relative; min-height:300px; height:auto; }
.un-foto img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media (max-width:860px) { .un-foto { min-height:220px; height:220px; } }
