/* Android paywall: safe scrolling, visible checkout, and a reliable close control. */
[class~="bg-black/60"][class~="z-[9999]"] {
  padding-top: max(0.5rem, env(safe-area-inset-top));
  padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
}

[class~="bg-black/60"][class~="z-[9999]"] > [class~="max-w-sm"] {
  max-height: calc(100dvh - max(1rem, env(safe-area-inset-top)) - max(1rem, env(safe-area-inset-bottom)));
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.signplay-paywall-close {
  display: none;
}

@media (max-width: 639px) {
  [class~="bg-black/60"][class~="z-[9999]"] button[class~="bg-white/20"][class~="absolute"] {
    display: none !important;
  }

  .signplay-paywall-close {
    position: fixed;
    top: max(4rem, env(safe-area-inset-top));
    right: 1.25rem;
    z-index: 10001;
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border: 2px solid rgba(255, 255, 255, 0.65);
    border-radius: 9999px;
    background: rgba(91, 33, 182, 0.92);
    color: #fff;
    font: 900 2rem/1 system-ui, sans-serif;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
    touch-action: manipulation;
  }

  [class~="bg-black/60"][class~="z-[9999]"] form[action="/api/stripe/checkout"] {
    position: sticky;
    bottom: 0;
    z-index: 3;
    padding-top: 0.5rem;
    padding-bottom: max(0.25rem, env(safe-area-inset-bottom));
    background: white;
  }
}
