@media (max-width: 767.98px) {
    body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
    #mobile-nav { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:1040; background:white; border-top:1px solid #e2e8f0; padding:8px 4px calc(8px + env(safe-area-inset-bottom)); justify-content:space-around; }
    #mobile-nav a, #mobile-nav button { color:#6c757d; background:none; border:0; text-decoration:none; font-size:12px; padding:4px 8px; min-height:48px; }
    #mobile-nav .active { color:var(--primary-color); }
    #mobile-nav i { display:block; font-size:22px; }
    .whatsapp-float { bottom:calc(88px + env(safe-area-inset-bottom)); right:16px; width:50px; height:50px; }
    .toast-container { bottom:calc(78px + env(safe-area-inset-bottom)) !important; width:100%; pointer-events:none; }
    .toast { margin:auto; max-width:100%; border-radius:16px !important; }
    /* Reserva uma faixa inferior para as setas e os indicadores,
       sem sobrepor o texto ou comprimir o conteúdo nas laterais. */
    #heroBannerCarousel .hero-banner-slide {
        padding: 1.5rem 1.25rem 5rem;
        min-height: 340px;
        max-height: none;
        align-items: flex-start;
    }
    #heroBannerCarousel .slide-content {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
    }
    #heroBannerCarousel .slide-content h2 {
        font-size: clamp(1.4rem, 6vw, 1.85rem);
        line-height: 1.2;
    }
    #heroBannerCarousel .slide-content p {
        line-height: 1.5;
    }
    #heroBannerCarousel .slide-content .badge,
    #heroBannerCarousel .slide-content .btn {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    #heroBannerCarousel .slide-content .btn {
        min-height: 44px;
        padding: .65rem 1rem !important;
    }
    #heroBannerCarousel .carousel-control-prev,
    #heroBannerCarousel .carousel-control-next {
        top: auto;
        bottom: 14px;
        width: 44px;
        height: 44px;
        margin: 0;
        transform: none;
    }
    #heroBannerCarousel .carousel-control-prev { left: 16px; }
    #heroBannerCarousel .carousel-control-next { right: 16px; }
    #heroBannerCarousel .carousel-indicators {
        left: 76px;
        right: 76px;
        bottom: 30px;
        margin: 0 !important;
        gap: 6px;
        overflow-x: auto;
        justify-content: flex-start;
        padding: 2px;
    }
    #heroBannerCarousel .carousel-indicators::before,
    #heroBannerCarousel .carousel-indicators::after {
        content: '';
        margin: auto;
    }
    #heroBannerCarousel .carousel-indicators [data-bs-target] {
        flex-shrink: 0;
        margin: 0;
        border-top: 0;
        border-bottom: 0;
    }
    .categories-sticky-container { top:var(--store-header-height, 100px); }
    .modal-dialog { margin: .5rem; }
    .modal-body { padding:1rem !important; }
    .form-control { font-size:16px; }
    .store-logo-image { width:84px; height:56px; }
    .navbar-brand { font-size:1.3rem; max-width:75%; margin-right:8px; }
    .navbar-brand > div:last-child { min-width:0; }
    .navbar-brand .lh-1, .tagline { overflow-wrap:anywhere; white-space:normal; }
}
