@import "_total.search.css";


/* ==========================================================================
   상태 표시
   ========================================================================== */

.status {
    display: inline-block;
    padding: 2px 8px;
    font-weight: 500;
    border-radius: 3px;
    border: 1px solid transparent;
}

.status-default { color:#fff; background:#333; border-color:#333; } /* 기본 : 준비중, 미게시, 기본상태 */
.status-success { color:#fff; background:#13a200; border-color:#13a200; } /* 성공 : 게시중, 게시완료, 신청가능, 승인완료, 접수완료, 진행중, 운영중, 사용가능 */
.status-danger  { color:#fff; background:#d0153f; border-color:#d0153f; } /* 실패 : 삭제, 미게시, 미신청, 신청마감, 반려, 취소, 종료, 사용불가 */
.status-wait    { color:#fff; background:#f59e0b; border-color:#f59e0b; } /* 대기 : 승인대기, 접수대기, 처리대기 */	
.status-disabled{ color:#666; background:#ddd; border-color:#ddd; } /* 비활성 : 취소, 마감, 종료, 미사용, 삭제, 비공개 */


/* ==========================================================================
   공통 / 레이아웃
   ========================================================================== */

/* 웹페이지 검색 */
#contain.unify #subVisual .sub_visual .visual_wp {
	padding-left: 0;
}
#contain.unify .contain #aside {
	display: none;
}
#contain.unify .contain #design {
	width: 100%;
}

/**/
#design .dk_button-wrap {padding:20px 0 0;text-align:right}

/* ==========================================================================
   푸터
   ========================================================================== */

/* 푸터 상단: 로고(좌) / 웹접근성 마크(우) */
#krds-footer .cjlib-footer-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	width: 100%;
}
#krds-footer .cjlib-footer-top .f-logo {
	flex: 0 0 auto;
}
#krds-footer .cjlib-footer-wa {
	flex: 0 0 auto;
	margin-left: auto;
}
#krds-footer .cjlib-footer-wa a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}
#krds-footer .cjlib-footer-wa img {
	display: block;
	width: auto;
	height: 90px;
	max-width: 100%;
}

/* 푸터 도서관 연락처 그리드 */
#krds-footer .f-cnt.cjlib-footer-cnt {
	flex-direction: column;
	align-items: stretch;
	gap: 2.4rem;
}
#krds-footer .f-cnt.cjlib-footer-cnt .f-info.cjlib-footer-lib {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
	gap: 0;
}
#krds-footer .cjlib-footer-lib-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2.4rem 2rem;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
#krds-footer .cjlib-footer-lib-item {
	margin: 0;
	padding: 0;
	min-width: 0;
}
#krds-footer .cjlib-footer-lib-name {
	display: block;
	margin: 0 0 0.6rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.45;
	color: #1d1d1d;
	word-break: keep-all;
}
#krds-footer .cjlib-footer-lib-addr,
#krds-footer .cjlib-footer-lib-contact {
	margin: 0;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.55;
	color: #555;
	word-break: keep-all;
}
#krds-footer .cjlib-footer-lib-addr + .cjlib-footer-lib-contact {
	margin-top: 0.4rem;
}
#krds-footer .cjlib-footer-lib-contact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 0.6rem;
	row-gap: 0.2rem;
}
#krds-footer .cjlib-footer-lib-sep {
	color: #888;
	font-size: 1.3rem;
	line-height: 1;
}
#krds-footer .f-cnt.cjlib-footer-cnt .f-link {
	width: 100%;
	flex: 0 0 auto;
}

/* ==========================================================================
   서브 탭 — 모바일 가로 스크롤 + 페이드 힌트
   ========================================================================== */
   @media (max-width: 767px) {
	#design .tabmenu.tabmenu-scroll {
		position: relative;
		margin: 0 0 2.4rem;
	}
	#design .tabmenu.tabmenu-scroll:before,
	#design .tabmenu.tabmenu-scroll:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0.4rem;
		width: 3.6rem;
		display: block;
		clear: none;
		z-index: 2;
		pointer-events: none;
		opacity: 0;
		transition: opacity 0.2s ease;
		line-height: 0;
	}
	#design .tabmenu.tabmenu-scroll:before {
		left: 0;
		background: linear-gradient(to right, #fff 12%, rgba(255, 255, 255, 0) 100%);
	}
	#design .tabmenu.tabmenu-scroll:after {
		right: 0;
		background: linear-gradient(to left, #fff 12%, rgba(255, 255, 255, 0) 100%);
		opacity: 1;
	}
	#design .tabmenu.tabmenu-scroll.is-start:before,
	#design .tabmenu.tabmenu-scroll.is-end:after {
		opacity: 0;
	}
	#design .tabmenu.tabmenu-scroll.is-scrollable:not(.is-start):before {
		opacity: 1;
	}
	#design .tabmenu.tabmenu-scroll ul {
		display: flex;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 0.6rem;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding: 0 0.4rem 0.4rem;
		margin: 0;
	}
	#design .tabmenu.tabmenu-scroll ul::-webkit-scrollbar {
		display: none;
	}
	#design .tabmenu.tabmenu-scroll li {
		flex: 0 0 auto;
		display: block;
		margin: 0;
	}
	#design .tabmenu.tabmenu-scroll li + li {
		margin-left: 0;
	}
	#design .tabmenu.tabmenu-scroll li a {
		white-space: nowrap;
	}
}


/* ==========================================================================
   메인 검색
   ========================================================================== */

.section_inner .search_wp.sc_new #search input[type="text"] {
	width: 100%;
	height: 100%;
	border: 0;
	padding: 0 100px 0 20px;
	margin-left: 0;
	vertical-align: top;
	font-size: 18px;
	font-weight: 400;
	color: #000;
	background-color: #fff;
	border-radius: 80px;
	flex-grow: 1;
}
.section_inner .search_area .sh_radio {
	display: inline-flex;
	flex: 0 0 300px;
	padding: 0 30px 0 40px;
	align-items: center;
}
.section_inner .search_area .sh_radio > span + span {
	margin-left: 20px;
}
.section_inner .search_area .sh_radio input[type="radio"] + label {
	position: relative;
	margin-left: 7px;
	padding: 2px 0 2px 33px;
	font-size: 16px;
	color: #000;
	vertical-align: middle;
	cursor: pointer;
}
.section_inner .search_area .sh_radio input[type="radio"] + label::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.6);
}
.section_inner .search_area .sh_radio input[type="radio"]:focus + label {
	outline: 1px dotted #ddd;
}
.section_inner .search_area .sh_radio input[type="radio"]:checked + label::before {
	width: 23px;
	height: 23px;
	background-image: url(../img/ico_m_sc_check.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: auto 23px;
	border: 0;
}

/* ==========================================================================
   지역서점
   ========================================================================== */

#design .store_wp .sub_con_top {
	background-image: url(../img/ico_store_top.png);
	background-repeat: no-repeat;
	background-position: 100% 100%;
	background-size: auto 240px;
}
#design .bookstore-map-title {
	margin: 0 0 8px;
	font-size: var(--krds-pc-font-size-heading-xsmall);
	font-weight: 700;
	line-height: 1.4;
	color: #1d1d1d;
}
#design .bookstore-map-desc {
	margin: 0 0 12px;
	font-size: var(--krds-pc-font-size-body-small);
	line-height: 1.6;
	color: #555;
}
#design .store_list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}
#design .store_list > li.store-card {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 10px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#design .store_list > li.store-card:hover {
	border-color: #bbb;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}
#design .store_list > li.store-card.is-grid-first {
	border-color: #111;
}
#design .store_list > li.store-card > a.store-card__link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	height: 100%;
	padding: 20px 22px;
	text-decoration: none;
	color: inherit;
}
#design .store_list > li.store-card > a.store-card__link:focus {
	outline: none;
}
#design .store_list > li.store-card > a.store-card__link:focus-visible {
	outline: 2px solid #111;
	outline-offset: 2px;
	border-radius: 10px;
}
#design .store_list > li.store-card .store-card__name {
	display: block;
	font-size: var(--krds-pc-font-size-heading-xsmall);
	font-weight: 700;
	line-height: 1.45;
	color: #1d1d1d;
	word-break: keep-all;
}
#design .store_list > li.store-card .store-card__meta {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 12px;
	font-size: var(--krds-pc-font-size-body-small);
	line-height: 1.55;
	color: #555;
}
#design .store_list > li.store-card .store-card__addr,
#design .store_list > li.store-card .store-card__tel {
	display: block;
	padding: 2px 0 2px 35px;
	background-repeat: no-repeat;
	word-break: keep-all;
}
#design .store_list > li.store-card .store-card__addr {
	background-image: url(../img/ico_store_addr.png);
	background-size: auto 23px;
	background-position: 0 2px;
}
#design .store_list > li.store-card .store-card__tel {
	background-image: url(../img/ico_store_tel.png);
	background-size: auto 20px;
	background-position: 0 3px;
}
#design .bookstore-store-panel:focus {
	outline: none;
}
#design .bookstore-store-panel:focus-visible {
	outline: 2px solid #111;
	outline-offset: 2px;
}
#design #map:focus {
	outline: 2px solid #111;
	outline-offset: 2px;
}

/* 지역서점 구 선택 탭 */
#design .bookstore-gu-tabs {
	margin-top: 24px;
	margin-bottom: 0;
}
#design .bookstore-gu-tabs__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
#design .bookstore-gu-tabs__item {
	margin: 0;
	padding: 0;
}
#design .bookstore-gu-tabs__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 88px;
	height: 44px;
	padding: 0 18px;
	border: 1px solid #ccc;
	border-radius: 999px;
	background: #fff;
	font-size: var(--krds-pc-font-size-label-medium);
	font-weight: 500;
	color: #333;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
#design .bookstore-gu-tabs__btn:hover,
#design .bookstore-gu-tabs__btn:focus {
	border-color: #111;
	background: #f8f8f8;
	color: #000;
}
#design .bookstore-gu-tabs__btn:focus-visible {
	outline: 2px solid #111;
	outline-offset: 2px;
}
#design .bookstore-gu-tabs__btn.is-active {
	border-color: #111;
	background: #111;
	color: #fff;
}
#design .bookstore-gu-tabs__btn.is-active:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}
#design .bookstore-gu-tabs__empty {
	display: none;
	margin: 16px 0 0;
	padding: 20px;
	border: 1px solid #ddd;
	background: #fafafa;
	color: #555;
	font-size: var(--krds-pc-font-size-body-small);
	text-align: center;
}
#design .bookstore-gu-tabs__empty.is-visible {
	display: block;
}
#design .bookstore-gu-tabs__empty:focus {
	outline: 2px solid #111;
	outline-offset: 2px;
}
#design .store_list > li.store-card.is-hidden,
#design .store_list > li.store-card[hidden] {
	display: none !important;
}

/* ==========================================================================/* ==========================================================================
   순회문고 — 목록 (lecture_list)
   ========================================================================== */

/* 강좌 목록 — KRDS 검색 */
#design .dk_search.sett2.lec-krds-search fieldset {
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 0.8rem 1.2rem;
}
#design .lec-krds-search .sb-lec-status-chips,
#design .lec-krds-search .ognz-search-scope {
	flex: 0 0 auto;
	width: auto;
	justify-content: center;
	margin-bottom: 0;
}
#design .dk_search.sett2.lec-krds-search .krds-check-area {
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: var(--krds-gap-3, 0.8rem);
	width: auto;
}
#design .lec-krds-search .krds-form-chip {
	position: relative;
	flex: 0 0 auto;
}
#design .lec-krds-search .krds-form-chip label {
	position: static !important;
	top: auto !important;
	left: auto !important;
	font-size: var(--krds-pc-font-size-label-medium, 1.7rem) !important;
	white-space: nowrap;
	cursor: pointer;
}
#design .lec-krds-search .schForm {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 42rem;
	gap: var(--krds-gap-2, 0.4rem);
}
#design .ognz-search .schForm {
	max-width: 52rem;
}
#design .dk_search.sett2.lec-krds-search fieldset select.krds-form-select {
	width: auto !important;
	min-width: 14rem;
	max-width: 22rem;
	height: var(--krds-size-height-7, 4.8rem);
	min-height: var(--krds-size-height-7, 4.8rem);
	padding: 0 4rem 0 1.6rem !important;
	background-image: url('../icon/ico_angle.svg');
	background-position: center right 1.2rem;
	background-repeat: no-repeat;
	background-size: 2rem auto !important;
	background-color: var(--krds-light-color-input-surface, #fff) !important;
	border: 0.1rem solid var(--krds-light-color-input-border, #c6c8cb);
	border-radius: var(--krds-radius-medium2, 0.8rem);
	color: var(--krds-light-color-text-basic, #131416);
	font-size: var(--krds-pc-font-size-label-medium, 1.7rem);
}
#design .dk_search.sett2.lec-krds-search fieldset input.krds-input {
	flex: 1 1 auto;
	width: 100%;
	max-width: none;
	height: var(--krds-size-height-7, 4.8rem);
	min-height: var(--krds-size-height-7, 4.8rem);
	line-height: normal;
	padding: 0 1.6rem;
	border-radius: var(--krds-radius-medium2, 0.8rem);
	color: var(--krds-light-color-text-basic, #131416);
	font-size: var(--krds-pc-font-size-label-medium, 1.7rem);
}
#design .dk_search.sett2.lec-krds-search fieldset button.krds-btn {
	flex: 0 0 auto;
	height: auto !important;
	min-height: var(--krds-size-height-7, 4.8rem);
	padding: 0 1.6rem;
	border-radius: var(--krds-radius-medium2, 0.8rem);
	background-color: var(--krds-light-color-button-primary-fill, #256ef4);
	color: var(--krds-light-color-text-inverse-static, #fff);
	font-size: var(--krds-pc-font-size-label-medium, 1.7rem);
	font-weight: 700;
}
#design .dk_search.sett2.lec-krds-search fieldset button.krds-btn:hover {
	background-color: var(--krds-light-color-button-primary-fill-hover, #0b50d0);
}
#design .dk_search.sett2.lec-krds-search fieldset button.krds-btn:active {
	background-color: var(--krds-light-color-button-primary-fill-pressed, #083891);
}
#design .lec-krds-search .krds-form-chip input:focus-visible + label {
	outline: 0.2rem solid var(--krds-light-color-border-primary, #256ef4);
	outline-offset: 0.2rem;
}


/* ==========================================================================
   조직 및 업무 — 목록 검색 결과
   ========================================================================== */

#design .dk_search.sett2.ognz-search {
	margin-bottom: 20px;
}
#design .ognz-search__result {
	margin: 0 0 16px;
	font-size: 1.5rem;
	line-height: 1.5;
	color: #555;
}
#design .ognz-search__result strong {
	color: #0b50d0;
	font-weight: 700;
}
#design .ognz-search__empty {
	margin: 0 0 24px;
	padding: 28px 20px;
	border: 1px solid #e0e0e0;
	background: #fafafa;
	color: #555;
	font-size: 1.5rem;
	text-align: center;
}
#design .ognz-search__site-title {
	margin: 28px 0 12px;
	padding-left: 12px;
	border-left: 4px solid #256ef4;
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1.3;
	color: #131416;
}
#design .ognz-search__site-title span {
	margin-left: 6px;
	font-size: 1.5rem;
	font-weight: 500;
	color: #555;
}
#design .ognz-search__site-title:first-of-type {
	margin-top: 8px;
}

/* ==========================================================================
   순회문고 — 상세 (lecture_view)
   ========================================================================== */

#design .sb-lecture-view {
	display: flex;
	flex-direction: column;
	gap: var(--krds-gap-8, 2.4rem);
	margin: var(--krds-gap-6, 1.6rem) 0 var(--krds-gap-9, 3.2rem);
}
#design .sb-now-clock {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--krds-gap-3, 0.8rem) var(--krds-gap-5, 1.6rem);
	padding: var(--krds-padding-5, 1.2rem) var(--krds-padding-6, 1.6rem);
	border: var(--krds-light-border-width-variable-regular, 1px) solid var(--krds-light-color-border-gray-light, #e6e8ea);
	border-radius: var(--krds-radius-large1, 0.8rem);
	background: var(--krds-light-color-surface-primary-subtler, #eef4ff);
}
#design .sb-now-clock__label {
	font-size: var(--krds-pc-font-size-label-medium, 1.7rem);
	font-weight: 700;
	color: var(--krds-light-color-text-bolder, #131416);
}
#design .sb-now-clock__time {
	font-size: var(--krds-pc-font-size-heading-small, 2rem);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--krds-light-color-text-primary, #0b50d0);
	letter-spacing: 0.02em;
}
#design .sb-now-clock__note {
	margin-left: auto;
	font-size: var(--krds-pc-font-size-label-small, 1.5rem);
	color: var(--krds-light-color-text-subtle, #464c53);
}
#design .sb-head {
	display: flex;
	flex-direction: column;
	gap: var(--krds-gap-3, 0.8rem);
	padding-bottom: var(--krds-padding-6, 1.6rem);
	border-bottom: var(--krds-light-border-width-variable-regular, 1px) solid var(--krds-light-color-divider-gray-light, #dee2e6);
}
#design .sb-title {
	margin: 0;
	font-size: var(--krds-pc-font-size-heading-medium, 2.2rem);
	font-weight: 700;
	line-height: 1.4;
	color: var(--krds-light-color-text-bolder, #131416);
	word-break: keep-all;
}
#design .sb-main {
	display: flex;
	gap: var(--krds-gap-8, 2.4rem);
	align-items: flex-start;
}
@media (max-width: 767px) {
	/* 지역서점 */
	#design .sb-main {
		align-items: stretch;;
	}
}
#design .sb-visual {
	flex: 0 0 280px;
	max-width: 320px;
}
#design .sb-visual-inner {
	overflow: hidden;
	border-radius: var(--krds-radius-xlarge1, 1.2rem);
	border: var(--krds-light-border-width-variable-regular, 1px) solid var(--krds-light-color-border-gray, #cdd1d5);
	background: var(--krds-light-color-surface-white-subtle, #fff);
}
#design .sb-visual-img {
	display: block;
	width: 100%;
	height: auto;
}
#design .sb-visual-caption {
	margin: var(--krds-gap-3, 0.8rem) 0 0;
	font-size: var(--krds-pc-font-size-label-small, 1.5rem);
	color: var(--krds-light-color-text-subtle, #464c53);
	text-align: center;
}
#design .sb-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--krds-gap-6, 1.6rem);
}
#design .sb-info-list {
	display: flex;
	flex-direction: column;
	border: var(--krds-light-border-width-variable-regular, 1px) solid var(--krds-light-color-border-gray-light, #e6e8ea);
	border-radius: var(--krds-radius-large1, 0.8rem);
	background: var(--krds-light-color-surface-white-subtle, #fff);
	overflow: hidden;
}
#design .sb-info-item {
	display: flex;
	align-items: flex-start;
	gap: var(--krds-gap-5, 1.6rem);
	padding: var(--krds-padding-5, 1.2rem) var(--krds-padding-6, 1.6rem);
	border-bottom: var(--krds-light-border-width-variable-regular, 1px) solid var(--krds-light-color-divider-gray-light, #dee2e6);
}
#design .sb-info-item:last-child {
	border-bottom: none;
}
#design .sb-info-label {
	flex: 0 0 22%;
	font-size: var(--krds-pc-font-size-label-medium, 1.7rem);
	font-weight: 700;
	color: var(--krds-light-color-text-bolder, #131416);
	word-break: keep-all;
}
#design .sb-info-value {
	flex: 1;
	min-width: 0;
	font-size: var(--krds-pc-font-size-label-medium, 1.7rem);
	color: var(--krds-light-color-text-subtle, #464c53);
	line-height: 1.6;
	word-break: break-word;
}
#design .sb-stat-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: var(--krds-gap-4, 1.2rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
#design .sb-stat-item {
	padding: var(--krds-padding-6, 1.6rem);
	border: var(--krds-light-border-width-variable-regular, 1px) solid var(--krds-light-color-border-gray-light, #e6e8ea);
	border-radius: var(--krds-radius-large1, 0.8rem);
	background: var(--krds-light-color-surface-white-subtle, #fff);
}
#design .sb-stat-item.is-highlight {
	border-color: var(--krds-light-color-border-primary, #256ef4);
	background: var(--krds-light-color-surface-primary-subtler, #eef4ff);
}
#design .sb-stat-label {
	display: block;
	margin-bottom: var(--krds-gap-2, 0.4rem);
	font-size: var(--krds-pc-font-size-label-small, 1.5rem);
	color: var(--krds-light-color-text-subtle, #464c53);
}
#design .sb-stat-value {
	font-size: var(--krds-pc-font-size-heading-xxsmall, 1.7rem);
	color: var(--krds-light-color-text-bolder, #131416);
}
#design .sb-section + .sb-section {
	margin-top: var(--krds-gap-2, 0.4rem);
}
#design .sb-section-title {
	margin: 0 0 var(--krds-gap-4, 1.2rem);
	padding-left: var(--krds-padding-5, 1.2rem);
	border-left: 4px solid var(--krds-light-color-element-primary, #256ef4);
	font-size: var(--krds-pc-font-size-heading-small, 1.9rem);
	font-weight: 700;
	color: var(--krds-light-color-text-bolder, #131416);
	line-height: 1.3;
	position: unset;
}
#design .sb-content-box {
	padding: var(--krds-padding-6, 1.6rem) var(--krds-padding-7, 2rem);
	border: var(--krds-light-border-width-variable-regular, 1px) solid var(--krds-light-color-border-gray-light, #e6e8ea);
	border-radius: var(--krds-radius-large2, 1rem);
	background: var(--krds-light-color-surface-white-subtle, #fff);
	line-height: 1.7;
	color: var(--krds-light-color-text-subtle, #464c53);
	word-break: break-word;
}
#design .sb-content-box .con_list {
	margin: 0;
	padding-left: 1.2em;
}
#design .sb-file-readonly .file-upload,
#design .sb-file-readonly .upload-delete-btn {
	display: none;
}
#design .sb-file-readonly .file-list {
	margin-top: 0;
}
#design .sb-file-readonly .file-name {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--krds-gap-3, 0.8rem);
	word-break: break-all;
}
#design .sb-empty-text {
	font-size: var(--krds-pc-font-size-label-small, 1.5rem);
	color: var(--krds-light-color-text-disabled, #8a949e);
}
#design .sb-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--krds-gap-3, 0.8rem);
	padding-top: var(--krds-padding-7, 2rem);
	border-top: var(--krds-light-border-width-variable-regular, 1px) solid var(--krds-light-color-divider-gray-light, #dee2e6);
}

/* ==========================================================================
   만족도
   ========================================================================== */

#design .sub_charge {padding:20px;border:1px solid #ddd;margin-bottom:10px;margin-top:80px;position:relative;font-size: 16px;}
#design .sub_charge ul {overflow:hidden;padding-right:200px;}
#design .sub_charge ul li {float:left;margin-right:30px;padding-left:10px;position:relative;font-size: 16px;}
#design .sub_charge ul li::before {content: '';position: absolute;top: 11px;left: 0;width: 4px;height: 4px;border-radius:4px;background: #2079b7;}
#design .sub_charge ul li strong {font-weight:500;}
#design .sub_charge .limit {position:absolute;top:20px;right:20px;text-align:right;}
#design .sub_charge .limit strong {font-weight:500;}

#design .sub_research {padding:20px 20px 20px 100px;border:1px solid #ddd;background:url(../img/icon_research.png) no-repeat 23px 17px;position:relative;font-size: 16px;margin-top: 30px;}
#design .sub_research .tit {font-weight:500;margin-bottom:10px;margin-left:2px;font-size:16px;}
#design .sub_research .pick {padding-right:350px;margin-bottom: 5px;}
#design .sub_research .pick li {display:inline-block;margin-right:10px;}
#design .sub_research .research_input_wrap {width:100%;margin-top:12px;}
#design .sub_research .research_input_row {display:flex;align-items:stretch;gap:8px;width:100%;}
#design .sub_research .research_input_row .research_input {flex:1 1 auto;width:100%;min-width:0;height:40px;padding:0 12px;border:1px solid #ccc;border-radius:4px;font-size:16px;}
#design .sub_research .research_input_row .krds-btn {flex:0 0 auto;min-width:60px;height:40px;margin:0;}
#design .sub_research .research_char_count {margin:6px 0 0;text-align:right;font-size:14px;color:#666;line-height:1.4;}

/* ==========================================================================
   반응형 (브레이크포인트별 통합)
   ========================================================================== */

/* --- min-width: 768px (태블릿 이상) --- */
@media (min-width: 768px) {
	/* 지역서점 */
	#design .store_list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
	#design .store_list > li.store-card > a.store-card__link {
		padding: 22px 24px;
	}
}

/* --- max-width: 1279px --- */
@media (max-width: 1279px) {
	/* 푸터 */
	#krds-footer .cjlib-footer-lib-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 2rem 1.6rem;
	}
}

/* --- max-width: 1023px --- */
@media (max-width: 1023px) {
	/* 푸터 */
	#krds-footer .cjlib-footer-lib-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* --- max-width: 767px (모바일) --- */
@media (max-width: 767px) {
	/* 푸터 */
	#krds-footer .cjlib-footer-top {
		gap: 1.6rem;
	}
	#krds-footer .cjlib-footer-wa {
		margin-left: 0;
	}
	#krds-footer .cjlib-footer-wa img {
		height: 60px !important;
	}
	#krds-footer .cjlib-footer-lib-grid {
		grid-template-columns: 1fr;
		gap: 1.6rem;
	}
	#krds-footer .cjlib-footer-lib-name {
		font-size: 1.5rem;
	}
	#krds-footer .cjlib-footer-lib-addr,
	#krds-footer .cjlib-footer-lib-contact {
		font-size: 1.5rem;
	}

	/* 지역서점 */
	#design .bookstore-map-title {
		font-size: var(--krds-mobile-font-size-heading-xsmall);
	}
	#design .bookstore-map-desc {
		font-size: var(--krds-mobile-font-size-body-small);
	}
	#design .store_list > li.store-card .store-card__name {
		font-size: var(--krds-mobile-font-size-heading-xsmall);
	}
	#design .store_list > li.store-card .store-card__meta {
		font-size: var(--krds-mobile-font-size-body-small);
	}
	#design .bookstore-gu-tabs__btn {
		font-size: var(--krds-mobile-font-size-label-medium);
	}
	#design .bookstore-gu-tabs__empty {
		font-size: var(--krds-mobile-font-size-body-small);
	}

	/* 강좌 목록 — KRDS 검색 */
	#design .dk_search.sett2.lec-krds-search fieldset {
		flex-wrap: wrap;
		gap: 0.8rem;
	}
	#design .lec-krds-search .sb-lec-status-chips,
	#design .lec-krds-search .ognz-search-scope {
		flex: 0 0 100%;
		width: 100%;
		margin-bottom: 0.2rem;
	}
	#design .dk_search.sett2.lec-krds-search .krds-check-area {
		flex-wrap: wrap;
		width: 100%;
	}
	#design .lec-krds-search .item:not(.sb-lec-status-chips):not(.ognz-search-scope) {
		display: none;
	}
	#design .lec-krds-search .schForm {
		flex: 0 0 100%;
		width: 100%;
		max-width: none;
		margin: 0;
	}
	#design .dk_search.sett2.lec-krds-search fieldset select.krds-form-select {
		width: 100% !important;
		max-width: none;
		min-width: 0;
	}

	/* 조직 및 업무 — 목록 검색 결과 */
	#design .ognz-search__result,
	#design .ognz-search__empty {
		font-size: 1.4rem;
	}
	#design .ognz-search__site-title {
		font-size: 1.7rem;
	}
	#design .ognz-search__site-title span {
		font-size: 1.4rem;
	}

	/* 순회문고 — 상세 */
	#design .sb-now-clock {
		flex-direction: column;
		align-items: flex-start;
	}
	#design .sb-now-clock__note {
		margin-left: 0;
	}
	#design .sb-title {
		font-size: var(--krds-mobile-font-size-heading-small, 1.7rem);
	}
	#design .sb-main {
		flex-direction: column;
	}
	#design .sb-visual {
		flex: none;
		max-width: 100%;
		width: 100%;
	}
	#design .sb-visual-inner {
		max-width: 360px;
		margin: 0 auto;
	}
	#design .sb-stat-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	#design .sb-info-item {
		flex-direction: column;
		gap: var(--krds-gap-2, 0.4rem);
	}
	#design .sb-info-label {
		flex: none;
		width: 100%;
	}
	#design .sb-actions {
		flex-direction: column;
	}
	#design .sb-actions .krds-btn,
	#design .sb-actions .open-modal {
		width: 100%;
	}
}

/* --- max-width: 479px (초소형) --- */
@media (max-width: 479px) {
	/* 순회문고 — 상세 */
	#design .sb-stat-list {
		grid-template-columns: 1fr;
	}
}

/* ========== 정보나루 인기도서 ========== */
#design .naru-wrap {
	--naru-line: #e5e8eb;
	--naru-text: #1e2124;
	--naru-muted: #58616a;
	--naru-accent: #0b6bcb;
	--naru-chip-bg: #f4f6f8;
}
#design .naru-lead {
	margin: 0 0 1.6rem;
	font-size: 1.5rem;
	line-height: 1.6;
	color: var(--naru-muted);
}
#design .naru-filter {
	margin-bottom: 2rem;
	padding: 1.6rem 1.8rem;
	border: 1px solid var(--naru-line);
	border-radius: .6rem;
	background: #fafbfc;
}
#design .naru-filter-block + .naru-filter-block {
	margin-top: 1.4rem;
}
#design .naru-filter-label {
	display: block;
	margin-bottom: .8rem;
	font-size: 1.7rem;
	font-weight: 700;
	color: var(--naru-text);
}
#design .naru-chip-group {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
}
#design .naru-chip {
	appearance: none;
	border: 1px solid var(--naru-line);
	border-radius: 999px;
	background: #fff;
	padding: .55rem 1.2rem;
	font-size: 1.6rem;
	line-height: 1.4;
	color: var(--naru-text);
	cursor: pointer;
}
#design .naru-chip:hover {
	border-color: var(--naru-accent);
	color: var(--naru-accent);
}
#design .naru-chip.is-active {
	border-color: var(--naru-accent);
	background: var(--naru-accent);
	color: #fff;
	font-weight: 600;
}
#design .naru-date-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .8rem;
}
#design .naru-date-row .krds-input {
	width: 14rem;
	max-width: 100%;
}
#design .naru-date-sep {
	color: var(--naru-muted);
}
#design .naru-hint {
	margin: 1rem 0 0;
	font-size: 1.3rem;
	color: #b42318;
}
#design .naru-loading {
	margin: 0 0 1.6rem;
}
#design .naru-loading__panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	padding: 2.4rem 1.6rem;
	border: 2px solid #0b6bcb;
	border-radius: .6rem;
	background: #eef5fc;
	text-align: center;
}
#design .naru-loading__spinner {
	--krds-spinner--size: 3.2rem;
	--krds-spinner--color-text: #0b6bcb;
	justify-content: center;
	font-size: 0;
}
#design .naru-loading__title {
	margin: 0;
	font-size: 1.7rem;
	font-weight: 700;
	color: #102a43;
}
#design .naru-loading__desc {
	margin: 0;
	max-width: 36rem;
	font-size: 1.4rem;
	line-height: 1.55;
	color: #334e68;
}
#design .naru-loading__bar {
	position: relative;
	overflow: hidden;
	width: min(100%, 28rem);
	height: .8rem;
	border-radius: 999px;
	background: #c9daf0;
}
#design .naru-loading__bar-fill {
	display: block;
	width: 40%;
	height: 100%;
	border-radius: inherit;
	background: #0b6bcb;
	animation: naru-loading-slide 1.2s ease-in-out infinite;
}
@keyframes naru-loading-slide {
	0% { transform: translateX(-120%); }
	100% { transform: translateX(320%); }
}
@media (prefers-reduced-motion: reduce) {
	#design .naru-loading__spinner::before {
		animation: none;
		border-top-color: #0b6bcb;
	}
	#design .naru-loading__bar-fill {
		width: 100%;
		animation: none;
		opacity: .85;
	}
}
#design .naru-wrap[aria-busy="true"] .naru-book-list,
#design .naru-wrap[aria-busy="true"] .naru-empty,
#design .naru-wrap[aria-busy="true"] .naru-toolbar,
#design .naru-wrap[aria-busy="true"] .naru-result {
	opacity: .45;
	pointer-events: none;
}
#design .naru-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--naru-line);
}
#design .naru-toolbar-title {
	margin: 0;
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--naru-text);
}
#design .naru-toolbar-sub {
	font-size: 1.3rem;
	font-weight: 500;
	color: var(--naru-muted);
}
#design .naru-empty {
	padding: 4rem 1rem;
	text-align: center;
	color: var(--naru-muted);
	border: 1px dashed var(--naru-line);
	border-radius: .6rem;
}
#design .naru-book-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
#design .naru-book-item {
	display: grid;
	grid-template-columns: 4.8rem 9rem 1fr auto;
	gap: 1.4rem;
	align-items: start;
	padding: 1.6rem 0;
	border-bottom: 1px solid var(--naru-line);
}
#design .naru-book-rank em {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 3.2rem;
	height: 3.2rem;
	border-radius: .4rem;
	background: var(--naru-chip-bg);
	font-style: normal;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--naru-accent);
}
#design .naru-book-cover img {
	display: block;
	width: 8.5rem;
	height: 12rem;
	object-fit: cover;
	border: 1px solid var(--naru-line);
	border-radius: .2rem;
	background: #fff;
}
#design .naru-book-title {
	margin: 0 0 .8rem;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.4;
}
#design .naru-book-title a {
	color: var(--naru-text);
	text-decoration: none;
}
#design .naru-book-title a:hover {
	color: var(--naru-accent);
	text-decoration: underline;
}
#design .naru-book-meta {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 1.6rem;
	line-height: 1.7;
	color: var(--naru-muted);
}
#design .naru-book-meta .key {
	display: inline-block;
	min-width: 4.2rem;
	margin-right: .4rem;
	font-weight: 600;
	color: #3b4046;
}
#design .naru-book-side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .8rem;
	min-width: 9rem;
}
@media (max-width: 767px) {
	#design .naru-book-item {
		grid-template-columns: 3.6rem 7rem 1fr;
	}
	#design .naru-book-side {
		grid-column: 2 / -1;
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
	}
	#design .naru-book-cover img {
		width: 7rem;
		height: 10rem;
	}
}

/* ==========================================================================
   추천도서(wdBook) 카드형 목록 — rcmd-card-*
   ========================================================================== */
#dk_book .rcmd-card-wrap {
	width: 100%;
}
#dk_book .rcmd-card-list {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem 3rem;
	margin: 0;
	padding: 3rem;
	list-style: none;
	border: 1px solid #e2e2e2;
	border-radius: 1.6rem;
	background-color: #f8f8f8;
	box-sizing: border-box;
}
#dk_book .rcmd-card-item {
	width: calc(25% - 2.25rem);
	margin: 0;
	min-width: 0;
}
#dk_book .rcmd-card-cover {
	width: 100%;
	max-width: 23rem;
	height: 31rem;
}
#dk_book .rcmd-card-cover a {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border: .1rem solid #eaeaea;
	border-radius: 1.6rem;
	box-sizing: border-box;
	background: #fff;
	cursor: pointer;
}
#dk_book .rcmd-card-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s ease;
}
#dk_book .rcmd-card-cover a:hover img {
	transform: scale(1.1);
}
#dk_book .rcmd-card-body {
	margin-top: 1.6rem;
}
#dk_book .rcmd-card-badge {
	display: inline-block;
	margin-bottom: 1rem;
	padding: .5rem 1rem;
	border-radius: .4rem;
	font-size: 1.5rem;
	line-height: 1.3;
	color: #fff;
	background: #16855e;
}
#dk_book .rcmd-card-name {
	display: block;
	margin-bottom: 1rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
	color: #111;
	word-break: keep-all;
}
#dk_book .rcmd-card-name a {
	color: inherit;
	text-decoration: none;
}
#dk_book .rcmd-card-name a:hover {
	text-decoration: underline;
}
#dk_book .rcmd-card-writer {
	display: block;
	margin: 0 0 .4rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	color: #333;
}
#dk_book .rcmd-card-meta {
	display: block;
	margin: 0 0 .3rem;
	font-size: 1.5rem;
	line-height: 1.5;
	color: #555;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#dk_book .rcmd-card-label {
	font-style: normal;
	font-weight: 600;
	color: #3b4046;
}
#dk_book .rcmd-card-label::after {
	content: " :";
}
#dk_book .rcmd-card-desc {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	margin-top: 1rem;
	font-size: 1.5rem;
	line-height: 1.6;
	color: #666;
	word-break: keep-all;
}
#dk_book .rcmd-card-empty {
	padding: 4rem 2rem;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.7;
	color: #555;
	border: 1px solid #e2e2e2;
	border-radius: 1.6rem;
	background: #f8f8f8;
}

@media (max-width: 1200px) {
	#dk_book .rcmd-card-item {
		width: calc(100% / 3 - 2rem);
	}
}
@media (max-width: 900px) {
	#dk_book .rcmd-card-list {
		gap: 3rem 2rem;
		padding: 2rem;
	}
	#dk_book .rcmd-card-item {
		width: calc(50% - 1rem);
	}
	#dk_book .rcmd-card-cover {
		height: 26rem;
	}
}
@media (max-width: 560px) {
	#dk_book .rcmd-card-item {
		width: 100%;
	}
	#dk_book .rcmd-card-cover {
		max-width: none;
		height: 36rem;
	}
}

/* ==========================================================================
   추천도서(wdBook) 상세 — rcmd-detail-*
   ========================================================================== */
#dk_book.rcmd-detail .rcmd-detail-panel {
	padding: 3rem;
	border: 1px solid #e2e2e2;
	border-radius: 1.6rem;
	background: var(--krds-color-light-primary-5);
	box-sizing: border-box;
}
#dk_book.rcmd-detail .rcmd-detail-head {
	display: flex;
	gap: 0 4rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid #e2e2e2;
}
#dk_book.rcmd-detail .rcmd-detail-cover {
	flex: 0 0 20rem;
	width: 20rem;
	max-width: 20rem;
	overflow: hidden;
	border: .1rem solid #eaeaea;
	border-radius: 1.6rem;
	background: #fff;
	box-sizing: border-box;
}
#dk_book.rcmd-detail .rcmd-detail-cover img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}
#dk_book.rcmd-detail .rcmd-detail-info {
	flex: 1 1 auto;
	min-width: 0;
}
#dk_book.rcmd-detail .rcmd-detail-badge {
	display: inline-block;
	margin-bottom: 1.2rem;
	padding: .5rem 1rem;
	border-radius: .4rem;
	font-size: 1.5rem;
	line-height: 1.3;
	color: #fff;
	background: #16855e;
}
#dk_book.rcmd-detail .rcmd-detail-title {
	display: block;
	margin: 0 0 2.4rem;
	font-size: 2.8rem;
	font-weight: 800;
	line-height: 1.4;
	color: #111;
	word-break: keep-all;
}
#dk_book.rcmd-detail .rcmd-detail-meta {
	display: flex;
	flex-direction: column;
	gap: .8rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
#dk_book.rcmd-detail .rcmd-detail-meta > li {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: .8rem;
	padding-left: 1.2rem;
	font-size: 1.7rem;
	line-height: 1.5;
}
#dk_book.rcmd-detail .rcmd-detail-meta > li::before {
	content: '';
	position: absolute;
	top: 1rem;
	left: 0;
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background: #111;
}
#dk_book.rcmd-detail .rcmd-detail-meta > li > strong {
	flex: 0 0 9rem;
	width: 9rem;
	font-weight: 600;
	color: #111;
}
#dk_book.rcmd-detail .rcmd-detail-meta > li > p {
	flex: 1 1 auto;
	margin: 0;
	min-width: 0;
	font-weight: 400;
	color: #444;
	word-break: keep-all;
}
#dk_book.rcmd-detail .rcmd-detail-section {
	margin-top: 3rem;
}
#dk_book.rcmd-detail .rcmd-detail-section > h3 {
	margin: 0 0 1.6rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid #111;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	color: #111;
}
#dk_book.rcmd-detail .rcmd-detail-text {
	font-size: 1.7rem;
	line-height: 1.8;
	color: #444;
	word-break: keep-all;
}
#dk_book.rcmd-detail .rcmd-detail-btns {
	margin-top: 3rem;
	text-align: center;
}

@media (max-width: 900px) {
	#dk_book.rcmd-detail .rcmd-detail-panel {
		padding: 2rem;
	}
	#dk_book.rcmd-detail .rcmd-detail-head {
		gap: 0 2.4rem;
	}
	#dk_book.rcmd-detail .rcmd-detail-cover {
		flex-basis: 14rem;
		width: 14rem;
		max-width: 14rem;
	}
	#dk_book.rcmd-detail .rcmd-detail-title {
		font-size: 2.2rem;
		margin-bottom: 1.6rem;
	}
	#dk_book.rcmd-detail .rcmd-detail-meta > li {
		font-size: 1.5rem;
	}
	#dk_book.rcmd-detail .rcmd-detail-meta > li > strong {
		flex-basis: 7.5rem;
		width: 7.5rem;
	}
}
@media (max-width: 560px) {
	#dk_book.rcmd-detail .rcmd-detail-head {
		flex-direction: column;
		gap: 2rem 0;
	}
	#dk_book.rcmd-detail .rcmd-detail-cover {
		flex-basis: auto;
		width: 60%;
		max-width: 22rem;
		margin: 0 auto;
	}
	#dk_book.rcmd-detail .rcmd-detail-title {
		font-size: 2rem;
		white-space: normal;
	}
	#dk_book.rcmd-detail .rcmd-detail-meta > li {
		flex-wrap: wrap;
	}
	#dk_book.rcmd-detail .rcmd-detail-meta > li > strong,
	#dk_book.rcmd-detail .rcmd-detail-meta > li > p {
		width: auto;
		flex: 0 0 auto;
	}
}


/* 테마도서 그룹 상세 (themaBookList) */
#dk_book.thema-group-view .thema-file-link {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: #256ef4;
	text-decoration: underline;
	word-break: break-all;
}
#dk_book.thema-group-view .thema-file-link img {
	width: 1.6rem;
	height: auto;
	border: 0;
	background: none;
}
#dk_book.thema-group-view .rcmd-detail-text {
	text-align: left;
}


/* ==========================================================================
    텍스트 박스
   ========================================================================== */
.txt-box {
  --txt-box-width-border: var(--krds-light-border-width-static-regular);
  --txt-box-color-border: var(--krds-light-color-border-gray);
  --txt-box-color-background: var(--krds-light-color-surface-gray-subtler);
  padding: var(--krds-pc-padding-card-medium);
  background-color: var(--txt-box-color-background);
  border: var(--txt-box-width-border) solid var(--txt-box-color-border);
  border-radius: var(--krds-radius-xlarge1);
}
.txt-box:not(:first-of-type) {
  margin-top: var(--krds-gap-7);
}
.txt-box.outline {
  border-color: var(--krds-light-color-border-secondary-light);
  background-color: var(--krds-light-color-surface-secondary-subtler);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-7);
}
.txt-box.outline .outline-tit {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-gap-2);
  font-size: var(--krds-pc-font-size-heading-medium);
  font-weight: var(--krds-font-weight-bold);
}
.txt-box.outline .outline-tit::before {
  content: "";
  display: inline-flex;
  width: var(--krds-size-height-5);
  height: var(--krds-size-height-5);
  background-color: var(--krds-light-color-text-basic);
  background-color: transparent !important;
  forced-color-adjust: none;
  background: url(../../img/pattern/content/ico_outline.svg) no-repeat center;
  background-size: contain;
}
.txt-box.outline .outline-txt {
  font-size: var(--krds-pc-font-size-body-large);
}
.txt-box.outline .conts-desc-wrap {
  display: flex;
  align-items: normal;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-5);
  width: 100%;
  padding-top: var(--krds-padding-8);
  border-top: var(--txt-box-width-border) dotted var(--txt-box-color-border);
}
.txt-box.outline .conts-desc-wrap .sec-tit {
  font-size: var(--krds-pc-font-size-heading-small);
}

.txt-box.outline .conts-desc-wrap.type-disclosure {
  gap: 0;
  padding: 0;
  border: none;
}
.txt-box.outline .conts-desc-wrap.type-disclosure .krds-disclosure ~ .krds-disclosure {
  margin-top: var(--krds-gap-5);
}
.txt-box.outline .check-list {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-5);
}
.txt-box.outline .check-list > li {
  position: relative;
  padding-left: calc(var(--krds-size-height-4) + var(--krds-padding-3));
  font-size: var(--krds-pc-font-size-body-large);
  color: var(--krds-light-color-text-primary);
}
.txt-box.outline .check-list > li::before {
  position: absolute;
  top: var(--krds-gap-1);
  left: 0;
  content: "";
  display: inline-flex;
  width: var(--krds-icon--size-large);
  height: var(--krds-icon--size-large);
  background-color: var(--krds-light-color-text-basic);
  background-color: transparent !important;
  forced-color-adjust: none;
  background-image: url(../../img/pattern/content/ico_outline_chk.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

.txt-box.outline .check-list > li > ul {
  margin-top: var(--krds-gap-2);
}
.txt-box.bg-gray {
  border: 0;
}
.txt-box.bg-gray .btm-btn-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: row;
  gap: var(--krds-gap-5);
}
.txt-box.bg-gray .btm-btn-wrap .krds-btn {
  min-width: 12rem;
}
.txt-box.bg-gray:not(:first-of-type) {
  margin-top: var(--krds-gap-9);
}
.txt-box.bg-white {
  --bg-white-color-background: var(--krds-light-color-surface-white-subtle);
  --bg-white-color-background-gray: var(--krds-light-color-surface-gray-subtler);
  --bg-white-color-border: var(--krds-light-color-divider-gray-light);
  --bg-white-color-text: var(--krds-light-color-text-subtle);
  display: flex;
  align-items: normal;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-7);
  width: 100%;
  background-color: var(--bg-white-color-background);
  /* 바구니 - 자료당일신청(상세)  */
}
.txt-box.bg-white .box-tit-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
}
.txt-box.bg-white .box-tit1 {
  font-size: var(--krds-pc-font-size-heading-medium);
  color: var(--krds-light-color-text-bolder);
}
.txt-box.bg-white .box-tit2 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  position: relative;
  gap: var(--krds-gap-3);
  font-size: var(--krds-pc-font-size-heading-small);
  font-weight: var(--krds-font-weight-bold);
}
.txt-box.bg-white .box-cnt {
  display: flex;
  align-items: normal;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-9);
}
.txt-box.bg-white .box-sec {
  display: flex;
  align-items: normal;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-7);
}
.txt-box.bg-white .box-sec.type-table {
  gap: var(--krds-gap-5);
}
.txt-box.bg-white .box-sec .krds-table-wrap .krds-form-check.ico-only {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-direction: row;
}
.txt-box.bg-white .box-sec .krds-table-wrap .krds-form-check.ico-only input[type=checkbox] ~ label::before {
  margin-top: 0;
}
.txt-box.bg-white .box-sec .krds-table-wrap .krds-form-check.ico-only input[type=checkbox] ~ label::after {
  margin-top: -0.3rem;
}
.txt-box.bg-white .form-group,
.txt-box.bg-white .form-group-row {
  width: 75.2rem;
  max-width: 100%;
}
.txt-box.bg-white .form-group.full {
  width: 100%;
}
.txt-box.bg-white .form-group .krds-check-area.chk-column {
  width: 100%;
}
.txt-box.bg-white .form-group-row {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-gap-5);
}
.txt-box.bg-white .form-group-row .form-group {
  flex: 1;
}
.txt-box.bg-white .krds-form-check-cnt {
  display: flex;
  align-items: normal;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-5);
  margin-top: var(--krds-gap-5);
}
.txt-box.bg-white .krds-form-check-cnt:not(ul) {
  margin-top: var(--krds-gap-2);
}
.txt-box.bg-white .krds-form-check-cnt .form-label {
  margin-bottom: var(--krds-padding-5);
}
.txt-box.bg-white .form-addr-result {
  padding: var(--krds-pc-padding-card-medium);
  border-radius: var(--krds-radius-xlarge2);
  background-color: var(--bg-white-color-background-gray);
}
.txt-box.bg-white .form-addr-result .info-ul {
  display: flex;
  align-items: normal;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-7);
}
.txt-box.bg-white .form-addr-result .info-ul li {
  display: flex;
  gap: var(--krds-gap-7);
}
.txt-box.bg-white .form-addr-result .info-ul li .key {
  width: 19.6rem;
  flex-shrink: 0;
  font-weight: var(--krds-font-weight-bold);
}
.txt-box.bg-white .form-addr-result .info-ul + .info-ul {
  padding-top: var(--krds-padding-8);
  margin-top: var(--krds-padding-8);
  border-top: var(--txt-box-width-border) solid var(--bg-white-color-border);
}
.txt-box.bg-white .tbl-no-data {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: var(--krds-pc-padding-card-medium);
  font-size: var(--krds-pc-font-size-body-large);
  color: var(--bg-white-color-text);
  text-align: center;
  border-radius: var(--krds-radius-xlarge2);
  background-color: var(--bg-white-color-background-gray);
}
.txt-box.bg-white .krds-structured-list {
  gap: 0;
  margin-top: var(--krds-gap-5);
}
.txt-box.bg-white .krds-structured-list .structured-item {
  padding-inline: 0;
  border: none;
  border-radius: 0;
  border-top: var(--txt-box-width-border) solid var(--bg-white-color-border);
}
.txt-box .book-info-ul {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--krds-gap-5);
}
.txt-box .book-info-ul > li {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  gap: var(--krds-gap-9);
}
.txt-box .book-info-ul > li .key {
  flex-shrink: 0;
  width: 16rem;
}
.txt-box .book-info-ul .txt-list {
  gap: var(--krds-gap-5);
}
.txt-box .book-info-ul .txt-list li::after {
  background-color: var(--krds-light-color-divider-gray-light);
  margin-left: var(--krds-gap-5);
  height: var(--krds-size-height-2);
}


@media (max-width: 767px) {
	.txt-box {padding: var(--krds-mobile-padding-card-medium);}
	.txt-box.outline .check-list > li {
    font-size: var(--krds-mobile-font-size-body-large);
	.txt-box.outline .conts-desc-wrap .sec-tit {
		font-size: var(--krds-mobile-font-size-heading-small);
	  }
  }
}



#page .dk_view dl.add .box-group-area {margin-bottom:0;}
#page .sg_t_file .board-file-open {vertical-align:middle;}
/* ===== AI Recommend (airec) ===== */
.airec {
	--airec-ink: #1a2332;
	--airec-muted: #5c6675;
	--airec-line: rgba(26, 35, 50, 0.12);
	--airec-accent: #0f6b5c;
	--airec-accent-soft: #e6f3ef;
	--airec-surface: #f7f5f1;
	--airec-surface-2: #efebe3;
	--airec-focus: #0b57d0;
	--airec-radius: 1.2rem;
	--airec-gap: 1.6rem;
	box-sizing: border-box;
	margin: 0 0 2.4rem;
	padding: clamp(1.6rem, 3vw, 2.8rem);
	border-radius: calc(var(--airec-radius) + 0.4rem);
	background:
		radial-gradient(120% 80% at 0% 0%, rgba(15, 107, 92, 0.08), transparent 55%),
		linear-gradient(165deg, var(--airec-surface) 0%, #fff 48%, var(--airec-surface-2) 100%);
	color: var(--airec-ink);
}
.airec *,
.airec *::before,
.airec *::after {
	box-sizing: border-box;
}
.airec__header {
	max-width: 42rem;
	margin: 0 0 clamp(1.6rem, 3vw, 2.4rem);
}
.airec__eyebrow {
	margin: 0 0 0.6rem;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--airec-accent);
}
.airec__title {
	margin: 0 0 0.6rem;
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.02em;
	color: var(--airec-ink);
}
.airec__desc {
	margin: 0;
	font-size: 1.6rem;
	line-height: 1.55;
	color: var(--airec-muted);
}
.airec__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem 3rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.airec__item {
	margin: 0;
	padding: 0;
	min-width: 0;
}
.airec__link {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	height: 100%;
	text-decoration: none;
	color: inherit;
	border-radius: var(--airec-radius);
	outline: none;
	transition: transform 0.22s ease, color 0.22s ease;
}
.airec__link:hover .airec__book-title,
.airec__link:focus-visible .airec__book-title {
	color: var(--airec-accent);
}
.airec__link:hover .airec__cover,
.airec__link:focus-visible .airec__cover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(26, 35, 50, 0.14);
}
.airec__link:focus-visible {
	box-shadow: 0 0 0 0.2rem #fff, 0 0 0 0.35rem var(--airec-focus);
}
.airec__cover {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 5 / 7;
	border-radius: 0.8rem;
	background: #fff;
	border: 1px solid var(--airec-line);
	box-shadow: 0 4px 14px rgba(26, 35, 50, 0.06);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.airec__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
.airec__cover--empty {
	background:
		linear-gradient(160deg, #f3f1ec 0%, #e7e2d8 100%);
}
.airec__cover--empty img {
	object-fit: contain;
	padding: 18%;
	opacity: 0.55;
}
.airec__meta {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 0;
}
.airec__book-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 0;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.01em;
	color: var(--airec-ink);
	transition: color 0.2s ease;
}
.airec__book-author {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 1.4rem;
	line-height: 1.4;
	color: var(--airec-muted);
}
.airec__empty {
	margin: 0;
	padding: 3.2rem 1rem;
	border: 1px dashed var(--airec-line);
	border-radius: var(--airec-radius);
	background: rgba(255, 255, 255, 0.55);
	text-align: center;
	font-size: 0.98rem;
	color: var(--airec-muted);
}

@media (max-width: 1199px) {
	.airec__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	.airec {
		--airec-gap: 1.2rem;
		padding: 1.4rem 1rem 1.6rem;
		border-radius: 1rem;
	}
	.airec__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.2rem 0.9rem;
	}
	.airec__book-title {
		font-size: 0.86rem;
	}
	.airec__book-author {
		font-size: 0.76rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.airec__link,
	.airec__cover,
	.airec__book-title {
		transition: none;
	}
	.airec__link:hover .airec__cover,
	.airec__link:focus-visible .airec__cover {
		transform: none;
	}
}


/* ==========================================================================
   강좌 신청폼 (lecture_receive_form)
   ========================================================================== */
#design .lec-app-req-note {
	margin: 0 0 0.8rem;
	font-size: var(--krds-pc-font-size-body-small, 1.5rem);
	color: var(--krds-light-color-text-subtle, #464c53);
}
#design .lec-app-req {
	display: inline-block;
	margin-right: 0.2em;
	font-weight: 700;
	color: var(--krds-light-color-text-danger, #d0153f);
}
#design .lec-app-form {
	margin: 0 0 2.4rem;
	border-top: 1px solid var(--krds-light-color-border-gray-dark, #8a949e);
}
#design .lec-app-form--inner {
	margin: 1.6rem 0 0;
}
#design .lec-app-form .form-group {
	display: grid;
	grid-template-columns: 12.8rem minmax(0, 1fr);
	gap: 0.8rem 1.6rem;
	align-items: start;
	width: 100%;
	margin: 0;
	padding: 1.4rem 0;
	border-bottom: 1px solid var(--krds-light-color-divider-gray-light, #dee2e6);
}
#design .lec-app-form .form-tit {
	padding-top: 0.6rem;
	font-size: var(--krds-pc-font-size-label-medium, 1.7rem);
	font-weight: 600;
	line-height: 1.4;
	color: var(--krds-light-color-text-bolder, #131416);
	word-break: keep-all;
}
#design .lec-app-form .form-tit label {
	font: inherit;
	color: inherit;
}
#design .lec-app-form .form-conts {
	min-width: 0;
	width: 100%;
}
#design .lec-app-readonly {
	margin: 0;
	padding-top: 0.6rem;
	font-size: var(--krds-pc-font-size-body-medium, 1.7rem);
	font-weight: 500;
	line-height: 1.5;
	word-break: keep-all;
}
#design .lec-app-form .lec-app-input,
#design .lec-app-form .input_type2.lec-app-input,
#design .lec-app-form .lec-app-textarea {
	width: 100%;
	max-width: 42rem;
	height: auto;
	min-height: 4.4rem;
	padding: 0.8rem 1.2rem;
	box-sizing: border-box;
}
#design .lec-app-form .lec-app-input--short {
	max-width: 10rem;
}
#design .lec-app-form .lec-app-input--date {
	max-width: 18rem;
}
#design .lec-app-form .lec-app-textarea {
	min-height: 10rem;
	max-width: 100%;
	resize: vertical;
}
#design .lec-app-tel,
#design .lec-app-addcnt,
#design .lec-app-addr-post {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 0.8rem;
	width: 100%;
}
#design .lec-app-tel .input_box {
	width: 7.2rem;
	max-width: calc(20% - 0.8rem);
	min-width: 5.6rem;
	flex: 1 1 5.6rem;
	height: auto;
	min-height: 4.4rem;
	padding: 0.8rem 0.6rem;
	box-sizing: border-box;
	text-align: center;
}
#design .lec-app-tel-sep {
	flex: 0 0 auto;
	color: var(--krds-light-color-text-subtle, #464c53);
}
#design .lec-app-addr {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	width: 100%;
}
#design .lec-app-addr .lec-app-input {
	max-width: 100%;
}
#design .lec-app-addr-post .input_box {
	width: 10rem;
	max-width: 12rem;
	min-height: 4.4rem;
	height: auto;
	padding: 0.8rem 1.2rem;
	box-sizing: border-box;
}
#design .lec-app-addcnt .krds-form-select {
	width: 14rem;
	max-width: calc(100% - 3.2rem);
	flex: 0 1 14rem;
}
#design .lec-app-timuser {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	width: 100%;
}
#design .lec-app-tim-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 1rem;
	width: 100%;
}
#design .lec-app-tim-item label {
	flex: 0 0 auto;
	min-width: 9rem;
	font-size: var(--krds-pc-font-size-label-small, 1.5rem);
	font-weight: 500;
	color: var(--krds-light-color-text-bolder, #131416);
}
#design .lec-app-tim-input {
	flex: 1 1 14rem;
	width: 14rem;
	max-width: 24rem;
	min-height: 4.4rem;
	height: auto;
	padding: 0.8rem 1.2rem;
	box-sizing: border-box;
}
#design .lec-app-form .form-hint.lec-app-hint {
	color: var(--krds-light-color-text-danger, #d0153f);
}
#design .fam-intg-list {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
#design .fam-intg-list > li {
	margin: 0;
	padding: 0.8rem 0;
	border-bottom: 1px solid var(--krds-light-color-divider-gray-light, #dee2e6);
}
#design .fam-intg-list > li:last-child {
	border-bottom: 0;
}
#design .fam-intg-list .krds-form-check {
	align-items: flex-start;
}
#design .fam-intg-name {
	display: block;
	font-weight: 500;
}
#design .fam-intg-no,
#design .fam-intg-deny {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.92em;
	color: #555;
}
#design .fam-intg-deny {
	color: var(--krds-light-color-text-danger, #d0153f);
}
#design .fam-intg-list .krds-form-check.is-disabled label {
	opacity: 0.55;
	cursor: not-allowed;
}
#design .lec-app-form .form-conts > .krds-check-area {
	padding-top: 0.2rem;
}

@media (max-width: 767px) {
	#design .lec-app-req-note {
		font-size: var(--krds-mobile-font-size-body-small, 1.4rem);
	}
	#design .lec-app-form .form-group {
		grid-template-columns: 1fr;
		gap: 0.6rem;
		padding: 1.2rem 0;
	}
	#design .lec-app-form .form-tit {
		padding-top: 0;
		font-size: var(--krds-mobile-font-size-label-medium, 1.5rem);
	}
	#design .lec-app-form .form-tit label {
		height: auto !important;
	}
	#design .lec-app-readonly {
		padding-top: 0;
		font-size: var(--krds-mobile-font-size-body-medium, 1.5rem);
	}
	#design .lec-app-form .lec-app-input,
	#design .lec-app-form .input_type2.lec-app-input,
	#design .lec-app-form .lec-app-textarea,
	#design .lec-app-form .lec-app-input--date,
	#design .lec-app-form .krds-form-select {
		max-width: 100%;
	}
	#design .lec-app-tel .input_box {
		max-width: calc(33.33% - 0.6rem);
	}
	#design .lec-app-addr-post {
		width: 100%;
	}
	#design .lec-app-addr-post .btn {
		flex: 1 1 auto;
	}
	#design .lec-app-addcnt .krds-form-select,
	#design .lec-app-tim-input {
		width: 100%;
		max-width: 100%;
		flex: 1 1 100%;
	}
	#design .lec-app-tim-item label {
		min-width: 0;
		width: 100%;
	}
}

/* ==========================================================================
   마이페이지 목록 테이블 (.mypage-list / .mypage-list-table)
   기본 #design table 스타일과 분리
   ========================================================================== */
#design .mypage-list {
	margin: 0 0 2.4rem;
}
#design .mypage-list-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 0;
	border-top: 0;
	background: #fff;
}
#design .mypage-list-table caption {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
#design .mypage-list-table th,
#design .mypage-list-table td {
	border: 0;
	border-bottom: 1px solid #e8eaed;
	background: transparent;
	padding: 1.5rem 1.2rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.45;
	text-align: center;
	color: #1d1d1f;
	vertical-align: middle;
}
#design .mypage-list-table thead th {
	padding: 1.3rem 1.2rem;
	background: #f4f6fb;
	border-top: 1px solid #888;
	border-bottom: 1px solid #d8dbe2;
	font-weight: 600;
	color: #131416;
}
#design .mypage-list-table tbody tr:first-child th,
#design .mypage-list-table tbody tr:first-child td {
	border-top: 0;
}
#design .mypage-list-table tbody tr:hover td {
	background: #f8fafc;
}
#design .mypage-list-table tbody td.tal,
#design .mypage-list-table tbody td.title,
#design .mypage-list-table tbody td.mypage-list-table__title {
	text-align: left;
	font-weight: 600;
}
#design .mypage-list-table tbody td.tal a:not(.krds-btn),
#design .mypage-list-table tbody td.title a:not(.krds-btn),
#design .mypage-list-table tbody td.mypage-list-table__title a:not(.krds-btn) {
	color: #0b50d0;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	font-weight: 600;
}
#design .mypage-list-table tbody td.tal a:not(.krds-btn):hover,
#design .mypage-list-table tbody td.title a:not(.krds-btn):hover,
#design .mypage-list-table tbody td.mypage-list-table__title a:not(.krds-btn):hover,
#design .mypage-list-table tbody td.tal a:not(.krds-btn):focus-visible,
#design .mypage-list-table tbody td.title a:not(.krds-btn):focus-visible,
#design .mypage-list-table tbody td.mypage-list-table__title a:not(.krds-btn):focus-visible {
	text-decoration: underline;
}
#design .mypage-list-table a:not(.krds-btn):focus-visible {
	outline: 0.2rem solid #0b50d0;
	outline-offset: 0.2rem;
}
#design .mypage-list-table tbody td:before {
	display: none;
}
#design .mypage-list-table td form {
	margin: 0.4rem 0 0;
}

@media (max-width: 1023px) {
	#design .mypage-list-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}
	#design .mypage-list-table colgroup {
		display: none;
	}
	#design .mypage-list-table,
	#design .mypage-list-table tbody {
		display: block;
		width: 100%;
		border: 0;
	}
	#design .mypage-list-table tbody tr {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		margin: 0 0 1.2rem;
		padding: 0;
		border: 1px solid #e5e7eb;
		border-radius: 1.2rem;
		background: #fff;
		overflow: hidden;
	}
	#design .mypage-list-table tbody tr:hover td {
		background: transparent;
	}
	#design .mypage-list-table tbody td,
	#design .mypage-list-table tbody td.t-item,
	#design .mypage-list-table tbody td.tac {
		display: flex !important;
		align-items: center;
		width: 100% !important;
		min-width: 0;
		margin: 0;
		padding: 1.1rem 1.6rem !important;
		border: 0;
		border-bottom: 1px solid #f1f3f5;
		background: #fff !important;
		text-align: left !important;
		font-size: 1.5rem;
		box-sizing: border-box;
	}
	#design .mypage-list-table tbody td:last-child {
		border-bottom: 0;
	}
	#design .mypage-list-table tbody td:before {
		content: attr(data-name);
		display: inline-block;
		flex: 0 0 8.8rem;
		width: 8.8rem;
		margin-right: 1.2rem;
		color: #6b7280;
		font-size: 1.3rem;
		font-weight: 500;
		line-height: 1.3;
		white-space: nowrap;
	}
	#design .mypage-list-table tbody td[data-label]:before {
		content: attr(data-label);
	}
	#design .mypage-list-table tbody td:not([data-name]):not([data-label]):before {
		display: none;
	}
	#design .mypage-list-table tbody td[data-name="번호"],
	#design .mypage-list-table tbody td[data-label="번호"],
	#design .mypage-list-table tbody td[data-name="연번"],
	#design .mypage-list-table tbody th[data-name="연번"] {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0 !important;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0 !important;
	}
	#design .mypage-list-table tbody td.tal,
	#design .mypage-list-table tbody td.title,
	#design .mypage-list-table tbody td.mypage-list-table__title,
	#design .mypage-list-table tbody td[data-name="강좌명"],
	#design .mypage-list-table tbody td[data-name="전집명"],
	#design .mypage-list-table tbody td[data-name="제목"],
	#design .mypage-list-table tbody td[data-name="내용"],
	#design .mypage-list-table tbody td[data-label="시설물명"] {
		order: -1;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.4rem;
		padding: 1.6rem 1.6rem 1.2rem !important;
		background: #f8fafc !important;
		font-size: 1.7rem;
		font-weight: 700;
		border-bottom: 1px solid #eef0f3;
	}
	#design .mypage-list-table tbody td.tal:before,
	#design .mypage-list-table tbody td.title:before,
	#design .mypage-list-table tbody td.mypage-list-table__title:before,
	#design .mypage-list-table tbody td[data-name="강좌명"]:before,
	#design .mypage-list-table tbody td[data-name="전집명"]:before,
	#design .mypage-list-table tbody td[data-name="제목"]:before,
	#design .mypage-list-table tbody td[data-name="내용"]:before,
	#design .mypage-list-table tbody td[data-label="시설물명"]:before {
		display: none;
	}
	#design .mypage-list-table tbody td.tal a:not(.krds-btn),
	#design .mypage-list-table tbody td.title a:not(.krds-btn),
	#design .mypage-list-table tbody td.mypage-list-table__title a:not(.krds-btn) {
		font-size: 1.7rem;
	}
}

/* ==========================================================================
   범용 반응형 목록 테이블 (.resp-list / .resp-list-table)
   기존 table / board-list-basic / mypage-list-table 과 분리
   ========================================================================== */
#design .resp-list {
	margin: 0 0 2.4rem;
}
#design .resp-list-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 0;
	background: #fff;
}
#design .resp-list-table caption {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
#design .resp-list-table th,
#design .resp-list-table td {
	border: 0;
	border-bottom: 1px solid #e8eaed;
	background: transparent;
	padding: 1.5rem 1.2rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.45;
	text-align: center;
	color: #1d1d1f;
	vertical-align: middle;
}
#design .resp-list-table thead th {
	padding: 1.3rem 1.2rem;
	background: #f4f6fb;
	border-top: 1px solid #888;
	border-bottom: 1px solid #d8dbe2;
	font-weight: 600;
	color: #131416;
}
#design .resp-list-table tbody tr:hover td {
	background: #f8fafc;
}
#design .resp-list-table tbody td.resp-list-table__title {
	text-align: left;
	font-weight: 600;
}
#design .resp-list-table tbody td.resp-list-table__title a:not(.krds-btn) {
	color: #0b50d0;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	font-weight: 600;
}
#design .resp-list-table tbody td.resp-list-table__title a:not(.krds-btn):hover,
#design .resp-list-table tbody td.resp-list-table__title a:not(.krds-btn):focus-visible {
	text-decoration: underline;
}
#design .resp-list-table a:not(.krds-btn):focus-visible,
#design .resp-list-table .krds-btn:focus-visible {
	outline: 0.2rem solid #0b50d0;
	outline-offset: 0.2rem;
}
#design .resp-list-table tbody td:before {
	display: none;
}
#design .resp-list-table__flag {
	display: inline-block;
	margin-left: 0.4rem;
	padding: 0.1rem 0.6rem;
	border-radius: 0.4rem;
	background: #e8f0fe;
	color: #0b50d0;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.4;
	vertical-align: middle;
}
#design .resp-list-table__sub {
	display: block;
	margin-top: 0.4rem;
	color: #6b7280;
	font-size: 1.3rem;
	font-weight: 400;
}
#design .resp-list-table tbody td.resp-list-table__empty {
	padding: 3.2rem 1.6rem;
	text-align: center;
	color: #6b7280;
	background: #fff;
}

@media (max-width: 1023px) {
	#design .resp-list-table thead,
	#design .resp-list-table tbody td.resp-list-table__num {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0 !important;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0 !important;
	}
	#design .resp-list-table colgroup {
		display: none;
	}
	#design .resp-list-table,
	#design .resp-list-table tbody {
		display: block;
		width: 100%;
		border: 0;
	}
	#design .resp-list-table tbody tr {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		margin: 0 0 1.2rem;
		padding: 0;
		border: 1px solid #e5e7eb;
		border-radius: 1.2rem;
		background: #fff;
		overflow: hidden;
	}
	#design .resp-list-table tbody tr:hover td {
		background: transparent;
	}
	#design .resp-list-table tbody td {
		display: flex;
		align-items: center;
		width: 100%;
		min-width: 0;
		margin: 0;
		padding: 1.1rem 1.6rem;
		border: 0;
		border-bottom: 1px solid #f1f3f5;
		background: #fff;
		text-align: left;
		font-size: 1.5rem;
		box-sizing: border-box;
	}
	#design .resp-list-table tbody td:last-child {
		border-bottom: 0;
	}
	#design .resp-list-table tbody td:before {
		content: attr(data-name);
		display: inline-block;
		flex: 0 0 8.8rem;
		width: 8.8rem;
		margin-right: 1.2rem;
		color: #6b7280;
		font-size: 1.3rem;
		font-weight: 500;
		line-height: 1.3;
		white-space: nowrap;
	}
	#design .resp-list-table tbody td[data-label]:before {
		content: attr(data-label);
	}
	#design .resp-list-table tbody td:not([data-name]):not([data-label]):before,
	#design .resp-list-table tbody td.resp-list-table__empty:before,
	#design .resp-list-table tbody td.resp-list-table__title:before {
		display: none;
	}
	#design .resp-list-table tbody td.resp-list-table__title {
		order: -1;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.4rem;
		padding: 1.6rem 1.6rem 1.2rem;
		background: #f8fafc;
		font-size: 1.7rem;
		font-weight: 700;
		border-bottom: 1px solid #eef0f3;
	}
	#design .resp-list-table tbody td.resp-list-table__title a:not(.krds-btn) {
		font-size: 1.7rem;
	}
	#design .resp-list-table tbody td.resp-list-table__action {
		justify-content: flex-end;
		padding-top: 1.4rem;
		padding-bottom: 1.4rem;
		background: #fafbfc;
	}
	#design .resp-list-table tbody td.resp-list-table__empty {
		display: block;
		text-align: center;
		padding: 2.4rem 1.6rem;
		border: 0;
	}
}


/* ==========================================================================
   견학신청 바로가기 (visitAppIntro)
   ========================================================================== */
   #design .visit-intro {
	margin: 0 auto;
	max-width: 96rem;
}
#design .visit-intro__lead {
	margin: 0 0 2.4rem;
	font-size: 1.7rem;
	line-height: 1.6;
	color: #58616a;
}
#design .visit-intro__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
#design .visit-intro__item {
	margin: 0;
	min-width: 0;
}
#design .visit-intro__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.8rem;
	min-height: 22rem;
	padding: 2.8rem 2.4rem 2.4rem;
	border: 1px solid #e6e8ea;
	border-radius: 1.6rem;
	background: #fff;
	box-sizing: border-box;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 0.4rem 1.6rem rgba(19, 20, 22, 0.04);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
#design .visit-intro__card:hover,
#design .visit-intro__card:focus {
	border-color: #256ef4;
	box-shadow: 0 0.8rem 2.4rem rgba(11, 80, 208, 0.12);
	transform: translateY(-0.2rem);
	outline: none;
}
#design .visit-intro__badge {
	display: inline-flex;
	align-items: center;
	margin-bottom: 1.4rem;
	padding: 0.4rem 1rem;
	border-radius: 999px;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.02em;
}
#design .visit-intro__card--free .visit-intro__badge {
	color: #0b50d0;
	background: #eff5ff;
}
#design .visit-intro__card--story .visit-intro__badge {
	color: #9a3412;
	background: #fff4ed;
}
#design .visit-intro__title {
	display: block;
	margin: 0 0 0.6rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.04em;
	color: #1e2124;
	word-break: keep-all;
}
#design .visit-intro__title span {
	font-weight: 600;
	color: #58616a;
}
#design .visit-intro__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	min-width: 12rem;
	height: 4.4rem;
	padding: 0 1.8rem;
	border-radius: 0.8rem;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	background: #256ef4;
}
#design .visit-intro__card:hover .visit-intro__btn,
#design .visit-intro__card:focus .visit-intro__btn {
	background: #0b50d0;
}
#design .visit-intro__card--story .visit-intro__btn {
	background: #ea580c;
}
#design .visit-intro__card--story:hover .visit-intro__btn,
#design .visit-intro__card--story:focus .visit-intro__btn {
	background: #c2410c;
}

@media (max-width: 767px) {
	#design .visit-intro__list {
		grid-template-columns: 1fr;
		gap: 1.4rem;
	}
	#design .visit-intro__card {
		min-height: 0;
		padding: 2.2rem 2rem;
	}
	#design .visit-intro__title {
		font-size: 1.9rem;
	}
	#design .visit-intro__btn {
		width: 100%;
	}
}

#design .visit-intro__empty {
	margin: 0;
	padding: 3.2rem 2rem;
	border: 1px dashed #cdd1d5;
	border-radius: 1.6rem;
	text-align: center;
	font-size: 1.6rem;
	color: #58616a;
	background: #f8f9fa;
}

/* ==========================================================================
   견학신청 달력 개요 (visitAppCalendar)
   ========================================================================== */
#design .visit-overview {
	margin: 0 0 2.4rem;
	padding: 2.4rem;
	border: 1px solid #e6e8ea;
	border-radius: 1.6rem;
	background: linear-gradient(180deg, #f7f9fc 0%, #fff 48%);
	box-sizing: border-box;
}
#design .visit-overview__head {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0 0 1.8rem;
}
#design .visit-overview__badge {
	display: inline-flex;
	align-items: center;
	padding: 0.3rem 0.9rem;
	border-radius: 999px;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #0b50d0;
	background: #eff5ff;
}
#design .visit-overview__title {
	margin: 0;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.04em;
	color: #1e2124;
	word-break: keep-all;
}
#design .visit-overview__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
#design .visit-overview__item {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	min-width: 0;
	margin: 0;
	padding: 1.4rem 1.6rem;
	border: 1px solid #eef0f2;
	border-radius: 1.2rem;
	background: #fff;
}
#design .visit-overview__label {
	margin: 0;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #6b7380;
}
#design .visit-overview__value {
	margin: 0;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -0.03em;
	color: #1e2124;
	word-break: keep-all;
}
#design .visit-overview__cn {
	margin-top: 1.6rem;
	padding-top: 1.6rem;
	border-top: 1px dashed #e6e8ea;
	font-size: 1.5rem;
	line-height: 1.7;
	color: #3d444b;
	word-break: keep-all;
}

@media (max-width: 767px) {
	#design .visit-overview {
		padding: 1.8rem 1.6rem;
	}
	#design .visit-overview__title {
		font-size: 1.8rem;
	}
	#design .visit-overview__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.8rem;
	}
	#design .visit-overview__item {
		padding: 1.2rem 1.2rem;
	}
	#design .visit-overview__value {
		font-size: 1.5rem;
	}
}

/* ==========================================================================
   견학신청 달력 (visitAppCalendar)
   ========================================================================== */
#contain #design #calendar.visit-cal {
	margin-bottom: 2.4rem;
	padding: 2.4rem;
	border: 1px solid #e6e8ea;
	border-radius: 1.6rem;
	background: #fff;
	box-shadow: 0 0.4rem 1.6rem rgba(19, 20, 22, 0.04);
	box-sizing: border-box;
}
#contain #design #calendar.visit-cal .days {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	margin: 0 0 1.6rem;
	text-align: center;
}
#contain #design #calendar.visit-cal .days a {
	width: 4rem;
	height: 4rem;
	padding: 0;
	border: 1px solid #e6e8ea;
	border-radius: 50%;
	background: #fff;
	box-shadow: none;
	text-indent: -9999px !important;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
#contain #design #calendar.visit-cal .days a:hover,
#contain #design #calendar.visit-cal .days a:focus,
#contain #design #calendar.visit-cal .days a:focus-visible {
	border-color: #256ef4;
	background: #eff5ff;
	box-shadow: 0 0.4rem 1.2rem rgba(11, 80, 208, 0.12);
	outline: 2px solid #256ef4;
	outline-offset: 2px;
}
#contain #design #calendar.visit-cal .days strong,
#contain #design #calendar.visit-cal .days .visit-cal__month {
	display: inline-flex;
	align-items: baseline;
	gap: 0.4rem;
	top: 0;
	margin: 0;
	padding: 0 1.2rem;
	line-height: 1.2;
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: -0.06em;
	color: #1e2124;
}
#contain #design #calendar.visit-cal .days strong em,
#contain #design #calendar.visit-cal .days .visit-cal__month em {
	margin-right: 0.4rem;
	font-style: normal;
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #6b7380;
}
#contain #design #calendar.visit-cal .days strong span,
#contain #design #calendar.visit-cal .days .visit-cal__month span {
	top: 0;
	margin: 0;
	font-size: 1.8rem;
	font-weight: 600;
	color: #58616a;
}
#contain #design #calendar.visit-cal .dk_search {
	position: static !important;
	top: auto;
	right: auto;
	margin: 0 0 1.6rem;
	padding: 0;
	text-align: center;
}
#contain #design #calendar.visit-cal .dk_search fieldset {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	float: none !important;
}
#contain #design #calendar.visit-cal .dk_search button {
	min-width: 6.4rem;
	height: 3.6rem;
	padding: 0 1.2rem;
	border: 0;
	border-radius: 0.8rem;
	font-weight: 600;
	color: #fff;
	background: #256ef4;
	cursor: pointer;
}
#contain #design #calendar.visit-cal .dk_search button:hover {
	background: #0b50d0;
}
#contain #design #calendar.visit-cal .visit_calendar {
	overflow: hidden;
	border: 1px solid #eef0f2;
	border-radius: 1.2rem;
}
#contain #design #calendar.visit-cal .visit_calendar table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}
#contain #design #calendar.visit-cal .visit_calendar thead th {
	height: 4.4rem;
	padding: 0;
	border: 0 !important;
	border-bottom: 1px solid #eef0f2 !important;
	background: #f7f9fc !important;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #58616a !important;
}
#contain #design #calendar.visit-cal .visit_calendar thead th.sun { color: #d92d20 !important; }
#contain #design #calendar.visit-cal .visit_calendar thead th.sat { color: #0b50d0 !important; }
#contain #design #calendar.visit-cal .visit_calendar tbody td,
#contain #design #calendar.visit-cal .visit_calendar tbody td.visit-cal__cell {
	height: auto;
	min-height: 11rem;
	padding: 1rem 0.8rem 1.2rem;
	vertical-align: top;
	background: #fff !important;
	border: 0 !important;
	border-right: 1px solid #f1f3f5 !important;
	border-bottom: 1px solid #f1f3f5 !important;
	transition: background .15s ease;
}
#contain #design #calendar.visit-cal .visit_calendar tbody td:nth-child(7n) {
	border-right: 0 !important;
}
#contain #design #calendar.visit-cal .visit_calendar tbody tr:last-child td {
	border-bottom: 0 !important;
}
#contain #design #calendar.visit-cal .visit_calendar tbody td.is-empty {
	background: #fafbfc !important;
}
#contain #design #calendar.visit-cal .visit_calendar tbody td.is-today {
	background: #f5f9ff !important;
}
#contain #design #calendar.visit-cal .visit_calendar tbody td .day_num {
	margin: 0 0 0.8rem;
	text-align: left;
}
#contain #design #calendar.visit-cal .visit_calendar tbody td .day_num span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.8rem;
	height: 2.8rem;
	padding: 0 0.4rem;
	border-radius: 999px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	color: #1e2124;
}
#contain #design #calendar.visit-cal .visit_calendar tbody td .day_num span.sun { color: #d92d20; }
#contain #design #calendar.visit-cal .visit_calendar tbody td .day_num span.sat { color: #0b50d0; }
#contain #design #calendar.visit-cal .visit_calendar tbody td .day_num span.today {
	color: #fff;
	background: #256ef4;
}
#contain #design #calendar.visit-cal .visit-cal__status .btn,
#contain #design #calendar.visit-cal .visit-cal__status a.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.8rem;
	margin: 0 0 0.4rem;
	padding: 0.4rem 0.6rem;
	border: 0;
	border-radius: 0.8rem;
	box-sizing: border-box;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: -0.02em;
	text-align: center;
	word-break: keep-all;
}
#contain #design #calendar.visit-cal .visit-cal__status .btn_blue {
	background: #256ef4 !important;
	color: #fff !important;
}
#contain #design #calendar.visit-cal .visit-cal__status a.btn_blue:hover,
#contain #design #calendar.visit-cal .visit-cal__status a.btn_blue:focus-visible {
	background: #0b50d0 !important;
	outline: 2px solid #0b50d0;
	outline-offset: 2px;
}
#contain #design #calendar.visit-cal .visit-cal__status .btn_gray {
	background: #fff !important;
	color: #58616a !important;
}
#contain #design #calendar.visit-cal .visit-cal__status .btn_lightgray {
	background: #f4f5f6 !important;
	color: #333 !important;
}
#contain #design #calendar.visit-cal .visit-cal__status .btn_green {
	background: #ecfdf3 !important;
	color: #087443 !important;
}
#contain #design #calendar.visit-cal .visit-cal__status .btn_yellow {
	background: #fff8e8 !important;
	color: #a15c07 !important;
}

#design .visit-cal-list .scheduleList dl {
	margin-top: 0.8rem;
	overflow: hidden;
	border: 1px solid #e6e8ea;
	border-radius: 1.2rem;
	background: #fff;
	box-shadow: 0 0.2rem 0.8rem rgba(19, 20, 22, 0.04);
}
#design .visit-cal-list .scheduleList dl:first-child { margin-top: 0; }
#design .visit-cal-list .scheduleList dt {
	background: #f7f9fc;
}
#design .visit-cal-list .scheduleList dt a,
#design .visit-cal-list .scheduleList dt h3 {
	margin: 0;
	padding: 1.2rem 1.4rem;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	color: #1e2124;
}
#design .visit-cal-list .scheduleList dd .result {
	padding: 1rem 1.2rem 1.2rem;
}
#design .visit-cal-list .scheduleList dd .result .btn,
#design .visit-cal-list .scheduleList dd .result a.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.2rem;
	padding: 0.5rem 1.2rem;
	border: 0;
	border-radius: 0.8rem;
	font-size: 1.4rem;
	font-weight: 600;
}

@media (max-width: 767px) {
	#contain #design #calendar.visit-cal {
		padding: 1.6rem 1.2rem;
	}
	#contain #design #calendar.visit-cal .days strong,
	#contain #design #calendar.visit-cal .days .visit-cal__month {
		font-size: 2.6rem;
	}
	#contain #design #calendar.visit-cal .dk_search {
		margin-bottom: 0;
	}
}

/* ==========================================================================
   범용 신청내용 확인 (.app-form)
   개요용 .lecture-details 와 분리 — 이용자가 제출한 항목 확인용
   ========================================================================== */
#design .app-form {
	margin: 0 0 2.4rem;
	border: 1px solid #d7dee8;
	border-radius: 1.2rem;
	background: #fff;
	overflow: hidden;
}
#design .app-form__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.2rem 2rem;
	padding: 2rem 2.4rem;
	background: linear-gradient(180deg, #f5f8fc 0%, #eef3f9 100%);
	border-bottom: 1px solid #d7dee8;
}
#design .app-form__head-main {
	flex: 1 1 18rem;
	min-width: 0;
}
#design .app-form__kicker {
	margin: 0 0 0.4rem;
	color: #5b677a;
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}
#design .app-form__title {
	margin: 0 0 0.6rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	color: #131416;
	word-break: keep-all;
}
#design .app-form__meta {
	margin: 0;
	color: #4b5563;
	font-size: 1.5rem;
}
#design .app-form__status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.8rem;
}
#design .app-form__badge {
	display: inline-flex;
	align-items: center;
	min-height: 2.8rem;
	padding: 0 1rem;
	border-radius: 999px;
	background: #e8edf3;
	color: #334155;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1;
}
#design .app-form__badge--primary {
	background: #e8f0fe;
	color: #0b50d0;
}
#design .app-form__badge--wait {
	background: #fff4e5;
	color: #b45309;
}
#design .app-form__badge--success {
	background: #e7f7ed;
	color: #0f7a3a;
}
#design .app-form__badge--danger {
	background: #fdecec;
	color: #c0341d;
}
#design .app-form__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	margin: 0;
}
#design .app-form__row {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0;
	padding: 1.6rem 2.4rem;
	border-bottom: 1px solid #eef1f5;
	box-sizing: border-box;
}
#design .app-form__row dt {
	margin: 0;
	color: #6b7280;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.3;
}
#design .app-form__row dd {
	margin: 0;
	color: #1d1d1f;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.5;
	word-break: break-word;
}
#design .app-form__row--full {
	grid-column: 1 / -1;
	background: #fafbfc;
}
#design .app-form__row--full dd {
	font-weight: 500;
}
#design .app-form__row:last-child {
	border-bottom: 0;
}
#design .app-form .lec-app-req-note,
#design .app-form__req-note {
	margin: 1.6rem 2.4rem 0;
}
#design .app-form .lec-app-form {
	margin: 0;
	padding: 0 2.4rem 0.8rem;
	border-top: 0;
}
#design .lec-app-birth {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 0.8rem;
}
#design .lec-app-birth .krds-form-select,
#design .lec-app-birth select {
	width: auto;
	min-width: 10rem;
	max-width: 14rem;
	min-height: 4.4rem;
}

@media (max-width: 767px) {
	#design .app-form__head {
		padding: 1.6rem 1.6rem 1.4rem;
	}
	#design .app-form__title {
		font-size: 1.8rem;
	}
	#design .app-form__list {
		grid-template-columns: 1fr;
	}
	#design .app-form__row {
		padding: 1.4rem 1.6rem;
	}
	#design .app-form .lec-app-req-note,
	#design .app-form__req-note {
		margin: 1.2rem 1.6rem 0;
	}
	#design .app-form .lec-app-form {
		padding: 0 1.6rem 0.4rem;
	}
	#design .lec-app-birth .krds-form-select,
	#design .lec-app-birth select {
		flex: 1 1 9rem;
		max-width: 100%;
	}
}


/* ==========================================================================
   FAQ (wdFaq / faq_list)
   ========================================================================== */
#design .wd-faq .faq-badge {
	display: inline-block;
	margin-right: 6px;
	padding: 1px 6px;
	border: 1px solid #c45c26;
	color: #c45c26;
	font-size: 12px;
	font-style: normal;
	vertical-align: middle;
}
#design .wd-faq .faq-empty-title {
	margin: 0 0 12px;
	font-size: 1.125rem;
	font-weight: 700;
}
#design .wd-faq .faq-answer {
	line-height: 1.7;
	overflow: visible;
}
#design .wd-faq .faq-answer:focus-visible,
#design .wd-faq .btn-accordion:focus-visible,
#design .wd-faq .faq-stfc-btn:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
}
#design .wd-faq .faq-answer img {
	max-width: 100%;
	height: auto;
}
#design .wd-faq .faq-meta {
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px dashed #ddd;
	color: #555;
	font-size: 14px;
}
#design .wd-faq .faq-meta p {
	margin: 4px 0;
}
#design .wd-faq .faq-stfc {
	margin-top: 20px;
	padding: 16px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
}
#design .wd-faq .faq-stfc__q {
	margin: 0 0 10px;
	font-weight: 600;
}
#design .wd-faq .faq-stfc__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
#design .wd-faq .faq-stfc__msg {
	margin: 10px 0 0;
	min-height: 1.2em;
	color: #2563eb;
	font-size: 14px;
}
#design .wd-faq .faq-stfc.is-done .faq-stfc-btn,
#design .wd-faq .faq-stfc.is-loading .faq-stfc-btn {
	opacity: .65;
	pointer-events: none;
}
#design .wd-faq .faq-stfc.is-loading {
	cursor: wait;
}
/* KRDS 기본 max-height:100vh 때문에 긴 답변이 잘림 → 내용 높이만큼 펼침 */
#design .wd-faq .board-faq-accordion .accordion-item .accordion-collapse {
	max-height: 0;
	overflow: hidden;
	visibility: hidden;
	transition: max-height .35s ease;
}
#design .wd-faq .board-faq-accordion .accordion-item.active .accordion-collapse {
	max-height: none;
	height: auto;
	overflow: visible;
	visibility: visible;
}


/* ==========================================================================
   범용 항목/내용 폼 레이아웃 (.wd-field-form)
   table(th/td) 대체 — label·radiogroup·입력 필드 구성
   ========================================================================== */
   #design .wd-field-form {
	margin: 0 0 2.4rem;
	border-top: 1px solid var(--krds-light-color-border-gray-dark, #8a949e);
	border-bottom: 1px solid var(--krds-light-color-border-gray-dark, #8a949e);
}
#design .wd-field-form--inner {
	margin: 1.6rem 0 0;
}
#design .wd-field-form__group {
	display: grid;
	grid-template-columns: 12.8rem minmax(0, 1fr);
	gap: 0.8rem 1.6rem;
	align-items: start;
	width: 100%;
	margin: 0;
	padding: 1.4rem 0;
	border-bottom: 1px solid var(--krds-light-color-divider-gray-light, #dee2e6);
}
#design .wd-field-form__group:last-child {
	border-bottom: 0;
}
#design .wd-field-form__label {
	padding-top: 0.6rem;
	font-size: var(--krds-pc-font-size-label-medium, 1.7rem);
	font-weight: 600;
	line-height: 1.4;
	color: var(--krds-light-color-text-bolder, #131416);
	word-break: keep-all;
}
#design .wd-field-form__label label {
	font: inherit;
	color: inherit;
}
#design .wd-field-form__req {
	margin-right: 0.2em;
	font-weight: 700;
	color: var(--krds-light-color-text-danger, #d0153f);
}
#design .wd-field-form__conts {
	min-width: 0;
	width: 100%;
}
#design .wd-field-form__conts > .krds-check-area {
	padding-top: 0.2rem;
}
#design .wd-field-form__conts .box,
#design .wd-field-form__conts .input_box,
#design .wd-field-form__conts .wd_box,
#design .wd-field-form__conts .krds-form-select,
#design .wd-field-form__conts select {
	max-width: 42rem;
}
#design .wd-field-form__conts .box,
#design .wd-field-form__conts .input_box {
	width: 100%;
	min-height: 4.4rem;
	padding: 0.8rem 1.2rem;
	box-sizing: border-box;
}
#design .wd-field-form__birth {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 0.8rem;
	width: 100%;
}
#design .wd-field-form__birth .krds-form-select,
#design .wd-field-form__birth select,
#design .wd-field-form__birth .wd_box {
	width: auto;
	min-width: 10rem;
	max-width: 14rem;
	min-height: 4.4rem;
}

@media (max-width: 767px) {
	#design .wd-field-form__group {
		grid-template-columns: 1fr;
		gap: 0.6rem;
		padding: 1.2rem 0;
	}
	#design .wd-field-form__label {
		padding-top: 0;
		font-size: var(--krds-mobile-font-size-label-medium, 1.5rem);
	}
	#design .wd-field-form__conts .box,
	#design .wd-field-form__conts .input_box,
	#design .wd-field-form__conts .wd_box,
	#design .wd-field-form__conts .krds-form-select,
	#design .wd-field-form__conts select {
		max-width: 100%;
	}
	#design .wd-field-form__birth .krds-form-select,
	#design .wd-field-form__birth select,
	#design .wd-field-form__birth .wd_box {
		flex: 1 1 9rem;
		max-width: 100%;
	}
}

