/* doc-project | public/assets/css/product-card.css | stylise les cartes produit, images, badges, prix, favori et action panier */
.product-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 8px 30px rgb(66 22 37 / 5%); transition: transform .25s var(--ease), box-shadow .25s var(--ease); }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.product-card__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--blush); }
.product-card__media > a, .product-card__media picture { display: block; width: 100%; height: 100%; }
.product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.product-card:hover .product-card__media img { transform: scale(1.035); }
.product-card__badges { position: absolute; top: .6rem; left: .6rem; display: flex; flex-wrap: wrap; gap: .35rem; max-width: calc(100% - 3.8rem); }
.product-card__favorite { position: absolute; top: .55rem; right: .55rem; margin: 0; }
.product-card__favorite .icon-button { width: 2.35rem; height: 2.35rem; background: rgb(255 255 255 / 90%); }
.product-card__body { padding: .8rem; }
.product-card__body h3 { min-height: 2.6em; margin: .2rem 0 .65rem; font-size: .98rem; line-height: 1.28; }
.product-card__bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: .55rem; }
.product-card__bottom .icon-button { width: 2.4rem; height: 2.4rem; }
.price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; margin: 0; }
.price del { color: var(--ink-soft); font-size: .7rem; }
.price strong { color: var(--wine); font-size: .9rem; }
@media (min-width: 700px) { .product-card__body { padding: 1rem; } .product-card__body h3 { font-size: 1.08rem; } .price strong { font-size: 1rem; } }