:root {
  --form-font: 'Inter', 'DM Sans', Arial, sans-serif;
  --form-label-color: #475569;
  --form-input-text: #0f172a;
  --form-input-bg: #ffffff;
  --form-input-border: #cfd8e3;
  --form-input-focus: #5aba4a;
  --form-success-bg: rgba(22, 101, 52, 0.08);
  --form-success-border: rgba(22, 101, 52, 0.24);
  --form-success-text: #166534;
}

.contact-form,
.contact-form-box,
.apply-form {
  font-family: var(--form-font) !important;
}

.form-row,
.apply-form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.8rem !important;
  margin-bottom: 0.75rem !important;
}

.form-field,
.apply-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.32rem !important;
  margin-bottom: 0.58rem !important;
}

.form-field label,
.apply-field label {
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
  letter-spacing: 0.22px !important;
  font-weight: 600 !important;
  color: var(--form-label-color) !important;
}

.form-field input,
.form-field textarea,
.form-field select,
.apply-field input,
.apply-field textarea,
.apply-field select,
.quick-form input,
.quick-form textarea,
.quick-form select {
  width: 100% !important;
  min-height: 44px;
  border: 1px solid var(--form-input-border) !important;
  border-radius: 10px !important;
  background: var(--form-input-bg) !important;
  color: var(--form-input-text) !important;
  font-family: var(--form-font) !important;
  font-size: 0.9rem !important;
  line-height: 1.45 !important;
  padding: 0.62rem 0.72rem !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  outline: none;
}

.form-field textarea,
.apply-field textarea,
.quick-form textarea {
  min-height: 108px !important;
  resize: vertical;
}

.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus,
.apply-field input:focus,
.apply-field textarea:focus,
.apply-field select:focus,
.quick-form input:focus,
.quick-form textarea:focus,
.quick-form select:focus {
  border-color: var(--form-input-focus) !important;
  box-shadow: 0 0 0 3px rgba(90, 186, 74, 0.13) !important;
}

.form-field input::placeholder,
.form-field textarea::placeholder,
.apply-field input::placeholder,
.apply-field textarea::placeholder,
.quick-form input::placeholder,
.quick-form textarea::placeholder {
  color: #64748b !important;
}

.form-field select option,
.apply-field select option,
.quick-form select option {
  background: #ffffff !important;
  color: #0f172a !important;
}

.apply-field input[type="file"] {
  padding: 0.5rem !important;
  min-height: auto;
  background: #f8fafc !important;
}

.form-submit,
.quick-form .btn,
.quick-form button,
.popup-box .form-submit {
  width: 100%;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer;
  font-family: var(--form-font) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  line-height: 1.2;
  color: #ffffff !important;
  padding: 0.72rem 1rem !important;
  background: linear-gradient(135deg, #5aba4a, #3d9b35) !important;
  box-shadow: 0 10px 24px rgba(61, 155, 53, 0.22);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.form-submit:hover,
.apply-submit:hover,
.quick-form .btn:hover,
.quick-form button:hover,
.popup-box .form-submit:hover {
  transform: translateY(-1px);
  opacity: 0.94;
}

.apply-actions {
  margin-top: 0.25rem !important;
  gap: 0.55rem !important;
}

.apply-submit {
  width: auto !important;
  min-width: 170px;
}

.apply-cancel {
  border: 1px solid var(--form-input-border) !important;
  border-radius: 10px !important;
  padding: 0.68rem 0.95rem !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  color: #475569 !important;
  background: #ffffff !important;
}

.form-success {
  background: var(--form-success-bg) !important;
  border: 1px solid var(--form-success-border) !important;
  border-radius: 10px !important;
  padding: 0.85rem 1rem !important;
  color: var(--form-success-text) !important;
  font-size: 0.9rem !important;
  line-height: 1.45 !important;
  text-align: center;
}

@media (max-width: 900px) {
  .form-row,
  .apply-form-row {
    grid-template-columns: 1fr !important;
  }
}
