/* Preserve the original compact menu while showcasing product imagery. */
.product-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 132px;
}

.product-visual,
.product-visual.has-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 132px;
  padding: 0;
  border-right: 1px solid var(--line);
}

.product-visual::after,
.product-visual.has-image::after { display: none; }

.product-visual:not(.has-image) {
  display: grid;
  place-items: center;
  padding: 12px;
}

.product-image {
  object-fit: cover;
  object-position: center;
  transition: transform .3s ease, filter .3s ease;
}

.product-card:hover .product-image {
  transform: scale(1.035);
  filter: saturate(1.06);
}

.product-body {
  min-width: 0;
  padding: 17px 19px;
}

.product-title { margin-top: 2px; }
.product-description { display: block; margin-top: 5px; }
.product-bottom { align-self: center; }

@media (max-width: 620px) {
  .topbar { padding-left: 13px; padding-right: 13px; }
  .brand { flex: 0 0 auto; gap: 9px; font-size: 15px; letter-spacing: -1px; }
  .brand > span:last-child { display: inline-block; white-space: nowrap; }
  .topbar-actions { flex: 0 0 auto; gap: 8px; }
  .admin-link { font-size: 10px; }
  .product-card { grid-template-columns: 94px minmax(0, 1fr); min-height: 116px; }
  .product-visual,
  .product-visual.has-image { min-height: 116px; }
  .product-body { padding: 12px; }
  .product-description { display: none; }
}

@media (max-width: 350px) {
  .brand-mark { width: 34px; height: 34px; }
  .brand { font-size: 14px; }
}
