@charset "utf-8";

/**
 * latest/basic 공지 블록 — Figma GSMK node 97:295
 * 모든 규칙은 .lbn 접두로 스코프 (default.css · 게시판 전역과 충돌 방지)
 */

.lbn {
  position: relative;
  margin: 0;
  padding: 0;
  font-family: "Pretendard", "Malgun Gothic", dotum, sans-serif;
  color: #000000;
  letter-spacing: 0;
  line-height: 1.5;
  box-sizing: border-box;
}

.lbn *,
.lbn *::before,
.lbn *::after {
  box-sizing: border-box;
}

/* index: main-section 좌우 패딩 상쇄 후 배경 풀폭 */
.lbn__surface {
  margin-left: -20px;
  margin-right: -20px;
  padding: 104px 20px 160px;
  background: #ffffff;
}

.lbn__inner {
  width: 100%;
  max-width: 1424px;
  margin: 0 auto;
}

/* 헤더: 라벨 ↔ 타이틀행 간격 24px (Figma Notice Header) */
.lbn__header {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.lbn__eyebrow {
  margin: 0;
  padding: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 12px;
  text-transform: uppercase;
  color: #005fa3;
}

.lbn__header-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
}

.lbn__heading {
  margin: 0;
  padding: 0;
  font-size: 64px;
  font-weight: 800;
  line-height: 1.3;
  color: #000000;
}

.lbn__heading a {
  color: inherit;
  text-decoration: none;
}

.lbn__heading a:hover {
  opacity: 0.85;
}

.lbn__heading a:focus-visible {
  outline: 2px solid #005fa3;
  outline-offset: 4px;
  border-radius: 2px;
}

.lbn__more {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  color: #005fa3;
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
}

.lbn__more:hover {
  color: #004c82;
}

.lbn__more:focus-visible {
  outline: 2px solid #005fa3;
  outline-offset: 4px;
  border-radius: 2px;
}

.lbn__more-ico {
  display: inline-flex;
  line-height: 0;
  color: currentColor;
}

.lbn__more-ico svg {
  display: block;
}

/* 섹션 헤더 ↔ 목록 영역 간격 40px (Figma Notice Section gap) */
.lbn__board {
  margin-top: 40px;
}

.lbn__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 23px;
  row-gap: 60px;
  margin: 0;
  padding: 60px 0;
  list-style: none;
  border-top: 4px solid #000000;
  border-bottom: 4px solid #000000;
}

.lbn__cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 뱃지 없을 때도 제목·메타 세로 정렬 맞춤 (8+32+8 = 48px) */
.lbn__badge-slot {
  display: flex;
  align-items: flex-start;
  flex-shrink: 0;
  min-height: 48px;
}

.lbn__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 8px 16px;
  border-radius: 1000px;
  border: 1px solid #ee7800;
  background: #ee7800;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  color: #ffffff;
}

.lbn__item-title {
  margin: 0;
  padding: 0;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.5;
  color: #000000;
}

.lbn__item-title a {
  color: inherit;
  text-decoration: none;
}

.lbn__item-title a:hover {
  color: #005fa3;
}

.lbn__item-title a:focus-visible {
  outline: 2px solid #005fa3;
  outline-offset: 2px;
  border-radius: 2px;
}

.lbn__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 9px;
  margin: 0;
  padding: 0;
  font-size: 14px;
  color: #6a6e73;
}

.lbn__meta-label {
  font-weight: 700;
  line-height: 1.5;
}

.lbn__meta-date {
  font-weight: 400;
  line-height: 2;
  color: inherit;
}

.lbn__sep {
  grid-column: 1 / -1;
  height: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0;
  /* Figma 중간 구분선은 상·하단 보더보다 한 단계 연한 톤 */
  border-top: 1px solid #e8e8e9;
  align-self: stretch;
}

.lbn__empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 48px 0;
  list-style: none;
  text-align: center;
  font-size: 16px;
  color: #6a6e73;
}

/* 메인(홈)에서는 보조 메타 숨김 — 그룹 최신글에서만 표시 */
.lbn__extras {
  display: none;
}

/* ---------- bbs/group.php (.lt_wr) 폴백 ---------- */
.lt_wr .lbn__surface {
  margin-left: 0;
  margin-right: 0;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #e5ecee;
}

.lt_wr .lbn__eyebrow {
  font-size: 11px;
  letter-spacing: 0.35em;
}

.lt_wr .lbn__heading {
  font-size: 1.15em;
  font-weight: 700;
  line-height: 1.35;
}

.lt_wr .lbn__header-row {
  flex-direction: column;
  align-items: flex-start;
}

.lt_wr .lbn__more {
  font-size: 12px;
}

.lt_wr .lbn__more-ico svg {
  width: 28px;
  height: 6px;
}

.lt_wr .lbn__board {
  margin-top: 12px;
}

.lt_wr .lbn__grid {
  display: block;
  padding: 10px 0 0;
  border-top: 1px solid #e5ecee;
  border-bottom: 0;
  row-gap: 0;
}

.lt_wr .lbn__cell {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5ecee;
  gap: 6px;
}

.lt_wr .lbn__cell:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.lt_wr .lbn__sep {
  display: none;
}

.lt_wr .lbn__badge-slot {
  min-height: 26px;
}

.lt_wr .lbn__badge {
  min-height: 22px;
  padding: 2px 10px;
  font-size: 11px;
}

.lt_wr .lbn__item-title {
  font-size: 1em;
  font-weight: 700;
}

.lt_wr .lbn__meta {
  font-size: 12px;
}

.lt_wr .lbn__empty {
  padding: 40px 0;
}

.lt_wr .lbn__extras {
  display: block;
  font-size: 12px;
  line-height: 1.4;
  color: #666666;
}

.lt_wr .lbn__x-new {
  display: inline-block;
  width: 16px;
  line-height: 16px;
  margin-left: 4px;
  font-size: 11px;
  font-weight: 700;
  color: #23db79;
  background: #b9ffda;
  text-align: center;
  border-radius: 2px;
  vertical-align: middle;
}

.lt_wr .lbn__x-hot {
  display: inline-block;
  margin-left: 4px;
  vertical-align: middle;
  color: #ff0000;
}

.lt_wr .lbn__x-cmt {
  display: inline-block;
  margin-left: 4px;
  padding: 0 5px;
  background: #e9eff5;
  color: #3a8afd;
  font-size: 11px;
  line-height: 16px;
  border-radius: 3px;
  vertical-align: middle;
}

/* ---------- 반응형 ---------- */
@media (max-width: 1199px) {
  .lbn__heading {
    font-size: clamp(36px, 5vw, 56px);
  }

  .lbn__item-title {
    font-size: clamp(20px, 2.4vw, 28px);
  }
}

@media (max-width: 767px) {
  .lbn__surface {
    padding: 0px 20px 60px;
  }

  .lbn__eyebrow {
    font-size: 18px;
    letter-spacing: 8px;
  }

  .lbn__heading {
    font-size: clamp(28px, 7vw, 40px);
  }

  .lbn__header-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .lbn__grid {
    grid-template-columns: 1fr;
    padding: 32px 0;
  }

  .lbn__sep {
    display: none;
  }

  /* 모바일: 세로 1열이라 행 높이 맞춤용 뱃지 슬롯 여백 불필요 — 중요 없을 때 빈 48px 제거 */
  .lbn__badge-slot {
    min-height: 0;
  }
}
