/*
 * Responsive Design
 * Mobile-first media queries and responsive utilities
 */

/* Mobile Styles (480px and below) */
@media (max-width: 480px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.75rem; }
    h3 { font-size: 1.25rem; }
    
    .container {
        padding: 0 var(--spacing-md);
    }
    
    .header-inner {
        padding: var(--spacing-sm) 0;
    }
    
    .nav {
        display: none;
    }
    
    .nav.active {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--color-card);
        box-shadow: var(--shadow-lg);
        padding: var(--spacing-lg);
        gap: var(--spacing-md);
    }
    
    .menu-toggle {
        display: block;
    }
    
    .search-section {
        padding: var(--spacing-lg) 0;
    }
    
    .search-filter-wrapper {
        gap: var(--spacing-md);
        flex-wrap: wrap;
        flex-direction: column;
    }
    
    .search-input-wrapper {
        flex: 1;
        width: 100%;
        min-width: 0;
    }
    
    .sort-select {
        width: 100%;
        flex-shrink: 0;
        padding: var(--spacing-md) var(--spacing-lg);
        font-size: 1rem;
        min-width: unset;
    }
    
    .search-input {
        font-size: 1rem;
        padding: var(--spacing-md) var(--spacing-3xl) var(--spacing-md) var(--spacing-lg);
        height: auto;
    }
    
    .search-icon {
        font-size: 1.25rem;
        right: var(--spacing-lg);
    }
    
    .category-tabs {
        padding: var(--spacing-md) 0;
    }
    
    .category-tab {
        padding: var(--spacing-xs) var(--spacing-md);
        font-size: 0.875rem;
    }
    
    .prompt-content {
        padding: var(--spacing-md);
    }
    
    .prompt-title {
        font-size: 1.125rem;
    }
    
    .pagination {
        padding: var(--spacing-lg) 0;
    }
    
    .btn {
        padding: var(--spacing-sm) var(--spacing-lg);
        font-size: 0.875rem;
    }
}

/* Tablet Styles (481px - 768px) */
@media (min-width: 481px) and (max-width: 768px) {
    h1 { font-size: 2.25rem; }
    
    .nav {
        gap: var(--spacing-md);
    }
    
    .nav-link {
        padding: var(--spacing-xs) var(--spacing-sm);
        font-size: 0.875rem;
    }
}

/* Tablet Landscape & Desktop (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    .container {
        padding: 0 var(--spacing-xl);
    }
    
    .search-filter-wrapper {
        flex-wrap: nowrap;
        flex-direction: row;
        justify-content: center;
    }
    
    .sort-select {
        width: auto;
    }
}

/* Large Desktop (1025px and above) */
@media (min-width: 1025px) {
    .search-filter-wrapper {
        flex-wrap: nowrap;
        flex-direction: row;
        justify-content: center;
    }
    
    .sort-select {
        width: auto;
    }
}

/* Touch-friendly tap targets on mobile */
@media (max-width: 768px) {
    .nav-link,
    .category-tab,
    .btn,
    .page-number {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* Hide scrollbar on touch devices for category tabs */
@media (hover: none) {
    .category-tabs {
        -webkit-overflow-scrolling: touch;
    }
    
    .category-tabs::-webkit-scrollbar {
        display: none;
    }
}

/* Print styles */
@media print {
    .header,
    .search-section,
    .category-tabs,
    .pagination,
    .footer {
        display: none;
    }
    
    .prompt-card {
        page-break-inside: avoid;
    }
}
