/* Search results page, 2026-11-04 (v2). One column, news-search rows: category · date / title with the search words
   highlighted / clean summary, photo on the right. Site navy #192f65, gold #f8c623, square edges, no pills.
   HQ type sizes: titles 20px desktop / 18px phone, summaries 16px. */
.sfs { max-width: 860px; margin: 0 auto 48px; padding: 0 20px; box-sizing: border-box; color: #1d2230; }
.sfs *, .sfs *::before, .sfs *::after { box-sizing: border-box; }
.sfs-head { margin: 24px 0 8px; padding: 12px 0 20px; border-top: 3px solid #192f65; border-bottom: 1px solid #e6e8ee; }
.sfs-kicker { margin: 0 0 4px; font-size: 14px; font-weight: 700; letter-spacing: .08em; color: #192f65; }
.sfs-kicker::before { content: ""; display: inline-block; width: 16px; height: 3px; margin-right: 8px; vertical-align: middle; background: #f8c623; }
.sfs-title { margin: 0 0 14px; font-family: "Noto Serif TC", "Songti TC", "PMingLiU", serif; font-size: 28px; font-weight: 700; line-height: 1.35; color: #192f65; word-break: break-word; }
.sfs-form { display: flex; max-width: 620px; margin: 0; }
.sfs-form input[type=search] {
	flex: 1; min-width: 0; height: 48px; margin: 0; padding: 0 14px; font-size: 18px; color: #1d2230;
	background: #fff; border: 1px solid #b9c0cc; border-right: 0; border-radius: 4px 0 0 4px; -webkit-appearance: none; appearance: none;
}
.sfs-form input[type=search]:focus { outline: none; border-color: #192f65; box-shadow: 0 0 0 3px rgba(25, 47, 101, .18); }
.sfs-form button { height: 48px; padding: 0 26px; font-size: 18px; font-weight: 700; color: #fff; background: #192f65; border: 1px solid #192f65; border-radius: 0 4px 4px 0; cursor: pointer; }
.sfs-form button:hover { background: #10224d; }
.sfs-form button:focus-visible { outline: 3px solid #f8c623; outline-offset: 2px; }
.sfs-meta { margin: 12px 0 0; font-size: 15px; color: #5c6372; }

.sfs-list { list-style: none; margin: 0; padding: 0; }
.sfs-item { display: flex; align-items: flex-start; gap: 24px; padding: 22px 0; border-bottom: 1px solid #e6e8ee; }
.sfs-text { flex: 1; min-width: 0; }
.sfs-line { margin: 0 0 6px; font-size: 14px; line-height: 1.4; color: #6b7280; }
.sfs-cat { font-weight: 700; color: #192f65; }
.sfs-cat::after { content: "·"; margin: 0 8px; color: #9aa1ad; font-weight: 400; }
.sfs-h { margin: 0 0 8px; font-size: 20px; font-weight: 700; line-height: 1.5; }
.sfs-h a { color: #1d2230; text-decoration: none; }
.sfs-h a:hover { color: #192f65; text-decoration: underline; text-underline-offset: 4px; }
.sfs-h a:focus-visible { outline: 3px solid #f8c623; outline-offset: 2px; }
.sfs-h mark { color: inherit; background: #fdeeb5; padding: 0 1px; }
.sfs-sum { margin: 0; font-size: 16px; line-height: 1.75; color: #4b5260;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.sfs-img { flex: none; display: block; width: 200px; aspect-ratio: 3 / 2; overflow: hidden; background: #f3f5f9; }
.sfs-img img { display: block; width: 100%; height: 100%; object-fit: cover; }

.sfs-empty { padding: 28px 0; font-size: 17px; line-height: 1.8; color: #3c4250; }
.sfs-empty p { margin: 0 0 6px; }
.sfs-pages { margin: 28px 0 0; text-align: center; }
.sfs-pages a, .sfs-pages span { display: inline-block; min-width: 40px; margin: 0 3px 6px; padding: 8px 10px; font-size: 16px; color: #192f65; border: 1px solid #dfe3ea; background: #fff; text-decoration: none; }
.sfs-pages .current, .sfs-pages a:hover { color: #fff; background: #192f65; border-color: #192f65; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

@media (max-width: 600px) {
	.sfs { padding: 0 16px; }
	.sfs-head { margin-top: 16px; padding-bottom: 16px; }
	.sfs-title { font-size: 23px; }
	.sfs-form input[type=search], .sfs-form button { font-size: 17px; }
	.sfs-form button { padding: 0 18px; }
	.sfs-item { gap: 14px; padding: 16px 0; }
	.sfs-h { font-size: 18px; margin-bottom: 4px; }
	.sfs-sum { font-size: 16px; -webkit-line-clamp: 2; }
	.sfs-img { width: 104px; aspect-ratio: 1 / 1; margin-top: 4px; }
}

/* filters (2026-11-05): 類別 / 時間 / 來源 rows of text links, current one underlined in gold (no pills) */
.sfs-filters { margin: 14px 0 4px; padding: 10px 0 2px; border-top: 1px solid #e6e8ee; }
.sfs-frow { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 16px; margin: 0 0 6px; }
.sfs-flab { flex: 0 0 auto; min-width: 36px; font-size: 14px; font-weight: 700; color: #5c6372; }
.sfs-frow a { padding: 4px 0 3px; font-size: 15px; color: #3c4250; text-decoration: none; border-bottom: 2px solid transparent; }
.sfs-frow a:hover { color: #192f65; }
.sfs-frow a[aria-current="true"] { color: #192f65; font-weight: 700; border-bottom-color: #f8c623; }
.sfs-frow a:focus-visible, .sfs-fclear:focus-visible { outline: 2px solid #2271b1; outline-offset: 2px; }
.sfs-fclear { display: inline-block; margin: 2px 0 6px; font-size: 14px; color: #192f65; }
@media (max-width: 800px) {
	.sfs-frow { gap: 2px 14px; }
	.sfs-frow a { font-size: 16px; padding: 6px 0 4px; }
}
