/**
 * Layout das páginas com site-header-shell (partial injetado).
 * Complementa site-bars.css + catalog-header-mobile.css.
 */

body.has-site-header-shell {
    min-height: 100vh;
}

body.has-site-header-shell .site-header-shell {
    flex-shrink: 0;
}

/* Páginas de conta / institucional — conteúdo abaixo do header */
body.has-site-header-shell.catalog-page > main,
body.has-site-header-shell.catalog-page > main.page,
body.has-site-header-shell.catalog-page > .page,
body.has-site-header-shell.catalog-page > .checkout-main,
body.has-site-header-shell.catalog-page > .products-page,
body.has-site-header-shell.catalog-page > .product-page,
body.has-site-header-shell.catalog-page > .orders-page,
body.has-site-header-shell.catalog-page > .tracking-page,
body.has-site-header-shell.catalog-page > .profile-page,
body.has-site-header-shell.catalog-page > .wrapper,
body.has-site-header-shell.catalog-page > .content,
body.has-site-header-shell.catalog-page > .container-page {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

body.has-site-header-shell.catalog-page > main.cadastros-main,
body.has-site-header-shell.catalog-page > main.recuperarsenha-main {
    width: 100%;
    box-sizing: border-box;
}

/*
 * Login / cadastro / recuperar senha — body em grid (2 linhas no HTML local).
 * Com header injetado, sem grid-row o .site-header-shell cai após o rodapé.
 */
body.has-site-header-shell.meulogin-page,
body.has-site-header-shell.cadastros-page,
body.has-site-header-shell.recuperarsenha-page {
    grid-template-rows: auto minmax(0, 1fr) auto !important;
}

body.has-site-header-shell.meulogin-page > .site-header-shell,
body.has-site-header-shell.cadastros-page > .site-header-shell,
body.has-site-header-shell.recuperarsenha-page > .site-header-shell {
    grid-row: 1;
    grid-column: 1;
    width: 100%;
}

body.has-site-header-shell.meulogin-page > main.meulogin-main,
body.has-site-header-shell.cadastros-page > main.cadastros-main,
body.has-site-header-shell.recuperarsenha-page > main.recuperarsenha-main {
    grid-row: 2;
}

body.has-site-header-shell.meulogin-page > footer.footer,
body.has-site-header-shell.meulogin-page > #siteFooter.footer,
body.has-site-header-shell.cadastros-page > footer.footer,
body.has-site-header-shell.cadastros-page > #siteFooter.footer,
body.has-site-header-shell.recuperarsenha-page > footer.footer,
body.has-site-header-shell.recuperarsenha-page > #siteFooter.footer {
    grid-row: 3 !important;
}

/* Login / cadastro / recuperar senha */
body.has-site-header-shell.store-footer-auth-page {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 0;
}

body.has-site-header-shell.store-footer-auth-page > main,
body.has-site-header-shell.store-footer-auth-page > .meulogin-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 1.5rem 1rem 2rem;
    box-sizing: border-box;
}

/* Checkout — main em largura total; conteúdo centralizado como meulogin (.wrapper) */
body.has-site-header-shell .checkout-main {
    margin-top: 0;
    padding-top: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

body.has-site-header-shell .checkout-main .checkout-page-inner {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    body.has-site-header-shell.store-footer-auth-page > main,
    body.has-site-header-shell.store-footer-auth-page > .meulogin-main {
        padding: 1rem 0.75rem 1.5rem;
        align-items: flex-start;
    }

    body.has-site-header-shell .checkout-main {
        padding-left: 0;
        padding-right: 0;
        margin-top: 0;
    }

    body.has-site-header-shell .checkout-main .checkout-page-inner {
        max-width: 100%;
        padding-left: 12px;
        padding-right: 12px;
    }
}
