/* ==========================================================================
   Responsive Styles
   ========================================================================== */

/* Laptop (1200px) */
@media (max-width: 1200px) {
    .container {
        padding: 0 30px;
    }

    .hero__title {
        font-size: 54px;
    }

    .nav-menu {
        gap: 20px;
    }

    .services-container {
        gap: 30px;
    }

    .services-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .footer-top {
        grid-template-columns: 2fr 1fr 1fr 1.5fr;
        row-gap: 40px;
    }
    
    .newsletter-col {
        grid-column: 1 / -1;
        max-width: 500px;
    }
}

/* Tablet (992px) */
@media (max-width: 992px) {
    .top-bar {
        display: none;
    }

    .hero {
        height: 550px;
    }

    .hero__title {
        font-size: 48px;
    }

    .features-banner__inner {
        flex-wrap: wrap;
    }

    .feature-item {
        flex: 0 0 50%;
        margin-bottom: 20px;
        border-right: none;
        padding-left: 20px;
    }
    
    .feature-item:nth-child(even) {
        border-left: 1px solid #2a2a2a;
    }

    .portfolio-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .services-container {
        flex-direction: column;
    }

    .services-content {
        margin-bottom: 30px;
    }

    .testimonials-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .testimonial-card:last-child {
        display: none;
    }

    .footer-top {
        grid-template-columns: 1fr 1fr;
    }
    
    .brand-col {
        grid-column: 1 / -1;
    }
    .split-section {
        flex-direction: column !important;
    }
    .split-image, .split-content {
        width: 100%;
    }
    .services-grid-10 {
        grid-template-columns: repeat(3, 1fr);
    }
    .features-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .process-steps {
        flex-wrap: wrap;
        gap: 30px;
    }
    .process-steps::before {
        display: none;
    }
    .process-step {
        flex: 0 0 45%;
    }
    .stats-col, .cta-col {
        flex: 0 0 100%;
    }
    .cta-image {
        display: none;
    }
    .contact-hero__info-row {
        flex-direction: column;
        gap: 30px;
    }
    .contact-hero__info-box {
        padding: 0 !important;
    }
    .contact-hero__info-box::after {
        display: none;
    }
    .info-bar-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .footer-top-5col {
        grid-template-columns: 1fr 1fr;
    }
    .footer-top-5col .brand-col {
        grid-column: 1 / -1;
    }
    .services-grid-5 {
        grid-template-columns: repeat(3, 1fr);
    }
    .process-steps-5 {
        flex-wrap: wrap;
        gap: 30px;
    }
    .process-steps-5::before {
        display: none;
    }
    .process-step-5 {
        flex: 0 0 30%;
    }
    .portfolio-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .portfolio-header-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
}

/* Mobile (768px) */
@media (max-width: 768px) {
    .section-padding {
        padding: 60px 0;
    }

    .section-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .hero {
        height: 500px;
    }

    .hero__title {
        font-size: 40px;
    }
    
    .hero__subtitle {
        font-size: 32px;
    }

    .nav-menu {
        display: none; /* In a real app this would be a hamburger menu */
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .testimonials-grid {
        grid-template-columns: 1fr;
    }
    
    .testimonial-card:nth-child(2) {
        display: none;
    }
    .services-grid-10 {
        grid-template-columns: repeat(2, 1fr);
    }
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .process-step {
        flex: 0 0 100%;
    }
    .contact-hero {
        height: auto;
        padding: 100px 0 60px;
    }
    .contact-hero__content {
        max-width: 100%;
    }
    .form-container, .studios-container {
        width: 100%;
    }
    .map-section {
        height: 400px;
    }
    .map-overlay-box {
        padding: 40px 30px;
    }
    .services-grid-5 {
        grid-template-columns: repeat(2, 1fr);
    }
    .process-step-5 {
        flex: 0 0 45%;
    }
    .cta-split {
        flex-direction: column;
    }
    .cta-split__img {
        height: 300px;
    }
    .services-hero {
        height: 500px;
    }
    .portfolio-hero {
        height: 500px;
    }
    .portfolio-filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 15px;
        -webkit-overflow-scrolling: touch;
    }
    .filter-btn {
        flex-shrink: 0;
    }
    .portfolio-cta__inner {
        flex-direction: column;
    }
    .portfolio-cta__img {
        height: 300px;
    }
    .portfolio-cta__content {
        padding: 60px 30px;
    }
    .portfolio-grid,
    .portfolio-grid-3 {
        grid-template-columns: 1fr !important;
    }
}

/* Small Mobile (480px) */
@media (max-width: 480px) {
    .hero__title {
        font-size: 32px;
    }

    .hero__actions {
        flex-direction: column;
    }
    
    .btn {
        width: 100%;
    }

    .feature-item {
        flex: 0 0 100%;
        border-left: none !important;
        padding-left: 0;
    }

    .portfolio-grid {
        grid-template-columns: 1fr;
    }

    .services-grid {
        grid-template-columns: 1fr;
    }

    .footer-top {
        grid-template-columns: 1fr;
    }
    
    .footer-bottom {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
    .services-grid-10 {
        grid-template-columns: 1fr;
    }
    .features-grid {
        grid-template-columns: 1fr;
    }
    .stats-grid {
        grid-template-columns: 1fr;
    }
    .contact-hero__info-box {
        flex: 0 0 100%;
    }
    .info-bar-grid {
        grid-template-columns: 1fr;
    }
    .footer-top-5col {
        grid-template-columns: 1fr;
    }
    .services-grid-5 {
        grid-template-columns: 1fr;
    }
    .process-step-5 {
        flex: 0 0 100%;
    }
    .cta-split__actions {
        flex-direction: column;
    }
    .services-hero {
        height: auto;
        padding: 100px 0 60px;
    }
    .portfolio-grid-3 {
        grid-template-columns: 1fr;
    }
    .portfolio-hero {
        height: auto;
        padding: 100px 0 60px;
    }
    .portfolio-header-actions {
        flex-direction: column;
        width: 100%;
    }
    .portfolio-header-actions .btn {
        width: 100%;
    }
    .portfolio-cta__actions {
        flex-direction: column;
    }
}
