/* Styles pour la page Mémento Police Judiciaire */

/* ===== MODALE ARTICLE ===== */
#article-modal {
    transition: opacity 0.3s ease-in-out;
}

#article-modal.hidden {
    opacity: 0;
    pointer-events: none;
}

#article-modal:not(.hidden) {
    opacity: 1;
    pointer-events: auto;
}

/* Améliorer le scroll dans la modale */
#article-content {
    scroll-behavior: smooth;
}

/* Ajuster la modale pour desktop - plein écran */
@media (min-width: 1024px) {
    #article-modal .relative {
        width: 100vw;
        height: 100vh;
        max-width: none;
        max-height: none;
        margin: 0;
        border-radius: 0;
        box-shadow: none;
    }
}

/* ===== SKELETONS DE CHARGEMENT ===== */
.skeleton-container { 
    position: relative; 
}

.skeleton-item { 
    animation: skeleton-pulse 1.5s ease-in-out infinite; 
    will-change: opacity; 
}

.skeleton-element {
    background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
    background-size: 200px 100%;
    animation: skeleton-shimmer 2s ease-in-out infinite;
    will-change: background-position;
}

@media (prefers-reduced-motion: reduce) {
    .skeleton-item { 
        animation: none; 
        opacity: 0.7; 
    }
    .skeleton-element { 
        animation: none; 
        background: #e5e7eb; 
    }
}

.dark .skeleton-element {
    background: linear-gradient(90deg, #374151 25%, #4b5563 50%, #374151 75%);
    background-size: 200px 100%;
}

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

@keyframes skeleton-shimmer { 
    0% { background-position: -200px 0; } 
    100% { background-position: calc(200px + 100%) 0; } 
}

/* ===== MESSAGES DE CHARGEMENT ===== */
.animate-fade-in-up {
    animation: fadeInUp 0.5s ease-out forwards;
    opacity: 0;
}

@keyframes fadeInUp {
    from { 
        opacity: 0; 
        transform: translateY(10px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

.loading-message {
    width: 100%;
    max-width: 32rem; /* 2xl */
    margin-left: auto;
    margin-right: auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* S'assurer que le skeleton garde sa largeur fixe */
.skeleton-container {
    width: 100%;
    max-width: 56rem; /* 4xl */
    margin-left: auto;
    margin-right: auto;
}

/* ===== ACCORDÉONS CATÉGORIES ===== */
.category-collapsed {
    display: none;
}

/* Animation de rotation du chevron */
svg.category-chevron,
svg#icon-category-d48b92cdf6d2474e9c1818a1246b01d4 {
    transition: transform 0.3s ease-in-out !important;
    transform: rotate(0deg) !important;
    will-change: transform;
}

svg.category-chevron.rotated,
svg#icon-category-d48b92cdf6d2474e9c1818a1246b01d4.rotated {
    transform: rotate(180deg) !important;
}

/* Forcer le transform sur les SVG avec ID */
svg[id^="icon-category-"] {
    transition: transform 0.3s ease-in-out !important;
    transform: rotate(0deg) !important;
}

svg[id^="icon-category-"].rotated {
    transform: rotate(180deg) !important;
}

