/**
 * 案件資料庫前端樣式：陽春版fallback模板專用，讓各區塊（時間軸、涉案人物、
 * 各審判決、討論區等）視覺上清楚區分。正式視覺設計仍以child theme為主，
 * 這份CSS只是讓資料結構在測試/上線初期就有基本可讀性，不會一堆文字糊在一起。
 */

.casedb-case,
.casedb-judgment {
	max-width: 900px;
	margin: 0 auto;
	padding: 24px 16px;
	font-size: 16px;
	line-height: 1.7;
	color: #222;
}

.casedb-case h1,
.casedb-judgment h1 {
	font-size: 26px;
	border-bottom: 3px solid #1a3c6e;
	padding-bottom: 12px;
	margin-bottom: 12px;
}

.casedb-journey {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 20px;
	font-size: 14px;
}
.casedb-journey a {
	background: #eef2f8;
	color: #1a3c6e;
	padding: 4px 12px;
	border-radius: 14px;
	text-decoration: none;
	font-weight: 600;
}
.casedb-journey a:hover {
	background: #1a3c6e;
	color: #fff;
}
.casedb-journey-arrow {
	color: #999;
}

/* 前台搜尋 */
.casedb-search-wrap {
	max-width: 800px;
	margin: 0 auto;
}
.casedb-search-form {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	margin-bottom: 24px;
}
.casedb-search-field-group {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 14px 18px;
	margin-bottom: 12px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.casedb-search-field-group label {
	display: block;
	font-weight: 600;
	font-size: 13px;
	color: #555;
	margin-bottom: 8px;
}
.casedb-search-field-group input[type="text"],
.casedb-search-field-group input[type="number"],
.casedb-search-field-group select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 14px;
	box-sizing: border-box;
}
.casedb-search-field-row {
	display: flex;
	align-items: center;
	gap: 10px;
}
.casedb-search-field-row select,
.casedb-search-field-row input {
	flex: 1;
	min-width: 0;
}
.casedb-search-to {
	color: #888;
	font-size: 13px;
	flex: 0 0 auto;
}
.casedb-search-hint {
	font-weight: 400;
	color: #999;
	font-size: 12px;
	margin-left: 8px;
}
.casedb-search-btn {
	width: 100%;
	padding: 12px;
	background: #1a3c6e;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
.casedb-search-btn:hover {
	background: #14315a;
}

.casedb-search-count {
	color: #666;
	font-size: 14px;
	margin-bottom: 12px;
}
.casedb-search-empty {
	background: #fafafa;
	border: 1px dashed #ccc;
	border-radius: 8px;
	padding: 24px;
	text-align: center;
	color: #777;
}
.casedb-search-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.casedb-search-list li {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 14px 18px;
	margin-bottom: 10px;
	transition: box-shadow 0.15s, border-color 0.15s;
}
.casedb-search-list li:hover {
	border-color: #1a3c6e;
	box-shadow: 0 2px 8px rgba(26, 60, 110, 0.1);
}
.casedb-search-list a {
	text-decoration: none;
	color: #1a3c6e;
	font-weight: 600;
	font-size: 16px;
}
.casedb-search-meta {
	margin: 6px 0 0 0;
	font-size: 13px;
	color: #777;
}
.casedb-search-snippet {
	margin: 6px 0 0 0;
	font-size: 13px;
	color: #555;
	line-height: 1.6;
}
.casedb-search-snippet mark {
	background: #fff3a3;
	color: #333;
	padding: 0 2px;
	border-radius: 2px;
}

/* 法官/律師/檢察官個人統計頁 */
.casedb-person-profile {
	max-width: 800px;
	margin: 0 auto;
}
.casedb-profile-total {
	color: #666;
	margin-bottom: 20px;
}
.casedb-officials-grid a,
.casedb-officials-group a {
	text-decoration: none;
	border-bottom: 1px dashed currentColor;
}
.casedb-officials-grid a:hover,
.casedb-officials-group a:hover {
	border-bottom-style: solid;
}
.casedb-search-pagination {
	display: flex;
	gap: 6px;
	justify-content: center;
	margin-top: 20px;
}
.casedb-search-pagination a {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	text-decoration: none;
	color: #333;
	font-size: 14px;
}
.casedb-search-pagination a.casedb-page-current {
	background: #1a3c6e;
	color: #fff;
	border-color: #1a3c6e;
}

@media (max-width: 600px) {
	.casedb-search-row {
		flex-direction: column;
	}
}

/* 開庭提示：用醒目的顏色跳出來，這是使用者最在意的即時資訊 */
.casedb-hearing-notice {
	background: #fff4e5;
	border-left: 4px solid #e8890c;
	padding: 12px 16px;
	margin-bottom: 20px;
	font-weight: 600;
	border-radius: 4px;
}

/* 每個區塊都是一張獨立卡片，邊界清楚、標題明顯，滿足「每個區塊要很明顯」的需求 */
.casedb-section {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 20px 24px;
	margin-bottom: 24px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.casedb-section h2 {
	font-size: 19px;
	margin: 0 0 16px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid #1a3c6e;
	color: #1a3c6e;
	display: flex;
	align-items: center;
}

/* 各區塊各自給一個左側色條，用顏色快速分辨區塊類型 */
.casedb-summary { border-left: 5px solid #1a3c6e; }
.casedb-timeline { border-left: 5px solid #2e7d32; }
.casedb-judgments { border-left: 5px solid #6a1b9a; }
.casedb-persons { border-left: 5px solid #ad6800; }
.casedb-news { border-left: 5px solid #b71c1c; }
.casedb-discussion { border-left: 5px solid #37474f; }
.casedb-verdict { border-left: 5px solid #0277bd; background: #f0f8ff; }
.casedb-fulltext { border-left: 5px solid #455a64; }
.casedb-stats { border-left: 5px solid #c2185b; }
.casedb-officials { border-left: 5px solid #37474f; }

/* 時間軸：用連續的直線+節點呈現，比純清單更容易看出先後順序 */
.casedb-timeline ul {
	list-style: none;
	margin: 0;
	padding: 0 0 0 20px;
	border-left: 2px solid #c8e6c9;
}
.casedb-timeline li {
	position: relative;
	padding: 4px 0 14px 16px;
}
.casedb-timeline li::before {
	content: "";
	position: absolute;
	left: -25px;
	top: 10px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #2e7d32;
}

/* 各審判決清單：每筆做成可點擊的卡片式列表項，滑鼠移過去主文用title屬性顯示 */
.casedb-judgments ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.casedb-judgments li {
	padding: 10px 12px;
	margin-bottom: 6px;
	background: #faf5ff;
	border-radius: 6px;
	transition: background 0.15s;
}
.casedb-judgments li:hover {
	background: #f0e5fa;
}
.casedb-judgments a {
	text-decoration: none;
	color: #4a148c;
	font-weight: 500;
}
.casedb-judgments a:hover {
	text-decoration: underline;
}

/* 涉案人物：用標籤式排列 */
.casedb-persons ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.casedb-persons li {
	background: #fff3e0;
	border: 1px solid #ffcc80;
	border-radius: 20px;
	padding: 6px 14px;
	font-size: 14px;
}
.casedb-person-submit {
	margin-top: 16px;
	padding: 12px 16px;
	background: #fafafa;
	border: 1px dashed #ccc;
	border-radius: 6px;
}
.casedb-submit-hint {
	font-size: 13px;
	color: #666;
	margin: 0 0 8px 0;
}
.casedb-person-submit select,
.casedb-person-submit input[type="text"] {
	margin-right: 6px;
	padding: 5px 8px;
}
.casedb-submit-btn {
	padding: 5px 16px;
	background: #ad6800;
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
}
.casedb-submit-result {
	margin: 8px 0 0 0;
	font-size: 13px;
	color: #2e7d32;
}

/* 新聞：警語文字要明顯提醒，避免使用者誤以為是官方確認的關聯 */
.casedb-news .casedb-warning {
	background: #ffebee;
	color: #b71c1c;
	padding: 8px 12px;
	border-radius: 4px;
	font-size: 13px;
	margin-bottom: 12px;
}
.casedb-news ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.casedb-news li {
	padding: 8px 0;
	border-bottom: 1px dashed #eee;
}

/* 狀態標記徽章（appealed_to_supreme / pending_at_court） */
.casedb-status-badge {
	display: inline-block;
	font-size: 12px;
	padding: 2px 10px;
	border-radius: 12px;
	margin-left: 8px;
	font-weight: 600;
}
.casedb-status-red {
	background: #ffcdd2;
	color: #b71c1c;
}
.casedb-status-black {
	background: #e0e0e0;
	color: #212121;
}
.casedb-status-ref {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	color: #777;
	font-style: italic;
}

/* 本審法官/律師/檢察官/書記官：依角色分卡片，顏色各自區分，一眼分清楚誰是誰 */
.casedb-officials-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}
.casedb-official-card {
	border-radius: 8px;
	padding: 14px 16px;
	border: 1px solid transparent;
}
.casedb-official-role {
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 6px;
}
.casedb-official-icon {
	font-size: 16px;
}
.casedb-official-card ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.casedb-official-card li {
	font-size: 15px;
	padding: 3px 0;
}
.casedb-official-empty {
	margin: 0;
	font-size: 13px;
	color: #999;
}
.casedb-official-法官 {
	background: #e3f2fd;
	border-color: #90caf9;
}
.casedb-official-法官 .casedb-official-role {
	color: #0d47a1;
}
.casedb-official-律師 {
	background: #f3e5f5;
	border-color: #ce93d8;
}
.casedb-official-律師 .casedb-official-role {
	color: #4a148c;
}
.casedb-official-檢察官 {
	background: #ffebee;
	border-color: #ef9a9a;
}
.casedb-official-檢察官 .casedb-official-role {
	color: #b71c1c;
}
.casedb-official-書記官 {
	background: #eceff1;
	border-color: #b0bec5;
}
.casedb-official-書記官 .casedb-official-role {
	color: #37474f;
}

/* 案件頁「各審法官/律師」清單裡的角色小標籤 */
.casedb-officials-group {
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px dashed #eee;
}
.casedb-officials-group h4 {
	margin: 0 0 8px 0;
	font-size: 15px;
}
.casedb-officials-group ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.casedb-officials-group li {
	padding: 3px 0;
	font-size: 14px;
}
.casedb-role-badge {
	display: inline-block;
	font-size: 11px;
	padding: 2px 8px;
	border-radius: 10px;
	margin-right: 8px;
	font-weight: 600;
}
.casedb-role-法官 { background: #e3f2fd; color: #0d47a1; }
.casedb-role-律師 { background: #f3e5f5; color: #4a148c; }
.casedb-role-檢察官 { background: #ffebee; color: #b71c1c; }
.casedb-role-書記官 { background: #eceff1; color: #37474f; }

/* 前台提交/編輯裁判書表單：跟其他區塊統一用卡片式設計，
   之前加欄位時漏了寫樣式，導致直接吃瀏覽器預設樣式很醜，這裡補上 */
.casedb-judgment-submit-form {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 20px 24px;
}
.casedb-judgment-submit-form p {
	margin: 0 0 16px 0;
}
.casedb-judgment-submit-form label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 6px;
	color: #333;
}
.casedb-judgment-submit-form input[type="text"],
.casedb-judgment-submit-form input[type="date"],
.casedb-judgment-submit-form select,
.casedb-judgment-submit-form textarea {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 14px;
	box-sizing: border-box;
}
.casedb-judgment-submit-form textarea {
	font-family: inherit;
	line-height: 1.6;
}
.casedb-judgment-submit-form input[type="checkbox"] {
	width: auto;
	margin-right: 6px;
}
.casedb-judgment-submit-form .description {
	font-size: 13px;
	color: #777;
	margin-top: -8px;
}
.casedb-judgment-submit-form .button,
.casedb-judgment-submit-form button {
	padding: 8px 20px;
	border-radius: 4px;
	border: none;
	cursor: pointer;
	font-size: 14px;
}
.casedb-judgment-submit-form .button-primary,
.casedb-judgment-submit-form #casedb-submit-judgment-btn,
.casedb-judgment-submit-form #casedb-edit-save-btn {
	background: #1a3c6e;
	color: #fff;
}
.casedb-judgment-submit-form .button:not(.button-primary),
.casedb-judgment-submit-form #casedb-edit-cancel-btn {
	background: #eee;
	color: #333;
	margin-left: 8px;
}
.casedb-quota-hint {
	font-size: 13px;
	color: #ad6800;
	background: #fff8e1;
	padding: 8px 12px;
	border-radius: 4px;
	margin-bottom: 16px !important;
}

/* 裁判內容區塊的編輯切換按鈕 */
.casedb-edit-toggle-btn {
	font-size: 13px;
	background: none;
	border: 1px solid #1a3c6e;
	color: #1a3c6e;
	padding: 3px 12px;
	border-radius: 12px;
	cursor: pointer;
	margin-left: 10px;
	vertical-align: middle;
}
#casedb-edit-form {
	margin-top: 16px;
}

/* 主文區塊：獨立強調，這是使用者最想先看到的結論 */
.casedb-verdict p {
	font-size: 17px;
	font-weight: 500;
	margin: 0;
}

/* 全文區塊：內容通常很長，限制高度＋捲軸，避免整頁被拉得過長。
   注意：這裡刻意不用 white-space: pre-wrap——內容是正規HTML段落
   （<p>標籤），不是純文字，pre-wrap會把段落標籤之間的換行字元也
   完整保留顯示，等於「段落自己的margin」+「pre-wrap保留的空白」
   疊加在一起，讓段落間距看起來更誇張，不是我們要的效果。 */
.casedb-fulltext .casedb-scrollable {
	max-height: 500px;
	overflow-y: auto;
	padding: 12px;
	background: #fafafa;
	border-radius: 6px;
	font-size: 15px;
	line-height: 1.8;
}

/* 裁判內容常見「一句一段」的格式（判決書原文排版慣例），逐行貼上後
   會變成非常多個獨立段落，若沿用瀏覽器預設的段落間距，會疊加成
   大片視覺空白，看起來像多了很多空行——實際上資料是乾淨的，
   只是段落太多、每段預設間距太大，這裡把段落間距壓縮到接近行距，
   讓判決書呈現緊湊、不會誤以為是多餘的空白換行。 */
.casedb-fulltext .casedb-scrollable p {
	margin: 0 0 0.35em 0;
}
.casedb-fulltext .casedb-scrollable p:empty {
	display: none; /* 真正空白的段落（如果有）直接不顯示，不佔版面 */
}

/* 討論區留言表單/清單基本間距 */
.casedb-discussion .casedb-login-required {
	background: #e3f2fd;
	padding: 10px 14px;
	border-radius: 4px;
}
.casedb-discussion-list {
	list-style: none;
	margin: 16px 0 0 0;
	padding: 0;
}
.casedb-discussion-list li {
	padding: 10px 0;
	border-bottom: 1px solid #eee;
}

/* 統計區塊（律師/法官案件類型比例）：刑事/民事分兩欄並排 */
.casedb-stats-columns {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
}
.casedb-stats-column {
	flex: 1;
	min-width: 260px;
}
.casedb-stats-column h3 {
	font-size: 15px;
	color: #6a1b9a;
	margin-bottom: 10px;
}
.casedb-stats-bar-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	font-size: 14px;
}
.casedb-stats-bar-track {
	flex: 1;
	background: #f0f0f0;
	border-radius: 4px;
	height: 14px;
	overflow: hidden;
}
.casedb-stats-bar-fill {
	height: 100%;
	background: #c2185b;
}
.casedb-stats-locked {
	background: #fafafa;
	border: 1px dashed #ccc;
	border-radius: 6px;
	padding: 24px;
	text-align: center;
	color: #777;
}
.casedb-stats-locked a {
	display: inline-block;
	margin-top: 10px;
	padding: 8px 20px;
	background: #c2185b;
	color: #fff;
	border-radius: 20px;
	text-decoration: none;
}

@media (max-width: 600px) {
	.casedb-case,
	.casedb-judgment {
		padding: 16px 12px;
	}
	.casedb-section {
		padding: 16px;
	}
	.casedb-stats-columns {
		flex-direction: column;
	}
}
