/*
 * Corza input atom.
 *
 * Two variants:
 *   .c-input          — boxed (border on all sides, white bg). Default.
 *                       Suits storefront/checkout-style forms.
 *   .c-input--bare    — underline only (transparent bg, 1px bottom border).
 *                       Matches the corza.com marketing-site contact form.
 *
 * State matrix is the same across variants: default, hover, focus, error,
 * disabled, readonly. Focus ring uses the brand teal-soft so it reads on
 * both white and #fafafa surfaces.
 *
 * Pattern modeled on the OneTrust .ot-input rules sniffed from corza.com
 * — token-driven with a full state matrix — but rebuilt against Corza
 * brand tokens instead of the OneTrust DS.
 */

.c-input,
.c-textarea {
  width: 100%;
  display: block;
  background: #fff;
  border: 1px solid var(--corza-mid);
  border-radius: 4px;
  padding: 0 12px;
  min-height: 40px;
  line-height: 1.5;
  font-family: inherit;
  font-size: 16px;
  font-weight: 300;
  color: var(--corza-ink);
  transition:
    border-color var(--corza-transition-base),
    background-color var(--corza-transition-base),
    box-shadow var(--corza-transition-base);
  -webkit-appearance: none;
  appearance: none;
}

.c-textarea {
  padding: 8px 12px;
  min-height: 96px;
  resize: vertical;
}

.c-input::placeholder,
.c-textarea::placeholder {
  color: var(--corza-mid);
  opacity: 1;
}

.c-input:hover:not(:disabled):not([readonly]),
.c-textarea:hover:not(:disabled):not([readonly]) {
  border-color: var(--corza-ink);
}

.c-input:focus,
.c-textarea:focus {
  outline: 0;
  border-color: var(--corza-teal-soft);
  box-shadow: 0 0 0 2px rgba(78, 150, 149, 0.25);
}

.c-input[readonly],
.c-textarea[readonly] {
  background: transparent;
  border-color: transparent;
  padding-left: 0;
  padding-right: 0;
  cursor: default;
}

.c-input:disabled,
.c-textarea:disabled {
  background: var(--corza-paper);
  border-color: var(--corza-border);
  color: var(--corza-mid);
  cursor: not-allowed;
}

.c-input--error,
.c-textarea--error {
  border-color: var(--corza-error);
  background: var(--corza-error-bg);
}

.c-input--error:focus,
.c-textarea--error:focus {
  border-color: var(--corza-error);
  box-shadow: 0 0 0 2px rgba(194, 57, 52, 0.25);
}

/* Bare / underline variant — matches corza.com Contact Us form. */
.c-input--bare {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--corza-border);
  border-radius: 0;
  padding: 0 0 4px;
  min-height: 32px;
}

.c-input--bare:hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--corza-ink);
}

.c-input--bare:focus {
  border-bottom-color: var(--corza-teal-soft);
  border-bottom-width: 2px;
  /* Compensate for the extra px so the field doesn't shift on focus. */
  padding-bottom: 3px;
  box-shadow: none;
}

.c-input--bare:disabled {
  background: transparent;
  border-bottom-color: var(--corza-border);
}

.c-input--bare.c-input--error {
  background: transparent;
  border-bottom-color: var(--corza-error);
}

.c-input--bare.c-input--error:focus {
  border-bottom-color: var(--corza-error);
  box-shadow: none;
}
