/* Responsive Footer Styles */

#footer {
  margin-top: auto;
  padding: 2rem 1rem;
  text-align: center;
  background: rgba(255, 255, 255, 0.5);
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  width: 100%;
}

#footer h4 {
  font-size: clamp(0.875rem, 2vw, 1rem);
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
  color: #333;
  max-width: 1200px;
  margin: 0 auto;
}

#footer a {
  color: #0066cc;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
  font-weight: 500;
}

#footer a:hover,
#footer a:focus {
  color: DarkOrange;
  text-decoration: underline;
}

#footer a:focus-visible {
  outline: 2px solid DarkOrange;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Mobile: Stack footer content if needed */
@media only screen and (max-width: 479px) {
  #footer {
    padding: 1.5rem 0.75rem;
  }
  
  #footer h4 {
    font-size: 0.875rem;
    line-height: 1.8;
  }
  
  /* Add word breaks for long words on very small screens */
  #footer h4 {
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
}

/* Tablet: More padding */
@media only screen and (min-width: 768px) {
  #footer {
    padding: 2.5rem 2rem;
  }
  
  #footer h4 {
    font-size: 1rem;
  }
}

/* Desktop: Maximum padding */
@media only screen and (min-width: 1024px) {
  #footer {
    padding: 3rem 2rem;
  }
}

/* Print styles */
@media print {
  #footer {
    border-top: 2px solid black;
    padding: 1rem;
    background: white;
  }
  
  #footer a {
    color: black;
    text-decoration: underline;
  }
  
  #footer a[href]:after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
  }
}

/* High contrast mode */
@media (prefers-contrast: high) {
  #footer {
    border-top: 3px solid black;
    background: white;
  }
  
  #footer a {
    text-decoration: underline;
  }
}
