/* Product cards (archives, related). The merchant button is the loudest element. */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{float:none;width:auto;margin:0;display:flex;flex-direction:column;padding:12px;background:var(--lb-surface);border:1px solid var(--lb-border);border-radius:var(--lb-radius);box-sizing:border-box;position:relative}
/* beat Astra's float grid (.woocommerce ul.products.columns-N li.product{width:16.95%} etc.) */
.woocommerce ul.products[class] li.product[class],.woocommerce-page ul.products[class] li.product[class]{float:none;width:auto;min-width:0;margin:0;clear:none;box-shadow:none}
.woocommerce ul.products[class] li.product[class]:hover{box-shadow:0 6px 18px rgba(29,29,31,.08)}
.woocommerce ul.products li.product .show-on-hover{display:none}
.woocommerce ul.products li.product .astra-shop-summary-wrap{padding:0;display:flex;flex-direction:column;flex:1 1 auto}
.woocommerce ul.products li.product .astra-shop-summary-wrap .lb-cta{width:100%;box-sizing:border-box}
.woocommerce ul.products li.product img{border-radius:10px;margin-bottom:10px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--lb-title);font-family:var(--lb-font-head);font-weight:700;font-stretch:100%;text-transform:none;letter-spacing:0;font-size:1rem;line-height:1.25;padding:0;margin:0 0 6px}
.woocommerce ul.products li.product .price{display:block;margin:0 0 10px;color:var(--lb-ink);font-weight:700}
.woocommerce ul.products li.product .price del{opacity:.5;font-weight:400}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce span.onsale{background:var(--lb-green);color:#fff;border-radius:999px;min-height:0;min-width:0;line-height:1;padding:7px 12px;font-weight:700;top:10px;left:10px;right:auto}
.woocommerce ul.products li.product .button.lb-cta,.lb-cta{display:flex;align-items:center;justify-content:center;margin-top:auto;padding:14px 16px;border-radius:999px;background:var(--lb-red-ink);color:#fff;font-weight:700;font-size:1rem;line-height:1.2;text-align:center;text-decoration:none;border:0}
.woocommerce ul.products li.product .button.lb-cta:hover,.lb-cta:hover{filter:brightness(1.08);color:#fff;text-decoration:none}
.lb-card__details{display:block;margin-top:8px;text-align:center;font-weight:600;font-size:.9rem}
/* it plugin wrapper keeps working: its own "Vedi scheda" sits under our button */
.mc-loop-actions{display:flex;flex-direction:column-reverse;gap:8px;margin-top:auto}
.mc-loop-actions .lb-cta{margin-top:0}
@media (min-width:700px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media (min-width:1100px){.woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Astra sizes related/upsell items as % of the row (.woocommerce-page.rel-up-columns-4 div.product .related.products ul.products li.product{width:calc(25% - 15px)}), which in our grid shrinks each card to 25% of its cell */
.woocommerce div.product .related.products ul.products[class] li.product[class],.woocommerce div.product .upsells.products ul.products[class] li.product[class]{width:auto!important;margin:0}
/* Availability badge (LEGO.com): pre-order / coming soon only; on cards it sits right above the merchant button */
.lb-avail{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:700;line-height:1.2;background:#e8f3ec;color:var(--lb-green)}
.lb-avail::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 auto}
.lb-avail--preorder{background:#e7f0fb;color:#1857a8}
.lb-avail--soon{background:#fff4d6;color:#8a5a00}
.woocommerce ul.products li.product .lb-avail{margin:auto 0 8px}
.woocommerce ul.products li.product .lb-avail + .button.lb-cta,.woocommerce ul.products li.product .lb-avail + .mc-loop-actions{margin-top:0}
