/* Product photography system: complete silhouettes, consistent stages and spacing. */
:root { --product-stage: #f3f5f6; }
.family-media,
.product-card-media,
.related-section .product-card-media,
.product-detail-visual,
.technology-visual,
.compare-table img { background: var(--product-stage); }
.family-media,
.product-card-media { height: auto; aspect-ratio: 4 / 3; overflow: hidden; }
.family-media img,
.product-card-media img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 18px; }
.family-media img[src*="eubiq-studio-"],
.product-card-media img[src*="eubiq-studio-"],
.product-detail-visual > img[src*="eubiq-studio-"],
.technology-visual img[src*="eubiq-studio-"],
.compare-table img[src*="eubiq-studio-"],
.gallery-thumbs img[src*="eubiq-studio-"] { padding: 0; mix-blend-mode: normal; }
.product-card-media .product-code { z-index: 1; background: rgba(243,245,246,.9); padding: 4px 7px; top: 14px; left: 14px; max-width: calc(100% - 28px); }
.product-detail-visual > img { display: block; object-fit: contain; }
.gallery-thumbs button { background: var(--product-stage); }
.family-card:hover .family-media img { transform: none; }
.product-card-media img,
.family-media img { transition: opacity .25s ease; }
.product-card-media:hover img { opacity: .92; }
@media (max-width: 600px) {
  .family-media img,
  .product-card-media img { padding: 10px; }
  .product-card-media .product-code { font-size: 7px; top: 7px; left: 7px; max-width: calc(100% - 14px); padding: 3px 4px; }
}
@media (max-width: 480px) {
  .product-grid,
  .related-section .product-grid { grid-template-columns: 1fr; gap: 32px; }
  .product-card h3 { font-size: 23px; min-height: 0; margin-block: 10px 20px; }
  .product-card .small-label { font-size: 9px; }
  .product-card-media .product-code { font-size: 9px; top: 12px; left: 12px; padding: 4px 6px; }
  .card-bottom .text-link { font-size: 11px; gap: 10px; }
  .shortlist-add { width: 36px; height: 36px; }
}
