/* ============================================================
H·STEEL — News (공지·뉴스)
style.css 의 디자인 토큰(:root 변수)을 그대로 사용합니다.
============================================================ */

/* --- Badge --- */
.news-badge {
display: inline-block;
font-size: 12px;
font-weight: var(--fw-bold);
letter-spacing: 0.06em;
line-height: 1;
padding: 6px 10px;
border: 1px solid currentColor;
white-space: nowrap;
}

.news-badge--notice {
color: var(--color-accent);
}

.news-badge--news {
color: var(--color-primary-light);
}

.news-badge--pin {
color: var(--color-white);
background: var(--color-accent);
border-color: var(--color-accent);
}

/* --- List item (목록 페이지 / 메인 최신 글 공용) --- */
.news-list {
border-top: 2px solid var(--color-primary);
}

.news-item {
border-bottom: 1px solid var(--color-border-dark);
}

.news-item[hidden] {
display: none;
}

.news-item__link {
display: grid;
grid-template-columns: 132px 1fr 104px;
grid-template-areas: "meta main date";
gap: 0 24px;
align-items: start;
padding: 28px 12px;
transition: background 0.25s var(--ease);
}

.news-item__link:hover {
background: var(--color-white);
}

.news-item__link:hover .news-item__title {
color: var(--color-accent);
}

.news-item__meta {
grid-area: meta;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px;
padding-top: 2px;
}

.news-item__main {
grid-area: main;
min-width: 0;
}

.news-item__title {
display: block;
font-size: 19px;
font-weight: var(--fw-bold);
letter-spacing: -0.02em;
line-height: 1.45;
color: var(--color-primary);
transition: color 0.25s var(--ease);
}

.news-item__summary {
display: block;
margin-top: 6px;
font-size: 14px;
line-height: 1.7;
color: var(--color-text-gray);
}

.news-item__date {
grid-area: date;
padding-top: 3px;
font-size: 14px;
color: var(--color-text-gray);
text-align: right;
white-space: nowrap;
font-variant-numeric: tabular-nums;
}

/* --- Page hero (목록 / 상세 상단) --- */
.news-hero {
position: relative;
background: var(--color-primary-deep);
padding: 164px 0 68px;
}

.news-hero::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent, var(--color-accent), transparent);
}

.news-hero__title {
font-size: clamp(32px, 4.4vw, 50px);
font-weight: var(--fw-bold);
letter-spacing: -0.035em;
line-height: 1.25;
color: var(--color-white);
}

.news-hero__desc {
margin-top: 16px;
font-size: 16px;
font-weight: var(--fw-light);
color: var(--color-text-light);
}

.news-hero--article {
padding-bottom: 56px;
}

.news-hero__crumb {
margin-bottom: 20px;
font-size: 13px;
font-weight: var(--fw-semibold);
letter-spacing: 0.22em;
text-transform: uppercase;
}

.news-hero__crumb a {
color: var(--color-accent);
transition: color 0.25s var(--ease);
}

.news-hero__crumb a:hover {
color: var(--color-accent-light);
}

.news-hero__badges {
display: flex;
gap: 6px;
margin-bottom: 18px;
}

.news-hero__badges .news-badge--notice,
.news-hero__badges .news-badge--news {
color: var(--color-accent-light);
}

.news-hero__title--article {
max-width: 860px;
font-size: clamp(26px, 3.4vw, 40px);
line-height: 1.35;
}

.news-hero__date {
display: block;
margin-top: 22px;
font-size: 15px;
color: var(--color-text-light);
font-variant-numeric: tabular-nums;
}

/* --- List page --- */
.news-section {
display: block;
background: var(--color-offwhite);
padding: 64px 24px 110px;
min-height: 50vh;
}

.news-filter {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 32px;
}

.news-filter__btn {
font-family: inherit;
font-size: 14px;
font-weight: var(--fw-semibold);
color: var(--color-primary);
background: var(--color-white);
border: 1px solid var(--color-border-dark);
padding: 10px 22px;
cursor: pointer;
transition: background 0.25s var(--ease), color 0.25s var(--ease), border-color 0.25s var(--ease);
}

.news-filter__btn:hover {
border-color: var(--color-primary);
}

.news-filter__btn[aria-pressed="true"] {
color: var(--color-white);
background: var(--color-primary);
border-color: var(--color-primary);
}

.news-empty {
padding: 72px 0;
text-align: center;
font-size: 16px;
color: var(--color-text-gray);
border-bottom: 1px solid var(--color-border-dark);
}

.news-empty[hidden],
.news-more__btn[hidden] {
display: none;
}

.news-more {
margin-top: 40px;
text-align: center;
}

.news-more__btn {
font-family: inherit;
font-size: 15px;
font-weight: var(--fw-semibold);
color: var(--color-primary);
background: transparent;
border: 1px solid var(--color-primary);
padding: 14px 44px;
cursor: pointer;
transition: background 0.25s var(--ease), color 0.25s var(--ease);
}

.news-more__btn:hover {
color: var(--color-white);
background: var(--color-primary);
}

/* --- Detail page --- */
.news-detail {
display: block;
background: var(--color-white);
padding: 64px 24px 110px;
}

.news-article {
max-width: 760px;
margin: 0 auto;
font-size: 17px;
line-height: 1.95;
color: #2B3547;
overflow-wrap: break-word;
}

.news-article > * + * {
margin-top: 1.3em;
}

.news-article h2,
.news-article h3,
.news-article h4 {
font-weight: var(--fw-bold);
letter-spacing: -0.03em;
line-height: 1.4;
color: var(--color-primary);
}

.news-article h2 {
margin-top: 2.4em;
font-size: 26px;
}

.news-article h3 {
margin-top: 2em;
font-size: 21px;
}

.news-article h4 {
margin-top: 1.8em;
font-size: 18px;
}

.news-article ul,
.news-article ol {
padding-left: 1.5em;
}

.news-article ul {
list-style: disc;
}

.news-article ol {
list-style: decimal;
}

.news-article li + li {
margin-top: 0.4em;
}

.news-article li > ul,
.news-article li > ol {
margin-top: 0.4em;
}

.news-article li > ul {
list-style: circle;
}

.news-article a {
color: var(--color-accent);
text-decoration: underline;
text-underline-offset: 3px;
}

.news-article a:hover {
color: #F07B3F;
}

.news-article strong {
font-weight: var(--fw-bold);
color: var(--color-primary);
}

.news-article blockquote {
padding: 4px 0 4px 22px;
border-left: 3px solid var(--color-accent);
color: #4B5565;
}

.news-article blockquote > * + * {
margin-top: 0.8em;
}

.news-article hr {
border: 0;
height: 1px;
background: var(--color-border-dark);
margin: 2.4em 0;
}

.news-article code {
font-size: 0.9em;
background: var(--color-offwhite);
padding: 2px 6px;
}

.news-article figure img {
width: 100%;
height: auto;
}

.news-article figcaption {
margin-top: 10px;
font-size: 13px;
line-height: 1.6;
text-align: center;
color: var(--color-text-gray);
}

.news-article__cover {
margin-bottom: 2em;
}

.news-article img {
max-width: 100%;
height: auto;
display: inline-block;
}

.news-table-wrap {
overflow-x: auto;
}

.news-article table {
width: 100%;
min-width: 480px;
border-collapse: collapse;
font-size: 15px;
line-height: 1.7;
}

.news-article th,
.news-article td {
padding: 12px 16px;
border: 1px solid var(--color-border-dark);
text-align: left;
}

.news-article th {
background: var(--color-offwhite);
font-weight: var(--fw-bold);
color: var(--color-primary);
}

.news-article .is-center {
text-align: center;
}

.news-article .is-right {
text-align: right;
}

/* --- Prev / Next --- */
.news-pager {
max-width: 760px;
margin: 72px auto 0;
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 1px solid var(--color-border-dark);
}

.news-pager__item {
display: block;
padding: 24px 8px;
transition: background 0.25s var(--ease);
}

a.news-pager__item:hover {
background: var(--color-offwhite);
}

.news-pager__item--next {
text-align: right;
}

.news-pager__label {
display: block;
font-size: 12px;
font-weight: var(--fw-semibold);
letter-spacing: 0.1em;
color: var(--color-accent);
}

.news-pager__title {
display: block;
margin-top: 6px;
font-size: 15px;
font-weight: var(--fw-semibold);
line-height: 1.5;
color: var(--color-primary);
}

.news-back {
margin-top: 56px;
text-align: center;
}

.news-btn {
display: inline-block;
font-size: 15px;
font-weight: var(--fw-semibold);
color: var(--color-white);
background: var(--color-accent);
padding: 15px 44px;
letter-spacing: 0.01em;
transition: background 0.25s var(--ease), transform 0.2s var(--ease);
}

.news-btn:hover {
background: #F07B3F;
transform: translateY(-2px);
}

/* --- Nav: 현재 페이지 표시 --- */
.nav__links a[aria-current="page"] {
color: var(--color-white);
}

/* --- Home: 최신 글 영역 --- */
.latest-news {
position: relative;
background: var(--color-white);
padding: var(--section-padding);
}

.latest-news[hidden] {
display: none;
}

.latest-news::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, var(--color-accent), transparent);
pointer-events: none;
}

.latest-news__head {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 24px;
margin-bottom: 40px;
}

.latest-news .section-title {
margin-bottom: 0;
}

.latest-news__more {
flex: none;
font-size: 15px;
font-weight: var(--fw-semibold);
color: var(--color-accent);
padding-bottom: 6px;
transition: color 0.25s var(--ease);
}

.latest-news__more:hover {
color: #F07B3F;
}

.latest-news .news-item__link:hover {
background: var(--color-offwhite);
}

/* ============================================================
RESPONSIVE
============================================================ */
@media (max-width: 768px) {
.news-hero {
padding: 128px 0 52px;
}

.news-hero--article {
padding-bottom: 40px;
}

.news-section {
padding: 44px 20px 76px;
}

.news-detail {
padding: 44px 20px 76px;
}

.news-item__link {
grid-template-columns: 1fr auto;
grid-template-areas:
"meta date"
"main main";
gap: 12px 16px;
padding: 22px 4px;
align-items: center;
}

.news-item__date {
padding-top: 0;
}

.news-item__title {
font-size: 17px;
}

.news-article {
font-size: 16px;
line-height: 1.9;
}

.news-article h2 {
font-size: 22px;
}

.news-article h3 {
font-size: 19px;
}

.news-pager {
grid-template-columns: 1fr;
margin-top: 56px;
}

.news-pager__item--next {
text-align: left;
}

.news-pager__item.is-empty {
display: none;
}

.latest-news__head {
align-items: flex-start;
flex-direction: column;
gap: 12px;
margin-bottom: 28px;
}
}

@media (max-width: 480px) {
.news-hero {
padding-top: 116px;
}

.news-btn {
width: 100%;
text-align: center;
padding: 15px 24px;
}
}
