.co-open { overflow: hidden; }
#checkoutRoot { position: fixed; inset: 0; z-index: 99999; display: none; }
.co-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.co-modal {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: min(520px, calc(100vw - 24px));
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 28px 90px rgba(0,0,0,.35);
  border: 1px solid rgba(0,0,0,.12);
  overflow: hidden;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.co-head { display:flex; align-items:center; justify-content:space-between; padding: 14px 16px; background:#fdf8f0; border-bottom:1px solid rgba(26,18,8,.08); }
.co-title { font-weight: 800; color:#1a1208; }
.co-x { border: none; background: transparent; font-size: 18px; cursor: pointer; color: rgba(26,18,8,.65); }
.co-tabs { display:flex; gap:8px; padding: 12px 16px; flex-wrap: wrap; }
.co-tab { border:1px solid rgba(26,18,8,.14); background:#fff; padding:8px 10px; border-radius: 999px; cursor: pointer; font-weight: 700; font-size: 12px; color:#1a1208; }
.co-tab.on { border-color: rgba(200,57,43,.5); background: rgba(200,57,43,.08); }
.co-form { padding: 0 16px 16px; display:flex; flex-direction: column; gap: 10px; }
.co-form label { font-size: 12px; font-weight: 700; color: rgba(26,18,8,.7); display:flex; flex-direction: column; gap: 6px; }
.co-form input { 
  padding: 11px 12px; 
  border-radius: 10px; 
  border: 1px solid rgba(26,18,8,.14); 
  outline: none; 
  font-size: 16px; 
}
.co-form input:focus { border-color: rgba(200,57,43,.55); box-shadow: 0 0 0 3px rgba(200,57,43,.12); }
.co-btn { margin-top: 4px; background:#c8392b; color:#fff; border:none; border-radius: 12px; padding: 12px 14px; font-weight: 900; cursor:pointer; }
.co-btn:hover { background:#b02e20; }
.co-err { color:#b00020; font-size: 12px; min-height: 16px; }
.co-note { color: rgba(26,18,8,.6); font-size: 12px; line-height: 1.45; }

