/* Mobile counterpart of the header's restrained moving-outline CTA. */
@media (max-width: 800px) {
  .msticky {
    gap: 7px;
    padding: 5px;
    bottom: max(10px, env(safe-area-inset-bottom));
    border-radius: 999px;
    border-color: rgba(255, 255, 255, .16);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
  }

  .msticky .btn {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-width: 0;
    min-height: 50px;
    padding: 14px 16px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #19191c;
    font-size: 14px;
  }

  .msticky .btn::before {
    content: "";
    position: absolute;
    z-index: -2;
    width: 150%;
    aspect-ratio: 1;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    background: conic-gradient(from 0deg, rgba(255,255,255,.36) 0 62%, #8fb3e8 72%, #fff 78%, #e0a96d 86%, rgba(255,255,255,.36) 96%);
    animation: mobile-cta-outline 6s linear infinite;
    animation-play-state: paused;
    pointer-events: none;
  }

  .msticky.show .btn::before { animation-play-state: running; }

  .msticky .btn::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 2px;
    border-radius: inherit;
    background: var(--cta, #ebebef);
    pointer-events: none;
  }

  .msticky .ico-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border-color: rgba(255,255,255,.25);
  }

  .msticky a:focus-visible {
    outline: 2px solid var(--amber, #e0a96d);
    outline-offset: 3px;
  }

  html.mobile-story .msticky .btn::before,
  html.mobile-prices .msticky .btn::before { animation-play-state: paused; }
}

@keyframes mobile-cta-outline { to { transform: rotate(1turn); } }

@media (prefers-reduced-motion: reduce) {
  .msticky .btn::before { animation: none; }
}
