/**
 * Astroleaf Enterprise - Luxury Vedic-Modern Navigation Stylesheet
 * 
 * Features:
 * - Real-time Ephemeris Panchang strip with clickable verified routes & city changer
 * - 4 High-Conversion Vedic megamenus with custom bespoke SVG icons
 * - High-Contrast Bulletproof Button & Link Hover Text Visibility
 * - Clean responsive scaling across all viewports (zero collisions in 992px-1280px range)
 * - Mobile slide-out drawer & fixed bottom application dock (58px thumb-friendly zone)
 *
 * @package Astroleaf_Enterprise
 * @version 4.4.0
 */

/* ── 0. CSS Design Tokens ── */
:root {
  --ale-sacred-gold: #C37A2E;
  --ale-sacred-gold-light: #E59A4C;
  --ale-sacred-gold-glow: rgba(195, 122, 46, 0.28);
  --ale-royal-maroon: #65250C;
  --ale-amber-glow: #F97316;
  --ale-amber-hover: #EA580C;
  --ale-warm-sand: #FAF4EB;
  --ale-altar-ivory: #FFF9F1;
  --ale-midnight-obsidian: #2E180E;
  --ale-celestial-emerald: #10B981;
  --ale-font-display: 'Playfair Display', Georgia, serif;
  --ale-font-body: 'Plus Jakarta Sans', 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
  --ale-ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ale-ease-smooth: cubic-bezier(0.16, 1, 0.3, 1);
  --ale-transition-fast: 180ms cubic-bezier(0.16, 1, 0.3, 1);
  --ale-transition-normal: 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── 1. Top Live Panchang & Ephemeris Strip ── */
.ale-top-panchang-strip {
  width: 100% !important;
  background: var(--ale-warm-sand) !important;
  border-bottom: 1px solid rgba(195, 122, 46, 0.18) !important;
  height: 38px !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 1005 !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  font-family: var(--ale-font-body) !important;
}

.ale-strip-container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  position: relative !important;
}

/* Location Selector Pill */
.ale-strip-location-container {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  z-index: 10005 !important;
  flex-shrink: 0 !important;
}

.ale-ticker-location-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(195, 122, 46, 0.28) !important;
  border-radius: 20px !important;
  padding: 3px 11px !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  color: var(--ale-midnight-obsidian) !important;
  -webkit-text-fill-color: var(--ale-midnight-obsidian) !important;
  cursor: pointer !important;
  box-shadow: 0 1px 3px rgba(101, 37, 12, 0.05) !important;
  transition: var(--ale-transition-fast) !important;
  height: 26px !important;
  line-height: 1 !important;
}

.ale-ticker-location-pill span {
  color: var(--ale-midnight-obsidian) !important;
  -webkit-text-fill-color: var(--ale-midnight-obsidian) !important;
}

.ale-ticker-location-pill:hover,
.ale-ticker-location-pill[aria-expanded="true"] {
  background: #FEF3C7 !important;
  border-color: #F59E0B !important;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.25) !important;
  transform: translateY(-1px) !important;
}

.ale-ticker-location-pill:hover span,
.ale-ticker-location-pill[aria-expanded="true"] span {
  color: #65250C !important;
  -webkit-text-fill-color: #65250C !important;
}

.ale-ticker-location-pill .ale-loc-icon {
  color: var(--ale-amber-glow) !important;
  font-size: 0.78rem !important;
}

.ale-pill-arrow i {
  color: #8C7E75 !important;
  font-size: 0.62rem !important;
  transition: transform 0.2s ease !important;
}

.ale-ticker-location-pill[aria-expanded="true"] .ale-pill-arrow i {
  transform: rotate(180deg) !important;
  color: var(--ale-amber-glow) !important;
}

.ale-ticker-divider {
  display: inline-block !important;
  width: 1px !important;
  height: 16px !important;
  background: rgba(195, 122, 46, 0.2) !important;
  margin: 0 12px !important;
  flex-shrink: 0 !important;
}

/* Attached City Changer Dropdown Panel */
.ale-city-dropdown-panel {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  width: 320px !important;
  max-width: 92vw !important;
  background: #FFFFFF !important;
  border: 1.5px solid rgba(195, 122, 46, 0.24) !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 32px rgba(54, 25, 11, 0.14) !important;
  z-index: 10010 !important;
  overflow: hidden !important;
  animation: aleDropFade 0.2s var(--ale-ease-smooth) !important;
}

@keyframes aleDropFade {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.ale-cdp-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 14px !important;
  background: var(--ale-warm-sand) !important;
  border-bottom: 1px solid rgba(195, 122, 46, 0.15) !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  color: var(--ale-royal-maroon) !important;
  -webkit-text-fill-color: var(--ale-royal-maroon) !important;
  letter-spacing: 0.04em !important;
}

.ale-cdp-close {
  background: none !important;
  border: none !important;
  font-size: 1.1rem !important;
  color: #8C7E75 !important;
  cursor: pointer !important;
  line-height: 1 !important;
  padding: 0 4px !important;
}

.ale-cdp-search-wrap {
  padding: 8px 12px !important;
  background: #FFFFFF !important;
  border-bottom: 1px solid #F1F5F9 !important;
}

.ale-cdp-search-wrap input {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 6px 10px !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 6px !important;
  font-size: 0.8rem !important;
  font-family: inherit !important;
  color: var(--ale-midnight-obsidian) !important;
  outline: none !important;
  transition: border-color 0.15s ease !important;
}

.ale-cdp-search-wrap input:focus {
  border-color: var(--ale-amber-glow) !important;
}

.ale-cdp-list-wrap {
  max-height: 210px !important;
  overflow-y: auto !important;
  padding: 4px 0 !important;
}

.ale-cdp-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 7px 14px !important;
  font-size: 0.8rem !important;
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  cursor: pointer !important;
  transition: background 0.12s ease !important;
}

.ale-cdp-item span {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
}

.ale-cdp-item:hover,
.ale-cdp-item.active {
  background: #FEF3C7 !important;
  color: var(--ale-royal-maroon) !important;
  -webkit-text-fill-color: var(--ale-royal-maroon) !important;
  font-weight: 700 !important;
}

.ale-cdp-item:hover span,
.ale-cdp-item.active span {
  color: var(--ale-royal-maroon) !important;
  -webkit-text-fill-color: var(--ale-royal-maroon) !important;
}

.ale-cdp-city-info {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.ale-cdp-city-info i {
  color: var(--ale-sacred-gold) !important;
  font-size: 0.72rem !important;
}

.ale-cdp-current-badge {
  font-size: 0.62rem !important;
  background: var(--ale-sacred-gold) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
}

/* Infinite Marquee Ticker Viewport */
.ale-ticker-viewport {
  flex: 1 !important;
  overflow: hidden !important;
  position: relative !important;
  mask-image: linear-gradient(to right, transparent, black 16px, black calc(100% - 16px), transparent) !important;
  -webkit-mask-image: linear-gradient(to right, transparent, black 16px, black calc(100% - 16px), transparent) !important;
}

.ale-ticker-track {
  display: inline-flex !important;
  white-space: nowrap !important;
  will-change: transform !important;
  animation: aleTickerScroll 46s linear infinite !important;
}

.ale-ticker-track:hover {
  animation-play-state: paused !important;
}

@keyframes aleTickerScroll {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}

.ale-ticker-content {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.ale-t-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 0.75rem !important;
  color: var(--ale-midnight-obsidian) !important;
  -webkit-text-fill-color: var(--ale-midnight-obsidian) !important;
  padding: 2px 6px !important;
  text-decoration: none !important;
  border-radius: 5px !important;
  transition: all var(--ale-transition-fast) !important;
}

.ale-t-item span,
.ale-t-item strong {
  color: var(--ale-midnight-obsidian) !important;
  -webkit-text-fill-color: var(--ale-midnight-obsidian) !important;
}

a.ale-t-item:hover {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
  background: #FEF3C7 !important;
  transform: translateY(-1px) !important;
}

a.ale-t-item:hover span,
a.ale-t-item:hover strong {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

.ale-t-item i {
  color: var(--ale-sacred-gold) !important;
  font-size: 0.72rem !important;
}

.ale-t-item.badge-rahu {
  color: #DC2626 !important;
  -webkit-text-fill-color: #DC2626 !important;
  font-weight: 700 !important;
}

.ale-t-item.badge-rahu span,
.ale-t-item.badge-rahu strong {
  color: #DC2626 !important;
  -webkit-text-fill-color: #DC2626 !important;
}

.ale-t-item.badge-rahu i {
  color: #DC2626 !important;
}

a.ale-t-item.badge-rahu:hover {
  background: #FEE2E2 !important;
  color: #B91C1C !important;
  -webkit-text-fill-color: #B91C1C !important;
}

a.ale-t-item.badge-rahu:hover span,
a.ale-t-item.badge-rahu:hover strong {
  color: #991B1B !important;
  -webkit-text-fill-color: #991B1B !important;
}

.ale-t-item.badge-abhijit {
  color: #059669 !important;
  -webkit-text-fill-color: #059669 !important;
  font-weight: 700 !important;
}

.ale-t-item.badge-abhijit span,
.ale-t-item.badge-abhijit strong {
  color: #059669 !important;
  -webkit-text-fill-color: #059669 !important;
}

.ale-t-item.badge-abhijit i {
  color: #059669 !important;
}

a.ale-t-item.badge-abhijit:hover {
  background: #D1FAE5 !important;
  color: #047857 !important;
  -webkit-text-fill-color: #047857 !important;
}

a.ale-t-item.badge-abhijit:hover span,
a.ale-t-item.badge-abhijit:hover strong {
  color: #065F46 !important;
  -webkit-text-fill-color: #065F46 !important;
}

.ale-ticker-sep {
  color: rgba(195, 122, 46, 0.4) !important;
  font-size: 0.7rem !important;
  margin: 0 6px !important;
}

/* ── 2. Sticky Header Navigation ── */
.ale-header-navigation {
  width: 100% !important;
  background: var(--ale-altar-ivory) !important;
  border-bottom: 1px solid rgba(195, 122, 46, 0.15) !important;
  height: 72px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  box-sizing: border-box !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  font-family: var(--ale-font-body) !important;
}

.ale-header-navigation.scrolled {
  box-shadow: 0 6px 24px rgba(101, 37, 12, 0.08) !important;
}

.ale-header-navigation.nav-hidden {
  transform: translate3d(0, -100%, 0) !important;
}

.ale-nav-container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}

/* Brand / Logo */
.ale-header-logo {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.ale-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  transition: transform var(--ale-transition-fast) !important;
}

.ale-logo-link:hover {
  transform: scale(1.02) !important;
}

.ale-logo-image {
  width: 38px !important;
  height: 38px !important;
  display: block !important;
}

.ale-logo-wordmark {
  font-family: var(--ale-font-display) !important;
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  color: var(--ale-royal-maroon) !important;
  -webkit-text-fill-color: var(--ale-royal-maroon) !important;
  letter-spacing: -0.01em !important;
}

/* Primary Desktop Navigation Menu */
.ale-header-nav-primary {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
}

.ale-menu-list-primary {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 100% !important;
  gap: 6px !important;
}

.ale-menu-list-primary > li {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  position: static !important;
}

.menu-link-top {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 14px !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--ale-midnight-obsidian) !important;
  -webkit-text-fill-color: var(--ale-midnight-obsidian) !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  transition: all var(--ale-transition-fast) !important;
  position: relative !important;
}

.menu-link-top span {
  color: var(--ale-midnight-obsidian) !important;
  -webkit-text-fill-color: var(--ale-midnight-obsidian) !important;
}

/* Animated Golden Filament Underline on Hover */
.menu-link-top::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 14px !important;
  right: 14px !important;
  height: 2.5px !important;
  background: linear-gradient(90deg, #F97316, #C37A2E) !important;
  border-radius: 4px 4px 0 0 !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform 0.22s var(--ale-ease-smooth) !important;
}

.menu-link-top:hover,
.ale-menu-list-primary > li:hover > .menu-link-top,
.ale-menu-list-primary > li:focus-within > .menu-link-top {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
  background: rgba(195, 122, 46, 0.08) !important;
}

.menu-link-top:hover span,
.ale-menu-list-primary > li:hover > .menu-link-top span,
.ale-menu-list-primary > li:focus-within > .menu-link-top span {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

.ale-menu-list-primary > li:hover > .menu-link-top::after,
.ale-menu-list-primary > li:focus-within > .menu-link-top::after {
  transform: scaleX(1) !important;
}

.menu-link-top .chevron-arrow {
  transition: transform 0.22s ease !important;
  color: #8C7E75 !important;
}

.ale-menu-list-primary > li:hover .chevron-arrow,
.ale-menu-list-primary > li:focus-within .chevron-arrow {
  transform: rotate(180deg) !important;
  color: var(--ale-sacred-gold) !important;
}

/* Menu Badges */
.ale-menu-badge {
  font-size: 0.6rem !important;
  font-weight: 800 !important;
  padding: 2px 5px !important;
  border-radius: 4px !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
}

.ale-badge-free {
  background: #DCFCE7 !important;
  color: #15803D !important;
  -webkit-text-fill-color: #15803D !important;
}

.ale-badge-premium {
  background: #FEF3C7 !important;
  color: #B45309 !important;
  -webkit-text-fill-color: #B45309 !important;
}

/* ── 3. Megamenu Dropdowns ── */
.ale-megamenu-dropdown {
  position: absolute !important;
  top: 72px !important;
  left: 0 !important;
  width: 100vw !important;
  background: var(--ale-altar-ivory) !important;
  border-top: 2px solid var(--ale-sacred-gold) !important;
  border-bottom: 1px solid rgba(195, 122, 46, 0.18) !important;
  box-shadow: 0 16px 40px rgba(54, 25, 11, 0.12) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-8px) !important;
  transition: opacity 0.22s var(--ale-ease-smooth), transform 0.22s var(--ale-ease-smooth), visibility 0.22s !important;
  z-index: 999 !important;
  padding: 28px 0 32px 0 !important;
  box-sizing: border-box !important;
}

.ale-menu-list-primary > li:hover .ale-megamenu-dropdown,
.ale-menu-list-primary > li:focus-within .ale-megamenu-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.ale-megamenu-inner {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}

.ale-megamenu-grid {
  display: grid !important;
  gap: 28px !important;
}

.ale-grid-4-col {
  grid-template-columns: 1fr 1fr 1fr 1.15fr !important;
}

.ale-grid-3-col {
  grid-template-columns: 1fr 1fr 1.15fr !important;
}

.ale-grid-2-col {
  grid-template-columns: 1fr 1.35fr !important;
}

.dropdown-header {
  font-family: var(--ale-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--ale-royal-maroon) !important;
  -webkit-text-fill-color: var(--ale-royal-maroon) !important;
  margin: 0 0 14px 0 !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(195, 122, 46, 0.15) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.ale-header-icon-wrap {
  width: 18px !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ale-header-icon-wrap svg {
  width: 100% !important;
  height: 100% !important;
}

.dropdown-links-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.dropdown-link-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  transition: transform var(--ale-ease-smooth) 0.2s, background-color var(--ale-transition-fast), border-color var(--ale-transition-fast), box-shadow var(--ale-transition-fast) !important;
  position: relative !important;
}

.dropdown-link-item:hover {
  background: #FFFDF9 !important;
  border-color: rgba(195, 122, 46, 0.28) !important;
  transform: translateY(-2px) translateX(4px) !important;
  box-shadow: 0 6px 16px rgba(101, 37, 12, 0.07) !important;
}

.dropdown-item-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  background: var(--ale-warm-sand) !important;
  border: 1px solid rgba(195, 122, 46, 0.18) !important;
  transition: transform var(--ale-ease-spring) 0.3s, box-shadow 0.2s ease !important;
  padding: 6px !important;
  box-sizing: border-box !important;
}

.dropdown-item-icon .ale-nav-svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.dropdown-link-item:hover .dropdown-item-icon {
  transform: scale(1.14) rotate(-3deg) !important;
  box-shadow: 0 4px 10px rgba(195, 122, 46, 0.2) !important;
}

.dropdown-item-icon.color-gold { background: #FEF3C7 !important; border-color: rgba(217, 119, 6, 0.3) !important; }
.dropdown-item-icon.color-rose { background: #FFE4E6 !important; border-color: rgba(225, 29, 72, 0.3) !important; }
.dropdown-item-icon.color-amber { background: #FFEDD5 !important; border-color: rgba(234, 88, 12, 0.3) !important; }
.dropdown-item-icon.color-indigo { background: #E0E7FF !important; border-color: rgba(79, 70, 229, 0.3) !important; }
.dropdown-item-icon.color-teal { background: #CCFBF1 !important; border-color: rgba(13, 148, 136, 0.3) !important; }
.dropdown-item-icon.color-green { background: #DCFCE7 !important; border-color: rgba(22, 163, 74, 0.3) !important; }
.dropdown-item-icon.color-purple { background: #F3E8FF !important; border-color: rgba(147, 51, 234, 0.3) !important; }

.dropdown-link-item strong {
  display: block !important;
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  color: var(--ale-midnight-obsidian) !important;
  -webkit-text-fill-color: var(--ale-midnight-obsidian) !important;
  line-height: 1.25 !important;
  transition: color var(--ale-transition-fast) !important;
}

.dropdown-link-item:hover strong {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

.dropdown-link-item span {
  display: block !important;
  font-size: 0.72rem !important;
  color: #64748B !important;
  -webkit-text-fill-color: #64748B !important;
  margin-top: 2px !important;
}

.dropdown-link-item:hover span {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

/* Featured Interactive Cards in Megamenu */
.ale-mm-featured-card,
.ale-mm-report-card,
.ale-mm-panchang-card {
  background: #FFFFFF !important;
  border: 1.5px solid rgba(195, 122, 46, 0.25) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  box-shadow: 0 8px 24px rgba(101, 37, 12, 0.06) !important;
  position: relative !important;
  transition: transform var(--ale-transition-fast), box-shadow var(--ale-transition-fast), border-color var(--ale-transition-fast) !important;
}

.ale-mm-featured-card:hover,
.ale-mm-report-card:hover,
.ale-mm-panchang-card:hover {
  transform: translateY(-3px) !important;
  border-color: var(--ale-sacred-gold) !important;
  box-shadow: 0 12px 30px rgba(195, 122, 46, 0.14) !important;
}

.ale-featured-badge,
.ale-report-badge {
  font-size: 0.62rem !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg, #F97316 0%, #C37A2E 100%) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  padding: 3px 9px !important;
  border-radius: 20px !important;
  display: inline-block !important;
  margin-bottom: 10px !important;
  letter-spacing: 0.04em !important;
}

.ale-mm-featured-card h5,
.ale-mm-report-card h5 {
  font-family: var(--ale-font-display) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--ale-royal-maroon) !important;
  -webkit-text-fill-color: var(--ale-royal-maroon) !important;
  margin: 0 0 6px 0 !important;
}

.ale-mm-featured-card p,
.ale-report-desc {
  font-size: 0.78rem !important;
  color: #64748B !important;
  -webkit-text-fill-color: #64748B !important;
  line-height: 1.45 !important;
  margin: 0 0 14px 0 !important;
}

.ale-btn-featured-tool,
.ale-btn-order-report,
.ale-btn-full-panchang {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 16px !important;
  background: linear-gradient(135deg, #F97316 0%, #C37A2E 100%) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: transform var(--ale-transition-fast), box-shadow var(--ale-transition-fast), background var(--ale-transition-fast) !important;
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.28) !important;
}

.ale-btn-featured-tool span,
.ale-btn-featured-tool i,
.ale-btn-order-report span,
.ale-btn-order-report i,
.ale-btn-full-panchang span,
.ale-btn-full-panchang i {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-btn-featured-tool:hover,
.ale-btn-order-report:hover,
.ale-btn-full-panchang:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #EA580C 0%, #B45309 100%) !important;
  box-shadow: 0 8px 20px rgba(234, 88, 12, 0.45) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-btn-featured-tool:hover span,
.ale-btn-featured-tool:hover i,
.ale-btn-order-report:hover span,
.ale-btn-order-report:hover i,
.ale-btn-full-panchang:hover span,
.ale-btn-full-panchang:hover i {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-featured-footer-link {
  text-align: center !important;
  margin-top: 12px !important;
}

.ale-featured-footer-link a {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: var(--ale-sacred-gold) !important;
  -webkit-text-fill-color: var(--ale-sacred-gold) !important;
  text-decoration: none !important;
  transition: color var(--ale-transition-fast) !important;
}

.ale-featured-footer-link a:hover {
  color: var(--ale-amber-glow) !important;
  -webkit-text-fill-color: var(--ale-amber-glow) !important;
  text-decoration: underline !important;
}

/* Report Price Row */
.ale-report-price-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}

.ale-price-tag {
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: var(--ale-royal-maroon) !important;
  -webkit-text-fill-color: var(--ale-royal-maroon) !important;
}

.ale-price-was {
  font-size: 0.85rem !important;
  color: #94A3B8 !important;
  -webkit-text-fill-color: #94A3B8 !important;
  text-decoration: line-through !important;
}

.ale-discount-pill {
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  background: #DCFCE7 !important;
  color: #15803D !important;
  -webkit-text-fill-color: #15803D !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
}

/* 12 Zodiac Mini-Grid */
.ale-zodiac-mini-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
}

.ale-zodiac-mini-grid a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(195, 122, 46, 0.18) !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  font-size: 0.76rem !important;
  font-weight: 600 !important;
  color: var(--ale-midnight-obsidian) !important;
  -webkit-text-fill-color: var(--ale-midnight-obsidian) !important;
  transition: all var(--ale-transition-fast) !important;
}

.ale-zodiac-mini-grid a span {
  color: var(--ale-midnight-obsidian) !important;
  -webkit-text-fill-color: var(--ale-midnight-obsidian) !important;
}

.ale-zodiac-mini-grid a:hover {
  background: #FEF3C7 !important;
  border-color: #F59E0B !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(101, 37, 12, 0.08) !important;
}

.ale-zodiac-mini-grid a:hover span {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

.ale-zodiac-icon-wrap {
  width: 24px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.ale-zodiac-icon-wrap svg {
  width: 100% !important;
  height: 100% !important;
}

/* Panchang Mini-Card */
.ale-panchang-card-head {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: var(--ale-sacred-gold) !important;
  -webkit-text-fill-color: var(--ale-sacred-gold) !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.ale-panchang-card-row {
  display: flex !important;
  justify-content: space-between !important;
  font-size: 0.78rem !important;
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  margin-bottom: 8px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px dashed rgba(195, 122, 46, 0.15) !important;
}

.ale-panchang-card-row strong {
  color: #1E293B !important;
  -webkit-text-fill-color: #1E293B !important;
}

.ale-panchang-card-row strong.color-rose {
  color: #DC2626 !important;
  -webkit-text-fill-color: #DC2626 !important;
}

/* ── 4. Right Navigation: User Capsule & Auth Buttons ── */
.ale-header-nav-secondary {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}

/* User Auth Group */
.ale-header-auth-group {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.ale-header-link-signin {
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  color: #65250C !important;
  -webkit-text-fill-color: #65250C !important;
  text-decoration: none !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  transition: all var(--ale-transition-fast) !important;
}

.ale-header-link-signin span {
  color: #65250C !important;
  -webkit-text-fill-color: #65250C !important;
}

.ale-header-link-signin:hover {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
  background: #FEF3C7 !important;
  border-color: #F59E0B !important;
  transform: translateY(-1px) !important;
}

.ale-header-link-signin:hover span {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

.ale-header-link-signup {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  background: linear-gradient(135deg, #F97316 0%, #C37A2E 100%) !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 3px 10px rgba(249, 115, 22, 0.28) !important;
  transition: transform var(--ale-transition-fast), box-shadow var(--ale-transition-fast), background var(--ale-transition-fast) !important;
}

.ale-header-link-signup span,
.ale-header-link-signup i {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-header-link-signup:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #EA580C 0%, #B45309 100%) !important;
  box-shadow: 0 6px 18px rgba(234, 88, 12, 0.45) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-header-link-signup:hover span,
.ale-header-link-signup:hover i {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-header-user-capsule {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  color: #65250C !important;
  -webkit-text-fill-color: #65250C !important;
  background: #FFFFFF !important;
  border: 1.5px solid rgba(195, 122, 46, 0.32) !important;
  padding: 7px 16px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(101, 37, 12, 0.05) !important;
  transition: all var(--ale-transition-fast) !important;
}

.ale-header-user-capsule span,
.ale-header-user-capsule i {
  color: #65250C !important;
  -webkit-text-fill-color: #65250C !important;
}

.ale-header-user-capsule:hover {
  border-color: #F97316 !important;
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
  background: #FFFDF9 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(249, 115, 22, 0.2) !important;
}

.ale-header-user-capsule:hover span,
.ale-header-user-capsule:hover i {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

.ale-mobile-header-user {
  display: none !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #FFFFFF !important;
  border: 1.5px solid rgba(195, 122, 46, 0.3) !important;
  color: var(--ale-royal-maroon) !important;
  -webkit-text-fill-color: var(--ale-royal-maroon) !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  transition: all var(--ale-transition-fast) !important;
}

.ale-mobile-header-user i {
  color: var(--ale-royal-maroon) !important;
}

.ale-mobile-header-user:hover {
  border-color: var(--ale-amber-glow) !important;
  color: var(--ale-amber-glow) !important;
  -webkit-text-fill-color: var(--ale-amber-glow) !important;
  background: #FEF3C7 !important;
}

.ale-mobile-header-user:hover i {
  color: var(--ale-amber-glow) !important;
}

/* Mobile Hamburger Trigger */
.ale-hamburger-trigger {
  display: none !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 5px !important;
  width: 38px !important;
  height: 38px !important;
  background: transparent !important;
  border: 1px solid rgba(195, 122, 46, 0.25) !important;
  border-radius: 8px !important;
  padding: 8px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: all var(--ale-transition-fast) !important;
}

.ale-hamburger-trigger:hover {
  border-color: var(--ale-sacred-gold) !important;
  background: rgba(195, 122, 46, 0.08) !important;
}

.ale-hamburger-trigger span {
  display: block !important;
  width: 100% !important;
  height: 2px !important;
  background: var(--ale-royal-maroon) !important;
  border-radius: 2px !important;
  transition: all 0.2s ease !important;
}

/* ── 5. Mobile Slide-Out Drawer ── */
.ale-mobile-drawer-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(46, 24, 14, 0.45) !important;
  backdrop-filter: blur(4px) !important;
  z-index: 99990 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.25s ease, visibility 0.25s !important;
}

.ale-mobile-drawer-overlay.is-active,
.ale-mobile-drawer-overlay.active {
  opacity: 1 !important;
  visibility: visible !important;
}

.ale-mobile-drawer {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 320px !important;
  max-width: 86vw !important;
  height: 100dvh !important;
  background: #FFFDF9 !important;
  z-index: 99999 !important;
  transform: translate3d(-100%, 0, 0) !important;
  transition: transform 0.3s var(--ale-ease-smooth) !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 10px 0 30px rgba(54, 25, 11, 0.15) !important;
}

.ale-mobile-drawer.is-active,
.ale-mobile-drawer.active,
.ale-mobile-drawer.is-open {
  transform: translate3d(0, 0, 0) !important;
}

.ale-drawer-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 20px !important;
  background: var(--ale-warm-sand) !important;
  border-bottom: 1px solid rgba(195, 122, 46, 0.18) !important;
}

.ale-drawer-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
}

.ale-drawer-brand-text {
  font-family: var(--ale-font-display) !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--ale-royal-maroon) !important;
  -webkit-text-fill-color: var(--ale-royal-maroon) !important;
}

.ale-drawer-close {
  background: none !important;
  border: none !important;
  font-size: 1.4rem !important;
  color: var(--ale-royal-maroon) !important;
  cursor: pointer !important;
  padding: 4px !important;
}

.ale-drawer-content {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 16px 20px !important;
}

/* Quick Tool Chips */
.ale-drawer-quick-chips {
  margin-bottom: 16px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(195, 122, 46, 0.14) !important;
}

.ale-chips-label {
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  color: #94A3B8 !important;
  display: block !important;
  margin-bottom: 8px !important;
}

.ale-chips-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.ale-chip-item {
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  padding: 5px 11px !important;
  border-radius: 20px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(195, 122, 46, 0.22) !important;
  color: #65250C !important;
  -webkit-text-fill-color: #65250C !important;
  text-decoration: none !important;
  transition: all var(--ale-transition-fast) !important;
}

.ale-chip-item:hover {
  background: #FEF3C7 !important;
  border-color: #F59E0B !important;
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

.ale-drawer-menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.drawer-menu-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 0 !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--ale-midnight-obsidian) !important;
  -webkit-text-fill-color: var(--ale-midnight-obsidian) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(195, 122, 46, 0.1) !important;
  transition: color var(--ale-transition-fast) !important;
}

.drawer-menu-link span {
  color: var(--ale-midnight-obsidian) !important;
  -webkit-text-fill-color: var(--ale-midnight-obsidian) !important;
}

.drawer-menu-link:hover {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

.drawer-menu-link:hover span {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

.drawer-link-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.drawer-chevron {
  font-size: 0.75rem !important;
  color: #94A3B8 !important;
  transition: transform 0.2s ease !important;
}

.drawer-menu-item-has-children.is-open .drawer-chevron,
.drawer-menu-item-has-children.active .drawer-chevron {
  transform: rotate(180deg) !important;
  color: var(--ale-sacred-gold) !important;
}

.drawer-submenu {
  list-style: none !important;
  margin: 0 !important;
  padding: 4px 0 8px 18px !important;
  display: none !important;
}

.drawer-menu-item-has-children.is-open .drawer-submenu,
.drawer-menu-item-has-children.active .drawer-submenu {
  display: block !important;
}

.drawer-submenu li a {
  display: block !important;
  padding: 8px 0 !important;
  font-size: 0.82rem !important;
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  text-decoration: none !important;
  transition: color var(--ale-transition-fast) !important;
}

.drawer-submenu li a:hover {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
  font-weight: 600 !important;
}

.drawer-submenu-highlight {
  font-weight: 700 !important;
  color: var(--ale-sacred-gold) !important;
  -webkit-text-fill-color: var(--ale-sacred-gold) !important;
}

.ale-drawer-cta-wrap {
  margin-top: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.ale-drawer-btn-signup,
.ale-drawer-btn-signin {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 11px !important;
  border-radius: 8px !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all var(--ale-transition-fast) !important;
}

.ale-drawer-btn-signup {
  background: linear-gradient(135deg, #F97316 0%, #C37A2E 100%) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: 0 3px 10px rgba(249, 115, 22, 0.28) !important;
}

.ale-drawer-btn-signup span,
.ale-drawer-btn-signup i {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-drawer-btn-signup:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #EA580C 0%, #B45309 100%) !important;
  box-shadow: 0 6px 16px rgba(234, 88, 12, 0.45) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-drawer-btn-signup:hover span,
.ale-drawer-btn-signup:hover i {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-drawer-btn-signin {
  background: #FFFFFF !important;
  border: 1.5px solid rgba(195, 122, 46, 0.3) !important;
  color: #65250C !important;
  -webkit-text-fill-color: #65250C !important;
}

.ale-drawer-btn-signin span,
.ale-drawer-btn-signin i {
  color: #65250C !important;
  -webkit-text-fill-color: #65250C !important;
}

.ale-drawer-btn-signin:hover {
  background: #FEF3C7 !important;
  border-color: #F59E0B !important;
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

.ale-drawer-btn-signin:hover span,
.ale-drawer-btn-signin:hover i {
  color: #92400E !important;
  -webkit-text-fill-color: #92400E !important;
}

/* ── 6. Mobile Bottom Application Dock (Removed by design) ── */
.ale-mobile-bottom-dock {
  display: none !important;
}

/* ── 7. Universal Button Hover Contrast Safeguards ── */
html body [class*="btn-"]:not([class*="-secondary"]):not([class*="-outline"]):not([class*="-signin"]):hover,
html body .btn-primary:hover,
html body [class*="btn-submit"]:hover,
html body .btn-calculate:hover,
html body .pay-now-hero-btn:hover {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

html body [class*="btn-"]:not([class*="-secondary"]):not([class*="-outline"]):not([class*="-signin"]):hover span,
html body [class*="btn-"]:not([class*="-secondary"]):not([class*="-outline"]):not([class*="-signin"]):hover i,
html body .btn-primary:hover span,
html body .btn-primary:hover i,
html body [class*="btn-submit"]:hover span,
html body [class*="btn-submit"]:hover i,
html body .btn-calculate:hover span,
html body .btn-calculate:hover i,
html body .pay-now-hero-btn:hover span,
html body .pay-now-hero-btn:hover i {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* ── 8. Responsive Breakpoints ── */

/* A. Laptops / Tablets (992px to 1280px) */
@media (min-width: 992px) and (max-width: 1279px) {
  .ale-nav-container,
  .ale-strip-container,
  .ale-megamenu-inner {
    padding: 0 16px !important;
  }
  
  .ale-logo-wordmark {
    font-size: 1.4rem !important;
  }

  .menu-link-top {
    padding: 6px 8px !important;
    font-size: 0.82rem !important;
  }

  .ale-grid-4-col {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
  }
}

/* B. Mobile (< 991px) */
@media (max-width: 991px) {
  .ale-header-navigation {
    height: 54px !important;
  }

  .ale-nav-container,
  .ale-strip-container {
    padding: 0 16px !important;
  }

  .ale-logo-image {
    width: 32px !important;
    height: 32px !important;
  }

  .ale-logo-wordmark {
    font-size: 1.35rem !important;
  }

  .ale-header-nav-primary,
  .ale-header-auth-wrapper {
    display: none !important;
  }

  .ale-mobile-header-user,
  .ale-hamburger-trigger {
    display: flex !important;
  }
  .ale-mobile-bottom-dock {
    display: none !important;
  }
}

/* C. Small Phones (< 480px) */
@media (max-width: 479px) {
  .ale-strip-container {
    padding: 0 10px !important;
  }

  .ale-ticker-location-pill {
    padding: 2px 8px !important;
    font-size: 0.72rem !important;
  }
}
