/* ============================================================
   RAONAK PUNJAB - Premium Restaurant CSS
   Traditional Punjabi Theme | Modern Web Design
   ============================================================ */
:root {
  --primary:    #1E5AA8;
  --secondary:  #E53935;
  --accent:     #F6B100;
  --green:      #1E8E3E;
  --bg:         #FFF7E8;
  --bg-dark:    #0D1B3E;
  --text-dark:  #0D1B3E;
  --text-muted: #6b6b6b;
  --cream-dark: #F5E6CC;
  --white:      #ffffff;
  --shadow-sm:  0 4px 15px rgba(0,0,0,0.08);
  --shadow-md:  0 8px 30px rgba(0,0,0,0.12);
  --shadow-lg:  0 20px 60px rgba(0,0,0,0.15);
  --radius: 16px; --radius-sm: 10px;
  --transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Poppins', sans-serif; background: var(--bg); color: var(--text-dark); overflow-x: hidden; line-height: 1.6; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
.section-pad { padding: 90px 0; }
.text-red { color: var(--secondary); }
.text-accent { color: var(--accent); }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--secondary); border-radius: 3px; }

html:not(.aos-ready) [data-aos] {
  opacity: 1 !important;
  transform: none !important;
}

.why-section [data-aos],
#menuGrid [data-aos] {
  opacity: 1 !important;
  transform: none !important;
}

/* ---- LOADING SCREEN ---- */
#loader { position:fixed; inset:0; z-index:9999; background:var(--bg-dark); display:flex; align-items:center; justify-content:center; transition:opacity .6s,visibility .6s; }
#loader.hidden { opacity:0; visibility:hidden; pointer-events:none; }
.loader-inner { text-align:center; }
.loader-logo-wrap { width:120px; height:120px; margin:0 auto 1.5rem; border-radius:50%; overflow:hidden; border:3px solid var(--accent); box-shadow:0 0 40px rgba(246,177,0,.4); animation:pulseGlow 2s infinite; }
.loader-logo-img { width:100%; height:100%; object-fit:cover; }
.loader-brand { font-family:'Cinzel',serif; font-size:1.8rem; font-weight:900; color:var(--accent); letter-spacing:4px; margin-bottom:1.2rem; }
.loader-bar-wrap { width:260px; height:4px; background:rgba(255,255,255,.1); border-radius:2px; margin:0 auto 1rem; overflow:hidden; }
.loader-fill { height:100%; background:linear-gradient(90deg,var(--secondary),var(--accent)); border-radius:2px; animation:loadFill 2.4s ease-in-out forwards; }
.loader-sub { color:rgba(255,255,255,.6); font-size:.85rem; letter-spacing:2px; }
@keyframes loadFill { 0%{width:0} 30%{width:40%} 70%{width:80%} 100%{width:100%} }
@keyframes pulseGlow { 0%,100%{box-shadow:0 0 20px rgba(246,177,0,.4)} 50%{box-shadow:0 0 50px rgba(246,177,0,.8)} }

/* ---- SCROLL PROGRESS ---- */
#scrollProgress { position:fixed; top:0; left:0; height:3px; z-index:9998; width:0; background:linear-gradient(90deg,var(--secondary),var(--accent),var(--primary)); transition:width .1s; box-shadow:0 0 10px var(--accent); }

/* ---- NAVBAR ---- */
#navbar { background:rgba(255,247,232,.95); backdrop-filter:blur(20px); border-bottom:2px solid transparent; padding:.75rem 0; transition:var(--transition); }
#navbar.scrolled { background:rgba(255,247,232,.98); border-bottom-color:rgba(246,177,0,.3); box-shadow:0 4px 20px rgba(0,0,0,.08); }
.nav-logo { width:48px; height:48px; border-radius:50%; object-fit:cover; border:2px solid var(--accent); transition:var(--transition); }
.nav-logo:hover { transform:rotate(10deg) scale(1.1); }
.nav-brand-name { font-family:'Cinzel',serif; font-size:1.1rem; font-weight:900; color:var(--primary); letter-spacing:1.5px; line-height:1; }
.nav-link { font-weight:600; font-size:.9rem; color:var(--text-dark)!important; padding:.5rem 1rem!important; border-radius:8px; transition:var(--transition); position:relative; }
.nav-link::after { content:''; position:absolute; bottom:0; left:50%; right:50%; height:2px; background:var(--secondary); transition:var(--transition); }
.nav-link:hover { color:var(--secondary)!important; }
.nav-link:hover::after,.nav-link.active::after { left:10%; right:10%; }
.btn-nav-order { background:linear-gradient(135deg,var(--green),#156830); color:white!important; font-weight:700; font-size:.85rem; padding:.55rem 1.3rem!important; border-radius:50px; display:flex; align-items:center; gap:6px; box-shadow:0 4px 15px rgba(30,142,62,.3); transition:var(--transition); border:none; }
.btn-nav-order:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(30,142,62,.4); }
.navbar-toggler { border:none!important; background:none!important; padding:4px 8px; }
.navbar-toggler:focus { box-shadow:none!important; }

/* ---- HERO ---- */
.hero-section { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; }
.hero-bg-img { position:absolute; inset:0; background:url('hero-bg.png') center/cover no-repeat; transform:scale(1.05); transition:transform 20s linear; }
.hero-section:hover .hero-bg-img { transform:scale(1.1); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(13,27,62,.88) 0%,rgba(30,90,168,.75) 50%,rgba(229,57,53,.55) 100%); }
.hero-pattern { position:absolute; inset:0; opacity:.06; background-image:radial-gradient(circle at 20% 80%,var(--accent) 2px,transparent 2px),radial-gradient(circle at 80% 20%,var(--secondary) 2px,transparent 2px),radial-gradient(circle at 50% 50%,var(--primary) 2px,transparent 2px); background-size:60px 60px,80px 80px,100px 100px; }
.hero-ring { position:absolute; border-radius:50%; border:1px solid rgba(246,177,0,.15); animation:rotateRing 20s linear infinite; }
.hero-ring.r1 { width:600px; height:600px; top:-200px; right:-200px; animation-duration:25s; }
.hero-ring.r2 { width:400px; height:400px; bottom:-150px; left:-150px; animation-direction:reverse; }
.hero-ring.r3 { width:200px; height:200px; top:60%; left:20%; animation-duration:15s; border-color:rgba(229,57,53,.15); }
@keyframes rotateRing { to{transform:rotate(360deg)} }
.floating-icons { position:absolute; inset:0; pointer-events:none; z-index:1; }
.fi { position:absolute; font-size:2rem; animation:floatIcon 6s ease-in-out infinite; opacity:.7; filter:drop-shadow(0 4px 8px rgba(0,0,0,.3)); }
.fi-1{top:15%;left:8%;animation-delay:0s;animation-duration:7s}
.fi-2{top:25%;right:12%;animation-delay:1s;animation-duration:8s}
.fi-3{top:65%;left:5%;animation-delay:2s;animation-duration:6s}
.fi-4{top:80%;right:8%;animation-delay:.5s;animation-duration:9s}
.fi-5{top:45%;left:3%;animation-delay:3s;animation-duration:7s}
.fi-6{top:10%;right:25%;animation-delay:1.5s;animation-duration:8s}
.fi-7{top:90%;left:20%;animation-delay:2.5s;animation-duration:6s}
.fi-8{top:55%;right:3%;animation-delay:4s;animation-duration:9s}
@keyframes floatIcon { 0%,100%{transform:translateY(0) rotate(0deg)} 33%{transform:translateY(-20px) rotate(10deg)} 66%{transform:translateY(10px) rotate(-5deg)} }
.hero-left { position:relative; z-index:2; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(246,177,0,.2); border:1px solid rgba(246,177,0,.5); color:var(--accent); font-size:.8rem; font-weight:600; letter-spacing:1px; padding:.5rem 1.2rem; border-radius:50px; margin-bottom:1.5rem; }
.hero-logo-wrap { width:160px; height:160px; margin-bottom:1.5rem; border-radius:50%; overflow:hidden; border:4px solid var(--accent); box-shadow:0 0 40px rgba(246,177,0,.35),0 0 80px rgba(246,177,0,.15); animation:heroPulse 3s ease-in-out infinite; }
@keyframes heroPulse { 0%,100%{box-shadow:0 0 30px rgba(246,177,0,.35),0 0 60px rgba(246,177,0,.1)} 50%{box-shadow:0 0 50px rgba(246,177,0,.6),0 0 100px rgba(246,177,0,.2)} }
.hero-logo-img { width:100%; height:100%; object-fit:cover; }
.hero-title { font-family:'Cinzel',serif; font-size:clamp(2.5rem,6vw,5rem); font-weight:900; color:#fff; letter-spacing:4px; line-height:1.1; text-shadow:2px 4px 20px rgba(0,0,0,.4); margin-bottom:.75rem; }
.hero-accent { color:var(--accent); }
.hero-subtitle { font-size:clamp(1rem,2vw,1.25rem); color:rgba(255,255,255,.9); font-weight:500; margin-bottom:.75rem; letter-spacing:.5px; }
.hero-slogan { position:relative; display:inline-flex; align-items:center; gap:.85rem; max-width:100%; margin:.1rem 0 1rem; padding:.7rem 1.15rem; background:linear-gradient(135deg,rgba(255,247,232,.96),rgba(246,177,0,.9)); color:var(--text-dark); border:1px solid rgba(255,255,255,.72); border-radius:999px; box-shadow:0 14px 38px rgba(0,0,0,.24),0 0 28px rgba(246,177,0,.3); }
.hero-slogan::before { content:''; position:absolute; inset:4px; border:1px dashed rgba(229,57,53,.35); border-radius:999px; pointer-events:none; }
.slogan-text { position:relative; z-index:1; font-family:'Cinzel',serif; font-size:clamp(1rem,2vw,1.32rem); font-weight:900; letter-spacing:.8px; text-shadow:0 1px 0 rgba(255,255,255,.55); white-space:nowrap; }
.slogan-line { position:relative; z-index:1; width:42px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--secondary),var(--primary)); opacity:.85; }
.hero-tagline { font-size:1rem; color:rgba(255,255,255,.75); margin-bottom:2rem; }
.hero-cta-group { display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:2.5rem; }
.btn-cta-primary,.btn-cta-secondary,.btn-cta-whatsapp { display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:.95rem; padding:.8rem 1.8rem; border-radius:50px; transition:var(--transition); border:none; }
.btn-cta-primary { background:linear-gradient(135deg,var(--secondary),#c62828); color:white; box-shadow:0 6px 20px rgba(229,57,53,.4); }
.btn-cta-primary:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(229,57,53,.5); color:white; }
.btn-cta-secondary { background:rgba(255,255,255,.1); color:white; border:2px solid rgba(255,255,255,.5)!important; backdrop-filter:blur(10px); }
.btn-cta-secondary:hover { background:rgba(255,255,255,.2); transform:translateY(-3px); color:white; }
.btn-cta-whatsapp { background:linear-gradient(135deg,#25D366,#128C7E); color:white; box-shadow:0 6px 20px rgba(37,211,102,.35); }
.btn-cta-whatsapp:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(37,211,102,.5); color:white; }
.hero-right { position:relative; z-index:2; }
.hero-food-showcase { position:relative; width:380px; height:380px; }
.hfs-ring { position:absolute; border-radius:50%; border:2px solid rgba(246,177,0,.3); animation:rotateRing 15s linear infinite; }
.hfs-ring.r1 { inset:-30px; }
.hfs-ring.r2 { inset:-60px; border-color:rgba(229,57,53,.2); animation-direction:reverse; animation-duration:20s; }
.hfs-main-img { width:320px; height:320px; object-fit:cover; border-radius:50%; border:5px solid var(--accent); box-shadow:0 20px 60px rgba(0,0,0,.4); position:absolute; top:30px; left:30px; animation:floatIcon 5s ease-in-out infinite; }
.hfs-mini { position:absolute; background:rgba(255,247,232,.95); backdrop-filter:blur(10px); border-radius:var(--radius-sm); padding:8px; box-shadow:var(--shadow-md); display:flex; align-items:center; gap:8px; font-size:.75rem; font-weight:600; color:var(--text-dark); border:1px solid rgba(246,177,0,.3); animation:floatMini 4s ease-in-out infinite; }
.hfs-mini img { width:40px; height:40px; border-radius:6px; object-fit:cover; }
.hfs-mini.mc1 { top:-20px; right:-20px; animation-delay:.5s; }
.hfs-mini.mc2 { bottom:10px; right:-30px; animation-delay:1.5s; }
@keyframes floatMini { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
.scroll-down-cue { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:2; color:var(--accent); font-size:1.8rem; animation:bounce 2s infinite; }
.scroll-down-cue:hover { color:white; }
@keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(10px)} }

/* ---- SECTION HEADERS ---- */
.sec-header { text-align:center; margin-bottom:3.5rem; }
.sec-tag { display:inline-block; font-size:.8rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--secondary); background:rgba(229,57,53,.08); padding:.4rem 1.2rem; border-radius:50px; margin-bottom:.75rem; border:1px solid rgba(229,57,53,.2); }
.sec-title { font-family:'Cinzel',serif; font-size:clamp(1.8rem,4vw,2.8rem); font-weight:900; color:var(--text-dark); margin-bottom:.75rem; letter-spacing:1px; line-height:1.2; }
.sec-line { width:80px; height:4px; background:linear-gradient(90deg,var(--secondary),var(--accent)); border-radius:2px; margin:0 auto; }
.sec-desc { margin-top:1rem; color:var(--text-muted); font-size:1.05rem; font-style:italic; }

/* ---- ABOUT ---- */
.about-section { background:var(--bg); }
.brand-story { position:relative; max-width:960px; margin:-1rem auto 4rem; padding:2.3rem 2.4rem 2rem; background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,247,232,.9)); border:1px solid rgba(246,177,0,.42); border-left:6px solid var(--secondary); border-radius:var(--radius); box-shadow:0 18px 50px rgba(13,27,62,.12); overflow:hidden; }
.brand-story::before { content:''; position:absolute; top:-85px; right:-70px; width:210px; height:210px; border-radius:50%; background:radial-gradient(circle,rgba(246,177,0,.3),transparent 68%); pointer-events:none; }
.brand-story::after { content:'"'; position:absolute; right:2rem; bottom:-2.8rem; font-family:'Cinzel',serif; font-size:9rem; line-height:1; color:rgba(229,57,53,.08); pointer-events:none; }
.story-kicker { color:var(--secondary); font-family:'Cinzel',serif; font-size:.9rem; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:.35rem; }
.brand-story h3 { font-family:'Cinzel',serif; font-size:clamp(1.6rem,3vw,2.35rem); font-weight:900; color:var(--primary); margin-bottom:1rem; letter-spacing:1px; }
.story-copy { position:relative; z-index:1; display:grid; gap:.85rem; max-width:820px; }
.brand-story p { position:relative; color:var(--text-muted); font-size:1rem; line-height:1.85; margin-bottom:0; }
.brand-story p strong { color:var(--text-dark); font-weight:700; }
.story-lead { color:var(--text-dark)!important; font-size:clamp(1.12rem,2vw,1.35rem)!important; font-weight:700; line-height:1.55!important; }
.story-signoff { position:relative; z-index:1; display:inline-flex; flex-wrap:wrap; align-items:center; gap:.45rem 1rem; margin-top:1.5rem; padding:.85rem 1.15rem; background:rgba(30,90,168,.08); border:1px solid rgba(30,90,168,.14); border-radius:14px; }
.story-signoff strong { font-family:'Cinzel',serif; color:var(--secondary); font-size:1.15rem; letter-spacing:1px; }
.story-signoff span { color:var(--text-dark); font-weight:700; }
.about-img-box { position:relative; width:100%; max-width:400px; margin:0 auto; padding:2rem; }
.aib-bg { position:absolute; inset:0; background:linear-gradient(135deg,rgba(30,90,168,.08),rgba(229,57,53,.08)); border-radius:30% 70% 70% 30%/30% 30% 70% 70%; animation:morphShape 8s ease-in-out infinite; }
@keyframes morphShape { 0%,100%{border-radius:30% 70% 70% 30%/30% 30% 70% 70%} 50%{border-radius:70% 30% 30% 70%/70% 70% 30% 30%} }
.aib-logo { width:280px; height:280px; object-fit:cover; border-radius:50%; border:5px solid var(--accent); box-shadow:var(--shadow-lg); margin:0 auto; position:relative; z-index:1; }
.aib-badge { position:absolute; z-index:2; background:white; border-radius:14px; padding:.75rem 1.1rem; box-shadow:var(--shadow-md); display:flex; align-items:center; gap:10px; font-size:.8rem; font-weight:700; border:2px solid rgba(246,177,0,.25); line-height:1.3; }
.aib-badge i { font-size:1.4rem; }
.aib-badge.b1 { top:10px; right:-10px; } .aib-badge.b1 i { color:var(--accent); }
.aib-badge.b2 { bottom:30px; left:-10px; } .aib-badge.b2 i { color:var(--primary); }
.about-p { color:var(--text-muted); line-height:1.8; margin-bottom:1rem; font-size:1rem; }
.about-p strong { color:var(--text-dark); }
.feat-card { background:white; border:1px solid rgba(246,177,0,.25); border-radius:var(--radius); padding:1.2rem 1rem; text-align:center; transition:var(--transition); box-shadow:var(--shadow-sm); }
.feat-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:var(--accent); }
.feat-icon { font-size:2rem; margin-bottom:.5rem; }
.feat-lbl { font-size:.78rem; font-weight:600; color:var(--text-dark); line-height:1.3; }

/* ---- WHY CHOOSE US ---- */
.why-section { background:linear-gradient(135deg,var(--bg-dark) 0%,#1a2a5e 100%); }
.why-section .sec-title { color:white; }
.why-section .sec-tag { color:var(--accent); background:rgba(246,177,0,.1); border-color:rgba(246,177,0,.3); }
.why-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); padding:2rem 1.5rem; text-align:center; transition:var(--transition); height:100%; }
.why-card:hover { background:rgba(255,255,255,.12); border-color:var(--accent); transform:translateY(-8px); box-shadow:0 20px 40px rgba(0,0,0,.3); }
.why-icon { font-size:2.5rem; color:var(--accent)!important; display:block; margin-bottom:1rem; transition:var(--transition); }
.why-card:hover .why-icon { transform:scale(1.2) rotate(5deg); }
.why-txt { color:rgba(255,255,255,.85); font-weight:600; font-size:.9rem; line-height:1.4; }

/* ---- MENU ---- */
.menu-section { background:var(--cream-dark); }
.menu-tabs-wrap { display:flex; flex-wrap:wrap; gap:.45rem; justify-content:center; margin-bottom:1.8rem; }
.mtab { background:white; border:2px solid rgba(30,90,168,.15); color:var(--text-dark); font-family:'Poppins',sans-serif; font-weight:600; font-size:.78rem; padding:.42rem 1rem; border-radius:50px; cursor:pointer; transition:var(--transition); }
.mtab:hover,.mtab.active { background:var(--primary); border-color:var(--primary); color:white; box-shadow:0 6px 20px rgba(30,90,168,.3); transform:translateY(-2px); }
.mcard { background:white; border-radius:14px; overflow:hidden; box-shadow:var(--shadow-sm); transition:var(--transition); height:100%; display:flex; flex-direction:column; border:1px solid rgba(0,0,0,.05); }
.mcard:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.mcard-img { position:relative; height:150px; overflow:hidden; }
.mcard-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.mcard:hover .mcard-img img { transform:scale(1.06); }
.mcard-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.mbadge { position:absolute; top:9px; left:9px; font-size:.64rem; font-weight:700; padding:.22rem .55rem; border-radius:50px; backdrop-filter:blur(10px); }
.mbadge.veg { background:rgba(255,255,255,.9); color:var(--green); border:1px solid var(--green); }
.mbadge.nonveg { background:rgba(255,255,255,.9); color:var(--secondary); border:1px solid var(--secondary); }
.mctag { position:absolute; top:9px; right:9px; max-width:48%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.64rem; font-weight:700; padding:.22rem .55rem; border-radius:50px; background:var(--primary); color:white; }
.mctag.pop { background:linear-gradient(135deg,var(--accent),#e09000); color:var(--text-dark); }
.mcard-body { padding:.9rem .95rem 1rem; flex:1; display:flex; flex-direction:column; }
.mname { font-size:.92rem; font-weight:700; color:var(--text-dark); margin-bottom:.35rem; line-height:1.3; }
.mdesc { font-size:.74rem; color:var(--text-muted); line-height:1.45; flex:1; margin-bottom:.8rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mfooter { display:flex; align-items:center; justify-content:space-between; margin-top:auto; }
.mprice { font-family:'Cinzel',serif; font-size:1.15rem; font-weight:900; color:var(--secondary); }
.btn-order-item { background:linear-gradient(135deg,var(--primary),#1a4a90); color:white; font-size:.72rem; font-weight:700; padding:.36rem .78rem; border-radius:50px; display:flex; align-items:center; gap:4px; transition:var(--transition); }
.btn-order-item:hover { background:linear-gradient(135deg,var(--secondary),#c62828); transform:scale(1.05); color:white; }
.mitem { transition:opacity .4s,transform .4s; }
.mitem.hidden { display:none; }

@media (min-width: 992px) {
  #menuGrid > .mitem {
    flex: 0 0 auto;
    width: 25%;
  }
}

@media (min-width: 1400px) {
  #menuGrid > .mitem {
    width: 20%;
  }
}

@media (max-width: 575.98px) {
  .mcard {
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 156px;
  }

  .mcard-img {
    height: 100%;
    min-height: 156px;
  }

  .mcard-body {
    padding: .85rem;
  }
}

/* ---- DELIVERY ---- */
.delivery-section { background:linear-gradient(135deg,var(--bg) 0%,rgba(30,90,168,.05) 100%); }
.delivery-anim-wrap { position:relative; width:100%; max-width:420px; height:320px; margin:0 auto; }
.del-bg-circle { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,rgba(30,90,168,.1) 0%,rgba(229,57,53,.05) 100%); border:2px dashed rgba(30,90,168,.2); animation:spin 20s linear infinite; }
@keyframes spin { to{transform:translate(-50%,-50%) rotate(360deg)} }
.del-road { position:absolute; bottom:60px; left:10%; right:10%; height:40px; background:rgba(30,90,168,.1); border-radius:20px; overflow:hidden; }
.del-road-line { position:absolute; top:50%; left:-100%; width:50px; height:3px; background:rgba(246,177,0,.5); transform:translateY(-50%); animation:roadLine 2s linear infinite; }
@keyframes roadLine { to{left:120%} }
.del-scooter { position:absolute; bottom:70px; font-size:3.5rem; animation:scooterRide 3s ease-in-out infinite; filter:drop-shadow(4px 4px 8px rgba(0,0,0,.2)); }
@keyframes scooterRide { 0%,100%{left:10%} 50%{left:60%} }
.del-pin { position:absolute; top:20%; right:15%; font-size:3rem; animation:pinBounce 1s ease-in-out infinite alternate; filter:drop-shadow(0 4px 8px rgba(0,0,0,.2)); }
@keyframes pinBounce { to{transform:translateY(-10px)} }
.del-pulse { position:absolute; top:22%; right:17%; width:60px; height:60px; border-radius:50%; background:rgba(229,57,53,.2); animation:pulseDel 2s ease-out infinite; }
@keyframes pulseDel { 0%{transform:scale(.5);opacity:1} 100%{transform:scale(2.5);opacity:0} }
.del-features { margin:1.5rem 0 2rem; }
.del-feat { display:flex; align-items:center; gap:12px; padding:.75rem 0; border-bottom:1px solid rgba(0,0,0,.06); font-weight:500; color:var(--text-dark); font-size:.95rem; }
.del-feat:last-child { border-bottom:none; }
.del-feat i { color:var(--primary); font-size:1.1rem; width:20px; }
.btn-delivery { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,#25D366,#128C7E); color:white; font-weight:700; font-size:1rem; padding:.9rem 2rem; border-radius:50px; box-shadow:0 8px 25px rgba(37,211,102,.35); transition:var(--transition); border:none; }
.btn-delivery:hover { transform:translateY(-3px); box-shadow:0 15px 35px rgba(37,211,102,.5); color:white; }

/* ---- TESTIMONIALS ---- */
.testimonials-section { background:linear-gradient(135deg,var(--bg-dark) 0%,#1a2a5e 100%); }
.testimonials-section .sec-title { color:white; }
.testimonials-section .sec-tag { color:var(--accent); background:rgba(246,177,0,.1); border-color:rgba(246,177,0,.3); }
.testimonials-section .sec-line { background:linear-gradient(90deg,var(--accent),var(--secondary)); }
.glass { background:rgba(255,255,255,.05); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.12); }
.tcard { border-radius:var(--radius); padding:2rem; transition:var(--transition); height:100%; display:flex; flex-direction:column; }
.tcard:hover { transform:translateY(-8px); border-color:rgba(246,177,0,.4); box-shadow:0 20px 40px rgba(0,0,0,.3); }
.tcard.featured { border-color:rgba(246,177,0,.4); background:rgba(246,177,0,.08); transform:translateY(-10px) scale(1.02); }
.tcard-stars { font-size:1.1rem; margin-bottom:1rem; }
.tcard-text { color:rgba(255,255,255,.85); font-size:.9rem; line-height:1.75; font-style:italic; flex:1; margin-bottom:1.5rem; }
.tcard-author { display:flex; align-items:center; gap:12px; }
.tca-avatar { width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--secondary)); display:flex; align-items:center; justify-content:center; font-weight:800; color:white; font-size:.9rem; flex-shrink:0; }
.tca-name { font-weight:700; color:white; font-size:.9rem; }
.tca-loc { font-size:.75rem; color:rgba(255,255,255,.5); margin-top:2px; }

/* ---- CONTACT ---- */
.contact-section { background:var(--bg); }
.cinfo-wrap { padding-right:2rem; }
.cinfo-heading { font-family:'Cinzel',serif; font-size:1.6rem; font-weight:800; color:var(--text-dark); margin-bottom:.75rem; }
.cinfo-text { color:var(--text-muted); margin-bottom:1.5rem; line-height:1.7; }
.cinfo-item { display:flex; align-items:center; gap:14px; padding:1rem 0; border-bottom:1px solid rgba(0,0,0,.06); }
.cinfo-item:last-of-type { border-bottom:none; }
.cii { width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,rgba(30,90,168,.1),rgba(229,57,53,.1)); display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--primary); flex-shrink:0; }
.cil { font-size:.72rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:1px; margin-bottom:2px; }
.civ { font-weight:600; color:var(--text-dark); font-size:.9rem; }
.cinfo-social { display:flex; gap:1rem; margin-top:1.5rem; }
.csocial { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:white; transition:var(--transition); }
.csocial.fb{background:#1877F2} .csocial.ig{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)} .csocial.wa{background:#25D366}
.csocial:hover { transform:translateY(-4px) scale(1.1); box-shadow:var(--shadow-md); color:white; }
.cform { background:white; border-radius:var(--radius); padding:2.5rem; box-shadow:var(--shadow-md); border:1px solid rgba(0,0,0,.05); }
.finput-wrap { position:relative; border:2px solid rgba(0,0,0,.08); border-radius:var(--radius-sm); padding:.4rem .4rem .4rem 2.8rem; transition:var(--transition); background:rgba(255,247,232,.3); margin-bottom:.25rem; }
.finput-wrap:focus-within { border-color:var(--primary); background:white; box-shadow:0 0 0 4px rgba(30,90,168,.08); }
.finput-icon { position:absolute; left:.9rem; top:50%; transform:translateY(-50%); color:var(--text-muted); font-size:1rem; transition:var(--transition); }
.finput-wrap:focus-within .finput-icon { color:var(--primary); }
.finput { width:100%; border:none; outline:none; background:transparent; font-family:'Poppins',sans-serif; font-size:.9rem; color:var(--text-dark); padding:.9rem .5rem .3rem; }
.finput-wrap label { position:absolute; left:2.8rem; top:50%; transform:translateY(-50%); font-size:.85rem; color:var(--text-muted); pointer-events:none; transition:var(--transition); }
.finput:not(:placeholder-shown) ~ label,.finput:focus ~ label { top:6px; font-size:.65rem; color:var(--primary); font-weight:600; transform:none; }
.ftextarea { resize:vertical; min-height:110px; padding-top:.9rem; }
.finput-wrap:has(.ftextarea) label,.finput-wrap:has(.ftextarea) .finput-icon { top:1.1rem; transform:none; }
.ftextarea:not(:placeholder-shown) ~ label,.ftextarea:focus ~ label { top:3px; font-size:.65rem; color:var(--primary); font-weight:600; transform:none; }
.btn-csubmit { width:100%; background:linear-gradient(135deg,var(--primary),#1a4a90); color:white; font-weight:700; font-size:1rem; padding:.9rem; border-radius:var(--radius-sm); border:none; transition:var(--transition); display:flex; align-items:center; justify-content:center; gap:8px; position:relative; overflow:hidden; }
.btn-csubmit:hover { background:linear-gradient(135deg,var(--secondary),#c62828); transform:translateY(-2px); box-shadow:0 12px 30px rgba(229,57,53,.4); color:white; }
.cform-success { display:none; background:linear-gradient(135deg,rgba(30,142,62,.1),rgba(30,142,62,.05)); border:2px solid var(--green); color:var(--green); border-radius:var(--radius-sm); padding:1rem 1.5rem; font-weight:600; margin-bottom:1.5rem; gap:10px; align-items:center; }
.cform-success.show { display:flex; }

/* ---- FOOTER ---- */
.footer { background:var(--bg-dark); color:rgba(255,255,255,.7); padding-top:0; }
.footer-wave-top { height:4px; background:linear-gradient(90deg,var(--secondary),var(--accent),var(--primary),var(--green),var(--secondary)); background-size:200% 100%; animation:gradientMove 3s linear infinite; }
@keyframes gradientMove { to{background-position:200% 0} }
.footer-row { padding:3rem 0 2rem; }
.footer-logo { width:80px; height:80px; border-radius:50%; border:3px solid var(--accent); object-fit:cover; margin-bottom:1rem; }
.footer-bname { font-family:'Cinzel',serif; font-size:1.3rem; font-weight:900; color:var(--accent); letter-spacing:2px; margin-bottom:.4rem; }
.footer-bsub { font-size:.82rem; color:rgba(255,255,255,.5); margin-bottom:.5rem; }
.footer-btagline { font-size:.9rem; color:rgba(255,255,255,.7); font-style:italic; }
.footer-col-h { font-weight:700; color:white; font-size:1rem; margin-bottom:1.2rem; letter-spacing:.5px; position:relative; padding-bottom:.5rem; }
.footer-col-h::after { content:''; position:absolute; bottom:0; left:0; width:30px; height:2px; background:linear-gradient(90deg,var(--secondary),var(--accent)); }
.footer-ul li { padding:.4rem 0; font-size:.88rem; color:rgba(255,255,255,.6); transition:var(--transition); }
.footer-ul a { color:inherit; display:flex; align-items:center; gap:6px; transition:var(--transition); }
.footer-ul a:hover { color:var(--accent); transform:translateX(4px); }
.footer-contact-ul li { display:flex; align-items:center; gap:10px; }
.footer-contact-ul i { color:var(--accent); width:16px; }
.footer-socials { display:flex; gap:.75rem; }
.fsi { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:white; transition:var(--transition); border:1px solid rgba(255,255,255,.1); }
.fsi.fb{background:#1877F2} .fsi.ig{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)} .fsi.wa{background:#25D366}
.fsi:hover { transform:translateY(-4px) scale(1.15); box-shadow:0 8px 20px rgba(0,0,0,.3); color:white; }
.btn-footer-cta { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,var(--secondary),#c62828); color:white; font-weight:700; font-size:.88rem; padding:.7rem 1.5rem; border-radius:50px; transition:var(--transition); border:none; }
.btn-footer-cta:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(229,57,53,.4); color:white; }
.footer-hr { border-color:rgba(255,255,255,.08); }
.footer-bottom { padding:1.5rem 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem; font-size:.82rem; color:rgba(255,255,255,.4); }
.footer-credit-names { color:var(--accent); font-weight:700; }

/* ---- FLOATING WHATSAPP ---- */
.wa-float { position:fixed; bottom:24px; right:24px; z-index:999; width:60px; height:60px; border-radius:50%; background:linear-gradient(135deg,#25D366,#128C7E); color:white; font-size:1.8rem; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 25px rgba(37,211,102,.5); transition:var(--transition); }
.wa-float:hover { transform:scale(1.15); box-shadow:0 15px 40px rgba(37,211,102,.6); color:white; }
.wa-float:hover .wa-tooltip { opacity:1; transform:translateY(-50%) translateX(-10px); }
.wa-tooltip { position:absolute; right:calc(100% + 12px); top:50%; transform:translateY(-50%); background:var(--bg-dark); color:white; font-size:.8rem; font-weight:600; padding:.4rem .9rem; border-radius:8px; white-space:nowrap; opacity:0; pointer-events:none; transition:var(--transition); }
.wa-tooltip::after { content:''; position:absolute; left:100%; top:50%; transform:translateY(-50%); border:6px solid transparent; border-left-color:var(--bg-dark); }
.wa-pulse-ring { position:absolute; inset:-8px; border-radius:50%; border:2px solid rgba(37,211,102,.5); animation:waPulse 2s ease-out infinite; }
@keyframes waPulse { 0%{transform:scale(1);opacity:1} 100%{transform:scale(1.6);opacity:0} }

/* ---- BACK TO TOP ---- */
#backToTop { position:fixed; bottom:96px; right:24px; z-index:998; width:44px; height:44px; border-radius:12px; background:var(--primary); color:white; font-size:1.5rem; border:none; cursor:pointer; box-shadow:var(--shadow-md); transition:var(--transition); display:flex; align-items:center; justify-content:center; opacity:0; transform:translateY(20px); pointer-events:none; }
#backToTop.show { opacity:1; transform:translateY(0); pointer-events:all; }
#backToTop:hover { background:var(--secondary); transform:translateY(-3px); }

/* ---- ORDER PLATFORMS ---- */
.menu-order-platforms {
  margin-top: 4rem;
  padding: 2.5rem 2rem;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: var(--radius);
  border: 1px solid rgba(246, 177, 0, 0.2);
  box-shadow: var(--shadow-md);
}
.platform-heading {
  font-family: 'Cinzel', serif;
  color: var(--text-dark);
  font-weight: 700;
  letter-spacing: 1px;
}
.btn-platform {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 1rem;
  padding: 0.85rem 2.2rem;
  border-radius: 50px;
  color: white !important;
  transition: var(--transition);
  border: none;
  box-shadow: var(--shadow-sm);
}
.btn-platform:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}
.btn-zomato-order {
  background: linear-gradient(135deg, #E23744, #cb202d);
}
.btn-zomato-order:hover {
  box-shadow: 0 10px 25px rgba(226, 55, 68, 0.4);
}
.btn-swiggy-order {
  background: linear-gradient(135deg, #FC8019, #e65100);
}
.btn-swiggy-order:hover {
  box-shadow: 0 10px 25px rgba(252, 128, 25, 0.4);
}
.platform-svg-icon {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

/* ---- RESPONSIVE ---- */
@media(max-width:991px){ .cinfo-wrap{padding-right:0} .hero-logo-wrap{width:130px;height:130px} }
@media(max-width:767px){ .section-pad{padding:60px 0} .hero-cta-group{flex-direction:column;align-items:flex-start} .btn-cta-primary,.btn-cta-secondary,.btn-cta-whatsapp{width:100%;justify-content:center} .hero-title{font-size:2.2rem} .brand-story{padding:1.6rem 1.2rem;margin-bottom:3rem}.story-signoff{display:flex;width:100%} .footer-bottom{flex-direction:column;text-align:center} .cinfo-wrap{padding-right:0} .cform{padding:1.5rem} }
@media(max-width:575px){ .nav-brand-name{display:none} .hero-badge{font-size:.7rem} .hero-logo-wrap{width:110px;height:110px} .wa-float{width:52px;height:52px;font-size:1.5rem} }

