/*
Theme Name: AstroWealth Stellar
Theme URI: https://astrowealth.brainguru.in
Description: Cosmic Financial Astrology — Dark luxury design with gold accents, animated starfield, Cinzel typography, and glassmorphism UI. Child of Royal Elementor Kit.
Author: Brainguru
Template: royal-elementor-kit
Version: 1.0.0
Text Domain: astrowealth-stellar
*/

/* ===================================================================
   DESIGN TOKENS
=================================================================== */
:root {
  /* Space Palette */
  --void:        #020408;
  --space-deep:  #05070F;
  --space-mid:   #080B1C;
  --space-soft:  #0C1028;
  --nebula:      #0E0820;
  --glass:       rgba(8, 11, 28, 0.82);
  --glass-light: rgba(14, 18, 45, 0.75);

  /* Gold System */
  --gold:        #C8A84A;
  --gold-hi:     #EDD068;
  --gold-pale:   #F5E8B4;
  --gold-dim:    #7A5E1A;
  --g-gold:      linear-gradient(110deg, #7A5E1A 0%, #C8A84A 30%, #EDD068 60%, #C8A84A 100%);
  --g-shimmer:   linear-gradient(90deg, transparent 0%, rgba(237,208,104,.45) 50%, transparent 100%);

  /* Typography & Text */
  --text:        #EDE8DA;
  --text-2:      #A8B0C8;
  --text-3:      #606888;

  /* Borders */
  --border:      rgba(200,168,74,.20);
  --border-on:   rgba(200,168,74,.55);

  /* Shadows / Glows */
  --glow-sm: 0 0 18px rgba(200,168,74,.28);
  --glow-md: 0 0 36px rgba(200,168,74,.38);
  --glow-lg: 0 0 70px rgba(200,168,74,.40), 0 0 140px rgba(200,168,74,.14);
  --shadow:  0 8px 40px rgba(0,0,12,.65);

  /* Fonts */
  --f-display: 'Cinzel Decorative', 'Georgia', serif;
  --f-head:    'Cinzel', 'Georgia', serif;
  --f-body:    'Raleway', -apple-system, sans-serif;
  --f-elegant: 'Cormorant Garamond', 'Georgia', serif;

  /* Motion */
  --ease:  cubic-bezier(.22,1,.36,1);
  --dur:   .35s;
  --trans: var(--dur) var(--ease);

  /* Shape */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 24px;
}

/* ===================================================================
   ELEMENTOR GLOBAL COLOR OVERRIDE
   (child CSS loads after Elementor kit — same :root specificity wins)
=================================================================== */
:root {
  --e-global-color-primary:    #C8A84A;
  --e-global-color-secondary:  #EDD068;
  --e-global-color-text:       #EDE8DA;
  --e-global-color-accent:     #C8A84A;
}

/* ===================================================================
   BASE
=================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  background-color: var(--space-mid) !important;
  color: var(--text) !important;
  font-family: var(--f-body) !important;
  font-size: 16px;
  line-height: 1.78;

}

/* Scrollbar */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--void); }
::-webkit-scrollbar-thumb { background: var(--gold-dim); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }
::selection { background: rgba(200,168,74,.28); color: var(--gold-hi); }

/* Nebula ambient background */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(ellipse 130% 80% at 10% -10%,  rgba(70,30,180,.11) 0%, transparent 55%),
    radial-gradient(ellipse 90%  60% at 95% 110%,  rgba(15,40,180,.09) 0%, transparent 55%),
    radial-gradient(ellipse 70%  70% at 50% 50%,   rgba(5,7,18,1)      0%, transparent 100%);
  pointer-events: none;
}

/* Thin top gold accent bar */
body::after {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--g-gold);
  z-index: 9999;
  opacity: .7;
}

/* ===================================================================
   TYPOGRAPHY
=================================================================== */
h1,h2,h3,h4,h5,h6,
.elementor-heading-title {
  font-family: var(--f-head) !important;
  line-height: 1.22 !important;
  letter-spacing: .04em;
}

/* Gold gradient on H1 / H2 */
h1, h2,
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title {
  background: var(--g-gold) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  display: inline-block;
}

/* H3–H6 clean gold */
h3,h4,h5,h6,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title {
  color: var(--gold-hi) !important;
}

p, li,
.elementor-text-editor p,
.elementor-widget-text-editor p {
  font-family: var(--f-body) !important;
  color: var(--text-2) !important;
  line-height: 1.82;
}

blockquote,
.elementor-testimonial-content {
  font-family: var(--f-elegant) !important;
  font-style: italic;
  font-size: 1.12em;
  color: var(--text) !important;
}

a { color: var(--gold) !important; text-decoration: none; transition: color var(--trans); }
a:hover { color: var(--gold-hi) !important; }

/* ===================================================================
   SECTIONS
=================================================================== */
.elementor-section,
.e-con {
  position: relative;
}

/* Section with explicit bg set in Elementor — keep it, just tint */
/* Sections without bg — transparent to show body */
.elementor-section:not([style*=background]),
.e-con:not([style*=background]) {
  background-color: transparent !important;
}

/* Alternating section tints */
.elementor-section:nth-of-type(even) {
  background-color: rgba(5,7,15,.55) !important;
}

/* Inter-section gold rule */
.elementor-section ~ .elementor-section::before {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 70%; height: 1px;
  background: var(--g-gold);
  opacity: .14;
  pointer-events: none;
}

/* Inner sections (service/feature boxes) */
.elementor-inner-section,
.elementor-section.elementor-inner {
  background: var(--glass) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-md) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  transition: border-color var(--trans), box-shadow var(--trans), transform var(--trans) !important;
}

.elementor-inner-section:hover,
.elementor-section.elementor-inner:hover {
  border-color: var(--border-on) !important;
  box-shadow: var(--glow-sm) !important;
  transform: translateY(-3px) !important;
}

/* ===================================================================
   HEADER & NAVIGATION
=================================================================== */
header.elementor-location-header,
.site-header,
#site-header,
.wpr-header,
.rps-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background: rgba(5,7,15,.88) !important;
  backdrop-filter: blur(18px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(180%) !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: 0 4px 30px rgba(0,0,12,.5) !important;
  transition: background var(--trans), box-shadow var(--trans) !important;
}

header.elementor-location-header.aw-scrolled,
.site-header.aw-scrolled {
  background: rgba(2,4,8,.96) !important;
  box-shadow: 0 4px 40px rgba(0,0,12,.7) !important;
}

/* Nav links */
.elementor-nav-menu a,
.wpr-nav-menu a,
.main-navigation a,
nav a {
  font-family: var(--f-head) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  color: var(--text-2) !important;
  padding: 8px 16px !important;
  transition: color var(--trans) !important;
  position: relative;
}

.elementor-nav-menu a::after {
  content: '';
  position: absolute;
  bottom: 4px; left: 16px; right: 16px;
  height: 1px;
  background: var(--g-gold);
  transform: scaleX(0);
  transition: transform var(--trans);
  transform-origin: left;
}

.elementor-nav-menu a:hover::after,
.elementor-nav-menu .current-menu-item > a::after {
  transform: scaleX(1);
}

.elementor-nav-menu a:hover,
.elementor-nav-menu .current-menu-item > a {
  color: var(--gold) !important;
}

/* Dropdown */
.elementor-nav-menu--dropdown,
.elementor-nav-menu__container.elementor-nav-menu--dropdown {
  background: rgba(5,7,18,.97) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-sm) !important;
  box-shadow: var(--shadow) !important;
  backdrop-filter: blur(16px) !important;
}

/* Mobile hamburger */
.elementor-menu-toggle {
  color: var(--gold) !important;
}

/* ===================================================================
   BUTTONS
=================================================================== */
.elementor-button,
a.elementor-button,
.elementor-button-wrapper .elementor-button {
  font-family: var(--f-head) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  border-radius: var(--r-md) !important;
  padding: 14px 34px !important;
  transition: box-shadow var(--trans), transform var(--trans) !important;
  position: relative !important;
  overflow: hidden !important;
  background: var(--g-gold) !important;
  color: var(--void) !important;
  -webkit-text-fill-color: var(--void) !important;
  border: none !important;
  box-shadow: 0 4px 22px rgba(200,168,74,.32) !important;
}

.elementor-button:hover,
a.elementor-button:hover {
  box-shadow: var(--glow-md) !important;
  transform: translateY(-2px) !important;
}

/* Shine sweep on hover */
.elementor-button::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: var(--g-shimmer) !important;
  background-size: 200% 100% !important;
  background-position: -200% center !important;
  transition: background-position .65s var(--ease) !important;
}

.elementor-button:hover::after {
  background-position: 200% center !important;
}

/* Outline variant */
.elementor-button.elementor-button-ghost,
.elementor-button[data-settings*=ghost] {
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
  -webkit-text-fill-color: var(--gold) !important;
  box-shadow: none !important;
}

.elementor-button.elementor-button-ghost:hover {
  background: rgba(200,168,74,.12) !important;
  box-shadow: var(--glow-sm) !important;
}

/* ===================================================================
   SERVICE / ICON-BOX CARDS
=================================================================== */
.elementor-widget-icon-box .elementor-icon-box-wrapper,
.elementor-widget-image-box .elementor-image-box-wrapper {
  background: var(--glass) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-md) !important;
  padding: 36px 28px !important;
  transition: all var(--trans) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  height: 100%;
}

.elementor-widget-icon-box:hover .elementor-icon-box-wrapper,
.elementor-widget-image-box:hover .elementor-image-box-wrapper {
  border-color: var(--border-on) !important;
  box-shadow: var(--glow-sm) !important;
  transform: translateY(-4px) !important;
  background: var(--glass-light) !important;
}

.elementor-icon-box-icon .elementor-icon,
.elementor-icon-box-icon i,
.elementor-icon-box-icon svg {
  color: var(--gold) !important;
  fill: var(--gold) !important;
  filter: drop-shadow(0 0 8px rgba(200,168,74,.4));
}

.elementor-icon-box-title a,
.elementor-icon-box-title {
  font-family: var(--f-head) !important;
  color: var(--gold-hi) !important;
  font-size: 1.05rem !important;
  letter-spacing: .06em !important;
  margin-top: 18px !important;
}

.elementor-icon-box-description {
  color: var(--text-2) !important;
  font-size: .9rem !important;
  line-height: 1.7 !important;
}

/* ===================================================================
   PRICING TABLES
=================================================================== */
.elementor-price-table {
  background: var(--glass) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden !important;
  transition: all var(--trans) !important;
}

.elementor-price-table:hover {
  border-color: var(--border-on) !important;
  box-shadow: var(--glow-sm) !important;
  transform: translateY(-4px) !important;
}

.elementor-price-table__header {
  background: linear-gradient(135deg, var(--space-soft), var(--nebula)) !important;
  padding: 36px 24px 28px !important;
  border-bottom: 1px solid var(--border) !important;
}

.elementor-price-table__heading {
  font-family: var(--f-head) !important;
  color: var(--gold-hi) !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  font-size: .85rem !important;
}

.elementor-price-table__subheading {
  color: var(--text-3) !important;
  font-size: .8rem !important;
}

.elementor-price-table__price {
  font-family: var(--f-display) !important;
  background: var(--g-gold) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.elementor-price-table__integer-part { font-size: 3.2rem !important; }

.elementor-price-table__features-list li {
  font-family: var(--f-body) !important;
  color: var(--text-2) !important;
  border-color: var(--border) !important;
  padding: 12px 0 !important;
  font-size: .88rem !important;
}

.elementor-price-table__features-list .elementor-icon-list-icon,
.elementor-price-table__features-list li::before {
  color: var(--gold) !important;
}

/* Featured plan */
.elementor-price-table[data-settings*="is_featured":"yes"],
.elementor-price-table.elementor-ribbon-right {
  border-color: var(--gold) !important;
  box-shadow: var(--glow-md) !important;
}

.elementor-ribbon-inner {
  background: var(--g-gold) !important;
  color: var(--void) !important;
  font-family: var(--f-head) !important;
  font-size: .65rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

/* ===================================================================
   TESTIMONIALS
=================================================================== */
.elementor-testimonial-wrapper,
.elementor-testimonial {
  background: var(--glass) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-md) !important;
  padding: 36px 32px !important;
  position: relative !important;
  transition: all var(--trans) !important;
}

.elementor-testimonial-wrapper::before {
  content: '\201C';
  position: absolute;
  top: 12px; left: 24px;
  font-family: var(--f-elegant);
  font-size: 90px;
  line-height: 1;
  color: var(--gold);
  opacity: .28;
  pointer-events: none;
}

.elementor-testimonial-name,
.elementor-testimonial__name {
  font-family: var(--f-head) !important;
  color: var(--gold) !important;
  font-size: .8rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

.elementor-testimonial-job,
.elementor-testimonial__title {
  color: var(--text-3) !important;
  font-size: .78rem !important;
}

.elementor-star-rating__star--full,
.elementor-star-rating__star { color: var(--gold) !important; }

/* ===================================================================
   FORMS
=================================================================== */
.elementor-field-group input[type=text],
.elementor-field-group input[type=email],
.elementor-field-group input[type=tel],
.elementor-field-group input[type=number],
.elementor-field-group textarea,
.elementor-field-group select,
.wpforms-field input,
.wpforms-field textarea,
.wpforms-field select {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-sm) !important;
  color: var(--text) !important;
  font-family: var(--f-body) !important;
  font-size: .9rem !important;
  padding: 13px 16px !important;
  transition: border-color var(--trans), box-shadow var(--trans) !important;
  width: 100% !important;
}

.elementor-field-group input:focus,
.elementor-field-group textarea:focus,
.wpforms-field input:focus,
.wpforms-field textarea:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(200,168,74,.14) !important;
  outline: none !important;
  background: rgba(200,168,74,.05) !important;
}

.elementor-field-label,
.wpforms-field-label {
  font-family: var(--f-head) !important;
  font-size: .68rem !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* ===================================================================
   ICONS
=================================================================== */
.elementor-icon i,
.elementor-icon svg {
  color: var(--gold) !important;
  fill: var(--gold) !important;
  transition: filter var(--trans) !important;
}

.elementor-widget-icon:hover .elementor-icon i,
.elementor-widget-icon:hover .elementor-icon svg {
  filter: drop-shadow(0 0 10px var(--gold)) !important;
}

/* ===================================================================
   ICON LISTS
=================================================================== */
.elementor-icon-list-icon,
.elementor-icon-list-icon i,
.elementor-icon-list-icon svg {
  color: var(--gold) !important;
  fill: var(--gold) !important;
}

.elementor-icon-list-text {
  color: var(--text-2) !important;
  font-family: var(--f-body) !important;
}

/* ===================================================================
   COUNTERS / STATS
=================================================================== */
.elementor-counter-number-wrapper {
  font-family: var(--f-display) !important;
  background: var(--g-gold) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.elementor-counter-title {
  font-family: var(--f-head) !important;
  color: var(--text-3) !important;
  font-size: .72rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

/* ===================================================================
   DIVIDERS
=================================================================== */
.elementor-divider-separator,
hr {
  border-color: var(--border) !important;
  background: var(--border) !important;
}

/* ===================================================================
   PROGRESS BARS
=================================================================== */
.elementor-progress-bar {
  background: var(--g-gold) !important;
  border-radius: 99px !important;
}
.elementor-progress-wrapper {
  background: rgba(200,168,74,.12) !important;
  border-radius: 99px !important;
}

/* ===================================================================
   BLOG POSTS
=================================================================== */
.elementor-post,
.elementor-posts-container .elementor-post {
  background: var(--glass) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-md) !important;
  overflow: hidden;
  transition: all var(--trans) !important;
}

.elementor-post:hover {
  border-color: var(--border-on) !important;
  box-shadow: var(--glow-sm) !important;
  transform: translateY(-4px) !important;
}

.elementor-post__title a {
  font-family: var(--f-head) !important;
  color: var(--gold-hi) !important;
  -webkit-text-fill-color: var(--gold-hi) !important;
  background: none !important;
  font-size: .95rem !important;
  letter-spacing: .04em !important;
  transition: color var(--trans) !important;
}

.elementor-post__title a:hover {
  color: var(--gold-pale) !important;
  -webkit-text-fill-color: var(--gold-pale) !important;
}

.elementor-post__excerpt p,
.elementor-post-info {
  color: var(--text-2) !important;
  font-size: .85rem !important;
}

/* ===================================================================
   FOOTER
=================================================================== */
footer,
.elementor-location-footer,
#colophon,
.site-footer {
  background: var(--space-deep) !important;
  border-top: 1px solid var(--border) !important;
}

footer p,
.elementor-location-footer p,
footer li,
.elementor-location-footer li { color: var(--text-3) !important; font-size: .87rem !important; }

footer a,
.elementor-location-footer a { color: var(--text-2) !important; }
footer a:hover,
.elementor-location-footer a:hover { color: var(--gold) !important; }

footer h2,footer h3,footer h4,footer h5,
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer h4 {
  font-family: var(--f-head) !important;
  font-size: .72rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  background: none !important;
  -webkit-text-fill-color: var(--gold) !important;
  margin-bottom: 18px !important;
}

/* ===================================================================
   WP ADMIN BAR
=================================================================== */
#wpadminbar {
  background: rgba(2,4,8,.97) !important;
  border-bottom: 1px solid var(--border) !important;
}

/* ===================================================================
   POPUP / MODAL
=================================================================== */
.elementor-popup-modal .dialog-widget-content {
  background: var(--space-soft) !important;
  border: 1px solid var(--border-on) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--glow-lg) !important;
}

/* ===================================================================
   IMAGES
=================================================================== */
.elementor-widget-image img {
  border-radius: var(--r-sm);
  transition: transform var(--trans), filter var(--trans);
}
.elementor-widget-image:hover img {
  transform: scale(1.02);
  filter: brightness(1.08) contrast(1.02);
}

/* ===================================================================
   ENTRANCE ANIMATIONS
   (added by cosmic.js via IntersectionObserver)
=================================================================== */
.elementor-widget:not(.aw-visible){opacity:1!important;transform:none!important;}
.elementor-widget.aw-visible {
  opacity: 1 !important;
  transform: none !important;
}

/* ===================================================================
   KEYFRAMES
=================================================================== */
@keyframes aw-fade-up {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:none; }
}
@keyframes aw-glow-pulse {
  0%,100% { box-shadow: var(--glow-sm); }
  50%      { box-shadow: var(--glow-lg); }
}
@keyframes aw-spin {
  to { transform: rotate(360deg); }
}

/* Decoration star */
.aw-star::before {
  content: '✦';
  color: var(--gold);
  opacity: .55;
  font-size: .6em;
  vertical-align: middle;
  margin: 0 8px;
  animation: aw-glow-pulse 3s ease-in-out infinite;
}

/* ===================================================================
   RESPONSIVE
=================================================================== */
@media (max-width: 1024px) {
  .elementor-widget-icon-box .elementor-icon-box-wrapper,
  .elementor-widget-image-box .elementor-image-box-wrapper {
    padding: 28px 20px !important;
  }
}

@media (max-width: 768px) {
  body { font-size: 15px !important; }

  .elementor-inner-section,
  .elementor-section.elementor-inner { margin: 6px 0 !important; }

  h1, .elementor-widget-heading h1.elementor-heading-title {
    font-size: clamp(1.8rem, 7vw, 2.8rem) !important;
  }
  h2, .elementor-widget-heading h2.elementor-heading-title {
    font-size: clamp(1.4rem, 5vw, 2rem) !important;
  }
}

@media (max-width: 480px) {
  .elementor-button,
  a.elementor-button { padding: 12px 24px !important; }
}

/* ===================================================================
   PATCH: SVG LOGO — ensure it renders correctly on dark bg
=================================================================== */
.wpr-logo img,
.wpr-logo-image img,
.elementor-widget-site-logo img {
  max-width: 220px !important;
  height: auto !important;
  /* Remove any white bg bleed from SVG rendering */
  mix-blend-mode: normal;
  filter: drop-shadow(0 2px 12px rgba(200,168,74,.18));
}

/* Hide old raster logo if SVG fails */
.wpr-logo-image {
  display: block;
}

/* ===================================================================
   PATCH: WPR NAV-MENU — dark sub-menu dropdown
=================================================================== */
/* Sub-menu container */
.wpr-sub-menu,
.wpr-nav-menu .sub-menu {
  background-color: rgba(5,7,18,.97) !important;
  border: 1px solid var(--border) !important;
  border-top: 2px solid var(--gold) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-radius: 0 0 var(--r-sm) var(--r-sm) !important;
  box-shadow: 0 8px 32px rgba(0,0,12,.7) !important;
}

/* Sub-menu items */
.wpr-sub-menu .wpr-sub-menu-item,
.wpr-nav-menu .sub-menu a {
  background-color: transparent !important;
  color: var(--text-2) !important;
  font-family: var(--f-body) !important;
  font-size: .82rem !important;
  letter-spacing: .04em !important;
  border-bottom: 1px solid var(--border) !important;
  transition: color var(--trans), background-color var(--trans) !important;
  padding: 11px 18px !important;
}

.wpr-sub-menu .wpr-sub-menu-item:hover,
.wpr-nav-menu .sub-menu a:hover,
.wpr-sub-menu .wpr-sub-menu-item.wpr-active-menu-item {
  background-color: rgba(200,168,74,.1) !important;
  color: var(--gold) !important;
}

/* Sub icon color */
.wpr-sub-menu .wpr-sub-icon,
.wpr-nav-menu > .menu-item-has-children > .wpr-sub-icon {
  color: var(--gold-dim) !important;
}

/* ===================================================================
   PATCH: WPR MOBILE MENU — dark theme
=================================================================== */
.wpr-mobile-nav-menu,
.wpr-mobile-nav-menu li {
  background-color: rgba(5,7,18,.98) !important;
  border-color: var(--border) !important;
}

.wpr-mobile-nav-menu a,
.wpr-mobile-nav-menu .wpr-mobile-menu-item,
.wpr-mobile-nav-menu .menu-item-has-children > a {
  color: var(--text) !important;
  border-bottom: 1px solid var(--border) !important;
  font-family: var(--f-body) !important;
}

.wpr-mobile-nav-menu a:hover,
.wpr-mobile-nav-menu a.wpr-active-menu-item {
  background-color: rgba(200,168,74,.15) !important;
  color: var(--gold) !important;
}

.wpr-mobile-nav-menu .menu-item-has-children > a::after {
  color: var(--gold-dim) !important;
}

/* ===================================================================
   PATCH: FOOTER — fix background, text colours, headings
=================================================================== */
/* Footer section backgrounds (override Elementor inline #2C2729) */
footer,
.elementor-location-footer,
.elementor-363,
.elementor-363 .elementor-section,
.elementor-363 .e-con,
.elementor-363 [data-id=e091040] {
  background-color: #050810 !important;
}

/* Alternate footer row */
.elementor-363 .elementor-section:first-child,
.elementor-363 .e-con:first-child {
  background-color: #08091A !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Footer headings — widget text set to #FFF via Elementor, keep gold */
.elementor-363 h1,.elementor-363 h2,.elementor-363 h3,
.elementor-363 h4,.elementor-363 h5,.elementor-363 h6,
.elementor-363 .elementor-heading-title {
  font-family: var(--f-head) !important;
  font-size: .78rem !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  -webkit-text-fill-color: var(--gold) !important;
  background: none !important;
  margin-bottom: 16px !important;
}

/* Footer text & links */
.elementor-363 p,
.elementor-363 .elementor-text-editor p,
.elementor-363 span {
  color: var(--text-3) !important;
  font-size: .88rem !important;
  line-height: 1.75 !important;
}

.elementor-363 a {
  color: var(--text-2) !important;
}
.elementor-363 a:hover {
  color: var(--gold) !important;
}

/* Footer icon list */
.elementor-363 .elementor-icon-list-icon i,
.elementor-363 .elementor-icon-list-icon svg {
  color: var(--gold) !important;
  fill: var(--gold) !important;
}

.elementor-363 .elementor-icon-list-text {
  color: var(--text-3) !important;
}

/* Footer logo width */
.elementor-363 .wpr-logo-image img {
  max-width: 180px !important;
  opacity: .88;
}

/* Footer copyright strip */
.elementor-363 .elementor-section:last-child,
.elementor-363 .e-con:last-child {
  background-color: #020306 !important;
  border-top: 1px solid var(--border) !important;
}

.elementor-363 .elementor-section:last-child p,
.elementor-363 .e-con:last-child p {
  color: var(--text-3) !important;
  font-size: .78rem !important;
}

/* ===================================================================
   PATCH: NAV MAIN MENU FONT — make it look correct on dark bg
   (Inline Elementor sets Poppins/white, we want Cinzel/gold-on-hover)
=================================================================== */
.wpr-nav-menu .wpr-menu-item,
.wpr-nav-menu > li > a {
  color: var(--text-2) !important;
  font-family: var(--f-head) !important;
  font-size: .72rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.wpr-nav-menu .wpr-menu-item:hover,
.wpr-nav-menu .wpr-menu-item.wpr-active-menu-item,
.wpr-nav-menu .current-menu-item > .wpr-menu-item {
  color: var(--gold) !important;
}

/* Mobile toggle lines */
.wpr-mobile-toggle-line {
  background-color: var(--gold) !important;
}

.wpr-mobile-toggle {
  border-color: var(--border) !important;
}

/* ===================================================================
   PATCH v2: FOOTER TEXT — remove uppercase from description paragraphs
=================================================================== */
.elementor-363 p,
.elementor-363 .elementor-text-editor,
.elementor-363 .elementor-text-editor p,
.elementor-363 .elementor-widget-text-editor * {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-family: var(--f-body) !important;
  font-size: .9rem !important;
  line-height: 1.8 !important;
  color: var(--text-3) !important;
}

/* Footer headings keep gold uppercase — but NOT paragraphs */
.elementor-363 .elementor-heading-title {
  text-transform: uppercase !important;
  letter-spacing: .2em !important;
}

/* ===================================================================
   PATCH v2: SVG LOGO — fix sizing and remove any wrapping bg
=================================================================== */
/* Remove dark background box from logo widget wrappers */
.wpr-logo,
.wpr-logo-wrapper,
.elementor-widget-wpr-logo .elementor-widget-container,
.elementor-widget-wpr-logo {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Force SVG logo to proper size */
.wpr-logo img,
.wpr-logo-image img {
  max-width: 200px !important;
  width: 200px !important;
  height: auto !important;
  display: block !important;
  background: transparent !important;
}

/* Footer logo slightly smaller */
.elementor-363 .wpr-logo img,
.elementor-363 .wpr-logo-image img {
  max-width: 160px !important;
  width: 160px !important;
}

/* ===================================================================
   PATCH v2: HEADER — remove dark section backgrounds (already cleared 
   in Elementor data; CSS fallback too)
=================================================================== */
.elementor-356 .elementor-element-5cc69aad0,
.elementor-356 .elementor-element-5aa8084e {
  background-color: transparent !important;
  background-image: none !important;
}

/* Main header row bg - override with our glassmorphism */
.elementor-356 .elementor-element-5aa8084e {
  background: rgba(5,7,15,.88) !important;
  backdrop-filter: blur(18px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(180%) !important;
}

/* Top bar - subtle dark */
.elementor-356 .elementor-element-5cc69aad0 {
  background: rgba(2,4,8,.92) !important;
  border-bottom: 1px solid var(--border) !important;
}

/* ===================================================================
   PATCH v2: FOOTER BACKGROUND — higher specificity override
=================================================================== */
.elementor-363 .elementor-element.elementor-element-e091040 {
  background-color: #06080F !important;
  background-image: none !important;
}

.elementor-363 .elementor-element.elementor-element-e091040:not(.elementor-motion-effects-element-type-background) {
  background-color: #06080F !important;
}

/* ===================================================================
   LOGO: CSS TEXT LOGO — matches attached AstroWealth branding
   Gold gradient 'Astro' + Rose-gold 'Wealth' in Cormorant Garamond italic
=================================================================== */

/* Hide the empty picture element */
.wpr-logo picture,
.wpr-logo-image picture,
.wpr-logo-image {
  display: none !important;
}

/* Logo text container */
.wpr-logo-title,
a.wpr-logo-url .wpr-logo-title {
  display: block !important;
  font-family: 'Cormorant Garamond', 'Cormorant', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 2.6rem !important;
  line-height: 1 !important;
  letter-spacing: -.01em !important;
  margin: 0 !important;
  white-space: nowrap;
  /* Two-tone effect: 'Astro' gold, 'Wealth' rose-gold */
  background: linear-gradient(
    110deg,
    #8A6218  0%,
    #C8A84A 20%,
    #EDD068 38%,
    #C8A84A 50%,   /* end of Astro */
    #9A8070 52%,   /* start of Wealth */
    #C4A89A 65%,
    #D8C0B4 78%,
    #C0A090 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  /* Override Elementor inline #605BE5 color */
  filter: none !important;
}

/* Header logo size */
.elementor-356 .wpr-logo-title {
  font-size: 2.4rem !important;
}

/* Footer logo size */
.elementor-363 .wpr-logo-title {
  font-size: 1.9rem !important;
}

/* Hide tagline/description */
.wpr-logo-description {
  display: none !important;
}

/* Ensure logo link has no underline */
a.wpr-logo-url {
  text-decoration: none !important;
}

/* Hover: slight brightness */
a.wpr-logo-url:hover .wpr-logo-title {
  filter: brightness(1.15) !important;
  transition: filter .3s ease !important;
}

/* ===================================================================
   LOGO v3: CSS ::after injection — targets exact widget element IDs
   Works regardless of wpr-logo backend rendering behavior
=================================================================== */

/* Make the anchor block-level so ::after fills it */
.elementor-element-4b762d2f .wpr-logo-url,
.elementor-element-8bead94  .wpr-logo-url {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

/* Inject 'Astro' span via ::before in gold */


/* Inject 'Wealth' via ::after in rose-gold */


/* Header logo font-size */


/* Footer logo font-size */


/* Hover brighten */
.elementor-element-4b762d2f .wpr-logo-url:hover::before,
.elementor-element-4b762d2f .wpr-logo-url:hover::after,
.elementor-element-8bead94  .wpr-logo-url:hover::before,
.elementor-element-8bead94  .wpr-logo-url:hover::after {
  filter: brightness(1.15) !important;
  transition: filter .35s ease !important;
}

/* ===================================================================
   FOOTER DESCRIPTION FIX — the about-us text is a heading widget
   (id=0d5e4a9) — override to look like body text, not heading
=================================================================== */
.elementor-363 .elementor-element-0d5e4a9 .elementor-heading-title {
  font-family: var(--f-body) !important;
  font-size: .87rem !important;
  text-transform: none !important;
  letter-spacing: .02em !important;
  font-weight: 400 !important;
  color: var(--text-3) !important;
  -webkit-text-fill-color: var(--text-3) !important;
  background: none !important;
  line-height: 1.82 !important;
  margin-bottom: 0 !important;
}

/* ================================================================
   FIX PATCH v2 — Production Ready  (appended)
   Fixes: text visibility, section BGs, logo, z-index, mobile
================================================================ */

/* 1. Starfield canvas always behind content */
#aw-starfield { z-index: -1 !important; }

/* 2. Ensure all Elementor elements are above canvas */
.elementor-section,
.e-con,
.elementor-top-section,
.elementor-widget-wrap,
.elementor-widget-container {
  position: relative;
  isolation: isolate;
}

/* 3. WHITE / LIGHT BG SECTIONS → dark theme */
.elementor-section[style*='background-color:#FFF'],
.elementor-section[style*='background-color:#fff'],
.elementor-section[style*='background-color:#FFFFFF'],
.elementor-section[style*='background-color:#ffffff'],
.elementor-section[style*='background-color: #FFF'],
.elementor-section[style*='background-color: #fff'],
.elementor-section[style*='background-color: #FFFFFF'],
.elementor-section[style*='background-color: #ffffff'],
.elementor-section[style*='background-color:white'],
.e-con[style*='background-color:#FFF'],
.e-con[style*='background-color:#fff'],
.e-con[style*='background-color:#FFFFFF'],
.e-con[style*='background-color:#ffffff'] {
  background-color: var(--space-mid, #080B1C) !important;
}

/* 4. TEAL sections from old design → dark */
[style*='background-color:#3A5E64'],
[style*='background-color:#2E5157'],
[style*='background-color:#32373c'],
[style*='background-color: #3A5E64'],
[style*='background-color: #2E5157'] {
  background-color: rgba(8,11,28,.95) !important;
}

/* 5. UNIVERSAL TEXT VISIBILITY — ALL dark text → light */
.elementor-widget-container p,
.elementor-widget-container li,
.elementor-widget-container td,
.elementor-widget-container th,
.elementor-text-editor,
.elementor-text-editor p,
.elementor-text-editor li,
.elementor-text-editor span,
.elementor-text-editor strong,
.elementor-text-editor em {
  color: var(--text-2, #A8B0C8) !important;
}

/* Strong/bold stays slightly brighter */
.elementor-widget-container strong,
.elementor-widget-container b {
  color: var(--text, #EDE8DA) !important;
}

/* Icon list */
.elementor-icon-list-text,
.elementor-icon-list-item > a,
.elementor-icon-list-item > span {
  color: var(--text-2, #A8B0C8) !important;
  font-family: var(--f-body, 'Raleway', sans-serif) !important;
}

/* 6. LINKS — gold, not default blue/dark */
a:not([class*='elementor-button']):not([class*='wpr-menu']):not([class*='wpr-logo']):not([class*='aw-']):not([class*='wp-']) {
  color: var(--gold, #C8A84A) !important;
  text-decoration: none !important;
}
a:not([class*='elementor-button']):not([class*='wpr-menu']):not([class*='wpr-logo']):hover {
  color: var(--gold-hi, #EDD068) !important;
}

/* 7. H1 / H2 — gold gradient */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title {
  background: var(--g-gold, linear-gradient(110deg,#8A6218,#C8A84A,#EDD068,#C8A84A)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  display: block !important;
}

/* 8. H3–H6 — solid gold (no gradient gradient) */
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title {
  color: var(--gold-hi, #EDD068) !important;
  -webkit-text-fill-color: var(--gold-hi, #EDD068) !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
}

/* 9. LOGO SIZE — desktop */

/* Footer logo */


/* 10. BUTTONS — gold gradient, dark text */
.elementor-button,
a.elementor-button,
.elementor-button-wrapper .elementor-button {
  background: var(--g-gold, linear-gradient(110deg,#8A6218,#C8A84A,#EDD068)) !important;
  color: #020408 !important;
  -webkit-text-fill-color: #020408 !important;
  border: none !important;
}

/* 11. FOOTER text refinement */
.elementor-363 h2.elementor-heading-title,
.elementor-363 h3.elementor-heading-title,
.elementor-363 h4.elementor-heading-title,
.elementor-363 h5.elementor-heading-title {
  color: var(--gold, #C8A84A) !important;
  -webkit-text-fill-color: var(--gold, #C8A84A) !important;
  background: none !important;
  font-size: .72rem !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
}
.elementor-363 .elementor-icon-list-text,
.elementor-363 .elementor-text-editor p,
.elementor-363 p {
  color: var(--text-3, #606888) !important;
}
.elementor-363 a { color: var(--text-2, #A8B0C8) !important; }
.elementor-363 a:hover { color: var(--gold, #C8A84A) !important; }

/* 12. NAV — always visible */
.wpr-nav-menu .wpr-menu-item { color: var(--text-2, #A8B0C8) !important; }
.wpr-nav-menu .wpr-menu-item:hover,
.wpr-nav-menu .wpr-menu-item.wpr-active-menu-item { color: var(--gold, #C8A84A) !important; }

/* Mobile nav */
.wpr-mobile-nav-menu,
.wpr-mobile-nav-menu li { background: rgba(4,6,16,.98) !important; }
.wpr-mobile-nav-menu a,
.wpr-mobile-nav-menu .wpr-mobile-menu-item { color: var(--text, #EDE8DA) !important; }
.wpr-mobile-nav-menu a:hover { color: var(--gold, #C8A84A) !important; background: rgba(200,168,74,.08) !important; }
.wpr-mobile-toggle-line { background-color: var(--gold, #C8A84A) !important; }

/* Sub-menu dropdown */
.wpr-sub-menu { background: rgba(4,6,16,.98) !important; border: 1px solid var(--border, rgba(200,168,74,.2)) !important; border-top: 2px solid var(--gold, #C8A84A) !important; border-radius: 0 0 8px 8px !important; }
.wpr-sub-menu .wpr-sub-menu-item { color: var(--text-2, #A8B0C8) !important; background: transparent !important; }
.wpr-sub-menu .wpr-sub-menu-item:hover { color: var(--gold, #C8A84A) !important; background: rgba(200,168,74,.08) !important; }

/* 13. SLIDER / CAROUSEL text */
.swiper-slide p, .swiper-slide span,
.elementor-slides .elementor-slide-description,
.elementor-slides .elementor-slide-heading {
  color: var(--text, #EDE8DA) !important;
}
.elementor-slides .elementor-slide-heading {
  background: var(--g-gold, linear-gradient(110deg,#8A6218,#C8A84A,#EDD068)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* 14. TESTIMONIALS */
.elementor-testimonial-content p,
.elementor-testimonial-content {
  color: var(--text, #EDE8DA) !important;
  font-family: var(--f-elegant, 'Cormorant Garamond', serif) !important;
  font-style: italic !important;
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
}

/* 15. ICON BOX — text */
.elementor-icon-box-content p,
.elementor-icon-box-description {
  color: var(--text-2, #A8B0C8) !important;
}

/* 16. IMAGE BOX */
.elementor-image-box-description {
  color: var(--text-2, #A8B0C8) !important;
}

/* 17. ACCORDION / TOGGLE */
.elementor-accordion-item .elementor-tab-title { color: var(--gold, #C8A84A) !important; }
.elementor-accordion-item .elementor-tab-content { color: var(--text-2, #A8B0C8) !important; background: rgba(8,11,28,.7) !important; }
.elementor-accordion-item { border-color: var(--border, rgba(200,168,74,.2)) !important; }

/* 18. TABS */
.elementor-tab-title { color: var(--text-2, #A8B0C8) !important; }
.elementor-tab-title.elementor-active { color: var(--gold, #C8A84A) !important; border-color: var(--gold, #C8A84A) !important; }

/* 19. SCROLLBAR */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--void, #020408); }
::-webkit-scrollbar-thumb { background: var(--gold-dim, #7A5E1A); border-radius: 3px; }

/* 20. MOBILE LAYOUT */
@media (max-width: 767px) {
  body { font-size: 14px !important; }
  .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(1.5rem,6vw,2.2rem) !important; }
  .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(1.1rem,5vw,1.6rem) !important; }
  .elementor-widget-heading h3.elementor-heading-title { font-size: 1rem !important; }

  /* Logo */
  

  /* Sections comfortable padding */
  .elementor-section > .elementor-container,
  .e-con > .e-con-inner { padding-left: 16px !important; padding-right: 16px !important; }

  /* Cards stack properly */
  .elementor-inner-section,
  .elementor-section.elementor-inner { margin: 6px 0 !important; border-radius: 10px !important; }

  /* Nav top bar hide on mobile */
  .elementor-element-5cc69aad0 { display: none !important; }
}

@media (max-width: 480px) {
  
}

/* ================================================================
   FIX PATCH v3 — wpr-button, accordion, logo, social
================================================================ */

/* ── 1. WPR BUTTONS (Royal Elementor Addons) ───────────────── */
/* These are the actual buttons used — class wpr-button, NOT elementor-button */
.wpr-button,
a.wpr-button,
.wpr-button-wrap a,
.wpr-button-wrap .wpr-button {
  background: linear-gradient(110deg,#7A5E1A,#C8A84A,#EDD068,#C8A84A) !important;
  background-image: linear-gradient(110deg,#7A5E1A,#C8A84A,#EDD068,#C8A84A) !important;
  color: #020408 !important;
  -webkit-text-fill-color: #020408 !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: var(--f-head,'Cinzel',serif) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding: 13px 28px !important;
  box-shadow: 0 4px 20px rgba(200,168,74,.3) !important;
  transition: box-shadow .3s, transform .3s !important;
  position: relative !important;
  overflow: hidden !important;
  display: inline-block !important;
  text-decoration: none !important;
}

.wpr-button:hover,
a.wpr-button:hover {
  box-shadow: 0 0 36px rgba(200,168,74,.5) !important;
  transform: translateY(-2px) !important;
  color: #020408 !important;
  -webkit-text-fill-color: #020408 !important;
}

/* WPR ghost / outline button variant */
.wpr-button[style*='background: transparent'],
.wpr-button[style*='background:transparent'],
.wpr-button[style*='rgba(0'],
.wpr-button[style*='rgba(26, 164, 123, 0)'] {
  background: transparent !important;
  background-image: none !important;
  border: 1px solid var(--gold,#C8A84A) !important;
  color: var(--gold,#C8A84A) !important;
  -webkit-text-fill-color: var(--gold,#C8A84A) !important;
  box-shadow: none !important;
}

/* WPR button icon */
.wpr-button-icon { color: inherit !important; fill: inherit !important; }

/* ── 2. ACCORDION / FAQ FIX ─────────────────────────────────── */
.wpr-acc-button,
.wpr-advanced-accordion .wpr-acc-button,
.elementor-accordion .elementor-tab-title {
  background: rgba(8,11,28,.85) !important;
  color: var(--gold,#C8A84A) !important;
  -webkit-text-fill-color: var(--gold,#C8A84A) !important;
  border: 1px solid var(--border,rgba(200,168,74,.2)) !important;
  border-radius: 8px !important;
  font-family: var(--f-head,'Cinzel',serif) !important;
  font-size: .82rem !important;
  letter-spacing: .05em !important;
  padding: 14px 18px !important;
  margin-bottom: 6px !important;
  transition: background .25s, box-shadow .25s !important;
}

.wpr-acc-button:hover,
.wpr-acc-button.wpr-acc-active,
.elementor-tab-title.elementor-active {
  background: rgba(200,168,74,.1) !important;
  border-color: var(--gold,#C8A84A) !important;
  box-shadow: 0 0 16px rgba(200,168,74,.2) !important;
}

.wpr-acc-content,
.wpr-advanced-accordion .wpr-acc-content,
.elementor-tab-content {
  background: rgba(8,11,28,.6) !important;
  color: var(--text-2,#A8B0C8) !important;
  border: 1px solid var(--border,rgba(200,168,74,.15)) !important;
  border-top: none !important;
  border-radius: 0 0 8px 8px !important;
  padding: 16px 18px !important;
  line-height: 1.8 !important;
}

.wpr-acc-content p,
.wpr-advanced-accordion .wpr-acc-content p {
  color: var(--text-2,#A8B0C8) !important;
  margin-bottom: 8px !important;
}

/* Accordion icon */
.wpr-acc-icon-fas { color: var(--gold,#C8A84A) !important; }

/* ── 3. LOGO — hide wpr-logo-title, keep only our CSS pseudos ─ */
.wpr-logo-title {
  display: none !important;
}
/* Ensure our pseudo-elements show properly */
.wpr-logo-url {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 0 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

/* ── 4. SOCIAL ICONS ─────────────────────────────────────────── */
.elementor-social-icon {
  background: rgba(200,168,74,.12) !important;
  border: 1px solid rgba(200,168,74,.25) !important;
  border-radius: 6px !important;
  transition: background .25s, box-shadow .25s !important;
}
.elementor-social-icon:hover {
  background: rgba(200,168,74,.22) !important;
  box-shadow: 0 0 12px rgba(200,168,74,.3) !important;
}
.elementor-social-icon i,
.elementor-social-icon svg { color: var(--gold,#C8A84A) !important; fill: var(--gold,#C8A84A) !important; }

/* ── 5. WPR GRID / POST GRID (services, blog cards) ─────────── */
.wpr-grid-item-inner,
.wpr-grid .wpr-grid-item {
  background: rgba(8,11,28,.8) !important;
  border: 1px solid var(--border,rgba(200,168,74,.2)) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: border-color .3s, box-shadow .3s, transform .3s !important;
}
.wpr-grid-item-inner:hover,
.wpr-grid .wpr-grid-item:hover {
  border-color: rgba(200,168,74,.45) !important;
  box-shadow: 0 0 24px rgba(200,168,74,.2) !important;
  transform: translateY(-3px) !important;
}
/* Grid item title */
.wpr-grid-item-title a,
.wpr-grid-item-title {
  color: var(--gold-hi,#EDD068) !important;
  -webkit-text-fill-color: var(--gold-hi,#EDD068) !important;
  background: none !important;
  font-family: var(--f-head,'Cinzel',serif) !important;
  font-size: .9rem !important;
  letter-spacing: .04em !important;
}
/* Grid item text */
.wpr-grid-item-content p,
.wpr-grid .elementor-text-editor p {
  color: var(--text-2,#A8B0C8) !important;
  font-size: .85rem !important;
}

/* ── 6. WPR TESTIMONIAL FIX ─────────────────────────────────── */
.wpr-testimonial-source { color: var(--text-3,#606888) !important; }
.wpr-testimonial-source strong { color: var(--gold,#C8A84A) !important; }
.wpr-testimonial-dots span { background-color: var(--gold-dim,#7A5E1A) !important; }
.wpr-testimonial-dots span.swiper-pagination-bullet-active { background-color: var(--gold,#C8A84A) !important; }

/* ── 7. WPR NAVIGATION ARROWS ────────────────────────────────── */
.wpr-grid-slider-arrow,
.wpr-swiper-arrow,
[class*='swiper-button'],
.wpr-arrow {
  background: rgba(8,11,28,.8) !important;
  border: 1px solid var(--border,rgba(200,168,74,.3)) !important;
  color: var(--gold,#C8A84A) !important;
  border-radius: 6px !important;
}

/* ── 8. CTA SECTION BUTTON (Contact Us outline style) ─────────  */
/* The Contact Us button has rgba(26,164,123,0) transparent bg */
[class*='wpr-button'][style*='1AA47B'],
.elementor-1365 .elementor-element .wpr-button {
  background: linear-gradient(110deg,#7A5E1A,#C8A84A,#EDD068) !important;
  color: #020408 !important;
  -webkit-text-fill-color: #020408 !important;
}

/* ── 9. MOBILE: wpr-button larger tap target ─────────────────── */
@media (max-width: 767px) {
  .wpr-button {
    padding: 14px 22px !important;
    font-size: .68rem !important;
    min-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .wpr-acc-button { font-size: .75rem !important; padding: 12px 14px !important; }
  /* Logo mobile */
  
}

/* ================================================================
   FIX PATCH v4 — Mobile footer + logo visibility
================================================================ */

/* ── Footer logo — ensure wpr-logo-url has dimensions ──────── */
.wpr-logo-url,
.elementor-363 .wpr-logo-url,
.elementor-356 .wpr-logo-url {
  display: inline-flex !important;
  align-items: baseline !important;
  min-height: 2rem !important;
  text-decoration: none !important;
  gap: .18em !important;
}
/* Ensure pseudo-elements are actually rendered */


/* ── MOBILE FOOTER — fix wrapping and letter-spacing ───────── */
@media (max-width: 767px) {
  /* Footer columns — reduce letter-spacing so text fits */
  .elementor-363 h2.elementor-heading-title,
  .elementor-363 h3.elementor-heading-title,
  .elementor-363 h4.elementor-heading-title,
  .elementor-363 h5.elementor-heading-title,
  .elementor-363 .elementor-heading-title {
    letter-spacing: .08em !important;
    font-size: .68rem !important;
    word-break: normal !important;
    white-space: nowrap !important;
  }

  /* Footer links — normal word wrap */
  .elementor-363 .elementor-icon-list-text,
  .elementor-363 a {
    letter-spacing: .06em !important;
    font-size: .8rem !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* Footer columns full-width stacked on mobile */
  .elementor-363 .elementor-element[data-id='a67b424'],
  .elementor-363 .elementor-element[data-id='3a8c1b3'] {
    --width: 48% !important;
    min-width: 0 !important;
  }

  /* Footer logo smaller on mobile */
  

  /* Header logo mobile */
  
}

/* ── FOOTER LOGO visible fix — also add margin ──────────────── */
.elementor-363 .elementor-element-8bead94 {
  margin-bottom: 16px !important;
}

/* ================================================================
   FLOATING WIDGETS — Phone Call + Back to Top
   Ensure they are always visible above all other elements
================================================================ */

/* ── Ensure fixed elements are never clipped ──────────────────── */
body, html {
  overflow-x: visible !important;
}

/* ── WPR Phone Call floating button ──────────────────────────── */
.wpr-pc-btn,
.wpr-pc-wrap a.wpr-pc-btn {
  position: fixed !important;
  right: 28px !important;
  bottom: 90px !important;
  z-index: 99990 !important;
  background: linear-gradient(135deg,#7A5E1A,#C8A84A,#EDD068) !important;
  color: #020408 !important;
  font-family: 'Cinzel', serif !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: 12px 20px 12px 16px !important;
  border-radius: 10px !important;
  border: none !important;
  box-shadow: 0 4px 24px rgba(200,168,74,.45) !important;
  transition: transform .3s, box-shadow .3s !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  max-width: 200px !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

.wpr-pc-btn:hover {
  transform: translateY(-3px) scale(1.04) !important;
  box-shadow: 0 6px 32px rgba(200,168,74,.6) !important;
  color: #020408 !important;
}

/* Icon inside phone button */
.wpr-pc-btn .wpr-pc-icon,
.wpr-pc-btn svg,
.wpr-pc-btn i {
  color: #020408 !important;
  fill: #020408 !important;
  font-size: .9rem !important;
  flex-shrink: 0 !important;
}

/* Phone button text */
.wpr-pc-btn .wpr-pc-text,
.wpr-pc-btn span {
  color: #020408 !important;
  -webkit-text-fill-color: #020408 !important;
}

/* ── WPR Back to Top button ────────────────────────────────────  */
.wpr-stt-btn,
.wpr-stt-wrap .wpr-stt-btn {
  position: fixed !important;
  right: 28px !important;
  bottom: 28px !important;
  z-index: 99990 !important;
  background: rgba(8,11,28,.9) !important;
  border: 1px solid rgba(200,168,74,.4) !important;
  border-radius: 8px !important;
  width: 42px !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .3s !important;
  box-shadow: 0 4px 16px rgba(0,0,12,.5) !important;
}

.wpr-stt-btn:hover {
  background: rgba(200,168,74,.15) !important;
  border-color: var(--gold,#C8A84A) !important;
  box-shadow: 0 0 20px rgba(200,168,74,.3) !important;
  transform: translateY(-3px) !important;
}

.wpr-stt-btn svg,
.wpr-stt-btn i {
  color: var(--gold,#C8A84A) !important;
  fill: var(--gold,#C8A84A) !important;
}

/* ── Ensure no parent clips fixed elements ─────────────────────  */
.elementor-363,
.elementor-location-footer,
footer {
  overflow: visible !important;
}

/* CRITICAL: Remove transform from wpr-phone & back-to-top containers
   CSS transform on parent breaks position:fixed child */
.elementor-widget-wpr-phone-call,
.elementor-widget-wpr-back-to-top,
.wpr-pc-wrap,
.wpr-stt-wrap {
  transform: none !important;
  opacity: 1 !important;
  transition: none !important;
  will-change: auto !important;
}

/* ================================================================
   FIX: Footer Legal + Mobile font + Book Consultation button
================================================================ */

/* ── 1. DESKTOP — Force flex-wrap so Legal row appears ──────── */
.elementor-363 .elementor-element.elementor-element-e091040 {
  flex-wrap: wrap !important;
  --flex-wrap: wrap !important;
}

/* Legal section — full-width bottom row */
.elementor-363 .elementor-element.elementor-element-1199711 {
  width: 100% !important;
  flex-basis: 100% !important;
  min-width: 100% !important;
  order: 99 !important;
  border-top: 1px solid rgba(200,168,74,.15) !important;
  padding-top: 20px !important;
  margin-top: 12px !important;
  --display: flex !important;
}

/* Legal row inner — horizontal flex layout */
.elementor-363 .elementor-element.elementor-element-1199711 > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px 28px !important;
  align-items: center !important;
}

/* Legal label — small section header */
.elementor-363 .elementor-element.elementor-element-02170a2 .elementor-heading-title {
  font-size: .6rem !important;
  letter-spacing: .22em !important;
  color: var(--text-3,#606888) !important;
  -webkit-text-fill-color: var(--text-3,#606888) !important;
  background: none !important;
  text-transform: uppercase !important;
  margin-right: 8px !important;
}

/* Legal links — inline horizontal */
.elementor-363 .elementor-element.elementor-element-ff2fa23 .elementor-heading-title,
.elementor-363 .elementor-element.elementor-element-12ed9fe .elementor-heading-title,
.elementor-363 .elementor-element.elementor-element-874f887 .elementor-heading-title {
  font-size: .66rem !important;
  letter-spacing: .1em !important;
  color: var(--text-3,#606888) !important;
  -webkit-text-fill-color: var(--text-3,#606888) !important;
  background: none !important;
  text-transform: uppercase !important;
}

.elementor-363 .elementor-element.elementor-element-ff2fa23 a,
.elementor-363 .elementor-element.elementor-element-12ed9fe a,
.elementor-363 .elementor-element.elementor-element-874f887 a {
  color: var(--text-3,#606888) !important;
}
.elementor-363 .elementor-element.elementor-element-ff2fa23 a:hover,
.elementor-363 .elementor-element.elementor-element-12ed9fe a:hover,
.elementor-363 .elementor-element.elementor-element-874f887 a:hover {
  color: var(--gold,#C8A84A) !important;
}

/* ── 2. MOBILE — Fix oversized footer text ────────────────────  */
@media (max-width: 767px) {
  /* ALL footer headings — reduce drastically */
  .elementor-363 .elementor-heading-title {
    font-size: .68rem !important;
    letter-spacing: .06em !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* Section headers (Quick Links, Company, Legal) */
  .elementor-363 .elementor-element-4c8147c .elementor-heading-title,
  .elementor-363 .elementor-element-cbc0486 .elementor-heading-title,
  .elementor-363 .elementor-element-02170a2 .elementor-heading-title {
    font-size: .62rem !important;
    letter-spacing: .14em !important;
    color: var(--gold,#C8A84A) !important;
    -webkit-text-fill-color: var(--gold,#C8A84A) !important;
    background: none !important;
  }

  /* Footer link items */
  .elementor-363 .elementor-element-ce71284 .elementor-heading-title,
  .elementor-363 .elementor-element-deb33ab .elementor-heading-title,
  .elementor-363 .elementor-element-60b758e .elementor-heading-title,
  .elementor-363 .elementor-element-c39a10f .elementor-heading-title,
  .elementor-363 .elementor-element-56c3ef2 .elementor-heading-title,
  .elementor-363 .elementor-element-04382fe .elementor-heading-title,
  .elementor-363 .elementor-element-c16fa21 .elementor-heading-title,
  .elementor-363 .elementor-element-ff2fa23 .elementor-heading-title,
  .elementor-363 .elementor-element-12ed9fe .elementor-heading-title,
  .elementor-363 .elementor-element-874f887 .elementor-heading-title {
    font-size: .68rem !important;
    letter-spacing: .05em !important;
    color: var(--text-2,#A8B0C8) !important;
    -webkit-text-fill-color: var(--text-2,#A8B0C8) !important;
    background: none !important;
    text-transform: uppercase !important;
  }

  /* Legal section on mobile — stack below other columns */
  .elementor-363 .elementor-element.elementor-element-1199711 > .e-con-inner {
    flex-direction: column !important;
    gap: 6px 0 !important;
  }

  /* Footer description text */
  .elementor-363 .elementor-element-0d5e4a9 .elementor-heading-title {
    font-size: .78rem !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
  }
}

/* ── 3. BOOK CONSULTATION — mobile positioning fix ───────────── */
@media (max-width: 767px) {
  .wpr-pc-btn {
    right: 10px !important;
    bottom: 70px !important;
    padding: 9px 12px !important;
    font-size: .58rem !important;
    letter-spacing: .08em !important;
    border-radius: 8px !important;
    max-width: 150px !important;
    width: auto !important;
    white-space: nowrap !important;
  }
  .wpr-stt-btn {
    right: 10px !important;
    bottom: 14px !important;
    width: 36px !important;
    height: 36px !important;
  }
}

/* ── MOBILE FOOTER — exact Elementor selectors to win specificity ── */
@media (max-width: 767px) {
  /* Force columns to full width so text doesn't wrap */
  .elementor-363 .elementor-element.elementor-element-a67b424,
  .elementor-363 .elementor-element.elementor-element-3a8c1b3 {
    --width: 100% !important;
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  /* Reduce font size with exact Elementor specificity */
  .elementor-363 .elementor-element.elementor-element-4c8147c .elementor-heading-title,
  .elementor-363 .elementor-element.elementor-element-cbc0486 .elementor-heading-title,
  .elementor-363 .elementor-element.elementor-element-02170a2 .elementor-heading-title {
    font-size: .62rem !important;
    line-height: 1.3 !important;
    letter-spacing: .14em !important;
  }
  .elementor-363 .elementor-element.elementor-element-ce71284 .elementor-heading-title,
  .elementor-363 .elementor-element.elementor-element-deb33ab .elementor-heading-title,
  .elementor-363 .elementor-element.elementor-element-60b758e .elementor-heading-title,
  .elementor-363 .elementor-element.elementor-element-c39a10f .elementor-heading-title,
  .elementor-363 .elementor-element.elementor-element-56c3ef2 .elementor-heading-title,
  .elementor-363 .elementor-element.elementor-element-04382fe .elementor-heading-title,
  .elementor-363 .elementor-element.elementor-element-c16fa21 .elementor-heading-title,
  .elementor-363 .elementor-element.elementor-element-ff2fa23 .elementor-heading-title,
  .elementor-363 .elementor-element.elementor-element-12ed9fe .elementor-heading-title,
  .elementor-363 .elementor-element.elementor-element-874f887 .elementor-heading-title {
    font-size: .75rem !important;
    line-height: 1.4 !important;
    letter-spacing: .06em !important;
    white-space: normal !important;
    word-break: normal !important;
  }
  /* Description text */
  .elementor-363 .elementor-element.elementor-element-0d5e4a9 .elementor-heading-title {
    font-size: .82rem !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    line-height: 1.65 !important;
  }
}

/* === CRITICAL FIX: Prevent horizontal scroll === */
html { overflow-x: hidden !important; }

/* Logo container — constrain width, no overflow */
.wpr-logo, .wpr-logo-text, .elementor-widget-wpr-logo .elementor-widget-container {
  overflow: hidden !important;
  max-width: 100% !important;
}

/* Logo title — single source of truth, no pseudo-element */
.wpr-logo-url::before,
.wpr-logo-url::after {
  content: none !important;
  display: none !important;
}

/* wpr-logo-title: the ONLY logo text shown */
.wpr-logo-title,
.wpr-logo-text h1.wpr-logo-title,
.wpr-logo-text h2.wpr-logo-title {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: hidden !important;
  font-family: 'Cormorant Garamond','Cormorant',Georgia,serif !important;
  font-style: italic !important;
  font-weight: 300 !important;
  letter-spacing: -.01em !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  background: linear-gradient(110deg,#8A6218 0%,#C8A84A 28%,#EDD068 52%,#C4A89A 76%,#D8C0B4 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  text-transform: none !important;
  max-width: 100% !important;
}
/* Header logo size */
.elementor-element-4b762d2f .wpr-logo-title { font-size: 1.8rem !important; }
/* Footer logo size */
.elementor-element-8bead94  .wpr-logo-title { font-size: 1.4rem !important; }
/* Mobile */
@media(max-width:767px){
  .elementor-element-4b762d2f .wpr-logo-title { font-size: 1.2rem !important; }
  .elementor-element-8bead94  .wpr-logo-title { font-size: 1rem !important; }
}

/* === Legal section — horizontal row spanning full footer width === */
.elementor-363 .elementor-element.elementor-element-1199711 {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  border-top: 1px solid rgba(200,168,74,.15) !important;
  padding-top: 16px !important;
  margin-top: 8px !important;
  display: block !important;
}

.elementor-363 .elementor-element.elementor-element-1199711 > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 6px 20px !important;
  align-items: center !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Legal heading items inline */
.elementor-363 .elementor-element.elementor-element-1199711 .elementor-widget {
  flex: 0 0 auto !important;
  width: auto !important;
}

/* === Legal section — INLINE BLOCK approach (bypasses flex-direction) === */
.elementor-363 .elementor-element.elementor-element-1199711 {
  display: block !important;
  width: 100% !important;
  flex: 0 0 100% !important;
}
/* Make each legal widget inline */
.elementor-363 .elementor-element.elementor-element-1199711 .elementor-widget {
  display: inline-block !important;
  width: auto !important;
  vertical-align: middle !important;
  margin-right: 20px !important;
  margin-bottom: 0 !important;
}
/* Ensure the headings inside are inline */
.elementor-363 .elementor-element.elementor-element-1199711 .elementor-widget-container {
  display: inline !important;
}
.elementor-363 .elementor-element.elementor-element-1199711 .elementor-heading-title {
  display: inline !important;
  white-space: nowrap !important;
}

/* === Constrain Book Consultation floating button === */
.wpr-pc-btn {
  max-width: 180px !important;
  width: auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  right: 28px !important;
  bottom: 88px !important;
}
/* Ensure it never causes horizontal overflow */
.wpr-pc-wrap, .wpr-stt-wrap {
  overflow: visible !important;
  position: static !important;
}

/* Stop page sections causing horizontal overflow */
.elementor-section,.e-con,.elementor-top-section{max-width:100% !important;overflow-x:clip !important;}

