/* ==========================================================================
   Estilos Responsivos para Vista de Artículos - Móvil Optimizado
   ========================================================================== */

/* Breadcrumb mejorado */
.breadcrumb-nav {
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 0.75rem;
    margin-bottom: 1.5rem;
}

.breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

@media (min-width: 640px) {
    .breadcrumb-list {
        gap: 0.5rem;
    }
}

.breadcrumb-list li {
    position: relative;
}

.breadcrumb-list li:not(:last-child)::after {
    content: "›";
    color: #94a3b8;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    font-weight: 500;
}

@media (min-width: 640px) {
    .breadcrumb-list li:not(:last-child)::after {
        margin-left: 0.5rem;
        margin-right: 0.5rem;
    }
}

/* Skeleton Loader Mejorado */
.skeleton-loader-cards {
    display: contents;
}

.skeleton-card {
    animation: skeleton-loading 1.5s ease-in-out infinite alternate;
}

@keyframes skeleton-loading {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0.4;
    }
}

.skeleton-card div {
    background: linear-gradient(90deg, 
        #f1f5f9 25%, 
        #e2e8f0 50%, 
        #f1f5f9 75%);
    background-size: 200% 100%;
    animation: shimmer 2s infinite;
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

/* Navegación mejorada */
.navigation-section {
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 1rem;
}

/* Optimización tipográfica para móviles */
@media (max-width: 640px) {
    /* Mejorar el tamaño de fuente del contenido principal */
    .prose p {
        font-size: 1rem !important;
        line-height: 1.6 !important;
    }
    
    /* Espaciado mejorado para títulos */
    h1 {
        font-size: 1.75rem !important;
        line-height: 1.3 !important;
        margin-bottom: 1rem !important;
    }
    
    h2 {
        font-size: 1.5rem !important;
        line-height: 1.4 !important;
        margin-bottom: 0.75rem !important;
    }
    
    /* Mejorar spacing en tarjetas */
    .bg-white.rounded-xl {
        margin-bottom: 1rem;
    }
    
    /* Padding optimizado para contenedores */
    .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

/* Optimización para dispositivos muy pequeños (375px) */
@media (max-width: 375px) {
    .container {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
    
    .breadcrumb-nav {
        padding: 0.5rem;
        margin-bottom: 1rem;
    }
    
    .navigation-section {
        padding: 0.75rem;
    }
    
    .navigation-section button,
    .navigation-section a {
        padding: 0.75rem !important;
        font-size: 0.875rem !important;
    }
}

/* Mejoras de contraste y accesibilidad */
@media (prefers-contrast: high) {
    .breadcrumb-nav {
        border: 2px solid #475569;
        background: #ffffff;
    }
    
    .navigation-section {
        border: 2px solid #475569;
        background: #ffffff;
    }
}

/* Reducir animaciones para usuarios que las prefieren */
@media (prefers-reduced-motion: reduce) {
    .skeleton-card,
    .skeleton-card div {
        animation: none;
    }
    
    .transition-all,
    .transition-colors {
        transition: none;
    }
}

/* Optimización para pantallas táctiles */
@media (hover: none) and (pointer: coarse) {
    /* Aumentar el área táctil de los botones */
    .navigation-section button,
    .navigation-section a,
    .breadcrumb-list a {
        min-height: 44px;
        min-width: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0.75rem 1rem;
    }
    
    /* Mejorar feedback visual en toque */
    .navigation-section button:active,
    .navigation-section a:active,
    .breadcrumb-list a:active {
        transform: scale(0.95);
        background-color: #e2e8f0;
    }
}

/* Hover states mejorados para desktop */
@media (hover: hover) and (pointer: fine) {
    .breadcrumb-list a:hover {
        background-color: #e2e8f0;
        border-radius: 0.375rem;
        padding: 0.25rem 0.5rem;
        margin: -0.25rem -0.5rem;
    }
    
    .navigation-section button:hover,
    .navigation-section a:hover {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }
}

/* Mejoras para el contenido de artículos relacionados */
.grid > div:has(.skeleton-card) {
    /* Asegurar que los skeleton cards tengan el mismo alto */
    min-height: 200px;
}

/* Optimización de imágenes y media */
@media (max-width: 640px) {
    img {
        max-width: 100%;
        height: auto;
    }
    
    svg {
        flex-shrink: 0;
    }
}

/* Estilos de enfoque mejorados para accesibilidad */
button:focus-visible,
a:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
    border-radius: 0.375rem;
}

/* Smooth scroll para navegación interna */
html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
