/* ========================================
   Prime Solution - Responsive Stylesheet
   ======================================== */

@media (max-width: 1200px) {
    .container { max-width: 960px; }
    .hero-content h1 { font-size: 42px; }
    .differentials-grid { grid-template-columns: repeat(3, 1fr); }
    .compliance-grid { grid-template-columns: repeat(2, 1fr); }
    .quick-contact-grid { grid-template-columns: repeat(2, 1fr); }
    .nav-list { gap: 20px; }
}

@media (max-width: 991px) {
    .container { max-width: 720px; }
    h1 { font-size: 36px; }
    h2 { font-size: 28px; }
    .section-padding { padding: 60px 0; }
    
    /* Header Responsive */
    .desktop-nav { display: none; }
    .header-action-desktop { display: none; }
    .hamburger-btn { display: flex; }
    
    .top-bar-schedule { display: none; }
    
    /* Grid adjustments */
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .segments-grid { grid-template-columns: repeat(2, 1fr); }
    .differentials-grid { grid-template-columns: repeat(3, 1fr); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .about-grid { grid-template-columns: 1fr; gap: 40px; }
    .service-detail-grid { grid-template-columns: 1fr; }
    .contact-grid { grid-template-columns: 1fr; }
    .counters { grid-template-columns: repeat(2, 1fr); }
    .benefits-grid { grid-template-columns: repeat(2, 1fr); }
    .highlights-grid { grid-template-columns: 1fr; gap: 15px; }
    .mvv-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    h1 { font-size: 30px; }
    h2 { font-size: 24px; }
    .section-padding { padding: 50px 0; }
    .section-title { margin-bottom: 35px; }
    .section-title h2 { font-size: 26px; }

    /* Top Bar Mobile */
    .top-bar { height: auto; padding: 6px 0; }
    .top-bar-left a span { display: none; }
    .top-bar-left a { font-size: 15px; }
    .top-bar-whatsapp-badge { padding: 2px 8px !important; font-size: 11px !important; }

    /* Header Mobile */
    .site-header { height: 70px; }
    .main-logo { height: 42px; }
    .site-header.scrolled { height: 64px; }
    .site-header.scrolled .main-logo { height: 38px; }

    /* Hero */
    .hero-section { height: 75vh; min-height: 420px; }
    .hero-content h1 { font-size: 28px; }
    .hero-content p { font-size: 15px; margin-bottom: 25px; }
    .hero-section .swiper-button-next, .hero-section .swiper-button-prev { display: none; }

    /* Page Hero Subpages */
    .page-hero { padding: 45px 0 35px; }
    .page-hero h1 { font-size: 28px; }
    .page-hero-subtitle { font-size: 14px; }

    /* About & Experience Badge */
    .about-grid { grid-template-columns: 1fr; gap: 30px; }
    .about-image-wrapper { order: -1; margin-bottom: 20px; }
    .experience-badge { position: relative; bottom: 0; left: 0; margin-top: 15px; width: 100%; justify-content: center; }

    /* Services, Segments, Compliance & Contact */
    .services-grid { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; }
    .segments-grid { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; }
    .compliance-grid { grid-template-columns: 1fr; }
    .quick-contact-grid { grid-template-columns: 1fr; }
    .guarantee-items-grid { grid-template-columns: 1fr; }
    .service-inner-cta { flex-direction: column; align-items: flex-start; text-align: left; padding: 25px; }
    .inner-cta-buttons { width: 100%; }
    .inner-cta-buttons .btn { width: 100%; }

    /* Differentials */
    .differentials-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }

    /* Timeline */
    .process-timeline { flex-direction: column; gap: 25px; align-items: center; }
    .process-timeline::before { display: none; }

    /* Counters */
    .counters { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    .counter-number { font-size: 32px; }

    /* Form rows */
    .form-row { grid-template-columns: 1fr; }
    .contact-form-wrapper { padding: 25px 18px; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: 30px; text-align: center; }
    .footer-col h4::after { margin: 0 auto; }
    .footer-social { justify-content: center; }
    .footer-contact li { justify-content: center; }
    .footer-bottom-container { flex-direction: column; justify-content: center; text-align: center; gap: 12px; }

    /* Buttons */
    .btn { padding: 12px 26px; font-size: 13px; }
    .btn-lg { padding: 14px 32px; font-size: 14px; }
}

@media (max-width: 576px) {
    body { font-size: 14px; }
    h1 { font-size: 26px; }
    h2 { font-size: 22px; }
    .container { padding: 0 16px; }
    .section-padding { padding: 40px 0; }

    .top-bar { display: none; } /* Oculta a top bar em telas muito pequenas */

    .hero-content h1 { font-size: 24px; }
    .hero-content .hero-tag { font-size: 11px; padding: 3px 10px; }
    .hero-content p { font-size: 14px; margin-bottom: 20px; }

    .differentials-grid { grid-template-columns: 1fr; }
    .benefits-grid { grid-template-columns: 1fr; }
    .counters { grid-template-columns: 1fr 1fr; }
    .counter-box { padding: 18px 10px; }
    .counter-number { font-size: 26px; }

    .footer { padding-top: 50px; }
    .flash-container { left: 15px; right: 15px; max-width: calc(100% - 30px); }

    .page-404 h1 { font-size: 70px; }
    .testimonial-card { padding: 22px; }

    .whatsapp-float { width: 52px; height: 52px; font-size: 26px; bottom: 20px; right: 20px; }
    .back-to-top { bottom: 80px; right: 24px; width: 40px; height: 40px; }
    
    .mobile-drawer { width: 280px; }
}
