/**
 * 商品説明コンテンツ表示スタイル
 *
 * 管理画面（編集画面）と申し込み画面で共通利用
 * .life-pack-item-description クラスでスコープを厳密化
 *
 * ※CKEditor関連スタイルは管理画面テンプレートに直接記述
 */

/* ===== 商品説明コンテンツスタイル ===== */
.life-pack-item-description {
	font-size: 14px;
	line-height: 1.7;
	color: #333;
	background-color: #fafafa;
	padding: 15px;
	border-radius: 8px;
	border: 1px solid #e9ecef;
}

/* 見出し h4 */
.life-pack-item-description h4 {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: #003573;
	margin: 0 0 12px 0;
	padding: 0 0 8px 0;
	border: none;
	border-bottom: 2px solid #003573;
	background: none;
	line-height: 1.4;
}

/* 小見出し h5 */
.life-pack-item-description h5 {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	margin: 15px 0 8px 0;
	padding: 0;
	border: none;
	background: none;
	line-height: 1.4;
}

.life-pack-item-description p {
	margin-bottom: 10px;
}

.life-pack-item-description ul,
.life-pack-item-description ol {
	margin-bottom: 10px;
	padding-left: 0;
	list-style: none;
}

.life-pack-item-description li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 8px;
}

.life-pack-item-description li::before {
	content: '\f00c';
	font-family: 'FontAwesome';
	position: absolute;
	left: 0;
	top: 2px;
	color: #28a745;
	font-size: 12px;
}

/* スペック表 */
.life-pack-item-description table {
	width: 100%;
	border-collapse: collapse;
	margin: 15px 0;
	font-size: 13px;
}

.life-pack-item-description table th,
.life-pack-item-description table td {
	padding: 10px 12px;
	border: 1px solid #e9ecef;
	text-align: left;
}

.life-pack-item-description table th {
	background-color: #f8f9fa;
	font-weight: 600;
	width: 35%;
	color: #333;
}

.life-pack-item-description table td {
	background-color: white;
}

/* ハイライトボックス（blockquote） */
.life-pack-item-description blockquote {
	display: block;
	background: linear-gradient(135deg, #e6eef5 0%, #f0f7ff 100%);
	border: none;
	border-left: 4px solid #003573;
	padding: 15px;
	margin: 15px 0;
	border-radius: 0 8px 8px 0;
	font-style: normal;
}

.life-pack-item-description blockquote p:first-child {
	font-weight: 600;
	color: #003573;
	margin-bottom: 8px;
	font-size: 14px;
}

.life-pack-item-description blockquote p:not(:first-child) {
	font-size: 13px;
	margin: 0;
}

.life-pack-item-description blockquote p:only-child {
	font-weight: normal;
	color: #333;
	font-size: 13px;
}

/* バッジ風スタイル（span背景色+太字で実現） */
.life-pack-item-description span[style*="background-color"] {
	display: inline-block;
	padding: 3px 10px;
	font-size: 12px;
	border-radius: 20px;
	line-height: 1.4;
	margin-right: 6px;
}

.life-pack-item-description span[style*="background-color"] strong {
	font-weight: 600;
}

/* お知らせボックス（1セルテーブルで実現） */
.life-pack-item-description table:has(tr:only-child):has(td:only-child) {
	background-color: #fff8e6 !important;
	border: 1px solid #ffc107 !important;
	border-radius: 8px;
	margin: 15px 0;
}

.life-pack-item-description table:has(tr:only-child):has(td:only-child) td {
	background-color: transparent !important;
	border: none !important;
	padding: 16px;
}

.life-pack-item-description table:has(tr:only-child):has(td:only-child) td p:first-child {
	font-weight: 600;
	color: #856404;
	margin-bottom: 8px;
	font-size: 14px;
}

.life-pack-item-description table:has(tr:only-child):has(td:only-child) td p:not(:first-child) {
	font-size: 13px;
	margin: 0;
}
