
    /* =========================================================
   RAASA AWAD — SHARED BASE STYLESHEET
   Royal Awadhi Fine Dining — Design Tokens & Core Components
   ========================================================= */

:root{
  --royal-orange:   #D97706;
  --royal-orange-hover: #B45309;
  --dark-brown:     #3B2418;
  --golden:         #D4AF37;
  --gold-mid:         #D4AF37;
  --gold-deep:         #D97706;
  --cream:          #FFF8F0;
  --cream-deep:     #FDEFDD;
  --dark-bg:        #1F120D;
  --text-dark:      #2C1A12;
  --cream-70:       rgba(255,248,240,.7);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Poppins', sans-serif;
  color:var(--text-dark);
  background:var(--cream);
  font-weight:300;
  overflow-x:hidden;
}
h1,h2,h3,h4,.font-display{ font-family:'Cormorant Garamond', serif; font-weight:700; }
.section-title{ font-family:'Cormorant Garamond', serif; font-weight:700; font-size:2.5rem; color:var(--dark-brown); }
.eyebrow-royal{
  font-family:'Cinzel', serif;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--royal-orange);
  font-weight:600;
}
.text-gold{ color:var(--golden) !important; }
.text-cream{ color:var(--cream) !important; }
.text-cream-70{ color:var(--cream-70) !important; }
.body-text{ font-size:.97rem; line-height:1.85; color:#5a4033; }
.section-pad{ padding:6rem 0; }
.bg-cream-deep{ background:var(--cream-deep); }
.bg-dark-royal{ background:var(--dark-bg); }

/* ---------- Buttons ---------- */
.btn-royal-solid{
  background:linear-gradient(135deg, var(--royal-orange), var(--royal-orange-hover));
  border:1px solid var(--golden);
  color:#fff;
  font-family:'Montserrat', sans-serif;
  font-weight:600;
  font-size:.82rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:.75rem 1.9rem;
  border-radius:4px;
  display:inline-block;
  transition:.3s ease;
  position:relative;
  overflow:hidden;
}
.btn-royal-solid:hover{ background:linear-gradient(135deg, var(--royal-orange-hover), var(--royal-orange)); color:#fff; transform:translateY(-2px); box-shadow:0 12px 25px -10px rgba(217,119,6,.5); }
.btn-royal-outline{
  background:transparent;
  border:1.5px solid var(--golden);
  color:var(--golden);
  font-family:'Montserrat', sans-serif;
  font-weight:600;
  font-size:.82rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:.75rem 1.9rem;
  border-radius:4px;
  display:inline-block;
  transition:.3s ease;
}
.btn-royal-outline:hover{ background:var(--golden); color:var(--dark-bg); transform:translateY(-2px); }

/* ---------- Navbar ---------- */
.navbar-royal{
  padding:.9rem 0;
  transition:.35s ease;
  background:rgba(31,18,13,.25);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(212,175,55,.15);
}
.navbar-royal.scrolled, .navbar-royal.is-solid{
  background:rgba(31,18,13,.94);
  box-shadow:0 6px 20px rgba(0,0,0,.25);
}
.brand-logo{ font-family:'Cinzel', serif; font-size:1.5rem; letter-spacing:.03em; }
.brand-main{ color:var(--golden); font-weight:700; }
.brand-sub{ color:var(--cream); font-weight:500; margin-left:.3rem; }
.navbar-royal .nav-link{
  color:rgba(255,248,240,.85) !important;
  font-family:'Montserrat', sans-serif;
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin:0 .7rem;
  position:relative;
  padding-bottom:4px !important;
}
.navbar-royal .nav-link::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:0; height:2px;
  background:var(--golden);
  transition:.3s ease;
}
.navbar-royal .nav-link:hover::after,
.navbar-royal .nav-link.active::after{ width:100%; }
.navbar-royal .nav-link:hover, .navbar-royal .nav-link.active{ color:var(--golden) !important; }
.navbar-toggler{ border:1px solid rgba(212,175,55,.4); color:var(--golden); }

/* ---------- Reveal animations ---------- */
.reveal-fade-up, .reveal-fade-left, .reveal-fade-right, .reveal-line{
  opacity:0;
  transition:opacity .8s ease, transform .8s ease;
}
.reveal-fade-up{ transform:translateY(30px); }
.reveal-fade-left{ transform:translateX(-40px); }
.reveal-fade-right{ transform:translateX(40px); }
.reveal-line{ transform:translateY(20px); display:block; }
.reveal-fade-up.in, .reveal-fade-left.in, .reveal-fade-right.in, .reveal-line.in{
  opacity:1; transform:translate(0,0);
}

/* ---------- Footer ---------- */
.footer-royal{ background:var(--dark-bg); color:var(--cream-70); padding:4.5rem 0 1.5rem; }
.footer-brand{ font-family:'Cinzel', serif; color:var(--golden); font-size:1.6rem; }
.footer-brand span{ color:var(--cream); }
.footer-links{ list-style:none; padding:0; }
.footer-links li{ margin-bottom:.6rem; }
.footer-links a{ color:var(--cream-70); text-decoration:none; font-size:.88rem; }
.footer-links a:hover{ color:var(--golden); }
.footer-royal h6{ color:var(--golden); font-family:'Cinzel', serif; letter-spacing:.05em; margin-bottom:1rem; }
.social-row a{
  width:38px; height:38px; border:1px solid rgba(212,175,55,.4); border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--golden); margin-right:.5rem; text-decoration:none; transition:.25s ease;
}
.social-row a:hover{ background:var(--golden); color:var(--dark-bg); }
.newsletter-form{ display:flex; border:1px solid rgba(212,175,55,.4); border-radius:4px; overflow:hidden; }
.newsletter-form input{ flex:1; background:transparent; border:0; padding:.7rem 1rem; color:var(--cream); font-size:.85rem; }
.newsletter-form input:focus{ outline:none; }
.newsletter-form button{ background:var(--royal-orange); border:0; color:#fff; padding:0 1.1rem; }
.insta-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:.6rem; }
.insta-grid img{ width:100%; height:100%; object-fit:cover; border-radius:3px; }
.footer-bottom{ border-top:1px solid rgba(212,175,55,.2); margin-top:2.5rem; padding-top:1.3rem; font-size:.8rem; }

/* ---------- Back to top ---------- */
.back-to-top{
  position:fixed; right:24px; bottom:24px;
  width:46px; height:46px; border-radius:50%;
  background:var(--royal-orange); color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 25px -8px rgba(0,0,0,.4);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:.3s ease; z-index:999; text-decoration:none;
}
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ background:var(--royal-orange-hover); color:#fff; }
/* =========================================================
   RAASA AWAD — MENU PAGE STYLES
   ========================================================= */

/* ---------- Menu Hero ---------- */
.menu-hero{
  background:linear-gradient(120deg, var(--dark-bg) 0%, #17100c 45%, #2a1206 100%);
  padding:11rem 0 5.5rem;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.menu-hero::after{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(212,175,55,.12), transparent 60%);
}
.menu-hero-title{
  font-family:'Cormorant Garamond', serif;
  font-weight:700;
  font-size:clamp(2.4rem, 5vw, 3.4rem);
  color:var(--cream);
  margin:.6rem 0 .8rem;
  position:relative;
  z-index:1;
}
.menu-hero-sub{
  color:var(--cream-70);
  font-size:.95rem;
  letter-spacing:.02em;
  position:relative;
  z-index:1;
}

/* ---------- Category Tabs ---------- */
.menu-tabs-wrap{
  background:var(--cream);
  border-bottom:1px solid rgba(217,119,6,.15);
  position:sticky;
  top:0;
  z-index:900;
  box-shadow:0 6px 18px -12px rgba(0,0,0,.15);
}
.menu-tabs{
  display:flex;
  gap:.6rem;
  overflow-x:auto;
  padding:1.1rem 0;
  scrollbar-width:none;
}
.menu-tabs::-webkit-scrollbar{ display:none; }
.menu-tab{
  flex:0 0 auto;
  background:var(--cream-deep);
  border:1px solid rgba(217,119,6,.25);
  color:var(--dark-brown);
  font-family:'Montserrat', sans-serif;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.02em;
  padding:.6rem 1.3rem;
  border-radius:30px;
  white-space:nowrap;
  transition:.25s ease;
  display:flex;
  align-items:center;
  gap:.5rem;
}
.menu-tab i{ font-size:.9rem; }
.menu-tab:hover{ border-color:var(--royal-orange); color:var(--royal-orange-hover); }
.menu-tab.active{
  background:linear-gradient(135deg, var(--royal-orange), var(--royal-orange-hover));
  border-color:var(--royal-orange);
  color:#fff;
  box-shadow:0 10px 20px -10px rgba(217,119,6,.6);
}

/* ---------- Menu Content ---------- */
.menu-content-section{ padding:3.5rem 0 2rem; background:var(--cream); }
.menu-category{ display:none; animation:fadeInMenu .4s ease; }
.menu-category.active{ display:block; }
@keyframes fadeInMenu{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:translateY(0);} }

.menu-category-title{
  font-family:'Cormorant Garamond', serif;
  font-weight:700;
  font-size:1.9rem;
  color:var(--dark-brown);
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:1.6rem;
}
.menu-category-title i{ color:var(--royal-orange); font-size:1.4rem; }

.menu-dish-item{
  background:var(--cream-deep);
  border-radius:10px;
  padding:1.2rem 1.4rem;
  height:100%;
  transition:.25s ease;
  border:1px solid transparent;
}
.menu-dish-item:hover{
  border-color:rgba(217,119,6,.35);
  transform:translateY(-3px);
  box-shadow:0 14px 28px -18px rgba(59,36,24,.35);
}
.menu-dish-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:.35rem;
}
.menu-dish-head h5{
  font-family:'Cormorant Garamond', serif;
  font-weight:700;
  font-size:1.15rem;
  color:var(--dark-brown);
  margin:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.5rem;
}
.menu-dish-price{
  font-family:'Cinzel', serif;
  color:var(--royal-orange-hover);
  font-weight:600;
  font-size:1.05rem;
  white-space:nowrap;
}
.menu-dish-item p{
  font-size:.85rem;
  color:#6b5142;
  margin:0;
  line-height:1.6;
}

.tag{
  font-family:'Montserrat', sans-serif;
  font-size:.6rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:.15rem .55rem;
  border-radius:20px;
}
.tag-bestseller{ background:#FCE8CE; color:#B45309; }
.tag-chef{ background:#F7DFC9; color:#9A3412; }
.tag-veg{ background:#DCF5E3; color:#1B7A3A; }

.menu-note{
  background:var(--cream-deep);
  border:1px dashed rgba(217,119,6,.4);
  border-radius:8px;
  padding:.9rem 1.2rem;
  font-size:.82rem;
  color:#8a5a2a;
  margin-top:1.6rem;
}
.menu-note i{ color:var(--royal-orange); margin-right:.4rem; }

/* ---------- CTA strip ---------- */
.menu-cta-strip{
  background:linear-gradient(120deg, var(--dark-bg), #2a1206);
  padding:3.5rem 0;
}
.menu-cta-strip h3{
  font-family:'Cormorant Garamond', serif;
  color:var(--cream);
  font-size:1.9rem;
  margin-bottom:.5rem;
}

@media (max-width:576px){
  .menu-hero{ padding:9rem 0 4rem; }
  .menu-dish-head{ flex-direction:column; gap:.2rem; }
}

.menu-dish-item{
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    border:1px solid rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
}

.menu-dish-item:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.menu-dish-image{
    height:220px;
    overflow:hidden;
}

.menu-dish-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.menu-dish-item:hover .menu-dish-image img{
    transform:scale(1.08);
}

.menu-dish-content{
    padding:18px;
}

.menu-dish-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:15px;
}

.menu-dish-price{
    color:#D97706;
    font-weight:700;
    font-size:20px;
}

.menu-dish-content p{
    margin-top:10px;
    color:#666;
    line-height:1.7;
}