:root {
	--portal-blue: #367bea;
	--portal-blue-dark: #1f60d3;
	--portal-blue-soft: #eef5ff;
	--portal-red: #e52528;
	--portal-ink: #20242c;
	--portal-muted: #6f7682;
	--portal-line: #e5e8ee;
	--portal-surface: #fff;
	--portal-page: #f4f5f7;
	--portal-radius: 10px;
}

body {
	background: var(--portal-page);
	color: var(--portal-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", Arial, sans-serif;
}

body.home .site-content > .ast-container {
	display: block;
	max-width: none;
	padding: 0;
}

.site-header { background: #fff; border: 0 !important; box-shadow: 0 3px 16px rgba(24,35,56,.04); }
.site-header .main-header-bar { border: 0 !important; min-height: 88px; }
.site-header .ast-container { max-width: 1120px; }
.site-title a { color: var(--portal-blue) !important; font-weight: 950; letter-spacing: -.04em; }
.main-header-menu > .menu-item > .menu-link {
	border-radius: 999px;
	color: var(--portal-ink) !important;
	font-size: 17px;
	font-weight: 850;
	height: auto;
	padding: 11px 15px;
}
.main-header-menu > .menu-item.current-menu-item > .menu-link,
.main-header-menu > .menu-item.current-menu-ancestor > .menu-link,
.main-header-menu > .menu-item > .menu-link:hover {
	background: var(--portal-blue-soft);
	color: var(--portal-blue) !important;
}
.ast-header-button-1 .ast-custom-button {
	background: var(--portal-red) !important;
	border: 0 !important;
	border-radius: 8px;
	color: #fff !important;
	font-weight: 850;
}

.senior-portal-category-nav { background: #fff; border-bottom: 1px solid var(--portal-line); border-top: 1px solid var(--portal-line); }
.senior-portal-category-nav ul {
	display: flex;
	gap: 4px;
	list-style: none;
	margin: 0 auto;
	max-width: 1120px;
	overflow-x: auto;
	padding: 0 16px;
	scrollbar-width: none;
	white-space: nowrap;
}
.senior-portal-category-nav ul::-webkit-scrollbar { display: none; }
.senior-portal-category-nav li { flex: 0 0 auto; margin: 0; }
.senior-portal-category-nav a {
	color: #4f5661;
	display: block;
	font-size: 15px;
	font-weight: 800;
	padding: 13px 14px;
	position: relative;
	text-decoration: none;
}
.senior-portal-category-nav .current-menu-item > a,
.senior-portal-category-nav .current-cat > a,
.senior-portal-category-nav a:hover { color: var(--portal-blue); }

.senior-portal-home { background: var(--portal-page); margin: 0; padding: 22px 0 70px; width: 100%; }
.senior-portal-wrap { margin: 0 auto; max-width: 1120px; padding: 0 16px; }
.senior-portal-dashboard {
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0,760px) minmax(280px,348px);
	grid-template-areas: "top-ad trends" "quick trends" "main trends" "main side-ad";
}
.senior-portal-module { background: #fff; border: 1px solid var(--portal-line); border-radius: var(--portal-radius); overflow: hidden; }
.senior-portal-module-head { align-items: center; display: flex; justify-content: space-between; min-height: 52px; padding: 0 18px; }
.senior-portal-module-head h2 {
	align-items: center;
	color: var(--portal-ink);
	display: flex;
	font-size: 21px;
	font-weight: 950;
	gap: 8px;
	letter-spacing: -.025em;
	line-height: 1.3;
	margin: 0;
}
.senior-portal-head-icon { align-items: center; background: var(--portal-blue); border-radius: 7px; color: #fff; display: inline-flex; font-size: 14px; height: 25px; justify-content: center; width: 25px; }
.senior-portal-more { border: 1px solid #d8dce4; border-radius: 4px; color: #5d6470; font-size: 13px; font-weight: 750; line-height: 1; padding: 6px 9px; text-decoration: none; }

.senior-portal-ad { min-height: 126px; position: relative; }
.senior-portal-ad-top { grid-area: top-ad; }
.senior-portal-ad-side { grid-area: side-ad; min-height: 250px; }
.senior-portal-ad-feed { margin-top: 14px; min-height: 180px; }
.senior-portal-ad .adsbygoogle { min-height: 120px; width: 100%; }
.senior-portal-ad-label { background: #fff; border: 1px solid #d9dde4; border-radius: 3px; color: #777f8a; font-size: 10px; line-height: 1; padding: 3px 5px; position: absolute; right: 8px; top: 7px; z-index: 2; }
.senior-portal-ad-placeholder { align-items: center; background: #fafbfc; color: #9299a3; display: flex; font-size: 14px; height: 100%; justify-content: center; min-height: inherit; padding: 25px; text-align: center; }

.senior-portal-trends { grid-area: trends; padding-bottom: 10px; }
.senior-portal-trend-list { list-style: none; margin: 0; padding: 2px 18px 12px; }
.senior-portal-trend-list li { align-items: start; display: grid; gap: 10px; grid-template-columns: 25px minmax(0,1fr); margin: 0; padding: 11px 0; }
.senior-portal-trend-list li + li { border-top: 1px solid #f0f1f4; }
.senior-portal-rank { align-items: center; background: var(--portal-blue-soft); border-radius: 7px; color: var(--portal-blue); display: flex; font-size: 14px; font-weight: 950; height: 25px; justify-content: center; width: 25px; }
.senior-portal-trend-list a { display: block; min-width: 0; text-decoration: none; }
.senior-portal-trend-category { color: var(--portal-blue); display: block; font-size: 12px; font-weight: 850; line-height: 1.2; margin-bottom: 4px; }
.senior-portal-trend-list strong { color: var(--portal-ink); display: -webkit-box; font-size: 16px; font-weight: 800; line-height: 1.35; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.senior-portal-quickbar { align-items: center; display: flex; gap: 18px; grid-area: quick; min-height: 50px; overflow-x: auto; padding: 8px 16px; white-space: nowrap; }
.senior-portal-quickbar > strong { color: var(--portal-blue); font-size: 15px; font-weight: 950; }
.senior-portal-quickbar > div { display: flex; gap: 22px; }
.senior-portal-quickbar a { color: #4c5360; font-size: 14px; font-weight: 800; text-decoration: none; }
.senior-portal-quickbar a::before { color: #b7bdc7; content: "·"; margin-right: 8px; }

.senior-portal-main-news { grid-area: main; }
.senior-portal-news-grid { border-top: 1px solid var(--portal-line); display: grid; grid-template-columns: minmax(0,43%) minmax(0,57%); }
.senior-portal-lead { border-right: 1px solid var(--portal-line); padding: 16px; }
.senior-portal-lead a { display: block; text-decoration: none; }
.senior-portal-lead-image { aspect-ratio: 16/10; background: #eef0f3; border-radius: 5px; margin-bottom: 12px; overflow: hidden; }
.senior-portal-lead-image img,
.senior-portal-topic-image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.senior-portal-badge { background: var(--portal-blue-soft); border-radius: 999px; color: var(--portal-blue); display: inline-flex; font-size: 12px; font-weight: 850; line-height: 1; margin-bottom: 7px; padding: 5px 8px; }
.senior-portal-lead h2 { color: var(--portal-ink); font-size: 21px; font-weight: 950; letter-spacing: -.025em; line-height: 1.32; margin: 0 0 8px; }
.senior-portal-lead p { color: var(--portal-muted); font-size: 14px; line-height: 1.5; margin: 0; }
.senior-portal-headline-list { list-style: none; margin: 0; padding: 8px 16px; }
.senior-portal-headline-list li { margin: 0; }
.senior-portal-headline-list li + li { border-top: 1px solid #f0f1f4; }
.senior-portal-headline-list a { align-items: center; display: grid; gap: 12px; grid-template-columns: minmax(0,1fr) auto; min-height: 58px; text-decoration: none; }
.senior-portal-headline-list strong { display: -webkit-box; font-size: 16px; font-weight: 800; line-height: 1.42; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.senior-portal-headline-list span { color: #9aa0aa; font-size: 12px; }

.senior-portal-topic { margin-top: 14px; }
.senior-portal-topic-head { border-bottom: 1px solid var(--portal-line); }
.senior-portal-topic-head h2 { font-size: 22px; }
.senior-portal-topic-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.senior-portal-topic-card { margin: 0; min-width: 0; padding: 16px; }
.senior-portal-topic-card + .senior-portal-topic-card { border-left: 1px solid #f0f1f4; }
.senior-portal-topic-card:nth-child(n+4) { border-top: 1px solid #f0f1f4; }
.senior-portal-topic-card:nth-child(4) { border-left: 0; }
.senior-portal-topic-card a { display: grid; gap: 12px; grid-template-columns: 110px minmax(0,1fr); text-decoration: none; }
.senior-portal-topic-image { aspect-ratio: 1/1; background: #eef0f3; border-radius: 5px; overflow: hidden; }
.senior-portal-topic-card h3 { display: -webkit-box; font-size: 16px; font-weight: 850; letter-spacing: -.02em; line-height: 1.4; margin: 0 0 5px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.senior-portal-topic-card time { color: #969da7; font-size: 12px; }
.senior-portal-empty { color: var(--portal-muted); font-size: 16px; padding: 30px; }
.senior-portal-affiliate-notice { color: #7c838d; font-size: 13px; margin: 26px 0 0; text-align: center; }

body.single-post .site-content > .ast-container,
body.archive .site-content > .ast-container,
body.search .site-content > .ast-container { max-width: 1180px; }
body.archive #primary, body.search #primary { width: 100%; }
body.archive #secondary, body.search #secondary { display: none; }
body.archive .ast-row, body.search .ast-row { display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
body.archive .ast-article-post, body.search .ast-article-post { background: #fff; border: 1px solid var(--portal-line); border-radius: 10px; margin: 0; padding: 22px; }
body.archive .entry-title, body.search .entry-title { font-size: 22px; font-weight: 900; line-height: 1.4; }
body.single-post .entry-content { font-size: 19px; line-height: 1.82; }

@media (max-width: 921px) {
	.senior-portal-dashboard { grid-template-columns: minmax(0,1fr) 310px; }
	.senior-portal-topic-card a { grid-template-columns: 92px minmax(0,1fr); }
	.ast-mobile-header-wrap .ast-primary-header-bar { border: 0; }
}

@media (max-width: 760px) {
	body.archive .ast-row, body.search .ast-row { display: block; }
	body.archive .ast-article-post, body.search .ast-article-post { border-width: 0 0 1px; border-radius: 0; margin: 0; padding: 20px 0; }
	.site-header .main-header-bar { min-height: 58px; }
	.site-header .ast-container { padding-left: 14px; padding-right: 14px; }
	.senior-portal-category-nav a { font-size: 14px; padding: 12px 13px 13px; }
	.senior-portal-category-nav .current-menu-item > a::after,
	.senior-portal-category-nav .current-cat > a::after {
		background: var(--portal-blue);
		border-radius: 999px;
		bottom: 3px;
		content: "";
		height: 3px;
		left: 25%;
		position: absolute;
		width: 50%;
	}
	.senior-portal-home { padding: 10px 0 44px; }
	.senior-portal-wrap { padding: 0 10px; }
	.senior-portal-dashboard { display: flex; flex-direction: column; gap: 10px; }
	.senior-portal-ad-top { order: 1; }
	.senior-portal-trends { order: 2; }
	.senior-portal-quickbar { order: 3; }
	.senior-portal-main-news { order: 4; }
	.senior-portal-ad-side { order: 5; }
	.senior-portal-module { border-radius: 7px; }
	.senior-portal-ad { min-height: 104px; }
	.senior-portal-ad-side { min-height: 180px; }
	.senior-portal-module-head { min-height: 49px; padding: 0 14px; }
	.senior-portal-module-head h2 { font-size: 19px; }
	.senior-portal-trend-list { padding: 0 14px 10px; }
	.senior-portal-trend-list li { padding: 9px 0; }
	.senior-portal-trend-list strong { font-size: 15px; -webkit-line-clamp: 1; }
	.senior-portal-quickbar { padding-left: 14px; padding-right: 14px; }
	.senior-portal-quickbar > div { gap: 14px; }
	.senior-portal-news-grid { display: block; }
	.senior-portal-lead { border-bottom: 1px solid var(--portal-line); border-right: 0; padding: 14px; }
	.senior-portal-lead a { display: grid; gap: 12px; grid-template-columns: 42% minmax(0,1fr); }
	.senior-portal-lead-image { grid-row: 1/span 4; margin: 0; }
	.senior-portal-lead h2 { font-size: 19px; margin: 0; }
	.senior-portal-lead p { display: none; }
	.senior-portal-headline-list { padding: 4px 14px; }
	.senior-portal-headline-list a { min-height: 52px; }
	.senior-portal-headline-list strong { font-size: 15px; -webkit-line-clamp: 1; }
	.senior-portal-topic { margin-top: 10px; }
	.senior-portal-topic-grid { display: block; }
	.senior-portal-topic-card { border-left: 0 !important; border-top: 1px solid #f0f1f4; padding: 13px 14px; }
	.senior-portal-topic-card:first-child { border-top: 0; }
	.senior-portal-topic-card a { grid-template-columns: 104px minmax(0,1fr); }
	.senior-portal-topic-image { aspect-ratio: 4/3; }
	.senior-portal-topic-card h3 { font-size: 17px; -webkit-line-clamp: 2; }

	/* ZUM mobile article reading pattern. */
	body.single-post { background: #fff !important; }
	body.single-post .site-content { background: #fff; }
	body.single-post .site-content > .ast-container { display: block; max-width: 760px; padding: 0 16px; }
	body.single-post #primary { margin: 24px 0 52px; width: 100%; }
	body.single-post #secondary { display: none !important; }
	body.single-post .ast-article-single { border: 0 !important; box-shadow: none !important; padding: 0 !important; }
	body.single-post .entry-title { color: #171a20 !important; font-size: 28px !important; font-weight: 950 !important; letter-spacing: -.035em; line-height: 1.32 !important; }
	body.single-post .entry-meta { border-bottom: 1px solid var(--portal-line); color: #7c838e; font-size: 13px !important; margin-top: 14px; padding-bottom: 18px; }
	body.single-post .entry-content { color: #252a32; font-size: 19px !important; letter-spacing: -.012em; line-height: 1.84 !important; margin-top: 26px; }
	body.single-post .entry-content p { margin-bottom: 22px; }
	body.single-post .entry-content h2 { font-size: 25px !important; letter-spacing: -.03em; line-height: 1.38 !important; scroll-margin-top: 120px; }
	body.single-post .entry-content h3 { font-size: 22px !important; line-height: 1.42 !important; }
	body.single-post .entry-content img { border-radius: 7px; height: auto; max-width: 100%; }
	body.single-post .entry-content table { font-size: 16px !important; }
	body.single-post .entry-content th,
	body.single-post .entry-content td { padding: 10px 12px !important; }
}

@media (max-width: 420px) {
	.senior-portal-lead a { grid-template-columns: 120px minmax(0,1fr); }
	.senior-portal-topic-card a { grid-template-columns: 96px minmax(0,1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.senior-portal-home *, .site-header * { scroll-behavior: auto !important; transition: none !important; }
}
