/* テーマの .entry-content h5 は見出し用の赤い左ボーダーを付ける。
   旧カードリストは entry-content を外して回避しているので、画像テキスト表示でも消す。 */
.cardlist_imagelist li .text h5 {
  border-left: none;
  box-shadow: none;
}

/* 検索結果一覧以外から開いた詳細では戻るボタンを出さない */
.cardlist_detail .btns .backto-list[hidden] {
  display: none !important;
}

/* 名称とフリガナの間（本番は span 間の空白） */
.cardlist_detail .data .name {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0.4em;
}

/* アコーディオン開閉ラベル（テーマ app.bundle.js の .btn.open と連動） */
.pwocg-vanguard-form .add-conditions:not(.visible) {
  display: none;
}

.pwocg-vanguard-form .form-btn {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 24px;
}

.pwocg-vanguard-form .form-btn .clear {
  background: #fff;
}

.p-cardlist .system-box #pwocg-products-container {
  display: block !important;
}

.p-cardlist .c-search-form dl,
.p-cardlist .c-search-form dd {
  margin: 0;
}

.p-cardlist .c-search-form .form-item {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  border-bottom: 1px solid #ddd;
}

.p-cardlist .c-search-form .form-item > dt,
.p-cardlist .c-search-form .form-item > dd {
  padding: 12px;
}

.p-cardlist .c-search-form .form-item > dt {
  background: #f3f3f3;
  font-weight: 700;
}

.p-cardlist .c-search-form label {
  display: inline-block;
  margin: 0 16px 8px 0;
}

.p-cardlist .c-search-form select,
.p-cardlist .c-search-form input[type="search"] {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 36px;
}

.p-cardlist .c-search-form input[type="search"] {
  width: 100%;
}

.p-cardlist .add-conditions_btn,
.p-cardlist .form-btn {
  margin-top: 16px;
  text-align: center;
}

.p-cardlist .form-btn button {
  margin: 0 6px;
  padding: 10px 28px;
}

.p-cardlist .products-archive {
  margin-top: 48px;
}

.p-cardlist .products-archive .sort ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-cardlist .products-archive .search-keyword {
  display: flex;
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
}

.p-cardlist .products-archive .sort a {
  display: block;
  padding: 8px 16px;
  border: 1px solid #ccc;
  text-decoration: none;
}

.p-cardlist .products-archive .sort a.current {
  color: #fff;
  background: #222;
}

.p-cardlist #pwocg-products-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.p-cardlist .c-archive-item img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 695px) {
  .p-cardlist .c-search-form .form-item {
    display: block;
  }

  .p-cardlist #pwocg-products-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

.c-search-form .add-conditions_btn .btn .pwocg-label-open {
  display: none;
}

.c-search-form .add-conditions_btn .btn.open .pwocg-label-close {
  display: none;
}

.c-search-form .add-conditions_btn .btn.open .pwocg-label-open {
  display: inline;
}

/* 検索結果件数：API 反映前の初期 0 を表示しない */
.c-result-search .search-hits:not(.is-count-ready) #pwocg-results-count,
.c-result-search .search-hits:not(.is-count-ready) #pwocg-faq-results-count {
  visibility: hidden;
}

/* 検索結果ラベル span：テーマ CSS が .search-hits span を大きくするため、
   data-pwocg-label 付きラベルは親の小さいフォントに戻す */
.c-result-search .search-hits [data-pwocg-label] {
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  margin: 0;
}

/* 検索結果：画像グリッド表示（テーマ .c-image-list の補完） */
.p-cardlist-search .c-image-list .image-list__item {
  position: relative;
  overflow: hidden;
}

.p-cardlist-search .c-image-list .image-list__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.p-cardlist-search .c-image-list .image-list__item img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* カード詳細：タイトル・読み仮名（app.css の .parts-thumb-tit を詳細パネル用に補完） */
.cardlist-result .detail-content .detail-txt .detail-card-head {
  margin-bottom: min(28px, 2.1875vw);
}

.cardlist-result .detail-content .detail-txt .parts-thumb-tit {
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  font-size: 26px;
  margin-bottom: 12px;
}

.cardlist-result .detail-content .detail-txt .parts-thumb-kana {
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  font-size: 14px;
  color: #888;
  margin: 0 0 12px;
}

@media print, screen and (max-width: 1024px) {
  .cardlist-result .detail-content .detail-txt .detail-card-head {
    margin-bottom: 5.2083333333vw;
  }

  .cardlist-result .detail-content .detail-txt .parts-thumb-tit {
    font-size: 4.1666666667vw;
    margin-bottom: 1.3020833333vw;
  }

  .cardlist-result .detail-content .detail-txt .parts-thumb-kana {
    font-size: 3.6458333333vw;
    margin-bottom: 2.6041666667vw;
  }
}

/* 詳細：前後ナビ（検索結果コンテキストがあるときのみ表示） */
.cardlist-detail-pager .pwocg-detail-pager-prev.pwocg-detail-pager-hidden,
.cardlist-detail-pager .pwocg-detail-pager-next.pwocg-detail-pager-hidden {
  display: none;
}

/* 商品検索：検索アイコンをボタン中央に固定 */
.p-cardlist .products-archive .search-keyword #pwocg-product-search {
  background-position: center calc(50% - 2px) !important;
  margin-left: 5px;
}

/* テキストアイコン（.detail-img）共通: カード詳細・Q&A 等 JS 描画領域向け */
.parts-use .detail-img {
  display: inline-block;
}

.parts-use .detail-img img {
  vertical-align: text-bottom;
  height: 100%;
  width: auto;
}

@media print, screen and (min-width: 1025px) {
  .parts-use .detail-img {
    width: auto;
    height: 26px;
    padding: 2px;
  }
}

@media print, screen and (max-width: 1024px) {
  .parts-use .detail-img {
    width: auto;
    height: 5.7291666667vw;
    padding: 0.5vw;
  }
}

/* Q&A 検索結果：0件表示（カードリスト .no-result と同様） */
.p-qa-searchresults .no-result {
  text-align: center;
}

@media print, screen and (min-width: 1025px) {
  .p-qa-searchresults .no-result {
    margin: 100px auto 0;
  }
}

@media print, screen and (max-width: 1024px) {
  .p-qa-searchresults .no-result {
    margin: 10.4166666667vw auto 0;
  }
}
