/* Medicated TV v3.60 — 💳 the on-site pay box (assets/v2zz-pay.js). Stripe draws the form; this is the window around it. */
html.mtvpay-open, html.mtvpay-open body { overflow: hidden !important; }
.mtvpay { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); font: 500 15px/1.5 Inter, "Segoe UI", Roboto, Arial, sans-serif; color: #f4f2ff; }
.mtvpay[hidden] { display: none !important; }
.mtvpay *, .mtvpay *::before, .mtvpay *::after { box-sizing: border-box; }
.mtvpay__bg { position: fixed; inset: 0; background: rgba(5, 3, 13, .8); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.mtvpay__card { position: relative; width: min(560px, 100%); max-height: 100%; overflow: auto; overscroll-behavior: contain; padding: 22px 18px 16px; border: 1px solid rgba(34, 230, 255, .45); border-radius: 22px; background: linear-gradient(180deg, rgba(20, 22, 60, .98), rgba(10, 7, 28, .99)); box-shadow: 0 30px 90px -20px rgba(0, 0, 0, .85); }
.mtvpay__x { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; font-size: 18px; cursor: pointer; z-index: 2; }
.mtvpay__h { margin: 0 48px 12px 2px; color: #fff; font-size: 20px; line-height: 1.25; }
.mtvpay__h:focus { outline: none; }
.mtvpay__co { min-height: 320px; border-radius: 14px; background: #fff; overflow: hidden; }
.mtvpay__load { margin: 0; padding: 40px 16px; color: #5b5675; text-align: center; }
.mtvpay__card > .mtvpay__in > .mtvpay__load { color: #d9d5f5; }
.mtvpay__fine { margin: 10px 2px 0; color: #aaa5c9; font-size: 12.5px; }
.mtvpay__err { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: rgba(255, 93, 115, .14); color: #ffb3bf; font-weight: 600; }
.mtvpay__acts { display: flex; flex-wrap: wrap; gap: 8px; }
.mtvpay__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border: 0; border-radius: 999px; background: linear-gradient(90deg, #22e6ff, #2840ff); color: #04121f; font: 700 15px/1.1 Inter, sans-serif; text-decoration: none; cursor: pointer; }
.mtvpay__btn--ghost { border: 1px solid rgba(255, 255, 255, .25); background: rgba(255, 255, 255, .07); color: #fff; }
.mtvpay__x:focus-visible, .mtvpay__btn:focus-visible { outline: 3px solid #22e6ff; outline-offset: 2px; }
@media (max-width: 560px) {
  .mtvpay { align-items: flex-end; padding: 0; }
  .mtvpay__card { width: 100%; max-height: 96vh; max-height: 96dvh; border-radius: 20px 20px 0 0; padding: 18px 10px calc(14px + env(safe-area-inset-bottom)); }
  .mtvpay__co { border-radius: 12px; }
}
.mtvpay__ok { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: rgba(124, 255, 178, .12); color: #b9ffd6; font-weight: 700; }
.mtvpay__subs { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.mtvpay__sub { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px; background: rgba(255, 255, 255, .04); }
.mtvpay__sub b { color: #fff; }
.mtvpay__sub span { color: #d9d5f5; font-size: 14px; }
.mtvpay__sub .mtvpay__acts { margin-top: 6px; }
.mtvpay__sub .mtvpay__btn { min-height: 40px; padding: 8px 14px; font-size: 14px; }
.mtvpay__btn[disabled] { opacity: .55; cursor: wait; }
.mtvpay__sub .mtvpay__nm { color: #fff; font-size: 15px; }
