
/* V6.2.1 — FOOTER FINAL + LOGIN ATUALIZÁVEL */

html,body{min-height:100%}

/* Remove the mobile body's generic 88px bottom reserve on pages without fixed bottom nav. */
body.customer-body:not(:has(.bottom-nav)){
    padding-bottom:0!important;
}

/* Footer is the visual and physical end of pages where it is rendered. */
.mz-footer-v621{
    width:100%!important;
    margin:18px 0 0!important;
    padding:9px 0 10px!important;
    background:#17171c!important;
    color:#fff!important;
}
.mz-footer-v621 .mz-footer-inner{
    width:min(100% - 24px,960px)!important;
    margin:0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    text-align:center!important;
}
.mz-footer-v621 .mz-footer-brand{
    display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;
}
.mz-footer-v621 .mz-footer-brand img{
    display:block!important;width:auto!important;height:auto!important;
    max-width:150px!important;max-height:34px!important;object-fit:contain!important;margin:0 auto!important;
}
.mz-footer-v621 .mz-footer-brand strong{font-size:12px!important;font-weight:950!important;color:#fff!important}
.mz-footer-v621 .mz-footer-meta{
    display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;
    gap:2px 6px!important;color:#92929b!important;font-size:7.5px!important;line-height:1.25!important;
}
.mz-footer-v621 .mz-footer-meta b{color:#fff!important}
.mz-footer-v621 .mz-sep{opacity:.45!important}

/* HOME: no white reserve below footer. */
body.customer-body:has(.mz-footer-v621){
    padding-bottom:0!important;
}
body.customer-body:has(.mz-footer-v621) > .mz-footer-v621:last-of-type{
    margin-bottom:0!important;
}

/* LOGIN:
   - browser page remains refreshable by swipe/pull-to-refresh
   - scrollbar is visually hidden
   - card stays centered in available viewport
   - footer sits at the bottom without generating a white strip */
body.customer-body:has(.raffle-auth-page){
    overflow-y:auto!important;
    overflow-x:hidden!important;
    height:auto!important;
    min-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overscroll-behavior-y:auto!important;
    scrollbar-width:none!important;
    padding-bottom:0!important;
}
body.customer-body:has(.raffle-auth-page)::-webkit-scrollbar{
    width:0!important;height:0!important;display:none!important;
}
body.customer-body:has(.raffle-auth-page) .app-header{
    flex:0 0 auto!important;
}
body.customer-body:has(.raffle-auth-page) .raffle-auth-page{
    flex:1 0 auto!important;
    width:100%!important;
    min-height:calc(100dvh - 68px - 68px)!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:14px!important;
    display:grid!important;
    place-items:center!important;
    overflow:visible!important;
}
body.customer-body:has(.raffle-auth-page) .raffle-auth-card{
    width:min(100%,760px)!important;
    max-height:none!important;
    margin:auto!important;
    align-self:center!important;
    justify-self:center!important;
    overflow:hidden!important;
}
body.customer-body:has(.raffle-auth-page) .raffle-auth-form{
    overflow:visible!important;
    max-height:none!important;
}
body.customer-body:has(.raffle-auth-page) .mz-footer-v621{
    flex:0 0 auto!important;
    margin-top:0!important;
}

/* Installed PWA:
   Footer is NOT globally hidden anymore.
   It appears on login/cadastro and other pages that have no fixed bottom navigation.
   Pages that have the fixed nav do not render it server-side. */
@media (display-mode:standalone),(display-mode:fullscreen){
    body.customer-body:has(.raffle-auth-page){
        overscroll-behavior-y:contain!important;
    }
}

@media(max-width:900px){
    body.customer-body:has(.raffle-auth-page) .raffle-auth-page{
        min-height:calc(100dvh - 62px - 64px)!important;
        padding:10px!important;
    }
    body.customer-body:has(.raffle-auth-page) .raffle-auth-card{
        width:min(100%,500px)!important;
    }
}

@media(max-width:700px){
    .mz-footer-v621{
        margin-top:12px!important;
        padding:8px 0 9px!important;
    }
    .mz-footer-v621 .mz-footer-brand img{
        max-width:145px!important;max-height:32px!important;
    }
    .mz-footer-v621 .mz-footer-meta{font-size:7.25px!important}

    body.customer-body:has(.raffle-auth-page) .raffle-auth-page{
        min-height:calc(100dvh - 62px - 62px)!important;
        padding:8px!important;
    }
    body.customer-body:has(.raffle-auth-page) .raffle-auth-card{
        width:min(100%,460px)!important;
    }
}
