/* One card layout for WooCommerce loops, homepage shortcodes and favorites. */
.woocommerce ul.products:has(.michel-product-card),.home-products .woocommerce ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;margin:0 0 28px;padding:0}
.woocommerce ul.products:has(.michel-product-card)::before,.woocommerce ul.products:has(.michel-product-card)::after{display:none}
.woocommerce ul.products li.product.michel-product-card,.home-products .woocommerce ul.products li.product.michel-product-card{float:none;width:auto!important;min-width:0;margin:0!important;padding:10.5px;display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #E8ECE5;border-radius:16px;box-shadow:none;color:#1E1E1E;transition:border-color .18s}
.woocommerce ul.products li.product.michel-product-card:hover{border-color:#bfceaF}
.michel-product-card .card-picture{position:relative;aspect-ratio:1;background:#F6F8F3;border-radius:12px;overflow:hidden;max-height:240px;margin-bottom:10.5px}
.michel-product-card .card-image-link{display:block;width:100%;height:100%}
.woocommerce ul.products li.product.michel-product-card .card-picture img{width:100%;height:100%;aspect-ratio:1;object-fit:contain;margin:0;border-radius:12px;mix-blend-mode:multiply}
.michel-product-card .michel-favorite-button{top:6px;right:6px;width:44px;height:44px;background:#fff;border-color:#e8ece5;z-index:2}
.michel-product-card .card-sale{position:absolute;top:12px;left:10px;border-radius:6px;padding:4px 7px;font-size:11px;font-weight:700;line-height:1.3;color:var(--michel-on-action);background:var(--michel-action)}
.michel-product-card .card-title-link{color:#1E1E1E;text-decoration:none;display:block;margin:0 0 7px;min-width:0}
.woocommerce ul.products li.product.michel-product-card .woocommerce-loop-product__title{font-size:14px;font-weight:600;line-height:1.45;height:4.35em;min-height:0;padding:0;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;color:inherit}
.michel-product-card .card-title-link:hover{color:var(--michel-soft-ink)}
.michel-product-card .card-stock{display:flex;align-items:center;gap:6px;font-size:11px;line-height:18px;height:18px;white-space:nowrap;color:#666;margin-bottom:4px}
.michel-product-card .card-stock>span{width:5px;height:5px;border-radius:50%;background:#999;flex:none}
.michel-product-card .card-stock.is-available>span{background:#7CB342}
.michel-product-card .card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;height:68px;min-height:68px;margin-top:auto;min-width:0}
.michel-product-card .card-price{position:relative;min-width:0;flex:1;line-height:22px}
.michel-product-card .card-price-value{display:inline-block;font-size:19px;font-weight:700;line-height:24px;white-space:nowrap;color:#1E1E1E}
.michel-product-card .card-price-value ins{background:none;text-decoration:none;color:inherit;font-weight:700}
.michel-product-card .card-price-value del{position:absolute;bottom:100%;left:0;font-size:11px;font-weight:400;line-height:16px;color:#777;opacity:1}
.michel-product-card .card-from{font-size:11px;font-weight:400}
.michel-product-card .card-price-unit{position:absolute;top:100%;left:0;font-size:11px;line-height:17px;font-weight:400;color:#666;white-space:nowrap}
.michel-product-card .card-price-pending{font-size:11px;white-space:normal;line-height:14px;display:block}
.michel-product-card .card-actions{position:relative;flex:none;height:44px;display:flex;align-items:center;gap:0}
.michel-product-card .card-cart-button,.michel-product-card .card-quantity button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;margin:0;border:0;border-radius:11px;text-decoration:none;font-size:23px;line-height:1;cursor:pointer;box-sizing:border-box}
.michel-product-card .card-cart-button svg{width:22px;height:22px;stroke:currentColor}
.michel-product-card .card-cart-button:disabled{cursor:default}
.michel-product-card .card-quantity{display:flex;align-items:center;background:var(--michel-ui-bg);border-radius:11px;height:44px}
.michel-product-card .card-quantity button{background:transparent;color:var(--michel-ui-active-text);font-size:21px}
.michel-product-card .card-quantity button:hover{background:var(--michel-ui-active-bg)}
.michel-product-card .card-quantity button:disabled{color:var(--michel-disabled-ink);cursor:default}
.michel-product-card .card-quantity output{min-width:24px;text-align:center;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--michel-ui-text)}
.michel-product-card .card-in-cart{display:none}
.michel-product-card.is-compact .card-quantity{display:none}
.michel-product-card.is-compact .card-in-cart{display:inline-flex}
.michel-product-card .card-quantity-badge{position:absolute;right:-3px;top:-6px;min-width:18px;height:18px;padding:0 3px;border:2px solid #fff;border-radius:12px;background:var(--michel-action);color:var(--michel-on-action);font-size:10px;line-height:14px;font-weight:600;text-align:center;box-sizing:content-box}
.michel-product-card .card-total-weight{position:absolute;top:46px;right:0;left:0;text-align:center;white-space:nowrap;font-size:10px;line-height:14px;color:#666}
.michel-product-card[aria-busy="true"] .card-actions{opacity:.55;cursor:wait}
.michel-product-card [aria-disabled="true"]{pointer-events:none}
.michel-product-card :is(a,button):focus-visible{outline:2px solid #527d2a;outline-offset:3px}
@media(min-width:768px) and (max-width:1023px){.woocommerce ul.products:has(.michel-product-card),.home-products .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(max-width:600px){
 .woocommerce ul.products:has(.michel-product-card),.home-products .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .woocommerce ul.products li.product.michel-product-card,.home-products .woocommerce ul.products li.product.michel-product-card{padding:8px;border-radius:13px}
 .michel-product-card .card-picture{margin-bottom:10px;border-radius:10px}
 .woocommerce ul.products li.product.michel-product-card .woocommerce-loop-product__title{font-size:12px;line-height:1.45;height:4.35em}
 .michel-product-card .card-price-value{font-size:16px;line-height:22px}
 .michel-product-card .card-stock{font-size:10px;gap:4px}
 .michel-product-card .michel-favorite-button{right:3px;top:3px}
 .michel-product-card .card-footer{gap:4px}
 .michel-product-card .card-sale{top:auto;bottom:7px;left:7px;font-size:10px}
}
@media(max-width:350px){.michel-product-card .card-price-value{font-size:14px}.woocommerce ul.products li.product.michel-product-card,.home-products .woocommerce ul.products li.product.michel-product-card{padding:6px}.michel-product-card .card-stock{font-size:9px}}
@media(prefers-reduced-motion:reduce){.woocommerce ul.products li.product.michel-product-card{transition:none}}

/* Shared viewport grid. Container rules only reduce columns when space is constrained. */
@media(min-width:1024px){
 .woocommerce ul.products:has(.michel-product-card),.home-products .woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
}
@media(min-width:1600px){
 .woocommerce ul.products:has(.michel-product-card),.home-products .woocommerce ul.products{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@supports(container-type:inline-size){
 .woocommerce:has(> ul.products > .michel-product-card),
 #michel-favorites-results:has(> ul.products > .michel-product-card),
 .woocommerce :is(.related,.upsells,.cross-sells):has(> ul.products > .michel-product-card){container:michel-products / inline-size}
 @media(min-width:1600px){
  @container michel-products (width < 1280px){
   .woocommerce ul.products:has(.michel-product-card),.home-products .woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}
  }
 }
 @media(min-width:1024px){
  @container michel-products (width < 940px){
   .woocommerce ul.products:has(.michel-product-card),.home-products .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  }
 }
 @container michel-products (width < 640px){
  .woocommerce ul.products:has(.michel-product-card),.home-products .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 }
}
