/* Shared public discovery presentation. Management cards are not targeted. */
.bb-product-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.bb-product-view { display: none; }
.bb-public-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.bb-public-product { display: flex; flex-direction: column; min-inline-size: 0; }
.bb-public-product__image { display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bb-surface-soft); color: var(--bb-muted); font-size: 2.5rem; }
.bb-public-product__image img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.bb-public-product__body { flex: 1; min-inline-size: 0; display: flex; flex-direction: column; gap: .65rem; padding: 1rem; overflow-wrap: anywhere; }
.bb-public-product__title { font-size: 1.05rem; font-weight: 800; line-height: 1.6; margin: 0; }
.bb-public-product__title a { color: var(--bb-text); text-decoration: none; }
.bb-public-product__title, .bb-public-product__description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.bb-public-product__description { color: var(--bb-muted); font-size: .85rem; line-height: 1.7; margin: 0; }
.bb-public-product__badges { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; }
.bb-public-product__badges .bb-status { max-inline-size: 100%; white-space: normal; }
.bb-public-product__category { color: var(--bb-muted); font-size: .75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bb-public-product__price { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: .3rem; color: var(--bb-green-dark); }
.bb-public-product__price strong { font-size: 1.05rem; }
.bb-public-product__price strong span { font-size: .75rem; }
.bb-public-product__quantity, .bb-public-product__reviews { font-size: .75rem; color: var(--bb-muted); }
.bb-public-product__tiered { color: var(--bb-green-dark); font-size: .75rem; line-height: 1.6; }
.bb-public-product__tiered-short { display: none; }
.bb-public-product__seller { display: flex; align-items: center; gap: .45rem; min-inline-size: 0; min-block-size: 44px; color: var(--bb-green-dark); text-decoration: none; }
.bb-public-product__seller img, .bb-public-product__avatar { inline-size: 32px; block-size: 32px; flex: 0 0 32px; object-fit: cover; border-radius: 50%; background: var(--bb-surface-soft); }
.bb-public-product__avatar { display: grid; place-items: center; color: var(--bb-muted); }
.bb-public-product__identity { min-inline-size: 0; }
.bb-public-product__seller-name { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .8rem; font-weight: 700; }
.bb-public-product__city { display: block; color: var(--bb-muted); font-size: .75rem; }
.bb-public-product__information { font-size: .8rem; }
.bb-public-product__information .bb-status { white-space: normal; }
.bb-public-product__actions { margin-block-start: auto; display: grid; gap: .5rem; }
.bb-public-product__actions form { margin: 0; min-inline-size: 0; }
.bb-public-product__actions .btn { display: flex; align-items: center; justify-content: center; gap: .3rem; inline-size: 100%; min-block-size: 44px; padding: .5rem; line-height: 1.5; white-space: normal; }
.bb-public-product__quick-add { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: .5rem; align-items: end; }
.bb-public-product__quantity-input input { inline-size: 100%; min-inline-size: 0; min-block-size: 44px; }
.bb-public-product :is(a, button, input):focus-visible, .bb-product-view button:focus-visible { outline: 3px solid var(--bb-green); outline-offset: 2px; }
.bb-public-catalog .pagination { flex-wrap: wrap; gap: .25rem; }

@media (min-width: 992px) {
    .bb-public-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bb-public-product-grid--home { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .bb-product-toolbar { min-block-size: 52px; }
    .bb-product-view:not([hidden]) { display: inline-flex; flex-shrink: 0; padding: 3px; gap: 3px; border: 1px solid var(--bb-border); border-radius: 13px; background: #fff; }
    .bb-product-view button { display: grid; place-items: center; inline-size: 44px; block-size: 44px; padding: 0; border: 0; border-radius: 9px; color: var(--bb-muted); background: transparent; }
    html:not([data-product-view="large"]) .bb-product-view [data-product-view="compact"],
    html[data-product-view="large"] .bb-product-view [data-product-view="large"] { color: var(--bb-green-dark); background: var(--bb-green-soft); box-shadow: inset 0 0 0 1px var(--bb-green); }
    .bb-public-product-grid { gap: .625rem; }
    .bb-public-product { border-radius: 14px; box-shadow: 0 2px 8px rgba(10, 45, 30, .04); }
    .bb-public-product:hover { transform: none; }
    .bb-public-product__body { padding: .625rem; gap: .4rem; }
    .bb-public-product__title { font-size: .875rem; line-height: 1.65; min-block-size: 3.3em; }
    .bb-public-product__badges .bb-status { font-size: .6875rem; padding: .2rem .4rem; line-height: 1.6; }
    .bb-public-product__price strong { font-size: .95rem; }
    .bb-public-product__seller img, .bb-public-product__avatar { inline-size: 24px; block-size: 24px; flex-basis: 24px; }
    .bb-public-product__seller-name { font-size: .75rem; }
    .bb-public-product__actions .btn { font-size: .8rem; }
    .bb-public-product__quick-add { grid-template-columns: minmax(0, 1fr); }
    .bb-public-product__quantity-input { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: .3rem; }
    .bb-public-product__quantity-input label { font-size: .75rem; margin: 0; }
    .bb-public-product__actions .bi { display: none; }
    html:not([data-product-view="large"]) .bb-public-product__description,
    html:not([data-product-view="large"]) .bb-public-product__category,
    html:not([data-product-view="large"]) .bb-public-product__city,
    html:not([data-product-view="large"]) .bb-public-product__quantity,
    html:not([data-product-view="large"]) .bb-public-product__reviews,
    html:not([data-product-view="large"]) .bb-public-product__tiered-hint,
    html:not([data-product-view="large"]) .bb-public-product__information,
    html:not([data-product-view="large"]) .bb-public-product__details { display: none; }
    html:not([data-product-view="large"]) .bb-public-product__tiered-short { display: inline; }
    html[data-product-view="large"] .bb-public-product-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    html[data-product-view="large"] .bb-public-product__image { aspect-ratio: 2 / 1; }
    html[data-product-view="large"] .bb-public-product__body { padding: .875rem; gap: .5rem; }
    html[data-product-view="large"] .bb-public-product__title { font-size: 1rem; min-block-size: 0; }
    html[data-product-view="large"] .bb-public-product__quick-add { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); }
    html[data-product-view="large"] .bb-public-product__quantity-input { display: block; }
}
