/* Mobile-first responsive design */
@media (max-width: 576px) {
    /* General typography */
    h1 {
        font-size: 2rem !important;
    }
    
    h2 {
        font-size: 1.75rem !important;
    }
    
    .display-3 {
        font-size: 2.5rem !important;
    }

    /* Navigation */
    .navbar-custom-bg.navbar-light .navbar-nav .nav-link {
        padding: 12px 0;
        font-size: 14px;
    }

    /* Header carousel */
    .header-carousel .owl-carousel-item {
        min-height: 400px;
    }

    .header-carousel .owl-carousel-item p {
        font-size: 1rem !important;
    }

    /* Services section */
    .service-item {
        margin-bottom: 20px;
    }

    /* Portfolio cards */
    .portfolio-card {
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }

    /* Contact form */
    .quote-text {
        padding: 20px !important;
    }

    /* Footer */
    .footer {
        text-align: center;
    }

    .social-widget {
        right: -50px;
    }
}

/* Tablet devices */
@media (min-width: 577px) and (max-width: 991px) {
    .display-3 {
        font-size: 3rem !important;
    }

    .portfolio-card {
        width: calc(50% - 20px);
    }
}

/* Smooth transitions */
* {
    transition: all 0.3s ease-in-out;
}

/* Improve carousel controls on mobile */
@media (max-width: 576px) {
    .header-carousel .owl-nav {
        width: 200px;
    }

    .header-carousel .owl-nav .owl-prev,
    .header-carousel .owl-nav .owl-next {
        width: 35px;
        height: 35px;
        font-size: 18px;
    }
}

/* Fix grid system on mobile */
@media (max-width: 576px) {
    .row {
        margin-right: -10px;
        margin-left: -10px;
    }

    .col, [class*="col-"] {
        padding-right: 10px;
        padding-left: 10px;
    }
}

/* Improve testimonial section on mobile */
@media (max-width: 576px) {
    .testimonial-carousel .testimonial-text {
        padding: 15px !important;
    }

    .testimonial-carousel p {
        font-size: 0.9rem !important;
    }
}

/* Better navigation on tablets */
@media (min-width: 768px) and (max-width: 991px) {
    .navbar-custom-bg.navbar-light .navbar-nav .nav-link {
        padding: 15px 10px;
        font-size: 14px;
    }
}