/* Ehrl Rotax Shop – Kategoriebilder V1 */
.category-card.has-image {
  min-height: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  overflow: hidden;
  position: relative;
}
.category-card.has-image .category-card-media {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 12px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}
.category-card.has-image .category-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform .22s ease;
}
.category-card.has-image:hover .category-card-media img { transform: scale(1.025); }
.category-card.has-image .category-card-content {
  display: block;
  min-height: 82px;
  padding: 15px 48px 15px 16px;
  background: #fff;
}
.category-card.has-image .category-card-content strong {
  display: block;
  line-height: 1.25;
}
.category-card.has-image .category-card-content small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
}
.category-card.has-image .category-card-arrow {
  position: absolute;
  right: 16px;
  bottom: 20px;
  color: var(--blue);
  font-weight: 900;
  font-size: 1.2rem;
}
.category-card:not(.has-image) .category-card-content { flex: 1; }
.category-card:not(.has-image) .category-card-arrow { margin-left: auto; }
@media (min-width: 1181px) {
  .category-card-grid:has(.category-card.has-image) { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
}
@media (max-width: 1180px) {
  .category-card-grid:has(.category-card.has-image) { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
}
@media (max-width: 850px) {
  .category-card-grid:has(.category-card.has-image) { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .category-card-grid:has(.category-card.has-image) { grid-template-columns: 1fr; }
  .category-card.has-image .category-card-media { aspect-ratio: 16 / 11; }
}
/* =========================================================
   KATEGORIEBILDER – IMMER VOLLSTÄNDIG SICHTBAR
   ========================================================= */

.category-image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;

  height: 240px;
  padding: 18px;

  background: #fff;
  overflow: hidden;
}

.category-image-wrap img {
  display: block;

  width: auto !important;
  height: auto !important;

  max-width: 100% !important;
  max-height: 100% !important;

  object-fit: contain !important;
  object-position: center !important;
}

.category-image-wrap,
.category-card-image {
  display: flex;
  align-items: center;
  justify-content: center;

  height: 240px;
  padding: 18px;

  background: #fff;
  overflow: hidden;
}

.category-image-wrap img,
.category-card-image img {
  display: block;

  width: auto !important;
  height: auto !important;

  max-width: 100% !important;
  max-height: 100% !important;

  object-fit: contain !important;
  object-position: center !important;
}

/* =========================================================
   KATEGORIEBILDER – KOMPLETT SICHTBAR
   ========================================================= */

.category-card.has-image .category-card-media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 300px;
  aspect-ratio: auto;

  padding: 16px;
  background: #ffffff;
  overflow: hidden;

  border-bottom: 1px solid var(--line);
}

.category-card.has-image .category-card-media img {
  display: block;

  width: 100% !important;
  height: 100% !important;

  max-width: 100% !important;
  max-height: 100% !important;

  object-fit: contain !important;
  object-position: center center !important;
}

/* Kein Hineinzoomen beim Überfahren */
.category-card.has-image:hover .category-card-media img {
  transform: none;
}


/* Tablet */
@media (max-width: 1180px) {
  .category-card.has-image .category-card-media {
    height: 280px;
  }
}


/* Smartphone */
@media (max-width: 520px) {
  .category-card.has-image .category-card-media {
    height: 260px;
    padding: 12px;
  }
}