.l2d-catalog-fallback {
  max-width: 1540px;
  margin: 0 auto;
  padding: 8px 20px 28px;
}

.l2d-catalog-fallback__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.l2d-catalog-fallback__card {
  display: grid;
  overflow: hidden;
  border: 1px solid #e2e7ec;
  border-radius: 8px;
  background: #fff;
  color: #111417 !important;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(17, 20, 23, 0.06);
}

.l2d-catalog-fallback__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #eef2f5;
}

.l2d-catalog-fallback__body {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.l2d-catalog-fallback__name {
  margin: 0;
  color: #111417 !important;
  font-size: 20px;
  line-height: 1.18;
  font-weight: 800;
}

.l2d-catalog-fallback__meta {
  display: flex;
  gap: 12px;
  color: #667085 !important;
  font-size: 14px;
}

.l2d-catalog-fallback__price {
  color: #04cab9 !important;
  font-size: 18px;
  font-weight: 850;
}

.l2d-catalog-fallback__button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 7px;
  background: #04cab9;
  color: #071211 !important;
  font-weight: 800;
}

@media screen and (max-width: 980px) {
  .l2d-catalog-fallback__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .l2d-catalog-fallback {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    padding: 8px 0 24px 16px;
  }

  .l2d-catalog-fallback__grid {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    gap: 14px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 16px 18px 0;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
  }

  .l2d-catalog-fallback__grid::-webkit-scrollbar { display: none; }

  .l2d-catalog-fallback__grid > .l2d-catalog-fallback__card {
    flex: 0 0 min(calc(100vw - 48px), 340px) !important;
    width: min(calc(100vw - 48px), 340px) !important;
    min-width: min(calc(100vw - 48px), 340px) !important;
    max-width: min(calc(100vw - 48px), 340px) !important;
    margin: 0 !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .l2d-catalog-fallback__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }

  .l2d-catalog-fallback__button { margin-top: auto; }
}
