/* ============================================================
   legal-page.css — 法務ページ（プライバシーポリシー等）
   page-privacy-policy.php 専用。読みやすさ重視のプロセ組み。
   Design System 準拠 / 静かで上質なトーン。
   ============================================================ */

/* -------- ヘッダー（淡いグラデ帯） -------- */
.da-legal__head {
	position: relative;
	padding-block: var(--da-space-64) var(--da-space-48);
	background: var(--da-bg-subtle);
	border-bottom: 1px solid var(--da-border);
	text-align: center;
	overflow: hidden;
}
.da-legal__head::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(60% 80% at 50% 0%, rgba(37, 99, 235, .08), transparent 70%);
	pointer-events: none;
}
.da-legal__head > .da-container { position: relative; }

.da-legal__overline {
	margin: 0 0 var(--da-space-12);
	font-size: var(--da-fs-h6);
	font-weight: var(--da-fw-bold);
	letter-spacing: var(--da-ls-wide);
	text-transform: uppercase;
	color: var(--da-primary-600);
}
.da-legal__title {
	margin: 0 0 var(--da-space-16);
	font-size: var(--da-fs-h1);
	font-weight: var(--da-fw-bold);
	line-height: var(--da-lh-tight);
	letter-spacing: var(--da-ls-tight);
	color: var(--da-text-strong);
}
.da-legal__meta {
	margin: 0;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--da-space-8);
	font-size: var(--da-fs-small);
	color: var(--da-text-muted);
}

/* -------- 本文 -------- */
.da-legal__body {
	padding-block: var(--da-space-64) var(--da-space-96);
	font-size: var(--da-fs-body);
	line-height: var(--da-lh-body);
	color: var(--da-text);
}
.da-legal__lead {
	margin: 0 0 var(--da-space-48);
	padding: var(--da-space-24);
	background: var(--da-bg-subtle);
	border: 1px solid var(--da-border);
	border-radius: var(--da-radius-lg);
	color: var(--da-text);
}

.da-legal__section {
	margin-bottom: var(--da-space-48);
}
.da-legal__section h2 {
	margin: 0 0 var(--da-space-16);
	padding: 0 0 var(--da-space-12);
	font-size: var(--da-fs-h3);
	font-weight: var(--da-fw-bold);
	line-height: var(--da-lh-heading);
	letter-spacing: var(--da-ls-heading);
	color: var(--da-text-strong);
	background: none;
	border: 0;
	border-bottom: 1px solid var(--da-border);   /* 親テーマの緑border-topを打ち消し、下線のみ */
}
.da-legal__section h3 {
	margin: var(--da-space-24) 0 var(--da-space-8);
	padding: 0;
	font-size: var(--da-fs-h5);
	font-weight: var(--da-fw-bold);
	color: var(--da-text-strong);
	background: none;
	border: 0;
}
.da-legal__section h3::after { content: none; display: none; }   /* 親テーマの緑下線バーを無効化 */
.da-legal__section p {
	margin: 0 0 var(--da-space-16);
}
.da-legal__section ul,
.da-legal__section ol {
	margin: 0 0 var(--da-space-16);
	padding-left: 1.5em;
}
.da-legal__section li {
	margin-bottom: var(--da-space-8);
}
.da-legal__section ul li::marker { color: var(--da-primary-500); }
.da-legal__section ol li::marker { color: var(--da-text-muted); font-weight: var(--da-fw-bold); }
.da-legal__section ul ul {
	margin-top: var(--da-space-8);
	margin-bottom: 0;
}
.da-legal__section a {
	color: var(--da-link);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.da-legal__section a:hover { color: var(--da-link-hover); }

/* -------- お問い合わせ窓口カード -------- */
.da-legal__contact {
	margin-top: var(--da-space-16);
	padding: var(--da-space-24) var(--da-space-32);
	background: var(--da-surface);
	border: 1px solid var(--da-border);
	border-radius: var(--da-radius-lg);
	box-shadow: var(--da-shadow-sm);
}
.da-legal__contact dl { margin: 0; }
.da-legal__contact dl > div {
	display: grid;
	grid-template-columns: 7em 1fr;
	gap: var(--da-space-16);
	padding: var(--da-space-12) 0;
	border-bottom: 1px dashed var(--da-border);
}
.da-legal__contact dl > div:last-child { border-bottom: 0; }
.da-legal__contact dt {
	font-weight: var(--da-fw-bold);
	color: var(--da-text-strong);
}
.da-legal__contact dd { margin: 0; }

/* -------- 末尾CTA -------- */
.da-legal__cta {
	margin-top: var(--da-space-64);
	text-align: center;
}

/* -------- No-JS フォールバック（法務文書は必ず表示する） -------- */
@media (scripting: none) {
	.da-legal .da-reveal { opacity: 1 !important; transform: none !important; }
}

/* -------- レスポンシブ -------- */
@media (max-width: 767px) {
	.da-legal__title { font-size: 30px; }
	.da-legal__section h2 { font-size: var(--da-fs-h4); }
	.da-legal__contact { padding: var(--da-space-16) var(--da-space-20); }
	.da-legal__contact dl > div {
		grid-template-columns: 1fr;
		gap: var(--da-space-4);
	}
}
