/* ═══════════════════════════════════════════════════════════════
   Sticky CTA Bar — mobile-only fixed bar at viewport bottom.
   Shown only when header_mobile_style = 'sticky'.
   Phone button (green filled) + Get a Quote (white outlined).
   Figma: node 10:1003 @ lXFSTSGGYDHB9P0apkxcLn
   ═══════════════════════════════════════════════════════════════ */

.sonto-sticky-cta,
.sonto-sticky-cta * {
  box-sizing: border-box;
}

/* Hidden on desktop */
.sonto-sticky-cta {
  display: none;
}

@media (max-width: 767px) {
  /* Fixed strip — gradient fades out upward so page content shows through */
  .sonto-sticky-cta {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: linear-gradient(to top, #ffffff 50%, rgba(255, 255, 255, 0) 100%);
    padding: 25px;
    pointer-events: none; /* let clicks pass through gradient area */
  }

  /* Push body content up so nothing hides behind the bar */
  body:has(.sonto-sticky-cta) {
    padding-bottom: 96px;
  }

  /* Row of buttons */
  .sonto-sticky-cta__inner {
    display: flex;
    gap: 8px;
    align-items: center;
    pointer-events: all;
  }

  /* Phone button — green filled pill */
  .sonto-sticky-cta__phone {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    background: #00ad94;
    border-radius: 48px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 400;
    line-height: 18px;
    text-decoration: none;
    padding: 8px 18px;
    white-space: nowrap;
  }
  .sonto-sticky-cta__phone:hover {
    background: #009980;
    color: #ffffff;
    text-decoration: none;
  }

  /* Quote button — white outlined pill with green arrow circle */
  .sonto-sticky-cta__quote {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 46px;
    background: #ffffff;
    border: 1px solid #00ad94;
    border-radius: 48px;
    color: #00ad94;
    font-size: 16px;
    font-weight: 400;
    line-height: 22.4px;
    text-decoration: none;
    padding: 9px 6px 9px 19px;
    white-space: nowrap;
  }
  .sonto-sticky-cta__quote:hover {
    background: #f5fffe;
    color: #00ad94;
    text-decoration: none;
  }

  /* Hide behind menu when it opens */
  body.menu-open .sonto-sticky-cta {
    display: none;
  }

  /* Green circle with white right-arrow icon */
  .sonto-sticky-cta__quote::after {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 50%;
    flex-shrink: 0;
    background-color: #00ad94;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
    background-size: 16px 16px;
    background-repeat: no-repeat;
    background-position: center;
  }
}
