/* ---------- Lock panel (in the post) ---------- */
.qpay-pp-panel{box-sizing:border-box;max-width:680px;margin:32px auto;padding:28px 22px;text-align:center;background:#fff;border:1px solid #e6e8eb;border-radius:14px;box-shadow:0 5px 22px rgba(20,30,45,.06);color:#20242a}
.qpay-pp-lock-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:#f1f5f9;font-size:24px}
.qpay-pp-panel > h3{display:block!important;float:none!important;width:100%;box-sizing:border-box;text-align:center!important;margin:0 auto 10px!important;font-size:23px;line-height:1.35;font-weight:750;color:#20242a}
.qpay-pp-panel-lead{margin:0 auto 14px;color:#626b76;font-size:15px;line-height:1.65}
.qpay-pp-price{margin:8px 0 18px;font-size:25px;font-weight:800;color:#111827}
.qpay-pp-continue,.qpay-pp-pay-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 24px;border:0;border-radius:8px;background:#1769e0;color:#fff!important;font-size:15px;font-weight:700;text-decoration:none!important;cursor:pointer;transition:filter .15s ease}
.qpay-pp-continue:hover,.qpay-pp-pay-button:hover{filter:brightness(.92)}
.qpay-pp-help{margin:17px 0 0;color:#7a828c;font-size:12px;line-height:1.6}
.qpay-pp-test-note{padding:9px 12px;border-radius:7px;background:#fff7e6;color:#8a4b08;font-size:12px}
.qpay-pp-success{color:#237a3b;font-weight:600}
.qpay-pp-warning{padding:12px;border-left:4px solid #b32d2e;background:#fff8f8}

/* ---------- Payment modal ---------- */
.qpay-pp-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.qpay-pp-modal.is-open{display:flex}
.qpay-pp-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}
.qpay-pp-modal-card{position:relative;z-index:1;box-sizing:border-box;width:100%;max-width:340px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:22px 18px 20px;border-radius:16px;background:#fff;text-align:center;color:#111827;box-shadow:0 18px 60px rgba(0,0,0,.22);scrollbar-width:thin}
.qpay-pp-modal-card h3{display:block!important;float:none!important;width:100%;box-sizing:border-box;text-align:center!important;margin:0 0 4px!important;padding:0 28px!important;font-size:16px!important;line-height:1.4;font-weight:600;color:#6b7280}
.qpay-pp-modal-x{position:absolute;right:8px;top:6px;border:0;background:transparent;color:#9ca3af;font-size:24px;line-height:1;padding:6px;cursor:pointer}
.qpay-pp-modal-x:hover{color:#374151}
.qpay-pp-modal-price{margin:2px 0 4px;font-size:22px;font-weight:800;letter-spacing:-.2px;color:#111827}
.qpay-pp-pay-button{width:100%;box-sizing:border-box;margin-top:10px}
.qpay-pp-pay-button[disabled]{display:none}
.qpay-pp-qpay-mark{font-weight:900;letter-spacing:.2px}
.qpay-pp-pay-area [hidden],.qpay-pp-pay-area[hidden]{display:none!important}

.qpay-pp-qr-hint{margin:0 0 12px;color:#14a38b;font-size:12px;line-height:1.5}
.qpay-pp-qr-box{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:158px;height:158px;margin:0 auto 16px;padding:10px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.qpay-pp-qr-img{display:block;width:100%;height:100%;object-fit:contain;margin:0;border:0;padding:0;border-radius:0}
.qpay-pp-spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:#111827;border-radius:50%;animation:qpay-pp-spin .8s linear infinite}

.qpay-pp-check{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;min-height:44px;margin:0;padding:10px 18px;border:0;border-radius:999px;background:#111827;color:#fff!important;font-size:14px;font-weight:600;text-decoration:none!important;cursor:pointer;transition:background .15s ease}
.qpay-pp-check:hover{background:#1f2937}
.qpay-pp-check-icon{flex:0 0 auto}
.qpay-pp-check.is-loading .qpay-pp-check-icon{animation:qpay-pp-spin .8s linear infinite}
@keyframes qpay-pp-spin{to{transform:rotate(360deg)}}

.qpay-pp-status{min-height:0;margin:8px 0 0;font-size:12px;line-height:1.5;color:#6b7280}
.qpay-pp-status:empty{display:none}
.qpay-pp-status.is-paid{color:#15803d;font-weight:700}
.qpay-pp-status.is-error{color:#b32d2e}

.qpay-pp-banks-title{margin:16px 0 10px;color:#6b7280;font-size:12px}
.qpay-pp-banks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}
.qpay-pp-banks li{list-style:none!important;margin:0!important;padding:0!important;background:none!important}
.qpay-pp-banks li::before,.qpay-pp-banks li::marker{content:none!important;display:none!important}
.qpay-pp-banks a{display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:50px;padding:6px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;text-decoration:none!important;box-shadow:none!important;transition:border-color .15s ease,background .15s ease}
.qpay-pp-banks a:hover{border-color:#cbd5e1;background:#f9fafb}
.qpay-pp-banks img{display:block;width:34px;height:34px;margin:0;border-radius:8px;object-fit:cover}
.qpay-pp-bank-fallback{overflow:hidden;color:#374151;font-size:10px;line-height:1.2;text-overflow:ellipsis}

@media(max-width:480px){.qpay-pp-panel{margin:24px 0;padding:24px 16px}.qpay-pp-panel > h3{font-size:21px}}
