/**
 * css/components/section-heading.css
 * ============================================================
 * A LEGEND 2：Section Heading
 * ============================================================
 *
 * 役割：
 * - template-parts/components/section-heading.php の見出しを装飾します。
 *
 * 今回の改修：
 * - 見出し色を design.colors.heading 由来の --aleg2-color-heading へ接続します。
 * - 見出しフォントを design.fonts.heading 由来の --aleg2-font-heading へ接続します。
 * - eyebrow は英字装飾扱いとして --aleg2-font-latin / --aleg2-color-primary へ接続します。
 * - description は --aleg2-color-text-muted / --aleg2-line-height-body へ接続します。
 * - 横幅は既存の 820px を維持しつつ、コンテナ設定に対して自然に収まるようにします。
 * - 既存セレクタ・既存HTML構造・center / left modifier は維持します。
 * - large-bg variant を追加し、NEWS専用だった大型背景タイトル見出しを共通化します。
 */

/* ------------------------------------------------------------
 * Section heading wrapper
 * ------------------------------------------------------------
 *
 * セクション見出し全体の外枠です。
 *
 * 既存の width: min(100%, 820px) は維持します。
 * 各セクション側のcontainer幅に対して、見出しだけが広がりすぎないようにします。
 */
.aleg2-section-heading {
	width: min(100%, 820px);
	margin-bottom: clamp(32px, 5vw, 72px);
}

/**
 * 中央寄せ見出し。
 *
 * 既存挙動を維持します。
 */
.aleg2-section-heading--center {
	margin-inline: auto;
	text-align: center;
}

/**
 * 左寄せ見出し。
 *
 * 既存挙動を維持します。
 */
.aleg2-section-heading--left {
	text-align: left;
}

/* ------------------------------------------------------------
 * Eyebrow
 * ------------------------------------------------------------
 *
 * セクション上部の小さなラベルです。
 *
 * 英字・短い識別子として使われることが多いため、
 * design.fonts.latin 由来の --aleg2-font-latin を使います。
 */
.aleg2-section-heading__eyebrow {
	display: inline-flex;
	gap: var(--aleg2-space-2);
	align-items: center;
	margin: 0 0 var(--aleg2-space-4);
	color: var(--aleg2-color-primary);
	font-family: var(--aleg2-font-latin);
	font-size: var(--aleg2-font-size-xs);
	font-weight: 900;
	letter-spacing: var(--aleg2-letter-spacing-wider);
	text-transform: uppercase;
}

/**
 * eyebrow 左側のライン。
 *
 * currentColorを使うことで、primary色に自動追従します。
 */
.aleg2-section-heading__eyebrow::before {
	display: inline-block;
	width: 34px;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.75;
}

/**
 * 中央寄せ時だけ、右側にもラインを追加します。
 *
 * 既存挙動を維持します。
 */
.aleg2-section-heading--center .aleg2-section-heading__eyebrow::after {
	display: inline-block;
	width: 34px;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.75;
}

/* ------------------------------------------------------------
 * Title
 * ------------------------------------------------------------
 *
 * セクションの主見出しです。
 *
 * 色・フォント・行高・字間をDesign Tokenへ接続し、
 * 管理画面のデザイン設定がTOP / archive / single / pageの見出しへ
 * 一貫して反映されるようにします。
 */
.aleg2-section-heading__title {
	margin: 0;
	color: var(--aleg2-color-heading);
	font-family: var(--aleg2-font-heading);
	font-size: clamp(2rem, 1.35rem + 3.2vw, 5rem);
	font-weight: 900;
	line-height: var(--aleg2-line-height-tight);
	letter-spacing: var(--aleg2-letter-heading);
}

/* ------------------------------------------------------------
 * Description
 * ------------------------------------------------------------
 *
 * 見出し下の説明文です。
 *
 * 説明文は主張しすぎないよう muted を使います。
 * 本文としての読みやすさを保つため、line-heightはbody tokenへ接続します。
 */
.aleg2-section-heading__description {
	width: min(100%, 660px);
	margin-top: var(--aleg2-space-5);
	color: var(--aleg2-color-text-muted);
	font-size: var(--aleg2-font-size-md);
	line-height: var(--aleg2-line-height-body);
}

.aleg2-section-heading--center .aleg2-section-heading__description {
	margin-inline: auto;
}

/* ------------------------------------------------------------
 * Section heading action
 * ------------------------------------------------------------
 *
 * CTA本体の色・背景・影・アイコンは css/components/button.css に委譲します。
 * section-heading側では、見出し内での配置と余白だけを担当します。
 */
.aleg2-section-heading__action {
	margin: var(--aleg2-space-6) 0 0;
}

.aleg2-section-heading--center .aleg2-section-heading__action {
	display: flex;
	justify-content: center;
}

.aleg2-section-heading--right .aleg2-section-heading__action {
	display: flex;
	justify-content: flex-end;
}


/* ------------------------------------------------------------
 * Variant: large background title
 * ------------------------------------------------------------
 *
 * TOP News の A LEGEND（旧）レイアウトだけが持っていた、
 * 「大きい薄文字の英字タイトル + 小さめの日本語タイトル + 説明文」の配置を
 * 共通 section-heading の正式variantとして定義します。
 *
 * 重要：
 * - 既存の .aleg2-section-heading__* 単体セレクタは上書きしません。
 * - 必ず .aleg2-section-heading--variant-large-bg 配下だけに限定します。
 * - これにより archive / single / page などで使う通常見出しへ副作用を出さず、
 *   TOP各セクションだけが必要に応じてこの見た目を採用できます。
 */
.aleg2-section-heading--variant-large-bg {
	position: relative;
	width: min(100%, 1200px);
	padding-top: clamp(4px, 1.4vw, 18px);
	margin-bottom: clamp(28px, 4.6vw, 64px);
}

.aleg2-section-heading--variant-large-bg.aleg2-section-heading--center,
.aleg2-section-heading--variant-large-bg.aleg2-section-heading--right {
	margin-inline: auto;
}

.aleg2-section-heading--variant-large-bg .aleg2-section-heading__eyebrow {
	display: block;
	position: relative;
	z-index: 0;
	max-width: 100%;
	margin: 0;
	color: color-mix(in srgb, var(--aleg2-color-heading) 10%, transparent);
	font-family: var(--aleg2-font-latin);
	font-size: clamp(4.8rem, 13vw, 11.5rem);
	font-weight: 900;
	line-height: 0.78;
	letter-spacing: -0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.aleg2-section-heading--variant-large-bg .aleg2-section-heading__eyebrow::before,
.aleg2-section-heading--variant-large-bg .aleg2-section-heading__eyebrow::after {
	display: none;
	content: none;
}

.aleg2-section-heading--variant-large-bg .aleg2-section-heading__title {
	position: relative;
	z-index: 1;
	margin: clamp(-18px, -2vw, -8px) 0 0;
	font-size: clamp(1.05rem, 1.4vw, 1.45rem);
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: var(--aleg2-letter-spacing-wide);
}

.aleg2-section-heading--variant-large-bg .aleg2-section-heading__description {
	width: min(100%, 48rem);
	margin: var(--aleg2-space-3) 0 0;
	font-size: var(--aleg2-font-size-sm);
}

.aleg2-section-heading--variant-large-bg.aleg2-section-heading--center .aleg2-section-heading__description {
	margin-inline: auto;
}

.aleg2-section-heading--variant-large-bg.aleg2-section-heading--right .aleg2-section-heading__description {
	margin-left: auto;
}

.aleg2-section-heading--variant-large-bg .aleg2-section-heading__action {
	margin: var(--aleg2-space-6) 0 0;
}

.aleg2-section-heading--variant-large-bg.aleg2-section-heading--center .aleg2-section-heading__action {
	display: flex;
	justify-content: center;
}

.aleg2-section-heading--variant-large-bg.aleg2-section-heading--right .aleg2-section-heading__action {
	display: flex;
	justify-content: flex-end;
}

/* ------------------------------------------------------------
 * Optional accent helpers
 * ------------------------------------------------------------
 *
 * 既存HTMLへ影響しない補助クラスです。
 * セクション見出し内で一部だけ色を変えたい場合に使えます。
 */
.aleg2-section-heading__accent {
	color: var(--aleg2-color-primary);
}

.aleg2-section-heading__muted {
	color: var(--aleg2-color-text-muted);
}

/* ------------------------------------------------------------
 * Responsive
 * ------------------------------------------------------------
 *
 * 既存のスマホ調整を維持しつつ、large-bg variantだけは
 * 長い英字見出しがスマホで過剰に大きくならないように調整します。
 */
@media (max-width: 640px) {
	.aleg2-section-heading {
		margin-bottom: var(--aleg2-space-10);
	}

	.aleg2-section-heading__eyebrow {
		letter-spacing: 0.12em;
	}

	.aleg2-section-heading__eyebrow::before,
	.aleg2-section-heading--center .aleg2-section-heading__eyebrow::after {
		width: 24px;
	}

	.aleg2-section-heading--variant-large-bg {
		margin-bottom: clamp(24px, 8vw, 42px);
	}

	.aleg2-section-heading--variant-large-bg .aleg2-section-heading__eyebrow {
		font-size: clamp(4rem, 18vw, 8.4rem);
		letter-spacing: -0.07em;
	}
}
