/* ============================================================
   header.css — グローバルヘッダー（子テーマ / Lightning G3 オーバーライド）
   Hero との一体感を重視。JS を追加しない実装:
     - 開閉: <details>/<summary>（ネイティブ・キーボード対応）
     - スクロール後の白化: CSS scroll-driven animation（@supports フォールバック）
   ============================================================ */

.da-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	height: 64px;                       /* モバイル */
	color: #fff;                        /* Hero上では白 */
	background: transparent;
	border-bottom: 1px solid transparent;
	transition: background var(--da-dur-base) var(--da-ease-standard),
	            color var(--da-dur-base) var(--da-ease-standard),
	            border-color var(--da-dur-base) var(--da-ease-standard),
	            box-shadow var(--da-dur-base) var(--da-ease-standard);
}
.da-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: var(--da-space-16);
}

/* -------- Logo -------- */
.da-header__logo {
	font-family: var(--da-font-base);
	font-weight: var(--da-fw-bold);
	font-size: 18px;
	letter-spacing: -0.01em;
	color: currentColor;                /* ヘッダー色に追従（白 → 濃グレー） */
	text-decoration: none;
	white-space: nowrap;
}
.da-header__logo:hover { opacity: .85; }

/* -------- Hamburger（details/summary） -------- */
.da-header__toggle {
	list-style: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;          /* タップ領域 */
	margin-right: -8px;
	color: currentColor;
}
.da-header__toggle::-webkit-details-marker { display: none; }
.da-header__bars { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 24px; }
.da-header__bars i {
	display: block; width: 100%; height: 2px;
	background: currentColor; border-radius: 2px;
	transition: transform var(--da-dur-base) var(--da-ease-standard), opacity var(--da-dur-fast) var(--da-ease-standard);
}
/* 開くと × へ */
.da-header__nav-wrap[open] .da-header__bars i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.da-header__nav-wrap[open] .da-header__bars i:nth-child(2) { opacity: 0; }
.da-header__nav-wrap[open] .da-header__bars i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* -------- Nav（モバイル: ドロップダウンパネル） -------- */
.da-header__nav {
	position: absolute;
	top: 100%; left: 0; right: 0;
	display: flex;
	flex-direction: column;
	gap: var(--da-space-8);
	background: #fff;
	color: var(--da-gray-800);
	padding: var(--da-space-16) var(--da-gutter) var(--da-space-24);
	border-top: 1px solid var(--da-border);
	box-shadow: var(--da-shadow-lg);
	animation: da-fade-up var(--da-dur-slow) var(--da-ease-out) both;  /* Foundation の演出を利用 */
}
.da-header__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.da-header__menu a { display: block; padding: 12px 0; color: var(--da-gray-800); text-decoration: none; font-weight: var(--da-fw-medium); }
.da-header__menu a:hover { color: var(--da-primary-600); }
.da-header__cta { margin-top: var(--da-space-16); }   /* CTA は常にブランドカラー（da-c-btn--primary） */

/* -------- Solid（非フロント / スクロール後の見た目） -------- */
.da-header--solid {
	position: sticky;                   /* レイアウトを占有し、本文への被りを防ぐ */
	background: rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: var(--da-gray-800);
	border-bottom-color: var(--da-border);
	box-shadow: var(--da-shadow-sm);
}

/* -------- Desktop（≥1024） -------- */
@media (min-width: 1024px) {
	.da-header { height: 80px; }

	/* details をレイアウトから消し、nav を inner の flex 子にする */
	.da-header .da-header__nav-wrap { display: contents; }
	.da-header .da-header__nav-wrap .da-header__toggle { display: none; }

	/* 高い詳細度で UA の details 折りたたみ非表示を上書きし、常に表示 */
	.da-header .da-header__nav-wrap .da-header__nav {
		display: flex;
		position: static;
		flex-direction: row;
		align-items: center;
		gap: var(--da-space-32);
		background: transparent;
		color: inherit;
		padding: 0;
		border-top: 0;
		box-shadow: none;
		animation: none;
	}
	.da-header__menu { flex-direction: row; gap: var(--da-space-24); }
	.da-header__menu a { padding: 0; color: currentColor; font-size: 15px; }
	.da-header__menu a:hover { color: currentColor; opacity: .7; }
	.da-header__cta { margin-top: 0; }
}

/* -------- Front overlay: スクロールで白へ --------
   main.js が rAF スロットリングで .is-scrolled を付与（全ブラウザ対応）。
   base の transition により滑らかに遷移する。 */
.da-header--overlay.is-scrolled {
	background: rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: var(--da-gray-800);
	border-bottom-color: var(--da-border);
	box-shadow: var(--da-shadow-sm);
}

/* -------- Reduced Motion -------- */
@media (prefers-reduced-motion: reduce) {
	.da-header,
	.da-header__bars i,
	.da-header__nav { transition: none; animation: none; }
}
