*{box-sizing:border-box}
:root{--ink:#14211c;--forest:#173129;--forest2:#0d221b;--cream:#f5f0e8;--paper:#fffdf8;--gold:#b89259;--muted:#6e746f;--line:#ddd4c7;--danger:#9d2f2f;--ok:#236c46}
html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:1.12}
.top-strip{background:var(--forest2);color:#fff;padding:8px 4vw;display:flex;justify-content:space-between;font-size:13px}
.nav-wrap{height:92px;display:flex;align-items:center;gap:28px;padding:0 4vw;background:rgba(13,34,27,.98);border-bottom:1px solid #2b463c;position:sticky;top:0;z-index:20;color:#fff}
.brand{display:inline-flex;align-items:center;min-width:145px}.brand-image{width:300px;max-width:32vw}.brand-image img{width:100%;height:auto;display:block}
.nav{display:flex;gap:22px;margin-left:auto}.nav a{font-size:14px;color:#fff}.nav a:hover{color:var(--gold)}.menu-toggle{display:none;background:none;border:0;font-size:26px;color:#fff}
.btn{display:inline-block;padding:13px 19px;border:1px solid var(--forest);font-weight:700;font-size:13px;letter-spacing:.4px}.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn-dark{background:var(--forest);color:#fff}.btn-light{background:#fff}
.hero{min-height:72vh;display:grid;place-items:center;text-align:center;padding:80px 5vw;background:linear-gradient(rgba(10,26,21,.68),rgba(10,26,21,.70)),url('https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=1800&q=85') center/cover;color:#fff}
.hero-inner{max-width:800px}.eyebrow{text-transform:uppercase;letter-spacing:4px;font-size:12px;color:#dcc8a6}.hero h1{font-size:clamp(44px,7vw,84px);margin:16px 0}.hero p{font-size:18px;max-width:650px;margin:0 auto 28px}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.section{padding:76px 5vw}.section.alt{background:var(--cream)}.section.dark{background:var(--forest);color:#fff}.container{max-width:1180px;margin:auto}.section-head{max-width:720px;margin-bottom:38px}.section-head h2{font-size:42px;margin:0 0 12px}.section-head p{color:var(--muted)}.dark .section-head p{color:#d9ded9}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);padding:28px}.dark .card{background:#1e3a31;border-color:#36564a}.card h3{font-size:25px;margin:0 0 10px}.meta{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold)}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.info-box{background:#fff;padding:28px}.info-box h3{font-size:19px;margin:0 0 10px}.info-box p{margin:0;font-size:14px}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.form-card{background:#fff;border:1px solid var(--line);padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:700}.field input,.field textarea,.field select{width:100%;padding:13px;border:1px solid #cfc7bb;background:#fff;font:inherit}.field textarea{min-height:120px;resize:vertical}
.notice{padding:12px 14px;margin:0 0 16px;border:1px solid}.notice.ok{background:#eef7f1;border-color:#b9dcc6}.notice.err{background:#fff1f1;border-color:#e3bbbb}
.menu-category{margin-bottom:44px}.menu-category h2{font-size:34px;border-bottom:1px solid var(--line);padding-bottom:12px}.menu-item{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px dotted #d6cec2}.menu-item h3{font:700 16px/1.3 Arial;margin:0 0 4px}.menu-item p{margin:0;color:var(--muted);font-size:14px}.price{font-weight:700;white-space:nowrap}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-grid img{width:100%;height:280px;object-fit:cover}
.review-card{background:#fff;border:1px solid var(--line);padding:24px}.stars{color:#a98046;letter-spacing:2px}
.hours{width:100%;border-collapse:collapse}.hours td{padding:10px 0;border-bottom:1px solid var(--line)}.hours td:last-child{text-align:right}
.site-footer{background:var(--forest2);color:#fff;padding:58px 5vw 24px}.footer-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:35px}.footer-grid h3{font-size:18px}.footer-grid p,.footer-grid a{font-size:13px;color:#d8ded9}.footer-bottom{max-width:1180px;margin:35px auto 0;border-top:1px solid #30473e;padding-top:18px;font-size:12px;color:#96a49e}.footer-brand{color:#fff}
.admin-shell{min-height:100vh;background:#f2f0eb}.admin-top{background:var(--forest2);color:#fff;padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.admin-wrap{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 64px)}.admin-nav{background:#173129;padding:20px}.admin-nav a{display:block;color:#e8eee9;padding:10px 12px;margin-bottom:4px;font-size:14px}.admin-nav a:hover{background:#24483c}.admin-main{padding:30px;overflow:auto}.admin-card{background:#fff;border:1px solid #ddd8cf;padding:22px;margin-bottom:20px}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.kpi{background:#fff;border:1px solid #ddd8cf;padding:18px}.kpi strong{display:block;font-size:30px;font-family:Georgia,serif}.table-wrap{overflow:auto}table.admin-table{width:100%;border-collapse:collapse;font-size:13px}table.admin-table th,table.admin-table td{padding:10px;border-bottom:1px solid #e7e1d8;text-align:left;vertical-align:top}.badge{display:inline-block;padding:4px 8px;border-radius:20px;background:#eee;font-size:11px}.badge.confirmed{background:#dff3e7;color:#1c623c}.badge.cancelled{background:#fde5e5;color:#8e2d2d}.badge.requested{background:#fff0cd;color:#775a12}
@media(max-width:900px){.header-book{display:none}.menu-toggle{display:block;margin-left:auto}.nav{display:none;position:absolute;left:0;right:0;top:88px;background:#fff;padding:18px 5vw;flex-direction:column;border-bottom:1px solid var(--line)}.nav.open{display:flex}.cards,.info-grid,.gallery-grid,.footer-grid,.admin-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.admin-wrap{grid-template-columns:1fr}.admin-nav{display:flex;overflow:auto;gap:4px}.admin-nav a{white-space:nowrap}.admin-main{padding:18px}}
@media(max-width:620px){.top-strip{font-size:11px}.nav-wrap{height:74px}.nav{top:74px}.hero{min-height:62vh;padding:60px 5vw}.section{padding:54px 5vw}.cards,.info-grid,.gallery-grid,.footer-grid,.admin-grid,.form-grid{grid-template-columns:1fr}.gallery-grid img{height:230px}.field.full{grid-column:auto}.section-head h2{font-size:34px}.footer-grid{gap:22px}}

.admin-brand{display:flex;align-items:center;gap:14px}.admin-brand img{width:230px;max-width:38vw;height:auto}.admin-brand span{font-size:11px;letter-spacing:2px;color:#d7c09a}
.login-logo{background:var(--forest2);padding:18px;margin:-22px -22px 24px}.login-logo img{width:100%;max-width:330px;margin:auto}
@media(max-width:900px){.brand-image{width:245px;max-width:55vw}.admin-brand img{width:190px}.nav.open{background:var(--forest2)}}
@media(max-width:620px){.nav-wrap{height:78px}.nav{top:78px}.brand-image{width:215px;max-width:62vw}.admin-brand img{width:150px;max-width:45vw}.admin-brand span{display:none}}


/* =========================================================
   ARDEN LOUNGE MEDITERRANEAN LUXURY UPGRADE
   ========================================================= */
:root{
  --ink:#18221e;
  --forest:#1d352c;
  --forest-deep:#0d1e18;
  --olive:#66715a;
  --sage:#89917c;
  --cream:#f5efe5;
  --ivory:#fffaf1;
  --sand:#dfccb0;
  --terracotta:#a75f43;
  --clay:#c6815e;
  --gold:#c59b5e;
  --gold-deep:#9f7440;
  --stone:#c8bba9;
  --muted:#6d716c;
  --line:#ddd1c1;
  --shadow:0 24px 70px rgba(21,31,26,.12);
}
html{scroll-behavior:smooth}
body.site-body{
  background:
    radial-gradient(circle at 10% 15%,rgba(197,155,94,.08),transparent 35%),
    radial-gradient(circle at 90% 80%,rgba(167,95,67,.07),transparent 30%),
    var(--ivory);
  color:var(--ink);
  font-family:'Montserrat',Arial,sans-serif;
  overflow-x:hidden;
}
body.site-body h1,body.site-body h2,body.site-body h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  letter-spacing:.01em;
}
.top-strip{
  min-height:38px;
  background:#091713;
  color:#f5efe5;
  padding:8px 4vw;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  font-size:11px;
  letter-spacing:.04em;
}
.top-left,.top-right{display:flex;align-items:center;gap:12px}
.top-right a{opacity:.9;transition:opacity .25s ease,color .25s ease}
.top-right a:hover{opacity:1;color:var(--gold)}
.top-divider{color:var(--gold)}
.live-status{display:inline-flex;align-items:center;gap:8px}
.status-dot{
  width:8px;height:8px;border-radius:50%;
  background:#c86a58;
  box-shadow:0 0 0 4px rgba(200,106,88,.13);
  flex:0 0 auto;
}
.live-status.is-open .status-dot,.hero-status-card.is-open .status-dot{
  background:#77a982;
  box-shadow:0 0 0 4px rgba(119,169,130,.15);
  animation:statusPulse 2.2s infinite;
}
.status-detail{opacity:.72}
@keyframes statusPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}

.nav-wrap{
  height:96px;
  padding:0 4vw;
  background:rgba(13,30,24,.94);
  border-bottom:1px solid rgba(197,155,94,.2);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:#fff;
  transition:height .3s ease,background .3s ease,box-shadow .3s ease;
}
body.scrolled .nav-wrap{
  height:78px;
  background:rgba(9,23,19,.985);
  box-shadow:0 12px 40px rgba(0,0,0,.18);
}
.brand-image{width:310px;max-width:31vw;transition:width .3s ease,transform .3s ease}
body.scrolled .brand-image{width:260px}
.brand-image:hover{transform:translateY(-1px)}
.nav a{
  position:relative;
  color:#f9f4ec;
  font-size:12px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:12px 0;
}
.nav a::after{
  content:"";
  position:absolute;
  left:0;bottom:4px;
  width:0;height:1px;
  background:var(--gold);
  transition:width .28s ease;
}
.nav a:hover::after{width:100%}
.header-book{border-radius:0;box-shadow:0 10px 30px rgba(197,155,94,.18)}

.btn{
  position:relative;
  overflow:hidden;
  padding:14px 22px;
  border:1px solid var(--forest);
  font-family:'Montserrat',Arial,sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(21,31,26,.13)}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-deep));border-color:var(--gold);color:#fff}
.btn-dark{background:linear-gradient(135deg,var(--forest),var(--forest-deep));color:#fff;border-color:var(--forest)}
.btn-outline-light{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.04)}
.btn-outline-light:hover{background:#fff;color:var(--forest);border-color:#fff}

.mediterranean-hero{
  position:relative;
  min-height:78vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:90px 5vw 110px;
  background:
    linear-gradient(105deg,rgba(7,21,17,.72),rgba(38,31,23,.35)),
    url('https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=2000&q=88') center/cover;
  color:#fff;
  overflow:hidden;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.08),rgba(4,16,12,.38));
  pointer-events:none;
}
.hero-decor{
  position:absolute;
  border:1px solid rgba(197,155,94,.24);
  border-radius:50%;
  pointer-events:none;
}
.hero-decor-one{width:420px;height:420px;left:-180px;top:12%;animation:floatSlow 8s ease-in-out infinite}
.hero-decor-two{width:280px;height:280px;right:-90px;bottom:5%;animation:floatSlow 10s ease-in-out infinite reverse}
@keyframes floatSlow{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(5deg)}}
.hero-inner{position:relative;z-index:2;max-width:860px}
.eyebrow,.meta{
  font-family:'Montserrat',Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:10px;
  font-weight:600;
  color:var(--gold);
}
.hero h1{
  font-size:clamp(54px,8vw,102px);
  margin:15px 0 10px;
  font-weight:600;
  text-shadow:0 8px 30px rgba(0,0,0,.15);
}
.hero p{
  max-width:680px;
  margin:0 auto 22px;
  font-size:16px;
  line-height:1.8;
  color:#f4eee6;
}
.hero-status-card{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 13px;
  margin:0 0 26px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(7,22,17,.36);
  backdrop-filter:blur(9px);
  font-size:11px;
}
.hero-status-card strong{text-transform:uppercase;letter-spacing:.08em;font-size:10px}
.hero-status-card span:last-child{opacity:.8}
.hero-actions{gap:12px}
.scroll-cue{
  position:absolute;
  left:50%;bottom:24px;
  transform:translateX(-50%);
  width:24px;height:40px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:20px;
  z-index:3;
}
.scroll-cue span{
  position:absolute;
  left:50%;top:8px;
  width:4px;height:4px;
  margin-left:-2px;
  background:#fff;border-radius:50%;
  animation:scrollCue 1.8s infinite;
}
@keyframes scrollCue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(15px)}}

.section{padding:86px 5vw}
.section.alt{background:var(--cream)}
.mediterranean-info{
  position:relative;
  background:linear-gradient(180deg,#f3eadf,#fbf6ee);
}
.mediterranean-info::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.info-grid{
  border-color:#d9c8b2;
  background:#d9c8b2;
  box-shadow:var(--shadow);
}
.info-box{
  position:relative;
  background:rgba(255,250,241,.96);
  padding:31px 26px;
  transition:transform .3s ease,background .3s ease;
}
.info-box:hover{transform:translateY(-5px);background:#fff}
.info-box h3{font-size:24px}

.mediterranean-story{background:#fffaf1}
.mediterranean-story .two-col{gap:70px;align-items:center}
.signature-line{display:flex;align-items:center;gap:16px;margin:6px 0 28px;color:var(--terracotta)}
.signature-line span{width:70px;height:1px;background:var(--gold)}
.signature-line em{font-family:'Cormorant Garamond',serif;font-size:23px}
.luxury-panel{
  position:relative;
  padding:48px;
  background:
    linear-gradient(145deg,rgba(29,53,44,.98),rgba(13,30,24,.98));
  color:#fff;
  box-shadow:0 28px 70px rgba(13,30,24,.22);
  overflow:hidden;
}
.luxury-panel::after{
  content:"";
  position:absolute;
  width:220px;height:220px;
  right:-100px;bottom:-100px;
  border:1px solid rgba(197,155,94,.35);
  border-radius:50%;
}
.luxury-panel h3{font-size:42px;margin:10px 0}
.luxury-panel p{color:#d9ded9;max-width:520px}
.olive-mark{
  position:absolute;
  right:28px;top:22px;
  color:var(--gold);
  font-size:24px;
}

.card,.review-card{
  border:1px solid #ded0bd;
  background:#fffaf2;
  box-shadow:0 16px 45px rgba(30,37,33,.06);
}
.card{
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 55px rgba(30,37,33,.1);
  border-color:#cdb58e;
}
.section.dark{
  position:relative;
  background:
    radial-gradient(circle at 10% 20%,rgba(197,155,94,.12),transparent 32%),
    linear-gradient(145deg,#0d211a,#18382d);
}
.section.dark .card{background:rgba(255,255,255,.05);border-color:rgba(197,155,94,.25);box-shadow:none}
.section-head h2{font-size:48px}
.menu-category h2{font-size:40px;color:var(--forest)}
.menu-item{padding:17px 0;border-color:#d8cab8}
.menu-item h3{font-family:'Montserrat',Arial,sans-serif;font-size:14px;letter-spacing:.02em}
.price{color:var(--terracotta)}
.form-card{
  border:1px solid #dbcbb5;
  box-shadow:var(--shadow);
  background:#fffaf2;
}
.field input,.field textarea,.field select{
  border:1px solid #d5c6b4;
  background:#fffdf9;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(197,155,94,.13);
}
.gallery-grid{gap:16px}
.gallery-grid img{
  height:300px;
  transition:transform .55s cubic-bezier(.22,.61,.36,1),filter .4s ease;
}
.gallery-grid img:hover{transform:scale(1.025);filter:saturate(1.06)}
.site-footer{
  position:relative;
  background:
    radial-gradient(circle at 80% 20%,rgba(197,155,94,.1),transparent 25%),
    #081712;
  border-top:1px solid rgba(197,155,94,.25);
}
.site-footer::before{
  content:"";
  position:absolute;left:5vw;right:5vw;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.footer-grid h3{color:#ead6b5}
.footer-grid a:hover{color:var(--gold)}

.reveal-up,.reveal-left,.reveal-right{
  opacity:0;
  transition:opacity .8s ease,transform .8s cubic-bezier(.22,.61,.36,1);
}
.reveal-up{transform:translateY(28px)}
.reveal-left{transform:translateX(-34px)}
.reveal-right{transform:translateX(34px)}
.is-revealed{opacity:1!important;transform:none!important}

.magnetic{will-change:transform}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  .reveal-up,.reveal-left,.reveal-right{opacity:1;transform:none}
}
@media(max-width:900px){
  .top-right a:first-child,.top-divider{display:none}
  .brand-image{width:255px;max-width:55vw}
  .nav.open{
    top:96px;
    background:rgba(9,23,19,.99);
    border-top:1px solid rgba(197,155,94,.15);
    padding-top:20px;padding-bottom:24px;
  }
  body.scrolled .nav.open{top:78px}
  .nav a{font-size:13px;padding:10px 0}
  .mediterranean-story .two-col{gap:32px}
}
@media(max-width:620px){
  .top-strip{padding:8px 5vw;min-height:36px}
  .status-detail{display:none}
  .nav-wrap{height:80px;padding:0 5vw}
  body.scrolled .nav-wrap{height:72px}
  .brand-image{width:225px;max-width:68vw}
  .nav.open{top:80px}
  body.scrolled .nav.open{top:72px}
  .mediterranean-hero{min-height:72vh;padding:78px 5vw 90px}
  .hero h1{font-size:clamp(49px,15vw,72px)}
  .hero p{font-size:14px}
  .hero-status-card{flex-wrap:wrap;justify-content:center;max-width:90%}
  .section{padding:62px 5vw}
  .section-head h2{font-size:39px}
  .luxury-panel{padding:35px 27px}
  .luxury-panel h3{font-size:35px}
  .info-grid{box-shadow:0 18px 45px rgba(21,31,26,.08)}
  .gallery-grid img{height:250px}
}


/* =========================================================
   OPENING HOURS DROPDOWN
   ========================================================= */
.ui-icon{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}
.hours-dropdown{
  position:relative;
  z-index:80;
}
.hours-trigger{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:30px;
  padding:0;
  border:0;
  background:transparent;
  color:#f7f2e9;
  font:inherit;
  cursor:pointer;
}
.hours-trigger strong{
  font-size:11px;
  font-weight:700;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.hours-trigger .status-detail{
  color:#d8d1c6;
  opacity:1;
}
.clock-icon{
  color:var(--gold);
}
.chevron-icon{
  width:14px;
  height:14px;
  margin-left:2px;
  color:#d1b17d;
  transition:transform .22s ease;
}
.hours-trigger[aria-expanded="true"] .chevron-icon{
  transform:rotate(180deg);
}
.hours-panel{
  position:absolute;
  left:0;
  top:calc(100% + 12px);
  width:min(370px,92vw);
  padding:0;
  background:#fffaf1;
  color:var(--ink);
  border:1px solid #d7c3a5;
  box-shadow:0 28px 70px rgba(4,16,12,.28);
  overflow:hidden;
  animation:hoursDrop .2s ease;
}
.hours-panel::before{
  content:"";
  position:absolute;
  top:-7px;
  left:25px;
  width:13px;
  height:13px;
  background:#fffaf1;
  border-left:1px solid #d7c3a5;
  border-top:1px solid #d7c3a5;
  transform:rotate(45deg);
}
@keyframes hoursDrop{
  from{opacity:0;transform:translateY(-7px)}
  to{opacity:1;transform:translateY(0)}
}
.hours-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px 16px;
  border-bottom:1px solid #e6dac9;
  background:
    radial-gradient(circle at 90% 10%,rgba(197,155,94,.12),transparent 35%),
    #fffaf1;
}
.hours-panel-head strong{
  display:block;
  margin-top:3px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:25px;
  font-weight:600;
}
.hours-kicker{
  display:block;
  color:var(--gold-deep);
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.panel-clock{
  width:25px;
  height:25px;
  color:var(--gold-deep);
}
.hours-list{
  padding:10px 0;
}
.hours-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
  align-items:center;
  padding:10px 22px;
  font-size:12px;
  border-left:2px solid transparent;
}
.hours-row.is-today{
  background:#f3eadf;
  border-left-color:var(--gold);
  font-weight:700;
}
.hours-day{
  font-weight:600;
}
.hours-time{
  text-align:right;
  color:#535c56;
  white-space:nowrap;
}
.hours-row.is-today .hours-time{
  color:var(--forest);
}
.hours-break{
  color:var(--gold);
  padding:0 3px;
}
.hours-panel-foot{
  padding:14px 22px 17px;
  border-top:1px solid #e6dac9;
  background:#f8f0e5;
}
.hours-panel-foot a{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--forest);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.top-right a{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.top-right .ui-icon{
  width:14px;
  height:14px;
  color:var(--gold);
}
@media(max-width:900px){
  .hours-panel{width:min(350px,90vw)}
}
@media(max-width:620px){
  .top-strip{
    position:relative;
    overflow:visible;
  }
  .hours-trigger{
    gap:7px;
  }
  .hours-trigger strong{
    font-size:10px;
  }
  .hours-trigger .status-detail{
    display:inline;
    font-size:10px;
  }
  .hours-panel{
    position:fixed;
    left:5vw;
    right:5vw;
    top:44px;
    width:auto;
    max-height:calc(100vh - 60px);
    overflow:auto;
  }
  .hours-panel::before{
    left:22px;
  }
  .hours-row{
    padding:10px 18px;
  }
  .top-right{
    display:none;
  }
}


/* =========================================================
   ARDEN LOUNGE SECTION OWNERSHIP MAP
   =========================================================
   TOP HEADER HTML:
   includes/layout/top-header.php

   NAVIGATION HTML:
   includes/layout/navigation.php

   BODY OPEN:
   includes/layout/body-start.php

   PAGE BODIES:
   index.php, menu.php, booking.php, events.php,
   gallery.php, reviews.php, contact.php

   FOOTER HTML:
   includes/layout/footer.php

   This comment is intentionally kept in the global stylesheet
   so future visual upgrades can identify the correct section.
   ========================================================= */


/* =========================================================
   MENU CATALOGUE
   Owns public menu presentation and back-office Menu Manager.
   ========================================================= */
.admin-page-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:22px;
}
.admin-page-head h1{margin:4px 0 6px}
.admin-page-head p{margin:0;max-width:760px;color:#69716c}
.menu-admin-tabs{
  display:flex;
  gap:10px;
  overflow:auto;
  padding:0 0 16px;
  margin-bottom:8px;
}
.menu-admin-tab{
  min-width:170px;
  padding:14px 16px;
  background:#fff;
  border:1px solid #ddd6ca;
}
.menu-admin-tab strong,.menu-admin-tab span,.menu-admin-tab em{display:block}
.menu-admin-tab strong{font-size:14px}
.menu-admin-tab span{font-size:11px;color:#757b76;margin-top:3px}
.menu-admin-tab em{font-size:10px;color:#9d2f2f;margin-top:5px}
.menu-admin-tab.active{
  background:#173129;
  color:#fff;
  border-color:#173129;
}
.menu-admin-tab.active span{color:#ccd8d1}
.menu-kpis .kpi-text{font-size:20px;line-height:1.2}
.menu-source-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.menu-source-card h2{margin:4px 0}
.menu-source-card p{margin:0;color:#6e746f}
.admin-menu-forms{align-items:start}
.menu-category-admin{padding:0;overflow:hidden}
.menu-category-admin-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:20px 22px;
  background:#fbf7f0;
  border-bottom:1px solid #e4ddd1;
}
.menu-category-admin-head h2{margin:4px 0;font-size:29px}
.menu-category-admin-head p{margin:0;color:#6c746f;max-width:700px}
.menu-manager-table td:first-child{min-width:360px}
.admin-item-description{
  margin-top:5px;
  color:#68706b;
  line-height:1.45;
}
.admin-item-options{
  margin-top:7px;
  color:#a75f43;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
}
.price-cell{font-weight:700;white-space:nowrap}
.menu-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.menu-actions form{margin:0}
.menu-actions .btn{padding:8px 10px;font-size:10px}

.menu-hero-section{border-bottom:1px solid #ded0bd}
.public-menu-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:24px;
}
.public-menu-tabs a{
  padding:11px 17px;
  border:1px solid #cdbda9;
  background:#fffaf1;
  color:#324039;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.public-menu-tabs a.active{
  background:var(--forest);
  border-color:var(--forest);
  color:#fff;
}
.menu-category-title{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:24px;
  padding-bottom:14px;
  border-bottom:1px solid var(--gold);
}
.menu-category-title h2{border:0;padding:0;margin:3px 0 5px}
.menu-category-title p{
  margin:0;
  color:var(--muted);
  max-width:760px;
  font-size:13px;
}
.menu-item-name-line{
  display:flex;
  align-items:center;
  gap:9px;
}
.menu-item-name-line h3{margin:0}
.dietary-badge{
  display:inline-grid;
  place-items:center;
  min-width:21px;
  height:21px;
  padding:0 5px;
  border:1px solid #65a65b;
  border-radius:50%;
  color:#4f9447;
  background:#f8fff5;
  font-size:9px;
  font-weight:800;
}
.menu-options{
  margin-top:6px;
  color:var(--terracotta);
  font-size:11px;
  font-weight:700;
  line-height:1.45;
}
.menu-allergy-notice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:42px;
  padding:18px 20px;
  border:1px solid #dbc9ae;
  background:#f9f0e3;
}
.menu-allergy-notice .ui-icon{
  width:20px;
  height:20px;
  color:var(--terracotta);
  margin-top:1px;
}
.menu-allergy-notice p{margin:0;font-size:12px;color:#5c625e}
@media(max-width:900px){
  .admin-page-head,.menu-source-card{align-items:flex-start;flex-direction:column}
  .menu-manager-table td:first-child{min-width:290px}
}
@media(max-width:620px){
  .menu-admin-tabs{margin-left:-4px;margin-right:-4px}
  .menu-admin-tab{min-width:145px}
  .menu-category-admin-head{padding:17px}
  .menu-item{align-items:flex-start}
  .menu-item .price{padding-top:2px}
  .menu-category-title h2{font-size:34px}
}


/* ============================================================
   ARDEN LOUNGE LUXURY SITE CHROME V3.0
   Top Header + Navigation + Mobile Menu + Footer
   ============================================================ */

.site-chrome-shell{
  width:min(1240px,92vw);
  margin-inline:auto;
}

.site-topbar .ui-icon,
.luxury-nav .ui-icon,
.luxury-footer .ui-icon,
.mobile-reserve-bar .ui-icon{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* ---------- TOP HEADER ---------- */
.site-topbar{
  position:relative;
  z-index:92;
  min-height:43px;
  background:
    radial-gradient(circle at 16% 20%,rgba(197,155,94,.08),transparent 24%),
    #071510;
  color:#f7f2ea;
  border-bottom:1px solid rgba(197,155,94,.12);
}

.site-topbar-inner{
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.site-topbar .hours-dropdown{
  position:relative;
  z-index:95;
}

.site-topbar .hours-trigger{
  min-height:43px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
  color:#f7f2ea;
  font-family:'Montserrat',Arial,sans-serif;
  cursor:pointer;
}

.topbar-icon{
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(197,155,94,.24);
  border-radius:50%;
  background:rgba(255,255,255,.035);
  color:#d3ad72;
}

.topbar-icon .ui-icon{
  width:14px;
  height:14px;
}

.site-topbar .live-status{
  display:flex;
  align-items:center;
  gap:8px;
}

.site-topbar .status-copy{
  display:flex;
  align-items:baseline;
  gap:7px;
}

.site-topbar .status-copy small{
  color:#9dadA5;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.site-topbar .hours-trigger strong{
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:none;
}

.site-topbar .status-detail{
  color:#c8d0cb;
  font-size:11px;
}

.topbar-chevron{
  width:13px!important;
  height:13px!important;
  margin-left:2px;
  color:#d6b57f;
  transition:transform .18s ease;
}

.site-topbar .hours-trigger[aria-expanded="true"] .topbar-chevron{
  transform:rotate(180deg);
}

.site-topbar .status-dot,
.footer-live-status .status-dot{
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:#c96d5e;
  box-shadow:0 0 0 4px rgba(201,109,94,.10);
}

.site-topbar .live-status.is-open .status-dot,
.footer-live-status.is-open .status-dot{
  background:#75a77f;
  box-shadow:0 0 0 4px rgba(117,167,127,.12);
}

.topbar-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
}

.topbar-links a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
  color:#cdd5d1;
  font-size:10px;
  font-weight:600;
  transition:color .18s ease;
}

.topbar-links a:hover{
  color:#e0bd87;
}

.topbar-links a span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.topbar-links .ui-icon{
  width:13px;
  height:13px;
  flex:0 0 auto;
  color:#c9a66d;
}

.topbar-separator{
  width:1px;
  height:14px;
  flex:0 0 auto;
  background:rgba(255,255,255,.12);
}

/* ---------- HOURS PANEL ---------- */
.site-topbar .hours-panel{
  position:absolute;
  left:0;
  top:calc(100% + 10px);
  width:min(390px,92vw);
  padding:0;
  overflow:hidden;
  border:1px solid #d3bea0;
  border-radius:15px;
  background:#fffaf2;
  color:#26352e;
  box-shadow:0 28px 75px rgba(2,13,9,.32);
  animation:chromeDrop .18s ease;
}

@keyframes chromeDrop{
  from{opacity:0;transform:translateY(-7px)}
  to{opacity:1;transform:none}
}

.site-topbar .hours-panel::before{
  display:none;
}

.hours-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:17px 18px;
  border-bottom:1px solid #e6dac9;
  background:
    radial-gradient(circle at 90% 10%,rgba(197,155,94,.11),transparent 34%),
    #fffaf2;
}

.hours-panel-title{
  display:flex;
  align-items:center;
  gap:10px;
}

.hours-panel-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#163229;
  color:#fff;
}

.hours-panel-title small{
  display:block;
  color:#a57b43;
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.hours-panel-title strong{
  display:block;
  margin-top:2px;
  font:600 26px/1 'Cormorant Garamond',Georgia,serif;
}

.hours-panel-close{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid #dfd2c1;
  border-radius:50%;
  background:#fff;
  color:#56645d;
  cursor:pointer;
}

.site-topbar .hours-list{
  padding:8px 0;
}

.site-topbar .hours-row{
  min-height:42px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:14px;
  padding:8px 18px;
  border-left:3px solid transparent;
  font-size:12px;
}

.site-topbar .hours-row.is-today{
  background:#f2e7d8;
  border-left-color:#bd9255;
}

.site-topbar .hours-day{
  display:flex;
  align-items:center;
  gap:7px;
  font-weight:700;
}

.site-topbar .hours-day small{
  padding:2px 5px;
  border-radius:999px;
  background:#18372d;
  color:#fff;
  font-size:8px;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.site-topbar .hours-time{
  color:#56615b;
  font-size:11px;
  font-weight:600;
  text-align:right;
  white-space:nowrap;
}

.site-topbar .hours-time>span{
  color:#bd9255;
}

.site-topbar .hours-panel-foot{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:12px 14px 14px;
  border-top:1px solid #e6dac9;
  background:#f8efe4;
}

.site-topbar .hours-panel-foot a{
  min-height:45px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:8px 10px;
  border-radius:9px;
  font-size:12px;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

.hours-book{
  background:#163229;
  color:#fff!important;
}

.hours-directions{
  border:1px solid #d4c6b5;
  background:#fff;
  color:#405048!important;
}

/* ---------- NAVIGATION ---------- */
.nav-wrap.luxury-nav{
  position:sticky;
  top:0;
  z-index:88;
  height:auto;
  padding:0;
  border-bottom:1px solid rgba(197,155,94,.20);
  background:rgba(12,29,23,.965);
  color:#fff;
  box-shadow:none;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transition:background .22s ease,box-shadow .22s ease;
}

body.scrolled .nav-wrap.luxury-nav{
  height:auto;
  background:rgba(7,21,16,.988);
  box-shadow:0 14px 38px rgba(0,0,0,.16);
}

.luxury-nav-inner{
  min-height:90px;
  display:flex;
  align-items:center;
  gap:24px;
  transition:min-height .22s ease;
}

body.scrolled .luxury-nav-inner{
  min-height:74px;
}

.luxury-brand{
  width:285px;
  max-width:27vw;
  min-width:180px;
  flex:0 0 auto;
  transition:width .22s ease;
}

body.scrolled .luxury-brand{
  width:245px;
}

.luxury-brand img{
  width:100%;
  height:auto;
}

.primary-nav{
  position:static;
  display:flex;
  align-items:center;
  gap:20px;
  margin-left:auto;
}

.primary-nav .nav-link,
.nav-menu-trigger{
  position:relative;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:4px 0;
  border:0;
  background:transparent;
  color:#ece8e1;
  cursor:pointer;
  font:700 12px/1 'Montserrat',Arial,sans-serif;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.primary-nav .nav-link::after,
.nav-menu-group>.nav-menu-trigger::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:4px;
  height:1px;
  background:#c49a5b;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}

.primary-nav .nav-link:hover::after,
.primary-nav .nav-link.is-active::after,
.nav-menu-group:hover>.nav-menu-trigger::after,
.nav-menu-group.is-active>.nav-menu-trigger::after,
.nav-menu-group.is-open>.nav-menu-trigger::after{
  transform:scaleX(1);
}

.primary-nav .nav-link:hover,
.primary-nav .nav-link.is-active,
.nav-menu-trigger:hover,
.nav-menu-group.is-active>.nav-menu-trigger{
  color:#e1bd84;
}

.nav-menu-trigger .ui-icon{
  width:13px;
  height:13px;
  transition:transform .18s ease;
}

.nav-menu-group{
  position:relative;
}

.nav-menu-group.is-open .nav-menu-trigger .ui-icon{
  transform:rotate(180deg);
}

.nav-menu-panel{
  position:absolute;
  left:50%;
  top:calc(100% + 15px);
  width:560px;
  padding:12px;
  border:1px solid #cfb993;
  border-radius:15px;
  background:#fffaf2;
  color:#27362f;
  box-shadow:0 28px 70px rgba(2,14,10,.30);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,-7px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.nav-menu-group:hover .nav-menu-panel,
.nav-menu-group.is-open .nav-menu-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}

.nav-menu-panel-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:15px;
  padding:5px 6px 11px;
  border-bottom:1px solid #e3d7c7;
}

.nav-menu-panel-head small{
  display:block;
  color:#9f7542;
  font-size:9px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.nav-menu-panel-head strong{
  display:block;
  margin-top:2px;
  font:600 25px/1 'Cormorant Garamond',Georgia,serif;
}

.nav-menu-panel-head>a{
  color:#815f37;
  font-size:11px;
  font-weight:700;
}

.nav-menu-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding-top:9px;
}

.nav-menu-grid>a{
  min-height:66px;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:9px;
  align-items:center;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:10px;
  background:#fff;
  color:#3e4c45;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}

.nav-menu-grid>a:hover{
  transform:translateY(-1px);
  border-color:#d5bea0;
  background:#f7eee2;
}

.nav-menu-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#163229;
  color:#fff;
}

.nav-menu-icon .ui-icon{
  width:17px;
  height:17px;
}

.nav-menu-grid strong{
  display:block;
  color:#27362f;
  font-size:13px;
}

.nav-menu-grid small{
  display:block;
  margin-top:2px;
  color:#7b817d;
  font-size:10px;
}

.luxury-book{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:0 0 auto;
  padding:9px 16px;
  border:1px solid #c49a5b;
  border-radius:999px;
  background:linear-gradient(135deg,#c49a5b,#9d713d);
  color:#fff;
  box-shadow:0 10px 26px rgba(196,154,91,.16);
  font:700 12px/1 'Montserrat',Arial,sans-serif;
  letter-spacing:.035em;
  transition:transform .18s ease,box-shadow .18s ease;
}

.luxury-book:hover{
  transform:translateY(-2px);
  box-shadow:0 15px 31px rgba(196,154,91,.22);
}

.luxury-book .ui-icon{
  width:15px;
  height:15px;
}

.luxury-menu-toggle{
  display:none;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  background:rgba(255,255,255,.04);
  color:#fff;
}

.luxury-menu-toggle span{
  width:19px;
  height:1.5px;
  display:block;
  margin:4px auto;
  border-radius:2px;
  background:currentColor;
  transition:transform .18s ease,opacity .18s ease;
}

.luxury-menu-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(5.5px) rotate(45deg);
}

.luxury-menu-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}

.luxury-menu-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-5.5px) rotate(-45deg);
}

.mobile-nav-contact,
.mobile-nav-book{
  display:none;
}

.nav-overlay{
  display:none;
}

/* ---------- FOOTER ---------- */
.site-footer.luxury-footer{
  position:relative;
  padding:0;
  overflow:hidden;
  border-top:1px solid rgba(196,154,91,.30);
  background:
    radial-gradient(circle at 84% 18%,rgba(196,154,91,.10),transparent 26%),
    radial-gradient(circle at 9% 90%,rgba(167,95,67,.06),transparent 22%),
    #071510;
  color:#fff;
}

.site-footer.luxury-footer::before{
  content:"";
  position:absolute;
  left:5vw;
  right:5vw;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#c49a5b,transparent);
}

.footer-cta{
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
}

.footer-cta-inner{
  min-height:125px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.footer-cta-copy{
  display:flex;
  align-items:center;
  gap:15px;
}

.footer-cta-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(196,154,91,.35);
  border-radius:50%;
  background:rgba(196,154,91,.08);
  color:#d8b57f;
}

.footer-cta-icon .ui-icon{
  width:23px;
  height:23px;
}

.footer-cta-copy small{
  display:block;
  color:#d1ad75;
  font-size:10px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.footer-cta-copy strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font:600 clamp(27px,3vw,38px)/1 'Cormorant Garamond',Georgia,serif;
}

.footer-cta-actions{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}

.footer-cta-actions a{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 15px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}

.footer-reserve{
  background:linear-gradient(135deg,#c49a5b,#9d713d);
  color:#fff!important;
}

.footer-directions{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.035);
  color:#e5e8e6!important;
}

.footer-main{
  display:grid;
  grid-template-columns:1.3fr .7fr 1.2fr 1.15fr;
  gap:44px;
  padding-top:55px;
  padding-bottom:47px;
}

.footer-brand{
  width:255px;
  max-width:100%;
  display:block;
}

.footer-brand img{
  width:100%;
  height:auto;
}

.footer-intro{
  max-width:335px;
  margin:18px 0;
  color:#aebbb5;
  font-size:12px;
  line-height:1.65;
}

.footer-address{
  display:flex;
  align-items:flex-start;
  gap:8px;
  max-width:335px;
  color:#d6ddd9!important;
  font-size:12px!important;
  line-height:1.5;
}

.footer-address .ui-icon{
  width:16px;
  height:16px;
  flex:0 0 auto;
  margin-top:2px;
  color:#c9a56e;
}

.luxury-footer .footer-column h3{
  margin:1px 0 17px;
  color:#e6c899;
  font:600 21px/1 'Cormorant Garamond',Georgia,serif;
}

.footer-links{
  display:grid;
  gap:8px;
}

.footer-links a{
  width:max-content;
  position:relative;
  padding:2px 0;
  color:#b8c2bd!important;
  font-size:12px!important;
  transition:color .18s ease,transform .18s ease;
}

.footer-links a:hover{
  transform:translateX(3px);
  color:#e1bd84!important;
}

.footer-live-status{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:11px;
  padding-bottom:11px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.footer-live-status>span:last-child{
  display:flex;
  flex-direction:column;
}

.footer-live-status strong{
  color:#fff;
  font-size:11px;
}

.footer-live-status small{
  margin-top:1px;
  color:#94a49c;
  font-size:9px;
}

.footer-hours-list{
  display:grid;
  gap:5px;
}

.footer-hours-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  color:#9eaca5;
  font-size:10px;
}

.footer-hours-row strong{
  color:#cbd3cf;
  font-size:10px;
  font-weight:600;
  text-align:right;
  white-space:nowrap;
}

.footer-hours-row.is-today span,
.footer-hours-row.is-today strong{
  color:#e2be84;
}

.footer-contact-links{
  display:grid;
  gap:8px;
}

.footer-contact-links>a{
  display:grid;
  grid-template-columns:35px minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:7px 0;
  color:#d7dedb!important;
}

.footer-contact-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(196,154,91,.20);
  border-radius:50%;
  background:rgba(255,255,255,.025);
  color:#d1ad75;
}

.footer-contact-links small{
  display:block;
  color:#84958c;
  font-size:9px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.footer-contact-links strong{
  display:block;
  margin-top:1px;
  overflow-wrap:anywhere;
  color:#d7dedb;
  font-size:11px;
}

.footer-review-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:14px;
}

.footer-review-links a{
  min-height:49px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:7px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:9px;
  background:rgba(255,255,255,.025);
  color:#e5e9e7!important;
  font-size:11px!important;
  font-weight:700;
}

.footer-review-links span{
  margin-top:1px;
  color:#8fa097;
  font-size:8px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.luxury-footer-bottom{
  min-height:61px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:0;
  padding-top:0;
  border-top:1px solid rgba(255,255,255,.08);
  color:#71847a;
  font-size:9px;
  letter-spacing:.04em;
}

.footer-bottom-mark{
  color:#84968d;
}

.mobile-reserve-bar{
  display:none;
}

/* ---------- RESPONSIVE NAVIGATION ---------- */
@media(max-width:1100px){
  .primary-nav{
    gap:14px;
  }

  .primary-nav .nav-link,
  .nav-menu-trigger{
    font-size:11px;
  }

  .luxury-brand{
    width:235px;
    max-width:24vw;
  }

  .luxury-book{
    padding-inline:13px;
  }

  .footer-main{
    grid-template-columns:1.25fr .75fr 1fr;
  }

  .footer-contact-column{
    grid-column:2 / 4;
  }
}

@media(max-width:900px){
  .site-topbar-inner{
    justify-content:center;
  }

  .topbar-links{
    display:none;
  }

  .site-topbar .hours-dropdown{
    width:100%;
  }

  .site-topbar .hours-trigger{
    width:100%;
    justify-content:center;
  }

  .nav-wrap.luxury-nav{
    z-index:90;
  }

  .luxury-nav-inner,
  body.scrolled .luxury-nav-inner{
    min-height:78px;
  }

  .luxury-brand,
  body.scrolled .luxury-brand{
    width:225px;
    max-width:60vw;
  }

  .luxury-book{
    display:none;
  }

  .luxury-menu-toggle{
    display:block;
    margin-left:auto;
    flex:0 0 auto;
  }

  .primary-nav{
    position:fixed;
    top:121px;
    right:0;
    bottom:0;
    width:min(420px,92vw);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
    padding:17px 18px 24px;
    overflow:auto;
    border-left:1px solid rgba(196,154,91,.18);
    background:
      radial-gradient(circle at 90% 5%,rgba(196,154,91,.11),transparent 24%),
      #0a1d17;
    box-shadow:-24px 0 60px rgba(0,0,0,.30);
    transform:translateX(105%);
    opacity:0;
    pointer-events:none;
    transition:transform .24s ease,opacity .24s ease;
  }

  body.scrolled .primary-nav{
    top:121px;
  }

  .primary-nav.open{
    transform:none;
    opacity:1;
    pointer-events:auto;
  }

  .primary-nav .nav-link,
  .nav-menu-trigger{
    min-height:54px;
    justify-content:space-between;
    width:100%;
    padding:11px 4px;
    border-bottom:1px solid rgba(255,255,255,.075);
    color:#f0ece5;
    font-size:14px;
    letter-spacing:.02em;
    text-align:left;
    text-transform:none;
  }

  .primary-nav .nav-link::after,
  .nav-menu-group>.nav-menu-trigger::after{
    display:none;
  }

  .primary-nav .nav-link.is-active,
  .nav-menu-group.is-active>.nav-menu-trigger{
    color:#dfbd88;
  }

  .nav-menu-group{
    position:static;
  }

  .nav-menu-panel{
    position:static;
    width:auto;
    max-height:0;
    padding:0;
    overflow:hidden;
    border:0;
    border-radius:0;
    background:transparent;
    color:#fff;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:none;
    transform:none;
    transition:max-height .25s ease,padding .25s ease;
  }

  .nav-menu-group:hover .nav-menu-panel{
    max-height:0;
    padding:0;
  }

  .nav-menu-group.is-open .nav-menu-panel{
    max-height:520px;
    padding:6px 0 12px;
    pointer-events:auto;
  }

  .nav-menu-panel-head{
    display:none;
  }

  .nav-menu-grid{
    grid-template-columns:1fr;
    gap:5px;
    padding:0;
  }

  .nav-menu-grid>a{
    min-height:56px;
    padding:8px 9px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.035);
    color:#fff;
  }

  .nav-menu-grid>a:hover{
    transform:none;
    border-color:rgba(196,154,91,.28);
    background:rgba(196,154,91,.08);
  }

  .nav-menu-grid strong{
    color:#fff;
    font-size:13px;
  }

  .nav-menu-grid small{
    color:#9daca4;
    font-size:10px;
  }

  .nav-menu-icon{
    width:34px;
    height:34px;
    background:rgba(196,154,91,.14);
    color:#e0bd87;
  }

  .mobile-nav-contact{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:18px;
  }

  .mobile-nav-contact a{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:9px;
    background:rgba(255,255,255,.035);
    color:#d9dfdc;
    font-size:12px;
    font-weight:700;
  }

  .mobile-nav-contact .ui-icon{
    color:#d1ad75;
  }

  .mobile-nav-book{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:9px;
    border-radius:9px;
    background:linear-gradient(135deg,#c49a5b,#9d713d);
    color:#fff;
    font-size:14px;
    font-weight:700;
  }

  .nav-overlay{
    position:fixed;
    inset:121px 0 0;
    z-index:-1;
    display:block;
    width:100%;
    height:auto;
    border:0;
    background:rgba(2,11,8,.54);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
  }

  .nav-overlay.show{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  body.nav-open{
    overflow:hidden;
  }

  .footer-main{
    grid-template-columns:1fr 1fr;
    gap:32px;
  }

  .footer-contact-column{
    grid-column:auto;
  }
}

@media(max-width:620px){
  .site-topbar{
    min-height:40px;
  }

  .site-topbar-inner,
  .site-topbar .hours-trigger{
    min-height:40px;
  }

  .topbar-icon{
    width:26px;
    height:26px;
  }

  .site-topbar .status-copy small{
    display:none;
  }

  .site-topbar .status-detail{
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
  }

  .site-topbar .hours-panel{
    position:fixed;
    left:4vw;
    right:4vw;
    top:48px;
    width:auto;
    max-height:calc(100vh - 62px);
    overflow:auto;
  }

  .site-topbar .hours-panel-foot{
    grid-template-columns:1fr;
  }

  .luxury-nav-inner,
  body.scrolled .luxury-nav-inner{
    min-height:70px;
  }

  .luxury-brand,
  body.scrolled .luxury-brand{
    width:205px;
    max-width:66vw;
  }

  .luxury-menu-toggle{
    width:45px;
    height:45px;
  }

  .primary-nav,
  body.scrolled .primary-nav{
    top:110px;
    width:100%;
    padding:12px 5vw 94px;
  }

  .nav-overlay{
    inset:110px 0 0;
  }

  .footer-cta-inner{
    min-height:auto;
    align-items:flex-start;
    flex-direction:column;
    padding-top:30px;
    padding-bottom:30px;
  }

  .footer-cta-copy{
    align-items:flex-start;
  }

  .footer-cta-icon{
    width:46px;
    height:46px;
  }

  .footer-cta-copy strong{
    font-size:29px;
  }

  .footer-cta-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }

  .footer-cta-actions a{
    min-height:48px;
  }

  .footer-main{
    grid-template-columns:1fr;
    gap:31px;
    padding-top:39px;
    padding-bottom:35px;
  }

  .footer-brand{
    width:235px;
  }

  .footer-intro,
  .footer-address{
    max-width:none;
  }

  .footer-hours-row{
    font-size:10px;
  }

  .footer-hours-row strong{
    font-size:10px;
  }

  .footer-review-links{
    max-width:420px;
  }

  .luxury-footer-bottom{
    min-height:auto;
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
    padding-top:17px;
    padding-bottom:92px;
  }

  .mobile-reserve-bar{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:75;
    min-height:61px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 15px;
    border:1px solid rgba(231,204,158,.55);
    border-radius:16px;
    background:rgba(13,35,28,.97);
    color:#fff;
    box-shadow:0 18px 45px rgba(0,0,0,.28);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .mobile-reserve-bar span{
    display:flex;
    flex-direction:column;
  }

  .mobile-reserve-bar small{
    color:#d5b27a;
    font-size:9px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .mobile-reserve-bar strong{
    margin-top:1px;
    font-size:14px;
  }

  .mobile-reserve-bar .ui-icon{
    width:20px;
    height:20px;
    color:#e4c48f;
  }
}

@media(prefers-reduced-motion:reduce){
  .nav-menu-panel,
  .primary-nav,
  .nav-overlay,
  .luxury-menu-toggle span{
    transition:none!important;
  }
}


/* ============================================================
   MOBILE NAVIGATION FIX V3.2
   Dynamic top offset, cleaner drawer, better accordion,
   safer scrolling and mobile reserve behaviour.
   ============================================================ */

:root{
  --mobile-nav-top:110px;
}

@media(max-width:900px){
  /* Keep the main nav itself stable */
  .nav-wrap.luxury-nav{
    position:sticky;
    top:0;
    z-index:100;
  }

  .luxury-nav-inner,
  body.scrolled .luxury-nav-inner{
    min-height:72px;
  }

  .luxury-brand,
  body.scrolled .luxury-brand{
    width:210px;
    max-width:62vw;
  }

  .luxury-menu-toggle{
    position:relative;
    z-index:104;
    display:grid;
    place-items:center;
    flex:0 0 46px;
    width:46px;
    height:46px;
    margin-left:auto;
    border:1px solid rgba(216,181,126,.24);
    background:rgba(255,255,255,.035);
    box-shadow:none;
  }

  /* Drawer now follows the real nav bottom, not a hard-coded height */
  .primary-nav{
    top:var(--mobile-nav-top) !important;
    right:0;
    bottom:0;
    width:min(420px,100vw);
    padding:10px 16px 96px;
    border-left:1px solid rgba(196,154,91,.16);
    background:
      radial-gradient(circle at 92% 4%,rgba(196,154,91,.13),transparent 26%),
      linear-gradient(180deg,#0b2119 0%,#071611 100%);
    box-shadow:-22px 0 58px rgba(0,0,0,.34);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  .primary-nav.open{
    transform:none;
    opacity:1;
  }

  .nav-overlay{
    inset:var(--mobile-nav-top) 0 0 !important;
    z-index:98;
  }

  /* Main links become clean full-width rows */
  .primary-nav .nav-link,
  .nav-menu-trigger{
    min-height:54px;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 4px;
    border-bottom:1px solid rgba(255,255,255,.075);
    color:#f3eee7;
    font-size:15px;
    font-weight:700;
    letter-spacing:.01em;
    text-transform:none;
  }

  .primary-nav .nav-link.is-active,
  .nav-menu-group.is-active>.nav-menu-trigger{
    color:#e1bd84;
  }

  .primary-nav .nav-link.is-active::before{
    content:"";
    width:5px;
    height:5px;
    flex:0 0 auto;
    margin-right:auto;
    border-radius:50%;
    background:#c49a5b;
    box-shadow:0 0 0 4px rgba(196,154,91,.09);
  }

  .nav-menu-trigger .ui-icon{
    width:16px;
    height:16px;
    flex:0 0 auto;
  }

  .nav-menu-group.is-open .nav-menu-trigger{
    color:#e4c38d;
    border-bottom-color:rgba(196,154,91,.18);
  }

  /* Better accordion spacing */
  .nav-menu-panel,
  .nav-menu-group:hover .nav-menu-panel{
    max-height:0;
    padding:0;
    margin:0;
    opacity:1;
    visibility:visible;
    pointer-events:none;
    transition:max-height .28s ease,padding .28s ease,margin .28s ease;
  }

  .nav-menu-group.is-open .nav-menu-panel{
    max-height:520px;
    padding:8px 0 10px;
    margin:0 0 4px;
    pointer-events:auto;
  }

  .nav-menu-grid{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }

  .nav-menu-grid>a{
    min-height:74px;
    grid-template-columns:34px minmax(0,1fr);
    gap:8px;
    padding:10px;
    border:1px solid rgba(255,255,255,.085);
    border-radius:11px;
    background:rgba(255,255,255,.035);
  }

  .nav-menu-grid>a:hover,
  .nav-menu-grid>a:focus-visible{
    border-color:rgba(196,154,91,.30);
    background:rgba(196,154,91,.08);
  }

  .nav-menu-icon{
    width:32px;
    height:32px;
  }

  .nav-menu-grid strong{
    font-size:12px;
    line-height:1.2;
  }

  .nav-menu-grid small{
    margin-top:3px;
    font-size:9px;
    line-height:1.3;
  }

  /* Contact controls at drawer bottom */
  .mobile-nav-contact{
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:16px;
  }

  .mobile-nav-contact a{
    min-height:46px;
    padding:8px 9px;
    border-radius:9px;
    font-size:11px;
  }

  .mobile-nav-book{
    min-height:52px;
    margin-top:8px;
    border-radius:10px;
    font-size:14px;
    box-shadow:0 10px 24px rgba(196,154,91,.16);
  }

  /* Don't show two reserve CTAs while drawer is open */
  body.nav-open .mobile-reserve-bar{
    opacity:0;
    pointer-events:none;
    transform:translateY(12px);
  }

  .mobile-reserve-bar{
    transition:
      opacity .18s ease,
      transform .18s ease;
  }
}

@media(max-width:620px){
  :root{
    --mobile-nav-top:110px;
  }

  .site-topbar{
    min-height:38px;
  }

  .site-topbar-inner,
  .site-topbar .hours-trigger{
    min-height:38px;
  }

  .luxury-nav-inner,
  body.scrolled .luxury-nav-inner{
    min-height:68px;
  }

  .luxury-brand,
  body.scrolled .luxury-brand{
    width:190px;
    max-width:64vw;
  }

  .luxury-menu-toggle{
    flex-basis:43px;
    width:43px;
    height:43px;
  }

  .primary-nav{
    width:100vw;
    padding:8px 14px 92px;
    border-left:0;
  }

  .primary-nav .nav-link,
  .nav-menu-trigger{
    min-height:52px;
    font-size:15px;
  }

  .nav-menu-grid{
    grid-template-columns:1fr;
    gap:6px;
  }

  .nav-menu-grid>a{
    min-height:58px;
    grid-template-columns:34px minmax(0,1fr);
  }

  .nav-menu-grid small{
    display:none;
  }

  .mobile-nav-contact{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:390px){
  .luxury-brand,
  body.scrolled .luxury-brand{
    width:175px;
  }

  .primary-nav{
    padding-left:12px;
    padding-right:12px;
  }

  .mobile-nav-contact{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   MOBILE NAVIGATION VISIBILITY FIX V3.3
   Fixes overlay layering, supports old + new nav markup,
   and makes the mobile Menu control obvious.
   ============================================================ */

@media(max-width:900px){
  /* Support both the current .primary-nav and older .nav markup */
  .nav-wrap .nav{
    z-index:103 !important;
  }

  .nav-wrap .nav.primary-nav,
  .nav-wrap .primary-nav{
    display:flex !important;
    position:fixed !important;
    top:var(--mobile-nav-top, 110px) !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    width:min(420px,100vw) !important;
    max-width:100vw !important;
    height:auto !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    visibility:visible;
    transform:translateX(105%);
    opacity:0;
    pointer-events:none;
    z-index:103 !important;
  }

  body.nav-open .nav-wrap .nav,
  .nav-wrap .nav.open,
  .nav-wrap .primary-nav.open{
    display:flex !important;
    visibility:visible !important;
    transform:translateX(0) !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  /* Overlay MUST stay behind the actual menu drawer */
  .nav-wrap .nav-overlay,
  .nav-overlay{
    z-index:101 !important;
  }

  /* Main nav chrome and toggle stay above overlay */
  .luxury-nav-inner,
  .nav-wrap>.site-chrome-shell,
  .nav-wrap>.container{
    position:relative;
    z-index:104;
  }

  /* Clear, visible MENU pill */
  .nav-wrap .menu-toggle,
  .luxury-menu-toggle{
    position:relative;
    z-index:105 !important;
    width:auto !important;
    min-width:86px;
    height:44px !important;
    min-height:44px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:9px;
    flex:0 0 auto !important;
    padding:0 12px !important;
    border:1px solid rgba(216,181,126,.38) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.055) !important;
    color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
    cursor:pointer;
  }

  .menu-toggle-label{
    display:block !important;
    color:#f3eee6;
    font:700 11px/1 'Montserrat',Arial,sans-serif;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .menu-toggle-bars{
    width:18px;
    height:16px;
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    flex:0 0 auto;
  }

  .menu-toggle-bars i{
    width:18px;
    height:1.5px;
    display:block;
    margin:0 !important;
    border-radius:2px;
    background:#d9b679;
    transform-origin:center;
    transition:transform .18s ease,opacity .18s ease;
  }

  .luxury-menu-toggle[aria-expanded="true"] .menu-toggle-bars i:nth-child(1),
  .menu-toggle[aria-expanded="true"] .menu-toggle-bars i:nth-child(1){
    transform:translateY(5.5px) rotate(45deg);
  }

  .luxury-menu-toggle[aria-expanded="true"] .menu-toggle-bars i:nth-child(2),
  .menu-toggle[aria-expanded="true"] .menu-toggle-bars i:nth-child(2){
    opacity:0;
  }

  .luxury-menu-toggle[aria-expanded="true"] .menu-toggle-bars i:nth-child(3),
  .menu-toggle[aria-expanded="true"] .menu-toggle-bars i:nth-child(3){
    transform:translateY(-5.5px) rotate(-45deg);
  }

  /* Prevent old hamburger span rules from affecting the new label */
  .luxury-menu-toggle>.menu-toggle-label,
  .luxury-menu-toggle>.menu-toggle-bars{
    width:auto;
    margin:0;
    height:auto;
    background:transparent;
  }

  /* Force visible content in the open drawer */
  body.nav-open .primary-nav>*,
  .primary-nav.open>*{
    visibility:visible !important;
    opacity:1 !important;
  }
}

@media(max-width:620px){
  .nav-wrap .nav.primary-nav,
  .nav-wrap .primary-nav{
    width:100vw !important;
    border-left:0 !important;
  }

  /* Full-width phone drawer does not need a screen overlay */
  .nav-overlay{
    display:none !important;
  }

  .nav-wrap .menu-toggle,
  .luxury-menu-toggle{
    min-width:82px;
    height:42px !important;
    min-height:42px;
    padding-inline:11px !important;
  }

  .menu-toggle-label{
    font-size:10px;
  }
}


/* ============================================================
   MOBILE NAVIGATION GUARANTEED PANEL V3.4
   Phone/tablet navigation is a full-width panel under the header.
   No overlay dependency. Menu choices are immediately visible.
   ============================================================ */

.mobile-nav-panel-head{
  display:none;
}

@media(max-width:900px){
  .nav-wrap.luxury-nav{
    overflow:visible !important;
  }

  /* Closed state */
  .nav-wrap .primary-nav,
  .nav-wrap .nav.primary-nav{
    display:none !important;
    position:fixed !important;
    top:var(--mobile-nav-top,110px) !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100vw !important;
    max-width:none !important;
    height:calc(100dvh - var(--mobile-nav-top,110px)) !important;
    margin:0 !important;
    padding:0 16px 96px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    border:0 !important;
    background:
      radial-gradient(circle at 90% 4%,rgba(196,154,91,.14),transparent 27%),
      linear-gradient(180deg,#0c241c 0%,#071611 100%) !important;
    box-shadow:0 20px 60px rgba(0,0,0,.34) !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    z-index:9999 !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  /* Open state */
  body.nav-open .nav-wrap .primary-nav,
  .nav-wrap .primary-nav.open,
  .nav-wrap .nav.primary-nav.open{
    display:flex !important;
  }

  /* Overlay not needed for this full-width mobile panel */
  .nav-overlay,
  .nav-wrap .nav-overlay{
    display:none !important;
  }

  .mobile-nav-panel-head{
    position:sticky;
    top:0;
    z-index:3;
    min-height:69px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 -16px 4px;
    padding:12px 16px;
    border-bottom:1px solid rgba(196,154,91,.18);
    background:rgba(8,25,19,.98);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .mobile-nav-panel-head small{
    display:block;
    color:#caa66e;
    font-size:9px;
    font-weight:700;
    letter-spacing:.11em;
    text-transform:uppercase;
  }

  .mobile-nav-panel-head strong{
    display:block;
    margin-top:2px;
    color:#fff;
    font:600 27px/1 'Cormorant Garamond',Georgia,serif;
  }

  .mobile-nav-close{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border:1px solid rgba(255,255,255,.14);
    border-radius:50%;
    background:rgba(255,255,255,.045);
    color:#e5c38e;
    cursor:pointer;
  }

  .mobile-nav-close .ui-icon{
    width:18px;
    height:18px;
  }

  /* Main navigation rows */
  .primary-nav>.nav-link,
  .primary-nav>.nav-menu-group>.nav-menu-trigger{
    min-height:54px !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:11px 4px !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.075) !important;
    background:transparent !important;
    color:#f2eee7 !important;
    font:700 15px/1.2 'Montserrat',Arial,sans-serif !important;
    letter-spacing:.01em !important;
    text-transform:none !important;
  }

  .primary-nav>.nav-link.is-active,
  .primary-nav>.nav-menu-group.is-active>.nav-menu-trigger{
    color:#e2be86 !important;
  }

  /* Always show the menu cards inside the opened mobile navigation */
  .primary-nav .nav-menu-group{
    width:100% !important;
  }

  .primary-nav .nav-menu-panel,
  .primary-nav .nav-menu-group:hover .nav-menu-panel,
  .primary-nav .nav-menu-group.is-open .nav-menu-panel{
    position:static !important;
    width:100% !important;
    max-height:none !important;
    display:block !important;
    margin:0 !important;
    padding:9px 0 13px !important;
    overflow:visible !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
  }

  .primary-nav .nav-menu-trigger .ui-icon{
    transform:rotate(180deg) !important;
  }

  .primary-nav .nav-menu-panel-head{
    display:none !important;
  }

  .primary-nav .nav-menu-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
    padding:0 !important;
  }

  .primary-nav .nav-menu-grid>a{
    min-height:75px !important;
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) !important;
    gap:8px !important;
    align-items:center !important;
    padding:10px !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-radius:11px !important;
    background:rgba(255,255,255,.04) !important;
    color:#fff !important;
  }

  .primary-nav .nav-menu-grid>a:active,
  .primary-nav .nav-menu-grid>a:hover{
    border-color:rgba(196,154,91,.32) !important;
    background:rgba(196,154,91,.09) !important;
  }

  .primary-nav .nav-menu-icon{
    width:34px !important;
    height:34px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    background:rgba(196,154,91,.14) !important;
    color:#e1bd85 !important;
  }

  .primary-nav .nav-menu-grid strong{
    display:block !important;
    color:#fff !important;
    font-size:12px !important;
    line-height:1.2 !important;
  }

  .primary-nav .nav-menu-grid small{
    display:block !important;
    margin-top:3px !important;
    color:#9daca4 !important;
    font-size:9px !important;
    line-height:1.3 !important;
  }

  .mobile-nav-contact{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
    margin-top:17px !important;
  }

  .mobile-nav-contact a{
    min-height:48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    padding:8px !important;
    border:1px solid rgba(255,255,255,.11) !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.035) !important;
    color:#dce2df !important;
    font-size:11px !important;
    font-weight:700 !important;
  }

  .mobile-nav-book{
    min-height:54px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-top:8px !important;
    border-radius:10px !important;
    background:linear-gradient(135deg,#c49a5b,#9d713d) !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:700 !important;
  }

  body.nav-open .mobile-reserve-bar{
    display:none !important;
  }
}

@media(max-width:620px){
  .nav-wrap .primary-nav,
  .nav-wrap .nav.primary-nav{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .mobile-nav-panel-head{
    margin-left:-14px;
    margin-right:-14px;
    padding-left:14px;
    padding-right:14px;
  }

  .primary-nav .nav-menu-grid{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }

  .primary-nav .nav-menu-grid>a{
    min-height:59px !important;
  }

  .primary-nav .nav-menu-grid small{
    display:none !important;
  }
}

@media(max-width:390px){
  .mobile-nav-contact{
    grid-template-columns:1fr !important;
  }
}


/* ============================================================
   WHATSAPP CONTACT V3.5
   Top Header + Mobile Navigation + Footer
   ============================================================ */

.whatsapp-icon{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
}

.whatsapp-svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.topbar-whatsapp{
  color:#d8e6df !important;
}

.topbar-whatsapp .whatsapp-icon{
  width:19px;
  height:19px;
  border:1px solid rgba(116,190,143,.32);
  border-radius:50%;
  background:rgba(67,153,94,.10);
  color:#8fc69f;
}

.topbar-whatsapp .whatsapp-svg{
  width:12px !important;
  height:12px !important;
}

.topbar-whatsapp:hover{
  color:#9bd0aa !important;
}

.footer-contact-icon.whatsapp{
  border-color:rgba(104,178,126,.25);
  background:rgba(70,145,91,.08);
  color:#8dc39c;
}

.footer-whatsapp:hover .footer-contact-icon.whatsapp{
  border-color:rgba(104,178,126,.42);
  background:rgba(70,145,91,.13);
}

@media(max-width:900px){
  .mobile-nav-contact{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .mobile-nav-contact .mobile-whatsapp{
    border-color:rgba(105,183,128,.22) !important;
    background:rgba(70,145,91,.07) !important;
    color:#e0eee5 !important;
  }

  .mobile-nav-contact .mobile-whatsapp .whatsapp-icon{
    width:20px;
    height:20px;
    color:#91c7a0;
  }

  .mobile-nav-contact .mobile-whatsapp .whatsapp-svg{
    width:18px;
    height:18px;
  }
}

@media(max-width:620px){
  .mobile-nav-contact{
    grid-template-columns:1fr !important;
  }

  .mobile-nav-contact a{
    font-size:18px !important;
  }

  .mobile-nav-contact .mobile-whatsapp{
    min-height:50px !important;
  }

  .footer-contact-links>a{
    min-height:54px;
  }
}


/* ============================================================
   FOOTER READABILITY FIX V3.6
   Fixed site standard:
   controls/links = 18px
   item titles = 16px
   supporting text = 14px
   ============================================================ */

.luxury-footer .footer-cta-copy small{
  font-size:14px !important;
  line-height:1.4;
}

.luxury-footer .footer-cta-copy strong{
  font-size:clamp(30px,3vw,42px) !important;
  line-height:1.05 !important;
}

.luxury-footer .footer-cta-actions a{
  min-height:54px !important;
  padding:11px 19px !important;
  font-size:18px !important;
}

.luxury-footer .footer-main{
  gap:52px !important;
  padding-top:62px !important;
  padding-bottom:55px !important;
}

.luxury-footer .footer-brand{
  width:285px !important;
}

.luxury-footer .footer-intro{
  max-width:390px !important;
  margin:20px 0 !important;
  font-size:14px !important;
  line-height:1.7 !important;
}

.luxury-footer .footer-address{
  max-width:390px !important;
  gap:10px !important;
  font-size:14px !important;
  line-height:1.6 !important;
}

.luxury-footer .footer-address .ui-icon{
  width:19px !important;
  height:19px !important;
  margin-top:2px !important;
}

.luxury-footer .footer-column h3{
  margin-bottom:20px !important;
  font-size:28px !important;
  line-height:1 !important;
}

.luxury-footer .footer-links{
  gap:10px !important;
}

.luxury-footer .footer-links a{
  padding:4px 0 !important;
  font-size:18px !important;
  line-height:1.35 !important;
}

.luxury-footer .footer-live-status{
  gap:10px !important;
  margin-bottom:15px !important;
  padding-bottom:15px !important;
}

.luxury-footer .footer-live-status strong{
  font-size:16px !important;
  line-height:1.35 !important;
}

.luxury-footer .footer-live-status small{
  margin-top:3px !important;
  font-size:14px !important;
  line-height:1.4 !important;
}

.luxury-footer .footer-hours-list{
  gap:8px !important;
}

.luxury-footer .footer-hours-row{
  gap:14px !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

.luxury-footer .footer-hours-row strong{
  font-size:14px !important;
  line-height:1.45 !important;
}

.luxury-footer .footer-contact-links{
  gap:10px !important;
}

.luxury-footer .footer-contact-links>a{
  grid-template-columns:46px minmax(0,1fr) !important;
  gap:12px !important;
  min-height:62px !important;
  padding:8px 0 !important;
}

.luxury-footer .footer-contact-icon{
  width:44px !important;
  height:44px !important;
}

.luxury-footer .footer-contact-icon .ui-icon{
  width:20px !important;
  height:20px !important;
}

.luxury-footer .footer-contact-links small{
  font-size:14px !important;
  line-height:1.3 !important;
}

.luxury-footer .footer-contact-links strong{
  margin-top:3px !important;
  font-size:16px !important;
  line-height:1.45 !important;
}

.luxury-footer .footer-review-links{
  gap:9px !important;
  margin-top:18px !important;
}

.luxury-footer .footer-review-links a{
  min-height:62px !important;
  padding:10px 12px !important;
  font-size:18px !important;
  line-height:1.25 !important;
}

.luxury-footer .footer-review-links span{
  margin-top:3px !important;
  font-size:14px !important;
  line-height:1.3 !important;
}

.luxury-footer .luxury-footer-bottom{
  min-height:72px !important;
  gap:20px !important;
  font-size:14px !important;
  line-height:1.5 !important;
}

.luxury-footer .footer-bottom-mark{
  font-size:14px !important;
}

@media(max-width:1100px){
  .luxury-footer .footer-main{
    gap:40px !important;
  }
}

@media(max-width:620px){
  .luxury-footer .footer-cta-inner{
    padding-top:34px !important;
    padding-bottom:34px !important;
  }

  .luxury-footer .footer-cta-copy small{
    font-size:14px !important;
  }

  .luxury-footer .footer-cta-copy strong{
    font-size:32px !important;
  }

  .luxury-footer .footer-cta-actions{
    gap:9px !important;
  }

  .luxury-footer .footer-cta-actions a{
    min-height:56px !important;
    font-size:18px !important;
  }

  .luxury-footer .footer-main{
    gap:38px !important;
    padding-top:44px !important;
    padding-bottom:42px !important;
  }

  .luxury-footer .footer-brand{
    width:260px !important;
  }

  .luxury-footer .footer-intro,
  .luxury-footer .footer-address{
    font-size:14px !important;
  }

  .luxury-footer .footer-column h3{
    margin-bottom:17px !important;
    font-size:28px !important;
  }

  .luxury-footer .footer-links a{
    min-height:46px;
    display:flex;
    align-items:center;
    width:100%;
    border-bottom:1px solid rgba(255,255,255,.07);
    font-size:18px !important;
  }

  .luxury-footer .footer-live-status strong{
    font-size:16px !important;
  }

  .luxury-footer .footer-live-status small,
  .luxury-footer .footer-hours-row,
  .luxury-footer .footer-hours-row strong{
    font-size:14px !important;
  }

  .luxury-footer .footer-contact-links small{
    font-size:14px !important;
  }

  .luxury-footer .footer-contact-links strong{
    font-size:16px !important;
  }

  .luxury-footer .footer-review-links{
    grid-template-columns:1fr !important;
    max-width:none !important;
  }

  .luxury-footer .footer-review-links a{
    min-height:58px !important;
    font-size:18px !important;
  }

  .luxury-footer .footer-review-links span{
    font-size:14px !important;
  }

  .luxury-footer .luxury-footer-bottom,
  .luxury-footer .footer-bottom-mark{
    font-size:14px !important;
  }
}


/* ============================================================
   FOOTER ACCORDION V3.7
   Explore / Opening Times / Contact
   Desktop open, tablet/mobile dropdown.
   ============================================================ */

.footer-section-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 20px;
  padding:0;
  border:0;
  background:transparent;
  color:#e6c899;
  cursor:default;
  text-align:left;
  font:600 28px/1 'Cormorant Garamond',Georgia,serif;
}

.footer-section-toggle .ui-icon{
  display:none;
  width:20px;
  height:20px;
  flex:0 0 auto;
}

.footer-accordion-content{
  display:block;
}

@media(max-width:900px){
  .footer-accordion{
    border-bottom:1px solid rgba(255,255,255,.09);
  }

  .footer-section-toggle{
    min-height:58px;
    margin:0;
    padding:10px 0;
    cursor:pointer;
    color:#e7ca9b;
    font:700 18px/1.2 'Montserrat',Arial,sans-serif;
  }

  .footer-section-toggle .ui-icon{
    display:block;
    color:#d6b47d;
    transition:transform .2s ease;
  }

  .footer-section-toggle[aria-expanded="true"] .ui-icon{
    transform:rotate(180deg);
  }

  .footer-accordion-content{
    display:block;
  }

  .footer-accordion-ready .footer-accordion-content{
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    transition:
      max-height .28s ease,
      opacity .2s ease,
      visibility .2s ease,
      padding .28s ease;
  }

  .footer-accordion-ready .footer-accordion.is-open .footer-accordion-content{
    max-height:900px;
    padding-bottom:24px;
    opacity:1;
    visibility:visible;
  }

  .footer-accordion-ready .footer-accordion.is-open .footer-section-toggle{
    color:#fff;
  }

  .footer-hours-column,
  .footer-contact-column{
    grid-column:auto !important;
  }
}

@media(max-width:620px){
  .luxury-footer .footer-main{
    gap:0 !important;
  }

  .footer-brand-column{
    padding-bottom:34px;
  }

  .footer-accordion{
    width:100%;
  }

  .footer-section-toggle{
    min-height:64px;
    padding:12px 0;
    font-size:18px !important;
  }

  .footer-section-toggle .ui-icon{
    width:22px !important;
    height:22px !important;
  }

  .footer-accordion-ready .footer-accordion.is-open .footer-accordion-content{
    padding-bottom:25px;
  }

  .footer-accordion-content .footer-links{
    padding-top:2px;
  }

  .footer-accordion-content .footer-live-status{
    margin-top:2px;
  }

  .footer-accordion-content .footer-contact-links{
    padding-top:2px;
  }
}


/* ============================================================
   SITE-WIDE MOBILE + ACCESSIBILITY POLISH V5.1
   Public pages only. Approved homepage section styling remains intact.
   ============================================================ */

.skip-link{
  position:fixed;
  z-index:10000;
  left:16px;
  top:12px;
  min-height:48px;
  display:flex;
  align-items:center;
  padding:10px 16px;
  border:2px solid #e2bd82;
  border-radius:9px;
  background:#081b14;
  color:#fff;
  font:700 18px/1.2 'Montserrat',Arial,sans-serif;
  transform:translateY(-160%);
  transition:transform .18s ease;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}

.skip-link:focus{
  transform:translateY(0);
  outline:none;
}

#main-content:focus{
  outline:none;
}

body.site-body :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid #d8ad6e;
  outline-offset:3px;
  box-shadow:0 0 0 2px rgba(8,27,20,.86);
}

body.site-body :where(a,button,summary){
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(196,154,91,.16);
}

body.site-body img{
  height:auto;
}

@media(max-width:900px){
  .primary-nav>.nav-link,
  .primary-nav>.nav-menu-group>.nav-menu-trigger,
  .mobile-nav-book,
  .mobile-nav-contact>a,
  .luxury-menu-toggle{
    font-size:18px !important;
  }

  .nav-menu-grid>a{
    min-height:88px !important;
  }

  .nav-menu-grid strong{
    font-size:16px !important;
    line-height:1.3 !important;
  }

  .nav-menu-grid small{
    margin-top:4px !important;
    font-size:14px !important;
    line-height:1.35 !important;
  }

  .mobile-nav-panel-head small,
  .mobile-nav-contact small{
    font-size:14px !important;
  }

  .mobile-nav-panel-head strong,
  .mobile-nav-contact strong{
    font-size:16px !important;
  }

  .mobile-reserve-bar{
    min-height:62px !important;
    padding-top:max(10px,env(safe-area-inset-top)) !important;
    padding-bottom:max(10px,env(safe-area-inset-bottom)) !important;
  }

  .mobile-reserve-bar small{
    font-size:14px !important;
    line-height:1.2 !important;
    letter-spacing:.04em !important;
  }

  .mobile-reserve-bar strong{
    font-size:16px !important;
    line-height:1.3 !important;
  }
}

@media(max-width:620px){
  body.site-body input,
  body.site-body select,
  body.site-body textarea,
  body.site-body button{
    min-height:44px;
  }

  .site-topbar :where(a,button),
  .luxury-nav :where(a,button),
  .luxury-footer :where(a,button){
    min-height:44px;
  }
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}

  .reveal-up,
  .reveal-left,
  .reveal-right,
  .card,
  .review-card,
  .info-box,
  .menu-category{
    opacity:1!important;
    transform:none!important;
  }

  .magnetic{
    will-change:auto!important;
    transform:none!important;
  }
}



/* ============================================================
   HERO-MATCHED TOP HEADER + NAVIGATION V5.2
   Matches the homepage luxury hero:
   deep forest glass, stretched composition, gold detail.
   ============================================================ */

/* Stretch only the header/navigation shells.
   Footer keeps its existing width. */
.site-topbar>.site-chrome-shell,
.nav-wrap.luxury-nav>.site-chrome-shell{
  width:min(1680px,94vw);
}

/* ---------- TOP HEADER ---------- */
.site-topbar{
  min-height:52px;
  border-bottom:1px solid rgba(221,185,126,.15);
  background:
    radial-gradient(circle at 13% 25%,rgba(196,154,91,.13),transparent 28%),
    linear-gradient(90deg,#06140f 0%,#0a2119 48%,#06150f 100%);
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.025);
}

.site-topbar-inner{
  min-height:52px;
  gap:28px;
}

.site-topbar .hours-trigger{
  min-height:52px;
  gap:11px;
}

.topbar-icon{
  width:34px;
  height:34px;
  border-color:rgba(224,189,132,.27);
  background:rgba(255,255,255,.045);
  color:#deb980;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018);
}

.topbar-icon .ui-icon{
  width:16px;
  height:16px;
}

.site-topbar .live-status{
  gap:9px;
}

.site-topbar .status-copy{
  gap:8px;
}

.site-topbar .status-copy small{
  color:#a9b6b0;
  font-size:14px;
  letter-spacing:.04em;
  text-transform:none;
}

.site-topbar .hours-trigger strong{
  color:#fff;
  font-size:16px;
  line-height:1.2;
  letter-spacing:0;
}

.site-topbar .status-detail{
  color:#c3cec8;
  font-size:14px;
  line-height:1.35;
}

.site-topbar .status-dot{
  width:8px;
  height:8px;
}

.topbar-chevron{
  width:15px!important;
  height:15px!important;
  color:#dfbc84;
}

.topbar-links{
  gap:14px;
}

.topbar-links a{
  min-height:44px;
  gap:7px;
  color:#cbd5d0;
  font-size:14px;
  font-weight:600;
}

.topbar-links .ui-icon{
  width:16px;
  height:16px;
  color:#d7b47b;
}

.topbar-separator{
  height:18px;
  background:rgba(255,255,255,.10);
}

.topbar-whatsapp{
  color:#d9e9df!important;
}

.topbar-whatsapp .whatsapp-icon{
  width:27px;
  height:27px;
  border-color:rgba(117,190,143,.30);
  background:rgba(69,148,93,.11);
}

/* Opening-hours dropdown follows the hero glass language */
.site-topbar .hours-panel{
  top:calc(100% + 12px);
  width:min(430px,94vw);
  border:1px solid rgba(222,186,128,.30);
  border-radius:18px;
  background:
    radial-gradient(circle at 90% 7%,rgba(196,154,91,.14),transparent 31%),
    linear-gradient(145deg,rgba(18,50,39,.99),rgba(6,22,16,.995));
  color:#fff;
  box-shadow:0 32px 85px rgba(0,0,0,.38);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.hours-panel-head{
  padding:19px 20px;
  border-bottom-color:rgba(255,255,255,.10);
  background:rgba(255,255,255,.025);
}

.hours-panel-icon{
  width:42px;
  height:42px;
  border:1px solid rgba(222,186,128,.24);
  background:rgba(196,154,91,.10);
  color:#e1bd85;
}

.hours-panel-title small{
  color:#d8b57d;
  font-size:14px;
  letter-spacing:.05em;
}

.hours-panel-title strong{
  margin-top:4px;
  color:#fff;
  font-size:30px;
}

.hours-panel-close{
  width:44px;
  height:44px;
  border-color:rgba(255,255,255,.13);
  background:rgba(255,255,255,.045);
  color:#ead0a7;
}

.site-topbar .hours-list{
  padding:10px 0;
}

.site-topbar .hours-row{
  min-height:50px;
  padding:9px 20px;
  border-left-width:3px;
  border-bottom:1px solid rgba(255,255,255,.055);
  font-size:14px;
}

.site-topbar .hours-row:last-child{
  border-bottom:0;
}

.site-topbar .hours-row.is-today{
  border-left-color:#d3a865;
  background:rgba(196,154,91,.095);
}

.site-topbar .hours-day{
  color:#f2f4f2;
  font-size:14px;
}

.site-topbar .hours-day small{
  padding:4px 7px;
  background:#c49a5b;
  color:#fff;
  font-size:14px;
  letter-spacing:0;
  text-transform:none;
}

.site-topbar .hours-time{
  color:#c3cec8;
  font-size:14px;
}

.site-topbar .hours-panel-foot{
  gap:8px;
  padding:14px 16px 16px;
  border-top-color:rgba(255,255,255,.10);
  background:rgba(255,255,255,.025);
}

.site-topbar .hours-panel-foot a{
  min-height:52px;
  border-radius:999px;
  font-size:18px;
}

.hours-book{
  border:1px solid #c49a5b;
  background:linear-gradient(135deg,#c49a5b,#9d713d);
}

.hours-directions{
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.045);
  color:#fff!important;
}

/* ---------- MAIN NAVIGATION ---------- */
.nav-wrap.luxury-nav{
  position:sticky;
  top:0;
  border-bottom:1px solid rgba(222,186,128,.20);
  background:
    radial-gradient(circle at 87% 20%,rgba(196,154,91,.10),transparent 26%),
    linear-gradient(90deg,rgba(6,20,15,.985),rgba(10,32,24,.985) 50%,rgba(6,20,15,.985));
  box-shadow:0 14px 38px rgba(0,0,0,.08);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.nav-wrap.luxury-nav::after{
  content:"";
  position:absolute;
  left:3vw;
  right:3vw;
  bottom:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(222,186,128,.70),transparent);
}

body.scrolled .nav-wrap.luxury-nav{
  background:
    radial-gradient(circle at 87% 20%,rgba(196,154,91,.08),transparent 24%),
    rgba(5,18,13,.992);
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}

.luxury-nav-inner{
  min-height:98px;
  gap:26px;
}

body.scrolled .luxury-nav-inner{
  min-height:80px;
}

.luxury-brand{
  width:315px;
  max-width:25vw;
  min-width:210px;
}

body.scrolled .luxury-brand{
  width:275px;
}

.primary-nav{
  gap:22px;
}

.primary-nav .nav-link,
.nav-menu-trigger{
  min-height:54px;
  padding:6px 2px;
  color:#f1eee8;
  font:700 18px/1.1 'Montserrat',Arial,sans-serif;
  letter-spacing:0;
  text-transform:none;
}

.primary-nav .nav-link::after,
.nav-menu-group>.nav-menu-trigger::after{
  bottom:3px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#c49a5b,#e2bd82);
}

.primary-nav .nav-link:hover,
.primary-nav .nav-link.is-active,
.nav-menu-trigger:hover,
.nav-menu-group.is-active>.nav-menu-trigger,
.nav-menu-group.is-open>.nav-menu-trigger{
  color:#e6c590;
}

.nav-menu-trigger .ui-icon{
  width:16px;
  height:16px;
  color:#d9b67d;
}

/* Menu dropdown becomes a hero-style glass panel */
.nav-menu-panel{
  top:calc(100% + 17px);
  width:650px;
  padding:14px;
  border:1px solid rgba(222,186,128,.30);
  border-radius:18px;
  background:
    radial-gradient(circle at 91% 8%,rgba(196,154,91,.14),transparent 30%),
    linear-gradient(145deg,rgba(18,50,39,.995),rgba(6,22,16,.995));
  color:#fff;
  box-shadow:0 34px 85px rgba(0,0,0,.40);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.nav-menu-panel-head{
  padding:6px 7px 14px;
  border-bottom-color:rgba(255,255,255,.10);
}

.nav-menu-panel-head small{
  color:#d8b57d;
  font-size:14px;
  letter-spacing:.05em;
}

.nav-menu-panel-head strong{
  margin-top:4px;
  color:#fff;
  font-size:30px;
}

.nav-menu-panel-head>a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  color:#e2bf87;
  font-size:18px;
  font-weight:700;
}

.nav-menu-grid{
  gap:8px;
  padding-top:11px;
}

.nav-menu-grid>a{
  min-height:88px;
  grid-template-columns:46px minmax(0,1fr);
  gap:11px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  background:rgba(255,255,255,.035);
  color:#fff;
}

.nav-menu-grid>a:hover{
  border-color:rgba(222,186,128,.30);
  background:rgba(196,154,91,.095);
  transform:translateY(-2px);
}

.nav-menu-icon{
  width:44px;
  height:44px;
  border:1px solid rgba(222,186,128,.22);
  background:rgba(196,154,91,.10);
  color:#e3c18a;
}

.nav-menu-icon .ui-icon{
  width:20px;
  height:20px;
}

.nav-menu-grid strong{
  color:#fff;
  font-size:16px;
  line-height:1.3;
}

.nav-menu-grid small{
  margin-top:4px;
  color:#aebbb5;
  font-size:14px;
  line-height:1.4;
}

.luxury-book{
  min-height:56px;
  gap:9px;
  padding:11px 20px;
  border-color:#d2a660;
  background:linear-gradient(135deg,#c49a5b,#976a37);
  box-shadow:0 14px 32px rgba(196,154,91,.19);
  font:700 18px/1.1 'Montserrat',Arial,sans-serif;
  letter-spacing:0;
}

.luxury-book .ui-icon{
  width:18px;
  height:18px;
}

/* Keep desktop usable just above mobile breakpoint. */
@media(min-width:901px) and (max-width:1180px){
  .site-topbar>.site-chrome-shell,
  .nav-wrap.luxury-nav>.site-chrome-shell{
    width:96vw;
  }

  .luxury-nav-inner{
    gap:14px;
  }

  .luxury-brand{
    width:215px;
    min-width:180px;
  }

  body.scrolled .luxury-brand{
    width:205px;
  }

  .primary-nav{
    gap:11px;
  }

  .primary-nav .nav-link,
  .nav-menu-trigger{
    font-size:15px;
  }

  .luxury-book{
    min-height:50px;
    padding-inline:13px;
    font-size:15px;
  }

  .topbar-links{
    gap:9px;
  }

  .topbar-links a{
    font-size:13px;
  }
}

/* ---------- MOBILE / TABLET ---------- */
@media(max-width:900px){
  .site-topbar{
    min-height:48px;
  }

  .site-topbar-inner,
  .site-topbar .hours-trigger{
    min-height:48px;
  }

  .site-topbar>.site-chrome-shell,
  .nav-wrap.luxury-nav>.site-chrome-shell{
    width:92vw;
  }

  .site-topbar .hours-trigger{
    justify-content:center;
  }

  .topbar-icon{
    width:32px;
    height:32px;
  }

  .site-topbar .status-copy small{
    display:block;
    font-size:14px!important;
  }

  .site-topbar .hours-trigger strong{
    font-size:16px!important;
  }

  .site-topbar .status-detail{
    max-width:220px;
    font-size:14px!important;
  }

  .site-topbar .hours-panel{
    top:56px;
    left:3vw;
    right:3vw;
    width:auto;
  }

  .luxury-nav-inner,
  body.scrolled .luxury-nav-inner{
    min-height:76px;
  }

  .luxury-brand,
  body.scrolled .luxury-brand{
    width:235px;
    max-width:62vw;
  }

  .luxury-menu-toggle{
    min-width:108px!important;
    width:auto!important;
    height:50px!important;
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    padding:0 15px!important;
    border:1px solid rgba(222,186,128,.32)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.045)!important;
    color:#fff!important;
  }

  .menu-toggle-label{
    color:#f5f1eb!important;
    font:700 18px/1 'Montserrat',Arial,sans-serif!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }

  .menu-toggle-bars{
    width:20px!important;
    gap:4px!important;
  }

  .menu-toggle-bars i{
    width:20px!important;
    background:#dfbc84!important;
  }

  .mobile-nav-panel-head{
    min-height:78px;
    border-bottom-color:rgba(222,186,128,.19);
    background:
      radial-gradient(circle at 90% 5%,rgba(196,154,91,.12),transparent 28%),
      rgba(6,20,15,.99);
  }

  .mobile-nav-panel-head small{
    color:#d6b47c!important;
    font-size:14px!important;
    letter-spacing:.04em!important;
  }

  .mobile-nav-panel-head strong{
    margin-top:4px;
    color:#fff;
    font-size:30px!important;
  }

  .mobile-nav-close{
    width:48px;
    height:48px;
    border-color:rgba(222,186,128,.24);
    background:rgba(255,255,255,.045);
    color:#e5c38e;
  }

  .nav-wrap .primary-nav,
  .nav-wrap .nav.primary-nav{
    background:
      radial-gradient(circle at 89% 5%,rgba(196,154,91,.14),transparent 26%),
      radial-gradient(circle at 8% 88%,rgba(255,255,255,.025),transparent 24%),
      linear-gradient(180deg,#0a241b 0%,#06150f 100%)!important;
  }

  .primary-nav>.nav-link,
  .primary-nav>.nav-menu-group>.nav-menu-trigger{
    min-height:60px!important;
    padding:13px 5px!important;
    color:#f4f1eb!important;
    border-bottom-color:rgba(255,255,255,.085)!important;
    font:700 18px/1.25 'Montserrat',Arial,sans-serif!important;
  }

  .primary-nav>.nav-link.is-active,
  .primary-nav>.nav-menu-group.is-active>.nav-menu-trigger{
    color:#e2be86!important;
  }

  .primary-nav .nav-menu-panel,
  .primary-nav .nav-menu-group:hover .nav-menu-panel,
  .primary-nav .nav-menu-group.is-open .nav-menu-panel{
    padding:10px 0 15px!important;
    background:transparent!important;
    backdrop-filter:none!important;
  }

  .primary-nav .nav-menu-grid{
    gap:8px!important;
  }

  .primary-nav .nav-menu-grid>a{
    min-height:92px!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:11px!important;
    padding:12px!important;
    border-color:rgba(255,255,255,.10)!important;
    background:rgba(255,255,255,.04)!important;
  }

  .primary-nav .nav-menu-icon{
    width:42px!important;
    height:42px!important;
    background:rgba(196,154,91,.12)!important;
    color:#e1bd85!important;
  }

  .primary-nav .nav-menu-grid strong{
    font-size:16px!important;
  }

  .primary-nav .nav-menu-grid small{
    display:block!important;
    font-size:14px!important;
  }

  .mobile-nav-contact{
    gap:8px!important;
    margin-top:19px!important;
  }

  .mobile-nav-contact a{
    min-height:54px!important;
    padding:10px!important;
    border-color:rgba(255,255,255,.11)!important;
    background:rgba(255,255,255,.04)!important;
    color:#e5ebe8!important;
    font-size:18px!important;
  }

  .mobile-nav-book{
    min-height:58px!important;
    margin-top:9px!important;
    border:1px solid #c49a5b!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#c49a5b,#976a37)!important;
    font-size:18px!important;
    box-shadow:0 14px 30px rgba(196,154,91,.17);
  }
}

@media(max-width:620px){
  .site-topbar>.site-chrome-shell,
  .nav-wrap.luxury-nav>.site-chrome-shell{
    width:94vw;
  }

  .site-topbar .status-copy small{
    display:none!important;
  }

  .site-topbar .status-detail{
    max-width:165px;
  }

  .luxury-nav-inner,
  body.scrolled .luxury-nav-inner{
    min-height:72px;
  }

  .luxury-brand,
  body.scrolled .luxury-brand{
    width:205px;
    max-width:58vw;
  }

  .luxury-menu-toggle{
    min-width:96px!important;
    height:48px!important;
    min-height:48px!important;
    padding-inline:13px!important;
  }

  .menu-toggle-label{
    font-size:18px!important;
  }

  .primary-nav .nav-menu-grid>a{
    min-height:82px!important;
  }

  .primary-nav .nav-menu-grid small{
    display:block!important;
  }

  .site-topbar .hours-panel-foot{
    grid-template-columns:1fr;
  }
}

@media(max-width:390px){
  .luxury-brand,
  body.scrolled .luxury-brand{
    width:185px;
    max-width:56vw;
  }

  .luxury-menu-toggle{
    min-width:88px!important;
    padding-inline:11px!important;
  }

  .mobile-nav-contact{
    grid-template-columns:1fr!important;
  }
}
