/* ===============================
   TU-Field（SWELL CHILD） product
   単体ページ & タグ一覧 共通
================================= */

:root { --tuf-accent: var(--color_main, #0f6c6a); }

/* ---------- 単体（single-product） ---------- */

.single-product .post_content .p-entry__body{
  background:#fff;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.06);
  padding:2.2em;margin-top:1.2em;
}
.single-product .p-entry__thumb{display:flex;justify-content:center;align-items:center}
.single-product .p-entry__thumb .tuf-mainImg{
  width:min(92vw,360px);height:auto;max-height:92vw;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:block
}
.single-product .p-entry__thumb .tuf-thumbNoimg{
  width:min(92vw,360px);aspect-ratio:1/1;display:grid;place-items:center;color:#8aa;letter-spacing:.08em;font-size:12px;
  border:1px dashed #dfe6ee;background:linear-gradient(180deg,#f7f9fb 0%,#f0f4f8 100%);border-radius:8px
}
.single-product .tuf-acfTable{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;margin-top:2em;font-size:15px}
.single-product .tuf-acfTable .c-row{display:contents}
.single-product .tuf-acfTable .c-th{font-weight:700;color:#444;border-bottom:1px solid #eee;padding:.6em 0}
.single-product .tuf-acfTable .c-td{border-bottom:1px solid #eee;padding:.6em 0}
.single-product .p-entry__section h2{font-size:1.12em;margin-top:2.2em;border-left:4px solid var(--tuf-accent);padding-left:.6em;color:#333}
.single-product .p-entry__section{line-height:1.8;font-size:15px;color:#444;background:#fafafa;border-radius:8px;padding:1.4em;margin-top:1em}
.single-product .postMeta,.single-product .p-postMeta,.single-product time[datetime],.single-product .c-postTags,.single-product .p-postTags{display:none!important}
@media (max-width:768px){
  .single-product .post_content .p-entry__body{padding:1.4em}
  .single-product .tuf-acfTable{grid-template-columns:1fr}
  .single-product .tuf-acfTable .c-th{border:none;color:#888;font-weight:400;padding-top:.6em}
  .single-product .tuf-acfTable .c-td{padding-bottom:.8em;border-bottom:1px solid #eee}
}

/* ---------- タグ一覧（taxonomy-products） ---------- */

/* 見出し＆導入文（小さめ） */
.tuf-archiveHead{margin:12px 0 16px}
.tuf-archiveTitle{font-size:clamp(20px,2.2vw,26px);font-weight:700;margin:0 0 6px}
.tuf-termIntro{
  font-size:13.5px;line-height:1.9;color:#555;background:#fafafa;border:1px solid #eee;border-radius:8px;padding:10px 12px
}

/* PC: 3カラムカード */
.tuf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tuf-card{
  display:block;background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.04);
  overflow:hidden;text-decoration:none;transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease
}
.tuf-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08);border-color:#e6e6e6}

/* サムネ（PC=正方形） */
.tuf-thumb{
  aspect-ratio:1/1;background:#f4f6f8;display:grid;place-items:center;overflow:hidden;margin:0;
}
.tuf-thumbImg{
  width:100%;height:100%;object-fit:cover;object-position:center;display:block;
}
.tuf-thumbNoimg{
  width:100%;height:100%;display:grid;place-items:center;color:#8aa;letter-spacing:.08em;font-size:12px;
  border:1px dashed #dfe6ee;background:linear-gradient(180deg,#f7f9fb 0%,#f0f4f8 100%)
}

/* テキスト領域（PCは縦積み） */
.tuf-meta{padding:10px 12px 12px}
.tuf-artist{font-size:13px;color:#222;font-weight:700;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tuf-title{font-size:15px;line-height:1.5;color:#222;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* 価格：バッジ風で目立たせる */
.tuf-price{display:flex;gap:6px;align-items:center;margin-top:auto}
.tuf-price .tuf-priceLabel{
  display:inline-block;font-size:12px;line-height:1;background:#eef6ff;color:#246;padding:4px 6px;border-radius:4px;border:1px solid #e1ecff
}
.tuf-price .tuf-priceValue{
  display:inline-block;font-weight:800;color:#fff;background:var(--tuf-accent);
  padding:6px 10px;border-radius:6px;line-height:1;box-shadow:0 1px 2px rgba(0,0,0,.06)
}

/* ------- スマホ：1列リスト（左サムネ／右に アーティスト・曲名・価格） ------- */
@media (max-width:768px){
  /* 1列に */
  .tuf-grid{grid-template-columns:1fr;gap:10px}

  /* カード：左右に十分な余白を付け、内部は横並びでセンター揃え */
  .tuf-card{
    display:flex;align-items:center;gap:10px;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.05);
    padding:8px 14px; /* ← 左右に余白を追加して“左に寄って見える”のを解消 */
  }

  /* サムネは固定サイズ、枠の中で常に中央に表示（水平・垂直とも） */
  .tuf-thumb{
    flex:0 0 84px;width:84px;height:84px;border-radius:8px;overflow:hidden;
    display:grid;place-items:center; /* 中央寄せを強制 */
    margin:0; /* 余計な外側マージンはゼロに */
  }
  .tuf-thumbImg,.tuf-thumbNoimg{
    width:100%;height:100%;object-fit:cover;object-position:center;display:block;
  }

  /* 右側テキスト */
  .tuf-meta{padding:6px 4px;display:grid;gap:2px;align-content:center}
  .tuf-artist{font-size:15px;font-weight:800;color:#222;margin:0}
  .tuf-title{font-size:13.5px;margin:0 0 4px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tuf-price{margin-top:2px}
  .tuf-price .tuf-priceLabel{font-size:11px;padding:3px 5px}
  .tuf-price .tuf-priceValue{padding:6px 8px}
}

/* ---------- ページャー（四角ボタン） ---------- */
.tuf-pagerSimple{margin:22px 0 10px;text-align:center}
.tuf-pagerSimple ul{
  display:inline-flex;list-style:none;padding:0;margin:0;gap:14px;
  justify-content:center; /* 中央寄せ */
  flex-wrap:wrap;         /* スマホでは折返し */
  max-width:100%;
}
.tuf-pagerSimple li a,
.tuf-pagerSimple li span{
  display:inline-block;min-width:40px;height:36px;line-height:36px;text-align:center;
  padding:0 4px;border-radius:3px;border:1px solid #e2e2e2;background:#eee;color:#666;
  box-shadow:0 2px 4px rgba(0,0,0,.08)
}
.tuf-pagerSimple li span.current{
  background:var(--tuf-accent);border-color:var(--tuf-accent);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.12)
}
.tuf-pagerSimple li a:hover{filter:brightness(.97)}
.tuf-pagerSimple li span.dots{background:transparent;border-color:transparent;box-shadow:none;color:#999}

/* スマホで間隔を少し詰める */
@media (max-width:768px){
  .tuf-pagerSimple ul{gap:10px}
  .tuf-pagerSimple li a,
  .tuf-pagerSimple li span{min-width:36px;height:34px;line-height:34px}
}
