/* 
 * Button Component Styles
 * Contains all styles related to buttons throughout the site
 */

/* Primary button */
.btn-primary {
  background-color: #0056b3;
  border-color: #0056b3;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background-color: #004494;
  border-color: #004494;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Secondary button */
.btn-secondary {
  background-color: #6c757d;
  border-color: #6c757d;
  transition: all 0.3s ease;
}

.btn-secondary:hover {
  background-color: #5a6268;
  border-color: #5a6268;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Outline buttons */
.btn-outline-primary {
  color: #0056b3;
  border-color: #0056b3;
  transition: all 0.3s ease;
}

.btn-outline-primary:hover {
  background-color: #0056b3;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Button sizes */
.btn-lg {
  padding: 0.75rem 1.5rem;
  font-size: 1.1rem;
}

.btn-sm {
  padding: 0.25rem 0.75rem;
  font-size: 0.85rem;
}

/* Button with icon */
.btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-icon i, .btn-icon svg {
  margin-right: 0.5rem;
}

/* Responsive button adjustments */
@media (max-width: 767.98px) {
  .btn {
    padding: 0.375rem 0.75rem;
    font-size: 0.9rem;
  }
  
  .btn-lg {
    padding: 0.5rem 1rem;
    font-size: 1rem;
  }
}