/* 321 Study — Checkout page styles. Ported from checkout.dc.html
   (payment-method tab style object, USSD bank chips, copy button hover,
   back/terms/receipt link hovers, inline enrol-error message). */

/* Keyframes from the checkout.dc.html helmet <style> block — drive the
   "Confirming your payment…" spinner and the success check pop. */
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes pop {
  0% { transform: scale(0.6); opacity: 0; }
  70% { transform: scale(1.08); }
  100% { transform: scale(1); opacity: 1; }
}

/* Payment-method tabs (Card / Bank transfer / USSD) — methodTabStyle() */
.checkout-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  padding: 11px 8px;
  border-radius: 5px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-secondary);
  box-shadow: none;
  transition: background 200ms cubic-bezier(0.4, 0, 0.2, 1),
              color 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.checkout-tab[aria-pressed="true"] {
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* USSD bank picker chips — bank style object */
.checkout-bank {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  padding: 10px 8px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-secondary);
  transition: background 200ms cubic-bezier(0.4, 0, 0.2, 1),
              border-color 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.checkout-bank[aria-pressed="true"] {
  border: 1px solid var(--color-primary);
  background: rgba(99, 102, 241, 0.08);
  color: var(--color-primary);
}

/* Copy account-number button (style-hover) */
.checkout-copy:hover {
  color: var(--text-primary);
  background: var(--bg-alt);
}

/* Back-to-cart link (style-hover) */
.checkout-back-link:hover { color: var(--text-primary); }

/* Terms link in the order summary (style-hover) */
.checkout-terms-link:hover { color: var(--text-primary); }

/* Receipt link on the success screen (style-hover) */
.checkout-receipt-link:hover { color: var(--color-primary-hover); }

/* Inline enrol error — shown when POST /enrol fails (cart kept intact) */
.checkout-error {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--error-500);
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.25);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
}
