/* ==========================================================================
   AIT-E · 게시판(Gnuboard board.php) 다크 테마
   list.skin.php / view.skin.php / write.skin.php 공용
   ========================================================================== */

.aite-board-page {
  min-height: 60vh;
}

/* ── 카테고리 필터 (자료실 pill 스타일) ────────────────────────────────── */
.aite-board-page #bo_cate_ul {
  list-style: none;
}
.aite-board-page #bo_cate_ul li {
  display: inline-flex;
}
.aite-board-page #bo_cate_ul a {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  border: 1px solid #25302a;
  font-size: 0.8125rem;
  color: #93a099;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.aite-board-page #bo_cate_ul a:hover,
.aite-board-page #bo_cate_ul a:focus {
  border-color: rgba(27, 201, 142, 0.45);
  color: #e9eeea;
  text-decoration: none;
}
.aite-board-page #bo_cate_ul a#bo_cate_on {
  border-color: #1bc98e;
  color: #1bc98e;
  background: rgba(27, 201, 142, 0.08);
  font-weight: 700;
  box-shadow: none;
}

/* 같은 클래스명(.aite-dl-filter)을 직접 사용하는 경우를 위한 별칭 */
.aite-dl-filter {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  border: 1px solid #25302a;
  font-size: 0.8125rem;
  color: #93a099;
  background: transparent;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.aite-dl-filter:hover {
  border-color: rgba(27, 201, 142, 0.45);
  color: #e9eeea;
}
.aite-dl-filter.is-active {
  border-color: #1bc98e;
  color: #1bc98e;
  background: rgba(27, 201, 142, 0.08);
  font-weight: 700;
}

/* ── 빈 목록 상태 ──────────────────────────────────────────────────────── */
.aite-dl-empty {
  border: 1px dashed #25302a;
  border-radius: 1rem;
  background: #12160f;
  padding: 3rem 1.5rem;
  text-align: center;
}

/* ── 목록 테이블 (basic 스킨) ──────────────────────────────────────────── */
.aite-board-page table.aite-board tbody tr {
  cursor: pointer;
}
.aite-board-page table.aite-board tbody tr:hover td {
  background: rgba(18, 22, 15, 0.9);
}
.aite-board-page table.aite-board tbody tr:focus-within {
  outline: 1px solid rgba(27, 201, 142, 0.35);
}
.aite-board-page table.aite-board tbody tr.aite-board-notice td {
  background: rgba(27, 201, 142, 0.04);
}

.aite-dl-badge {
  display: inline-block;
  font-size: 0.6875rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(27, 201, 142, 0.35);
  color: #1bc98e;
  white-space: nowrap;
}
.aite-dl-badge--notice {
  border-color: rgba(240, 169, 94, 0.65);
  color: #ffffff;
  background: #f0a95e;
}

.aite-dl-dl {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #1bc98e;
  text-decoration: none;
}
.aite-dl-dl:hover {
  text-decoration: underline;
}

/* ── 목록/보기 상단 관리 툴바 (float·흰박스 레거시 스킨 무력화) ─────────── */
.aite-board-page #bo_btn_top {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0.5rem;
  float: none !important;
  clear: both;
  margin: 0 0 1.25rem !important;
  width: 100%;
}
.aite-board-page #bo_btn_top:after {
  content: none !important;
  display: none !important;
}
@media (min-width: 640px) {
  .aite-board-page #bo_btn_top {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}
.aite-board-page #bo_list_total {
  float: none !important;
  line-height: 1.4 !important;
  font-size: 0.875rem !important;
  color: #93a099 !important;
}
.aite-board-page ul.btn_bo_user {
  float: none !important;
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
  width: auto !important;
  max-width: 100%;
}
.aite-board-page ul.btn_bo_user > li {
  float: none !important;
  position: relative;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  text-align: center;
  list-style: none;
}
.aite-board-page ul.btn_bo_user > li:before,
.aite-board-page ul.btn_bo_user > li:after {
  content: none !important;
  display: none !important;
}

/* 아이콘 버튼 — skin style.css / default.css(.btn_admin 등)보다 우선 */
.aite-board-page .aite-board-icon-btn,
.aite-board-page ul.btn_bo_user a.btn_admin,
.aite-board-page ul.btn_bo_user a.btn_b01,
.aite-board-page ul.btn_bo_user button.btn_more_opt,
.aite-board-page ul.btn_bo_user a.aite-board-icon-btn,
.aite-board-page ul.btn_bo_user button.aite-board-icon-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 2.25rem !important;
  height: 2.25rem !important;
  min-width: 2.25rem;
  padding: 0 !important;
  border-radius: 0.5rem !important;
  border: 1px solid #25302a !important;
  color: #93a099 !important;
  background: #12160f !important;
  background-image: none !important;
  box-shadow: none !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  cursor: pointer;
  text-decoration: none !important;
  vertical-align: middle;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.aite-board-page .aite-board-icon-btn:hover,
.aite-board-page ul.btn_bo_user a.btn_admin:hover,
.aite-board-page ul.btn_bo_user a.btn_b01:hover,
.aite-board-page ul.btn_bo_user button.btn_more_opt:hover,
.aite-board-page ul.btn_bo_user a.aite-board-icon-btn:hover,
.aite-board-page ul.btn_bo_user button.aite-board-icon-btn:hover {
  border-color: #1bc98e !important;
  color: #1bc98e !important;
  background: rgba(27, 201, 142, 0.08) !important;
  text-decoration: none !important;
}
.aite-board-page .aite-board-icon-btn--accent,
.aite-board-page ul.btn_bo_user a.aite-board-icon-btn--accent {
  border-color: rgba(27, 201, 142, 0.45) !important;
  color: #1bc98e !important;
  background: rgba(27, 201, 142, 0.08) !important;
}
.aite-board-page .aite-board-icon-btn i,
.aite-board-page ul.btn_bo_user .aite-board-icon-btn i,
.aite-board-page ul.btn_bo_user a.btn_admin i,
.aite-board-page ul.btn_bo_user button.btn_more_opt i {
  color: inherit !important;
  font-size: 1.05rem;
  line-height: 1;
}

/* 더보기(관리자 옵션) 드롭다운 */
.aite-board-page .more_opt {
  background: #12160f !important;
  border: 1px solid #25302a !important;
  border-radius: 0.5rem;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  padding: 0.35rem;
  min-width: 140px;
  z-index: 40;
}
.aite-board-page .more_opt:before,
.aite-board-page .more_opt:after {
  display: none !important;
  content: none !important;
}
.aite-board-page .more_opt li {
  border-bottom: 0 !important;
  padding: 0 !important;
  width: auto !important;
  margin: 0 !important;
  background: transparent !important;
  color: #93a099;
  text-align: left;
  border-radius: 0.375rem;
  float: none !important;
}
.aite-board-page .more_opt li button,
.aite-board-page .more_opt li a {
  width: 100%;
  border: 0;
  background: transparent !important;
  color: #93a099 !important;
  padding: 0.55rem 0.7rem;
  border-radius: 0.375rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  height: auto !important;
  min-width: 0 !important;
}
.aite-board-page .more_opt li:hover a,
.aite-board-page .more_opt li:hover button,
.aite-board-page .more_opt li a:hover,
.aite-board-page .more_opt li button:hover {
  background: rgba(27, 201, 142, 0.1) !important;
  color: #1bc98e !important;
}

/* ── basic 리스트: 모바일 가로스크롤 안내 ─────────────────────────────── */
.aite-board-hscroll-hint {
  color: #93a099;
}
@media (min-width: 1024px) {
  .aite-board-hscroll-hint {
    display: none !important;
  }
}

/* ── 갤러리 카드 (뉴스/보도자료 스타일 갤러리 목록) ─────────────────────── */
.aite-news-card {
  display: flex;
  flex-direction: column;
  background: #12160f;
  border: 1px solid #25302a;
  border-radius: 16px;
  overflow: hidden;
  transition: border-color 0.3s ease, transform 0.35s ease, box-shadow 0.35s ease;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.aite-news-card:hover {
  border-color: rgba(27, 201, 142, 0.45);
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
  text-decoration: none;
}
.aite-news-card__thumb {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #0a0d0c;
  overflow: hidden;
}
.aite-news-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.aite-news-card:hover .aite-news-card__thumb img {
  transform: scale(1.05);
}
.aite-news-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.15rem 1.2rem 1.35rem;
}

/* 모바일 2열: 카드 여백·타이포 축소 (lg 이상은 기존 유지) */
@media (max-width: 1023.98px) {
  .aite-board-page #gall_ul .aite-news-card {
    border-radius: 12px;
  }
  .aite-board-page #gall_ul .aite-news-card__body {
    padding: 0.7rem 0.75rem 0.85rem;
  }
  .aite-board-page #gall_ul .aite-news-card__body h3 {
    font-size: 0.8125rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .aite-board-page #gall_ul .aite-news-card__body .line-clamp-2 {
    display: none;
  }
  .aite-board-page #gall_ul .aite-news-card__body > span.mt-auto {
    padding-top: 0.55rem;
    font-size: 0.65rem;
  }
  .aite-board-page #gall_ul .aite-news-tag {
    font-size: 0.58rem;
    padding: 0.12rem 0.4rem;
  }
  .aite-board-page #gall_ul .aite-news-card__body time {
    font-size: 0.58rem;
  }
  .aite-board-page #gall_ul .aite-news-card__body > .flex.items-center {
    margin-bottom: 0.45rem;
  }
}

.aite-news-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(27, 201, 142, 0.35);
  color: #1bc98e;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* 갤러리 전체선택 체크박스 라벨 정렬 */
.aite-board-page .all_chk label,
.aite-board-page .gall_chk label {
  color: #93a099;
}

@media (prefers-reduced-motion: reduce) {
  .aite-news-card,
  .aite-news-card__thumb img {
    transition: none;
  }
  .aite-news-card:hover {
    transform: none;
  }
  .aite-news-card:hover .aite-news-card__thumb img {
    transform: none;
  }
}

/* ── 상세보기(view) 첨부파일 카드 ────────────────────────────────────── */
.aite-view-file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border-radius: 0.75rem;
  border: 1px solid #25302a;
  background: #0d100e;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.aite-view-file:hover {
  border-color: rgba(27, 201, 142, 0.45);
  background: #12160f;
  text-decoration: none;
}
.aite-view-file__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.65rem;
  border: 1px solid rgba(27, 201, 142, 0.3);
  background: rgba(27, 201, 142, 0.08);
  color: #1bc98e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex-shrink: 0;
}
.aite-view-nav {
  width: 100%;
}
.aite-view-nav a {
  color: #93a099;
  text-decoration: none;
  transition: color 0.2s ease;
}
.aite-view-nav a:hover {
  color: #1bc98e;
}

/* ── 글쓰기(write) 옵션 토글 (공지/비밀글/메일수신) ─────────────────────── */
.aite-wopt {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8125rem;
  color: #93a099;
  cursor: pointer;
  user-select: none;
}
.aite-wopt input[type="checkbox"] {
  accent-color: #1bc98e;
  width: 1rem;
  height: 1rem;
}
.aite-wopt:hover {
  color: #e9eeea;
}
.aite-wopt input[type="checkbox"]:checked + span {
  color: #1bc98e;
  font-weight: 700;
}

/* ── 페이지네이션 (get_paging() 기본 마크업 다크 재정의) ────────────────── */
.aite-board-page .pg_wrap {
  display: flex;
}
.aite-board-page .pg {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  justify-content: center;
}
.aite-board-page .pg_page,
.aite-board-page .pg_current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.5rem;
  border-radius: 0.5rem;
  border: 1px solid #25302a;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #93a099;
  text-decoration: none;
  background: transparent;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.aite-board-page .pg_page:hover {
  border-color: #1bc98e;
  color: #1bc98e;
  background: rgba(27, 201, 142, 0.08);
  text-decoration: none;
}
.aite-board-page .pg_current {
  border-color: #1bc98e;
  color: #1bc98e;
  background: rgba(27, 201, 142, 0.08);
}
.aite-board-page .pg_start,
.aite-board-page .pg_prev,
.aite-board-page .pg_next,
.aite-board-page .pg_end {
  position: relative;
  text-indent: 0 !important;
  overflow: visible !important;
  background-image: none !important;
  font-size: 0 !important;
}
.aite-board-page .pg_start::before,
.aite-board-page .pg_prev::before,
.aite-board-page .pg_next::before,
.aite-board-page .pg_end::before {
  font-family: "remixicon" !important;
  font-size: 1rem;
  line-height: 1;
  color: #93a099;
}
.aite-board-page .pg_start::before,
.aite-board-page .pg_prev::before {
  content: "\ea64";
}
.aite-board-page .pg_next::before,
.aite-board-page .pg_end::before {
  content: "\ea6e";
}
.aite-board-page .pg_start:hover::before,
.aite-board-page .pg_prev:hover::before,
.aite-board-page .pg_next:hover::before,
.aite-board-page .pg_end:hover::before {
  color: #1bc98e;
}

/* ── 체크박스(.chk_box) 기본 스타일을 다크 배경에 맞춰 재정의 ───────────── */
.aite-board-page .chk_box input[type="checkbox"] + label {
  color: #93a099;
}
.aite-board-page .chk_box input[type="checkbox"] + label span {
  background: #12160f;
  border: 1px solid #25302a;
}
.aite-board-page .chk_box input[type="checkbox"]:checked + label {
  color: #e9eeea;
}
.aite-board-page .chk_box input[type="checkbox"]:checked + label span {
  background-color: #1bc98e !important;
  border-color: #1bc98e !important;
}

/* ── 검색 입력창 자동완성/플레이스홀더 색상 ──────────────────────────── */
.aite-board-page input::placeholder,
.aite-board-page textarea::placeholder {
  color: rgba(147, 160, 153, 0.65);
}
.aite-board-page .sch_word {
  color: #06120c;
  background: #1bc98e;
  padding: 2px 5px 3px;
  line-height: 18px;
  margin: 0 2px;
  border-radius: 0.25rem;
}

/* ── 상세 본문: 레거시 흰 배경·강제 line-height·이미지 깨짐 방지 ─────────── */
.aite-board-page #bo_v {
  background: #12160f !important;
  margin-bottom: 0 !important;
}
.aite-board-page #bo_v.aite-frame {
  background: #12160f !important;
}
.aite-board-page #bo_v_con {
  margin: 0 !important;
  min-height: 0 !important;
  line-height: inherit;
  overflow: visible !important;
  word-break: normal;
  color: inherit;
}
.aite-board-page #bo_v_con a {
  color: #1bc98e;
  text-decoration: underline;
}
.aite-board-page #bo_v_con img {
  max-width: 100%;
}
/* 본문 HTML(ul/li flex·grid)이 default.css list 강제에 깨지지 않도록 */
.aite-board-page #bo_v_con ul[style*="display:flex"],
.aite-board-page #bo_v_con ul[style*="display: flex"],
.aite-board-page #bo_v_con ul[style*="display:grid"],
.aite-board-page #bo_v_con ul[style*="display: grid"],
.aite-board-page #bo_v_con ol[style*="display:flex"],
.aite-board-page #bo_v_con ol[style*="display:grid"] {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.aite-board-page #bo_v_con ul[style*="display:flex"] > li,
.aite-board-page #bo_v_con ul[style*="display: flex"] > li,
.aite-board-page #bo_v_con ul[style*="display:grid"] > li,
.aite-board-page #bo_v_con ul[style*="display: grid"] > li {
  display: revert;
}
