/* Responsive Styles */

/* Large Desktops (1200px and up) */
@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
    
    .hero-title {
        font-size: var(--font-size-6xl);
    }
}

/* Medium Desktops (992px to 1199px) */
@media (max-width: 1199px) {
    .container {
        max-width: 960px;
    }
    
    .hero-title {
        font-size: calc(var(--font-size-5xl) + 0.5rem);
    }
    
    .hero-subtitle {
        font-size: var(--font-size-xl);
    }
    
    .about-content {
        gap: var(--spacing-xl);
    }
    
    .about-visual-element {
        height: 350px;
    }
}

/* Tablets and Small Desktops (768px to 991px) */
@media (max-width: 991px) {
    .container {
        max-width: 720px;
    }
    
    .hero-title {
        font-size: var(--font-size-5xl);
    }
    
    .hero-subtitle {
        font-size: var(--font-size-lg);
    }
    
    .hero-description {
        font-size: var(--font-size-md);
    }
    
    .hero-visual {
        width: 40%;
    }
    
    .about-content,
    .contact-content {
        grid-template-columns: 1fr;
        gap: var(--spacing-xl);
    }
    
    .about-visual-element {
        height: 300px;
    }
    
    .skills-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    }
    
    .certification-card {
        width: 220px;
    }
    
    .timeline-item {
        width: 280px;
    }
}

/* Tablets (576px to 767px) */
@media (max-width: 767px) {
    .container {
        max-width: 540px;
    }
    
    .nav .container {
        height: 60px;
    }
    
    .nav-links {
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        height: 0;
        flex-direction: column;
        background-color: rgba(0, 0, 0, 0.95);
        overflow: hidden;
        transition: height var(--transition-normal);
        z-index: 999;
        padding: 0;
        gap: 0;
    }
    
    .nav-links.active {
        height: calc(100vh - 60px);
        padding: var(--spacing-lg) 0;
    }
    
    .nav-link {
        width: 100%;
        text-align: center;
        padding: var(--spacing-md) 0;
    }
    
    .nav-link::after {
        display: none;
    }
    
    .menu-toggle {
        display: flex;
    }
    
    .menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }
    
    .menu-toggle.active span:nth-child(2) {
        transform: rotate(-45deg);
    }
    
    .hero {
        text-align: center;
        padding-top: 60px;
    }
    
    .hero-content {
        max-width: 100%;
        padding: 0 var(--spacing-lg);
    }
    
    .hero-title {
        font-size: var(--font-size-4xl);
    }
    
    .hero-subtitle {
        font-size: var(--font-size-lg);
    }
    
    .hero-visual {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        opacity: 0.2;
        z-index: -1;
    }
    
    .section-header {
        margin-bottom: var(--spacing-xl);
    }
    
    .about-content,
    .contact-content {
        gap: var(--spacing-lg);
    }
    
    .about-name {
        font-size: var(--font-size-2xl);
    }
    
    .about-location {
        font-size: var(--font-size-md);
    }
    
    .skills-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .certification-card {
        width: 200px;
    }
    
    .timeline-item {
        width: 250px;
    }
    
    .footer-content {
        flex-direction: column;
        gap: var(--spacing-md);
        text-align: center;
    }
}

/* Mobile Phones (575px and down) */
@media (max-width: 575px) {
    .container {
        padding: 0 var(--spacing-md);
    }
    
    .hero-title {
        font-size: var(--font-size-3xl);
    }
    
    .hero-subtitle {
        font-size: var(--font-size-md);
        margin-bottom: var(--spacing-md);
    }
    
    .hero-description {
        font-size: var(--font-size-sm);
        margin-bottom: var(--spacing-lg);
    }
    
    .section-title {
        font-size: var(--font-size-2xl);
    }
    
    .about-name {
        font-size: var(--font-size-xl);
    }
    
    .about-location {
        font-size: var(--font-size-sm);
    }
    
    .about-description {
        font-size: var(--font-size-sm);
    }
    
    .about-visual-element {
        height: 250px;
    }
    
    .skills-category {
        padding: var(--spacing-lg);
    }
    
    .category-title {
        font-size: var(--font-size-lg);
    }
    
    .skills-grid {
        grid-template-columns: 1fr;
    }
    
    .certification-card {
        width: 180px;
    }
    
    .timeline-item {
        width: 220px;
    }
    
    .timeline-date,
    .timeline-description {
        font-size: var(--font-size-xs);
    }
    
    .timeline-role {
        font-size: var(--font-size-md);
    }
    
    .timeline-company {
        font-size: var(--font-size-sm);
    }
    
    .contact-item {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-sm);
    }
    
    .contact-form {
        padding: var(--spacing-lg);
    }
    
    input, textarea {
        padding: var(--spacing-sm);
    }
    
    .footer {
        padding: var(--spacing-lg) 0;
    }
}

/* Small Mobile Phones (375px and down) */
@media (max-width: 375px) {
    .hero-title {
        font-size: var(--font-size-2xl);
    }
    
    .hero-subtitle {
        font-size: var(--font-size-sm);
    }
    
    .section-title {
        font-size: var(--font-size-xl);
    }
    
    .about-name {
        font-size: var(--font-size-lg);
    }
    
    .about-visual-element {
        height: 200px;
    }
    
    .certification-card {
        width: 160px;
    }
    
    .timeline-item {
        width: 200px;
    }
    
    .contact-value {
        font-size: var(--font-size-sm);
        word-break: break-word;
    }
}

/* Landscape Mode Adjustments */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        height: auto;
        min-height: 100vh;
        padding: 100px 0;
    }
    
    .nav-links.active {
        height: auto;
        max-height: calc(100vh - 60px);
        overflow-y: auto;
    }
}

/* Print Styles */
@media print {
    .nav,
    .hero-cta,
    .carousel-controls,
    .timeline-controls,
    .contact-form,
    .footer {
        display: none !important;
    }
    
    body {
        background-color: white;
        color: black;
    }
    
    .container {
        max-width: 100%;
        padding: 0 1cm;
    }
    
    section {
        page-break-inside: avoid;
        padding: 1cm 0;
    }
    
    .hero {
        height: auto;
        padding: 2cm 0;
    }
    
    .hero-visual,
    .about-visual-element {
        display: none;
    }
    
    .about-content,
    .contact-content {
        grid-template-columns: 1fr;
    }
    
    .skills-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .certifications-carousel,
    .timeline-track {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1cm;
        overflow: visible;
    }
    
    .certification-card,
    .timeline-item {
        width: 100%;
    }
}