/* ============================================================
   STICKY BOTTOM CTA BAR (mobile / tablet only — < 992px)
   Two buttons: consultation (outline, opens quote modal) + demo (solid, opens Calendly)
   ============================================================ */
.ecs-sticky-cta {
  display: none;
}

@media (max-width: 991.98px) {
  .ecs-sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    display: flex;
    gap: 10px;
    width: 100%;
    padding: 8px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    background: #ffffff;
    box-shadow: 0 -4px 16px rgba(22, 61, 101, .12);
  }

  .ecs-sticky-cta-btn {
    display: inline-flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border: 1.5px solid #1F578F;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.005em;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  }

  .ecs-sticky-cta-btn:focus-visible {
    outline: 3px solid rgba(31, 87, 143, .35);
    outline-offset: 2px;
  }

  .ecs-sticky-cta-outline {
    background: #ffffff;
    color: #1F578F;
    font-weight: 600;
  }

  .ecs-sticky-cta-outline:hover {
    background: #F0F7FC;
    color: #1F578F;
  }

  .ecs-sticky-cta-solid {
    background: #1F578F;
    color: #ffffff;
  }

  .ecs-sticky-cta-solid:hover {
    background: #1F578F;
    color: #ffffff;
    border-color: #2878c9;
    box-shadow: 0 6px 18px rgba(31, 87, 143, .25);
    transform: translateY(-1px);
  }

  /* Hero CTAs that duplicate the sticky bar are hidden while the bar is shown */
  .hide-with-sticky-cta {
    display: none !important;
  }

  /* Body bottom padding so the fixed bar never covers final content */
  body {
    padding-bottom: 64px;
  }
}

@media (max-width: 560px) {
  .ecs-sticky-cta {
    gap: 6px;
    padding: 6px;
    padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px));
  }

  .ecs-sticky-cta-btn {
    padding: 11px 14px;
    font-size: 13px;
    border-radius: 8px;
  }

  body {
    padding-bottom: 58px;
  }
}

@media (max-width: 380px) {
  .ecs-sticky-cta-btn {
    padding: 10px 12px;
    font-size: 12px;
  }
}
