/* =========================================================
   SHUBH MASALA — Design tokens
   Palette drawn from the spices themselves: chili maroon,
   turmeric, saffron gold, roasted-cardamom dark, cream.
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --maroon:      #C41E24;
  --maroon-dark: #8C0F16;
  --saffron:     #E8A621;
  --saffron-lt:  #F6C858;
  --turmeric:    #D98A1D;
  --espresso:    #2A0D0D;
  --espresso-2:  #3A1210;
  --cream:       #FFFDF6;
  --cream-dim:   #FBF1DC;
  --ink:         #2A1006;
  --muted:       #7A5A46;

  --glass-bg:      rgba(255,255,255,0.08);
  --glass-bg-lite: rgba(255,255,255,0.62);
  --glass-border:  rgba(255,255,255,0.24);
  --glass-shadow:  0 8px 32px rgba(28,18,11,0.12);

  --font-display: 'Fraunces', serif;
  --font-body: 'Manrope', sans-serif;

  --radius: 20px;
  --radius-sm: 12px;
  --ease: cubic-bezier(.22,1,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

/* FIX: prevent horizontal scroll caused by fixed off-canvas mobile nav */
html,body{
  max-width:100%;
  overflow-x:hidden;
}

body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
.container{width:100%;max-width:1220px;margin:0 auto;padding:0 24px;}
.eyebrow{
  font-family:var(--font-body);
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--maroon);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{content:'';width:26px;height:2px;background:var(--saffron);display:inline-block;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.12;color:var(--espresso);}
h2.section-title{font-size:clamp(2rem,3.6vw,2.8rem);margin:10px 0 14px;}
p.section-lead{max-width:620px;color:#5b4638;font-size:1.02rem;line-height:1.7;}
.center{text-align:center;margin-left:auto;margin-right:auto;}

/* reveal-on-scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}

/* =========== glass utility =========== */
.glass{
  background:var(--glass-bg);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  box-shadow:var(--glass-shadow);
}
.glass-lite{
  background:var(--glass-bg-lite);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,0.6);
  border-radius:var(--radius);
  box-shadow:0 10px 30px rgba(122,31,43,0.10);
}

/* floating spice-steam blobs */
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;z-index:0;animation:drift 16s ease-in-out infinite;}
@keyframes drift{
  0%,100%{transform:translate(0,0) scale(1);}
  33%{transform:translate(30px,-24px) scale(1.08);}
  66%{transform:translate(-24px,20px) scale(.96);}
}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 30px;border-radius:100px;
  font-weight:700;font-size:.92rem;letter-spacing:.02em;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s;
}
.btn-primary{background:linear-gradient(135deg,var(--saffron),var(--turmeric));color:var(--espresso);box-shadow:0 10px 26px rgba(201,124,29,.35);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(201,124,29,.45);}
.btn-outline{background:var(--glass-bg-lite);border:1px solid rgba(122,31,43,.25);color:var(--maroon);}
.btn-outline:hover{background:var(--maroon);color:var(--cream);border-color:var(--maroon);}
.btn-ghost-light{background: rgb(223 34 43) !important;border:1px solid rgba(255,255,255,.4);color:var(--cream);backdrop-filter:blur(10px);}
.btn-ghost-light:hover{transform:translateY(-3px);}

/* =========== header =========== */
.site-header{
  position:sticky;
  top:0;
  left:0;
  width:100%;
  z-index:999;
  padding:10px 0;
  background:linear-gradient(120deg,var(--maroon) 0%,var(--maroon-dark) 100%);
  border-bottom:3px solid var(--saffron);
  box-shadow:0 6px 24px rgba(0,0,0,.28);
  transition:padding .4s var(--ease),box-shadow .4s;
  background: rgb(255 255 255 / 62%);
  backdrop-filter: blur(16px) saturate(160%);
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;}
.site-header.scrolled{
  padding:9px 0;
}
.logo{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--cream);display:flex;align-items:center;gap:10px;}
.logo span{color:var(--saffron-lt);}
.logo .mark{width:38px;height:38px;border-radius:50%;background:conic-gradient(from 90deg,var(--maroon),var(--saffron),var(--turmeric),var(--maroon));box-shadow:0 0 0 3px rgba(255,255,255,.18);}
.nav-links{display:flex;gap:34px;align-items:center;}
.nav-links a{font-weight:600;font-size:.92rem;position:relative;padding:4px 0;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:2px;background:var(--saffron);transition:width .3s var(--ease);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{display:flex;align-items:center;gap:18px;}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;}
.menu-toggle span{width:24px;height:2px;background:var(--cream);border-radius:2px;}

/* =========== marquee strip =========== */
.marquee-strip{background:var(--cream-dim);border-top:1px solid var(--border,#EFE6D2);border-bottom:1px solid #EFE6D2;overflow:hidden;padding:16px 0;}
.marquee-track{display:flex;gap:60px;white-space:nowrap;animation:scrollx 34s linear infinite;}
.marquee-track span{color:var(--maroon);font-family:var(--font-display);font-style:italic;font-size:1rem;opacity:.85;}
@keyframes scrollx{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* =========== sections =========== */
.section{padding:100px 0;position:relative;}
.section-dark{background:var(--espresso);color:var(--cream);}
.section-dark h2.section-title,.section-dark h3{color:var(--cream);}
.section-dark p.section-lead{color:rgba(255,248,236,.72);}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:50px;flex-wrap:wrap;}

/* category tiles */
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.category-card{
  padding:30px 22px;text-align:center;transition:all .4s var(--ease),box-shadow .4s;box-shadow: -6px 9px 20px #0000004a;
}
.category-card:hover{scale:1.2;transform:translateY(0) !important;z-index:1000;}
.category-card .icon-wrap{
  width:70px;height:70px;border-radius:50%;margin:0 auto 18px;
  background:rgba(122,36,48,0.07);
  border:1px solid rgba(122,36,48,0.12);
  display:flex;align-items:center;justify-content:center;font-size:1.7rem;
  transition:transform .4s var(--ease),background .4s;
}
.category-card:hover .icon-wrap{transform:scale(1.08) rotate(-4deg);background:rgba(122,36,48,0.12);}
.category-card h4{font-size:1.08rem;margin-bottom:6px;}
.category-card p{font-size:.85rem;color:var(--muted);}

/* product cards */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.product-card{overflow:hidden;position:relative;transition:transform .45s var(--ease),box-shadow .45s;}
.product-card:hover{transform:translateY(-8px);box-shadow:0 24px 44px rgba(28,18,11,.12);}
.product-thumb{
  aspect-ratio:1/1;background:var(--cream-dim);
  display:flex;align-items:center;justify-content:center;font-size:3rem;position:relative;overflow:hidden;
}
.product-thumb img{width:100%;height:100%;object-fit:contain;transition:transform .6s var(--ease);}
.product-card:hover .product-thumb img{transform:scale(1.06);}
.badge{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.85);backdrop-filter:blur(6px);color:var(--maroon);font-size:.66rem;font-weight:800;letter-spacing:.05em;padding:6px 12px;border-radius:100px;text-transform:uppercase;border:1px solid rgba(122,36,48,.15);}
.product-body{padding:20px;}
.product-body h4{font-size:1.05rem;margin-bottom:6px;}
.product-body p{font-size:.85rem;color:var(--muted);margin-bottom:10px;min-height:38px;}
.product-price{font-family:var(--font-display);font-size:1.15rem;color:var(--maroon);font-weight:600;margin-bottom:14px;}
.product-price small{font-family:var(--font-body);font-size:.72rem;font-weight:600;color:var(--muted);}
.product-body .btn{padding:9px 20px;font-size:.78rem;}

/* about / split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.split-media{position:relative;}
.split-media .frame{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:linear-gradient(160deg,#f2ddb0,#d99a4e);}
.split-media .frame img{width:100%;height:100%;object-fit:fill;}
.split-media .float-badge{position:absolute;bottom:-24px;right:-24px;padding:20px 24px;width:180px;}
.split-media .float-badge strong{font-family:var(--font-display);font-size:1.8rem;color:var(--maroon);display:block;}
.split-media .float-badge span{font-size:.78rem;color:#6b5747;}

.checklist{margin:24px 0;}
.checklist li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:.96rem;color:#4a382b;}
.checklist li .tick{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--saffron);color:var(--espresso);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;}

/* testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.testi-card{padding:30px;color:var(--cream);}
.testi-card .stars{color:var(--saffron-lt);letter-spacing:2px;margin-bottom:14px;}
.testi-card p{font-size:.95rem;line-height:1.7;color:rgba(255,248,236,.85);margin-bottom:20px;font-style:italic;}
.testi-person{display:flex;align-items:center;gap:12px;}
.testi-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--saffron),var(--maroon));display:flex;align-items:center;justify-content:center;font-weight:700;}
.testi-person strong{display:block;font-size:.92rem;}
.testi-person span{font-size:.76rem;color:rgba(255,248,236,.6);}

/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.blog-card{overflow:hidden;transition:transform .4s var(--ease);}
.blog-card:hover{transform:translateY(-8px);}
.blog-thumb{aspect-ratio:16/10;background:linear-gradient(135deg,#efd6a3,#c97c1d);overflow:hidden;}
.blog-thumb img{width:100%;height:100%;object-fit:cover;}
.blog-body{padding:22px;}
.blog-meta{font-size:.74rem;color:var(--maroon);font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;}
.blog-body h4{font-size:1.08rem;margin-bottom:10px;line-height:1.4;}
.blog-body p{font-size:.88rem;color:#6b5747;margin-bottom:14px;}
.blog-link{font-size:.82rem;font-weight:700;color:var(--maroon);display:inline-flex;align-items:center;gap:6px;}

/* CTA band */
.cta-band{
  position:relative;overflow:hidden;padding:80px 0;
  background:radial-gradient(120% 160% at 50% 0%,#3a2013 0%,var(--espresso) 60%,#150d08 100%);
  text-align:center;color:var(--cream);
}
.cta-band h2{color:var(--cream);}
.cta-band p{color:rgba(255,252,246,.72);margin:14px auto 30px;max-width:560px;}

/* =========== banner slider (admin-managed, image only) =========== */
.banner-slider{position:relative;width:100%;overflow:hidden;border-radius:0;background:var(--cream-dim);border-bottom:3px solid var(--saffron);}
.banner-slider .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s var(--ease);}
.banner-slider .slide.active{position:relative;opacity:1;}
.banner-slider .slide img{width:100%;height:100%;object-fit:cover;display:block;}
.banner-slider .dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3;}
.banner-slider .dots button{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.7);transition:.3s;}
.banner-slider .dots button.active{background:#fff;width:22px;border-radius:6px;}

/* site logo */
.logo-img{height:75px;width:auto;display:block;}

/* trusted-by partner strip */
.partner-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:44px;}
.partner-logo{opacity:.6;filter:grayscale(100%);transition:opacity .35s,filter .35s,transform .35s;}
.partner-logo:hover{opacity:1;filter:grayscale(0%);transform:translateY(-2px);}
.partner-logo img{height:38px;width:auto;max-width:140px;object-fit:contain;}

/* why choose us */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.why-item{display:flex;gap:16px;padding:26px;align-items:flex-start;}
.why-item .icon-wrap{flex-shrink:0;margin:0;width:52px;height:52px;font-size:1.35rem;}
.why-item h4{font-size:1rem;margin-bottom:6px;}
.why-item p{font-size:.85rem;color:var(--muted);line-height:1.6;}

/* category tab browser */
.tab-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.tab-nav button{padding:12px 24px;border-radius:100px;font-weight:700;font-size:.86rem;border:1px solid rgba(122,36,48,.18);color:var(--maroon);background:transparent;transition:all .3s;}
.tab-nav button.active{background:var(--maroon);color:var(--cream);border-color:var(--maroon);}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fadeIn .5s var(--ease);}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

/* forms */
.form-glass{padding:40px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-group.full{grid-column:1/-1;}
.form-group label{font-size:.82rem;font-weight:700;color:var(--maroon);}
.form-group input,.form-group select,.form-group textarea{
  padding:13px 16px;border-radius:12px;border:1px solid rgba(122,31,43,.18);
  background:rgba(255,255,255,.7);font-family:inherit;font-size:.92rem;color:var(--ink);
  transition:border-color .3s,box-shadow .3s;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  outline:none;border-color:var(--saffron);box-shadow:0 0 0 4px rgba(224,165,38,.18);
}
.alert{padding:14px 18px;border-radius:12px;margin-bottom:20px;font-size:.9rem;font-weight:600;}
.alert-success{background:rgba(58,140,90,.15);color:#2c7a4b;border:1px solid rgba(58,140,90,.3);}
.alert-error{background:rgba(200,60,60,.12);color:#a53535;border:1px solid rgba(200,60,60,.3);}

/* page header (inner pages) */
.page-hero{
  position:relative;padding:170px 0 90px;text-align:center;overflow:hidden;
  background:radial-gradient(120% 140% at 50% 0%,#3a2013 0%,var(--espresso) 60%,#140c07 100%);
}
.page-hero h1{color:var(--cream);font-size:clamp(2.2rem,4vw,3.2rem);margin-top:12px;}
.page-hero p{color:rgba(255,248,236,.72);max-width:560px;margin:14px auto 0;}
.breadcrumb{font-size:.8rem;color:rgba(255,248,236,.55);margin-top:16px;}
.breadcrumb a{color:var(--saffron-lt);}

/* filter pills */
.filter-pills{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:46px;justify-content:center;}
.filter-pills a{padding:10px 22px;border-radius:100px;font-size:.85rem;font-weight:700;border:1px solid rgba(122,31,43,.2);color:var(--maroon);transition:all .3s;}
.filter-pills a.active,.filter-pills a:hover{background:var(--maroon);color:var(--cream);border-color:var(--maroon);}

/* footer */
.site-footer{background:var(--espresso-2);color:rgba(255,248,236,.72);padding:80px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-grid h5{color:var(--cream);font-family:var(--font-display);font-size:1.05rem;margin-bottom:20px;}
.footer-grid p{font-size:.88rem;line-height:1.7;}
.footer-links li{margin-bottom:12px;font-size:.88rem;}
.footer-links a:hover{color:var(--saffron-lt);}
.footer-grid .social-row{display:flex;gap:12px;margin-top:20px;}
.footer-grid .social-row a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .3s;}
.footer-grid .social-row a:hover{background:var(--saffron);color:var(--espresso);}
.footer-bottom{display:flex;justify-content:space-between;padding:24px 0;font-size:.8rem;flex-wrap:wrap;gap:10px;}

/* misc components */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:36px;margin-top:-90px;position:relative;z-index:4;}
.stat-strip div{text-align:center;color:var(--cream);}
.stat-strip strong{display:block;font-family:var(--font-display);font-size:2rem;color:var(--saffron-lt);}
.stat-strip span{font-size:.78rem;color:rgba(255,248,236,.65);}

/* ============ responsive ============ */
@media(max-width:1024px){
  .category-grid,.product-grid,.testi-grid,.blog-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .stat-strip{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:860px){
  .split{grid-template-columns:1fr;}

  /* FIX: use transform instead of right:-100% to avoid layout-driven
     horizontal scroll on mobile browsers, and add its own scroll for
     tall menus (e.g. when the Products dropdown is expanded) */
  .nav-links{
    position:fixed;
    top:0;
    right:0;
    width:78%;max-width:320px;height:100vh;
    background:var(--espresso);
    flex-direction:column;justify-content:center;gap:30px;
    transform:translateX(100%);
    transition:transform .45s var(--ease);
    z-index:1000;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:40px 20px;
  }
  .nav-links.open{transform:translateX(0);}
  .menu-toggle{display:flex;}
  .nav-cta .btn-outline{display:none;}
}
@media(max-width:640px){
  .category-grid,.product-grid,.testi-grid,.blog-grid,.footer-grid,.stat-strip{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .section{padding:70px 0;}
  .why-grid{grid-template-columns:repeat(1,1fr);}
}

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

/* hide desktop social row on mobile since nav-social already shows inside menu */
@media(max-width:860px){
  .header-social{display:none;}
}
@media(min-width:861px){
  .nav-social{display:none;}
}
.header-social{margin-right:6px;}
.social-row a{width:32px;height:32px;color:var(--cream);}

/* hamburger -> cross animation */
.menu-toggle{
  position:relative;
  width:24px;height:18px;
  justify-content:space-between;
}
.menu-toggle span{
  transition:transform .35s var(--ease),opacity .25s var(--ease);
}
.menu-toggle.active span:nth-child(1){
  transform:translateY(8px) rotate(45deg);
}
.menu-toggle.active span:nth-child(2){
  opacity:0;
}
.menu-toggle.active span:nth-child(3){
  transform:translateY(-8px) rotate(-45deg);
}