.main-collection-container { background-color: rgb(var(--color-background)); }
.main-collection { padding-block: 40px; }
.main-collection__no-products-tips { color: rgb(var(--color-text)); }
.main-collection__list { margin-block-end: 40px; overflow: visible; }

.migration-collection {
  box-sizing: border-box;
  display: block !important;
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding: 28px 28px 80px !important;
  background: transparent;
  color: var(--migration-ink);
  flex-direction: row !important;
}
.catalog-toolbar {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 28px;
  padding: 18px 0;
  border-bottom: 1px solid #ded7c8;
}
.catalog-toolbar--no-filters { justify-content: flex-end; }
.collection-filters,
.catalog-tools { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; }
.collection-filters { max-width: 100%; gap: 8px; }
.catalog-tools { max-width: 100%; gap: 12px; }
.migration-collection .collection-filter {
  box-sizing: border-box;
  min-height: 37px;
  padding: 9px 16px;
  border: 1px solid #cdbfa6;
  border-radius: 999px;
  background: transparent;
  color: var(--migration-muted);
  font: 600 13px/normal "Hanken Grotesk", system-ui, sans-serif;
  cursor: pointer;
}
.migration-collection .collection-filter:hover { border-color: var(--migration-teal-dark); }
.migration-collection .collection-filter.is-active {
  border-color: var(--migration-ink);
  background: var(--migration-ink);
  color: var(--migration-paper);
}
.catalog-search {
  box-sizing: border-box;
  display: flex;
  width: 182px;
  height: 38px;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  border: 1px solid #ded7c8;
  border-radius: 999px;
  background: var(--migration-chalk);
}
.catalog-search svg { display: block; width: 15px; height: 15px; flex: 0 0 15px; }
.catalog-search input {
  box-sizing: border-box;
  display: block;
  width: 130px;
  min-width: 0;
  height: 20px;
  padding: 1px 2px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--migration-ink);
  font: 500 14px/normal "Hanken Grotesk", system-ui, sans-serif;
}
.catalog-search input::placeholder { color: #8a7c66; opacity: 1; }
.catalog-sort-label { display: block; width: 150px; height: 39px; }
.catalog-sort-label select {
  box-sizing: border-box;
  display: block;
  width: 150px;
  height: 39px;
  padding: 9px 14px;
  border: 1px solid #ded7c8;
  border-radius: 999px;
  background-color: var(--migration-chalk);
  color: var(--migration-ink);
  font: 600 13px/normal "Hanken Grotesk", system-ui, sans-serif;
  cursor: pointer;
}
.catalog-result-count {
  height: 15px;
  margin: 0 0 20px;
  color: var(--migration-light-muted);
  font: 500 12px/normal "Spline Sans Mono", ui-monospace, monospace;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.catalog-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.catalog-pagination { margin-top: 32px; }
.product-card {
  position: relative;
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--migration-oat);
  border-radius: 16px;
  background: var(--migration-chalk);
  color: var(--migration-ink);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.product-card[hidden],
.catalog-product-grid[hidden] { display: none !important; }
.product-card:hover { border-color: #c4bbaa; box-shadow: none; transform: translateY(-3px); }
.product-card__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  flex: none;
  overflow: hidden;
  background: var(--migration-oat);
  color: var(--migration-ink);
}
.product-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .22s ease; }
.product-card:hover .product-card__media img { transform: scale(1.04); }
.product-card__sold-out-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 6px 10px;
  border-radius: 5px;
  background: #b54e39;
  color: var(--migration-chalk);
  font: 600 10px/normal "Spline Sans Mono", ui-monospace, monospace;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.product-card__body {
  box-sizing: border-box;
  display: flex;
  min-height: 169px;
  flex: 1;
  flex-direction: column;
  gap: 5px;
  padding: 18px 18px 16px;
}
.product-card__category,
.product-card__note,
.product-card__fulfillment { margin: 0; }
.product-card__category {
  color: var(--migration-moss);
  font: 500 10px/normal "Spline Sans Mono", ui-monospace, monospace;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.product-card__title {
  display: block;
  color: var(--migration-ink);
  font: 500 21px/1.1 "Spectral", Georgia, serif;
  text-decoration: none;
}
.migration-collection .product-card__title { color: var(--migration-ink) !important; }
.migration-collection .product-card__title:hover { color: var(--migration-ink) !important; }
.product-card__note {
  margin-bottom: 12px;
  color: var(--migration-light-muted);
  font: 400 13px/1.5 "Hanken Grotesk", system-ui, sans-serif;
}
.product-card__fulfillment {
  margin-top: 2px;
  color: var(--migration-moss);
  font: 500 10.5px/normal "Spline Sans Mono", ui-monospace, monospace;
  letter-spacing: .84px;
  text-transform: uppercase;
}
.product-card__footer { display: flex; min-height: 37px; align-items: center; justify-content: space-between; margin-top: auto; }
.product-card__price { color: var(--migration-ink); font: 600 18px/normal "Hanken Grotesk", system-ui, sans-serif; }
.migration-collection .product-card__add {
  display: flex;
  min-height: 37px;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  background: var(--migration-ink);
  color: var(--migration-chalk);
  font: 600 13px/normal "Hanken Grotesk", system-ui, sans-serif;
  cursor: pointer;
}
.migration-collection .product-card__add:hover { background: var(--migration-teal); }
.product-card__sold-out-label { padding: 10px 16px; color: #c4bbaa; font: 600 13px/normal "Hanken Grotesk", system-ui, sans-serif; }
.catalog-empty { margin: 0; padding: 48px 0; color: var(--migration-light-muted); text-align: center; }
.catalog-status { min-height: 0; margin: 0; color: var(--migration-muted); font-size: 13px; }
.catalog-status:not(:empty) { margin-top: 16px; }
.migration-collection--merch { padding: 48px 28px 80px !important; }
.merch-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 30px; }
.merch-section-head .migration-eyebrow { height: 15px; margin-bottom: 12px; color: var(--migration-teal-dark); font-size: 12px; font-weight: 500; line-height: normal; letter-spacing: 2.4px; }
.merch-section-head h2 { margin: 0; color: var(--migration-ink); font-size: clamp(28px,4vw,40px); font-weight: 500; line-height: 1.08; letter-spacing: normal; }
.migration-collection--merch .product-card__body { min-height: 0; }
.migration-collection--merch .product-card__sold-out-badge { padding: 5px 9px; border-radius: 6px; background: #a8452f; color: #fbf3e4; letter-spacing: 1.2px; }

@media (max-width: 959px) {
  .main-collection__list { margin-block-end: 20px; }
  .main-collection { padding-block: 20px; }
}
@media (max-width: 900px) {
  .catalog-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .catalog-product-grid { grid-template-columns: minmax(0,1fr); }
  .product-card__title { font-size: 19px; }
  .product-card__footer { gap: 10px; }
}
@media (min-width: 960px) {
  .main-collection { display: grid; }
  .main-collection .main-collection__products { grid-area: list; }
  .main-collection .facets-filtering { grid-area: filtering; }
  .main-collection .facets-sorting { grid-area: sorting; }
  .main-collection .facets-count { grid-area: count; }
  .main-collection.facets-layout-horizontal { grid-template: "filtering sorting count" "list list list" / 1fr auto auto; row-gap: 40px; }
  .main-collection.facets-layout-vertical { grid-template: "count count sorting" 10px "list list list" / 256px auto auto; gap: 40px; }
  .main-collection.facets-layout-vertical.enable-filtering { grid-template: "filtering count sorting" 10px "filtering list list" / 256px auto auto; }
  .main-collection.facets-layout-drawer { grid-template: "filtering sorting count" "list list list" / 1fr auto auto; }
}
@media (prefers-reduced-motion: reduce) {
  .product-card,
  .product-card__media img { transition: none; }
  .product-card:hover,
  .product-card:hover .product-card__media img { transform: none; }
}
