/* Accessibilite - Styles pour ameliorer le score PageSpeed Insights */

/* Skip Link - Lien d'evitement pour navigation clavier */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #c9a961;
    color: #0f172a;
    padding: 8px 16px;
    text-decoration: none;
    font-weight: 700;
    z-index: 10000;
    border-radius: 0 0 4px 0;
}

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

/* Focus visible pour tous les elements interactifs */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #c9a961;
    outline-offset: 2px;
}

/* Amelioration du contraste des textes */
.hero-description {
    color: #e2e8f0 !important;
}

/* Tailles de zones cliquables minimales (44x44px) */
.btn,
.filter-btn,
.nav-link,
.action-btn {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Icones decoratives cachees aux lecteurs d'ecran */
i[aria-hidden="true"] {
    pointer-events: none;
}

/* Amelioration du contraste pour les boutons */
.btn-hero-secondary {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: #ffffff !important;
}

.btn-hero-secondary:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
}

/* States for filter buttons with aria-pressed */
.filter-btn[aria-pressed="true"] {
    background: linear-gradient(135deg, #c9a961, #dfc480);
    color: #0f172a;
}

.filter-btn[aria-pressed="false"] {
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
}

/* Amelioration de la visibilite des labels de formulaires */
label {
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--gray-700);
}

/* Status messages plus accessibles */
.alert,
.error-message,
.success-message {
    role: alert;
    min-height: 44px;
    padding: 12px 16px;
}

/* Prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Amelioration des contrastes en mode sombre */
[data-theme="dark"] .hero-description {
    color: #cbd5e1 !important;
}

[data-theme="dark"] label {
    color: #e2e8f0;
}

/* Zones de focus plus visibles en mode sombre */
[data-theme="dark"] a:focus-visible,
[data-theme="dark"] button:focus-visible,
[data-theme="dark"] input:focus-visible,
[data-theme="dark"] select:focus-visible,
[data-theme="dark"] textarea:focus-visible {
    outline-color: #dfc480;
}
