/*
* ----------------------------------------------------------------------------------------
Author       : Tanvir Hossain
Template Name: Noir - Premium Portfolio Template
Version      : 1.0 (Rewritten for improved responsiveness)
* ----------------------------------------------------------------------------------------
*/

/* ============================================
    General Responsive Styles (Mobile First)
============================================
*/

/* Hide cursor on touch devices */
@media (hover: none) {
    #magic-cursor {
        display: none !important;
    }
}

/* Base styles for small screens */
body {
    overflow-x: hidden;
}

.section-title h2 {
    font-size: 48px;
    line-height: 1.2;
}

.hero-content h2 {
    font-size: 60px;
    line-height: 1.1;
}

.main-hero-area {
    padding-top: 200px;
    padding-bottom: 80px;
}

.contact-content-part {
    margin-bottom: 40px;
    padding-right: 0;
}

.contact-content-part h2 {
    font-size: 32px;
}

.footer-top h2 {
    font-size: 36px;
    line-height: 1.2;
}

.copy-left-text,
.copy-right-text {
    text-align: center;
}

.copy-left-text {
    margin-bottom: 10px;
}

.main-footer {
    padding: 50px 0;
}

.service-item {
    margin-bottom: 24px;
}

.testimonial-item {
    margin-bottom: 24px;
}


/* ============================================
    Small Devices (Phones, 576px and up)
============================================
*/
@media (min-width: 576px) {
    .section-title h2 {
        font-size: 54px;
    }

    .hero-content h2 {
        font-size: 70px;
    }

    .footer-top h2 {
        font-size: 48px;
    }

    .contact-form-area {
        padding: 40px;
    }
}


/* ============================================
    Medium Devices (Tablets, 768px and up)
============================================
*/
@media (min-width: 768px) {
    .section-title {
        margin-bottom: 60px;
    }

    .section-title h2 {
        font-size: 64px;
        line-height: 1.3;
    }

    .hero-content h2 {
        font-size: 80px;
    }

    .main-hero-area {
        padding-top: 250px;
    }

    .service-item h4 {
        font-size: 28px;
    }

    .contact-content-part {
        margin-bottom: 0;
    }

    .footer-top h2 {
        font-size: 60px;
    }

    .copy-left-text {
       text-align: left;
       margin-bottom: 0;
    }
    .copy-right-text {
        text-align: right;
    }

    .about-image {
        padding-bottom: 0;
        padding-right: 30px;
    }
}


/* ============================================
    Large Devices (Desktops, 992px and up)
============================================
*/
@media (min-width: 992px) {
    .main-menu {
        display: block !important; /* Override mobile menu styles */
    }

    .section-title h2 {
        font-size: 72px;
        line-height: 1.3;
    }

    .hero-content h2 {
        font-size: 100px;
    }

    .main-hero-area {
        padding-top: 300px;
        padding-bottom: 100px;
    }

    .service-item h4 {
        font-size: 32px;
    }

    .contact-content-part {
        padding-right: 50px;
    }

    .contact-content-part h2 {
        font-size: 42px;
    }

    .footer-top h2 {
        font-size: 80px;
    }
}


/* ============================================
    Extra Large Devices (Large Desktops, 1200px and up)
============================================
*/
@media (min-width: 1200px) {
    .section-title h2 {
        font-size: 80px;
        line-height: 1.4;
    }

    .hero-content h2 {
        font-size: 120px;
    }

    .footer-top h2 {
        font-size: 90px;
    }
}


/* ============================================
    XXL Devices (Extra Large Desktops, 1400px and up)
============================================
*/
@media (min-width: 1400px) {
    .hero-content h2 {
        font-size: 130px;
    }

    .footer-top h2 {
        font-size: 100px;
    }
}

/* ============================================
    Mobile Menu Specific Adjustments
============================================
*/
@media (max-width: 991.98px) {
    .main-menu {
        display: none; /* Hide desktop menu */
    }

    .header-inner {
        padding: 20px 0;
    }
    
    .side-menu-icon {
        display: block; /* Show hamburger icon */
    }

    .sidebar__area {
        z-index: 10000;
    }
}
