/* Hotel detail page (extends style.css) */
/* Main site header (solid black here) sits on top; the hotel nav sticks right below it */
.hotel-page{--hh:64px;padding-top:var(--hh)}
@media(min-width:1200px){.hotel-page{--hh:clamp(76px,5.4vw,104px)}}
.hotel-page .site-header{background:#000;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.top-nav{position:sticky;top:var(--hh);z-index:1020;min-height:34px;background:#1c5a18;display:flex;justify-content:center;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.12)}
.top-nav a{color:#fff;text-decoration:none;font-size:.8rem;padding:0 .95rem;display:flex;align-items:center;white-space:nowrap}
.top-nav a:hover{color:var(--gold)}
.top-nav .brand{border-right:1px solid rgba(255,255,255,.35);margin-right:.2rem}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.7rem;padding:0 1rem;line-height:1}
.top-nav .collapse.nav-links{display:flex}
@media(max-width:767.98px){
  .top-nav{min-height:48px;justify-content:space-between}
  .top-nav .brand{border:0;font-size:.95rem;padding-left:1rem;margin:0}
  .nav-toggle{display:block}
  .top-nav .collapse.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#0f1f16;flex-direction:column;border-top:1px solid rgba(255,255,255,.15);box-shadow:0 8px 16px rgba(0,0,0,.35)}
  .top-nav .collapse.nav-links.show{display:flex}
  .top-nav .nav-links a{font-size:.95rem;padding:.9rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.08)}
}

/* Hero slider */
.hotel-hero{position:relative;height:min(78vh,760px);min-height:460px;background:#0c1a12;overflow:hidden}
.hero-slides{position:absolute;inset:0}
.hero-slides .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#26412f;opacity:0;transition:opacity .9s ease}
.hero-slides .slide.on{opacity:1}
.hero-slides::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.25))}
.hotel-hero .booking-bar{bottom:70px;z-index:3}
.hero-dots{position:absolute;left:0;right:0;bottom:22px;display:flex;justify-content:center;gap:.7rem;z-index:3;padding:0 1rem;flex-wrap:wrap}
.hero-dots button{width:12px;height:12px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.55)}
.hero-dots button.on{background:#fff}

.hero-arrow{position:absolute;top:42%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(0,0,0,.35);color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center}
.hero-arrow:hover{background:var(--gold);border-color:var(--gold)}
.hero-prev{left:clamp(.6rem,2vw,2rem)}.hero-next{right:clamp(.6rem,2vw,2rem)}
@media(max-width:575.98px){.hero-arrow{width:38px;height:38px;top:35%}}
@media(prefers-reduced-motion:reduce){.hero-slides .slide{transition:none}}

/* Text blocks */
.lead-p{text-align:center;max-width:1100px;margin:0 auto 2.4rem;line-height:2}
.accommodations .hotel-card img{aspect-ratio:16/10}
.accommodations .hotel-card h3{font-size:1.5rem;margin:.3rem 0 1.2rem;min-height:2.9em;display:flex;align-items:center;justify-content:center}
.accommodations .hotel-card .body{min-height:330px}

/* Generic slider */
.s-slider{position:relative}
.s-track{display:flex;gap:1.5rem;overflow-x:auto;scrollbar-width:none;padding:.3rem .3rem .8rem}
.s-track::-webkit-scrollbar{display:none}
.s-slide{flex:0 0 88%;display:flex}
.s-slide>*{width:100%}
@media(min-width:576px){.n4 .s-slide{flex-basis:calc((100% - 1.5rem)/2)}}
@media(min-width:768px){.n2 .s-slide{flex-basis:calc((100% - 1.5rem)/3)}}
@media(min-width:992px){.n4 .s-slide{flex-basis:calc((100% - 4.5rem)/4)}}
.s-prev,.s-next{position:absolute;top:36%;z-index:3}
.s-prev{left:-6px}.s-next{right:-6px}
@media(min-width:1200px){.s-prev{left:-19px}.s-next{right:-19px}}
@media(max-width:575.98px){.s-prev,.s-next{display:none}}
.highlights,.accommodations{padding-bottom:3rem}
.dest-dots{margin-top:.6rem}

/* Amenities */
.highlights{padding-top:3.5rem}
.amen{border:1px solid #e2d8bf;background:#f6efe0;text-align:center;height:100%}
.amen-ico{height:150px;background:#e8dec5;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:3.2rem}
.amen h3{font-family:var(--serif);color:var(--gold);font-weight:400;font-size:1.3rem;padding:1.4rem 1rem}

/* Location */
.location-sec{padding:1rem 0 4rem}
.act-img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#cbb98f;display:block}
.dist-card{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12);padding:1.6rem 1.8rem;height:100%}
.dist-card ul{list-style:none;margin:0;padding:0}
.dist-card li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid #eee2c6;font-size:15px}
.dist-card li:last-child{border:0}
.dist-card b{color:var(--gold);font-weight:600;white-space:nowrap}

/* Back to top */
.fab-top{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;border:1px solid var(--gold);background:rgba(255,252,244,.9);color:var(--gold);font-size:1.2rem;z-index:1020}
@media(max-width:767.98px){.hotel-hero .booking-bar{bottom:56px}}
