/* Responsive Design */
@media (max-width: 1024px) {
    .portfolio-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .nav {
        padding: 0 1rem;
        position: relative;
    }

    .nav-links {
        display: none;
    }

    .mobile-menu-toggle {
        display: block;
    }

    .search-sort-container {
        flex-direction: column;
        gap: 1rem;
    }

    .search-container,
    .sort-dropdown {
        max-width: 300px;
    }

    .hero {
        padding: 100px 0 60px;
    }

    .hero h1 {
        font-size: 36px;
    }

    .hero p {
        font-size: 18px;
    }

    .portfolio-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .filter-tags {
        gap: 0.5rem;
    }

    .filter-tag {
        padding: 8px 16px;
        font-size: 14px;
    }

    .modal-content {
        width: 95%;
        margin: 5% auto;
    }

    .modal-header {
        padding: 1.5rem;
    }

    .modal-body {
        padding: 1.5rem;
    }

    .modal-title {
        font-size: 24px;
    }

    .modal-meta {
        flex-direction: column;
        gap: 1rem;
        align-items: flex-start;
    }

    .modal-description {
        padding: 1rem;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 1rem;
    }

    .hero h1 {
        font-size: 28px;
    }


    .item-content {
        padding: 1rem;
    }

    .modal-description {
        padding: 1rem;
        font-size: 14px;
        line-height: 1.6;
    }
}