.product.product-card { container-type:inline-size; }
/* A little more card width, while retaining the existing responsive column counts. */
#category-products > [class*="col-"], #recent-arrivals-container > [class*="col-"] { padding-left:.6rem; padding-right:.6rem; }
.product.product-card > .product-media-fixed { aspect-ratio:4 / 5; }
@media(min-width:992px) { .product.product-card { max-width:310px; } }
@media(max-width:576px) { #category-products > [class*="col-"] { width:88%; max-width:88%; flex:0 0 auto; } }
@media(max-width:500px) { #recent-arrivals-container > [class*="col-"] { width:90%; max-width:90%; flex:0 0 auto; } }
/* A consistent information rhythm below the existing product imagery. */
.product.product-card > .product-card-content { display:flex; flex:1; flex-direction:column; padding:1.4rem 1.4rem 1.2rem; text-align:left; min-width:0; background:#fff; }
.product-card-content .pc-summary { flex:0 0 auto; min-width:0; }
.product-card-content .pc-category { margin:0 0 .45rem; min-height:1.6rem; line-height:1.6rem; }
.product-card-content .pc-category a { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#797b84; font-size:1.05rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.product.product-card .pc-title { margin:0 0 .5rem; height:4rem; min-height:4rem; line-height:2rem; font-size:1.55rem; font-weight:500; letter-spacing:-.015em; }
.product-card-content .pc-title a { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; color:#262735; }
.product-card-content .pc-title a:hover { color:#873e48; }
.product-card-content .pc-description { display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; height:1.8rem; margin:0 0 .6rem; color:#85858e; font-size:1.2rem; line-height:1.8rem; }
.product-card-content .pc-reference { display:flex; align-items:baseline; gap:.6rem; min-width:0; height:1.6rem; margin:0 0 .9rem; color:#8d8e96; font-size:1.05rem; line-height:1.6rem; }
.product-card-content .pc-reference-label { flex-shrink:0; color:#a1a1a8; }
.product-card-content .pc-code { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; letter-spacing:.025em; }
.product-card-content .pc-price-row { display:flex; align-items:center; justify-content:space-between; gap:.6rem; min-height:4.4rem; padding:0 0 .8rem; }
.product.product-card .pc-price { display:flex; flex-direction:column; align-items:flex-start !important; justify-content:flex-start !important; text-align:left !important; gap:.3rem; min-height:3.6rem; margin:0 !important; min-width:0; line-height:1.25; }
.product.product-card .pc-price .new-price { display:block; margin:0; color:#272739; font-size:clamp(1.35rem,8cqw,1.85rem); font-weight:600; letter-spacing:-.035em; white-space:nowrap; font-variant-numeric:tabular-nums; }
.product.product-card .pc-price .old-price { display:block; margin:0; color:#a1a1aa; text-decoration:line-through; font-size:1.15rem; font-weight:400; white-space:nowrap; }
.product-card-content .pc-discount { flex-shrink:0; align-self:center; margin:0; border-radius:5px; background:#f5e9eb; color:#873e48; padding:.2rem .5rem; font-size:1.05rem; font-weight:500; line-height:1.4; }
.product.product-card .pc-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.65rem; min-height:3.6rem; margin: auto 0 0; padding-top:.8rem; align-content:flex-start; border-top:1px solid #efeff2; }
.product-card-content .pc-review-link { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; color:#555662; font-size:1.1rem; line-height:1.5; text-decoration:none; }
.product-card-content .pc-review-link:hover { color:#272739; }
.product-card-content .pc-review-link:focus-visible { outline:2px solid #777a99; outline-offset:3px; }
.product-card-content .ratings, .product-card-content .ratings-val { font-size:1.15rem; letter-spacing:.05em; line-height:1; }
.product-card-content .ratings { color:#e1e1e6; flex-shrink:0; }
.product-card-content .ratings-val { color:#b39758; }
.product-card-content .pc-rating-value { font-weight:500; }
.product-card-content .pc-review-count { color:#8c8d96; font-size:1.05rem; }
.product.product-card .pc-swatches { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:.8rem; margin:0; }
.product.product-card .pc-swatches a { width:1.6rem; height:1.6rem; flex-shrink:0; margin:0; border:2px solid #fff; box-shadow:0 0 0 1px #dcdde2; }
.product.product-card .pc-swatches a.active { box-shadow: 0 0 0 2px #26264c; }
.product.product-card .pc-swatches a:focus-visible { outline: 2px solid #802d3b; outline-offset: 3px; }
.product.product-card.pc-color-selected .product-image-hover { display: none; }
.product.product-card.pc-color-selected .product-image-main { opacity: 1 !important; }
@media(max-width:575px) {
 .product.product-card > .product-card-content { padding:1.2rem 1rem 1rem; }
 .product.product-card .pc-title { font-size:1.35rem; line-height:1.9rem; height:3.8rem; min-height:3.8rem; }
 .product-card-content .pc-description { font-size:1.1rem; line-height:1.65rem; height:1.65rem; }
 .product-card-content .pc-reference { font-size:1rem; margin-bottom:.8rem; }
 .product.product-card .pc-price .new-price { font-size:clamp(1.2rem,10cqw,1.5rem); letter-spacing:-.04em; }
 .product.product-card .pc-price .old-price { font-size:1.05rem; }
 .product-card-content .pc-price-row { flex-wrap:wrap; gap:.4rem; align-content:flex-start; min-height:4.8rem; }
 .product-card-content .pc-discount { font-size:.95rem; padding:.2rem .45rem; margin-top:.2rem; }
 .product-card-content .pc-review-word { display:none; }
 .product-card-content .pc-review-link { gap:.35rem; }
 .product-card-content .pc-footer { min-height:4.2rem; align-content:flex-start; }
}

.product-card-content .pc-price-meta { display:flex; flex-wrap:wrap; align-self:stretch; align-items:center; justify-content:flex-start; text-align:left; margin:0; padding:0; gap:.5rem; }
.product.product-card .pc-swatches .pc-more-colors { width:auto; height:auto; border:0; box-shadow:none; background:none; color:#777; font-size:1rem; line-height:1; }
@container (max-width:230px) { .product-card-content .pc-review-word { display:none; } }

/* Single-card mobile layouts need less reserved space than a multi-column grid. */
@media(max-width:575px) {
 @container (min-width:240px) {
  .product.product-card > .product-card-content { padding:1.3rem 1.4rem 1.1rem; }
  .product.product-card .pc-title { height:auto; min-height:0; font-size:1.55rem; line-height:2.1rem; margin-bottom:.5rem; }
  .product-card-content .pc-description { height:auto; font-size:1.2rem; line-height:1.8rem; margin-bottom:.6rem; }
  .product-card-content .pc-description[aria-hidden="true"], .product-card-content .pc-reference[aria-hidden="true"] { display:none; }
  .product.product-card .pc-price .new-price { font-size:1.9rem; }
  .product-card-content .pc-price-row { min-height:4.7rem; }
  .product.product-card .pc-footer { min-height:3.6rem; }
  .product-card-content .pc-review-word { display:inline; }
 }
}

.product.product-card .pc-price .new-price, .product.product-card .pc-price .old-price { padding:0; text-align:left; }
.product.product-card .pc-footer-colors-only { justify-content:flex-start; }
