/* ========================================
   Real Remoções — Responsive
   ======================================== */

/* ===== Até 1200px ===== */
@media (max-width: 1200px) {
    :root {
        --font-size-4xl: 2.75rem;
        --font-size-3xl: 2.125rem;
    }

    .grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .header__logo img {
        height: 55px;
    }

    .footer__grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* ===== Até 992px ===== */
@media (max-width: 992px) {
    :root {
        --font-size-4xl: 2.25rem;
        --font-size-3xl: 1.875rem;
        --font-size-2xl: 1.5rem;
    }

    .section {
        padding: var(--space-4xl) 0;
    }

    /* Header */
    .header__nav {
        display: none;
    }

    .header__cta {
        display: none;
    }

    .hamburger {
        display: flex;
    }

    /* Hero */
    .hero {
        min-height: 70vh;
    }

    /* Serviço detalhe */
    .servico-detalhe {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }

    .servico-detalhe:nth-child(even) {
        direction: ltr;
    }

    .servico-detalhe__image img {
        height: 280px;
    }

    /* Evento */
    .evento-section {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }

    /* Frota */
    .frota-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .protocolo-grid {
        grid-template-columns: 1fr;
    }

    /* Contato */
    .contato-grid {
        grid-template-columns: 1fr;
    }

    .contato-info {
        position: static;
    }

    .form-row {
        grid-template-columns: 1fr;
    }
}

/* ===== Até 768px ===== */
@media (max-width: 768px) {
    :root {
        --font-size-4xl: 2rem;
        --font-size-3xl: 1.625rem;
        --space-5xl: 5rem;
    }

    .container {
        padding: 0 var(--space-lg);
    }

    /* Top bar */
    .top-bar__info {
        gap: var(--space-md);
    }

    .header__logo .logo-desktop {
        display: none !important;
    }

    .header__logo .logo-mobile {
        display: block !important;
        height: 60px !important;
        width: auto !important;
    }

    .top-bar__item span {
        display: none;
    }

    .top-bar__social {
        display: none;
    }

    /* Grid */
    .grid--2,
    .grid--3 {
        grid-template-columns: 1fr;
    }

    .grid--4 {
        grid-template-columns: 1fr;
    }

    /* Footer */
    .footer__grid {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
        margin-bottom: var(--space-md);
    }

    /* Hero */
    .hero {
        padding-top: 130px;
        padding-bottom: 100px;
    }

    .hero__subtitle {
        font-size: 1.125rem;
        line-height: 1.45;
        padding: 0;
        margin-bottom: var(--space-xl);
    }

    .hero__actions {
        flex-direction: column;
        gap: var(--space-md);
        margin-bottom: var(--space-md);
        /* Reduzindo respiro para setinha subir */
    }

    .hero__actions .btn {
        width: 100%;
        justify-content: center;
    }

    .hero__pulse {
        bottom: 25px;
    }

    /* Botoes Grandes de Avaliacao (Overflow Fix) */
    .btn--google.btn--large {
        width: 100%;
        height: auto;
        white-space: normal;
        padding: 16px;
        font-size: 0.95rem;
        display: flex;
        text-align: center;
        justify-content: center;
    }

    /* Licenças 2 colunas */
    .licenca-item {
        flex: 0 0 calc(50% - 12px);
        min-width: unset;
        /* Remove limite para flexionar livremente */
    }

    /* Frota */
    .frota-gallery {
        grid-template-columns: 1fr;
    }

    /* Rodapé centralizado com safe-area dos flutuantes */
    .footer {
        text-align: center;
        padding-bottom: var(--space-lg);
    }

    .footer__brand img {
        margin-left: auto;
        margin-right: auto;
        display: block;
    }

    .footer__brand,
    .footer__links,
    .footer__locations {
        align-items: center;
        text-align: center;
        justify-content: center;
    }

    .footer__social {
        justify-content: center;
    }

    .footer__contact li a {
        justify-content: center;
    }

    .footer__contact li a .address-text {
        max-width: 170px;
        line-height: 1.4;
    }

    .footer__locations {
        margin-top: 0;
        margin-bottom: var(--space-md);
        padding-top: 0;
        padding-bottom: var(--space-sm);
        border-top: none;
    }

    /* Footer Bottom Safe space */
    .footer__bottom {
        flex-direction: column;
        gap: var(--space-md);
        padding-bottom: var(--space-lg);
        /* Padding normalizado agora que Observer esconde o CTA */
    }

    /* Horários */
    .horarios {
        grid-template-columns: 1fr;
    }

    /* Newsletter */
    .newsletter-form {
        flex-direction: column;
    }
}

/* ===== Até 576px ===== */
@media (max-width: 576px) {
    :root {
        --font-size-4xl: 1.75rem;
        --font-size-3xl: 1.5rem;
        --font-size-2xl: 1.25rem;
        --font-size-xl: 1.125rem;
    }

    .section {
        padding: var(--space-3xl) 0;
    }

    .container {
        padding: 0 var(--space-md);
    }

    /* Top bar */
    .top-bar {
        display: none;
    }

    /* Header */
    .header {
        height: 65px;
    }

    .header__logo img {
        height: 45px;
    }

    /* Hero */
    .hero {
        min-height: 80vh;
        padding-top: var(--space-2xl);
    }

    /* Testimonial */
    .testimonial {
        padding: var(--space-xl);
    }

    .testimonial::before {
        font-size: 4rem;
        left: var(--space-md);
    }

    /* Cards */
    .card {
        padding: var(--space-xl);
    }

    /* Buttons */
    .btn {
        padding: 0.75rem 1.5rem;
        font-size: var(--font-size-sm);
    }

    .btn--large {
        padding: 0.875rem 2rem;
        font-size: var(--font-size-base);
    }

    /* CTA Section */
    .cta-section {
        padding: var(--space-3xl) 0;
    }

    /* Contato form */
    .contato-form-wrapper {
        padding: var(--space-xl);
    }

    /* WhatsApp float */
    .whatsapp-float {
        width: 52px;
        height: 52px;
        bottom: var(--space-lg);
        right: var(--space-lg);
    }

    .whatsapp-float svg {
        width: 26px;
        height: 26px;
    }
}