/* Sprint 47 – affiliate-card readability and commercial clarity.
 * Loaded after the original site styles, without changing the selection engine.
 * This overrides the article prose link colour ONLY within card CTAs.
 */
.product-shelf .product-card,.product-compare .product-card,.finder-products .product-card{
  border:1px solid #51434c;
  border-radius:18px;
  background:#1d1921;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
  transition:border-color .18s ease,transform .18s ease;
}
.product-shelf .product-card:hover,.product-compare .product-card:hover,.finder-products .product-card:hover{
  border-color:#998078;
  transform:translateY(-2px);
}
.product-shelf .product-image,.product-compare .product-image,.finder-products .product-image{
  position:relative;
  aspect-ratio:1.28/1;
  padding:12px;
  background:#faf8f6;
  overflow:hidden;
}
.product-shelf .product-image img,.product-compare .product-image img,.finder-products .product-image img{
  width:100%;height:100%;object-fit:contain;
  background:transparent;
  border-radius:5px;
}
.product-photo-note{
  position:absolute;
  bottom:9px;left:9px;
  padding:4px 8px;
  background:rgba(24,20,25,.88);
  border:1px solid rgba(255,255,255,.35);
  border-radius:6px;
  color:#fff;
  font-size:.68rem;
  font-weight:650;
  letter-spacing:0;
}
.product-shelf .product-body,.product-compare .product-body,.finder-products .product-body{
  gap:10px;
  padding:19px 19px 20px;
}
.product-card .product-source{
  color:#e9c6b1;
  font-weight:700;
  text-transform:uppercase;
  font-size:.71rem;
  letter-spacing:.045em;
}
.product-card .product-body h3{
  color:#ffe5ee;
  font-size:1.06rem;
  font-weight:750;
  line-height:1.34;
  text-wrap:pretty;
  margin:0;
}
.product-card .product-keyfacts{
  margin:0 0 4px!important;
}
.product-card .product-keyfacts li{
  padding:6px 9px;
  font-size:.74rem;
  color:#f5e5e7;
  border:1px solid #725967;
  background:#352932;
}
.product-card .product-meta{
  gap:3px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.1);
}
.product-card .product-merchant{
  color:#cfb8bd;
  font-size:.76rem;
  font-weight:650;
  margin-bottom:4px;
}
.product-card .product-meta strong{
  font-size:1.35rem;
  font-weight:850;
  color:#fff;
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.product-card .product-meta span:not(.product-merchant){
  color:#c9b8bd;
  font-size:.76rem;
  line-height:1.35;
}
/* High specificity prevents prose link rules from tinting the CTA pink. */
.prose .product-card a.product-shop-cta,
.product-card a.product-shop-cta,
.prose .product-card a.product-shop-cta:visited,
.product-card a.product-shop-cta:visited{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  min-height:52px;
  padding:10px 15px;
  border:2px solid #e8cbb7;
  border-radius:999px;
  background:#e8cbb7;
  color:#20191d!important;
  text-decoration:none!important;
  font-size:.92rem;
  font-weight:850;
  line-height:1.3;
  text-align:center;
  cursor:pointer;
}
.prose .product-card a.product-shop-cta:hover,
.product-card a.product-shop-cta:hover{
  background:#ffdfc8;
  border-color:#ffdfc8;
  color:#1e171c!important;
}
.prose .product-card a.product-shop-cta:focus-visible,
.product-card a.product-shop-cta:focus-visible{
  outline:3px solid #fff;
  outline-offset:4px;
}
.product-card .product-shop-arrow{font-size:1.15em;line-height:1;flex-shrink:0}
.product-shelf .product-quality-note,.product-compare .product-quality-note,
.finder-products .product-quality-note{
  color:#d5c1c7;
  font-size:.83rem;
  line-height:1.65;
}
.product-quality-note a{
  color:#f0c6ad;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:650px){
  .product-shelf .product-image,.product-compare .product-image,.finder-products .product-image{aspect-ratio:1.42/1}
  .product-shelf .product-body,.product-compare .product-body,.finder-products .product-body{padding:16px}
  .product-card .product-body h3{font-size:1.04rem}
}
@media(prefers-reduced-motion:reduce){
  .product-shelf .product-card,.product-compare .product-card,.finder-products .product-card{transition:none}
  .product-shelf .product-card:hover,.product-compare .product-card:hover,.finder-products .product-card:hover{transform:none}
}
