/* Tablet */
@media (max-width: 1024px) {
    .grid-5 {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid-4 {
        grid-template-columns: repeat(3, 1fr);
    }

    .casino-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Large mobile */
@media (max-width: 768px) {
    .nav {
        position: fixed;
        top: var(--header-height);
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--color-bg);
        flex-direction: column;
        padding: var(--spacing-xl);
        gap: var(--spacing-md);
        transform: translateX(100%);
        transition: transform var(--transition-base);
        z-index: 999;
    }

    .nav.active {
        transform: translateX(0);
    }

    .nav-toggle {
        display: flex;
    }

    .nav-link {
        width: 100%;
        justify-content: center;
        font-size: var(--font-size-lg);
    }

    .grid-5,
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .casino-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .page-title {
        font-size: var(--font-size-2xl);
    }

    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer-links {
        align-items: center;
    }
}

/* Mobile */
@media (max-width: 480px) {
    .container {
        padding: 0 var(--spacing-sm);
    }

    .grid-5,
    .grid-4,
    .grid-3,
    .grid-2 {
        grid-template-columns: 1fr;
    }

    .casino-grid {
        grid-template-columns: 1fr;
    }

    .page-title {
        font-size: var(--font-size-xl);
    }

    .article-content,
    .description-box,
    .contact-form {
        padding: var(--spacing-md);
    }

    .modal-content {
        margin: var(--spacing-sm);
        max-height: calc(100vh - var(--spacing-lg));
    }

    .pagination {
        flex-wrap: wrap;
    }
}

/* Carousel responsive */
@media (max-width: 768px) {
    .carousel-row {
        animation-duration: 120s;
    }

    .carousel-row.reverse {
        animation-duration: 130s;
    }
}

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

    .carousel-row {
        animation: none;
    }
}
