/* ==========================================================================
   KBoard G-01 Skin - Modern Glassmorphism Grid Layout
   Design: Refined minimalism with soft shadows and gradient accents
   ========================================================================== */

/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

/* Variables */
:root {
	/* Colors - Soft gradient palette */
	--gallery2501-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	--gallery2501-primary-hover: linear-gradient(135deg, #5568d3 0%, #6a3f8f 100%);
	--gallery2501-accent: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
	--gallery2501-success: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);

	/* Neutrals */
	--gallery2501-white: #ffffff;
	--gallery2501-gray-50: #fafafa;
	--gallery2501-gray-100: #f5f5f5;
	--gallery2501-gray-200: #e5e5e5;
	--gallery2501-gray-300: #d4d4d4;
	--gallery2501-gray-400: #a3a3a3;
	--gallery2501-gray-500: #737373;
	--gallery2501-gray-600: #525252;
	--gallery2501-gray-700: #404040;
	--gallery2501-gray-800: #262626;
	--gallery2501-gray-900: #171717;

	/* Shadows - Soft depth layers */
	--gallery2501-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
	--gallery2501-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.06), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
	--gallery2501-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
	--gallery2501-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
	--gallery2501-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.15);

	/* Glass effect */
	--gallery2501-glass: rgba(255, 255, 255, 0.7);
	--gallery2501-glass-border: rgba(255, 255, 255, 0.18);

	/* Radius */
	--gallery2501-radius-sm: 8px;
	--gallery2501-radius: 12px;
	--gallery2501-radius-lg: 16px;
	--gallery2501-radius-xl: 24px;

	/* Transitions */
	--gallery2501-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Base */
#kboard-gallery2501-list,
#kboard-gallery2501-document,
#kboard-gallery2501-editor {
	color: var(--gallery2501-gray-900);
	line-height: 1.6;
	max-width: 100%;
	margin: 0;
	padding: 32px;
	min-height: 100vh;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes shimmer {
	0% {
		background-position: -1000px 0;
	}

	100% {
		background-position: 1000px 0;
	}
}

@keyframes gradientRotate {
	0% {
		background-position: 0% 50%;
	}

	50% {
		background-position: 100% 50%;
	}

	100% {
		background-position: 0% 50%;
	}
}

/* ==========================================================================
   LIST - Grid Layout
   ========================================================================== */

/* Header */
.gallery2501-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 32px;
	padding: 24px;
	background: var(--gallery2501-glass);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid var(--gallery2501-glass-border);
	border-radius: var(--gallery2501-radius-lg);
	box-shadow: var(--gallery2501-shadow);
	animation: fadeInUp 0.5s ease-out;
}

.gallery2501-total {
	font-size: 14px;
	color: var(--gallery2501-gray-600);
	font-weight: 500;
	letter-spacing: -0.01em;
}

.gallery2501-total strong {
	background: var(--gallery2501-primary);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	font-weight: 700;
	font-family: 'JetBrains Mono', monospace;
}

.gallery2501-sort select {
	padding: 10px 16px;
	border: 1px solid var(--gallery2501-gray-200);
	border-radius: var(--gallery2501-radius);
	font-size: 14px;
	font-family: 'Inter', sans-serif;
	background: var(--gallery2501-white);
	cursor: pointer;
	transition: var(--gallery2501-transition);
	box-shadow: var(--gallery2501-shadow-sm);
}

.gallery2501-sort select:hover {
	border-color: var(--gallery2501-gray-300);
	box-shadow: var(--gallery2501-shadow);
}

.gallery2501-sort select:focus {
	outline: none;
	border-color: #667eea;
	box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

/* Grid */
.gallery2501-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin-bottom: 40px;
}

@media (max-width: 992px) {
	.gallery2501-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 576px) {
	.gallery2501-grid {
		grid-template-columns: 1fr;
	}
}

/* Card */
.gallery2501-card {
	background: var(--gallery2501-white);
	border-radius: var(--gallery2501-radius-lg);
	box-shadow: var(--gallery2501-shadow);
	overflow: hidden;
	transition: var(--gallery2501-transition);
	position: relative;
	animation: fadeInUp 0.6s ease-out;
	animation-fill-mode: both;
}

.gallery2501-card:nth-child(1) {
	animation-delay: 0.05s;
}

.gallery2501-card:nth-child(2) {
	animation-delay: 0.1s;
}

.gallery2501-card:nth-child(3) {
	animation-delay: 0.15s;
}

.gallery2501-card:nth-child(4) {
	animation-delay: 0.2s;
}

.gallery2501-card:nth-child(5) {
	animation-delay: 0.25s;
}

.gallery2501-card:nth-child(6) {
	animation-delay: 0.3s;
}

.gallery2501-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--gallery2501-primary);
	opacity: 0;
	transition: var(--gallery2501-transition);
}

.gallery2501-card:hover::before {
	opacity: 1;
}

.gallery2501-card:hover {
	box-shadow: var(--gallery2501-shadow-lg);
	transform: translateY(-6px);
}

.gallery2501-card a {
	display: block;
	text-decoration: none;
	color: inherit;
}

.gallery2501-card.gallery2501-notice {
	border: 2px solid transparent;
	background-image: linear-gradient(white, white), var(--gallery2501-primary);
	background-origin: border-box;
	background-clip: padding-box, border-box;
}

.gallery2501-card.gallery2501-notice::before {
	opacity: 1;
}

/* Thumbnail */
.gallery2501-thumbnail {
	position: relative;
	width: 100%;
	padding-top: 66.67%;
	background: var(--gallery2501-gray-100);
	overflow: hidden;
}

.gallery2501-thumbnail img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: var(--gallery2501-transition);
}

.gallery2501-card:hover .gallery2501-thumbnail img {
	transform: scale(1.08);
}

.gallery2501-no-thumbnail {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--gallery2501-primary);
	background-size: 200% 200%;
	animation: gradientRotate 8s ease infinite;
	color: var(--gallery2501-white);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.gallery2501-new {
	position: absolute;
	top: 12px;
	left: 12px;
	background: linear-gradient(135deg, #f5576c 0%, #f093fb 100%);
	color: var(--gallery2501-white);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 4px 10px;
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(245, 87, 108, 0.4);
	z-index: 1;
}

.gallery2501-secret {
	position: absolute;
	top: 12px;
	right: 12px;
	font-size: 18px;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
	z-index: 1;
}

/* Card Info */
.gallery2501-info {
	padding: 20px;
}

.gallery2501-title {
	font-size: 16px;
	font-weight: 600;
	color: var(--gallery2501-gray-900);
	margin: 0 0 10px 0;
	line-height: 1.5;
	letter-spacing: -0.01em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: var(--gallery2501-transition);
}

.gallery2501-card:hover .gallery2501-title {
	background: var(--gallery2501-primary);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.gallery2501-summary {
	font-size: 14px;
	color: var(--gallery2501-gray-600);
	margin: 0;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Pagination */
.gallery2501-pagination {
	text-align: center;
	margin: 48px 0;
	animation: fadeInUp 0.7s ease-out;
}

.gallery2501-pagination ul {
	display: inline-flex;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 6px;
	background: var(--gallery2501-glass);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid var(--gallery2501-glass-border);
	border-radius: var(--gallery2501-radius-lg);
	padding: 8px;
	box-shadow: var(--gallery2501-shadow);
}

.gallery2501-pagination li {
	display: inline-block;
}

.gallery2501-pagination a,
.gallery2501-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: var(--gallery2501-radius-sm);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	color: var(--gallery2501-gray-700);
	background: transparent;
	transition: var(--gallery2501-transition);
}

.gallery2501-pagination a:hover {
	background: var(--gallery2501-white);
	color: var(--gallery2501-gray-900);
	box-shadow: var(--gallery2501-shadow-sm);
}

.gallery2501-pagination .current a,
.gallery2501-pagination .current span {
	background: var(--gallery2501-primary);
	color: var(--gallery2501-white);
	box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

/* Search */
.gallery2501-search {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 32px 0;
}

.gallery2501-search select,
.gallery2501-search input[type="text"] {
	padding: 0 14px;
	height: 40px;
	border: 1px solid var(--gallery2501-gray-200);
	border-radius: 8px;
	font-size: 14px;
	background: var(--gallery2501-white);
	color: var(--gallery2501-gray-900);
}

.gallery2501-search input[type="text"] {
	width: 200px;
}

.gallery2501-search select:focus,
.gallery2501-search input[type="text"]:focus {
	outline: none;
	border-color: #3182f6;
}

.gallery2501-search button {
	padding: 0 20px;
	height: 40px;
	background: var(--gallery2501-gray-900);
	color: white;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s;
}

.gallery2501-search button:hover {
	background: var(--gallery2501-gray-700);
}

/* Control */
.gallery2501-control {
	text-align: right;
	margin-top: 32px;
}

.gallery2501-btn-write {
	display: inline-block;
	padding: 0 24px;
	height: 40px;
	line-height: 40px;
	background: #3182f6;
	color: white;
	text-decoration: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	transition: all 0.2s;
}

.gallery2501-btn-write:hover {
	background: #1b64da;
	color: white;
}

/* ==========================================================================
   DOCUMENT - Detail Page
   ========================================================================== */

#kboard-gallery2501-document {
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

.gallery2501-document-header {
	background: var(--gallery2501-white);
	border-radius: var(--gallery2501-radius-lg);
	padding: 32px;
	margin-bottom: 24px;
	box-shadow: var(--gallery2501-shadow);
	animation: fadeInUp 0.5s ease-out;
}

.gallery2501-document-title {
	font-size: 32px;
	font-weight: 700;
	margin: 0 0 20px 0;
	line-height: 1.3;
	letter-spacing: -0.02em;
	background: var(--gallery2501-primary);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.gallery2501-document-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	font-size: 14px;
	color: var(--gallery2501-gray-600);
	padding-top: 20px;
	border-top: 1px solid var(--gallery2501-gray-200);
}

.gallery2501-meta-item {
	display: flex;
	align-items: center;
	gap: 6px;
}

.gallery2501-meta-item strong {
	color: var(--gallery2501-gray-800);
	font-weight: 600;
}

.gallery2501-document-content {
	background: var(--gallery2501-white);
	border-radius: var(--gallery2501-radius-lg);
	padding: 40px;
	min-height: 300px;
	line-height: 1.8;
	font-size: 16px;
	color: var(--gallery2501-gray-800);
	box-shadow: var(--gallery2501-shadow);
	animation: fadeInUp 0.6s ease-out;
}

.gallery2501-document-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--gallery2501-radius);
	box-shadow: var(--gallery2501-shadow-md);
	margin: 24px 0;
}

.gallery2501-document-content p {
	margin: 0 0 16px 0;
}

.gallery2501-document-content h2,
.gallery2501-document-content h3 {
	margin: 32px 0 16px 0;
	font-weight: 700;
	letter-spacing: -0.01em;
}

/* Attachments */
.gallery2501-attachments {
	background: linear-gradient(135deg, #f6f8fc 0%, #ffffff 100%);
	padding: 24px;
	border-radius: var(--gallery2501-radius-lg);
	margin: 24px 0;
	border: 1px solid var(--gallery2501-gray-200);
	animation: fadeInUp 0.7s ease-out;
}

.gallery2501-attachments strong {
	display: block;
	margin-bottom: 16px;
	font-size: 15px;
	font-weight: 600;
	color: var(--gallery2501-gray-800);
}

.gallery2501-attachments ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.gallery2501-attachments li {
	padding: 12px;
	background: var(--gallery2501-white);
	border-radius: var(--gallery2501-radius-sm);
	margin-bottom: 8px;
	transition: var(--gallery2501-transition);
	box-shadow: var(--gallery2501-shadow-sm);
}

.gallery2501-attachments li:hover {
	box-shadow: var(--gallery2501-shadow);
	transform: translateX(4px);
}

.gallery2501-attachments li:last-child {
	margin-bottom: 0;
}

.gallery2501-attachments a {
	background: var(--gallery2501-primary);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-decoration: none;
	font-weight: 500;
}

.gallery2501-file-size {
	color: var(--gallery2501-gray-500);
	font-size: 12px;
	font-family: 'JetBrains Mono', monospace;
	margin-left: 8px;
}

/* Vote */
.gallery2501-vote {
	display: flex;
	justify-content: center;
	gap: 16px;
	padding: 32px 0;
	margin: 32px 0;
	animation: fadeInUp 0.8s ease-out;
}

.gallery2501-vote button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 32px;
	border: 2px solid var(--gallery2501-gray-200);
	border-radius: var(--gallery2501-radius-lg);
	background: var(--gallery2501-white);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: var(--gallery2501-transition);
	box-shadow: var(--gallery2501-shadow);
}

.gallery2501-vote-up:hover {
	border-color: transparent;
	background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
	color: var(--gallery2501-white);
	box-shadow: 0 6px 16px rgba(79, 172, 254, 0.4);
	transform: translateY(-2px);
}

.gallery2501-vote-down:hover {
	border-color: transparent;
	background: linear-gradient(135deg, #f5576c 0%, #f093fb 100%);
	color: var(--gallery2501-white);
	box-shadow: 0 6px 16px rgba(245, 87, 108, 0.4);
	transform: translateY(-2px);
}

/* Buttons */
.gallery2501-document-actions {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 40px 0;
}

.gallery2501-btn {
	display: inline-block;
	padding: 0 20px;
	height: 40px;
	line-height: 40px;
	border: 1px solid var(--gallery2501-gray-200);
	border-radius: 8px;
	background: var(--gallery2501-white);
	color: var(--gallery2501-gray-700);
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.2s;
}

.gallery2501-btn:hover {
	background: var(--gallery2501-gray-100);
}

.gallery2501-btn-primary {
	background: #3182f6;
	border-color: #3182f6;
	color: var(--gallery2501-white);
}

.gallery2501-btn-primary:hover {
	background: #1b64da;
	border-color: #1b64da;
	color: var(--gallery2501-white);
}

.gallery2501-btn-danger {
	border-color: #f04452;
	color: #f04452;
}

.gallery2501-btn-danger:hover {
	background: #f04452;
	color: var(--gallery2501-white);
}

/* Comments */
.gallery2501-comments {
	margin-top: 48px;
	padding-top: 32px;
	animation: fadeInUp 1s ease-out;
}

/* ==========================================================================
   EDITOR - Editor Page
   ========================================================================== */

#kboard-gallery2501-editor {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.gallery2501-editor-form {
	margin-bottom: 24px;
}

/* 에디터 필드 행 */
.kboard-attr-row {
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--gallery2501-gray-200);
}

.kboard-attr-row:last-child {
	border-bottom: none;
}

/* 필드 라벨 */
.kboard-attr-row .attr-name {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--gallery2501-gray-900);
	margin-bottom: 10px;
}

.kboard-attr-row .field-name {
	color: var(--gallery2501-gray-900);
}

.kboard-attr-row .attr-required-text {
	color: #f04452;
	margin-left: 4px;
}

/* 필드 값 영역 */
.kboard-attr-row .attr-value {
	width: 100%;
}

/* 입력 필드 */
.kboard-attr-row input[type="text"],
.kboard-attr-row input[type="password"],
.kboard-attr-row input[type="email"],
.kboard-attr-row input[type="url"],
.kboard-attr-row input[type="tel"],
.kboard-attr-row input[type="number"],
.kboard-attr-row input[type="datetime-local"],
.kboard-attr-row textarea,
.kboard-attr-row select {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--gallery2501-gray-200);
	border-radius: 8px;
	font-size: 15px;
	color: var(--gallery2501-gray-900);
	background: white;
	transition: all 0.2s;
}

.kboard-attr-row input:focus,
.kboard-attr-row textarea:focus,
.kboard-attr-row select:focus {
	outline: none;
	border-color: #3182f6;
	box-shadow: 0 0 0 3px rgba(49, 130, 246, 0.1);
}

.kboard-attr-row textarea,
.kboard-attr-row .editor-textarea {
	min-height: 200px;
	resize: vertical;
	line-height: 1.6;
}

/* 파일 입력 */
.kboard-attr-row input[type="file"] {
	padding: 8px 0;
	border: none;
	font-size: 14px;
}

/* 체크박스/라디오 */
.kboard-attr-row .attr-value-label,
.kboard-attr-row .attr-value-option {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-right: 16px;
	margin-bottom: 8px;
	font-size: 14px;
	color: var(--gallery2501-gray-900);
	cursor: pointer;
}

.kboard-attr-row input[type="checkbox"],
.kboard-attr-row input[type="radio"] {
	width: 18px;
	height: 18px;
	cursor: pointer;
}

/* 리셋 버튼 */
.kboard-attr-row .attr-reset-button {
	display: inline-block;
	margin-left: 8px;
	padding: 4px 12px;
	font-size: 13px;
	color: var(--gallery2501-gray-600);
	border: 1px solid var(--gallery2501-gray-200);
	border-radius: 6px;
	transition: all 0.2s;
}

.kboard-attr-row .attr-reset-button:hover {
	background: var(--gallery2501-gray-100);
	color: var(--gallery2501-gray-900);
}

/* 설명 텍스트 */
.kboard-attr-row .description {
	margin-top: 8px;
	font-size: 13px;
	color: var(--gallery2501-gray-500);
	line-height: 1.5;
}

/* 콘텐츠 에디터 영역 */
.kboard-attr-row .kboard-content {
	width: 100%;
}

.kboard-attr-row .kboard-content iframe {
	border: 1px solid var(--gallery2501-gray-200);
	border-radius: 8px;
}

/* 주소 검색 */
.kboard-row-postcode,
.kboard-row-address-1,
.kboard-row-address-2 {
	margin-bottom: 8px;
}

.kboard-row-postcode input {
	display: inline-block;
	width: auto !important;
	margin-right: 8px;
}

.kboard-postcode-address-search-button {
	padding: 12px 16px;
	background: var(--gallery2501-gray-900);
	color: white;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.2s;
}

.kboard-postcode-address-search-button:hover {
	background: var(--gallery2501-gray-700);
}

/* CAPTCHA */
.kboard-attr-row .g-recaptcha {
	margin-top: 8px;
}

/* 미디어 버튼 */
.kboard-attr-row a {
	color: #3182f6;
	text-decoration: none;
	font-weight: 500;
}

.kboard-attr-row a:hover {
	text-decoration: underline;
}

/* Editor Actions */
.gallery2501-editor-actions {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding-top: 24px;
	border-top: 1px solid var(--gallery2501-gray-200);
	margin-top: 32px;
}

/* Responsive */
@media (max-width: 768px) {

	#kboard-gallery2501-list,
	#kboard-gallery2501-document,
	#kboard-gallery2501-editor {
		padding: 0;
	}

	.gallery2501-document-title {
		font-size: 24px;
	}

	.gallery2501-document-content {
		padding: 24px;
		font-size: 15px;
	}

	/* 검색 폼 모바일 */
	.gallery2501-search {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.gallery2501-search select {
		flex: 0 0 auto;
	}

	.gallery2501-search input[type="text"] {
		flex: 1;
		min-width: 0;
		width: auto;
	}

	.gallery2501-search button {
		flex: 0 0 auto;
	}

	/* 글쓰기 버튼 모바일 */
	.gallery2501-btn-write {
		background: #3182f6;
		border-radius: 8px;
	}
}

/* ==========================================================================
   LATEST - Slider Widget
   ========================================================================== */

.kboard-gallery2501-latest {
	position: relative;
	padding: 0;
}

.gallery2501-latest-swiper .swiper-slide {
	height: auto;
}

.gallery2501-latest-swiper .swiper-slide a {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
}

/* Thumbnail */
.gallery2501-latest-thumbnail {
	position: relative;
	width: 100%;
	padding-top: 66.67%;
	background: var(--gallery2501-gray-200);
	border-radius: var(--gallery2501-radius);
	overflow: hidden;
}

.gallery2501-latest-thumbnail img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: var(--gallery2501-transition);
}

.gallery2501-latest-swiper .swiper-slide a:hover .gallery2501-latest-thumbnail img {
	transform: scale(1.1);
}

.gallery2501-latest-no-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--gallery2501-primary);
	background-size: 200% 200%;
	animation: gradientRotate 8s ease infinite;
	color: var(--gallery2501-white);
	font-size: 14px;
	font-weight: 600;
}

/* Info */
.gallery2501-latest-info {
	padding: 20px 8px;
}

.gallery2501-latest-title {
	font-size: 15px;
	font-weight: 600;
	color: var(--gallery2501-gray-900);
	margin: 0 0 10px 0;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: var(--gallery2501-transition);
}

.gallery2501-latest-swiper .swiper-slide a:hover .gallery2501-latest-title {
	background: var(--gallery2501-primary);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.gallery2501-latest-summary {
	font-size: 13px;
	color: var(--gallery2501-gray-600);
	margin: 0;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Swiper Progressbar - 하단 배치 (overflow 영역 밖으로) */
.gallery2501-latest-swiper {
	overflow: visible !important;
}

.gallery2501-latest-swiper .swiper-wrapper {
	overflow: visible;
}

.gallery2501-latest-swiper .swiper-pagination {
	position: absolute !important;
	top: auto !important;
	bottom: -25px;
	left: 0;
	right: 0;
	height: 4px !important;
	background: var(--gallery2501-gray-200);
	border-radius: 2px;
}

.gallery2501-latest-swiper .swiper-pagination .swiper-pagination-progressbar-fill {
	top: auto !important
}

.gallery2501-latest-swiper .swiper-pagination-progressbar-fill {
	background: #3182f6;
	border-radius: 2px;
}

.kboard-gallery2501-latest {
	padding-bottom: 25px;
	overflow: hidden;
}

/* Controls */
.gallery2501-latest-controls {
	position: absolute;
	top: 32px;
	right: 32px;
	display: flex;
	gap: 8px;
	z-index: 10;
}

.gallery2501-latest-controls button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--gallery2501-gray-200);
	border-radius: 50%;
	background: var(--gallery2501-white);
	color: var(--gallery2501-gray-700);
	cursor: pointer;
	transition: all 0.2s;
}

.gallery2501-latest-controls button:hover {
	background: #3182f6;
	border-color: #3182f6;
	color: var(--gallery2501-white);
}

.gallery2501-latest-controls button svg {
	width: 18px;
	height: 18px;
}

@media (max-width: 768px) {
	.kboard-gallery2501-latest {
		padding: 0;
	}

	.gallery2501-latest-controls {
		top: 20px;
		right: 20px;
	}
}

/* ==========================================================================
   CONFIRM - Password Confirmation
   ========================================================================== */

#kboard-gallery2501-confirm {
	max-width: 500px;
	margin: 80px auto;
	padding: 32px;
}

.gallery2501-confirm-container {
	background: var(--gallery2501-white);
	border-radius: var(--gallery2501-radius-xl);
	padding: 48px;
	box-shadow: var(--gallery2501-shadow-lg);
	animation: fadeInUp 0.5s ease-out;
}

.gallery2501-confirm-title {
	font-size: 24px;
	font-weight: 700;
	color: var(--gallery2501-gray-900);
	margin: 0 0 32px 0;
	text-align: center;
	background: var(--gallery2501-primary);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.gallery2501-error-message {
	background: linear-gradient(135deg, #fff5f5 0%, #ffe5e5 100%);
	border: 1px solid #fca5a5;
	border-radius: var(--gallery2501-radius);
	padding: 14px 18px;
	margin-top: 16px;
	color: #dc2626;
	font-size: 14px;
	box-shadow: var(--gallery2501-shadow-sm);
}

.gallery2501-confirm-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 32px;
}

/* ==========================================================================
   CATEGORY - Category Filter
   ========================================================================== */

.kboard-category {
	margin-bottom: 24px;
	animation: fadeInUp 0.4s ease-out;
}

.category-mobile {
	display: none;
}

.kboard-category select {
	padding: 12px 16px;
	border: 1px solid var(--gallery2501-gray-200);
	border-radius: var(--gallery2501-radius);
	font-size: 14px;
	font-family: 'Inter', sans-serif;
	background: var(--gallery2501-white);
	margin-right: 12px;
	box-shadow: var(--gallery2501-shadow-sm);
	transition: var(--gallery2501-transition);
}

.kboard-category select:focus {
	outline: none;
	border-color: #667eea;
	box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.kboard-category-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0 0 24px 0;
}

.kboard-category-list li a {
	display: inline-block;
	padding: 10px 20px;
	border: 1px solid var(--gallery2501-gray-200);
	border-radius: var(--gallery2501-radius-lg);
	text-decoration: none;
	color: var(--gallery2501-gray-700);
	font-size: 14px;
	font-weight: 500;
	transition: var(--gallery2501-transition);
	background: var(--gallery2501-white);
	box-shadow: var(--gallery2501-shadow-sm);
}

.kboard-category-list li a:hover {
	background: var(--gallery2501-gray-50);
	border-color: #667eea;
	color: var(--gallery2501-gray-900);
	box-shadow: var(--gallery2501-shadow);
	transform: translateY(-2px);
}

.kboard-category-list li.kboard-category-selected a {
	background: var(--gallery2501-primary);
	border-color: transparent;
	color: var(--gallery2501-white);
	box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

@media (max-width: 768px) {
	.category-mobile {
		display: block;
	}

	.category-pc {
		display: none;
	}
}