/* theme 영역 스타일 */
.themed-container {
    background-color: #1e3a8a; /* 배경색 검은색 */
    color: white; /* 글자색 흰색 */
    padding: 20px; /* 내부 여백 */
    border-radius: 5px; /* 모서리 둥글게 */
}


/* header_KPR_full name */
header .site-title {
    margin: 0;
    font-size: 38px;
    font-weight: 700;
    line-height: 1;
    color: #003366;
}

header .site-subtitle {
    margin: 4px 0 0;
    font-size: 14px;
    font-weight: 500;
    color: #003366;
    padding: 3px 3px;
    border-radius: 4px;
    display: inline-block;
}

/* 반응형 (화면이 작아질수록 글자 크기만 축소) */
@media (max-width: 1200px) {
  header .site-title { font-size: 32px; }
  header .site-subtitle { font-size: 13px; }
}

@media (max-width: 992px) {
  header .site-title { font-size: 26px; }
  header .site-subtitle { font-size: 12px; }
}

@media (max-width: 768px) {
  header .site-title { font-size: 22px; }
  header .site-subtitle { font-size: 11px; }
}



/* category css */
/* 부모 li 기준 */
.nav li.has-sub {
  position: relative;
}

/*컨테이너: 위치, 배경, 글자 크기*/
.nav li.has-sub > .subpanel {
  display: none;
  position: absolute;
  top: 100%;        /* 부모 li 바로 아래 */
  left: 50%;
  transform: translateX(-50%);
  /*min-width: 200px;*/
  width: 190px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  padding: 0;
  z-index: 1000;
  font-size: 0.95rem;
}

/* 서브메뉴 링크 기본 스타일 */
.nav li.has-sub > .subpanel a {
  color: #000;          
  text-decoration: none;  /* 밑줄 제거 */
  font-weight: normal;    
  display: block;
  padding: .7rem .9rem; /* 클릭 영역 여유 */
  text-align: center;  
}

.nav li.has-sub > .subpanel .sublist {
  list-style: none;
  margin: 0;
  padding: 0;         /* 또는 .25rem 0 */
}

/* 각 항목 구분선 */
.nav li.has-sub > .subpanel .sublist li {
  border-bottom: 1px solid #ddd;
}
.nav li.has-sub > .subpanel .sublist li:last-child {
  border-bottom: none; /* 마지막은 줄 없음 */
}

/* hover 시 보이도록 */
.nav li.has-sub:hover > .subpanel {
  display: block;
}

/* ← (새로 넣을 규칙) Work를 제외한 항목에만 hover 굵기 적용 */
.nav li.has-sub > .subpanel .sublist li:not(.work-title) > a:hover {
  color: #007bff;
  background-color: #f8f9fa;
  font-weight: 700;
}

/* Work 전용 줄 */
.nav li.has-sub > .subpanel .sublist li.work-title {
  background: #e9eef3;                 /* 회색/파란 느낌 배경 */
  border-bottom: 1px solid #cfd6dc;    /* 구분선 */
  font-weight: 800;
}


/* Work 링크 스타일 */
.nav li.has-sub > .subpanel .sublist li.work-title > a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #0b1e3a;                       /* 글자 색상 */
  text-align: left;                     /* 왼쪽 정렬 */
  padding: .7rem .9rem;
  text-decoration: none;
  font-weight: 800
}

/* Work 앞에 ▼ 아이콘 추가 (HTML 수정 불필요) */
.nav li.has-sub > .subpanel .sublist li.work-title > a::before {
  content: "▼";                          /* 아이콘 */
  font-weight: 800;
  color: #0d6efd;                        /* 파란색 + */
  display: inline-block;
  transform: translateY(-1px);
}

/* hover 시에도 색상/배경 유지 */
.nav li.has-sub > .subpanel .sublist li.work-title:hover {
  background: #e9eef3;
}
.nav li.has-sub > .subpanel .sublist li.work-title > a:hover {
  color: #0b1e3a;
  font-weight: 800;
}




/* About_tabmenu 영역 스타일 */
.tab-menu {
  display: flex;
  width: 100%;
  max-width: 1200px;
  border-bottom: 2px solid #ddd;
  margin-bottom: 20px;
}
.tab-menu a {
  flex: 1;
  padding: 20px;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  font-size: 20px;
  border: 1px solid #ddd;
  border-bottom: none;
  color: #666;
  background-color: white;
  position: relative;
}
.tab-menu a.active {
  background-color: #004a99; /* 파란색 */
  color: white;
}
.tab-menu a.active::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #004a99;
}



/* download_table 영역 스타일 */
.table-wrapper {
  max-width: 90%;       /* 표와 제목 너비를 함께 제한 */
  margin: 0 auto;       /* 화면 가운데 정렬 */
}

/* 제목 스타일 */
.table-title {
  margin: 0;
  padding-bottom: 5px;
  border-bottom: 3px solid #ddd;
}

.custom-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0;
  font-size: 15px;
}

/* table 스타일 */
.custom-table thead {
  border-bottom: 2px solid #ddd;
  background-color: #f5f5f5;
  font-weight: bold;
}

.custom-table th,
.custom-table td {
  padding: 12px 16px; /* 셀 내부 여백 */
  text-align: left;
  border-bottom: 1px solid #eee; /* 각 행의 구분선 */
}

/* hover 효과 */
.custom-table tbody tr:hover {
  background-color: #e7f5ff;
}

/* 링크 스타일 */
.custom-table a {
  text-decoration: none;
  color: #0078d7;
}

.custom-table a:hover {
  text-decoration: underline;
}



/* Footer 영역 스타일 */
.footer-bar {
  background-color: #F0F8FF;
  padding: 25px 0;
  text-align: center;
  border-top: 1px solid #ddd;
  margin-top: 140px;
}

.logo-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;

  margin-bottom: 31px; /* 로고와 글자 사이 간격 */
  padding-top: 30px;
}

.footer-text {
  font-size: 16px;
  color: #333;
  padding-top: 5px;
}

.footer-text a {
  color: #007bff;
  text-decoration: none;
  margin-left: 8px;
}

.footer-text a:hover {
  text-decoration: underline;
}

.footer-right a {
  color: #007bff; /* 파란색 링크 */
  text-decoration: none;
  margin: 0 5px;
}

.footer-right a:hover {
  text-decoration: underline;
}

.footer-left {
  color: #666;
}
