/* ============================================
   Responsive Design - Mobile First
   ============================================ */

/* Small phones (320px and up) */
@media (max-width: 576px) {
    .navbar-container {
        padding: 1rem;
        gap: 1rem;
    }

    .logo-text {
        font-size: 1.2rem;
    }

    .navbar-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background-color: var(--secondary);
        flex-direction: column;
        gap: 0;
        border-top: 1px solid var(--border);
    }

    .navbar-menu.active {
        display: flex;
    }

    .nav-link {
        padding: 1rem;
        border-bottom: 1px solid var(--border);
        border-left: 4px solid transparent;
    }

    .nav-link.active {
        border-left-color: var(--accent);
    }

    .navbar-toggle {
        display: flex;
    }

    .main-content {
        padding: 1.5rem 1rem;
    }

    .page-title {
        font-size: 2rem;
    }

    .page-subtitle {
        font-size: 0.95rem;
    }

    .filter-container {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .filter-buttons {
        flex-direction: column;
    }

    .items-grid {
        grid-template-columns: 1fr;
    }

    .items-grid.large,
    .items-grid.small {
        grid-template-columns: 1fr;
    }

    .detail-container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .detail-title {
        font-size: 1.8rem;
    }

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .detail-stats {
        grid-template-columns: 1fr;
    }
}

/* Tablets (577px and up) */
@media (min-width: 577px) and (max-width: 768px) {
    .main-content {
        padding: 2rem 1.2rem;
    }

    .page-title {
        font-size: 2.5rem;
    }

    .filter-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .items-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .items-grid.large {
        grid-template-columns: repeat(2, 1fr);
    }

    .detail-container {
        grid-template-columns: 1fr;
    }

    .detail-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Small desktops (769px and up) */
@media (min-width: 769px) {
    .navbar-toggle {
        display: none;
    }

    .navbar-menu {
        display: flex !important;
    }
}

/* Large desktops (1200px and up) */
@media (min-width: 1200px) {
    .filter-container {
        grid-template-columns: repeat(4, 1fr);
    }

    .items-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }

    .items-grid.large {
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    }

    .stats-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Extra large desktops (1400px and up) */
@media (min-width: 1400px) {
    .items-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    .items-grid.large {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Landscape orientation */
@media (max-width: 768px) and (orientation: landscape) {
    .main-content {
        padding: 1rem 1.5rem;
    }

    .page-title {
        font-size: 1.8rem;
    }

    .items-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}

/* High DPI screens */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .item-card-image {
        background-size: cover;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Dark mode (if supported) */
@media (prefers-color-scheme: dark) {
    :root {
        --primary: #0f1923;
        --secondary: #1a1f2e;
        --accent: #ff4655;
    }
}

/* Print styles */
@media print {
    .navbar,
    .footer,
    .filter-container,
    .btn-search,
    .btn-reset {
        display: none;
    }

    body {
        background-color: white;
        color: black;
    }

    .items-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
