/* Guará Bangalôs — estilos base (o visual final fica em visual.css) */
:root { --roxo:#A0522D; --roxo-hover:#8A4626; --marrom:#55482B; --texto:#252525; --cinza:#F9F9F9; }
* { box-sizing:border-box; }
html, body { margin:0; }
body { font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size:16px; line-height:1.5; color:var(--texto); background:#fff; overflow-x:hidden; }
a { color:var(--roxo); text-decoration:none; transition:color .3s; }
a:hover { color:#55482c; }
img { max-width:100%; vertical-align:middle; }
h1, h2, h3, h4 { margin:0 0 .5rem; font-weight:500; line-height:1.2; color:var(--texto); }
p { margin:0 0 1rem; }
ul { margin:0; }
.container { width:100%; max-width:1140px; padding:0 15px; margin:0 auto; }
@media (max-width:1199px){ .container { max-width:960px; } }
@media (max-width:991px){ .container { max-width:720px; } }
@media (max-width:767px){ .container { max-width:540px; } }

/* página empurrada pelo menu lateral */
#pagina { transition:transform .4s; }
body.menu-aberto #pagina { transform:translateX(300px); }

/* barra superior */
#sp-top-bar { background:#333; color:#AAA; font-size:14px; padding:8px 0; }
#sp-top-bar .container { display:flex; justify-content:space-between; align-items:center; }
#sp-top-bar .social { list-style:none; padding:0; display:flex; gap:12px; }
#sp-top-bar a { color:#AAA; }
#sp-top-bar a:hover { color:#fff; }
#sp-top-bar .contato { font-size:12.6px; }

/* cabeçalho (fica fixo ao rolar, a barra superior não) */
#sp-header { background:#fff; height:60px; box-shadow:0 0 4px 0 rgba(0,0,0,.1); position:relative; z-index:99; }
#sp-header.fixo { position:fixed; top:0; left:0; right:0; animation:desce .3s; }
@keyframes desce { from { transform:translateY(-100%); } to { transform:none; } }
#sp-header .container { display:flex; align-items:center; justify-content:space-between; height:60px; }
.logo-area { display:flex; align-items:center; }
.offcanvas-toggler { color:var(--texto); font-size:20px; margin-right:19px; }
.offcanvas-toggler:hover { color:var(--roxo); }
.logo-image { height:36px; width:auto; }
#menu { display:flex; align-items:center; height:60px; }
#menu a { color:var(--texto); font-size:14px; padding:0 15px; line-height:60px; }
#menu a:hover, #menu a.ativo { color:var(--roxo); }
#menu a.ativo { font-weight:500; }
#menu a.btn-login { color:#fff; background:var(--roxo); border-radius:3px; line-height:26px; padding:0 10px; margin-left:4px; }
#menu a.btn-login:hover { color:#fff; text-decoration:underline; }
@media (max-width:991px){ #menu { display:none; } }

/* menu lateral (off-canvas) */
#offcanvas { position:fixed; top:0; left:0; bottom:0; width:300px; background:#fff; z-index:10000; transform:translateX(-100%); transition:transform .4s; overflow-y:auto; padding:40px 0 20px; }
body.menu-aberto #offcanvas { transform:none; }
#offcanvas .fechar { position:absolute; top:12px; right:16px; width:22px; height:22px; border-radius:50%; background:#000; color:#fff; display:grid; place-items:center; font-size:12px; }
#offcanvas .oc-menu a { display:block; color:var(--texto); font-size:14px; padding:2px 14px; margin:0 10px; line-height:1.6; border-radius:3px; }
#offcanvas .oc-menu a:hover { color:var(--roxo); }
#offcanvas .oc-menu a.ativo { background:var(--roxo); color:#fff; }
#offcanvas .oc-menu a.btn-login { background:none; color:var(--texto); }
#veu { position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:9999; opacity:0; pointer-events:none; transition:opacity .4s; }
body.menu-aberto #veu { opacity:1; pointer-events:auto; }

/* botões (SP Page Builder) — balançam ao passar o mouse */
.btn, .sppb-btn { display:inline-block; font:inherit; font-size:16px; line-height:1.5; padding:6px 12px; border:1px solid transparent; border-radius:4px; cursor:pointer; text-align:center; transition:.3s; transform-origin:top center; }
.btn:hover, .sppb-btn:hover { animation:swing 1s ease 1; }
.btn, .sppb-btn-primary { background:var(--roxo); border-color:var(--roxo); color:#fff; }
.btn:hover, .sppb-btn-primary:hover { background:var(--roxo-hover); border-color:var(--roxo-hover); color:#fff; }
.sppb-btn-default { background:#EFF1F4; border-color:#EFF1F4; color:#010101; }
.sppb-btn-default:hover { background:#e1e4ea; color:#010101; }
.btn-sm { padding:3px 10px; font-size:14px; }
.btn-sec { background:#6c757d; border-color:#6c757d; }
.btn-verde { background:var(--roxo); border-color:var(--roxo); }
@keyframes swing { 20% { transform:rotate(15deg); } 40% { transform:rotate(-10deg); } 60% { transform:rotate(5deg); } 80% { transform:rotate(-5deg); } to { transform:rotate(0); } }

/* animação de entrada (sppb-wow fadeInUp) */
.anim { visibility:hidden; }
.anim.visivel { visibility:visible; animation:fadeInUp 1s both; }
@keyframes fadeInUp { from { opacity:0; transform:translate3d(0,100%,0); } to { opacity:1; transform:none; } }

/* ===== HOME ===== */
.hero { padding:170px 0; min-height:95vh; background:url(img/guara/por-do-sol-1.jpg) 50% 50%/cover no-repeat fixed; text-align:center; position:relative; }
.hero::before { content:""; position:absolute; inset:0; background:rgba(0,0,0,.4); }
.hero .container { position:relative; }
.hero h3 { font-family:'Underwood Champion', serif; font-weight:400; font-size:50px; color:#fff; margin-bottom:30px; }
.hero .sub { color:#fff; font-size:16px; margin-bottom:30px; }
.busca { background:rgb(0 0 0 / 80%); color:#fff; padding:18px; border-radius:5px; display:flex; flex-wrap:wrap; gap:0 20px; align-items:flex-end; text-align:left; }
.busca label { display:flex; flex-direction:column; font-size:16px; color:inherit; flex:1; min-width:120px; }
.busca label small { font-size:10px; }
.busca .campo { position:relative; }
.busca .campo i { position:absolute; left:10px; top:50%; transform:translateY(-50%); color:#495057; font-size:13px; }
.busca .campo input { padding-left:30px; }
.busca .btn { flex:1.3; height:38px; }
input, select, textarea { font:inherit; font-size:16px; color:#495057; background:#fff; border:1px solid #ced4da; border-radius:4px; padding:6px 12px; height:38px; width:100%; }
textarea { height:auto; }
input[type=checkbox] { width:auto; height:auto; }

.sec { padding:70px 0 40px; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; }
.addon-title { font-size:28px; font-weight:500; margin-bottom:8px; }
.features { background:var(--cinza); padding:70px 0 20px; text-align:center; }
.features .row3 { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:80px; text-align:left; }
.feature img { width:100%; height:234px; object-fit:cover; display:block; margin-bottom:20px; }
.feature h3 { font-size:16px; font-weight:700; color:#4a4a4a; margin-bottom:10px; }
.feature p { color:#4a4a4a; }
.sec-piscina { background:linear-gradient(rgba(40,32,18,.72),rgba(40,32,18,.72)), url(img/guara/f16.jpg) center/cover no-repeat; color:#fff; padding:70px 0 40px; }
.sec-piscina h3 { color:#fff; }
.sec-piscina img { margin-bottom:30px; }

/* rodapé */
#sp-bottom { background:var(--marrom); color:#fff; font-size:14px; padding:60px 0 30px; }
.bottom-grid { display:grid; grid-template-columns:1fr 1fr 2fr; gap:30px; }
#sp-bottom h3 { color:#fff; font-size:18px; font-weight:700; margin-bottom:30px; }
#sp-bottom a { color:#fff; }
#sp-bottom a:hover { text-decoration:underline; }
#sp-bottom .links { list-style:none; padding:0 3px; }
#sp-bottom .links li { margin-bottom:12px; font-size:13px; }
.mais-fotos { display:grid; grid-template-columns:repeat(3,1fr); }
.mais-fotos img { width:100%; aspect-ratio:1; object-fit:cover; cursor:zoom-in; }
#sp-footer { background:var(--marrom); color:#fff; font-size:14px; padding:0 0 30px; }
#sp-footer .container { border-top:1px solid rgba(255,255,255,.15); padding-top:30px; }
#go-top { position:fixed; right:28px; bottom:25px; width:30px; height:30px; background:rgba(51,51,51,.85); color:#fff; display:grid; place-items:center; border-radius:3px; z-index:100; opacity:0; pointer-events:none; transition:opacity .3s; }
#go-top.on { opacity:1; pointer-events:auto; }
#go-top:hover { background:#333; color:#fff; }

/* ===== PÁGINAS INTERNAS ===== */
.page-title { background:var(--roxo); padding:30px 0; text-align:left; }
.page-title h2 { color:#fff; font-size:18px; font-weight:600; margin:0 0 4px; }
.page-body { padding:50px 0; }
.wrap { max-width:1110px; margin:auto; }
h2 { font-size:28px; margin-bottom:16px; }
.centro { text-align:center; }
.unidades { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:30px; }
.unidade { background:var(--cinza); border:1px solid #ccc; display:flex; flex-direction:column; overflow:hidden; transition:box-shadow .3s; }
.unidade:hover { box-shadow:0 6px 18px rgba(0,0,0,.15); }
.unidade img { height:220px; object-fit:cover; width:100%; }
.unidade .corpo { padding:15px; flex:1; display:flex; flex-direction:column; gap:8px; }
.unidade .corpo p { font-size:14px; margin:0; }
.tag { color:#6c757d; font-size:14px; }
.preco { font-size:20px; color:var(--roxo); font-weight:500; }
.galeria { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:0; }
.galeria img { width:100%; height:240px; object-fit:cover; cursor:zoom-in; display:block; transition:opacity .3s; }
.galeria img:hover { opacity:.8; }
.mais-fotos.galeria { grid-template-columns:repeat(3,1fr); }
.mais-fotos.galeria img { height:auto; }
.detalhe h4 { margin:22px 0 6px; color:var(--roxo); font-weight:700; }
.detalhe ul { padding-left:20px; columns:2; font-size:14px; }
.amen { display:flex; gap:8px; flex-wrap:wrap; margin:10px 0; }
.amen span { background:#eee; padding:3px 10px; border-radius:3px; font-size:13px; }
.form { display:grid; gap:14px; max-width:560px; }
.form label { display:flex; flex-direction:column; gap:4px; font-size:14px; }
.form .linha { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.aviso { padding:12px 16px; border-radius:4px; background:#d4edda; border:1px solid #c3e6cb; color:#155724; margin:16px 0; }
.erro { background:#f8d7da; border-color:#f5c6cb; color:#721c24; }
table { width:100%; border-collapse:collapse; font-size:14px; }
th, td { padding:8px 10px; border-bottom:1px solid #dee2e6; text-align:left; }
th { background:#f2f2f2; }
.cal { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; max-width:420px; }
.cal div { padding:6px 0; text-align:center; font-size:13px; }
.cal .dow { font-weight:700; }
.cal .livre { background:#b2c65585; }
.cal .ocup { background:#ffc9c9; text-decoration:line-through; }
.cals { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:30px; }
.legenda span { display:inline-block; width:14px; height:14px; vertical-align:middle; margin:0 4px 0 12px; }
.resumo { background:var(--cinza); border:1px solid #ced4da; padding:20px; }
.mapa iframe { width:100%; height:450px; border:0; }
.tabs button { background:none; border:0; border-bottom:3px solid transparent; padding:8px 16px; font:inherit; cursor:pointer; }
.tabs button.on { border-color:var(--roxo); color:var(--roxo); }
.page-body .busca { background:var(--cinza); color:var(--texto); border:1px solid #ccc; }

/* lightbox estilo Magnific Popup */
#lightbox { position:fixed; inset:0; z-index:10001; background:rgba(11,11,11,.8); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s; }
#lightbox.on { opacity:1; pointer-events:auto; }
#lightbox img { max-width:90vw; max-height:85vh; box-shadow:0 0 8px rgba(0,0,0,.6); }
#lightbox button { position:absolute; background:none; border:0; color:#fff; font-size:50px; cursor:pointer; opacity:.65; padding:20px; }
#lightbox button:hover { opacity:1; }
#lightbox .ant { left:0; } #lightbox .prox { right:0; } #lightbox .fx { top:0; right:0; font-size:30px; }
#lightbox .cont { position:absolute; bottom:20px; right:30px; color:#ccc; font-size:12px; }

@media (max-width:767px){
  .row2, .features .row3, .bottom-grid, .form .linha { grid-template-columns:1fr; }
  .hero { background-attachment:scroll; padding:100px 0; }
  .hero h3 { font-size:36px; }
  .detalhe ul { columns:1; }
}
#app > section:not([class]), #app > section.bege, #app > section.centro { padding:50px 15px; }
.bege { background:var(--cinza); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:30px; max-width:1110px; margin:auto; }
@media (max-width:767px){ .split { grid-template-columns:1fr; } }

/* ===== modelos das páginas internas (medidos no original) ===== */
.page-title .breadcrumb { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; font-size:12px; color:#fff; }
.page-title .breadcrumb a { color:#fff; }
.page-title .breadcrumb li + li::before { content:"/"; padding:0 6px; }
.page-body { padding:80px 0 50px; }
.page-title + .page-body { padding-top:50px; }
.art-title { font-size:28px; font-weight:500; margin-bottom:12px; }
.art-meta { font-size:12px; color:#6c757d; padding-bottom:16px; border-bottom:1px solid #eee; }
.art-bar { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px solid #eee; margin-bottom:20px; font-size:12px; }
.rating i { color:#f5b301; font-size:13px; }
.rating small { color:#999; }
.share { display:flex; gap:22px; }
.share a { color:#252525; font-size:13px; }
.art-body { font-size:14px; }
.art-body p { margin-bottom:12px; }
.art-icons { border-top:1px solid #eee; margin-top:30px; padding-top:20px; display:flex; gap:6px; }
.btn-outline { background:#fff; border:1px solid #ccc; border-radius:3px; font:inherit; font-size:11px; padding:3px 6px; color:#252525; cursor:pointer; }
.btn-outline:hover { background:#f2f2f2; color:#252525; }
.link-azul a { color:#0345BF; font-size:20px; font-weight:600; }
.outras { font-size:22px; margin-top:20px; }
.whats-img { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; width:140px; height:90px; background:#2b2b2b; color:#fff; border-radius:4px; }
.whats-img i { font-size:44px; color:#25d366; } .whats-img span { font-size:13px; }
.btn-block { display:block; width:100%; }

/* acomodações: card horizontal */
.chale-card { display:grid; grid-template-columns:1fr 1fr; gap:36px; background:#F9F9F9; border:1px solid #ccc; padding:12px; margin-top:40px; }
.chale-card .imagem { min-height:373px; background-size:cover; background-position:center; }
.chale-card .info { display:flex; flex-direction:column; padding-right:12px; }
.chale-card h2 { font-size:24px; font-weight:500; margin:6px 0 4px; }
.chale-card h4 { font-size:14px; font-weight:700; margin:0; }
.chale-card hr { border:0; border-top:1px solid #ddd; margin:14px 0; width:100%; }
.chale-card .descricao { font-size:14px; flex:1; max-height:216px; overflow:hidden; }
.chale-card .descricao p { margin-bottom:12px; }
.chale-card .btn-block { padding:4px; font-size:14px; }
.chale-card .preco { margin:6px 0 14px; }

/* detalhe da unidade */
.detalhe hr { border:0; border-top:1px solid #ddd; margin:8px 0; }
.detalhe .centro small { font-size:12px; }
.carrossel { position:relative; height:520px; display:flex; align-items:center; justify-content:center; }
.carrossel img { display:none; max-height:500px; max-width:70%; object-fit:contain; cursor:zoom-in; }
.carrossel img.on { display:block; animation:fade .5s; }
@keyframes fade { from { opacity:0; } to { opacity:1; } }
.carrossel .seta { position:absolute; top:50%; transform:translateY(-50%); background:none; border:0; color:var(--roxo); font-size:28px; cursor:pointer; }
.carrossel .ant { left:12%; } .carrossel .prox { right:12%; }
.carac { font-size:20px; margin:20px 0 14px; }
.detalhe > p { font-size:14px; margin-bottom:18px; }
.detalhe .texto { font-size:14px; margin:20px 0; }
.detalhe .texto p { margin-bottom:12px; }
.detalhe .info-b { margin-bottom:12px; }
.detalhe .btn-block { margin:10px 0; padding:4px; font-size:14px; }

/* fotos: grade de 3 quadrados */
.galeria.grade3 { grid-template-columns:repeat(3,1fr); gap:24px; }
.galeria.grade3 img { height:auto; aspect-ratio:1; }

/* reservas: cartões de datas */
.alert-info { background:#d1ecf1; border:1px solid #bee5eb; color:#0c5460; padding:10px 14px; border-radius:4px; font-size:12px; margin:20px 0; }
.page-body .busca { background:rgb(0 0 0 / 80%); color:#fff; border:0; }
.datas-disponiveis { margin-top:36px; }
.datas-disponiveis h2 { font-size:28px; margin:0; } .datas-disponiveis h4 { font-size:22px; margin:6px 0 10px; }
.linha-datas { display:flex; justify-content:center; flex-wrap:wrap; }
.item-data { position:relative; width:130px; height:130px; margin:4px; background:#fff; box-shadow:1px 1px 4px 0 #888; cursor:pointer; display:flex; flex-direction:column; user-select:none; }
.item-data.selecionado { outline:2px solid var(--roxo); }
.item-data.meio .saida-entrada { filter:brightness(.88); }
.item-data .topo { text-align:center; padding-top:2px; line-height:1.1; }
.item-data .dia { font-size:32px; line-height:1; font-weight:600; color:#434d51; }
.item-data .mes { font-size:19px; color:#434d51; }
.item-data .semana { display:block; font-size:12.8px; color:#434d51; margin-top:4px; }
.saida-entrada { height:64px; margin-top:auto; margin-bottom:4px; display:flex; font-size:16px; text-align:center; }
.saida-entrada.disp { background:#b2c65585; flex-direction:column; align-items:center; justify-content:center; }
.saida-entrada.indisp { background:#ffc9c9; align-items:center; justify-content:center; cursor:default; }
.saida-entrada .valor { color:var(--roxo); font-weight:700; font-size:15px; }
.saida-entrada.misto > span { flex:1; display:flex; flex-direction:column; align-items:center; padding-top:6px; }
.saida-entrada.misto .disp { background:#b2c65585; } .saida-entrada.misto .indisp { background:#ffc9c9; }
.select { display:block; width:18px; height:18px; border:1px solid #687a81; border-radius:50%; background:#fff; margin-top:4px; position:relative; }
.item-data.selecionado .select::before { content:""; position:absolute; inset:2px; border-radius:50%; background:var(--roxo); }
.barra-selecao { position:sticky; bottom:0; background:#fff; box-shadow:0 -4px 12px rgba(0,0,0,.15); padding:12px 5%; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; z-index:50; font-size:14px; }

/* disponibilidade */
.disp-titulo { font-size:28px; }
.form-disp { display:grid; gap:12px; }
.form-disp label { display:flex; flex-direction:column; gap:4px; font-size:13px; }
.form-disp .btn-block { padding:4px; font-size:14px; }
.form-cancel { display:flex; gap:8px; flex-wrap:wrap; }
.form-cancel input { max-width:260px; }

/* login */
.login { max-width:290px; margin:0 auto 40px; }
.login label { display:block; font-size:13px; margin-bottom:14px; }
.login label > input, .login .input-group { margin-top:4px; }
.login .star { color:#dc3545; }
.input-group { display:flex; }
.input-group .addon { background:#e9ecef; border:1px solid #ced4da; padding:0 10px; display:flex; align-items:center; font:inherit; font-size:13px; cursor:pointer; }
.input-group .addon:first-child { border-right:0; border-radius:4px 0 0 4px; }
.input-group .addon:last-child { border-left:0; border-radius:0 4px 4px 0; }
.input-group input { border-radius:0; }
.login .check { display:flex; align-items:center; gap:6px; }
.login .btn-block { padding:4px; font-size:14px; }
.login-links { border:1px solid #eee; border-radius:4px; margin-top:12px; font-size:12px; }
.login-links a { display:block; padding:10px 12px; } .login-links a + a { border-top:1px solid #eee; }
.dica { font-size:11px; color:#999; margin-top:10px; }
@media (max-width:767px){ .chale-card, .galeria.grade3 { grid-template-columns:1fr; } .carrossel img { max-width:100%; } }

/* ===== reserva completa, conta e gestão ===== */
.alert-warning { background:#fff3cd; border:1px solid #ffeeba; color:#856404; padding:10px 14px; border-radius:4px; font-size:14px; margin:20px 0; }
.alert-danger { background:#f8d7da; border:1px solid #f5c6cb; color:#721c24; padding:10px 14px; border-radius:4px; font-size:14px; margin:12px 0; }
.resultado { display:grid; grid-template-columns:1fr 1fr 260px; gap:24px; background:#F9F9F9; border:1px solid #ccc; padding:15px; margin-top:30px; }
.resultado .imagem { min-height:280px; background-size:cover; background-position:center; }
.resultado h2 { font-size:24px; }
.resultado .descricao { font-size:14px; } .resultado .descricao p { margin-bottom:10px; }
.resultado .veja { font-size:14px; }
.valores { font-size:14px; }
.valores ul, .diarias { list-style:none; padding:0; margin:6px 0 12px; }
.valores li, .diarias li, .kv, .total { display:flex; justify-content:space-between; gap:10px; padding:3px 0; }
.valores li { border-bottom:1px dashed #ddd; }
.kv span { color:#666; }
.total { border-top:1px solid #ccc; margin-top:8px; padding-top:8px; font-size:16px; }
.total b { color:var(--roxo); font-size:18px; }
.valores .btn-block { margin-top:12px; }
.checkout { display:grid; grid-template-columns:1.2fr 1fr; gap:30px; align-items:start; }
.checkout-box { border:1px solid #ced4da; background:#fff; }
.checkout-box .pad, .pad { padding:20px; }
.checkout-title { background:#A0522D; color:#fff; text-align:center; text-transform:uppercase; padding:15px 0; }
.checkout-title h3 { margin:0; color:#fff; font-size:18px; }
#dados label { display:flex; flex-direction:column; gap:4px; font-size:13px; margin-bottom:12px; }
#dados .linha { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#dados label.check { flex-direction:row; align-items:center; gap:6px; }
.res-unidade { display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.res-unidade img { width:110px; height:75px; object-fit:cover; }
.diarias li { font-size:13px; border-bottom:1px dashed #eee; }
#pagamento { border:1px solid #ced4da; background:#F9F9F9; padding:14px; margin-top:16px; font-size:14px; }
#pagamento h4 { font-size:16px; color:var(--roxo); font-weight:700; }
.pix-grid { display:grid; grid-template-columns:160px 1fr; gap:16px; align-items:start; }
.pix-grid label { display:flex; flex-direction:column; gap:4px; font-size:13px; }
.pix-grid textarea { font-family:monospace; font-size:11px; }
.peq { font-size:12px; color:#666; }
.aviso-teste { color:#a94442; }
.status { display:inline-block; padding:2px 8px; border-radius:10px; font-size:12px; font-weight:600; white-space:nowrap; }
.st-aguardando { background:#fff3cd; color:#856404; } .st-comprovante { background:#d1ecf1; color:#0c5460; }
.st-confirmada { background:#d4edda; color:#155724; } .st-cancelada { background:#eee; color:#777; }
.ola { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.acoes { white-space:nowrap; } .acoes .btn { margin:2px 0; }
.filtros { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px; }
.filtros a { border:1px solid #ccc; border-radius:14px; padding:2px 10px; font-size:13px; color:#252525; }
.filtros a.on { background:var(--roxo); border-color:var(--roxo); color:#fff; }
.badge { background:#dc3545; color:#fff; border-radius:9px; padding:0 6px; font-size:11px; }
.caixa { display:grid; grid-template-columns:320px 1fr; border:1px solid #ddd; min-height:360px; }
.caixa ul { list-style:none; padding:0; margin:0; border-right:1px solid #ddd; max-height:520px; overflow:auto; }
.caixa li { padding:10px 12px; border-bottom:1px solid #eee; cursor:pointer; font-size:13px; }
.caixa li:hover { background:#f6f6f6; } .caixa li.on { background:#F6EBE2; }
.caixa .msg { padding:16px 20px; font-size:14px; }
#menu a.extra { padding-left:8px; }
.toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,20px); background:#333; color:#fff; padding:10px 18px; border-radius:4px; font-size:14px; opacity:0; transition:.3s; z-index:20000; }
.toast.on { opacity:1; transform:translate(-50%,0); }
.modal-fundo { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:15000; display:grid; place-items:center; }
.modal { background:#fff; width:min(440px,92vw); padding:24px; border-radius:4px; position:relative; }
.modal h3 { font-size:18px; margin-bottom:16px; }
.modal label { display:flex; flex-direction:column; gap:4px; font-size:13px; margin-bottom:12px; }
.fechar-modal { position:absolute; top:8px; right:12px; background:none; border:0; font-size:24px; cursor:pointer; }
@media (max-width:900px){ .resultado, .checkout, .caixa, .pix-grid { grid-template-columns:1fr; } }
#dados .login label { display:block; } #dados .login label > input { margin-top:4px; }

/* ===== login do cliente (igual ao original + melhorias) ===== */
.login, .login.reset { max-width:290px; }
.login.reset { max-width:350px; font-size:14px; }
.login.reset .btn, .cadastro form > .btn { padding:4px 12px; font-size:14px; }
.login-links a, .login.reset a, .ja-tenho a { color:#0345BF; }
.login-links a:hover { text-decoration:underline; color:#044CD0; }
.senha-wrap { display:flex; position:relative; margin-top:4px; }
.senha-wrap .addon-ic { background:#e9ecef; border:1px solid #ced4da; border-right:0; border-radius:4px 0 0 4px; padding:0 10px; display:flex; align-items:center; font-size:13px; color:#495057; }
.senha-wrap input { border-radius:0 4px 4px 0; padding-right:38px; }
.senha-wrap .olho { position:absolute; right:4px; top:50%; transform:translateY(-50%); background:none; border:0; color:#6c757d; cursor:pointer; padding:6px; font-size:15px; }
.senha-wrap .olho:hover { color:var(--roxo); }
.caps { display:none; color:#856404; font-size:12px; margin-top:3px; }
label.caps-on .caps { display:block; }
.btn-codigo { display:block; text-align:center; font-size:13px; margin-top:10px; color:var(--roxo); border:1px solid #E2CDBF; border-radius:4px; padding:5px; }
.btn-codigo:hover { background:#FAF2EB; color:var(--roxo); }
input.codigo { font-size:22px; letter-spacing:8px; text-align:center; }
.cadastro { max-width:none; }
.cadastro .sub-cad { font-size:12px; margin-bottom:24px; }
.cadastro form label { display:block; font-size:13px; padding:0 12px; margin-bottom:18px; }
.cadastro form label > input, .cadastro form label > select { margin-top:4px; }
.cadastro label.estado select { max-width:270px; display:block; }
.cadastro form > .btn { margin-left:12px; }
.ja-tenho { font-size:13px; margin:16px 12px 0; }
label.invalido input, label.invalido select { border-color:#dc3545; }
label.invalido input:focus { box-shadow:0 0 0 3px rgba(220,53,69,.15); outline:0; }
.msg-erro { display:block; color:#dc3545; font-size:12px; margin-top:3px; }
.forca { display:flex; align-items:center; gap:4px; margin-top:6px; height:14px; }
.forca i { flex:0 0 40px; height:5px; border-radius:3px; background:#e5e5e5; }
.forca span { font-size:11px; color:#666; margin-left:6px; }
.forca[data-n="0"] i:nth-child(-n+1), .forca[data-n="1"] i:nth-child(-n+1) { background:#dc3545; }
.forca[data-n="2"] i:nth-child(-n+2) { background:#f0ad4e; }
.forca[data-n="3"] i:nth-child(-n+3) { background:#5cb85c; }
.forca[data-n="4"] i:nth-child(-n+4) { background:#2e7d32; }
.forca[data-n=""] { visibility:hidden; height:0; margin:0; }

/* ===== área da pousada isolada ===== */
body.modo-admin #sp-top-bar, body.modo-admin #sp-header, body.modo-admin #sp-bottom, body.modo-admin #sp-footer,
body.modo-admin #go-top, body.modo-admin #offcanvas, body.modo-admin #veu { display:none !important; }
body.modo-admin { background:#f4f2f7; }
body.modo-admin #pagina { padding-top:0 !important; transform:none !important; }
.adm-login { min-height:100vh; display:grid; place-items:center; padding:20px; background:linear-gradient(rgba(85,72,43,.85),rgba(160,82,45,.85)), url(img/guara/por-do-sol-1.jpg) center/cover; }
.adm-card { background:#fff; width:min(360px,100%); padding:32px 28px; border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,.25); text-align:left; }
.adm-card img { height:40px; display:block; margin:0 auto 14px; }
.adm-card h1 { font-size:20px; text-align:center; margin:0; }
.adm-card > .peq { text-align:center; margin-bottom:20px; }
.adm-card label { display:block; font-size:13px; margin-bottom:14px; }
.adm-card label > input { margin-top:4px; }
.adm-card .check { display:flex; align-items:center; gap:6px; }
.adm-card .dica { text-align:center; }
.voltar-site { display:block; text-align:center; font-size:13px; margin-top:8px; }
.adm { display:grid; grid-template-columns:230px 1fr; min-height:100vh; }
.adm-side { background:#3D3320; color:#e8e2d6; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; }
.adm-logo { display:flex; flex-direction:column; align-items:center; gap:6px; padding:22px 16px; border-bottom:1px solid rgba(255,255,255,.1); color:#fff; }
.adm-logo img { height:34px; background:#fff; border-radius:20px; padding:3px 10px; }
.adm-logo span { font-size:12px; letter-spacing:2px; text-transform:uppercase; color:#E8C4A8; }
.adm-side nav { padding:12px 0; flex:1; }
.adm-side a { display:flex; align-items:center; gap:10px; color:#e8e2d6; padding:11px 22px; font-size:14px; border-left:3px solid transparent; }
.adm-side a i { width:18px; text-align:center; opacity:.8; }
.adm-side a:hover { background:rgba(255,255,255,.06); color:#fff; }
.adm-side a.on { background:rgba(160,82,45,.45); border-left-color:#E8C4A8; color:#fff; }
.adm-side .badge { margin-left:auto; }
.adm-side-pe { border-top:1px solid rgba(255,255,255,.1); padding:8px 0; }
.adm-main { min-width:0; }
.adm-top { display:flex; align-items:center; gap:14px; background:#fff; padding:14px 28px; box-shadow:0 1px 4px rgba(0,0,0,.08); position:sticky; top:0; z-index:5; }
.adm-top h1 { font-size:20px; margin:0; flex:1; }
.adm-user { font-size:13px; color:#666; }
.adm-menu { display:none; background:none; border:0; font-size:20px; cursor:pointer; }
.adm-conteudo { padding:24px 28px 40px; }
.adm-box { background:#fff; border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.08); padding:18px 20px; overflow-x:auto; }
.adm-box h2 { font-size:16px; font-weight:700; margin-bottom:12px; }
.adm-grid { display:grid; grid-template-columns:2fr 1fr; gap:20px; margin-top:20px; }
.kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.kpi { background:#fff; border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.08); padding:16px 18px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:14px; color:#252525; transition:transform .2s; }
.kpi:hover { transform:translateY(-2px); color:#252525; }
.kpi i { grid-row:1/3; font-size:24px; color:var(--roxo); align-self:center; }
.kpi b { font-size:26px; line-height:1.1; } .kpi span { font-size:12px; color:#666; }
.kpi.amarelo .kpi.amarelo i { color:#d39e00; }
.kpi.azul .kpi.azul i { color:#17a2b8; }
.kpi.verde .kpi.verde i { color:#28a745; }
.adm-barra { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.adm-barra .filtros { margin:0; }
.adm-barra input { width:280px; height:34px; font-size:14px; }
.adm-barra .filtros a { background:#fff; }
.adm-barra .legenda span { border-radius:3px; }
.ocup { border-collapse:separate; border-spacing:2px; font-size:12px; }
.ocup th { background:none; font-weight:600; text-align:center; padding:4px 2px; border:0; white-space:nowrap; }
.ocup tr th:first-child { text-align:left; padding-right:10px; }
.ocup th.fds { color:var(--roxo); }
.ocup td { width:30px; min-width:30px; height:30px; background:#eef0e6; border:0; padding:0 2px; font-size:10px; overflow:hidden; white-space:nowrap; cursor:default; }
.ocup td[class^="st-"] { cursor:pointer; }
.ocup td.st-aguardando { background:#ffe8a1; } .ocup td.st-comprovante { background:#a6dbe6; } .ocup td.st-confirmada { background:#9fd5ab; }
@media (max-width:900px){
  .adm { grid-template-columns:1fr; }
  .adm-side { position:fixed; left:0; top:0; width:240px; z-index:30; transform:translateX(-100%); transition:transform .3s; }
  body.adm-aberto .adm-side { transform:none; }
  .adm-menu { display:block; }
  .kpis, .adm-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){ .kpis, .adm-grid { grid-template-columns:1fr; } .adm-conteudo { padding:16px; } }
.adm-barra .filtros a.on { background:var(--roxo); color:#fff; } .ocup { width:auto; }

/* ===== mosaico de fotos ===== */
.mosaico { position:relative; display:grid; gap:8px; height:440px; border-radius:12px; overflow:hidden; margin:16px 0; }
.mosaico.n5 { grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr; }
.mosaico.n5 .m-foto:first-child { grid-row:1/3; }
.mosaico.n4 { grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr 1fr; }
.mosaico.n4 .m-foto:first-child { grid-row:1/4; }
.mosaico.n3 { grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; }
.mosaico.n3 .m-foto:first-child { grid-row:1/3; }
.mosaico.n2 { grid-template-columns:1fr 1fr; }
.mosaico.n1 { grid-template-columns:1fr; }
.m-foto { padding:0; border:0; background:#ddd; overflow:hidden; cursor:pointer; position:relative; }
.m-foto img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s, filter .3s; }
.m-foto:hover img { transform:scale(1.03); filter:brightness(.88); }
.m-foto:focus-visible { outline:3px solid var(--roxo); outline-offset:-3px; }
.ver-todas { position:absolute; right:16px; bottom:16px; background:#fff; border:1px solid #222; border-radius:8px; padding:7px 14px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; display:flex; align-items:center; gap:8px; box-shadow:0 2px 6px rgba(0,0,0,.15); }
.ver-todas:hover { background:#f5f5f5; }
.todas-fotos { position:fixed; inset:0; background:#fff; z-index:10000; overflow-y:auto; opacity:0; transform:translateY(30px); transition:opacity .3s, transform .3s; }
.todas-fotos.on { opacity:1; transform:none; }
.tf-topo { position:sticky; top:0; background:#fff; display:flex; align-items:center; gap:14px; padding:14px 24px; border-bottom:1px solid #eee; z-index:1; }
.tf-topo span { margin-left:auto; color:#666; font-size:14px; }
.tf-voltar { background:none; border:0; width:36px; height:36px; border-radius:50%; cursor:pointer; font-size:16px; }
.tf-voltar:hover { background:#f2f2f2; }
.tf-grade { max-width:900px; margin:24px auto 60px; padding:0 16px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.tf-grade button { padding:0; border:0; cursor:zoom-in; background:#eee; }
.tf-grade button:nth-child(3n+1) { grid-column:1/3; }
.tf-grade img { width:100%; height:100%; aspect-ratio:3/2; object-fit:cover; display:block; transition:filter .3s; }
.tf-grade button:nth-child(3n+1) img { aspect-ratio:16/9; }
.tf-grade button:hover img { filter:brightness(.9); }
@media (max-width:767px){
  .mosaico { height:280px; }
  .mosaico.n5, .mosaico.n4, .mosaico.n3 { grid-template-columns:1fr; grid-template-rows:1fr; }
  .mosaico .m-foto:not(:first-child) { display:none; }
  .mosaico .m-foto:first-child { grid-row:auto; }
  .tf-grade { grid-template-columns:1fr; } .tf-grade button:nth-child(3n+1) { grid-column:auto; }
}
.mapa-rodape { height:350px; border-radius:4px; overflow:hidden; }
.mapa-rodape iframe { width:100%; height:100%; border:0; display:block; }
.mapa-legenda { margin-top:10px; font-size:13px; }
.mapa-legenda i { margin-right:4px; }

/* ===== rodapé reorganizado ===== */
#sp-bottom { padding:56px 0 40px; }
.bottom-grid { grid-template-columns:1fr 1fr 1.15fr 1.7fr; gap:36px; align-items:start; }
#sp-bottom h3 { font-size:16px; margin-bottom:20px; padding-bottom:10px; border-bottom:2px solid rgba(255,255,255,.15); }
.col-pag p { font-size:13px; margin-bottom:14px; opacity:.9; }
.selos { display:flex; flex-direction:column; gap:10px; }
.selos img { width:160px; height:auto; border-radius:4px; background:#fff; }
#sp-bottom .links { padding:0; }
#sp-bottom .links li { margin-bottom:10px; }
#sp-bottom .links a { opacity:.9; } #sp-bottom .links a:hover { opacity:1; }
.contatos { list-style:none; padding:0; margin:0; font-size:13px; }
.contatos li { display:flex; gap:10px; margin-bottom:12px; line-height:1.45; }
.contatos i { width:14px; text-align:center; margin-top:3px; opacity:.75; }
.mapa-rodape { height:220px; border-radius:6px; }
.btn-rota { display:inline-flex; align-items:center; gap:8px; margin-top:12px; font-size:13px; border:1px solid rgba(255,255,255,.4); border-radius:4px; padding:5px 12px; }
#sp-bottom .btn-rota:hover { background:rgba(255,255,255,.1); text-decoration:none; }
#sp-footer { padding:0 0 22px; font-size:13px; }
#sp-footer .container { padding-top:22px; }
.rodape-base { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.rodape-base nav { display:flex; gap:18px; }
.rodape-base a { color:#fff; opacity:.8; } .rodape-base a:hover { opacity:1; text-decoration:underline; color:#fff; }
@media (max-width:991px){ .bottom-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:575px){ .bottom-grid { grid-template-columns:1fr; } .rodape-base { flex-direction:column; align-items:flex-start; } }

/* ===== localização: abertura do rodapé, no mesmo marrom ===== */
.bottom-grid { grid-template-columns:1fr 1fr 1.2fr; }
#localizacao { background:#55482B; color:#F1EBDD; padding:72px 0 64px; }
.loc { display:grid; grid-template-columns:1fr 1.15fr; gap:56px; align-items:center; }
#localizacao h2 { font-family:Georgia, "Times New Roman", serif; font-weight:400; font-size:38px; line-height:1.15; color:#fff; margin:0 0 14px; }
#localizacao address { font-style:normal; font-size:17px; line-height:1.55; color:#E3D9C4; margin-bottom:30px; }
.trajeto { list-style:none; margin:0 0 34px; padding:0; position:relative; }
.trajeto::before { content:""; position:absolute; left:7px; top:12px; bottom:38px; border-left:2px dashed #C9A66B; }
.trajeto li { position:relative; padding:0 0 18px 34px; }
.trajeto li:last-child { padding-bottom:0; }
.trajeto li::before { content:""; position:absolute; left:0; top:4px; width:16px; height:16px; border-radius:50%; background:#55482B; border:2px solid #C9A66B; }
.trajeto li.chegada::before { background:#A0522D; border-color:#fff; box-shadow:0 0 0 4px rgba(160,82,45,.45); }
.trajeto b { display:block; font-size:15px; font-weight:600; color:#fff; }
.trajeto span { font-size:13px; color:#CDBF9F; }
.loc-acoes { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; }
.btn.loc-principal { background:#A0522D; border-color:#A0522D; font-size:15px; padding:10px 18px; display:inline-flex; align-items:center; gap:8px; border-radius:6px; }
.btn.loc-principal:hover { background:#E2AE76; border-color:#E2AE76; animation:none; }
.loc-sec { background:none; border:0; padding:0; font:inherit; font-size:14px; color:#F1EBDD; cursor:pointer; display:inline-flex; align-items:center; gap:6px; text-decoration:underline; text-decoration-color:rgba(241,235,221,.35); text-underline-offset:4px; }
.loc-sec:hover { color:#fff; text-decoration-color:#C9A66B; }
.loc-principal:focus-visible, .loc-sec:focus-visible { outline:2px solid #C9A66B; outline-offset:3px; }
.loc-mapa { height:400px; border-radius:16px; overflow:hidden; border:6px solid #3D3320; box-shadow:0 18px 40px rgba(0,0,0,.25); background:#e8e4da; }
.loc-mapa iframe { width:100%; height:100%; border:0; display:block; }
#sp-bottom { border-top:1px solid rgba(241,235,221,.12); }
body.modo-admin #localizacao { display:none; }
@media (max-width:991px){ .loc { grid-template-columns:1fr; gap:36px; } .loc-mapa { height:320px; } }
@media (max-width:575px){ #localizacao { padding:52px 0 44px; } #localizacao h2 { font-size:30px; } }

/* ===== marca Guará Bangalôs ===== */
.marca { display:flex; align-items:center; gap:10px; color:#252525; }
.marca:hover { color:#252525; }
.marca .logo-image { height:42px; width:42px; border-radius:50%; object-fit:cover; }
.marca-nome { font-family:Georgia, "Times New Roman", serif; font-size:21px; line-height:1; color:#3D3320; display:flex; flex-direction:column; }
.marca-nome small { font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size:10.5px; letter-spacing:.4px; color:#7a6b4f; margin-top:4px; }
#sp-header.fixo .marca-nome { font-size:19px; }
.adm-marca { font-family:Georgia, serif; font-weight:400; font-size:18px; color:#fff; }
.adm-logo img, .adm-card img { height:48px; width:48px; border-radius:50%; object-fit:cover; background:none; padding:0; }
.adm-card .adm-marca { display:block; text-align:center; color:#3D3320; font-size:22px; margin-bottom:6px; }
.sec-piscina img, .chales .row2 img { width:100%; height:420px; object-fit:cover; border-radius:4px; }
/* mosaico ampliado da página Fotos: 1 grande + 8 */
.mosaico.n9 { height:auto; grid-template-columns:repeat(4,1fr); grid-auto-rows:220px; }
.mosaico.n9 .m-foto:first-child { grid-column:1/3; grid-row:1/3; }
@media (max-width:767px){ .mosaico.n9 { grid-template-columns:1fr 1fr; grid-auto-rows:160px; } .mosaico.n9 .m-foto:not(:first-child) { display:block; } .mosaico.n9 .m-foto:first-child { grid-column:1/3; grid-row:auto; } }

/* mosaico: cantos retos, 13 itens na página Fotos, vídeos */
.mosaico, .mosaico .m-foto, .tf-grade button, .tf-grade img { border-radius:0; }
.mosaico.n13 { height:auto; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; }
.mosaico.n13 .m-foto:first-child { grid-column:1/3; grid-row:1/3; }
.m-foto video, .tf-grade video { width:100%; height:100%; object-fit:cover; display:block; }
.tf-grade video { aspect-ratio:3/2; }
.m-video { position:relative; }
.m-video .play { position:absolute; left:12px; bottom:12px; width:34px; height:34px; border-radius:50%; background:rgba(0,0,0,.55); color:#fff; display:grid; place-items:center; font-size:12px; pointer-events:none; }
#lightbox video { max-width:90vw; max-height:85vh; background:#000; }
@media (max-width:767px){ .mosaico.n13 { grid-template-columns:1fr 1fr; grid-auto-rows:150px; } .mosaico.n13 .m-foto:not(:first-child) { display:block; } .mosaico.n13 .m-foto:first-child { grid-column:1/3; grid-row:auto; } }
.adm-card img.logo-pedra { width:120px; height:120px; border-radius:50%; margin-bottom:10px; }

/* ===== botões: efeito suave (substitui o balanço e o marrom) ===== */
.btn, .sppb-btn { transition:background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.btn:hover, .sppb-btn:hover { animation:none; }
.btn:hover, .sppb-btn-primary:hover { background:#8A4626; border-color:#8A4626; color:#fff; transform:translateY(-1px); box-shadow:0 4px 12px rgba(160,82,45,.28); }
.btn:active, .sppb-btn:active { transform:translateY(0); box-shadow:none; }
.btn:focus-visible, .sppb-btn:focus-visible { outline:2px solid #E8C4A8; outline-offset:2px; }
.btn.btn-sec:hover { background:#5a6268; border-color:#5a6268; box-shadow:0 4px 12px rgba(0,0,0,.15); }
.btn.btn-claro:hover { background:#FAF2EB; color:var(--roxo); border-color:var(--roxo); box-shadow:none; }
.sppb-btn-default:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.2); }
.btn.loc-principal:hover { background:#E2AE76; border-color:#E2AE76; box-shadow:0 6px 16px rgba(0,0,0,.25); }
@media (prefers-reduced-motion:reduce){ .btn, .sppb-btn { transition:none; } .btn:hover, .sppb-btn:hover { transform:none; } }

/* ===== topo da home (Guará Bangalôs) ===== */
.hero2 { position:relative; min-height:90vh; display:flex; flex-direction:column; justify-content:flex-end; color:#fff;
  background:linear-gradient(180deg, rgba(31,24,19,.15) 0%, rgba(31,24,19,.05) 40%, rgba(31,24,19,.78) 100%), url(img/guara/por-do-sol-1-ia.jpg) 50% 40%/cover no-repeat; }
.hero2-lobo { position:absolute; right:6%; top:12%; width:min(34vw,440px); height:auto; filter:invert(1); mix-blend-mode:screen; opacity:.22; pointer-events:none; }
.hero2-texto { position:relative; padding-bottom:96px; }
.hero2 h1 { font-family:Georgia, "Times New Roman", serif; font-weight:400; font-size:clamp(46px,7vw,92px); line-height:1; letter-spacing:-.5px; color:#fff; margin:0 0 18px; text-shadow:0 2px 24px rgba(0,0,0,.35); }
.hero2-texto p { font-size:19px; line-height:1.5; max-width:34em; color:#F3E7DC; margin:0; }
.hero2-barra { position:relative; margin-bottom:-46px; }
.busca2 { background:#fff; color:#252525; display:grid; grid-template-columns:1.2fr 1.2fr .8fr 1fr 1fr auto; align-items:stretch; box-shadow:0 18px 40px rgba(31,24,19,.28); }
.campo2 { display:flex; flex-direction:column; justify-content:center; gap:2px; padding:14px 18px; border-right:1px solid #E7E1EA; cursor:text; margin:0; }
.campo2 span { font-size:12.5px; color:#615548; }
.campo2 small { font-size:11px; color:#7A6E62; }
.campo2 input { border:0; padding:0; height:auto; font-size:17px; color:#1F1813; background:transparent; width:100%; }
.campo2 input:focus { outline:0; }
.campo2:focus-within { background:#FBF4EE; box-shadow:inset 0 -2px 0 #A0522D; }
.campo2.num input { max-width:60px; }
.btn.busca2-btn { border-radius:0; padding:0 28px; font-size:16px; white-space:nowrap; }
.btn.busca2-btn:hover { transform:none; box-shadow:none; }
.hero2 + .chales { padding-top:120px; }
@media (prefers-reduced-motion:no-preference){
  .hero2-texto, .hero2-barra { animation:sobe .9s cubic-bezier(.2,.7,.2,1) both; }
  .hero2-barra { animation-delay:.15s; }
  @keyframes sobe { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
}
@media (max-width:991px){
  .busca2 { grid-template-columns:1fr 1fr 1fr; }
  .campo2 { border-bottom:1px solid #E7E1EA; }
  .btn.busca2-btn { grid-column:1/-1; padding:14px; }
  .hero2-lobo { width:52vw; top:8%; }
}
@media (max-width:575px){
  .hero2 { min-height:auto; padding-top:140px; }
  .hero2-texto { padding-bottom:28px; }
  .hero2-texto p { font-size:16px; }
  .hero2-barra { margin-bottom:0; padding:0; }
  .busca2 { grid-template-columns:1fr 1fr; box-shadow:none; }
  .campo2:nth-child(1), .campo2:nth-child(2) { grid-column:span 1; }
  .hero2 + .chales { padding-top:56px; }
}
.hero2 { min-height:calc(100vh - 150px); min-height:calc(100svh - 150px); } .hero2-texto { padding-bottom:84px; }

/* ===== calendário de reserva ===== */
.cal-titulo { font-family:Georgia, serif; font-weight:400; font-size:28px; margin:36px 0 16px; }
.calendario { border:1px solid #E6DED4; background:#fff; }
.cal-unidades { display:flex; flex-wrap:wrap; border-bottom:1px solid #E6DED4; background:#FBF8F4; }
.cal-unidades button { background:none; border:0; border-bottom:3px solid transparent; padding:14px 20px; font:inherit; font-size:15px; color:#5E554C; cursor:pointer; }
.cal-unidades button:hover { color:#252525; background:#F8EEE6; }
.cal-unidades button.on { color:#252525; font-weight:600; border-bottom-color:#A0522D; background:#fff; }
.cal-unidades button:focus-visible { outline:2px solid #A0522D; outline-offset:-2px; }
.cal-corpo { display:grid; grid-template-columns:1fr 320px; }
.cal-meses { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:36px; padding:24px 28px 18px; }
.cal-nav { position:absolute; left:20px; right:20px; top:20px; display:flex; justify-content:space-between; pointer-events:none; }
.cal-nav button { pointer-events:auto; width:34px; height:34px; border-radius:50%; border:1px solid #ddd; background:#fff; cursor:pointer; color:#444; }
.cal-nav button:hover:not(:disabled) { border-color:#A0522D; color:#A0522D; }
.cal-nav button:disabled { opacity:.35; cursor:default; }
.cal-mes h3 { text-align:center; font-size:16px; font-weight:600; margin:6px 0 14px; }
.cal-sem, .cal-dias { display:grid; grid-template-columns:repeat(7,1fr); }
.cal-sem span { text-align:center; font-size:12px; color:#6B6056; padding-bottom:6px; }
.cal-dias button { position:relative; height:50px; border:0; background:none; font:inherit; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; cursor:pointer; color:#252525; }
.cal-dias button b { font-size:15px; font-weight:500; line-height:1; }
.cal-dias button small { font-size:10.5px; color:#6B6056; line-height:1; }
.cal-dias button.livre:hover { box-shadow:inset 0 0 0 1.5px #252525; border-radius:50%; }
.cal-dias button.passado { color:#C4BBB1; cursor:default; }
.cal-dias button.ocupado { color:#BDB3A8; cursor:not-allowed; }
.cal-dias button.ocupado b { text-decoration:line-through; }
.cal-dias button.so-saida { background:linear-gradient(135deg, transparent 50%, #F1E6DC 50%); color:#6b6270; }
.cal-dias button.feriado::after { content:""; position:absolute; top:7px; right:calc(50% - 15px); width:5px; height:5px; border-radius:50%; background:#C9A66B; }
.cal-dias button.hoje b { text-decoration:underline; text-underline-offset:3px; }
.cal-dias button.meio { background:#F2DCCD; }
.cal-dias button.ini, .cal-dias button.fim { background:#A0522D; color:#fff; border-radius:50%; }
.cal-dias button.ini small, .cal-dias button.fim small { color:#F6E3D8; }
.cal-dias button.ini { box-shadow:none; }
.cal-dias button:focus-visible { outline:2px solid #A0522D; outline-offset:-2px; border-radius:50%; }
.cal-legenda { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:18px; font-size:12.5px; color:#615548; border-top:1px solid #eee; padding-top:12px; }
.cal-legenda span::before { content:""; display:inline-block; width:12px; height:12px; margin-right:6px; vertical-align:-1px; border-radius:2px; }
.lg-livre::before { border:1px solid #bbb; } .lg-saida::before { background:linear-gradient(135deg, #fff 50%, #F1E6DC 50%); border:1px solid #ddd; }
.lg-ocup::before { background:#eee; } .lg-fer::before { width:6px !important; height:6px !important; border-radius:50% !important; background:#C9A66B; vertical-align:2px !important; }
.cal-resumo { border-left:1px solid #E6DED4; padding:20px 22px; background:#fcfbfd; }
.cal-resumo > img { width:100%; height:130px; object-fit:cover; display:block; margin-bottom:12px; }
.cal-resumo h3 { font-size:19px; margin:0; }
.cal-cat { font-size:13px; color:#6B6056; margin:2px 0 14px; }
.cal-datas { display:grid; grid-template-columns:1fr 1fr; border:1px solid #D9CFC3; margin-bottom:12px; }
.cal-datas > div { padding:9px 12px; display:flex; flex-direction:column; }
.cal-datas > div + div { border-left:1px solid #D9CFC3; }
.cal-datas span { font-size:11.5px; color:#6B6056; }
.cal-datas b { font-size:15px; font-weight:600; }
.cal-datas small { font-size:11px; color:#6B6056; }
.cal-datas.vazio b { font-weight:400; font-size:13.5px; color:#6B6056; }
.cal-datas .agora { box-shadow:inset 0 -2px 0 #A0522D; background:#fff; }
.cal-datas .agora b { color:#252525; }
.cal-datas .ok b { color:#252525; font-weight:600; }
.cal-conta { list-style:none; padding:0; margin:0 0 8px; font-size:13px; max-height:150px; overflow:auto; }
.cal-conta li { display:flex; justify-content:space-between; padding:3px 0; color:#555; }
.cal-total { display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid #ddd; padding-top:10px; font-size:14px; }
.cal-total b { font-size:20px; color:#252525; }
.cal-sinal, .cal-dica { font-size:12.5px; color:#6B6056; margin:6px 0 14px; }
.cal-msg { background:#fff4e5; border-left:3px solid #C9A66B; padding:8px 10px; font-size:13px; color:#6b4e1f; margin-bottom:12px; }
.cal-limpar { background:none; border:0; padding:0; margin-top:10px; font:inherit; font-size:13px; color:#5E554C; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
@media (max-width:991px){ .cal-corpo { grid-template-columns:1fr; } .cal-resumo { border-left:0; border-top:1px solid #E6DED4; } .cal-resumo > img { display:none; } }
@media (max-width:640px){ .cal-meses { grid-template-columns:1fr; padding:20px 12px; } .cal-mes + .cal-mes { display:none; } .cal-dias button { height:46px; } .cal-unidades { flex-wrap:nowrap; overflow-x:auto; } .cal-unidades button { white-space:nowrap; } }

/* ===== login único (hóspedes e pousada) ===== */
.login-unico { min-height:calc(100vh - 97px); display:grid; place-items:center; padding:48px 16px;
  background:linear-gradient(rgba(31,24,19,.55),rgba(61,51,32,.7)), url(img/guara/por-do-sol-1-ia.jpg) center 40%/cover no-repeat; }
.login-unico .adm-card { width:min(380px,100%); }
.login-unico .btn-codigo { margin-top:10px; }
.login-unico .login-links { margin-top:14px; }
.login-unico .dica { margin-top:12px; }
body.modo-admin .login-unico { min-height:100vh; min-height:100svh; }
.login-passo p { font-size:14px; }
.login-passo form .btn { width:100%; padding:7px; }
.login-passo label { display:block; font-size:13px; margin-bottom:14px; }
.login-passo label > input { margin-top:4px; }

/* ===== Gestão > Editar site ===== */
.ed { display:grid; grid-template-columns:210px 1fr; gap:24px; align-items:start; }
.ed-secoes { position:sticky; top:80px; background:#fff; border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.08); padding:8px 0; }
.ed-secoes a { display:block; padding:10px 18px; color:#3D3320; font-size:14px; border-left:3px solid transparent; }
.ed-secoes a:hover { background:#FAF2EB; color:#252525; }
.ed-secoes a.on { border-left-color:#A0522D; background:#F8EEE6; font-weight:600; color:#252525; }
.ed-conteudo { position:relative; min-width:0; }
.ed-ver { position:absolute; right:0; top:-34px; font-size:13px; }
.ed-bloco { background:#fff; border:0; border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.08); padding:18px 22px 8px; margin:0 0 18px; min-width:0; }
.ed-bloco legend { float:left; width:100%; font-size:16px; font-weight:700; margin-bottom:12px; padding:0; }
.ed-bloco legend + * { clear:both; }
.ed-bloco h3 { font-size:16px; font-weight:700; }
.ed-campo { display:block; margin-bottom:14px; font-size:13px; }
.ed-campo > span { display:block; font-weight:600; color:#3D3320; margin-bottom:4px; }
.ed-campo > small { display:block; color:#6B6056; font-size:12px; margin-top:3px; }
.ed-campo textarea { font-size:14px; line-height:1.5; resize:vertical; }
.ed-2 { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.ed-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:0 16px; }
.ed-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:0 16px; }
.ed-card { background:#FBF8F4; border:1px solid #EFE6DC; padding:12px 12px 0; }
.ed-foto-box { display:flex; align-items:center; gap:12px; }
.ed-foto-box img { width:150px; height:96px; object-fit:cover; background:#eee; border-radius:3px; }
.ed-fotos { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:10px; margin-bottom:10px; }
.ed-fotos figure { margin:0; position:relative; background:#f2eef5; border-radius:3px; overflow:hidden; }
.ed-fotos img { width:100%; height:86px; object-fit:cover; display:block; }
.ed-fotos em { position:absolute; left:6px; top:6px; background:#A0522D; color:#fff; font-style:normal; font-size:11px; padding:1px 6px; border-radius:3px; }
.ed-fotos figcaption { display:flex; justify-content:space-between; }
.ed-fotos figcaption button { flex:1; border:0; background:none; padding:5px 0; cursor:pointer; color:#5E554C; font-size:12px; }
.ed-fotos figcaption button:hover:not(:disabled) { background:#F1E2D6; color:#252525; }
.ed-fotos figcaption button:disabled { opacity:.3; cursor:default; }
.ed-fotos figcaption .rem:hover { background:#f8d7da; color:#721c24; }
label.carregando { opacity:.6; pointer-events:none; }
label.carregando::after { content:" enviando..."; }
.ed-salvar { position:sticky; bottom:0; display:flex; justify-content:flex-end; align-items:center; gap:14px; background:rgba(244,242,247,.95); padding:12px 0; z-index:4; }
.ed-aviso { display:none; font-size:13px; color:#856404; }
.ed-form.alterado .ed-aviso { display:inline; }
.ed-unidade { background:#fff; border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.08); margin-bottom:12px; padding:0 22px; }
.ed-unidade[open] { padding-bottom:16px; }
.ed-unidade summary { display:flex; align-items:center; gap:12px; padding:12px 0; cursor:pointer; list-style:none; }
.ed-unidade summary::-webkit-details-marker { display:none; }
.ed-unidade summary::after { content:"\f078"; font-family:"Font Awesome 5 Free"; font-weight:900; margin-left:auto; color:#888; font-size:12px; }
.ed-unidade[open] summary::after { content:"\f077"; }
.ed-unidade summary img { width:56px; height:40px; object-fit:cover; border-radius:3px; background:#eee; }
.ed-unidade summary span { font-size:13px; color:#6B6056; }
.ed-excluir { margin-top:4px; }
.ed-nova { margin:6px 0 10px; }
.ed-dias { display:flex; flex-wrap:wrap; gap:6px 14px; }
.ed-dias label { display:flex; align-items:center; gap:5px; font-size:14px; }
.ed-feriados { display:grid; gap:6px; }
.ed-feriado { display:grid; grid-template-columns:160px 160px 1fr 34px; gap:8px; align-items:center; }
.ed-feriado.cab span { font-size:12px; color:#6B6056; }
.ed-feriado input { height:34px; font-size:14px; }
.ed-feriado button { height:34px; border:1px solid #ddd; background:#fff; border-radius:4px; cursor:pointer; color:#888; }
.ed-feriado button:hover { color:#721c24; border-color:#f5c6cb; }
.ed-feriados > .btn { justify-self:start; margin-top:4px; }
@media (max-width:991px){ .ed { grid-template-columns:1fr; } .ed-secoes { position:static; display:flex; overflow-x:auto; } .ed-secoes a { white-space:nowrap; border-left:0; border-bottom:3px solid transparent; } .ed-secoes a.on { border-bottom-color:#A0522D; } .ed-4 { grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .ed-2, .ed-3, .ed-4 { grid-template-columns:1fr; } .ed-feriado { grid-template-columns:1fr 1fr; } }
#localizacao[hidden] { display:none; }

/* ===== 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; }
