/* =========================================================
   Bloomy Legal pages (plain-content用)  scope: .bloomy-legal
   - サポート/比較ページと同じ白ベース。白カード・薄ボーダー・控えめな影・ネイビー文字。
   - the_content() の法務本文をラップして見た目だけ整える（本文HTMLは不変）。
   - 既存の青バー見出し等は .bloomy-legal__body のスコープで上書き。
   - クラスは bloomy-legal- に隔離（他ページ非干渉）。
   ========================================================= */

.bloomy-legal {
	--lg-navy: #173b87;
	--lg-text: #36456a;
	--lg-muted: #6b7a93;
	--lg-blue: #1574f5;
	--lg-bg: #f8fafe;
	--lg-soft: #eef5ff;
	--lg-border: #dbe7fa;
	--lg-line: #eef2f9;
	--lg-shadow: 0 1px 2px rgba(23, 59, 135, 0.05), 0 12px 26px -20px rgba(23, 59, 135, 0.22);
	background: var(--lg-bg);
	color: var(--lg-text);
	-webkit-font-smoothing: antialiased;
}
.bloomy-legal * { box-sizing: border-box; }
.bloomy-legal-wrap {
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
	padding: 0 18px;
}

/* ---------- Hero ---------- */
.bloomy-legal-hero { padding: 22px 0 4px; }
.bloomy-legal-hero__card {
	background: #fff;
	border: 1px solid var(--lg-border);
	border-radius: 18px;
	padding: 24px 22px 22px;
	box-shadow: var(--lg-shadow);
	text-align: center;
}
.bloomy-legal-hero__eyebrow {
	display: inline-block;
	margin: 0 0 9px;
	padding: 4px 11px;
	border-radius: 999px;
	background: var(--lg-soft);
	color: var(--lg-blue);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
}
.bloomy-legal-hero__title {
	margin: 0 auto;
	max-width: 22em;
	font-size: 24px;
	font-weight: 800;
	color: var(--lg-navy);
	line-height: 1.4;
	word-break: keep-all;
}
.bloomy-legal-hero__date {
	margin: 10px 0 0;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--lg-muted);
}

/* ---------- Section / 本文カード ---------- */
.bloomy-legal-section { padding: 18px 0; }
.bloomy-legal-section--last { padding: 18px 0 40px; }
.bloomy-legal-card {
	background: #fff;
	border: 1px solid var(--lg-border);
	border-radius: 18px;
	padding: 30px 30px 32px;
	box-shadow: var(--lg-shadow);
}

/* ---------- 本文プロース（the_content をスコープ内で整える・青バー見出しを撤去） ---------- */
.bloomy-legal__body { font-size: 14.5px; line-height: 1.9; color: var(--lg-text); }
.bloomy-legal__body > *:first-child { margin-top: 0; }
.bloomy-legal__body p {
	margin: 0 0 16px;
	line-height: 1.95;
}
.bloomy-legal__body h2 {
	margin: 34px 0 14px;
	padding: 0 0 9px;
	background: none;            /* 旧・青塗りバーを無効化 */
	border: 0;
	border-bottom: 1px solid var(--lg-line);
	color: var(--lg-navy);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.5;
}
.bloomy-legal__body h2::before { content: none; }
.bloomy-legal__body h3 {
	margin: 24px 0 10px;
	color: var(--lg-navy);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.6;
}
.bloomy-legal__body a {
	color: var(--lg-blue);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 0.15s ease, color 0.15s ease;
}
.bloomy-legal__body a:hover { border-bottom-color: currentColor; }
.bloomy-legal__body ul,
.bloomy-legal__body ol {
	margin: 0 0 16px;
	padding-left: 1.4em;
}
.bloomy-legal__body li { margin: 0 0 8px; line-height: 1.9; }
.bloomy-legal__body ul li::marker { color: var(--lg-blue); }
.bloomy-legal__body ol li::marker { color: var(--lg-blue); font-weight: 700; }
.bloomy-legal__body strong { font-weight: 800; color: var(--lg-navy); }

/* 定義リスト（特商法の事業者情報・価格等） */
.bloomy-legal__body dl {
	margin: 0 0 18px;
	border: 1px solid var(--lg-border);
	border-radius: 12px;
	overflow: hidden;
}
.bloomy-legal__body dl > div {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2px;
	padding: 13px 16px;
	border-top: 1px solid var(--lg-line);
}
.bloomy-legal__body dl > div:first-child { border-top: 0; }
.bloomy-legal__body dt {
	font-size: 12.5px;
	font-weight: 800;
	color: var(--lg-navy);
}
.bloomy-legal__body dd {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.8;
	color: var(--lg-text);
}
@media (min-width: 640px) {
	.bloomy-legal__body dl > div { grid-template-columns: 220px minmax(0, 1fr); gap: 16px; align-items: baseline; }
	.bloomy-legal__body dt { padding-top: 1px; }
}

/* 最終更新日（本文先頭の小さな注記） */
.bloomy-legal__body .bloomy-legal-meta {
	margin: 0 0 18px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--lg-muted);
}

/* テーブル（スマホは横スクロール） */
.bloomy-legal__body table {
	width: 100%;
	margin: 0 0 18px;
	border-collapse: collapse;
	font-size: 13.5px;
	background: #fff;
}
.bloomy-legal__body th,
.bloomy-legal__body td {
	padding: 10px 12px;
	border: 1px solid var(--lg-border);
	text-align: left;
	line-height: 1.7;
	vertical-align: top;
}
.bloomy-legal__body th { background: var(--lg-soft); color: var(--lg-navy); font-weight: 700; }

/* ---------- 下部リンク ---------- */
.bloomy-legal-back {
	margin: 22px 0 0;
	text-align: center;
}
.bloomy-legal-back a {
	font-size: 13px;
	font-weight: 700;
	color: var(--lg-blue);
	text-decoration: none;
}
.bloomy-legal-back a:hover { text-decoration: underline; }

/* ---------- PC ---------- */
@media (min-width: 768px) {
	.bloomy-legal-wrap { padding: 0 24px; }
	.bloomy-legal-hero { padding: 38px 0 6px; }
	.bloomy-legal-hero__card { padding: 32px 36px 28px; border-radius: 22px; }
	.bloomy-legal-hero__title { font-size: 28px; }
	.bloomy-legal-card { padding: 38px 44px 40px; }
	.bloomy-legal__body { font-size: 15px; }
}

/* ---------- スマホ：テーブル横スクロール ---------- */
@media (max-width: 600px) {
	.bloomy-legal__body table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
}

/* =========================================================
   既存の独自法務ページ（プライバシー / 返金 / 特商）の
   目次サイドバーを sticky に補正（PC幅のみ・固定ヘッダーを避ける）。
   ※これらのページCSSはWPCodeスニペット由来で position:sticky が未設定だった。
     本文HTMLは変更せず、表示のみ補正。スマホ(1カラム時)はstickyにしない。
   ========================================================= */
@media (min-width: 1000px) {
	.bloomy-privacy-side,
	.bloomy-refund-side,
	.bloomy-disclosure-side {
		position: sticky !important;
		top: 96px !important;       /* 固定サイトヘッダー分のオフセット */
		align-self: start !important;
	}
}
