/* ============================================================
   Products 목록 페이지 — mobile-first
   Figma: 296:8266
   ============================================================ */

/* ── 페이지 헤드 ─────────────────────────────────────────── */
.page-head {
  padding: 16px 0 20px;
}

.page-head__hero {
  border-radius: var(--radius-lg);
  margin-bottom: 20px;
}

.pl-title-row {
  gap: 8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
  align-items: baseline;
}

.pl-title-row h1 {
  font-size: var(--fs-xl);
  font-weight: 700;
}

.pl-count {
  font-size: var(--fs-base);
}

/* ── 툴바 (필터 + 정렬) ──────────────────────────────────── */
.pl-toolbar {
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

/* ── 필터 탭 버튼 — 모바일 가로 스크롤 ─────────────────── */
.pl-filters {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
  flex-wrap: nowrap;
  gap: 6px;
}

.pl-filter-group {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
}

.pl-filters .pl-filter-link {
  flex-shrink: 0;
  width: auto;
  min-width: 60px;
  padding: 7px 14px;
  font-size: var(--fs-base);
  border: 1px solid var(--mute-6);
  white-space: nowrap;
}

/* ── 정렬 버튼 ───────────────────────────────────────────── */
.pl-sort {
  font-size: var(--fs-xs);
  gap: 10px;
  flex-wrap: nowrap;
  overflow-x: auto;
}

.pl-sort a,
.pl-sort span {
  white-space: nowrap;
}

/* ── 상품 그리드 ─────────────────────────────────────────── */
/* style.css base: 2컬럼 — 여기서 추가 조정 */
.product-card {
  position: relative;
}

.product-card__img {
  border-radius: var(--radius-lg);
}

.product-card__soldout-badge {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  pointer-events: none;
}

.product-card--soldout .product-card__img {
  opacity: 0.6;
}

.product-card__body {
  padding: 8px 4px;
}

.product-card__meta {
  font-size: var(--fs-xs);
  margin-bottom: 4px;
}

.product-card__name {
  font-size: var(--fs-base);
  font-weight: 600;
  margin-bottom: 4px;
}

.product-card__price {
  font-size: var(--fs-sm);
}

/* 빈 상태 */
.products-empty {
  padding: 60px 0;
  font-size: var(--fs-base);
}

/* ── 데스크탑 오버라이드 ─────────────────────────────────── */
@media (min-width: 1280px) {
  .page-head {
    padding: 50px 0 40px;
  }

  .page-head__hero {
    margin-bottom: 40px;
  }

  .pl-title-row {
    gap: 30px;
    margin-bottom: 30px;
  }

  .pl-title-row h1 {
    font-size: 28px;
  }

  .pl-count {
    font-size: var(--fs-lg);
  }

  .pl-toolbar {
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
  }

  .pl-filters {
    flex-wrap: wrap;
    overflow-x: visible;
    padding-bottom: 0;
    gap: 10px;
  }

  .pl-filter-group {
    flex-wrap: wrap;
    gap: 10px;
  }

  .pl-filters .pl-filter-link {
    width: 200px;
    padding: 10px 20px;
    font-size: var(--fs-lg);
  }

  .pl-sort {
    font-size: var(--fs-md);
    gap: 20px;
  }

  .product-card__body {
    padding: 15px;
  }

  .product-card__meta {
    font-size: var(--fs-base);
    margin-bottom: 8px;
  }

  .product-card__name {
    font-size: var(--fs-lg);
    margin-bottom: 8px;
  }

  .product-card__price {
    font-size: var(--fs-md);
  }
}
