/* Mobile sticky signup bar. Separate file so lp-v9.css keeps its 7-day cache.
   iOS Safari overlays its bottom toolbar on top of fixed elements without
   shrinking the visual viewport, so there is nothing to measure and nothing
   to track. dvh and visualViewport were both tried and both slide during
   scroll because the toolbar animates. Instead the bar stays at bottom:0 and
   reserves dead space below the controls, so the toolbar only ever covers
   background colour. */
.stickybar { display: none; }

@media (max-width: 767px) {
  /* Floating card, deliberately not flush to the bottom edge. iOS Safari
     overlays its toolbar on fixed elements without shrinking the viewport, and
     since iOS 26 anything that tracks it slides during scroll. So the card sits
     clear of the bottom entirely and never moves. The gap below reads as part
     of the floating treatment rather than as dead space. */
  .stickybar {
    display: block;
    position: fixed;
    left: 12px; right: 12px;
    bottom: calc(90px + env(safe-area-inset-bottom, 0px));
    z-index: 900;
  }
  .stickybar[hidden] { display: none; }

  /* Controls live here. The reserve is padding on this element, not on the
     bar, so the bar background still runs to the bottom edge of the screen. */
  /* Solid by default. Translucency is only applied where the backdrop can
     actually be blurred, otherwise the disclosure text would sit unreadably on
     top of body copy. */
  .stickybar__controls {
    padding: 12px;
    background: #10233f;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 12px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.38);
  }

  @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .stickybar__controls {
      background: rgba(16, 35, 63, 0.42);
      -webkit-backdrop-filter: blur(60px) saturate(140%);
      backdrop-filter: blur(60px) saturate(140%);
    }
  }

  /* Controls stay fully opaque. Translucent inputs read as disabled and hurt
     contrast on the one element that has to feel tappable. */
  .stickybar__input,
  .stickybar__button {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  /* iOS only. Safari's floating toolbar is taller than the old 44px chrome and
     has no fixed published height, so 80px is a deliberate over-reserve. Other
     browsers resize the layout viewport properly and need none of it. */
  /* Positioned against .stickybar__controls, not .stickybar. The card has side
     insets and rounded corners since v5, so anchoring to the outer element put
     the close button outside the visible card. */
  .stickybar__controls { position: relative; }

  /* Anchored to .stickybar__controls, which is position relative, so it stays
     inside the rounded card instead of outside it as in v7. */
  .stickybar__close {
    position: absolute;
    top: 2px; right: 4px;
    z-index: 2;
    width: 30px; height: 30px;
    padding: 0;
    background: none;
    border: 0;
    color: rgba(255,255,255,0.8);
    font-size: 20px;
    line-height: 30px;
    cursor: pointer;
  }

  .stickybar__label {
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .stickybar__row {
    display: flex;
    gap: 8px;
    align-items: center;
    padding-right: 28px;
  }
  .stickybar__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 40px;
    padding: 0 10px;
    font-size: 16px; /* under 16px triggers iOS zoom on focus */
    color: #10233f;
    background: #fff;
    border: 1px solid #cfd6e0;
    border-radius: 4px;
  }
  .stickybar__button {
    flex: 0 0 auto;
    height: 40px;
    padding: 0 14px;
    font-size: 15px;
    font-weight: 600;
    color: #10233f;
    background: #f0b429;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
  }
  .stickybar__button:disabled {
    opacity: 0.45;
    cursor: default;
  }

  .stickybar__legal {
    margin: 6px 0 0;
    font-size: 11px;
    line-height: 1.35;
    color: rgba(255,255,255,0.72);
  }
  .stickybar__status {
    margin: 6px 0 0;
    font-size: 12px;
    color: #ffd9d9;
  }
  .stickybar__status.is-success { color: #cfe9d2; }

  .stickybar__donetext {
    margin: 0;
    font-size: 14px;
    color: #fff;
  }

  /* The bar is fixed and covers the foot of the page, so the last section of
     content is unreachable without this. Applied on the subdomain only. */
  body { padding-bottom: 190px; }
}
