.ngsuprema-contatos-catalogo { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; margin-top: 8px; }
.ngsuprema-contatos-catalogo a { display: inline-flex; align-items: center; justify-content: center; flex: 1 1 70px; min-width: 0; min-height: 34px; padding: 7px 8px; border-radius: 4px; font-family: inherit; font-size: 11px; font-weight: 700; text-decoration: none !important; text-transform: uppercase; text-align: center; }
.ngsuprema-catalogo-whatsapp { background: #378729; color: #fff !important; } .ngsuprema-catalogo-email { background: #212121; color: #fff !important; }

/* Mantém os contatos visíveis fora das ações de compra/hover do tema. */
.product-grid-item .product-element-bottom > .ngsuprema-contatos-catalogo,
.wd-product .product-element-bottom > .ngsuprema-contatos-catalogo { display: flex !important; visibility: visible !important; opacity: 1 !important; position: static !important; }

/* Contatos empilhados e alinhados na base, inclusive nos cards sem preço. */
:is(.wd-products, .products):not(.ngs-visualizacao-lista) { align-items: stretch; }
:is(.wd-products, .products):not(.ngs-visualizacao-lista) > .product-grid-item { display: flex; }
:is(.wd-products, .products):not(.ngs-visualizacao-lista) > .product-grid-item > .product-wrapper {
    display: flex; flex-direction: column; width: 100%; height: 100%; box-sizing: border-box;
}
:is(.wd-products, .products):not(.ngs-visualizacao-lista) > .product-grid-item .product-element-bottom {
    display: flex; flex-direction: column; flex: 1; min-width: 0;
}
.product-grid-item .product-element-bottom > .ngsuprema-contatos-catalogo,
.wd-product .product-element-bottom > .ngsuprema-contatos-catalogo {
    flex-direction: column !important;
    flex-shrink: 0;
    margin-top: auto !important;
    padding-top: 8px;
}
.product-grid-item .ngsuprema-contatos-catalogo > a,
.wd-product .ngsuprema-contatos-catalogo > a {
    flex: 0 0 auto !important; width: 100%; box-sizing: border-box;
}
:is(.wd-products, .products) > .product-grid-item .product-element-bottom > .wd-add-btn {
    margin-top: 12px !important;
}
:is(.wd-products, .products) > .product-grid-item .wd-add-btn > a {
    display: flex; align-items: center; justify-content: center;
    width: 100%; min-height: 60px; box-sizing: border-box;
    padding: 10px 12px; line-height: 1.25; white-space: normal;
}
:is(.wd-products, .products) .wd-add-btn > a.ngs-ver-produto {
    background-color: #1e73be !important; color: #fff !important;
    font-weight: 700; text-transform: uppercase;
}
/* Mesmas linhas em todos os cards, inclusive quando o preço não existe. */
.product-grid-item:has(.ngsuprema-contatos-catalogo):not(.ngs-visualizacao-lista *) > .product-wrapper { height: auto !important; min-height: 0 !important; }
.product-grid-item:has(.ngsuprema-contatos-catalogo):not(.ngs-visualizacao-lista *) .product-element-bottom {
 display: grid !important; grid-template-columns: minmax(0, 1fr); grid-template-rows: 4.2em minmax(76px, auto) auto 52px; gap: 8px; align-content: start;
}
.product-grid-item:has(.ngsuprema-contatos-catalogo):not(.ngs-visualizacao-lista *) .wd-entities-title {
 grid-row: 1; margin: 0 !important; line-height: 1.4 !important; height: 4.2em !important; min-height: 0 !important;
 display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.product-grid-item:has(.ngsuprema-contatos-catalogo):not(.ngs-visualizacao-lista *) .price { grid-row: 2; min-height: 0 !important; margin: 0 !important; }
.product-grid-item:has(.ngsuprema-contatos-catalogo):not(.ngs-visualizacao-lista *) .ngsuprema-contatos-catalogo { grid-row: 3; margin: 0 !important; padding: 0 !important; gap: 6px !important; }
.product-grid-item:has(.ngsuprema-contatos-catalogo) .ngsuprema-contatos-catalogo > a { min-height: 38px !important; padding: 8px !important; line-height: 22px !important; }
.product-grid-item:has(.ngsuprema-contatos-catalogo):not(.ngs-visualizacao-lista *) .product-element-bottom > .wd-add-btn { grid-row: 4; margin: 0 !important; padding: 0 !important; width: 100%; }
.product-grid-item:has(.ngsuprema-contatos-catalogo) .product-element-bottom > .wd-add-btn > a { height: 52px !important; min-height: 52px !important; padding: 8px 12px !important; line-height: 18px !important; }
.product-grid-item:has(.ngsuprema-contatos-catalogo):not(.ngs-visualizacao-lista *) .product-element-top { aspect-ratio: 1.15 / 1 !important; margin-bottom: 10px !important; }

/* Normaliza a caixa nativa do WoodMart (incluindo wd-add-btn-replace). */
.product-grid-item:has(.ngsuprema-contatos-catalogo):not(.ngs-visualizacao-lista *) .product-element-bottom {
    height: auto !important; min-height: 0 !important;
    grid-template-rows: 4.2em 76px 82px 52px !important;
    padding-bottom: 0 !important;
}
.product-grid-item:has(.ngsuprema-contatos-catalogo) .product-element-bottom > .wd-add-btn {
    position: static !important; transform: none !important; height: 52px !important; min-height: 0 !important;
}
.product-grid-item:has(.ngsuprema-contatos-catalogo) .product-element-bottom > .wd-add-btn > a {
    display: flex !important; align-items: center !important; justify-content: center !important;
    height: 52px !important; min-height: 52px !important; max-height: 52px !important;
    margin: 0 !important; border: 0 !important; box-sizing: border-box !important;
}
.product-grid-item:has(.ngsuprema-contatos-catalogo) .ngsuprema-contatos-catalogo > a {
    height: 38px !important; min-height: 38px !important; max-height: 38px !important;
    margin: 0 !important; box-sizing: border-box !important;
}.product-grid-item .ngsuprema-contatos-catalogo.ngs-contatos-linha { flex-direction: row !important; flex-wrap: nowrap !important; align-items: start; } .product-grid-item .ngsuprema-contatos-catalogo.ngs-contatos-linha > a { flex: 1 1 0 !important; width: auto !important; } .product-grid-item .ngsuprema-contatos-catalogo.ngs-contatos-coluna { flex-direction: column !important; }

/* Ação principal uniforme, com ou sem contatos no card. */
.product-grid-item .wd-add-btn.wd-add-btn-replace,
.product-grid-item .wd-add-btn:has(> a.button) {
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
}
.product-grid-item .wd-add-btn > a.button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    padding: 8px 12px !important;
    border: 0 !important;
    margin: 0 !important;
    line-height: 18px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
    white-space: normal !important;
}
.product-grid-item .wd-add-btn > a.button > span {
    line-height: 18px !important;
}

/* Tipografia dos botões do catálogo, incluindo os textos internos do tema. */
.product-grid-item .wd-add-btn > a.button,
.product-grid-item .wd-add-btn > a.button > span,
.product-grid-item .wd-add-btn > a.button .wd-action-text,
.product-grid-item .ngsuprema-contatos-catalogo > a {
    font-size: 12px !important;
    line-height: 18px !important;
    font-family: inherit !important;
}
