/* =========================================================================
   responsive.css — Mobile First (overrides para telas maiores → menores)
   ========================================================================= */

/* ---------- Tablet / notebook (até 980px) ---------- */
@media (max-width: 980px) {
    .cards-grid { grid-template-columns: repeat(3, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}

/* ---------- Mobile (até 760px) ---------- */
@media (max-width: 760px) {
    body { font-size: 16px; }

    /* Navbar vira menu hambúrguer */
    .nav-toggle { display: flex; z-index: 120; }
    .nav-menu {
        position: fixed; inset: 0 0 0 auto; width: min(82vw, 340px);
        flex-direction: column; align-items: flex-start; justify-content: center; gap: 22px;
        background: var(--vinho); padding: 80px 32px; transform: translateX(100%);
        transition: transform .35s ease; box-shadow: var(--shadow-lg);
    }
    .nav-menu.open { transform: translateX(0); }
    .nav-menu a, .site-header.scrolled .nav-menu a { color: #fff; font-size: 19px; }
    .nav-cta { width: 100%; }
    .nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-toggle.open span:nth-child(2) { opacity: 0; }
    .nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    body.nav-open { overflow: hidden; }

    /* Hero */
    .hero-pills { gap: 8px; }

    /* Split empilha */
    .split, .split.split-media-wide { grid-template-columns: 1fr; }
    .split-media { order: -1; }
    .split-media img { aspect-ratio: 4/3; }
    #localizacao .split-media { order: 0; }

    /* Galerias */
    .gallery-grid { grid-template-columns: 1fr 1fr; }
    .gallery-item.span-2 { grid-column: span 2; grid-row: auto; }
    .gallery-item.span-2 img { aspect-ratio: 16/10; }
    .cards-grid { grid-template-columns: 1fr 1fr; }
    .lazer-grid { grid-template-columns: 1fr 1fr; }
    .lazer-item img { height: 200px; }

    .field-row { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; gap: 28px; text-align: left; }
    .bene-list { grid-template-columns: 1fr; }

    .wpp-float { width: 54px; height: 54px; right: 16px; bottom: 16px; }
}

/* ---------- Mobile pequeno (até 420px) ---------- */
@media (max-width: 420px) {
    .cards-grid { grid-template-columns: 1fr; }
    .lazer-grid { grid-template-columns: 1fr; }
    .gallery-grid { grid-template-columns: 1fr; }
    .gallery-item.span-2 { grid-column: span 1; }
    .hero-actions .btn, .hero-actions { width: 100%; }
    .hero-actions .btn { width: 100%; }
}

/* ---------- Telas largas ---------- */
@media (min-width: 1400px) {
    :root { --maxw: 1280px; }
}

/* =========================================================================
   REVISÃO DE CONVERSÃO — ajustes responsivos dos novos componentes
   ========================================================================= */

/* ---------- Tablet (até 980px) ---------- */
@media (max-width: 980px) {
    .bene-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Mobile (até 760px) ---------- */
@media (max-width: 760px) {
    /* Plantas: imagem em cima, ficha vira linha de 3 colunas compactas */
    .planta-card { grid-template-columns: 1fr; gap: 18px; }
    .planta-specs { grid-template-columns: repeat(3, 1fr); gap: 10px; }
    .planta-specs li { padding: 12px 10px; text-align: center; align-items: center; }
    .planta-specs strong { font-size: 17px; }
    .planta-specs span { font-size: 11px; }

    /* WhatsApp flutuante: mantém o ícone, esconde o rótulo para não cobrir conteúdo */
    .wpp-float { padding: 0; width: 56px; gap: 0; }
    .wpp-float .wpp-label { display: none; }
}

/* ---------- Mobile pequeno (até 520px) ---------- */
@media (max-width: 520px) {
    .bene-grid { grid-template-columns: 1fr; }
    .hero-pills li { font-size: 13px; padding: 8px 13px; }
}
