/**
 * Footer WCAG 2.2 AA 2.5.8 Compliance
 * Ensures interactive components have sufficient target spacing
 * Target Size (Enhanced): 24×24 CSS pixels minimum
 */

/* Remove padding from bottom section */
.msu-footer .bottom {
  padding-top: 0;
  padding-bottom: 0;
}

/* MSU Footer Link Spacing */
#msu-footer .list-inline-item a,
#msu-footer .list-inline-item button {
  /* Ensure minimum target size of 24x24 pixels */
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 0;
  margin: 2px 0;
  position: relative;
  text-decoration: none;
}

/* Add hover/focus states for better accessibility */
#msu-footer .list-inline-item a:hover,
#msu-footer .list-inline-item a:focus,
#msu-footer .list-inline-item button:hover,
#msu-footer .list-inline-item button:focus {
  text-decoration: underline;
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* Ensure separators don't interfere with interactive spacing */
#msu-footer .list-inline-item .separator {
  display: inline-block;
  margin: 0 8px;
  user-select: none;
  pointer-events: none;
}

/* Specific spacing for the MSU logo link */
#msu-footer a[href="https://www.msu.edu"] {
  display: inline-block;
  padding: 0;
  margin: 16px;
}

/* Footer navigation links spacing */
#msu-footer nav {
  margin-bottom: 0;
}

#msu-footer nav ul.list-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
  align-items: center;
  margin-bottom: 0;
}

/* Contact info section */
#msu-footer .contact-info {
  margin-top: 0;
  margin-bottom: 0;
}

#msu-footer .contact-info ul.list-inline,
#msu-footer .copyright-info ul.list-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
  align-items: center;
  margin-bottom: 8px;
}

/* Ensure proper spacing on mobile devices */
@media (max-width: 767px) {
  #msu-footer .list-inline {
    flex-direction: column;
    align-items: flex-start;
  }
  
  #msu-footer .list-inline-item {
    display: block;
    width: 100%;
    margin-bottom: 4px;
  }
  
  #msu-footer .list-inline-item .separator {
    display: none;
  }
  
  #msu-footer .list-inline-item a,
  #msu-footer .list-inline-item button {
    display: block;
    width: 100%;
    padding: 12px 16px;
    margin: 4px 0;
  }
}

/* Tablet and medium screens */
@media (min-width: 768px) and (max-width: 991px) {
  #msu-footer .list-inline-item a,
  #msu-footer .list-inline-item button {
    padding: 10px 14px;
  }
}

/* Focus visible for keyboard navigation */
#msu-footer a:focus-visible,
#msu-footer button:focus-visible {
  outline: 3px solid #18453B; /* MSU Green */
  outline-offset: 2px;
  border-radius: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  #msu-footer a:focus,
  #msu-footer button:focus {
    outline: 3px solid currentColor;
    outline-offset: 3px;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  #msu-footer a,
  #msu-footer button {
    transition: none;
  }
}

/* Ensure the Notice of Non-Discrimination link is prominent */
#msu-footer .bold-text a {
  font-weight: 700;
  padding: 10px 14px;
}

/* Department footer adjustments if needed */
#dept-footer .list-inline-item a,
#dept-footer .list-inline-item button {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  margin: 2px 0;
}