/* TEST — canonical catalog cover fit.
   Canonical visual canvases: catalog card 900x600 (3:2), PDP/master 1600x1067 (3:2).
   Cover images must use the frame, remain complete, and never reveal a second box. */

/* All catalog covers: remove the old oversized padding/88% constraint.
   object-fit:contain keeps the subject complete; the much smaller inset makes the
   product visually fill the card without cropping. */
.catalog-card.family-cover .catalog-card__media,
.catalog-card.model-cover .catalog-card__media,
.catalog-card.discipline-cover .catalog-card__media,
.catalog-card.equipment-cover .catalog-card__media,
.catalog-card.apparel-cover .catalog-card__media {
  padding: 6px !important;
  overflow: hidden !important;
  background: #0a0b0c !important;
}

.catalog-card.family-cover .catalog-card__media img,
.catalog-card.model-cover .catalog-card__media img,
.catalog-card.discipline-cover .catalog-card__media img,
.catalog-card.equipment-cover .catalog-card__media img,
.catalog-card.apparel-cover .catalog-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Synced product assets already carry the SAENZ graphite stage. Feather the stage
   into the card so the image canvas never reads as a rectangle inside another. */
.catalog-card.family-cover .catalog-card__media,
.catalog-card.model-cover .catalog-card__media,
.catalog-card.equipment-cover .catalog-card__media,
.catalog-card.apparel-cover .catalog-card__media {
  position: relative !important;
}

.catalog-card.family-cover .catalog-card__media::after,
.catalog-card.model-cover .catalog-card__media::after,
.catalog-card.equipment-cover .catalog-card__media::after,
.catalog-card.apparel-cover .catalog-card__media::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: -2px;
  pointer-events: none;
  background: radial-gradient(ellipse 84% 84% at 50% 50%,
    transparent 0%,
    transparent 64%,
    rgba(10,11,12,.08) 73%,
    rgba(10,11,12,.26) 82%,
    rgba(10,11,12,.60) 92%,
    #0a0b0c 100%);
}

/* Indumentaria: Remeras already use the approved contained framing. Restore
   Jerseys and Medias to the same contained scale so heads/socks are not cropped.
   Scope strictly by product href so other catalog categories are untouched. */
html.apparel-catalog .catalog-card.model-cover[href*="categoria=jerseys"] .catalog-card__media img,
html.apparel-catalog .catalog-card.model-cover[href*="categoria=socks"] .catalog-card__media img {
  transform: scale(1.12) !important;
  transform-origin: center center !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Pumps: their current card assets include generous internal margins, so optical
   enlargement is still required after the global frame correction. */
.model-cover .catalog-card__media:has(img[src*="/pumps/"]) {
  padding: 0 !important;
}
.model-cover .catalog-card__media:has(img[src*="/pumps/"]) img {
  transform: scale(1.18) !important;
  transform-origin: center center !important;
}

/* Long/compact pumps. */
.model-cover .catalog-card__media:has(img[src*="air-tool-switch-sport"]) img,
.model-cover .catalog-card__media:has(img[src*="air-tool-mtb-mini-con-soporte"]) img,
.model-cover .catalog-card__media:has(img[src*="air-tool-road-mini"]) img,
.model-cover .catalog-card__media:has(img[src*="air-tool-big-bore"]) img {
  transform: scale(1.34) !important;
}

/* Air Tool Comp V2: lower the visual center slightly inside its card. */
.model-cover .catalog-card__media:has(img[src*="air-tool-comp-v2"]) img {
  transform: translateY(5%) scale(1.18) !important;
}

@media (max-width: 620px) {
  .catalog-card.family-cover .catalog-card__media,
  .catalog-card.model-cover .catalog-card__media,
  .catalog-card.discipline-cover .catalog-card__media,
  .catalog-card.equipment-cover .catalog-card__media,
  .catalog-card.apparel-cover .catalog-card__media { padding: 4px !important; }

  html.apparel-catalog .catalog-card.model-cover[href*="categoria=jerseys"] .catalog-card__media img,
  html.apparel-catalog .catalog-card.model-cover[href*="categoria=socks"] .catalog-card__media img {
    transform: scale(1.08) !important;
  }

  .model-cover .catalog-card__media:has(img[src*="/pumps/"]) img {
    transform: scale(1.22) !important;
  }
  .model-cover .catalog-card__media:has(img[src*="air-tool-switch-sport"]) img,
  .model-cover .catalog-card__media:has(img[src*="air-tool-mtb-mini-con-soporte"]) img,
  .model-cover .catalog-card__media:has(img[src*="air-tool-road-mini"]) img,
  .model-cover .catalog-card__media:has(img[src*="air-tool-big-bore"]) img {
    transform: scale(1.40) !important;
  }
  .model-cover .catalog-card__media:has(img[src*="air-tool-comp-v2"]) img {
    transform: translateY(5%) scale(1.22) !important;
  }
}
