.rap-purchase-open{overflow:hidden}
.rap-purchase-overlay{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:14px;background:rgba(1,8,20,.82);backdrop-filter:blur(5px);box-sizing:border-box}
.rap-purchase-overlay[data-open="1"]{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.rap-purchase-overlay[hidden]{display:none!important}
.rap-purchase-dialog{width:min(620px,calc(100vw - 28px));max-width:none;max-height:min(820px,calc(100dvh - 28px));margin:0;padding:0;border:1px solid #155a78;border-radius:22px;background:#071b2b;color:#eaf7ff;box-shadow:0 28px 90px #000c;overflow:hidden}
.rap-purchase-shell{max-height:min(820px,calc(100dvh - 28px));overflow:auto}
.rap-purchase-shell>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px 18px;background:linear-gradient(180deg,#0a2235 75%,rgba(10,34,53,.94));border-bottom:1px solid #123e58}
.rap-purchase-kicker{display:block;margin-bottom:5px;color:#27d5ec;font-size:11px;font-weight:800;letter-spacing:.15em}.rap-purchase-shell h2{margin:0;font-size:23px;line-height:1.25}.rap-purchase-close{width:40px;height:40px;flex:0 0 40px;border:1px solid #1b6b89;border-radius:12px;background:#0a2a40;color:#72e9fa;font-size:27px;line-height:1;cursor:pointer}
.rap-purchase-body{padding:24px 26px 28px}.rap-purchase-loading{display:grid;place-items:center;gap:14px;min-height:210px;color:#a9c9dd}.rap-purchase-loading i{width:34px;height:34px;border:3px solid #164b67;border-top-color:#24d5e8;border-radius:50%;animation:rapPurchaseSpin .8s linear infinite}@keyframes rapPurchaseSpin{to{transform:rotate(360deg)}}
.rap-purchase-error{padding:18px;border:1px solid #8f3449;border-radius:14px;background:#3a1420;color:#ffd4dc;line-height:1.55}.rap-purchase-error button{display:block;margin-top:16px;padding:10px 18px;border:1px solid #ad5367;border-radius:10px;background:#641f31;color:#fff;cursor:pointer}
.rap-purchase-product{display:flex;justify-content:space-between;gap:18px;padding:18px;border:1px solid #15506c;border-radius:15px;background:#0a2436}.rap-purchase-product small,.rap-purchase-row small,.rap-purchase-status small{display:block;margin-bottom:5px;color:#78a8c4}.rap-purchase-product strong{display:block;font-size:18px}.rap-purchase-product p{margin:7px 0 0;color:#a9c8da;line-height:1.45}.rap-purchase-product>span{align-self:flex-start;white-space:nowrap;padding:6px 10px;border:1px solid #087d70;border-radius:999px;background:#073d3b;color:#36e7c2;font-weight:700}
.rap-purchase-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}.rap-purchase-row>div,.rap-purchase-row>label{padding:15px 17px;border:1px solid #153f58;border-radius:14px;background:#091f30}.rap-purchase-row strong{color:#21d5ea;font-size:22px}.rap-purchase-row label>span,.rap-purchase-coupon>span{display:block;margin-bottom:9px;color:#bcd7e7;font-size:13px;font-weight:700}
.rap-purchase-stepper{display:grid;grid-template-columns:38px 1fr 38px;gap:7px}.rap-purchase-stepper button,.rap-purchase-stepper input,.rap-purchase-coupon input{height:40px;border:1px solid #24536d;border-radius:9px;background:#071827;color:#fff}.rap-purchase-stepper button{font-size:20px;cursor:pointer}.rap-purchase-stepper button:disabled{opacity:.4}.rap-purchase-stepper input{text-align:center;font-weight:800;-moz-appearance:textfield}.rap-purchase-stepper input::-webkit-inner-spin-button{display:none}
.rap-purchase-coupon{display:block;margin-top:16px}.rap-purchase-coupon input{box-sizing:border-box;width:100%;padding:0 13px;text-transform:uppercase}.rap-purchase-total{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding:16px 18px;border:1px solid #087d70;border-radius:14px;background:#073634}.rap-purchase-total strong{color:#37edc5;font-size:25px}.rap-purchase-note{margin:13px 2px 0;color:#85adc3;font-size:12px;line-height:1.5}
.rap-purchase-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.rap-purchase-actions button{min-height:44px;padding:0 18px;border-radius:11px;font-weight:800;cursor:pointer}.rap-purchase-actions button:disabled{cursor:wait;opacity:.65}.rap-purchase-secondary{border:1px solid #28536a;background:#10283a;color:#d8ebf5}.rap-purchase-primary{border:0;background:linear-gradient(135deg,#22d5eb,#079eba);color:#00141e}.rap-purchase-admin{border:1px solid #8853bc;background:#391859;color:#eecfff}
.rap-purchase-status{display:flex;gap:14px;padding:16px;border:1px solid #17627d;border-radius:14px;background:#09273a}.rap-purchase-status>i{width:14px;height:14px;flex:0 0 14px;margin-top:6px;border-radius:50%;background:#28dfb9;box-shadow:0 0 0 7px #28dfb925}.rap-purchase-status strong{font-size:18px}.rap-purchase-status p{margin:5px 0 0;color:#9ec0d3}.rap-purchase-qr{display:grid;place-items:center;margin:20px auto 14px;padding:14px;width:250px;max-width:85%;border-radius:16px;background:#fff}.rap-purchase-qr img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.rap-purchase-checkout{display:block;margin:14px 0;padding:12px;text-align:center;border:1px solid #1592af;border-radius:11px;color:#65e9fa;text-decoration:none;font-weight:800}.rap-purchase-payment dl{display:grid;gap:0;margin:18px 0 0;border:1px solid #17435b;border-radius:13px;overflow:hidden}.rap-purchase-payment dl>div{display:grid;grid-template-columns:140px 1fr;gap:15px;padding:12px 15px;background:#091f30}.rap-purchase-payment dl>div+div{border-top:1px solid #163b50}.rap-purchase-payment dt{color:#79a7bf}.rap-purchase-payment dd{margin:0;text-align:right;overflow-wrap:anywhere}
@media(max-width:600px){.rap-purchase-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:17px}.rap-purchase-shell{max-height:calc(100dvh - 16px)}.rap-purchase-shell>header{padding:19px 18px 15px}.rap-purchase-body{padding:18px}.rap-purchase-row{grid-template-columns:1fr}.rap-purchase-product{flex-direction:column}.rap-purchase-product>span{align-self:flex-start}.rap-purchase-actions{display:grid;grid-template-columns:1fr}.rap-purchase-actions button{width:100%}.rap-purchase-payment dl>div{grid-template-columns:1fr;gap:4px}.rap-purchase-payment dd{text-align:left}}
