/* Skeleton Loading Styles */
@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.skeleton-pulse {
    animation: skeleton-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes skeleton-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.img-blur-wrapper {
    position: relative;
}

.img-blur-wrapper img {
    opacity: 0;
    transition: opacity 0.5s ease;
}

.img-blur-wrapper img.loaded {
    opacity: 1;
}

/* Focus improvements for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid #92400e;
    outline-offset: 2px;
}

/* Skip to content link */
.skip-to-content {
    position: absolute;
    top: -40px;
    left: 0;
    background: #92400e;
    color: white;
    padding: 8px 16px;
    z-index: 100;
    transition: top 0.3s;
}

.skip-to-content:focus {
    top: 0;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .bg-stone-900 { background-color: black !important; }
    .text-stone-100 { color: white !important; }
    .border-stone-700 { border-color: white !important; }
}
