/* theme-family.css — 家族写真（family）テーマ層
   依存：global.css / components.css / menu.css / menu-shared.css（この順で読み込み＝後勝ち）
   読み込み条件：functions.php で is_page_template('_menu.php') かつ post_slug === 'family'
   役割：共通骨格 menu-shared.css（寒色デフォルト基調）の上に、家族写真の
        「あたたかいテラコッタ×ベージュ」配色を per-slug で重ねる（2026-06-04 オーナー選択）。
        .nb__page スコープで詳細度を上げて骨格を上書き（他メニューは menu-shared のみ＝非影響）。
   方針：七五三(theme-753)と同じ"セレクタ再定義方式"。色と控えめなモチーフのみを変更し、
        構造・文言・コンポーネント・JS・JSON-LD・アンカーナビのガラス挙動には一切触れない。
        三世代の温かさに合う、落ち着いた上質トーン（木のぬくもり）。
   ================================================================ */

/* ── 配色トークン（テラコッタ×ベージュ・深茶をさし色に） ── */
.nb__page {
  --nb-terra:      #c57b5a;  /* テラコッタ：メインアクセント（線・装飾・帯） */
  --nb-terra-deep: #9c5638;  /* 濃テラコッタ：明背景の文字/アイコン/バッジ背景（白5.5:1+） */
  --nb-terra-lt:   #faf3ee;  /* 淡テラコッタ背景 */
  --nb-terra-lt2:  #f1ddd0;  /* 淡テラコッタ背景（濃）グラデ用 */
  --nb-cha:        #8a5a44;  /* 深茶：さし色（装飾） */
  --nb-cha-deep:   #6e4632;  /* 濃茶：文字用（白7:1） */
  --nb-cha-lt:     #f6efe8;  /* 淡ベージュ背景 */
  --nb-cha-lt2:    #ebdccf;  /* 淡ベージュ背景（濃）グラデ用 */
  --nb-text-warm:  #5a4a44;  /* 本文色（茶グレー・淡背景で7:1前後） */
}

/* セクション区切り線：テラコッタ→ゴールドのあたたかいグラデ */
.nb__page .jm__hdiv {
  width: 44px;
  height: 2px;
  background: linear-gradient(90deg, var(--nb-terra), var(--gold));
}
.nb__flow-detail .jm__hdiv,
.nb__chapter--cta .jm__hdiv {
  background: linear-gradient(90deg, rgba(197, 123, 90, .85), rgba(184, 151, 90, .7));
}
/* 料金 主役カードのバッジ：濃テラコッタ背景（白文字 5.5:1+） */
.nb__page .nb__price-badge { background: var(--nb-terra-deep); }

/* ① HERO直下ジャーニー：クリーム背景＋テラコッタドット */
.nb__page .nb__hero-jrn { background: var(--cream); border-top: 1px solid var(--light-gray); }
.nb__page .nb__hero-jrn-h2 { color: var(--charcoal); }
.nb__page .nb__hero-jrn-h2 em { color: var(--nb-terra-deep); }
.nb__page .nb__hero-jrn-sub { color: var(--nb-text-warm); }
.nb__page .nb__hero-jrn-label { color: var(--nb-terra-deep); }
.nb__page .nb__hero-jrn-title { color: var(--nb-text-warm); }
.nb__page .nb__hero-jrn-dot { background: #ffffff; border-color: var(--nb-terra-deep); }
.nb__page .nb__hero-jrn-dot svg { stroke: var(--nb-terra-deep); }
.nb__page .nb__hero-jrn-dot--active { background: var(--nb-terra); border-color: var(--nb-terra); }
.nb__page .nb__hero-jrn-dot--active svg { stroke: #ffffff; }
.nb__page .nb__hero-jrn-step:not(:last-child)::before { background: rgba(197, 123, 90, .35); }
@media (max-width: 767px) {
  .nb__page .nb__hero-jrn-steps::before { background: rgba(197, 123, 90, .35); }
  .nb__page .nb__hero-jrn-dot { background: #ffffff; }
  .nb__page .nb__hero-jrn-dot--active { background: var(--nb-terra); }
}

/* ② 中間CTA：淡テラコッタグラデ */
.nb__page .nb__mid-cta { background: linear-gradient(160deg, var(--nb-terra-lt) 0%, var(--nb-terra-lt2) 100%); }
.nb__page .nb__mid-cta-title { color: var(--charcoal); }
.nb__page .nb__mid-cta-sub { color: var(--nb-text-warm); text-shadow: none; }
.nb__page .nb__mid-cta-example { color: var(--nb-text-warm) !important; text-shadow: none; }

/* ③ 料金後CTA：淡ベージュグラデ（さし色＝深茶） */
.nb__page .nb__price-after-cta { background: linear-gradient(160deg, var(--nb-cha-lt) 0%, var(--nb-cha-lt2) 100%); }
.nb__page .nb__price-after-cta::before { background: var(--nb-terra); width: 56px; height: 2px; }
.nb__page .nb__price-after-cta-en { color: var(--nb-terra-deep); opacity: 1; }
.nb__page .nb__price-after-cta-title { color: var(--charcoal); }
.nb__page .nb__price-after-cta-title em { color: var(--nb-terra-deep); }
.nb__page .nb__price-after-cta-desc { color: var(--nb-text-warm); }
.nb__page .nb__price-after-cta-note { color: var(--nb-text-warm); }

/* ④ 撮影の流れ（flow-detail）：淡テラコッタグラデ */
.nb__page .nb__flow-detail { background: linear-gradient(180deg, var(--nb-terra-lt) 0%, var(--nb-terra-lt2) 100%); }
.nb__page .nb__flow-detail .jm__sec-h2 { color: var(--charcoal); }
.nb__page .nb__flow-detail .jm__sec-sub { color: var(--nb-text-warm); }
.nb__page .nb__flow-dl-dot { background: #ffffff; border-color: var(--nb-terra-deep); color: var(--nb-terra-deep); }
.nb__page .nb__flow-dl-phase { color: var(--nb-terra-deep); opacity: 1; }
.nb__page .nb__flow-dl-title { color: var(--charcoal); }
.nb__page .nb__flow-dl-desc { color: var(--nb-text-warm); }
.nb__page .nb__flow-dl-cost { color: var(--nb-terra-deep); background: var(--warm-white); border-color: rgba(156, 86, 56, .26); }
.nb__page .nb__flow-dl-item:not(:last-child)::after { background: linear-gradient(to bottom, rgba(156, 86, 56, .5), rgba(156, 86, 56, .1)); }
.nb__page .nb__flow-dl-qa { background: var(--warm-white); border: 1px solid rgba(156, 86, 56, .18); }
.nb__page .nb__flow-dl-qa-q { color: var(--nb-terra-deep); }
.nb__page .nb__flow-dl-qa-a { color: var(--nb-text-warm); }
/* 「当日の目安」ブロック（CH6冒頭）＝明地テーマの上書き。罫線と余白で組む（カード化・角丸影・一辺色バーなし）。 */
.nb__page .nb__flow-est-heading { color: var(--nb-terra-deep); border-bottom-color: color-mix(in srgb, var(--nb-terra-deep) 32%, transparent); }
.nb__page .nb__flow-est-row { border-bottom-color: color-mix(in srgb, var(--nb-terra-deep) 16%, transparent); }
.nb__page .nb__flow-est-label { color: var(--nb-text-warm); }
.nb__page .nb__flow-est-val { color: var(--charcoal); }
.nb__page .nb__flow-est-note { color: var(--nb-text-warm); }

.nb__page .nb__flow-detail .line-cta-btn {
  background: #06C755; /* LINE公式ブランド色（オーナー確定・2026-07-09） */
  color: #fff;
  border: .5px solid rgba(255, 255, 255, .45);
  box-shadow: inset 1px 1px 1.8px rgba(255, 255, 255, .5), 0 4px 14px rgba(0, 0, 0, .12);
}
.nb__page .nb__flow-detail .line-cta-btn:hover { background: #05b34c; /* LINE公式hover（2026-07-09） */ color: #fff; border-color: rgba(255, 255, 255, .6); }

/* ⑤ 緊急性ブロック：深いテラ茶グラデ（白文字維持・AA） */
.nb__page .nb__urgency { background: linear-gradient(135deg, #7a3d29 0%, #4a2117 100%); }
.nb__page .nb__urgency-text { color: rgba(255, 255, 255, .92); }

/* ⑥ 最終CTA overlay：テラ茶の暗色（背景写真の上に重ねる） */
.nb__page .nb__cta-bg-overlay { background: linear-gradient(to bottom, rgba(110, 70, 50, .5) 0%, rgba(48, 30, 22, .82) 100%); }

/* ⑦ 比較表ヘッダー（ch1）：テラコッタグラデ（白文字・当店列も白で明示） */
.nb__page .nb__compare-thead { background: linear-gradient(135deg, var(--nb-terra) 0%, var(--nb-terra-deep) 100%); }
.nb__page .nb__compare-col--us { color: #ffffff !important; }
/* 比較表セル：他社✗は攻撃色を出さず暖灰。当店○は濃テラコッタで温かく強調 */
.nb__page .nb__yn--no   { color: #6f6259; }
.nb__page .nb__yn--cond { color: #786a5a; }
.nb__page .nb__compare-cell--us .nb__yn--yes { color: var(--nb-terra-deep); }
.nb__page .nb__compare-cell:not(.nb__compare-cell--us) .nb__yn--yes { color: var(--gold-dk); }

/* ⑧ 定義ボックス（AIO）：金縦線→淡テラコッタの小札へ（テキストは不変） */
.nb__page .nb__definition {
  border-left: none;
  border: 1px solid var(--nb-terra-lt2);
  border-radius: 12px;
  background: linear-gradient(165deg, var(--nb-terra-lt) 0%, var(--warm-white) 70%);
}
.nb__page .nb__definition-label {
  font-family: var(--jp);
  font-size: .8rem;
  letter-spacing: .04em;
  text-transform: none;
  color: var(--nb-terra-deep);
  display: inline-flex;
  align-items: center;
}
.nb__page .nb__definition-label::before {
  content: '';
  display: inline-block;
  width: 13px; height: 13px; margin-right: 8px;
  background-color: var(--nb-terra-deep);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E") center / contain no-repeat;
}
.nb__page .nb__definition-text strong { color: var(--nb-terra-deep); }

/* ⑨ 料金カード画像未登録時のアイコン背景：プラン別にテラコッタ／ベージュを循環 */
.nb__page .nb__price-card-media--icon { background: linear-gradient(160deg, var(--nb-terra-lt) 0%, var(--warm-white) 100%); }
.nb__page .nb__price-card-media--icon svg { color: var(--nb-terra-deep); opacity: .9; }
.nb__page .nb__price-plans .nb__price-card:nth-child(2) .nb__price-card-media--icon { background: linear-gradient(160deg, var(--nb-cha-lt) 0%, var(--warm-white) 100%); }
.nb__page .nb__price-plans .nb__price-card:nth-child(2) .nb__price-card-media--icon svg { color: var(--nb-cha-deep); }
.nb__page .nb__price-plans .nb__price-card:nth-child(3) .nb__price-card-media--icon { background: linear-gradient(160deg, var(--nb-terra-lt2) 0%, var(--warm-white) 100%); }
.nb__page .nb__price-plans .nb__price-card:nth-child(4) .nb__price-card-media--icon svg { color: var(--nb-cha-deep); }

/* ⑩ CH5 なぜカードの大数字：濃テラコッタでAA確保 */
.nb__page .nb__why-val { color: var(--nb-terra-deep); }

/* ⑪ 章見出しラベル：丸ドットを添える（明朝・濃テラコッタ） */
.nb__page .jm__marker-label {
  font-family: var(--jp);
  font-size: .82rem;
  letter-spacing: .08em;
  color: var(--nb-terra-deep);
}
.nb__page .jm__marker-label::before {
  content: '';
  display: inline-block;
  width: 12px; height: 12px; margin-right: 7px; vertical-align: -1px;
  background-color: var(--nb-terra);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E") center / contain no-repeat;
}
.nb__page .nb__chapter--cta .jm__marker-label { color: var(--nb-terra); }
.nb__page .nb__chapter--cta .jm__marker-label::before { background-color: var(--nb-terra); }
.nb__page .nb__hero-card-en { color: var(--nb-terra); }


/* ⑬ 注意ボックス（CH4 案内）：淡テラコッタトーン */
.nb__page .nb__price-note-box { background: var(--nb-terra-lt); border-color: rgba(156, 86, 56, .18); color: var(--nb-text-warm); }

/* ⑭ 写真帯overlay：テラ茶の暖色暗色（白クォートの可読性確保） */
.nb__page .nb__photo-band-overlay { background: linear-gradient(180deg, rgba(110, 70, 50, .18) 0%, rgba(110, 70, 50, .6) 100%); }

/* ⑮ アンカーナビ：テラコッタ基調（色のみ上書き＝ガラス構造/JS/sticky-glass-spec は不可触）。
   濃テラコッタ #9c5638 は白文字/テラコッタ背景いずれもコントラスト4.5:1+。 */
.nb__page .nb__page-nav:not(.is-stuck) { background-color: var(--nb-terra-deep); }
.nb__page .nb__page-nav.is-stuck .nb__page-nav-link.is-current {
  color: var(--nb-terra-deep);
  border-bottom-color: var(--nb-terra-deep);
  background: rgba(156, 86, 56, .10);
}
@media (hover: hover) and (pointer: fine) {
  .nb__page .nb__page-nav.is-stuck .nb__page-nav-link:hover {
    color: var(--nb-terra-deep);
    border-bottom-color: var(--nb-terra-deep);
  }
  .nb__page .nb__page-nav:not(.is-stuck) .nb__page-nav-link:hover {
    color: #fff;
    border-bottom-color: #fff;
  }
}
.nb__page .nb__page-nav-link:focus-visible { outline-color: var(--nb-terra-deep); }
.nb__page .nb__page-nav:not(.is-stuck) .nb__page-nav-link:focus-visible { outline-color: #fff; }


/* 専用写真が無い間のヒーロー背景：緊急性ブロックと同じテーマ色暗版グラデで統一（写真が来たら hero に実パスを設定） */
.nb__page .nb__hero--noimg .nb__hero-bg { background: linear-gradient(135deg, #7a3d29 0%, #4a2117 100%); }
