* {
    box-sizing: border-box;
}
@media (min-width: 769px) {
    #menu-button {
        display: none; 
    }
    nav {
        display: flex !important; 
    }
}
@media (max-width: 768px) {
    .header-container {
        margin: 0 15px;
    }
    .logo-container {
        width: 100%;
        justify-content: space-between !important;
    }
    #menu-button {
        display: flex;
        margin-right: 10px;
        user-select: none;
    }
    nav {
        display: none; 
        position: absolute;
        top: 80px;
        right: 20px;
        width: 200px;
        background-color: var(--materialtheme-colorscheme-surface-container-low);
        box-shadow: 0 4px 6px rgba(0,0,0,0.3);
        z-index: 999;
        flex-direction: column;
    }
    nav.active {
        display: flex;
    }
    nav ul {
        flex-direction: column;
        width: 100%;
        gap: 5px;
    }
    nav ul li {
        width: 100%;
        text-align: center;
    }
    .hero-container {
        flex-direction: column; 
        margin-top: 40px;
        text-align: center;
    }
    .hero-text-container {
        padding: 0 20px;
    }
    .portfolio-links {
        justify-content: center; 
    }
    .skills-container {
        padding: 0 20px;
    }
    .skill-cards {
        justify-content: center; 
    }
    .project-cards {
        flex-wrap: wrap; 
        flex-direction: column !important;
    }
    .project-card {
        width: 45%; 
        margin-bottom: 20px;
    }
    .contact-input-container {
        width: 90%; 
        max-width: 500px;
    }
    footer {
        margin: 0 20px;
    }
}
@media (max-width: 640px) {
    .hero-text-container h2 {
        font-size: 2.5rem; 
    }
    .skill-card {
        flex: 1 1 40%; 
        padding: 0.6rem 0.5rem;
        min-width: auto;
    }
    .project-cards {
        flex-direction: column; 
        width: 100%;
    }
    .project-card {
        width: 100%;
    }
    .contact-input-container {
        width: 100%;
        padding: 0 20px;
    }
    .form-row input, textarea {
        width: 100%; 
    }
    .footer-container {
        height: auto;
        padding: 20px 0;
    }
    footer {
        flex-direction: column-reverse; 
        gap: 15px;
        margin: 0;
        text-align: center;
    }
    .contact-input-container {
        padding: 20px; 
    }
    .form-actions {
        justify-content: center;
    }

    .send-button {
        width: 100%; 
        padding: 15px;
    }
}
@media (max-width: 413px) {
    .section-subtitle {
        text-align: center !important;
    }
    .skill-cards {
        justify-content: center !important;
    }
    
}
@media (max-width: 400px) {
    .link-button-primary, 
    .link-button-secondary {
        width: 100%;
        text-align: center;
    }
    .portfolio-links {
        flex-direction: column;
        width: 100%;
    }
}