/* shared drop buy box — namespace .ch-* so bot page CSS can stay wild */
.ch-buy {
  font: 14px/1.4 system-ui, -apple-system, Helvetica, Arial, sans-serif;
  color: #1a1218;
  max-width: 420px;
}
.ch-buy * { box-sizing: border-box; }
.ch-row { display: flex; gap: 8px; flex-wrap: wrap; }
.ch-row > * { flex: 1 1 140px; }
.ch-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.ch-field label {
  font: 700 10px/1 ui-monospace, Menlo, Consolas, monospace;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6b5f68;
}
.ch-field input,
.ch-field select {
  font: 14px/1.3 system-ui, sans-serif;
  padding: 10px 12px;
  border: 2px solid #ddd;
  background: #fff;
  color: #1a1218;
  width: 100%;
}
.ch-field input:focus,
.ch-field select:focus {
  outline: none;
  border-color: #ff2d95;
  box-shadow: 3px 3px 0 #00f0ff;
}
.ch-totals {
  margin: 12px 0;
  padding: 12px 14px;
  border: 2px solid #ff2d95;
  background: rgba(255, 45, 149, 0.06);
  font: 13px/1.5 ui-monospace, Menlo, Consolas, monospace;
}
.ch-totals .ch-total {
  font-size: 18px;
  font-weight: 800;
  margin-top: 6px;
}
.ch-err {
  color: #b00020;
  font: 12px/1.4 ui-monospace, Menlo, Consolas, monospace;
  margin: 8px 0;
  min-height: 1.2em;
}
.ch-pay {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #fff;
  color: #08080a;
  padding: 16px 24px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 3px outset #fff;
  box-shadow: 5px 5px 0 #ff2d95;
  cursor: pointer;
  width: 100%;
}
.ch-pay[disabled] {
  cursor: not-allowed;
  opacity: 0.55;
  box-shadow: 3px 3px 0 #bbb;
}
.ch-pay:not([disabled]):hover { transform: translate(-1px, -1px); }
.ch-note {
  margin-top: 10px;
  font: 11px/1.45 ui-monospace, Menlo, Consolas, monospace;
  color: #6b5f68;
}
.ch-offline {
  padding: 12px;
  border: 2px dashed #ff2d95;
  color: #6b5f68;
  font: 12px/1.4 ui-monospace, Menlo, Consolas, monospace;
}
.ch-launch-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #08080a;
  padding: 16px 24px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  border: 3px outset #fff;
  box-shadow: 5px 5px 0 #ff2d95;
  cursor: pointer;
  max-width: 100%;
}
.ch-launch-btn:hover { transform: translate(-1px, -1px); color: #08080a; }
.ch-page {
  max-width: 28rem;
  margin: 0 auto;
}
.ch-page h1 {
  font-size: 1.8rem;
  letter-spacing: -0.04em;
  margin: 0 0 8px;
}
.ch-page h1 span { color: #ff2d95; }
.ch-page .ch-lead {
  color: #6b5f68;
  margin: 0 0 22px;
  line-height: 1.45;
}
.ch-back {
  display: inline-block;
  margin-bottom: 18px;
  font: 700 11px/1 ui-monospace, Menlo, Consolas, monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ff2d95;
  text-decoration: none;
}
.ch-buy-full { max-width: none; }
