/* ===== Hotel details page (hotel.html) ===== */
.hotel-hero{padding-bottom:70px;}
.hotel-hero .hh-back{display:inline-block; color:var(--gold-bright); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:6px;}
.hotel-hero .hh-back:hover{color:var(--white);}
.hotel-hero h1{margin:14px 0 14px;}
.hh-meta{display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; color:rgba(255,253,248,.85); font-size:14.5px;}
.hh-stars svg, .hb-stars svg{width:15px; height:15px; fill:var(--gold-bright); margin-right:2px;}
.hh-badge{background:var(--gold); color:var(--ink); font-size:10.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:5px 11px;}

.hotel-section{padding:0 0 100px; background:var(--paper);}
.hotel-section .empty-state{padding:70px 0;}

/* gallery */
.hg{margin-top:-46px; position:relative; z-index:3;}
.hg-main{display:block; width:100%; padding:0; border:0; cursor:zoom-in; position:relative; border-radius:6px; overflow:hidden; background:#dfe7e4;
  aspect-ratio:16/8; max-height:560px; box-shadow:0 30px 60px -36px rgba(10,54,56,.55);}
.hg-main img{width:100%; height:100%; object-fit:cover; display:block;}
.hg-count{position:absolute; right:14px; bottom:14px; background:rgba(10,54,56,.82); color:#fff; font-size:12px; font-weight:700; padding:6px 11px; border-radius:20px;}
.hg-count:empty{display:none;}
.hg-thumbs{display:flex; gap:10px; overflow-x:auto; padding:12px 0 4px; scrollbar-width:thin;}
.hg-thumbs button{flex:0 0 112px; height:76px; padding:0; border:2px solid transparent; border-radius:5px; overflow:hidden; cursor:pointer; opacity:.7; background:#ddd; transition:all .2s;}
.hg-thumbs button img{width:100%; height:100%; object-fit:cover; display:block;}
.hg-thumbs button:hover{opacity:1;}
.hg-thumbs button.on{border-color:var(--gold); opacity:1;}

/* text + booking card */
.hotel-grid{display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:56px; margin-top:44px; align-items:start;}
.hotel-desc p{font-size:16px; line-height:1.8; color:#3C5A54; margin:14px 0 0;}
.hotel-desc p.muted{color:#7A8F8C; font-style:italic;}
.hotel-map{margin-top:42px;}
.hotel-map h3{font-size:22px; margin-bottom:6px;}
.hotel-addr{color:#5C7672; font-size:14px; margin-bottom:14px;}
.hotel-map iframe{width:100%; height:320px; border:0; border-radius:6px; background:#e6ece9;}
.hotel-book{position:sticky; top:110px;}
.hb-card{background:var(--white); border:1px solid var(--line); border-radius:8px; padding:28px 26px; box-shadow:0 30px 60px -40px rgba(10,54,56,.4);}
.hb-card h3{font-size:22px; margin:10px 0 4px;}
.hb-loc{color:var(--gold); font-size:13.5px; margin-bottom:16px;}
.hb-list{list-style:none; padding:0; margin:0 0 22px; border-top:1px solid var(--line);}
.hb-list li{display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); font-size:13.5px;}
.hb-list li span{color:#7A8F8C;} .hb-list li b{color:var(--ink); text-align:right;}
.hb-list:empty{display:none;}
.hb-btn{display:block; width:100%; text-align:center;}
.hb-note{font-size:12px; color:#7A8F8C; text-align:center; margin-top:12px;}

/* more partners */
.hotel-more{margin-top:90px;}
.hotel-more-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.hm-card{display:block; background:var(--white); border:1px solid var(--line); border-radius:6px; overflow:hidden; color:var(--ink); transition:transform .3s, box-shadow .3s;}
.hm-card:hover{transform:translateY(-4px); box-shadow:0 24px 44px -26px rgba(10,54,56,.45);}
.hm-img{height:190px; overflow:hidden; background:#dfe7e4;} .hm-img img{width:100%; height:100%; object-fit:cover;}
.hm-info{padding:16px 18px 18px;} .hm-info h3{font-size:18px; margin-bottom:4px;} .hm-info span{font-size:13px; color:var(--gold);}

/* lightbox */
.hg-lightbox{position:fixed; inset:0; z-index:300; background:rgba(5,22,23,.94); display:none; align-items:center; justify-content:center;}
.hg-lightbox.open{display:flex;}
.hg-lightbox img{max-width:92vw; max-height:86vh; object-fit:contain; border-radius:4px;}
.lb-x{position:absolute; top:18px; right:22px; background:none; border:0; color:#fff; font-size:40px; line-height:1; cursor:pointer;}
.lb-nav{position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:rgba(0,0,0,.25); color:#fff; font-size:34px; line-height:1; cursor:pointer;}
.lb-prev{left:20px;} .lb-next{right:20px;}
.lb-count{position:absolute; bottom:20px; left:50%; transform:translateX(-50%); color:#fff; font-size:13px; letter-spacing:.08em;}

@media (max-width:980px){
  .hotel-grid{grid-template-columns:1fr; gap:36px;}
  .hotel-book{position:static;}
  .hotel-more-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .hg{margin-top:-30px;}
  .hg-main{aspect-ratio:4/3;}
  .hg-thumbs button{flex-basis:84px; height:60px;}
  .hotel-more-grid{grid-template-columns:1fr;}
  .lb-nav{width:42px; height:42px; font-size:28px;} .lb-prev{left:8px;} .lb-next{right:8px;}
}

/* ===== Homepage hotel cards: clickable + Book button ===== */
.hosp-card .hc-link{display:block; color:inherit;}
.hosp-card .hc-link:hover h3{color:var(--gold-bright);}
.hosp-card .hc-actions{display:flex; gap:10px; margin-top:16px;}
.hosp-card .hc-actions a{flex:1; text-align:center; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:11px 10px; border-radius:3px; transition:all .25s;}
.hosp-card .hc-details{border:1px solid var(--line-light); color:var(--white);}
.hosp-card .hc-details:hover{border-color:var(--gold-bright); color:var(--gold-bright);}
.hosp-card .hc-book{background:var(--gold); color:var(--ink); border:1px solid var(--gold);}
.hosp-card .hc-book:hover{background:var(--gold-bright); border-color:var(--gold-bright);}

/* ===== Destination cards are links ===== */
.dest-card .dest-link{position:absolute; inset:0; z-index:3;}
.dest-card .stamp, .dest-card .body{pointer-events:none;}
.dest-card .body{z-index:4;}
.dest-card .country a{pointer-events:auto; position:relative;}
.hb-list li b a{color:var(--teal); text-decoration:underline;}

/* ===== Destination page (destination.html) ===== */
.dest-hero{position:relative; overflow:hidden; min-height:420px; display:flex; align-items:flex-end; padding-bottom:70px;}
.dest-hero-bg{position:absolute; inset:0; background-size:cover; background-position:center; z-index:0;}
.dest-hero::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(10,54,56,.55) 0%, rgba(10,54,56,.35) 40%, rgba(10,54,56,.9) 100%);}
.dest-hero .wrap{position:relative; z-index:2; width:100%;}
.dest-hero .eyebrow{display:flex; margin-top:14px;}
.dest-section{padding-top:70px;}
.dest-head{margin-bottom:34px;}
.dh-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.dh-card{background:var(--white); border:1px solid var(--line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; transition:transform .3s, box-shadow .3s;}
.dh-card:hover{transform:translateY(-4px); box-shadow:0 26px 50px -28px rgba(10,54,56,.45);}
.dh-img{position:relative; display:block; height:230px; overflow:hidden; background:#dfe7e4;}
.dh-img img{width:100%; height:100%; object-fit:cover; transition:transform .7s;}
.dh-card:hover .dh-img img{transform:scale(1.05);}
.dh-badge{position:absolute; top:14px; left:14px; background:var(--gold); color:var(--ink); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:5px 10px;}
.dh-photos{position:absolute; right:12px; bottom:12px; background:rgba(10,54,56,.82); color:#fff; font-size:11px; font-weight:700; padding:4px 9px; border-radius:12px;}
.dh-info{padding:20px 22px 22px; display:flex; flex-direction:column; flex:1;}
.dh-stars svg{width:13px; height:13px; fill:var(--gold); margin-right:2px;}
.dh-info h3{font-size:20px; margin:8px 0 4px;} .dh-info h3 a{color:var(--ink);} .dh-info h3 a:hover{color:var(--teal);}
.dh-loc{font-size:13px; color:var(--gold);}
.dh-desc{font-size:13.5px; line-height:1.65; color:#5C7672; margin:12px 0 0;}
.dh-offer{margin-top:12px; font-size:12.5px; color:var(--ink); font-weight:700;}
.dh-actions{display:flex; gap:10px; margin-top:auto; padding-top:18px;}
.dh-actions a{flex:1; text-align:center; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:11px 10px; border-radius:3px; transition:all .25s;}
.dh-details{border:1px solid var(--line); color:var(--ink);} .dh-details:hover{border-color:var(--ink);}
.dh-book{background:var(--gold); color:var(--ink); border:1px solid var(--gold);} .dh-book:hover{background:var(--ink); border-color:var(--ink); color:var(--white);}
.dest-empty{text-align:center; padding:50px 20px; border:1px dashed var(--line); border-radius:8px; background:var(--white);}
.dest-empty p{margin:10px auto 22px; max-width:460px; color:#5C7672;}
.dest-others{margin-top:70px;}
.dest-chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px;}
.dest-chips a{padding:9px 16px; border:1px solid var(--line); border-radius:22px; font-size:13px; color:var(--ink); background:var(--white);}
.dest-chips a:hover{border-color:var(--gold); color:var(--gold);}
@media (max-width:980px){ .dh-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .dh-grid{grid-template-columns:1fr;} .dest-hero{min-height:340px;} }
