@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;900&family=Outfit:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,600&display=swap');

:root {
  /* Color Palette */
  --premium-primary: #97112f;
  --premium-primary-dark: #5c0612;
  --premium-accent: #ff7a18;
  --premium-accent-gradient: linear-gradient(135deg, #ff7a18 0%, #ff0046 100%);
  --premium-gold: #d4af37;
  --premium-gold-gradient: linear-gradient(135deg, #f3d06b 0%, #c49928 100%);
  --premium-bg-light: #fffdfb;
  --premium-bg-cream: #fff7f0;
  --premium-text-dark: #200f0a;
  --premium-text-muted: #5c4c47;
  --premium-glass-bg: rgba(255, 255, 255, 0.94);
  --premium-glass-border: rgba(255, 122, 24, 0.16);
  
  /* Shadows & Easing */
  --premium-card-shadow: 0 15px 35px rgba(81, 21, 0, 0.07);
  --premium-card-shadow-hover: 0 25px 55px rgba(81, 21, 0, 0.15);
  --premium-spring: cubic-bezier(0.175, 0.885, 0.32, 1.1);
  --premium-spring-heavy: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Global Aesthetics */
body {
  font-family: 'Outfit', sans-serif !important;
  color: var(--premium-text-dark) !important;
  background-color: var(--premium-bg-light) !important;
  line-height: 1.75 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* Typography & Visual Readability Improvements */
h1, h2, h3, h4, h5, h6, 
.elementor-heading-title, 
.title, 
.jkit-heading .heading-title {
  font-family: 'Playfair Display', serif !important;
  color: var(--premium-primary-dark) !important;
  font-weight: 800 !important;
  letter-spacing: -0.2px !important;
}

/* Highlight specific subheadings or category names */
.home-ai-hero__eyebrow,
.heading-section-title .heading-title,
.jkit-heading .heading-title {
  font-family: 'Cinzel', serif !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--premium-primary) !important;
}

/* Ensure Text is Always Clearly Legible (Contrast Overrides) */
p, li, span, 
.elementor-text-editor, 
.elementor-text-editor p, 
.icon-box-description,
.jkit-testimonial-item p {
  color: var(--premium-text-dark) !important;
  font-weight: 500 !important; /* Slightly bolder for crisp readability */
  font-family: 'Outfit', sans-serif !important;
}

.elementor-text-editor a {
  color: var(--premium-primary) !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

/* Modern Card Redesign (Services, Features, Testimonials) */
.jkit-icon-box-wrapper.hover-from-bottom,
.elementor-column-wrap,
.elementor-widget-wrap.elementor-element-populated {
  transition: all 0.4s var(--premium-spring-heavy);
}

/* Redesign Jeg Elementor Kit Icon Box (Puja Service Cards) */
.jkit-icon-box-wrapper {
  background: var(--premium-glass-bg) !important;
  border: 1px solid var(--premium-glass-border) !important;
  border-radius: 24px !important;
  padding: 34px 28px !important;
  box-shadow: var(--premium-card-shadow) !important;
  transition: all 0.45s var(--premium-spring-heavy) !important;
  position: relative;
  overflow: hidden;
}

.jkit-icon-box-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--premium-accent-gradient);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.jkit-icon-box-wrapper:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: var(--premium-card-shadow-hover) !important;
  border-color: rgba(255, 122, 24, 0.35) !important;
  background: #ffffff !important;
}

.jkit-icon-box-wrapper:hover::before {
  opacity: 1;
}

.jkit-icon-box .title {
  font-size: 21px !important;
  margin-bottom: 12px !important;
  color: var(--premium-primary-dark) !important;
}

/* Service Card Images Redesign (Temple Arch Shape) */
.elementor-widget-image img {
  border-radius: 140px 140px 24px 24px !important;
  border: 4px solid var(--premium-gold) !important;
  padding: 5px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 30px rgba(81, 21, 0, 0.09) !important;
  transition: transform 0.5s var(--premium-spring), border-color 0.4s ease, box-shadow 0.4s ease !important;
}

/* Exempt logo and hero images from the temple arch shaping */
.static-site-logo img, 
.static-site-logo * img,
.home-ai-hero img,
.home-ai-hero * img {
  border-radius: 0 !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.elementor-widget-image:hover img {
  transform: scale(1.04) translateY(-5px) !important;
  border-color: var(--premium-accent) !important;
  box-shadow: 0 18px 45px rgba(81, 21, 0, 0.18) !important;
}

/* Premium Redesign for Testimonials */
.testimonial-box,
.jkit-testimonial-item {
  background: #ffffff !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255, 122, 24, 0.12) !important;
  padding: 36px 30px !important;
  box-shadow: var(--premium-card-shadow) !important;
  transition: transform 0.4s var(--premium-spring-heavy) !important;
  text-align: left !important;
}

.testimonial-box:hover,
.jkit-testimonial-item:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--premium-card-shadow-hover) !important;
}

/* Force dark readable text inside white testimonial cards */
.testimonial-box,
.testimonial-box *,
.jkit-testimonial-item,
.jkit-testimonial-item * {
  color: var(--premium-text-dark) !important;
}

.testimonial-box .comment-content p,
.jkit-testimonial-item .comment-text {
  font-style: italic !important;
  font-size: 15px !important;
  color: var(--premium-text-muted) !important;
  position: relative;
  padding-left: 20px !important;
}

.testimonial-box .comment-content p::before,
.jkit-testimonial-item .comment-text::before {
  content: '“' !important;
  position: absolute !important;
  left: 0 !important;
  top: -8px !important;
  font-size: 34px !important;
  color: var(--premium-accent) !important;
  font-family: serif !important;
}

.testimonial-box .comment-bio,
.testimonial-box .bio-details * {
  color: var(--premium-text-muted) !important;
}

/* Button & Action Link Styling (Excluding Hero Buttons) */
.elementor-button:not(.home-ai-hero__btn) {
  position: relative;
  overflow: hidden;
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  padding: 14px 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  background: linear-gradient(135deg, #ff7a18 0%, #da1b60 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(218, 27, 96, 0.22), 
              inset 0 2px 4px rgba(255, 255, 255, 0.4), 
              inset 0 -2px 4px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.3s var(--premium-spring-heavy) !important;
}

.elementor-button:not(.home-ai-hero__btn) * {
  color: #ffffff !important;
  fill: #ffffff !important;
}

.elementor-button:not(.home-ai-hero__btn):hover {
  transform: translateY(-3px) scale(1.05) !important;
  background: linear-gradient(135deg, #ff933b 0%, #ff0046 100%) !important;
  box-shadow: 0 12px 28px rgba(218, 27, 96, 0.38), 
              inset 0 2px 4px rgba(255, 255, 255, 0.5), 
              inset 0 -2px 4px rgba(0, 0, 0, 0.15) !important;
}

.elementor-button:not(.home-ai-hero__btn):active {
  transform: translateY(1px) scale(0.98) !important;
}

/* Static Site Nav Links (Normal states) */
.static-site-nav a:not(.static-call-link) {
  border-radius: 999px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  padding: 10px 13px !important;
  transition: all 0.3s var(--premium-spring-heavy) !important;
}

/* Glossy Button Style for "Read More" links inside Puja cards */
.jkit-icon-box .icon-box-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 14px !important;
  padding: 12px 28px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff7a18 0%, #da1b60 100%) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  letter-spacing: 0.8px !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 6px 16px rgba(218, 27, 96, 0.25), 
              inset 0 2px 4px rgba(255, 255, 255, 0.4), 
              inset 0 -2px 4px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.4s var(--premium-spring-heavy) !important;
  text-decoration: none !important;
}

.jkit-icon-box .icon-box-link:hover {
  transform: translateY(-3px) scale(1.05) !important;
  background: linear-gradient(135deg, #ff933b 0%, #ff0046 100%) !important;
  box-shadow: 0 10px 24px rgba(218, 27, 96, 0.4), 
              inset 0 2px 4px rgba(255, 255, 255, 0.5), 
              inset 0 -2px 4px rgba(0, 0, 0, 0.15) !important;
}

.jkit-icon-box .icon-box-link svg {
  width: 12px !important;
  height: 12px !important;
  fill: #ffffff !important;
  transition: transform 0.3s ease !important;
}

.jkit-icon-box .icon-box-link:hover svg {
  transform: translateX(4px) !important;
}

/* Flip colors of the button when parent card is hovered */
.jkit-icon-box-wrapper:hover .icon-box-link {
  background: #ffffff !important;
  color: var(--premium-primary) !important;
  border-color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
}

.jkit-icon-box-wrapper:hover .icon-box-link * {
  color: var(--premium-primary) !important;
  fill: var(--premium-primary) !important;
}

/* Card Hover Typography Contrast Protection */
.jkit-icon-box-wrapper:hover,
.jkit-icon-box-wrapper:hover *,
.jkit-icon-box-wrapper:hover p,
.jkit-icon-box-wrapper:hover span,
.jkit-icon-box-wrapper:hover h3,
.jkit-icon-box-wrapper:hover .title,
.jkit-icon-box-wrapper:hover .icon-box-description {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Shimmer overlay for premium buttons */
.elementor-button:not(.home-ai-hero__btn)::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
  transition: all 0.6s ease;
}

.elementor-button:not(.home-ai-hero__btn):hover::after {
  left: 150%;
}

/* Gallery Image Overhaul */
.gallery-icon img {
  border-radius: 16px !important;
  transition: transform 0.5s var(--premium-spring) !important;
}

.gallery-item:hover img {
  transform: scale(1.05) rotate(1deg) !important;
}

/* Static Site Header & Nav Bar Enhancements */
.static-site-header {
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(255, 122, 24, 0.16) !important;
  box-shadow: 0 8px 30px rgba(81, 21, 0, 0.08) !important;
}

.static-site-nav a {
  font-family: 'Outfit', sans-serif !important;
  color: var(--premium-text-dark) !important;
}

.static-site-nav a * {
  color: inherit;
}

/* Force white text on elements with background colors (active links, hover states) */
.static-site-nav a:hover,
.static-site-nav a:hover:not(.static-call-link) *,
.static-site-nav a:hover:not(.static-call-link) span:not(.static-nav-icon),
.static-services-menu summary:hover,
.static-services-menu summary:hover *,
.static-services-menu summary:hover span:not(.static-nav-icon),
.static-site-nav a[aria-current="page"],
.static-site-nav a[aria-current="page"] *,
.static-site-nav a[aria-current="page"] span:not(.static-nav-icon) {
  background: var(--premium-accent-gradient) !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  box-shadow: 0 8px 20px rgba(255, 0, 70, 0.22) !important;
}

/* Beautiful white circle background for navigation icons on active/hover states */
.static-site-nav a:hover .static-nav-icon,
.static-site-nav a[aria-current="page"] .static-nav-icon,
.static-services-menu summary:hover .static-nav-icon,
.static-services-menu[open] summary .static-nav-icon {
  background: #ffffff !important;
  color: var(--premium-primary) !important;
  box-shadow: 0 4px 10px rgba(81, 21, 0, 0.12) !important;
}

.static-site-nav a:hover .static-nav-icon *,
.static-site-nav a[aria-current="page"] .static-nav-icon *,
.static-services-menu summary:hover .static-nav-icon *,
.static-services-menu[open] summary .static-nav-icon * {
  color: var(--premium-primary) !important;
  fill: var(--premium-primary) !important;
}


/* Call Now retains its premium green gradient styling but gets white text */
.static-site-nav .static-call-link,
.static-site-nav .static-call-link *,
.static-site-nav .static-call-link span {
  background: linear-gradient(135deg, #26d96f 0%, #075e54 100%) !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  box-shadow: 0 8px 20px rgba(7, 94, 84, 0.2) !important;
}

/* Call now hover flips to glowing green */
.static-site-nav .static-call-link:hover,
.static-site-nav .static-call-link:hover *,
.static-site-nav .static-call-link:hover span {
  background: linear-gradient(135deg, #2cf47f 0%, #0c7a6e 100%) !important;
  box-shadow: 0 10px 24px rgba(7, 94, 84, 0.35) !important;
}

/* Mobile Lead Bar Overhaul */
@media(max-width:767px) {
  .mobile-lead-bar {
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 122, 24, 0.25) !important;
    box-shadow: 0 16px 40px rgba(81, 21, 0, 0.3) !important;
    border-radius: 28px !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    padding: 6px !important;
  }
  
  .mobile-lead-bar__btn {
    border-radius: 22px !important;
    min-height: 56px !important;
    transition: transform 0.2s ease !important;
  }
  
  .mobile-lead-bar__btn,
  .mobile-lead-bar__btn *,
  .mobile-lead-bar__btn span {
    color: #ffffff !important;
  }
  
  .mobile-lead-bar__btn:active {
    transform: scale(0.96) !important;
  }
}

/* Contact Form Styling */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  border-radius: 12px !important;
  border: 1px solid rgba(255, 122, 24, 0.2) !important;
  background-color: #ffffff !important;
  padding: 14px 18px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  transition: all 0.3s ease !important;
  color: var(--premium-text-dark) !important;
}

input:focus,
textarea:focus {
  border-color: var(--premium-primary) !important;
  box-shadow: 0 0 0 3px rgba(151, 17, 47, 0.15) !important;
  outline: none !important;
}

/* Policy Pages Card Aesthetics */
.wrap {
  padding: 50px 20px 100px !important;
}

.card {
  border-radius: 24px !important;
  padding: 42px !important;
  box-shadow: var(--premium-card-shadow-hover) !important;
  border: 1px solid rgba(255, 122, 24, 0.1) !important;
  background: #ffffff !important;
}

.trust {
  background: var(--premium-bg-cream) !important;
  border-left: 5px solid var(--premium-accent) !important;
  padding: 18px 22px !important;
  border-radius: 12px !important;
}

/* ==========================================
   Framer Motion Simulation (Scroll Reveal)
   ========================================== */
.reveal-init {
  opacity: 0;
  will-change: opacity, transform, filter;
}

/* Slide Up Spring */
.reveal-up {
  transform: translateY(50px);
  transition: opacity 0.85s var(--premium-spring),
              transform 0.85s var(--premium-spring),
              filter 0.85s ease !important;
}

/* Slide In Left */
.reveal-left {
  transform: translateX(-60px);
  transition: opacity 0.85s var(--premium-spring),
              transform 0.85s var(--premium-spring) !important;
}

/* Slide In Right */
.reveal-right {
  transform: translateX(60px);
  transition: opacity 0.85s var(--premium-spring),
              transform 0.85s var(--premium-spring) !important;
}

/* Scale Spring */
.reveal-scale {
  transform: scale(0.92);
  transition: opacity 0.85s var(--premium-spring),
              transform 0.85s var(--premium-spring) !important;
}

/* Revealed Visible States */
.reveal-active {
  opacity: 1 !important;
  transform: translate(0) scale(1) !important;
  filter: blur(0px) !important;
}

/* Route transition fade-in effect on load */
body.premium-loading {
  opacity: 0;
}

body.premium-ready {
  opacity: 1;
  transition: opacity 0.6s ease-in-out;
}

/* ==========================================
   Dark Background Contrast Overrides (Safety) & Footer Background Image
   ========================================== */
.seo-footer-extra,
.footer {
  background: linear-gradient(135deg, rgba(59, 10, 15, 0.94) 0%, rgba(151, 17, 47, 0.95) 48%, rgba(255, 0, 70, 0.95) 100%), 
              url('../uploads/2024/03/footer-background.png') center center/cover no-repeat !important;
  background-blend-mode: overlay !important;
  border-top: 3px solid var(--premium-gold) !important;
  position: relative;
  overflow: hidden;
}

/* Elegant golden glowing line separator in the footer */
.seo-footer-extra::before,
.footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.4), transparent);
}

.seo-footer-extra,
.seo-footer-extra *,
.footer,
.footer *,
.has-dark-background,
.has-dark-background *,
.has-white-color,
.has-white-color * {
  color: #ffffff !important;
}

/* Inner Page Header Banners (Force White Text, Headings, Breadcrumbs & Contrast) */
body:not(.home) div[data-elementor-type="wp-page"] > .elementor-section:first-of-type,
body:not(.home) div[data-elementor-type="wp-page"] > .elementor-section:first-of-type *,
body:not(.home) div[data-elementor-type="wp-page"] > .elementor-section:first-of-type h1,
body:not(.home) div[data-elementor-type="wp-page"] > .elementor-section:first-of-type h2,
body:not(.home) div[data-elementor-type="wp-page"] > .elementor-section:first-of-type h3,
body:not(.home) div[data-elementor-type="wp-page"] > .elementor-section:first-of-type p,
body:not(.home) div[data-elementor-type="wp-page"] > .elementor-section:first-of-type span,
body:not(.home) div[data-elementor-type="wp-page"] > .elementor-section:first-of-type a,
body:not(.home) div[data-elementor-type="wp-page"] > .elementor-section:first-of-type li {
  color: #ffffff !important;
}

body:not(.home) div[data-elementor-type="wp-page"] > .elementor-section:first-of-type svg,
body:not(.home) div[data-elementor-type="wp-page"] > .elementor-section:first-of-type svg * {
  fill: #ffffff !important;
}

.seo-footer-extra a,
.footer a {
  text-decoration: underline !important;
  color: #ffffff !important;
  transition: color 0.3s ease;
}

.seo-footer-extra a:hover,
.footer a:hover {
  color: var(--premium-gold) !important;
}

/* ==========================================
   Working Process Numbers Styling (White)
   ========================================== */
.premium-process-number {
  color: #ffffff !important;
  text-shadow: 0 4px 12px rgba(81, 21, 0, 0.25) !important;
  font-family: 'Cinzel', serif !important;
  font-weight: 900 !important;
  font-size: clamp(48px, 6vw, 72px) !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
  display: block !important;
  text-align: center !important;
}

/* ==========================================
   Internal Puja Pages Visual Redesign
   ========================================== */

/* Puja Main Container and Card wrapper */
.puja-main {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Beautiful card styling for sections */
.puja-section-card {
  background: linear-gradient(135deg, #ffffff 0%, #fffdfc 100%) !important;
  border: 1px solid rgba(255, 122, 24, 0.12) !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 36px rgba(81, 21, 0, 0.05) !important;
  padding: 38px 42px !important;
  margin-bottom: 34px !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.4s var(--premium-spring-heavy), box-shadow 0.4s ease, border-color 0.4s ease !important;
  border-left: 5px solid var(--premium-gold) !important;
}

.puja-section-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 50px rgba(81, 21, 0, 0.1) !important;
  border-color: rgba(255, 122, 24, 0.28) !important;
}

/* Ensure headings inside cards look premium and align with SVGs */
.puja-section-card h2 {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 0 !important;
  margin-bottom: 22px !important;
  font-size: clamp(21px, 2.5vw, 26px) !important;
  line-height: 1.25 !important;
  border-bottom: 1px solid rgba(255, 122, 24, 0.1) !important;
  padding-bottom: 14px !important;
}

/* Inline Devotional SVG Styling */
.puja-section-card h2 svg {
  width: 32px !important;
  height: 32px !important;
  fill: var(--premium-primary) !important;
  flex-shrink: 0 !important;
  filter: drop-shadow(0 2px 8px rgba(151, 17, 47, 0.16));
  animation: pujaPulse 3s infinite ease-in-out;
}

@keyframes pujaPulse {
  0% { transform: scale(1); opacity: 0.95; }
  50% { transform: scale(1.05); opacity: 1; filter: drop-shadow(0 2px 12px rgba(255, 122, 24, 0.35)); }
  100% { transform: scale(1); opacity: 0.95; }
}

/* Puja List Bullet Overhaul */
.puja-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 20px 0 !important;
  display: grid !important;
  gap: 16px !important;
}

.puja-list li {
  position: relative !important;
  padding-left: 38px !important;
  margin: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
}

.puja-list-item-icon {
  position: absolute !important;
  left: 0 !important;
  top: 3px !important;
  width: 20px !important;
  height: 20px !important;
  fill: var(--premium-accent) !important;
  flex-shrink: 0 !important;
}

/* Callout Box styling */
.puja-callout-box {
  background: linear-gradient(135deg, var(--premium-primary-dark) 0%, var(--premium-primary) 100%) !important;
  border-left: 5px solid var(--premium-gold) !important;
  border-radius: 20px !important;
  padding: 30px 34px !important;
  margin: 24px 0 !important;
  box-shadow: 0 15px 35px rgba(151, 17, 47, 0.22) !important;
}

.puja-callout-box,
.puja-callout-box *,
.puja-main .puja-callout-box p,
.puja-main .puja-callout-box li,
.puja-main .puja-callout-box span,
.puja-callout-box p,
.puja-callout-box li,
.puja-callout-box span {
  color: #ffffff !important;
}

.puja-callout-box strong {
  display: block !important;
  font-size: 18px !important;
  font-family: 'Cinzel', serif !important;
  margin-bottom: 8px !important;
  color: var(--premium-gold) !important;
  letter-spacing: 0.8px !important;
}

/* Timeline Layout for "How the Booking Works" */
.puja-timeline {
  position: relative !important;
  padding-left: 32px !important;
  border-left: 2px dashed rgba(255, 122, 24, 0.22) !important;
  margin: 26px 0 10px 16px !important;
}

.puja-timeline-item {
  position: relative !important;
  margin-bottom: 32px !important;
}

.puja-timeline-item:last-child {
  margin-bottom: 0 !important;
}

.puja-timeline-badge {
  position: absolute !important;
  left: -50px !important;
  top: -2px !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: var(--premium-accent-gradient) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  box-shadow: 0 4px 12px rgba(255, 0, 70, 0.28) !important;
  border: 2px solid #ffffff !important;
  z-index: 2 !important;
}

.puja-timeline-title {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  color: var(--premium-primary-dark) !important;
  font-size: 18px !important;
  margin-bottom: 6px !important;
}

/* Accordion FAQ Enhancements */
.puja-faq {
  display: grid !important;
  gap: 16px !important;
  margin-top: 24px !important;
}

.puja-faq details {
  border: 1px solid rgba(255, 122, 24, 0.12) !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 20px rgba(81, 21, 0, 0.03) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}

.puja-faq details[open] {
  border-color: rgba(255, 122, 24, 0.25) !important;
  box-shadow: 0 10px 30px rgba(81, 21, 0, 0.06) !important;
}

.puja-faq details summary {
  cursor: pointer !important;
  color: var(--premium-primary-dark) !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 20px 24px !important;
  outline: none !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: background 0.3s ease !important;
  user-select: none !important;
}

.puja-faq details summary::-webkit-details-marker {
  display: none !important;
}

.puja-faq details summary:hover {
  background: var(--premium-bg-cream) !important;
}

/* Accordion Arrow Indicator */
.puja-faq details summary::after {
  content: '+' !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--premium-accent) !important;
  transition: transform 0.3s ease !important;
  line-height: 1 !important;
}

.puja-faq details[open] summary::after {
  transform: rotate(45deg) !important;
}

.puja-faq details p {
  padding: 0 24px 22px 24px !important;
  margin: 0 !important;
  font-size: 15px !important;
  color: var(--premium-text-muted) !important;
  line-height: 1.65 !important;
  border-top: 1px solid rgba(255, 122, 24, 0.06) !important;
  padding-top: 14px !important;
}

/* Two-column layout in section card */
.puja-split-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr) !important;
  gap: 30px !important;
  align-items: center !important;
}

@media(min-width: 861px) {
  .puja-split-card.alt-layout {
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr) !important;
  }
  .puja-split-card.alt-layout .puja-split-left {
    order: 2 !important;
  }
  .puja-split-card.alt-layout .puja-split-right {
    order: 1 !important;
  }
}

@media(max-width: 860px) {
  .puja-split-card {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* Width expansion to remove unnecessary side margins */
.puja-page {
  padding: 40px 30px 60px 30px !important;
}

.puja-page__inner {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 auto !important;
}

/* Sidebar services card links hover styling */
.puja-services-sidebar-card ul li a {
  transition: all 0.35s var(--premium-spring) !important;
}

.puja-services-sidebar-card ul li a:hover {
  background: var(--premium-accent-gradient) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  transform: translateX(6px) !important;
  box-shadow: 0 8px 24px rgba(255, 0, 70, 0.25) !important;
}

.puja-services-sidebar-card ul li a:hover .sidebar-icon-span {
  background: #ffffff !important;
  color: var(--premium-primary) !important;
  fill: var(--premium-primary) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
}

.puja-services-sidebar-card ul li a:hover .sidebar-arrow-svg {
  fill: #ffffff !important;
  transform: translateX(4px) !important;
}

/* Responsive grid overrides for sidebar cards on tablet viewports */
@media(max-width: 1024px) {
  .puja-side {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  }
}

/* World-Class Native App-Like Mobile Navigation Grid */
@media(max-width: 1100px) {
  /* Grid layout for the mobile menu container */
  .static-site-nav {
    display: none;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    padding: 20px !important;
    background: linear-gradient(135deg, #fffcf9 0%, #fff3e7 100%) !important;
    border: 1.5px solid rgba(255, 122, 24, 0.22) !important;
    border-radius: 28px !important;
    box-shadow: 0 24px 60px rgba(81, 21, 0, 0.18) !important;
  }
  
  .static-menu-toggle:checked ~ .static-site-nav {
    display: grid !important;
  }

  /* Make regular link items stack vertically like native app icon cards */
  .static-site-nav a:not(.static-call-link),
  .static-services-menu summary {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    min-height: 106px !important;
    padding: 16px 10px !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    border: 1.5px solid rgba(255, 122, 24, 0.12) !important;
    box-shadow: 0 6px 18px rgba(81, 21, 0, 0.04) !important;
    gap: 8px !important;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  }

  /* World-Class Mobile Hover / Tap Interactions */
  .static-site-nav a:not(.static-call-link):hover,
  .static-services-menu summary:hover,
  .static-services-menu__panel a:hover {
    background: #fff9f3 !important; /* Soft warm glow */
    border-color: rgba(255, 122, 24, 0.4) !important;
    box-shadow: 0 10px 25px rgba(255, 122, 24, 0.08) !important;
    transform: translateY(-2px) !important;
  }

  /* Tactile feedback on tap/active press */
  .static-site-nav a:not(.static-call-link):active,
  .static-services-menu summary:active,
  .static-services-menu__panel a:active {
    transform: scale(0.95) !important;
    background: #fff5eb !important;
    border-color: var(--premium-accent) !important;
    box-shadow: 0 4px 12px rgba(255, 122, 24, 0.04) !important;
    transition: all 0.1s ease !important;
  }

  /* Reset global desktop hover color flips to preserve premium native app cards style */
  .static-site-nav a:not(.static-call-link):hover span:not(.static-nav-icon),
  .static-services-menu summary:hover span:not(.static-nav-icon),
  .static-services-menu__panel a:hover span:not(.static-nav-icon) {
    color: var(--premium-primary-dark) !important;
  }

  /* Preserve custom gradients for icon badges on hover */
  .static-site-nav a:not(.static-call-link):hover .static-nav-icon,
  .static-services-menu summary:hover .static-nav-icon {
    background: linear-gradient(135deg, #ff7a18, #ff0046) !important;
    color: #ffffff !important;
    fill: #ffffff !important;
  }
  
  .static-services-menu__panel a:hover .static-nav-icon {
    color: #ffffff !important;
    fill: #ffffff !important;
  }

  /* Make sure the specific nth-child gradients are preserved on hover */
  .static-services-menu__panel a:nth-child(1):hover .static-nav-icon { background: linear-gradient(135deg, #ff7a18, #ff4e50) !important; }
  .static-services-menu__panel a:nth-child(2):hover .static-nav-icon { background: linear-gradient(135deg, #ff7a18, #ff0046) !important; }
  .static-services-menu__panel a:nth-child(3):hover .static-nav-icon { background: linear-gradient(135deg, #ffd32a, #ff9f1a) !important; }
  .static-services-menu__panel a:nth-child(4):hover .static-nav-icon { background: linear-gradient(135deg, #0fbcf9, #0984e3) !important; }
  .static-services-menu__panel a:nth-child(5):hover .static-nav-icon { background: linear-gradient(135deg, #ffbe0b, #fb5607) !important; }
  .static-services-menu__panel a:nth-child(6):hover .static-nav-icon { background: linear-gradient(135deg, #ff007f, #ff0046) !important; }
  .static-services-menu__panel a:nth-child(7):hover .static-nav-icon { background: linear-gradient(135deg, #747d8c, #2f3542) !important; }

  /* Micro-animation for icon badges on card hover */
  .static-site-nav a:not(.static-call-link):hover .static-nav-icon,
  .static-services-menu summary:hover .static-nav-icon,
  .static-services-menu__panel a:hover .static-nav-icon {
    transform: scale(1.1) rotate(5deg) !important;
  }

  /* Center labels and format texts */
  .static-site-nav a span:not(.static-nav-icon),
  .static-services-menu summary span:not(.static-nav-icon) {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: var(--premium-primary-dark) !important;
  }

  /* Circular Badge for Icons */
  .static-site-nav .static-nav-icon,
  .static-services-menu .static-nav-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #ff7a18, #ff0046) !important;
    color: #ffffff !important;
    margin: 0 0 4px 0 !important;
    box-shadow: 0 4px 10px rgba(255, 0, 70, 0.22) !important;
    flex-shrink: 0 !important;
    transition: transform 0.3s ease !important;
  }

  /* Expand services sub-menu details dropdown full width */
  .static-services-menu {
    grid-column: span 2 !important;
    width: 100% !important;
  }

  /* Display summary divider banner beautifully */
  .static-services-menu summary {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    min-height: 60px !important;
    padding: 14px 20px !important;
    background: linear-gradient(135deg, #fffaf6 0%, #fff3e7 100%) !important;
    border: 1px dashed rgba(255, 122, 24, 0.4) !important;
    font-family: 'Cinzel', serif !important;
    font-weight: 800 !important;
    border-radius: 18px !important;
  }

  .static-services-menu summary .static-nav-icon {
    margin: 0 !important;
    width: 32px !important;
    height: 32px !important;
    box-shadow: none !important;
  }

  /* Open/Close arrow rotation */
  .static-services-menu summary::after {
    margin-top: 0 !important;
    transition: transform 0.25s ease !important;
  }

  /* Nested Sub-Menu Panel Grid (3x2 columns) */
  .static-services-menu__panel {
    display: none;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    padding: 12px 0 0 0 !important;
    background: transparent !important;
    border: none !important;
    width: 100% !important;
  }

  .static-services-menu[open] .static-services-menu__panel {
    display: grid !important;
  }

  /* Nested Sub-Menu Link Cards */
  .static-services-menu__panel a {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    min-height: 96px !important;
    padding: 14px 10px !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    border: 1.5px solid rgba(255, 122, 24, 0.1) !important;
    box-shadow: 0 4px 12px rgba(81, 21, 0, 0.03) !important;
    gap: 6px !important;
    transition: all 0.3s ease !important;
  }

  .static-services-menu__panel a span:not(.static-nav-icon) {
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  }

  /* Center nested sub-menu icon badges and set unique colors */
  .static-services-menu__panel a .static-nav-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    margin: 0 0 2px 0 !important;
    box-shadow: none !important;
  }

  /* Spiritual themed gradients for individual Puja icon badges */
  .static-services-menu__panel a:nth-child(1) .static-nav-icon { background: linear-gradient(135deg, #ff7a18, #ff4e50) !important; }
  .static-services-menu__panel a:nth-child(2) .static-nav-icon { background: linear-gradient(135deg, #ff7a18, #ff0046) !important; }
  .static-services-menu__panel a:nth-child(3) .static-nav-icon { background: linear-gradient(135deg, #ffd32a, #ff9f1a) !important; }
  .static-services-menu__panel a:nth-child(4) .static-nav-icon { background: linear-gradient(135deg, #0fbcf9, #0984e3) !important; }
  .static-services-menu__panel a:nth-child(5) .static-nav-icon { background: linear-gradient(135deg, #ffbe0b, #fb5607) !important; }
  .static-services-menu__panel a:nth-child(6) .static-nav-icon { background: linear-gradient(135deg, #ff007f, #ff0046) !important; }
  .static-services-menu__panel a:nth-child(7) .static-nav-icon { background: linear-gradient(135deg, #747d8c, #2f3542) !important; }

  /* Call Now Full-Width Dashboard Button */
  .static-site-nav .static-call-link {
    grid-column: span 2 !important;
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #26d96f 0%, #075e54 100%) !important;
    box-shadow: 0 8px 20px rgba(7, 94, 84, 0.25) !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }

  .static-site-nav .static-call-link span:not(.static-nav-icon) {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
  }

  .static-site-nav .static-call-link .static-nav-icon {
    width: 32px !important;
    height: 32px !important;
    background: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  /* Active/Current Page indicator on mobile menu cards */
  .static-site-nav a[aria-current="page"],
  .static-services-menu__panel a[aria-current="page"] {
    background: var(--premium-accent-gradient) !important;
    border-color: var(--premium-accent) !important;
    box-shadow: 0 8px 20px rgba(255, 0, 70, 0.22) !important;
  }

  .static-site-nav a[aria-current="page"] span:not(.static-nav-icon),
  .static-services-menu__panel a[aria-current="page"] span:not(.static-nav-icon) {
    color: #ffffff !important;
  }

  .static-site-nav a[aria-current="page"] .static-nav-icon,
  .static-services-menu__panel a[aria-current="page"] .static-nav-icon {
    background: #ffffff !important;
    color: var(--premium-primary) !important;
    fill: var(--premium-primary) !important;
  }
}

/* ==========================================
   Premium Testimonials Overhaul
   ========================================== */
.puja-testimonials {
  margin: 60px 0 40px 0 !important;
  padding: 20px 0 !important;
  width: 100% !important;
}

.puja-testimonial-card {
  position: relative !important;
  background: #ffffff !important;
  border: 1.5px solid rgba(212, 175, 55, 0.2) !important;
  padding: 38px 34px !important;
  box-shadow: 0 12px 30px rgba(81, 21, 0, 0.04) !important;
  transition: all 0.4s var(--premium-spring-heavy) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 240px !important;
  overflow: hidden !important;
}

.puja-testimonial-card::before {
  content: '“' !important;
  position: absolute !important;
  top: 10px !important;
  right: 28px !important;
  font-size: 110px !important;
  font-family: 'Playfair Display', serif !important;
  color: rgba(255, 122, 24, 0.06) !important;
  line-height: 1 !important;
  font-style: italic !important;
  pointer-events: none !important;
}

.puja-testimonial-card:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 20px 45px rgba(81, 21, 0, 0.1) !important;
  border-color: rgba(255, 122, 24, 0.35) !important;
}

/* Three distinct stylish shapes */
.puja-testimonial-card.card-shape-1 {
  border-radius: 24px 120px 24px 24px !important;
  background: linear-gradient(135deg, #ffffff 0%, #fffbf8 100%) !important;
  border-top: 3.5px solid var(--premium-gold) !important;
}

.puja-testimonial-card.card-shape-2 {
  border-radius: 24px 24px 120px 24px !important;
  background: linear-gradient(135deg, #ffffff 0%, #fffcfc 100%) !important;
  border-bottom: 3.5px solid var(--premium-accent) !important;
}

.puja-testimonial-card.card-shape-3 {
  border-radius: 120px 24px 24px 24px !important;
  background: linear-gradient(135deg, #ffffff 0%, #fbfaf5 100%) !important;
  border-left: 3.5px solid var(--premium-primary) !important;
}

/* Testimonial texts and details contrast correction */
.puja-testimonial-text {
  font-style: italic !important;
  font-size: 15.5px !important;
  line-height: 1.78 !important;
  color: var(--premium-text-dark) !important;
  margin-bottom: 20px !important;
  font-weight: 500 !important;
  font-family: 'Outfit', sans-serif !important;
}

.puja-testimonial-author strong {
  display: block !important;
  font-size: 15.5px !important;
  color: var(--premium-primary-dark) !important;
  font-weight: 800 !important;
  font-family: 'Playfair Display', serif !important;
}

.puja-testimonial-author span {
  font-size: 12.5px !important;
  color: var(--premium-text-muted) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}




