/*
 * Product card (home page slider, product catalogue, "You may also like").
 * Flat and compact: a light photo panel with a plain border, and a solid red text section with white text.
 */
/* A plain 1px border on all four sides, a light photo panel and a solid red text section (the text on it is white). */
.p-card { position: relative; display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; cursor: pointer; background: #fff; border: 1px solid #d8dce0; outline: 0; transition: border-color .25s ease, transform .25s ease; }
.p-card:hover, .p-card:focus-visible { color: inherit; border-color: var(--brand-red); transform: translateY(-4px); }

.p-card .p-media { position: relative; display: grid; place-items: center; aspect-ratio: 1 / .9; overflow: hidden; background: #f4f5f7; }
.p-card .p-media img { width: 100%; height: 100%; padding: .9rem; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s ease; }
.p-card:hover .p-media img, .p-card:focus-visible .p-media img { transform: scale(1.07); }

.p-card .p-body { display: flex; flex: 1; flex-direction: column; padding: .8rem .9rem .85rem; color: #fff; background: linear-gradient(135deg, #ed1c24 0%, #c8141b 100%); transition: background .3s ease; }
.p-card:hover .p-body, .p-card:focus-visible .p-body { background: linear-gradient(135deg, #d6171e 0%, #a9101a 100%); }
.p-card .p-brand { align-self: flex-start; margin-bottom: .4rem; padding: .15rem .5rem; color: var(--brand-red); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: #fff; }
.p-card .p-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 .2rem; color: #fff; font-family: var(--font-body); font-size: .95rem; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.p-card .p-meta { margin: 0 0 .65rem; overflow: hidden; color: rgba(255,255,255,.82); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }

.p-card .p-foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: auto; padding-top: .6rem; border-top: 1px solid rgba(255,255,255,.35); }
.p-card .p-stock { display: inline-flex; align-items: center; gap: .4rem; color: #fff; font-size: .72rem; font-weight: 700; }
.p-card .p-stock::before { content: ""; width: 7px; height: 7px; background: #86efac; }
.p-card .p-stock.is-request::before { background: #fde047; }
.p-card .p-go { display: grid; place-items: center; width: 28px; height: 28px; color: var(--brand-red); font-size: .85rem; background: #fff; transition: transform .25s ease; }
.p-card:hover .p-go, .p-card:focus-visible .p-go { transform: translateX(3px); }

/* List view of the catalogue: picture on the left, text on the right */
.product-grid.list-view .p-card { flex-direction: row; align-items: stretch; }
.product-grid.list-view .p-media { flex: 0 0 190px; aspect-ratio: auto; min-height: 150px; }
.product-grid.list-view .p-body { justify-content: center; padding: 1rem 1.3rem; }
.product-grid.list-view .p-name { font-size: 1.08rem; }
.product-grid.list-view .p-foot { margin-top: .4rem; }

@media (max-width: 575.98px) {
  .p-card .p-media img { padding: .6rem; }
  .p-card .p-body { padding: .65rem .7rem .7rem; }
  .p-card .p-name { font-size: .86rem; }
  .p-card .p-meta { font-size: .72rem; margin-bottom: .5rem; }
  .p-card .p-stock { font-size: .68rem; }
  .p-card .p-go { width: 24px; height: 24px; font-size: .75rem; }
  .product-grid.list-view .p-media { flex-basis: 110px; min-height: 120px; }
}

@media (prefers-reduced-motion: reduce) { .p-card, .p-card .p-media img, .p-card .p-go { transition: none; } }
