/* Match Estherapy / Bricks theme: Lora, teal primary, contact-form inputs */

.estherapy-newsletter-form {
  --esn-teal: #028a90;
  --esn-teal-hover: #02757a;
  --esn-ink: #363636;
  --esn-muted: #9e9e9e;
  --esn-border: #dddedf;
  --esn-cream: #fcfcf4;
  --esn-error: #a11;
  --esn-success: #1b6b3a;

  display: grid;
  gap: 1.1rem;
  max-width: 32rem;
  margin: 0 auto;
  width: 100%;
  text-align: left;
  color: var(--esn-ink);
}

.estherapy-newsletter-field {
  display: grid;
  gap: 0.45rem;
}

.estherapy-newsletter-field label {
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.4px;
  line-height: 1.35;
  color: var(--esn-ink);
}

.estherapy-newsletter-optional {
  font-weight: 400;
  font-size: 0.85em;
  letter-spacing: normal;
  color: var(--esn-muted);
}

.estherapy-newsletter-field input {
  width: 100%;
  box-sizing: border-box;
  height: 42px;
  padding: 0 12px;
  border: 1px solid var(--esn-border);
  border-radius: 0;
  background: #fff;
  color: var(--esn-ink);
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  line-height: 40px;
  box-shadow: none;
  appearance: none;
}

.estherapy-newsletter-field input:focus {
  outline: none;
  border-color: var(--esn-teal);
}

.estherapy-newsletter-actions {
  margin-top: 0.25rem;
}

.estherapy-newsletter-actions button,
.estherapy-newsletter-form button[type="submit"] {
  display: inline-block;
  box-sizing: border-box;
  margin: 0;
  padding: 5px 35px;
  border: 0;
  border-radius: 0;
  background: var(--esn-teal);
  color: var(--esn-cream);
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.5px;
  line-height: 1.7;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.estherapy-newsletter-actions button:hover,
.estherapy-newsletter-form button[type="submit"]:hover {
  background: var(--esn-teal-hover);
  color: var(--esn-cream);
}

.estherapy-newsletter-actions button:disabled,
.estherapy-newsletter-form button[type="submit"]:disabled {
  opacity: 0.65;
  cursor: wait;
}

.estherapy-newsletter-message {
  margin: 0;
  font-family: Lora, Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
}

.estherapy-newsletter-message--success {
  color: var(--esn-success);
}

.estherapy-newsletter-message--error {
  color: var(--esn-error);
}

.estherapy-newsletter-admin-notice {
  color: var(--esn-error);
  text-align: center;
}
