/* Always show desktop sticky header from page load.
   Mirrors body.is-header-scrolled rules without waiting for scroll. */
@media (min-width: 900px) {
  body:not(.nav-open) #header.header {
    -webkit-transform: translateY(-100%);
       -moz-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%);
  }

  body:not(.nav-open) .header-sticky {
    -webkit-transform: translateY(0);
       -moz-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
  }

  /* Push page content below the solid sticky bar (homepage keeps video underlap). */
  body:not(.home) #js-header-height.header-push {
    margin-top: var(--sticky-header-offset, 7.0625rem); /* ~113px fallback */
  }

  /* Mastheads already include ~120px top padding for the old transparent header.
     With .header-push clearing the sticky bar, keep a modest content inset only. */
  body:not(.home) .section-masthead {
    padding-top: 2.5rem !important;
  }

  /* Mobile schedule bar is desktop-hidden. */
  .mobile-schedule-bar {
    display: none !important;
  }
}

/* Mobile: sticky full-width Schedule Appointment bar above the logo / hamburger. */
.mobile-schedule-bar {
  display: none;
}

@media (max-width: 899px) {
  /* Beat Elementor kit link colors (often same blue as this bar). */
  a.mobile-schedule-bar,
  a.mobile-schedule-bar:visited,
  a.mobile-schedule-bar:hover,
  a.mobile-schedule-bar:focus,
  a.mobile-schedule-bar:active {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
    min-height: 2.75rem;
    padding: 0.75rem 1rem;
    background-color: #12a4e0 !important;
    color: #ffffff !important;
    font-family: var(--e-global-typography-primary-font-family, sans-serif);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
  }

  /* Sit the existing fixed header under the schedule bar. */
  #header.header {
    top: var(--mobile-schedule-bar-height, 2.75rem);
  }

  /* Clear the full mobile header stack (schedule bar + logo bar). */
  #js-header-height.header-push {
    margin-top: var(--sticky-header-offset, 7.5rem);
  }

  /* Open menu content should clear schedule bar + logo (beats main.js inline pad). */
  .nav-mobile__inner {
    padding-top: calc(var(--sticky-header-offset, 7.5rem) + 1.25rem) !important;
  }
}
