/* 本国と同じ見た目: sports のページの部品（Issue #5）。セレクタは各ページの id / .nz-<page> から始める */


/* =====================================================================
   種目の写真タイル（products_menu.php）。本国 Sport Range: 上下 64px・写真の下に大文字の名前
   ===================================================================== */
.nz-sport-menu { padding: 64px 0; }
.nz-sport-menu .nz-tile img { border-radius: 2px; transition: opacity 0.2s; }
.nz-sport-menu .nz-tile:hover img { opacity: 0.88; }
.nz-sport-menu .nz-tile span { margin-top: 10px; font-size: 16px; line-height: 1.6; }
.nz-sport-menu .nz-tile.is-current span::after {
  content: "";
  display: inline-block;
  width: 16px; height: 6px;
  margin-left: 10px;
  vertical-align: middle;
  border-radius: 6px 2px;
  background: var(--nz-orange);
  transform: skewX(-20deg);
}
.nz-sport-menu .nz-note { margin-top: 32px; }
/* 英語の種目名の下の日本語の呼び名（products_menu.php の <small>） */
.nz-sport-menu .nz-tile small { display: block; margin-top: 2px; font-size: 13px; line-height: 1.5; color: var(--nz-muted); }

/* =====================================================================
   /products/（Sports Range）
   ===================================================================== */
/* モデル一覧（本国: ペールオレンジ地・4 列・白いカード 300px） */
.nz-sports-range .nz-sr-list .nz-grid { gap: 16px; }
.nz-sr-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 3 / 2;
  padding: 20px 16px 0;
  background: #fff;
  overflow: hidden;
}
.nz-sr-card__media img { width: 92%; height: auto; max-height: 100%; object-fit: contain; }
/* 既存の製品写真（パッケージ入り・白地）は、カードの白とつながるよう少し大きめに */
.nz-sr-card__media--photo { padding: 8px 8px 0; }
.nz-sr-card__media--photo img { width: auto; height: 100%; }
.nz-sr-card .nz-card__body { padding: 16px 16px 24px; }
.nz-sr-card .nz-h3 { margin-bottom: 4px; }
.nz-sr-card .nz-card__tag { margin: 6px 0 10px; font-size: 14px; }
.nz-sr-card .nz-card__body p:last-child { color: var(--nz-ink); }

/* モデル早見表（products_chooser.php） */
.fm-chooser { font-size: 15px; line-height: 1.8; }
.fm-chooser .nz-h3 { margin: 40px 0 14px; font-size: 22px; font-weight: 400 !important; }
.fm-chooser p { margin: 14px 0 0; max-width: 820px; }
.fm-chooser a { color: var(--nz-blue); text-decoration: underline; }
.fm-chooser-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--nz-radius); border: 1px solid var(--nz-line); }
.fm-chooser table { width: 100%; min-width: 640px; border-collapse: collapse; background: #fff; }
.fm-chooser th, .fm-chooser td { padding: 12px 16px; border-bottom: 1px solid var(--nz-line); text-align: left; vertical-align: top; }
.fm-chooser td[rowspan] { border-right: 1px solid var(--nz-line); }
.fm-chooser tr:last-child td { border-bottom: 0; }
.fm-chooser th { background: var(--nz-neutral-bg); font-size: 13px; font-weight: 500; letter-spacing: 0.02em; white-space: nowrap; }
.fm-chooser .fm-chooser-type { white-space: nowrap; }

/* 購入と選び方ガイド（本国の Become a Reseller の位置の帯） */
.nz-sr-guides { position: relative; align-items: center; }
.nz-sr-guides::after {
  content: "";
  position: absolute;
  right: 0; top: 0; bottom: 0;
  width: 40%;
  background: url("../img/nz/graphic-02.png") no-repeat right center / cover;
  opacity: 0.25;
  pointer-events: none;
}
.nz-sr-guides__list { position: relative; z-index: 1; padding: 64px calc(var(--nz-gutter) - 16px) 64px 0; }
.nz-sr-guides__list ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(0, 0, 0, 0.12); }
.nz-sr-guides__list li { border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
.nz-sr-guides__list a { display: block; padding: 14px 0; font-size: 16px; text-decoration: none; }
.nz-sr-guides__list a:hover { text-decoration: underline; }
.nz-sports-range > .nz-wrap .nz-note { margin: 24px 0 0; }

/* =====================================================================
   種目ページ（products_ru / fo / cy / wa / sn / wo）
   ===================================================================== */
/* 概要と特長 */
.nz-sport-intro__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: start; }
.nz-sport-intro__copy > p:not(.nz-eyebrow) { margin: 0 0 16px; font-size: 16px; line-height: 1.9; }
.nz-sport-intro__copy > .nz-list { margin: 0 0 20px; }
.nz-sport-intro__points > .nz-small { margin: 16px 0 0; font-size: 13px; color: var(--nz-muted); }
.nz-sport-intro__guide a, .nz-sport-model__guide a { color: var(--nz-blue); text-decoration: underline; }
.nz-sport-intro__points {
  padding: 32px 32px 28px;
  border-radius: var(--nz-radius);
  background: var(--nz-sports-bg);
}
.nz-sport-intro__points .nz-h3 { margin-bottom: 12px; }
.nz-sport .nz-list li::before { background: var(--nz-orange); }
.nz-sport .nz-list ul { margin: 6px 0 4px; padding: 0; list-style: none; }
.nz-sport .nz-list ul li { font-size: 14px; }
.nz-sport .nz-list ul li::before { width: 8px; opacity: 0.6; }

/* モデル（本国の製品ページの「画像＋名前＋説明＋購入」を 1 枚に） */
.nz-sport-models__list { display: grid; gap: 16px; }
.nz-sport-model {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  overflow: hidden;
  border-radius: var(--nz-radius);
  background: #fff;
  color: var(--nz-ink);
}
.nz-sport-model__media { display: flex; align-items: center; justify-content: center; min-height: 340px; padding: 40px; background: #fff; }
.nz-sport-model__media img { width: 100%; max-width: 440px; height: auto; object-fit: contain; }
.nz-sport-model__media--photo { padding: 16px; }
.nz-sport-model__media--photo img { max-width: 340px; }
.nz-sport-model__body { display: flex; flex-direction: column; justify-content: center; padding: 48px 56px 48px 24px; }
.nz-sport-model__body .nz-card__tag { margin: 0 0 8px; font-size: 14px; }
.nz-sport-model__name { margin: 0 0 12px; font-size: clamp(24px, 2.2vw, 32px); font-weight: 400 !important; line-height: 1.2; letter-spacing: -0.02em; text-align: left; }
.nz-sport-model__desc { margin: 0; font-size: 16px; line-height: 1.85; }
.nz-sport-model__guide { margin: 12px 0 0; font-size: 14px; }
.nz-sport-model__spec { margin: 20px 0 0; border-top: 1px solid var(--nz-line); }
.nz-sport-model__spec div { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--nz-line); font-size: 14px; }
.nz-sport-model__spec dt { color: var(--nz-muted); font-weight: 500; }
.nz-sport-model__spec dd { margin: 0; }
.nz-sport-model .nz-actions { margin-top: 24px; }
.nz-sport-model__buy .fa { margin-right: 10px; font-size: 16px; }

/* 製品コード（EAN）の開閉 */
.nz-sport-ean { margin-top: 40px; border-top-color: rgba(0, 0, 0, 0.12); }
.nz-sport-ean details, .nz-sport-ean { border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
.nz-sport-ean summary { font-size: 16px; }
.nz-sport-ean__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--nz-radius); }
.nz-sport-ean table { width: 100%; min-width: 420px; border-collapse: collapse; background: #fff; font-size: 14px; }
.nz-sport-ean th, .nz-sport-ean td { padding: 9px 16px; border-bottom: 1px solid var(--nz-line); text-align: left; }
.nz-sport-ean th { background: var(--nz-neutral-bg); font-weight: 500; }
.nz-sport-ean td.c2 { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* 力学的効率性（入れた状態・なしの状態の説明図を並べる） */
.nz-sport-mech__card { margin: 0; }
.nz-sport-mech__img { display: flex; align-items: flex-end; justify-content: center; padding: 32px 24px 0; background: #fff; }
.nz-sport-mech__img img { width: auto; max-width: min(100%, 258px); max-height: 360px; } /* 元画像は 388px。粗く見えないよう 1.5 倍までしか広げない（オーナー「粗画像の利用は禁止」） */
.nz-sport-mech__card .nz-card__body { padding: 20px 28px 32px; }
.nz-sport-mech__card .nz-card__tag { font-size: 14px; }
.nz-sport-mech__card .nz-card__body p:last-child { font-size: 15px; line-height: 1.85; }
.nz-sport-mech__tag--off::before { background: var(--nz-muted) !important; }

/* 入れ方とサイズ（スキー） */
.nz-sport-howto .nz-list { max-width: 900px; }
.nz-sport-howto .nz-list li { margin: 0 0 14px; font-size: 15px; line-height: 1.85; }
.nz-sport-howto .nz-list li::before { top: 0.8em; }
.nz-sport-howto a { color: var(--nz-blue); text-decoration: underline; }

/* 素材とテクノロジー */
.nz-sport-tech .nz-panel__media--contain img { max-width: 520px; width: 100%; }

/* よくある質問と読みもの（sports-range.php の fm_render_sport_faq） */
.nz-sport-faq__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 64px; align-items: start; }
.nz-sport-faq .nz-faq__a a, .nz-sport-faq__more a { color: var(--nz-blue); }
.nz-sport-faq__more { margin: 20px 0 0; font-size: 15px; }
.nz-sport-faq__more a { text-decoration: underline; }
.nz-sport-faq__guides { padding: 32px 32px 28px; border-radius: var(--nz-radius); background: var(--nz-sports-bg); }
.nz-sport-faq__guides .nz-h3 { margin-bottom: 12px; }
.nz-sport-faq__guides ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(0, 0, 0, 0.12); }
.nz-sport-faq__guides li { border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
.nz-sport-faq__guides a { display: block; padding: 12px 0; font-size: 15px; text-decoration: none; }
.nz-sport-faq__guides a:hover { text-decoration: underline; }

/* ---------------------------------------------------------------- スマホ */
@media (max-width: 900px) {
  .nz-sport-menu { padding: 48px 0; }
  .nz-sr-guides { grid-template-columns: 1fr; }
  .nz-sr-guides::after { display: none; }
  .nz-sr-guides__list { padding: 0 20px 48px; }
  .nz-sport-intro__grid { grid-template-columns: 1fr; gap: 32px; }
  .nz-sport-intro__points { padding: 24px 20px; }
  .nz-sport-model { grid-template-columns: 1fr; }
  .nz-sport-model__media { min-height: 0; padding: 32px 24px 8px; }
  .nz-sport-model__media img { max-width: 360px; }
  .nz-sport-model__media--photo img { max-width: 260px; }
  .nz-sport-model__body { padding: 20px 20px 32px; }
  .nz-sport-model__spec div { grid-template-columns: 96px 1fr; gap: 12px; }
  .nz-sport-model__buy { width: 100%; justify-content: center; box-sizing: border-box; }
  .nz-sport-mech__img img { max-height: 280px; }
  .nz-sport-mech__card .nz-card__body { padding: 16px 20px 24px; }
  .nz-sport-faq__grid { grid-template-columns: 1fr; gap: 32px; }
  .nz-sport-faq__guides { padding: 24px 20px; }
}
@media (max-width: 560px) {
  .nz-sport-menu .nz-tile span { font-size: 14px; }
  /* 本国のスマホは 1 列 */
  .nz-sr-list .nz-grid--4 { grid-template-columns: 1fr; }
  .nz-sr-card__media { aspect-ratio: 16 / 9; }
  .nz-sr-card__media img { width: 80%; }
  .nz-sr-card__media--photo img { width: auto; }
  .nz-sport-model__buy { padding-left: 16px; padding-right: 16px; font-size: 13px; letter-spacing: 0; white-space: nowrap; }
}
