/* Shared product cards: homepage, archives, search, upsells and related products. */
.product-premium-card { padding: 0; width: 100%; max-width: none; height: 100%; display: flex; flex-direction: column; background: white; border: 1px solid #e0e5ef; border-radius: 16px; box-shadow: 0 4px 16px rgb(22 33 61 / 4%); }
.product-premium-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgb(22 33 61 / 8%); }
.product-premium-card .product-image-wrap { height: auto; aspect-ratio: 1; padding: .75rem; margin: 0; border-radius: 0; background: #f4f5fa; }
.product-premium-card .product-image { width: 100%; height: 100%; object-fit: contain; }
.product-premium-card:hover .product-image { transform: scale(1.04); }
.product-premium-card .product-info-panel { flex: 1; display: flex; flex-direction: column; justify-content: start !important; gap: .75rem; padding: 1rem; background: white; border: 0; border-radius: 0; }
.product-premium-card .product-title { font-size: .95rem; line-height: 1.5; margin: 0; color: #16213d; overflow-wrap: anywhere; }
.product-premium-card .product-price-action-row { margin-top: 0; }
.product-premium-card .product-price { font-size: 1.08rem; line-height: 1.5; color: #4834a8; overflow-wrap: anywhere; }
.product-premium-card .product-price del { color: #637088; font-size: .8em; opacity: 1; }
.product-premium-card .product-price ins { background: transparent; text-decoration: none; }
.product-premium-card .product-card-action { margin-top: auto; }
.product-card-action .button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding: .65rem .5rem; border-radius: 9px; background: #4834a8; color: white; font-size: .85rem; line-height: 1.4; text-align: center; white-space: normal; }
.product-card-action .button:hover { background: #382980; }
.product-card-action .added_to_cart { display: block; text-align: center; margin-top: .5rem; color: #4834a8; }
.product-premium-card .sale-badge { top: .65rem; left: .65rem; animation: none; box-shadow: none; font-size: .68rem; }
.product-premium-card .quick-view-btn { font-size: .8rem; }
.product-premium-card:focus-within .quick-view-wrap { opacity: 1; }
.product-premium-card :where(a, button):focus-visible { outline: 3px solid #3451cb; outline-offset: -3px; }
.woocommerce .related ul.products, .woocommerce .upsells ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.woocommerce .related ul.products::before, .woocommerce .related ul.products::after, .woocommerce .upsells ul.products::before, .woocommerce .upsells ul.products::after { display: none; }
.woocommerce .related ul.products li.product, .woocommerce .upsells ul.products li.product { float: none; width: auto; margin: 0; min-width: 0; }
@media (min-width: 1024px) {
  .woocommerce .related ul.products, .woocommerce .upsells ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
}
@media (max-width: 479px) {
  .product-premium-card .product-info-panel { padding: .7rem; gap: .6rem; }
  .product-premium-card .product-title { font-size: .85rem; }
  .product-premium-card .product-price { font-size: .95rem; }
}
@media (prefers-reduced-motion: reduce) {
  .product-premium-card, .product-premium-card .product-image { transition: none; transform: none !important; }
}
