/* ===== MEDIA QUERIES GLOBALES ===== */

/* Tablets grandes */
@media (max-width: 1024px) {
    .section-title {
        font-size: var(--font-size-xl);
    }
    
    .division-titulo {
        font-size: var(--font-size-2xl);
    }
}

/* Tablets vertical */
@media (max-width: 768px) {
    /* Hero slider */
    .hero-slider {
        height: 300px;
    }
    
    .slide-content img {
        padding: var(--spacing-sm);
    }
    
    .slider-btn {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }
    
    .slider-btn.prev { left: var(--spacing-sm); }
    .slider-btn.next { right: var(--spacing-sm); }
    
    /* Secciones */
    section {
        padding: var(--spacing-lg) 0;
    }
    
    .section-title {
        font-size: var(--font-size-lg);
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-xs);
    }
    
    /* Tabs */
    .tabs-nav {
        top: 60px;
    }
    
    .tab-btn {
        padding: var(--spacing-sm) var(--spacing-md);
        font-size: var(--font-size-sm);
    }
    
    /* Tablas */
    .tabla-posiciones {
        font-size: var(--font-size-xs);
    }
    
    .tabla-posiciones th,
    .tabla-posiciones td {
        padding: var(--spacing-sm) var(--spacing-xs);
    }
    
    .tabla-posiciones th {
        font-size: 0.75rem;
    }
    
    /* Ocultar columnas menos importantes en mobile */
    .tabla-posiciones th:nth-child(n+5),
    .tabla-posiciones td:nth-child(n+5) {
        display: none;
    }
    
    /* Partido card */
    .partido-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .partido-fecha {
        align-self: flex-end;
    }
    
    .equipo {
        flex-wrap: wrap;
    }
    
    /* Fixture */
    .partido-vs-moderna {
        grid-template-columns: 1fr;
        gap: var(--spacing-sm);
    }
    
    .equipo-local-moderna,
    .equipo-visitante-moderna {
        justify-content: center;
    }
    
    .equipo-escudo-fixture {
        width: 25px;
        height: 25px;
    }
    
    /* Stats */
    .stats-grid-moderna {
        grid-template-columns: 1fr;
    }
    
    /* Search info */
    .search-info {
        flex-direction: column;
        text-align: center;
    }
    
    /* Paginación */
    .paginacion {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
    
    .paginacion-numeros {
        order: -1;
    }
}

/* Móviles */
@media (max-width: 480px) {
    .hero-slider {
        height: 250px;
    }
    
    .logo {
        max-height: 50px;
    }
    
    .section-title {
        font-size: var(--font-size-base);
    }
    
    .partido-card,
    .noticia-card,
    .equipo-card {
        margin: 0;
    }
    
    .equipo-nombre {
        font-size: var(--font-size-sm);
    }
    
    .equipo-goles {
        font-size: var(--font-size-base);
    }
    
    .btn {
        font-size: var(--font-size-xs);
        padding: var(--spacing-xs) var(--spacing-md);
    }
    
    /* Ocultar más columnas en móvil pequeño */
    .tabla-posiciones th:nth-child(n+4),
    .tabla-posiciones td:nth-child(n+4) {
        display: none;
    }
    
    .vista-btn {
        padding: var(--spacing-xs) var(--spacing-sm);
        font-size: var(--font-size-xs);
    }
    
    .stat-card-moderna {
        flex-direction: column;
        text-align: center;
    }
}

/* Móviles pequeños */
@media (max-width: 360px) {
    .hero-slider {
        height: 200px;
    }
    
    .division-titulo {
        font-size: var(--font-size-xl);
        flex-direction: column;
    }
    
    .division-descripcion {
        font-size: var(--font-size-base);
        flex-direction: column;
    }
    
    .tabla-posiciones {
        min-width: 450px;
    }
}

/* Landscape en móviles */
@media (max-height: 500px) and (orientation: landscape) {
    .hero-slider {
        height: 200px;
    }
    
    .nav-menu {
        padding-top: 70px;
    }
    
    .modal-container {
        max-height: 85vh;
    }
}

/* Touch improvements */
@media (hover: none) and (pointer: coarse) {
    .btn,
    .proximos-partidos-item,
    .goleadores-item,
    .tabla-posiciones tbody tr,
    .equipo-card,
    .noticia-card {
        cursor: default;
    }
    
    .btn:active {
        transform: scale(0.98);
    }
}

/* Reducir animaciones para usuarios que lo prefieren */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Optimización para impresión */
@media print {
    .navbar,
    .hero-slider,
    .footer,
    .btn,
    .slider-btn,
    .slider-dots,
    .modal-overlay,
    .vista-toggle,
    .categoria-selector {
        display: none !important;
    }
    
    body {
        color: #000;
        background: #fff;
    }
    
    .partido-card,
    .noticia-card,
    .equipo-card {
        box-shadow: none;
        border: 1px solid #ddd;
        break-inside: avoid;
    }
}

/* ===== FIX PARA DESBORDES HORIZONTALES ===== */
body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

img, iframe, video, table {
    max-width: 100%;
    height: auto;
}

/* Asegurar que ningún elemento cause desborde */
.container, 
.main-content,
.left-column,
.right-column,
section,
div {
    max-width: 100%;
    box-sizing: border-box;
}

/* Forzar word wrap en textos largos */
h1, h2, h3, h4, h5, h6, p, span, a {
    word-wrap: break-word;
    overflow-wrap: break-word;
}