/* ═══════════════════════════════════════════════════════════════════════════
   PLP GRID SSOT LOCK — container 1280px, sidebar+main, cards densos 4–16px
   Final-wins sobre visual-bugfix 1440px / temas legados.
   ═══════════════════════════════════════════════════════════════════════════ */
html body#html-body:is(.catalog-category-view, .catalogsearch-result-index) {
    --awa-plp-gap-xs: 4px;
    --awa-plp-gap-sm: 8px;
    --awa-plp-gap-md: 12px;
    --awa-plp-gap-lg: 16px;
    --awa-plp-shell-max: min(100%, 1280px);
    --awa-container-catalog: 1280px;
}

/* Container — eixo 1280px */
html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper :is(.nav-breadcrumbs, #maincontent.page-main.container, .page-main.container) {
    box-sizing: border-box !important;
    margin-inline: auto !important;
    max-width: var(--awa-plp-shell-max) !important;
    padding-inline: clamp(12px, 2.5vw, 16px) !important;
    width: 100% !important;
}

html body#html-body:is(.catalog-category-view, .catalogsearch-result-index) .page-wrapper .page-main {
    padding-block-start: var(--awa-plp-gap-md) !important;
    padding-block-end: var(--awa-plp-gap-lg) !important;
}

/* Shell 2 col — sidebar fixa + main fluida */
html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .page-main > .columns.layout.layout-2-col {
    display: grid !important;
    column-gap: var(--awa-plp-gap-md) !important;
    row-gap: 0 !important;
    grid-template-columns: minmax(220px, 240px) minmax(0, 1fr) !important;
    align-items: start !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}

html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .page-main > .columns.layout.layout-2-col > [class*='col-'] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-inline: 0 !important;
}

@media (max-width: 991px) {
    html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
    .page-wrapper .page-main > .columns.layout.layout-2-col {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: var(--awa-plp-gap-md) !important;
    }
}

/* Grid de produtos */
html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper :is(
    ul.row.product-grid,
    ul.container-products-switch,
    .products-grid .product-items,
    .wrapper.grid.products-grid ul.product-grid,
    .wrapper.grid.products-grid ul.container-products-switch
) {
    display: grid !important;
    gap: var(--awa-plp-gap-md) !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    align-items: stretch !important;
}

@media (min-width: 1200px) {
    html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
    .page-wrapper :is(ul.row.product-grid, ul.container-products-switch, .products-grid .product-items) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
    .page-wrapper :is(ul.row.product-grid, ul.container-products-switch, .products-grid .product-items) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 480px) and (max-width: 991px) {
    html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
    .page-wrapper :is(ul.row.product-grid, ul.container-products-switch, .products-grid .product-items) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 479px) {
    html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
    .page-wrapper :is(ul.row.product-grid, ul.container-products-switch, .products-grid .product-items) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 359px) {
    html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
    .page-wrapper :is(ul.row.product-grid, ul.container-products-switch, .products-grid .product-items) {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Cards — densidade corporativa flat */
html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-width: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product :is(.product-info, .product-item-info) {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--awa-plp-gap-sm) !important;
    padding: var(--awa-plp-gap-sm) var(--awa-plp-gap-md) var(--awa-plp-gap-md) !important;
}

/* Hero + toolbar — ritmo compacto */
html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper :is(.awa-category-hero, .category-view-move) {
    margin-block-end: var(--awa-plp-gap-md) !important;
}

html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .toolbar.toolbar-products {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--awa-plp-gap-sm) var(--awa-plp-gap-md) !important;
    margin-block: var(--awa-plp-gap-sm) var(--awa-plp-gap-md) !important;
    padding: 0 !important;
}

html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper :is(.page-title-wrapper .page-title, .awa-category-hero__title, .shop-tab-title h1) {
    font-family: var(--awa-font-heading, "Rubik", system-ui, sans-serif) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin-block: 0 var(--awa-plp-gap-sm) !important;
}

/* Sidebar filtro — padding denso */
html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .sidebar.sidebar-main :is(.block.filter, #layered-ajax-filter-block) {
    padding: var(--awa-plp-gap-md) !important;
}

html body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .sidebar.sidebar-main .filter-options-title {
    padding-block: var(--awa-plp-gap-sm) !important;
    margin: 0 !important;
}

html body#html-body:is(.catalog-category-view, .catalogsearch-result-index) .page-wrapper .breadcrumbs {
    margin-block-end: var(--awa-plp-gap-xs) !important;
    padding: var(--awa-plp-gap-sm) var(--awa-plp-gap-md) !important;
}

/* Terminal density pass — corporate PLP grid, cards and controls in 4-16px rhythm. */
html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper :is(.nav-breadcrumbs, #maincontent.page-main.container, .page-main.container) {
    max-width: var(--awa-plp-shell-max) !important;
    padding-inline: clamp(12px, 2vw, 16px) !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .page-main > .columns.layout.layout-2-col {
    gap: var(--awa-plp-gap-md) !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper :is(
    ul.row.product-grid,
    ul.container-products-switch,
    .products-grid .product-items,
    .wrapper.grid.products-grid ul.product-grid,
    .wrapper.grid.products-grid ul.container-products-switch
) {
    align-items: stretch !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 1px solid var(--awa-border, color-mix(in srgb, CanvasText 12%, Canvas)) !important;
    border-radius: 8px !important;
    background: var(--awa-bg, Canvas) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product .product-thumb {
    aspect-ratio: 1 / 1 !important;
    display: block !important;
    width: 100% !important;
    max-height: clamp(132px, 22vw, 192px) !important;
    margin: 0 !important;
    padding: var(--awa-plp-gap-sm) !important;
    background: var(--awa-bg-soft, color-mix(in srgb, CanvasText 4%, Canvas)) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product .product-thumb :is(a, .first-thumb, .product-image-container, .product-image-wrapper) {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product .product-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product .product-info {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: var(--awa-plp-gap-sm) !important;
    min-height: 0 !important;
    padding: var(--awa-plp-gap-sm) var(--awa-plp-gap-md) var(--awa-plp-gap-md) !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product .product-name {
    min-height: calc(1.35em * 2) !important;
    margin: 0 !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product .product-item-link {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product :is(.product-reviews-summary, .product-item-inner, .actions-primary) {
    margin: 0 !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product :is(.b2b-login-to-see-price, .price-box) {
    margin-top: auto !important;
    padding: var(--awa-plp-gap-sm) !important;
    border-radius: 8px !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product :is(.b2b-login-link, .action.tocart, .action.primary) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding-inline: var(--awa-plp-gap-md) !important;
    border-radius: 8px !important;
    line-height: 1.25 !important;
}

html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper :is(.toolbar.toolbar-products, .toolbar-products) {
    min-height: 0 !important;
    margin-block: var(--awa-plp-gap-sm) var(--awa-plp-gap-md) !important;
    padding: var(--awa-plp-gap-sm) 0 !important;
    border-block: 1px solid var(--awa-border, color-mix(in srgb, CanvasText 12%, Canvas)) !important;
}

@media (max-width: 767px) {
    html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
    .page-wrapper :is(
        ul.row.product-grid,
        ul.container-products-switch,
        .products-grid .product-items,
        .wrapper.grid.products-grid ul.product-grid,
        .wrapper.grid.products-grid ul.container-products-switch
    ) {
        gap: var(--awa-plp-gap-sm) !important;
    }

    html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
    .page-wrapper .wrapper.grid.products-grid .item-product .product-thumb {
        max-height: 148px !important;
        padding: var(--awa-plp-gap-sm) !important;
    }

    html body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
    .page-wrapper .wrapper.grid.products-grid .item-product .product-info {
        padding: var(--awa-plp-gap-sm) !important;
    }
}

/* ── Terminal lock PLP — vence plp-distill / critical-fixes async (1280px, pad 16px) ── */
html body#html-body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper :is(
    .nav-breadcrumbs,
    #maincontent.page-main.container,
    .page-main.container
) {
    box-sizing: border-box !important;
    margin-inline: auto !important;
    max-width: min(100%, 1280px) !important;
    padding-inline: 16px !important;
    width: 100% !important;
}

html body#html-body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .page-main > .columns.layout.layout-2-col {
    column-gap: 12px !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}

html body#html-body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper :is(
    ul.row.product-grid,
    ul.container-products-switch,
    .products-grid .product-items
) {
    gap: 12px !important;
}

html body#html-body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
.page-wrapper .wrapper.grid.products-grid .item-product .product-item-link {
    font-size: 13px !important;
}

@media (max-width: 767px) {
    html body#html-body#html-body#html-body:is(.catalog-category-view, .catalogsearch-result-index)
    .page-wrapper .wrapper.grid.products-grid .item-product .product-item-link {
        font-size: 12px !important;
    }
}
