/* Additional responsive styles */

/* Medium screens (tablets) */
@media (max-width: 992px) {
    body {
        padding: 0 15px;
    }
    
    .project-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .contact-container {
        display: block;
    }
    
    .contact-info {
        margin-bottom: 30px;
    }
    
    .approach-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Small screens (mobile landscape) */
@media (max-width: 768px) {
    .project-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    section {
        padding: 15px;
    }
    
    .skills-container {
        justify-content: center;
    }
    
    .footer-content {
        flex-direction: column;
        gap: 10px;
    }
    
    .skills-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .app-links {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .form-row {
        flex-direction: column;
        gap: 0;
    }
}

/* Extra small screens (mobile portrait) */
@media (max-width: 576px) {
    .project-grid {
        grid-template-columns: 1fr;
    }
    
    .main_menu {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .hero h1 {
        font-size: 1.8em;
    }
    
    .hero h2 {
        font-size: 1em;
    }
    
    h3 {
        font-size: 1.3em;
    }
    
    .social-links, .footer-links {
        flex-direction: column;
        align-items: center;
    }
    
    .skills-grid {
        grid-template-columns: 1fr;
    }
    
    .approach-grid {
        grid-template-columns: 1fr;
    }
    
    .app-links {
        flex-direction: column;
        align-items: center;
    }
    
    .app-links a {
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }
    
    .timeline-item {
        flex-direction: column;
        align-items: center;
    }
    
    .contact-info {
        width: 100%;
    }
    
    .contact-method {
        text-align: left;
    }
    
    .social-icons {
        justify-content: center;
    }
}

/* For print */
@media print {
    header, footer, .main_menu, #contact {
        display: none;
    }
    
    body {
        background: white;
        color: black;
    }
    
    section {
        break-inside: avoid;
        background: white;
        box-shadow: none;
        margin: 20px 0;
        padding: 0;
    }
    
    a {
        color: black;
        text-decoration: underline;
    }
}