/* ============================================
   PRIME Philippines — Elementor Overrides
   Custom CSS classes for Elementor-built pages
   ============================================ */

/* Map the Philippine Peso glyph (U+20B1) to a Unicode-rich system
   font so it renders cleanly even when the theme body font lacks an
   embedded peso. Every other character keeps its original font. */
@font-face {
  font-family: 'PrimePeso';
  src: local('Segoe UI'), local('Helvetica Neue'), local('Noto Sans'),
       local('Arial Unicode MS'), local('Arial');
  unicode-range: U+20B1;
  font-display: swap;
}

/* Listing cards, property detail specs, and any other surfaces that
   render a peso-prefixed price get PrimePeso ahead of the body font
   so the glyph swap happens transparently. */
.prime-property-listing-card__meta-item,
.prime-property-detail__spec-value,
.prime-property-detail__price,
.prime-property-detail__price-amount,
.prime-properties-grid .prime-property-listing-card__meta-item {
  font-family: 'PrimePeso', var(--font-body), 'Helvetica Neue', Arial, sans-serif;
}

/* ---- Base Elementor Overrides ----
   Force PRIME design system defaults so Elementor
   widgets inherit the correct fonts and colors.     */

.elementor-page body,
body.elementor-page,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor .elementor-text-editor {
  font-family: var(--font-body) !important;
  color: var(--prime-gray);
}

.elementor-page h1,
.elementor-page h2,
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
}

.elementor-page h3,
.elementor-page h4 {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
}

.elementor-widget-icon-box .elementor-icon-box-title {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-style: normal !important;
}

.elementor-widget-icon-box .elementor-icon-box-description {
  font-family: var(--font-body) !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.elementor-widget-button .elementor-button {
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  border-radius: 0 !important;
}

.elementor-widget-divider .elementor-divider-separator {
  border-color: var(--prime-gold) !important;
}

/* Fix Elementor page background and remove WP block gaps */
html,
body,
body.elementor-page,
body .wp-site-blocks,
body [data-elementor-type="wp-page"],
body .elementor,
body main,
body .site-main,
body .entry-content,
body .site-content,
body .page-content {
  background-color: var(--prime-warm-white) !important;
}

/* Kill any residual gap between Elementor containers */
body.elementor-page .e-con.e-parent + .e-con.e-parent,
body.elementor-page .elementor-section + .elementor-section,
body .e-con.e-parent {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}

/* Nuclear: any container immediately following the prime-service-hero
   should butt up against it with zero gap */
body .e-con.e-parent:has(> .elementor-widget-prime_service_hero) + .e-con.e-parent {
  margin-top: -1px !important;
}

/* Ensure bare <section> elements don't have default browser styling
   creating a visual break */
body section {
  background-color: transparent;
}

/* Ensure the Elementor kit wrapper doesn't inject a stripe */
body .elementor-kit-8,
body [class*="elementor-kit-"] {
  background-color: transparent !important;
}

/* Remove WP default block spacing on Elementor pages */
body.elementor-page .wp-site-blocks > * {
  margin-block-start: 0 !important;
}

body.elementor-page [data-elementor-type="wp-page"] > .e-con {
  margin-block-start: 0 !important;
}


/* ---- Reusable Section Classes ---- */

/* Dark hero / banner sections */
.prime-el-hero {
  position: relative;
  min-height: 520px !important;
  display: flex;
  align-items: flex-end;
}

.prime-el-hero > .elementor-background-overlay {
  background: linear-gradient(
    180deg,
    rgba(12, 12, 14, 0.7) 0%,
    rgba(0, 51, 102, 0.85) 100%
  ) !important;
}

/* Section background variants */
.prime-el-dark {
  background-color: var(--prime-gray) !important;
}

.prime-el-deep {
  background-color: var(--prime-deep-ink) !important;
}

.prime-el-blue {
  background-color: var(--prime-blue) !important;
}

.prime-el-beige {
  background-color: #F4F1EC !important;
}

.prime-el-warm {
  background-color: var(--prime-warm-white) !important;
}


/* ---- Typography Utility Classes ---- */

/* Section label (small uppercase text above headings) */
.prime-el-label,
.prime-el-label .elementor-heading-title {
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  line-height: 2.0 !important;
}

.prime-el-label--gold .elementor-heading-title {
  color: var(--prime-gold) !important;
}

.prime-el-label--blue .elementor-heading-title {
  color: var(--prime-blue) !important;
}

/* Section heading (Cormorant Garamond italic) */
.prime-el-heading .elementor-heading-title {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
}

.prime-el-heading--light .elementor-heading-title {
  color: var(--prime-blue) !important;
}

.prime-el-heading--dark .elementor-heading-title {
  color: var(--prime-warm-white) !important;
}

/* Gold divider rule */
.prime-el-rule .elementor-divider-separator {
  border-color: var(--prime-gold) !important;
  width: 50px !important;
}

/* Body text on light backgrounds */
.prime-el-body .elementor-text-editor {
  font-family: var(--font-body) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: var(--prime-gray) !important;
}

/* Body text on dark backgrounds */
.prime-el-body--dark .elementor-text-editor {
  color: rgba(255, 252, 251, 0.7) !important;
}

/* Breadcrumb text */
.prime-el-breadcrumb .elementor-text-editor {
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: rgba(255, 252, 251, 0.5) !important;
}

.prime-el-breadcrumb a {
  color: rgba(255, 252, 251, 0.5) !important;
  transition: color 0.25s ease;
}

.prime-el-breadcrumb a:hover {
  color: var(--prime-gold) !important;
}

/* Bebas Neue numbers */
.prime-el-number .elementor-heading-title {
  font-family: var(--font-data) !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  color: var(--prime-gold) !important;
  line-height: 1 !important;
}


/* ---- Card Patterns ---- */

/* Feature card on light bg */
.prime-el-card {
  background: var(--prime-warm-white) !important;
  padding: 40px 36px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
  border-top: 3px solid transparent !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease !important;
}

.prime-el-card:hover {
  border-top-color: var(--prime-gold) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1) !important;
  transform: translateY(-4px) !important;
}

/* Offering card on dark bg (bordered) */
.prime-el-card--dark {
  background: transparent !important;
  padding: 36px 32px !important;
  border: 1px solid rgba(201, 171, 76, 0.15) !important;
  transition: border-color 0.3s ease, background 0.3s ease !important;
}

.prime-el-card--dark:hover {
  border-color: rgba(201, 171, 76, 0.4) !important;
  background: rgba(255, 252, 251, 0.03) !important;
}

.prime-el-card--dark .elementor-widget-heading .elementor-heading-title {
  color: var(--prime-warm-white) !important;
}

.prime-el-card--dark .elementor-widget-text-editor {
  color: rgba(255, 252, 251, 0.6) !important;
}


/* ---- Button Styles ---- */

/* Primary button (PRIME Blue) */
.prime-el-btn--primary .elementor-button {
  background-color: var(--prime-blue) !important;
  color: var(--prime-warm-white) !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 16px 36px !important;
}

.prime-el-btn--primary .elementor-button:hover {
  background-color: #002244 !important;
}

/* Gold button */
.prime-el-btn--gold .elementor-button {
  background-color: var(--prime-gold) !important;
  color: var(--prime-deep-ink) !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 16px 36px !important;
}

.prime-el-btn--gold .elementor-button:hover {
  background-color: #b89a3e !important;
}

/* Secondary button (gold border) */
.prime-el-btn--secondary .elementor-button {
  background-color: transparent !important;
  color: var(--prime-gold) !important;
  border: 1px solid var(--prime-gold) !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 16px 36px !important;
}

.prime-el-btn--secondary .elementor-button:hover {
  background-color: var(--prime-gold) !important;
  color: var(--prime-deep-ink) !important;
}


/* ---- Image with Gold Accent ---- */
.prime-el-image-accent {
  position: relative;
}

.prime-el-image-accent::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: -10px;
  width: 100%;
  height: 100%;
  border: 3px solid var(--prime-gold);
  z-index: -1;
  pointer-events: none;
}

.prime-el-image-accent img {
  position: relative;
  z-index: 1;
}


/* ---- Icon Box for "Why" Items ---- */
.prime-el-why-icon .elementor-icon {
  border: 2px solid var(--prime-gold) !important;
  border-radius: 0 !important;
  width: 48px !important;
  height: 48px !important;
}


/* ---- Decorative Watermark ---- */
.prime-el-watermark {
  position: absolute !important;
  top: -40px;
  right: -20px;
  font-family: var(--font-data) !important;
  font-size: 28vw !important;
  color: rgba(255, 252, 251, 0.02) !important;
  line-height: 1 !important;
  pointer-events: none !important;
  user-select: none !important;
  z-index: 0 !important;
}


/* ============================================
   PRIME Custom Widget — Elementor Container
   Resets
   Strip Elementor's default container padding,
   gaps, and max-width so PRIME widgets render
   exactly as the original PHP template.
   ============================================ */

/* Parent containers that hold PRIME custom widgets — full width, no padding */
.e-con:has(> .elementor-widget-prime_service_hero),
.e-con:has(> .elementor-widget-prime_text_image),
.e-con:has(> .elementor-widget-prime_feature_cards),
.e-con:has(> .elementor-widget-prime_numbered_services),
.e-con:has(> .elementor-widget-prime_why_items),
.e-con:has(> .elementor-widget-prime_cta_banner),
.e-con:has(> .elementor-widget-prime_expertise_intro),
.e-con:has(> .elementor-widget-prime_expertise_grid),
.e-con:has(> .elementor-widget-prime_expertise_why),
.e-con:has(> .elementor-widget-prime_stats_counter),
.e-con:has(> .elementor-widget-prime_office_locations),
.e-con:has(> .elementor-widget-prime_mission_vision),
.e-con:has(> .elementor-widget-prime_awards),
.e-con:has(> .elementor-widget-prime_partners),
.e-con:has(> .elementor-widget-prime_knowledge_categories),
.e-con:has(> .elementor-widget-prime_why_matters),
.e-con:has(> .elementor-widget-prime_contact_section),
.e-con:has(> .elementor-widget-prime_leader_spotlight),
.e-con:has(> .elementor-widget-prime_leader_team),
.e-con:has(> .elementor-widget-prime_csr_philosophy),
.e-con:has(> .elementor-widget-prime_csr_pillars),
.e-con:has(> .elementor-widget-prime_csr_impact),
.e-con:has(> .elementor-widget-prime_csr_gallery),
.e-con:has(> .elementor-widget-prime_csr_cta),
.e-con:has(> .elementor-widget-prime_expertise_form) {
  --padding-top: 0px !important;
  --padding-right: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --content-width: 100% !important;
  --gap: 0px !important;
  padding: 0 !important;
  max-width: 100% !important;
}

/* Widget wrappers — full width */
.elementor-widget-prime_service_hero,
.elementor-widget-prime_text_image,
.elementor-widget-prime_feature_cards,
.elementor-widget-prime_numbered_services,
.elementor-widget-prime_why_items,
.elementor-widget-prime_cta_banner,
.elementor-widget-prime_expertise_intro,
.elementor-widget-prime_expertise_grid,
.elementor-widget-prime_expertise_why,
.elementor-widget-prime_stats_counter,
.elementor-widget-prime_office_locations,
.elementor-widget-prime_mission_vision,
.elementor-widget-prime_awards,
.elementor-widget-prime_partners,
.elementor-widget-prime_knowledge_categories,
.elementor-widget-prime_why_matters,
.elementor-widget-prime_contact_section,
.elementor-widget-prime_leader_spotlight,
.elementor-widget-prime_leader_team,
.elementor-widget-prime_csr_philosophy,
.elementor-widget-prime_csr_pillars,
.elementor-widget-prime_csr_impact,
.elementor-widget-prime_csr_gallery,
.elementor-widget-prime_csr_cta,
.elementor-widget-prime_expertise_form {
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-widget-prime_service_hero > .elementor-widget-container,
.elementor-widget-prime_text_image > .elementor-widget-container,
.elementor-widget-prime_feature_cards > .elementor-widget-container,
.elementor-widget-prime_numbered_services > .elementor-widget-container,
.elementor-widget-prime_why_items > .elementor-widget-container,
.elementor-widget-prime_cta_banner > .elementor-widget-container,
.elementor-widget-prime_expertise_intro > .elementor-widget-container,
.elementor-widget-prime_expertise_grid > .elementor-widget-container,
.elementor-widget-prime_expertise_why > .elementor-widget-container,
.elementor-widget-prime_stats_counter > .elementor-widget-container,
.elementor-widget-prime_office_locations > .elementor-widget-container,
.elementor-widget-prime_mission_vision > .elementor-widget-container,
.elementor-widget-prime_awards > .elementor-widget-container,
.elementor-widget-prime_partners > .elementor-widget-container,
.elementor-widget-prime_knowledge_categories > .elementor-widget-container,
.elementor-widget-prime_why_matters > .elementor-widget-container,
.elementor-widget-prime_contact_section > .elementor-widget-container,
.elementor-widget-prime_leader_spotlight > .elementor-widget-container,
.elementor-widget-prime_leader_team > .elementor-widget-container,
.elementor-widget-prime_csr_philosophy > .elementor-widget-container,
.elementor-widget-prime_csr_pillars > .elementor-widget-container,
.elementor-widget-prime_csr_impact > .elementor-widget-container,
.elementor-widget-prime_csr_gallery > .elementor-widget-container,
.elementor-widget-prime_csr_cta > .elementor-widget-container,
.elementor-widget-prime_expertise_form > .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ============================================
   Full-bleed for PRIME widget sections
   When Elementor wraps widgets in .elementor-container (capped at
   max-width:1440px by kit-8), the widget's inner <section> background
   stops at 1440px instead of bleeding to the viewport edges. The
   pattern below breaks each widget's <section> out via 100vw and
   negative margins, then re-centers the inner content with auto
   margins. Mirrors the proven approach in prime-career-form.css.
   Body has overflow-x: hidden so this is safe.
   ============================================ */

/* --- Outer <section> goes full viewport width (service widgets only) --- */
.elementor-widget-prime_service_hero              > .elementor-widget-container > .prime-service-hero,
.elementor-widget-prime_text_image                > .elementor-widget-container > .prime-service-intro,
.elementor-widget-prime_feature_cards             > .elementor-widget-container > .prime-service-features,
.elementor-widget-prime_numbered_services         > .elementor-widget-container > .prime-service-offerings,
.elementor-widget-prime_why_items                 > .elementor-widget-container > .prime-service-why,
.elementor-widget-prime_expertise_why             > .elementor-widget-container > .prime-service-why,
.elementor-widget-prime_cta_banner                > .elementor-widget-container > .prime-service-cta,
.elementor-widget-prime_expertise_form            > .elementor-widget-container > .prime-expertise-form-section,
.elementor-widget-prime_homepage_hero             > .elementor-widget-container > .prime-hero,
.elementor-widget-prime_homepage_stats            > .elementor-widget-container > .prime-stats,
.elementor-widget-prime_homepage_services         > .elementor-widget-container > .prime-services,
.elementor-widget-prime_homepage_featured_props   > .elementor-widget-container > .prime-properties,
.elementor-widget-prime_homepage_about            > .elementor-widget-container > .prime-about,
.elementor-widget-prime_homepage_clients_marquee  > .elementor-widget-container > .prime-clients,
.elementor-widget-prime_homepage_clients_grid     > .elementor-widget-container > .prime-client-list,
.elementor-widget-prime_thank_you_hero            > .elementor-widget-container > .prime-thank-you {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box;
}

/* --- Inner content stays centered within its existing max-width --- */
.elementor-widget-prime_service_hero              .prime-service-hero__content,
.elementor-widget-prime_text_image                .prime-service-intro__inner,
.elementor-widget-prime_feature_cards             .prime-service-features__inner,
.elementor-widget-prime_numbered_services         .prime-service-offerings__inner,
.elementor-widget-prime_why_items                 .prime-service-why__inner,
.elementor-widget-prime_expertise_why             .prime-service-why__inner,
.elementor-widget-prime_cta_banner                .prime-service-cta__inner,
.elementor-widget-prime_expertise_form            .prime-expertise-form-section__inner,
.elementor-widget-prime_homepage_services         .prime-services__inner,
.elementor-widget-prime_homepage_featured_props   .prime-properties__inner,
.elementor-widget-prime_homepage_about            .prime-about__inner,
.elementor-widget-prime_homepage_clients_marquee  .prime-clients__inner,
.elementor-widget-prime_homepage_clients_grid     .prime-client-list__inner,
.elementor-widget-prime_homepage_stats            .prime-stats__strip {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* KC widgets (kc_section_ribbon, kc_editors_picks, kc_library_strip,
   kc_footer_bridge, newsletter_inline) intentionally NOT full-bleeded
   here — they already render correctly via their own page CSS on KC
   sub-pages. Adding 100vw broke their layout, so leave them alone. */

/* Remove the 24px block gap WP adds between parent containers */
body.elementor-page .e-con.e-parent + .e-con.e-parent {
  margin-block-start: 0 !important;
}


/* ============================================
   PRIME Custom Widget — Elementor Kit Overrides
   The Elementor Kit (post-8.css) sets global
   h1 { color: #003366 } and a { color: #003366 }
   which overrides our section-specific colors.
   These rules restore the correct colors.
   ============================================ */

/* Hero section — headings must be white/warm-white, not PRIME Blue */
.elementor-kit-8 .prime-service-hero .prime-section-header__heading--dark,
.elementor-kit-8 .prime-section-header__heading--dark,
.prime-section-header__heading--dark {
  color: var(--prime-warm-white) !important;
}

/* Hero breadcrumb links — white, not PRIME Blue */
.elementor-kit-8 .prime-service-hero__breadcrumb a,
.prime-service-hero__breadcrumb a {
  color: rgba(255, 252, 251, 0.75) !important;
  text-decoration: none !important;
}

.elementor-kit-8 .prime-service-hero__breadcrumb a:hover,
.prime-service-hero__breadcrumb a:hover {
  color: var(--prime-gold) !important;
}

/* Dark section headings (numbered services, CTA) */
.elementor-kit-8 .prime-service-offerings h2,
.elementor-kit-8 .prime-service-offerings h3,
.elementor-kit-8 .prime-service-cta h2 {
  color: var(--prime-warm-white) !important;
}

/* CTA banner heading specifically */
.elementor-kit-8 .prime-service-cta__heading {
  color: var(--prime-warm-white) !important;
}

/* Gold labels on dark backgrounds */
.elementor-kit-8 .prime-section-header__label--dark {
  color: var(--prime-gold) !important;
}

/* Light section headings — PRIME Blue */
.elementor-kit-8 .prime-section-header__heading--light {
  color: var(--prime-blue) !important;
}

/* Mobile centering for the homepage About widget — high-specificity
   override that wins against Elementor's per-widget cached CSS. The
   base prime-homepage.css rules at the same breakpoint don't always
   beat Elementor's generated selectors in load order. */
@media (max-width: 1024px) {
  .elementor-widget-prime_homepage_about,
  .elementor-widget-prime_homepage_about .prime-about__text,
  .elementor-widget-prime_homepage_about .prime-about__text * {
    text-align: center !important;
  }
  .elementor-widget-prime_homepage_about .prime-about__inner {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .elementor-widget-prime_homepage_about .prime-section-header__rule {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .elementor-widget-prime_homepage_about .prime-about__image {
    max-width: 400px !important;
    margin: 0 auto !important;
  }
}

/* Light section labels — PRIME Blue */
.elementor-kit-8 .prime-section-header__label--light {
  color: var(--prime-blue) !important;
}

/* Offering card titles on dark background */
.elementor-kit-8 .prime-service-offering-card__title {
  color: var(--prime-warm-white) !important;
}

/* Stats counter — dark section headings */
.elementor-kit-8 .prime-stats-counter h2 {
  color: var(--prime-warm-white) !important;
}

/* Mission & Vision — dark section headings */
.elementor-kit-8 .prime-mission-vision h2,
.elementor-kit-8 .prime-mission-vision__col-heading {
  color: var(--prime-gold) !important;
}

/* Office locations — light section headings */
.elementor-kit-8 .prime-office-locations__city {
  color: var(--prime-blue) !important;
}

/* Awards — heading */
.elementor-kit-8 .prime-awards__heading {
  color: var(--prime-blue) !important;
}

/* Awards — title */
.elementor-kit-8 .prime-awards__title {
  color: var(--prime-blue) !important;
}

/* Partners — dark section heading */
.elementor-kit-8 .prime-partners__heading {
  color: var(--prime-warm-white) !important;
}

/* Knowledge Categories — dark section headings and links */
.elementor-kit-8 .prime-knowledge-categories h2 {
  color: var(--prime-warm-white) !important;
}

.elementor-kit-8 .prime-knowledge-category-card__title {
  color: var(--prime-warm-white) !important;
}

.elementor-kit-8 .prime-knowledge-category-card__link {
  color: var(--prime-gold) !important;
}

/* Why It Matters — light section headings */
.elementor-kit-8 .prime-why-matters-item__title {
  color: var(--prime-blue) !important;
}

/* Contact Section — form heading (light panel) */
.elementor-kit-8 .prime-contact-form__heading {
  color: var(--prime-blue) !important;
}

/* Contact Section — dark panel heading */
.elementor-kit-8 .prime-contact-panel__heading {
  color: var(--prime-warm-white) !important;
}

/* Contact Section — dark panel links */
.elementor-kit-8 .prime-contact-panel__detail a {
  color: var(--prime-warm-white) !important;
}

.elementor-kit-8 .prime-contact-panel__detail a:hover {
  color: var(--prime-gold) !important;
}


/* ============================================
   Elementor Kit Global Override — Header & Footer
   The Kit (post-8.css) sets:
     a { color: #003366 }
     h4 { color: #1B1D1E }
     body color: #1B1D1E
   These bleed into the dark header/footer.
   We restore every element to the PRIME design.
   ============================================ */

/* --- Header ---
   Default menu text is dark (readable on the solid warm-white header).
   Over a dark hero it flips to warm-white; scroll always wins → dark. */
.elementor-kit-8 .prime-header__menu > li > a {
  color: var(--prime-gray, #1B1D1E) !important;
}

.elementor-kit-8 .prime-header--over-hero .prime-header__menu > li > a {
  color: var(--prime-warm-white, #FFFCFB) !important;
}

.elementor-kit-8 .prime-header--scrolled .prime-header__menu > li > a,
.elementor-kit-8 .prime-header--scrolled.prime-header--over-hero .prime-header__menu > li > a {
  color: var(--prime-gray, #1B1D1E) !important;
}

@media (max-width: 1024px) {
  .elementor-kit-8 .prime-header__menu > li > a,
  .elementor-kit-8 .prime-header--scrolled .prime-header__menu > li > a,
  .elementor-kit-8 .prime-header--over-hero .prime-header__menu > li > a {
    color: var(--prime-warm-white, #FFFCFB) !important;
  }
}

.elementor-kit-8 .prime-header__menu > li > a:hover,
.elementor-kit-8 .prime-header__has-dropdown:hover > a {
  color: var(--prime-gold) !important;
}

.elementor-kit-8 .prime-header__dropdown a {
  color: rgba(255, 252, 251, 0.75) !important;
}

.elementor-kit-8 .prime-header__dropdown a:hover {
  color: var(--prime-gold) !important;
}

/* --- Footer — all text and links --- */
.elementor-kit-8 .prime-footer {
  color: rgba(255, 252, 251, 0.6) !important;
}

/* Headings (h4): "Quick Links", "Our Offices" */
.elementor-kit-8 .prime-footer__heading {
  color: var(--prime-gold) !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  font-style: normal !important;
}

/* Tagline */
.elementor-kit-8 .prime-footer__tagline {
  color: rgba(255, 252, 251, 0.6) !important;
}

/* Quick Links */
.elementor-kit-8 .prime-footer__links a {
  color: var(--prime-warm-white) !important;
}

.elementor-kit-8 .prime-footer__links a:hover {
  color: var(--prime-gold) !important;
}

/* Office names (strong) */
.elementor-kit-8 .prime-footer__office strong {
  color: var(--prime-warm-white) !important;
}

/* Office addresses (p) */
.elementor-kit-8 .prime-footer__office p {
  color: rgba(255, 252, 251, 0.6) !important;
}

/* Social icons */
.elementor-kit-8 .prime-footer__social-link {
  color: rgba(255, 252, 251, 0.6) !important;
}

.elementor-kit-8 .prime-footer__social-link:hover {
  color: var(--prime-gold) !important;
}

/* Copyright bar */
.elementor-kit-8 .prime-footer__bottom p {
  color: rgba(255, 252, 251, 0.4) !important;
}


/* --- Buttons (a tags) — override Kit global a color --- */
.elementor-kit-8 a.prime-btn--gold {
  color: var(--prime-deep-ink) !important;
}

.elementor-kit-8 a.prime-btn--gold:hover {
  color: var(--prime-deep-ink) !important;
}

.elementor-kit-8 a.prime-btn--primary {
  color: var(--prime-warm-white) !important;
}

.elementor-kit-8 a.prime-btn--primary:hover {
  color: var(--prime-warm-white) !important;
}

.elementor-kit-8 a.prime-btn--secondary {
  color: var(--prime-gold) !important;
}

.elementor-kit-8 a.prime-btn--secondary:hover {
  color: var(--prime-deep-ink) !important;
}


/* ============================================
   Elementor Editor — Disable scroll animations
   The prime-animate system uses opacity: 0 and
   waits for JS Intersection Observer to reveal.
   Inside the Elementor editor the JS doesn't run,
   so widgets stay invisible. Force them visible.
   ============================================ */
body.elementor-editor-active .prime-animate,
body.elementor-editor-preview .prime-animate {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}


/* ---- Responsive ---- */
@media (max-width: 1024px) {
  .prime-el-hero {
    min-height: 440px !important;
  }
}

@media (max-width: 480px) {
  .prime-el-hero {
    min-height: 380px !important;
  }

  .prime-el-card {
    padding: 28px 24px !important;
  }

  .prime-el-card--dark {
    padding: 28px 24px !important;
  }
}
