/* newage product card: shared by home, category, search, manufacturer and related-product lists */
.pgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--g-md); }
.pcard {
  position: relative; background: var(--white); border: 1px solid var(--line); border-radius: 6px; overflow: hidden;
  display: flex; flex-direction: column; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.pcard:hover, .pcard:focus-within { transform: translateY(-4px); border-color: #DCD6D0; box-shadow: 0 20px 40px -26px rgba(32, 32, 32, .5); }
.pcard-link { display: flex; flex-direction: column; flex: 1; }
.pcard .shot { position: relative; aspect-ratio: 1 / 1; background: #F3EEE9; overflow: hidden; }
.pcard .shot img { width: 100%; height: 100%; object-fit: contain; padding: 14px; transition: transform .5s cubic-bezier(.2, .7, .3, 1); }
.pcard:hover .shot img { transform: scale(1.05); }
.psave {
  position: absolute; top: 10px; left: 10px; background: var(--orange-cta); color: #fff;
  font-size: 12.5px; font-weight: 700; letter-spacing: .06em; padding: 5px 10px; border-radius: 3px;
}
.pflag {
  position: absolute; top: 10px; right: 10px; background: var(--charcoal); color: #fff;
  font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 5px 9px; border-radius: 3px;
}
.pcard .body { padding: 16px 18px 12px; display: flex; flex-direction: column; flex: 1; }
.pcard .brand { font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: #6b6764; }
.pcard h3 { font-family: var(--body); font-size: 16px; font-weight: 500; line-height: 1.4; color: var(--charcoal); margin: 5px 0 12px; flex: 1; }
.pcard .promo-name { font-size: 12.5px; font-weight: 600; color: var(--orange-cta); margin: -6px 0 10px; }
.pcard .price { display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; }
.pcard .now { font-family: var(--head); font-size: 24px; line-height: 1; color: var(--charcoal); }
.pcard .was { font-size: 14.5px; color: #6f6862; text-decoration: line-through; }
.pcard .rrp { font-size: 12.5px; color: #6f6862; margin-top: 5px; }
.pcard .stock { font-size: 12.5px; margin-top: 6px; color: #2f6b3d; }
.pcard .stock.out { color: #a43a1a; }
.pcard-add {
  margin: 0 18px 18px; padding: 11px 14px; border: 1px solid var(--charcoal); border-radius: 2px; background: transparent; color: var(--charcoal);
  font-size: 13px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.pcard-add:hover:not(:disabled) { background: var(--orange-cta); border-color: var(--orange-cta); color: #fff; }
.pcard-add:disabled { opacity: .45; cursor: default; }

@media (max-width: 1080px) { .pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pcard .body { padding: 12px 12px 8px; } .pcard-add { margin: 0 12px 12px; } .pcard .now { font-size: 21px; } }
