@charset "utf-8";
/* =========================================================================
 [그누보드 메인 레이아웃 & 내비게이션 필터 프레임워크]
 ========================================================================= */
.idx-container { max-width: 1200px; margin: 0 auto; padding: 0 10px; } 
.idx-highlight-red { color: #ff4e4e; font-weight: bold; } 
.idx-premium-filter-wrap { margin-bottom: 25px; position: relative; width: 100%; clear: both; } 
.idx-pnav-filter { background: #222; display: flex; align-items: center; padding: 0 15px; height: 45px; border-bottom: 1px solid #000; border-radius: 4px; justify-content: space-between; box-sizing: border-box; } 
.idx-pnav-left-zone { display: flex; align-items: center; flex: 1; height: 45px; } 
.idx-pnav-btn { background: none; border: none; color: #fff; font-size: 14px; font-weight: bold; height: 45px; padding: 0 15px; display: flex; align-items: center; gap: 6px; cursor: pointer; 
	border-right: 1px solid #3d3d3d; outline: none !important; box-sizing: border-box; } 
.idx-pnav-btn:hover, .idx-pnav-btn.active { background: #111; color: #ff4e4e; } 
.idx-pnav-status { color: #ccc; font-size: 13px; padding-left: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; } 
.idx-pnav-search-box { display: flex; align-items: center; background: #fff; border-radius: 3px; height: 30px; padding: 0 5px; width: 200px; box-sizing: border-box; margin-left: 10px; } 
.idx-pnav-search-input { border: none; outline: none; width: 160px; height: 26px; font-size: 13px; padding: 0 5px; background: transparent; color: #000; } 
.idx-pnav-search-btn { background: none; border: none; color: #333; cursor: pointer; font-size: 14px; padding: 0 5px; } 

/* 슬라이딩 드롭다운 레이어 */
.idx-pnav-drop-panel { background: #f5f5f5; border: 1px solid #d5d5d5; padding: 15px 20px; display: none; position: relative; border-top: none; box-shadow: 0 4px 10px rgba(0,0,0,0.08); margin-bottom: 20px; 
	border-radius: 0 0 4px 4px; box-sizing: border-box; } 
.idx-pnav-drop-panel.open-panel { display: block; } 
.idx-pnav-panel-title { font-size: 15px; font-weight: bold; color: #ab0000; margin-bottom: 15px; display: flex; align-items: center; gap: 6px; } 
.idx-pnav-panel-title i.idx-pnav-close { font-size: 20px; color: #000; cursor: pointer; position: absolute; top: 12px; right: 15px; } 
.idx-pnav-tab-row { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 12px; } 
.idx-pnav-tab-link { display: inline-block; padding: 6px 16px; background: #fff; border: 1px solid #e5e5e5; color: #333; text-decoration: none !important; font-size: 14px; border-radius: 3px; transition: all 0.1s; } 
.idx-pnav-tab-link:hover { border-color: #888; background: #fafafa; } 
.idx-pnav-tab-link.active { background: #fff; border-color: #ab0000; color: #ab0000; font-weight: bold; border-width: 2px; padding: 5px 15px; } 
.idx-pnav-sub-zone { background: #fff; border: 1px solid #e5e5e5; padding: 15px; border-radius: 4px; display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: 10px; margin-top: 10px; } 
.idx-pnav-sub-link { font-size: 13px; color: #666; text-decoration: none !important; padding: 4px; text-align: center; display: block; } 
.idx-pnav-sub-link:hover, .idx-pnav-sub-link.active { color: #ab0000; font-weight: bold; text-decoration: underline !important; } 
.idx-pnav-sub-all { font-weight: bold !important; color: #000 !important; } 

/* 3차 소분류 동/읍/면 프레임 */
.idx-pnav-grand-zone { background: #fff; border: 1px solid #cbd5e1; padding: 15px; border-radius: 4px; display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 10px; margin-top: 10px; 
	border-left: 4px solid #10b981; } 
.idx-pnav-grand-link { font-size: 13px; color: #475569; text-decoration: none !important; padding: 4px; text-align: center; display: block; } 
.idx-pnav-grand-link:hover, .idx-pnav-grand-link.active { color: #10b981; font-weight: bold; text-decoration: underline !important; } 
.idx-pnav-grand-all { font-weight: bold !important; color: #000 !important; } 

/* =========================================================================
 [카드형 & 웹진형 그리드 레이아웃 컴포넌트]
 ========================================================================= */
.idx-tier-title { font-size: 18px; font-weight: bold; color: #1e293b; padding: 12px 5px; margin-top: 35px; margin-bottom: 15px; border-bottom: 2px solid #0f172a; display: flex; align-items: center; gap: 8px; 
	clear: both; } 
.idx-card-in { position: relative; background: #fff; border: 1px solid #e5e5e5; border-radius: 7px; overflow: hidden; transition: all 0.2s ease-in-out; height: 100%; 
	display: flex; flex-direction: column; justify-content: space-between; text-decoration: none !important; } 
.idx-card-in:hover { border-color: #959595; box-shadow: 0 4px 15px rgba(0,0,0,0.06); } 
.idx-card-image { position: relative; overflow: hidden; padding: 15px 15px 0; } 
.idx-card-image-in { position: relative; overflow: hidden; border-radius: 5px; height: 180px; background: #f8fafc; } 
.idx-card-info { position: relative; padding: 15px; flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; } 
.idx-card-info h4 { font-size: 15px; color: #252525; line-height: 1.4; font-weight: bold; margin-bottom: 10px; word-break: break-all; padding-right: 5px; } 
.idx-card-info h4 a:hover { text-decoration: underline; } 
.idx-card-info .gallery-cont { color: #757575; font-size: 13px; line-height: 1.5; margin-bottom: 12px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; 
	-webkit-box-orient: vertical; height: 38px; } 
.idx-card-bottom { border-top: 1px solid #e5e5e5; padding: 10px 15px; background: #fafafa; font-size: 12px; color: #64748b; display: flex; justify-content: space-between; align-items: center; } 

/* 스페셜 그리드 (웹진 형태) */
.idx-grid-special { display: flex; flex-wrap: wrap; margin: 0 -10px; } 
.idx-col-special { width: 50%; padding: 10px; box-sizing: border-box; } 
.idx-webzine-box { display: flex; height: 200px; width: 100%; background: #fff; } 
.idx-webzine-img { width: 40%; min-width: 140px; height: 100%; overflow: hidden; position: relative; background: #f8fafc; border-right: 1px solid #e2e8f0; } 
.idx-webzine-info { width: 60%; height: 100%; padding: 15px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; position: relative; } 
.idx-webzine-title { margin: 0 0 5px 0; line-height: 1.4; } 
/* 프리미엄 그리드 */
.idx-grid-premium { display: flex; flex-wrap: wrap; margin: 0 -10px; } 
.idx-col-premium { width: 33.33333%; padding: 10px; box-sizing: border-box; } 

/* 배너 그리드 */
.idx-grid-banner { display: flex; flex-wrap: wrap; margin: 0 -10px; } 
.idx-col-banner { width: 25%; padding: 10px; box-sizing: border-box; } 
.idx-col-banner .idx-card-image-in { height: 140px; } 
.idx-col-banner .gallery-cont { height: 34px; -webkit-line-clamp: 2; font-size: 12px; } 

/* 등급별 오버라이딩 스타일 */
.item-card-special { border: 2px solid #eab308 !important; box-shadow: 0 4px 12px rgba(234,179,8,0.15); border-radius: 7px; overflow: hidden; } 
.item-card-premium { border: 2px solid #3b82f6 !important; box-shadow: 0 4px 12px rgba(59,130,246,0.1); border-radius: 7px; overflow: hidden; } 
.item-card-banner { border: 1px solid #475569 !important; border-radius: 7px; overflow: hidden; } 

/* 뱃지 컴포넌트 */
.idx-badge { display: inline-block; padding: 1px 5px; color: #fff; font-size: 10px; font-weight: bold; border-radius: 3px; vertical-align: middle; margin-right: 4px; } 
.idx-badge-special { background: linear-gradient(45deg, #eab308, #ca8a04); } 
.idx-badge-premium { background: #2563eb; } 
.idx-badge-banner { background: #475569; } 
.idx-badge-extra { color: #000; background: #f1f5f9; padding: 2px 5px; border-radius: 3px; font-size: 11px; border: 1px solid #cbd5e1; display: inline-block; vertical-align: middle; margin-right: 4px; } 
.idx-badge-notice { display: inline-block; padding: 2px 6px; background: #ef4444; color: #fff; font-size: 11px; font-weight: bold; border-radius: 3px; margin-right: 5px; vertical-align: middle; 
	text-decoration: none !important; } 
.idx-title-link { color: #252525; text-decoration: none; } 
.idx-title-link:hover { text-decoration: underline; } 

/* 메타 정보 구역 */
.idx-meta-info { font-size: 11px; color: #64748b; margin-bottom: 5px; } 
.idx-meta-marker { color: #ef4444; } 
.idx-meta-hashtag { color: #2563eb; font-weight: bold; } 

/* 별점 정보 */
.idx-rating-info { font-size: 12px; color: #ca8a04; font-weight: bold; margin-top: 4px; } 
.idx-rating-count { color: #94a3b8; font-weight: normal; } 

/* 글 요약 구역 */
.idx-content-snippet { font-size: 12px; color: #6b7280; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; 
	margin: 0; min-height: 30px; } 
.idx-special-bottom { display: flex; justify-content: space-between; font-size: 11px; color: #9ca3af; border-top: 1px solid #f3f4f6; padding-top: 6px; } 
.idx-rank { font-weight: bold; } 
.idx-rank-special { color: #eab308; } 
.idx-rank-premium { color: #3b82f6; } 
.idx-rank-banner { color: #475569; } 

/* 공정 노출 인증 메달 오버레이 뱃지 */
.idx-png-medal-badge { position: absolute; top: -5px !important; left: 8px !important; z-index: 99 !important; display: inline-block; pointer-events: none; } 
.idx-png-medal-file { height: 60px !important; width: auto !important; filter: drop-shadow(0px 3px 5px rgba(0,0,0,0.3)); } 

/* 썸네일/노이미지 크기 제어용 내부 프레임 */
.idx-img-content-wrap { width: 100%; height: 100%; display: flex; flex-direction: column; } 
.idx-split-img { width: 100%; height: 50%; object-fit: cover; display: block; } 
.idx-full-img { width: 100%; height: 100%; object-fit: cover; display: block; } 
.idx-no-image { background: #f1f5f9; color: #94a3b8; text-align: center; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 12px; } 

/* =========================================================================
 [반응형 하이브리드 미디어 쿼리 패치]
 ========================================================================= */
.idx-pc-only { display: block; } 
.idx-mobile-only { display: none; } 

@media (max-width: 991px){
	.idx-col-premium { width: 50%; } 
	.idx-col-banner { width: 33.33333%; } 
}

@media (max-width: 767px){
	.idx-pc-only { display: none !important; } 
	.idx-mobile-only { display: flex !important; } 
	.idx-col-special, .idx-col-premium, .idx-col-banner { width: 100% !important; padding: 10px; box-sizing: border-box; } 
	.idx-webzine-box { display: flex !important; height: 200px !important; width: 100% !important; flex-direction: row !important; background: #fff; } 
	.idx-webzine-img { width: 40% !important; min-width: 140px !important; height: 100% !important; border-right: 1px solid #e2e8f0 !important; border-bottom: none !important; } 
	.idx-webzine-info { width: 60% !important; height: 100% !important; padding: 15px !important; box-sizing: border-box; } 
	.idx-pnav-filter { flex-wrap: wrap; height: auto; padding: 5px 10px; } 
	.idx-pnav-left-zone { width: 100%; flex: none; height: auto; } 
	.idx-pnav-btn { flex: 1; height: 35px; border-right: none; justify-content: center; } 
	.idx-pnav-status { width: 100%; padding: 5px 0; text-align: center; border-top: 1px solid #444; margin-top: 5px; } 
	.idx-pnav-search-box { width: 100%; margin: 5px 0; } 
	.idx-pnav-search-input { width: 85%; } 
}

@media (max-width: 480px){
	.idx-col-premium, 
	.idx-col-banner { width: 100% !important; } 
}

#board_view_con img, .board-view-file-conts img { width: auto !important; max-width: 100% !important; height: auto !important; display: inline-block !important; } 