/* =========================================================
   MORYA ANTIM SANSKAR — style.css
   Palette: Maroon #6B1E23 / Saffron #E8971C / Gold #C89B3C / Ivory #FAF6EF
   Type: Cinzel (display) + Mukta (body)
   ========================================================= */

:root{
  --maroon:#6B1E23;
  --maroon-dark:#4A1519;
  --maroon-light:#8A2A30;
  --saffron:#E8971C;
  --saffron-light:#FFB74D;
  --gold:#C89B3C;
  --ivory:#FAF6EF;
  --cream:#F1E6D3;
  --charcoal:#2B2320;
  --text-muted:#6b5f56;
  --font-display:'Cinzel', serif;
  --font-body:'Mukta', sans-serif;
  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:8px;
  --shadow-soft:0 10px 30px rgba(74,21,25,.10);
  --shadow-strong:0 18px 45px rgba(74,21,25,.22);
  --transition:all .35s ease;
}

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

body{
  font-family:var(--font-body);
  color:var(--charcoal);
  background:var(--ivory);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-display);
  color:var(--maroon-dark);
  font-weight:600;
  letter-spacing:.3px;
}

a{ text-decoration:none; color:inherit; }
img{ max-width:100%; height:auto; display:block; }
::selection{ background:var(--saffron); color:#fff; }

:focus-visible{
  outline:3px solid var(--saffron);
  outline-offset:2px;
}

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

.section-padding{ padding:88px 0; }
@media (max-width:767.98px){ .section-padding{ padding:56px 0; overflow-x: hidden;} }

.section-head{ max-width:720px; margin-left:auto; margin-right:auto; margin-bottom:48px; }
.section-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-display);
  color:var(--saffron); text-transform:uppercase; letter-spacing:2.5px;
  font-size:.82rem; font-weight:600; margin-bottom:10px;
}
.section-eyebrow::before{ content:""; width:26px; height:2px; background:var(--saffron); display:inline-block; }
.section-title{ font-size:2.35rem; margin-bottom:16px; }
.section-desc{ color:var(--text-muted); font-size:1.02rem; max-width:600px; line-height:1.75; }
@media (max-width:575.98px){ .section-title{ font-size:1.7rem; } }

/* Buttons */
.btn-maroon{
  background:var(--maroon); color:#fff; border:none; padding:13px 30px;
  border-radius:50px; font-weight:600; display:inline-flex; align-items:center; gap:8px;
  box-shadow:var(--shadow-soft); transition:var(--transition);
}
.btn-maroon:hover{ background:var(--maroon-dark); color:#fff; transform:translateY(-3px); box-shadow:var(--shadow-strong); }

/* Reveal on scroll */
[data-reveal]{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
[data-reveal].is-visible{ opacity:1; transform:none; }
[data-reveal-delay="1"]{ transition-delay:.12s; }
[data-reveal-delay="2"]{ transition-delay:.24s; }
[data-reveal-delay="3"]{ transition-delay:.36s; }

/* =========================== TOP BAR =========================== */
.top-bar{
  background:var(--maroon-dark); color:#f1e3c8; font-size:.85rem; padding:8px 0;
}
.top-bar-item{ margin-right:22px; display:inline-flex; align-items:center; gap:6px; color:#f1e3c8; transition:var(--transition); }
.top-bar-item:hover{ color:var(--saffron-light); }
.badge-24x7{
  background:var(--saffron); color:var(--maroon-dark); font-weight:700; font-size:.78rem;
  padding:5px 14px; border-radius:50px; margin-right:16px; display:inline-flex; align-items:center; gap:6px;
}
.top-bar-social{ gap:12px; }
.top-bar-social a{
  width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,.1);
  display:inline-flex; align-items:center; justify-content:center; margin-left:8px; transition:var(--transition);
}
.top-bar-social a:hover{ background:var(--saffron); color:var(--maroon-dark); }

/* =========================== HEADER =========================== */
.site-header{ background:var(--ivory); box-shadow:0 2px 18px rgba(74,21,25,.08); z-index:1030; }
.navbar{ padding:12px 0; }
.navbar-brand{ display:flex; align-items:center; gap:12px; }
.brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.brand-title{ font-family:var(--font-display); font-weight:700; color:var(--maroon); font-size:1.22rem; }
.brand-tagline{ font-size:.72rem; color:var(--saffron); letter-spacing:1px; text-transform:uppercase; }
.navbar-nav .nav-link{
  color:var(--charcoal); font-weight:600; margin:0 10px; position:relative; padding:8px 2px !important;
}
.navbar-nav .nav-link::after{
  content:""; position:absolute; left:0; bottom:2px; width:0; height:2px; background:var(--saffron); transition:var(--transition);
}
.navbar-nav .nav-link:hover::after, .navbar-nav .nav-link:focus::after{ width:100%; }
.navbar-nav .nav-link:hover{ color:var(--maroon); }
.btn-call-header{
  background:var(--maroon); color:#fff !important; padding:10px 22px; border-radius:50px; font-weight:600;
  display:inline-flex; align-items:center; gap:8px; transition:var(--transition); box-shadow:var(--shadow-soft);
}
.btn-call-header:hover{ background:var(--saffron); color:var(--maroon-dark) !important; transform:translateY(-2px); }

/* =========================== HERO ============================== */
.hero-section{ position:relative; }
.carousel-item img{ height:88vh; min-height:520px; max-height:760px; object-fit:cover; }
.hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(74,21,25,.86) 0%, rgba(74,21,25,.55) 45%, rgba(74,21,25,.25) 100%);
}
.hero-overlay-light{
  background:linear-gradient(90deg, rgba(74,21,25,.55) 0%, rgba(250,246,239,.35) 70%);
}
.hero-caption-container{ position:absolute; inset:0; display:flex; align-items:center; }
.hero-caption{ max-width:640px; color:#fff; }
.hero-eyebrow{
  font-family:var(--font-display); color:var(--saffron-light); text-transform:uppercase;
  letter-spacing:2.5px; font-size:.9rem; font-weight:600; margin-bottom:14px;
}
.hero-title{ font-size:3rem; color:#fff; line-height:1.2; margin-bottom:18px; }
.hero-title span{ color:var(--saffron-light); }
.hero-text{ font-size:1.08rem; color:#f0e6da; margin-bottom:28px; line-height:1.7; }
.hero-btns{ display:flex; flex-wrap:wrap; gap:14px; }
.btn-hero-primary{
  background:var(--saffron); color:var(--maroon-dark); padding:14px 30px; border-radius:50px; font-weight:700;
  display:inline-flex; align-items:center; gap:8px; box-shadow:0 12px 30px rgba(232,151,28,.4); transition:var(--transition);
}
.btn-hero-primary:hover{ background:#fff; color:var(--maroon); transform:translateY(-3px); }
.btn-hero-secondary{
  background:transparent; color:#fff; padding:14px 26px; border-radius:50px; font-weight:600;
  border:2px solid rgba(255,255,255,.65); display:inline-flex; align-items:center; gap:8px; transition:var(--transition);
}
.btn-hero-secondary:hover{ background:rgba(255,255,255,.15); border-color:#fff; color:#fff; transform:translateY(-3px); }

#heroCarousel .carousel-control-prev, #heroCarousel .carousel-control-next{ width:64px; opacity:1; }
.hero-nav-icon{
  width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.4);
  display:inline-flex; align-items:center; justify-content:center; font-size:1.1rem; color:#fff; transition:var(--transition);
}
.hero-nav-icon:hover{ background:var(--saffron); color:var(--maroon-dark); }
#heroCarousel .carousel-indicators [data-bs-target]{
  width:10px; height:10px; border-radius:50%; background:var(--saffron); opacity:.5; margin:0 5px;
}
#heroCarousel .carousel-indicators .active{ opacity:1; width:28px; border-radius:6px; }

@media (max-width:767.98px){
  .carousel-item img{ height:78vh; min-height:460px; }
  .hero-title{ font-size:2rem; }
  .hero-text{ font-size:.98rem; }
}

/* Road strip of marigold garland under hero */
.road-strip{
  background:var(--maroon-dark); overflow:hidden; padding:10px 0; position:relative;
}
.road-strip-track{
  display:flex; gap:46px; white-space:nowrap; width:max-content; animation:scrollGarland 18s linear infinite; color:var(--saffron); font-size:1.15rem;
}
@keyframes scrollGarland{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* =========================== ABOUT ============================== */
.about-img-wrap{ position:relative; }
.about-img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-strong); }
.about-exp-badge{
  position:absolute; bottom:-26px; right:-14px; background:var(--saffron); color:var(--maroon-dark);
  border-radius:var(--radius-md); padding:18px 22px; text-align:center; box-shadow:var(--shadow-strong);
  border:4px solid var(--ivory);
}
.exp-num{ font-family:var(--font-display); font-size:1.9rem; font-weight:700; display:block; line-height:1; }
.exp-label{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
.about-point{ display:flex; gap:14px; align-items:flex-start; }
.about-point i{
  width:46px; height:46px; min-width:46px; border-radius:50%; background:var(--cream); color:var(--maroon);
  display:inline-flex; align-items:center; justify-content:center; font-size:1.2rem;
}
.about-point h6{ margin-bottom:4px; font-size:1rem; }
.about-point p{ font-size:.9rem; color:var(--text-muted); margin:0; line-height:1.55; }

/* =========================== SERVICES ============================== */
.services-section{ background:var(--cream); }
.service-card{
  background:#fff; border-radius:var(--radius-lg); overflow:hidden; height:100%;
  box-shadow:var(--shadow-soft); transition:var(--transition); border:1px solid rgba(200,155,60,.18);
}
.service-card:hover{ transform:translateY(-10px); box-shadow:var(--shadow-strong); }
.service-img{ overflow:hidden; height:210px; }
.service-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.service-card:hover .service-img img{ transform:scale(1.08); }
.service-body{ padding:26px 26px 28px; position:relative; }
.service-num{
  position:absolute; top:-46px; right:22px; font-family:var(--font-display); font-size:2.2rem; font-weight:700;
  color:#fff; -webkit-text-stroke:1.5px var(--saffron); opacity:.9;
}
.service-body h3{ font-size:1.2rem; margin-bottom:10px; color:var(--maroon-dark); }
.service-body h3 small{ display:block; font-family:var(--font-body); font-size:.78rem; color:var(--saffron); font-weight:600; text-transform:uppercase; letter-spacing:1px; }
.service-body p{ color:var(--text-muted); font-size:.92rem; line-height:1.65; margin-bottom:18px; }
.btn-service{
  background:transparent; border:2px solid var(--maroon); color:var(--maroon); padding:9px 20px; border-radius:50px;
  font-weight:600; font-size:.88rem; display:inline-flex; align-items:center; gap:8px; transition:var(--transition);
}
.btn-service:hover{ background:var(--maroon); color:#fff; }

/* =========================== WHY CHOOSE US ============================== */
.why-section{ background:var(--ivory); }
.why-list{ margin-top:26px; display:flex; flex-direction:column; gap:20px; }
.why-item{ display:flex; gap:16px; align-items:flex-start; }
.why-icon{
  width:52px; height:52px; min-width:52px; border-radius:14px; background:var(--maroon); color:#fff;
  display:inline-flex; align-items:center; justify-content:center; font-size:1.3rem; box-shadow:var(--shadow-soft);
}
.why-item h6{ margin-bottom:4px; }
.why-item p{ color:var(--text-muted); font-size:.9rem; margin:0; }
.why-visual{ position:relative; }
.why-visual img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-strong); }
.why-call-card{
  position:absolute; left:-10px; bottom:-24px; background:#fff; border-radius:var(--radius-md); padding:16px 22px;
  box-shadow:var(--shadow-strong); display:flex; align-items:center; gap:14px; max-width:88%;
}
.why-call-card i{ font-size:1.8rem; color:var(--saffron); }
.why-call-card span{ display:block; font-size:.78rem; color:var(--text-muted); }
.why-call-card a{ font-family:var(--font-display); color:var(--maroon); font-weight:700; font-size:1.05rem; }
@media (max-width:991.98px){ .why-call-card{ position:static; margin-top:16px; max-width:100%; } }

/* =========================== COUNTER ============================== */
.counter-section{ background:linear-gradient(135deg, var(--maroon) 0%, var(--maroon-dark) 100%); padding:64px 0; }
.counter-box i{ font-size:2rem; color:var(--saffron-light); margin-bottom:10px; display:inline-block; }
.counter-box h3{ color:#fff; font-size:2.4rem; margin-bottom:4px; }
.counter-box p{ color:#e9d6c2; margin:0; text-transform:uppercase; letter-spacing:1px; font-size:.82rem; }

/* =========================== HOW IT WORKS ============================== */
.how-section{ background:var(--cream); }
.how-card{
  background:#fff; border-radius:var(--radius-lg); padding:34px 24px; text-align:center; height:100%;
  box-shadow:var(--shadow-soft); position:relative; transition:var(--transition); border-top:4px solid var(--saffron);
}
.how-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-strong); }
.how-step{
  width:36px; height:36px; border-radius:50%; background:var(--maroon); color:#fff; font-family:var(--font-display);
  font-weight:700; display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
}
.how-card i{ font-size:2rem; color:var(--saffron); margin-bottom:14px; display:inline-block; }
.how-card h5{ font-size:1.05rem; margin-bottom:10px; }
.how-card p{ font-size:.88rem; color:var(--text-muted); margin:0; line-height:1.6; }

/* =========================== BOOKING (CALL/TEXT ONLY) ============================== */
.booking-section{ padding:70px 0; background:var(--ivory); }
.booking-box{
  background:linear-gradient(135deg, var(--maroon) 0%, var(--maroon-dark) 100%);
  border-radius:var(--radius-lg); padding:56px 40px; text-align:center; position:relative; overflow:hidden;
  box-shadow:var(--shadow-strong);
}
.booking-flame{
  position:absolute; top:-30px; right:-20px; font-size:9rem; color:rgba(232,151,28,.12); transform:rotate(12deg);
}
.booking-box h2{ color:#fff; margin-bottom:16px; position:relative; }
.booking-box p{ color:#f0e2cc; max-width:680px; margin:0 auto 30px; line-height:1.75; position:relative; }
.booking-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:16px; position:relative; }
.btn-booking-call, .btn-booking-text, .btn-booking-call-alt{
  padding:15px 28px; border-radius:50px; font-weight:700; display:inline-flex; align-items:center; gap:10px;
  transition:var(--transition); font-size:1rem;
}
.btn-booking-call{ background:var(--saffron); color:var(--maroon-dark); box-shadow:0 12px 30px rgba(232,151,28,.4); }
.btn-booking-call:hover{ background:#fff; color:var(--maroon); transform:translateY(-3px); }
.btn-booking-call-alt{ background:transparent; border:2px solid rgba(255,255,255,.6); color:#fff; }
.btn-booking-call-alt:hover{ background:rgba(255,255,255,.12); color:#fff; transform:translateY(-3px); }
.btn-booking-text{ background:#fff; color:var(--maroon); }
.btn-booking-text:hover{ background:var(--cream); transform:translateY(-3px); }
.booking-note{ margin-top:24px !important; font-size:.85rem; color:#e9d6c2 !important; display:flex; align-items:center; justify-content:center; gap:8px; }

/* =========================== GALLERY ============================== */
.gallery-item{ position:relative; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-soft); aspect-ratio:4/3; }
.gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.gallery-overlay{
  position:absolute; inset:0; background:rgba(74,21,25,.55); display:flex; align-items:center; justify-content:center;
  opacity:0; transition:var(--transition); color:var(--saffron-light); font-size:1.6rem;
}
.gallery-item:hover .gallery-overlay{ opacity:1; }
.gallery-item:hover img{ transform:scale(1.12); }

/* =========================== TESTIMONIALS ============================== */
.testimonial-section{ background:var(--cream); }
.testimonial-card{
  background:#fff; border-radius:var(--radius-lg); padding:44px 40px; max-width:720px; text-align:center;
  box-shadow:var(--shadow-soft); position:relative;
}
.testi-quote{ font-size:2.4rem; color:var(--saffron); opacity:.5; margin-bottom:10px; }
.testimonial-card p{ font-size:1.08rem; font-style:italic; color:var(--charcoal); line-height:1.8; margin-bottom:24px; }
.testi-person{ display:flex; align-items:center; justify-content:center; gap:14px; }
.testi-person img{ width:52px; height:52px; border-radius:50%; object-fit:cover; }
.testi-person h6{ margin:0; font-size:.98rem; }
.testi-person span{ font-size:.8rem; color:var(--text-muted); }
.testi-controls{ display:flex; justify-content:center; gap:14px; margin-top:28px; }
.testi-btn{
  width:44px; height:44px; border-radius:50%; background:#fff; border:2px solid var(--maroon); color:var(--maroon);
  display:inline-flex; align-items:center; justify-content:center; transition:var(--transition);
}
.testi-btn:hover{ background:var(--maroon); color:#fff; }

/* =========================== FAQ ============================== */
.accordion-item{ border:none; margin-bottom:14px; border-radius:var(--radius-md) !important; overflow:hidden; box-shadow:var(--shadow-soft); }
.accordion-button{
  font-family:var(--font-display); font-weight:600; color:var(--maroon-dark); background:#fff; padding:18px 22px; font-size:1rem;
}
.accordion-button:not(.collapsed){ background:var(--maroon); color:#fff; box-shadow:none; }
.accordion-button:focus{ box-shadow:0 0 0 3px rgba(232,151,28,.4); }
.accordion-button::after{ filter:none; }
.accordion-body{ padding:20px 22px; color:var(--text-muted); font-size:.94rem; line-height:1.7; background:#fff; }

/* =========================== CONTACT ============================== */
.contact-info-card{
  background:#fff; border-radius:var(--radius-md); padding:30px 24px; text-align:center; height:100%;
  box-shadow:var(--shadow-soft); transition:var(--transition);
}
#enu-st{
background:var(--maroon); color:#fff; border:none; padding:13px 30px;
  border-radius:50px; font-weight:600; display:inline-flex; align-items:center; gap:8px;
  box-shadow:var(--shadow-soft); transition:var(--transition);
  display:block;
  width:100%;
}
.contact-info-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-strong); }
.contact-info-card i{ font-size:1.8rem; color:var(--saffron); margin-bottom:12px; display:inline-block; }
.contact-info-card h5{ font-size:1.02rem; margin-bottom:10px; }
.contact-info-card a, .contact-info-card span{ display:block; color:var(--text-muted); font-size:.92rem; }
.contact-info-card a:hover{ color:var(--maroon); }

.contact-map-wrap{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-soft); height:100%; min-height:340px; }
.contact-map-wrap iframe{ width:100%; height:100%; min-height:340px; border:0; filter:sepia(12%); }

.contact-form{ background:#fff; border-radius:var(--radius-lg); padding:34px; box-shadow:var(--shadow-soft); }
.contact-form h4{ margin-bottom:20px; }
.contact-form .form-label{ font-weight:600; font-size:.88rem; color:var(--charcoal); }
.contact-form .form-control, .contact-form .form-select{
  border-radius:var(--radius-sm); border:1.5px solid #e6dcc9; padding:11px 14px; font-size:.94rem;
}
.contact-form .form-control:focus, .contact-form .form-select:focus{
  border-color:var(--saffron); box-shadow:0 0 0 3px rgba(232,151,28,.18);
}
.form-hint{ font-size:.8rem; color:var(--text-muted); display:flex; align-items:center; gap:6px; }

/* =========================== FOOTER ============================== */
.site-footer{ background:var(--maroon-dark); color:#e9d6c2; }
.footer-top{ padding:64px 0 36px; }
.footer-brand{ display:flex; align-items:center; gap:12px; font-family:var(--font-display); font-size:1.25rem; color:#fff; font-weight:700; margin-bottom:16px; }
.footer-about{ font-size:.9rem; color:#cbb69e; line-height:1.7; margin-bottom:18px; }
.footer-social{ display:flex; gap:10px; }
.footer-social a{
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08); display:inline-flex;
  align-items:center; justify-content:center; transition:var(--transition); color:#fff;
}
.footer-social a:hover{ background:var(--saffron); color:var(--maroon-dark); transform:translateY(-3px); }
.footer-heading{ color:#fff; font-family:var(--font-display); font-size:1rem; margin-bottom:18px; }
.footer-links{ list-style:none; padding:0; margin:0; }
.footer-links li{ margin-bottom:11px; }
.footer-links a{ color:#cbb69e; font-size:.9rem; transition:var(--transition); }
.footer-links a:hover{ color:var(--saffron-light); padding-left:4px; }
.footer-contact{ list-style:none; padding:0; margin:0; }
.footer-contact li{ margin-bottom:12px; font-size:.9rem; color:#cbb69e; display:flex; align-items:center; gap:10px; }
.footer-contact i{ color:var(--saffron); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); padding:18px 0; font-size:.83rem; color:#b9a78f; }

/* =========================== FLOATING BUTTONS ============================== */
.floating-btn{
  position:fixed; bottom:26px; width:58px; height:58px; border-radius:50%; display:inline-flex; align-items:center;
  justify-content:center; font-size:1.55rem; color:#fff; z-index:1040; box-shadow:var(--shadow-strong); transition:var(--transition);
}
.floating-call{ right:26px; background:var(--maroon); }
.floating-call:hover{ background:var(--maroon-dark); color:#fff; transform:scale(1.08); }
.floating-whatsapp{ left:26px; background:#25D366; }
.floating-whatsapp:hover{ background:#1ea952; color:#fff; transform:scale(1.08); }
.floating-ping{
  position:absolute; inset:0; border-radius:50%; border:2px solid var(--maroon); animation:pingRing 1.8s ease-out infinite;
}
@keyframes pingRing{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(1.7); opacity:0; } }
.cu-lg-wdth{
	width:250px;
}
@media (max-width:575.98px){
  .floating-btn{ width:50px; height:50px; font-size:1.3rem; bottom:16px; }
  .floating-call{ right:16px; } .floating-whatsapp{ left:16px; }
}

/* Back to top */
.back-to-top{
  position:fixed; bottom:96px; right:26px; width:44px; height:44px; border-radius:50%; background:var(--gold);
  color:#fff; border:none; display:none; align-items:center; justify-content:center; z-index:1039; box-shadow:var(--shadow-soft);
  transition:var(--transition);
}
.back-to-top.show{ display:inline-flex; }
.back-to-top:hover{ background:var(--saffron); transform:translateY(-4px); }
@media (max-width:575.98px){ .back-to-top{ right:16px; bottom:78px; width:38px; height:38px; } }
@media(max-width:374px)
{
	.cu-lg-wdth{
	width:220px;
}
}