
/* 서브 간격 통일 — 서브카테고리↔게시판 / 게시판↔푸터 (SSOT margin) */
#bo_list {
    margin: 0 0 var(--sub-foot-gap);
}
#bo_v {
    margin: var(--sub-body-gap) 0 var(--sub-foot-gap);
}
/*------------------------------------------------------
· architeck — skin/board/architech-news/style.css
· NEWS 독립 스킨 (deploy nw3 Card Grid + pv4 Magazine 1:1)
· SUMMARY: 1)Tokens 2)Shared groups 3)List(nw3) 4)Manage/Search 5)View(pv4) 6)Hover 7)Responsive
· 레이아웃(flex/col/ac)은 HTML 전역 유틸, 반복 시각속성은 의미 그룹 1회 추출, 색/폰트는 전역 토큰 var()
---------------------------------------------------------*/
@charset "utf-8";

:root {
    /* ---- list (nw3) ---- */
    --architech-news-sec-pt:    clamp(4.5rem, 9vw, 8.75rem);
    --architech-news-sec-pb:    clamp(6rem, 11vw, 11.25rem);
    --architech-news-wrap-gap:  clamp(2.5rem, 4.4vw, 4rem);
    --architech-news-intro-gap: clamp(1rem, 1.8vw, 1.625rem);
    --architech-news-rule-w:    clamp(2.5rem, 4vw, 4.5rem);
    --architech-news-grid-gap:  clamp(1.125rem, 2vw, 1.875rem);
    --architech-news-card-gap:  clamp(0.875rem, 1.6vw, 1.25rem);
    --architech-news-thumb-h:   clamp(11rem, 15vw, 21rem);
    --architech-news-meta-pt:   clamp(0.75rem, 1.4vw, 1.125rem);
    --architech-news-h-fs:      clamp(1.75rem, 3vw, 3rem);
    --architech-news-tt-fs:     clamp(1.0625rem, 1.55vw, 1.375rem);
    --architech-news-col3:      calc((100% - 2 * var(--architech-news-grid-gap)) / 3);
    --architech-news-col2:      calc((100% - var(--architech-news-grid-gap)) / 2);
    --architech-news-tag-py:    var(--sp-2);
    --architech-news-tag-px:    var(--sp-4);
    --architech-news-chk-inset: clamp(0.625rem, 1.2vw, 1rem);
    --architech-news-logo-h:    clamp(3.5rem, 7vw, 5.5rem);
    --architech-news-mbtn-py:   clamp(0.5rem, 0.9vw, 0.75rem);
    --architech-news-mbtn-px:   clamp(0.875rem, 1.5vw, 1.25rem);
    --architech-news-bar-mt:    clamp(1.5rem, 3vw, 2.75rem);
    --architech-news-bar-gap:   clamp(0.75rem, 1.4vw, 1.125rem);

    /* ---- view (pv4) ---- */
    --architech-newsv-wrap-gap:  clamp(2rem, 3.6vw, 3.25rem);
    --architech-newsv-head-gap:  clamp(1rem, 1.8vw, 1.5rem);
    --architech-newsv-title-fs:  clamp(1.875rem, 3.6vw, 3.75rem);
    --architech-newsv-meta-gap:  clamp(1rem, 2vw, 1.75rem);
    --architech-newsv-meta-pt:   clamp(1rem, 1.8vw, 1.5rem);
    --architech-newsv-body-gap:  clamp(1.125rem, 2vw, 1.75rem);
    --architech-newsv-lead-fs:   clamp(1.1875rem, 1.9vw, 1.625rem);
    --architech-newsv-p-fs:      clamp(1rem, 1.5vw, 1.1875rem);
    --architech-newsv-h3-fs:     clamp(1.25rem, 2vw, 1.75rem);
    --architech-newsv-h3-mt:     clamp(1rem, 1.8vw, 1.5rem);
    --architech-newsv-pn-py:     clamp(1rem, 1.8vw, 1.5rem);
    --architech-newsv-pn-gap:    clamp(1rem, 2vw, 2rem);
    --architech-newsv-pn-dir-w:  clamp(3.75rem, 8vw, 6.25rem);
    --architech-newsv-nav-mt:    clamp(1.25rem, 2.2vw, 2rem);
    --architech-newsv-pn-fs:     clamp(0.9375rem, 1.4vw, 1.1875rem);
    --architech-newsv-actions-mt:clamp(1.75rem, 3.2vw, 3rem);
    --architech-newsv-abtn-py:   clamp(0.75rem, 1.3vw, 1rem);
    --architech-newsv-abtn-px:   clamp(1.375rem, 2.4vw, 2.25rem);
    --architech-newsv-list-py:   clamp(0.8125rem, 1.3vw, 1.0625rem);
    --architech-newsv-list-px:   clamp(1.5rem, 2.4vw, 2.25rem);
    --architech-newsv-list-ic:   clamp(1.0625rem, 1.7vw, 1.25rem);
    --architech-newsv-crumb-gap: var(--sp-3);

    /* ---- write (bw) ---- */
    --architech-newsw-gap:       clamp(2rem, 4vw, 4rem);
    --architech-newsw-side-gap:  clamp(1rem, 2vw, 1.75rem);
    --architech-newsw-side-w:    clamp(13rem, 22vw, 18rem);
    --architech-newsw-title-fs:  clamp(1.5rem, 2.6vw, 2.25rem);
    --architech-newsw-btn-py:    clamp(0.75rem, 1.3vw, 1rem);
    --architech-newsw-btn-px:    clamp(1.25rem, 2.2vw, 1.75rem);
    --architech-newsw-field-gap: clamp(1rem, 2vw, 1.5rem);
    --architech-newsw-input-py:  clamp(0.625rem, 1.1vw, 0.875rem);
    --architech-newsw-input-px:  clamp(0.875rem, 1.5vw, 1.125rem);
    --architech-newsw-ta-h:      clamp(12rem, 24vw, 20rem);
}

/* ============ 2) Shared groups (반복 시각속성 1회 추출) ============ */
.architech-news-eb, .architech-news-tag, .architech-newsv-crumb, .architech-newsv-dir { text-transform: uppercase; letter-spacing: var(--ls-eyebrow); font-weight: var(--fw-semibold); }
.architech-news-eb, .architech-news-dt, .architech-news-h em, .architech-newsv-cat, .architech-newsv-dir { color: var(--color-accent); }
.architech-newsv-crumb, .architech-news-total, .architech-news-empty, .architech-newsv-meta { color: var(--color-muted); }
.architech-news-tag, .architech-news-abtn-pt, .architech-newsv-list { color: var(--color-on-dark); }
.architech-news-h, .architech-news-tt, .architech-newsv-title { margin: 0; line-height: var(--lh-tight); color: var(--color-ink); word-break: keep-all; }
.architech-newsv-pn-t, .architech-newsv-body > p:first-of-type, .architech-newsv-body h3, .architech-news-sch-sel, .architech-news-sch-input { color: var(--color-ink); }
.architech-newsv-pn-t, .architech-newsv-body p { word-break: keep-all; }
.architech-newsv-title, .architech-newsv-body h3 { font-weight: var(--fw-bold); }
.architech-newsv-meta b, .architech-newsv-pn-t, .architech-newsv-body > p:first-of-type { font-weight: var(--fw-medium); }
.architech-news-rule, .architech-news-tag, .architech-news-sch-btn, .architech-news-abtn-pt { background: var(--color-accent); }
.architech-news-dt, .architech-news-total, .architech-newsv-meta { font-size: var(--fs-mono); letter-spacing: var(--ls-mono); }
.architech-news-tag, .architech-newsv-crumb, .architech-newsv-dir { font-size: var(--fs-xs); }
.architech-news-meta, .architech-news-bar, .architech-newsv-meta, .architech-newsv-nav { border-top: var(--hairline) solid var(--color-line); margin-top: var(--architech-newsv-nav-mt); }
.architech-news-mbtn, .architech-news-abtn, .architech-news-sch-sel, .architech-news-sch-input { border: var(--hairline) solid var(--color-line); font-size: var(--fs-sm); background: var(--color-bg); }
.architech-news-mbtn, .architech-news-abtn { color: var(--color-ink-2); }
.architech-news-mbtn, .architech-news-abtn, .architech-news-sch-btn { cursor: pointer; }
.architech-news-thumb, .architech-newsv-pn-t { overflow: hidden; }
.architech-news-thumb, .architech-news-empty { width: 100%; }
.architech-news-meta, .architech-news-manage, .architech-news-actions, .architech-news-sch-form, .architech-newsv-actions { gap: var(--sp-3); }
.architech-news-tt, .architech-newsv-pn-t, .architech-newsv-pn-ar { transition: color var(--dur-base) var(--ease); }

/* ============ 3) List (nw3) ============ */
.architech-news { margin: var(--sub-body-gap) 0 var(--sub-foot-gap); }
.architech-news-wrap { gap: var(--architech-news-wrap-gap); }
.architech-news-intro { gap: var(--architech-news-intro-gap); }
.architech-news-rule { width: var(--architech-news-rule-w); height: var(--bar-2); }
.architech-news-eb { font-size: var(--fs-eyebrow); }
.architech-news-h { font-size: var(--architech-news-h-fs); letter-spacing: var(--ls-n045); font-weight: var(--fw-semibold); }
.architech-news-h em { font-style: normal; }
.architech-news-grid { flex-wrap: wrap; gap: var(--architech-news-grid-gap); }
.architech-news-item { width: var(--architech-news-col3); }
.architech-news-card { gap: var(--architech-news-card-gap); color: inherit; }
.architech-news-thumb { height: var(--architech-news-thumb-h); background: var(--color-placeholder); }
.architech-news-card .architech-news-thumb img { transition: transform var(--dur-slow) var(--ease); }
.architech-news-tag { position: absolute; left: 0; top: 0; z-index: var(--z-base); padding: var(--architech-news-tag-py) var(--architech-news-tag-px); }
.architech-news-meta { min-width: 0; padding-top: var(--architech-news-meta-pt); }
.architech-news-tt { width: 100%; min-width: 0; font-size: var(--architech-news-tt-fs); font-weight: var(--fw-semibold); letter-spacing: var(--ls-n03); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.architech-news-empty { padding: var(--sp-12) 0; text-align: center; }
.architech-news-logo { height: var(--architech-news-logo-h); width: auto; opacity: 0.4; }

/* ============ 4) Manage / Search (관리자) ============ */
.architech-news-chkwrap { position: absolute; left: var(--architech-news-chk-inset); top: var(--architech-news-chk-inset); z-index: var(--z-overlay); }
.architech-news-manage { flex-wrap: wrap; margin-top: var(--architech-news-bar-gap); }
.architech-news-mbtn { padding: var(--architech-news-mbtn-py) var(--architech-news-mbtn-px); }
.architech-news-bar { justify-content: space-between; flex-wrap: wrap; margin-top: var(--architech-news-bar-mt); padding-top: var(--architech-news-meta-pt); }
.architech-news-actions { flex-wrap: wrap; }
.architech-news-abtn { padding: var(--architech-news-mbtn-py) var(--architech-news-mbtn-px); }
.architech-news-abtn-pt { border-color: var(--color-accent); }
.architech-news-paging { margin-top: var(--architech-news-bar-gap); }
.architech-news-sch { margin-top: var(--architech-news-bar-gap); }
.architech-news-sch-form { flex-wrap: wrap; }
.architech-news-sch-sel, .architech-news-sch-input { padding: var(--architech-news-mbtn-py) var(--sp-4); }
.architech-news-sch-input { min-width: 0; flex: 1; }
.architech-news-sch-btn { padding: var(--architech-news-mbtn-py) var(--architech-news-mbtn-px); border: 0; }

/* ============ 5) View (pv4) ============ */
.architech-newsv { margin: var(--sub-body-gap) 0 var(--sub-foot-gap); }
.architech-newsv-wrap { gap: var(--architech-newsv-wrap-gap); }
.architech-newsv-head { gap: var(--architech-newsv-head-gap); }
.architech-newsv-crumb { gap: var(--architech-newsv-crumb-gap); }
.architech-newsv-title { font-size: var(--architech-newsv-title-fs); letter-spacing: var(--ls-n05); }
.architech-newsv-meta { flex-wrap: wrap; gap: var(--architech-newsv-meta-gap); padding-top: var(--architech-newsv-meta-pt); }
.architech-newsv-meta b { color: var(--color-ink); }
.architech-newsv-hero { width: var(--view-img-w, 70%); height: auto; margin-left: auto; margin-right: auto; }
.architech-newsv-himg { display: block; width: 100%; height: auto; }
.architech-newsv-body { gap: var(--architech-newsv-body-gap); }
.architech-newsv-body p { font-size: var(--architech-newsv-p-fs); line-height: var(--lh-base); color: var(--color-ink-2); }
.architech-newsv-body > p:first-of-type { font-size: var(--architech-newsv-lead-fs); line-height: var(--lh-snug); }
.architech-newsv-body h3 { margin: var(--architech-newsv-h3-mt) 0 0; font-size: var(--architech-newsv-h3-fs); letter-spacing: var(--ls-n035); }
.architech-newsv-body .architech-br { display: block; }
.architech-newsv-body img { width: var(--view-img-w, 70%); height: auto; display: block; margin-left: auto; margin-right: auto; }
.architech-newsv-pn { gap: var(--architech-newsv-pn-gap); padding: var(--architech-newsv-pn-py) 0; border-bottom: var(--hairline) solid var(--color-line); color: inherit; }
.architech-newsv-dir { width: var(--architech-newsv-pn-dir-w); flex: none; }
.architech-newsv-pn-t { flex: 1; min-width: 0; font-size: var(--architech-newsv-pn-fs); letter-spacing: var(--ls-n02); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.architech-newsv-pn-ar { margin-left: auto; flex: none; color: var(--color-line-2); }
.architech-newsv-actions { justify-content: flex-end; margin-top: var(--architech-newsv-actions-mt); }
.architech-newsv-list, .architech-newsv-source { gap: var(--sp-3); padding: var(--architech-newsv-list-py) var(--architech-newsv-list-px); font-size: var(--fs-base); font-weight: var(--fw-semibold); letter-spacing: var(--ls-n01); }
.architech-newsv-list { background: var(--color-ink); }
.architech-newsv-source { background: var(--color-accent); color: var(--color-on-dark); }
.architech-newsv-list svg, .architech-newsv-source svg { width: var(--architech-newsv-list-ic); height: var(--architech-newsv-list-ic); }
.architech-newsv-abtn { padding: var(--architech-newsv-abtn-py) var(--architech-newsv-abtn-px); border: var(--hairline) solid var(--color-line); color: var(--color-ink-2); }
.architech-newsv-del { color: var(--color-error); border-color: var(--color-error); }

/* ============ 6) Hover ============ */
@media (hover: hover) {
    .architech-news-card:hover .architech-news-thumb img { transform: scale(1.05); }
    .architech-news-card:hover .architech-news-tt,
    .architech-newsv-pn:hover .architech-newsv-pn-t,
    .architech-newsv-pn:hover .architech-newsv-pn-ar { color: var(--color-accent); }
    .architech-newsv-pn { transition: padding-left var(--dur-base) var(--ease); }
    .architech-newsv-pn:hover { padding-left: var(--sp-3); }
    .architech-newsv-list, .architech-newsv-source { transition: background var(--dur-base) var(--ease); }
    .architech-newsv-list:hover { background: var(--color-accent); }
    .architech-newsv-source:hover { background: var(--color-ink); }
}

/* ============ 7) Responsive ============ */
@media (max-width: 880px) {
    .architech-news-item { width: var(--architech-news-col2); }
}
@media (max-width: 520px) {
    .architech-news-item { width: 100%; }
}

/* ============ 8) Write (bw Sidebar Form) ============ */
.architech-newsw { padding: var(--architech-news-sec-pt) 0 var(--architech-news-sec-pb); }
.architech-newsw-grid { display: flex; flex-wrap: wrap; gap: var(--architech-newsw-gap); align-items: flex-start; }
.architech-newsw-side { gap: var(--architech-newsw-side-gap); width: var(--architech-newsw-side-w); }
.architech-newsw-eb { font-size: var(--fs-eyebrow); color: var(--color-accent); text-transform: uppercase; letter-spacing: var(--ls-eyebrow); font-weight: var(--fw-semibold); }
.architech-newsw-title { font-size: var(--architech-newsw-title-fs); font-weight: var(--fw-bold); color: var(--color-ink); line-height: var(--lh-tight); margin: 0; }
.architech-newsw-side-actions { gap: var(--sp-3); }
.architech-newsw-btn { padding: var(--architech-newsw-btn-py) var(--architech-newsw-btn-px); border: var(--hairline) solid var(--color-line); text-align: center; color: var(--color-ink-2); cursor: pointer; background: var(--color-bg); }
.architech-newsw-btn-pt { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-on-dark); }
.architech-newsw-main { flex: 1; min-width: 0; }
.architech-newsw-row { flex-wrap: wrap; gap: var(--architech-newsw-field-gap); }
.architech-newsw-field { gap: var(--sp-3); margin-bottom: var(--architech-newsw-field-gap); }
.architech-newsw-row .architech-newsw-field { flex: 1; min-width: 0; margin-bottom: 0; }
.architech-newsw-lab { gap: var(--sp-2); font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--color-ink); }
.architech-newsw-req { color: var(--color-error); }
.architech-newsw-en { font-size: var(--fs-xs); color: var(--color-muted); }
.architech-newsw-input { width: 100%; padding: var(--architech-newsw-input-py) var(--architech-newsw-input-px); border: var(--hairline) solid var(--color-line); background: var(--color-bg); font-size: var(--fs-base); color: var(--color-ink); }
.architech-newsw-file { width: 100%; font-size: var(--fs-sm); color: var(--color-ink-2); }
.architech-newsw-filenow { gap: var(--sp-2); padding-top: var(--sp-2); font-size: var(--fs-sm); color: var(--color-muted); }
.architech-newsw-editor { width: 100%; }
.architech-newsw-editor textarea { width: 100%; min-height: var(--architech-newsw-ta-h); }
.architech-newsw-input:focus { outline: none; border-color: var(--color-accent); }
@media (max-width: 768px) {
    .architech-newsw-side { width: 100%; }
}
