/*
Theme Name: 포스팅 스킨 - tech
Description: 어두운 머리띠 + 2단 카드형
Version: 20261113.1735
Requires at least: 6.6
Text Domain: posting-skin
*/
:root { --radius: 6px; --line: var(--wp--preset--color--line); --soft: var(--wp--preset--color--soft); --muted: var(--wp--preset--color--contrast-2); }
body { -webkit-text-size-adjust: 100%; word-break: keep-all; overflow-wrap: anywhere; }
a { text-underline-offset: 3px; }
:where(a, button, input):focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }

/* 머리 */
.site-header { background: var(--wp--preset--color--header-bg); color: var(--wp--preset--color--header-text); border-bottom: 1px solid var(--line); padding-top: 14px; padding-bottom: 14px; }
.site-header .site-header__row { gap: 12px 24px; }
.site-header .wp-block-site-title { margin: 0; font-size: 22px; font-weight: 800; }
.site-header .wp-block-site-title a, .site-header .wp-block-navigation a { color: inherit; text-decoration: none; }
.site-header .wp-block-site-tagline { margin: 0; font-size: 13px; opacity: .8; }
.site-header .wp-block-navigation { font-size: 16px; font-weight: 500; }
.site-header .wp-block-navigation .wp-block-navigation-item__content { min-height: 44px; display: inline-flex; align-items: center; padding: 0 4px; }
.site-header .wp-block-navigation .wp-block-navigation-item__content:hover { text-decoration: underline; }

/* 본문 틀 */
.site-main { padding-top: 40px; padding-bottom: 64px; }
.section-title { font-size: 20px; margin: 0 0 16px; }
.muted, .wp-block-post-date, .wp-block-post-terms { color: var(--muted); font-size: 14px; }
.wp-block-post-terms a { color: inherit; text-decoration: none; font-weight: 700; }

/* 글 목록: 대표 이미지가 있는 카드 */
.post-card { height: 100%; background: var(--wp--preset--color--base); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .15s, border-color .15s; }
.post-card:hover { border-color: var(--wp--preset--color--accent); box-shadow: 0 6px 20px rgba(17, 24, 39, .08); }
.post-card > * { margin-block: 0; }
.post-card__image { margin: 0; background: var(--soft); }
.post-card__image a { display: block; }
.post-card__image img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; }       /* 대표 이미지에 제목이 들어 있으므로 자르지 않는다 */
.post-card__body { padding: 18px 22px 20px; flex: 1; }
.post-card__body > * { margin-block: 0; }
.post-card__body > * + * { margin-top: 8px; }
.post-card .wp-block-post-terms { color: var(--wp--preset--color--accent); font-size: 13px; }
.post-card .wp-block-post-title { font-size: 20px; line-height: 1.4; }
.post-card .wp-block-post-title a { color: inherit; text-decoration: none; }
.post-card .wp-block-post-title a:hover { color: var(--wp--preset--color--accent); text-decoration: underline; }
.post-card .wp-block-post-excerpt { color: var(--muted); font-size: 15px; }
.post-card .wp-block-post-excerpt__excerpt { margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.post-card .wp-block-post-date { font-size: 13px; }
/* 한 줄 목록(1단)과 첫 화면의 맨 위 글은 이미지를 왼쪽에 둔다 */
@media (min-width: 641px) {
  .wp-block-post-template.is-layout-flow .post-card, .home .wp-block-post-template.is-layout-grid > li:first-child .post-card { flex-direction: row; }
  .wp-block-post-template.is-layout-flow .post-card__image { flex: 0 0 34%; align-self: center; }
  .home .wp-block-post-template.is-layout-grid > li:first-child { grid-column: 1 / -1; }
  .home .wp-block-post-template.is-layout-grid > li:first-child .post-card__image { flex: 0 0 52%; align-self: center; }
  .home .wp-block-post-template.is-layout-grid > li:first-child .post-card__body { padding: 28px 32px; display: flex; flex-direction: column; justify-content: center; }
  .home .wp-block-post-template.is-layout-grid > li:first-child .wp-block-post-title { font-size: clamp(22px, 2.4vw, 28px); }
  .home .wp-block-post-template.is-layout-grid > li:first-child .wp-block-post-excerpt { font-size: 16px; }
}
.wp-block-post-template.is-layout-flow > li + li { margin-top: 16px; }
.wp-block-query-pagination { margin-top: 32px; gap: 8px; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--line); border-radius: 6px; text-decoration: none; }
.wp-block-query-pagination .current { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); color: #FFFFFF; }

/* 주제 목록 */
.topic-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.topic-list li { margin: 0; }
.topic-list li { background: var(--soft); border-radius: var(--radius); font-size: 14px; color: var(--muted); padding: 0 16px 12px; }
.topic-list a { display: flex; align-items: center; min-height: 44px; padding-top: 8px; font-size: 16px; font-weight: 700; color: var(--wp--preset--color--contrast); text-decoration: none; }
.topic-list a:hover { color: var(--wp--preset--color--accent); text-decoration: underline; }

/* 글 본문 */
.entry-header { padding-bottom: 20px; margin-bottom: 28px; border-bottom: 1px solid var(--line); }
.entry-header > * { margin-block: 0; }
.entry-header > * + * { margin-top: 10px; }
.entry-header .wp-block-post-title { font-size: clamp(26px, 4vw, 34px); line-height: 1.35; }
.entry-content { font-size: 17px; }
.entry-content h2 { margin-top: 48px; padding-top: 4px; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.entry-content .wp-block-table { overflow-x: auto; }
.entry-content th, .entry-content td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; vertical-align: top; }
.entry-content th { background: var(--soft); }
.entry-content img { border-radius: var(--radius); height: auto; }
/* 출처와 기준일, 업데이트 이력은 본문보다 작게 */
.entry-content .post-sources, .entry-content .post-sources + p, .entry-content .post-updates,
.single-post .entry-content > h2:nth-last-of-type(2) + ul, .single-post .entry-content > h2:nth-last-of-type(2) + ul + p, .single-post .entry-content > h2:last-of-type + ul { font-size: 13.5px; line-height: 1.65; color: var(--muted); }
.entry-content .post-sources li + li, .single-post .entry-content > h2:nth-last-of-type(2) + ul li + li { margin-top: 4px; }
.single-post .entry-content > h2:nth-last-of-type(2), .single-post .entry-content > h2:last-of-type { font-size: 18px; margin-top: 40px; }
.archive-header { background: var(--soft); border-radius: var(--radius); padding: 24px; margin-bottom: 28px; }
.archive-header > * { margin-block: 0; }
.archive-header > * + * { margin-top: 8px; }

/* 문의·신고 양식 */
.contact-form { margin-top: 24px; padding: 24px; background: var(--soft); border-radius: var(--radius); }
.contact-form p { margin: 0 0 16px; }
.contact-form label { display: block; margin-bottom: 6px; font-size: 15px; font-weight: 700; }
.contact-form label small { font-weight: 400; color: var(--muted); }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--wp--preset--color--base); color: inherit; font: inherit; font-size: 16px; box-sizing: border-box; }
.contact-form button { min-height: 44px; cursor: pointer; border: 0; }
.contact-form .contact-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-notice { padding: 12px 16px; border-radius: 6px; font-weight: 700; }
.contact-notice.ok { background: #E3F4EA; color: #14613A; }
.contact-notice.bad { background: #FCE4E4; color: #A11D1D; }

/* 꼬리 */
.site-footer { background: var(--wp--preset--color--footer-bg); color: var(--wp--preset--color--footer-text); border-top: 1px solid var(--line); padding-top: 32px; padding-bottom: 40px; font-size: 14px; }
.site-footer a { color: inherit; }
.site-footer .footer-links { gap: 4px 20px; }
.site-footer .footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
.site-footer p { margin: 8px 0 0; }

@media (max-width: 600px) {
  .site-main { padding-top: 24px; padding-bottom: 40px; }
  .post-card__body { padding: 14px 16px 16px; }
}
@media (max-width: 960px) { .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .wp-block-post-template.is-layout-grid { grid-template-columns: minmax(0, 1fr) !important; } }

.home-title { font-size: clamp(22px, 3vw, 28px); line-height: 1.4; margin: 0 0 28px; font-weight: 800; }
