@charset "utf-8";

/* Top Search */
.list-tsearch {
	border: 1px solid #ddd;
	background: #fafafa;
	padding: 20px 15px 3px;
	margin-bottom: 15px;
}

/* Category */
.list-category .tabs {
	margin-bottom: 20px;
}

.list-category .dropdown {
	margin-bottom: 20px;
}

.list-category .active a,
.list-category .selected a {
	color: crimson;
	font-weight: bold !important;
}

/* List */
.list-wrap {
	width: 100%;
}

.list-admin {
	text-align: center;
	margin: 15px 0px;
}

.list-btn .sort-drop {
	min-width: 120px !important;
	left: auto !important;
	right: 0px !important;
}

.list-btn .sort-drop .sort a {
	color: crimson !important;
	font-weight: bold !important;
}

.is-pc .ko .list-btn .sort-drop {
	font-size: 12px;
}

/* Page */
.list-wrap .pagination a,
.view-wrap .pagination a {
	color: #333 !important;
}

.list-wrap .pagination .active a,
.view-wrap .pagination .active a {
	color: #fff !important;
	background: #444 !important;
	border-color: #444 !important;
}

/* View */
.view-wrap {
	width: 100%;
	overflow: hidden;
}

.view-wrap.view-modal {
	padding: 5px;
	margin: 0px;
}

.view-btn {
	margin: 0px 0px 30px;
}

.view-btn i {
	margin-right: 2px;
}

/* Write */
.write-wrap {
	width: 100%;
	overflow: hidden;
}

@media all and (max-width:460px) {
	.responsive .view-btn i {
		margin-right: 0px;
	}
}

/* =============================================================================
   JISAN-MAP COMMON STYLE (Refactored)
   - Nanum Gothic Font
   - Deep Blue Label / Dark Gray Text
   - Responsive Adjustments
============================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Nanum+Gothic:wght@400;700;800&display=swap');

/* 공통 폰트 적용 */
.list-item,
.view-wrap,
.write-wrap,
.div-title-underbar,
.view-content,
.panel-heading,
.list-group-item,
#fwrite,
.control-label,
.form-control,
.btn,
.well,
.help-block,
input,
select,
textarea,
button,
option {
	font-family: 'Nanum Gothic', sans-serif !important;
}

/* -----------------------------------------------------------------------------
   List View Styles
----------------------------------------------------------------------------- */
.list-item h2.media-heading {
	display: block;
	font-size: 16px;
	font-weight: bold;
	color: #000;
	line-height: 1.4;
	margin: 0px;
	padding: 0px 0px 6px;
}

.list-item .list-details {
	margin-top: 6px;
	padding: 6px 0px;
	border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
	font-size: 15px;
	/* Common PC Font Size */
	color: #333;
	line-height: 1.6;
}

.list-item .list-details strong {
	color: #003399;
	/* Deep Blue Label */
}

/* -----------------------------------------------------------------------------
   Detail & Write View Common Styles
----------------------------------------------------------------------------- */

/* 항목 이름 (Label) - 딥블루 */
.div-title-underbar b,
.div-title-underbar-thin b,
.div-title-underbar-bold b,
.form-horizontal .control-label {
	color: #003399 !important;
	font-size: 15px;
	font-weight: bold;
	padding-top: 10px !important;
	/* Vertically align with 40px input */
}

/* 값 (Value) & 입력 필드 - 진한 회색 */
/* 기본 input-sm 스타일을 강력하게 덮어써서 폰트 크기와 높이를 확보 */
/* 값 (Value) & 입력 필드 - 진한 회색 */
/* 기본 input-sm 스타일을 강력하게 덮어써서 폰트 크기와 높이를 확보 */
/* 값 (Value) & 입력 필드 - 진한 회색 (폰트 및 색상 공통) */
.div-title-underbar font[color="teal"],
.form-control,
.form-control.input-sm,
select.form-control,
.write-wrap select,
.write-wrap input[type="text"],
.write-wrap input[type="password"],
.write-wrap input[type="number"],
.write-wrap input[type="date"],
.write-wrap input[type="email"] {
	color: #333 !important;
	font-size: 15px !important;
	font-family: 'Nanum Gothic', sans-serif !important;
	line-height: normal !important;
}

/* 입력 필드 박스 스타일 (테두리, 높이, 배경 등) - View 페이지 제외 */
.form-control,
.form-control.input-sm,
select.form-control,
.write-wrap select,
.write-wrap input[type="text"],
.write-wrap input[type="password"],
.write-wrap input[type="number"],
.write-wrap input[type="date"],
.write-wrap input[type="email"] {
	height: 40px !important;
	/* Increase click area and visual balance */
	padding: 8px 12px !important;
	/* Comfortable padding */
	vertical-align: middle !important;
	border: 1px solid #ccc !important;
	/* Ensure border exists for raw selects */
	border-radius: 4px !important;
	/* Consistent radius */
	background-color: #fff !important;
}

/* Addon (아이콘 등) 스타일 맞춤 */
.input-group-addon {
	color: #333 !important;
	font-size: 14px;
	height: 40px !important;
	line-height: 26px !important;
	/* Align icon vertically */
}

/* 체크박스, 라디오 버튼 옆의 텍스트 등 일반 텍스트 스타일 일괄 적용 */
.write-wrap .form-group,
.write-wrap .col-sm-10,
.write-wrap .col-sm-4,
.write-wrap .col-sm-5,
.write-wrap label {
	font-size: 15px !important;
	color: #333;
}

.write-wrap input[type="radio"],
.write-wrap input[type="checkbox"] {
	margin-top: 0;
	vertical-align: middle;
	/* Align with text */
	margin-right: 4px;
}

/* -----------------------------------------------------------------------------
   Responsive (Mobile)
----------------------------------------------------------------------------- */
@media (max-width: 767px) {

	/* List */
	.list-item h2.media-heading {
		font-size: 15px;
	}

	.list-item .list-details {
		font-size: 13px;
		letter-spacing: -0.5px;
	}

	/* View & Write Label */
	.div-title-underbar b,
	.form-horizontal .control-label {
		font-size: 13px !important;
		text-align: left !important;
	}

	/* View & Write Value */
	.div-title-underbar font[color="teal"],
	.form-control {
		font-size: 13px !important;
		letter-spacing: -0.5px;
	}
}