:root {
  --pokeca-navy: #17324d;
  --pokeca-navy-2: #1f4468;
  --pokeca-bg: #f2f4f7;
  --pokeca-card: #fff;
  --pokeca-line: #e3e7ee;
  --pokeca-ink: #2b3440;
  --pokeca-sub: #6b7684;
  --pokeca-price: #d63b2f;
  --pokeca-mint: #2f7d5c;
  --pokeca-damaged: #b06a2c;
  --pokeca-psa: #b8933a;
  --pokeca-cta: #e8590c;
}

.pokeca-template-main {
  min-height: 60vh;
  padding: 18px 14px 40px;
  background: var(--pokeca-bg);
}

.pokeca-market {
  width: min(1060px, 100%);
  margin: 0 auto;
  color: var(--pokeca-ink);
  font-size: 15px;
  line-height: 1.7;
}

.pokeca-market *,
.pokeca-market *::before,
.pokeca-market *::after {
  box-sizing: border-box;
}

.pokeca-market a {
  color: var(--pokeca-navy-2);
}

.pokeca-market h1,
.pokeca-market h2,
.pokeca-market h3,
.pokeca-market p {
  margin-top: 0;
}

.pokeca-market h1 {
  margin-bottom: 6px;
  font-size: clamp(23px, 3vw, 30px);
  line-height: 1.4;
}

.pokeca-market h2 {
  margin: 0 0 14px;
  padding: 0 0 0 10px;
  border: 0;
  border-left: 5px solid var(--pokeca-navy);
  background: none;
  color: var(--pokeca-ink);
  font-size: 18px;
  line-height: 1.5;
}

.pokeca-panel {
  margin-bottom: 18px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid var(--pokeca-line);
  border-radius: 10px;
  background: var(--pokeca-card);
  box-shadow: 0 2px 8px rgba(23, 50, 77, .04);
}

.pokeca-page-head {
  margin-bottom: 18px;
  padding: 20px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--pokeca-navy), var(--pokeca-navy-2));
  color: #fff;
}

.pokeca-page-head h1 {
  color: #fff;
}

.pokeca-page-head p {
  margin-bottom: 0;
  opacity: .84;
}

.pokeca-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.pokeca-section-head h2 {
  margin-bottom: 0;
}

.pokeca-rank-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 18px;
}

.pokeca-rank-grid .pokeca-panel {
  margin-bottom: 0;
}

.pokeca-rank-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pokeca-rank-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 2px;
  border-bottom: 1px solid var(--pokeca-line);
}

.pokeca-rank-list li:last-child {
  border-bottom: 0;
}

.pokeca-rank-no {
  display: flex;
  flex: 0 0 25px;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: var(--pokeca-navy);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.pokeca-rank-list li:nth-child(1) .pokeca-rank-no { background: #c9a227; }
.pokeca-rank-list li:nth-child(2) .pokeca-rank-no { background: #9aa5b1; }
.pokeca-rank-list li:nth-child(3) .pokeca-rank-no { background: #a9714b; }

.pokeca-rank-thumb {
  width: 32px;
  height: 44px;
  flex: 0 0 32px;
  border-radius: 4px;
  object-fit: cover;
  background: linear-gradient(145deg, #294d70, #8ab8d7);
}

.pokeca-rank-name {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: var(--pokeca-ink) !important;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pokeca-rank-name small,
.pokeca-rank-price small {
  display: block;
  color: var(--pokeca-sub);
  font-size: 11px;
  font-weight: 400;
}

.pokeca-rank-price {
  color: var(--pokeca-price);
  font-size: 13px;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.pokeca-market .is-up { color: #d63b2f; }
.pokeca-market .is-down { color: #2769c3; }

.pokeca-filterbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid var(--pokeca-line);
  border-radius: 9px;
  background: #fff;
}

.pokeca-filterbar input,
.pokeca-filterbar select,
.pokeca-filterbar button {
  min-height: 40px;
  margin: 0;
  padding: 7px 11px;
  border: 1px solid #cfd5dd;
  border-radius: 6px;
  background: #fff;
  color: var(--pokeca-ink);
  font: inherit;
  font-size: 13px;
}

.pokeca-filterbar input {
  min-width: 230px;
  flex: 1;
}

.pokeca-filterbar button {
  border-color: var(--pokeca-navy);
  background: var(--pokeca-navy);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.pokeca-result-count {
  margin-left: auto;
  color: var(--pokeca-sub);
  font-size: 13px;
}

.pokeca-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.pokeca-card-tile {
  display: flex;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid var(--pokeca-line);
  border-radius: 10px;
  background: #fff;
  color: var(--pokeca-ink) !important;
  text-decoration: none !important;
  transition: box-shadow .15s, transform .15s;
}

.pokeca-card-tile:hover {
  box-shadow: 0 8px 20px rgba(23, 50, 77, .14);
  transform: translateY(-3px);
}

.pokeca-card-image {
  display: flex;
  position: relative;
  aspect-ratio: 63 / 88;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(150deg, #304b67, #86b0ce);
  color: rgba(255, 255, 255, .86);
  font-size: 12px;
}

.pokeca-card-image::after {
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 6px;
  content: '';
  pointer-events: none;
}

.pokeca-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pokeca-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 7px;
  padding: 11px 12px 12px;
}

.pokeca-card-body h3 {
  margin: 0;
  color: var(--pokeca-ink);
  font-size: 13.5px;
  line-height: 1.45;
}

.pokeca-card-body > small {
  color: var(--pokeca-sub);
  font-size: 11px;
}

.pokeca-card-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  margin-top: auto;
}

.pokeca-card-price span {
  padding: 2px 8px;
  border-radius: 9px;
  background: var(--pokeca-mint);
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
}

.pokeca-card-price strong {
  color: var(--pokeca-price);
  font-size: 14px;
}

.pokeca-card-diff {
  padding-top: 6px;
  border-top: 1px dashed var(--pokeca-line);
  font-size: 11.5px;
}

.pokeca-set-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.pokeca-set-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 12px;
  border: 1px solid var(--pokeca-line);
  border-radius: 6px;
  background: #fff;
  text-decoration: none;
}

.pokeca-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 0 0 10px;
  color: var(--pokeca-sub);
  font-size: 12px;
}

.pokeca-breadcrumb a {
  color: var(--pokeca-sub);
}

.pokeca-updated,
.pokeca-data-note {
  color: var(--pokeca-sub);
  font-size: 12px;
}

.pokeca-card-top {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 24px;
}

.pokeca-main-image {
  display: flex;
  aspect-ratio: 63 / 88;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 10px;
  background: linear-gradient(150deg, #304b67, #86b0ce);
  box-shadow: 0 6px 16px rgba(23, 50, 77, .25);
  color: #fff;
  text-align: center;
}

.pokeca-main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pokeca-spec {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  font-size: 14px;
}

.pokeca-spec th,
.pokeca-spec td {
  padding: 8px 12px;
  border: 1px solid var(--pokeca-line);
  text-align: left;
}

.pokeca-spec th {
  width: 30%;
  background: #f7f9fb;
  color: var(--pokeca-sub);
  font-weight: 600;
}

.pokeca-price-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.pokeca-price-box {
  padding: 11px;
  border: 1px solid var(--pokeca-line);
  border-radius: 8px;
  text-align: center;
}

.pokeca-price-box > span {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  background: var(--pokeca-mint);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

.pokeca-price-box.bucket-damaged > span { background: var(--pokeca-damaged); }
.pokeca-price-box.bucket-psa10 > span { background: var(--pokeca-psa); }

.pokeca-price-box strong,
.pokeca-price-box small {
  display: block;
}

.pokeca-price-box strong {
  margin: 5px 0 1px;
  color: var(--pokeca-price);
  font-size: clamp(18px, 2vw, 22px);
}

.pokeca-price-box small {
  font-size: 11px;
}

.pokeca-chart-tabs,
.pokeca-chart-ranges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.pokeca-chart-tabs {
  margin-bottom: 14px;
}

.pokeca-chart-ranges {
  justify-content: flex-end;
  margin-top: 10px;
}

.pokeca-chart-tabs button,
.pokeca-chart-ranges button {
  padding: 6px 16px;
  border: 1px solid var(--pokeca-line);
  border-radius: 18px;
  background: #fff;
  color: var(--pokeca-sub);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.pokeca-chart-tabs button.is-active,
.pokeca-chart-ranges button.is-active {
  border-color: var(--pokeca-navy);
  background: var(--pokeca-navy);
  color: #fff;
}

.pokeca-chart-wrap {
  position: relative;
  height: 330px;
}

.pokeca-chart-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.pokeca-chart-stats div {
  padding: 9px 12px;
  border-radius: 6px;
  background: #f7f9fb;
  text-align: center;
}

.pokeca-chart-stats span,
.pokeca-chart-stats strong {
  display: block;
}

.pokeca-chart-stats span {
  color: var(--pokeca-sub);
  font-size: 12px;
}

.pokeca-chart-stats strong {
  font-size: 16px;
}

.pokeca-data-note {
  margin: 12px 0 0;
}

.pokeca-table-scroll {
  overflow-x: auto;
}

.pokeca-transactions table {
  width: 100%;
  min-width: 900px;
  margin: 0;
  border-collapse: collapse;
  font-size: 12.5px;
}

.pokeca-transactions th,
.pokeca-transactions td {
  padding: 8px 10px;
  border: 1px solid var(--pokeca-line);
  text-align: left;
  vertical-align: top;
}

.pokeca-transactions th {
  background: #f7f9fb;
  color: var(--pokeca-sub);
  white-space: nowrap;
}

.pokeca-transactions td:nth-child(3) {
  min-width: 280px;
}

.pokeca-shop-offers .pokeca-section-head > span {
  color: var(--pokeca-sub);
  font-size: 12px;
}

.pokeca-shop-offers table {
  width: 100%;
  min-width: 680px;
  margin: 0;
  border-collapse: collapse;
  font-size: 13px;
}

.pokeca-shop-offers th,
.pokeca-shop-offers td {
  padding: 10px 12px;
  border: 1px solid var(--pokeca-line);
  text-align: left;
  vertical-align: middle;
}

.pokeca-shop-offers th {
  background: #f7f9fb;
  color: var(--pokeca-sub);
  white-space: nowrap;
}

.pokeca-shop-price {
  color: var(--pokeca-price);
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
}

.pokeca-stock {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.pokeca-stock.is-available {
  background: #e7f5ee;
  color: #1f6f4a;
}

.pokeca-stock.is-soldout {
  background: #f1f2f4;
  color: var(--pokeca-sub);
}

.pokeca-empty {
  margin: 0;
  color: var(--pokeca-sub);
}

/*
 * v0.25.3: ページ送りの見た目を整える。
 *
 * paginate_links を type=list で出しているため <ul class="page-numbers"> が生まれ、
 * テーマ（SWELL）がこの ul に背景を当ててグレーの帯になっていた。
 * 0.25.2 で背景を消したが、打ち消しがボタン側にも効いてしまい、
 * 白いボタンが白い背景に溶けて見えなくなった。
 * そこで「帯（nav と ul と li）は透明に」「ボタンは枠線をはっきり」と役割を分ける。
 */

/* 帯の部分だけを透明にする。ボタンには触れない。 */
.pokeca-pagination,
.pokeca-pagination > .page-numbers,
.pokeca-pagination ul.page-numbers {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.pokeca-pagination > .page-numbers,
.pokeca-pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 22px 0 0;
  list-style: none;
}

.pokeca-pagination li {
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent !important;
}

.pokeca-pagination li::before,
.pokeca-pagination li::marker {
  content: none;
}

/* ボタン。枠線をはっきり出して、背景に溶けないようにする。 */
.pokeca-pagination a.page-numbers,
.pokeca-pagination span.page-numbers {
  display: flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid #c9ced6 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: var(--pokeca-navy, #14314d) !important;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  box-shadow: none !important;
}

.pokeca-pagination a.page-numbers:hover {
  border-color: var(--pokeca-navy, #14314d) !important;
  background: #f6f8fa !important;
}

/* 現在のページ。 */
.pokeca-pagination .page-numbers.current,
.pokeca-pagination span.current {
  border-color: var(--pokeca-navy, #14314d) !important;
  background: var(--pokeca-navy, #14314d) !important;
  color: #fff !important;
}

/* 省略記号は枠なしで。 */
.pokeca-pagination .page-numbers.dots {
  border: 0 !important;
  background: transparent !important;
}


@media (max-width: 900px) {
  .pokeca-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pokeca-rank-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .pokeca-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pokeca-card-top { grid-template-columns: 1fr; }
  .pokeca-main-image { width: min(230px, 100%); margin: 0 auto; }
  .pokeca-set-links { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
  .pokeca-template-main { padding-right: 10px; padding-left: 10px; }
  .pokeca-panel { padding: 15px; }
  .pokeca-filterbar { align-items: stretch; }
  .pokeca-filterbar input,
  .pokeca-filterbar select,
  .pokeca-filterbar button { width: 100%; }
  .pokeca-result-count { margin-left: 0; }
  .pokeca-price-summary { grid-template-columns: 1fr 1fr; }
  .pokeca-price-box.bucket-psa10 { grid-column: 1 / -1; }
  .pokeca-chart-stats { grid-template-columns: 1fr; }
  .pokeca-chart-wrap { height: 280px; }
}

/* v0.27.0: 比べられるだけの取引が無いときの「—」 */
.pokeca-card-diff.is-none, .pokeca-card-diff .is-none { color: #8a94a0; font-weight: 400; }
