/* ============================================================
   AAOPANDITJI THEME — MAIN CSS
   Version: 1.0.0
============================================================ */
:root {
  --sf: #F97316; --sf-d: #EA6B0E; --gold: #D97706; --gold-l: #FCD34D;
  --maroon: #7F1D1D; --cream: #FFFBF5; --cream-d: #FEF3C7;
  --dark: #1C0A00; --mid: #5C3D1E; --light: #92600A; --border: #F0D090;
  --white: #fff; --green: #15803D; --green-l: #DCFCE7; --purple: #7C3AED;
  --fh: "Rozha One","Noto Serif Devanagari",serif;
  --fb: "Poppins",sans-serif; --fhi: "Noto Serif Devanagari","Poppins",sans-serif;
  --tr: all .28s cubic-bezier(.4,0,.2,1);
  --shadow: 0 8px 32px rgba(217,119,6,.15);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{overflow-x:hidden;max-width:100vw;position:relative;}
*{box-sizing:border-box;}
body{font-family:var(--fb);background:var(--cream);color:var(--dark);line-height:1.6;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;transition:var(--tr);}
ul{list-style:none;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-thumb{background:var(--sf);border-radius:3px;}
.container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 26px;border-radius:50px;font-weight:700;font-size:14px;font-family:var(--fb);cursor:pointer;border:none;transition:var(--tr);}
.btn-primary{background:linear-gradient(135deg,var(--sf),var(--sf-d));color:#fff;box-shadow:0 4px 14px rgba(249,115,22,.4);}
.btn-primary:hover{transform:translateY(-2px);}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-l));color:var(--dark);}
.btn-white{background:#fff;color:var(--dark);border:2px solid var(--border);}
.btn-white:hover{border-color:var(--sf);color:var(--sf);}
.btn-outline{background:transparent;color:var(--sf);border:2px solid var(--sf);}
.btn-outline:hover{background:var(--sf);color:#fff;}
.btn-wa{background:#25D366;color:#fff;}
.btn-wa:hover{background:#1DA855;transform:translateY(-2px);}
.section-label{display:inline-flex;align-items:center;gap:6px;background:rgba(249,115,22,.1);color:var(--sf);border:1px solid rgba(249,115,22,.3);padding:4px 16px;border-radius:50px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px;}
.section-title{font-family:var(--fh);font-size:clamp(24px,4vw,38px);color:var(--dark);line-height:1.15;}
.section-sub{font-family:var(--fhi);font-size:15px;color:var(--mid);margin-top:8px;}
.om-divider{display:flex;align-items:center;gap:14px;max-width:300px;margin:14px auto;}
.om-divider::before{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border));}
.om-divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent);}
.om-divider span{font-family:var(--fhi);font-size:22px;color:var(--sf);}
/* ── Enhanced Animations ────────────────────────────────────── */

/* Reveal — scroll se aaye */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);}
.reveal.visible{opacity:1;transform:none;}

/* Staggered children */
.reveal-stagger > *{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;}
.reveal-stagger.visible > *:nth-child(1){opacity:1;transform:none;transition-delay:.05s;}
.reveal-stagger.visible > *:nth-child(2){opacity:1;transform:none;transition-delay:.15s;}
.reveal-stagger.visible > *:nth-child(3){opacity:1;transform:none;transition-delay:.25s;}
.reveal-stagger.visible > *:nth-child(4){opacity:1;transform:none;transition-delay:.35s;}
.reveal-stagger.visible > *:nth-child(5){opacity:1;transform:none;transition-delay:.45s;}
.reveal-stagger.visible > *:nth-child(6){opacity:1;transform:none;transition-delay:.55s;}

/* Slide from left/right */
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .6s ease,transform .6s ease;}
.reveal-left.visible{opacity:1;transform:none;}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .6s ease,transform .6s ease;}
.reveal-right.visible{opacity:1;transform:none;}

/* Scale in */
.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .5s ease,transform .5s ease;}
.reveal-scale.visible{opacity:1;transform:scale(1);}

/* Floating animation — hero elements ke liye */
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes floatSlow{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.anim-float{animation:float 3.5s ease-in-out infinite;}
.anim-float-slow{animation:floatSlow 5s ease-in-out infinite;}

/* Pulse glow — CTA buttons */
@keyframes ctaPulse{0%,100%{box-shadow:0 4px 14px rgba(249,115,22,.35);}50%{box-shadow:0 8px 28px rgba(249,115,22,.6);}}
.btn-primary:not(:hover){animation:ctaPulse 2.5s ease-in-out infinite;}

/* Shimmer effect — loading ya highlight */
@keyframes shimmer{0%{background-position:-200% center;}100%{background-position:200% center;}}
.shimmer-text{background:linear-gradient(90deg,#FCD34D 0%,#F97316 25%,#FCD34D 50%,#F97316 75%,#FCD34D 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s linear infinite;}

/* Bounce in — badges, pills */
@keyframes bounceIn{0%{opacity:0;transform:scale(.5);}60%{transform:scale(1.1);}80%{transform:scale(.95);}100%{opacity:1;transform:scale(1);}}
.anim-bounce-in{animation:bounceIn .6s cubic-bezier(.34,1.56,.64,1) forwards;}

/* Rotate — divider OM */
@keyframes omRotate{0%,100%{transform:rotate(-3deg) scale(1);}50%{transform:rotate(3deg) scale(1.05);}}
.sec-divider span{animation:omRotate 4s ease-in-out infinite;}

/* Available dot pulse */
@keyframes availPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}

/* Card hover — lift with glow */
.hp-pc-card{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,border-color .28s ease;}
.hp-pc-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 16px 48px rgba(249,115,22,.18);}

/* Button hover — slide fill */
.btn{position:relative;overflow:hidden;z-index:0;}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.12);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:-1;}
.btn:hover::after{transform:scaleX(1);}

/* Page fade in */
@keyframes pageFadeIn{from{opacity:0;}to{opacity:1;}}
body{animation:pageFadeIn 0.4s ease;}

/* Typing cursor — hero heading ke liye */
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}

/* Gradient border animate */
@keyframes borderPulse{0%,100%{border-color:#F0D090;}50%{border-color:#F97316;}}

/* Smooth counter */
@keyframes countUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}


/* TOPBAR */
.site-topbar{background:#7F1D1D;padding:8px 0;position:relative;width:100%;box-sizing:border-box;overflow:hidden;}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;max-width:100%;}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:18px;}
.topbar-left a,.topbar-left span,.topbar-right a{color:rgba(255,255,255,.82);font-size:12px;display:flex;align-items:center;gap:6px;}
.topbar-left a:hover,.topbar-right a:hover{color:#FCD34D;}
.topbar-left i,.topbar-right i{color:#FCD34D;font-size:11px;}
.topbar-wa{background:#25D366;color:#fff!important;padding:4px 14px;border-radius:20px;font-weight:700!important;font-size:12px!important;}
.topbar-wa:hover{background:#1DA855!important;}

/* HEADER */
#site-header{position:sticky;top:0;z-index:1000;background:var(--white);box-shadow:0 2px 24px rgba(28,10,0,.1);transition:background 0.3s ease,box-shadow 0.3s ease,backdrop-filter 0.3s ease;width:100%;box-sizing:border-box;}
#site-header.scrolled{background:rgba(255,255,255,0.85);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 32px rgba(28,10,0,.1);}
body{padding-top:0;}
@media(max-width:768px){body{padding-top:0;}.site-topbar{padding:6px 0;}}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;width:100%;}
.site-logo{display:flex;align-items:center;}
.site-logo img{height:62px;width:auto;object-fit:contain;}
#site-nav{flex:1;}
#site-nav ul{display:flex;align-items:center;gap:4px;justify-content:center;}
#site-nav ul li{position:relative;}
#site-nav ul li a{display:block;padding:9px 14px;border-radius:8px;font-size:14px;font-weight:500;color:var(--dark);transition:var(--tr);}
#site-nav ul li a:hover,#site-nav ul li.current-menu-item>a,#site-nav ul li.current-menu-parent>a{color:var(--sf);background:rgba(249,115,22,.07);}
#site-nav ul li ul{position:absolute;top:calc(100% + 6px);left:0;background:var(--white);min-width:220px;border-radius:12px;box-shadow:0 16px 48px rgba(28,10,0,.12);border-top:3px solid var(--sf);opacity:0;visibility:hidden;transform:translateY(8px);transition:var(--tr);z-index:100;}
#site-nav ul li:hover>ul{opacity:1;visibility:visible;transform:translateY(0);}
#site-nav ul li ul li a{padding:10px 18px;border-radius:0;border-bottom:1px solid var(--cream-d);font-size:13px;}
#site-nav ul li ul li:last-child a{border-bottom:none;}
.header-cta{display:flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0;}
.header-phone{font-size:13px;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:5px;}
.header-phone i{color:var(--sf);}
.header-book{background:linear-gradient(135deg,var(--sf),var(--sf-d));color:#fff;padding:8px 18px;border-radius:50px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px;box-shadow:0 3px 12px rgba(249,115,22,.4);}
.header-book:hover{transform:translateY(-2px);color:#fff;}
.mobile-toggle{display:none;background:none;border:2px solid var(--sf);color:var(--sf);width:42px;height:42px;border-radius:8px;font-size:18px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;}
.mobile-nav{display:none;position:fixed;inset:0;background:rgba(0,0,0,.97);z-index:9999;padding:60px 28px;overflow-y:auto;}
.mobile-nav.open{display:block;}
.mobile-nav-close{position:absolute;top:18px;right:18px;background:none;border:none;color:#fff;font-size:28px;cursor:pointer;}
.mobile-nav ul li a{display:block;color:#fff;font-size:20px;font-weight:600;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.mobile-nav ul li a:hover{color:var(--gold-l);}
.mobile-nav .mob-contact{margin-top:28px;display:flex;flex-direction:column;gap:12px;}
.mobile-nav .mob-contact a{color:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px;font-size:14px;}

/* FLOAT */
.float-whatsapp{position:fixed;bottom:24px;right:24px;z-index:9998;}
.float-whatsapp a{width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff;box-shadow:0 4px 18px rgba(37,211,102,.5);animation:waPulse 2.2s infinite;}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5);}70%{box-shadow:0 0 0 14px rgba(37,211,102,0);}100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}
.back-to-top{position:fixed;bottom:90px;right:24px;z-index:9997;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--sf),var(--sf-d));color:#fff;border:none;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--tr);pointer-events:none;}
.back-to-top.show{opacity:1;pointer-events:auto;}

/* FOOTER */
#site-footer{background:linear-gradient(160deg,#0D0400,#1A0800);color:rgba(255,255,255,.7);padding:64px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:48px;border-bottom:1px solid rgba(217,119,6,.15);}
.footer-brand img{height:65px;width:auto;object-fit:contain;margin-bottom:10px;}
.footer-brand p{font-size:14px;line-height:1.75;margin:12px 0 16px;font-family:var(--fhi);}
.footer-contact{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.footer-contact .founder-label{font-size:11px;color:var(--gold-l);font-weight:700;letter-spacing:.5px;text-transform:uppercase;}
.footer-contact a,.footer-contact span{font-size:13px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:7px;}
.footer-contact a:hover{color:var(--gold-l);}
.footer-contact i{color:var(--gold-l);font-size:12px;width:14px;}
.social-links{display:flex;gap:10px;}
.social-link{width:38px;height:38px;border-radius:9px;background:rgba(255,255,255,.07);border:1px solid rgba(217,119,6,.2);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:16px;transition:var(--tr);}
.social-link:hover{background:var(--sf);color:#fff;border-color:var(--sf);}
.footer-col h4{font-family:var(--fh);font-size:15px;color:var(--gold-l);margin-bottom:16px;}
.footer-col ul{list-style:none;margin:0;padding:0;}
.footer-col ul li{margin-bottom:8px;}
.footer-col ul li a{font-size:13px;color:rgba(255,255,255,.55);transition:var(--tr);text-decoration:none;display:block;}
.footer-col ul li a:hover{color:var(--gold-l);padding-left:4px;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 0;flex-wrap:wrap;gap:10px;}
.footer-bottom p{font-size:13px;color:rgba(255,255,255,.35);}
.footer-bottom-links{display:flex;gap:16px;}
.footer-bottom-links a{font-size:12px;color:rgba(255,255,255,.35);text-decoration:none;}
.footer-bottom-links a:hover{color:var(--gold-l);}

/* Footer Responsive */
@media(max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:20px;}
  #site-footer{padding:40px 0 0;}
}
@media(max-width:420px){
  .footer-grid{grid-template-columns:1fr;gap:24px;}
  .footer-bottom{flex-direction:column;text-align:center;gap:8px;}
  .footer-bottom-links{justify-content:center;}
}

/* MODAL */
.site-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:99999;align-items:center;justify-content:center;padding:20px;}
.site-modal.open{display:flex;}
.modal-close,.modal-overlay-close{cursor:pointer;}
.modal-box{background:#fff;border-radius:24px;padding:44px 36px;text-align:center;max-width:420px;width:100%;animation:popIn .4s cubic-bezier(.34,1.56,.64,1);}
@keyframes popIn{from{opacity:0;transform:scale(.8);}to{opacity:1;transform:scale(1);}}
.modal-icon{font-size:64px;margin-bottom:14px;}
.modal-box h3{font-family:var(--fh);font-size:24px;color:var(--sf);margin-bottom:10px;}
.modal-box p{font-family:var(--fhi);color:var(--mid);font-size:15px;margin-bottom:22px;line-height:1.7;}

/* RESPONSIVE */
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:28px;}}
@media(max-width:768px){
  #site-nav,.header-cta{display:none;}
  .mobile-toggle{display:flex;}
  .topbar-left{display:none;}
  .topbar-inner{justify-content:flex-end;}
  .topbar-right{margin-left:0;justify-content:flex-end;width:100%;}
}
@media(max-width:600px){
  .container{padding:0 14px;}
}
@media(max-width:480px){
  .footer-bottom{flex-direction:column;text-align:center;}
  .container{padding:0 12px;}
  .section-title{font-size:clamp(18px,5vw,28px);}
  .section-sub{font-size:13px;}
}
/* ============================================================
   ANIMATIONS
============================================================ */

/* Page load fade in */
body { animation: pageFadeIn 0.4s ease; }
@keyframes pageFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* Stagger child animation */
.stagger-child {
  animation: staggerUp 0.5s ease both;
}
@keyframes staggerUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Reveal variants — left, right, scale */
.reveal-left  { opacity: 0; transform: translateX(-30px); transition: opacity .6s ease, transform .6s ease; }
.reveal-right { opacity: 0; transform: translateX(30px);  transition: opacity .6s ease, transform .6s ease; }
.reveal-scale { opacity: 0; transform: scale(0.92);        transition: opacity .6s ease, transform .6s ease; }
.reveal-left.visible, .reveal-right.visible, .reveal-scale.visible { opacity: 1; transform: none; }

/* Button hover glow */
.btn-primary:hover { box-shadow: 0 8px 28px rgba(249,115,22,.55); }
.btn-wa:hover      { box-shadow: 0 8px 24px rgba(37,211,102,.45); }

/* Card hover lift */
.hp-svc-card, .hp-pc-card, .subsvc-card, .new-step-card {
  transition: transform 0.3s cubic-bezier(.4,0,.2,1), box-shadow 0.3s ease, border-color 0.3s ease;
}

/* Header scroll animation */

/* Topbar slide down removed */

/* Float WhatsApp extra pulse */
@keyframes waPulseExtra {
  0%   { box-shadow: 0 4px 18px rgba(37,211,102,.5); }
  50%  { box-shadow: 0 4px 32px rgba(37,211,102,.85), 0 0 0 10px rgba(37,211,102,.15); }
  100% { box-shadow: 0 4px 18px rgba(37,211,102,.5); }
}
.float-whatsapp a { animation: waPulse 2.2s infinite, waPulseExtra 4s infinite; }
.pulse-once { animation: pulseOnce 0.6s ease !important; }
@keyframes pulseOnce {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.18); }
  100% { transform: scale(1); }
}

/* Section label pop */
.section-label { animation: none; }
.reveal.visible .section-label, .section-label { transition: letter-spacing 0.4s ease; }

/* Stats bar numbers */
.stat-num, .cstat-num { transition: color 0.3s ease; }
.stat-item:hover .stat-num { color: var(--gold); }

/* Nav link underline animation */
.main-nav-ul > li > a::after {
  content: '';
  display: block;
  height: 2px;
  background: var(--sf);
  transform: scaleX(0);
  transition: transform 0.25s ease;
  border-radius: 2px;
}
.main-nav-ul > li > a:hover::after { transform: scaleX(1); }

/* Image zoom on hover */
.hp-pc-head img, .about-img-bg {
  transition: transform 0.5s ease;
}
.hp-pc-card:hover .hp-pc-head img { transform: scale(1.05); }

/* FAQ open animation */
.faq-a { 
  max-height: 0; 
  overflow: hidden; 
  transition: max-height 0.4s ease, padding 0.3s ease;
}
.faq-item.open .faq-a { max-height: 300px; }

/* Booking form input focus */
.booking-form input:focus, .booking-form select:focus, .booking-form textarea:focus {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(249,115,22,.2) !important;
  transition: all 0.25s ease;
}

/* Mobile — disable tilt/heavy animations for performance */
@media(max-width:768px) {
  .hp-svc-card, .hp-pc-card, .subsvc-card { transition: box-shadow 0.2s ease; }
  body { animation: none; }
}

/* ── Global Mobile Fixes ── */
@media(max-width:768px){
  /* Header */
  .header-book{font-size:11px!important;padding:8px 12px!important;}
  .header-cta{gap:6px!important;}

  /* Tables scroll on mobile */
  .bk-tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}

  /* Booking form */
  .booking-grid{grid-template-columns:1fr!important;}

  /* Section padding reduce */
  .cat-page-main{padding:36px 0!important;}

  /* Hero sections */
  .cat-hero{padding:32px 0!important;}
  .cat-hero-inner{grid-template-columns:1fr!important;gap:20px!important;}
  .hero-quick-book{border-radius:16px!important;}

  /* About grid */
  .about-grid{grid-template-columns:1fr!important;gap:24px!important;}
  .about-img-bg{height:220px!important;}
  .about-features{grid-template-columns:1fr!important;}

  /* Process */
  .process-grid{grid-template-columns:repeat(2,1fr)!important;}

  /* FAQ */
  .faq-grid{grid-template-columns:1fr!important;}

  /* Pandit cards */
  .hp-pc-grid{grid-template-columns:1fr!important;}
  .hp-pc-btns{grid-template-columns:1fr 1fr!important;}

  /* Review form */
  .rf-grid{grid-template-columns:1fr!important;}

  /* Testimonial */
  .hp-testi-card{min-width:260px!important;flex:0 0 260px!important;}

  /* Stats */
  .stats-inner{gap:16px!important;}
}

@media(max-width:480px){
  /* Smaller padding */
  .container{padding:0 12px!important;}
  .pd-wrap{padding:12px!important;}

  /* Process 1 col */
  .process-grid{grid-template-columns:1fr!important;}

  /* Pandit dashboard tabs scroll */
  .pd-tabs{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:4px;}
  .pd-tab{white-space:nowrap;flex-shrink:0;}

  /* Book pandit form */
  .hqb-row{grid-template-columns:1fr!important;}
}


/* ============================================================
   BUTTON RESPONSIVE FIXES
   Override inline-style padding/font-size on mobile
============================================================ */

/* Hero slide buttons — inline styles override karein */
@media(max-width:768px){
  .slide-btns .btn{
    font-size:14px!important;
    padding:11px 18px!important;
    min-width:0;
    flex:1 1 calc(50% - 7px);
    justify-content:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .slide-btns{
    flex-direction:row!important;
    flex-wrap:wrap!important;
    width:100%!important;
    gap:10px!important;
    align-items:stretch!important;
  }
}

@media(max-width:480px){
  .slide-btns .btn{
    font-size:13px!important;
    padding:10px 14px!important;
    flex:1 1 100%;
  }
  .slide-btns{
    flex-direction:column!important;
    gap:8px!important;
  }
}

/* Service view-all button */
@media(max-width:600px){
  .hp-svc-viewall-btn{
    font-size:13px!important;
    padding:11px 22px!important;
  }
}

/* General .btn overflow fix on very small screens */
@media(max-width:360px){
  .btn{
    font-size:12px!important;
    padding:9px 14px!important;
  }
}

/* CTA section buttons stacking fix */
@media(max-width:480px){
  .cta-btns .btn{
    width:100%;
    justify-content:center;
  }
}

/* About page / misc page inline-style btn override */
@media(max-width:768px){
  a.btn[style], button.btn[style]{
    font-size:14px!important;
    padding:11px 20px!important;
  }
}

/* ============================================================
   SAMAGRI SECTION — Booking Form
   PDF design ke hisaab se banaya gaya
============================================================ */

/* ── Samagri Step Container ─────────────────────────────── */
.samagri-booking-step {
  background: linear-gradient(135deg, #FFFBF5, #FFF7ED);
  border: 2px solid var(--border);
  border-radius: 20px;
  overflow: hidden;
  margin: 28px 0;
}

.booking-step-header {
  background: linear-gradient(135deg, #7F1D1D, #B45309);
  padding: 18px 24px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.step-number {
  width: 36px; height: 36px;
  background: rgba(255,255,255,.2);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 16px; color: #fff;
  flex-shrink: 0;
}
.step-info h3 { color: #fff; font-size: 17px; margin: 0 0 2px; font-family: var(--fh); }
.step-info p  { color: rgba(255,255,255,.75); font-size: 12px; margin: 0; }
.step-toggle {
  margin-left: auto;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  color: #fff; border-radius: 8px;
  padding: 6px 12px; cursor: pointer; font-size: 12px;
  transition: var(--tr);
}
.step-toggle:hover { background: rgba(255,255,255,.25); }
.samagri-step-body { padding: 20px 24px; }

/* ── Samagri Kits (Ready-made) ───────────────────────────── */
.samagri-kits-section {
  margin-bottom: 24px;
}
.samagri-kits-section h4 {
  font-family: var(--fh);
  color: var(--maroon);
  font-size: 15px;
  margin: 0 0 12px;
  display: flex; align-items: center; gap: 8px;
}
.kits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}
.kit-card {
  background: #fff;
  border: 2px solid var(--border);
  border-radius: 14px;
  padding: 14px;
  cursor: pointer;
  transition: var(--tr);
  position: relative;
}
.kit-card:hover {
  border-color: var(--sf);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(249,115,22,.15);
}
.kit-card.selected {
  border-color: var(--sf);
  background: #FFF3E8;
  box-shadow: 0 0 0 3px rgba(249,115,22,.15);
}
.kit-card.selected::after {
  content: '✅';
  position: absolute;
  top: 8px; right: 8px;
  font-size: 14px;
}
.kit-icon { font-size: 28px; margin-bottom: 6px; }
.kit-name { font-weight: 700; font-size: 13px; color: var(--dark); margin-bottom: 4px; line-height: 1.3; }
.kit-price { font-size: 16px; font-weight: 800; color: var(--sf); }
.kit-items { font-size: 11px; color: var(--light); margin-top: 3px; }

/* ── Quick Picks ─────────────────────────────────────────── */
.samagri-quick-picks {
  background: linear-gradient(135deg, #FEF3C7, #FFF7ED);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 20px;
}
.samagri-quick-picks h4 {
  font-size: 14px; font-weight: 700; color: var(--maroon);
  margin: 0 0 12px;
}
.quick-pick-row {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.quick-pick-item {
  display: flex; align-items: center; gap: 6px;
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 50px;
  padding: 5px 12px 5px 8px;
  cursor: pointer;
  font-size: 12px;
  transition: var(--tr);
}
.quick-pick-item:hover { border-color: var(--sf); }
.quick-pick-item:has(input:checked) {
  border-color: var(--sf);
  background: #FFF3E8;
}
.qp-name { color: var(--dark); font-weight: 600; }
.qp-price { color: var(--sf); font-weight: 700; font-size: 11px; }

/* ── Filters ─────────────────────────────────────────────── */
.samagri-booking-filters {
  margin-bottom: 16px;
}
.filter-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}
.filter-item label { font-size: 11px; font-weight: 700; color: var(--light); display: block; margin-bottom: 4px; }
.filter-select, .filter-input {
  width: 100%;
  padding: 8px 12px;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-size: 12px;
  background: #fff;
  color: var(--dark);
  font-family: var(--fb);
}
.filter-select:focus, .filter-input:focus {
  outline: none; border-color: var(--sf);
}

/* ── Items Grid ──────────────────────────────────────────── */
.samagri-booking-items { margin-bottom: 20px; }
.samagri-category-group { margin-bottom: 20px; }
.category-group-title {
  font-family: var(--fh);
  font-size: 14px; color: var(--maroon);
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--border);
}
.item-count { font-size: 11px; color: var(--light); font-weight: 400; font-family: var(--fb); }
.samagri-items-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
}

/* ── Individual Item Card ────────────────────────────────── */
.samagri-booking-item {
  background: #fff;
  border: 2px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  transition: var(--tr);
  position: relative;
  cursor: pointer;
}
.samagri-booking-item:hover {
  border-color: var(--sf);
  box-shadow: 0 4px 16px rgba(249,115,22,.12);
}
.samagri-booking-item.item-selected {
  border-color: var(--sf);
  background: #FFF3E8;
}
.samagri-booking-item.item-oos {
  opacity: 0.5; cursor: not-allowed;
}
.item-img-wrap {
  width: 100%; aspect-ratio: 1;
  background: linear-gradient(135deg, #FEF3C7, #FFF7ED);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 8px;
  overflow: hidden;
  font-size: 32px;
}
.item-img-wrap img {
  width: 100%; height: 100%; object-fit: cover;
}
.item-select-label {
  position: absolute; top: 8px; left: 8px;
}
.item-select-label input[type=checkbox] {
  width: 18px; height: 18px;
  accent-color: var(--sf);
  cursor: pointer;
}
.item-name {
  font-size: 12px; font-weight: 700;
  color: var(--dark); margin-bottom: 4px;
  line-height: 1.3;
  font-family: var(--fhi);
}
.item-price-wrap { display: flex; align-items: center; gap: 6px; }
.item-price { font-size: 14px; font-weight: 800; color: var(--sf); }
.item-old-price { font-size: 11px; color: #999; text-decoration: line-through; }
.item-unit { font-size: 10px; color: var(--light); margin-top: 2px; }
.item-oos-tag {
  background: #FEE2E2; color: #991B1B;
  font-size: 10px; font-weight: 700;
  padding: 2px 7px; border-radius: 50px;
  margin-top: 4px; display: inline-block;
}

/* Qty controls */
.item-qty-wrap {
  display: flex; align-items: center; gap: 4px;
  margin-top: 8px;
}
.qty-btn {
  width: 26px; height: 26px;
  background: var(--cream);
  border: 1.5px solid var(--border);
  border-radius: 6px;
  font-size: 14px; font-weight: 700;
  cursor: pointer; display: flex;
  align-items: center; justify-content: center;
  transition: var(--tr); flex-shrink: 0;
}
.qty-btn:hover { background: var(--sf); color: #fff; border-color: var(--sf); }
.qty-input {
  width: 40px; text-align: center;
  border: 1.5px solid var(--border);
  border-radius: 6px; padding: 4px;
  font-size: 13px; font-weight: 700;
  -moz-appearance: textfield;
}
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button { -webkit-appearance: none; }
.item-subtotal {
  font-size: 11px; font-weight: 700;
  color: var(--green); margin-top: 4px;
  text-align: right;
}

/* ── Cart Summary ────────────────────────────────────────── */
.samagri-cart-summary {
  background: linear-gradient(135deg, #7F1D1D, #991B1B);
  border-radius: 16px;
  padding: 18px;
  color: #fff;
  position: sticky;
  bottom: 20px;
}
.cart-header {
  display: flex; align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.cart-header h4 { font-size: 15px; font-family: var(--fh); margin: 0; }
#clear-samagri-cart {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  color: #fff; border-radius: 50px;
  padding: 4px 12px; font-size: 11px;
  cursor: pointer;
}
.cart-items { min-height: 40px; margin-bottom: 12px; }
.cart-empty { font-size: 13px; color: rgba(255,255,255,.6); text-align: center; padding: 8px 0; }
.cart-item-row {
  display: flex; align-items: center;
  justify-content: space-between;
  padding: 5px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  font-size: 12px;
}
.cart-item-name { color: rgba(255,255,255,.9); flex: 1; }
.cart-item-qty  { color: rgba(255,255,255,.6); margin: 0 8px; }
.cart-item-price { color: #FCD34D; font-weight: 700; }
.cart-total-row {
  display: flex; justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.2);
  font-size: 15px;
}
.cart-total-row strong { font-size: 20px; color: #FCD34D; font-weight: 800; }
.cart-note {
  font-size: 11px;
  color: rgba(255,255,255,.6);
  margin-top: 6px;
}

/* ── Mobile responsive ───────────────────────────────────── */
@media (max-width: 768px) {
  .kits-grid { grid-template-columns: 1fr 1fr; }
  .filter-row { grid-template-columns: 1fr; }
  .samagri-items-grid { grid-template-columns: 1fr 1fr; }
  .samagri-step-body { padding: 14px 16px; }
}
@media (max-width: 480px) {
  .kits-grid { grid-template-columns: 1fr 1fr; }
  .samagri-items-grid { grid-template-columns: 1fr 1fr; }
}
