/**
 * 本音をやわらかく言う辞典 (/honne-jiten/) ヘッダーロゴ切替エフェクト
 * -------------------------------------------------------------
 * body.nt-honne-context のときだけ有効。通常ページには一切影響しない。
 *
 * 挙動:
 *   初期      : Neutrope Biz メインロゴが通常表示
 *   スクロール後: メインロゴが上へ消え、本音辞典ロゴが下から
 *               上がってメインロゴ位置に収まる (body に
 *               is-honne-logo-swapped が付与される)
 *
 * DOM は assets/js/honne-header.js が custom-logo-link 内に後付けする:
 *   .nt-site-logo-stack
 *     img.custom-logo.nt-site-logo-main   (既存メインロゴ)
 *     img.nt-site-logo-honne              (本音辞典ロゴ / 装飾 aria-hidden)
 *
 * サイズ一致:
 *   メインロゴ (in-flow) がスタックの寸法を決め、本音辞典ロゴは
 *   position:absolute + inset:0 + object-fit:contain でその枠を埋める。
 *   両ロゴは同枠を共有するため、表示サイズが一致しヘッダー高さも
 *   変わらない。
 *
 * 配当金 (haitou-header.css) と同じ仕組みだが、スコープ class
 * (nt-honne-context / is-honne-logo-swapped) とロゴ class
 * (nt-site-logo-honne) を別にして完全に独立させている。両コンテキスト
 * は同一ページで同時に成立しないため干渉しない。
 */

/* スタック: メインロゴのサイズをそのまま引き継ぎ、内部のスライドを
   枠内に収めるため overflow:hidden。display:inline-block で既存の
   custom-logo-link のレイアウトを崩さない。 */
body.nt-honne-context .nt-site-logo-stack {
	position: relative;
	display: inline-block;
	overflow: hidden;
	line-height: 0;
	vertical-align: middle;
}

/* メインロゴ: in-flow のまま。スタックの寸法を決める基準。 */
body.nt-honne-context .nt-site-logo-stack .nt-site-logo-main {
	display: block;
	position: relative;
	transform: translateY(0);
	opacity: 1;
	transition: transform 420ms ease, opacity 420ms ease;
	will-change: transform, opacity;
}

/* 本音辞典ロゴ: メインロゴ枠を絶対配置で埋める。初期は下に待機・透明。 */
body.nt-honne-context .nt-site-logo-stack .nt-site-logo-honne {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
	transform: translateY(110%);
	opacity: 0;
	transition: transform 420ms ease, opacity 420ms ease;
	will-change: transform, opacity;
	pointer-events: none;
}

/* スクロール後: メインロゴは上へ退避、本音辞典ロゴが定位置へ。 */
body.nt-honne-context.is-honne-logo-swapped .nt-site-logo-stack .nt-site-logo-main {
	transform: translateY(-110%);
	opacity: 0;
}

body.nt-honne-context.is-honne-logo-swapped .nt-site-logo-stack .nt-site-logo-honne {
	transform: translateY(0);
	opacity: 1;
	pointer-events: auto;
}

/* モーション抑制設定では瞬時切替 (トランジションなし)。
   表示状態の切り替え自体は維持し、アニメーションだけ無効化する。 */
@media (prefers-reduced-motion: reduce) {
	body.nt-honne-context .nt-site-logo-stack .nt-site-logo-main,
	body.nt-honne-context .nt-site-logo-stack .nt-site-logo-honne {
		transition: none;
	}
}

/* 本音辞典関連ページでは、親テーマのスティッキーマスコット
   (Neuty / .nt-header__mascot) を非表示にする。
   理由: スクロール後にメインロゴ位置へ入る本音辞典ロゴ (枠いっぱいの
   テキストロゴ) と、固定位置のマスコットが視覚的に重なり「本音をやわらか
   く言う辞典」の右側が隠れてしまうため。honne コンテキストでは
   ブランドを本音辞典ロゴに一本化する。

   このルールは body.nt-honne-context スコープに閉じているため、
   通常ページ (/ や /products/ 等) の Neuty 表示には影響しない。
   親テーマや nbc_output_sticky_mascot() の出力ロジック自体は変更せず、
   CSS の表示制御のみで完結する。 */
body.nt-honne-context .nt-header__mascot {
	display: none;
}
