/* ==========================================================================
   공지사항 (pages/service/notice.php)
   test.biz-quick.com/assets/css/custom.css 의 .nt-* 규칙을 운영 토큰에 맞춰 이식.
   · test CSS 의 깨진 셀렉터(.nt-body, .fq-body p 형태)를 올바른 선택자로 재작성
   · --phoenix-* / --bq-primary → 운영에 실제로 정의된 --bs-* 토큰으로 매핑
   ========================================================================== */

/* 상단 타이틀 · 본문 섹션 (common.css 와 동일 값 — notice.css 단독 로드 대비) */
.sub-page-title { padding-top: 5rem; padding-bottom: 5rem; }
.subpage-section { padding-top: 6rem; padding-bottom: 6rem; }
.subpage-section:last-child { padding-bottom: 8rem; }

/* 운영 보정: main.css 에 없는 유틸 */
.fs-9 { font-size: .8rem !important; }

/* ── 유형 탭 (링크라 JS 없이 동작) ── */
.nt-tab {
  display: inline-flex; align-items: center; gap: .375rem;
  padding: .4375rem 1rem; border-radius: 2rem;
  font-size: .875rem; font-weight: 600; line-height: 1.25;
  color: var(--bs-gray-700); background: var(--bs-gray-200);
  text-decoration: none; border: 1px solid transparent;
  transition: color .2s, background-color .2s, border-color .2s;
}
.nt-tab:hover { color: var(--bs-primary); background: rgba(var(--bs-primary-rgb), .08); }
.nt-tab.is-active { color: #fff; background: var(--bs-primary); border-color: var(--bs-primary); }

/* ── 검색 줄: 576 미만에서는 입력이 한 행을 다 먹고 아래로 내린다 ── */
@media (max-width: 575.98px) {
  .nt-search { flex-wrap: wrap; }
  .nt-search .nt-q { flex: 1 1 100%; }
}

/* ── 목록 카드 ── */
.nt-card { position: relative; }                 /* .card 라도 명시 — stretched-link 의 기준점 */
.nt-card:hover { box-shadow: 0 .5rem 1.25rem rgba(0, 0, 0, .09) !important; }
.nt-card:hover .nt-card-title a { color: var(--bs-primary) !important; }
.nt-card-title { line-height: 1.4; }
.nt-excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nt-main { min-width: 0; }                        /* flex 자식이 긴 단어를 밀면 카드가 뷰포트를 넘긴다 */
.nt-thumb img { width: 7rem; height: 7rem; object-fit: cover; border-radius: .75rem; }
@media (max-width: 575.98px) {
  .nt-thumb img { width: 4.5rem; height: 4.5rem; }
}

/* ── 비어 있음 / 찾을 수 없음 ── */
.nt-empty-ico { font-size: 2.75rem; width: 2.75rem; height: 2.75rem; color: var(--bs-gray-400); }

/* ── 페이지 이동 ── */
.nt-pager .page-link {
  min-width: 2.25rem; text-align: center;
  border-radius: .5rem; margin: 0 .125rem;
  color: var(--bs-gray-700);
}
.nt-pager .page-item.active .page-link { color: #fff; background: var(--bs-primary); border-color: var(--bs-primary); }
.nt-pager .page-item.disabled .page-link { color: var(--bs-gray-400); }

/* ── 상세 ── */
.nt-crumb .breadcrumb-item { flex: 0 0 auto; white-space: nowrap; }
.nt-crumb .breadcrumb-item + .breadcrumb-item::before { color: var(--bs-gray-400); }
.nt-detail-title { line-height: 1.35; overflow-wrap: anywhere; }
.nt-detail-thumb img { max-width: 100%; border-radius: .75rem; }

/* 화이트리스트를 통과한 본문만 들어온다 — 태그를 새로 만들지 않고 맞춤만 한다 */
.nt-body { overflow-wrap: anywhere; }
.nt-body > :first-child { margin-top: 0; }
.nt-body > :last-child { margin-bottom: 0; }
.nt-body p { margin-bottom: .875rem; }
.nt-body img { max-width: 100%; height: auto; border-radius: .5rem; margin: .5rem 0; }
.nt-body h2, .nt-body h3, .nt-body h4, .nt-body h5, .nt-body h6 {
  margin: 1.5rem 0 .75rem; font-weight: 700; line-height: 1.4;
}
.nt-body ul, .nt-body ol { padding-left: 1.375rem; margin-bottom: .875rem; }
.nt-body li { margin-bottom: .25rem; }
.nt-body dl { margin-bottom: 1rem; }
.nt-body dt { font-weight: 700; margin-top: .75rem; }
.nt-body dd { margin-left: 0; }
.nt-body blockquote {
  margin: 1rem 0; padding: .75rem 1rem;
  border-left: 3px solid var(--bs-primary);
  background: var(--bs-gray-100);
  border-radius: 0 .5rem .5rem 0;
}
.nt-body pre {
  padding: 1rem; background: var(--bs-gray-100); border-radius: .5rem;
  overflow-x: auto; white-space: pre-wrap;
}
.nt-body table { max-width: 100%; margin: 1rem 0; border-collapse: collapse; font-size: .9375rem; }
.nt-body th, .nt-body td { border: 1px solid var(--bs-gray-300); padding: .5rem .75rem; vertical-align: top; }
.nt-body th { background: var(--bs-gray-100); font-weight: 700; }
.nt-body a { color: var(--bs-primary); text-decoration: underline; }

/* 상세 하단 버튼 — Phoenix 의 --bs-secondary(#E5E7EE) 는 외곽선 버튼에 너무 옅다 */
.nt-actions .btn-outline-secondary {
  --bs-btn-color: var(--bs-gray-700);
  --bs-btn-border-color: var(--bs-gray-300);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-gray-700);
  --bs-btn-hover-border-color: var(--bs-gray-700);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-gray-800);
  --bs-btn-active-border-color: var(--bs-gray-800);
}

@media (max-width: 1399.98px) {
  .subpage-section { padding-top: 5rem; padding-bottom: 5rem; }
}
@media (max-width: 991.98px) {
  .sub-page-title { padding-top: 3rem; padding-bottom: 3rem; }
  .subpage-section { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .subpage-section:last-child { padding-bottom: 5rem; }
}
