/* ============================================
   RESPONSIVE.CSS
   Todas as media queries do projeto
   Carregar APÓS os outros arquivos CSS
   ============================================ */

/* ============================================
   BREAKPOINT TABLET (max-width: 992px)
   ============================================ */
@media (max-width: 992px) {
    /* GLOBAL */
    .section-padding { padding: 70px 0; }
    .section-title { font-size: 2.2rem; margin-bottom: 45px; }

    /* COMPONENTS */
    .card { padding: 40px 30px; }
    .card h3 { font-size: 1.25rem; }

    /* LAYOUT - Authority */
    .authority-container { gap: 30px; }
    .authority-item { font-size: 0.85rem; }

    /* LAYOUT - Services */
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
        margin-bottom: 40px;
    }

    /* LAYOUT - Testimonials */
    .testimonials-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    /* LAYOUT - Team */
    .team-grid { gap: 35px; }
    .member-info { padding: 30px; }

    /* LAYOUT - Contact */
    .contact-grid { gap: 40px; }
    .contact-info-box {
        padding: 35px;
        border-radius: 20px;
    }
    .contact-map-box {
        min-height: 380px;
        border-radius: 20px;
    }

    /* LAYOUT - Footer */
    .footer-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "brand nav"
            "brand social";
        gap: 40px;
        align-items: center;
    }
    .footer-logo-area {
        grid-area: brand;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .footer-logo-area p { color: #aaaaaa; }
    .footer-nav {
        grid-area: nav;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .footer-social {
        grid-area: social;
        margin-top: 32px;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .footer-social h4 { margin-top: 0; }
}


/* ============================================
   BREAKPOINT MOBILE (max-width: 768px)
   ============================================ */
@media (max-width: 768px) {
    /* GLOBAL */
    .section-padding { padding: 60px 0; }
    .section-title { font-size: 1.9rem; margin-bottom: 40px; }

    /* COMPONENTS */
    .btn-large {
        padding: 14px 20px;
        font-size: 1rem;
        width: 100%;
        max-width: 300px;
    }
    .card { padding: 35px 25px; }
    .card h3 { font-size: 1.2rem; }
    .stars-container svg {
        width: 24px;
        height: 24px;
    }

    /* LAYOUT - Header */
    .header { box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
    .header-container { padding: 8px 15px; }
    .logo { height: 40px; }
    .desktop-nav { display: none; }

    /* LAYOUT - Hero */
    .hero { min-height: 500px; }
    .hero-content h1 { font-size: 2.4rem; }
    .hero-content h1 span { font-size: 2.6rem; }
    .hero-content p {
        font-size: 1.1rem;
        max-width: 100%;
    }

    /* LAYOUT - Authority */
    .authority-bar { padding: 20px 0; }
    .authority-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        max-width: 500px;
        margin: 0 auto;
    }
    .authority-item {
        font-size: 0.85rem;
        padding: 12px 15px;
        justify-content: center;
    }
    .authority-icon svg {
        width: 22px;
        height: 22px;
    }

    /* LAYOUT - Services */
    .services-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 35px;
    }

    /* LAYOUT - Testimonials */
    .testimonials-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* LAYOUT - Team */
    .team-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .member-info { padding: 25px; }
    .member-info .cro { margin-bottom: 15px; }

    /* LAYOUT - Contact */
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .contact-info-box { padding: 30px; }
    .contact-subtitle { margin-bottom: 25px; }
    .info-item { margin-bottom: 20px; }
    .contact-map-box { min-height: 300px; }

    /* LAYOUT - Footer */
    .footer { padding: 60px 0 0 0; }
    .footer-container {
        display: flex;
        flex-direction: column;
        text-align: center;
        gap: 40px;
        margin-bottom: 40px;
    }
    .footer-social { margin-top: 0; }
    .footer-logo-area p { margin: 0 auto; }
    .social-links-grid { align-items: center; }
    .footer-legal { padding: 25px 20px 100px; }
}


/* ============================================
   BREAKPOINT CELULARES PEQUENOS (max-width: 480px)
   ============================================ */
@media (max-width: 480px) {
    /* GLOBAL */
    .container { padding: 0 15px; }
    .section-padding { padding: 50px 0; }
    .section-title { font-size: 1.6rem; margin-bottom: 35px; }
    
    /* Animações reduzidas no mobile para melhor performance */
    .animate-on-scroll {
        transform: translateY(20px);
        transition-duration: 0.5s;
    }
    
    .animate-on-scroll.from-left,
    .animate-on-scroll.from-right {
        transform: translateX(20px);
    }
    
    /* Reduzir motion no mobile */
    @media (prefers-reduced-motion: reduce) {
        .animate-on-scroll {
            transition: none;
            opacity: 1;
            transform: none;
        }
    }

    /* COMPONENTS */
    .btn-primary {
        padding: 12px 22px;
        font-size: 0.95rem;
    }
    .btn-large {
        padding: 12px 18px;
        font-size: 0.95rem;
        max-width: 280px;
    }
    .card {
        padding: 30px 20px;
        border-radius: 12px;
    }
    .card h3 { font-size: 1.15rem; }
    .whatsapp-float {
        width: 55px;
        height: 55px;
        bottom: 25px;
        right: 25px;
    }
    .whatsapp-icon {
        width: 32px;
        height: 32px;
    }

    /* LAYOUT - Header */
    .header-container { padding: 6px 12px; }
    .logo { height: 36px; }

    /* LAYOUT - Hero */
    .hero { min-height: 450px; }
    .hero-content h1 {
        font-size: 2rem;
        margin-bottom: 20px;
    }
    .hero-content h1 span { font-size: 2.2rem; }
    .hero-content p {
        font-size: 1rem;
        margin-bottom: 28px;
    }

    /* LAYOUT - Authority */
    .authority-bar { padding: 15px 0; }
    .authority-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        max-width: 100%;
        padding: 0 10px;
    }
    .authority-item {
        font-size: 0.75rem;
        gap: 6px;
        padding: 10px 12px;
    }
    .authority-item p {
        white-space: nowrap;
    }

    /* LAYOUT - Services */
    .services-grid {
        gap: 15px;
        margin-bottom: 30px;
    }

    /* LAYOUT - Testimonials */
    .testimonials-grid { gap: 15px; }

    /* LAYOUT - Team */
    .team-grid { gap: 25px; }
    .team-member { border-radius: 20px; }
    .member-info { padding: 20px; }

    /* LAYOUT - Contact */
    .contact-info-box {
        padding: 25px;
        border-radius: 15px;
    }
    .contact-subtitle {
        margin-bottom: 20px;
        padding-left: 12px;
    }
    .info-item {
        gap: 15px;
        margin-bottom: 18px;
    }
    .info-icon svg {
        width: 22px;
        height: 22px;
    }
    .btn-cta-contact { padding: 16px; }
    .contact-map-box {
        min-height: 250px;
        border-radius: 15px;
    }

    /* LAYOUT - Footer */
    .footer { padding: 50px 0 0 0; }
    .footer-container {
        gap: 30px;
        margin-bottom: 35px;
    }
    .footer-logo {
        height: 65px;
        padding: 10px;
    }
    .footer-logo-area p { font-size: 0.9rem; }
    .footer-nav h4,
    .footer-social h4 {
        font-size: 1rem;
        margin-bottom: 20px;
    }
    .social-links-grid { gap: 12px; }
    .footer-legal { padding: 20px 15px 90px; }
    .footer-legal p { font-size: 0.75rem; }
    .made-by { font-size: 0.7rem; }
}
