/* Catalogue cards: shared by shop, category, shortcode and related-product loops. */
body.woocommerce ul.products li.product,
body .woocommerce ul.products li.product {
 display:flex; flex-direction:column; position:relative; padding:0!important;
 overflow:hidden; background:#fff; border:1px solid #e3e8f0; border-radius:14px;
 box-shadow:0 3px 14px rgba(20,39,79,.045); text-align:left;
 transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;
}
body.woocommerce ul.products li.product:hover,
body .woocommerce ul.products li.product:hover {
 border-color:#bdcce0; box-shadow:0 10px 28px rgba(20,39,79,.11); transform:translateY(-3px);
}
body ul.products li.product .astra-shop-thumbnail-wrap { margin:0!important; padding:16px; background:#f7f9fc; border-bottom:1px solid #edf0f5; }
body ul.products li.product .astra-shop-thumbnail-wrap > a.woocommerce-loop-product__link { display:flex; align-items:center; justify-content:center; aspect-ratio:1/1; background:#fff; border-radius:9px; overflow:hidden; }
body ul.products li.product .astra-shop-thumbnail-wrap img { width:100%!important; height:100%!important; object-fit:contain; margin:0!important; padding:8px; mix-blend-mode:multiply; }
body ul.products li.product .astra-shop-summary-wrap { display:flex; flex-direction:column; flex:1 1 auto; padding:18px 18px 12px; margin:0!important; }
body ul.products li.product .woocommerce-loop-product__title { font-size:16px!important; line-height:1.45!important; font-weight:650!important; color:#17284e!important; margin:0 0 8px!important; min-height:2.9em; overflow-wrap:anywhere; }
body ul.products li.product .ast-woo-product-category { font-size:12px!important; color:#68768b!important; line-height:1.5; margin:0 0 12px!important; }
body ul.products li.product .price { display:flex!important; align-items:baseline; flex-wrap:wrap; gap:5px 8px; margin: auto 0 0!important; color:#13264a!important; font-size:18px!important; line-height:1.5; font-weight:700!important; }
body ul.products li.product .price del { color:#778397!important; font-size:13px; font-weight:400; opacity:1!important; }
body ul.products li.product .price ins { color:#13264a!important; font-weight:750; background:transparent; text-decoration:none; }
body ul.products li.product .ast-onsale-card, body ul.products li.product .onsale { top:26px!important; left:26px!important; right:auto!important; margin:0!important; background:#13264a!important; color:#fff!important; font-size:11px!important; line-height:1.3!important; font-weight:700; border-radius:5px!important; min-width:0!important; min-height:0!important; padding:6px 10px!important; box-shadow:none!important; z-index:2; }
body ul.products li.product .ast-select-options-trigger { display:none!important; }
body ul.products li.product .pbss-card-action { padding:0 18px 18px; margin-top:auto; }
body ul.products li.product .pbss-card-action > a.button { display:flex!important; justify-content:center; align-items:center; width:100%; min-height:44px; margin:0!important; padding:11px 12px!important; background:#ffcc00!important; color:#172044!important; border:1px solid #e8b900!important; border-radius:7px!important; font-size:13px!important; font-weight:700!important; line-height:1.4; text-decoration:none; white-space:normal; }
body ul.products li.product .pbss-card-action > a.button:hover { background:#edbd00!important; }
body ul.products li.product .pbss-card-action > a.added_to_cart { display:block; text-align:center; padding-top:8px; font-size:13px; font-weight:600; color:#163c75; }
body ul.products li.product a:focus-visible { outline:3px solid #427fc4!important; outline-offset:-3px; }
@media(max-width:767px) {
 body ul.products li.product .astra-shop-thumbnail-wrap { padding:9px; }
 body ul.products li.product .astra-shop-summary-wrap { padding:12px 10px 10px; }
 body ul.products li.product .woocommerce-loop-product__title { font-size:14px!important; }
 body ul.products li.product .ast-woo-product-category { font-size:11px!important; margin-bottom:9px!important; }
 body ul.products li.product .price { font-size:16px!important; gap:3px 6px; }
 body ul.products li.product .price del { font-size:12px; }
 body ul.products li.product .pbss-card-action { padding:0 10px 12px; }
 body ul.products li.product .ast-onsale-card, body ul.products li.product .onsale { top:16px!important; left:16px!important; padding:5px 8px!important; }
}
@media(prefers-reduced-motion:reduce) { body ul.products li.product { transition:none!important; transform:none!important; } }
