/*--------------------------------------------------------------
  WPForms – AMFM Brand Overrides

  Applies brand tokens (rounded corners, focus ring, typography)
  to WPForms-generated form elements.

  Selectors match or exceed WPForms' own specificity
  (div.wpforms-container-full .wpforms-form input[type=…]).

  @since 2026-02-13
--------------------------------------------------------------*/

/* ---------------------------------------------------------------------------
   Labels
   --------------------------------------------------------------------------- */
div.wpforms-container-full .wpforms-form .wpforms-field-label,
div.wpforms-container-full.wpforms-container .wpforms-form .wpforms-field-label {
  font-family: var(--amfm-font-body);
  font-size: var(--amfm-text-sm);
  font-weight: 500;
  color: var(--amfm-text-secondary);
  margin-bottom: var(--amfm-spacing-sm);
}

div.wpforms-container-full .wpforms-form .wpforms-field-sublabel,
div.wpforms-container-full.wpforms-container .wpforms-form .wpforms-field-sublabel {
  font-family: var(--amfm-font-body);
  font-size: var(--amfm-text-xs);
  color: var(--amfm-text-tertiary);
}

/* ---------------------------------------------------------------------------
   Text Inputs, Textareas, Selects
   --------------------------------------------------------------------------- */
div.wpforms-container-full .wpforms-form input[type=text],
div.wpforms-container-full .wpforms-form input[type=email],
div.wpforms-container-full .wpforms-form input[type=url],
div.wpforms-container-full .wpforms-form input[type=tel],
div.wpforms-container-full .wpforms-form input[type=number],
div.wpforms-container-full .wpforms-form input[type=password],
div.wpforms-container-full .wpforms-form input[type=date],
div.wpforms-container-full .wpforms-form input[type=search],
div.wpforms-container-full .wpforms-form textarea,
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full.wpforms-container .wpforms-form input[type=text],
div.wpforms-container-full.wpforms-container .wpforms-form input[type=email],
div.wpforms-container-full.wpforms-container .wpforms-form input[type=url],
div.wpforms-container-full.wpforms-container .wpforms-form input[type=tel],
div.wpforms-container-full.wpforms-container .wpforms-form input[type=number],
div.wpforms-container-full.wpforms-container .wpforms-form input[type=password],
div.wpforms-container-full.wpforms-container .wpforms-form input[type=date],
div.wpforms-container-full.wpforms-container .wpforms-form input[type=search],
div.wpforms-container-full.wpforms-container .wpforms-form textarea,
div.wpforms-container-full.wpforms-container .wpforms-form select {
  font-family: var(--amfm-font-body);
  font-size: var(--amfm-text-base);
  color: var(--amfm-text-primary);
  background: var(--amfm-bg-primary);
  border: 1px solid var(--amfm-border-secondary);
  border-radius: var(--amfm-radius-md);
  box-shadow: var(--amfm-shadow-sm);
  transition: border-color var(--amfm-transition-fast),
              box-shadow var(--amfm-transition-fast);
}

/* Placeholder */
div.wpforms-container-full .wpforms-form input::placeholder,
div.wpforms-container-full .wpforms-form textarea::placeholder {
  color: var(--amfm-text-muted);
}

/* Focus ring */
div.wpforms-container-full .wpforms-form input[type=text]:focus,
div.wpforms-container-full .wpforms-form input[type=email]:focus,
div.wpforms-container-full .wpforms-form input[type=url]:focus,
div.wpforms-container-full .wpforms-form input[type=tel]:focus,
div.wpforms-container-full .wpforms-form input[type=number]:focus,
div.wpforms-container-full .wpforms-form input[type=password]:focus,
div.wpforms-container-full .wpforms-form input[type=date]:focus,
div.wpforms-container-full .wpforms-form input[type=search]:focus,
div.wpforms-container-full .wpforms-form textarea:focus,
div.wpforms-container-full .wpforms-form select:focus,
div.wpforms-container-full.wpforms-container .wpforms-form input[type=text]:focus,
div.wpforms-container-full.wpforms-container .wpforms-form input[type=email]:focus,
div.wpforms-container-full.wpforms-container .wpforms-form input[type=url]:focus,
div.wpforms-container-full.wpforms-container .wpforms-form input[type=tel]:focus,
div.wpforms-container-full.wpforms-container .wpforms-form input[type=number]:focus,
div.wpforms-container-full.wpforms-container .wpforms-form input[type=password]:focus,
div.wpforms-container-full.wpforms-container .wpforms-form input[type=date]:focus,
div.wpforms-container-full.wpforms-container .wpforms-form input[type=search]:focus,
div.wpforms-container-full.wpforms-container .wpforms-form textarea:focus,
div.wpforms-container-full.wpforms-container .wpforms-form select:focus {
  outline: none;
  border-color: var(--amfm-brand-500);
  box-shadow: 0 0 0 3px rgba(192, 120, 88, 0.25);
}

/* ---------------------------------------------------------------------------
   Submit Button
   --------------------------------------------------------------------------- */
div.wpforms-container-full .wpforms-form .wpforms-submit-container button[type=submit],
div.wpforms-container-full .wpforms-form .wpforms-submit-container .wpforms-submit {
  font-family: var(--amfm-font-body);
  font-size: var(--amfm-text-sm);
  font-weight: 600;
  border-radius: var(--amfm-radius-md);
  padding: 10px var(--amfm-spacing-2xl);
  background: var(--amfm-brand-500);
  color: var(--amfm-text-white);
  border: none;
  box-shadow: var(--amfm-shadow-sm);
  cursor: pointer;
  transition: background-color var(--amfm-transition-fast),
              box-shadow var(--amfm-transition-fast);
}

div.wpforms-container-full .wpforms-form .wpforms-submit-container button[type=submit]:hover,
div.wpforms-container-full .wpforms-form .wpforms-submit-container .wpforms-submit:hover {
  background: var(--amfm-brand-600);
}

div.wpforms-container-full .wpforms-form .wpforms-submit-container button[type=submit]:focus-visible,
div.wpforms-container-full .wpforms-form .wpforms-submit-container .wpforms-submit:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(192, 120, 88, 0.25);
}

/* ---------------------------------------------------------------------------
   Validation / Error States
   --------------------------------------------------------------------------- */
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-has-error input,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-has-error textarea,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-has-error select {
  border-color: #d92d20;
}

div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-has-error input:focus,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-has-error textarea:focus,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-has-error select:focus {
  box-shadow: 0 0 0 3px rgba(217, 45, 32, 0.2);
}

div.wpforms-container-full .wpforms-form label.wpforms-error {
  font-family: var(--amfm-font-body);
  font-size: var(--amfm-text-xs);
  color: #d92d20;
  margin-top: var(--amfm-spacing-xs);
}

/* ---------------------------------------------------------------------------
   Required Asterisk
   --------------------------------------------------------------------------- */
div.wpforms-container-full .wpforms-form .wpforms-required-label {
  color: #d92d20;
}
