@charset "utf-8";

/* 영화제 목록의 섹션 표시: 상세보기와 같은 주황 배지 + 충분한 외곽 여백 */
.baord_gallery .itemList .category,
.board_webzine .item .category,
.boardList li .category,
.boardList td .category {
	text-align: left;
	border: 0;
}

.baord_gallery .itemList .category {
	margin: 0 !important;
	padding: 14px 10px 9px !important;
}
.baord_gallery .itemList .category + .cover_subject {
	padding-top: 0;
}
/* 갤러리 제목의 기본 좌측 패딩(10px)과 정확히 맞춘다. */
.baord_gallery .itemList .category .festival-category-badge {
	margin-left: 0 !important;
	transform: none !important;
}

.board_webzine .item .festival-category-wrap {
	margin: 0 0 10px !important;
	padding: 0 !important;
}
.boardList li .category {
	margin: 0 0 10px !important;
	padding: 0 !important;
}
.boardList td.title .festival-category-badge {
	display: table;
	margin: 0 0 8px;
}

.board_webzine .item .festival-category-badge,
.boardList li .festival-category-badge,
.boardList td .festival-category-badge,
.baord_gallery .itemList .festival-category-badge {
	display: inline-block;
	max-width: 100%;
	margin: 0;
	padding: 6px 10px;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 700;
	letter-spacing: -.01em;
	white-space: normal;
	word-break: keep-all;
	color: var(--festival-category-fg, #fff) !important;
	background: var(--festival-category-bg, #f15a24) !important;
	border: 0 !important;
	border-radius: 3px;
	box-shadow: none !important;
	box-sizing: border-box;
}

/* V1.6 디자인 위계: 제목 > 요약 > 세부정보 */
.baord_gallery .itemList .cover_subject a {
	font-weight: 700;
	color: #222;
	line-height: 1.45;
}
.baord_gallery .itemList .summary {
	font-weight: 400;
	color: #555;
	line-height: 1.65;
}
.baord_gallery .itemList .extra,
.baord_gallery .itemList .date,
.baord_gallery .itemList .nick,
.baord_gallery .itemList .lastReply {
	font-size: 12px;
	color: #888;
	line-height: 1.6;
}
.board_webzine .item .subject a,
.boardList li a.subject,
.boardList td.title a {
	font-weight: 700;
	color: #222;
}
.board_webzine .item .summary,
.boardList li .summary {
	color: #555;
	line-height: 1.65;
}
#xet_board.black .baord_gallery .itemList .cover_subject a,
#xet_board.black .board_webzine .item .subject a,
#xet_board.black .boardList li a.subject,
#xet_board.black .boardList td.title a { color: #f2f2f2; }
#xet_board.black .baord_gallery .itemList .summary,
#xet_board.black .board_webzine .item .summary,
#xet_board.black .boardList li .summary { color: #c7c7c7; }
#xet_board.black .board_webzine .item .festival-category-badge,
#xet_board.black .boardList li .festival-category-badge,
#xet_board.black .boardList td .festival-category-badge,
#xet_board.black .baord_gallery .itemList .festival-category-badge {
	color: var(--festival-category-fg, #fff) !important;
	background: var(--festival-category-bg, #f15a24) !important;
	border: 0 !important;
}

/* 현재 선택된 글/카드 라인을 메인 주황색으로 통일 */
.baord_gallery .itemList.on,
#xet_board.black .baord_gallery .itemList.on {
	border-color: #f15a24 !important;
}
.board_webzine .item.on {
	border-color: #f15a24 !important;
}
.boardList tr.on td,
.boardList li.on {
	border-bottom-color: #f15a24 !important;
}

/* 상단 카테고리 마우스오버/키보드 포커스: 원본 중립색으로 복구 */
#xet_board .categoryList li a:not(.on):hover,
#xet_board .categoryList li a:not(.on):focus,
#xet_board .categoryList li a:not(.on):focus-visible {
	color: #555;
	border-color: #e1e1e1;
	background: #fff;
	outline: 0;
	box-shadow: none;
}
#xet_board.black .categoryList li a:not(.on):hover,
#xet_board.black .categoryList li a:not(.on):focus,
#xet_board.black .categoryList li a:not(.on):focus-visible {
	color: #ccc;
	border-color: #333;
	background: #000;
	outline: 0;
	box-shadow: none;
}
#xet_board .categoryList li a.on,
#xet_board .categoryList li.on > a {
	color: #fff !important;
	background: #4b4b4b !important;
	border-color: #4b4b4b !important;
	box-shadow: none;
}
#xet_board.black .categoryList li a.on,
#xet_board.black .categoryList li.on > a {
	color: #fff !important;
	background: #333 !important;
	border-color: #333 !important;
	box-shadow: none;
}
#xet_board a:focus-visible,
#xet_board button:focus-visible,
#xet_board input:focus-visible,
#xet_board select:focus-visible {
	outline: 2px solid #f15a24;
	outline-offset: 2px;
}

@media (max-width: 767px) {
	.baord_gallery .itemList .category {
		padding: 12px 10px 8px !important;
	}
	.board_webzine .item .festival-category-badge,
	.boardList li .festival-category-badge,
	.boardList td .festival-category-badge,
	.baord_gallery .itemList .festival-category-badge {
		padding: 5px 9px;
		font-size: 12px;
	}
}

/* V1.5: XE 썸네일 생성 실패 시 원본 이미지 대체 표시 */
#xet_board .festival-list-thumbnail {
	display: block;
	max-width: 100%;
}
#xet_board .baord_gallery .festival-list-thumbnail.is-original-fallback {
	width: 100%;
	object-fit: cover;
	object-position: center;
}
#xet_board .board_webzine .festival-list-thumbnail.is-original-fallback,
#xet_board .boardList .festival-list-thumbnail.is-original-fallback {
	width: 100%;
	height: auto;
}

/* V1.8: 갤러리·웹진 섹션 배지를 썸네일 우측 상단에 오버레이 */
#xet_board .festival-thumbnail-wrap {
	position: relative;
}
#xet_board .festival-thumbnail-wrap .festival-category-overlay {
	position: absolute;
	z-index: 4;
	top: 10px;
	right: 10px;
	left: auto;
	max-width: calc(100% - 20px);
	margin: 0 !important;
	padding: 6px 10px !important;
	color: var(--festival-category-fg, #fff) !important;
	background: var(--festival-category-overlay-bg, rgba(241,90,36,.9)) !important;
	border: 0 !important;
	box-shadow: 0 1px 4px rgba(0,0,0,.16) !important;
	pointer-events: none;
}
#xet_board.black .festival-thumbnail-wrap .festival-category-overlay {
	color: var(--festival-category-fg, #fff) !important;
	background: var(--festival-category-overlay-bg, rgba(241,90,36,.9)) !important;
	border: 0 !important;
}

/* 관리자 썸네일 너비/높이 비율을 생성 썸네일과 원본 대체 이미지에 동일하게 적용 */
#xet_board .baord_gallery .festival-thumbnail-wrap .thumb,
#xet_board .board_webzine .festival-thumbnail-wrap .thumb {
	aspect-ratio: var(--festival-thumb-w) / var(--festival-thumb-h);
	overflow: hidden;
}
#xet_board .baord_gallery .festival-thumbnail-wrap .thumb > a,
#xet_board .board_webzine .festival-thumbnail-wrap .thumb > a {
	width: 100%;
	height: 100%;
}
#xet_board .baord_gallery .festival-thumbnail-wrap .thumb > a > img,
#xet_board .board_webzine .festival-thumbnail-wrap .thumb > a > img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 767px) {
	#xet_board .festival-thumbnail-wrap .festival-category-overlay {
		top: 8px;
		right: 8px;
		left: auto;
		max-width: calc(100% - 16px);
		padding: 5px 8px !important;
		font-size: 11px;
	}
}
