/* ========================================
   BSB Explore — Responsivo
   ======================================== */

/* Tablet largo (até 1023px) */
@media (max-width: 1023px) {
    .section { padding: 84px 0 76px; }

    /* Header / menu mobile */
    .nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: min(80%, 320px);
        height: 100dvh;
        background: var(--ink-2);
        border-left: 1px solid rgba(212, 175, 55, 0.25);
        padding: 96px var(--spacing-xl) var(--spacing-xl);
        transition: right 0.32s cubic-bezier(0.22, 1, 0.36, 1);
        z-index: var(--z-modal);
    }

    .nav.active { right: 0; }

    .nav-list { flex-direction: column; gap: var(--spacing-md); }

    .nav-link {
        font-size: 1.125rem;
        padding: var(--spacing-md) 0;
        border-bottom: 1px solid rgba(245, 241, 230, 0.1);
    }

    .header-cta { display: none; }
    .menu-toggle { display: block; }

    /* Hero */
    .hero { padding: 120px 0 80px; }

    /* Sobre */
    .about-grid { grid-template-columns: 1fr; gap: var(--spacing-2xl); }
    .about-badge { left: 12px; }

    /* Frota: desfaz o broken grid */
    .fleet-card:nth-child(n) { grid-column: span 12; }

    /* Serviços: empilha o bento */
    .services-grid { grid-template-columns: 1fr; }
    .service-featured { grid-row: auto; }

    /* Soluções */
    .solution-row { gap: var(--spacing-lg); }

    /* Premium */
    .premium-steps { grid-template-columns: 1fr; gap: var(--spacing-xl); }

    /* Contato */
    .contact-grid { grid-template-columns: 1fr; gap: var(--spacing-2xl); }

    /* CTA */
    .cta-band-content { flex-direction: column; align-items: flex-start; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--spacing-2xl); }

    /* Páginas legais: navegação simples sempre visível (sem menu hamburger) */
    .header-plain .nav {
        position: static;
        width: auto;
        height: auto;
        background: none;
        border: none;
        padding: 0;
    }

    .header-plain .nav-list { flex-direction: row; gap: var(--spacing-lg); }

    .header-plain .nav-link { border: none; font-size: 0.95rem; padding: var(--spacing-sm) 0; }
}

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

    /* O logo do footer agora e dimensionado por LARGURA (--brand-measure),
       entao nao ha mais override de altura aqui. Mantido o do topo em 72px:
       abaixo disso o escudo vira borrao. */

    .hero { min-height: 100svh; }
    .hero-actions .btn { width: 100%; }
    .hero-trust { gap: var(--spacing-sm) var(--spacing-lg); }

    .about-badge {
        position: static;
        margin-top: var(--spacing-lg);
    }

    .brand-panel { padding: var(--spacing-2xl) var(--spacing-lg); }

    .fleet-card { padding: var(--spacing-xl); }
    .fleet-index { font-size: 2.6rem; }

    .service-card { padding: var(--spacing-xl); }

    .solution-row { flex-direction: column; }

    .contact-form form { padding: var(--spacing-xl); }

    .map-container iframe { height: 300px; }

    .cta-band { padding: 56px 0; }

    .footer { padding: 64px 0 24px; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-bottom { flex-direction: column; text-align: center; }

    .legal-article { padding: var(--spacing-xl); }

    .whatsapp-float {
        width: 52px;
        height: 52px;
        font-size: 1.5rem;
        bottom: 20px;
        right: 20px;
    }
}

/* Mobile pequeno (até 479px) */
@media (max-width: 479px) {
    .container { padding: 0 var(--spacing-md); }

    .btn-lg { width: 100%; }

    .service-points li { font-size: 0.9rem; }
}

/* Dispositivos sem hover: neutraliza elevações */
@media (hover: none) {
    .fleet-card:hover,
    .service-card:not(.service-featured):hover,
    .btn-primary:hover,
    .btn-dark:hover,
    .btn-ghost:hover,
    .whatsapp-float:hover {
        transform: none;
    }
}

/* Movimento reduzido */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    html { scroll-behavior: auto; }

    .animate-on-scroll { opacity: 1; transform: none; }
}

/* Impressão */
@media print {
    .header, .whatsapp-float, .menu-toggle, .cta-band, .map-container { display: none !important; }

    .hero { min-height: 0; padding: var(--spacing-xl) 0; }
    .hero-title { color: var(--text); text-shadow: none; }
    .hero-subtitle, .hero-eyebrow { color: var(--text); }

    .section { padding: var(--spacing-xl) 0; }
}
