/* Responsive Styles */

@media (max-width: 1280px) {
    .container {
        max-width: 1024px;
    }
}

@media (max-width: 1024px) {
    .container {
        max-width: 768px;
    }
    
    .navbar-menu {
        display: none;
    }
    
    .navbar-menu.active {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        padding: 1rem;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        border-radius: 0 0 1rem 1rem;
    }
}

@media (max-width: 768px) {
    .container {
        max-width: 100%;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    h1 {
        font-size: 2rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    .main-content {
        padding-top: 1rem;
    }
    
    .app-container {
        padding-top: 70px;
    }
    
    .btn-mobile-menu {
        display: flex;
    }
    
    .desktop-only {
        display: none;
    }
    
    .search-bar {
        height: 3.5rem;
    }
    
    .search-bar input {
        font-size: 1rem;
    }
    
    .card-grid {
        grid-template-columns: 1fr;
    }
    
    .sidebar {
        display: none;
    }
    
    .main-content-with-sidebar {
        width: 100%;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
    
    .auth-container {
        flex-direction: column;
    }
    
    .auth-illustration {
        display: none;
    }
}

@media (max-width: 640px) {
    h1 {
        font-size: 1.75rem;
    }
    
    h2 {
        font-size: 1.25rem;
    }
    
    p {
        font-size: 0.875rem;
    }
    
    .btn {
        padding: 0.75rem 1.5rem;
        font-size: 0.875rem;
    }
    
    .input-field {
        height: 3rem;
    }
    
    .card {
        padding: 1rem;
        border-radius: 1rem;
    }
    
    .avatar {
        width: 2.5rem;
        height: 2.5rem;
    }
    
    .badge {
        font-size: 0.75rem;
        padding: 0.25rem 0.5rem;
    }
    
    .modal-content {
        margin: 0.5rem;
        padding: 1rem;
        border-radius: 1rem;
    }
    
    .pagination {
        gap: 0.25rem;
    }
    
    .pagination button {
        width: 2rem;
        height: 2rem;
        font-size: 0.75rem;
    }
}

@media (max-width: 480px) {
    .container {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    
    .navbar {
        padding: 0.5rem 0.75rem;
    }
    
    .logo {
        font-size: 1.25rem;
    }
    
    .search-container {
        padding: 1rem;
    }
    
    .filter-panel {
        padding: 1rem;
    }
    
    .article-card {
        padding: 0.75rem;
    }
    
    .action-buttons {
        flex-direction: column;
    }
}

@media (min-width: 1536px) {
    .container {
        max-width: 1400px;
    }
}

@media (hover: none) and (pointer: coarse) {
    .btn:hover {
        transform: none;
    }
    
    .card:hover {
        transform: none;
    }
    
    .link:hover {
        text-decoration: underline;
    }
}

@supports (padding: max(0px)) {
    .container {
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }
    
    .bottom-nav {
        padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
    }
}
