/**
 * Shared Website product-card language.
 * Used by Archive / Search / Related (rr-archive__*) and aligned with HOME cards.
 * Visual only — does not alter Woo ATC markup or query logic.
 */
body.rr-design-body {
  --rr-card-pad: 10px;
  --rr-card-media-radius: 12px;
  --rr-card-title-size: 14px;
  --rr-card-price-size: 14px;
  --rr-card-atc-size: 36px;
}

/* Archive / Search / Related cards */
body.rr-design-body .rr-archive__card {
  background: var(--rr-design-card, var(--rr-design-white));
  border: 1px solid transparent;
  border-radius: var(--rr-design-radius, 14px);
  padding: var(--rr-card-pad);
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  margin: 0;
  transition: box-shadow var(--rr-design-transition, 0.18s ease),
    border-color var(--rr-design-transition, 0.18s ease);
}
body.rr-design-body .rr-archive__card:hover {
  border-color: var(--rr-design-line, var(--rr-design-line));
  box-shadow: var(--rr-design-shadow, 0 10px 28px var(--rr-design-overlay-10));
}
body.rr-design-body .rr-archive__card-media {
  position: relative;
  aspect-ratio: 1;
  border-radius: var(--rr-card-media-radius);
  overflow: hidden;
  background: var(--rr-design-bar, var(--rr-design-bar));
  margin-bottom: 10px;
  display: block;
}
body.rr-design-body .rr-archive__card-media img,
body.rr-design-body .rr-archive__card-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 0.28s ease;
}
body.rr-design-body .rr-archive__card:hover .rr-archive__card-media img,
body.rr-design-body .rr-archive__card:hover .rr-archive__card-img {
  transform: scale(1.03);
}
body.rr-design-body .rr-archive__card-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--rr-design-bar, var(--rr-design-bar));
}
body.rr-design-body .rr-archive__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 8px;
  color: var(--rr-design-white);
  background: var(--rr-design-brand, var(--rr-design-brand));
}
body.rr-design-body .rr-archive__badge--sale {
  background: var(--rr-design-sale, var(--rr-design-sale));
}
body.rr-design-body .rr-archive__badge--new {
  background: var(--rr-design-new, var(--rr-design-brand));
}
body.rr-design-body .rr-archive__card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
body.rr-design-body .rr-archive__card-title {
  font-size: var(--rr-card-title-size);
  font-weight: 600;
  margin: 0 0 6px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: 2.6em;
}
body.rr-design-body .rr-archive__card-title a {
  color: inherit;
  text-decoration: none;
}
body.rr-design-body .rr-archive__card-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--rr-design-muted, var(--rr-design-muted));
  margin-bottom: 6px;
  min-height: 16px;
}
body.rr-design-body .rr-archive__card-rating .stars {
  color: var(--rr-design-star, var(--rr-design-star));
  letter-spacing: 1px;
}
body.rr-design-body .rr-archive__card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  min-width: 0;
}
body.rr-design-body .rr-archive__price {
  font-size: var(--rr-card-price-size);
  font-weight: 700;
  color: var(--rr-design-brand, var(--rr-design-brand));
  min-width: 0;
  flex: 1 1 auto;
  line-height: 1.35;
}
body.rr-design-body .rr-archive__price .price,
body.rr-design-body .rr-archive__price .woocommerce-Price-amount,
body.rr-design-body .rr-archive__price bdi {
  display: inline;
}
body.rr-design-body .rr-archive__price del {
  color: var(--rr-design-muted, var(--rr-design-muted));
  font-weight: 500;
  margin-right: 6px;
}
body.rr-design-body .rr-archive__price ins {
  color: var(--rr-design-sale, var(--rr-design-sale));
  text-decoration: none;
}
body.rr-design-body .rr-archive__atc,
body.rr-design-body.woocommerce a.rr-archive__atc.add_to_cart_button,
body.rr-design-body.woocommerce .rr-archive__atc.button {
  box-sizing: border-box;
  width: var(--rr-card-atc-size);
  height: var(--rr-card-atc-size);
  min-width: var(--rr-card-atc-size);
  max-width: var(--rr-card-atc-size);
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: var(--rr-design-radius-sm);
  background: var(--rr-design-brand, var(--rr-design-brand));
  color: var(--rr-design-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 var(--rr-card-atc-size);
  cursor: pointer;
  text-decoration: none;
  line-height: 1;
  font-size: 0;
  overflow: hidden;
  transition: background var(--rr-design-transition, 0.18s ease);
}
body.rr-design-body .rr-archive__atc:hover,
body.rr-design-body.woocommerce a.rr-archive__atc.add_to_cart_button:hover {
  background: var(--rr-design-brand-hover, var(--rr-design-brand-hover));
  color: var(--rr-design-white);
}
body.rr-design-body .rr-archive__atc svg {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* HOME product cards — keep same rhythm */
body.rr-design-body .rr-design-home__product {
  border-radius: var(--rr-design-radius, 14px);
  padding: var(--rr-card-pad);
}
body.rr-design-body .rr-design-home__product-media {
  border-radius: var(--rr-card-media-radius);
  background: var(--rr-design-bar, var(--rr-design-bar));
}
body.rr-design-body .rr-design-home__product-media img,
body.rr-design-body .rr-design-home__product-img {
  object-fit: contain;
}
body.rr-design-body .rr-design-home__product-title {
  font-size: var(--rr-card-title-size);
  font-weight: 600;
}
body.rr-design-body .rr-design-home__price {
  font-size: var(--rr-card-price-size);
  color: var(--rr-design-brand, var(--rr-design-brand));
}
body.rr-design-body .rr-design-home__atc {
  width: var(--rr-card-atc-size);
  height: var(--rr-card-atc-size);
  min-width: var(--rr-card-atc-size);
  max-width: var(--rr-card-atc-size);
  flex-basis: var(--rr-card-atc-size);
}

/* Sparse grids: single card keeps natural width, left-aligned */
body.rr-design-body .rr-design-home__product-grid:has(> :only-child),
body.rr-design-body .rr-archive__grid:has(> :only-child),
body.rr-design-body .rr-search__grid:has(> :only-child),
body.rr-design-body .rr-product__related-grid:has(> :only-child) {
  justify-items: start;
}
body.rr-design-body .rr-design-home__product-grid > :only-child,
body.rr-design-body .rr-archive__grid.is-grid-4 > :only-child,
body.rr-design-body .rr-archive__grid.is-grid-3 > :only-child,
body.rr-design-body .rr-search__grid.is-grid > :only-child,
body.rr-design-body .rr-product__related-grid > :only-child {
  width: 100%;
  max-width: 280px;
}
