﻿/* ===========================================
MOBILE.CSS - CORREÇÕES URGENTES (ATUALIZADO)
Dimensão mínima: 375×667
=========================================== */

/* === RESET MOBILE - ELIMINAR SCROLL HORIZONTAL === */
@media (max-width: 768px) {
    * {
        -webkit-tap-highlight-color: transparent;
        tap-highlight-color: transparent;
        box-sizing: border-box;
    }

    html, body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        position: relative;
    }

    body {
        padding-top: 60px !important; /* Ajustado para header fixo */
        width: 100vw !important;
        overflow-x: hidden !important;
        max-width: 100vw !important;
    }
}

/* === CORREÇÕES CRÍTICAS DO HEADER - ÍCONES APENAS NO MOBILE === */
@media (max-width: 768px) {
    /* CORREÇÃO: Header compacto sem espaços */
    header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 60px !important;
        padding: 8px 12px !important;
        background: var(--gradient-header) !important;
        z-index: 1000 !important;
        display: flex !important;
        align-items: center !important;
        box-shadow: 0 2px 10px rgba(7, 32, 66, 0.2) !important;
        overflow: hidden !important;
    }

    header .container {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 0 !important;
    }

    /* CORREÇÃO: Logo APENAS imagem - SEM TEXTO */
    .logo {
        display: flex !important;
        align-items: center !important;
        min-width: auto !important;
        flex-shrink: 0 !important;
        margin-right: 0 !important;
    }

    .logo-text {
        display: none !important;
    }

    .logo-img {
        width: 42px !important;
        height: 42px !important;
        border-radius: 8px !important;
        border: 2px solid rgba(255, 255, 255, 0.3) !important;
        margin-right: 0 !important;
    }

    /* CORREÇÃO: Botões compactos SEM ESPAÇOS - ÍCONES VISÍVEIS APENAS NO MOBILE */
    .btns-header {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        margin: 0 !important;
        padding: 0 !important;
        margin-left: auto !important;
    }

    .header-btns {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
    }

    /* CORREÇÃO CRÍTICA: Mostrar ícones de navegação APENAS no mobile */
    .header-btns .nav-icon {
        display: flex !important; /* VISÍVEL APENAS NO MOBILE */
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.15) !important;
        border: 2px solid rgba(255, 255, 255, 0.2) !important;
        color: var(--branco) !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 16px !important;
        transition: all 0.3s ease !important;
        text-decoration: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .header-btns .btn {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.15) !important;
        border: 2px solid rgba(255, 255, 255, 0.2) !important;
        color: var(--branco) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 16px !important;
        transition: all 0.3s ease !important;
        text-decoration: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .header-btns .btn:hover,
    .header-btns .nav-icon:hover {
        background: rgba(255, 255, 255, 0.25) !important;
        transform: scale(1.05) !important;
    }

    /* CORREÇÃO: Esconder menu desktop no mobile */
    .desktop-menu {
        display: none !important;
    }

    /* CORREÇÃO: Badge do carrinho compacto */
    .cart {
        position: relative !important;
    }

    .cart-count {
        position: absolute !important;
        top: -2px !important;
        right: -2px !important;
        min-width: 14px !important;
        height: 14px !important;
        font-size: 9px !important;
        font-weight: 700 !important;
        background: #ff4757 !important;
        color: white !important;
        border-radius: 7px !important;
        display: none !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid var(--azul-marinho) !important;
        padding: 0 2px !important;
    }

    .cart-count.visible {
        display: flex !important;
    }

    /* CORREÇÃO: Remover completamente o mobile-nav-icons antigo */
    .mobile-nav-icons {
        display: none !important;
    }
}

/* === CORREÇÃO EXTRA: GARANTIR QUE ÍCONES NÃO APAREÇAM NO DESKTOP === */
/* FORA DA MEDIA QUERY - aplica a todos os dispositivos */
.header-btns .nav-icon {
    display: none !important; /* ESCOONDIDO NO DESKTOP por padrão */
}

/* DENTRO DA MEDIA QUERY - mostra apenas no mobile */
@media (max-width: 768px) {
    .header-btns .nav-icon {
        display: flex !important; /* VISÍVEL APENAS NO MOBILE */
    }
}

/* === CORREÇÕES CRÍTICAS DO BANNER === */
@media (max-width: 768px) {
    /* CORREÇÃO: Banner 100% SEM ESPAÇOS */
    .banner {
        position: relative !important;
        width: 100vw !important;
        height: 60vh !important;
        min-height: 400px !important;
        margin: 0 !important;
        padding: 0 !important;
        left: 0 !important;
        right: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        margin-top: 60px !important;
        z-index: 1 !important;
    }

    /* CORREÇÃO: Container do banner 100% */
    .banner-slider {
        width: 100vw !important;
        height: 100% !important;
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .banner-slider .slide {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* CORREÇÃO: Imagens 100% sem margens */
    .banner-slider .slide img {
        width: 100vw !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block !important;
        min-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .slide-overlay {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100% !important;
        background: linear-gradient(135deg, rgba(7, 32, 66, 0.7) 0%, rgba(10, 42, 94, 0.5) 50%, rgba(30, 77, 123, 0.7) 100%) !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* CORREÇÃO: Texto do banner centralizado */
    .banner-text {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        text-align: center !important;
        width: 90% !important;
        max-width: 350px !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: 99995 !important;
    }

    .banner-text h2 {
        font-size: 24px !important;
        font-weight: 700 !important;
        margin-bottom: 12px !important;
        line-height: 1.2 !important;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
    }

    .banner-text p {
        font-size: 14px !important;
        margin-bottom: 20px !important;
        opacity: 0.95 !important;
        line-height: 1.4 !important;
        text-shadow: 0 1px 5px rgba(0, 0, 0, 0.5) !important;
    }

    .banner-btn {
        padding: 12px 28px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        border-radius: 25px !important;
        background: var(--gradient-primary) !important;
        color: var(--branco) !important;
        text-decoration: none !important;
        display: inline-block !important;
        transition: all 0.3s ease !important;
        box-shadow: 0 4px 15px rgba(79, 209, 199, 0.4) !important;
    }

    /* CORREÇÃO: Indicadores centralizados */
    .slider-indicators {
        position: absolute !important;
        bottom: 20px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        display: flex !important;
        gap: 8px !important;
        z-index: 1010 !important;
    }

    .indicator {
        width: 8px !important;
        height: 8px !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.5) !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
    }

    .indicator.active {
        background: var(--azul-claro) !important;
        transform: scale(1.2) !important;
    }
}

/* === CORREÇÕES DO LAYOUT GERAL - ELIMINAR SCROLL === */
@media (max-width: 768px) {
    /* CORREÇÃO: Container global SEM ESPAÇOS LATERAIS */
    .container {
        width: 100vw !important;
        max-width: 100vw !important;
        padding: 0 15px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    /* CORREÇÃO: Seções 100% centralizadas */
    section {
        width: 100vw !important;
        max-width: 100vw !important;
        padding: 40px 15px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        position: relative !important;
        left: 0 !important;
        overflow-x: hidden !important;
    }

    .produtos,
    .como-usar,
    .contato {
        padding: 40px 15px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* CORREÇÃO: Grid de produtos centralizado */
    .products-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    .product-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 15px !important;
        box-sizing: border-box !important;
    }

    .product-card img {
        height: 140px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* CORREÇÃO: Seção de passos centralizada */
    .steps {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .step {
        padding: 25px 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* === MOBILE MUITO PEQUENO (375px) === */
@media (max-width: 375px) {
    body {
        padding-top: 55px !important;
    }

    header {
        height: 55px !important;
        padding: 6px 10px !important;
    }

    .logo-img {
        width: 38px !important;
        height: 38px !important;
    }

    .header-btns .btn,
    .header-btns .nav-icon {
        width: 36px !important;
        height: 36px !important;
        font-size: 15px !important;
    }

    .banner {
        height: 50vh !important;
        min-height: 350px !important;
        margin-top: 55px !important;
    }

    .banner-text h2 {
        font-size: 20px !important;
    }

    .banner-text p {
        font-size: 13px !important;
    }

    .banner-btn {
        padding: 10px 24px !important;
        font-size: 13px !important;
    }

    section {
        padding: 30px 10px !important;
    }

    /* Ajuste de espaçamento para muitos ícones */
    .header-btns {
        gap: 3px !important;
    }
}

/* === CORREÇÃO EXTRA: HEADER COM MUITOS ÍCONES === */
@media (max-width: 480px) {
    .header-btns {
        gap: 3px !important;
    }
    
    .header-btns .btn,
    .header-btns .nav-icon {
        width: 36px !important;
        height: 36px !important;
        font-size: 15px !important;
    }
    
    /* Garantir que todos os ícones caibam na tela */
    .logo-img {
        width: 36px !important;
        height: 36px !important;
    }
}

/* === CORREÇÃO: PERFORMANCE - ELIMINAR WARNING === */
@media (max-width: 768px) {
    /* Otimizar animações para evitar warning de performance */
    .banner-slider .slide {
        transition: opacity 0.8s ease !important;
    }

    .product-card,
    .step {
        transition: transform 0.2s ease !important;
    }

    /* Desativar transformações complexas no mobile */
    .product-card:hover {
        transform: translateY(-2px) !important;
    }
}

/* === CORREÇÃO EXTRA: GARANTIR QUE TUDO FIQUE DENTRO DA TELA === */
@media (max-width: 768px) {
    * {
        max-width: 100vw !important;
    }

    img, video, iframe {
        max-width: 100% !important;
        height: auto !important;
    }
}

/* === CORREÇÃO FINAL: REMOVER QUALQUER VESTÍGIO DO MENU ANTIGO === */
.mobile-nav-icons,
.hamburger,
.mobile-menu,
.overlay,
.close-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}