/* ============================================================
   kboard 갤러리 스킨
   팔레트: 메인 #26364A / 강조 #B89A62 / 본문 #3E4145
============================================================ */
.kb-gallery{
	--kbg-main:#26364A;
	--kbg-accent:#B89A62;
	--kbg-text:#3E4145;
	--kbg-border:#e3e3e0;
	font-family:"Pretendard","Noto Sans KR",sans-serif;
	color:var(--kbg-text);
	max-width:1100px;
	margin:0 auto;
}
.kb-gallery *{box-sizing:border-box;}

/* ---------- 메인 최신글: 썸네일 2열 ---------- */
.kbg-latest{width:100%;min-width:0;}
.kbg-latest *{box-sizing:border-box;}
.kbg-latest .kbg-latest__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 8px;}
.kbg-latest .kbg-latest__card{display:block;min-width:0;color:#333;text-decoration:none;}
.kbg-latest .kbg-latest__thumb{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#f4f2ec;}
.kbg-latest .kbg-latest__thumb img{display:block;width:100%;height:100%;max-width:100%;margin:0;border:0;border-radius:0;object-fit:cover;}
.kbg-latest .kbg-latest__placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#777;font-size:13px;}
.kbg-latest .kbg-latest__title{display:block;margin-top:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:400;line-height:1.6;}
.kbg-latest .kbg-latest__card:hover .kbg-latest__title{text-decoration:underline;}
.kbg-latest .kbg-latest__card:focus-visible{outline:2px solid #B89A62;outline-offset:3px;}
.kbg-latest .kbg-latest__empty{grid-column:1/-1;margin:0;padding:30px 0;text-align:center;color:#777;}

/* 메인 편집기의 제목 / 구분선 / 더보기 구성 */
.kbg-latest-heading{display:flex;align-items:center;gap:18px;margin-bottom:16px;color:#795744;}
.kbg-latest-heading::after{content:"";flex:1;height:1px;background:currentColor;}
.kbg-latest-heading .kbg-latest-heading__title{margin:0;color:inherit;font-size:22px;font-weight:700;line-height:1.3;}
.kbg-latest-heading .kbg-latest-heading__more{order:1;display:flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;border:1px solid currentColor;color:inherit;text-decoration:none;font-size:18px;line-height:1;}

/* ---------- 필터 탭 ---------- */
.kbg-tabs{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:22px;
	border-bottom:1px solid var(--kbg-border);
	padding-bottom:14px;
}
.kbg-tab{
	padding:8px 18px;
	border-radius:20px;
	font-size:15px;
	font-weight:600;
	color:var(--kbg-text);
	text-decoration:none;
	background:#f4f3ef;
	transition:.15s;
}
.kbg-tab:hover{background:#ece7db;color:var(--kbg-main);}
.kbg-tab.active{background:var(--kbg-main);color:#fff;}

/* ---------- 그리드 ---------- */
.kbg-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
}
.kbg-card{
	display:flex;
	flex-direction:column;
	text-decoration:none;
	background:#fff;
	border:1px solid var(--kbg-border);
	border-radius:10px;
	overflow:hidden;
	transition:transform .18s ease, box-shadow .18s ease;
}
.kbg-card:hover{
	transform:translateY(-4px);
	box-shadow:0 12px 26px rgba(0,0,0,.12);
}

/* 썸네일 */
.kbg-thumb{
	position:relative;
	display:block;
	width:100%;
	aspect-ratio:4/3;
	background-size: cover;
}
.kbg-thumb--empty{
	display:flex;
	align-items:center;
	justify-content:center;
	background:#f4f2ec;
}
.kbg-fileicon{font-size:44px;opacity:.5;}
.kbg-lock{
	position:absolute;top:8px;left:8px;
	font-size:14px;background:rgba(0,0,0,.45);color:#fff;
	width:26px;height:26px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;
}
/* 동영상 재생 아이콘 오버레이 */
.kbg-play{
	position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	width:52px;height:52px;border-radius:50%;
	background:rgba(38,54,74,.72);
}
.kbg-play::after{
	content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);
	border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff;
}
.kbg-card:hover .kbg-play{background:var(--kbg-accent);}

/* 카드 본문 */
.kbg-body{
	display:flex;
	flex-direction:column;
	gap:7px;
	padding:14px 16px 16px;
}
.kbg-cat{
	align-self:flex-start;
	font-size:12px;
	font-weight:700;
	padding:2px 9px;
	border-radius:4px;
	background:rgba(184,154,98,.16);
	color:var(--kbg-accent);
}
.kbg-cat--video{background:rgba(38,54,74,.12);color:var(--kbg-main);}
.kbg-cat--photo{background:rgba(184,154,98,.16);color:var(--kbg-accent);}
.kbg-cat--doc{background:#eceae4;color:#6d7176;}
.kbg-title{
	color:#222;
	font-size:16px;
	font-weight:600;
	line-height:1.45;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	min-height:2.9em;
}
.kbg-comments{
	color:var(--kbg-accent);
	font-size:13px;
	font-weight:700;
	margin-left:5px;
}
.kbg-meta{
	display:flex;
	justify-content:space-between;
	color:#9a9385;
	font-size:13px;
}

.kbg-empty{
	grid-column:1/-1;
	text-align:center;
	color:#9a9385;
	padding:60px 0;
}

/* ---------- 페이징 (Enfold 목록/링크 스타일 오버라이드) ---------- */
.kb-gallery .kboard-pagination{
	margin-top:26px;
	text-align:center;
}
.kb-gallery .kboard-pagination-pages{
	list-style:none !important;
	display:flex !important;
	justify-content:center;
	gap:6px;
	margin:0 !important;
	padding:0 !important;
}
.kb-gallery .kboard-pagination-pages li{
	list-style:none !important;
	margin:0 !important;
	padding:0 !important;
	display:inline-flex !important;
	background:none !important;
}
.kb-gallery .kboard-pagination-pages li::before{content:none !important;display:none !important;}
.kb-gallery .kboard-pagination-pages li a{
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	min-width:34px;
	height:34px;
	padding:0 8px !important;
	border:1px solid var(--kbg-border) !important;
	border-radius:5px !important;
	color:var(--kbg-text) !important;
	background:#fff !important;
	text-decoration:none;
	font-size:14px;
}
.kb-gallery .kboard-pagination-pages li.active a,
.kb-gallery .kboard-pagination-pages li a:hover{
	background:var(--kbg-main) !important;
	border-color:var(--kbg-main) !important;
	color:#fff !important;
}

/* ---------- 검색 / 버튼 (Enfold 폼 스타일 오버라이드) ---------- */
.kbg-search{
	display:flex;
	justify-content:center;
	margin:28px 0 0;
}
.kbg-search form{
	display:flex;
	justify-content:center;
	align-items:stretch;
}
.kb-gallery .kbg-search input[type="text"]{
	display:block !important;
	width:240px !important;
	height:40px !important;
	margin:0 !important;
	padding:0 12px !important;
	font-size:14px !important;
	line-height:normal !important;
	background:#fff !important;
	border:1px solid var(--kbg-border) !important;
	border-right:0 !important;
	border-radius:5px 0 0 5px !important;
	box-shadow:none !important;
}
.kb-gallery .kbg-button-sm{
	margin:0 !important;
	height:40px !important;
	border:0 !important;
	background:var(--kbg-main) !important;
	color:#fff !important;
	padding:0 20px !important;
	border-radius:0 5px 5px 0 !important;
	font-size:14px !important;
	cursor:pointer;
}
.kbg-control{
	margin-top:18px;
	text-align:right;
}
.kbg-button{
	display:inline-block;
	padding:11px 28px;
	background:var(--kbg-main);
	color:#fff !important;
	border-radius:6px;
	font-size:15px;
	font-weight:600;
	text-decoration:none;
}
.kbg-button:hover{background:#1c2a3a;}

/* ---------- 상세: 동영상 임베드 ---------- */
.kbg-video{
	position:relative;
	width:100%;
	aspect-ratio:16/9;
	margin:0 0 24px;
	background:#000;
	border-radius:8px;
	overflow:hidden;
}
.kbg-video iframe{
	position:absolute;inset:0;width:100%;height:100%;border:0;
}
.kbg-video-link{margin:0 0 20px;}
.kbg-video-link a{color:var(--kbg-accent);font-weight:700;text-decoration:none;}

/* ---------- 상세 보기 레이아웃 (Enfold 기본 스타일 정리) ---------- */
.kb-gallery-document{max-width:900px;margin:0 auto;}
.kb-gallery-document .kboard-title h1{
	text-align:center;
	font-size:24px;
	font-weight:700;
	color:var(--kbg-main);
	margin:0 0 18px;
}
.kb-gallery-document .kboard-detail{
	display:flex !important;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:6px 22px;
	margin:0 0 26px;
	padding:13px 10px;
	border-top:1px solid var(--kbg-border);
	border-bottom:1px solid var(--kbg-border);
	font-size:14px;
	color:#6d7176;
}
.kb-gallery-document .detail-attr{display:flex !important;align-items:center;gap:6px;margin:0 !important;}
.kb-gallery-document .detail-name{color:var(--kbg-main);font-weight:600;margin:0 !important;}
.kb-gallery-document .detail-value{color:#6d7176;margin:0 !important;}
.kb-gallery-document .detail-category1 .detail-value{color:var(--kbg-accent);font-weight:700;}

.kb-gallery-document .kboard-content{margin:0 0 26px;line-height:1.7;color:var(--kbg-text);}
.kb-gallery-document .kboard-content img{max-width:100%;height:auto;}

/* 첨부파일 다운로드 */
.kb-gallery-document .kboard-attach{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;}
.kb-gallery-document .kboard-button-download{
	border:1px solid var(--kbg-border) !important;
	background:#faf9f4 !important;
	color:var(--kbg-main) !important;
	padding:9px 16px !important;
	border-radius:6px !important;
	font-size:14px;
	cursor:pointer;
}
.kb-gallery-document .kboard-button-download:hover{background:#f1ebdd !important;}

/* 하단 버튼 */
.kb-gallery-document .kboard-control{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-top:26px;
	padding-top:18px;
	border-top:1px solid var(--kbg-border);
}
.kb-gallery-document .kboard-default-button-small{
	display:inline-block;
	padding:10px 20px !important;
	border-radius:6px !important;
	background:#f4f3ef !important;
	color:var(--kbg-main) !important;
	border:1px solid var(--kbg-border) !important;
	font-size:14px;
	text-decoration:none;
	cursor:pointer;
	margin-left:6px;
}
.kb-gallery-document .kboard-default-button-small:hover{
	background:var(--kbg-main) !important;
	color:#fff !important;
	border-color:var(--kbg-main) !important;
}

/* ---------- 글쓰기: 동영상 URL 필드 ---------- */
.kbg-editor-video{margin:6px 0 14px;}
.kbg-editor-video .kboard-attr-row{display:flex;align-items:center;gap:14px;}
.kbg-editor-label{font-weight:700;color:var(--kbg-main);min-width:90px;}
.kbg-editor-video input[type="url"]{
	flex:1;
	padding:9px 12px;
	border:1px solid var(--kbg-border);
	border-radius:5px;
	font-size:15px;
}
.kbg-editor-help{margin:8px 0 0 104px;color:#9a9385;font-size:13px;}

/* ---------- 반응형 ---------- */
@media (max-width:860px){
	.kbg-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
	.kbg-title{font-size:15px;}
}
@media (max-width:520px){
	.kbg-grid{grid-template-columns:1fr;}
	.kbg-editor-video .kboard-attr-row{flex-direction:column;align-items:stretch;gap:6px;}
	.kbg-editor-help{margin-left:0;}
}
