/* Layout multipáginas — Hotel Sibara (usa as cores de extra.css) */
*{box-sizing:border-box}
body{margin:0;background:var(--background);color:var(--foreground);font-family:"Jost",system-ui,sans-serif;font-weight:300;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media(min-width:1024px){.wrap{padding:0 2.5rem}}
.narrow{max-width:48rem}
.wrap.narrow{max-width:52rem}
.center-text{text-align:center}
.mt{margin-top:2.5rem}
.muted{color:var(--muted-foreground)}
.eyebrow{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted-foreground);margin:0}
.eyebrow.gold{color:var(--accent)}
.h1,.h2,.h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;line-height:1.08;margin:0}
.h1{font-size:clamp(2.6rem,6vw,4.8rem)}
.h1 em{display:block;font-style:italic;opacity:.9}
.h2{font-size:clamp(2rem,4vw,3.1rem);margin-top:.9rem}
.h3{font-size:1.6rem}
.lead{font-size:1.02rem;color:var(--muted-foreground);margin:1.6rem 0}
.sec{padding:5.5rem 0}
@media(min-width:1024px){.sec{padding:7.5rem 0}}
.bg-soft{background:var(--secondary)}
.bg-navy{background:var(--primary);color:var(--primary-foreground)}
.bg-navy .eyebrow{color:var(--accent)}
.bg-navy .muted,.bg-navy .lead{color:color-mix(in oklab,var(--primary-foreground) 75%,transparent)}
.grid-2{display:grid;gap:3.5rem}
@media(min-width:1024px){.grid-2{grid-template-columns:1fr 1fr}.grid-2.center{align-items:center}}
.photo{width:100%;height:420px;object-fit:cover}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 2rem;margin-bottom:3.5rem}
.sec-head .lead{margin:0}

/* Botões */
.btn-line,.btn-solid,.btn-book{display:inline-block;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;padding:.95rem 1.8rem;border:1px solid color-mix(in oklab,currentColor 30%,transparent);transition:color .3s,border-color .3s,background .3s,opacity .3s;font-weight:400;cursor:pointer;font-family:inherit;background:none;color:inherit}
.btn-line:hover{color:var(--accent);border-color:var(--accent)}
.btn-line.is-disabled{opacity:.55;cursor:default}
.btn-solid{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);margin-top:1rem}
.btn-solid:hover{opacity:.9}
.bg-navy .btn-solid{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}
.btn-solid.full{display:block;text-align:center;width:100%}
.link-arrow{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--primary);border-bottom:1px solid var(--accent);padding-bottom:2px}
.bg-navy .link-arrow{color:var(--primary-foreground)}

/* Cabeçalho fixo */
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:var(--primary-foreground);transition:background .35s,box-shadow .35s,padding .35s}
.site-header.is-solid,.is-open .site-header{background:var(--primary);box-shadow:0 10px 30px -18px rgb(0 0 0/.5)}
.header-in{display:flex;align-items:center;gap:1.25rem;padding-top:1.1rem;padding-bottom:1.1rem}
.logo img{height:3.2rem;width:auto;filter:brightness(0) invert(1)}
.main-nav{display:none;margin-left:auto;gap:1rem}
.main-nav a{font-size:.75rem;letter-spacing:0;text-transform:uppercase;opacity:.82;transition:color .3s,opacity .3s;white-space:nowrap}
.main-nav a:hover,.main-nav a[aria-current]{color:var(--accent);opacity:1}
.main-nav a[aria-current="page"]{font-weight:700}
.btn-book{margin-left:auto;border-color:var(--accent);background:var(--accent);color:var(--accent-foreground);padding:.8rem 1.3rem;font-size:.75rem;letter-spacing:0}
.btn-book:hover{background:transparent;color:var(--accent)}
.burger{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:.6rem;cursor:pointer}
.burger span{width:24px;height:1.5px;background:currentColor;transition:transform .3s,opacity .3s}
.is-open .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.is-open .burger span:nth-child(2){opacity:0}
.is-open .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media(max-width:1279px){
  .main-nav{position:fixed;inset:5.3rem 0 auto;display:flex;flex-direction:column;gap:0;background:var(--primary);padding:.5rem 1.5rem 1.5rem;max-height:calc(100vh - 5.3rem);overflow:auto;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
  .main-nav a{padding:1rem 0;border-bottom:1px solid color-mix(in oklab,var(--primary-foreground) 12%,transparent);font-size:.75rem}
  .is-open .main-nav{opacity:1;transform:none;pointer-events:auto}
}
@media(min-width:1280px){.main-nav{display:flex}.btn-book{margin-left:1rem}.burger{display:none}}
@media(max-width:480px){.logo img{height:2.6rem}.btn-book{padding:.7rem .9rem}}

/* Capa */
.hero,.page-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--primary-foreground);background:var(--ink)}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgb(28 28 28/.7),rgb(28 28 28/.35) 45%,rgb(28 28 28/.78))}
.hero-in{position:relative;min-height:92vh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:9rem;padding-bottom:10rem}
.hero-title{margin-top:1.4rem;max-width:48rem}
.hero-sub{max-width:36rem;margin-top:1.8rem;color:color-mix(in oklab,var(--primary-foreground) 82%,transparent)}
.page-hero-in{position:relative;min-height:52vh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:8rem;padding-bottom:4rem}
.page-hero .h1{font-size:clamp(2.2rem,5vw,4rem);margin-top:1rem;max-width:52rem}
.page-hero .h1 em{display:inline}

/* Motor sobreposto */
.booking{position:relative;z-index:5;margin-top:-6.5rem}
.booking-box{background:var(--card);border:1px solid var(--border);padding:1.3rem;box-shadow:var(--shadow-elevated)}
.booking-box .eyebrow{margin-bottom:1rem}
@media(min-width:640px){.booking-box{padding:1.75rem}}

/* Cards */
.cards-3,.cards-4{display:grid;gap:2rem}
@media(min-width:640px){.cards-3,.cards-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}}
.room-card{display:flex;flex-direction:column;background:var(--card);color:var(--card-foreground);padding:.5rem;box-shadow:0 1px 2px rgb(0 0 0/.06);transition:box-shadow .4s,transform .4s}
.room-card.is-link:hover,.room-card:hover{box-shadow:var(--shadow-elevated)}
.room-img{display:block;overflow:hidden;aspect-ratio:4/3}
.room-img img,.room-img .ph-img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.room-card:hover .room-img img{transform:scale(1.05)}
.room-body{display:flex;flex-direction:column;gap:.7rem;padding:1.4rem .5rem .6rem;flex:1}
.room-body .muted{font-size:.9rem}
.room-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.price{font-size:.8rem;color:var(--muted-foreground)}
.price strong{display:block;font-family:"Cormorant Garamond",serif;font-weight:500;font-size:1.4rem;color:var(--primary)}
.mini-card{position:relative;display:block;overflow:hidden;aspect-ratio:3/4;background:var(--muted)}
.mini-card.tall{aspect-ratio:4/5}
.mini-card img,.mini-card .ph-img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.mini-card:hover img{transform:scale(1.06)}
.mini-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(28 28 28/.75),transparent 55%)}
.mini-title{position:absolute;left:1.3rem;bottom:1.1rem;z-index:2;color:var(--primary-foreground);font-family:"Cormorant Garamond",serif;font-size:1.8rem}
@media(min-width:1024px){
  .cards-4.cards-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem}
  .cards-5 .mini-title{left:1rem;right:1rem;font-size:1.3rem;line-height:1.25;overflow-wrap:break-word}
}
.badge{position:absolute;top:1rem;left:1rem;z-index:3;background:var(--accent);color:var(--accent-foreground);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;padding:.45rem .8rem;font-weight:500}
.badge.big{font-size:.72rem;padding:.6rem 1rem}
.ph-img{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:220px;background:repeating-linear-gradient(45deg,var(--secondary),var(--secondary) 12px,var(--sand) 12px,var(--sand) 24px);color:var(--muted-foreground);font-size:.75rem;text-align:center;padding:1rem}

/* Blocos alternados */
.split{display:grid;gap:2.5rem;align-items:center;margin-top:5rem}
@media(min-width:1024px){.split{grid-template-columns:1.1fr 1fr;gap:4.5rem}.split.rev .split-img{order:2}}
.split-img{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--muted)}
.split-img img{width:100%;height:100%;object-fit:cover}
.split.is-soon .split-img img{filter:grayscale(.35)}
.hours{display:grid;gap:1rem;margin:2rem 0 0}
.hours div,.feature-grid div,.info-list div{border-top:1px solid var(--border);padding-top:1rem}
dt{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:400}
dd{margin:.4rem 0 0;font-size:.92rem;color:var(--muted-foreground)}
.feature-grid{display:grid;gap:1.8rem;margin:2.5rem 0 0}
@media(min-width:640px){.feature-grid{grid-template-columns:1fr 1fr}}
.info-list{display:grid;gap:1.6rem;margin:2.5rem 0}
.info-list a:hover{color:var(--foreground)}
ul.dots{margin:0;padding-left:1.1rem}
.map{width:100%;height:440px;border:1px solid var(--border)}
@media(min-width:1024px){.map{height:100%;min-height:520px}}

/* Números */
.numbers{background:var(--sand);padding:4.5rem 0}
.numbers-grid{display:grid;gap:2.5rem;text-align:center}
@media(min-width:640px){.numbers-grid{grid-template-columns:repeat(4,1fr)}}
.num{font-family:"Cormorant Garamond",serif;font-size:3.2rem;margin:0;color:var(--primary)}
.num-l{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-foreground);margin:.5rem 0 0}

/* Carrossel genérico */
.carousel{position:relative}
.car-track{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.3rem .1rem 1rem}
.car-track::-webkit-scrollbar{display:none}
.car-track>*{scroll-snap-align:start;flex:0 0 auto}
.car-btn{position:absolute;top:42%;z-index:3;width:2.8rem;height:2.8rem;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--primary);font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-elevated);display:none}
.car-btn.prev{left:-1.2rem}.car-btn.next{right:-1.2rem}
@media(min-width:768px){.car-btn{display:block}}

/* Avaliações */
.review{width:min(86vw,22rem);background:var(--card);padding:1.6rem;border:1px solid var(--border);display:flex;flex-direction:column;gap:.8rem}
.review header{display:flex;align-items:center;gap:.8rem}
.review header div{flex:1;display:flex;flex-direction:column;line-height:1.3}
.review small{color:var(--muted-foreground);font-size:.75rem}
.avatar{width:2.6rem;height:2.6rem;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--primary);color:var(--primary-foreground);font-weight:500}
.review-text{margin:0;font-size:.92rem;color:var(--muted-foreground);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.review.is-open .review-text{-webkit-line-clamp:unset}
.read-more{align-self:flex-start;background:none;border:0;padding:0;color:var(--primary);font:inherit;font-size:.78rem;text-decoration:underline;cursor:pointer}
.stars{color:var(--accent);letter-spacing:.1em}
.stars .off{color:var(--border)}
.g-badge{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:#fff;border:1px solid var(--border);font-weight:500;color:#4285F4;font-size:.85rem}
.g-score{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:1rem 0 0}
.g-score strong{font-size:1.4rem;font-family:"Cormorant Garamond",serif}

/* Depoimentos 9:16 */
.story{margin:0;width:min(62vw,15rem)}
.story-btn{position:relative;display:block;width:100%;aspect-ratio:9/16;overflow:hidden;border:0;padding:0;cursor:pointer;background:var(--ink)}
.story-btn[disabled]{cursor:default}
.story-btn img,.story-btn .ph-img{width:100%;height:100%;object-fit:cover}
.play{position:absolute;inset:auto auto 1rem 1rem;width:3rem;height:3rem;border-radius:50%;background:var(--accent);color:var(--accent-foreground);display:flex;align-items:center;justify-content:center;font-size:1rem}
.story figcaption{display:flex;flex-direction:column;margin-top:.8rem;font-size:.85rem}
.story figcaption span{opacity:.7}

/* Logos */
.logos{overflow:hidden;padding:1rem 0}
.logos-track{display:flex;align-items:center;gap:4rem;width:max-content;animation:logos 40s linear infinite}
.logos:hover .logos-track{animation-play-state:paused}
.logos img{height:3.2rem;width:auto;filter:grayscale(1);opacity:.6;transition:filter .3s,opacity .3s}
.logos img:hover{filter:none;opacity:1}
@keyframes logos{to{transform:translateX(-50%)}}

/* Página da acomodação */
.pad-top{padding-top:10rem}
.crumbs{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 2rem}
.crumbs a{color:var(--primary)}
.gallery{display:grid;gap:.6rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:13rem}.g-item.is-main{grid-column:span 2;grid-row:span 2}}
.g-item{border:0;padding:0;overflow:hidden;cursor:zoom-in;background:var(--muted);aspect-ratio:4/3}
@media(min-width:768px){.g-item{aspect-ratio:auto}}
.g-item.is-main{grid-column:span 2}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.g-item:hover img{transform:scale(1.04)}
.room-detail{display:grid;gap:3rem;margin-top:3.5rem}
@media(min-width:1024px){.room-detail{grid-template-columns:1.6fr 1fr;align-items:start}}
.amenities{list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}
.amenities li{display:flex;align-items:center;gap:.7rem;font-size:.92rem}
.amenities svg{width:1.4rem;height:1.4rem;color:var(--accent);flex:none}
.book-card{background:var(--secondary);padding:2rem;display:flex;flex-direction:column;gap:.6rem;position:sticky;top:7rem}
.book-card .cap{font-family:"Cormorant Garamond",serif;font-size:1.4rem;margin:0 0 .6rem}
.book-card .muted{margin:0;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}
.book-card .link-arrow{align-self:center;margin-top:.6rem}
.note{margin-top:2.5rem;font-size:.78rem;color:var(--muted-foreground)}

/* Lightbox / modal */
.lightbox,.video-modal{position:fixed;inset:0;z-index:100;background:rgb(28 28 28/.94);display:flex;align-items:center;justify-content:center}
.lightbox[hidden],.video-modal[hidden]{display:none}
.lb-stage{max-width:92vw;max-height:86vh;touch-action:pan-y}
.lb-stage img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:.75rem 0 .75rem 0}
.lb-close,.lb-prev,.lb-next{position:absolute;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;padding:1rem;line-height:1}
.lb-close{top:.5rem;right:.8rem}
.lb-prev{left:.4rem;top:50%;transform:translateY(-50%)}
.lb-next{right:.4rem;top:50%;transform:translateY(-50%)}
.video-modal video{max-height:88vh;max-width:94vw;aspect-ratio:9/16;background:#000;border-radius:.75rem 0 .75rem 0}

/* Acordeão */
.accordion{margin-top:2rem;border-top:1px solid var(--border)}
.accordion details{border-bottom:1px solid var(--border)}
.accordion summary{cursor:pointer;list-style:none;padding:1.4rem 2rem 1.4rem 0;font-family:"Cormorant Garamond",serif;font-size:1.5rem;position:relative}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:"+";position:absolute;right:0;top:1.2rem;color:var(--accent);font-family:"Jost",sans-serif;font-size:1.5rem;transition:transform .3s}
.accordion details[open] summary::after{transform:rotate(45deg)}
.accordion details>div{padding:0 0 1.6rem;color:var(--muted-foreground)}

/* Formulário */
.form{display:grid;gap:1.2rem;margin-top:2rem}
.form-2{display:grid;gap:1.2rem}
@media(min-width:640px){.form-2{grid-template-columns:1fr 1fr}}
.form label{display:flex;flex-direction:column;gap:.45rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.form input,.form select,.form textarea{font:inherit;font-size:.95rem;letter-spacing:0;text-transform:none;padding:.85rem 1rem;border:1px solid var(--input);background:var(--card);color:var(--foreground);border-radius:.5rem 0 .5rem 0}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--ring);outline-offset:1px}
.form .btn-solid{justify-self:start}
.hp{position:absolute;left:-9999px;width:1px;height:1px}
.alert{padding:1rem 1.2rem;border-radius:.5rem 0 .5rem 0}
.alert.ok{background:var(--secondary);color:var(--primary)}
.alert.err{background:color-mix(in oklab,var(--destructive) 12%,transparent);color:var(--destructive)}

/* Rodapé */
.site-footer{background:var(--ink);color:var(--primary-foreground);padding:4.5rem 0 2rem;font-size:.88rem}
.foot-grid{display:grid;gap:2.5rem}
@media(min-width:768px){.foot-grid{grid-template-columns:1.3fr 1.2fr 1fr 1fr}}
.foot-logo{height:3rem;width:auto;filter:brightness(0) invert(1)}
.foot-tag{font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;opacity:.6}
.foot-h{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}
.site-footer p{opacity:.8}
.foot-nav{display:flex;flex-direction:column;gap:.55rem;opacity:.8}
.foot-nav a:hover,.socials a:hover,.site-footer p a:hover{color:var(--accent)}
.socials{display:flex;flex-wrap:wrap;gap:1rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-top:1rem}
.foot-copy{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid rgb(255 255 255/.1);font-size:.72rem;opacity:.5}

/* WhatsApp flutuante (à esquerda, para não cobrir o chat) */
.wa-float{position:fixed;left:1.2rem;bottom:1.2rem;z-index:60;width:3.5rem;height:3.5rem;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px -8px rgb(0 0 0/.45);transition:transform .3s}
.wa-float:hover{transform:scale(1.07)}
.wa-float svg{width:1.8rem;height:1.8rem}

/* Animação */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s ease}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.logos-track{animation:none}}

/* Título animado da capa (frases que digitam sozinhas) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hero-title .tw-cursor{display:inline-block;width:.07em;height:.9em;margin-left:.08em;background:currentColor;vertical-align:-.08em;animation:twblink 1s steps(2,start) infinite}
@keyframes twblink{50%{opacity:0}}

/* Slide de fotos nos cards de acomodação e de sala de eventos */
.room-slider{position:relative;display:block;width:100%;height:100%;overflow:hidden}
.room-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}
.room-slider img.is-on{opacity:1}
.rs-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:2.2rem;height:2.2rem;border-radius:50%;background:rgb(28 28 28/.45);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .3s,background .3s}
.rs-btn.prev{left:.6rem}
.rs-btn.next{right:.6rem}
.room-slider:hover .rs-btn,.rs-btn:focus-visible{opacity:1}
.rs-btn:hover{background:var(--accent);color:var(--accent-foreground)}
.rs-dots{position:absolute;left:0;right:0;bottom:.7rem;z-index:3;display:flex;justify-content:center;gap:.4rem}
.rs-dots span{width:.42rem;height:.42rem;border-radius:50%;background:rgb(255 255 255/.5);transition:background .3s,transform .3s}
.rs-dots span.is-on{background:var(--accent);transform:scale(1.25)}

/* Vídeos de eventos incorporados (YouTube Shorts / Reels do Instagram) */
.story-btn iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
