/* FIX ARRAY 0.7.29 - Elementor-first Hero and button control repair. */

/* The cinematic Hero uses dedicated editor variables so late, scene-specific CSS cannot silently override Elementor. */
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed {
  background: var(--fax-ctl-hero-bg, var(--fax-cinematic-bg, #06152e));
  color: var(--fax-ctl-hero-title, var(--fax-cinematic-title, #fff));
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed::before,
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__stage,
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__visual {
  background-color: var(--fax-ctl-hero-bg, var(--fax-cinematic-bg, #06152e));
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__slides,
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__slide,
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__slide-inner {
  min-height: var(--fax-ctl-hero-min-height, var(--fax-cinematic-min-height, 760px));
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-hero-impact__content,
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__copy {
  flex-basis: var(--fax-ctl-hero-copy, var(--fax-cinematic-copy, 48%));
  width: var(--fax-ctl-hero-copy, var(--fax-cinematic-copy, 48%));
  margin-left: max(
    var(--fax-ctl-hero-gutter, var(--fax-cinematic-gutter, 34px)),
    calc(
      (100% - var(--fax-ctl-hero-inner, var(--fax-cinematic-inner, 1760px))) / 2 +
      var(--fax-ctl-hero-gutter, var(--fax-cinematic-gutter, 34px))
    )
  );
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-hero-impact__eyebrow {
  color: var(--fax-ctl-hero-eyebrow, var(--fax-scene-eyebrow, var(--fax-cinematic-eyebrow, #f68712)));
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-hero-impact__title {
  color: var(--fax-ctl-hero-title, var(--fax-cinematic-title, #fff));
  font-size: var(--fax-ctl-hero-title-size, clamp(44px, 4.35vw, 76px));
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-hero-impact__highlight {
  color: var(--fax-ctl-hero-highlight, var(--fax-scene-highlight, var(--fax-cinematic-highlight, #f68712)));
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-hero-impact__description {
  color: var(--fax-ctl-hero-text, var(--fax-cinematic-text, #eef5fb));
  font-size: var(--fax-ctl-hero-description-size, 18px);
}

/* Scene identities remain the default. Optional scene controls override only the edited scene. */
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed [data-fax-slide] .fixarray-button--primary {
  background: var(--fax-btn-primary-bg, var(--fax-scene-primary, #f68712));
  border-color: var(--fax-btn-primary-border, var(--fax-scene-primary, #f68712));
  color: var(--fax-btn-primary-text, #fff);
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed [data-fax-slide] .fixarray-button--primary:hover,
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed [data-fax-slide] .fixarray-button--primary:focus-visible {
  background: var(--fax-btn-primary-hover-bg, var(--fax-scene-primary-hover, #51ade5));
  border-color: var(--fax-btn-primary-hover-border, var(--fax-scene-primary-hover, #51ade5));
  color: var(--fax-btn-primary-hover-text, var(--fax-scene-primary-hover-text, #071b43));
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed [data-fax-slide] .fixarray-button--secondary {
  background: var(--fax-btn-secondary-bg, var(--fax-scene-secondary-bg, rgba(255,255,255,.96)));
  border-color: var(--fax-btn-secondary-border, var(--fax-scene-secondary-border, rgba(255,255,255,.78)));
  color: var(--fax-btn-secondary-text, var(--fax-scene-secondary-text, #071b43));
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed [data-fax-slide] .fixarray-button--secondary:hover,
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed [data-fax-slide] .fixarray-button--secondary:focus-visible {
  background: var(--fax-btn-secondary-hover-bg, var(--fax-scene-secondary-hover-bg, #51ade5));
  border-color: var(--fax-btn-secondary-hover-border, var(--fax-scene-secondary-hover-border, #51ade5));
  color: var(--fax-btn-secondary-hover-text, var(--fax-scene-secondary-hover-text, #071b43));
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed [data-fax-slide] .fixarray-button--extra {
  background: var(--fax-btn-extra-bg, rgba(4,20,39,.58));
  border-color: var(--fax-btn-extra-border, var(--fax-scene-primary, #f68712));
  color: var(--fax-btn-extra-text, #fff);
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed [data-fax-slide] .fixarray-button--extra:hover,
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed [data-fax-slide] .fixarray-button--extra:focus-visible {
  background: var(--fax-btn-extra-hover-bg, var(--fax-scene-primary, #f68712));
  border-color: var(--fax-btn-extra-hover-border, var(--fax-scene-primary, #f68712));
  color: var(--fax-btn-extra-hover-text, #fff);
}

/* Optional global geometry. It is disabled by default, so the current Home appearance is preserved. */
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed[data-fax-global-button-geometry="1"] .fixarray-hero-impact__actions {
  gap: var(--fax-ctl-button-gap-desktop, 16px);
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed[data-fax-global-button-geometry="1"] .fixarray-hero-impact__actions .fixarray-button {
  min-height: var(--fax-ctl-button-height-desktop, 66px);
  padding-left: var(--fax-ctl-button-padding-desktop, 30px);
  padding-right: var(--fax-ctl-button-padding-desktop, 30px);
  border-radius: var(--fax-ctl-button-radius-desktop, 13px);
  font-size: var(--fax-ctl-button-font-desktop, 16px);
}

/* Existing per-scene geometry controls are authoritative whenever enabled. */
.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__slide[data-fax-custom-buttons="1"] .fixarray-hero-impact__actions {
  gap: var(--fax-action-gap, 12px);
}

.fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__slide[data-fax-custom-buttons="1"] .fixarray-hero-impact__actions .fixarray-button {
  width: var(--fax-action-width, 320px);
  max-width: 100%;
  min-height: var(--fax-action-height, 64px);
  height: auto;
}

@media (max-width: 1024px) {
  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-hero-impact__content,
  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__copy {
    width: var(--fax-ctl-hero-copy, var(--fax-cinematic-copy, 66%));
    flex-basis: var(--fax-ctl-hero-copy, var(--fax-cinematic-copy, 66%));
    margin-left: var(--fax-ctl-hero-gutter, var(--fax-cinematic-gutter, 24px));
  }

  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed[data-fax-global-button-geometry="1"] .fixarray-hero-impact__actions {
    gap: var(--fax-ctl-button-gap-tablet, 12px);
  }

  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed[data-fax-global-button-geometry="1"] .fixarray-hero-impact__actions .fixarray-button {
    min-height: var(--fax-ctl-button-height-tablet, 60px);
    padding-left: var(--fax-ctl-button-padding-tablet, 21px);
    padding-right: var(--fax-ctl-button-padding-tablet, 21px);
    border-radius: var(--fax-ctl-button-radius-tablet, 13px);
    font-size: var(--fax-ctl-button-font-tablet, 15px);
  }

  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__slide[data-fax-custom-buttons="1"] .fixarray-hero-impact__actions {
    gap: var(--fax-action-gap-tablet, 10px);
  }

  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__slide[data-fax-custom-buttons="1"] .fixarray-hero-impact__actions .fixarray-button {
    width: var(--fax-action-width-tablet, 290px);
    min-height: var(--fax-action-height-tablet, 60px);
  }
}

@media (max-width: 767px) {
  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-hero-impact__content,
  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__copy {
    width: var(--fax-ctl-hero-copy, 100%);
    flex-basis: var(--fax-ctl-hero-copy, 100%);
    margin-left: 0;
    padding-left: var(--fax-ctl-hero-gutter, var(--fax-cinematic-gutter, 16px));
    padding-right: var(--fax-ctl-hero-gutter, var(--fax-cinematic-gutter, 16px));
  }

  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed[data-fax-global-button-geometry="1"] .fixarray-hero-impact__actions {
    gap: var(--fax-ctl-button-gap-mobile, 9px);
  }

  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed[data-fax-global-button-geometry="1"] .fixarray-hero-impact__actions .fixarray-button {
    min-height: var(--fax-ctl-button-height-mobile, 56px);
    padding-left: var(--fax-ctl-button-padding-mobile, 19px);
    padding-right: var(--fax-ctl-button-padding-mobile, 19px);
    border-radius: var(--fax-ctl-button-radius-mobile, 12px);
    font-size: var(--fax-ctl-button-font-mobile, 14.5px);
  }

  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__slide[data-fax-custom-buttons="1"] .fixarray-hero-impact__actions {
    gap: var(--fax-action-gap-mobile, 9px);
  }

  .fixarray-widget.fixarray-cinematic-hero.fixarray-hero-impact--full-bleed .fixarray-cinematic-hero__slide[data-fax-custom-buttons="1"] .fixarray-hero-impact__actions .fixarray-button {
    width: var(--fax-action-width-mobile, 100%);
    min-height: var(--fax-action-height-mobile, 56px);
  }
}

/* Shared FIX ARRAY buttons keep native Elementor selectors as the final source of truth.
 * These declarations only supply safe interaction behavior and never replace colors, sizes or links. */
.fixarray-project-cta__button,
.fixarray-coverage-map__button,
.fixarray-button {
  -webkit-tap-highlight-color: transparent;
}
