@charset "utf-8";

/* Loading */
#listLoading { position:absolute; left:50%; top:50%; margin-left:-90px; margin-top:-90px; display:none; }

/* Category */
.list-category .tabs { margin-bottom:20px; }
.list-category .dropdown { margin-bottom:20px; }
.list-category .active a, .list-category .selected a { color:var(--brand); font-weight:bold !important; }

/* Icon */
.list-notice .wr-notice { display:inline-block; padding:0px; margin:0px; overflow:hidden; vertical-align:middle; background-repeat: no-repeat; background-position: left top; width:37px; height:19px; background-image: url('./img/icon_notice.gif'); }
.list-wrap .wr-text { font-family:dotum; font-size:12px; letter-spacing:-1px; line-height:12px; font-weight:normal; }
.list-wrap .wr-icon { display:inline-block; padding:0px; margin:0px; overflow:hidden; vertical-align:middle; background-repeat: no-repeat; background-position: left top; }
.list-wrap .wr-notice { width:37px; height:19px; background-image: url('./img/icon_notice.gif'); }
.list-wrap .wr-new { width:5px; height:5px; background-image: url('./img/icon_new.gif'); position:absolute; margin-left:10px; }
.list-wrap .wr-secret { width:12px; height:12px; background-image: url('./img/icon_secret.gif'); }
.list-wrap .wr-hot { width:12px; height:12px; background-image: url('./img/icon_hot.gif'); }

/* List */
.list-wrap { width:100%; margin-top:16px; }
.list-modal { position:relative; height: 0; padding-bottom: 56.25%; overflow: hidden; }
.list-modal iframe { position: absolute;top: 0; left: 0; width: 100%; height:100%; }
.list-btn-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    margin-bottom: 12px;
    width: 100%;
}
.list-btn-box .form-group { margin-bottom: 0; }
.list-btn-box .pull-right { float: none !important; }
.list-btn-box a span { margin-left: 4px; }
.list-btn-box .sort a { color: var(--brand) !important; font-weight: bold !important; }
.list-btn-box .dropdown-menu { font-size: 12px; }
.list-none { margin: 0 0 15px; padding: 80px 0; }

/* ── 페이지네이션 ── */
.list-page { margin-top: 8px; margin-bottom: 15px; text-align: center; }
.list-page .pagination {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1px;
}
@media (max-width: 480px) {
    .list-page { text-align: center; }
    .list-page .pagination {
        flex-wrap: nowrap;
        justify-content: center;
        gap: 1px;
    }
    .list-page .pagination > li > a,
    .list-page .pagination > li > span,
    .list-page .pagination > li > strong { padding: 5px 7px !important; font-size: 13px; }
    /* JS(adjustPagination)로 페이지 li 가시성 제어 — 화살표 4개는 항상 표시 */
    .list-page .pagination > li.js-paging-hidden { display: none; }
}
.list-page .pagination li {
    float: none;
    margin: 0;
    list-style: none;
}
.list-page .pagination > .disabled > span,
.list-page .pagination > .disabled > span:hover,
.list-page .pagination > .disabled > a,
.list-page .pagination > .disabled > a:hover {
    cursor: not-allowed;
    color: var(--text-muted) !important;
    background: var(--bg-page) !important;
    border-color: var(--border) !important;
    padding: 5px 10px;
}

/* 비활성 버튼: 흰 배경 */
.list-wrap .pagination a,
.view-wrap .pagination a,
.list-wrap .pagination span,
.view-wrap .pagination span {
    color: var(--text-primary) !important;
    background: var(--bg-white) !important;
    border-color: var(--border) !important;
    padding: 5px 10px;
}

/* 활성 버튼: 브랜드 색 */
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
    color: #fff !important;
    background: var(--brand) !important;
    border-color: var(--brand) !important;
    padding: 5px 10px;
}
.list-wrap .pagination .active a,
.view-wrap .pagination .active a {
    color: #fff !important;
    background: var(--brand) !important;
    border-color: var(--brand) !important;
    padding: 5px 10px;
}

/* View */
.view-wrap { width:100%; }
.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 .list-btn { text-align:center; margin:0px auto; }
	.responsive .pull-right.list-btn { float:none !important; }
	.responsive .view-btn i { margin-right:0px; }
}

/* ── 검색 모달 ── */
#searchModal .modal-dialog {
	min-width: 300px;
	max-width: 500px;
	width: 90%;
	margin: 0 auto;
}
#searchModal .modal-content {
	border: 1px solid var(--border, #ddd);
	border-radius: var(--radius, 6px);
	box-shadow: 0 8px 32px rgba(0,0,0,0.18);
	overflow: hidden;
}
#searchModal .modal-header {
	border-bottom: 1px solid var(--border, #ddd);
	background: var(--bg-page, #f5f6f8);
	padding: 14px 20px;
}
#searchModal .modal-header .modal-title {
	font-weight: 700;
	font-size: 0.9375rem;
	color: var(--text-primary, #222);
}
#searchModal .modal-header .close {
	margin-top: -2px;
	color: var(--text-sub, #666);
	opacity: 0.7;
}
#searchModal .modal-header .close:hover { opacity: 1; }
#searchModal .modal-body { padding: 16px 20px 20px; }

/* 검색 한 줄 레이아웃 */
#searchModal .search-row {
	display: flex;
	align-items: stretch;
	gap: 0;
	border: 1px solid var(--border, #ddd);
	border-radius: var(--radius, 4px);
	overflow: hidden;
	background: var(--bg-white, #fff);
}
#searchModal .search-sfl-wrap {
	position: relative;
	flex-shrink: 0;
	border-right: 1px solid var(--border, #ddd);
	background: var(--bg-page, #f5f6f8);
}
#searchModal .search-sfl-wrap::after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid var(--text-sub, #888);
	pointer-events: none;
}
#searchModal .search-sfl {
	appearance: none;
	-webkit-appearance: none;
	border: none;
	background: transparent;
	padding: 0 28px 0 12px;
	height: 40px;
	font-size: 0.8125rem;
	color: var(--text-primary, #222);
	cursor: pointer;
	outline: none;
}
#searchModal .search-stx {
	flex: 1;
	border: none;
	padding: 0 12px;
	height: 40px;
	font-size: 0.875rem;
	color: var(--text-primary, #222);
	background: transparent;
	outline: none;
	min-width: 0;
}
#searchModal .search-stx::placeholder { color: var(--text-muted, #aaa); }
#searchModal .search-row:focus-within {
	border-color: var(--brand, #e33030);
	box-shadow: 0 0 0 2px rgba(227,48,48,0.10);
}
#searchModal .search-btn {
	flex-shrink: 0;
	border: none;
	border-radius: 0 !important;
	padding: 0 20px;
	height: 40px;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 40px;
}

/* 화면 정중앙 표시 */
#searchModal.in {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}
#searchModal.in .modal-dialog {
	margin: 0;
	width: 100%;
}

/* ── feat-rows : 세로 나열형 (newsite / muktiinfo / totoguide) ── */
.feat-rows {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}
.feat-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 20px;
    background: var(--bg-white);
    border-bottom: 1px solid var(--border);
    transition: background 0.15s;
}
.feat-row:last-child { border-bottom: none; }
.feat-row:hover { background: var(--bg-page); }
.feat-row-num {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--brand);
    line-height: 1.3;
    min-width: 28px;
    flex-shrink: 0;
}
.feat-row-body { flex: 1; min-width: 0; }
.feat-row-body h4 {
    font-size: 0.9375rem;
    font-weight: 700;
    margin: 0 0 5px;
    color: var(--text-primary);
}
.feat-row-body p {
    font-size: 0.8125rem;
    color: var(--text-sub);
    margin: 0;
    line-height: 1.65;
}
@media (max-width: 480px) {
    .feat-row { gap: 10px; padding: 14px 14px; }
    .feat-row-num { font-size: 1rem; min-width: 22px; }
    .feat-row-icon { width: 26px; height: 26px; }
}