/* Scoped checkout additions. order-flow-form/field: email and TXID forms;
   order-flow-details: server receipt; note/status/error: localized feedback. */
.order-flow [hidden] { display: none !important; }
.order-flow .order-modal { max-width: 580px; border-radius: 8px; }
.order-flow .order-modal, .order-flow .order-modal * { letter-spacing: 0; }
.order-flow h3 { padding-right: 32px; font-size: 1.25rem; overflow-wrap: anywhere; }
.order-flow .order-close { width: 36px; height: 36px; top: 8px; right: 8px; }
.order-flow .order-summary { background: none; border: 0; border-radius: 0; padding: 12px 0; align-items: start; }
.order-flow .om-product { min-width: 0; overflow-wrap: anywhere; }
.order-flow .om-amount { font-size: 1.15rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; text-align: right; }
.order-flow-form { display: grid; gap: 12px; margin: 16px 0; }
.order-flow-field { display: grid; gap: 6px; font-size: .9rem; min-width: 0; }
.order-flow-field input, .order-flow-field textarea {
  width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid var(--border);
  border-radius: 6px; background: var(--bg); color: var(--text); font: inherit; font-size: 1rem;
}
.order-flow-field textarea { resize: vertical; min-height: 84px; max-height: 220px; }
.order-flow :focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.order-flow [aria-invalid="true"] { border-color: var(--warn, #b45309); }
.order-flow button:disabled { opacity: .55; cursor: not-allowed; }
.order-flow .btn { white-space: normal; overflow-wrap: anywhere; min-height: 42px; border-radius: 6px; text-align: center; }
.order-flow-networks { border: 0; padding: 0; margin: 0; min-width: 0; }
.order-flow-networks legend { font-size: .9rem; padding: 0 0 8px; }
.order-flow .net-toggle { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.order-flow .net-btn { min-width: 0; min-height: 44px; border-radius: 6px; font-size: .9rem; }
.order-flow-note { font-size: .85rem; color: var(--muted); margin: 8px 0; overflow-wrap: anywhere; }
.order-flow-status { font-weight: 600; min-height: 1.6em; margin: 12px 0; overflow-wrap: anywhere; }
.order-flow-error { color: var(--warn, #b45309); border-left: 3px solid currentColor; padding-left: 10px; font-size: .9rem; overflow-wrap: anywhere; }
.order-flow-details { display: grid; gap: 6px; margin: 16px 0; font-size: .85rem; }
.order-flow-details div { display: grid; grid-template-columns: minmax(80px, 1fr) minmax(0, 2fr); gap: 10px; }
.order-flow-details dt { color: var(--muted); overflow-wrap: anywhere; }
.order-flow-details dd { margin: 0; overflow-wrap: anywhere; }
.order-flow .pay-box { grid-template-columns: 180px minmax(0, 1fr); padding: 16px 0; border-top: 1px solid var(--border); }
.order-flow .qr-wrap { width: 180px; }
.order-flow .qr-wrap img { width: 180px; height: 180px; aspect-ratio: 1; border-radius: 0; }
.order-flow .addr-box { min-width: 0; }
.order-flow .addr-row { flex-wrap: wrap; }
.order-flow .addr-row code { flex-basis: 100%; min-height: 58px; overflow-wrap: anywhere; }
.order-flow .order-actions { flex-wrap: wrap; }
.order-flow .order-actions .btn { flex: 1 1 180px; }
@media (max-width: 540px) {
  .order-flow { padding: 10px; }
  .order-flow .order-modal { padding: 20px 16px; max-height: 94vh; max-height: 94dvh; }
  .order-flow .order-summary { flex-direction: column; gap: 6px; }
  .order-flow .om-amount { text-align: left; }
  .order-flow .pay-box { grid-template-columns: minmax(0, 1fr); }
  .order-flow .qr-wrap { justify-self: center; }
}
