:root {
    --neve-layout-max: 1417px;
}

/* O menu passa a usar o mesmo teto estrutural do rodape. */
html body .dln-bar {
    width: min(100%, var(--neve-layout-max)) !important;
    max-width: var(--neve-layout-max) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Catalogo e faixa de produtos da home seguem a mesma escala. */
html body.woocommerce-shop .dls-wrap {
    width: min(
        calc(100% - clamp(18px, 4vw, 64px) - clamp(18px, 4vw, 64px)),
        var(--neve-layout-max)
    ) !important;
    max-width: var(--neve-layout-max) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

html body.home .elementor-element-27ab60f .dls-wrap {
    max-width: var(--neve-layout-max) !important;
}

/* Os quatro cards de categorias do hero usam a mesma linha externa. */
@media (min-width: 768px) {
    html body.home .nsh__frame {
        width: min(
            calc(100% - clamp(18px, 4vw, 64px) - clamp(18px, 4vw, 64px)),
            var(--neve-layout-max)
        ) !important;
    }

    html body.home .nsh__cards {
        right: 0 !important;
        left: 0 !important;
    }
}

/* Chamada de produtos: leitura mais leve e sempre em uma linha. */
html body.home .elementor-element-27ab60f .dls-hero h2 {
    min-width: 0 !important;
    color: #fff !important;
    font-weight: 500 !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
}

@media (min-width: 1025px) {
    html body.home .elementor-element-27ab60f .dls-hero h2 {
        flex: 0 0 auto !important;
        font-size: clamp(19px, 1.8vw, 24px) !important;
    }

    html body.home .elementor-element-27ab60f .dls-hero-controls {
        flex: 1 1 520px !important;
    }
}

/* Respiro maior entre a ultima secao da home e o novo rodape. */
html body.home #neve-isolated-footer {
    margin-top: clamp(90px, 8vw, 150px) !important;
}

@media (max-width: 960px) {
    /* No painel mobile, Categorias deixa de encostar na busca. */
    html body.woocommerce-shop #dlsSide .dls-search-wrap {
        margin-bottom: 40px !important;
    }

    html body.woocommerce-shop #dlsSide .dls-side-title {
        position: relative !important;
        z-index: 1 !important;
        display: flex !important;
        clear: both !important;
        margin-top: 0 !important;
        margin-bottom: 12px !important;
    }
}

@media (max-width: 768px) {
    html body.home .elementor-element-27ab60f .dls-hero h2 {
        font-size: clamp(13px, 4vw, 16px) !important;
        letter-spacing: -.04em !important;
    }

    html body.home #neve-isolated-footer {
        margin-top: 72px !important;
    }
}

@media (max-width: 700px) {
    html body.woocommerce-shop .dls-wrap {
        width: calc(100% - 36px) !important;
    }
}
