.hover-shadow:hover {
    box-shadow: 0 0 10px rgba(0,0,0,0.15);
    transition: box-shadow 0.3s ease;
  }

  input, select, button {
    font-size: 1rem;
    padding: 0.6rem;
  }

  @media (max-width: 576px) {
    .card-header {
      font-size: 1rem;
      padding: 0.75rem 1rem;
    }
    .form-label {
      font-size: 0.95rem;
    }
  }

  .alert-info {
    background: linear-gradient(to right, #e0f7ff, #f0fcff);
    border-left: 5px solid #0d6efd;
  }

  hr.my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  .is-invalid {
    border-color: #dc3545;
    background-color: #fff0f0;
  }
  input.is-required {
  border-color: #ffc107;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
}

#quoteFormContainer {
  opacity: 0;
  transition: opacity 0.5s ease;
}

#quoteFormContainer.visible {
  display: block;
  opacity: 1;
}
