/* ===== Página de passeio ===== */
.pas-galeria{position:relative;background:var(--cafe-escuro)}
.pas-galeria::before{content:"";position:absolute;top:0;left:0;right:0;height:14px;z-index:3;background:var(--ouro);-webkit-mask:radial-gradient(60% 14px at 50% 0,#000 98%,transparent);mask:radial-gradient(60% 14px at 50% 0,#000 98%,transparent)}
.pas-fotos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:min(62vh,520px)}
.pas-fotos .f{background-size:cover;background-position:center;background-color:var(--cafe);cursor:zoom-in;border:0;padding:0;position:relative}
.pas-fotos .f:first-child{grid-row:1/3}
.pas-fotos .f:nth-child(2){background-image:linear-gradient(135deg,#2b3446,#5c3a10)}
.pas-fotos .f:nth-child(3){background-image:linear-gradient(135deg,#8a5a1c,#3e2708)}
.ver-fotos{position:absolute;right:16px;bottom:16px;background:#fff;color:var(--cafe);border:0;font:700 .85rem "Open Sans";padding:.55rem 1rem;border-radius:999px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.aviso-exemplo{background:#fff4d6;border-bottom:1px solid #f0d58f;color:#6b4b00;font-size:.88rem;text-align:center;padding:.55rem 1rem}
.pas-grade{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:3rem;align-items:start;padding:2.5rem 0 4rem}
.trilha{font-size:.85rem;color:var(--texto-suave);margin-bottom:.8rem}
.trilha a{color:var(--cafe)}
.pas-cat{display:inline-block;background:var(--ouro);color:var(--cafe-escuro);font:700 .72rem "Open Sans";text-transform:uppercase;letter-spacing:.06em;padding:.25rem .6rem}
.pas-titulo{font-size:clamp(2.1rem,5vw,3.3rem);color:var(--cafe);line-height:1.08;margin:.6rem 0 .5rem}
.pas-resumo{font-size:1.15rem;color:var(--texto-suave);max-width:60ch}
.pas-info{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin:1.4rem 0 .4rem;padding:1rem 0;border-top:1px solid #eadfcb;border-bottom:1px solid #eadfcb}
.pas-info div{font-size:.92rem}
.pas-info b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ouro)}
.pas-bloco{margin-top:2.4rem}
.pas-bloco>h2{font-size:1.5rem;color:var(--cafe);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}
.pas-bloco>h2::before{content:"";width:24px;height:4px;background:var(--ouro)}
.destaques{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.destaques div{background:var(--areia);border-left:4px solid var(--ouro);padding:1rem 1.1rem}
.destaques strong{display:block;color:var(--cafe);font-family:"Oswald",sans-serif;font-weight:500;font-size:1.1rem}
.destaques span{font-size:.9rem;color:var(--texto-suave)}
.inclui{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.inclui h3{font-size:1.05rem;margin-bottom:.6rem;color:var(--texto)}
.inclui ul{list-style:none;display:grid;gap:.5rem}
.inclui li{padding-left:1.7rem;position:relative;font-size:.95rem}
.inclui .sim li::before{content:"✓";position:absolute;left:0;color:#2e7d32;font-weight:700}
.inclui .nao li::before{content:"✕";position:absolute;left:0;color:#b23b2e;font-weight:700}
.sobre{position:relative;font-size:1.04rem;line-height:1.75}
.sobre p+p{margin-top:1rem}
.sobre.recolhido{max-height:11.5em;overflow:hidden}
.sobre.recolhido::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4em;background:linear-gradient(transparent,var(--papel))}
.leia-mais{background:none;border:0;color:var(--cafe);font:700 .95rem "Open Sans";cursor:pointer;margin-top:.6rem;padding:0;text-decoration:underline}
.roteiro{list-style:none;counter-reset:r;display:grid;gap:0}
.roteiro li{counter-increment:r;position:relative;padding:0 0 1.4rem 3.2rem}
.roteiro li::before{content:counter(r);position:absolute;left:0;top:0;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--cafe);color:var(--amarelo);display:grid;place-items:center;font:700 1rem "Oswald",sans-serif}
.roteiro li::after{content:"";position:absolute;left:1.02rem;top:2.3rem;bottom:.2rem;width:2px;background:#eadfcb}
.roteiro li:last-child::after{display:none}
.roteiro strong{display:block;color:var(--cafe)}
.roteiro span{font-size:.93rem;color:var(--texto-suave)}
.levar{display:flex;flex-wrap:wrap;gap:.5rem}
.levar span{background:var(--areia);color:var(--cafe);padding:.35rem .8rem;border-radius:999px;font-size:.88rem}
.politica{font-size:.92rem;color:var(--texto-suave);background:var(--areia);padding:1rem 1.2rem}
.compart{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:2.4rem}
.compart strong{color:var(--cafe);margin-right:.3rem}
.compart a,.compart button{border:2px solid var(--cafe);background:none;color:var(--cafe);font:700 .82rem "Open Sans";padding:.4rem .85rem;text-decoration:none;cursor:pointer}

.reserva-box{position:sticky;top:150px;background:#fff;border:1px solid #eadfcb;box-shadow:0 14px 34px rgba(62,39,8,.12);padding:1.5rem}
.reserva-box .apartir{font-size:.85rem;color:var(--texto-suave)}
.reserva-box .valor{font:700 2rem "Oswald",sans-serif;color:var(--cafe);line-height:1.1}
.reserva-box .sinal{font-size:.88rem;color:#2e7d32;font-weight:600;margin-top:.2rem}
.reserva-box label{display:block;font-weight:700;font-size:.85rem;color:var(--cafe);margin:1.1rem 0 .35rem}
.reserva-box input[type=date]{width:100%;border:1px solid #d9ccb3;padding:.65rem .7rem;font:inherit}
.pessoa{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0}
.pessoa small{display:block;color:var(--texto-suave);font-size:.78rem}
.contador{display:flex;align-items:center;gap:.6rem}
.contador button{width:34px;height:34px;border-radius:50%;border:2px solid var(--cafe);background:#fff;color:var(--cafe);font-size:1.2rem;line-height:1;cursor:pointer}
.contador button:disabled{opacity:.35;cursor:default}
.contador output{min-width:1.4rem;text-align:center;font-weight:700}
.reserva-box .btn-reservar{display:block;width:100%;margin-top:1.3rem;background:var(--wpp);color:#fff;border:0;font:700 1rem "Open Sans";padding:.95rem;cursor:pointer;text-align:center;text-decoration:none}
.reserva-box .btn-reservar:hover{filter:brightness(.93)}
.reserva-box .nota{font-size:.8rem;color:var(--texto-suave);margin-top:.8rem;text-align:center}
.garantias{list-style:none;margin-top:1.2rem;padding-top:1rem;border-top:1px solid #eadfcb;display:grid;gap:.45rem;font-size:.85rem}
.garantias li::before{content:"✓ ";color:var(--ouro);font-weight:700}
.barra-movel{display:none}

.recomendados{background:var(--areia);padding:3.5rem 0}
.recomendados h2{font-size:1.8rem;color:var(--cafe);text-transform:uppercase;margin-bottom:1.4rem}
.passeio h4 a{text-decoration:none;color:inherit}
.passeio h4 a:hover{color:var(--cafe)}
.passeio .detalhes{font-size:.88rem;font-weight:700;color:var(--cafe)}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:200;display:flex;align-items:center;justify-content:center}
.lightbox[hidden]{display:none}
.lightbox .foto-lb{width:min(92vw,1200px);height:80vh;background-size:contain;background-repeat:no-repeat;background-position:center}
.lightbox button{position:absolute;background:rgba(255,255,255,.15);border:0;color:#fff;font-size:2.4rem;width:56px;height:56px;cursor:pointer}
.lightbox .fechar{top:16px;right:16px;font-size:1.8rem}
.lightbox .ant{left:16px}.lightbox .prox{right:16px}
.lightbox .cont{position:absolute;bottom:18px;color:#fff;font-size:.9rem}

@media (max-width:960px){
 .pas-grade{grid-template-columns:1fr;gap:1.5rem}
 .reserva-box{position:static}
 .barra-movel{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;background:#fff;box-shadow:0 -6px 18px rgba(0,0,0,.12);padding:.7rem 4%;align-items:center;justify-content:space-between;gap:1rem}
 .barra-movel b{font:700 1.2rem "Oswald",sans-serif;color:var(--cafe);display:block}
 .barra-movel small{font-size:.75rem;color:var(--texto-suave)}
 .barra-movel a{background:var(--wpp);color:#fff;text-decoration:none;font-weight:700;padding:.75rem 1.3rem}
 body.tem-barra .wpp{bottom:84px}
 body.tem-barra{padding-bottom:70px}
 .pas-fotos{grid-template-columns:1fr;grid-template-rows:1fr;height:46vh}
 .pas-fotos .f:not(:first-child){display:none}
 .pas-fotos .f:first-child{grid-row:auto}
 .inclui{grid-template-columns:1fr}
}
html.alto-contraste .reserva-box,html.alto-contraste .destaques div,html.alto-contraste .politica,html.alto-contraste .levar span,html.alto-contraste .recomendados,html.alto-contraste .barra-movel{background:#000!important;color:#fff!important;border-color:#fff}
