.teadup-showcase {
  --td-gap: clamp(18px, 2vw, 30px);
  --td-ink: #1d1f25;
  --td-muted: #696b70;
  --td-surface: #f2f1f1;
  width: 100%;
  color: var(--td-ink);
  font-family: var(--td-font, inherit);
}

.teadup-showcase * { box-sizing: border-box; }
.teadup-product-card[hidden] { display: none !important; }

.teadup-filter { margin:0 0 clamp(24px,3vw,40px); color:var(--td-ink,#1d1f25); font-family:var(--td-font,inherit); }
.teadup-filter__label { display:block; margin-bottom:14px; font-size:14px; font-weight:700; }
.teadup-filter__chips { display:flex; flex-wrap:wrap; gap:9px; }
.teadup-filter__chip { appearance:none; padding:10px 16px; border:1px solid #d5d5d5; border-radius:999px; background:#fff; color:#303137; cursor:pointer; font:inherit; font-size:14px; line-height:1; transition:background-color .18s ease,color .18s ease,border-color .18s ease; }
.teadup-filter__chip:hover { border-color:#1d1f25; }
.teadup-filter__chip.is-active { border-color:#1d1f25; background:#1d1f25; color:#fff; }
.teadup-filter__chip small { margin-left:4px; opacity:.68; font-size:11px; }
.teadup-filter__chip:disabled { display:none; }
.teadup-filter__result { display:block; margin-top:13px; color:#777; font-size:12px; }

.teadup-showcase__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(22px, 3vw, 42px);
}

.teadup-showcase__title {
  margin: 0;
  font: inherit;
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.teadup-showcase__subtitle {
  margin: 12px 0 0;
  color: var(--td-muted);
  font-size: 14px;
}

.teadup-showcase__track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--td-gap);
}

.teadup-product-card { min-width: 0; }

.teadup-product-card__link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.teadup-product-card__media {
  position: relative;
  display: grid;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  place-items: center;
  background: var(--td-surface);
}

.teadup-product-card__image {
  width: 88% !important;
  height: 88% !important;
  margin: 0 !important;
  object-fit: contain;
  transition: transform 280ms ease;
}

.teadup-product-card__link:hover .teadup-product-card__image { transform: scale(1.035); }

.teadup-product-card__badge {
  position: absolute;
  z-index: 1;
  top: 16px;
  left: 16px;
  padding: 7px 11px;
  border-radius: 3px;
  background: var(--td-sale-bg, #b98b60);
  color: #171717;
  font-size: 14px;
  line-height: 1;
}

.teadup-product-card__content { padding: 15px 2px 2px; }

.teadup-product-card__title {
  margin: 0;
  font: inherit;
  font-size: var(--td-title-size, 15px);
  font-weight: 500;
  line-height: 1.35;
}

.teadup-product-card__description {
  display: -webkit-box;
  overflow: hidden;
  margin: 5px 0 0;
  color: var(--td-muted);
  font-size: var(--td-text-size, 13px);
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.teadup-product-card__rating {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
  color: #efb91d;
  font-size: 15px;
  letter-spacing: 1px;
}

.teadup-product-card__rating small {
  color: var(--td-muted);
  font-size: 12px;
  letter-spacing: 0;
}

.teadup-product-card__price {
  margin-top: 7px;
  font-size: 14px;
  font-weight: 600;
}

.teadup-product-card__price del {
  margin-left: 7px;
  color: #8b8b8b;
  font-size: .9em;
  font-weight: 400;
}

.teadup-product-card__price ins { color: #a33b2d; text-decoration: none; }

.teadup-showcase__controls { display: none; gap: 8px; }

.teadup-product-card__labels { position:absolute; z-index:2; top:16px; right:16px; display:flex; align-items:flex-end; flex-direction:column; gap:6px; }
.teadup-product-card__label { padding:7px 10px; border-radius:999px; background:var(--td-badge-bg,#1d1f25); color:var(--td-badge-color,#fff); font-size:11px; font-weight:700; line-height:1; text-transform:uppercase; letter-spacing:.03em; }

.teadup-showcase__arrow {
  display: grid;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #d8d8d8;
  border-radius: 50%;
  background: #fff;
  color: var(--td-ink);
  cursor: pointer;
  font-size: 20px;
  place-items: center;
}

@media (max-width: 1023px) and (min-width: 769px) {
  .teadup-showcase__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .teadup-showcase { overflow: visible; }
  .teadup-showcase__header { align-items: center; }
  .teadup-showcase__controls { display: flex; }
  .teadup-showcase__track {
    display: flex;
    overflow-x: auto;
    gap: 14px;
    margin-inline: calc(50% - 50vw);
    padding-inline: max(20px, calc((100vw - 100%) / 2));
    padding-bottom: 12px;
    scroll-behavior: smooth;
    scroll-padding-inline: 20px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .teadup-showcase__track::-webkit-scrollbar { display: none; }
  .teadup-product-card {
    flex: 0 0 min(82vw, 330px);
    scroll-snap-align: start;
  }
  .teadup-product-card__badge { top: 12px; left: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .teadup-showcase__track { scroll-behavior: auto; }
  .teadup-product-card__image { transition: none; }
}
