@charset "utf-8";
/**
 * @author https://www.cosmosfarm.com
 */

/* ==========================================================
   기본 버튼 및 초기화
   ========================================================== */
a.kboard-popstore-button-small,
input.kboard-popstore-button-small,
button.kboard-popstore-button-small { position: relative; display: inline-block; *display: inline; zoom: 1; margin: 0; padding: 0 10px; width: auto; height: 28px; line-height: 28px; font-size: 14px; font-weight: normal; letter-spacing: normal; color: #545861 !important; background: #eaeaea !important; border: none; border-radius: 0; text-decoration: none !important; cursor: pointer; vertical-align: middle; text-shadow: none; box-shadow: none; transition-duration: 0.3s; box-sizing: content-box; }
a.kboard-popstore-button-small:hover,
a.kboard-popstore-button-small:focus,
a.kboard-popstore-button-small:active,
input.kboard-popstore-button-small:hover,
input.kboard-popstore-button-small:focus,
input.kboard-popstore-button-small:active,
button.kboard-popstore-button-small:hover,
button.kboard-popstore-button-small:focus,
button.kboard-popstore-button-small:active { opacity: 0.7; }

.kboard-popstore-poweredby { float: left; padding-bottom: 15px; width: 100%; font-size: 14px; }
.kboard-popstore-new-notify { display: inline-block; *display: inline; zoom: 1; padding: 2px 2px; line-height: 10px; font-size: 10px; color: white; background-color: #f61b5d; font-weight: normal; }
.kboard-popstore-cut-strings { width: auto; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; word-wrap: normal; }

/* ==========================================================
   검색 & 정렬 헤더 영역 (그레이 배경 중앙정렬)
   ========================================================== */
#kboard-popstore-list { display: inline-block; *display: inline; zoom: 1; margin: 0; width: 100%; }
#kboard-popstore-list form { margin: 0; padding: 0; }
#kboard-popstore-list .kboard-list-header { float: left; display: table; padding-bottom: 15px; width: 100%; }
#kboard-popstore-list .kboard-list-header .kboard-total-count { *float: left; display: table-cell; font-size: 14px; vertical-align: middle; }
#kboard-popstore-list .kboard-list-header .kboard-sort { *float: right; display: table-cell; text-align: right; }
#kboard-popstore-list .kboard-list-header .kboard-sort select { display: inline; margin: 0; padding: 0; width: auto; min-width: 0; max-width: none; height: 26px; min-height: 0; line-height: 26px; font-size: 13px; color: #666666; border-radius: 0; border: 1px solid #f1f1f1; background: white; vertical-align: middle; box-shadow: none; box-sizing: content-box; text-indent: 0; -webkit-appearance: menulist; -moz-appearance: menulist; appearance: menulist; }

#kboard-popstore-list .kboard-custom-search { background-color: #f7f7f7; padding: 30px 20px; border-radius: 5px; text-align: center; margin-bottom: 25px; float: left; width: 100%; box-sizing: border-box; }
#kboard-popstore-list .kboard-custom-search form { display: flex; justify-content: center; align-items: center; gap: 5px; margin: 0; }
#kboard-popstore-list .kboard-search select { display: inline; margin: 0; padding: 0 30px 0 10px !important; width: 120px !important; min-width: 0; max-width: none !important; height: 42px !important; min-height: 0; font-size: 14px; color: #666666; border-radius: 3px; border: 1px solid #ddd; background: none; background-color: white; line-height: 42px !important; vertical-align: middle; box-shadow: none; box-sizing: border-box; -webkit-appearance: menulist; -moz-appearance: menulist; appearance: menulist; }
#kboard-popstore-list .kboard-search input { display: inline; margin: 0; padding: 0 15px !important; width: 400px !important; min-width: 0; max-width: none !important; height: 42px !important; min-height: 0; font-size: 14px; color: #666666; border-radius: 3px; border: 1px solid #ddd; background: none; background-color: white; line-height: 42px !important; vertical-align: middle; box-shadow: none; box-sizing: border-box; }

/* 카테고리 스타일 유지 */
#kboard-popstore-list .kboard-category { float: left; padding-bottom: 15px; width: 100%; }
#kboard-popstore-list .kboard-category.category-mobile { display: none; }
#kboard-popstore-list .kboard-category.category-pc { display: block; }
#kboard-popstore-list .kboard-category select { display: inline; margin: 0 0 5px 0; padding: 0; width: 100%; min-width: 100%; height: 28px; min-height: 0; line-height: 28px; font-size: 13px; color: #666666; border-radius: 0; border: 1px solid #f1f1f1; background: white; vertical-align: middle; box-shadow: none; box-sizing: border-box; text-indent: 0; -webkit-appearance: menulist; -moz-appearance: menulist; appearance: menulist; }
#kboard-popstore-list .kboard-category .kboard-category-list { margin: 0 0 5px 0; padding: 0; list-style: none; border: 0; background-color: #f9f9f9; overflow: hidden; }
#kboard-popstore-list .kboard-category .kboard-category-list li { display: inline-block; *display: inline; zoom: 1; margin: 0; padding: 0 5px; border: 0; list-style: none; }
#kboard-popstore-list .kboard-category .kboard-category-list li::before, #kboard-popstore-list .kboard-category .kboard-category-list li::after { display: none; }
#kboard-popstore-list .kboard-category .kboard-category-list li a { display: block; padding: 10px 10px 8px 10px; font-size: 14px; border: 0; border-bottom: 2px solid transparent; text-decoration: none; text-shadow: none; box-shadow: none; color: #515151; }
#kboard-popstore-list .kboard-category .kboard-category-list li.kboard-category-selected a { font-weight: bold; border-bottom: 2px solid #545861; color: #545861; }
#kboard-popstore-list .kboard-tree-category-wrap { overflow: hidden; }
#kboard-popstore-list .kboard-tree-category-wrap select { display: inline; margin: 0 0 5px 0; padding: 0; width: 100%; height: 28px; line-height: 28px; font-size: 13px; color: #666666; border-radius: 0; border: 1px solid #f1f1f1; background: white; vertical-align: middle; box-shadow: none; box-sizing: border-box; text-indent: 0; -webkit-appearance: menulist; -moz-appearance: menulist; appearance: menulist; }
#kboard-popstore-list .kboard-tree-category-search .kboard-search-option-wrap.type-select { width: auto; }
#kboard-popstore-list .kboard-tree-category-search .kboard-search-option-wrap.type-tab { width: 100%; }
#kboard-popstore-list .kboard-tree-category { float: left; margin: 0 0 5px 0; padding: 0; width: 100%; list-style: none; border: 0; background-color: #f9f9f9; overflow: hidden; }
#kboard-popstore-list .kboard-tree-category li { display: inline-block; *display: inline; zoom: 1; margin: 0; padding: 0 5px; border: 0; list-style: none; }
#kboard-popstore-list .kboard-tree-category li::before, #kboard-popstore-list .kboard-tree-category li::after { display: none; }
#kboard-popstore-list .kboard-tree-category li a { display: block; padding: 10px 10px 8px 10px; font-size: 14px; border: 0; border-bottom: 2px solid transparent; text-decoration: none; text-shadow: none; box-shadow: none; color: #515151; }
#kboard-popstore-list .kboard-tree-category li.kboard-category-selected a { font-weight: bold; border-bottom: 2px solid #545861; color: #545861; }
#kboard-popstore-list .kboard-tree-category-search { float: left; width: 100%; }
#kboard-popstore-list .kboard-tree-category-search .kboard-search-option-wrap { margin-right: 5px; float: left; }


/* ==========================================================
   프로그램 카드 (리스트 · 메인 카드 슬라이더 공용)
   ========================================================== */
#kboard-popstore-list .kboard-popstore-list-wrap { float: left; width: 100%; margin-bottom: 30px; }

.kbpp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.kbpp-grid-item { min-width: 0; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.kbpp-grid-item::before, .kbpp-grid-item::after { display: none !important; content: none !important; }
.kbpp-empty { margin: 0; padding: 60px 10px; color: #888; font-size: 15px; text-align: center; }

.kbpp-card { --kbpp-brand: #00a5e5; position: relative; height: 100%; background: #fff; border: 1px solid #e3e6ea; border-radius: 12px; overflow: hidden; font-family: 'Noto Sans KR', sans-serif; box-sizing: border-box; transition: transform .3s ease, box-shadow .3s ease; }
.kbpp-card *, .kbpp-card *::before, .kbpp-card *::after { box-sizing: border-box; }
.kbpp-card:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(0, 0, 0, .09); }
.kbpp-card-link { display: flex; flex-direction: column; height: 100%; color: #222 !important; text-decoration: none !important; box-shadow: none !important; }
.kbpp-card-link:focus-visible { outline: 3px solid var(--kbpp-brand); outline-offset: -3px; }

/* 이미지: 3:4 (A4 포스터 기준 위아래가 거의 잘리지 않음), 상단 기준 */
/* --kbpp-img-h : 이미지 높이 ÷ 폭 (기본 3:4 = 1.3333). 메인 슬라이더는 숏코드 ratio 로 바꿀 수 있음 */
.kbpp-card-media { position: relative; aspect-ratio: 1 / var(--kbpp-img-h, 1.3333); overflow: hidden; background: #eef1f4; }
.kbpp-card-media img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; object-fit: cover; object-position: top center; transition: transform .5s ease; }
.kbpp-card:hover .kbpp-card-media img { transform: scale(1.03); }
.kbpp-card-noimg { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: rgba(255, 255, 255, .92); background: linear-gradient(145deg, #00a5e5, #177ba2 62%, #185c78); font-size: 30px; font-weight: 800; letter-spacing: .14em; }
.kbpp-card.is-status-closed .kbpp-card-media img { filter: grayscale(.55); opacity: .88; }

/* 진행기관: 이미지 좌측 상단 */
.kbpp-card-org { position: absolute; top: 12px; left: 12px; max-width: calc(100% - 24px); padding: 6px 13px; border-radius: 999px; background: rgba(255, 255, 255, .95); color: #333; font-size: 13px; font-weight: 600; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-shadow: 0 1px 5px rgba(0, 0, 0, .14); }

/* 모집상태 배지 (카드: 이미지 좌측 하단 / 뷰: 정보 상단) */
.kbpp-status { display: inline-block; padding: 5px 12px; border-radius: 4px; color: #fff; background: #546e7a; font-size: 13px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.kbpp-status.is-open { background: #e53935; }
.kbpp-status.is-soon { background: #2f6fd6; }
.kbpp-status.is-closed { background: #8a8f98; }
.kbpp-card-media .kbpp-status { position: absolute; left: 12px; bottom: 12px; box-shadow: 0 1px 5px rgba(0, 0, 0, .18); }

/* 본문: 제목 → 접수일정 → 진행일정 */
.kbpp-card-body { flex: 1 1 auto; padding: 16px 18px 18px; }
.kbpp-card-notice { display: inline-block; margin-bottom: 8px; padding: 2px 7px; border-radius: 3px; color: #fff; background: #e91e63; font-size: 12px; font-weight: 700; line-height: 1.5; }
.kbpp-card .kbpp-card-title { margin: 0 0 10px !important; padding: 0 !important; overflow: hidden; color: #222 !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.45 !important; letter-spacing: -.02em; white-space: nowrap; text-overflow: ellipsis; }
.kbpp-new { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; margin: 0 4px 2px 0; border-radius: 3px; color: #fff; background: #f61b5d; font-size: 10px; font-weight: 800; line-height: 1; vertical-align: middle; }
.kbpp-lock { margin-right: 3px; font-size: 13px; }
.kbpp-cc { margin-left: 3px; color: #00a5e5; font-size: .9em; }
.kbpp-card-meta { margin: 0 !important; padding: 0 !important; font-size: 14px; line-height: 1.6; color: #555; }
.kbpp-card-meta > div { display: flex; gap: 6px; min-width: 0; }
.kbpp-card-meta dt { flex: none; margin: 0; color: #888; font-weight: 500; }
.kbpp-card-meta dt::after { content: ' :'; }
.kbpp-card-meta dd { min-width: 0; margin: 0 !important; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

@media screen and (max-width: 1024px) {
    .kbpp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media screen and (max-width: 600px) {
    .kbpp-grid { grid-template-columns: 1fr; gap: 18px; }
    .kbpp-card .kbpp-card-title { font-size: 16px !important; }
}


/* ==========================================================
   뷰페이지, 에디터 영역 스타일
   ========================================================== */
#kboard-popstore-control { float: left; padding-bottom: 15px; width: 100%; text-align: right; }

#kboard-popstore-editor { overflow: hidden; }
#kboard-popstore-editor form { margin: 0; padding: 0; }
#kboard-popstore-editor select { display: inline; margin: 0; padding: 0 5px; font-size: 14px; width: 30%; height: 28px; line-height: 28px; color: #666666; border-radius: 0; border: 0; border-bottom: 1px solid #dcdcdc; box-shadow: none; background: none; background-color: transparent; box-sizing: content-box; vertical-align: middle; text-indent: 0; -webkit-appearance: menulist; -moz-appearance: menulist; appearance: menulist; }
#kboard-popstore-editor input[type=text],
#kboard-popstore-editor input[type=email],
#kboard-popstore-editor input[type=number],
#kboard-popstore-editor input[type=date],
#kboard-popstore-editor input[type=password] { display: inline; margin: 0; padding: 0 5px; width: 30%; height: 28px; line-height: 28px; font-size: 14px; color: #666666; border-radius: 0; border: 0; border-bottom: 1px solid #dcdcdc; box-shadow: none; background: none; background-color: transparent; box-sizing: content-box; vertical-align: middle; }
#kboard-popstore-editor input[type=checkbox] { width: auto; -webkit-appearance: checkbox; -moz-appearance: checkbox; appearance: checkbox; }
#kboard-popstore-editor input[type=radio] { width: auto; -webkit-appearance: radio; -moz-appearance: radio; appearance: radio; }
#kboard-popstore-editor select:hover, #kboard-popstore-editor input[type=text]:hover, #kboard-popstore-editor input[type=email]:hover, #kboard-popstore-editor input[type=number]:hover, #kboard-popstore-editor input[type=date]:hover, #kboard-popstore-editor input[type=password]:hover { border-bottom: 1px solid #9e9e9e; }
#kboard-popstore-editor select:focus, #kboard-popstore-editor input[type=text]:focus, #kboard-popstore-editor input[type=email]:focus, #kboard-popstore-editor input[type=number]:focus, #kboard-popstore-editor input[type=date]:focus, #kboard-popstore-editor input[type=password]:focus { border-bottom: 2px solid #9e9e9e; }
#kboard-popstore-editor input[type=file] { display: inline; margin: 0; padding: 0; width: 30%; font-size: 13px; color: #666666; border-radius: 0; border: 0; box-shadow: none; background-color: transparent; }
#kboard-popstore-editor .kboard-attr-title input { width: 70%; }
#kboard-popstore-editor .kboard-attr-row { float: left; padding: 5px 0; width: 100%; background-color: white; }
#kboard-popstore-editor .kboard-attr-row .attr-name { display: inline; float: left; margin: 0; padding: 0 10px 0 10px; width: 120px; line-height: 30px; color: #545861; font-size: 14px; font-weight: bold; }
#kboard-popstore-editor .kboard-attr-row .attr-name img { display: inline; margin: 0; padding: 0; width: auto; max-width: 100%; vertical-align: middle; }
#kboard-popstore-editor .kboard-attr-row .attr-name .attr-required-text { color: red; font-weight: normal; font-size: 13px; }
#kboard-popstore-editor .kboard-attr-row.kboard-attr-content .attr-name { display: none; }
#kboard-popstore-editor .kboard-attr-row .attr-value { margin: 0 0 0 140px; padding: 0; line-height: 30px; font-size: 14px; }
#kboard-popstore-editor .kboard-attr-row .attr-value .attr-value-option { display: inline; padding-right: 20px; width: auto; font-size: 14px; cursor: pointer; }
#kboard-popstore-editor .kboard-attr-row .attr-value .attr-value-option input { cursor: pointer; }
#kboard-popstore-editor .kboard-attr-row .attr-value .attr-value-label { display: inline; padding-right: 5px; width: auto; cursor: pointer; }
#kboard-popstore-editor .kboard-attr-row .attr-value .attr-value-label input { cursor: pointer; }
#kboard-popstore-editor .kboard-attr-row .attr-value .description { margin: 0; color: #666666; }
#kboard-popstore-editor .kboard-attr-row .attr-value .kboard-tree-category-wrap { float: left; width: 100%; }
#kboard-popstore-editor .kboard-attr-row .attr-value .kboard-tree-category-wrap select { clear: both; float: left; margin-bottom: 5px; width: 30%; }
#kboard-popstore-editor .kboard-content { float: left; margin: 0; padding: 9px 0; width: 100%; background-color: white; }
#kboard-popstore-editor .kboard-content .editor-textarea { display: inline; margin: 0; padding: 5px; width: 100%; min-width: 100%; max-width: 100%; height: 250px; min-height: 0; font-size: 14px; border: 1px solid #dcdcdc; box-shadow: none; background: none; background-color: transparent; box-sizing: border-box; text-indent: 0; }
#kboard-popstore-editor .kboard-control { float: left; padding: 15px 0; width: 100%; }
#kboard-popstore-editor .kboard-control .left { position: static; float: left; }
#kboard-popstore-editor .kboard-control .right { position: static; float: right; width: 50%; text-align: right; }
#kboard-popstore-editor.confirm { margin: 100px auto; max-width: 590px; }
#kboard-popstore-editor.confirm input[type=password] { width: 100%; box-sizing: border-box; }

#kboard-popstore-document { display: inline-block; *display: inline; zoom: 1; margin: 0; width: 100%; }
#kboard-popstore-document .kboard-document-wrap { float: left; width: 100%; background-color: white; }
#kboard-popstore-document .kboard-title { float: left; width: 100%; }
#kboard-popstore-document .kboard-title h1 { margin: 0; padding: 12px 22px; color: #545861; font-weight: bold; font-size: 22px; line-height: 30px; text-align: left; }
#kboard-popstore-document .kboard-detail { clear: both; float: left; width: 100%; border-top: 1px solid #f1f1f1; border-bottom: 1px solid #f1f1f1; background-color: #f9f9f9; font-size: 14px; }
#kboard-popstore-document .kboard-detail .detail-attr { display: inline-block; *display: inline; zoom: 1; float: left; margin: 0; padding: 12px 35px 12px 22px; }
#kboard-popstore-document .kboard-detail .detail-attr .detail-name { float: left; font-weight: bold; color: #545861; text-align: right; }
#kboard-popstore-document .kboard-detail .detail-attr .detail-value { float: left; padding-left: 20px; color: #545861; }
#kboard-popstore-document .kboard-detail .detail-attr .detail-value a { color: #545861; text-decoration: none; border: 0; box-shadow: none; }
#kboard-popstore-document .kboard-detail .detail-attr .detail-value img.avatar { display: inline; margin: 0; width: 24px; max-width: none; height: 24px; vertical-align: middle; border-radius: 50%; }
#kboard-popstore-document .kboard-content { clear: both; float: left; width: 100%; min-height: 200px; }
#kboard-popstore-document .kboard-content .content-view { margin: 0; padding: 22px; word-break: break-all; }
#kboard-popstore-document .kboard-content .content-view iframe { max-width: 100%; }
#kboard-popstore-document .kboard-content .content-view img { display: inline; margin: 0; vertical-align: middle; max-width: 100%; }
#kboard-popstore-document .kboard-content .content-view hr { margin: 10px 0; padding: 0; height: 1px; border: 0; background-color: #f1f1f1; }
#kboard-popstore-document .kboard-content .content-view ul { margin: 0.75em 0; }
#kboard-popstore-document .kboard-content .content-view ol { margin: 0.75em 0; }
#kboard-popstore-document .kboard-content .content-view p { margin: 0 0 0.75em; }
#kboard-popstore-document .kboard-content .content-view p:last-child { margin: 0; }
#kboard-popstore-document .kboard-content .content-view .thumbnail-area { text-align: center; }
#kboard-popstore-document .kboard-content .content-view .aligncenter { display: block; margin-right: auto; margin-left: auto; }
#kboard-popstore-document .kboard-content .content-view .alignright { float:right; }
#kboard-popstore-document .kboard-content .content-view .alignleft { float: left; }
#kboard-popstore-document .kboard-document-action { padding: 0 22px 5px 22px; overflow: hidden; line-height: 1; }
#kboard-popstore-document .kboard-document-action .left { position: static; float: left; }
#kboard-popstore-document .kboard-document-action .right { position: static; float: right; text-align: right; }
#kboard-popstore-document .kboard-attach { clear: both; margin: 0 22px; padding: 10px 0 5px 0; font-size: 13px; overflow: hidden; line-height: 1; border-top: 1px dashed #ededed; }
#kboard-popstore-document .kboard-button-action { margin: 0 0 5px 0; padding: 4px 5px; font-size: 13px; font-weight: normal; line-height: 12px; text-align: left; border: 1px solid #ededed; background: none; background-color: white; border-radius: 2px; letter-spacing: normal; cursor: pointer; vertical-align: middle; text-shadow: none; box-shadow: none; }
#kboard-popstore-document .kboard-button-action span { position: static; display: inline; margin: 0; padding: 0; font-size: 13px; line-height: 12px; }
#kboard-popstore-document .kboard-button-like { color: #ff5959; }
#kboard-popstore-document .kboard-button-unlike { color: #3d62aa; }
#kboard-popstore-document .kboard-button-print { color: gray; }
#kboard-popstore-document .kboard-button-download { color: gray; }
#kboard-popstore-document .kboard-comments-area { float: left; width: 100%; }
#kboard-popstore-document .kboard-document-navi { float: left; padding-top: 15px; width: 100%; }
#kboard-popstore-document .kboard-document-navi a { display: block; text-decoration: none; border: 0; font-size: 14px; line-height: 20px; box-shadow: none; color: #545861; transition-duration: .3s; }
#kboard-popstore-document .kboard-document-navi .navi-document-title { display: block; }
#kboard-popstore-document .kboard-document-navi .navi-arrow { position: absolute; display: block; }
#kboard-popstore-document .kboard-document-navi .kboard-prev-document { position: relative; float: left; width: 45%; }
#kboard-popstore-document .kboard-document-navi .kboard-prev-document .navi-document-title { padding-left: 15px; }
#kboard-popstore-document .kboard-document-navi .kboard-prev-document .navi-arrow { left: 0; top: 0; }
#kboard-popstore-document .kboard-document-navi .kboard-prev-document:hover a { color: black; }
#kboard-popstore-document .kboard-document-navi .kboard-next-document { position: relative; float: right; width: 45%; text-align: right; }
#kboard-popstore-document .kboard-document-navi .kboard-next-document .navi-document-title { padding-right: 15px; }
#kboard-popstore-document .kboard-document-navi .kboard-next-document .navi-arrow { right: 0; top: 0; }
#kboard-popstore-document .kboard-document-navi .kboard-next-document:hover a { color: black; }
#kboard-popstore-document .kboard-control { float: left; padding: 15px 0;  width: 100%; }
#kboard-popstore-document .kboard-control .left { position: static; float: left; }
#kboard-popstore-document .kboard-control .right { position: static; float: right; text-align: right; }


/* 고려대학교 스타일 뷰페이지 헤더 (document.php) */
#kboard-popstore-document .kboard-ku-header {
    background-color: #f7f9fa; 
    padding: 35px 30px;
    border-top: 2px solid #222222; 
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 40px; 
}
#kboard-popstore-document .kboard-ku-title {
    font-size: 26px;
    color: #222222;
    font-weight: 600;
    margin: 0 0 15px 0;
    line-height: 1.4;
    word-break: keep-all;
}
#kboard-popstore-document .kboard-ku-meta { font-size: 14px; color: #888888; }
#kboard-popstore-document .kboard-ku-meta .meta-item strong { color: #555555; font-weight: 500; margin-right: 5px; }
#kboard-popstore-document .kboard-ku-meta .meta-sep { color: #dddddd; margin: 0 12px; font-size: 13px; vertical-align: middle; }


/* ==========================================================
   ★ 페이징 버튼 (KBoard 기존 스타일 완벽 원복본) ★
   ========================================================== */
#kboard-popstore-list .kboard-pagination { float: left; padding: 15px 0; width: 100%; }
#kboard-popstore-list .kboard-pagination .kboard-pagination-pages { float: left; margin: 0; padding: 0; width: 100%; list-style: none; text-align: center; border: 0; }
#kboard-popstore-list .kboard-pagination .kboard-pagination-pages li { display: inline-block; *display: inline; zoom: 1; margin: 0; padding: 0 1px; background: none; border: 0; list-style: none; }
#kboard-popstore-list .kboard-pagination .kboard-pagination-pages li a { display: block; margin: 0; padding: 0 11px; height: 28px; line-height: 28px; font-size: 14px; color: #999999; text-decoration: none; border: 0; background-color: #f9f9f9; box-shadow: none; transition-duration: 0.3s; }
#kboard-popstore-list .kboard-pagination .kboard-pagination-pages li:hover a,
#kboard-popstore-list .kboard-pagination .kboard-pagination-pages li.active a { border: 0; color: #ffffff !important; background-color: #00a5e5 !important; }
#kboard-popstore-list .kboard-pagination .kboard-pagination-pages li:before { display: none; }
#kboard-popstore-list .kboard-pagination .kboard-pagination-pages li:after { display: none; }

/* ==========================================================
   모든 마주 블루 컬러 공통 버튼 (.kboard-maju-btn 등)
   ========================================================== */
#kboard-popstore-list .kboard-maju-search-btn,
#kboard-popstore-list .kboard-maju-write-btn,
#kboard-popstore-document a.kboard-maju-btn,
#kboard-popstore-editor a.kboard-maju-btn,
#kboard-popstore-editor button.kboard-maju-btn {
    background-color: #00a5e5 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 25px !important;
    height: 42px !important;
    line-height: 42px !important;
    font-size: 15px !important;
    font-weight: bold !important;
    border-radius: 3px !important;
    transition: background 0.3s ease !important;
    display: inline-block !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

#kboard-popstore-list .kboard-maju-search-btn:hover,
#kboard-popstore-list .kboard-maju-write-btn:hover,
#kboard-popstore-document a.kboard-maju-btn:hover,
#kboard-popstore-editor a.kboard-maju-btn:hover,
#kboard-popstore-editor button.kboard-maju-btn:hover {
    background-color: #008cc4 !important;
}


/* =========================================================================
   [모바일 환경 적용 스타일 - Grid 1단 변경 및 최적화] 
   ========================================================================= */
@media screen and (max-width: 768px) {
    
    /* 카테고리 모바일 뷰 */
    #kboard-popstore-list .kboard-category.category-mobile { display: block; }
    #kboard-popstore-list .kboard-category.category-pc { display: none; }
    #kboard-popstore-list .kboard-tree-category-search .kboard-search-option-wrap.select { width: 100%; }
    
    /* 모바일 검색창 크기 정돈 */
    #kboard-popstore-list .kboard-search select { float: left; margin-right: 2%; width: 30% !important; max-width: none !important; height: 38px !important; line-height: 38px !important; padding: 0 5px !important; }
    #kboard-popstore-list .kboard-search input { float: left; margin-right: 2%; width: 45% !important; max-width: none !important; height: 38px !important; line-height: 38px !important; }
    #kboard-popstore-list .kboard-search button.kboard-maju-search-btn { float: left; width: 23% !important; max-width: none !important; height: 38px !important; line-height: 38px !important; padding: 0 !important; font-size: 13px !important; }
    
    /* 뷰, 에디터 페이지 모바일 최적화 */
    #kboard-popstore-editor select, #kboard-popstore-editor input[type=text], #kboard-popstore-editor input[type=email], #kboard-popstore-editor input[type=number], #kboard-popstore-editor input[type=date], #kboard-popstore-editor input[type=password], #kboard-popstore-editor input[type=file] { width: 100% !important; box-sizing: border-box; }
    #kboard-popstore-editor .kboard-attr-row { padding: 10px 0; }
    #kboard-popstore-editor .kboard-attr-row .attr-name { padding: 0; width: 100%; font-size: 14px; }
    #kboard-popstore-editor .kboard-attr-row .attr-value { margin: 0; }
    #kboard-popstore-editor .kboard-attr-row .attr-value .kboard-tree-category-wrap select { margin-bottom: 10px; width: 100%; }
    #kboard-popstore-editor.confirm { max-width: none; }
    
    #kboard-popstore-document .kboard-ku-header { padding: 20px 15px; }
    #kboard-popstore-document .kboard-ku-title { font-size: 20px; }
    #kboard-popstore-document .kboard-ku-meta { line-height: 1.8; }
    #kboard-popstore-document .kboard-ku-meta .meta-sep { margin: 0 8px; }
    #kboard-popstore-document .kboard-content .content-view { padding: 10px 5px; }
    #kboard-popstore-document .kboard-detail .detail-attr { clear: both; padding: 10px 5px; line-height: normal; }
    #kboard-popstore-document .kboard-document-action { padding: 10px 5px 5px 5px; }
    #kboard-popstore-document .kboard-attach { margin: 0 5px; padding: 10px 0 5px 0; }
    #kboard-popstore-document .kboard-document-navi .kboard-prev-document { width: 100%; }
    #kboard-popstore-document .kboard-document-navi .kboard-next-document { margin-top: 10px; float: left; width: 100%; text-align: left; }
    
    /* 모바일 페이징 최적화 */
    #kboard-popstore-list .kboard-pagination .kboard-pagination-pages li { display: none; }
    #kboard-popstore-list .kboard-pagination .kboard-pagination-pages li.first-page,
    #kboard-popstore-list .kboard-pagination .kboard-pagination-pages li.last-page,
    #kboard-popstore-list .kboard-pagination .kboard-pagination-pages li.prev-page,
    #kboard-popstore-list .kboard-pagination .kboard-pagination-pages li.next-page,
    #kboard-popstore-list .kboard-pagination .kboard-pagination-pages li.active { display: inline-block; }
    #kboard-popstore-list .kboard-pagination .kboard-pagination-pages li.prev-page a,
    #kboard-popstore-list .kboard-pagination .kboard-pagination-pages li.next-page a { padding: 0 18px; }
}


/* ==========================================================
   메인 페이지 갤러리 최신글 슬라이더
   PC 4개 / 태블릿 2개 / 모바일 1개
   ========================================================== */
.kboard-popstore-latest-slider {
    --popstore-latest-gap: 28px;
    --popstore-latest-brand: #00a5e5;
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 10px 0 20px;
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

.kboard-popstore-latest-slider *,
.kboard-popstore-latest-slider *::before,
.kboard-popstore-latest-slider *::after {
    box-sizing: border-box;
}

.kboard-popstore-latest-stage {
    position: relative;
    padding: 0 30px;
}

.kboard-popstore-latest-viewport {
    width: 100%;
    overflow: hidden;
    touch-action: pan-y;
}

.kboard-popstore-latest-track {
    display: flex;
    align-items: stretch;
    gap: var(--popstore-latest-gap);
    margin: 0;
    padding: 0;
    transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
}

.kboard-popstore-latest-track.is-resizing {
    transition: none;
}

.kboard-popstore-latest-item {
    flex: 0 0 calc((100% - (var(--popstore-latest-gap) * 3)) / 4);
    min-width: 0;
    margin: 0;
}

.kboard-popstore-latest-item > a {
    display: block;
    height: 100%;
    color: #222222 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.kboard-popstore-latest-thumbnail {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #edf2f5;
}

.kboard-popstore-latest-thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.kboard-popstore-latest-item > a:hover .kboard-popstore-latest-thumbnail img,
.kboard-popstore-latest-item > a:focus .kboard-popstore-latest-thumbnail img {
    transform: scale(1.045);
}

.kboard-popstore-latest-no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: rgba(255, 255, 255, 0.92);
    background: linear-gradient(135deg, #00a5e5, #087fb1);
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.kboard-popstore-latest-title {
    display: -webkit-box;
    min-height: 3em;
    margin: 19px 0 0 !important;
    overflow: hidden;
    color: #222222 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    letter-spacing: -0.035em;
    text-align: left;
    word-break: keep-all;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.kboard-popstore-latest-new {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    margin: 0 5px 2px 0;
    border-radius: 50%;
    color: #ffffff;
    background: #f15a5a;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    vertical-align: middle;
}

.kboard-popstore-latest-lock {
    display: inline-block !important;
    width: 14px !important;
    height: auto !important;
    margin: 0 5px 2px 0 !important;
    vertical-align: middle;
}

.kboard-popstore-latest-arrow {
    position: absolute;
    z-index: 3;
    top: 42%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(34, 34, 34, 0.45) !important;
    border-radius: 50%;
    color: #333333 !important;
    background: rgba(255, 255, 255, 0.84) !important;
    font-family: Arial, sans-serif;
    font-size: 42px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-50%);
    transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}

.kboard-popstore-latest-arrow span {
    display: block;
    margin-top: -4px;
}

.kboard-popstore-latest-arrow:hover,
.kboard-popstore-latest-arrow:focus-visible {
    border-color: var(--popstore-latest-brand) !important;
    color: #ffffff !important;
    background: var(--popstore-latest-brand) !important;
    outline: none;
}

.kboard-popstore-latest-arrow:disabled {
    cursor: default;
    opacity: 0.35;
}

.kboard-popstore-latest-prev {
    left: 4px;
}

.kboard-popstore-latest-next {
    right: 4px;
}

.kboard-popstore-latest-slider.is-static .kboard-popstore-latest-arrow {
    display: none;
}

.kboard-popstore-latest-more-wrap {
    margin-top: 55px;
    text-align: center;
}

.kboard-popstore-latest-more {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 182px;
    height: 50px;
    padding: 0 32px;
    overflow: hidden;
    color: #ffffff !important;
    background: var(--popstore-latest-brand);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition: background-color 0.25s ease;
}

.kboard-popstore-latest-more::after {
    content: '';
    position: absolute;
    right: -13px;
    bottom: -13px;
    width: 26px;
    height: 26px;
    background: #ffffff;
    transform: rotate(45deg);
}

.kboard-popstore-latest-more:hover,
.kboard-popstore-latest-more:focus-visible {
    color: #ffffff !important;
    background: #008cc4;
    outline: none;
}

@media screen and (max-width: 1023px) {
    .kboard-popstore-latest-slider {
        --popstore-latest-gap: 22px;
    }

    .kboard-popstore-latest-stage {
        padding: 0 26px;
    }

    .kboard-popstore-latest-item {
        flex-basis: calc((100% - var(--popstore-latest-gap)) / 2);
    }

    .kboard-popstore-latest-title {
        font-size: 18px !important;
    }

    .kboard-popstore-latest-prev {
        left: 0;
    }

    .kboard-popstore-latest-next {
        right: 0;
    }
}

@media screen and (max-width: 639px) {
    .kboard-popstore-latest-slider {
        --popstore-latest-gap: 16px;
        padding-top: 0;
    }

    .kboard-popstore-latest-stage {
        padding: 0 20px;
    }

    .kboard-popstore-latest-item {
        flex-basis: 100%;
    }

    .kboard-popstore-latest-title {
        min-height: 2.9em;
        margin-top: 14px !important;
        font-size: 17px !important;
        line-height: 1.45 !important;
    }

    .kboard-popstore-latest-arrow {
        top: 40%;
        width: 42px;
        height: 42px;
        font-size: 36px;
    }

    .kboard-popstore-latest-more-wrap {
        margin-top: 38px;
    }

    .kboard-popstore-latest-more {
        min-width: 160px;
        height: 46px;
        font-size: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kboard-popstore-latest-track,
    .kboard-popstore-latest-thumbnail img,
    .kboard-popstore-latest-arrow,
    .kboard-popstore-latest-more {
        transition: none !important;
    }
}

/* ==========================================================
   메인 최신글: 왼쪽 대표 이미지 + 오른쪽 공지사항 목록
   ========================================================== */
.kboard-featured-latest {
    --featured-brand: #00a5e5;
    --featured-text: #2b2b2b;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    color: var(--featured-text);
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

.kboard-featured-latest *,
.kboard-featured-latest *::before,
.kboard-featured-latest *::after { box-sizing: border-box; }

.kboard-featured-latest-layout {
    display: grid;
    grid-template-columns: minmax(300px, 32%) minmax(0, 1fr);
    align-items: stretch;
    gap: clamp(32px, 4vw, 70px);
    width: 100%;
}

.kboard-featured-latest-visual {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border-radius: 18px;
    background: #edf2f5;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.09);
    touch-action: pan-y;
}

.kboard-featured-latest-slides {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 460px;
    aspect-ratio: 4 / 5.65;
}

.kboard-featured-latest-slide {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    color: #ffffff !important;
    text-decoration: none !important;
    transform: scale(1.015);
    transition: opacity 0.55s ease, visibility 0.55s ease, transform 0.7s ease;
}

.kboard-featured-latest-slide.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.kboard-featured-latest-slide img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
}

.kboard-featured-latest-no-image,
.kboard-featured-latest-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 36px;
    color: #ffffff;
    background: linear-gradient(145deg, #00a5e5, #177ba2 62%, #185c78);
    text-align: center;
}

.kboard-featured-latest-no-image strong {
    font-size: 34px;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.kboard-featured-latest-no-image small {
    display: -webkit-box;
    margin-top: 20px;
    overflow: hidden;
    font-size: 18px;
    line-height: 1.55;
    word-break: keep-all;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.kboard-featured-latest-arrow {
    position: absolute;
    z-index: 4;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0 0 4px;
    border: 0 !important;
    border-radius: 50%;
    color: #555555 !important;
    background: rgba(255, 255, 255, 0.84) !important;
    font-family: Arial, sans-serif;
    font-size: 37px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.12);
    transform: translateY(-50%);
    transition: color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

.kboard-featured-latest-arrow:hover,
.kboard-featured-latest-arrow:focus-visible {
    color: #ffffff !important;
    background: var(--featured-brand) !important;
    outline: none;
    transform: translateY(-50%) scale(1.06);
}

.kboard-featured-latest-prev { left: 16px; }
.kboard-featured-latest-next { right: 16px; }

.kboard-featured-latest-content {
    min-width: 0;
    padding: 16px 0 8px;
}

.kboard-featured-latest-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 66px;
    padding: 0 20px 13px 0;
    border-bottom: 3px solid #333333;
}

.kboard-featured-latest-header h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #2b2b2b !important;
    font-size: clamp(24px, 2vw, 34px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.045em;
}

.kboard-featured-latest-more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #333333;
    border-radius: 50%;
    color: #333333 !important;
    background: transparent;
    font-family: Arial, sans-serif;
    font-size: 25px;
    font-weight: 300;
    line-height: 1;
    text-decoration: none !important;
    transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}

.kboard-featured-latest-more:hover,
.kboard-featured-latest-more:focus-visible {
    border-color: var(--featured-brand);
    color: #ffffff !important;
    background: var(--featured-brand);
    outline: none;
}

.kboard-featured-latest-list {
    margin: 10px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.kboard-featured-latest-row {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(70, 70, 70, 0.2);
    list-style: none !important;
    transition: background-color 0.25s ease;
}

.kboard-featured-latest-row::before,
.kboard-featured-latest-row::after { display: none !important; }

.kboard-featured-latest-row.is-active { background: rgba(255, 255, 255, 0.24); }

.kboard-featured-latest-row > a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px;
    min-height: 67px;
    padding: 8px;
    color: #303030 !important;
    font-size: clamp(15px, 1.25vw, 20px);
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: -0.03em;
    text-decoration: none !important;
}

.kboard-featured-latest-row > a:hover,
.kboard-featured-latest-row > a:focus-visible {
    color: var(--featured-brand) !important;
    outline: none;
}

.kboard-featured-latest-row-title {
    display: flex;
    align-items: center;
    min-width: 0;
}

.kboard-featured-latest-title-text {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.kboard-featured-latest-new {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-right: 12px;
    border-radius: 5px;
    color: #ffffff;
    background: #ed1b5d;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
}

.kboard-featured-latest-lock {
    flex: 0 0 auto;
    width: 15px !important;
    height: auto !important;
    margin: 0 8px 0 0 !important;
}

.kboard-featured-latest-date {
    color: #858585;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 0.92em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.kboard-featured-latest-list-empty {
    padding: 42px 10px;
    color: #777777;
    text-align: center;
    list-style: none !important;
}

@media screen and (max-width: 1023px) {
    .kboard-featured-latest-layout {
        grid-template-columns: minmax(270px, 38%) minmax(0, 1fr);
        gap: 28px;
    }

    .kboard-featured-latest-slides { min-height: 410px; }

    .kboard-featured-latest-row > a {
        min-height: 58px;
        gap: 14px;
        font-size: 15px;
    }

    .kboard-featured-latest-new {
        width: 24px;
        height: 24px;
        margin-right: 8px;
        font-size: 12px;
    }
}

@media screen and (max-width: 767px) {
    .kboard-featured-latest-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .kboard-featured-latest-visual {
        width: min(100%, 520px);
        margin: 0 auto;
    }

    .kboard-featured-latest-slides {
        min-height: 0;
        aspect-ratio: 4 / 4.5;
    }

    .kboard-featured-latest-content { padding-top: 0; }

    .kboard-featured-latest-header {
        min-height: 58px;
        padding: 0 4px 11px;
        border-bottom-width: 2px;
    }

    .kboard-featured-latest-header h2 { font-size: 24px !important; }

    .kboard-featured-latest-more {
        width: 32px;
        height: 32px;
        font-size: 22px;
    }

    .kboard-featured-latest-row > a {
        min-height: 56px;
        padding: 8px 4px;
    }

    .kboard-featured-latest-date { font-size: 13px; }
}

@media screen and (max-width: 479px) {
    .kboard-featured-latest-arrow {
        width: 42px;
        height: 42px;
        font-size: 32px;
    }

    .kboard-featured-latest-prev { left: 12px; }
    .kboard-featured-latest-next { right: 12px; }

    .kboard-featured-latest-row > a {
        grid-template-columns: minmax(0, 1fr) 76px;
        gap: 8px;
        font-size: 14px;
    }

    .kboard-featured-latest-new {
        width: 22px;
        height: 22px;
        font-size: 11px;
    }

    .kboard-featured-latest-date { text-align: right; }
}

@media (prefers-reduced-motion: reduce) {
    .kboard-featured-latest-slide,
    .kboard-featured-latest-arrow,
    .kboard-featured-latest-more,
    .kboard-featured-latest-row { transition: none !important; }
}

/* ==========================================================
   메인 최신글 이미지 전용 슬라이더 - 5:5 정사각형
   ========================================================== */
.kboard-image-only-latest {
    --image-slider-brand: #00a5e5;
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.kboard-image-only-latest *,
.kboard-image-only-latest *::before,
.kboard-image-only-latest *::after {
    box-sizing: border-box;
}

.kboard-image-only-latest-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    margin: 0;
    overflow: hidden;
    border-radius: 18px;
    background: #edf2f5;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.09);
    touch-action: pan-y;
}

.kboard-image-only-latest-slides {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.kboard-image-only-latest-slide {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    text-decoration: none !important;
    transform: scale(1.015);
    transition: opacity 0.55s ease, visibility 0.55s ease, transform 0.75s ease;
}

.kboard-image-only-latest-slide.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.kboard-image-only-latest-slide img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    object-fit: cover;
    object-position: center center;
}

.kboard-image-only-latest-no-image,
.kboard-image-only-latest-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 30px;
    color: #ffffff;
    background: linear-gradient(145deg, #00a5e5, #177ba2 62%, #185c78);
    font-family: 'Noto Sans KR', sans-serif;
    text-align: center;
}

.kboard-image-only-latest-no-image strong {
    font-size: clamp(25px, 6vw, 46px);
    font-weight: 800;
    letter-spacing: 0.15em;
}

.kboard-image-only-latest-arrow {
    position: absolute;
    z-index: 5;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 0 0 4px;
    border: 0 !important;
    border-radius: 50%;
    color: #555555 !important;
    background: rgba(255, 255, 255, 0.86) !important;
    font-family: Arial, sans-serif;
    font-size: 39px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
    transform: translateY(-50%);
    transition: color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

.kboard-image-only-latest-arrow:hover,
.kboard-image-only-latest-arrow:focus-visible {
    color: #ffffff !important;
    background: var(--image-slider-brand) !important;
    outline: none;
    transform: translateY(-50%) scale(1.06);
}

.kboard-image-only-latest-prev { left: 18px; }
.kboard-image-only-latest-next { right: 18px; }

@media screen and (max-width: 639px) {
    .kboard-image-only-latest-stage { border-radius: 14px; }

    .kboard-image-only-latest-arrow {
        width: 42px;
        height: 42px;
        font-size: 33px;
    }

    .kboard-image-only-latest-prev { left: 12px; }
    .kboard-image-only-latest-next { right: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .kboard-image-only-latest-slide,
    .kboard-image-only-latest-arrow { transition: none !important; }
}

/* ==========================================================
   뷰 페이지: 좌측 포스터 / 우측 프로그램 정보 + 신청하기
   ========================================================== */
#kboard-popstore-document .kbpp-program { --kbpp-brand: #00a5e5; display: grid; grid-template-columns: minmax(260px, 42%) minmax(0, 1fr); gap: 44px; align-items: start; margin: 0 0 36px; padding: 0 0 40px; border-bottom: 1px solid #e5e5e5; font-family: 'Noto Sans KR', sans-serif; }
#kboard-popstore-document .kbpp-program *, #kboard-popstore-document .kbpp-program *::before, #kboard-popstore-document .kbpp-program *::after { box-sizing: border-box; }
#kboard-popstore-document .kbpp-program.no-poster { grid-template-columns: minmax(0, 1fr); }
#kboard-popstore-document .kboard-document-add-option-value-wrap:empty { display: none; }
#kboard-popstore-document .kbpp-program-poster a { display: block; border: 0 !important; box-shadow: none !important; }
#kboard-popstore-document .kbpp-program-poster img { display: block; width: 100%; height: auto; max-width: 100%; margin: 0; border: 1px solid #e3e6ea; border-radius: 10px; }
#kboard-popstore-document .kbpp-program-info { min-width: 0; padding-top: 4px; }
#kboard-popstore-document .kbpp-program-info .kbpp-status { padding: 6px 14px; font-size: 14px; }
#kboard-popstore-document .kbpp-program-list { margin: 18px 0 0 !important; padding: 0 !important; border-top: 2px solid #222; }
#kboard-popstore-document .kbpp-program-list > div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; padding: 16px 4px; border-bottom: 1px solid #e5e5e5; font-size: 16px; line-height: 1.6; }
#kboard-popstore-document .kbpp-program-list dt { margin: 0; color: #222; font-weight: 700; }
#kboard-popstore-document .kbpp-program-list dd { margin: 0 !important; color: #444; word-break: keep-all; overflow-wrap: anywhere; }

#kboard-popstore-document .kbpp-apply-wrap { margin-top: 30px; }
#kboard-popstore-document .kbpp-apply { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 240px; height: 56px; padding: 0 40px; border: 0 !important; border-radius: 999px; background: var(--kbpp-brand); color: #fff !important; font-size: 17px; font-weight: 700; line-height: 1; letter-spacing: -.01em; text-decoration: none !important; box-shadow: 0 8px 18px rgba(0, 165, 229, .28) !important; transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease; }
#kboard-popstore-document a.kbpp-apply:hover,
#kboard-popstore-document a.kbpp-apply:focus-visible { background: #008cc4; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0, 140, 196, .32) !important; outline: none; }
#kboard-popstore-document a.kbpp-apply:focus-visible { outline: 3px solid #222; outline-offset: 3px; }
#kboard-popstore-document .kbpp-apply.is-closed { background: #b8bdc4; color: #fff !important; box-shadow: none !important; cursor: not-allowed; }
#kboard-popstore-document .kbpp-apply-icon { flex: none; }
.kbpp-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

@media screen and (max-width: 768px) {
    #kboard-popstore-document .kbpp-program { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-bottom: 24px; padding-bottom: 28px; }
    #kboard-popstore-document .kbpp-program-poster { width: min(100%, 480px); margin: 0 auto; }
    #kboard-popstore-document .kbpp-program-list > div { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; padding: 13px 2px; font-size: 15px; }
    #kboard-popstore-document .kbpp-apply { width: 100%; min-width: 0; height: 52px; }
}

/* ==========================================================
   메인 카드 슬라이더 [kboard_latest ... layout="card" columns="2"]
   --kbpp-cols : 한 화면 카드 수 (숏코드 columns 값, 600px 이하에서는 1)
   --kbpp-gap  : 카드 사이 간격
   ========================================================== */
.kbpp-slider { --kbpp-cols: 1; --kbpp-gap: 20px; --kbpp-img-h: 1.3333; position: relative; width: 100%; margin: 0; padding: 0; box-sizing: border-box; }
.kbpp-slider-stage { position: relative; container-type: inline-size; }
.kbpp-slider-viewport { overflow: hidden; touch-action: pan-y; }
.kbpp-slider-track { display: flex; gap: var(--kbpp-gap); margin: 0; padding: 0; transition: transform .5s cubic-bezier(.22, .61, .36, 1); will-change: transform; }
.kbpp-slider-track.is-resizing { transition: none; }
.kbpp-slide { flex: 0 0 calc((100% - var(--kbpp-gap) * (var(--kbpp-cols) - 1)) / var(--kbpp-cols)); min-width: 0; }
.kbpp-slider .kbpp-card:hover { transform: none; box-shadow: 0 8px 20px rgba(0, 0, 0, .07); }

/* 카드 이미지(3:4) 높이와 같은 투명 층 → 화살표가 항상 이미지 세로 중앙
   이미지 높이 = (전체폭 - 간격 합) / 카드 수 × 4/3  (카드 테두리 1px 제외) */
.kbpp-slider-nav { position: absolute; z-index: 3; top: 1px; left: 0; right: 0; box-sizing: border-box; height: calc(((100cqw - var(--kbpp-gap) * (var(--kbpp-cols) - 1)) / var(--kbpp-cols) - 2px) * var(--kbpp-img-h, 1.3333)); display: flex; align-items: center; justify-content: space-between; padding: 0 12px; pointer-events: none; }
.kbpp-slider.is-static .kbpp-slider-nav { display: none; }
.kbpp-slider .kbpp-slider-arrow { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-width: 0; min-height: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; color: #333 !important; background: rgba(255, 255, 255, .92) !important; box-shadow: 0 3px 12px rgba(0, 0, 0, .18) !important; line-height: 1; cursor: pointer; pointer-events: auto; transition: color .25s ease, background-color .25s ease, transform .25s ease; }
.kbpp-slider .kbpp-slider-arrow:hover,
.kbpp-slider .kbpp-slider-arrow:focus-visible { color: #fff !important; background: #00a5e5 !important; transform: scale(1.06); outline: none; }
.kbpp-slider .kbpp-slider-arrow:focus-visible { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #00a5e5 !important; }
.kbpp-slider-arrow svg { display: block; }
.kbpp-slider-count { position: absolute; right: 12px; bottom: 12px; padding: 4px 10px; border-radius: 999px; color: #fff; background: rgba(0, 0, 0, .55); font-family: 'Noto Sans KR', sans-serif; font-size: 12px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.kbpp-slider-count b { font-weight: 700; }

@media screen and (max-width: 600px) {
    .kbpp-slider { --kbpp-cols: 1 !important; }
    .kbpp-slider .kbpp-slider-arrow { width: 38px; height: 38px; }
}

@media (prefers-reduced-motion: reduce) {
    .kbpp-card, .kbpp-card-media img, .kbpp-slider-track, .kbpp-slider-arrow,
    #kboard-popstore-document .kbpp-apply { transition: none !important; }
}
