/* ========================================
   RTCMS - 게시판 목록 스타일
   /rtcms-ui/board/list.css

   게시판 목록 페이지 전용 스타일
   - 검색/필터 박스
   - 구조화 리스트 (KRDS)
   - 갤러리 그리드
   - 브로슈어 스타일
   - 보도자료 스타일
   - 페이지네이션
   ======================================== */

/* ========================================
   1. 검색 입력폼 - KRDS .search-top-box
   ======================================== */
.search-top-box {
  display: block;
  width: 100%;
  margin-bottom: var(--krds-spacer-6);
}

.search-top-box .sch-filter-box {
  width: 100%;
}

.search-top-box > .sch-form-wrap {
  width: 100%;
}

.search-top-box .input-group {
  width: 100%;
  flex: 1;
}

.search-top-box .sch-input {
  flex: 1;
  min-width: 0;
}

/* ========================================
   2. 필터 박스 - KRDS .sch-filter-box
   ======================================== */
.sch-filter-box {
  display: flex;
  flex-direction: column;
  gap: var(--krds-spacer-4);
  padding: var(--krds-spacer-6);
  background-color: var(--krds-gray-5);
  border-radius: var(--krds-rd-12);
  width: 100%;
  box-sizing: border-box;
}

/* 검색 폼 래퍼 */
.sch-form-wrap {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 2rem 2.4rem;
  background-color: #F8F8F8;
  border-radius: 1.2rem;
  width: 100%;
  box-sizing: border-box;
}

.sch-form-wrap .input-group {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex: 1;
}

/* 검색 입력 영역 */
.sch-form-wrap .sch-input {
  display: flex;
  align-items: center;
  flex: 1;
  position: relative;
}

.sch-form-wrap .sch-input .krds-input {
  box-sizing: border-box;
  width: 100%;
  height: 4.6rem;
  padding: 0 5rem 0 1.6rem;
  font-size: 1.6rem;
  font-family: inherit;
  color: #1D1D1D;
  background-color: #fff;
  border: 1px solid #C6C6C6;
  border-radius: 0.6rem;
  transition: border-color 0.2s;
}

.sch-form-wrap .sch-input .krds-input:focus {
  outline: none;
  border-color: #246BEB;
}

.sch-form-wrap .sch-input .krds-input::placeholder {
  color: #8E8E8E;
}

/* 검색 버튼 (입력창 내부) */
.sch-form-wrap .sch-input .krds-btn.ico-search {
  position: absolute;
  right: 0.4rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: #555;
  transition: color 0.2s;
}

.sch-form-wrap .sch-input .krds-btn.ico-search:hover {
  color: #246BEB;
}

/* 필터 폼 - 한 줄 배치 */
.sch-filter-box .filter-form {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-4);
}

/* 분류 필터 그룹 */
.sch-filter-box .filter-form .filter-category {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-4);
  flex-shrink: 0;
}

/* 2뎁스 카테고리 필터 */
.sch-filter-box .filter-form .filter-category-2depth {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-3);
}

.sch-filter-box .filter-form .filter-category-2depth .form-select {
  min-width: 12rem;
}

/* 필터 폼 내 div 스타일 */
.sch-filter-box .filter-form > div {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-3);
}

.sch-filter-box .filter-form .label {
  font-size: var(--krds-fz-body-md);
  font-weight: 700;
  color: var(--krds-gray-80);
  white-space: nowrap;
  min-width: 4rem;
  margin-right: 1.2rem;
}

/* 검색 폼에서도 분류 라벨 간격 */
.sch-form-wrap .label,
.search-top-box .label,
.input-group .label {
  font-size: 1.6rem;
  font-weight: 700;
  color: #2D2D2D;
  white-space: nowrap;
  margin-right: 1.2rem;
}

/* 분류 라벨과 셀렉트 사이 간격 */
.input-group > div {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.input-group > div > .label {
  margin-right: 0;
}

/* ========================================
   3. 복수 선택 드롭다운
   ======================================== */
.multi-select-wrapper {
  position: relative;
}

.multi-select-trigger {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--krds-spacer-2);
  height: 4.6rem;
  min-width: 14rem;
  padding: 0 1.2rem 0 1.6rem;
  font-size: var(--krds-fz-body-md);
  font-family: inherit;
  color: var(--krds-gray-90);
  background-color: var(--krds-white);
  border: 1px solid var(--krds-gray-40);
  border-radius: var(--krds-rd-8);
  cursor: pointer;
  transition: border-color 0.2s;
}

.multi-select-trigger:hover:not(:disabled) {
  border-color: var(--krds-gray-60);
}

.multi-select-trigger:focus {
  outline: none;
  border-color: var(--krds-primary);
}

.multi-select-trigger:disabled {
  cursor: not-allowed;
}

.multi-select-text {
  flex: 1;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.multi-select-arrow {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  color: var(--krds-gray-60);
  transition: transform 0.2s;
}

.multi-select-dropdown {
  position: absolute;
  top: calc(100% + 0.4rem);
  left: 0;
  z-index: 100;
  min-width: 22rem;
  max-height: 32rem;
  background-color: var(--krds-white);
  border: 1px solid var(--krds-gray-30);
  border-radius: var(--krds-rd-8);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}

.multi-select-header {
  padding: var(--krds-spacer-3) var(--krds-spacer-4);
  border-bottom: 1px solid var(--krds-gray-20);
  background-color: var(--krds-gray-5);
}

.multi-select-header .multi-select-item {
  font-weight: 600;
}

.multi-select-list {
  max-height: 20rem;
  overflow-y: auto;
  padding: var(--krds-spacer-2) 0;
}

.multi-select-item {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-3);
  padding: var(--krds-spacer-3) var(--krds-spacer-4);
  font-size: var(--krds-fz-body-md);
  color: var(--krds-gray-90);
  cursor: pointer;
  transition: background-color 0.15s;
}

.multi-select-item:hover {
  background-color: var(--krds-gray-5);
}

.multi-select-item input[type="checkbox"] {
  width: 1.8rem;
  height: 1.8rem;
  margin: 0;
  accent-color: var(--krds-primary);
  cursor: pointer;
}

.multi-select-item span {
  flex: 1;
}

.multi-select-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--krds-spacer-3);
  padding: var(--krds-spacer-3) var(--krds-spacer-4);
  border-top: 1px solid var(--krds-gray-20);
  background-color: var(--krds-gray-5);
}

.multi-select-footer .btn-reset {
  padding: var(--krds-spacer-2) var(--krds-spacer-4);
  font-size: var(--krds-fz-body-sm);
  font-family: inherit;
  color: var(--krds-gray-70);
  background: none;
  border: 1px solid var(--krds-gray-40);
  border-radius: var(--krds-rd-6);
  cursor: pointer;
  transition: all 0.2s;
}

.multi-select-footer .btn-reset:hover {
  border-color: var(--krds-gray-60);
  color: var(--krds-gray-90);
}

.multi-select-footer .btn-apply {
  padding: var(--krds-spacer-2) var(--krds-spacer-5);
  font-size: var(--krds-fz-body-sm);
  font-family: inherit;
  font-weight: 600;
  color: var(--krds-white);
  background-color: var(--krds-primary);
  border: none;
  border-radius: var(--krds-rd-6);
  cursor: pointer;
  transition: background-color 0.2s;
}

.multi-select-footer .btn-apply:hover {
  background-color: var(--krds-primary-60);
}

/* 대륙별 그룹 스타일 */
.multi-select-group {
  border-bottom: 1px solid var(--krds-gray-10);
}

.multi-select-group:last-child {
  border-bottom: none;
}

.multi-select-group-header {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-3);
  padding: var(--krds-spacer-3) var(--krds-spacer-4);
  font-size: var(--krds-fz-body-md);
  font-weight: 600;
  color: var(--krds-gray-90);
  background-color: var(--krds-gray-5);
  cursor: pointer;
  transition: background-color 0.15s;
}

.multi-select-group-header:hover {
  background-color: var(--krds-gray-10);
}

.multi-select-group-header input[type="checkbox"] {
  width: 1.8rem;
  height: 1.8rem;
  margin: 0;
  accent-color: var(--krds-primary);
  cursor: pointer;
}

.multi-select-count {
  margin-left: auto;
  font-size: var(--krds-fz-detail-sm);
  font-weight: 400;
  color: var(--krds-gray-60);
}

.multi-select-group-items {
  padding-left: var(--krds-spacer-4);
}

.multi-select-group-items .multi-select-item {
  padding-left: var(--krds-spacer-6);
}

/* ========================================
   4. 검색 입력 그룹
   ======================================== */
.sch-filter-box .filter-form > .sch-input-group {
  display: flex;
  align-items: center;
  gap: 0 !important;
  flex: 1;
  max-width: 50rem;
}

.sch-filter-box .sch-input-group .form-select {
  flex-shrink: 0;
  width: 12rem;
  min-width: 12rem;
  border-right: none;
  border-radius: var(--krds-rd-8) 0 0 var(--krds-rd-8);
}

.sch-input {
  position: relative;
  flex: 1;
}

.sch-input form {
  display: contents;
}

.sch-input .form-control {
  box-sizing: border-box;
  width: 100%;
  height: 4.6rem;
  padding: 0 4rem 0 1.6rem;
  font-size: var(--krds-fz-body-md);
  font-family: inherit;
  color: var(--krds-gray-90);
  background-color: var(--krds-white);
  border: 1px solid var(--krds-gray-40);
  border-radius: 0 var(--krds-rd-8) var(--krds-rd-8) 0;
  transition: border-color 0.2s;
}

.sch-input .form-control:focus {
  outline: none;
  border-color: var(--krds-primary);
}

.sch-input .form-control::placeholder {
  color: var(--krds-gray-50);
}

.sch-input .btn-ico {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--krds-gray-70);
  transition: color 0.2s;
}

.sch-input .btn-ico:hover {
  color: var(--krds-primary);
}

.sch-input .btn-ico svg {
  width: 2.4rem;
  height: 2.4rem;
}

/* ========================================
   5. 선택된 필터 칩 표시 영역
   ======================================== */
.filter-chip {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-4);
  padding-top: var(--krds-spacer-4);
  border-top: 1px solid var(--krds-gray-20);
  margin: 0;
}

.filter-chip dt {
  font-size: var(--krds-fz-body-md);
  font-weight: 700;
  color: var(--krds-gray-80);
  white-space: nowrap;
}

.filter-chip dt .num {
  color: var(--krds-primary);
}

.filter-chip dd {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-2);
  margin: 0;
}

.filter-chip .btn-ico-refresh {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  padding: 0;
  background: none;
  border: 1px solid var(--krds-gray-40);
  border-radius: var(--krds-rd-6);
  cursor: pointer;
  color: var(--krds-gray-60);
  text-decoration: none;
  transition: all 0.2s;
}

.filter-chip .btn-ico-refresh:hover {
  border-color: var(--krds-gray-60);
  color: var(--krds-gray-80);
}

.filter-chip .btn-ico-refresh svg {
  width: 1.8rem;
  height: 1.8rem;
}

.filter-chip .chip-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: var(--krds-spacer-2);
}

/* 칩 아웃라인 버튼 */
.btn-chip-outline {
  display: inline-flex;
  align-items: center;
  gap: var(--krds-spacer-1);
  height: 3.2rem;
  padding: 0 var(--krds-spacer-3);
  font-size: var(--krds-fz-body-sm);
  font-family: inherit;
  color: var(--krds-gray-80);
  background-color: var(--krds-white);
  border: 1px solid var(--krds-gray-40);
  border-radius: 10rem;
}

.btn-chip-outline .btn-del {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  padding: 0;
  margin-left: var(--krds-spacer-1);
  background: none;
  border: none;
  text-decoration: none;
  cursor: pointer;
}

.btn-chip-outline .btn-del::before {
  content: '';
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238E8E8E' stroke-width='2'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.btn-chip-outline .btn-del:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232D2D2D' stroke-width='2'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
}

/* ========================================
   6. 리스트 상단 - KRDS .search-list-top
   ======================================== */
.search-list-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--krds-spacer-6) 0;
  gap: var(--krds-spacer-6);
}

.search-list-top .sch-info {
  font-size: var(--krds-fz-title-lg);
  font-weight: 700;
  color: var(--krds-gray-90);
}

.search-list-top .sch-info .keyword {
  color: var(--krds-primary-60);
}

/* 정렬 영역 */
.search-list-top .sch-sort {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-6);
  list-style: none;
  padding: 0;
  margin: 0;
}

.search-list-top .sch-sort > li {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-3);
}

.search-list-top .sch-sort .sort-label {
  font-weight: 700;
  font-size: var(--krds-fz-body-md);
  white-space: nowrap;
  color: var(--krds-gray-90);
}

.search-list-top .sch-sort .sort-select {
  height: 4rem;
  padding: 0 3.2rem 0 1.2rem;
  font-size: var(--krds-fz-body-sm);
  font-family: inherit;
  color: var(--krds-gray-90);
  background-color: var(--krds-white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1.6rem;
  border: 1px solid var(--krds-gray-40);
  border-radius: var(--krds-rd-6);
  cursor: pointer;
  appearance: none;
}

.search-list-top .sch-sort .w-sort-btn {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-2);
}

.search-list-top .sch-sort .w-sort-btn a {
  padding: 0.6rem 1.2rem;
  font-size: var(--krds-fz-body-md);
  font-family: inherit;
  color: var(--krds-gray-70);
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s;
}

.search-list-top .sch-sort .w-sort-btn a:hover {
  border-radius: var(--krds-rd-6);
  background-color: var(--krds-secondary-5);
}

.search-list-top .sch-sort .w-sort-btn a.active {
  color: var(--krds-gray-90);
  text-decoration: underline;
  text-underline-offset: 0.4rem;
}

.search-list-top .sch-sort .m-sort-btn {
  display: none;
  align-items: center;
  gap: var(--krds-spacer-2);
}

.search-list-top .sch-sort .m-sort-btn .sort-link {
  font-size: var(--krds-fz-body-sm);
  font-family: inherit;
  color: var(--krds-gray-60);
  text-decoration: none;
  transition: color 0.2s;
}

.search-list-top .sch-sort .m-sort-btn .sort-link:hover {
  color: var(--krds-gray-90);
}

.search-list-top .sch-sort .m-sort-btn .sort-link.active {
  color: var(--krds-gray-90);
  font-weight: 600;
}

.search-list-top .sch-sort .m-sort-btn .sort-divider {
  color: var(--krds-gray-40);
  font-size: var(--krds-fz-body-sm);
}

/* 목록 표시 개수 - 데스크탑만 */
.search-list-top .sch-sort .m-hide {
  display: flex;
}

/* ========================================
   7. 구조화 리스트 - KRDS .krds-structured-list
   ======================================== */
.krds-structured-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--krds-spacer-3);
}

.krds-structured-list.type-full .structured-item {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: var(--krds-white);
  border: 1px solid var(--krds-gray-30);
  border-radius: var(--krds-rd-12);
  overflow: hidden;
  transition: all 0.2s;
}

.krds-structured-list.type-full .structured-item:hover {
  border-color: var(--krds-gray-50);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.krds-structured-list .structured-item .in {
  display: flex;
  flex-direction: column;
  gap: var(--krds-spacer-1);
  padding: var(--krds-spacer-2) var(--krds-spacer-6);
  width: 100%;
}

/* 카드 상단 - 분류 뱃지 */
.krds-structured-list .card-top {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-2);
}

/* 카드 바디 */
.krds-structured-list .card-body {
  display: flex;
  flex-direction: column;
  gap: var(--krds-spacer-2);
}

.krds-structured-list .card-body .c-text {
  display: flex;
  flex-direction: column;
  gap: var(--krds-spacer-2);
  padding: var(--krds-spacer-1) 0;
  text-decoration: none;
  color: inherit;
  word-break: break-all;
}

.krds-structured-list .card-body .c-text:hover {
  text-decoration: none;
}

.krds-structured-list .card-body .c-text:hover .c-tit .span {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

/* 제목 영역 */
.krds-structured-list .card-body .c-tit {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-2);
  position: relative;
  margin: 0;
  max-width: 100%;
  overflow: hidden;
}

.krds-structured-list .card-body .c-tit .span {
  font-size: var(--krds-fz-title-lg);
  font-weight: 700;
  color: var(--krds-gray-90);
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  max-width: calc(100% - 4rem);
  word-break: break-all;
}

.krds-structured-list .card-body .c-tit::after {
  display: none;
  /* chevron arrow removed */
  content: "";
  width: 0;
  height: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* 첨부파일 아이콘 */
.krds-structured-list .ico-attach {
  flex-shrink: 0;
  width: 1.8rem;
  height: 1.8rem;
  color: var(--krds-gray-50);
}

/* 내용 미리보기 - 2줄까지 표시 */
.krds-structured-list .card-body .c-txt {
  font-size: var(--krds-fz-body-md);
  color: var(--krds-gray-70);
  line-height: 1.6;
  margin: 0;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  max-width: 1465px;
  word-break: keep-all;
  min-height: calc(1.6 * 1.7rem * 2);
}

/* 메타 정보 (작성자, 작성일, 조회수) */
.krds-structured-list .card-body .c-date {
  display: flex;
  align-items: center;
  gap: var(--krds-spacer-4);
  margin-top: var(--krds-spacer-2);
  font-size: var(--krds-fz-body-sm);
  color: var(--krds-gray-60);
}

.krds-structured-list .card-body .c-date .item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.krds-structured-list .card-body .c-date .key {
  font-weight: 700;
  color: var(--krds-gray-70);
}

.krds-structured-list .card-body .c-date .value {
  color: var(--krds-gray-60);
}

/* 카드 하단 태그 */
.krds-structured-list .card-btm {
  display: flex;
  flex-wrap: wrap;
  gap: var(--krds-spacer-2) var(--krds-spacer-1);
  padding-top: var(--krds-spacer-6);
  margin-top: auto;
  border-top: 1px solid var(--krds-gray-30);
}

.krds-structured-list .card-btm .tag {
  display: inline-flex;
  align-items: center;
  font-size: var(--krds-fz-label-sm);
  color: var(--krds-gray-80);
  height: 3.2rem;
  padding: 0 var(--krds-spacer-3);
  border-radius: 10rem;
  border: 1px solid var(--krds-gray-40);
  background-color: var(--krds-white);
}

.krds-structured-list .card-btm .tag::before {
  content: "#";
}

/* 빈 상태 */
.krds-structured-list .empty-state {
  text-align: center;
  padding: 6.4rem 2rem;
  color: var(--krds-gray-60);
}

.krds-structured-list .empty-state p {
  font-size: var(--krds-fz-title-md);
  margin: 0;
}

/* ========================================
   8. D-Day 배지 스타일
   ======================================== */
.krds-structured-list .structured-item.with-dday .in {
  position: relative;
  padding-right: 20rem;
}

.dday-badge {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 2rem;
  min-width: 8rem;
  text-align: center;
  background: #001B54;
  border-radius: 0.6rem;
  color: #fff;
  font-weight: 700;
  font-size: 1.6rem;
}

.dday-badge.urgent {
  background: #E52A21;
}

.dday-badge.expired {
  background: #6d7882;
}

.dday-text {
  white-space: nowrap;
}

@keyframes pulse-urgent {
  0%, 100% { transform: translateY(-50%) scale(1); }
  50% { transform: translateY(-50%) scale(1.05); }
}

/* ========================================
   9. 썸네일 스타일
   ======================================== */
.krds-structured-list.type-full .structured-item.with-thumb .in {
  flex-direction: row;
  gap: var(--krds-spacer-6);
}

.krds-structured-list .card-thumb {
  flex-shrink: 0;
  width: 23.9rem;
  height: 17.908rem;
  border-radius: var(--krds-rd-8);
  overflow: hidden;
  background-color: var(--krds-gray-10);
}

.krds-structured-list .card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.krds-structured-list .structured-item:hover .card-thumb img {
  transform: scale(1.05);
}

.krds-structured-list.type-full .structured-item.with-thumb .card-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--krds-spacer-4);
}

/* ========================================
   10. 페이지네이션 - KRDS .krds-pagination
   ======================================== */
.krds-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--krds-spacer-2);
  width: 100%;
  margin-top: var(--krds-spacer-10);
}

.krds-pagination.w-page {
  display: flex;
}

.krds-pagination.m-page {
  display: none;
}

/* 이전/다음 버튼 */
.krds-pagination .page-navi {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--krds-gray-70);
  min-width: 6.2rem;
  height: 4rem;
  font-size: var(--krds-fz-body-md);
  font-family: inherit;
  text-decoration: none;
  transition: all 0.4s ease-in-out;
}

.krds-pagination .page-navi:hover {
  border-radius: var(--krds-rd-6);
  background-color: var(--krds-secondary-5);
}

.krds-pagination .page-navi:active {
  background-color: var(--krds-secondary-10);
}

.krds-pagination .page-navi.prev {
  padding: 0 var(--krds-spacer-2) 0 var(--krds-spacer-1);
}

.krds-pagination .page-navi.prev::before {
  display: inline-flex;
  content: "";
  width: 2rem;
  height: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.krds-pagination .page-navi.next {
  padding: 0 var(--krds-spacer-1) 0 var(--krds-spacer-2);
}

.krds-pagination .page-navi.next::after {
  display: inline-flex;
  content: "";
  width: 2rem;
  height: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.krds-pagination .page-navi.disabled {
  color: var(--krds-gray-40);
  pointer-events: none;
}

.krds-pagination .page-navi.disabled::before,
.krds-pagination .page-navi.disabled::after {
  opacity: 0.4;
}

/* 페이지 번호 */
.krds-pagination .page-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--krds-spacer-2);
}

.krds-pagination .page-links .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--krds-gray-70);
  min-width: 4rem;
  height: 4rem;
  font-size: var(--krds-fz-body-md);
  font-family: inherit;
  text-decoration: none;
  transition: all 0.4s ease-in-out;
}

.krds-pagination .page-links .page-link:hover {
  border-radius: var(--krds-rd-6);
  background-color: var(--krds-secondary-5);
}

.krds-pagination .page-links .page-link:active {
  background-color: var(--krds-secondary-10);
}

.krds-pagination .page-links .page-link.link-dot {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='12' r='2' fill='%23C6C6C6'/%3E%3Ccircle cx='12' cy='12' r='2' fill='%23C6C6C6'/%3E%3Ccircle cx='19' cy='12' r='2' fill='%23C6C6C6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}

.krds-pagination .page-links .page-link.active {
  font-weight: 700;
  color: var(--krds-white);
  border-radius: var(--krds-rd-6);
  background-color: var(--krds-secondary);
}

/* ========================================
   11. 갤러리 카드 그리드 레이아웃
   ======================================== */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.gallery-card {
  display: flex;
  flex-direction: column;
  background-color: var(--krds-white);
  border: 1px solid var(--krds-gray-30);
  border-radius: var(--krds-rd-12);
  overflow: hidden;
  transition: all 0.2s ease;
}

.gallery-card:hover {
  border-color: var(--krds-gray-50);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-4px);
}

/* 갤러리 썸네일 */
.gallery-card .card-thumb {
  position: relative;
  width: 100%;
  padding-top: 66.67%; /* 3:2 비율 */
  overflow: hidden;
  background-color: var(--krds-gray-10);
}

.gallery-card .card-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.gallery-card:hover .card-thumb img {
  transform: scale(1.08);
}

/* 썸네일 없는 경우 기본 아이콘 */
.gallery-card .card-thumb .no-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--krds-gray-10);
}

.gallery-card .card-thumb .no-image svg {
  width: 4.8rem;
  height: 4.8rem;
  color: var(--krds-gray-40);
}

/* 갤러리 카드 카테고리 뱃지 */
.gallery-card .card-category {
  display: inline-block;
  padding: 0.4rem 1rem;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--krds-primary-60);
  background-color: var(--krds-primary-5);
  border-radius: var(--krds-rd-6);
  margin-bottom: var(--krds-spacer-2);
}

/* 갤러리 카드 본문 */
.gallery-card .card-body {
  display: flex;
  flex-direction: column;
  padding: var(--krds-spacer-5);
  gap: var(--krds-spacer-3);
}

.gallery-card .card-body a {
  text-decoration: none;
  color: inherit;
}

.gallery-card .card-body a:hover .card-title {
  color: var(--krds-primary);
}

/* 갤러리 카드 제목 */
.gallery-card .card-title {
  font-size: var(--krds-fz-title-md);
  font-weight: 700;
  color: var(--krds-gray-90);
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: calc(1.4 * 1.9rem * 2);
  transition: color 0.2s;
}

/* 갤러리 카드 내용 */
.gallery-card .card-desc {
  font-size: var(--krds-fz-body-sm);
  color: var(--krds-gray-60);
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: calc(1.6 * 1.5rem * 2);
}

/* 갤러리 카드 메타 정보 */
.gallery-card .card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--krds-spacer-4) var(--krds-spacer-5);
  font-size: var(--krds-fz-detail-sm);
  color: var(--krds-gray-50);
  border-top: 1px solid var(--krds-gray-20);
  margin-top: auto;
}

.gallery-card .card-date,
.gallery-card .card-views {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.gallery-card .card-date svg,
.gallery-card .card-views svg {
  width: 1.4rem;
  height: 1.4rem;
}

/* NEW 뱃지 (갤러리) */
.gallery-card .badge-new {
  position: absolute;
  top: var(--krds-spacer-3);
  left: var(--krds-spacer-3);
  z-index: 2;
  padding: 0.4rem 0.8rem;
  font-size: var(--krds-fz-detail-sm);
  font-weight: 600;
  color: var(--krds-white);
  background-color: var(--krds-point);
  border-radius: var(--krds-rd-4);
}

/* 갤러리 빈 상태 */
.gallery-grid .empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 6.4rem 2rem;
  color: var(--krds-gray-60);
  background-color: var(--krds-gray-5);
  border-radius: var(--krds-rd-12);
}

.gallery-grid .empty-state p {
  font-size: var(--krds-fz-title-md);
  margin: 0;
}

/* ========================================
   12. 브로슈어 게시판 스타일
   ======================================== */
/* PDF 아이콘 썸네일 */
.brochure-card .pdf-icon-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  gap: var(--krds-spacer-2);
}

.brochure-card .pdf-icon-thumb svg {
  width: 6rem;
  height: 6rem;
  color: #dc3545;
  transition: transform 0.3s;
}

.brochure-card:hover .pdf-icon-thumb svg {
  transform: scale(1.1);
}

.brochure-card .pdf-icon-thumb .pdf-label {
  font-size: var(--krds-fz-body-sm);
  font-weight: 700;
  color: #dc3545;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* 브로슈어 카드 본문 */
.brochure-card .card-body {
  padding: var(--krds-spacer-4) var(--krds-spacer-5);
}

.brochure-card .card-title {
  font-size: var(--krds-fz-body-md);
  font-weight: 600;
  color: var(--krds-gray-80);
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: calc(1.4 * 1.7rem * 2);
  transition: color 0.2s;
}

.brochure-card:hover .card-title {
  color: var(--krds-primary);
}

/* ========================================
   13. 보도자료 게시판 스타일
   ======================================== */
.press-release-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--krds-spacer-3);
}

.press-release-item {
  display: flex;
  align-items: flex-start;
  gap: var(--krds-spacer-4);
  padding: var(--krds-spacer-4) var(--krds-spacer-5);
  background-color: var(--krds-white);
  border: 1px solid var(--krds-gray-30);
  border-radius: var(--krds-rd-8);
  transition: all 0.2s;
  min-height: 11.2rem;
  box-sizing: border-box;
}

.press-release-item:hover {
  border-color: var(--krds-gray-50);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* 썸네일 영역 */
.press-release-item .item-thumb {
  flex-shrink: 0;
  width: 12rem;
  height: 8rem;
  border-radius: var(--krds-rd-6);
  overflow: hidden;
  background-color: var(--krds-gray-10);
}

.press-release-item .item-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* ========================================
   14. 반응형 - 모바일
   ======================================== */
@media (max-width: 768px) {
  /* 검색 폼 */
  .sch-form-wrap {
    flex-direction: column;
    gap: 1.2rem;
    padding: 1.6rem;
  }

  .sch-form-wrap .input-group {
    flex-direction: column;
    width: 100%;
    gap: 1rem;
  }

  .krds-form-select {
    width: 100%;
    min-width: auto;
  }

  .sch-form-wrap .sch-input {
    width: 100%;
  }

  /* 검색 필터 박스 */
  .sch-filter-box {
    padding: var(--krds-spacer-4);
  }

  .sch-filter-box .filter-form {
    flex-direction: column;
    gap: var(--krds-spacer-4);
  }

  .sch-filter-box .filter-form > div {
    min-width: 100%;
  }

  /* 2뎁스 카테고리 */
  .sch-filter-box .filter-form .filter-category-2depth {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--krds-spacer-2);
    width: 100%;
  }

  .sch-filter-box .filter-form .filter-category-2depth .form-select {
    width: 100%;
  }

  /* 복수 선택 드롭다운 */
  .multi-select-wrapper {
    width: 100%;
  }

  .multi-select-trigger {
    width: 100%;
  }

  .multi-select-dropdown {
    width: 100%;
    min-width: unset;
  }

  .sch-filter-box .sch-input-group {
    min-width: 100%;
    flex-direction: column;
  }

  .sch-filter-box .sch-input-group .form-select {
    width: 100%;
    border-right: 1px solid var(--krds-gray-40);
    border-radius: var(--krds-rd-8);
    margin-bottom: var(--krds-spacer-2);
  }

  .sch-filter-box .sch-input-group .sch-input .form-control {
    border-radius: var(--krds-rd-8);
  }

  .filter-chip {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--krds-spacer-3);
  }

  .filter-chip dd {
    flex-wrap: wrap;
  }

  /* 리스트 상단 */
  .search-list-top {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--krds-spacer-4);
    padding: var(--krds-spacer-4) 0;
  }

  .search-list-top .sch-sort {
    width: 100%;
    justify-content: space-between;
  }

  .search-list-top .sch-sort .m-hide {
    display: none;
  }

  .search-list-top .sch-sort .w-sort-btn {
    display: none;
  }

  .search-list-top .sch-sort .m-sort-btn {
    display: flex;
  }

  .krds-structured-list .structured-item .in {
    padding: 1rem var(--krds-spacer-5);
  }

  .krds-structured-list .card-body .c-tit .span {
    font-size: var(--krds-fz-title-md);
  }

  .krds-structured-list .card-body .c-date {
    flex-wrap: wrap;
    gap: var(--krds-spacer-2) var(--krds-spacer-4);
  }

  /* 페이지네이션 */
  .krds-pagination.w-page {
    display: none;
  }

  .krds-pagination.m-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--krds-spacer-6);
  }

  .krds-pagination.m-page .page-navis {
    display: flex;
    gap: var(--krds-spacer-2);
  }

  .krds-pagination.m-page .page-navis .page-navi {
    flex: 1;
    min-width: 10rem;
    justify-content: center;
    padding: var(--krds-spacer-3) var(--krds-spacer-5);
    border: 1px solid var(--krds-gray-40);
    border-radius: var(--krds-rd-6);
  }

  .krds-pagination.m-page .page-links {
    display: flex;
    justify-content: center;
    gap: var(--krds-spacer-1);
  }

  /* D-Day 배지 */
  .krds-structured-list .structured-item.with-dday .in {
    padding-right: 0;
    padding-bottom: 5rem;
  }

  .dday-badge {
    position: absolute;
    right: 1.6rem;
    top: auto;
    bottom: 1.6rem;
    transform: none;
    min-width: 6rem;
    height: 3.2rem;
    font-size: 1.4rem;
    padding: 0 1.2rem;
  }

  /* 썸네일 */
  .krds-structured-list.type-full .structured-item.with-thumb .in {
    flex-direction: column;
    gap: var(--krds-spacer-4);
  }

  .krds-structured-list .card-thumb {
    width: 100%;
    height: 18rem;
  }
}

/* 갤러리 반응형 - 태블릿 */
@media (max-width: 1200px) {
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}

/* 갤러리 반응형 - 모바일 */
@media (max-width: 768px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
  }

  .gallery-card .card-body {
    padding: var(--krds-spacer-4);
    gap: var(--krds-spacer-2);
  }

  .gallery-card .card-title {
    font-size: var(--krds-fz-body-md);
    min-height: calc(1.4 * 1.7rem * 2);
  }

  .gallery-card .card-desc {
    font-size: var(--krds-fz-detail-sm);
    -webkit-line-clamp: 1;
    min-height: calc(1.6 * 1.3rem * 1);
  }

  .gallery-card .card-meta {
    padding: var(--krds-spacer-3) var(--krds-spacer-4);
  }

  /* 브로슈어 */
  .brochure-card .pdf-icon-thumb svg {
    width: 5rem;
    height: 5rem;
  }

  .brochure-card .card-body {
    padding: var(--krds-spacer-3) var(--krds-spacer-4);
  }

  .brochure-card .card-title {
    font-size: var(--krds-fz-body-sm);
    min-height: calc(1.4 * 1.5rem * 2);
  }
}

/* 갤러리 반응형 - 작은 모바일 */
@media (max-width: 480px) {
  .gallery-grid {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  .gallery-card .card-thumb {
    padding-top: 56.25%; /* 16:9 비율 */
  }
}


/* ========================================
   본문 이미지 가운데 정렬
   ======================================== */
.structured-item img,
.gallery-card img.thumb-img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
