/* ============================================================
   JE-FRITO - Ajustes responsive
   ============================================================ */

/* Laptops pequeñas */
@media (max-width: 1199.98px) {
    .hero { padding: 90px 0 120px; }
    .hero-ring { width: 340px; height: 340px; }
    .hero-logo-wrap img { width: min(320px, 75%); }
}

/* Tablets */
@media (max-width: 991.98px) {
    .section { padding: 70px 0; }

    .hero { padding: 70px 0 110px; text-align: center; }
    .hero-lead { margin-left: auto; margin-right: auto; }
    .hero-stats { justify-content: center; }
    .hero-logo-wrap { margin-top: 50px; }
    .hero-ring { width: 300px; height: 300px; }

    .navbar-jefrito .navbar-collapse {
        background: var(--jf-red-darker);
        border-radius: 16px;
        padding: 18px;
        margin-top: 14px;
        box-shadow: 0 15px 35px rgba(0,0,0,.35);
    }
    .navbar-jefrito .nav-link { margin-bottom: 6px; }
    .btn-order { display: inline-flex; justify-content: center; width: 100%; }

    .location-map iframe { min-height: 300px; }
    .location-info { padding: 32px 26px; }

    .cta-band { text-align: center; padding: 50px 26px; }
    .cta-band .btn-jf-red { margin-top: 22px; }

    .legal-content { padding: 36px 28px; }
}

/* Móviles grandes */
@media (max-width: 767.98px) {
    .section { padding: 56px 0; }

    .hero { padding: 56px 0 100px; }
    .hero h1 { font-size: clamp(2.6rem, 12vw, 3.6rem); }
    .hero-lead { font-size: 1rem; }
    .hero-stats { gap: 22px; }
    .hero-stat .num { font-size: 2rem; }
    .hero-ring { display: none; }
    .hero-logo-wrap img { width: min(260px, 70%); }

    .menu-category-header h2 { font-size: 1.9rem; }
    .menu-category-header .cat-icon { width: 52px; height: 52px; font-size: 1.3rem; }

    .contact-card, .contact-info-card { padding: 30px 22px; }
    .about-badge { right: 10px; padding: 14px 20px; }

    .footer-top { padding: 54px 0 40px; }

    .whatsapp-float { width: 54px; height: 54px; font-size: 1.6rem; bottom: 20px; right: 20px; }
    .back-to-top { bottom: 88px; right: 24px; width: 42px; height: 42px; }
}

/* Móviles pequeños */
@media (max-width: 575.98px) {
    .brand-text { font-size: 1.45rem; }
    .brand-text small { font-size: 0.58rem; }

    .hero-badge { font-size: 0.72rem; padding: 6px 14px; }
    .btn-jf-yellow, .btn-jf-outline { padding: 12px 26px; font-size: 0.95rem; width: 100%; }
    .hero .d-flex.gap-3 { flex-direction: column; }

    .section-title { font-size: 2rem; }
    .page-hero h1 { font-size: 2.3rem; }

    .feature-card { padding: 30px 20px; }
    .legal-content { padding: 28px 18px; }
    .legal-content h2 { font-size: 1.4rem; }

    .cta-band::before { font-size: 8rem; }
}
