/* Global form refresh theme */
:root {
  --eb-form-bg: #ffffff;
  --eb-form-bg-solid: #f8fbff;
  --eb-form-border: #d3deea;
  --eb-form-border-focus: #0f766e;
  --eb-form-placeholder: #8b98a9;
  --eb-form-text: #1f2a37;
  --eb-form-label: #3c4b5f;
  --eb-form-shadow-focus: 0 0 0 4px rgba(15, 118, 110, 0.14);
  --eb-form-radius: 12px;
}

.form-label,
label {
  color: var(--eb-form-label);
  font-weight: 600;
  letter-spacing: 0.01em;
  margin-bottom: 0.45rem;
}

.form-control:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.form-select,
textarea.form-control,
input.form-control,
select.form-control,
select.form-select,
.form-control-solid,
.form-select-solid,
.form-control-sm,
.form-control-lg {
  border: 1px solid var(--eb-form-border) !important;
  background: linear-gradient(180deg, var(--eb-form-bg) 0%, var(--eb-form-bg-solid) 100%) !important;
  color: var(--eb-form-text) !important;
  border-radius: var(--eb-form-radius) !important;
  min-height: 44px;
  min-width: 100px;
  padding: 0.62rem 0.9rem !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

textarea.form-control {
  min-height: 110px;
}

.form-control::placeholder,
.form-control-solid::placeholder,
textarea::placeholder {
  color: var(--eb-form-placeholder) !important;
  opacity: 1;
}

.form-control:focus,
.form-select:focus,
.form-control-solid:focus,
.form-select-solid:focus,
textarea.form-control:focus,
input.form-control:focus,
select.form-control:focus,
select.form-select:focus {
  border-color: var(--eb-form-border-focus) !important;
  box-shadow: var(--eb-form-shadow-focus) !important;
  transform: translateY(-1px);
  outline: 0;
}

.input-group-text {
  border-color: var(--eb-form-border);
  background: #eff5fb;
  color: #506178;
  border-radius: var(--eb-form-radius);
}

.form-check-input {
  border: 1px solid #8da0b6;
}

.form-check-input:focus {
  border-color: var(--eb-form-border-focus);
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.2);
}

.form-check-input:checked {
  background-color: var(--eb-form-border-focus);
  border-color: var(--eb-form-border-focus);
}

.form-control.is-invalid,
.form-select.is-invalid,
.was-validated .form-control:invalid,
.was-validated .form-select:invalid {
  border-color: #d64545 !important;
  box-shadow: 0 0 0 4px rgba(214, 69, 69, 0.12) !important;
}

.form-control.is-valid,
.form-select.is-valid,
.was-validated .form-control:valid,
.was-validated .form-select:valid {
  border-color: #0f766e !important;
}

.select2-container .select2-selection--single,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  min-height: 44px !important;
  border-radius: var(--eb-form-radius) !important;
  border: 1px solid var(--eb-form-border) !important;
  background: linear-gradient(180deg, var(--eb-form-bg) 0%, var(--eb-form-bg-solid) 100%) !important;
}

.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--eb-form-border-focus) !important;
  box-shadow: var(--eb-form-shadow-focus) !important;
}

.select2-dropdown {
  border-color: var(--eb-form-border) !important;
  border-radius: 12px !important;
}

.form-text,
.text-muted {
  color: #6f7f93 !important;
}

@media (max-width: 768px) {
  .form-control:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  .form-select,
  textarea.form-control,
  input.form-control,
  select.form-control,
  select.form-select,
  .form-control-solid,
  .form-select-solid {
    min-height: 42px;
    padding: 0.58rem 0.8rem !important;
  }
}
