/* Responsive Styles */

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
    .hero-text h1 {
        font-size: 3.5rem;
    }
    
    .hero-text h2 {
        font-size: 1.8rem;
    }
    
    .hero-text {
        top: 25%;
    }
    
    .section {
        padding: 70px 0;
    }
    
    .section-title {
        font-size: 2.2rem;
    }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    .hero-text {
        left: 5%;
        max-width: 500px;
    }

    .hero-text h1 {
        font-size: 3rem;
    }

    .hero-text h2 {
        font-size: 1.6rem;
    }

    .hero-text p {
        font-size: 1.1rem;
    }

    .hero-text {
        top: 25%;
    }

    .section {
        padding: 60px 0;
    }

    .section-title {
        font-size: 2rem;
        margin-bottom: 40px;
    }

    .timeline::before {
        left: 30px;
    }

    .timeline-item:nth-child(odd),
    .timeline-item:nth-child(even) {
        padding-left: 80px;
        padding-right: 0;
    }

    .timeline-item:nth-child(odd)::before,
    .timeline-item:nth-child(even)::before {
        left: 20px;
        right: auto;
    }

    .tech-icon {
        width: 56px;
        height: 56px;
        padding: 8px;
    }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
    .hero {
        height: 80vh;
    }

    .hero-text h1 {
        font-size: 2.5rem;
    }

    .hero-text h2 {
        font-size: 1.4rem;
    }

    .hero-text p {
        font-size: 1rem;
    }

    .hero-text {
        top: 32%;
        left: 5%;
    }

    .location-badge {
        font-size: 13px;
        padding: 8px 12px;
    }

    .hero-action-btn {
        padding: 8px 12px;
        font-size: 13px;
    }

    .section {
        padding: 50px 0;
    }

    .section-title {
        font-size: 1.8rem;
        margin-bottom: 30px;
    }

    .skills-container,
    .education-container,
    .achievements-list {
        grid-template-columns: 1fr;
    }

    .projects-grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }

    .modal-content {
        width: 90%;
        padding: 30px;
    }

    .tech-icon {
        width: 48px;
        height: 48px;
        padding: 6px;
    }

    .tech-icons {
        gap: 10px;
    }
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
    .hero-text h1 {
        font-size: 3rem;
    }
    
    .hero-text h2 {
        font-size: 1.5rem;
    }
    
    .location-badge {
        font-size: 13px;
        padding: 8px 12px;
    }

    .hero-action-btn {
        padding: 8px 12px;
        font-size: 13px;
    }

@media (max-width: 576px) {
    .hero-text h1 {
        font-size: 2.5rem;
    }
    
    .hero-text h2 {
        font-size: 1.2rem;
    }
    
    .location-badge {
        top: 12px;
        left: 12px;
        font-size: 12px;
        padding: 6px 10px;
    }

    .hero-actions {
        top: 12px;
        right: 12px;
        gap: 8px;
    }

    .hero-action-btn {
        padding: 6px 10px;
        font-size: 12px;
        gap: 6px;
    }

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    .hero-text h1 {
        font-size: 2rem;
    }

    .hero-text h2 {
        font-size: 1.2rem;
    }

    .hero-text p {
        font-size: 0.9rem;
    }

    .hero-text {
        top: 35%;
        left: 5%;
        right: 5%;
    }
    
    .location-badge {
        top: 10px;
        left: 10px;
        font-size: 11px;
        padding: 6px 10px;
    }

    .hero-actions {
        top: 10px;
        right: 10px;
        flex-direction: column;
        gap: 6px;
    }

    .hero-action-btn {
        padding: 6px 10px;
        font-size: 11px;
    }
    
    .section-title {
        font-size: 1.6rem;
    }
    
    .hobbies-container {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .contact-form {
        padding: 25px;
    }
}
