/* Shared field design for contact, cooperation and search forms. */
:root {
  --form-field-height: var(--ui-control-height);
  --form-field-radius: var(--ui-radius-control);
  --form-field-bg: var(--ui-field-surface);
  --form-field-text: var(--ui-field-text);
  --form-field-placeholder: var(--ui-field-placeholder);
  --form-field-border: var(--ui-field-border);
  --form-field-focus: var(--ui-focus);
  --form-field-ring: var(--ui-focus-ring);
  --form-field-error: var(--ui-error);
}

[data-theme="dark"] {
  /* Rebind aliases at the theme scope so their computed values follow it. */
  --form-field-bg: var(--ui-field-surface);
  --form-field-text: var(--ui-field-text);
  --form-field-placeholder: var(--ui-field-placeholder);
  --form-field-border: var(--ui-field-border);
  --form-field-focus: var(--ui-focus);
  --form-field-ring: var(--ui-focus-ring);
  --form-field-error: var(--ui-error);
}

/* Specific enough to supersede historical per-page field overrides. */
:root body[data-page] form.php-email-form[data-dynamic-form] :is(.form-control, .form-select) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: var(--form-field-height);
  padding: .65rem .9rem;
  border: 1px solid var(--form-field-border) !important;
  border-radius: var(--form-field-radius);
  background-color: var(--form-field-bg) !important;
  color: var(--form-field-text) !important;
  -webkit-text-fill-color: var(--form-field-text);
  caret-color: var(--form-field-text);
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  opacity: 1 !important;
  box-shadow: none;
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  backdrop-filter: blur(14px) saturate(1.15);
  transition: border-color var(--ui-motion-fast) ease, box-shadow var(--ui-motion-fast) ease;
}

:root body[data-page] form.php-email-form[data-dynamic-form] input.form-control,
:root body[data-page] form.php-email-form[data-dynamic-form] select.form-select {
  height: var(--form-field-height);
}

:root body[data-page] form.php-email-form[data-dynamic-form] textarea.form-control {
  height: auto;
  min-height: 136px;
  resize: vertical;
}

:root body[data-page] form.php-email-form[data-dynamic-form] select.form-select {
  padding-inline-end: 2.5rem;
}

:root body[data-page] form.php-email-form[data-dynamic-form] :is(.form-control, .form-select):focus {
  border-color: var(--form-field-focus) !important;
  color: var(--form-field-text) !important;
  background-color: var(--form-field-bg) !important;
  outline: none;
  box-shadow: 0 0 0 3px var(--form-field-ring);
}

:root body[data-page] form.php-email-form[data-dynamic-form] .form-control::placeholder {
  color: var(--form-field-placeholder) !important;
  -webkit-text-fill-color: var(--form-field-placeholder);
  opacity: 1 !important;
}

:root body[data-page] form.php-email-form[data-dynamic-form] :is(.form-control, .form-select):is(.is-invalid, [aria-invalid="true"]) {
  border-color: var(--form-field-error) !important;
}

:root body[data-page] form.php-email-form[data-dynamic-form] :is(.form-control, .form-select):disabled {
  opacity: .65 !important;
  cursor: not-allowed;
}

/* Search keeps its integrated button layout, using the same surface and type. */
:root body[data-page] form.enmarket-search {
  height: var(--form-field-height);
  border: 1px solid var(--form-field-border);
  border-radius: var(--form-field-radius);
  background: var(--form-field-bg);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  backdrop-filter: blur(14px) saturate(1.15);
  box-shadow: none;
  transition: border-color var(--ui-motion-fast) ease, box-shadow var(--ui-motion-fast) ease;
}

:root body[data-page] form.enmarket-search:focus-within {
  border-color: var(--form-field-focus);
  box-shadow: 0 0 0 3px var(--form-field-ring);
}

:root body[data-page] form.enmarket-search .enmarket-search__input {
  color: var(--form-field-text);
  -webkit-text-fill-color: var(--form-field-text);
  caret-color: var(--form-field-text);
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
}

:root body[data-page] form.enmarket-search .enmarket-search__input::placeholder {
  color: var(--form-field-placeholder);
  -webkit-text-fill-color: var(--form-field-placeholder);
  opacity: 1;
}

/* Prevent focus-induced page zoom on mobile browsers. */
@media (max-width: 767.98px) {
  :root body[data-page] form.php-email-form[data-dynamic-form] :is(.form-control, .form-select),
  :root body[data-page] form.enmarket-search .enmarket-search__input {
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root body[data-page] form.php-email-form[data-dynamic-form] :is(.form-control, .form-select),
  :root body[data-page] form.enmarket-search {
    transition: none;
  }
}
