/* ── SHARED NAV — matches index.html full nav exactly ── */
:root{
  --lux-gold-mid:#c9a962;
  --blush:#f5e6d3;
  --shadow-lg:0 20px 60px rgba(58,42,26,0.15);
  --nav-stack:200px;
  --nav-drawer-top:220px;
}

/* ── RESET for nav ── */
nav#mainNav *{box-sizing:border-box;margin:0;}

/* ── NAV WRAPPER ── */
nav#mainNav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  box-shadow:0 4px 28px rgba(0,0,0,0.55);
  transition:background 0.35s,box-shadow 0.35s;
}

/* ── ROW 1: BRAND STRIP ── */
.nav-brand{
  position:relative;background:#0c0600;
  border-bottom:1px solid rgba(212,168,83,0.35);
  transition:background 0.4s,border-color 0.4s;
  overflow:visible;
}
nav#mainNav.nav-scrolled .nav-brand{background:#0c0600;border-color:rgba(212,168,83,0.3);}
.nav-brand-inner{
  position:relative;z-index:1;
  display:flex;align-items:stretch;justify-content:flex-start;
  gap:clamp(14px,2.5vw,32px);
  width:100%;max-width:1600px;margin:0 auto;
  min-height:125px;height:125px;padding:0;
  box-sizing:border-box;
  transition:min-height 0.28s ease,height 0.28s ease,padding 0.28s ease;
}
nav#mainNav.nav-scrolled .nav-brand-inner{min-height:92px;height:92px;}
nav#mainNav.nav-scrolled .nav-brand-book-box{padding:8px 20px;}
nav#mainNav.nav-scroll-up .nav-brand-inner{min-height:125px;height:125px;}

/* Logo */
.logo-area{flex:1;min-width:0;align-self:stretch;display:flex;align-items:center;justify-content:center;pointer-events:auto;}
.logo-link{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-height:0;padding:0;margin:0;box-sizing:border-box;text-decoration:none;color:inherit;cursor:pointer;}
.logo-link:focus-visible{outline:2px solid var(--lux-gold-mid);outline-offset:4px;border-radius:2px;}
.logo-area .logo-icon-wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex:0 1 auto;width:auto;max-width:100%;min-height:0;margin:0;padding:0;background:none;border-radius:0;box-shadow:none;}
.logo-area .logo-icon-wrap img{display:block;width:auto;height:auto;max-width:100%;min-height:0;max-height:100px;object-fit:contain;object-position:center center;filter:drop-shadow(0 2px 16px rgba(0,0,0,0.45));transition:max-height 0.28s ease;}
nav#mainNav.nav-scrolled .logo-area .logo-icon-wrap img{max-height:68px;}
nav#mainNav.nav-scroll-up .logo-area .logo-icon-wrap img{max-height:100px;}

/* Book box */
.nav-brand .nav-brand-inner > .nav-brand-book-stack{flex-shrink:0;align-self:center;}
.nav-brand-book-stack{display:flex;flex-direction:column;align-items:center;gap:0;}
.nav-brand-book-box{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:transparent;border:2px solid var(--lux-gold-mid);border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.5);padding:20px;transition:all 0.3s;
}
.nav-brand-book-box:hover{
  background:rgba(212,168,83,0.12);border-color:var(--rose-light);
  transform:translateY(-1px);
  box-shadow:0 8px 28px rgba(212,175,112,0.22),inset 0 0 0 1px rgba(0,0,0,0.5);
}
.btn-book-lines-wrap{
  display:flex;flex-direction:column;align-items:center;
  font-family:'Philosopher',sans-serif;font-size:16px;letter-spacing:0.5px;line-height:1.3;
  color:var(--lux-gold);text-align:center;cursor:pointer;text-decoration:none;gap:4px;
}
.btn-book-lines-wrap:hover{color:var(--rose-light);}
.btn-book-or-call{
  font-family:'Philosopher',sans-serif;font-size:13px;letter-spacing:0.5px;text-transform:uppercase;
  color:var(--lux-gold);text-decoration:none;transition:color 0.2s;white-space:nowrap;
  width:100%;text-align:center;padding-top:8px;margin-top:4px;
  border-top:1px solid rgba(212,168,83,0.35);display:block;
}
.btn-book-or-call:hover{color:var(--rose-light);}

/* Mobile toggle */
.nav-mobile-toggle{
  display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:44px;height:44px;flex-shrink:0;align-self:center;margin-right:6px;
  background:transparent;border:1.5px solid var(--lux-gold-mid);border-radius:2px;
  cursor:pointer;padding:10px 11px;box-sizing:border-box;
  transition:border-color 0.2s,background 0.2s;-webkit-tap-highlight-color:transparent;
}
.nav-mobile-toggle:focus-visible{outline:2px solid var(--lux-gold-mid);outline-offset:3px;}
.nav-burger-bars{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;}
.nav-burger-bar{display:block;width:18px;height:2px;background:var(--lux-gold);border-radius:1px;transition:transform 0.25s ease,opacity 0.2s ease;}
nav#mainNav.nav-mobile-open .nav-burger-bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
nav#mainNav.nav-mobile-open .nav-burger-bar:nth-child(2){opacity:0;}
nav#mainNav.nav-mobile-open .nav-burger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-mobile-backdrop{
  display:none;position:fixed;left:0;right:0;bottom:0;
  top:var(--nav-drawer-top,220px);z-index:1001;
  margin:0;padding:0;border:none;background:rgba(0,0,0,0.48);
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.nav-mobile-backdrop:focus{outline:none;}
.nav-mobile-backdrop[hidden]{display:none!important;}
nav#mainNav.nav-mobile-open .nav-mobile-backdrop:not([hidden]){display:block;}
body.nav-mobile-open{overflow:hidden;}

/* Contact panel (left) */
.brand-contact-panel{
  flex-shrink:0;display:flex;flex-direction:column;
  justify-content:center;align-self:stretch;align-items:flex-start;
  gap:12px;padding:0 clamp(18px,2.6vw,34px);
}
.brand-contact-phone{
  display:flex;align-items:center;gap:10px;
  font-family:'Philosopher',sans-serif;font-size:16px;letter-spacing:0.5px;
  color:var(--lux-gold);text-decoration:none;transition:color 0.2s;white-space:nowrap;
}
.brand-contact-phone i{color:var(--rose-light);font-size:14px;}
.brand-contact-phone:hover{color:var(--rose-light);}
.brand-contact-address{
  display:flex;align-items:center;gap:10px;
  font-family:'Philosopher',sans-serif;font-size:16px;letter-spacing:0.5px;
  color:rgba(253,248,242,0.88);text-decoration:none;transition:color 0.2s;white-space:nowrap;
}
.brand-contact-address i{color:var(--rose-light);font-size:13px;}
.brand-contact-address:hover{color:var(--lux-gold);}

/* Nav links + socials panel (right) */
.brand-nav-panel{
  flex-shrink:0;display:flex;flex-direction:column;
  justify-content:center;align-self:stretch;align-items:flex-start;
  gap:8px;padding:0 clamp(18px,2.6vw,34px);overflow:visible;
}
.brand-nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:clamp(110px,9vw,150px);}
.brand-nav-link{
  font-family:'Josefin Sans',sans-serif;font-size:clamp(9px,0.78vw,11px);
  letter-spacing:2px;text-transform:uppercase;
  color:rgba(253,248,242,0.9);text-decoration:none;transition:color 0.2s;
  white-space:nowrap;padding:5px 0;
  border-bottom:1px solid rgba(212,168,83,0.28);align-self:stretch;
}
.brand-nav-links .brand-nav-link:last-child{border-bottom:none;}
.brand-nav-link:hover{color:var(--lux-gold);}
.brand-nav-sep{display:none;}
.brand-nav-socials{display:flex;align-items:center;gap:clamp(12px,1.6vw,20px);}
.brand-social-icon{color:rgba(253,248,242,0.78);font-size:16px;text-decoration:none;transition:color 0.2s;}
.brand-social-icon:hover{color:var(--rose-light);}

/* ── ROW 2: MENU BAR ── */
.nav-bottom{
  position:relative;z-index:2;
  background:var(--deep);
  border-bottom:2px solid var(--rose-gold);
  transition:background 0.4s,border-color 0.4s;
}
nav#mainNav.nav-scrolled .nav-bottom{background:var(--deep);border-color:var(--rose-gold);}
.nav-menu{
  max-width:1400px;margin:0 auto;
  display:flex;align-items:center;justify-content:center;
  flex-wrap:nowrap;padding:0 24px;
}
.nav-item{position:relative;flex-shrink:0;}
.nav-bottom .nav-link{
  display:flex;align-items:center;justify-content:center;gap:5px;
  padding:14px 14px;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;
  color:#b8860b;text-decoration:none;transition:color 0.3s;
  cursor:pointer;border:none;background:none;
  font-family:'Josefin Sans',sans-serif;font-weight:400;
  white-space:nowrap;line-height:1.2;text-align:center;box-sizing:border-box;
}
.nav-bottom .nav-link i{flex-shrink:0;font-size:9px;transition:transform 0.3s,color 0.3s;color:#b8860b;}
.nav-bottom .nav-link:hover,.nav-bottom .nav-link.active{color:var(--rose-light);}
.nav-bottom .nav-link:hover i,.nav-bottom .nav-link.active i{color:var(--rose-light);}
.nav-item:hover .nav-link i{transform:rotate(180deg);}
.nav-sep{width:1px;height:16px;background:rgba(212,168,83,0.25);margin:0 2px;align-self:center;flex-shrink:0;}

/* Dropdown */
.dropdown{
  position:absolute;top:100%;left:0;background:white;
  min-width:280px;max-height:70vh;overflow-y:auto;
  box-shadow:var(--shadow-lg);border-top:2px solid var(--rose-gold);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:all 0.3s;z-index:999;
}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{
  display:block;padding:12px 20px;font-size:11px;letter-spacing:1px;
  color:var(--deep);text-decoration:none;text-transform:uppercase;
  border-bottom:1px solid rgba(184,134,11,0.08);transition:all 0.2s;
  white-space:normal;line-height:1.4;
}
.dropdown a:hover{background:var(--blush);color:var(--rose-gold);padding-left:28px;}
.dropdown-section-label{display:block;padding:7px 20px 5px;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#b8860b;font-weight:700;background:#fdf8f2;border-bottom:1px solid rgba(184,134,11,0.12);margin-top:2px;pointer-events:none;cursor:default;}
.dropdown-section-label:first-child{margin-top:0;}

/* VIP link */
.nav-bottom .nav-link.vip-link{
  color:#b8860b;font-weight:600;letter-spacing:2px;
  background:linear-gradient(135deg,rgba(184,134,11,0.18),rgba(212,168,83,0.08));
  border:1px solid rgba(212,168,83,0.45);border-radius:3px;
  margin:0 4px;padding:8px 14px;white-space:nowrap;
}
.nav-bottom .nav-link.vip-link:hover{color:white;background:linear-gradient(135deg,var(--rose-gold),var(--rose-light));border-color:var(--rose-gold);}
.nav-bottom .nav-link.vip-link .vip-tag{
  display:inline-block;font-size:8px;letter-spacing:2px;font-weight:700;
  color:var(--deep);background:var(--rose-light);
  padding:2px 6px;border-radius:2px;margin-right:6px;
}
.nav-bottom .nav-link.vip-link:hover .vip-tag{background:white;color:var(--rose-gold);}
.nav-bottom .nav-link.vip-link i.fa-crown{font-size:11px;color:#b8860b;margin-right:4px;}
.nav-bottom .nav-link.vip-link:hover i.fa-crown{color:white;}

@media(min-width:1025px) and (max-width:1320px){
  .nav-menu{padding:0 12px;}
  .nav-bottom .nav-link{padding:12px 10px;font-size:10px;letter-spacing:1.2px;}
  .nav-bottom .nav-link.vip-link{padding:7px 12px;margin:0 2px;}
}

/* ── GLASS / HERO OVERLAY STATE ── */
nav#mainNav.nav-at-hero .nav-brand{background:transparent;border-bottom:1px solid rgba(255,255,255,0.14);}
nav#mainNav.nav-at-hero .nav-bottom{background:transparent;border-bottom:2px solid rgba(184,134,11,0.45);box-shadow:none;}
nav#mainNav.nav-at-hero .nav-bottom .nav-link{color:#fff;}
nav#mainNav.nav-at-hero .nav-bottom .nav-link:hover,
nav#mainNav.nav-at-hero .nav-bottom .nav-link.active{color:#fff;text-shadow:0 0 16px rgba(255,255,255,0.45);}
nav#mainNav.nav-at-hero .nav-bottom .nav-link i{color:rgba(255,255,255,0.94);}
nav#mainNav.nav-at-hero .nav-sep{background:rgba(255,255,255,0.28);}
nav#mainNav.nav-at-hero .nav-bottom .nav-link.vip-link{color:#fff;background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.42);}
nav#mainNav.nav-at-hero .nav-bottom .nav-link.vip-link .vip-tag{background:rgba(255,255,255,0.94);color:var(--rose-gold);}
nav#mainNav.nav-at-hero .nav-bottom .nav-link.vip-link i.fa-crown{color:rgba(255,255,255,0.95);}
nav#mainNav.nav-at-hero .nav-bottom .nav-link.vip-link:hover{color:#fff;background:linear-gradient(135deg,var(--rose-gold),var(--rose-light));border-color:transparent;}
nav#mainNav.nav-at-hero .nav-bottom .nav-link.vip-link:hover i.fa-crown{color:#fff;}
nav#mainNav.nav-at-hero .nav-brand-book-box{border-color:rgba(255,255,255,0.9);box-shadow:none;background:rgba(0,0,0,0.12);}
nav#mainNav.nav-at-hero .nav-brand-book-box:hover{background:rgba(255,255,255,0.12);border-color:#fff;}
nav#mainNav.nav-at-hero .btn-book-lines-wrap{color:#fff;}
nav#mainNav.nav-at-hero .btn-book-or-call{color:rgba(255,255,255,0.92);border-top-color:rgba(255,255,255,0.28);}
nav#mainNav.nav-at-hero .btn-book-or-call:hover{color:#fff;}
nav#mainNav.nav-at-hero .logo-area .logo-icon-wrap img{filter:drop-shadow(0 3px 18px rgba(0,0,0,0.55)) brightness(1.05);}
nav#mainNav.nav-at-hero .brand-contact-phone{color:#fff;}
nav#mainNav.nav-at-hero .brand-contact-phone i,
nav#mainNav.nav-at-hero .brand-contact-address i{color:rgba(255,255,255,0.9);}
nav#mainNav.nav-at-hero .brand-contact-address{color:rgba(255,255,255,0.85);}
nav#mainNav.nav-at-hero .brand-nav-link{color:rgba(255,255,255,0.9);border-bottom-color:rgba(255,255,255,0.2);}
nav#mainNav.nav-at-hero .brand-nav-link:hover{color:#fff;}
nav#mainNav.nav-at-hero .brand-social-icon{color:rgba(255,255,255,0.8);}
nav#mainNav.nav-at-hero .brand-social-icon:hover{color:#fff;}

/* ── MOBILE ≤1024px ── */
@media(max-width:1024px){
  .nav-mobile-toggle{display:flex;}
  .brand-contact-panel,.brand-nav-panel{display:none;}
  .nav-bottom{display:none;}
  nav#mainNav.nav-mobile-open .nav-bottom{
    display:flex;flex-direction:column;
    position:fixed;left:0;right:0;
    top:var(--nav-drawer-top,220px);bottom:0;z-index:1002;
    background:var(--deep);border-bottom:none;
    overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;
    padding-bottom:max(28px,env(safe-area-inset-bottom,0px));
    box-shadow:inset 0 1px 0 rgba(212,168,83,0.35);
  }
  .nav-menu{display:none;}
  nav#mainNav.nav-mobile-open .nav-menu{
    display:flex!important;flex-direction:column;align-items:stretch;
    justify-content:flex-start;width:100%;max-width:none;
    margin:0;padding:12px clamp(14px,4vw,20px) 8px;
  }
  nav#mainNav.nav-mobile-open .nav-sep{display:none;}
  nav#mainNav.nav-mobile-open .nav-item{width:100%;border-bottom:1px solid rgba(212,168,83,0.12);}
  nav#mainNav.nav-mobile-open .nav-bottom .nav-link{
    justify-content:space-between;width:100%;max-width:none;
    padding:16px 4px;font-size:11px;color:rgba(253,248,242,0.94);
    box-sizing:border-box;text-align:left;
  }
  nav#mainNav.nav-mobile-open .nav-bottom .nav-link i{color:var(--rose-light);}
  nav#mainNav.nav-mobile-open .dropdown{
    position:static;opacity:1;visibility:visible;transform:none;
    max-height:none;min-width:0;background:rgba(0,0,0,0.22);
    box-shadow:none;border:none;border-left:3px solid var(--rose-gold);margin:0 0 10px;
  }
  nav#mainNav.nav-mobile-open .dropdown a{
    color:rgba(253,248,242,0.88);border-bottom:1px solid rgba(255,255,255,0.06);
    padding:12px 16px 12px 22px;font-size:10px;white-space:normal;line-height:1.4;
  }
  nav#mainNav.nav-mobile-open .dropdown a:hover{
    background:rgba(212,168,83,0.15);color:var(--rose-light);padding-left:26px;
  }
  nav#mainNav.nav-mobile-open .nav-bottom .nav-link.vip-link{
    margin:0 0 8px;justify-content:center;gap:8px;color:#fff;
    background:linear-gradient(135deg,rgba(184,134,11,0.4),rgba(212,168,83,0.18));
    border:1px solid rgba(212,168,83,0.55);
  }
  nav#mainNav.nav-mobile-open .nav-bottom .nav-link.vip-link .vip-tag{background:var(--rose-light);color:var(--deep);}
  nav#mainNav.nav-mobile-open .nav-menu > a.nav-link{
    display:flex;width:100%;max-width:none;margin:0;
    padding:16px 4px;border-bottom:1px solid rgba(212,168,83,0.12);
    box-sizing:border-box;color:rgba(253,248,242,0.94);text-align:left;
  }
}
@media(max-width:520px){
  .nav-brand-book-stack{max-width:clamp(110px,36vw,155px);flex-shrink:1!important;}
  .nav-brand-book-box{padding:10px 12px!important;width:100%;}
  .btn-book-lines-wrap,
  .btn-book-lines-wrap span{font-size:11px!important;letter-spacing:0.3px!important;line-height:1.3!important;}
  .btn-book-or-call{font-size:10px!important;letter-spacing:0.2px!important;white-space:nowrap;}
}
