@import url('../gymtre/style.css');

/* ===== Tab Bar ===== */
.tab-bar {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  border-bottom: 2px solid #e8e8e8;
  margin-bottom: 20px;
}
.tab-bar::-webkit-scrollbar { display: none; }
.tab-btn {
  flex-shrink: 0;
  padding: 10px 20px;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  color: #aaa;
  white-space: nowrap;
  transition: color 0.2s, border-color 0.2s;
}
.tab-btn.active { color: var(--text); border-bottom-color: var(--accent); }
.tab-btn:hover:not(.active) { color: #555; }

/* ===== Tab Pane ===== */
.tab-pane { display: none; }
.tab-pane.active { display: block; }

/* ===== Product Visual (affiliate banner + buy button) ===== */
.product-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin: 16px 0 24px;
}
.product-visual img {
  max-width: 300px;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
@media (min-width: 768px) {
  .product-visual img {
    max-width: 500px;
  }
}

/* ===== Buy Buttons ===== */
.buy-btns {
  display: flex;
  flex-direction: row;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}
.buy-btn {
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 6px;
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: opacity 0.2s;
  color: #fff;
}
.buy-btn:hover { opacity: 0.85; }
.buy-btn--mens {
  background: #1a6bc8;
}
.buy-btn--ladies {
  background: #c8407a;
}
.buy-btn--pending {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}

/* ===== Article highlight (orange bold / underline) ===== */
.article-section p strong,
.article-section li strong,
.article-intro strong {
  color: #d95a00;
}
.article-section p u,
.article-section li u,
.article-intro u {
  color: #d95a00;
  text-decoration-color: #d95a00;
}
/* 特徴①②③のタイトル（<b>直後の<strong>）は黒 */
.article-section p b + strong {
  color: var(--dark, #1a1a1a);
}

/* ===== Fit Boxes ===== */
.fit-boxes {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 12px 0;
}
.fit-box {
  flex: 1;
  padding: 14px 16px;
  border-radius: 8px;
}
.fit-box-title {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
}
.fit-box ul {
  padding-left: 18px;
  margin: 0;
}
.fit-box li {
  font-size: 13px;
  line-height: 1.9;
  color: #333;
}
.fit-box--good {
  background: #e8f4fd;
  border-left: 4px solid #4a90d9;
}
.fit-box--good .fit-box-title { color: #1e5f9e; }
.fit-box--bad {
  background: #fde8e8;
  border-left: 4px solid #d94a4a;
}
.fit-box--bad .fit-box-title { color: #b03030; }
.fit-box li { color: #1a1a1a; }
@media (min-width: 768px) {
  .fit-boxes { flex-direction: row; }
}

/* ===== Card Tags ===== */
.card-tags {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
  flex-wrap: wrap;
}
.card-tag {
  display: inline-block;
  background: var(--accent, #FFD600);
  color: var(--dark, #1a1a1a);
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 3px;
  line-height: 1.5;
}
.card-tag-hash {
  font-size: 10px;
  font-weight: 600;
  color: var(--muted, #888);
}

/* ===== Spec Table ===== */
.spec-table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 13px;
}
.spec-table th,
.spec-table td {
  padding: 10px 12px;
  border: 1px solid #e8e8e8;
  vertical-align: middle;
  line-height: 1.6;
}
.spec-table th {
  width: 38%;
  background: #f5f5f5;
  font-weight: 700;
  color: var(--dark, #1a1a1a);
  white-space: nowrap;
}
.spec-table tr:nth-child(even) td { background: #fafafa; }

/* ===== Article Section Spacing ===== */
.article-section h1 {
  font-size: 22px;
  font-weight: 900;
  line-height: 1.35;
  color: var(--dark, #1a1a1a);
  margin-bottom: 8px;
}
.article-section h2 {
  margin-top: 32px;
}
.article-section p {
  margin-bottom: 14px;
}
.article-section p:last-child {
  margin-bottom: 0;
}
.article-section ul,
.article-section ol {
  margin-bottom: 14px;
}
@media (min-width: 768px) {
  .article-section h1 {
    font-size: 28px;
  }
  .page-inner:has(.article-section) {
    max-width: 820px;
  }
}

/* ===== Article Meta (date + affiliate notice) ===== */
.article-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  margin: 6px 0 16px;
}
.article-date,
.article-affiliate {
  font-size: 11px;
  color: #999;
  line-height: 1.5;
}

/* ===== Article Intro ===== */
.article-intro {
  font-size: 14px;
  line-height: 1.9;
  color: #444;
  margin: 12px 0 24px;
}

/* ===== Spec List ===== */
.spec-list {
  list-style: none;
  padding: 0;
  margin: 12px 0;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  overflow: hidden;
}
.spec-list li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 12px 16px;
  font-size: 14px;
  border-bottom: 1px solid #e8e8e8;
}
.spec-list li:last-child { border-bottom: none; }
.spec-list li:nth-child(odd) { background: #fafafa; }
.spec-label {
  flex-shrink: 0;
  min-width: 130px;
  font-weight: 700;
  color: var(--text, #1a1a1a);
}
.spec-value {
  color: #444;
  line-height: 1.6;
}
