/* Shared card controls and compact mobile product layout. */
.product__image-link { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; background: transparent; color: inherit; display: grid; place-items: center; cursor: pointer; font: inherit; }
.product__image-link:focus-visible { outline: 3px solid var(--c-primary); outline-offset: -3px; }
.product__code { display: none; }
.product__footer { padding: 0 16px 16px; margin-top: auto; }
.product > .product__body { padding-bottom: 0; }
@media (max-width: 600px) {
  #clientView .product-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  #clientView .product {
    display: grid; grid-template-columns: 104px minmax(0, 1fr);
    grid-template-areas: "image info" "actions actions";
    align-items: start; gap: 12px; padding: 12px; border-radius: 16px;
  }
  #clientView .product:hover { transform: none; }
  #clientView .product__img {
    grid-area: image; width: 104px; min-width: 104px; height: 104px;
    aspect-ratio: 1; align-self: start; margin: 0; border-radius: 12px;
  }
  #clientView .product__img img { border-radius: 12px; object-fit: cover; }
  #clientView .product__icon-fallback { font-size: 36px; }
  #clientView .product__body, #clientView .product--compact .product__body {
    grid-area: info; padding: 0; min-width: 0; gap: 4px;
  }
  #clientView .product__game { font-size: 10px; line-height: 1.3; margin: 0; overflow-wrap: anywhere; }
  #clientView .product__title, #clientView .product--compact .product__title {
    font-size: 15px; line-height: 1.35; margin: 0; min-height: 0;
    -webkit-line-clamp: 2; overflow-wrap: anywhere;
  }
  #clientView .product__code { display: block; font-size: 10px; line-height: 1.3; color: var(--c-text-mute); overflow-wrap: anywhere; }
  #clientView .product__desc, #clientView .product__attrs { display: none; }
  #clientView .product__stock { margin: 0; }
  #clientView .product__stock-num { display: inline-block; width: auto; padding: 2px 7px; font-size: 11px; border-radius: 6px; max-width: 100%; }
  #clientView .product__stock-num b { font-size: 11px; }
  #clientView .product__svc-stat { margin: 0; font-size: 11px; line-height: 1.4; }
  #clientView .product__price-row { flex-wrap: wrap; margin: 0; gap: 2px 8px; line-height: 1.35; }
  #clientView .product__price, #clientView .product--compact .product__price { font-size: 17px; overflow-wrap: anywhere; }
  #clientView .product__price-old { font-size: 11px; }
  #clientView .product__footer { grid-area: actions; margin: 0; padding: 0; min-width: 0; }
  #clientView .product__actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
  #clientView .product__buy, #clientView .product__info-btn, #clientView .product--compact .product__buy {
    min-height: 44px; width: 100%; padding: 10px 8px; font-size: 13px; line-height: 1.3;
    border-radius: 10px; white-space: normal;
  }
  #clientView .product__img .product__id { display: none; }
  #clientView .product__badge { top: 4px; left: 4px; font-size: 9px; padding: 3px 5px; max-width: calc(100% - 8px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; }
  #clientView .product__badge--disc { top: auto; bottom: 4px; left: 4px; right: auto; animation: none; }
  #clientView .product__chips { top: auto; bottom: 4px; right: 4px; gap: 3px; pointer-events: none; }
  #clientView .product__chip { font-size: 9px; padding: 3px 5px; border-radius: 5px; animation: none; }
  #clientView .search { min-height: 44px; }
  #clientView .search input { min-width: 0; padding: 10px 14px; }
  #clientView .search button { padding: 0 16px; min-width: 48px; }
}
@media (max-width: 380px) {
  #clientView .product { grid-template-columns: 96px minmax(0, 1fr); gap: 10px; padding: 10px; }
  #clientView .product__img { width: 96px; min-width: 96px; height: 96px; }
}
/* Product lists inside parent categories use their own card markup. */
@media (max-width: 600px) {
  #clientView .subcat-section__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  #clientView .scp-card {
    display: grid; grid-template-columns: 104px minmax(0, 1fr);
    grid-template-rows: auto auto; grid-template-areas: "img body" "act act";
    align-items: start; gap: 12px; padding: 12px; border-radius: 16px;
  }
  #clientView .scp-card:hover { transform: none; }
  #clientView .scp-card__img {
    width: 104px; min-width: 104px; height: 104px; min-height: 0;
    aspect-ratio: 1; align-self: start; border-radius: 12px;
  }
  #clientView .scp-card__img img { object-fit: cover; }
  #clientView .scp-card__img .product__image-link > span { font-size: 36px !important; }
  #clientView .scp-card__body { padding: 0; min-width: 0; gap: 4px; }
  #clientView .scp-card__title { font-size: 15px; min-height: 0; margin: 0; line-height: 1.35; overflow-wrap: anywhere; -webkit-line-clamp: 2; }
  #clientView .scp-card__stat { font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
  #clientView .scp-card__price { margin: 0; font-size: 17px; line-height: 1.35; overflow-wrap: anywhere; }
  #clientView .scp-card__actions, #clientView .scp-card > .scp-card__btn { margin: 0; min-width: 0; }
  #clientView .scp-card__actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
  #clientView .scp-card__btn, #clientView .scp-card__actions .scp-card__btn {
    min-height: 44px; width: 100%; padding: 10px 8px; margin: 0;
    font-size: 13px; line-height: 1.3; border-radius: 10px; text-transform: none;
    letter-spacing: normal; white-space: normal;
  }
  #clientView .scp-card__btn:disabled { opacity: .5; cursor: not-allowed; }
  #clientView .scp-card__img .product__chips { top: auto; bottom: 4px; right: 4px; gap: 3px; pointer-events: none; }
  #clientView .scp-card__img .product__chip { font-size: 9px; padding: 3px 5px; border-radius: 5px; animation: none; }
}
@media (max-width: 380px) {
  #clientView .scp-card { grid-template-columns: 96px minmax(0, 1fr); gap: 10px; padding: 10px; }
  #clientView .scp-card__img { width: 96px; min-width: 96px; height: 96px; }
}
