/**
 * Additional Main Styles
 * These complement the styles in style.css
 */

/* Filter Buttons */
.filter-btn {
  background: transparent;
  border: 2px solid #2271b1;
  color: #2271b1;
  padding: 10px 25px;
  margin: 5px;
  border-radius: 5px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.3s ease;
}

.filter-btn:hover,
.filter-btn.active {
  background: #2271b1;
  color: white;
  transform: translateY(-2px);
}

/* Animation States */
.animated {
  animation: fadeInUp 0.8s ease;
}

/* Sticky Header Enhancements */
.site-header.scrolled {
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

/* Mobile Menu Styles */
@media screen and (max-width: 768px) {
  body.menu-open {
    overflow: hidden;
  }

  #primary-menu {
    padding: 20px;
  }

  .menu-toggle.active .fas {
    transform: rotate(90deg);
  }
}

/* Loading States */
button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.fa-spinner {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Print Styles */
@media print {
  .no-print,
  .site-header,
  .site-footer,
  .btn,
  .menu-toggle,
  .social-links {
    display: none !important;
  }

  .container {
    max-width: 100%;
  }

  body {
    font-size: 12pt;
    line-height: 1.5;
    color: #000;
  }

  a {
    color: #000;
    text-decoration: underline;
  }
}
