/* ==========================================================================
   RESPONSIVIDADE GERAL
   ========================================================================== */

/* Telas Grandes / Notebooks */
@media (max-width: 1200px) {
    .slide-content h2 { font-size: 3.5rem; }
}

/* Tablets (iPad) */
@media (max-width: 991px) {
    .sobre-grid, .videos-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .servicos-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .galeria-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .slide-content h2 { font-size: 3rem; }
    
    .ba-container { height: 400px; }
    .ba-before img { width: 100%; height: 400px; object-fit: cover;} 
    /* Ajuste de slider responsivo */
    .ba-before img { width: 100vw; max-width: 900px; }

    /* ================================================= */
    /* Ajustes dos Diferenciais para Tablet/Mobile       */
    /* ================================================= */
    .diferenciais-flex {
        flex-wrap: wrap; /* Permite quebrar a linha no tablet/celular */
        flex-direction: column;
        gap: 40px;
    }
    
    .diferenciais-texto {
        max-width: 100%;
        text-align: center;
        order: -1; /* Garante que o texto fique acima dos cards */
    }

    .diferenciais-radial {
        padding-left: 0;
        align-items: center;
        min-width: 100%;
    }
    
    .diferenciais-radial .dif-item {
        width: 100%;
        max-width: 400px;
    }

    /* Remove os deslocamentos e as rotações no mobile para não quebrar a tela */
    .diferenciais-radial .dif-item:nth-child(n),
    .diferenciais-flex:hover .dif-item:nth-child(n) {
        align-self: center !important;
        transform: none !important;
    }
    
    /* Mantém só um pulinho simples ao tocar no card no celular */
    .diferenciais-radial .dif-item:hover {
        transform: translateY(-5px) !important;
    }
}

/* Celulares (Smartphones) */
@media (max-width: 768px) {
    /* Topbar some no mobile para focar no nav */
    .top-bar { display: none; }
    
    .main-nav { height: 70px; }
    
    .btn-nav { display: none; }
    
    .mobile-menu-icon { display: block; }
    
    /* Menu Mobile Overlay */
    .nav-links {
        position: fixed;
        top: 70px;
        left: -100%;
        width: 100%;
        height: calc(100vh - 70px);
        background: var(--white);
        flex-direction: column;
        align-items: center;
        justify-content: center;
        transition: var(--transition);
        box-shadow: inset 0 10px 10px rgba(0,0,0,0.05);
    }
    
    .nav-links.active {
        left: 0;
    }
    
    .nav-links li { margin: 15px 0; }
    .nav-links a { font-size: 1.2rem; }
    
    /* Tipografia e Espaçamentos */
    .section-title { font-size: 2rem; }
    .section-padding { padding: 60px 0; }
    
    .slide-content h2 { font-size: 2.2rem; }
    .slide-content p { font-size: 1rem; }
    
    .hero-buttons { flex-direction: column; }
    .hero-buttons a { width: 100%; }
    
    .servicos-grid { grid-template-columns: 1fr; }
    .galeria-grid { grid-template-columns: 1fr; }
    
    .footer-grid { grid-template-columns: 1fr; gap: 30px; }
    .footer-col h4::after { left: 0; }
    
    .footer-bottom-flex { flex-direction: column; gap: 15px; text-align: center; }
    
    .anos-experiencia {
        bottom: 10px;
        right: 10px;
        padding: 15px;
    }
    .anos-experiencia h3 { font-size: 2rem; }
    
    .ceo-quote { font-size: 1.5rem; }
    
    /* Antes e Depois em Mobile */
    .ba-container { height: 300px; }
    .ba-slider-input::-webkit-slider-thumb { height: 300px; }

    .os-modal {
        padding: 16px;
    }

    .os-modal__card {
        padding: 36px 22px 26px;
        border-radius: 12px;
    }

    .os-modal__message {
        font-size: 0.92rem;
    }

    .os-modal__button {
        font-size: 0.88rem;
    }
}

/* Telas muito pequenas (Smartphones menores) */
@media (max-width: 480px) {
    .slide-content h2 { font-size: 1.8rem; }
    .ba-container { height: 250px; }
    .ba-slider-input::-webkit-slider-thumb { height: 250px; }
    .cta-buttons { display: flex; flex-direction: column; gap: 15px; }
}
/* ==========================================================================
   COLAGEM QUEM SOMOS - RESPONSIVO (8 FOTOS COM QUADRO ESQUERDO)
   ========================================================================== */
@media (max-width: 991px) {
    .sobre-img.sobre-colagem {
        width: 100%;
        max-width: 620px;
        min-height: 650px;
        margin: 0 auto;
    }
}

@media (max-width: 576px) {
    .sobre-img.sobre-colagem {
        min-height: 485px;
    }

    .sobre-colagem .colagem-foto {
        border-width: 3px;
        border-radius: 10px;
    }

    .sobre-colagem .colagem-principal {
        top: 102px;
        left: 20%;
        width: 58%;
        height: 230px;
    }

    .sobre-colagem .colagem-topo-esquerda {
        width: 46%;
        height: 110px;
    }

    .sobre-colagem .colagem-topo-direita {
        top: 20px;
        width: 41%;
        height: 125px;
    }

    .sobre-colagem .colagem-lateral-esquerda {
        top: 166px;
        left: 0;
        width: 35%;
        height: 135px;
    }

    .sobre-colagem .colagem-lateral-direita {
        top: 166px;
        width: 35%;
        height: 135px;
    }

    .sobre-colagem .colagem-inferior-esquerda {
        width: 34%;
        height: 145px;
    }

    .sobre-colagem .colagem-inferior-centro {
        bottom: 18px;
        left: 34%;
        width: 37%;
        height: 122px;
    }

    .sobre-colagem .colagem-inferior-direita {
        width: 32%;
        height: 155px;
    }

    .sobre-colagem .anos-experiencia {
        right: 0;
        bottom: 15px;
        gap: 6px;
        padding: 9px 10px;
        border-width: 3px;
    }

    .sobre-colagem .anos-experiencia h3 {
        font-size: 1.35rem;
    }

    .sobre-colagem .anos-experiencia span {
        font-size: 0.5rem;
    }
    
    .modal-colagem {
        padding: 18px;
    }

    .modal-colagem-fechar {
        top: 14px;
        right: 14px;
        width: 42px;
        height: 42px;
        font-size: 1.7rem;
    }

    .sobre-colagem .expandir-colagem::before {
        font-size: 0.68rem;
        padding: 7px 12px;
    }
}
