/*
Theme Name: AstroLeaf Enterprise Custom Theme
Theme URI: https://astroleaf.in/theme
Author: AstroLeaf Development Team
Description: Fully custom-coded theme designed for conversion, featuring bespoke styling, astrology calculators, and premium consultation integrations.
Version: 2.0.0
License: GNU GPLv2 or later
Text Domain: astroleaf-enterprise
*/
:root {
  /* Astroleaf Core Design System Tokens (M1 Standardized) */
  --astroleaf-bg-page: #FFFBF4;
  --astroleaf-bg-card: #FFEFD6;
  --astroleaf-bg-card-alt: #FFF7E8;
  --astroleaf-color-primary: #65250C;
  --astroleaf-color-primary-hover: #4A1B09;
  --astroleaf-color-gold: #D4A017;
  --astroleaf-color-gold-light: #FFBA5F;
  --astroleaf-color-text-dark: #3C1F10;

  /* Alias sync */
  --color-bg-deep: var(--astroleaf-bg-page);
  --color-card-bg: var(--astroleaf-bg-card);
  --color-primary: var(--astroleaf-color-primary);

  /* Preserved Theme Tokens */
  --color-bg-surface: #FFFDF9;
  --color-bg-warm: #FAF6EE;
  --color-bg-warm-light: #FFFDF9;
  --color-text-brown: #5C3D2E;
  --color-text-muted: #755E3D;
  --color-text-light: #FAF4E8;
  --color-primary-dark: #945a1f;
  --color-primary-rgb: 195, 122, 46;
  --color-secondary: #e98c36;
  --color-accent: #2D6A4F;
  --color-gold: #D4A017;
  --color-gold-light: #E8C547;
  --color-navy: #1B2838;
  --color-border: #E6DFD3;
  --color-border-hover: #C37A2E;
  --color-border-dashed: #e98c36;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 50px;
  --glass-bg: #FFFDF9;
  --glass-blur: none;
  --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --shadow-premium: none;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --font-primary: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-heading: 'Outfit', sans-serif;
  --font-accent: 'Plus Jakarta Sans', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 1.5rem;
  --spacing-lg: 2.5rem;
  --spacing-xl: 4rem;

/* --- Global Primary Button System (Warm Golden Amber — Buy Now Theme) --- */
.ale-btn,
.ale-btn-primary,
.ale-btn-global-primary,
.ale-btn-secondary,
.ale-btn-hero-primary,
.ale-btn-hero-secondary,
.ale-service-cta-btn,
.ale-calculator-btn,
.ale-btn-next,
.ale-btn-prev,
.ale-btn-submit,
.btn-upsell-primary,
.btn-upsell-secondary,
.al-pay-razorpay-btn,
button[type="submit"] {
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.4px !important;
  border-radius: 6px !important;
  padding: 11px 24px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  border: 1px solid transparent !important;
  position: relative !important;
  transform: translateY(0) !important;
  will-change: transform !important;
}

/* Primary/Action/Submit Buttons — UNIFIED to Vedic Rishi pure vibrant orange #F97316
   Crisp white text, 10px radius, clean orange shadow. Matches vedicrishi.in CTA standard. */
.ale-btn-primary,
.ale-btn-global-primary,
.ale-btn-hero-primary,
.ale-btn-submit,
.ale-btn-next,
.btn-upsell-primary,
.al-pay-razorpay-btn,
button[type="submit"] {
  background: #F97316 !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  border: 1px solid #F97316 !important;
  box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35) !important;
  width: auto !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-btn-primary:hover,
.ale-btn-global-primary:hover,
.ale-btn-hero-primary:hover,
.ale-btn-submit:hover,
.ale-btn-next:hover,
.btn-upsell-primary:hover,
.al-pay-razorpay-btn:hover,
button[type="submit"]:hover {
  background: #EA580C !important;
  color: #FFFFFF !important;
  border-color: #EA580C !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(249, 115, 22, 0.45) !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Checkout pay button overrides: full-width inside its container */
.al-pay-razorpay-btn {
  width: 100% !important;
  font-size: 1rem !important;
  padding: 14px 24px !important;
  border-radius: 8px !important;
  letter-spacing: 0.3px !important;
}

.ale-article-rich-body .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.ale-article-rich-body .wp-block-button:not(.is-style-outline) .wp-element-button,
.ale-article-rich-body a.ale-premium-post-btn,
.ale-page-content-body .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.ale-page-content-body .wp-block-button:not(.is-style-outline) .wp-element-button,
.ale-page-content-body a.ale-premium-post-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #F97316 !important;
  background: #F97316 !important;
  color: #FFFFFF !important;
  padding: 11px 28px !important;
  font-family: var(--font-primary, 'Plus Jakarta Sans', sans-serif) !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  text-decoration: none !important;
  border: 1px solid #F97316 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35) !important;
  transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  cursor: pointer !important;
  transform: translateY(0) !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-post-content-body .wp-block-button:not(.is-style-outline) .wp-block-button__link:visited,
.ale-post-content-body .wp-block-button:not(.is-style-outline) .wp-element-button:visited,
.ale-post-content-body a.ale-premium-post-btn:visited,
.ale-article-rich-body .wp-block-button:not(.is-style-outline) .wp-block-button__link:visited,
.ale-article-rich-body .wp-block-button:not(.is-style-outline) .wp-element-button:visited,
.ale-article-rich-body a.ale-premium-post-btn:visited,
.ale-page-content-body .wp-block-button:not(.is-style-outline) .wp-block-button__link:visited,
.ale-page-content-body .wp-block-button:not(.is-style-outline) .wp-element-button:visited,
.ale-page-content-body a.ale-premium-post-btn:visited {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.ale-post-content-body .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.ale-post-content-body .wp-block-button:not(.is-style-outline) .wp-element-button:hover,
.ale-post-content-body a.ale-premium-post-btn:hover,
.ale-article-rich-body .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.ale-article-rich-body .wp-block-button:not(.is-style-outline) .wp-element-button:hover,
.ale-article-rich-body a.ale-premium-post-btn:hover,
.ale-page-content-body .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.ale-page-content-body .wp-block-button:not(.is-style-outline) .wp-element-button:hover,
.ale-page-content-body a.ale-premium-post-btn:hover,
button.pay-now-hero-btn:hover,
a.pay-now-hero-btn:hover,
.ud-btn-submit:hover,
.kl-btn-submit:hover,
.arudha-btn-submit:hover,
.btn-submit:hover,
.ale-btn-global-primary:hover {
  background-color: #EA580C !important;
  background: linear-gradient(180deg, #FF8A1E 0%, #EA580C 100%) !important;
  border-color: #EA580C !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: 0 8px 22px rgba(234, 88, 12, 0.45) !important;
  transform: translateY(-2px) !important;
  filter: brightness(1.04) !important;
  text-decoration: none !important;
}

.ale-post-content-body .wp-block-button:not(.is-style-outline) .wp-block-button__link:active,
.ale-post-content-body .wp-block-button:not(.is-style-outline) .wp-element-button:active,
.ale-post-content-body a.ale-premium-post-btn:active,
.ale-article-rich-body .wp-block-button:not(.is-style-outline) .wp-block-button__link:active,
.ale-article-rich-body .wp-block-button:not(.is-style-outline) .wp-element-button:active,
.ale-article-rich-body a.ale-premium-post-btn:active,
.ale-page-content-body .wp-block-button:not(.is-style-outline) .wp-block-button__link:active,
.ale-page-content-body .wp-block-button:not(.is-style-outline) .wp-element-button:active,
.ale-page-content-body a.ale-premium-post-btn:active,
button.pay-now-hero-btn:active,
a.pay-now-hero-btn:active,
.ud-btn-submit:active,
.kl-btn-submit:active,
.arudha-btn-submit:active,
.btn-submit:active,
.ale-btn-global-primary:active {
  transform: translateY(0px) scale(0.99) !important;
  box-shadow: 0 3px 8px rgba(234, 88, 12, 0.25) !important;
}

/* Universal Promo Pricing Cards & Buttons */
.al-promo-pricing-card,
.al-numerology-report-promo-card,
.wy-report-spotlight-card {
  box-sizing: border-box !important;
}

.al-promo-pricing-card *,
.al-numerology-report-promo-card *,
.wy-report-spotlight-card * {
  box-sizing: border-box !important;
}

.al-promo-pricing-card a,
.al-promo-pricing-card button,
.al-numerology-report-promo-card a.pay-now-hero-btn,
.al-numerology-report-promo-card a {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

/* Outline Buttons */
.ale-post-content-body .wp-block-button.is-style-outline .wp-block-button__link,
.ale-post-content-body .wp-block-button.is-style-outline .wp-element-button,
.ale-article-rich-body .wp-block-button.is-style-outline .wp-block-button__link,
.ale-article-rich-body .wp-block-button.is-style-outline .wp-element-button,
.ale-page-content-body .wp-block-button.is-style-outline .wp-block-button__link,
.ale-page-content-body .wp-block-button.is-style-outline .wp-element-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: transparent !important;
  color: var(--color-primary-dark, #945a1f) !important;
  padding: 11px 28px !important;
  font-family: var(--font-primary, 'Plus Jakarta Sans', sans-serif) !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  text-decoration: none !important;
  border: 1.5px solid rgba(249, 115, 22, 0.35) !important;
  border-radius: 0px !important; /* Soft premium corners (4px) */
  box-shadow: none !important;
  transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  cursor: pointer !important;
  transform: translateY(0) !important;
}

.ale-post-content-body .wp-block-button.is-style-outline .wp-block-button__link:visited,
.ale-post-content-body .wp-block-button.is-style-outline .wp-element-button:visited,
.ale-article-rich-body .wp-block-button.is-style-outline .wp-block-button__link:visited,
.ale-article-rich-body .wp-block-button.is-style-outline .wp-element-button:visited,
.ale-page-content-body .wp-block-button.is-style-outline .wp-block-button__link:visited,
.ale-page-content-body .wp-block-button.is-style-outline .wp-element-button:visited {
  color: var(--color-primary-dark, #945a1f) !important;
}

.ale-post-content-body .wp-block-button.is-style-outline .wp-block-button__link:hover,
.ale-post-content-body .wp-block-button.is-style-outline .wp-element-button:hover,
.ale-article-rich-body .wp-block-button.is-style-outline .wp-block-button__link:hover,
.ale-article-rich-body .wp-block-button.is-style-outline .wp-element-button:hover,
.ale-page-content-body .wp-block-button.is-style-outline .wp-block-button__link:hover,
.ale-page-content-body .wp-block-button.is-style-outline .wp-element-button:hover {
  background-color: rgba(195, 122, 46, 0.06) !important;
  color: var(--color-primary-dark, #945a1f) !important;
  border-color: var(--color-primary, #C37A2E) !important;
  box-shadow: 0 4px 10px rgba(195, 122, 46, 0.08) !important;
  text-decoration: none !important;
}

.ale-post-content-body .wp-block-button.is-style-outline .wp-block-button__link:active,
.ale-post-content-body .wp-block-button.is-style-outline .wp-element-button:active,
.ale-article-rich-body .wp-block-button.is-style-outline .wp-block-button__link:active,
.ale-article-rich-body .wp-block-button.is-style-outline .wp-element-button:active,
.ale-page-content-body .wp-block-button.is-style-outline .wp-block-button__link:active,
.ale-page-content-body .wp-block-button.is-style-outline .wp-element-button:active {
  background-color: rgba(195, 122, 46, 0.1) !important;
}

/* Premium CTA arrow translation transition inside premium buttons */
.ale-premium-post-btn .fa-arrow-right {
  transition: transform 0.2s ease !important;
}
.ale-premium-post-btn:hover .fa-arrow-right {
  transform: translateX(3px) !important;
}

/* Restrict Arrow movement on calculator cards */
.ale-calculator-card:hover {
  transform: none !important;
  box-shadow: 0 4px 12px rgba(92, 61, 46, 0.05) !important;
}
.ale-calculator-card:hover .ale-calculator-btn .arrow {
  transform: translateX(4px) !important;
}
.ale-service-card:hover .ale-service-cta-btn {
  transform: none !important;
  box-shadow: none !important;
}

/* Universal Autocomplete Suggestions Dropdown (Google Places & OpenStreetMap) - Compact Premium Design */
#pob-suggestions,
#fallback-pob-suggestions,
#osm-suggestions,
.osm-suggestions-dropdown,
.al-pac-dropdown,
#google-places-suggestions,
.pac-container {
  z-index: 999999 !important;
  position: absolute !important;
  background-color: #FFFFFF !important;
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(15, 23, 42, 0.04) !important;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  margin-top: 4px !important;
  padding: 4px 0 !important;
  max-height: 210px !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

.pac-container::-webkit-scrollbar,
#osm-suggestions::-webkit-scrollbar,
.al-pac-dropdown::-webkit-scrollbar {
  width: 5px !important;
}

.pac-container::-webkit-scrollbar-thumb,
#osm-suggestions::-webkit-scrollbar-thumb,
.al-pac-dropdown::-webkit-scrollbar-thumb {
  background: #CBD5E1 !important;
  border-radius: 4px !important;
}

/* Style each suggestion item - Compact Height & Clean Spacing */
.pac-item,
.osm-item,
.al-pac-item,
.pob-suggestion-item,
.cd-autocomplete-item,
.al-autocomplete-item,
.osm-suggestion-item {
  padding: 8px 14px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  line-height: 20px !important;
  color: #334155 !important;
  background-color: transparent !important;
  border-bottom: 1px solid #F1F5F9 !important;
  border-top: none !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  box-sizing: border-box !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.pac-item:last-child,
.osm-item:last-child,
.al-pac-item:last-child,
.pob-suggestion-item:last-child,
.cd-autocomplete-item:last-child,
.al-autocomplete-item:last-child,
.osm-suggestion-item:last-child {
  border-bottom: none !important;
}

/* Hover & Active State */
.pac-item:hover,
.pac-item.pac-item-selected,
.osm-item:hover,
.al-pac-item:hover,
.al-pac-item.active,
.pob-suggestion-item:hover,
.cd-autocomplete-item:hover,
.al-autocomplete-item:hover,
.osm-suggestion-item:hover {
  background-color: #FFF7ED !important;
  color: #C2410C !important;
}

/* Primary Query Place Text */
.pac-item-query {
  font-size: 0.85rem !important;
  color: #1E293B !important;
  font-weight: 700 !important;
  display: inline !important;
  padding-right: 0 !important;
}

/* Enforce Comma Separator between Primary City Name and Region/Country */
.pac-item-query:not(:last-child)::after {
  content: ", " !important;
  font-weight: 500 !important;
  color: #64748B !important;
}

/* Matched query substring bolding */
.pac-matched {
  color: #D97706 !important;
  font-weight: 800 !important;
}

/* Secondary region/country span */
.pac-item > span:not(.pac-item-query):not(.pac-icon) {
  font-size: 0.82rem !important;
  color: #64748B !important;
  font-weight: 500 !important;
  display: inline !important;
}

/* Compact Warm Amber Location Pin */
html body .pac-icon,
html body .pac-icon-marker,
.pac-icon,
.pac-icon-marker {
  display: inline-block !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  min-height: 15px !important;
  margin-right: 8px !important;
  margin-top: 0 !important;
  vertical-align: middle !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23D97706' d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  filter: none !important;
  flex-shrink: 0 !important;
}

/* Mobile Responsive Overrides */
@media (max-width: 768px) {
  .pac-container,
  #osm-suggestions,
  .al-pac-dropdown {
    max-height: 200px !important;
  }
  
  .pac-item,
  .osm-item,
  .al-pac-item,
  .pob-suggestion-item {
    padding: 7px 12px !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 0.82rem !important;
  }
  
  .pac-item-query {
    font-size: 0.83rem !important;
  }
}

/* Remove 'Powered by Google' branding from Google Places Autocomplete */
.pac-container:after,
.pac-logo:after {
  display: none !important;
  background-image: none !important;
  height: 0px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ==========================================================================
   Premium Left Sidebar Layout & Responsive Mobile Drawer Menu
   ========================================================================== */

/* Layout Wrapper */
.ale-layout-with-sidebar {
  display: flex;
  min-height: 100vh;
  position: relative;
  width: 100%;
}

/* Main Content Area */
.ale-content-area {
  flex: 1;
  min-width: 0; /* Prevents flex items from stretching/overflowing */
  background-color: var(--color-bg-deep);
  padding: var(--spacing-lg);
}

/* Sticky Desktop Sidebar */
.ale-sidebar {
  width: 280px;
  flex-shrink: 0;
  position: -webkit-sticky;
  position: sticky;
  top: 0; /* Sticky to top of page */
  height: 100vh;
  overflow-y: auto;
  background-color: var(--color-bg-surface);
  border-right: 1px solid var(--color-border);
  z-index: 100;
  transition: var(--transition-smooth);
  display: flex;
  flex-direction: column;
}

/* Adjust top offset if WordPress Admin Bar is present */
.admin-bar .ale-sidebar {
  top: 32px;
  height: calc(100vh - 32px);
}

/* Custom Scrollbar for Sidebar */
.ale-sidebar::-webkit-scrollbar {
  width: 6px;
}
.ale-sidebar::-webkit-scrollbar-track {
  background: transparent;
}
.ale-sidebar::-webkit-scrollbar-thumb {
  background: var(--color-border);
  border-radius: 0px !important;
}
.ale-sidebar::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-muted);
}

/* Sidebar Components Header/Brand */
.ale-sidebar-brand {
  padding: var(--spacing-md);
  border-bottom: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  background-color: var(--color-bg-warm-light);
}

.ale-sidebar-brand .ale-logo-text {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--color-text-dark);
}

/* Sidebar Profile Widget */
.ale-sidebar-profile {
  padding: var(--spacing-md);
  border-bottom: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  background-color: var(--color-bg-surface);
}

.ale-sidebar-profile-img {
  width: 48px;
  height: 48px;
  border-radius: 0px !important; /* Circular avatar */
  border: 2px solid var(--color-primary);
  object-fit: cover;
}

.ale-sidebar-profile-info {
  display: flex;
  flex-direction: column;
}

.ale-sidebar-profile-name {
  font-family: var(--font-primary);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--color-text-dark);
}

.ale-sidebar-profile-role {
  font-size: 0.78rem;
  color: var(--color-text-muted);
}

/* Sidebar Navigation Menu */
.ale-sidebar-nav {
  padding: var(--spacing-md) 0;
  flex-grow: 1;
}

.ale-sidebar-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ale-sidebar-menu-item {
  margin-bottom: 4px;
}

.ale-sidebar-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px var(--spacing-md);
  color: var(--color-text-brown);
  font-family: var(--font-primary);
  font-size: 0.92rem;
  font-weight: 500;
  text-decoration: none;
  transition: var(--transition-smooth);
}

.ale-sidebar-link:hover {
  color: var(--color-primary);
  background-color: rgba(195, 122, 46, 0.04);
  padding-left: calc(var(--spacing-md) + 4px);
}

.ale-sidebar-menu-item.is-active .ale-sidebar-link {
  color: var(--color-primary-dark);
  background-color: rgba(195, 122, 46, 0.08);
  font-weight: 600;
}

.ale-sidebar-link svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  transition: var(--transition-smooth);
}

.ale-sidebar-link:hover svg {
  transform: scale(1.1);
  color: var(--color-primary);
}

/* Sidebar Widgets (Astrology specific) */
.ale-sidebar-widget {
  padding: var(--spacing-md);
  margin: var(--spacing-md);
  background: var(--color-bg-warm-light);
  border: 1px solid var(--color-border);
  font-family: var(--font-primary);
}

.ale-sidebar-widget-title {
  font-size: 0.85rem;
  font-weight: 600;
  
  letter-spacing: 0.5px;
  color: var(--color-text-muted);
  margin-bottom: var(--spacing-xs);
}

/* Mobile Sidebar Drawer and Overlay Styles (<= 768px) */
.ale-sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(60, 31, 16, 0.4); /* Elegant dark brown matching site theme color */
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  z-index: 9999;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ale-sidebar-close {
  display: none; /* Only visible in mobile drawer mode */
}

@media (max-width: 768px) {
  .ale-layout-with-sidebar {
    flex-direction: column;
  }

  .ale-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: 280px;
    height: 100vh;
    transform: translateX(-100%);
    z-index: 10000;
    box-shadow: none;
    border-right: 1px solid var(--color-border);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  /* Adjust mobile sidebar top offset if admin bar is present */
  .admin-bar .ale-sidebar {
    top: 46px; /* WordPress mobile admin bar height */
    height: calc(100vh - 46px);
  }

  /* When mobile drawer is active */
  body.ale-sidebar-open .ale-sidebar {
    transform: translateX(0);
    box-shadow: var(--shadow-lg);
  }

  body.ale-sidebar-open .ale-sidebar-overlay {
    opacity: 1;
    visibility: visible;
  }

  body.ale-sidebar-open {
    overflow: hidden; /* Lock background scrolling */
  }

  .ale-content-area {
    padding: var(--spacing-md);
  }

  /* Mobile Close Button in Drawer */
  .ale-sidebar-close {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    border-radius: 0px !important;
    background-color: rgba(92, 61, 46, 0.08);
    color: var(--color-text-brown);
    border: none;
    cursor: pointer;
    font-size: 1.25rem;
    line-height: 1;
    z-index: 101;
    transition: var(--transition-smooth);
  }

  .ale-sidebar-close:hover {
    background-color: var(--color-primary);
    color: #FFFFFF;
  }

  /* Mobile Hamburger / Toggle Button */
  .ale-sidebar-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background-color: var(--color-bg-surface);
    border: 1.5px solid var(--color-border);
    color: var(--color-text-dark);
    cursor: pointer;
    z-index: 998;
    transition: var(--transition-smooth);
    position: relative;
  }

  .ale-sidebar-toggle:hover {
    background-color: var(--color-bg-warm-light);
    border-color: var(--color-primary);
    color: var(--color-primary);
  }

  /* Hamburger lines styling if using standard divs/spans inside toggle */
  .ale-sidebar-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background-color: currentColor;
    position: absolute;
    transition: var(--transition-smooth);
  }

  .ale-sidebar-toggle span:nth-child(1) { transform: translateY(-6px); }
  .ale-sidebar-toggle span:nth-child(2) { opacity: 1; }
  .ale-sidebar-toggle span:nth-child(3) { transform: translateY(6px); }

  /* Active/Open Hamburger lines transformation */
  body.ale-sidebar-open .ale-sidebar-toggle span:nth-child(1) {
    transform: translateY(0) rotate(45deg);
  }
  body.ale-sidebar-open .ale-sidebar-toggle span:nth-child(2) {
    opacity: 0;
  }
  body.ale-sidebar-open .ale-sidebar-toggle span:nth-child(3) {
    transform: translateY(0) rotate(-45deg);
  }

  /* Floating Variation option for hamburger toggle button (ergonomic one-handed style) */
  .ale-sidebar-toggle-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    border-radius: 0px !important;
    box-shadow: 0 4px 16px rgba(195, 122, 46, 0.25);
    background-color: var(--color-primary);
    color: #FFFFFF;
    border: none;
    width: 50px;
    height: 50px;
  }

  .ale-sidebar-toggle-float:hover {
    background-color: var(--color-primary-dark);
    color: #FFFFFF;
  }
}

/* ==========================================================================
   Premium Vedic Panchang Widget Visual Overrides (The Cosmic Ephemeris)
   ========================================================================== */

/* Restore clean horizontal grid lines for astronomical coordinates */
.ale-panchang-section .celestial-divider,
.ale-panchang-section .ticket-divider-line {
  display: block !important;
  height: 1px !important;
  border: none !important;
  border-top: 1.5px solid var(--color-border) !important;
  margin: 1.25rem 0 !important;
  padding: 0 !important;
  opacity: 0.75 !important;
}

/* Remove card/panel elevations & enforce strict square flat hierarchy */
.ale-panchang-section .celestial-metrics-box,
.ale-panchang-section .ticket-card,
.ale-panchang-section .timing-mini-card {
  box-shadow: none !important;
  border: 1.5px solid var(--color-border) !important;
  border-radius: 0px !important; /* Rounded corners */
  background-color: var(--color-bg-surface) !important;
  transition: border-color 0.2s ease !important;
}

.ale-panchang-section .celestial-metrics-box:hover,
.ale-panchang-section .ticket-card:hover,
.ale-panchang-section .timing-mini-card:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: var(--color-primary) !important;
}

/* Clean, non-yelling typography size for section title */
.ale-panchang-section .panchang-title {
  font-size: 2.25rem !important;
  letter-spacing: -0.02em !important;
}

/* Monospace rendering for all calculations, coordinates, degrees & timings */
.ale-panchang-section .celestial-value,
.ale-panchang-section .celestial-subvalue,
.ale-panchang-section .timing-value,
.ale-panchang-section #planetary-positions-table td,
.ale-panchang-section .pd-card-value,
.ale-panchang-section .pd-detail-value,
.ale-panchang-section .pd-period-time {
  font-family: var(--font-mono) !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: -0.015em !important;
}

/* Refined typography weight & sizing inside metrics cards */
.ale-panchang-section .celestial-label {
  font-size: 0.7rem !important;
  letter-spacing: 1px !important;
  color: var(--color-text-muted) !important;
  font-weight: 600 !important;
}
.ale-panchang-section .celestial-value {
  font-size: 1rem !important;
  color: var(--color-text-dark) !important;
}
.ale-panchang-section .celestial-subvalue {
  font-size: 0.72rem !important;
  color: var(--color-text-muted) !important;
}

/* ==========================================
   Global Mobile Foundation
   ========================================== */

/* Prevent horizontal scroll on all devices including iOS Safari */
html {
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

/* Ensure all media elements are responsive */
img,
video,
iframe,
embed,
object,
svg {
  max-width: 100%;
  height: auto;
}

/* Maintain fixed sizing for header and navigation logos */
.ale-logo-image,
.ale-header-logo img,
.ale-drawer-logo img {
  height: 36px !important;
  max-height: 36px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* Prevent text from breaking layout */
.ale-container,
.ale-main-homepage-landmark,
.ale-section,
main {
  word-break: break-word;
  overflow-wrap: break-word;
}

/* Universal Mobile Grid Safeguards: collapse multi-column inline grids on small viewports */
@media (max-width: 640px) {
  div[style*="grid-template-columns: 1.1fr 0.9fr"],
  div[style*="grid-template-columns: 1fr 100px 90px"],
  div[style*="grid-template-columns: 1fr 1fr 1fr"],
  div[style*="grid-template-columns: 1fr 1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

@media (max-width: 480px) {
  div[style*="grid-template-columns: 1fr 1fr"],
  div[style*="grid-template-columns: repeat(2, 1fr)"],
  div[style*="grid-template-columns: repeat(3, 1fr)"],
  div[style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
}

/* 360px Ultra-Small Phone breakpoint */
@media (max-width: 360px) {
  .ale-container {
    padding: 0 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  h1 {
    font-size: 1.55rem !important;
    line-height: 1.2 !important;
  }

  h2 {
    font-size: 1.3rem !important;
  }

  h3 {
    font-size: 1.1rem !important;
  }

  /* Buttons full width on tiny screens */
  .ale-btn,
  .ale-btn-primary,
  .ale-btn-global-primary,
  .ale-btn-hero-primary,
  .ale-btn-hero-secondary {
    width: 100% !important;
    justify-content: center !important;
    padding: 0.8rem 1rem !important;
  }

  /* Form inputs safe sizing */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="date"],
  select,
  textarea {
    font-size: 16px !important; /* Prevent iOS zoom */
    padding: 0.75rem 0.9rem !important;
  }
}

/* ==========================================================================
   Panchang Widget — Mobile Friendliness Overrides (Homepage)
   ========================================================================== */

/* Base: ensure the container never overflows on any screen */
.ale-panchang-section .ale-container {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* Tablet (≤ 1024px): tighten padding */
@media (max-width: 1024px) {
  .ale-panchang-section {
    padding: var(--spacing-lg) 0 !important;
  }
  .ale-panchang-section .ale-container {
    padding: 0 16px !important;
  }
}

/* Mobile (≤ 768px): stack everything single-column, prevent overflow */
@media (max-width: 768px) {
  .ale-panchang-section {
    padding: var(--spacing-md) 0 !important;
  }
  .ale-panchang-section .ale-container {
    padding: 0 12px !important;
  }

  /* Force bento to single column */
  .ale-panchang-section .panchang-bento {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  /* Full-width left and right columns */
  .ale-panchang-section .left-col,
  .ale-panchang-section .right-col {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Celestial metrics card — remove rigid heights, add breathing room */
  .ale-panchang-section .celestial-metrics-box {
    height: auto !important;
    padding: 1rem !important;
  }
  .ale-panchang-section .celestial-card-top,
  .ale-panchang-section .ticket-top {
    padding: 1rem !important;
    flex: none !important;
    height: auto !important;
  }
  .ale-panchang-section .celestial-card-bottom,
  .ale-panchang-section .ticket-bottom {
    padding: 0.75rem 1rem 1rem !important;
    flex: none !important;
    height: auto !important;
  }

  /* Timings row — single column on mobile so nothing clips */
  .ale-panchang-section .timings-row {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }

  /* Controls row — stack city select and refresh vertically */
  .ale-panchang-section .controls-row-container {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }

  /* Buttons row — stack vertically, full width */
  .ale-panchang-section .panchang-buttons-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.6rem !important;
  }
  .ale-panchang-section .panchang-buttons-row .refresh-btn,
  .ale-panchang-section .panchang-buttons-row .refresh-btn-new,
  .ale-panchang-section .panchang-buttons-row .view-more-btn-new,
  .ale-panchang-section .panchang-buttons-row .view-more-link {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Chart card (donut) — center and constrain */
  .ale-panchang-section .chart-card {
    padding: 1rem !important;
  }
  .ale-panchang-section .donut-container {
    width: 200px !important;
    height: 200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Legend — single column for readability */
  .ale-panchang-section .chart-legend {
    grid-template-columns: 1fr !important;
    gap: 0.4rem !important;
  }

  /* Title — scale down */
  .ale-panchang-section .panchang-title {
    font-size: 1.6rem !important;
    line-height: 1.25 !important;
  }

  /* Status cards — full width */
  .ale-panchang-section .status-card {
    padding: 1rem !important;
  }
  .ale-panchang-section .ticket-card {
    height: auto !important;
  }
  .ale-panchang-section .ticket-divider-line {
    margin: 0 !important;
  }
}

/* Small mobile (≤ 480px): extra compact */
@media (max-width: 480px) {
  .ale-panchang-section .ale-container {
    padding: 0 8px !important;
  }
  .ale-panchang-section .panchang-title {
    font-size: 1.35rem !important;
  }
  .ale-panchang-section .celestial-label {
    font-size: 0.65rem !important;
    letter-spacing: 0.5px !important;
  }
  .ale-panchang-section .celestial-value {
    font-size: 0.88rem !important;
  }
  .ale-panchang-section .celestial-subvalue {
    font-size: 0.65rem !important;
  }
  .ale-panchang-section .donut-container {
    width: 170px !important;
    height: 170px !important;
  }
  .ale-panchang-section .celestial-metrics-box,
  .ale-panchang-section .chart-card,
  .ale-panchang-section .status-card {
    padding: 0.75rem !important;
  }
  .ale-panchang-section .celestial-card-top,
  .ale-panchang-section .ticket-top {
    padding: 0.75rem !important;
  }
  .ale-panchang-section .celestial-card-bottom,
  .ale-panchang-section .ticket-bottom {
    padding: 0.5rem 0.75rem 0.75rem !important;
  }
}

/* 360px breakpoint for hero/section headers */
@media (max-width: 360px) {
  .ale-hero-title {
    font-size: 1.55rem !important;
    letter-spacing: -0.5px !important;
  }
  .ale-section-title {
    font-size: 1.5rem !important;
  }
  .ale-hero-actions {
    flex-direction: column !important;
    width: 100% !important;
  }
  .ale-hero-actions .ale-btn {
    width: 100% !important;
  }
  .ale-footer-container {
    padding: 0 14px !important;
  }
}
/* ==========================================================================
   Hero Interactive Quick-Widget Layout & Styling (The Cosmic Ephemeris)
   ========================================================================== */

.ale-hero-grid {
  display: grid !important;
  grid-template-columns: 1fr;
}
@media (min-width: 992px) {
  .ale-hero-grid {
    grid-template-columns: 1.2fr 0.8fr !important;
    gap: var(--spacing-xl) !important;
    max-width: 1360px !important;
    text-align: left !important;
    align-items: center !important;
  }
  .ale-hero-left {
    align-items: flex-start !important;
    text-align: left !important;
  }
  .ale-hero-actions {
    justify-content: flex-start !important;
  }
}

.ale-hero-calc-card {
  border: 1.5px solid var(--color-border) !important;
  border-radius: 0px !important; /* Elegant card rounding */
  background-color: var(--color-bg-surface) !important;
  padding: var(--spacing-md) !important;
  box-shadow: none !important;
}

.ale-hero-calc-card input[type="text"],
.ale-hero-calc-card input[type="date"],
.ale-hero-calc-card input[type="time"] {
  background-color: var(--color-bg-surface) !important;
  border: 1.5px solid var(--color-border) !important;
  border-radius: 0px !important; /* Standard soft input rounding */
  padding: 10px 14px !important;
  font-family: var(--font-primary) !important;
  font-size: 0.9rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  outline: none !important;
  margin-bottom: 0 !important;
}

.ale-hero-calc-card input:focus {
  border-color: var(--color-primary) !important;
  background-color: #FFFFFF !important;
}

.ale-hero-calc-card label {
  font-family: var(--font-primary) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  
  letter-spacing: 1px !important;
  color: var(--color-text-brown) !important;
  margin-bottom: 0.35rem !important;
  display: block !important;
}

/* --- Added Custom Overrides for Impeccable Anti-Pattern Fixes --- */

/* Contrast improvement for Megamenu headers (fixes Items 1, 2, 3, 4) */
.ale-megamenu-inner .dropdown-header {
  color: var(--color-primary-dark) !important;
}

/* Limit prose text line-lengths to comfortable width and pretty wrap (fixes Items 5, 10) */
#our-services .ale-section-description,
#popular-calculators .ale-section-description,
.ale-section-header .ale-section-description {
  max-width: 65ch !important;
  display: block !important;
  text-wrap: pretty !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Contrast improvement for Service Card Titles (fixes Items 6, 7, 8, 9 contrast warning) */
.ale-service-card .ale-service-card-title {
  color: var(--color-primary-dark) !important;
}

/* Redesign Service Card Icons to sit directly in flow without AI-reflex rounded-square boxes (fixes Items 6, 7, 8, 9 icon-wrapper warning) */
.ale-service-card .ale-service-icon-wrapper {
  background: transparent !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ale-service-card .ale-service-icon {
  width: 36px !important;
  height: 36px !important;
}

/* --- Added Custom Responsive Overrides for Mobile Layout and Chart Overflow Fixes --- */

/* Prevent all Kundli charts and wrappers from overflowing mobile screens */
.astroleaf-lagna-kundli,
.astroleaf-svg-chart,
.kundli-svg-container,
#hero-kundli-chart-container,
.kundli-chart-container,
#kundli-chart,
.chart-svg-container {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Ensure SVGs scale down responsively inside their containers */
.astroleaf-lagna-kundli,
.astroleaf-svg-chart,
#hero-kundli-chart-container svg,
#kundli-chart svg,
.chart-svg-container svg {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

/* Adjust homepage hero calculator inputs and card padding on small screens */
@media (max-width: 480px) {
  .ale-hero-calc-card {
    padding: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Stack the Date and Time fields vertically on small mobile screens to prevent overflow */
  .ale-hero-calc-card form > div[style*="display: grid"],
  .ale-hero-calc-card form > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  
  /* Ensure the homepage hero result Kundli container scales down properly */
  #hero-kundli-chart-container {
    max-width: 240px !important;
    width: 100% !important;
  }
  
  /* Adjust daily panchang widget chart container size on narrow screens */
  .kundli-chart-container,
  #kundli-chart {
    max-width: 240px !important;
    width: 100% !important;
    margin: 0 auto 1rem !important;
  }
}

/* --- Global Editorial Typography & Reading Layout System --- */

/* Targets all main content containers on articles, posts, calculators, and standard pages */
html body .ale-article-rich-body,
html body .ale-post-content-body,
html body .ale-page-content-body,
html body .wy-article-body,
html body .wy-seo-articles,
html body .vng-strict-wrapper,
html body .amv-strict-wrapper,
html body .ksd-wrapper {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 1.08rem;
  color: var(--color-text-brown, #5C3D2E);
  line-height: 1.8 !important;
}

/* Global paragraph and list item typography for comfortable reading rhythm */
html body .ale-article-rich-body p,
html body .ale-post-content-body p,
html body .ale-page-content-body p,
html body .wy-article-body p,
html body .wy-article-body li,
html body .wy-item-list li,
html body .wy-seo-articles p,
html body .wy-seo-articles li {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  margin: 0 0 16px 0 !important;
}


/* Global H2 and H3 spacing & layout */
.ale-article-rich-body h2,
.ale-post-content-body h2,
.ale-page-content-body h2 {
  font-family: var(--font-heading, 'Playfair Display', serif);
  font-size: 1.95rem;
  font-weight: 700;
  color: var(--color-text-dark, #3C1F10);
  margin: 56px 0 24px 0 !important;
  border-bottom: 1.5px solid var(--color-border, #E6DFD3);
  padding-bottom: 10px;
  position: relative;
  line-height: 1.3;
}

.ale-article-rich-body h2::after,
.ale-post-content-body h2::after,
.ale-page-content-body h2::after {
  content: '';
  position: absolute;
  bottom: -1.5px;
  left: 0;
  width: 60px;
  height: 2px;
  background-color: var(--color-primary, #C37A2E);
}

.ale-article-rich-body h3,
.ale-post-content-body h3,
.ale-page-content-body h3 {
  font-family: var(--font-heading, 'Playfair Display', serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text-dark, #3C1F10);
  margin: 40px 0 18px 0 !important;
  line-height: 1.4;
}

/* Global blockquote styling (scholarly print design, no side-stripes) */
.ale-article-rich-body blockquote,
.ale-post-content-body blockquote,
.ale-page-content-body blockquote {
  background: rgba(195, 122, 46, 0.03) !important;
  border: 1px solid var(--color-border, #E6DFD3) !important;
  border-top: 2.5px solid var(--color-primary, #C37A2E) !important;
  border-bottom: 2.5px solid var(--color-primary, #C37A2E) !important;
  border-left: none !important;
  border-right: none !important;
  margin: 44px 0 !important;
  padding: 40px 48px !important;
  font-style: italic;
  position: relative;
  text-align: center;
}

.ale-article-rich-body blockquote::before,
.ale-post-content-body blockquote::before,
.ale-page-content-body blockquote::before {
  content: '“';
  font-family: var(--font-heading, 'Playfair Display', serif);
  font-size: 4.5rem;
  color: rgba(195, 122, 46, 0.12);
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1;
}

.ale-article-rich-body blockquote p,
.ale-post-content-body blockquote p,
.ale-page-content-body blockquote p {
  margin: 0 !important;
  position: relative;
  z-index: 1;
  font-size: 1.15rem;
  line-height: 1.7;
  color: var(--color-text-dark, #3C1F10);
}

/* Global Unordered List (diamond bullet markers) */
.ale-article-rich-body ul,
.ale-post-content-body ul,
.ale-page-content-body ul {
  margin: 8px 0 32px 0 !important;
  padding-left: 0 !important;
  list-style-type: none !important;
}

.ale-article-rich-body ul li,
.ale-post-content-body ul li,
.ale-page-content-body ul li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 12px;
}

.ale-article-rich-body ul li::before,
.ale-post-content-body ul li::before,
.ale-page-content-body ul li::before {
  content: '◈';
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--color-primary, #C37A2E);
  font-size: 0.85rem;
}

/* Global Ordered List Spacing */
.ale-article-rich-body ol,
.ale-post-content-body ol,
.ale-page-content-body ol {
  margin: 8px 0 32px 0 !important;
  padding-left: 24px !important;
}

.ale-article-rich-body ol li,
.ale-post-content-body ol li,
.ale-page-content-body ol li {
  margin-bottom: 12px;
}

/* --- Accessibility: Support for prefers-reduced-motion --- */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  
  *,
  *::before,
  *::after {
    animation-delay: -1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    background-attachment: initial !important;
    scroll-behavior: auto !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }

  /* Specific resets for smooth transitions, slide-outs, drawer and rotation animations */
  .ale-sidebar,
  .ale-mobile-drawer,
  .ale-megamenu-dropdown,
  .drawer-submenu,
  .ale-mobile-drawer-overlay,
  .ale-sidebar-overlay {
    transition: none !important;
    transform: none !important;
  }

  /* Reset hover scales and sliding arrows */
  .ale-sidebar-link:hover svg,
  .ale-calculator-card:hover .ale-calculator-btn .arrow,
  .chevron-arrow,
  .ale-menu-list-primary > li:hover .chevron-arrow {
    transform: none !important;
    transition: none !important;
  }

  /* Remove animated elements */
  .celestial-rotating-wheel {
    animation: none !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Custom Header Navigation Overrides & 60fps GPU Hardware Acceleration */
.ale-header-navigation {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: #F5EDE0 !important;
  border-bottom: 1.5px solid rgba(195, 122, 46, 0.12) !important;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease, box-shadow 0.2s ease !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

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

.ale-header-navigation.scrolled {
  background-color: #F5EDE0 !important;
  box-shadow: 0 4px 20px rgba(74, 46, 27, 0.06) !important;
}

.ale-megamenu-dropdown {
  will-change: opacity, transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s !important;
}

/* Homepage Hero Custom Overrides & Spacing Layout */
.ale-astrology-hero {
  background: #F5EDE0 !important;
  background-color: #F5EDE0 !important;
  border-bottom: 1.5px solid rgba(195, 122, 46, 0.18) !important;
  padding: 6.5rem 0 !important;
}

@media (max-width: 991px) {
  .ale-astrology-hero {
    padding: 4.5rem 0 !important;
  }
}
@media (max-width: 768px) {
  .ale-astrology-hero {
    padding: 3.5rem 0 !important;
  }
}
@media (max-width: 480px) {
  .ale-astrology-hero {
    padding: 2.5rem 0 !important;
  }
}

/* Premium Editorial Table Styling */
.ale-post-content-body table,
.ale-article-rich-body table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 32px 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    background-color: var(--color-bg-surface, #FFFDF9) !important;
    border: 1px solid var(--color-border, #E6DFD3) !important;
}

.ale-post-content-body th,
.ale-article-rich-body th {
    background-color: #FAF4E8 !important;
    color: var(--color-text-dark, #3C1F10) !important;
    font-weight: 700 !important;
    text-align: left !important;
    padding: 14px 18px !important;
    border-bottom: 2px solid var(--color-primary, #C37A2E) !important;
    font-family: var(--font-primary, sans-serif) !important;
    letter-spacing: 0.5px !important;
}

.ale-post-content-body td,
.ale-article-rich-body td {
    padding: 12px 18px !important;
    border-bottom: 1px solid rgba(195, 122, 46, 0.08) !important;
    color: var(--color-text-brown, #5C3D2E) !important;
    vertical-align: middle !important;
}

.ale-post-content-body tr:nth-child(even) td,
.ale-article-rich-body tr:nth-child(even) td {
    background-color: rgba(245, 237, 224, 0.25) !important; /* Soft alternating row striping */
}

.ale-post-content-body tr:hover td,
.ale-article-rich-body tr:hover td {
    background-color: rgba(195, 122, 46, 0.04) !important; /* Soft highlight on hover */
}

/* WordPress Gutenberg Block Alignment & Justification Support */
.aligncenter {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.alignleft {
    float: left !important;
    margin-right: 24px !important;
    margin-bottom: 16px !important;
}
.alignright {
    float: right !important;
    margin-left: 24px !important;
    margin-bottom: 16px !important;
}
.wp-block-button.aligncenter {
    display: flex !important;
    justify-content: center !important;
    margin: 24px auto !important;
}
.wp-block-button.alignleft {
    display: flex !important;
    justify-content: flex-start !important;
    margin: 24px auto 24px 0 !important;
}
.wp-block-button.alignright {
    display: flex !important;
    justify-content: flex-end !important;
    margin: 24px 0 24px auto !important;
}
.wp-block-buttons.aligncenter,
.wp-block-buttons.is-content-justification-center {
    display: flex !important;
    justify-content: center !important;
}
.wp-block-buttons.alignright,
.wp-block-buttons.is-content-justification-right {
    display: flex !important;
    justify-content: flex-end !important;
}
.wp-block-buttons.alignleft,
.wp-block-buttons.is-content-justification-left {
    display: flex !important;
    justify-content: flex-start !important;
}
.wp-block-buttons.is-content-justification-space-between {
    display: flex !important;
    justify-content: space-between !important;
}

/* --- AstroLeaf Custom Optimization Styles & Overrides --- */

/* 1. Form submit and search buttons mapping to .ale-btn-primary */
#submit,
.submit,
input[type="submit"],
button[type="submit"],
.wp-block-search__button,
.search-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #F97316 !important;
    color: #FFFFFF !important;
    padding: 10px 24px !important;
    font-family: var(--font-primary, 'Plus Jakarta Sans', sans-serif) !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    text-decoration: none !important;
    border: 1px solid #F97316 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35) !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    -webkit-text-fill-color: #FFFFFF !important;
}
#submit:hover,
.submit:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.wp-block-search__button:hover,
.search-submit:hover {
    background: #EA580C !important;
    border-color: #EA580C !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(249, 115, 22, 0.45) !important;
}

/* 2. Gutenberg Search Block Input and Box design (Glow border & inline display) */
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
    display: flex !important;
    align-items: stretch !important;
    gap: 4px !important;
    border: 1px solid var(--color-border, #E6DFD3) !important;
    background: var(--color-bg-surface, #FFFDF9) !important;
    padding: 4px !important;
    border-radius: 0px !important;
}
.wp-block-search.wp-block-search__button-inside .wp-block-search__input {
    width: 100% !important;
    margin-bottom: 0px !important;
    border: none !important;
    padding: 8px 12px !important;
    border-radius: 0px !important;
}
.wp-block-search.wp-block-search__button-inside .wp-block-search__button {
    margin: 0 !important;
    padding: 8px 16px !important;
    border: none !important;
    border-radius: 0px !important;
}

/* 3. Dynamic Calculator Responsive Stacking inside Sidebar Column at 991px */
@media (max-width: 991px) {
  .ale-sidebar-column .ale-calculator-card {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
  }
  .ale-sidebar-column .calc-card-action {
    width: 100% !important;
  }
  .ale-sidebar-column .ale-calculator-btn {
    width: 100% !important;
    text-align: center !important;
  }
}

/* 4. Remove the search box globally */
.wp-block-search,
.search-form,
.widget_search,
.ale-header-search {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}
@media (max-width: 480px) {
  .ale-astrology-hero {
    padding: 2.5rem 0 !important;
  }
}

/* Premium Editorial Table Styling */
.ale-post-content-body table,
.ale-article-rich-body table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 32px 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    background-color: var(--color-bg-surface, #FFFDF9) !important;
    border: 1px solid var(--color-border, #E6DFD3) !important;
}

.ale-post-content-body th,
.ale-article-rich-body th {
    background-color: #FAF4E8 !important;
    color: var(--color-text-dark, #3C1F10) !important;
    font-weight: 700 !important;
    text-align: left !important;
    padding: 14px 18px !important;
    border-bottom: 2px solid var(--color-primary, #C37A2E) !important;
    font-family: var(--font-primary, sans-serif) !important;
    letter-spacing: 0.5px !important;
}

.ale-post-content-body td,
.ale-article-rich-body td {
    padding: 12px 18px !important;
    border-bottom: 1px solid rgba(195, 122, 46, 0.08) !important;
    color: var(--color-text-brown, #5C3D2E) !important;
    vertical-align: middle !important;
}

.ale-post-content-body tr:nth-child(even) td,
.ale-article-rich-body tr:nth-child(even) td {
    background-color: rgba(245, 237, 224, 0.25) !important; /* Soft alternating row striping */
}

.ale-post-content-body tr:hover td,
.ale-article-rich-body tr:hover td {
    background-color: rgba(195, 122, 46, 0.04) !important; /* Soft highlight on hover */
}

/* WordPress Gutenberg Block Alignment & Justification Support */
.aligncenter {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.alignleft {
    float: left !important;
    margin-right: 24px !important;
    margin-bottom: 16px !important;
}
.alignright {
    float: right !important;
    margin-left: 24px !important;
    margin-bottom: 16px !important;
}
.wp-block-button.aligncenter {
    display: flex !important;
    justify-content: center !important;
    margin: 24px auto !important;
}
.wp-block-button.alignleft {
    display: flex !important;
    justify-content: flex-start !important;
    margin: 24px auto 24px 0 !important;
}
.wp-block-button.alignright {
    display: flex !important;
    justify-content: flex-end !important;
    margin: 24px 0 24px auto !important;
}
.wp-block-buttons.aligncenter,
.wp-block-buttons.is-content-justification-center {
    display: flex !important;
    justify-content: center !important;
}
.wp-block-buttons.alignright,
.wp-block-buttons.is-content-justification-right {
    display: flex !important;
    justify-content: flex-end !important;
}
.wp-block-buttons.alignleft,
.wp-block-buttons.is-content-justification-left {
    display: flex !important;
    justify-content: flex-start !important;
}
.wp-block-buttons.is-content-justification-space-between {
    display: flex !important;
    justify-content: space-between !important;
}

/* --- AstroLeaf Custom Optimization Styles & Overrides --- */

/* 1. Form submit and search buttons mapping to .ale-btn-primary */
#submit,
.submit,
input[type="submit"],
button[type="submit"],
.wp-block-search__button,
.search-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #F97316 !important;
    color: #FFFFFF !important;
    padding: 10px 24px !important;
    font-family: var(--font-primary, 'Plus Jakarta Sans', sans-serif) !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    text-decoration: none !important;
    border: 1px solid #F97316 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35) !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    -webkit-text-fill-color: #FFFFFF !important;
}
#submit:hover,
.submit:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.wp-block-search__button:hover,
.search-submit:hover {
    background: #EA580C !important;
    border-color: #EA580C !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(249, 115, 22, 0.45) !important;
}

/* 2. Gutenberg Search Block Input and Box design (Glow border & inline display) */
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
    display: flex !important;
    align-items: stretch !important;
    gap: 4px !important;
    border: 1px solid var(--color-border, #E6DFD3) !important;
    background: var(--color-bg-surface, #FFFDF9) !important;
    padding: 4px !important;
    border-radius: 0px !important;
}
.wp-block-search.wp-block-search__button-inside .wp-block-search__input {
    width: 100% !important;
    margin-bottom: 0px !important;
    border: none !important;
    padding: 8px 12px !important;
    border-radius: 0px !important;
}
.wp-block-search.wp-block-search__button-inside .wp-block-search__button {
    margin: 0 !important;
    padding: 8px 16px !important;
    border: none !important;
    border-radius: 0px !important;
}

/* 3. Dynamic Calculator Responsive Stacking inside Sidebar Column at 991px */
@media (max-width: 991px) {
  .ale-sidebar-column .ale-calculator-card {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
  }
  .ale-sidebar-column .calc-card-action {
    width: 100% !important;
  }
  .ale-sidebar-column .ale-calculator-btn {
    width: 100% !important;
    text-align: center !important;
  }
}

/* 4. Remove the search box globally */
.wp-block-search,
.search-form,
.widget_search,
.ale-header-search,
#wpadminbar #wp-admin-bar-search,
#wpadminbar li#wp-admin-bar-search {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}


/* Updated Control Panel Grid for responsiveness */
@media (min-width: 768px) {
  .control-panel-grid {
    grid-template-columns: minmax(280px, 1.2fr) minmax(240px, 1fr) minmax(300px, 1.1fr) !important;
  }
}

/* --- AstroLeaf Master Footer Design System --- */
.site-footer.ale-footer-master {
	background-color: #FAF6EE !important;
	border-top: none !important;
	color: #5C3D2E !important;
	font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
	padding: 1.25rem 1.5rem 0 1.5rem !important;
	margin-top: 0 !important;
	box-sizing: border-box !important;
	position: relative !important;
	z-index: 10 !important;
	display: block !important;
	width: 100% !important;
}

/* Eliminate any borders on page containers before footer — spacing is handled by .ale-main-homepage rule */
.site-content,
#content,
#main,
main,
.entry-content,
.ale-panchang-section {
	border-bottom: none !important;
	margin-bottom: 0 !important;
}

.site-footer.ale-footer-master .footer-container {
	max-width: 1360px !important;
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: 1.3fr repeat(4, 1fr) !important;
	gap: 2.25rem !important;
	padding-bottom: 2.25rem !important;
	box-sizing: border-box !important;
}

@media (max-width: 1024px) {
	.site-footer.ale-footer-master .footer-container {
		grid-template-columns: 1fr 1fr 1fr !important;
		gap: 1.75rem !important;
	}
}

@media (max-width: 768px) {
	.site-footer.ale-footer-master .footer-container {
		grid-template-columns: 1fr 1fr !important;
		gap: 1.5rem !important;
	}
}

@media (max-width: 540px) {
	.site-footer.ale-footer-master .footer-container {
		grid-template-columns: 1fr !important;
		gap: 1.25rem !important;
	}
}

.site-footer.ale-footer-master .footer-col {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	box-sizing: border-box !important;
}

.site-footer.ale-footer-master .footer-brand-col {
	gap: 1rem !important;
}

.site-footer.ale-footer-master .footer-brand-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	text-decoration: none !important;
}

.site-footer.ale-footer-master .footer-brand-logo {
	width: 34px !important;
	height: 34px !important;
	object-fit: contain !important;
}

/* Matching Header Branding Color */
.site-footer.ale-footer-master .footer-brand-wordmark {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 1.45rem !important;
	font-weight: 800 !important;
	color: #C37A2E !important; /* Exact Header Primary Branding Color */
	letter-spacing: -0.4px !important;
}

.site-footer.ale-footer-master .footer-tagline {
	font-size: 0.88rem !important;
	line-height: 1.6 !important;
	color: #5C3D2E !important;
	margin: 0 !important;
	max-width: 300px !important;
}

.site-footer.ale-footer-master .footer-social-links {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	margin-top: 0.2rem !important;
}

.site-footer.ale-footer-master .social-icon-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	border: 1px solid #E6DFD3 !important;
	border-radius: 50% !important;
	color: #5C3D2E !important;
	background-color: #FFFDF9 !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	text-decoration: none !important;
}

.site-footer.ale-footer-master .social-icon-link:hover {
	border-color: #991B1B !important;
	color: #FFFFFF !important;
	background-color: #991B1B !important;
	transform: translateY(-2px) !important;
}

/* Clean Heading Titles (NO border-bottom line to prevent secondary lines) */
.site-footer.ale-footer-master .footer-col h3 {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: #3C1F10 !important;
	margin: 0 0 0.35rem 0 !important;
	padding-bottom: 0 !important;
	border-bottom: none !important; /* Removed heading border line */
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.site-footer.ale-footer-master .footer-links {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.5rem !important;
}

.site-footer.ale-footer-master .footer-links li {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* --- Smooth Hover with Subtle Right Shift and 1px Line --- */
.site-footer.ale-footer-master .footer-links a,
.site-footer.ale-footer-master .legal-nav a {
	color: #4A3525 !important;
	text-decoration: none !important;
	font-size: 0.86rem !important;
	font-weight: 500 !important;
	position: relative !important;
	display: inline-block !important;
	line-height: 1.4 !important;
	padding-bottom: 1px !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.site-footer.ale-footer-master .footer-links a::after,
.site-footer.ale-footer-master .legal-nav a::after {
	content: '' !important;
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 1px !important;
	background-color: #991B1B !important; /* Maroon Hover Accent */
	transform: scaleX(0) !important;
	transform-origin: left !important;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.site-footer.ale-footer-master .footer-links a:hover,
.site-footer.ale-footer-master .legal-nav a:hover {
	color: #991B1B !important;
	transform: translateX(3px) !important;
	text-decoration: none !important;
}

.site-footer.ale-footer-master .footer-links a:hover::after,
.site-footer.ale-footer-master .legal-nav a:hover::after {
	transform: scaleX(1) !important;
}

/* Subfooter Container (NO border-top to prevent double border) */
.site-footer.ale-footer-master .footer-bottom {
	background-color: transparent !important;
	border-top: none !important; /* Removed subfooter border line */
	padding: 1.5rem 1.5rem 2rem 1.5rem !important;
	margin: 0 -1.5rem !important;
	width: calc(100% + 3rem) !important;
	box-sizing: border-box !important;
}

.site-footer.ale-footer-master .bottom-container {
	max-width: 1360px !important;
	margin: 0 auto !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.85rem !important;
}

/* --- Left Aligned Unboxed Humanized Disclaimer --- */
.site-footer.ale-footer-master .disclaimer-text {
	font-size: 0.82rem !important;
	line-height: 1.6 !important;
	color: #6C5D4F !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	text-align: left !important;
	max-width: 100% !important;
}

.site-footer.ale-footer-master .copyright-strip {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 1rem !important;
	font-size: 0.83rem !important;
	color: #755E3D !important;
	padding-top: 0.4rem !important;
	border-top: none !important;
}

.site-footer.ale-footer-master .legal-nav {
	display: flex !important;
	align-items: center !important;
	gap: 1.5rem !important;
}

/* --- Global Brand Link Styling & Square Corners Enforcement --- */
a {
    color: #C37A2E;
    text-decoration: underline;
    text-decoration-color: rgba(195, 122, 46, 0.4);
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

/* ==========================================================================
   Astroleaf Navigation & Universal Link Hover System (Brand Amber Gold & Line Hover)
   ========================================================================== */

/* Universal Link & Content Hover Overrides (Minimal Warm Terracotta #C37A2E — Zero Redness) */
a:not(.ale-btn):not(.ale-btn-cookie-primary):not(.ale-btn-cookie-secondary):not(.btn):not(.button):not(.al-btn-submit):not(.al-btn-primary):hover,
a:not(.ale-btn):not(.ale-btn-cookie-primary):not(.ale-btn-cookie-secondary):not(.btn):not(.button):not(.al-btn-submit):not(.al-btn-primary):focus {
    color: #C37A2E !important;
    text-decoration-color: #C37A2E !important;
}

/* Article & Card Title Minimal Hover System */
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.entry-title a, .post-title a, .card-title a, article h2 a, article h3 a {
    color: #3C1F10 !important;
    transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
.entry-title a:hover, .post-title a:hover, .card-title a:hover, article h2 a:hover, article h3 a:hover {
    color: #C37A2E !important;
    text-decoration: none !important;
}

/* Header, Footer & Navigation Link Exclusions */
.ale-header-navigation a,
.ale-footer-master a,
.ale-btn,
.btn-submit,
.vp-btn-submit,
.btn-upsell-primary,
.dropdown-link-item,
.menu-link-top,
.menu-link-secondary,
.footer-brand-link {
    text-decoration: none !important;
}

/* Header Navigation Links */
.menu-link-top {
    position: relative !important;
    color: #3C1F10 !important;
    font-family: var(--font-primary, 'Plus Jakarta Sans', sans-serif) !important;
    font-weight: 700 !important;
    padding: 6px 0 !important;
    transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.menu-link-secondary {
    position: relative !important;
    color: #5C3D2E !important;
    font-family: var(--font-primary, 'Plus Jakarta Sans', sans-serif) !important;
    font-weight: 600 !important;
    font-size: 0.88rem !important;
    padding: 6px 4px !important;
    transition: color 0.15s ease !important;
}

.menu-link-secondary:hover,
.menu-link-secondary:focus {
    color: #C37A2E !important;
    text-decoration: none !important;
}

.menu-link-secondary::after {
    display: none !important;
}

/* Animated Golden Underline Line for Primary Links — shimmer on hover */
.menu-link-top::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 0% !important;
    height: 2.5px !important;
    background: linear-gradient(90deg, #C37A2E, #E98C36, #C37A2E) !important;
    background-size: 200% 100% !important;
    border-radius: 4px !important;
    transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.menu-link-top:hover,
.menu-item-has-children:hover > .menu-link-top {
    color: #C37A2E !important;
}

.menu-link-top:hover::after,
.menu-item-has-children:hover > .menu-link-top::after {
    width: 100% !important;
}

/* Chevron arrow rotation on dropdown hover */
.menu-link-top .chevron-arrow {
    transition: transform 0.3s ease, stroke 0.3s ease !important;
}

.menu-item-has-children:hover > .menu-link-top .chevron-arrow {
    transform: rotate(180deg) !important;
    stroke: #C37A2E !important;
}

/* Dropdown Menu Item Hover */
.dropdown-link-item {
    color: #5C3D2E !important;
    transition: all 0.2s ease !important;
}

.dropdown-link-item:hover {
    color: #C37A2E !important;
    background-color: rgba(195, 122, 46, 0.08) !important;
    padding-left: 18px !important;
}

/* Scoped Content & Calculator Article Links */
.jaimini-hub-body a:not(.btn-submit):not(.jaimini-badge),
.vp-content-section a:not(.vp-btn-submit),
.content-section a,
#calc-results a,
.article-content a,
.entry-content a,
.ale-page-content-body a {
    color: #C37A2E !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(195, 122, 46, 0.4) !important;
    font-weight: 600 !important;
}

.jaimini-hub-body a:not(.btn-submit):not(.jaimini-badge):hover,
.vp-content-section a:not(.vp-btn-submit):hover,
.content-section a:hover,
#calc-results a:hover,
.article-content a:hover,
.entry-content a:hover,
.ale-page-content-body a:hover {
    color: #C37A2E !important;
    text-decoration-color: #C37A2E !important;
}

/* Scoped Breadcrumb Links */
.astroleaf-breadcrumb-bar a,
.jaimini-breadcrumbs-container a,
.vp-breadcrumbs a {
    color: #6B5B4D !important;
    text-decoration: none !important;
}
.astroleaf-breadcrumb-bar a:hover,
.jaimini-breadcrumbs-container a:hover,
.vp-breadcrumbs a:hover {
    color: #C37A2E !important;
}



/* Remove Search Icon & Search Node from WP Admin Bar on Frontend for Administrators */
#wpadminbar #wp-admin-bar-search,
#wpadminbar li#wp-admin-bar-search,
#wpadminbar .ab-item .ab-icon[class*="search"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ==========================================================================
   AstroLeaf Universal Calculator Form Input & Field Baseline (No Icon Overlap)
   ========================================================================== */
.sds-field-wrapper,
.pkr-field-wrapper,
.aap-field-wrapper,
.cd-input-wrapper,
.yoga-field-wrapper,
.btr-field-wrapper {
    position: relative !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

.sds-field-icon,
.pkr-field-icon,
.aap-field-icon,
.cd-input-icon,
.yoga-field-icon,
.btr-field-icon {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
    width: 20px !important;
    height: 20px !important;
    color: #65250C !important;
    fill: #65250C !important;
    stroke: #65250C !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.95rem !important;
}

.sds-field-icon i,
.sds-field-icon svg,
.pkr-field-icon i,
.pkr-field-icon svg,
.aap-field-icon i,
.aap-field-icon svg,
.cd-input-icon i,
.cd-input-icon svg,
.yoga-field-icon i,
.yoga-field-icon svg,
.btr-field-icon i,
.btr-field-icon svg {
    color: #65250C !important;
    fill: #65250C !important;
    stroke: #65250C !important;
    font-size: 1rem !important;
    width: 18px !important;
    height: 18px !important;
    line-height: 1 !important;
}

.aap-input,
.sds-input,
.pkr-input,
.kp-input,
.yg-input,
.btr-input,
.prashna-input,
input.aap-input,
input.sds-input,
input.kp-input,
input.btr-input,
input.prashna-input,
input[type="text"].kp-input,
input[type="number"].kp-input,
input[type="date"].kp-input,
input[type="time"].kp-input,
select.kp-select,
select.kp-input,
select.prashna-select {
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    line-height: 48px !important;
    padding: 0 14px 0 14px !important; /* Default 14px flush left padding */
    margin: 0 !important;
    border: 1.5px solid #65250C !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    font-family: 'Be Vietnam Pro', system-ui, -apple-system, sans-serif !important;
    color: #65250C !important;
    background-color: #FFF7E8 !important;
    background: #FFF7E8 !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

/* Apply 42px left padding ONLY when the field wrapper explicitly contains an icon */
.cd-input-wrapper:has(> .cd-input-icon, > i, > svg, > span > svg) input,
.vnc-field-wrapper:has(> .vnc-field-icon, > i, > svg, > span > svg) input,
.lc-field-wrapper:has(> .lc-field-icon, > i, > svg, > span > svg) input,
.input-icon-wrap:has(> i, > svg, > span > svg) input,
.places-autocomplete-wrap:has(> i, > svg) input,
div:has(> i.fa-solid) > input.aap-input,
div:has(> i.fa-solid) > input.ale-input {
    padding-left: 42px !important;
}

.kp-input:focus,
.prashna-input:focus,
input.kp-input:focus,
input[type="text"].kp-input:focus,
input[type="date"].kp-input:focus,
input[type="time"].kp-input:focus {
    border-color: #65250C !important;
    background-color: #FFF7E8 !important;
    box-shadow: 0 0 0 3px rgba(101, 37, 12, 0.18) !important;
}

/* ==========================================================================
   AstroLeaf Universal Calculator Hero Banner System (Baseline Contrast Rules)
   ========================================================================== */
.pkr-hero-banner {
    position: relative !important;
    background: linear-gradient(135deg, #65250C 0%, #4A1A08 100%) !important;
    color: #FFFFFF !important;
    padding: 46px 20px !important;
    text-align: center !important;
    overflow: hidden !important;
    border-bottom: 2px solid #65250C !important;
}

.pkr-hero-banner:not(.ale-hero-section):not(.prc-hero) h1,
.pkr-hero-banner:not(.ale-hero-section):not(.prc-hero) .pkr-hero-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: clamp(2.1rem, 4.5vw, 3.1rem) !important;
    font-weight: 800 !important;
    color: #FFBA5F !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    -webkit-text-fill-color: #FFBA5F !important;
}

.pkr-hero-banner:not(.ale-hero-section):not(.prc-hero) p,
.pkr-hero-banner:not(.ale-hero-section):not(.prc-hero) .pkr-hero-sub {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 1.05rem !important;
    color: #FFE2C2 !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
    text-align: center !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #FFE2C2 !important;
}

/* Light Parchment Hero Sections (e.g. Horoscopes Directory, Planetary Retrograde, Light Hero Containers) */
.ale-hero-section .ale-hero-title,
.ale-hero-section .pkr-hero-title,
.prc-hero .prc-hero-title,
.prc-hero .pkr-hero-title,
.ale-hero-title.light-hero-title,
.pkr-hero-title.light-hero-title {
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-size: clamp(2.1rem, 4.5vw, 3.1rem) !important;
    font-weight: 800 !important;
    color: #65250C !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    -webkit-text-fill-color: #65250C !important;
}

.ale-hero-section .ale-hero-desc,
.ale-hero-section .pkr-hero-sub,
.prc-hero .prc-hero-desc,
.prc-hero .pkr-hero-sub,
.ale-hero-desc.light-hero-sub,
.pkr-hero-sub.light-hero-sub {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 1.05rem !important;
    color: #5C3D2E !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
    text-align: center !important;
    opacity: 0.95 !important;
    -webkit-text-fill-color: #5C3D2E !important;
}

/* ==========================================================================
   AstroLeaf Universal Educational Articles, Lists, Tables & FAQ System
   ========================================================================== */
.wy-seo-articles,
.ale-seo-articles {
    max-width: 840px !important;
    margin: 50px auto 0 auto !important;
    padding: 0 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.wy-article-section {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-bottom: 36px !important;
    position: relative !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}

.wy-article-badge {
    display: inline-block !important;
    background: #65250C !important;
    color: #FFBA5F !important;
    font-weight: 800 !important;
    font-size: 0.78rem !important;
    padding: 3px 12px !important;
    border-radius: 12px !important;
    margin-bottom: 14px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}

.wy-article-h2 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    color: #65250C !important;
    margin: 0 0 14px 0 !important;
    line-height: 1.3 !important;
}

.wy-article-body p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 0.96rem !important;
    line-height: 1.75 !important;
    color: #4A2B11 !important;
    margin-bottom: 14px !important;
}

.vng-bullet-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 18px 0 !important;
}

.vng-bullet-list li {
    position: relative !important;
    padding-left: 26px !important;
    margin-bottom: 12px !important;
    line-height: 1.7 !important;
    font-size: 0.95rem !important;
    color: #4A2B11 !important;
    font-family: 'Be Vietnam Pro', sans-serif !important;
}

.vng-bullet-list li::before {
    content: "✦" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #65250C !important;
    font-size: 0.9rem !important;
}

/* Universal Responsive Comparison & Matrix Tables with Horizontal Smooth Scroller */
.wy-table-scroll-wrapper,
.wy-table-responsive,
.ale-table-scroll-wrapper,
.table-responsive,
.table-scroll-container,
.entry-content .wp-block-table,
.ale-post-content-body .wp-block-table {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 12px !important;
    border: 1.5px solid #65250C !important;
    background: #FFFDF9 !important;
    margin: 24px 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    box-shadow: 0 4px 20px rgba(101, 37, 12, 0.04) !important;
}

/* Styled subtle scrollbars for touch & desktop devices */
.wy-table-scroll-wrapper::-webkit-scrollbar,
.wy-table-responsive::-webkit-scrollbar,
.ale-table-scroll-wrapper::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar,
.entry-content .wp-block-table::-webkit-scrollbar {
    height: 7px !important;
}

.wy-table-scroll-wrapper::-webkit-scrollbar-track,
.wy-table-responsive::-webkit-scrollbar-track,
.ale-table-scroll-wrapper::-webkit-scrollbar-track,
.table-responsive::-webkit-scrollbar-track,
.entry-content .wp-block-table::-webkit-scrollbar-track {
    background: #FAF6EF !important;
    border-radius: 8px !important;
}

.wy-table-scroll-wrapper::-webkit-scrollbar-thumb,
.wy-table-responsive::-webkit-scrollbar-thumb,
.ale-table-scroll-wrapper::-webkit-scrollbar-thumb,
.table-responsive::-webkit-scrollbar-thumb,
.entry-content .wp-block-table::-webkit-scrollbar-thumb {
    background: #D97706 !important;
    border-radius: 8px !important;
}

.wy-comparison-table,
.wy-table,
.ale-table-scroll-wrapper table,
.table-responsive table,
.wp-block-table table {
    width: 100% !important;
    min-width: 580px !important; /* Preserves comfortable column width on mobile without compaction */
    border-collapse: collapse !important;
    text-align: left !important;
    font-size: 0.90rem !important;
    font-family: 'Be Vietnam Pro', sans-serif !important;
}

.wy-comparison-table th,
.wy-table th,
.ale-table-scroll-wrapper th,
.table-responsive th,
.wp-block-table th {
    background: #65250C !important;
    color: #FFFFFF !important;
    padding: 14px 18px !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    border-bottom: 2px solid #501D09 !important;
    white-space: nowrap !important;
}

.wy-comparison-table td,
.wy-table td,
.ale-table-scroll-wrapper td,
.table-responsive td,
.wp-block-table td {
    padding: 14px 18px !important;
    border-bottom: 1px solid #E6DFD5 !important;
    color: #3B261E !important;
    vertical-align: middle !important;
    line-height: 1.65 !important;
    background: #FFFDF9 !important;
}

.wy-comparison-table tbody tr:nth-child(even) td,
.wy-table tbody tr:nth-child(even) td,
.ale-table-scroll-wrapper tbody tr:nth-child(even) td,
.table-responsive tbody tr:nth-child(even) td,
.wp-block-table tbody tr:nth-child(even) td {
    background: #FFF7E8 !important;
}

.wy-comparison-table tbody tr:hover td,
.wy-table tbody tr:hover td,
.ale-table-scroll-wrapper tbody tr:hover td,
.table-responsive tbody tr:hover td,
.wp-block-table tbody tr:hover td {
    background: #FFEFD6 !important;
}

/* FAQ Accordion System */
.pkr-faq-section {
    max-width: 840px !important;
    margin: 40px auto 60px auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.pkr-section-header {
    text-align: center !important;
    margin-bottom: 28px !important;
}

.pkr-section-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 1.75rem !important;
    font-weight: 800 !important;
    color: #65250C !important;
    margin: 8px 0 !important;
}

.pkr-faq-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.pkr-faq-item {
    background: #FFFBF4;
    border: 1.5px solid #65250C;
    border-radius: 10px;
    overflow: hidden;
}

.pkr-faq-question {
    padding: 16px 20px;
    font-family: 'Outfit', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #65250C;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: transparent;
    border: none;
    width: 100%;
}

.pkr-faq-answer {
    display: none;
    padding: 0 20px 16px 20px;
    color: #4A2B11;
    font-size: 0.94rem;
    line-height: 1.7;
}

.pkr-faq-item.active .pkr-faq-answer {
    display: block;
}

/* ==========================================================================
   ASTROLEAF ENTERPRISE UNIVERSAL CALCULATOR DESIGN SYSTEM (MILESTONE M1)
   ========================================================================== */

.astroleaf-calc-page {
  background-color: var(--astroleaf-bg-page) !important;
  color: var(--astroleaf-color-primary);
  min-height: 100vh;
}

.pkr-hero-banner,
.ale-calc-hero {
  background: linear-gradient(135deg, #65250C 0%, #4A1B09 100%) !important;
  color: #FFF;
  padding: 48px 24px;
  text-align: center;
  border-bottom: 2px solid #FFBA5F;
}

h1.pkr-hero-title {
  font-family: 'Be Vietnam Pro', sans-serif !important;
  font-size: 2.25rem !important;
  font-weight: 800 !important;
  color: #FFBA5F !important;
}

.aap-form-card {
  background-color: var(--astroleaf-bg-card) !important;
  border: 1.5px solid #65250C !important;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 4px 16px rgba(101, 37, 12, 0.08);
}

.aap-input {
  background-color: var(--astroleaf-bg-card-alt) !important;
  border: 1.5px solid #65250C !important;
  color: #65250C !important;
  border-radius: 6px;
}

.aap-btn-submit,
.ale-btn-primary {
  background: #F97316 !important;
  color: #FFFFFF !important;
  border: 1px solid #F97316 !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35) !important;
  transition: all 0.2s ease !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.aap-btn-submit:hover,
.ale-btn-primary:hover {
  background: #EA580C !important;
  border-color: #EA580C !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(249, 115, 22, 0.45) !important;
}

/* ==========================================================================
   ASTROLEAF UNIVERSAL FORM ERROR STYLING SYSTEM (HIGH SPECIFICITY OVERRIDES)
   Resolves form error CSS conflicts across all calculator & report forms
   ========================================================================== */

/* 1. Input Field Error States */
html body input.input-error,
html body select.input-error,
html body textarea.input-error,
html body .aap-input.input-error,
html body select.aap-select.input-error,
html body .al-input.input-error,
html body select.al-select.input-error,
html body .cd-input.input-error,
html body select.cd-select.input-error,
html body .wy-input.wy-input-error,
html body select.wy-select.wy-input-error,
html body .vp-input-error,
html body .udc-input.input-error,
html body select.udc-select.input-error,
html body .ldc-input.input-error,
html body select.ldc-select.input-error,
html body .ale-input-error,
html body .is-invalid,
html body .form-error,
html body input:invalid:focus,
html body select:invalid:focus {
  border: 1.5px solid #DC2626 !important;
  border-color: #DC2626 !important;
  background-color: #FEF2F2 !important;
  color: #991B1B !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15) !important;
}

/* Clear error states on focus */
html body input.input-error:focus,
html body select.input-error:focus,
html body textarea.input-error:focus {
  outline: none !important;
  border-color: #B91C1C !important;
  box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.2) !important;
}

/* 2. Universal Error Notice Banner Containers */
html body .wy-error-banner,
html body .cd-error-banner,
html body .ck-error-banner,
html body .vng-error-banner,
html body .udc-error-banner,
html body #form-error-banner,
html body #autocomplete-warning,
html body #wy-error-notice,
html body #vng-error-banner,
html body #udcErrorBanner,
html body .vr-status-msg.error,
html body .astroleaf-auth-status.error,
html body .al-form-error,
html body .form-error-message,
html body .error-notice {
  background: #FEF2F2 !important;
  border: 1.5px solid #FCA5A5 !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  margin-top: 12px !important;
  margin-bottom: 18px !important;
  color: #991B1B !important;
  font-family: 'Be Vietnam Pro', -apple-system, sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Display flex layout inside error banners when active */
html body .wy-error-inner,
html body .cd-error-inner,
html body .ck-error-inner,
html body .vng-error-inner,
html body .udc-error-inner,
html body .form-error-inner,
html body .error-notice-inner {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Error icon styling */
html body .wy-error-icon,
html body .cd-error-icon,
html body .ck-error-icon,
html body .vng-error-icon,
html body .error-icon {
  font-size: 1.25rem !important;
  color: #DC2626 !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

/* Error text and headings */
html body .wy-error-text,
html body .cd-error-text,
html body .ck-error-text,
html body .vng-error-text,
html body .error-text {
  color: #991B1B !important;
  font-size: 0.88rem !important;
  margin: 0 !important;
}

html body .wy-error-text p,
html body .cd-error-text p,
html body .ck-error-text p,
html body .vng-error-text p,
html body .error-text p {
  color: #7F1D1D !important;
  font-size: 0.86rem !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

html body .wy-error-text strong,
html body .cd-error-text strong,
html body .ck-error-text strong,
html body .vng-error-text strong,
html body .error-text strong {
  color: #991B1B !important;
  font-size: 0.92rem !important;
  display: block !important;
  margin-bottom: 2px !important;
}

/* ==========================================================================
   AstroLeaf Sitewide Text Selection Color (Light Warm Amber #FFE4BC)
   ========================================================================== */
::-moz-selection {
    background: #FFE4BC !important;
    color: #65250C !important;
}
::selection {
    background: #FFE4BC !important;
    color: #65250C !important;
}

/* ==========================================================================
   NAV + FOOTER REDESIGN (task #6)
   Appended last via ale-main-style so it wins the cascade over modules.css.
   Scope: header brand lockup, primary CTA sizing, mobile drawer CTAs,
   light footer link polish. Nav link hover/megamenu styling already exists
   above (see .menu-link-top rules) and is intentionally left untouched.
   ========================================================================== */

/* --- Brand wordmark & Logo styling (Header) ---
   Styling harmonized with footer branding ('Playfair Display', 800 weight, #2E1836).
   Ensures stable vertical optical alignment with logo icon on desktop and mobile. */
.ale-header-navigation {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease, box-shadow 0.2s ease !important;
    transform: translate3d(0, 0, 0) !important;
    will-change: transform !important;
}

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

.ale-header-logo .ale-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    gap: 0.55rem !important;
}

.ale-header-logo .ale-logo-image {
    width: 36px !important;
    height: 36px !important;
    object-fit: contain !important;
    display: block !important;
    flex-shrink: 0 !important;
    transform: translateY(-1.5px) !important;
}

.ale-header-logo .ale-logo-wordmark {
    display: inline-flex !important;
    align-items: center !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 1.55rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
    color: #2E1836 !important;
    margin: 0 !important;
    background: none !important;
    -webkit-text-fill-color: #2E1836 !important;
    white-space: nowrap !important;
    transition: color 0.2s ease !important;
}

.ale-logo-link:hover .ale-logo-wordmark {
    color: #C37A2E !important;
    -webkit-text-fill-color: #C37A2E !important;
}

@media (max-width: 991px) {
    .ale-header-navigation {
        position: sticky !important;
        top: 0 !important;
        transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
        will-change: transform !important;
    }
    .ale-header-navigation.nav-hidden {
        transform: translate3d(0, -100%, 0) !important;
    }
    .ale-header-logo .ale-logo-image {
        width: 32px !important;
        height: 32px !important;
        transform: translateY(-1px) !important;
    }
    .ale-header-logo .ale-logo-wordmark {
        display: inline-flex !important;
        font-size: 1.35rem !important;
        color: #2E1836 !important;
        -webkit-text-fill-color: #2E1836 !important;
        position: static !important;
        transform: none !important;
    }
}

@media (max-width: 420px) {
    .ale-header-logo .ale-logo-wordmark {
        font-size: 1.22rem !important;
    }
}

.ale-drawer-brand-text {
    display: inline-flex !important;
    align-items: center !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 1.45rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
    color: #2E1836 !important;
    margin: 0 !important;
    background: none !important;
    -webkit-text-fill-color: #2E1836 !important;
    white-space: nowrap !important;
}

/* Suppress WordPress block site-title that can bleed through the sticky
   header's will-change:transform compositing layer on mobile browsers. */
.wp-block-site-title,
.wp-block-site-logo:not(.ale-logo-image) {
    display: none !important;
    visibility: hidden !important;
}

/* --- Primary conversion CTA in the header (desktop) ---
   Inherits the global gradient from .ale-btn-global-primary; here we only
   right-size it for the nav bar and hide it once the hamburger takes over. */
.ale-header-cta.ale-btn-global-primary {
    padding: 9px 18px !important;
    font-size: 0.82rem !important;
    margin-left: 0.5rem !important;
    white-space: nowrap !important;
}
.ale-header-cta.ale-btn-global-primary i {
    font-size: 0.95em !important;
}
@media (max-width: 991px) {
    .ale-header-cta.ale-btn-global-primary { display: none !important; }
}

/* --- Mobile drawer conversion CTAs ---
   .ale-drawer-cta is the gradient primary (inherits the global button); the
   secondary is a matching amber outline button. */
.ale-drawer-cta-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.65rem !important;
    padding: 1.1rem 1.25rem 1.35rem !important;
    margin-top: 0.5rem !important;
    border-top: 1px solid rgba(195, 122, 46, 0.18) !important;
}
.ale-drawer-cta.ale-btn-global-primary {
    width: 100% !important;
    justify-content: center !important;
    padding: 0.85rem 1rem !important;
    font-size: 0.95rem !important;
}
.ale-drawer-cta-secondary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    width: 100% !important;
    padding: 0.8rem 1rem !important;
    border: 1.5px solid #F97316 !important;
    border-radius: 6px !important;
    color: #C37A2E !important;
    background: transparent !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}
.ale-drawer-cta-secondary:hover,
.ale-drawer-cta-secondary:focus {
    background: #C37A2E !important;
    color: #FFFFFF !important;
}

/* --- Footer: light polish only (structure/columns already solid) ---
   Smooth the link hover to the brand amber. */
.ale-footer-master a:not(.footer-brand-link):not(.ale-btn-global-primary) {
    transition: color 0.2s ease !important;
}
.ale-footer-master a:not(.footer-brand-link):not(.ale-btn-global-primary):hover {
    color: #C37A2E !important;
}

/* ==========================================================================
   LIGHTHOUSE PERFORMANCE OPTIMIZATION LAYER
   ========================================================================== */

/* 1. Contain paint/layout on card/section boundaries — prevents full-page reflow */
.ale-report-card,
.ale-step-card,
.ale-faq-item,
.ale-problem-card {
  contain: layout style !important;
}

/* 2. will-change only on true animation targets */
.ale-megamenu-dropdown {
  will-change: opacity, transform !important;
}

.pkr-zodiac-wheel-rotating,
.celestial-rotating-wheel,
[class*="zodiac-wheel-rotating"] {
  will-change: transform !important;
  contain: layout style !important;
}

/* 3. Slow wheel spin from 60s to 90s — still imperceptibly smooth, saves GPU */
[class*="zodiac-wheel-rotating"] {
  animation-duration: 90s !important;
}

/* 4. Compositor-only hover transitions on cards — with golden left-border accent */
.ale-report-card,
.ale-problem-card {
  border-left: 3px solid transparent !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-left-color 0.2s ease !important;
}

.ale-report-card:hover,
.ale-problem-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 30px rgba(74, 46, 27, 0.12) !important;
  border-left-color: #C37A2E !important;
}

/* 5. Remove filter:brightness from button hover states — triggers paint */
.ale-btn-global-primary:hover,
.ale-btn-primary:hover,
.ale-btn-hero-primary:hover,
.ale-btn-submit:hover,
.al-pay-razorpay-btn:hover,
.btn-upsell-primary:hover,
button[type="submit"]:hover {
  filter: none !important;
}

/* 6. Prevent layout shift from images and eliminate white edges below report covers */
.ale-card-visual-frame {
  background: transparent !important;
  border-radius: 12px 12px 0 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ale-card-flat-book {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.ale-book-cover-img,
.ale-report-card img,
.ale-hero-book-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  background-color: transparent !important;
  box-shadow: 0 6px 18px rgba(74, 46, 27, 0.12) !important;
}

/* 7. prefers-reduced-motion: kill-switch for accessibility & battery-saving devices */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  [class*="zodiac-wheel-rotating"],
  .celestial-rotating-wheel {
    animation: none !important;
    transform: none !important;
  }
}

/* 8. Font rendering */
body {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeSpeed !important;
}

/* ==========================================================================
   ASTROLEAF ENHANCED ANIMATIONS & BUTTON COLOUR FIXES
   Appended last so these rules win cascade order.
   All animations respect prefers-reduced-motion via the kill-switch above.
   ========================================================================== */

/* ── 1. Secondary / Outline Buttons — Crisp Orange Outline ── */
.ale-btn-hero-secondary,
.ale-btn-secondary,
.ale-btn-prev,
.btn-upsell-secondary,
.al-rep-sample-btn {
  background: #FFFFFF !important;
  color: #F97316 !important;
  border: 1.5px solid #F97316 !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
  -webkit-text-fill-color: #F97316 !important;
}
.ale-btn-hero-secondary:hover,
.ale-btn-secondary:hover,
.ale-btn-prev:hover,
.btn-upsell-secondary:hover,
.al-rep-sample-btn:hover {
  background: #F97316 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  border-color: #F97316 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35) !important;
}

/* ── 2. Primary button guard — ensure gradient never falls back to dark ── */
.ale-btn-global-primary,
.ale-btn-hero-primary,
.ale-btn-primary,
.ale-btn-submit,
.ale-btn-next {
  background: #F97316 !important;
  color: #FFFFFF !important;
  border: 1px solid #F97316 !important;
}

/* ── 3. Amber glow-pulse on CTA buttons ── */
@keyframes aleGlowPulse {
  0%, 100% { box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35); }
  50%       { box-shadow: 0 4px 24px rgba(195, 122, 46, 0.58); }
}
.ale-btn-global-primary,
.ale-btn-hero-primary {
  animation: aleGlowPulse 3s ease-in-out infinite;
  /* will-change intentionally omitted — box-shadow is compositor-promoted in most browsers */
}

/* ── 4. Shimmer slide on nav underline when visible ── */
@keyframes aleShimmerSlide {
  0%   { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}
.menu-link-top:hover::after,
.menu-item-has-children:hover > .menu-link-top::after {
  animation: aleShimmerSlide 1.8s linear infinite !important;
}

/* ── 5. Live transit dot pulse ── */
@keyframes aleLivePulse {
  0%, 100% { opacity: 1;   transform: scale(1); }
  50%       { opacity: 0.6; transform: scale(0.85); }
}
.ale-transit-live-dot {
  animation: aleLivePulse 1.5s ease-in-out infinite !important;
}

/* ── 6. Scroll-reveal fade-in (CSS base — JS toggles .ale-anim-visible) ── */
.ale-anim-fadein {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.ale-anim-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ── 7. Service card subtle lift on hover ── */
.ale-service-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.ale-service-card:hover {
  transform: translateY(-3px) scale(1.01) !important;
  box-shadow: 0 8px 20px rgba(195, 122, 46, 0.12) !important;
}
/* Override: keep the inner CTA button stationary */
.ale-service-card:hover .ale-service-cta-btn {
  transform: none !important;
  box-shadow: none !important;
}

/* Universal Mobile Viewport Overflow Protection */
@media (max-width: 768px) {
    html, body {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
    iframe, canvas, svg, .horo-details, .ptd-grid-container {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Universal Mobile Table Horizontal Scroller */
    .table-responsive,
    .wy-table-scroll-wrapper,
    .wy-table-responsive,
    .ale-table-scroll-wrapper,
    .wp-block-table,
    .ale-panchang-section .table-container,
    .entry-content table,
    .ale-post-content-body table,
    .ale-article-rich-body table {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        display: block !important;
        box-sizing: border-box !important;
    }
    
    .wy-comparison-table,
    .wy-table,
    .ale-table-scroll-wrapper table,
    .table-responsive table,
    .choghadiya-table,
    .dasha-table,
    .horo-table,
    .cd-table,
    .ptd-table,
    .ry-minimal-table {
        min-width: 540px !important;
        width: 100% !important;
    }
}

/* ==========================================================================
   ASTROLEAF MASTER UNIVERSAL BUTTON THEME (STANDARDIZED VIBRANT ORANGE)
   Applies Homepage Gold-Standard Orange (#F97316 / #EA580C) across all
   calculators, consultation bookings, reports, checkout, and global CTAs.
   STRICT EXCLUSION: User Dashboard is 100% isolated and preserved.
   ========================================================================== */

/* 1. Primary Action & Submission Buttons */
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .pkr-calc-submit-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .calc-submit-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .calc-submit-button,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .aap-btn-submit,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .vng-submit-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .loshu-btn-submit,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .kp-btn-calc,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .cd-btn-calculate,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ck-btn-submit,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .hora-btn-submit,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .chogh-btn-submit,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .sd-btn-calc,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .sp-btn-calc,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .prashna-btn-submit,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btr-btn-submit,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-calculate,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-calculate-kundli,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-generate-report,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-cta-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-book-now,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-package-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-book-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-submit-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-form-submit,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-consult-book,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-pay-razorpay-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) #al-pay-trigger-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-checkout-pay,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-rep-get-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-rep-card-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-rep-hero-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-upsell-primary,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-report-buy,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-r-teal,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-auth-btn-submit,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-404-home-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-footer-newsletter-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-mobile-cta-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .nav-cta-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-nav-consult-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-cap-submit-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-calculator-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-service-cta-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-primary,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-global-primary,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-hero-primary,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-submit,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-next {
  background: #F97316 !important;
  background-color: #F97316 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  border: 1px solid #F97316 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35) !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .pkr-calc-submit-btn span,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .pkr-calc-submit-btn svg,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .pkr-calc-submit-btn path,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .pkr-calc-submit-btn i,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .calc-submit-btn span,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .calc-submit-btn svg,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .calc-submit-btn path,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .calc-submit-btn i,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-cta-btn span,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-cta-btn svg,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-cta-btn path,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-pay-razorpay-btn span,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-pay-razorpay-btn svg,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-pay-razorpay-btn path {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Primary Button Hover State */
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .pkr-calc-submit-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .calc-submit-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .calc-submit-button:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .aap-btn-submit:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .vng-submit-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .loshu-btn-submit:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .kp-btn-calc:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .cd-btn-calculate:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ck-btn-submit:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .hora-btn-submit:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .chogh-btn-submit:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .sd-btn-calc:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .sp-btn-calc:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .prashna-btn-submit:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btr-btn-submit:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-calculate:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-calculate-kundli:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-generate-report:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-cta-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-book-now:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-package-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-book-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-submit-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-form-submit:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-consult-book:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-pay-razorpay-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) #al-pay-trigger-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-checkout-pay:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-rep-get-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-rep-card-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-rep-hero-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-upsell-primary:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-report-buy:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-r-teal:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-auth-btn-submit:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-404-home-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-footer-newsletter-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-mobile-cta-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .nav-cta-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-nav-consult-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-cap-submit-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-calculator-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-service-cta-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-primary:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-global-primary:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-hero-primary:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-submit:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-next:hover {
  background: #EA580C !important;
  background-color: #EA580C !important;
  border-color: #EA580C !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: 0 6px 20px rgba(249, 115, 22, 0.45) !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

/* 2. Secondary & Outline Action Buttons */
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-pt-view-all-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-pt-view-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-pt-full-transit-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-horoscope-view-all-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-reports-view-all-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-calcs-view-all-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-rep-sample-btn,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-upsell-secondary,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-secondary,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-hero-secondary,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-prev,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-sample-btn {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #F97316 !important;
  -webkit-text-fill-color: #F97316 !important;
  border: 1.5px solid #F97316 !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}

body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-pt-view-all-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-pt-view-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-pt-full-transit-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-horoscope-view-all-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-reports-view-all-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-calcs-view-all-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-rep-sample-btn:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .btn-upsell-secondary:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-secondary:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-hero-secondary:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .ale-btn-prev:hover,
body:not(.is-user-dashboard-view):not(.page-template-page-dashboard) .al-consult-sample-btn:hover {
  background: #F97316 !important;
  background-color: #F97316 !important;
  border-color: #F97316 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35) !important;
  text-decoration: none !important;
}

