/*
Theme Name: SSOM GP
Theme URI: https://blog.ssom.co.kr/
Description: GeneratePress child theme carrying the SSOM magazine identity ported from the Blogger template. Article bodies ship their own inline CSS, so this styles the site chrome only: header, navigation, archive cards, sidebar and footer.
Author: SSOM
Template: generatepress
Version: 1.0.1
License: GNU General Public License v2 or later
Text Domain: ssom-gp
*/

:root {
	--ssom-y: #ffc400;
	--ssom-ys: #fff8df;
	--ssom-ink: #111827;
	--ssom-text: #374151;
	--ssom-muted: #5d6573;
	--ssom-line: #eceef2;
	--ssom-max: 1380px;
	--ssom-radius: 12px;
}

body {
	font-family: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont,
		"Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
	color: var(--ssom-text);
	word-break: keep-all;
	overflow-wrap: break-word;
}

h1, h2, h3, h4, .entry-title { color: var(--ssom-ink); line-height: 1.35; }

/* ---------- header + primary navigation ---------- */
.site-header { border-bottom: 1px solid var(--ssom-line); }
.main-navigation { background: transparent; }
.main-navigation .main-nav ul li a {
	color: var(--ssom-ink);
	font-weight: 600;
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
	color: var(--ssom-ink);
	box-shadow: inset 0 -3px 0 var(--ssom-y);
}
.site-branding .main-title a { color: var(--ssom-ink); font-weight: 800; }

/* ---------- archive: magazine card grid ---------- */
.blog .site-main,
.archive .site-main,
.search .site-main {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 24px;
	align-items: start;
}
.blog .site-main > .page-header,
.archive .site-main > .page-header,
.search .site-main > .page-header,
.blog .site-main > .paging-navigation,
.archive .site-main > .paging-navigation,
.search .site-main > .paging-navigation {
	grid-column: 1 / -1;
}

.blog .site-main article.post,
.archive .site-main article.post,
.search .site-main article.post {
	margin: 0;
	border: 1px solid var(--ssom-line);
	border-radius: var(--ssom-radius);
	overflow: hidden;
	background: #fff;
	transition: box-shadow .18s ease, transform .18s ease;
	display: flex;
	flex-direction: column;
}
.blog .site-main article.post:hover,
.archive .site-main article.post:hover {
	box-shadow: 0 6px 20px rgba(17, 24, 39, .08);
	transform: translateY(-2px);
}
.site-main article.post .inside-article { padding: 18px 18px 20px; }
.site-main article.post .entry-title {
	font-size: 1.0625rem;
	line-height: 1.45;
	margin: 0 0 8px;
}
.site-main article.post .entry-title a { color: var(--ssom-ink); }
.site-main article.post .entry-meta,
.site-main article.post .entry-meta a {
	color: var(--ssom-muted);
	font-size: .8125rem;
}
.site-main article.post .entry-summary p { font-size: .9375rem; color: var(--ssom-text); }

/* Card thumbnails keep one ratio so rows line up. */
.site-main article.post .post-image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
}

/* Category eyebrow above the card title. */
.site-main article.post .entry-meta .cat-links a {
	display: inline-block;
	background: var(--ssom-ys);
	color: var(--ssom-ink);
	font-weight: 700;
	font-size: .75rem;
	padding: 2px 8px;
	border-radius: 999px;
}

/* ---------- page header / section heads ---------- */
.page-header {
	border-left: 4px solid var(--ssom-y);
	padding-left: 14px;
	background: transparent;
}
.page-header .page-title { margin: 0; font-size: 1.5rem; }

/* ---------- sidebar ---------- */
.sidebar .widget {
	border: 1px solid var(--ssom-line);
	border-radius: var(--ssom-radius);
	background: #fff;
	padding: 18px;
	margin-bottom: 20px;
}
.sidebar .widget .widget-title {
	font-size: .9375rem;
	font-weight: 800;
	color: var(--ssom-ink);
	margin: 0 0 12px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--ssom-y);
}
.sidebar .widget ul { margin: 0; padding: 0; list-style: none; }
.sidebar .widget ul li {
	padding: 8px 0;
	border-bottom: 1px solid var(--ssom-line);
	font-size: .9375rem;
}
.sidebar .widget ul li:last-child { border-bottom: 0; }
.sidebar .widget a { color: var(--ssom-text); }
.sidebar .widget a:hover { color: var(--ssom-ink); }

/* ---------- single post chrome ---------- */
.single .entry-header .entry-title { font-size: 1.75rem; }
.single .entry-meta { color: var(--ssom-muted); }

/* Article bodies carry their own inline CSS from the Blogger export; keep the
   theme from fighting it on width. */
.single .entry-content > .ssom-article,
.single .entry-content > [class*="ssom-article"] { max-width: 100%; }

/* ---------- footer ---------- */
.site-footer { border-top: 1px solid var(--ssom-line); }
.site-info { color: var(--ssom-muted); font-size: .875rem; }

/* ---------- buttons ---------- */
.wp-block-button__link, button, .button {
	background: var(--ssom-y);
	color: var(--ssom-ink);
	font-weight: 700;
	border-radius: 8px;
}

@media (max-width: 768px) {
	.blog .site-main, .archive .site-main, .search .site-main {
		grid-template-columns: 1fr;
	}
}
