/* Catalogue cards: real imagery, full names, aligned offers, optional evidence. */
.catalog-results-content .product-grid {
  grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));
  gap:20px;
  align-items:start;
}
.catalog-results-content .product-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  content-visibility:visible;
  transition:border-color var(--fast);
}
.catalog-results-content .product-card:hover {transform:none;border-color:#949490}
.product-card a.product-card-photo {
  display:grid;
  place-items:center;
  position:relative;
  aspect-ratio:4/3;
  border-radius:12px 12px 0 0;
  overflow:hidden;
}
.product-card-photo img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  padding:12px;
  object-fit:contain;
}
.product-card-placeholder {color:var(--muted);font-size:14px}
.product-card .product-card-copy {display:flex;flex:1;flex-direction:column;padding:20px}
.product-card h3 {
  margin:0 0 12px;
  font-family:var(--font);
  font-size:17px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:normal;
}
.product-card h3 a:hover {text-decoration:underline;text-underline-offset:3px}
.product-card-sku {margin:0 0 20px;color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.product-card-offer {margin-top:auto}
.product-card .product-price {margin:0 0 4px;font-size:26px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.product-card .product-price--request {font-size:20px;line-height:1.56}
.product-card-stock {margin:0 0 16px;color:var(--muted);font-size:13px}
.product-card-stock--available {color:#28643e}
.product-card a.product-card-details {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:10px 12px;
  border-radius:6px;
  background:var(--paper);
  color:var(--ink);
  font-size:14px;
  font-weight:700;
  transition:background var(--fast);
}
.product-card a.product-card-details:hover {background:var(--accent)}
.product-card-details svg,.product-card-fitment svg {
  width:20px;
  height:20px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.product-card-fitment {margin:0 20px;border-top:1px solid var(--line)}
.product-card-fitment summary {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:12px 0;
  cursor:pointer;
  list-style:none;
  color:var(--ink);
  font-size:13px;
  font-weight:700;
}
.product-card-fitment summary::-webkit-details-marker {display:none}
.product-card-fitment[open] summary svg {transform:rotate(180deg)}
.product-card-fitment-copy {padding:4px 0 20px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.product-card-fitment-copy p {margin:0 0 12px}
.product-card-fitment-copy a {padding:6px 0;text-decoration:underline;text-underline-offset:3px}
.product-card a:focus-visible,.product-card summary:focus-visible {outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.catalog-fitment-caption {margin:24px 0 0;color:var(--muted);font-size:14px}
@media(max-width:560px) {
  .catalog-results-content .product-grid {gap:16px}
  .catalog-results-content .product-card {display:grid;grid-template-columns:104px minmax(0,1fr);height:auto}
  .product-card a.product-card-photo {aspect-ratio:1;margin:12px 0 0 8px;border-radius:8px}
  .product-card-photo img {padding:4px}
  .product-card .product-card-copy {padding:16px 12px}
  .product-card h3 {font-size:15px;line-height:1.4;margin-bottom:8px}
  .product-card-sku {margin-bottom:12px;font-size:11px}
  .product-card .product-price {font-size:22px}
  .product-card .product-price--request {font-size:18px;line-height:1.45}
  .product-card-stock {font-size:12px;margin-bottom:12px}
  .product-card a.product-card-details {font-size:12px;padding:8px;gap:4px}
  .product-card-fitment {grid-column:1/-1;margin:0 16px}
}
@media(prefers-reduced-motion:reduce) {
  .catalog-results-content .product-card,.product-card a.product-card-details {transition:none}
}
