/**
 * Essência — componentes genéricos reutilizáveis.
 * Fase 3: sem componentes de Home, catálogo ou checkout.
 */
.text-gold {
  color: var(--ess-gold-600);
}

.ess-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid transparent;
  border-radius: var(--ess-radius-sm);
  font-family: Inter, system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.ess-btn--primary {
  color: var(--ess-navy-950);
  background-color: var(--ess-gold-600);
  border-color: var(--ess-gold-600);
}

.ess-btn--primary:hover {
  color: var(--ess-navy-950);
  background-color: var(--ess-gold-500);
  border-color: var(--ess-gold-500);
  box-shadow: var(--ess-shadow-gold);
}

.ess-btn--secondary {
  color: var(--ess-gold-600);
  background-color: transparent;
  border-color: var(--ess-gold-600);
}

.ess-btn--secondary:hover {
  color: var(--ess-navy-950);
  background-color: var(--ess-gold-300);
}

.ess-field {
  min-height: 48px;
  padding: 11px 12px;
  color: var(--ess-text-900);
  background: var(--ess-white);
  border: 1px solid var(--ess-border);
  border-radius: var(--ess-radius-sm);
  font: 400 16px/1.4 Inter, system-ui, sans-serif;
}

.ess-field:focus {
  border-color: var(--ess-gold-600);
  box-shadow: 0 0 0 3px rgba(196, 134, 52, .2);
}

.ess-form-error {
  color: var(--ess-love);
  font: 500 14px/1.45 Inter, system-ui, sans-serif;
}
