/* V2.3 secure bank-transfer checkout. No external styling dependencies. */
.bank-checkout{width:min(640px,calc(100vw - 24px));max-height:min(91dvh,900px);overflow-y:auto;border:1px solid #566438;background:#131b12;color:#f1f5e6;padding:0;box-shadow:0 20px 90px #000b;}
.bank-checkout::backdrop{background:#000a;backdrop-filter:blur(4px)}
.bank-checkout form{padding:clamp(16px,4vw,30px)}
.bank-checkout-top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.bank-checkout h2{font-size:clamp(32px,5vw,48px);margin:8px 0 14px;font-weight:900;line-height:.98}
.bank-checkout h2 em{font-style:normal;color:#d5f635}
.bank-checkout .eyebrow{color:#d5f635;font-size:11px;letter-spacing:.08em}
.bank-checkout-hint,.bank-checkout-small{font-size:12px;line-height:1.6;color:#cbd5c2;margin:12px 0 18px}
.bank-checkout label{display:block;font-size:11px;font-weight:850;letter-spacing:.08em;color:#dbe5d2;margin:16px 0 7px}
.bank-checkout input,.bank-checkout select{display:block;box-sizing:border-box;width:100%;min-height:45px;padding:11px 12px;border:1px solid #526047;background:#202b1c;color:#f1f5e6;border-radius:3px;font:inherit;font-size:14px}
.bank-checkout input[type=file]{padding:14px;min-height:auto}
.bank-checkout input:focus-visible,.bank-checkout select:focus-visible,.bank-checkout button:focus-visible{outline:2px solid #d5f635;outline-offset:2px}
.bank-close{width:38px;height:38px;flex-shrink:0;background:#2a3524;border:1px solid #61714b;color:#f5f5ed;font-size:28px;cursor:pointer}
.bank-checkout-total{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#27351c;border:1px solid #687d37;padding:15px;margin:16px 0}
.bank-checkout-total span{font-size:10px;letter-spacing:.1em;color:#cce9a5;font-weight:800}.bank-checkout-total strong{font-size:23px;color:#d5f635}
.bank-primary{display:block;width:100%;background:#d5f635;color:#151a0e;border:0;font-family:inherit;font-weight:900;font-size:13px;line-height:1.3;letter-spacing:.04em;padding:16px;cursor:pointer;margin-top:18px}
.bank-primary:disabled{opacity:.55;cursor:wait}
.bank-copy-field{display:flex;gap:8px;align-items:center;justify-content:space-between;border:1px solid #64784a;background:#1d2b19;padding:12px;margin-top:12px}
.bank-copy-field span{font-size:10px;color:#afc49a;display:block;margin-bottom:6px}.bank-copy-field strong{font:800 clamp(15px,3vw,21px) ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.bank-copy-field button{background:none;border:1px solid #d5f635;color:#d5f635;padding:9px;white-space:nowrap;cursor:pointer;font-size:10px;font-weight:800}
#bank-checkout-error{color:#ffdc91;font-size:12px;background:#38301c;border-left:3px solid #edb35d;padding:10px;margin-top:15px;line-height:1.5}
#bank-checkout-success h3{font-size:30px;font-weight:900;margin:20px 0 6px;color:#d5f635}
#bank-checkout-success p{font-size:13px;line-height:1.6}
.bank-checkout [hidden]{display:none!important}
@media(max-width:520px){.bank-copy-field{flex-wrap:wrap}.bank-copy-field button{width:100%;text-align:center}.bank-checkout-total strong{font-size:20px}}

.bank-secondary{display:block;margin:10px auto 0;width:100%;background:transparent;color:#bdcdb6;border:1px solid #506044;padding:12px;cursor:pointer;font:800 11px inherit}

/* V2.3.1: copyable bank numbers appear before the payment-reference step. */
.bank-account-choices{margin:12px 0 18px}
.bank-account-choices .bank-copy-field{margin-top:8px}
.bank-account-option.is-selected{border-color:#d5f635;box-shadow:inset 3px 0 #d5f635}
.bank-holder-note{margin:10px 0 3px!important}
.bank-copy-feedback{margin:8px 0;font-size:12px;color:#d5f635;font-weight:750}
.bank-copy-field button{min-width:76px}

.bank-reference-warning{border-left:3px solid #d5f635;padding-left:10px;margin-bottom:10px!important}

/* V2.3.2: keep shopping bag + bank transfer in one sliding checkout panel. */
.drawer.is-checkout{width:min(560px,100vw)}
.drawer-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.drawer-scroll>.drawer-items{flex:none;overflow:visible;padding-bottom:8px}
.drawer.is-checkout .drawer-items{padding-top:10px;padding-bottom:6px;border-bottom:1px solid #dce2d3}
.drawer.is-checkout .cart-item{padding:7px 0;grid-template-columns:53px 1fr;gap:9px}
.drawer.is-checkout .cart-item img{width:53px;height:53px}
.drawer.is-checkout .cart-line-actions{margin-top:5px}
.drawer-scroll>.bank-checkout{position:static;display:block;box-sizing:border-box;width:100%;max-width:none;max-height:none;overflow:visible;margin:0;border:0;border-radius:0;box-shadow:none;padding:0;background:#131b12;color:#f1f5e6}
.drawer-scroll>.bank-checkout[hidden]{display:none!important}
.drawer-scroll>.bank-checkout form{padding:22px 24px 34px}
.drawer-scroll>.bank-checkout h2{font-size:clamp(27px,5vw,38px)}
.drawer-scroll>.bank-checkout .bank-close{width:auto;min-width:88px;height:35px;border-radius:2px;font-size:11px;font-weight:850;white-space:nowrap;padding:0 10px}
.drawer.is-checkout .drawer-bottom[hidden]{display:none!important}
.bank-challenge-panel{margin-top:16px;padding:14px 12px;border:1px solid #687d37;background:#202e1b}
.bank-challenge-panel>strong{display:block;font-size:11px;letter-spacing:.08em;color:#d5f635}
.bank-challenge-panel>p{font-size:12px;line-height:1.5;color:#d9e6cc;margin:7px 0 12px}
.bank-challenge-panel>p.is-error{color:#ffcc83}
.bank-challenge-retry{background:transparent;border:1px solid #d5f635;color:#d5f635;cursor:pointer;font-weight:850;padding:10px 13px;font-size:11px;margin-top:12px}
#bank-turnstile{min-height:66px;max-width:100%;overflow:hidden}
@media(max-width:520px){.drawer-scroll>.bank-checkout form{padding:20px 16px 28px}.drawer.is-checkout .drawer-items{padding-left:16px;padding-right:16px}.drawer-scroll>.bank-checkout h2{font-size:30px}}
