/* Contenedor del banner */
.ogcatbanner {
  display: block;
  width: 100%;
}

/* Banner de ancho completo: ocupa toda la fila del grid */
.ogcatbanner--full-width {
  grid-column: 1 / -1;
}

/* Banner tamaño producto: se comporta como un producto más en la grilla.
   Matchea la altura de las product cards con overflow hidden. */
.ogcatbanner--product-size {
  overflow: hidden;
  border-radius: var(--radius-card-site, 8px);
  box-shadow: var(--shadow-card, 0 0 4px 0 rgba(0, 0, 0, 0.12));
}

.ogcatbanner--product-size .ogcatbanner-link,
.ogcatbanner--product-size picture {
  display: block;
  width: 100%;
  height: 100%;
}

.ogcatbanner--product-size .ogcatbanner-img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  border-radius: 0;
}

.ogcatbanner-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.ogcatbanner picture {
  display: block;
  width: 100%;
}

.ogcatbanner-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

/* ── Visibilidad por breakpoint (para posiciones desktop ≠ mobile) ── */

@media (max-width: 767px) {
  .ogcatbanner--desktop-only {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .ogcatbanner--mobile-only {
    display: none !important;
  }
}
