/* 공지사항 목록과 상세 */
.nav a.is-on { background: var(--ink); color: var(--white); }
@media (max-width: 720px) {
  .nav a.is-on { background: var(--orange); color: var(--ink); }
}

.notice-page { max-width: 1120px; margin: 0 auto; padding: clamp(24px, 4vw, 56px) var(--gutter) clamp(64px, 8vw, 112px); }
.notice-heading { font-size: clamp(2rem, 4.4vw, 3.5rem); font-weight: 800; line-height: 1.2; letter-spacing: -.04em; }

.notice-search { display: flex; gap: 8px; margin-top: clamp(20px, 3vw, 32px); }
.notice-search input {
  flex: 1; min-width: 0; height: 52px; padding: 0 20px;
  background: var(--white); color: var(--ink); border: 2px solid transparent; border-radius: 999px;
  font: 600 16px var(--font);
}
.notice-search input:focus { border-color: var(--ink); outline: 0; }
.notice-search input::placeholder { color: var(--muted); font-weight: 500; }
.notice-search .btn { min-height: 52px; padding: 0 24px; border: 0; cursor: pointer; font-size: 16px; }

.notice-message { margin-top: 24px; padding: 18px 22px; background: var(--white); border-radius: var(--r-sm); line-height: 1.5; }

.notice-group-title { margin-top: clamp(28px, 4vw, 44px); font-size: 17px; font-weight: 700; letter-spacing: -.02em; }
.notice-list { margin-top: 10px; padding: 4px clamp(16px, 2.4vw, 28px); background: var(--white); border-radius: var(--r-md); }
.notice-list li + li { border-top: 1px solid var(--paper-2); }
.notice-row {
  display: flex; align-items: baseline; justify-content: space-between; gap: 20px;
  padding: 16px 0; text-decoration: none;
}
.notice-row-title { min-width: 0; font-size: clamp(1rem, 1.3vw, 1.1rem); font-weight: 600; line-height: 1.45; letter-spacing: -.02em; overflow-wrap: anywhere; }
.notice-row:hover .notice-row-title { text-decoration: underline; text-underline-offset: 3px; }
.notice-row-date { flex: none; color: var(--muted); font-size: 14px; font-variant-numeric: tabular-nums; }

.notice-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 28px; }
.notice-pages button {
  min-width: 44px; height: 44px; padding: 0 12px; border: 0; border-radius: 999px;
  background: var(--white); cursor: pointer; font-weight: 700; font-variant-numeric: tabular-nums;
}
.notice-pages button:hover { background: var(--paper-2); }
.notice-pages button[aria-current="page"] { background: var(--ink); color: var(--white); }

/* 자주 묻는 질문 페이지 */
.faq-page-list { margin-top: clamp(20px, 3vw, 32px); padding-left: clamp(18px, 2.6vw, 32px); padding-right: clamp(18px, 2.6vw, 32px); }
.faq-page-help { margin-top: 20px; color: var(--muted); }
.faq-page-help a { color: var(--ink); font-weight: 700; }

/* 상세 */
.notice-article { max-width: 760px; margin: 0 auto; }
.notice-article-date { color: var(--muted); font-size: 15px; font-variant-numeric: tabular-nums; }
.notice-article-title { margin-top: 6px; font-size: clamp(1.6rem, 3.4vw, 2.5rem); font-weight: 800; line-height: 1.25; letter-spacing: -.035em; overflow-wrap: anywhere; }
.notice-article-body {
  margin-top: clamp(20px, 3vw, 32px); padding: clamp(20px, 3vw, 36px);
  background: var(--white); border-radius: var(--r-md);
  line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere;
}
.notice-article-body a { font-weight: 600; text-underline-offset: 3px; }
.notice-article-images { display: grid; gap: 12px; margin-top: 12px; }
.notice-article-images:empty { display: none; }
.notice-article-images img { width: 100%; border-radius: var(--r-sm); background: var(--paper-2); }
.notice-back { max-width: 760px; margin: 24px auto 0; }

@media (max-width: 720px) {
  .notice-row { flex-direction: column; gap: 2px; padding: 14px 0; }
  .notice-search input { padding: 0 16px; }
}
