/* Shared homepage and shop card styling. Container styles control only the grid. */
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card{position:relative;display:block;float:none;width:auto;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;transition:transform 180ms ease}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card:hover{transform:translateY(-4px)}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .product-visual{position:relative;display:block;min-height:0;margin:0 0 24px;overflow:hidden;border-radius:8px;background:#f4f8fb;box-shadow:0 18px 36px rgba(10,36,64,.08)}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .product-visual>.woocommerce-LoopProduct-link{display:block;height:auto}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .product-visual img{display:block;width:100%;height:auto;aspect-ratio:12 / 13;margin:0;object-fit:contain;background:#f4f8fb;border-radius:8px}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .ml-product-category{margin:0 0 8px;color:#5d6570;font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .ml-product-title-link{display:block;color:#2f3036;text-decoration:none;background:transparent;border:0;padding:0;box-shadow:none}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .woocommerce-loop-product__title{margin:0 0 20px;padding:0;color:inherit;font-size:.95rem;font-weight:800;line-height:1.3;letter-spacing:0;text-transform:uppercase}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .ml-product-title-link:hover{color:var(--blue)}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card>.star-rating{display:none}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card>.price{display:flex;align-items:center;gap:8px;margin:0;color:var(--blue);font-size:1rem;font-weight:800;line-height:1;letter-spacing:0}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card>.price span{font-size:1rem;letter-spacing:0}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .cart-bar{position:absolute;top:auto;left:16px;right:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:48px;margin:0;padding:0 20px;border:0;border-radius:999px;background:var(--blue);color:#fff;font-size:.875rem;font-weight:300;line-height:1.5;letter-spacing:1px;text-transform:none;box-shadow:none;opacity:0;transform:translateY(100%);pointer-events:none;transition:180ms ease}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card:hover .cart-bar{opacity:1;transform:none;pointer-events:auto}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card:focus-within .cart-bar{opacity:1;transform:none;pointer-events:auto}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .cart-bar:hover{background:#111;color:#fff;transform:none;box-shadow:none}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .cart-bar.ml-cart-plus{gap:8px}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .cart-bar.ml-cart-plus::before{content:"";display:block;flex:0 0 14px;width:14px;height:14px;background:linear-gradient(currentColor 0 0) center / 14px 2px no-repeat,linear-gradient(currentColor 0 0) center / 2px 14px no-repeat}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .ml-catalog-wishlist{position:absolute;top:18px;right:18px;z-index:2;opacity:0;transform:translateX(14px);transition:180ms ease;pointer-events:none}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .ml-catalog-wishlist button{display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;background:#fff;color:#222;box-shadow:0 10px 24px rgba(10,36,64,.12);cursor:pointer}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .ml-catalog-wishlist svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .ml-catalog-wishlist button[aria-pressed=true] svg{fill:#dceeff}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card:hover .ml-catalog-wishlist{opacity:1;transform:none;pointer-events:auto}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card:focus-within .ml-catalog-wishlist{opacity:1;transform:none;pointer-events:auto}
body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .product-visual>.added_to_cart{position:absolute;left:16px;right:16px;bottom:72px;display:block;padding:8px;border-radius:6px;background:#fff;color:var(--navy);font-size:.875rem;line-height:1.5;letter-spacing:0;text-align:center}
@media(hover:none){body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .cart-bar,body:is(.ml-theme.woocommerce,.ml-theme) :is(article,li).product-card.ml-product-card .ml-catalog-wishlist{opacity:1;transform:none;pointer-events:auto}}

/* Product grids share spacing; surrounding sections own their backgrounds. */
body:is(.ml-theme.woocommerce,.ml-theme) :is(.product-grid,ul.products,.wc-block-grid__products,.wc-block-product-template){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px;list-style:none;min-width:0;padding:0;background:transparent}
.ml-theme :is(ul.products,.wc-block-grid__products,.wc-block-product-template){margin:0 0 36px}
.ml-theme :is(ul.products,.wc-block-grid__products,.wc-block-product-template)::before,.ml-theme :is(ul.products,.wc-block-grid__products,.wc-block-product-template)::after{display:none}
.ml-theme :is(.related.products,.up-sells.products){clear:both;background:transparent;padding:0;margin:48px 0 0}
.ml-theme :is(.related.products,.up-sells.products,.cross-sells)>h2{margin:0 0 24px;font-size:1.5rem;line-height:1.3;color:var(--navy)}
.ml-theme :is(.related.products,.up-sells.products,.cross-sells)>ul.products{margin:0}
.ml-theme .wc-block-product-template>li:has(>.ml-product-card){min-width:0;margin:0;padding:0;background:transparent;border:0}
.ml-theme .wc-block-grid__products>li.ml-product-card{max-width:none;text-align:left}
body:is(.ml-theme.woocommerce,.ml-theme) .wp-block-woocommerce-cart .wc-block-product-template{grid-template-columns:repeat(2,minmax(0,1fr))}
.ml-theme #ml-wishlist{margin-bottom:32px}
.ml-theme .ml-wishlist-message{grid-column:1 / -1;margin:0;padding:24px 0}
@media(max-width:1180px){body:is(.ml-theme.woocommerce,.ml-theme) :is(.product-grid,ul.products,.wc-block-grid__products,.wc-block-product-template){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body:is(.ml-theme.woocommerce,.ml-theme) :is(.product-grid,ul.products,.wc-block-grid__products,.wc-block-product-template),body:is(.ml-theme.woocommerce,.ml-theme) .wp-block-woocommerce-cart .wc-block-product-template{grid-template-columns:minmax(0,1fr);gap:32px}.ml-theme :is(.related.products,.up-sells.products){margin-top:32px}}

/* Client-rendered WooCommerce product badges follow the shared card display. */
.ml-theme .onsale,.ml-theme .wc-block-grid__product-onsale,.ml-theme .wc-block-components-product-sale-badge,.ml-theme .wp-block-woocommerce-product-sale-badge{display:none}
