/**
 * Elementor Style-tab tokens.
 * Controls set --cl-widget-* on the widget wrapper; these rules apply them
 * only when a value is set (no fallback = declaration is ignored otherwise).
 */

.elementor-widget > .elementor-widget-container > section,
.elementor-widget > .elementor-widget-container > div {
  background-color: var(--cl-widget-bg);
}

/* Heading */
.elementor-widget .heading:not(.home-discor-item-value):not(.home-discor-item-num):not(.home-discor-item-unit),
.elementor-widget h1,
.elementor-widget h2,
.elementor-widget h3,
.elementor-widget h4,
.elementor-widget h5,
.elementor-widget h6,
.elementor-widget .home-banner-title,
.elementor-widget .bp-card-title,
.elementor-widget .bp-inline-cta-title,
.elementor-widget .bp-deck,
.elementor-widget .nabt-main-title,
.elementor-widget .nabt-main-item-title,
.elementor-widget .dist-hero-title,
.elementor-widget .dist-main-item-title,
.elementor-widget .invest-form-title,
.elementor-widget .how-hero-title,
.elementor-widget .home-discor-title,
.elementor-widget .home-reviews-title,
.elementor-widget .home-intro-title,
.elementor-widget .home-cta-title,
.elementor-widget .home-doc-title,
.elementor-widget .home-prog-title {
  color: var(--cl-widget-heading);
  -webkit-text-fill-color: var(--cl-widget-heading);
}

/* Description / body — explicit classes only (never bare p / .txt) */
.elementor-widget .home-intro-sub,
.elementor-widget .home-banner-desc,
.elementor-widget .how-commit-sub,
.elementor-widget .how-why-sub,
.elementor-widget .how-why-item-sub,
.elementor-widget .how-select-sub,
.elementor-widget .how-select-item-sub,
.elementor-widget .whis-process-sub,
.elementor-widget .invest-hero-sub,
.elementor-widget .invest-how-item-body,
.elementor-widget .home-reviews-intro,
.elementor-widget .home-reviews-quote,
.elementor-widget .ft-callout-txt,
.elementor-widget .ft-brand-tagline,
.elementor-widget .home-footer-add-txt,
.elementor-widget .home-invest-step-para,
.elementor-widget .home-process-step__body,
.elementor-widget .dist-hero-sub,
.elementor-widget .abt-main-item-sub,
.elementor-widget .nabt-main-item-sub,
.elementor-widget .bp-hero-lede,
.elementor-widget .home-discor-item-body,
.elementor-widget .txt.txt-18,
.elementor-widget .txt.txt-16,
.elementor-widget .txt.txt-14 {
  color: var(--cl-widget-desc, var(--cl-widget-text));
}

html body .elementor-element .txt.dist-main-item-sub,
html body .txt.txt-18.dist-main-item-sub {
  color: var(--cl-widget-desc, #ede9e8) !important;
  -webkit-text-fill-color: var(--cl-widget-desc, #ede9e8) !important;
}

/* Label / eyebrow — never drives --cl-gold (button accents) */
.elementor-widget .txt-label,
.elementor-widget .home-intro-label,
.elementor-widget .home-reviews-label,
.elementor-widget .home-footer-label,
.elementor-widget .home-footer-main-label,
.elementor-widget .home-footer-add-wrap-label,
.elementor-widget .dist-main-label,
.elementor-widget .home-cta-label,
.elementor-widget .home-doc-label,
.elementor-widget .home-doc-sub-label,
.elementor-widget .home-prog-item-label,
.elementor-widget .whis-process-label,
.elementor-widget .whis-hero-label,
.elementor-widget .whis-contact-label,
.elementor-widget .how-commit-label,
.elementor-widget .how-why-label,
.elementor-widget .how-select-label,
.elementor-widget .how-step-label,
.elementor-widget .nabt-main-contact-label,
.elementor-widget .invest-hero-label,
.elementor-widget .invest-how-item-label,
.elementor-widget .home-invest-label,
.elementor-widget .home-pre-label,
.elementor-widget .home-banner-eyebrow,
.elementor-widget .input-label,
.elementor-widget .nav-contact-item-label,
.elementor-widget .ft-link-label,
.elementor-widget .bp-toc-label,
.elementor-widget .bp-field-label,
.elementor-widget .bp-share-label,
.elementor-widget .bp-author-label,
.elementor-widget .bp-inline-cta-kicker {
  color: var(--cl-widget-label);
}

/* Accent */
.elementor-widget .home-reviews-stars,
.elementor-widget .home-reviews-stars span,
.elementor-widget .home-process-step__num,
.elementor-widget .home-invest-item-step-txt,
.elementor-widget .home-discor-item-num,
.elementor-widget .home-discor-item-unit {
  color: var(--cl-widget-accent);
  -webkit-text-fill-color: var(--cl-widget-accent);
}

/* Marquee */
.elementor-widget .home-invest-marquee-txt,
.elementor-widget .home-prog-marquee-txt {
  color: var(--cl-widget-heading);
}

/* Links — exclude CTAs */
.elementor-widget a:not(.btn):not(.header-cta):not(.home-footer-submit):not(.ft-callout-btn):not(.home-banner-btn):not(.bp-hero-cta):not(.bp-lead-submit):not(.bp-inline-cta-btn):not(.bp-card-cta):not(.bp-back):not(.home-discor-cta-btn):not(.nabt-main-phone-btn) {
  color: var(--cl-widget-link);
}

/* Buttons — do not include .home-banner-btn (primary/outline styled separately) */
.elementor-widget .btn,
.elementor-widget .header-cta,
.elementor-widget .home-footer-submit,
.elementor-widget .ft-callout-btn,
.elementor-widget .ft-appt-submit,
.elementor-widget .bp-hero-cta,
.elementor-widget .bp-lead-submit,
.elementor-widget .bp-inline-cta-btn,
.elementor-widget .bp-card-cta {
  background-color: var(--cl-widget-btn-bg);
  color: var(--cl-widget-btn-text);
}

.elementor-widget .btn .txt,
.elementor-widget .header-cta-label,
.elementor-widget .header-cta-number,
.elementor-widget .ft-subscribe-txt,
.elementor-widget .ft-appt-submit-txt {
  color: var(--cl-widget-btn-text);
}

/* Icons */
.elementor-widget .compass-btn-icon,
.elementor-widget .compass-btn-icon i,
.elementor-widget .compass-btn-icon svg,
.elementor-widget .ic-embed svg {
  color: var(--cl-widget-icon);
  fill: var(--cl-widget-icon);
}

.elementor-widget .btn .compass-btn-icon,
.elementor-widget .btn .compass-btn-icon i,
.elementor-widget .btn .compass-btn-icon svg,
.elementor-widget .header-cta .compass-btn-icon,
.elementor-widget .header-cta .compass-btn-icon i,
.elementor-widget .header-cta .compass-btn-icon svg,
.elementor-widget .home-footer-submit .compass-btn-icon,
.elementor-widget .ft-callout-btn .compass-btn-icon,
.elementor-widget .ft-appt-submit .compass-btn-icon {
  color: var(--cl-widget-btn-icon, var(--cl-widget-icon));
  fill: var(--cl-widget-btn-icon, var(--cl-widget-icon));
}

.compass-btn-icon,
.home-banner-btn .compass-btn-icon,
.header-cta .compass-btn-icon,
.btn .compass-btn-icon,
.ft-appt-submit .compass-btn-icon,
.bp-lead-submit .compass-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.15em;
  height: 1.15em;
  line-height: 1;
  margin-right: 0.55rem;
  vertical-align: middle;
}

.compass-btn-icon i,
.compass-btn-icon svg {
  display: block;
  width: 1em;
  height: 1em;
  font-size: 1em;
}

.compass-btn-icon svg {
  fill: currentColor;
}

.home-banner-btn .compass-btn-icon,
.header-cta .compass-btn-icon {
  margin-right: 0;
}
