/*
 * Vitrine Sorriso - hotfix mobile final.
 * Carregado depois de vitrine-final-polish.css para corrigir header e coverflow.
 */
html,
body{
    max-width:100%;
    overflow-x:hidden;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

@media (max-width:768px){
    #header.market-header{
        width:100% !important;
        background:#0B223D !important;
        padding:0 !important;
        position:relative !important;
        z-index:20 !important;
        box-shadow:0 10px 24px rgba(15,23,42,.12) !important;
    }

    #header .header-top{
        background:#0B223D !important;
        padding:18px 20px 0 !important;
    }

    #header .header-top > .container{
        width:100% !important;
        max-width:100% !important;
        padding:0 !important;
        margin:0 !important;
    }

    #header .header-top__inner{
        display:grid !important;
        grid-template-columns:56px minmax(0,1fr) auto !important;
        align-items:center !important;
        gap:12px !important;
        width:100% !important;
        min-height:58px !important;
        height:auto !important;
    }

    #header .mobile-menu-toggle{
        width:56px !important;
        height:56px !important;
        min-width:56px !important;
        border-radius:18px !important;
        border:1px solid rgba(255,255,255,.16) !important;
        background:rgba(255,255,255,.08) !important;
        color:#FFFFFF !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        position:static !important;
        transform:none !important;
        box-shadow:none !important;
    }

    #header .header-brand-stack{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-width:0 !important;
        width:100% !important;
        overflow:hidden !important;
    }

    #header .header-location-pill{
        display:none !important;
    }

    #header .header-logo,
    #header .header-logo a{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-width:0 !important;
        width:100% !important;
        text-decoration:none !important;
    }

    #header .header-logo img{
        display:block !important;
        max-width:112px !important;
        max-height:42px !important;
        width:auto !important;
        height:auto !important;
        object-fit:contain !important;
    }

    #header .header-logo a::after{
        content:none !important;
        display:none !important;
    }

    #header .header-actions{
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:10px !important;
        min-width:110px !important;
        position:static !important;
        transform:none !important;
    }

    #header .header-login-link,
    #header .cart-link{
        width:50px !important;
        height:50px !important;
        min-width:50px !important;
        max-width:50px !important;
        padding:0 !important;
        border-radius:18px !important;
        border:1px solid rgba(255,255,255,.16) !important;
        background:rgba(255,255,255,.08) !important;
        color:#FFFFFF !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        position:relative !important;
        transform:none !important;
        box-shadow:none !important;
    }

    #header .header-login-link span{
        display:none !important;
    }

    #header .header-login-link i,
    #header .cart-link i{
        color:#FFFFFF !important;
        font-size:19px !important;
        margin:0 !important;
    }

    #header .cart-count{
        position:absolute !important;
        top:-8px !important;
        right:-8px !important;
        width:28px !important;
        min-width:28px !important;
        height:28px !important;
        padding:0 !important;
        border-radius:999px !important;
        background:#16A34A !important;
        color:#FFFFFF !important;
        font-size:13px !important;
        font-weight:900 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        border:2px solid #0B223D !important;
    }

    body.page-is-home #header .header-mid,
    #header .header-mid{
        display:block !important;
        background:#0B223D !important;
        padding:18px 20px 18px !important;
    }

    #header .header-mid > .container{
        width:100% !important;
        max-width:100% !important;
        padding:0 !important;
        margin:0 !important;
    }

    #header .header-search-form{
        width:100% !important;
        height:64px !important;
        min-height:64px !important;
        background:#FFFFFF !important;
        border:1px solid #E2E8F0 !important;
        border-radius:24px !important;
        box-shadow:0 10px 28px rgba(15,23,42,.12) !important;
        display:grid !important;
        grid-template-columns:44px minmax(0,1fr) 58px !important;
        align-items:center !important;
        gap:0 !important;
        padding:0 8px 0 16px !important;
        margin:0 !important;
        overflow:hidden !important;
        position:relative !important;
    }

    #header .header-search-form > i.fa-search{
        position:static !important;
        transform:none !important;
        color:#94A3B8 !important;
        font-size:18px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:44px !important;
        height:64px !important;
    }

    #header .header-search-form input[type="text"]{
        width:100% !important;
        min-width:0 !important;
        height:64px !important;
        border:0 !important;
        outline:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        font-size:16px !important;
        font-weight:700 !important;
        color:#0F172A !important;
        padding:0 8px !important;
    }

    #header .header-search-form input[type="text"]::placeholder{
        color:#94A3B8 !important;
    }

    #header .header-search-form button{
        width:50px !important;
        height:50px !important;
        min-width:50px !important;
        min-height:50px !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        border-radius:18px !important;
        background:#16A34A !important;
        color:#FFFFFF !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        position:static !important;
        transform:none !important;
    }

    #header .header-search-form button i{
        color:#FFFFFF !important;
        font-size:18px !important;
    }

    .home-sponsored-showcase{
        width:100% !important;
        max-width:100% !important;
        margin:26px 0 24px !important;
        padding:0 !important;
        overflow:hidden !important;
    }

    .home-sponsored-showcase > .container{
        width:100% !important;
        max-width:100% !important;
        padding:0 !important;
        margin:0 !important;
    }

    .home-sponsored-showcase .section-header{
        padding:0 24px !important;
        margin:0 0 14px !important;
    }

    .home-sponsored-showcase .section-title{
        font-size:30px !important;
        line-height:1.1 !important;
        font-weight:900 !important;
        color:#0F172A !important;
        margin:0 0 8px !important;
    }

    .home-sponsored-showcase .section-subtitle{
        font-size:15px !important;
        line-height:1.35 !important;
        color:#64748B !important;
        margin:0 !important;
    }

    .home-sponsored-showcase #ofertas_patrocinadas.sponsored-carousel-3d{
        position:relative !important;
        width:100vw !important;
        max-width:100vw !important;
        margin-left:calc(50% - 50vw) !important;
        margin-right:calc(50% - 50vw) !important;
        overflow:hidden !important;
        padding:8px 0 12px !important;
    }

    .home-sponsored-showcase .sponsored-carousel-viewport{
        width:100vw !important;
        max-width:100vw !important;
        height:auto !important;
        overflow:hidden !important;
        touch-action:pan-y !important;
        user-select:none !important;
    }

    .home-sponsored-showcase .sponsored-carousel-track{
        display:flex !important;
        align-items:stretch !important;
        gap:18px !important;
        width:max-content !important;
        max-width:none !important;
        height:auto !important;
        position:relative !important;
        transition:transform 420ms ease !important;
        will-change:transform !important;
        touch-action:pan-y !important;
    }

    .home-sponsored-showcase .sponsored-slide{
        position:relative !important;
        top:auto !important;
        left:auto !important;
        flex:0 0 64% !important;
        width:64% !important;
        min-width:64% !important;
        max-width:64% !important;
        transform:scale(.82) !important;
        opacity:.58 !important;
        transition:transform 360ms ease, opacity 360ms ease, filter 360ms ease !important;
        filter:saturate(.9) !important;
        pointer-events:auto !important;
        z-index:1 !important;
    }

    .home-sponsored-showcase .sponsored-slide.is-active{
        transform:scale(1) !important;
        opacity:1 !important;
        z-index:3 !important;
        filter:saturate(1) !important;
    }

    .home-sponsored-showcase .sponsored-slide.is-prev,
    .home-sponsored-showcase .sponsored-slide.is-next{
        transform:scale(.82) !important;
        opacity:.72 !important;
        z-index:1 !important;
    }

    .home-sponsored-showcase .sponsored-slide.is-hidden{
        opacity:0 !important;
        pointer-events:none !important;
    }

    .home-sponsored-showcase .sponsored-card{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        background:#FFFFFF !important;
        border:1px solid #E2E8F0 !important;
        border-radius:24px !important;
        overflow:hidden !important;
        box-shadow:0 14px 34px rgba(15,23,42,.12) !important;
        position:relative !important;
        display:flex !important;
        flex-direction:column !important;
        transform:none !important;
    }

    .home-sponsored-showcase .sponsored-card .product-image-wrap,
    .home-sponsored-showcase .sponsored-card .default-image-wrap,
    .home-sponsored-showcase .sponsored-card .card-image{
        width:100% !important;
        height:auto !important;
        aspect-ratio:1 / 1.05 !important;
        background:#F8FAFC !important;
        overflow:hidden !important;
        position:relative !important;
    }

    .home-sponsored-showcase .sponsored-card .product-image-wrap img{
        width:100% !important;
        height:100% !important;
        object-fit:contain !important;
        display:block !important;
    }

    .home-sponsored-showcase .sponsored-card .default-image-wrap img{
        width:100% !important;
        height:100% !important;
        object-fit:contain !important;
        display:block !important;
    }

    .home-sponsored-showcase .sponsored-card .product-card-content,
    .home-sponsored-showcase .sponsored-card .default-card-content,
    .home-sponsored-showcase .sponsored-card .card-body{
        padding:12px 13px 14px !important;
    }

    .home-sponsored-showcase .sponsored-card .product-title,
    .home-sponsored-showcase .sponsored-card .default-title,
    .home-sponsored-showcase .sponsored-card .card-title{
        font-size:15px !important;
        line-height:1.2 !important;
        font-weight:900 !important;
        color:#0F172A !important;
        min-height:36px !important;
        margin:0 0 8px !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
    }

    .home-sponsored-showcase .sponsored-card .default-subtitle{
        font-size:13px !important;
        line-height:1.35 !important;
        color:#64748B !important;
        min-height:34px !important;
        margin:0 0 10px !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
    }

    .home-sponsored-showcase .sponsored-card .price-new{
        font-size:20px !important;
        font-weight:900 !important;
        color:#16A34A !important;
    }

    .home-sponsored-showcase .sponsored-card .price-old{
        font-size:12px !important;
        color:#94A3B8 !important;
        text-decoration:line-through !important;
        margin-left:5px !important;
    }

    .home-sponsored-showcase .sponsored-card .default-button,
    .home-sponsored-showcase .sponsored-card .reserve-button,
    .home-sponsored-showcase .sponsored-card .card-button{
        width:100% !important;
        height:44px !important;
        min-height:44px !important;
        border-radius:15px !important;
        background:#16A34A !important;
        color:#FFFFFF !important;
        border:0 !important;
        font-size:14px !important;
        font-weight:900 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        text-decoration:none !important;
    }

    .home-sponsored-showcase .sponsored-carousel-dots{
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        gap:8px !important;
        margin:10px 0 12px !important;
    }

    .home-sponsored-showcase .sponsored-carousel-dot{
        width:8px !important;
        height:8px !important;
        min-width:8px !important;
        min-height:8px !important;
        padding:0 !important;
        border:0 !important;
        border-radius:999px !important;
        background:#CBD5E1 !important;
        transition:all 250ms ease !important;
    }

    .home-sponsored-showcase .sponsored-carousel-dot.is-active{
        width:24px !important;
        background:#16A34A !important;
    }

    .home-products-grid-section{
        width:100% !important;
        max-width:100% !important;
        padding:0 16px 24px !important;
        margin:20px auto 0 !important;
        box-sizing:border-box !important;
        overflow:visible !important;
    }

    .home-products-grid-section > .container{
        width:100% !important;
        max-width:100% !important;
        padding:0 !important;
        margin:0 auto !important;
    }

    .home-products-grid-section #listar_produtos.products-ml-grid{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:12px !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 auto !important;
        padding:0 !important;
        box-sizing:border-box !important;
        overflow:visible !important;
        transform:none !important;
    }

    .home-products-grid-section #listar_produtos.products-ml-grid .product-card{
        min-width:0 !important;
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
        background:#FFFFFF !important;
        border:1px solid #E2E8F0 !important;
        border-radius:18px !important;
        overflow:hidden !important;
        transform:none !important;
    }
}
