/* ==========================================================================
   LE PALAIS INDIEN — Feuille de style principale
   ========================================================================== */

:root{
  --dark: #490304;
  --dark-deep: #260102;
  --dark-soft: #5f0909;
  --orange: #f99711;
  --orange-light: #ffb52e;
  --cream: #f8e6c2;
  --gold: #d89a27;
  --text-light: #fff4dc;
  --muted: #d9bd91;

  --font-display: "Great Vibes", cursive;
  --font-body: "Poppins", sans-serif;

  --radius-lg: 22px;
  --radius-md: 14px;
  --shadow-deep: 0 20px 50px rgba(0,0,0,.55);
  --transition: .35s cubic-bezier(.25,.8,.25,1);
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth; scroll-padding-top:92px;}

body{
  margin:0;
  font-family:var(--font-body);
  background:var(--dark-deep);
  color:var(--text-light);
  overflow-x:hidden;
  padding-bottom:64px; /* mobile bottom nav clearance */
}

@media (min-width:992px){
  body{padding-bottom:0;}
}

a{text-decoration:none; color:inherit;}
ul{list-style:none; margin:0; padding:0;}
img{max-width:100%; display:block;}

.container-xl{max-width:1260px; margin:0 auto; padding:0 22px;}

/* ---------- Section base + backgrounds ---------- */
section{position:relative; padding:90px 0; overflow:hidden;}
.section-dark-1{background-color:var(--dark); background-image:url('../assets/bg/dark-bg-1.gif'); background-repeat:repeat;}
.section-dark-2{background-color:var(--dark-deep); background-image:url('../assets/bg/dark-bg-2.gif'); background-repeat:repeat;}
.section-light-1{background-color:#3a0203; background-image:url('../assets/bg/light-bg-1.jpg'); background-repeat:repeat; background-size:auto 41%;}
.section-light-2{background-color:var(--dark-soft); background-image:url('../assets/bg/light-bg-2.jpg'); background-repeat:repeat;}

section::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(21,1,1,.70) 0%, rgba(21,1,1,.40) 30%, rgba(21,1,1,.70) 100%);
  pointer-events:none; z-index:0;
}
section.no-veil::before{display:none;}
section > .container-xl{position:relative; z-index:1;}

.section-eyebrow{
  display:inline-block; font-family:var(--font-body); font-weight:600;
  letter-spacing:.3em; text-transform:uppercase; font-size:.72rem;
  color:var(--orange); margin-bottom:10px;
}

/* ---------- Typography ---------- */
h1,h2,h3{
  font-family:var(--font-display);
  color:var(--cream);
  font-weight:400;
  margin:0 0 6px;
  letter-spacing:.5px;
  text-shadow:0 3px 18px rgba(0,0,0,.45);
}
h1{font-size:clamp(3rem,7vw,5.4rem); line-height:1.05;}
h2{font-size:clamp(2.4rem,5vw,3.6rem);}
h3{font-size:clamp(1.7rem,3vw,2.2rem);}

.section-title{text-align:center; margin-bottom:6px;}
.section-sub{
  text-align:center; max-width:640px; margin:0 auto 8px;
  color:var(--muted); font-size:1rem; line-height:1.7;
}

/* ---------- Decorative heading line (inspired by ref123.jpg) ---------- */
.heading-decoration{
  position:relative;
  width:210px; height:34px;
  margin:14px auto 34px;
  display:flex; align-items:center; justify-content:center;
}
.heading-decoration::before,
.heading-decoration::after{
  content:"";
  position:absolute; top:50%; width:78px; height:1px;
  background:linear-gradient(to var(--dir,right), transparent, var(--gold) 60%, var(--orange));
  transform:translateY(-50%);
}
.heading-decoration::before{left:0;}
.heading-decoration::after{right:0; --dir:left; background:linear-gradient(to left, transparent, var(--gold) 60%, var(--orange));}
.heading-decoration .diamond{
  width:12px; height:12px; background:var(--orange);
  transform:rotate(45deg);
  box-shadow:0 0 12px 2px rgba(249,151,17,.55);
  position:relative;
}
.heading-decoration .diamond::before,
.heading-decoration .diamond::after{
  content:""; position:absolute; border:1px solid var(--gold); border-radius:2px;
}
.heading-decoration .diamond::before{inset:-9px;}
.heading-decoration .diamond::after{inset:-16px; border-color:rgba(216,154,39,.4);}
.heading-decoration.on-light::before{background:linear-gradient(to right, transparent, var(--dark-soft) 60%, var(--dark));}
.heading-decoration.on-light::after{background:linear-gradient(to left, transparent, var(--dark-soft) 60%, var(--dark));}
.heading-decoration.left{margin:14px 0 30px;}

/* ---------- Buttons ---------- */
.btn-royal{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 34px;
  font-family:var(--font-body); font-weight:600; font-size:.86rem;
  letter-spacing:.12em; text-transform:uppercase;
  border-radius:50px;
  border:1.5px solid var(--orange);
  background:linear-gradient(135deg, var(--orange), var(--orange-light));
  color:var(--dark-deep);
  box-shadow:0 10px 26px rgba(249,151,17,.35);
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition);
  cursor:pointer;
}
.btn-royal:hover{transform:translateY(-3px); box-shadow:0 16px 34px rgba(249,151,17,.5); color:var(--dark-deep);}
.btn-royal.outline{
  background:transparent; color:var(--text-light);
  box-shadow:none;
}
.btn-royal.outline:hover{background:rgba(249,151,17,.12);}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(38,1,2,.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(249,151,17,.25);
  transition:padding var(--transition), background var(--transition);
}
.site-header.scrolled{background:rgba(21,1,1,.97); box-shadow:0 6px 24px rgba(0,0,0,.4);}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 22px; max-width:1320px; margin:0 auto;
}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{width:52px; height:52px; border-radius:50%; object-fit:cover; border:2px solid var(--orange);}
.brand-name{font-family:var(--font-display); font-size:1.7rem; color:var(--cream); line-height:1;}
.brand-tag{display:block; font-family:var(--font-body); font-size:.6rem; letter-spacing:.25em; color:var(--orange); text-transform:uppercase; margin-top:2px;}

.main-nav{display:none;}
.main-nav ul{display:flex; gap:30px;}
.main-nav a{
  position:relative; font-size:.86rem; font-weight:500; letter-spacing:.03em;
  color:var(--muted); padding:6px 2px;
  transition:color var(--transition);
}
.main-nav a::after{
  content:""; position:absolute; left:0; bottom:-4px; width:0; height:2px;
  background:var(--orange); transition:width var(--transition);
}
.main-nav a:hover, .main-nav a.active{color:var(--orange-light);}
.main-nav a.active::after, .main-nav a:hover::after{width:100%;}

.header-actions{display:flex; align-items:center; gap:14px;}
.call-btn{
  display:none; align-items:center; gap:8px;
  padding:10px 20px; border-radius:50px;
  border:1.5px solid var(--orange); color:var(--orange-light);
  font-size:.82rem; font-weight:600; letter-spacing:.05em;
  transition:all var(--transition);
}
.call-btn:hover{background:var(--orange); color:var(--dark-deep);}

.hamburger{
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  width:42px; height:42px; border-radius:10px;
  background:rgba(249,151,17,.12); border:1px solid rgba(249,151,17,.35);
  cursor:pointer;
}
.hamburger span{width:20px; height:2px; background:var(--orange-light); margin:0 auto; transition:var(--transition);}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-nav{
  position:fixed; top:76px; left:0; right:0; z-index:999;
  background:rgba(21,1,1,.98);
  border-bottom:1px solid rgba(249,151,17,.25);
  max-height:0; overflow:hidden; transition:max-height .4s ease;
}
.mobile-nav.open{max-height:520px;}
.mobile-nav ul{padding:14px 22px; display:flex; flex-direction:column; gap:4px;}
.mobile-nav a{display:block; padding:12px 4px; font-size:1rem; border-bottom:1px solid rgba(249,151,17,.1); color:var(--muted);}
.mobile-nav a.active{color:var(--orange-light);}

@media (min-width:992px){
  .main-nav{display:block;}
  .call-btn{display:inline-flex;}
  .hamburger, .mobile-nav{display:none;}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative; height:100vh; min-height:560px; max-height:900px; overflow:hidden; padding:0;}
.hero-slides{position:absolute; inset:0;}
.hero-slide{
  position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease;
  background-size:cover; background-position:center;
}
.hero-slide.active{opacity:1;}
.hero-slide::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(21,1,1,.55) 0%, rgba(21,1,1,.45) 40%, rgba(21,1,1,.9) 100%);
}
.hero-content{
  position:relative; z-index:3; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:0 22px;
}
.hero-content .section-eyebrow{margin-bottom:16px;}
.hero-content h1{color:#fff; margin-bottom:8px;}
.hero-content p.lead{
  max-width:560px; margin:14px auto 30px; color:var(--muted);
  font-size:1.08rem; line-height:1.8;
}
.hero-btns{display:flex; gap:16px; flex-wrap:wrap; justify-content:center;}

.hero-arrows{position:absolute; z-index:4; top:50%; width:100%; display:flex; justify-content:space-between; padding:0 18px; transform:translateY(-50%); pointer-events:none;}
.hero-arrow{
  pointer-events:all;
  width:46px; height:46px; border-radius:50%;
  border:1.5px solid rgba(249,151,17,.6); background:rgba(21,1,1,.4);
  color:var(--orange-light); font-size:1.2rem;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:var(--transition);
}
.hero-arrow:hover{background:var(--orange); color:var(--dark-deep);}

.hero-dots{position:absolute; z-index:4; bottom:26px; left:0; right:0; display:flex; gap:10px; justify-content:center;}
.hero-dots button{
  width:10px; height:10px; border-radius:50%; border:1px solid var(--orange);
  background:transparent; cursor:pointer; padding:0; transition:var(--transition);
}
.hero-dots button.active{background:var(--orange); width:26px; border-radius:6px;}

.scroll-cue{
  position:absolute; z-index:4; bottom:60px; left:50%; transform:translateX(-50%);
  color:var(--muted); font-size:1.5rem; animation:bob 2.2s ease-in-out infinite;
}
@keyframes bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,10px);}}

/* ==========================================================================
   ABOUT
   ========================================================================== */
.about-grid{display:grid; grid-template-columns:1fr; gap:44px; align-items:center;}
.about-img{position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-deep);}
.about-img img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; transition:transform .6s ease;}
.about-img:hover img{transform:scale(1.06);}
.about-img::before{
  content:""; position:absolute; inset:10px; border:1.5px solid var(--orange);
  border-radius:calc(var(--radius-lg) - 6px); z-index:2; pointer-events:none; opacity:.75;
}
.about-text p{color:var(--muted); line-height:1.9; font-size:1.02rem; margin-bottom:16px;}
.about-badges{display:flex; gap:24px; margin:26px 0; flex-wrap:wrap;}
.about-badge{text-align:left;}
.about-badge strong{display:block; font-family:var(--font-display); font-size:2.1rem; color:var(--orange-light);}
.about-badge span{font-size:.78rem; color:var(--muted); letter-spacing:.05em; text-transform:uppercase;}

@media(min-width:992px){
  .about-grid{grid-template-columns:.9fr 1.1fr;}
}

/* ==========================================================================
   MENU
   ========================================================================== */
.menu-nav-wrap{position:relative; margin:0 auto 46px; max-width:100%;}
.menu-scroll-btn{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:38px; height:38px; border-radius:50%;
  background:var(--dark); border:1.5px solid var(--orange);
  color:var(--orange-light); display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,.4);
}
.menu-scroll-btn.left{left:-6px;}
.menu-scroll-btn.right{right:-6px;}
@media(min-width:768px){.menu-scroll-btn.left{left:-20px;} .menu-scroll-btn.right{right:-20px;}}

.menu-categories{
  display:flex; gap:10px; overflow-x:auto; scroll-behavior:smooth;
  padding:8px 44px; -ms-overflow-style:none; scrollbar-width:none;
}
.menu-categories::-webkit-scrollbar{display:none;}
.menu-cat{
  flex:0 0 auto; white-space:nowrap;
  padding:11px 20px; border-radius:50px;
  border:1.3px solid rgba(249,151,17,.35);
  background:rgba(249,151,17,.06);
  color:var(--muted); font-size:.84rem; font-weight:600; letter-spacing:.03em;
  cursor:pointer; transition:var(--transition);
}
.menu-cat:hover{border-color:var(--orange); color:var(--orange-light);}
.menu-cat.active{
  background:linear-gradient(135deg, var(--orange), var(--orange-light));
  color:var(--dark-deep); border-color:var(--orange);
  box-shadow:0 8px 20px rgba(249,151,17,.35);
}

.menu-panel{max-width:920px; margin:0 auto; min-height:340px; position:relative;}
.menu-panel-title{text-align:center; margin-bottom:30px;}
.menu-loading{
  display:none; justify-content:center; align-items:center; gap:12px;
  padding:60px 0; color:var(--orange-light); font-size:.9rem; letter-spacing:.1em; text-transform:uppercase;
}
.menu-loading.show{display:flex;}
.spinner{
  width:22px; height:22px; border-radius:50%;
  border:2.5px solid rgba(249,151,17,.25); border-top-color:var(--orange);
  animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}

.menu-card{
  background:linear-gradient(180deg, rgba(73,3,4,.9), rgba(38,1,2,.95));
  border:1px solid rgba(249,151,17,.3);
  border-radius:var(--radius-lg);
  padding:12px;
  box-shadow:var(--shadow-deep);
  opacity:0; transform:translateY(14px);
  transition:opacity .5s ease, transform .5s ease;
}
.menu-card.show{opacity:1; transform:translateY(0);}
.menu-items{display:flex; flex-direction:column;}
.menu-item{
  display:flex; justify-content:space-between; gap:18px;
  padding:20px 18px; border-bottom:1px dashed rgba(249,151,17,.2);
}
.menu-item:last-child{border-bottom:none;}
.menu-item-name{font-size:1.5rem; color:var(--cream); line-height:1.15;}
.menu-item-desc{color:var(--muted); font-size:.88rem; line-height:1.6; margin-top:4px; max-width:520px;}
.menu-item-price{
  flex:0 0 auto; align-self:center; font-weight:700; font-size:1.05rem;
  color:var(--orange-light); white-space:nowrap;
}

/* ==========================================================================
   GALLERY
   ========================================================================== */
.gallery-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:16px;
}
@media(min-width:576px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
.gallery-item{
  position:relative; border-radius:var(--radius-md); overflow:hidden; cursor:pointer;
  box-shadow:0 12px 30px rgba(0,0,0,.4);
}
.gallery-item:nth-child(3n+1){grid-row:span 2;}
.gallery-item img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.gallery-item .overlay{
  position:absolute; inset:0; display:flex; align-items:flex-end; padding:16px;
  background:linear-gradient(180deg, transparent 40%, rgba(21,1,1,.85) 100%);
  opacity:0; transition:opacity var(--transition);
}
.gallery-item:hover img{transform:scale(1.1);}
.gallery-item:hover .overlay{opacity:1;}
.gallery-item .overlay span{color:var(--orange-light); font-family:var(--font-display); font-size:1.3rem;}

.lightbox{
  position:fixed; inset:0; z-index:2000; background:rgba(10,0,0,.94);
  display:none; align-items:center; justify-content:center; padding:26px;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:min(900px,92vw); max-height:86vh; border-radius:12px; border:2px solid var(--orange);}
.lightbox-close{
  position:absolute; top:22px; right:26px; width:44px; height:44px; border-radius:50%;
  background:rgba(249,151,17,.15); border:1.5px solid var(--orange); color:var(--orange-light);
  font-size:1.3rem; cursor:pointer;
}
.lightbox-nav{position:absolute; top:50%; transform:translateY(-50%); width:100%; display:flex; justify-content:space-between; padding:0 20px;}
.lightbox-nav button{
  width:46px; height:46px; border-radius:50%; border:1.5px solid var(--orange);
  background:rgba(21,1,1,.5); color:var(--orange-light); font-size:1.2rem; cursor:pointer;
}

/* ==========================================================================
   RESERVATION
   ========================================================================== */
.reservation-grid{display:grid; grid-template-columns:1fr; gap:40px;}
@media(min-width:992px){.reservation-grid{grid-template-columns:1fr 1.15fr;}}

.reservation-info{display:flex; flex-direction:column; gap:22px;}
.info-row{display:flex; gap:16px; align-items:flex-start;}
.info-icon{
  flex:0 0 auto; width:46px; height:46px; border-radius:50%;
  background:rgba(249,151,17,.12); border:1.5px solid var(--orange);
  display:flex; align-items:center; justify-content:center; color:var(--orange-light); font-size:1.1rem;
}
.info-row h4{margin:0 0 4px; font-family:var(--font-body); font-size:.95rem; letter-spacing:.05em; text-transform:uppercase; color:var(--orange-light);}
.info-row p, .info-row a{color:var(--muted); font-size:.94rem; line-height:1.6; margin:0;}
.hours-table{width:100%; margin-top:4px; border-collapse:collapse;}
.hours-table td{padding:5px 0; font-size:.9rem; color:var(--muted); border-bottom:1px dashed rgba(249,151,17,.15);}
.hours-table td:first-child{color:var(--text-light); font-weight:500;}
.hours-table tr.closed td:last-child{color:#d98b8b;}

.reservation-form{
  background:rgba(21,1,1,.55); border:1px solid rgba(249,151,17,.3);
  border-radius:var(--radius-lg); padding:34px; backdrop-filter:blur(4px);
}
.form-row{display:grid; grid-template-columns:1fr; gap:18px; margin-bottom:18px;}
@media(min-width:576px){.form-row.two{grid-template-columns:1fr 1fr;}
.form-row.three{grid-template-columns:1fr 1fr 1fr;}}
.field label{display:block; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--orange-light); margin-bottom:7px;}
.field input, .field select, .field textarea{
  width:100%; padding:12px 14px; border-radius:10px;
  border:1px solid rgba(249,151,17,.35); background:rgba(255,255,255,.04);
  color:var(--text-light); font-family:var(--font-body); font-size:.92rem;
  transition:border-color var(--transition), box-shadow var(--transition);
}
.field input::placeholder, .field textarea::placeholder{color:rgba(217,189,145,.5);}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--orange); box-shadow:0 0 0 3px rgba(249,151,17,.2);
}
.field textarea{resize:vertical; min-height:96px;}
.form-note{font-size:.78rem; color:var(--muted); margin-top:14px; line-height:1.6;}
.form-success{
  display:none; margin-top:16px; padding:14px 16px; border-radius:10px;
  background:rgba(249,151,17,.12); border:1px solid var(--orange); color:var(--orange-light); font-size:.88rem;
}
.form-success.show{display:block;}

/* ==========================================================================
   REVIEWS
   ========================================================================== */
.reviews-track{display:grid; grid-template-columns:1fr; gap:24px;}
@media(min-width:768px){.reviews-track{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1200px){.reviews-track{grid-template-columns:repeat(4,1fr);}}
.review-card{
  background:rgba(73,3,4,.55); border:1px solid rgba(249,151,17,.25);
  border-radius:var(--radius-md); padding:28px 24px;
  transition:transform var(--transition), border-color var(--transition);
}
.review-card:hover{transform:translateY(-8px); border-color:var(--orange);}
.stars{color:var(--orange); letter-spacing:3px; font-size:1rem; margin-bottom:14px;}
.review-card p{color:var(--muted); font-size:.92rem; line-height:1.75; margin-bottom:16px;}
.review-author{display:flex; align-items:center; gap:10px;}
.review-author .dot{width:8px; height:8px; border-radius:50%; background:var(--orange);}
.review-author span{font-size:.82rem; color:var(--text-light); font-weight:600; letter-spacing:.03em;}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.contact-grid{display:grid; grid-template-columns:1fr; gap:30px;}
@media(min-width:992px){.contact-grid{grid-template-columns:1fr 1fr;}}
.contact-card{
  background:rgba(21,1,1,.6); border:1px solid rgba(249,151,17,.3);
  border-radius:var(--radius-lg); padding:36px; display:flex; flex-direction:column; gap:20px;
}
.map-frame{border-radius:var(--radius-lg); overflow:hidden; border:1px solid rgba(249,151,17,.3); min-height:320px;}
.map-frame iframe{width:100%; height:100%; min-height:320px; border:0; filter:grayscale(.15) contrast(1.05);}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{background:var(--dark-deep); border-top:1px solid rgba(249,151,17,.25); padding:60px 0 0;}
.footer-grid{display:grid; grid-template-columns:1fr; gap:38px; padding-bottom:40px;}
@media(min-width:768px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;}}
.footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.footer-brand img{width:50px; height:50px; border-radius:50%; border:2px solid var(--orange); object-fit:cover;}
.footer-brand span{font-family:var(--font-display); font-size:1.6rem; color:var(--cream);}
.site-footer p{color:var(--muted); font-size:.88rem; line-height:1.7;}
.footer-col h5{font-family:var(--font-body); font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; color:var(--orange-light); margin-bottom:16px;}
.footer-col ul li{margin-bottom:10px;}
.footer-col a{color:var(--muted); font-size:.88rem; transition:color var(--transition);}
.footer-col a:hover{color:var(--orange-light);}
.social-row{display:flex; gap:10px; margin-top:16px;}
.social-row a{
  width:38px; height:38px; border-radius:50%; border:1.5px solid var(--orange);
  display:flex; align-items:center; justify-content:center; color:var(--orange-light);
  transition:var(--transition);
}
.social-row a:hover{background:var(--orange); color:var(--dark-deep);}
.footer-bottom{
  border-top:1px solid rgba(249,151,17,.15); text-align:center;
  padding:20px 0; font-size:.8rem; color:var(--muted);
}

/* ==========================================================================
   MOBILE BOTTOM NAV
   ========================================================================== */
.mobile-bottom-nav{
  position:fixed; bottom:0; left:0; right:0; z-index:998;
  background:var(--dark-deep); border-top:1px solid rgba(249,151,17,.3);
  display:flex; box-shadow:0 -8px 24px rgba(0,0,0,.4);
}
.mobile-bottom-nav a{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:10px 4px 8px; color:var(--muted); font-size:.66rem; letter-spacing:.03em;
  text-transform:uppercase; font-weight:600;
}
.mobile-bottom-nav a i{font-size:1.15rem; color:var(--orange-light);}
.mobile-bottom-nav a.active{color:var(--orange-light);}
@media(min-width:992px){.mobile-bottom-nav{display:none;}}

/* ==========================================================================
   ANIMATIONS / REVEAL
   ========================================================================== */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* Focus visibility for accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2.5px solid var(--orange-light); outline-offset:3px;
}

/* Skip link */
.skip-link{
  position:absolute; left:-999px; top:0; z-index:3000;
  background:var(--orange); color:var(--dark-deep); padding:12px 18px; border-radius:0 0 8px 0; font-weight:700;
}
.skip-link:focus{left:0;}




.menu-table {
    color: #fff !important;
    background: transparent !important;
    border-collapse: collapse;
}

.menu-table th,
.menu-table td {
    color: #fff !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
}

.menu-table thead th {
    color: #fff !important;
    background: transparent !important;
}

.menu-table tbody tr {
    background: transparent !important;
}