
*{margin:0;padding:0;box-sizing:border-box;}
html,body{overflow-x:hidden;}
:root{--teal:#1de9b6;--gold:#ffd54f;--navy:#0c2340;--border:rgba(29,233,182,0.15);}
body{background:var(--navy);color:#e2f8f5;font-family:'Raleway',sans-serif;}

/* NAV */
.hi-nav{position:fixed;top:0;left:0;right:0;z-index:200;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;background:transparent;border-bottom:1px solid transparent;transition:background .4s,border-color .4s,backdrop-filter .4s;}
.hi-nav.scrolled{background:rgba(7,18,38,0.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);}
.hi-nav-logo{font-family:'Cinzel',serif;font-size:.95rem;letter-spacing:3px;color:var(--teal);text-decoration:none;}
.hi-nav-links{display:flex;align-items:center;gap:1.8rem;}
.hi-nav-links a{font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:rgba(29,233,182,0.6);text-decoration:none;transition:color .2s;}
.hi-nav-links a:hover{color:#fff;}
.hi-lang-btn{background:transparent;border:1px solid rgba(29,233,182,0.28);color:var(--teal);font-family:'Raleway',sans-serif;font-size:.62rem;letter-spacing:1.5px;padding:4px 10px;cursor:pointer;border-radius:7px;transition:background .2s;}
.hi-lang-btn:hover{background:rgba(29,233,182,0.1);}
@media(max-width:700px){.hi-nav{padding:0 1.2rem;}.hi-nav-links a:not(.hi-lang-btn):not(:nth-last-child(2)){display:none;}}

/* HERO */
.hi-hero{position:relative;width:100%;min-height:auto;background:#060f1e;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:100px;padding-bottom:3.5rem;gap:0;}
#hpParticles{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;}
.hi-hero-body{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 2rem 2rem;width:100%;}
.hi-hero-eyebrow{font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:5px;text-transform:uppercase;color:var(--teal);margin-bottom:1.1rem;opacity:0;animation:hiFadeUp .7s .15s ease forwards;}
.hi-hero h1{font-family:'Mrs Saint Delafield',cursive;font-size:clamp(3.5rem,7.5vw,6.5rem);font-weight:400;color:#fff;line-height:1;text-shadow:0 2px 30px rgba(0,0,0,.85);margin-bottom:.5rem;opacity:0;animation:hiFadeUp .9s .3s ease forwards;}
.hi-hero-city{font-family:'Cinzel',serif;font-size:.78rem;letter-spacing:6px;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;opacity:0;animation:hiFadeUp .7s .5s ease forwards;}
.hi-hero-stars{color:#ffd86b;font-size:1rem;letter-spacing:3px;margin-bottom:1.4rem;opacity:0;animation:hiFadeUp .7s .6s ease forwards;}
.hi-hero-price{font-family:'Cinzel',serif;font-size:1.2rem;color:#fff;border:1px solid rgba(29,233,182,.28);border-radius:40px;padding:.45rem 1.8rem;background:rgba(29,233,182,.08);backdrop-filter:blur(8px);opacity:0;animation:hiFadeUp .7s .75s ease forwards;}
.hi-hero-price small{font-family:'Raleway',sans-serif;font-size:.58rem;color:rgba(210,245,240,.4);margin-left:4px;}
.hi-gold-rule{position:absolute;bottom:0;left:0;right:0;z-index:4;height:2px;background:linear-gradient(to right,transparent 0%,var(--gold) 30%,rgba(255,213,79,.6) 50%,var(--gold) 70%,transparent 100%);opacity:.4;}

/* BREADCRUMB */
.hi-breadcrumb{padding:1rem 5%;font-size:.58rem;letter-spacing:1.5px;color:rgba(29,233,182,.38);display:flex;align-items:center;gap:.5rem;border-bottom:1px solid rgba(29,233,182,.06);flex-wrap:wrap;}
.hi-breadcrumb a{color:rgba(29,233,182,.38);text-decoration:none;}
.hi-breadcrumb a:hover{color:var(--teal);}
.hi-breadcrumb span{color:rgba(29,233,182,.18);}

/* META BAR */
.hi-meta-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.5rem;padding:1.2rem 5%;border-bottom:1px solid rgba(29,233,182,.07);}
.hi-rating-badge{display:flex;align-items:center;gap:.6rem;}
.hi-rating-num{font-family:'Cinzel',serif;font-size:1.5rem;color:var(--teal);}
.hi-rating-lbl{font-size:.65rem;color:rgba(210,245,240,.45);}
.hi-address{font-size:.7rem;color:rgba(210,245,240,.45);display:flex;align-items:center;gap:.4rem;}
.hi-address a{color:rgba(29,233,182,.5);text-decoration:none;margin-left:.5rem;}
.hi-phone{font-size:.7rem;color:rgba(210,245,240,.45);}

/* HIGHLIGHTS */
.hi-highlights{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;}
.hi-highlight{font-size:.65rem;letter-spacing:.8px;color:rgba(255,213,79,.8);background:rgba(255,213,79,.07);border:1px solid rgba(255,213,79,.18);border-radius:8px;padding:5px 12px;}

/* LAYOUT */
.hi-layout{width:100%;padding:2.5rem 5% 4rem;}


/* GALLERY */
.hi-gallery{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:220px 160px;gap:.4rem;border-radius:14px;overflow:hidden;margin-bottom:.4rem;}
.hi-gal-main{grid-row:1/3;position:relative;overflow:hidden;background:linear-gradient(135deg,#0e1e30,#0a1520);display:flex;align-items:center;justify-content:center;font-size:2rem;color:rgba(29,233,182,.1);}
.hi-gal-thumb{position:relative;overflow:hidden;background:linear-gradient(135deg,#0e1e30,#0a1520);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:rgba(29,233,182,.1);}
.hi-gallery-extra{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;margin-top:.4rem;margin-bottom:2.5rem;}
.hi-gal-extra{position:relative;overflow:hidden;border-radius:10px;height:110px;background:linear-gradient(135deg,#0e1e30,#0a1520);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:rgba(29,233,182,.1);cursor:zoom-in;}
@media(max-width:700px){.hi-gallery-extra{grid-template-columns:repeat(2,1fr);}}

/* SECTION TITLE */
.hi-stitle{font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:4px;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:.7rem;margin-bottom:1.1rem;padding-bottom:.55rem;border-bottom:1px solid rgba(29,233,182,.1);}
.hi-stitle::before{content:'';width:20px;height:1px;background:var(--gold);opacity:.5;flex-shrink:0;}

/* DESCRIPTION */
.hi-desc{font-size:.88rem;line-height:2;color:rgba(210,245,240,.78);font-weight:300;margin-bottom:2.5rem;}

/* FACILITIES */
.hi-fac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-bottom:2.5rem;}
@media(max-width:600px){.hi-fac-grid{grid-template-columns:repeat(2,1fr);}}
.hi-fac{display:flex;align-items:center;gap:.5rem;font-size:.65rem;color:rgba(210,245,240,.65);padding:.45rem .6rem;background:rgba(29,233,182,.04);border:1px solid rgba(29,233,182,.1);border-radius:8px;}

/* ROOMS TABLE */
.hi-rooms-table{margin-bottom:2.5rem;border:1px solid rgba(29,233,182,.1);border-radius:14px;overflow:hidden;}
.hi-rooms-head{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:.7rem 1rem;background:rgba(29,233,182,.07);font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:rgba(29,233,182,.6);}
.hi-room-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:.85rem 1rem;border-top:1px solid rgba(29,233,182,.07);align-items:center;transition:background .2s;}
.hi-room-row:hover{background:rgba(29,233,182,.04);}
.hi-room-name{font-size:.75rem;color:rgba(210,245,240,.85);margin-bottom:.15rem;}
.hi-room-floor{font-size:.6rem;color:rgba(210,245,240,.38);}
.hi-room-guests{font-size:.7rem;color:rgba(210,245,240,.5);white-space:nowrap;}
.hi-room-price{font-family:'Cinzel',serif;font-size:.8rem;color:var(--teal);white-space:nowrap;}

/* RESTAURANTS */
.hi-restaurant{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid rgba(29,233,182,.07);}
.hi-restaurant:last-child{border-bottom:none;}
.hi-rest-icon{font-size:1.2rem;}
.hi-restaurant small{color:rgba(210,245,240,.42);font-size:.63rem;}
.hi-restaurant b{color:rgba(210,245,240,.85);}

/* NEARBY */
.hi-nearby-grid{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2.5rem;}
.hi-nearby-item{font-size:.73rem;color:rgba(210,245,240,.65);padding:.45rem 0;border-bottom:1px solid rgba(29,233,182,.06);}

/* POLICIES */
.hi-policies{display:flex;flex-direction:column;gap:.4rem;margin-bottom:2rem;}
.hi-policy{display:flex;gap:1rem;font-size:.7rem;padding:.5rem 0;border-bottom:1px solid rgba(29,233,182,.06);}
.hi-pol-key{color:rgba(29,233,182,.55);min-width:120px;font-weight:500;}
.hi-pol-val{color:rgba(210,245,240,.65);}

/* BOOKING SIDEBAR */
.hi-sidebar{display:none;}

@property --hb-angle{syntax:'<angle>';initial-value:0deg;inherits:false;}
@keyframes hbSpin{to{--hb-angle:360deg;}}
.hi-sidebar-wrap{
  position:relative;
  border-radius:20px;
  isolation:isolate;
}
.hi-sidebar-wrap::before{
  content:'';position:absolute;inset:-1.5px;border-radius:21.5px;
  background:conic-gradient(from var(--hb-angle),rgba(29,233,182,.04) 0%,rgba(29,233,182,.04) 30%,rgba(29,233,182,.6) 47%,rgba(255,255,255,.95) 50%,rgba(29,233,182,.6) 53%,rgba(29,233,182,.04) 70%,rgba(29,233,182,.04) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  z-index:1;animation:hbSpin 7s linear infinite;
  pointer-events:none;
}
.hi-sidebar-wrap::after{
  content:'';position:absolute;inset:-4px;border-radius:24px;
  background:conic-gradient(from var(--hb-angle),transparent 0%,transparent 42%,rgba(29,233,182,.14) 50%,transparent 58%,transparent 100%);
  filter:blur(8px);z-index:0;animation:hbSpin 7s linear infinite;
  pointer-events:none;overflow:hidden;
}

/* Override BM styles for inline embed */
.bm-inline{
  background:rgba(7,20,42,.98) !important;
  border-radius:18px !important;
  padding:1.6rem !important;
  border:none !important;
  box-shadow:none !important;
  position:relative;
  z-index:2;
}
.hdp-book-price{
  font-family:'Cinzel',serif;font-size:1.6rem;color:var(--teal);
  margin-bottom:.2rem;
}
.hdp-book-price small{
  font-family:'Raleway',sans-serif;font-size:.6rem;color:rgba(210,245,240,.3);
}
.hdp-book-availability{
  font-size:.65rem;color:rgba(29,233,182,.55);margin-bottom:1rem;
}

/* BM form CSS from original */
.bm-modal{
  border-radius:20px;
  background:rgba(10,28,52,0.97);
  border:1px solid rgba(29,233,182,0.25);
  box-shadow:0 20px 60px rgba(0,0,0,0.6);
  width:min(460px,92vw);
  max-height:90vh;overflow-y:auto;
  padding:1.8rem;
  transform:translateY(20px) scale(0.97);
  transition:transform .35s;
}
.bm-header{
  display:flex;align-items:flex-start;justify-content:space-between;
  margin-bottom:1.2rem;padding-bottom:1rem;
  border-bottom:1px solid rgba(29,233,182,0.12);
}
.bm-title{font-family:'Cinzel',serif;font-size:1.05rem;color:#fff;letter-spacing:1px;}
.bm-subtitle{font-family:'Raleway',sans-serif;font-size:0.7rem;color:var(--teal);letter-spacing:1.5px;text-transform:uppercase;margin-top:.3rem;}
.bm-close{
  background:transparent;border:1px solid rgba(29,233,182,0.25);
  color:rgba(224,247,244,0.6);width:28px;height:28px;
  border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:all .2s;
}
.bm-close:hover{color:var(--teal);border-color:var(--teal);}

.bm-field{margin-bottom:.35rem;}
.bm-label{
  display:block;font-family:'Raleway',sans-serif;font-size:0.6rem;
  letter-spacing:2px;text-transform:uppercase;color:rgba(29,233,182,0.7);
  margin-bottom:.15rem;font-weight:600;
}
.bm-input{
  border-radius:8px;
  width:100%;background:rgba(5,18,35,0.6);
  border:1px solid rgba(29,233,182,0.18);
  color:#fff;font-family:'Raleway',sans-serif;font-size:0.76rem;
  padding:5px 10px;outline:none;transition:border-color .2s;
  box-sizing:border-box;
}
.bm-input:focus{border-color:var(--teal);}
.bm-input::placeholder{color:rgba(255,255,255,0.3);}
select.bm-input{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231de9b6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:14px;padding-right:32px;
}
select.bm-input option{background:#0a1f3d;color:#fff;}
.bm-row{display:flex;gap:.6rem;}
.bm-row .bm-field{flex:1;}

/* Date fields reuse hpdp style but compact */
.bm-date-field{
  border-radius:8px;
  background:rgba(5,18,35,0.6);
  border:1px solid rgba(29,233,182,0.18);
  padding:6px 10px;cursor:pointer;position:relative;
}
.bm-date-field:hover{border-color:rgba(29,233,182,0.4);}
.bm-date-val{font-family:'Cinzel',serif;font-size:0.76rem;color:#fff;font-weight:600;}
.bm-date-val.placeholder{color:rgba(255,255,255,0.35);font-family:'Raleway',sans-serif;font-weight:400;}
.bm-date-field .dp-calendar{left:0;right:auto;bottom:calc(100% + 8px);top:auto;}

/* Guests counter (reuse dp-guest styles, compact) */
.bm-guests{border-radius:8px;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(5,18,35,0.6);border:1px solid rgba(29,233,182,0.18);
  padding:6px 10px;
}
.bm-guests-label{font-family:'Raleway',sans-serif;font-size:0.78rem;color:#fff;}
.bm-guests-sub{font-family:'Raleway',sans-serif;font-size:0.6rem;color:rgba(29,233,182,0.55);letter-spacing:1px;}
.bm-cnt{display:flex;align-items:center;gap:12px;}
.bm-cnt-btn{border-radius:50%;
  background:rgba(29,233,182,0.08);border:1px solid rgba(29,233,182,0.28);
  color:var(--teal);width:22px;height:22px;font-size:0.9rem;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s;font-family:'Raleway',sans-serif;
}
.bm-cnt-btn:hover{background:rgba(29,233,182,0.2);}
.bm-cnt-val{font-family:'Cinzel',serif;font-size:0.95rem;color:#fff;min-width:18px;text-align:center;}

/* Summary box */
.bm-summary{border-radius:8px;
  background:rgba(29,233,182,0.06);border:1px solid rgba(29,233,182,0.18);
  padding:.4rem .6rem;margin-top:.8rem;margin-bottom:.4rem;
  font-family:'Raleway',sans-serif;font-size:0.7rem;
  color:rgba(210,245,240,0.85);line-height:1.8;
}
.bm-summary b{color:var(--teal);}
.bm-summary .bm-total{
  font-family:'Cinzel',serif;font-size:1.05rem;color:var(--teal);
  margin-top:.4rem;padding-top:.4rem;border-top:1px solid rgba(29,233,182,0.12);
}

.bm-submit{border-radius:8px;
  width:100%;background:var(--teal);border:none;color:#000;
  font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:1.5px;
  text-transform:uppercase;padding:9px 0;cursor:pointer;
  font-weight:700;transition:all .25s;display:flex;align-items:center;justify-content:center;gap:8px;
}
.bm-submit:hover{background:#1de9b6;box-shadow:0 0 20px rgba(29,233,182,0.4);}
.bm-note{
  text-align:center;font-family:'Raleway',sans-serif;font-size:0.62rem;
  color:rgba(224,247,244,0.35);margin-top:.8rem;letter-spacing:.5px;
}
.bm-field.bm-error .bm-input,
.bm-field.bm-error .bm-date-field{border-color:#ff6b6b !important;}
.hf-field.bm-error .bm-input,
.hf-field.bm-error .bm-date-field{border-color:#ff6b6b !important;box-shadow:0 0 0 2px rgba(255,107,107,.25);}




/* ══════════════════════════════════════════════════════
   HOTEL DETAIL PAGE (full page, like Tours/Visa)
══════════════════════════════════════════════════════ */
#hotelDetailPage{
  position:fixed;inset:0;z-index:1200;
  background:#0c2340;display:none;
  flex-direction:column;overflow-y:auto;
  opacity:0;transition:opacity 0.4s;
}
#hotelDetailPage.open{opacity:1;}

.hdp-header{display:none;}
.hdp-back{
  position:absolute;top:1.4rem;left:1.8rem;z-index:1220;
  border-radius:8px;
  background:rgba(8,22,40,0.75);backdrop-filter:blur(8px);
  border:1px solid rgba(29,233,182,0.4);
  color:var(--teal);font-family:'Raleway',sans-serif;
  font-size:0.66rem;letter-spacing:2px;text-transform:uppercase;
  padding:7px 16px;cursor:pointer;transition:all .25s;
  display:flex;align-items:center;gap:7px;
}
.hdp-back:hover{background:rgba(29,233,182,0.15);border-color:var(--teal);}
.hdp-header-title{display:none;}

/* Hero gallery */
.hdp-hero{
  position:relative;height:100vh;min-height:100vh;
  overflow:hidden;background:#081c34;
}
.hdp-hero-slide{
  position:absolute;inset:0;opacity:0;transition:opacity .7s ease;
}
.hdp-hero-slide.active{opacity:1;}
.hdp-hero-slide img{width:100%;height:100%;object-fit:cover;}
.hdp-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom, rgba(8,28,52,0.05) 0%, rgba(8,28,52,0.2) 50%, rgba(8,28,52,0.88) 100%);
}
.hdp-hero-content{
  position:absolute;bottom:0;left:0;right:0;
  padding:3rem 4%;
}
.hdp-hero-stars{color:#FFD600;font-size:1.2rem;letter-spacing:4px;margin-bottom:.6rem;text-shadow:0 2px 8px rgba(0,0,0,0.6);}
.hdp-hero-title{
  font-family:'Cinzel',serif;font-size:clamp(2.2rem,5vw,3.5rem);
  color:#fff;letter-spacing:3px;margin-bottom:.5rem;
  text-shadow:0 2px 16px rgba(0,0,0,0.8);
}
.hdp-hero-location{
  font-family:'Raleway',sans-serif;font-size:0.9rem;
  color:rgba(224,247,244,0.9);display:flex;align-items:center;gap:8px;
  text-shadow:0 2px 8px rgba(0,0,0,0.6);
}
.hdp-hero-location svg{width:15px;height:15px;stroke:var(--teal);flex-shrink:0;}

/* Scroll-down hint */
.hdp-scroll-hint{
  position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:4px;z-index:5;
  opacity:0.6;animation:hdpScrollBob 2s ease-in-out infinite;
}
.hdp-scroll-hint span{font-size:0.55rem;letter-spacing:2px;text-transform:uppercase;color:rgba(29,233,182,0.7);}
.hdp-scroll-hint svg{width:18px;height:18px;stroke:var(--teal);}
@keyframes hdpScrollBob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(6px);}}

/* Hero gallery dots/arrows */
.hdp-hero-dots{
  position:absolute;bottom:5rem;right:4%;display:flex;gap:6px;z-index:5;
}
.hdp-hero-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,0.35);cursor:pointer;transition:all .2s;
}
.hdp-hero-dot.active{background:var(--teal);width:22px;border-radius:4px;}
.hdp-hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:48px;height:48px;border-radius:50%;
  background:rgba(5,18,35,0.45);border:1px solid rgba(29,233,182,0.35);
  color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;backdrop-filter:blur(6px);
  font-size:1.5rem;
}
.hdp-hero-arrow:hover{background:rgba(29,233,182,0.22);border-color:var(--teal);}
.hdp-hero-arrow.left{left:1.8rem;}
.hdp-hero-arrow.right{right:1.8rem;}

/* Body */
.hdp-body{max-width:1400px;padding:2.5rem 4% 5rem;}
.hdp-rating-row{
  display:flex;align-items:center;gap:12px;margin-bottom:1.6rem;
  font-family:'Raleway',sans-serif;font-size:0.8rem;color:rgba(224,247,244,0.6);
}
.hdp-rating-badge{border-radius:8px;
  background:rgba(29,233,182,0.12);border:1px solid rgba(29,233,182,0.3);
  color:var(--teal);padding:3px 11px;font-weight:700;font-family:'Cinzel',serif;font-size:0.9rem;
}

.hdp-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;}
@media(max-width:768px){.hdp-grid{grid-template-columns:1fr;}}

.hdp-section{margin-bottom:2.2rem;}
.hdp-section-title{
  font-family:'Cinzel',serif;font-size:1rem;color:#fff;
  letter-spacing:2px;margin-bottom:1.1rem;padding-bottom:.7rem;
  border-bottom:1px solid rgba(29,233,182,0.15);
  display:flex;align-items:center;gap:10px;
}
.hdp-section-title span{color:var(--teal);}

.hdp-desc{
  font-family:'Raleway',sans-serif;font-size:1.02rem;color:rgba(210,245,240,0.85);
  line-height:2.25;letter-spacing:0.3px;text-align:left !important;width:100%;
}
.hdp-desc-map{border-radius:8px;
  display:inline-flex;align-items:center;gap:8px;
  margin-top:1.1rem;padding:9px 16px;
  font-family:'Raleway',sans-serif;font-size:0.78rem;font-weight:600;
  letter-spacing:0.4px;color:var(--teal);text-decoration:none;cursor:pointer;
  border:1px solid rgba(29,233,182,0.3);background:rgba(29,233,182,0.07);
  transition:all .25s;
}
.hdp-desc-map:hover{background:rgba(29,233,182,0.16);border-color:var(--teal);box-shadow:0 0 16px rgba(29,233,182,0.25);}
.hdp-desc-map svg{width:14px;height:14px;stroke:var(--teal);flex-shrink:0;}

.hdp-checkinout{display:flex;gap:2rem;}
.hdp-cio-item{font-family:'Raleway',sans-serif;font-size:0.78rem;color:rgba(224,247,244,0.6);}
.hdp-cio-item b{color:var(--teal);display:block;font-family:'Cinzel',serif;font-size:1.1rem;margin-top:4px;}

.hdp-facilities{display:flex;flex-wrap:wrap;gap:.6rem;}
.hdp-facility{
  display:flex;align-items:center;gap:8px;
  border-radius:8px;
  background:rgba(29,233,182,0.06);border:1px solid rgba(29,233,182,0.15);
  color:rgba(210,245,240,0.78);font-family:'Raleway',sans-serif;
  font-size:0.72rem;padding:7px 14px;letter-spacing:.5px;
  transition:border-color .2s, background .2s;
}
.hdp-facility:hover{border-color:rgba(29,233,182,0.35);background:rgba(29,233,182,0.1);}
.hdp-facility-icon{
  display:flex;align-items:center;justify-content:center;
  width:18px;height:18px;flex-shrink:0;color:var(--teal);
}
.hdp-facility-icon svg{width:18px;height:18px;}

.hdp-rooms{display:flex;flex-direction:column;gap:.6rem;}
.hdp-restaurants{display:flex;flex-direction:column;gap:.8rem;}
.hdp-restaurant{
  background:rgba(29,233,182,0.04);
  border:1px solid rgba(29,233,182,0.15);
  border-radius:10px;
  padding:.85rem 1rem;
}
.hdp-restaurant-name{
  font-family:'Cinzel',serif;font-size:.8rem;
  color:var(--teal);letter-spacing:1px;margin-bottom:.3rem;
}
.hdp-restaurant-desc{
  font-size:.72rem;color:rgba(210,245,240,0.7);line-height:1.6;
}
.hdp-restaurant-cap{
  font-size:.65rem;color:rgba(29,233,182,0.55);
  margin-top:.3rem;letter-spacing:.5px;
}
.hdp-nearby{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.hdp-nearby-item{
  background:rgba(29,233,182,0.04);
  border:1px solid rgba(29,233,182,0.12);
  border-radius:8px;padding:.6rem .8rem;
  display:flex;flex-direction:column;gap:.15rem;
}
.hdp-nearby-name{font-size:.72rem;color:rgba(210,245,240,0.9);font-weight:600;}
.hdp-nearby-dist{font-size:.65rem;color:rgba(29,233,182,0.7);}
.hdp-room{border-radius:10px;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.05);
  padding:.85rem 1.1rem;transition:border-color .2s;
}
.hdp-room:hover{border-color:rgba(29,233,182,0.25);}
.hdp-room-info{flex:1;}
.hdp-room-name{font-family:'Raleway',sans-serif;font-size:0.82rem;color:#fff;font-weight:600;}
.hdp-room-meta{font-family:'Raleway',sans-serif;font-size:0.68rem;color:rgba(29,233,182,0.6);margin-top:3px;letter-spacing:.5px;}
.hdp-room-price{
  font-family:'Cinzel',serif;font-size:1rem;color:var(--teal);font-weight:700;
  text-align:right;flex-shrink:0;white-space:nowrap;
}
.hdp-room-price small{font-size:0.62rem;color:rgba(224,247,244,0.4);font-weight:400;display:block;}

/* Sidebar booking box */
.hdp-sidebar{align-self:stretch;margin-top:-76px;margin-left:150px;margin-right:-4%;padding-bottom:38px;position:relative;}
.hdp-sidebar .hdp-book-box{position:sticky;top:90px;}
@media(max-width:768px){
  .hdp-sidebar .hdp-book-box{position:relative !important;top:auto !important;left:auto !important;}
}
.hdp-book-box{border-radius:16px;
  background:rgba(5,18,35,0.7);border:1px solid rgba(29,233,182,0.22);
  padding:.85rem;
  font-size:0.88em;
  position:relative;
}
.hdp-book-box::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:17px;
  padding:1px;
  background:conic-gradient(
    from var(--angle,0deg),
    transparent 10%,
    rgba(29,233,182,0.25) 30%,
    rgba(29,233,182,0.85) 50%,
    rgba(29,233,182,0.25) 70%,
    transparent 90%
  );
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  z-index:1;
  pointer-events:none;
  animation:borderSpin 9s linear infinite;
}
.hdp-book-price{font-family:'Cinzel',serif;font-size:1.3rem;color:var(--teal);margin-bottom:.2rem;}
.hdp-book-price small{font-size:0.68rem;color:rgba(224,247,244,0.4);font-weight:400;}
.hdp-book-availability{
  font-family:'Raleway',sans-serif;font-size:0.68rem;letter-spacing:1px;
  margin:.2rem 0 .5rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,0.06);
}
.hdp-book-availability.available{color:#4cff91;}
.hdp-book-availability.limited{color:#ffc14c;}
.hdp-book-availability.sold_out{color:#ff6b6b;}
.hdp-book-btn{border-radius:8px;
  display:block;width:100%;background:var(--teal);border:none;
  color:#000;font-family:'Cinzel',serif;font-size:0.78rem;
  letter-spacing:2.5px;text-transform:uppercase;padding:14px 0;
  cursor:pointer;font-weight:700;transition:all .25s;
}
.hdp-book-btn:hover{background:#1de9b6;box-shadow:0 0 20px rgba(29,233,182,0.4);}
.hdp-book-btn:disabled{opacity:0.4;cursor:not-allowed;}

.hdp-source{
  font-family:'Raleway',sans-serif;font-size:0.65rem;color:rgba(224,247,244,0.3);
  margin-top:2rem;text-align:center;font-style:italic;
}
.dp-calendar{
  position:absolute;
  bottom:calc(100% + 8px);
  top:auto;
  left:0;
  border-radius:14px;overflow:hidden;
  background:rgba(5,18,35,0.97);
  backdrop-filter:blur(20px);
  border:1px solid rgba(29,233,182,0.25);
  box-shadow:0 12px 48px rgba(0,0,0,0.7);
  padding:16px;
  z-index:9999;
  display:none;
  min-width:300px;
  animation:calFadeIn .2s ease;
}
.dp-calendar.open{display:block;}
@keyframes calFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

.cal-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;
}
.cal-nav{border-radius:50%;
  background:none;border:1px solid rgba(29,233,182,0.2);
  color:var(--teal);width:28px;height:28px;cursor:pointer;
  font-size:1rem;display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.cal-nav:hover{background:rgba(29,233,182,0.1);}
.cal-month-year{
  font-family:'Cinzel',serif;font-size:0.82rem;
  color:#fff;letter-spacing:1.5px;
}
.cal-grid{
  display:grid;grid-template-columns:repeat(7,1fr);gap:2px;
}
.cal-day-name{
  font-size:0.58rem;color:rgba(29,233,182,0.55);
  text-align:center;padding:4px 0;
  font-family:'Raleway',sans-serif;letter-spacing:1px;
  text-transform:uppercase;
}
.cal-day{
  font-size:0.72rem;text-align:center;padding:7px 2px;
  cursor:pointer;font-family:'Raleway',sans-serif;
  color:rgba(224,247,244,.7);
  transition:all .15s;border-radius:8px;
  position:relative;
}
.cal-day:hover{background:rgba(29,233,182,.12);color:#fff;}
.cal-day.other-month{color:rgba(224,247,244,.2);cursor:default;}
.cal-day.other-month:hover{background:none;}
.cal-day.today{color:var(--teal);font-weight:600;}
.cal-day.selected{
  background:var(--teal);color:#000;font-weight:700;
  border-radius:8px;
}
.cal-day.in-range{
  background:rgba(29,233,182,.15);color:#fff;
}
.cal-day.range-start{
  background:var(--teal);color:#000;font-weight:700;
  border-radius:8px 0 0 8px;
}
.cal-day.range-end{
  background:var(--teal);color:#000;font-weight:700;
  border-radius:0 8px 8px 0;
}
.cal-day.past{color:rgba(224,247,244,.2);cursor:default;}
.cal-day.past:hover{background:none;}
.cal-footer{
  display:flex;justify-content:flex-end;gap:8px;
  margin-top:12px;padding-top:10px;
  border-top:1px solid rgba(29,233,182,0.1);
}
.cal-clear{border-radius:6px;
  background:none;border:1px solid rgba(255,255,255,.1);
  color:rgba(224,247,244,.5);font-size:0.62rem;letter-spacing:1px;
  padding:5px 12px;cursor:pointer;font-family:'Raleway',sans-serif;
  transition:all .2s;
}
.cal-clear:hover{border-color:rgba(255,255,255,.3);color:#fff;}
.cal-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;
}
.cal-nav{border-radius:50%;
  background:none;border:1px solid rgba(29,233,182,0.2);
  color:var(--teal);width:28px;height:28px;cursor:pointer;
  font-size:1rem;display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.cal-nav:hover{background:rgba(29,233,182,0.1);}
.cal-month-year{
  font-family:'Cinzel',serif;font-size:0.82rem;
  color:#fff;letter-spacing:1.5px;
}
.cal-grid{
  display:grid;grid-template-columns:repeat(7,1fr);gap:2px;
}
.cal-day-name{
  font-size:0.58rem;color:rgba(29,233,182,0.55);
  text-align:center;padding:4px 0;
  font-family:'Raleway',sans-serif;letter-spacing:1px;
  text-transform:uppercase;
}
.cal-day{
  font-size:0.72rem;text-align:center;padding:7px 2px;
  cursor:pointer;font-family:'Raleway',sans-serif;
  color:rgba(224,247,244,.7);
  transition:all .15s;border-radius:8px;
  position:relative;
}
.cal-day:hover{background:rgba(29,233,182,.12);color:#fff;}
.cal-day.other-month{color:rgba(224,247,244,.2);cursor:default;}
.cal-day.other-month:hover{background:none;}
.cal-day.today{color:var(--teal);font-weight:600;}
.cal-day.selected{
  background:var(--teal);color:#000;font-weight:700;
  border-radius:8px;
}
.cal-day.in-range{
  background:rgba(29,233,182,.15);color:#fff;
}
.cal-day.range-start{
  background:var(--teal);color:#000;font-weight:700;
  border-radius:8px 0 0 8px;
}
.cal-day.range-end{
  background:var(--teal);color:#000;font-weight:700;
  border-radius:0 8px 8px 0;
}
.cal-day.past{color:rgba(224,247,244,.2);cursor:default;}
.cal-day.past:hover{background:none;}
.cal-footer{
  display:flex;justify-content:flex-end;gap:8px;
  margin-top:12px;padding-top:10px;
  border-top:1px solid rgba(29,233,182,0.1);
}
.cal-clear{border-radius:6px;
  background:none;border:1px solid rgba(255,255,255,.1);
  color:rgba(224,247,244,.5);font-size:0.62rem;letter-spacing:1px;
  padding:5px 12px;cursor:pointer;font-family:'Raleway',sans-serif;
  transition:all .2s;
}
.cal-clear:hover{border-color:rgba(255,255,255,.3);color:#fff;}

/* PREV/NEXT */
.hi-pn{width:100%;padding:2rem 4% 3rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(29,233,182,.08);}
.hi-pn-link{text-decoration:none;display:flex;flex-direction:column;gap:.3rem;}
.hi-pn-right{text-align:right;}
.hi-pn-label{font-size:.52rem;letter-spacing:2.5px;text-transform:uppercase;color:rgba(29,233,182,.3);}
.hi-pn-name{font-family:'Cinzel',serif;font-size:.75rem;letter-spacing:1.5px;color:rgba(29,233,182,.6);transition:color .2s;}
.hi-pn-link:hover .hi-pn-name{color:var(--teal);}

/* FOOTER */
.hi-footer{background:#060f1e;border-top:1px solid rgba(29,233,182,.08);padding:3rem 5% 0;}
.hi-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem;}
@media(max-width:860px){.hi-footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.hi-footer-grid{grid-template-columns:1fr;}}
.hi-footer-logo{font-family:'Cinzel',serif;font-size:1rem;color:var(--teal);letter-spacing:3px;margin-bottom:.7rem;}
.hi-footer-about{font-size:.68rem;color:rgba(210,245,240,.35);line-height:1.8;margin-bottom:.9rem;}
.hi-footer-contact a,.hi-footer-contact span{display:block;font-size:.65rem;color:rgba(210,245,240,.38);text-decoration:none;margin-bottom:.35rem;transition:color .2s;}
.hi-footer-contact a:hover{color:var(--teal);}
.hi-footer-col-title{font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal);margin-bottom:.9rem;}
.hi-footer-col a{display:block;font-size:.68rem;color:rgba(210,245,240,.38);text-decoration:none;margin-bottom:.45rem;transition:color .2s;}
.hi-footer-col a:hover{color:rgba(210,245,240,.8);}
.hi-footer-bottom{border-top:1px solid rgba(255,255,255,.05);padding:1.1rem 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.58rem;color:rgba(210,245,240,.2);}
.hi-footer-bottom a{color:rgba(29,233,182,.28);text-decoration:none;}

/* WhatsApp FAB — removed: duplicated the shared live-chat widget
   (#chatWidget, from hp-shared.css), which sits at the same
   bottom:2rem;right:2rem corner and already offers "Chat on WhatsApp". */


/* ══ HERO BOOKING FORM ══ */
.hi-hero-form{
  position:relative;z-index:4;
  width:100%;
  margin:0;
  padding:0 2rem;
}
@property --hff-angle{syntax:'<angle>';initial-value:0deg;inherits:false;}
@keyframes hffSpin{to{--hff-angle:360deg;}}
.hi-hero-form-inner{
  background:transparent;
  border-radius:18px;
  padding:1.4rem 1.8rem;
  position:relative;
  isolation:isolate;
}
.hi-hero-form-inner::before{
  content:'';position:absolute;inset:0;border-radius:18px;
  background:#0a1830;
  backdrop-filter:blur(18px);
  z-index:1;
}
.hi-hero-form-ring{
  position:absolute;inset:-1.5px;border-radius:19.5px;
  background:conic-gradient(from var(--hff-angle),
    rgba(29,233,182,.1) 0%,
    rgba(29,233,182,.1) 40%,
    rgba(29,233,182,1) 47%,
    rgba(255,255,255,1) 50%,
    rgba(29,233,182,1) 53%,
    rgba(29,233,182,.1) 60%,
    rgba(29,233,182,.1) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  z-index:2;pointer-events:none;
  animation:hffSpin 8s linear infinite;
}
.hi-hero-form-inner::after{
  content:'';position:absolute;inset:-1px;border-radius:19px;
  background:conic-gradient(from var(--hff-angle),
    transparent 0%,transparent 46%,
    rgba(29,233,182,.7) 50%,
    transparent 54%,transparent 100%);
  filter:blur(2px);z-index:-1;pointer-events:none;
  animation:hffSpin 8s linear infinite;
}
.hi-hero-form-inner > *:not(.hi-hero-form-ring){position:relative;z-index:3;}
@media(prefers-reduced-motion:reduce){
  .hi-hero-form-inner::before,.hi-hero-form-inner::after{animation:none;}
}
/* Row 1: dates + room + guests */
.hf-row1{
  display:grid;
  grid-template-columns:1fr 1fr 1.5fr 1fr 1fr 1fr;
  gap:.7rem;
  margin-bottom:.7rem;
}
/* Row 2: name + email + submit */
.hf-row2{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:.7rem;
  align-items:end;
}
.hf-field{display:flex;flex-direction:column;gap:.3rem;}
.hf-label{
  font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:2px;
  text-transform:uppercase;color:rgba(29,233,182,.55);
}
.hf-field .bm-date-field{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(29,233,182,.18);
  border-radius:10px;padding:.55rem .8rem;
  cursor:pointer;transition:border-color .2s;
  min-width:0;
}
.hf-field .bm-date-field:hover{border-color:rgba(29,233,182,.4);}
.hf-field .bm-input{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(29,233,182,.18);
  border-radius:10px;padding:.55rem .8rem;
  color:#fff;font-family:'Raleway',sans-serif;
  font-size:.75rem;width:100%;
  transition:border-color .2s;
}
.hf-field .bm-input:focus{outline:none;border-color:var(--teal);}
.hf-field .bm-input::placeholder{color:rgba(255,255,255,.3);}
select.hf-field .bm-input,
.hf-field select.bm-input{
  background:rgba(6,14,30,.9);cursor:pointer;
}
/* guests row inside form */
.hf-guests-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;
}
.hf-guests-item{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(29,233,182,.18);
  border-radius:10px;padding:.4rem .5rem;
  display:flex;align-items:center;justify-content:space-between;
}
.hf-guests-lbl{font-size:.6rem;color:rgba(210,245,240,.55);}
.hf-guests-ctrl{display:flex;align-items:center;gap:.4rem;}
.hf-guests-ctrl .bm-cnt-btn{
  width:20px;height:20px;font-size:.75rem;
}
.hf-guests-ctrl .bm-cnt-val{font-size:.8rem;}

/* Submit button */
.hf-submit{
  background:var(--teal);color:#060f1e;
  border:none;border-radius:10px;
  font-family:'Raleway',sans-serif;font-size:.72rem;
  letter-spacing:2px;text-transform:uppercase;font-weight:700;
  padding:.62rem 1.8rem;cursor:pointer;white-space:nowrap;
  display:flex;align-items:center;gap:.5rem;
  transition:all .25s;height:100%;
}
.hf-submit:hover{background:#14c9a0;box-shadow:0 0 24px rgba(29,233,182,.45);}

/* summary inside hero form */
.hf-summary{
  margin-top:.7rem;
  font-size:.65rem;color:rgba(210,245,240,.45);
  border-top:1px solid rgba(29,233,182,.1);
  padding-top:.6rem;
  display:none;
}
.hf-summary.visible{display:block;}

@media(max-width:900px){
  .hf-row1{grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;}
  .hf-row2{grid-template-columns:1fr auto;}
}
@media(max-width:600px){
  .hf-row1{grid-template-columns:1fr 1fr;}
  .hf-row2{grid-template-columns:1fr;}
  .hi-hero-form{padding:0 .8rem;}
}


/* ══ CONTACT CHOOSER MODAL ══ */
#contactChooserModal{
  display:none;position:fixed;inset:0;z-index:2000;
  background:rgba(4,10,22,0.85);backdrop-filter:blur(10px);
  align-items:center;justify-content:center;
}
#contactChooserModal.open{display:flex;}
.cch-card{
  background:rgba(7,18,40,0.98);
  border:1px solid rgba(29,233,182,0.22);
  border-radius:20px;padding:2rem;
  width:min(420px,92vw);
  position:relative;
}
.cch-title{
  font-family:'Cinzel',serif;font-size:.9rem;letter-spacing:3px;
  color:#fff;text-align:center;margin-bottom:.4rem;
}
.cch-sub{
  font-size:.68rem;color:rgba(210,245,240,.4);
  text-align:center;margin-bottom:1.6rem;letter-spacing:1px;
}
.cch-close{
  position:absolute;top:.9rem;right:1rem;
  background:transparent;border:none;color:rgba(210,245,240,.4);
  font-size:1.3rem;cursor:pointer;line-height:1;
  transition:color .2s;
}
.cch-close:hover{color:#fff;}
.cch-btn{
  display:flex;align-items:center;gap:.9rem;
  width:100%;border-radius:12px;padding:.85rem 1.2rem;
  margin-bottom:.7rem;cursor:pointer;border:1px solid transparent;
  font-family:'Raleway',sans-serif;font-size:.78rem;
  font-weight:600;letter-spacing:1px;text-decoration:none;
  transition:all .22s;
}
.cch-btn:last-child{margin-bottom:0;}
.cch-btn-wa{
  background:rgba(37,211,102,.1);border-color:rgba(37,211,102,.28);color:#25d366;
}
.cch-btn-wa:hover{background:rgba(37,211,102,.2);transform:translateY(-1px);}
.cch-btn-email{
  background:rgba(29,233,182,.07);border-color:rgba(29,233,182,.22);color:var(--teal);
}
.cch-btn-email:hover{background:rgba(29,233,182,.15);transform:translateY(-1px);}
.cch-btn-wechat{
  background:rgba(9,187,7,.08);border-color:rgba(9,187,7,.22);color:#07c160;
}
.cch-btn-wechat:hover{background:rgba(9,187,7,.18);transform:translateY(-1px);}
.cch-btn-icon{font-size:1.3rem;flex-shrink:0;}
.cch-btn-text{display:flex;flex-direction:column;gap:.1rem;}
.cch-btn-label{font-size:.75rem;font-weight:600;}
.cch-btn-desc{font-size:.6rem;opacity:.6;font-weight:400;}
/* WeChat panel */
.cch-wechat-panel{
  display:none;margin-top:1rem;
  background:rgba(7,187,7,.06);border:1px solid rgba(7,187,7,.18);
  border-radius:12px;padding:1rem;text-align:center;
}
.cch-wechat-panel.show{display:block;}
.cch-wechat-id{
  font-family:'Cinzel',serif;font-size:1rem;color:#07c160;
  letter-spacing:2px;margin-top:.4rem;
}
.cch-wechat-note{font-size:.65rem;color:rgba(210,245,240,.45);margin-top:.5rem;}


/* ══ MOBILE NAV ══ */
.hi-nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hi-nav-burger span{display:block;width:22px;height:1.5px;background:var(--teal);border-radius:2px;transition:all .3s;}
.hi-nav-mobile{display:none;position:fixed;top:64px;left:0;right:0;z-index:199;background:rgba(7,18,38,0.98);backdrop-filter:blur(20px);border-bottom:1px solid rgba(29,233,182,0.15);flex-direction:column;padding:1rem 2rem;gap:.2rem;}
.hi-nav-mobile.open{display:flex;}
.hi-nav-mobile a{font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:rgba(29,233,182,0.65);text-decoration:none;padding:.7rem 0;border-bottom:1px solid rgba(29,233,182,.07);transition:color .2s;}
.hi-nav-mobile a:last-child{border-bottom:none;}
.hi-nav-mobile a:hover{color:var(--teal);}
@media(max-width:700px){
  .hi-nav-links{display:none;}
  .hi-nav-burger{display:flex;}
}

/* ══ LIGHTBOX ══ */
#hiLightbox{display:none;position:fixed;inset:0;z-index:3000;background:rgba(3,8,18,0.96);align-items:center;justify-content:center;flex-direction:column;}
#hiLightbox.open{display:flex;}
#hiLightbox img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:8px;box-shadow:0 0 60px rgba(0,0,0,0.8);}
.hlb-close{position:absolute;top:1.2rem;right:1.5rem;background:transparent;border:none;color:rgba(210,245,240,.6);font-size:2rem;cursor:pointer;line-height:1;transition:color .2s;}
.hlb-close:hover{color:#fff;}
.hlb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(29,233,182,.1);border:1px solid rgba(29,233,182,.2);color:var(--teal);font-size:1.5rem;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.hlb-nav:hover{background:rgba(29,233,182,.22);}
.hlb-prev{left:1rem;}.hlb-next{right:1rem;}
.hlb-caption{margin-top:.8rem;font-size:.65rem;letter-spacing:2px;color:rgba(210,245,240,.4);text-transform:uppercase;}
.hi-gal-main,.hi-gal-thumb{cursor:zoom-in;}

/* ══ STICKY BOOKING BAR ══ */
.hi-sticky-bar{
  position:fixed;top:64px;left:0;right:0;z-index:100;
  background:rgba(6,14,30,0.97);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(29,233,182,0.18);
  display:flex;align-items:center;justify-content:space-between;
  padding:.7rem 3rem;
  transform:translateY(-120%);
  visibility:hidden;opacity:0;pointer-events:none;
  transition:transform .35s ease,opacity .3s,visibility .3s;
}
.hi-sticky-bar.visible{
  transform:translateY(0);
  visibility:visible;opacity:1;pointer-events:auto;
}
.hi-sticky-name{font-family:'Cinzel',serif;font-size:.85rem;color:#fff;letter-spacing:1px;}
.hi-sticky-price{font-family:'Cinzel',serif;font-size:.85rem;color:var(--teal);}
.hi-sticky-btn{
  background:var(--teal);color:#060f1e;border:none;border-radius:8px;
  font-family:'Raleway',sans-serif;font-size:.65rem;letter-spacing:2px;
  text-transform:uppercase;font-weight:700;padding:.55rem 1.4rem;cursor:pointer;
  transition:all .2s;
}
.hi-sticky-btn:hover{background:#14c9a0;box-shadow:0 0 18px rgba(29,233,182,.4);}
@media(max-width:600px){.hi-sticky-bar{padding:.7rem 1rem;}.hi-sticky-name{font-size:.7rem;}}

/* ══ BACK TO TOP ══ */
/* .hi-btt removed: duplicated the shared footer's own
   .footer-back-to-top button, sitting right above the chat widget in
   the same corner. */

/* ══ SHARE BUTTONS ══ */
.hi-share{display:flex;align-items:center;gap:.6rem;padding:1rem 5%;border-bottom:1px solid rgba(29,233,182,.06);}
.hi-share-lbl{font-size:.58rem;letter-spacing:2px;text-transform:uppercase;color:rgba(29,233,182,.4);margin-right:.3rem;}
.hi-share-btn{display:flex;align-items:center;gap:.4rem;font-size:.62rem;letter-spacing:1px;padding:5px 12px;border-radius:20px;border:1px solid rgba(29,233,182,.15);background:transparent;color:rgba(210,245,240,.55);cursor:pointer;text-decoration:none;transition:all .2s;}
.hi-share-btn:hover{background:rgba(29,233,182,.08);color:var(--teal);border-color:rgba(29,233,182,.3);}

/* ══ MAP EMBED ══ */
.hi-map{margin-bottom:2.5rem;border-radius:14px;overflow:hidden;border:1px solid rgba(29,233,182,.12);}
.hi-map iframe{width:100%;height:300px;border:none;display:block;filter:invert(90%) hue-rotate(180deg);}

/* ══ REVIEWS ══ */
.hi-reviews{display:flex;flex-direction:column;gap:.8rem;margin-bottom:2.5rem;}
.hi-review{background:rgba(8,22,46,.7);border:1px solid rgba(29,233,182,.1);border-radius:12px;padding:1.1rem 1.3rem;}
.hi-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;}
.hi-review-name{font-family:'Cinzel',serif;font-size:.72rem;color:#fff;letter-spacing:1px;}
.hi-review-stars{color:#ffd86b;font-size:.75rem;letter-spacing:1px;}
.hi-review-text{font-size:.75rem;color:rgba(210,245,240,.65);line-height:1.8;}
.hi-review-date{font-size:.58rem;color:rgba(210,245,240,.3);margin-top:.4rem;}

/* ══ RELATED HOTELS ══ */
.hi-related{padding:2rem 5%;border-top:1px solid rgba(29,233,182,.08);}
.hi-related-title{font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:4px;text-transform:uppercase;color:var(--teal);margin-bottom:1.2rem;}
.hi-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
@media(max-width:700px){.hi-related-grid{grid-template-columns:1fr;}}
.hr-card{position:relative;height:210px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,213,79,.12);background:#08121e;text-decoration:none;display:block;transition:transform .3s,border-color .3s;}
.hr-card:hover{transform:translateY(-4px);border-color:rgba(255,213,79,.32);}
.hr-img{position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(145deg,#0a1d32,#0e2a42);overflow:hidden;}
.hr-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);transition:transform 1.1s cubic-bezier(.2,.7,.3,1);}
.hr-card:hover .hr-img img{transform:scale(1.14);}
.hr-card::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(255,213,79,.5);clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);transition:clip-path .5s cubic-bezier(.4,0,.2,1);}
.hr-card:hover::before{clip-path:polygon(calc(48% - 1px) 0,100% 0,100% 100%,calc(30% - 1px) 100%);}
.hr-card::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(100deg,rgba(8,18,30,.62) 0%,rgba(8,18,30,.96) 50%,rgba(8,18,30,.98) 100%);clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);transition:clip-path .5s cubic-bezier(.4,0,.2,1);}
.hr-card:hover::after{clip-path:polygon(48% 0,100% 0,100% 100%,30% 100%);}
.hr-rest{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:.7rem .9rem;background:linear-gradient(to top,rgba(8,18,30,.94),rgba(8,18,30,0));transition:opacity .3s;}
.hr-card:hover .hr-rest{opacity:0;}
.hr-rest-city{font-size:8px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,213,79,.65);}
.hr-rest-row{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;margin-top:3px;}
.hr-rest-name{font-family:'Cinzel',serif;font-size:14px;color:#f0ece0;line-height:1.25;}
.hr-rest-price{font-family:'Cinzel',serif;font-size:15px;color:#ffd54f;line-height:1;white-space:nowrap;}
.hr-body{position:absolute;right:0;top:0;bottom:0;width:58%;padding:.75rem .8rem .6rem .6rem;display:flex;flex-direction:column;justify-content:space-between;z-index:3;}
.hr-body>*{opacity:0;transform:translateX(14px);transition:opacity .4s,transform .45s;}
.hr-card:hover .hr-body>*{opacity:1;transform:none;}
.hr-card:hover .hr-body>*:nth-child(1){transition-delay:.18s;}
.hr-card:hover .hr-body>*:nth-child(2){transition-delay:.21s;}
.hr-card:hover .hr-body>*:nth-child(3){transition-delay:.24s;}
.hr-card:hover .hr-body>*:nth-child(4){transition-delay:.27s;}
.hr-card:hover .hr-body>*:nth-child(5){transition-delay:.30s;}
.hr-city{font-size:8px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,213,79,.85);}
.hr-stars{font-size:10px;color:#ffd54f;letter-spacing:1px;}
.hr-name{font-family:'Cinzel',serif;font-size:12.5px;color:#fffaf0;line-height:1.2;}
.hr-info-line{display:flex;flex-wrap:wrap;gap:3px;}
.hr-info-line span{font-size:7px;color:rgba(240,236,224,.78);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:2px 5px;white-space:nowrap;}
.hr-desc{font-size:8.5px;color:rgba(240,236,224,.62);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.hr-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,213,79,.22);padding-top:5px;}
.hr-price{font-family:'Cinzel',serif;font-size:12.5px;color:#ffd54f;}
.hr-price small{font-size:7.5px;color:rgba(255,213,79,.6);}
.hr-btn{font-size:8.5px;padding:4px 9px;border-radius:20px;border:1px solid rgba(184,135,42,.75);color:#ffd54f;background:rgba(184,135,42,.18);white-space:nowrap;}
.hr-card:hover .hr-btn{background:rgba(184,135,42,.3);border-color:rgba(255,213,79,.85);}

/* ══ CURRENCY SWITCHER ══ */
.hi-currency-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem;}
.hi-currency-lbl{font-size:.58rem;letter-spacing:1.5px;text-transform:uppercase;color:rgba(29,233,182,.4);}
.hi-currency-btn{background:transparent;border:1px solid rgba(29,233,182,.18);color:rgba(210,245,240,.55);font-family:'Raleway',sans-serif;font-size:.62rem;padding:3px 10px;border-radius:6px;cursor:pointer;transition:all .2s;}
.hi-currency-btn.active,.hi-currency-btn:hover{background:rgba(29,233,182,.1);color:var(--teal);border-color:rgba(29,233,182,.35);}

/* ══ HERO SERVICE SWITCHER ══ */
.hi-svc-row{
  position:relative;z-index:4;
  display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;
  margin:1.6rem 0 1.8rem;
  opacity:0;animation:hiFadeUp .8s .85s ease forwards;
}
.hi-svc{
  width:92px;height:92px;
  background:rgba(9,22,46,0.55);
  backdrop-filter:blur(10px);
  border:1px solid rgba(29,233,182,0.16);
  border-radius:16px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.4rem;text-decoration:none;position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.22,.68,0,1.2),border-color .3s,background .3s;
}
.hi-svc::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 50% 120%,rgba(29,233,182,0.25),transparent 70%);
  opacity:0;transition:opacity .35s;
}
.hi-svc:hover{
  transform:translateY(-5px) scale(1.04);
  border-color:rgba(29,233,182,0.5);
  background:rgba(29,233,182,0.08);
}
.hi-svc:hover::before{opacity:1;}
.hi-svc-icon{
  font-size:1.5rem;position:relative;z-index:1;
  filter:drop-shadow(0 0 6px rgba(29,233,182,0.35));
  transition:transform .3s;
}
.hi-svc:hover .hi-svc-icon{transform:scale(1.15);}
.hi-svc-label{
  font-family:'Cinzel',serif;font-size:.56rem;letter-spacing:1.5px;
  text-transform:uppercase;color:rgba(226,248,245,0.8);position:relative;z-index:1;
}
.hi-svc-active{border-color:rgba(255,213,79,0.4);background:rgba(255,213,79,0.06);}
.hi-svc-active .hi-svc-icon{filter:drop-shadow(0 0 6px rgba(255,213,79,0.5));}
.hi-svc-active .hi-svc-label{color:var(--gold);}
@media(max-width:700px){
  .hi-svc{width:74px;height:74px;}
  .hi-svc-icon{font-size:1.2rem;}
  .hi-svc-label{font-size:.5rem;}
  .hi-svc-row{gap:.5rem;margin:1.2rem 0 1.4rem;}
}


@keyframes hiFadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
