/* ========================================
   Product List / Search Results
   ======================================== */

.productlist_aspx .productlist-head {
  padding: 3.5rem 0 2rem;
}

.productlist_aspx .seagull_ttl--category {
  margin: 0;
}

.productlist_aspx .categorytit_txt {
  margin: 0;
  max-width: 100%;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.5vw, 45px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.02em;
  color: var(--color-fg);
  overflow-wrap: anywhere;
}

.productlist_aspx .categorytit_txt > span {
  margin-left: .25em;
  font-size: .5em;
  font-weight: 400;
  letter-spacing: .05em;
  color: var(--color-muted);
  vertical-align: .12em;
}

.productlist_aspx .productlist-results {
  padding: 2rem 0 4rem;
  background: var(--color-bg);
}

/* ASPXの旧レイアウト指定を共通list-controlsへ合わせる */
.productlist_aspx .ProductListHeader.ct_mt {
  max-width: none;
  margin-top: 0;
}

/* 実商品画像の縦横比が異なってもカード内で揃える */
.productlist_aspx .product-card__image img {
  width: 100%;
  height: 100%;
}

/* 検索結果では商品数が3の倍数でなくても空き列の背景を出さない */
.productlist_aspx .product-list-grid {
  background: transparent;
}

/* 検索語が長い場合を考慮 */
@media (max-width: 768px) {
  .productlist_aspx .productlist-head {
    padding: 2.5rem 0 1.5rem;
  }

  .productlist_aspx .categorytit_txt {
    font-size: clamp(1.75rem, 7.5vw, 36px);
  }

  .productlist_aspx .productlist-results {
    padding-top: 1.25rem;
  }
}

@media (max-width: 480px) {
  .productlist_aspx .categorytit_txt {
    line-height: 1.35;
  }

  .productlist_aspx .categorytit_txt > span {
    font-size: .48em;
  }
}
