/* ============================================================
   Xiquexique Store — Responsivo
   Painel mobile: #menuToggle visível ≤768, #mainNav.open vira
   gaveta fixa à direita (contrato do main.js:
   classList.toggle('open') / ('active'))
   ============================================================ */

@media (max-width: 1024px) {
    .nav-list a { font-size: 0.82rem; padding: 6px 10px; }

    .hero { padding: 70px 0 62px; }

    .hero::before { left: 3%; }
}

@media (max-width: 768px) {
    .menu-toggle { display: flex; }

    /* gaveta de retalhos à direita */
    .main-nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background: var(--areia-media);
        padding: 84px 26px 30px;
        transition: right var(--transition);
        box-shadow: var(--shadow-lg);
        border-left: 3px dashed var(--cacto);
    }
    .main-nav.open { right: 0; }
    .nav-list { flex-direction: column; gap: 12px; }
    .nav-list a {
        font-size: 1rem;
        display: block;
        background: #fffdf7;
        border: 1px solid var(--linha);
        border-radius: 10px;
        padding: 10px 14px;
    }
    .nav-list a:hover { border: var(--stitch); background: var(--cacto-claro); }

    .hero { padding: 55px 0 50px; }
    .hero h1 { font-size: 1.7rem; }
    .hero-subtitle { font-size: 1rem; }
    .hero::before { display: none; }

    .content-section { padding: 44px 0; }
    .content-section h2 { font-size: 1.45rem; }
    .content-section h3 { font-size: 1.12rem; }

    .footer-grid { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 560px) {
    .hero h1 { font-size: 1.5rem; }
    .hero h1::after { width: 84px; }

    .cards-grid,
    .collection-grid,
    .tips-list { grid-template-columns: 1fr; }

    .card::before { top: 10px; right: 10px; }

    .cta-section { padding: 46px 0; }
    .cta-button { display: block; width: 100%; max-width: 340px; margin: 0 auto; }

    .whatsapp-float { bottom: 18px; right: 18px; width: 50px; height: 50px; }
}
