/* Vòng ánh sáng liên tục bên NGOÀI khung cổng thanh toán. */
@property --bank-angle {syntax:'<angle>';initial-value:0deg;inherits:false}
.bank-checkout-box{max-width:720px;margin:12px auto 18px}
.bank-checkout-title{font-size:14px;font-weight:700;margin:8px 0 10px;color:#15243a}
.bank-checkout-options{display:grid;grid-template-columns:1fr;gap:12px}
.bank-checkout-option{position:relative;isolation:isolate;display:flex;align-items:center;gap:10px;cursor:pointer;background:#fff;border:1px solid #d8e0e9;border-radius:8px;padding:9px 11px;min-height:56px;color:#15243a;transition:background .15s,box-shadow .15s,transform .15s}
.bank-checkout-option:hover{transform:translateY(-1px)}
.bank-checkout-option>*{position:relative;z-index:1}
.bank-checkout-option input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}
.bank-checkout-option:has(input:checked),.bank-checkout-option.is-selected{border-color:#087bff;background:#e7f2ff;box-shadow:0 1px 11px rgba(8,123,255,.13)}
.bank-checkout-option::before{content:'';position:absolute;inset:-2px;border-radius:10px;padding:2px;pointer-events:none;background:conic-gradient(from var(--bank-angle),transparent 0 54%,rgba(6,124,251,.13) 62%,#1399ff 74%,#68e4ff 82%,#ad65ff 90%,transparent 97%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:bank-orbit 3.4s linear infinite;opacity:.48}
.bank-checkout-option:has(input:checked)::before,.bank-checkout-option.is-selected::before{opacity:1;animation-duration:2.3s}
.bank-checkout-option:has(input:checked)::after,.bank-checkout-option.is-selected::after{content:'';position:absolute;inset:-3px;pointer-events:none;z-index:-1;border-radius:12px;box-shadow:0 0 9px rgba(10,128,255,.13);animation:bank-breathe 2.5s ease-in-out infinite}
.bank-checkout-option:focus-within{outline:2px solid #82c5ff;outline-offset:6px}
.bank-checkout-option .bank-checkout-icon{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;background:#fff;border:1px solid #e4e9f0;border-radius:6px;color:#0871c9;font-weight:800;font-size:12px}
.bank-checkout-option .bank-checkout-name{font-weight:600;font-size:13px;flex:1;color:#172b45}
.bank-checkout-option .bank-checkout-check{font-size:20px;font-weight:800;color:#087bff;opacity:0}
.bank-checkout-option:has(input:checked) .bank-checkout-check,.bank-checkout-option.is-selected .bank-checkout-check{opacity:1}
.bank-checkout-action{position:relative;overflow:hidden;display:block;width:100%;padding:10px 14px;border:0;border-radius:6px;background:#087bff;color:#fff;font-size:14px;font-weight:700;cursor:pointer;margin-top:16px}
.bank-checkout-action:hover{background:#0069e5;color:#fff}
.bank-checkout-action::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.40) 50%,transparent 65%);transform:translateX(-120%);pointer-events:none;animation:bank-shine 3.1s ease-in-out infinite}
.bank-checkout-help{font-size:13px;color:#56657b;margin-top:11px;line-height:1.6}
@keyframes bank-orbit{to{--bank-angle:360deg}}
@keyframes bank-breathe{50%{box-shadow:0 0 12px rgba(8,123,255,.22)}}
@keyframes bank-shine{65%,100%{transform:translateX(120%)}}
@media(max-width:480px){.bank-checkout-option{padding:9px;gap:9px;min-height:54px}.bank-checkout-option .bank-checkout-name{font-size:13px}}
@media(prefers-reduced-motion:reduce){.bank-checkout-option::before,.bank-checkout-option::after,.bank-checkout-action::after{animation:none}.bank-checkout-option{transition:none}}

.bank-checkout-icon img{display:block!important;width:28px!important;height:28px!important;max-height:28px!important;max-width:28px!important;object-fit:contain!important;margin:0 auto!important}
.bank-checkout-option .bank-checkout-icon > *{max-width:28px;max-height:28px}
.bank-checkout-option .bank-checkout-icon svg{width:28px!important;height:28px!important}
.bank-checkout-option .bank-checkout-name{overflow-wrap:anywhere;line-height:1.35}
.bank-checkout-option{overflow:visible}
.bank-checkout-option .bank-checkout-icon{overflow:hidden}


/* v2.2: logo fits INSIDE its own icon cell, never over the payment label. */
.bank-checkout-option .bank-checkout-icon{
    flex:0 0 38px!important;width:38px!important;min-width:38px!important;height:38px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:5px!important;box-sizing:border-box!important;overflow:hidden!important;
}
.bank-checkout-option .bank-checkout-icon img,
.bank-checkout-option .bank-checkout-icon img.bank-checkout-logo{
    flex:0 0 26px!important;display:block!important;width:26px!important;height:26px!important;
    min-width:0!important;max-width:26px!important;max-height:26px!important;
    object-fit:contain!important;margin:0!important;padding:0!important;border:0!important;
}
.bank-checkout-option .bank-checkout-icon .bank-checkout-logo-fallback{
    display:block;max-width:100%;font-size:10px;line-height:1.15;text-align:center;overflow:hidden;
}
.bank-checkout-option .bank-checkout-name{flex:1 1 auto;min-width:0;line-height:1.35}
.bank-checkout-member-methods{margin:9px 0 13px;max-width:none}
.bank-checkout-member-methods .bank-checkout-options{gap:10px}
@media(max-width:480px){.bank-checkout-option .bank-checkout-icon{flex-basis:38px!important}}
