/* Responsive form styles */
.form-item {
  margin-bottom: 1rem;
}

.form-item label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
}

/* category filter on the Knowledge page */
#views-exposed-form-knowledge-knowledge 
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
  width: 100%;
  max-width: 100%;
  padding: 0.75rem;
  border: 1px solid rgba(0,0,0,0.2);;
  background-color:rgba(0,0,0,0.05);
  color: white;
  border-radius: 4px;
  font-size: 1rem;
  box-sizing: border-box;
  transition: border-color 0.3s ease;
}


input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: #0066cc;
  box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2);
}



/* Responsive form layouts */
.form-wrapper {
  width: 100%;
  max-width: 100%;
}

.form-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}

@media (max-width: 768px) {
  .form-row {
    flex-direction: column;
    gap: 0.5rem;
  }
}

.form-col {
  flex: 1;
}

@media (max-width: 768px) {
  .form-col {
    width: 100%;
  }
}

/* Button styles */
.button,
.btn,
input[type="submit"],
input[type="button"] {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: #0066cc;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
  text-decoration: none;
  text-align: center;
  min-width: 120px;
}

.button:hover,
.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background: #0052a3;
}

@media (max-width: 768px) {
  .button,
  .btn,
  input[type="submit"],
  input[type="button"] {
    width: 100%;
    min-width: auto;
    padding: 0.875rem 1rem;
  }
}

/* Form validation styles */
.form-item--error input,
.form-item--error textarea,
.form-item--error select {
  border-color: #dc3545;
}

.form-item--error .form-item__error-message {
  color: #dc3545;
  font-size: 0.875rem;
  margin-top: 0.25rem;
}

/* Responsive form groups */
.form-group {
  margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
  .form-group {
    margin-bottom: 1rem;
  }
}

/* Checkbox and radio styles */
.form-checkbox,
.form-radio {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.form-checkbox input[type="checkbox"],
.form-radio input[type="radio"] {
  width: auto;
  margin: 0;
}

/* Responsive form spacing */
@media (max-width: 480px) {
  .form-item {
    margin-bottom: 0.75rem;
  }
  
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  textarea,
  select {
    padding: 0.625rem;
    font-size: 0.9rem;
  }
  
  .button,
  .btn,
  input[type="submit"],
  input[type="button"] {
    padding: 0.75rem 0.875rem;
    font-size: 0.9rem;
  }
}


.form--inline > * {
  margin-top: 0;
}