.co-overlay{position:fixed;inset:0;z-index:10020;background:rgba(0,0,0,.84);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;padding:18px}
.co-overlay.open{opacity:1;visibility:visible}
.co-box{position:relative;width:min(650px,100%);max-height:min(92dvh,900px);overflow-y:auto;background:#0e100d;border:1px solid rgba(243,240,233,.14);border-radius:8px;padding:clamp(24px,4vw,44px);box-shadow:0 34px 100px rgba(0,0,0,.65)}
.co-close{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;background:#141612;border:1px solid rgba(243,240,233,.16);color:var(--cream);font-size:20px;cursor:pointer;z-index:2}
.co-step-label{font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.co-title{font-family:var(--serif);font-size:clamp(28px,5vw,38px);font-weight:400;color:var(--cream);margin:0 44px 22px 0}
.co-summary{margin-bottom:24px}.co-summary-head{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.co-summary table{width:100%;border-collapse:collapse}.co-summary td{padding:10px 0;border-bottom:1px solid rgba(243,240,233,.08);font-size:13px;color:rgba(243,240,233,.72)}
.co-summary td:last-child{text-align:right;color:var(--cream);font-weight:600}.co-summary-total td{padding-top:14px;border-bottom:0;color:var(--cream);font-weight:700}.co-summary-total td:last-child{font-family:var(--serif);font-size:21px;color:var(--gold)}
.co-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.co-field{display:flex;flex-direction:column;gap:6px}.co-wide{grid-column:1/-1}
.co-field label{font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.co-field input,.co-field textarea{width:100%;padding:13px 14px;background:#151713;border:1px solid rgba(243,240,233,.13);border-radius:2px;color:var(--cream);font:inherit;font-size:13px;outline:none}
.co-field input:focus,.co-field textarea:focus{border-color:var(--gold)}.co-field textarea{min-height:82px;resize:vertical}.co-note,.co-pay-note,.co-crypto-note{font-size:11px;line-height:1.5;color:var(--muted)}.co-note{margin-bottom:14px}
.co-pay-btn{width:100%;padding:16px;background:var(--cream);color:var(--black);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;border:0;cursor:pointer}.co-pay-btn:hover{background:var(--gold)}.co-pay-note{text-align:center;margin-top:9px}
.co-crypto-panel{border:1px solid rgba(243,240,233,.12);padding:clamp(16px,3vw,24px)}.co-crypto-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px;font-size:12px;color:var(--muted)}.co-crypto-header b{color:var(--cream)}.co-network{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.co-crypto-body{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;margin-bottom:18px}.co-crypto-qr{background:#fff;border-radius:6px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden}.co-crypto-amount{font-size:18px;font-weight:700;color:var(--gold);word-break:break-all}.co-crypto-zar{font-size:13px;color:var(--cream);margin-top:5px}.co-crypto-rate{font-size:11px;color:var(--muted);margin-top:3px}
.co-crypto-address-row{display:flex;gap:8px;margin-bottom:12px}.co-crypto-address-input{min-width:0;flex:1;padding:12px;background:#151713;border:1px solid rgba(243,240,233,.13);color:var(--cream);font-family:monospace;font-size:11px}.co-crypto-copy{padding:0 18px;background:rgba(200,150,12,.1);border:1px solid rgba(200,150,12,.35);color:var(--gold);font-weight:700;cursor:pointer}
.co-crypto-status{padding:12px;text-align:center;font-size:12px;margin-bottom:10px}.co-status-pending{background:rgba(200,150,12,.08);border:1px solid rgba(200,150,12,.2);color:#e8b422}.co-status-error{background:rgba(192,57,43,.1);border:1px solid rgba(192,57,43,.24);color:#ef8a7f}
.co-crypto-expiry{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:10px 0}.co-crypto-expiry.urgent{color:#ef8a7f}.co-crypto-actions,.co-done-actions{display:flex;gap:9px;margin-top:16px}.co-crypto-actions button,.co-done-actions button{flex:1;padding:12px;background:transparent;border:1px solid rgba(243,240,233,.15);color:var(--cream);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.co-done{text-align:center;padding:36px 0}.co-done-mark{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:rgba(39,174,96,.1);border:2px solid #27ae60;color:#52cf87;font-size:24px}.co-done h3{font-family:var(--serif);font-size:30px;font-weight:400;color:var(--cream);margin-bottom:10px}.co-done p{font-size:13px;line-height:1.6;color:var(--muted)}.co-done-primary{background:var(--cream)!important;color:var(--black)!important;border-color:var(--cream)!important}.checkout-open{overflow:hidden!important}
@media(max-width:620px){.co-overlay{padding:0;align-items:flex-end}.co-box{width:100%;max-height:94dvh;border-radius:8px 8px 0 0;padding:24px 18px calc(22px + env(safe-area-inset-bottom))}.co-form-grid{grid-template-columns:1fr}.co-wide{grid-column:auto}.co-crypto-body{grid-template-columns:1fr}.co-crypto-qr{width:180px;margin:0 auto}.co-crypto-address-row{display:grid;grid-template-columns:1fr auto}.co-crypto-actions,.co-done-actions{flex-direction:column}}
