.block-teaser-slider { position: relative; }

.teaser-slider { position: relative; }

.teaser-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 1fr);
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 8px 40px;
  -webkit-overflow-scrolling: touch;
}

.teaser-slide { scroll-snap-align: start; }

.teaser-card {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: var(--radius);
  overflow: hidden;
  background: #fff;
  min-height: 100%;
}

.teaser-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

.teaser-content { padding: 12px; }

.teaser-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  margin-bottom: 8px;
  font-size: 0.85rem;
}

.teaser-title { margin: 0 0 6px; font-size: 1.05rem; }
.teaser-text { margin: 0; opacity: .85; }

.teaser-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.teaser-nav.prev { left: 8px; }
.teaser-nav.next { right: 8px; }

.teaser-nav:focus { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
