/* =========================================================
   VEDIK POOJA — style.css
   Palette: marigold saffron, temple maroon, brass gold, ivory
   Type: Yatra One (display) + Mukta (body, Devanagari+Latin)
   ========================================================= */

:root{
  --saffron:#FF7A1A;
  --saffron-dark:#E85D04;
  --maroon:#7A1330;
  --maroon-dark:#4A0D1F;
  --gold:#C99A2E;
  --gold-light:#E8C468;
  --cream:#FFF6E9;
  --cream-alt:#FFEFD6;
  --ink:#34121B;
  --tulsi:#4A7C59;
  --white:#FFFFFF;
  --shadow:0 10px 30px rgba(122,19,48,0.15);
  --radius:18px;
  --maxw:1180px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Mukta',sans-serif;
  color:var(--ink);
  background:var(--cream);
  overflow-x:hidden;
  line-height:1.6;
}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer; border:none;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 20px;}
h1,h2,h3,h4{font-family:'Yatra One',cursive; font-weight:400; color:var(--maroon); line-height:1.25;}
.eyebrow{
  display:inline-block; font-family:'Mukta',sans-serif; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; font-size:.78rem;
  color:var(--saffron-dark); background:var(--cream-alt);
  padding:6px 14px; border-radius:999px; margin-bottom:14px;
}
.section-title{font-size:clamp(1.8rem,4vw,2.6rem); margin-bottom:10px;}
.section-sub{max-width:620px; color:#6b3346; margin-bottom:36px; font-size:1.02rem;}
.center{text-align:center; margin-left:auto; margin-right:auto;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px; justify-content:center;
  padding:14px 26px; border-radius:999px; font-weight:700; font-size:1rem;
  transition:transform .2s ease, box-shadow .2s ease; white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(135deg,var(--saffron),var(--saffron-dark));
  color:#fff; box-shadow:0 8px 20px rgba(232,93,4,.35);
}
.btn-primary:hover{transform:translateY(-3px); box-shadow:0 12px 26px rgba(232,93,4,.45);}
.btn-outline{
  background:transparent; border:2px solid var(--maroon); color:var(--maroon);
}
.btn-outline:hover{background:var(--maroon); color:#fff; transform:translateY(-3px);}
.btn-whatsapp{
  background:#25D366; color:#fff; box-shadow:0 8px 20px rgba(37,211,102,.35);
}
.btn-whatsapp:hover{transform:translateY(-3px);}
.btn-sm{padding:10px 18px; font-size:.9rem;}
.btn-block{width:100%;}

/* ---------- Garland / Toran scalloped divider (signature motif) ---------- */
.garland{
  height:26px;
  background-image:radial-gradient(circle at 13px 0, transparent 12px, var(--saffron) 12.5px);
  background-size:26px 26px;
  background-repeat:repeat-x;
}
.garland.alt{
  background-image:radial-gradient(circle at 13px 0, transparent 12px, var(--maroon) 12.5px);
}
.garland.gold{
  background-image:radial-gradient(circle at 13px 0, transparent 12px, var(--gold) 12.5px);
}

/* ---------- Top urgency bar ---------- */
.topbar{
  background:var(--maroon); color:#fff; text-align:center;
  font-size:.88rem; font-weight:600; padding:9px 14px;
}
.topbar span{color:var(--gold-light);}

/* ---------- Header ---------- */
header{
  position:sticky; top:0; z-index:60; background:rgba(255,246,233,.95);
  backdrop-filter:blur(6px); border-bottom:1px solid rgba(122,19,48,.08);
}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; padding:14px 20px;}
.logo{display:flex; align-items:center; gap:10px; font-family:'Yatra One',cursive; font-size:1.5rem; color:var(--maroon);}
.logo .diya-icon{width:40px; height:40px;}
.logo small{display:block; font-family:'Mukta'; font-size:.62rem; font-weight:600; color:var(--saffron-dark); letter-spacing:.1em;}
nav ul{display:flex; gap:30px;}
nav a{font-weight:600; color:var(--ink); position:relative; padding:6px 2px;}
nav a::after{content:'';position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--saffron); transition:width .25s;}
nav a:hover::after{width:100%;}
.nav-cta{display:flex; align-items:center; gap:14px;}
.hamburger{display:none; flex-direction:column; gap:5px; background:none; z-index:70;}
.hamburger span{width:26px; height:3px; background:var(--maroon); border-radius:3px; transition:.3s;}
.mobile-nav{display:none;}

/* ---------- Hero ---------- */
.hero{
  position:relative; padding:70px 0 60px; overflow:hidden;
  background:radial-gradient(ellipse at top right, var(--cream-alt) 0%, var(--cream) 60%);
}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center;}
.hero h1{font-size:clamp(2.2rem,5vw,3.4rem); margin-bottom:18px;}
.hero h1 .hl{color:var(--saffron-dark);}
.hero p{font-size:1.08rem; color:#5c2c3d; max-width:520px; margin-bottom:28px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:34px;}
.trust-row{display:flex; gap:26px; flex-wrap:wrap;}
.trust-row .item{display:flex; align-items:center; gap:8px; font-weight:700; font-size:.85rem; color:var(--maroon);}
.trust-row .item svg{width:22px; height:22px; flex:none;}

.hero-art{position:relative; display:flex; justify-content:center; align-items:center;}
.rays{
  position:absolute; width:520px; height:520px; border-radius:50%;
  background:repeating-conic-gradient(var(--gold-light) 0deg 4deg, transparent 4deg 18deg);
  opacity:.35; animation:spin 40s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}
.temple-svg{width:340px; position:relative; z-index:2; filter:drop-shadow(0 20px 25px rgba(122,19,48,.25));}
.flame{transform-origin:50% 100%; animation:flicker 1.6s ease-in-out infinite;}
@keyframes flicker{
  0%,100%{transform:scaleY(1) scaleX(1) rotate(0deg);}
  25%{transform:scaleY(1.08) scaleX(.95) rotate(-2deg);}
  50%{transform:scaleY(.94) scaleX(1.05) rotate(2deg);}
  75%{transform:scaleY(1.05) scaleX(.97) rotate(-1deg);}
}

/* ---------- Sections generic ---------- */
section{padding:70px 0;}
.bg-cream-alt{background:var(--cream-alt);}
.bg-maroon{background:var(--maroon); color:#fff;}
.bg-maroon h2, .bg-maroon .section-title{color:#fff;}
.bg-maroon .section-sub{color:#f0cdd8;}

/* ---------- Services (3 cards) ---------- */
.services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.service-card{
  background:#fff; border-radius:var(--radius); padding:34px 26px; text-align:center;
  box-shadow:var(--shadow); transition:transform .25s, box-shadow .25s; border:1px solid rgba(201,154,46,.15);
}
.service-card:hover{transform:translateY(-8px); box-shadow:0 18px 40px rgba(122,19,48,.22);}
.service-icon{
  width:70px; height:70px; margin:0 auto 18px; border-radius:50%;
  background:linear-gradient(135deg,var(--saffron),var(--gold));
  display:flex; align-items:center; justify-content:center;
}
.service-icon svg{width:34px; height:34px; stroke:#fff;}
.service-card h3{font-size:1.3rem; margin-bottom:10px;}
.service-card p{color:#6b3346; font-size:.95rem; margin-bottom:18px;}

/* ---------- Cards grid (poojas / tours / kits) ---------- */
.cards-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.item-card{
  background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  transition:transform .25s, box-shadow .25s; display:flex; flex-direction:column; border:1px solid rgba(122,19,48,.06);
}
.item-card:hover{transform:translateY(-6px); box-shadow:0 18px 36px rgba(122,19,48,.2);}
.item-card .banner{
  height:130px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--maroon),var(--saffron-dark));
  position:relative;
}
.item-card .banner svg{width:52px; height:52px; stroke:#fff;}
.item-card .badge{
  position:absolute; top:12px; right:12px; background:var(--gold-light); color:var(--maroon-dark);
  font-size:.7rem; font-weight:800; padding:4px 10px; border-radius:999px;
}
.item-card .body{padding:20px 20px 24px; display:flex; flex-direction:column; gap:8px; flex:1;}
.item-card h4{font-size:1.15rem;}
.item-card .meta{font-size:.85rem; color:#8a5568; display:flex; gap:14px;}
.item-card .price{font-weight:800; color:var(--saffron-dark); font-size:1.2rem; margin-top:auto;}
.item-card .price span{font-size:.75rem; color:#8a5568; font-weight:500; text-decoration:line-through; margin-left:8px;}
.item-card .actions{display:flex; gap:10px; margin-top:10px;}

.tabs{display:flex; justify-content:center; gap:10px; margin-bottom:36px; flex-wrap:wrap;}
.tab-btn{
  padding:10px 22px; border-radius:999px; font-weight:700; background:#fff; color:var(--maroon);
  border:2px solid rgba(122,19,48,.15); transition:.2s;
}
.tab-btn.active, .tab-btn:hover{background:var(--maroon); color:#fff; border-color:var(--maroon);}
.tab-panel{display:none;}
.tab-panel.active{display:grid;}

/* ---------- Why us ---------- */
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:10px;}
.why-item{display:flex; gap:16px; align-items:flex-start; background:rgba(255,255,255,.06); padding:20px; border-radius:14px;}
.bg-maroon .why-item{background:rgba(255,255,255,.08);}
.why-item svg{width:30px; height:30px; flex:none; stroke:var(--gold-light);}
.why-item h4{color:#fff; font-size:1.05rem; margin-bottom:4px; font-family:'Mukta'; font-weight:700;}
.why-item p{color:#f0cdd8; font-size:.88rem;}

/* ---------- Testimonials ---------- */
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.testi-card{background:#fff; border-radius:var(--radius); padding:26px; box-shadow:var(--shadow);}
.stars{color:var(--gold); margin-bottom:10px; letter-spacing:2px;}
.testi-card p{font-size:.95rem; color:#5c2c3d; margin-bottom:16px;}
.testi-user{display:flex; align-items:center; gap:12px;}
.avatar{width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--saffron),var(--maroon)); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700;}
.testi-user h5{font-size:.95rem; color:var(--maroon);}
.testi-user span{font-size:.78rem; color:#8a5568;}

/* ---------- Lead / funnel form section ---------- */
.lead-section{
  background:linear-gradient(135deg,var(--saffron) 0%, var(--saffron-dark) 100%);
  border-radius:28px; padding:50px 40px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;
  color:#fff; margin:0 20px; max-width:calc(var(--maxw) - 40px); margin-inline:auto;
  box-shadow:0 25px 50px rgba(232,93,4,.3);
}
.lead-section h2{color:#fff; margin-bottom:14px;}
.lead-section p{color:#fff2e5; margin-bottom:20px; max-width:440px;}
.lead-points li{display:flex; gap:10px; align-items:center; margin-bottom:10px; font-weight:600; font-size:.92rem;}
.lead-points svg{width:18px; height:18px; stroke:#fff; flex:none;}
.lead-form{background:#fff; border-radius:18px; padding:28px; color:var(--ink); box-shadow:0 15px 35px rgba(0,0,0,.15);}
.lead-form h3{color:var(--maroon); margin-bottom:16px; font-size:1.2rem;}
.form-group{margin-bottom:14px;}
.form-group label{display:block; font-size:.82rem; font-weight:700; margin-bottom:6px; color:var(--maroon);}
.form-group input, .form-group select, .form-group textarea{
  width:100%; padding:12px 14px; border-radius:10px; border:1.5px solid #ecd9c8; font-family:inherit; font-size:.95rem;
  background:var(--cream); transition:border .2s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{outline:none; border-color:var(--saffron);}
.form-note{font-size:.75rem; color:#8a5568; margin-top:10px; text-align:center;}
.form-success{display:none; text-align:center; padding:20px 0;}
.form-success.show{display:block;}
.form-success svg{width:50px; height:50px; stroke:var(--tulsi); margin:0 auto 10px;}

/* ---------- FAQ ---------- */
.faq{max-width:800px; margin:0 auto;}
.faq-item{background:#fff; border-radius:14px; margin-bottom:14px; box-shadow:var(--shadow); overflow:hidden;}
.faq-q{
  display:flex; justify-content:space-between; align-items:center; padding:20px 24px; font-weight:700; color:var(--maroon);
}
.faq-q svg{width:20px; height:20px; transition:transform .25s; flex:none;}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease; padding:0 24px;}
.faq-item.open .faq-a{max-height:220px; padding-bottom:20px;}
.faq-a p{color:#6b3346; font-size:.92rem;}

/* ---------- Footer ---------- */
footer{background:var(--maroon-dark); color:#f5dde3; padding:60px 0 24px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px; margin-bottom:40px;}
.footer-logo{display:flex; align-items:center; gap:10px; font-family:'Yatra One'; font-size:1.4rem; color:#fff; margin-bottom:14px;}
.footer-logo .diya-icon{width:32px; height:32px;}
.footer-col h5{color:#fff; font-family:'Mukta'; font-weight:700; margin-bottom:14px; font-size:1rem;}
.footer-col ul li{margin-bottom:10px;}
.footer-col a{color:#e3b9c4; font-size:.9rem; transition:color .2s;}
.footer-col a:hover{color:var(--gold-light);}
.footer-col p{font-size:.9rem; color:#e3b9c4; line-height:1.8;}
.social-row{display:flex; gap:12px; margin-top:16px;}
.social-row a{width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center;}
.social-row svg{width:18px; height:18px; stroke:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); padding-top:22px; text-align:center; font-size:.82rem; color:#c98fa0;}

/* ---------- Floating WhatsApp ---------- */
.float-whatsapp{
  position:fixed; bottom:24px; right:22px; z-index:80; width:60px; height:60px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 25px rgba(37,211,102,.5);
  animation:pulse 2.2s infinite;
}
.float-whatsapp svg{width:30px; height:30px; fill:#fff;}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.55);}
  70%{box-shadow:0 0 0 16px rgba(37,211,102,0);}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
}

/* ---------- Popup modal (funnel) ---------- */
.popup-overlay{
  position:fixed; inset:0; background:rgba(52,18,27,.6); z-index:100; display:none;
  align-items:center; justify-content:center; padding:20px;
}
.popup-overlay.show{display:flex;}
.popup-box{
  background:var(--cream); border-radius:22px; max-width:420px; width:100%; padding:34px 28px; position:relative;
  text-align:center; box-shadow:0 30px 60px rgba(0,0,0,.3); border:3px solid var(--gold-light);
}
.popup-close{position:absolute; top:14px; right:16px; background:none; font-size:1.3rem; color:var(--maroon); font-weight:700;}
.popup-box .diya-icon{width:60px; height:60px; margin:0 auto 12px;}
.popup-box h3{margin-bottom:10px; font-size:1.5rem;}
.popup-box p{color:#6b3346; margin-bottom:20px; font-size:.95rem;}

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

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr; text-align:center;}
  .hero p{margin-left:auto; margin-right:auto;}
  .hero-ctas, .trust-row{justify-content:center;}
  .hero-art{margin-top:20px;}
  .services-grid, .cards-grid, .why-grid, .testi-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .lead-section{grid-template-columns:1fr;}
}
@media(max-width:768px){
  nav ul{display:none;}
  .hamburger{display:flex;}
  .mobile-nav{
    display:flex; flex-direction:column; position:fixed; top:0; right:-100%; width:78%; max-width:320px; height:100vh;
    background:var(--cream); box-shadow:-10px 0 30px rgba(0,0,0,.15); padding:90px 28px 30px; gap:22px;
    transition:right .35s ease; z-index:65;
  }
  .mobile-nav.open{right:0;}
  .mobile-nav a{font-weight:700; font-size:1.1rem; color:var(--maroon);}
  .nav-cta .btn-outline{display:none;}
  .services-grid, .cards-grid, .why-grid, .testi-grid{grid-template-columns:1fr;}
  .lead-section{padding:34px 22px; border-radius:20px;}
  section{padding:50px 0;}
}
@media(max-width:480px){
  .hero-ctas{flex-direction:column; width:100%;}
  .hero-ctas .btn{width:100%;}
  .temple-svg{width:250px;}
  .rays{width:340px; height:340px;}
  .float-whatsapp{width:52px; height:52px; bottom:16px; right:16px;}
}

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

/* =========================================================
   MULTI-PAGE EXTENSIONS
   (page header/breadcrumb, checkout, status pages, about, contact)
   ========================================================= */

/* ---------- Active nav link ---------- */
nav a.active::after{width:100%;}
nav a.active{color:var(--saffron-dark);}
.mobile-nav a.active{color:var(--saffron-dark);}

/* ---------- Inner page header banner ---------- */
.page-header{
  position:relative; padding:54px 0 44px; text-align:center; overflow:hidden;
  background:linear-gradient(135deg,var(--maroon) 0%, var(--maroon-dark) 100%); color:#fff;
}
.page-header::before{
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle at 15% 30%, rgba(255,122,26,.18) 0, transparent 45%),
                    radial-gradient(circle at 85% 70%, rgba(201,154,46,.22) 0, transparent 45%);
}
.page-header .container{position:relative; z-index:1;}
.breadcrumb{display:flex; justify-content:center; gap:8px; font-size:.85rem; color:#f0cdd8; margin-bottom:14px; flex-wrap:wrap;}
.breadcrumb a{color:#f0cdd8; font-weight:600;}
.breadcrumb a:hover{color:var(--gold-light);}
.breadcrumb span.sep{opacity:.6;}
.breadcrumb span.current{color:#fff; font-weight:700;}
.page-header h1{color:#fff; font-size:clamp(1.9rem,4.4vw,2.8rem); margin-bottom:10px;}
.page-header p{color:#f0cdd8; max-width:620px; margin:0 auto; font-size:1rem;}

/* ---------- Intro text block on listing pages ---------- */
.page-intro{max-width:720px; margin:0 auto 40px; text-align:center; color:#6b3346;}

/* ---------- Filter/segment pills (optional use) ---------- */
.pill-row{display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:34px;}
.pill{padding:8px 18px; border-radius:999px; font-weight:700; font-size:.85rem; background:#fff; color:var(--maroon); border:2px solid rgba(122,19,48,.15);}

/* ---------- Stats block (about page) ---------- */
.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:10px;}
.stat-item{background:#fff; border-radius:var(--radius); padding:28px 18px; text-align:center; box-shadow:var(--shadow); border:1px solid rgba(201,154,46,.15);}
.stat-item .num{font-family:'Yatra One',cursive; font-size:2.2rem; color:var(--saffron-dark); display:block; margin-bottom:6px;}
.stat-item .lbl{font-size:.85rem; color:#6b3346; font-weight:600;}

/* ---------- Value / story cards (about page) reuse service-card ---------- */
.story-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center;}
.story-grid img, .story-grid .story-art{width:100%; border-radius:var(--radius); box-shadow:var(--shadow);}
.story-art{aspect-ratio:4/3; background:linear-gradient(135deg,var(--cream-alt),var(--gold-light)); display:flex; align-items:center; justify-content:center;}
.story-art svg{width:55%; height:55%;}

/* ---------- Contact page ---------- */
.contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:start;}
.contact-cards{display:grid; gap:18px;}
.contact-card{background:#fff; border-radius:16px; padding:22px; display:flex; gap:16px; align-items:flex-start; box-shadow:var(--shadow); border:1px solid rgba(201,154,46,.15);}
.contact-card .ic{width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--saffron),var(--gold)); display:flex; align-items:center; justify-content:center; flex:none;}
.contact-card .ic svg{width:22px; height:22px; stroke:#fff;}
.contact-card h4{font-size:1.02rem; margin-bottom:4px;}
.contact-card p{font-size:.88rem; color:#6b3346;}
.contact-form-wrap{background:#fff; border-radius:var(--radius); padding:32px; box-shadow:var(--shadow); border:1px solid rgba(201,154,46,.15);}
.contact-form-wrap h3{margin-bottom:6px;}
.contact-form-wrap>p{color:#6b3346; font-size:.92rem; margin-bottom:22px;}
.form-row-2{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.map-embed{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); height:260px; margin-top:18px;}
.map-embed iframe{width:100%; height:100%; border:0;}

/* ---------- Checkout page ---------- */
.checkout-steps{display:flex; justify-content:center; gap:0; margin-bottom:40px; flex-wrap:wrap;}
.checkout-steps .step{display:flex; align-items:center; gap:10px; font-weight:700; font-size:.85rem; color:#b58596;}
.checkout-steps .step .dot{width:30px; height:30px; border-radius:50%; background:#fff; border:2px solid rgba(122,19,48,.15); display:flex; align-items:center; justify-content:center; font-family:'Yatra One'; color:var(--maroon);}
.checkout-steps .step.active{color:var(--maroon);}
.checkout-steps .step.active .dot{background:var(--saffron); border-color:var(--saffron); color:#fff;}
.checkout-steps .line{width:60px; height:2px; background:rgba(122,19,48,.15); align-self:center; margin:0 6px;}
.checkout-grid{display:grid; grid-template-columns:1fr .85fr; gap:36px; align-items:start;}
.checkout-form-card{background:#fff; border-radius:var(--radius); padding:32px; box-shadow:var(--shadow); border:1px solid rgba(201,154,46,.15);}
.checkout-form-card h3{margin-bottom:18px;}
.order-summary{background:#fff; border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); border:1px solid rgba(201,154,46,.15); position:sticky; top:100px;}
.order-summary h4{margin-bottom:16px; font-size:1.1rem;}
.order-item{display:flex; gap:14px; align-items:center; padding-bottom:16px; margin-bottom:16px; border-bottom:1px dashed #ecd9c8;}
.order-item .thumb{width:56px; height:56px; border-radius:12px; background:linear-gradient(135deg,var(--maroon),var(--saffron-dark)); display:flex; align-items:center; justify-content:center; flex:none;}
.order-item .thumb svg{width:26px; height:26px; stroke:#fff;}
.order-item .oi-name{font-weight:700; color:var(--maroon); font-size:1rem;}
.order-item .oi-type{font-size:.78rem; color:#8a5568; text-transform:uppercase; letter-spacing:.05em; font-weight:700;}
.summary-row{display:flex; justify-content:space-between; font-size:.92rem; color:#6b3346; margin-bottom:10px;}
.summary-row.total{font-weight:800; color:var(--maroon); font-size:1.15rem; border-top:1.5px solid #ecd9c8; padding-top:12px; margin-top:6px;}
.summary-row .strike{text-decoration:line-through; color:#b58596; font-weight:500; margin-right:6px;}
.summary-note{font-size:.78rem; color:#8a5568; margin-top:14px; background:var(--cream-alt); padding:10px 12px; border-radius:10px;}
.empty-order{text-align:center; padding:20px 6px;}
.empty-order svg{width:44px; height:44px; stroke:var(--gold); margin:0 auto 12px;}
.empty-order p{color:#6b3346; font-size:.9rem; margin-bottom:16px;}
.trust-mini{display:flex; gap:16px; flex-wrap:wrap; margin-top:20px; font-size:.78rem; color:#8a5568; font-weight:600;}
.trust-mini span{display:flex; align-items:center; gap:5px;}
.trust-mini svg{width:15px; height:15px; stroke:var(--tulsi);}

/* ---------- Status pages: success / cancel / 404 ---------- */
.status-page{padding:90px 0 100px; text-align:center;}
.status-box{max-width:560px; margin:0 auto; background:#fff; border-radius:28px; padding:50px 36px; box-shadow:0 25px 55px rgba(122,19,48,.18); border:1px solid rgba(201,154,46,.15);}
.status-icon{width:92px; height:92px; border-radius:50%; margin:0 auto 22px; display:flex; align-items:center; justify-content:center;}
.status-icon.success{background:linear-gradient(135deg,#4A7C59,#6fa87f);}
.status-icon.cancel{background:linear-gradient(135deg,#c94040,#e06a6a);}
.status-icon.notfound{background:linear-gradient(135deg,var(--saffron),var(--gold));}
.status-icon svg{width:44px; height:44px; stroke:#fff;}
.status-box h1{font-size:1.9rem; margin-bottom:12px;}
.status-box>p{color:#6b3346; margin-bottom:26px; font-size:.98rem;}
.ref-box{background:var(--cream-alt); border-radius:14px; padding:16px 20px; margin-bottom:26px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px;}
.ref-box .lbl{font-size:.78rem; color:#8a5568; font-weight:700; text-transform:uppercase; letter-spacing:.05em;}
.ref-box .val{font-family:'Yatra One',cursive; font-size:1.3rem; color:var(--maroon);}
.status-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:10px;}
.next-steps{text-align:left; background:var(--cream-alt); border-radius:16px; padding:22px 24px; margin-top:26px;}
.next-steps h5{color:var(--maroon); margin-bottom:12px; font-size:.95rem;}
.next-steps li{display:flex; gap:10px; align-items:flex-start; font-size:.88rem; color:#6b3346; margin-bottom:10px;}
.next-steps li svg{width:16px; height:16px; stroke:var(--saffron-dark); flex:none; margin-top:3px;}
.status-404-num{font-family:'Yatra One',cursive; font-size:5rem; color:var(--gold); line-height:1; margin-bottom:6px;}

/* ---------- Leads landing page ---------- */
.leads-hero{padding:56px 0 20px; text-align:center; background:radial-gradient(ellipse at top, var(--cream-alt) 0%, var(--cream) 65%);}
.leads-hero h1{font-size:clamp(2rem,4.6vw,2.9rem); margin-bottom:14px; max-width:780px; margin-inline:auto;}
.leads-hero p{max-width:600px; margin:0 auto 26px; color:#5c2c3d; font-size:1.05rem;}
.leads-badges{display:flex; justify-content:center; gap:20px; flex-wrap:wrap; margin-top:30px;}
.leads-badges .item{display:flex; align-items:center; gap:8px; font-weight:700; font-size:.85rem; color:var(--maroon); background:#fff; padding:10px 16px; border-radius:999px; box-shadow:var(--shadow);}
.leads-badges svg{width:18px; height:18px; stroke:var(--saffron-dark);}
.minimal-header .nav-cta .btn-outline{display:none;}

/* ---------- Responsive additions ---------- */
@media(max-width:1024px){
  .story-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .checkout-grid{grid-template-columns:1fr;}
  .order-summary{position:static;}
  .stat-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  .form-row-2{grid-template-columns:1fr;}
  .checkout-steps .line{width:30px;}
  .status-box{padding:36px 22px;}
  .leads-badges{gap:10px;}
}
@media(max-width:480px){
  .stat-grid{grid-template-columns:1fr 1fr;}
  .status-404-num{font-size:3.6rem;}
  .ref-box{flex-direction:column; align-items:flex-start;}
}

/* =========================================================
   PHP APP EXTENSIONS — language switcher, service detail page,
   admin panel
   ========================================================= */

/* ---------- Language switcher ---------- */
.lang-switch{position:relative;}
.lang-switch button{display:flex; align-items:center; gap:6px; background:rgba(255,255,255,.15); border:1.5px solid rgba(255,255,255,.3); color:#fff; padding:7px 12px; border-radius:999px; font-weight:700; font-size:.82rem; cursor:pointer;}
header:not(.scrolled) .lang-switch button{background:var(--cream-alt); border-color:rgba(122,19,48,.15); color:var(--maroon);}
.lang-switch button svg{width:14px; height:14px;}
.lang-dropdown{position:absolute; top:calc(100% + 8px); right:0; background:#fff; border-radius:14px; box-shadow:0 18px 40px rgba(122,19,48,.22); border:1px solid rgba(201,154,46,.15); min-width:150px; padding:8px; display:none; z-index:200;}
.lang-dropdown.open{display:block;}
.lang-dropdown a{display:flex; justify-content:space-between; align-items:center; padding:9px 12px; border-radius:9px; color:var(--maroon); font-weight:600; font-size:.88rem;}
.lang-dropdown a:hover, .lang-dropdown a.active{background:var(--cream-alt);}
.lang-dropdown a.active::after{content:'✓'; color:var(--tulsi); font-weight:800;}

/* ---------- Card 2.0 (photo based, matches reference design) ---------- */
.photo-card{background:#fff; border-radius:20px; overflow:hidden; box-shadow:var(--shadow); border:1px solid rgba(122,19,48,.06); transition:transform .25s, box-shadow .25s; display:flex; flex-direction:column;}
.photo-card:hover{transform:translateY(-6px); box-shadow:0 18px 36px rgba(122,19,48,.2);}
.photo-card .thumb-wrap{position:relative; aspect-ratio:16/10; overflow:hidden; background:linear-gradient(135deg,var(--maroon),var(--saffron-dark));}
.photo-card .thumb-wrap img{width:100%; height:100%; object-fit:cover; display:block;}
.photo-card .ends-badge{position:absolute; top:10px; right:10px; background:rgba(0,0,0,.55); color:#fff; font-size:.7rem; font-weight:700; padding:5px 10px; border-radius:999px; backdrop-filter:blur(4px);}
.photo-card .price-pill{position:absolute; bottom:10px; left:10px; background:#fff; color:var(--maroon); font-weight:800; padding:6px 12px; border-radius:999px; font-size:.9rem; box-shadow:0 6px 16px rgba(0,0,0,.2);}
.photo-card .price-pill s{color:#b58596; font-weight:500; font-size:.78rem; margin-left:4px;}
.photo-card .body{padding:16px 18px 18px; display:flex; flex-direction:column; gap:8px; flex:1;}
.photo-card h4{font-size:1.05rem; line-height:1.3;}
.photo-card .headline{font-size:.82rem; color:#8a5568;}
.photo-card .meta-row{display:flex; flex-wrap:wrap; gap:10px; font-size:.78rem; color:#6b3346; font-weight:600;}
.photo-card .meta-row span{display:flex; align-items:center; gap:4px;}
.photo-card .meta-row svg{width:13px; height:13px; stroke:var(--saffron-dark);}
.photo-card .actions{margin-top:auto; padding-top:6px;}

/* ---------- Service detail page ---------- */
.detail-topbar{background:linear-gradient(90deg,var(--maroon),var(--saffron-dark)); color:#fff; padding:14px 0;}
.detail-topbar .container{display:flex; align-items:center; justify-content:space-between;}
.detail-topbar .back-link{display:flex; align-items:center; gap:8px; color:#fff; font-weight:700; font-size:.95rem;}
.detail-topbar .back-link svg{width:20px; height:20px;}
.detail-topbar h1{color:#fff; font-size:1.05rem; margin:0; font-family:'Mukta',sans-serif; font-weight:700; text-align:center; flex:1; padding:0 12px;}

.carousel{position:relative; aspect-ratio:16/10; border-radius:0; overflow:hidden; background:#000;}
.carousel-track{display:flex; height:100%; transition:transform .4s ease;}
.carousel-slide{min-width:100%; height:100%; position:relative;}
.carousel-slide img{width:100%; height:100%; object-fit:cover; display:block;}
.carousel-dots{position:absolute; bottom:12px; left:0; right:0; display:flex; justify-content:center; gap:6px;}
.carousel-dots span{width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.5);}
.carousel-dots span.active{background:#fff; width:20px; border-radius:4px;}

.detail-info{padding:20px 0 4px;}
.detail-info .info-row{display:flex; align-items:center; gap:10px; font-weight:700; color:#3a1420; margin-bottom:12px; font-size:.95rem;}
.detail-info .info-row svg{width:18px; height:18px; stroke:var(--saffron-dark); flex:none;}
.countdown-row{background:#FFF3E0; border-radius:12px; padding:12px 16px; display:flex; align-items:center; gap:10px; margin:14px 0; font-weight:700; color:var(--maroon);}
.countdown-row .timer{color:var(--saffron-dark); font-family:'Yatra One',cursive; letter-spacing:.02em;}
.social-proof-row{color:var(--saffron-dark); font-weight:700; font-size:.9rem; margin-bottom:6px;}

.detail-tabs{display:flex; gap:6px; border-bottom:2px solid #f1e4d8; margin:24px 0 18px; overflow-x:auto;}
.detail-tabs button{background:none; border:none; padding:10px 16px; font-weight:700; color:#8a5568; font-size:.9rem; white-space:nowrap; border-bottom:3px solid transparent; cursor:pointer;}
.detail-tabs button.active{color:var(--maroon); border-color:var(--saffron-dark);}
.detail-tab-panel{display:none;}
.detail-tab-panel.active{display:block;}
.benefit-pill-list{display:flex; flex-direction:column; gap:10px;}
.benefit-pill{display:flex; gap:10px; align-items:flex-start; background:var(--cream-alt); border-radius:12px; padding:12px 14px; font-size:.9rem; color:#3a1420; font-weight:600;}
.benefit-pill svg{width:18px; height:18px; stroke:var(--tulsi); flex:none; margin-top:1px;}

.package-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:6px 0 22px;}
.package-opt{border:2px solid #f1e4d8; border-radius:14px; padding:14px 12px; text-align:center; cursor:pointer; background:#fff;}
.package-opt.selected{border-color:var(--saffron-dark); background:#FFF3E0;}
.package-opt .pname{font-weight:800; color:var(--maroon); font-size:.92rem; margin-bottom:4px;}
.package-opt .pprice{font-weight:700; color:var(--saffron-dark); font-size:.95rem;}

.booking-form-card{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid rgba(201,154,46,.15); padding:22px;}
.gotra-check{display:flex; align-items:center; gap:8px; font-size:.85rem; color:#6b3346; margin:-6px 0 14px;}
.addon-toggle{display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--cream-alt); border-radius:14px; padding:14px 16px; margin-bottom:18px;}
.addon-toggle .addon-info{display:flex; gap:12px; align-items:center;}
.addon-toggle .addon-ic{width:38px; height:38px; border-radius:10px; background:var(--saffron); display:flex; align-items:center; justify-content:center; flex:none;}
.addon-toggle .addon-ic svg{width:18px; height:18px; stroke:#fff;}
.addon-toggle h5{font-size:.88rem; margin-bottom:2px;}
.addon-toggle span{font-size:.76rem; color:#8a5568;}
.switch{position:relative; width:44px; height:24px; flex:none;}
.switch input{opacity:0; width:0; height:0;}
.switch .slider{position:absolute; inset:0; background:#dcccc2; border-radius:999px; transition:.2s; cursor:pointer;}
.switch .slider::before{content:''; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s;}
.switch input:checked + .slider{background:var(--saffron-dark);}
.switch input:checked + .slider::before{transform:translateX(20px);}

.sticky-book-bar{position:sticky; bottom:0; left:0; right:0; background:#fff; border-top:1px solid rgba(122,19,48,.1); padding:14px 18px; box-shadow:0 -8px 24px rgba(122,19,48,.1); z-index:50;}
.sticky-book-bar .btn{width:100%; font-size:1rem; padding:15px;}

/* ---------- Admin panel ---------- */
.admin-body{background:#f5f0ea; min-height:100vh; font-family:'Mukta',sans-serif;}
.admin-shell{display:flex; min-height:100vh;}
.admin-sidebar{width:240px; background:var(--maroon-dark); color:#f4e3c1; flex:none; padding:22px 0;}
.admin-sidebar .brand{padding:0 22px 20px; font-family:'Yatra One',cursive; font-size:1.3rem; color:#fff; border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:14px;}
.admin-sidebar a{display:flex; align-items:center; gap:10px; padding:12px 22px; color:#e9cfb0; font-weight:600; font-size:.9rem;}
.admin-sidebar a svg{width:18px; height:18px;}
.admin-sidebar a.active, .admin-sidebar a:hover{background:rgba(255,255,255,.08); color:#fff;}
.admin-main{flex:1; padding:26px 30px; overflow-x:auto;}
.admin-topbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; flex-wrap:wrap; gap:10px;}
.admin-topbar h1{font-family:'Mukta',sans-serif; font-size:1.4rem; color:var(--maroon); font-weight:800;}
.stat-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:26px;}
.stat-card{background:#fff; border-radius:16px; padding:18px 20px; box-shadow:var(--shadow); border:1px solid rgba(201,154,46,.12);}
.stat-card .lbl{font-size:.78rem; color:#8a5568; font-weight:700; text-transform:uppercase; letter-spacing:.04em;}
.stat-card .val{font-family:'Yatra One',cursive; font-size:1.8rem; color:var(--maroon); margin:6px 0 0;}
.stat-card.success .val{color:var(--tulsi);}
.stat-card.cancel .val{color:#c94040;}
.admin-card{background:#fff; border-radius:16px; padding:22px; box-shadow:var(--shadow); border:1px solid rgba(201,154,46,.12); margin-bottom:22px;}
.admin-filter-bar{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:18px;}
.admin-filter-bar input, .admin-filter-bar select{padding:9px 12px; border:1.5px solid #e5d3c1; border-radius:9px; font-size:.85rem; font-family:inherit;}
.admin-tabs{display:flex; gap:4px; margin-bottom:18px; flex-wrap:wrap;}
.admin-tabs a{padding:9px 16px; border-radius:999px; font-weight:700; font-size:.83rem; color:#8a5568; background:#f5efe6;}
.admin-tabs a.active{background:var(--maroon); color:#fff;}
.admin-table{width:100%; border-collapse:collapse; font-size:.85rem;}
.admin-table th{text-align:left; padding:10px 12px; background:var(--cream-alt); color:var(--maroon); font-weight:800; white-space:nowrap;}
.admin-table td{padding:10px 12px; border-bottom:1px solid #f1e4d8; vertical-align:top;}
.admin-table tr:hover td{background:#fffaf3;}
.status-chip{display:inline-block; padding:4px 10px; border-radius:999px; font-size:.72rem; font-weight:800; text-transform:uppercase;}
.status-chip.lead{background:#FFF3E0; color:#B8860B;}
.status-chip.success{background:#E3F3E7; color:#2E7D4F;}
.status-chip.cancel{background:#FBE3E3; color:#C94040;}
.export-buttons{display:flex; gap:8px;}
.export-buttons a{padding:8px 14px; border-radius:9px; background:var(--cream-alt); color:var(--maroon); font-weight:700; font-size:.8rem;}
.admin-login-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--maroon),var(--maroon-dark));}
.admin-login-card{background:#fff; border-radius:20px; padding:40px; width:100%; max-width:380px; box-shadow:0 30px 60px rgba(0,0,0,.3);}
.admin-login-card h2{text-align:center; margin-bottom:6px;}
.admin-login-card p{text-align:center; color:#8a5568; font-size:.85rem; margin-bottom:24px;}
.admin-error{background:#FBE3E3; color:#C94040; padding:10px 14px; border-radius:10px; font-size:.85rem; margin-bottom:16px;}
.admin-success{background:#E3F3E7; color:#2E7D4F; padding:10px 14px; border-radius:10px; font-size:.85rem; margin-bottom:16px;}
.img-thumb{width:44px; height:44px; border-radius:8px; object-fit:cover;}
.admin-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.btn-danger{background:#c94040; color:#fff;}
.btn-sm-icon{padding:6px 10px; border-radius:8px; font-size:.78rem; font-weight:700;}

@media(max-width:1024px){
  .stat-cards{grid-template-columns:repeat(2,1fr);}
  .admin-sidebar{width:70px;}
  .admin-sidebar .brand, .admin-sidebar a span{display:none;}
  .admin-sidebar a{justify-content:center;}
  .admin-form-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .package-grid{grid-template-columns:1fr;}
  .stat-cards{grid-template-columns:1fr 1fr;}
}
