/**
 * Smithy Stripe — card element styles.
 *
 * Minimal styling so the Stripe card iframe looks like a native Breakdance
 * form field. Sites can override any of these rules.
 */

.sf-stripe-wrapper {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sf-stripe-card-element {
  padding: 12px 14px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  background: #fff;
  transition: border-color 0.15s ease;
  width: 100%;
}

.sf-stripe-card-element.StripeElement--focus {
  border-color: #4f46e5;
  outline: none;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
}

.sf-stripe-card-element.StripeElement--invalid {
  border-color: #ef4444;
}

.sf-stripe-card-errors {
  color: #ef4444;
  font-size: 0.875em;
  display: none;
  margin-top: 4px;
}

.sf-stripe-amount {
  font-size: 0.95em;
  color: #374151;
  margin: 0 0 6px;
}

/* Amount field locked to read-only by sf-stripe.js */
.sf-stripe-amount-field--readonly {
  cursor: not-allowed !important;
  background-color: #f9fafb !important;
  color: #6b7280 !important;
  pointer-events: none;
  user-select: none;
}
