/* ============================================================
   Punjabi Rasoi — recreated site
   ============================================================ */
:root{
  --gold:#e6b13e;
  --gold-deep:#d49a2b;
  --gold-soft:#f0c860;
  --dark:#1c1206;
  --dark2:#2a1c0b;
  --brown:#3a2a12;
  --ink:#2b2b2b;
  --serif:'Playfair Display', Georgia, serif;
  --sans:'Poppins', 'Segoe UI', Arial, sans-serif;
  --script:'Great Vibes', cursive;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:#000;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* ---------- NAVBAR ---------- */
.nav{
  position:fixed;top:0;left:0;width:100%;z-index:100;
  display:flex;align-items:center;justify-content:flex-end;
  padding:20px 56px;
  background:rgba(8,6,3,.92);
  transition:background .35s ease, padding .35s ease;
}
.nav.scrolled{background:rgba(8,6,3,.97);padding:14px 56px;box-shadow:0 2px 18px rgba(0,0,0,.5)}
.nav-links{display:flex;align-items:center;gap:44px}
.nav a{
  color:#fff;font-size:1.1rem;font-weight:600;letter-spacing:.4px;
  position:relative;padding:4px 0;transition:color .25s;white-space:nowrap;
}
.nav a::after{
  content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;
  background:var(--gold);transition:width .3s ease;
}
.nav a:hover{color:var(--gold)}
.nav a:hover::after{width:100%}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;margin-left:auto}

/* ---------- HERO ---------- */
.hero{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:#fff;padding:120px 20px 60px;
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.8));
}
.hero>*{position:relative;z-index:2}
.hero .welcome{
  letter-spacing:.6em;font-size:1.15rem;font-weight:600;
  color:#f4f0e6;margin-bottom:6px;padding-left:.6em;
}
.hero .hero-logo{width:min(540px,86vw);margin:8px auto 4px}
.hero .kitchen{
  font-family:var(--serif);font-style:italic;letter-spacing:.15em;
  font-size:1.3rem;color:#efe7d3;margin-top:6px;
  display:flex;align-items:center;gap:14px;justify-content:center;
}
.hero .kitchen::before,.hero .kitchen::after{content:"";width:40px;height:1px;background:#cbb98e}
.hero-btns{margin-top:40px;display:flex;gap:24px;flex-wrap:wrap;justify-content:center}
.btn-outline{
  border:1.5px solid #fff;color:#fff;padding:16px 38px;border-radius:6px;
  font-size:.95rem;font-weight:600;letter-spacing:.08em;background:rgba(0,0,0,.15);
  transition:all .28s ease;
}
.btn-outline:hover{background:var(--gold);border-color:var(--gold);color:#1c1206;transform:translateY(-2px)}

/* ---------- SECTION HELPERS ---------- */
.section{padding:90px 24px}
.wrap{max-width:1120px;margin:0 auto}
.heading{
  font-family:var(--serif);font-weight:800;letter-spacing:.04em;
  line-height:1.15;text-transform:uppercase;
}

/* ---------- ABOUT ---------- */
.about{
  background:#f4f4f4 url('../assets/marble.jpg') center/cover;
}
.about .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:center}
.about-img{border-radius:4px;box-shadow:0 20px 45px rgba(0,0,0,.25);overflow:hidden}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-text{text-align:center;padding:0 10px}
.about-text .heading{font-size:2.1rem;color:#20140a;margin-bottom:24px}
.about-text .heading small{display:block;font-size:1.35rem}
.about-text p{color:#3a3a3a;font-size:1.12rem;line-height:1.7;max-width:600px;margin:0 auto;text-align:justify}

/* ---------- GIFT CARD ---------- */
.gift{
  background:var(--gold);text-align:center;padding:64px 24px;color:#1c1206;
}
.gift h2{font-family:var(--serif);font-weight:800;font-size:2.4rem;letter-spacing:.06em;margin-bottom:18px}
.gift p{max-width:620px;margin:0 auto 30px;font-size:1.12rem;line-height:1.65;color:#2a1c0b}
.btn-dark{
  display:inline-block;background:var(--dark);color:#f3e7cf;
  padding:16px 40px;border-radius:30px;font-weight:600;letter-spacing:.04em;
  font-size:1.02rem;transition:all .28s ease;
}
.btn-dark:hover{background:#000;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.35)}

/* ---------- CATERING ---------- */
.catering{
  position:relative;color:#f2e8d6;
  background:var(--dark) center/cover;
}
.catering.cream{color:#4a3616}
.catering .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;position:relative;z-index:2}
.catering .heading{font-size:2.3rem;color:var(--gold);margin-bottom:24px}
.catering.cream .heading{color:#6b4a15}
.catering p{font-size:1.12rem;line-height:1.7;text-align:justify}
.catering-img{border-radius:6px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.catering .sun{
  position:absolute;right:6%;top:-26px;width:78px;height:78px;border-radius:50%;
  background:var(--gold);z-index:1;filter:blur(1px);opacity:.9;
}

/* ---------- MENU CTA ---------- */
.menu-cta{
  position:relative;text-align:center;color:#fff;
  min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:center/cover;padding:70px 24px;
}
.menu-cta::before{content:"";position:absolute;inset:0;background:rgba(10,8,4,.68)}
.menu-cta>*{position:relative;z-index:2}
.menu-cta h2{font-family:var(--serif);font-size:3.2rem;font-weight:600;margin-bottom:16px}
.menu-cta p{max-width:700px;margin:0 auto 30px;font-size:1.05rem;line-height:1.6;color:#e6e0d4}
.btn-menu{
  display:inline-flex;align-items:center;gap:16px;background:var(--gold);color:#1c1206;
  padding:14px 18px 14px 30px;border-radius:30px;font-weight:600;letter-spacing:.03em;
  font-size:1.02rem;transition:all .28s ease;
}
.btn-menu span{
  width:30px;height:30px;border-radius:50%;background:#e05b1f;color:#fff;
  display:grid;place-items:center;font-size:1rem;transition:transform .28s;
}
.btn-menu:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.4)}
.btn-menu:hover span{transform:translateX(4px)}

/* ---------- FOOTER ---------- */
.footer{
  position:relative;color:#e9dcc2;
  background:var(--dark) center/cover;padding:70px 24px 0;
}
.footer::before{content:"";position:absolute;inset:0;background:rgba(14,9,3,.86)}
.footer>*{position:relative;z-index:2}
.footer .wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:center;padding-bottom:40px}
.footer-logo img{width:min(300px,70vw);margin:0 auto}
.footer-info{display:grid;grid-template-columns:1fr 1fr;gap:30px 40px;text-align:center}
.footer-info .block h4{color:var(--gold);letter-spacing:.12em;font-size:.98rem;margin-bottom:8px}
.footer-info .block p{font-size:1rem;color:#e7dcc6;line-height:1.55}
.open-row{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:18px;
  border-top:1px solid rgba(230,177,62,.25);padding-top:26px;margin-top:6px;flex-wrap:wrap}
.open-row .we-are{color:var(--gold);letter-spacing:.35em;font-size:.82rem}
.open-row .big-open{font-family:var(--serif);font-size:3rem;color:var(--gold);font-weight:700;line-height:1}
.open-row .hours{text-align:left;font-size:.92rem;color:#e7dcc6}
.open-row .hours strong{display:block;color:#fff;font-size:.95rem;letter-spacing:.04em}
.footer-bottom{
  position:relative;z-index:2;text-align:center;border-top:1px solid rgba(255,255,255,.08);
  padding:20px;font-size:.72rem;color:#b7a988;letter-spacing:.03em;line-height:1.9;
}
.footer-bottom a{color:var(--gold)}

/* ---------- MENU CHOICE MODAL ---------- */
.menu-modal-overlay{
  position:fixed;inset:0;z-index:300;display:none;
  align-items:center;justify-content:center;padding:20px;
  background:rgba(10,7,3,.74);backdrop-filter:blur(4px);
}
.menu-modal-overlay.open{display:flex}
.menu-modal{
  background:#1c1206;border:1px solid rgba(230,177,62,.35);border-radius:16px;
  max-width:440px;width:100%;padding:40px 32px 34px;text-align:center;color:#f3e7cf;
  box-shadow:0 30px 70px rgba(0,0,0,.6);position:relative;animation:menu-pop .3s ease;
}
@keyframes menu-pop{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
.menu-modal h3{font-family:var(--serif);color:var(--gold);font-size:1.8rem;margin-bottom:6px}
.menu-modal p{font-size:.95rem;color:#cbbb96;margin-bottom:28px}
.menu-modal .choices{display:flex;flex-direction:column;gap:14px}
.menu-choice{
  display:flex;align-items:center;justify-content:center;gap:12px;
  background:var(--gold);color:#1c1206;padding:16px 22px;border-radius:12px;
  font-weight:600;font-size:1.08rem;letter-spacing:.02em;transition:all .25s ease;
}
.menu-choice:hover{background:var(--gold-soft);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.4)}
.menu-choice svg{width:24px;height:24px;flex:none}
.menu-modal-close{
  position:absolute;top:12px;right:16px;background:none;border:none;
  color:#cbbb96;font-size:1.8rem;line-height:1;cursor:pointer;transition:color .2s;
}
.menu-modal-close:hover{color:var(--gold)}

/* ---------- SCROLL REVEAL ---------- */
.reveal{opacity:0;transform:translateY(38px);transition:opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}
.reveal.d2{transition-delay:.24s}

/* ---------- RESPONSIVE ---------- */
@media(max-width:860px){
  .nav{padding:14px 20px;gap:0}
  .nav-links{
    position:fixed;top:0;right:-100%;height:100vh;width:min(70vw,280px);
    background:rgba(12,8,3,.98);flex-direction:column;justify-content:center;
    gap:30px;display:flex;transition:right .35s ease;padding:40px;
  }
  .nav-links.open{right:0}
  .nav-toggle{display:block;z-index:110}
  .about .wrap,.catering .wrap,.footer .wrap{grid-template-columns:1fr;gap:34px}
  .about-img,.catering-img{max-width:440px;margin:0 auto}
  .footer-info{grid-template-columns:1fr}
  .open-row{flex-direction:column;gap:8px}
  .menu-cta h2{font-size:2rem}
}
@media(max-width:480px){
  .hero .welcome{letter-spacing:.4em;font-size:.8rem}
  .section{padding:64px 18px}
  .gift h2,.about-text .heading,.catering .heading{font-size:1.5rem}
}
