/* theme-profile.css — プロフィール写真（profile）テーマ層
   依存：global.css / components.css / menu.css / menu-shared.css（この順で読み込み＝後勝ち）
   読み込み条件：functions.php で is_page_template('_menu.php') かつ post_slug === 'profile'
   役割：共通骨格 menu-shared.css（寒色デフォルト基調）の上に per-slug の配色＋柄を重ねる。
        .nb__page スコープで詳細度を上げて骨格を上書き（他メニューは menu-shared のみ＝非影響）。
   配色コンセプト：プロの信頼・紺青／差し色は控えめなシャンパンゴールド（誠実さと洗練の大人配色）
   ※配色は配色リサーチWorkflow（Web検索＋WCAG AA敵対検証・2026-06-04）で確定。deep色は白背景4.5:1以上、
     urgency暗背景は白文字4.5:1以上を満たす。family/baby/753/20th と一目で見分く色相。
   ================================================================ */

/* ── 配色トークン（accent＝メイン／sub＝さし色） ── */
.nb__page {
  --nb-terra:      #45689a;   /* メインアクセント（線・装飾・帯・主役バッジ） */
  --nb-terra-deep: #284069;   /* 濃アクセント：明背景の文字/アイコン（白4.5:1+） */
  --nb-terra-lt:   #f4f7fb;   /* 淡アクセント背景 */
  --nb-terra-lt2:  #e6edf6;   /* 淡アクセント背景（濃）グラデ用 */
  --nb-cha:        #b08a3e;   /* さし色 */
  --nb-cha-deep:   #7e611d;   /* 濃さし色：文字用（白4.5:1+） */
  --nb-cha-lt:     #fbf8ef;   /* 淡さし色背景 */
  --nb-cha-lt2:    #f1e8d0;   /* 淡さし色背景（濃）グラデ用 */
  --nb-text-warm:  #3a3a45;   /* 本文色（淡背景で4.5:1+） */
}

/* セクション区切り線：accent→sub のグラデ */
.nb__page .jm__hdiv { width: 44px; height: 2px; background: linear-gradient(90deg, var(--nb-terra), var(--nb-cha)); }
.nb__flow-detail .jm__hdiv,
.nb__chapter--cta .jm__hdiv { background: linear-gradient(90deg, rgba(69, 104, 154, .85), rgba(126, 97, 29, .7)); }
/* 料金 主役カードのバッジ：濃アクセント背景（白文字） */
.nb__page .nb__price-badge { background: var(--nb-terra-deep); }

/* ① HERO直下ジャーニー：クリーム背景＋accentドット */
.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(40, 64, 105, .35); }
@media (max-width: 767px) {
  .nb__page .nb__hero-jrn-steps::before { background: rgba(40, 64, 105, .35); }
  .nb__page .nb__hero-jrn-dot { background: #ffffff; }
  .nb__page .nb__hero-jrn-dot--active { background: var(--nb-terra); }
}

/* ② 中間CTA：淡accentグラデ */
.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：淡subグラデ（さし色） */
.nb__page .nb__price-after-cta { background: linear-gradient(160deg, var(--nb-terra-lt) 0%, var(--nb-terra-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); }

/* ④ 撮影の流れ：淡accentグラデ */
.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(40, 64, 105, .26); }
.nb__page .nb__flow-dl-item:not(:last-child)::after { background: linear-gradient(to bottom, rgba(40, 64, 105, .5), rgba(40, 64, 105, .1)); }
.nb__page .nb__flow-dl-qa { background: var(--warm-white); border: 1px solid rgba(40, 64, 105, .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, #2a3f63 0%, #16263b 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(40, 56, 86, .42) 0%, rgba(22, 36, 58, .84) 100%); }

/* ⑦ 比較表ヘッダー（ch1）：accentグラデ（白文字） */
.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）：淡accentの小札 */
.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); }

/* ⑨ 料金カード画像未登録時のアイコン背景：プラン別に accent／sub を循環 */
.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 なぜカードの大数字：濃accentでAA確保 */
.nb__page .nb__why-val { color: var(--nb-terra-deep); }

/* ⑪ 章見出しラベル：丸ドットを添える（明朝・濃accent） */
.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: #8aa7cc; } /* 暗地ch9は明るめ青（--nb-terra=暗地3.0:1でAA割れ→6.88:1・2026-07-21） */
.nb__page .nb__chapter--cta .jm__marker-label::before { background-color: #8aa7cc; }
.nb__page .nb__hero-card-en { color: var(--nb-terra); }


/* ⑬ 注意ボックス（CH4 案内）：淡accentトーン */
.nb__page .nb__price-note-box { background: var(--nb-terra-lt); border-color: rgba(40, 64, 105, .18); color: var(--nb-text-warm); }

/* ⑭ 写真帯overlay：暗色（白クォートの可読性確保） */
.nb__page .nb__photo-band-overlay { background: linear-gradient(180deg, rgba(40, 56, 86, .42) 0%, rgba(22, 36, 58, .84) 100%); }

/* ⑮ アンカーナビ：accent基調（色のみ上書き＝ガラス構造/JS/sticky-glass-spec は不可触） */
.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(40, 64, 105, .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, #2a3f63 0%, #16263b 100%); }

/* ═══════════════════════════════════════════════
   柄（地紋）：直線的な幾何文様（オーナー指示・和柄から変更）。凛・信頼・端正。
   各セクションで別の直線柄（連続回避）。hero=ピンストライプ/中間=ヘリンボーン/料金後=菱格子(金)/流れ=グリッド/緊急性=二重線(白)。
═══════════════════════════════════════════════ */
/* hero下：ピンストライプ（細縦縞・紺青） */
.nb__page .nb__hero-jrn { position: relative; overflow: hidden; }
.nb__page .nb__hero-jrn > * { position: relative; z-index: 1; }
.nb__page .nb__hero-jrn::after {
  content: ''; position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='10' viewBox='0 0 18 10'%3E%3Cline x1='3' y1='0' x2='3' y2='10' stroke='%2345689a' stroke-width='0.8'/%3E%3Cline x1='11' y1='0' x2='11' y2='10' stroke='%2345689a' stroke-width='0.8'/%3E%3C/svg%3E") 0 0 / 18px 10px repeat;
  opacity: 0.10; pointer-events: none; z-index: 0;
}

/* 中間CTA：クロスハッチ（細い斜め格子・紺青）＝オーナー指示で別柄に変更 */
.nb__page .nb__mid-cta { position: relative; overflow: hidden; }
.nb__page .nb__mid-cta > * { position: relative; z-index: 1; }
.nb__page .nb__mid-cta::after {
  content: ''; position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg stroke='%2345689a' stroke-width='0.6' fill='none'%3E%3Cpath d='M0 0 L20 20 M20 0 L0 20'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 20px 20px repeat;
  opacity: 0.06; pointer-events: none; z-index: 0;
}

/* 料金後CTA：菱形格子（金茶） */
.nb__page .nb__price-after-cta { position: relative; overflow: hidden; }
.nb__page .nb__price-after-cta-inner { position: relative; z-index: 1; }
.nb__page .nb__price-after-cta::after {
  content: ''; position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cg stroke='%23b08a3e' stroke-width='0.7' fill='none'%3E%3Cpath d='M15 0 L30 15 L15 30 L0 15 Z'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 30px 30px repeat;
  opacity: 0.08; pointer-events: none; z-index: 0;
}

/* 撮影の流れ：グリッド方眼（紺青） */
.nb__page .nb__flow-detail { position: relative; overflow: hidden; }
.nb__page .nb__flow-detail-inner { position: relative; z-index: 1; }
.nb__page .nb__flow-detail::before {
  content: ''; position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cg stroke='%2345689a' stroke-width='0.6' fill='none'%3E%3Cpath d='M0 0 H28 M0 0 V28'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 28px 28px repeat;
  opacity: 0.06; pointer-events: none; z-index: 0;
}

/* 緊急性：二重線ストライプ（白） */
.nb__page .nb__urgency { position: relative; overflow: hidden; }
.nb__page .nb__urgency-body, .nb__page .nb__urgency-badge { position: relative; z-index: 1; }
.nb__page .nb__urgency::after {
  content: ''; position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='10' viewBox='0 0 26 10'%3E%3Cg stroke='%23ffffff' fill='none'%3E%3Cline x1='4' y1='0' x2='4' y2='10' stroke-width='1.4'/%3E%3Cline x1='8' y1='0' x2='8' y2='10' stroke-width='0.6'/%3E%3Cline x1='18' y1='0' x2='18' y2='10' stroke-width='1.4'/%3E%3Cline x1='22' y1='0' x2='22' y2='10' stroke-width='0.6'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 26px 10px repeat;
  opacity: 0.07; pointer-events: none; z-index: 0;
}
