/* WCAG 2.1 Level AA Accessibility Enhancements */

/* Skip to main content link for keyboard navigation */
.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #000;
  color: #fff;
  padding: 8px 16px;
  text-decoration: none;
  z-index: 100;
}

.skip-link:focus {
  top: 0;
}

/* Ensure sufficient color contrast for links */
a {
  color: #0066cc;
  text-decoration: underline;
}

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

/* Focus indicators for keyboard navigation */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
}

/* Ensure post meta text has sufficient contrast */
.post-meta {
  color: #424242;
}

/* Improve spacing and readability */
.post-excerpt {
  margin-top: 0.5rem;
  line-height: 1.6;
}

.post-list li {
  margin-bottom: 2rem;
}

/* Ensure proper heading hierarchy and spacing */
h1, h2, h3, h4, h5, h6 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

/* Improve list readability */
ul, ol {
  line-height: 1.6;
  margin-bottom: 1rem;
}

li {
  margin-bottom: 0.5rem;
}

/* Ensure adequate touch targets (minimum 44x44px for mobile) */
@media (max-width: 768px) {
  a, button {
    min-height: 44px;
    display: inline-block;
    padding: 4px 0;
  }
}

/* Improve text readability */
p {
  line-height: 1.6;
  margin-bottom: 1rem;
}

/* Ensure responsive images */
img {
  max-width: 100%;
  height: auto;
}

/* Add visual separation for better content structure */
.post-list li {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e0e0e0;
}

.post-list li:last-child {
  border-bottom: none;
}
