@charset "utf-8";

.ks-gallery-widget {
	--ks-gallery-brand:#6d91b6;
	--ks-gallery-brand-dark:#345f82;
	--ks-gallery-line:#dce6ed;
	--ks-gallery-muted:#71818e;
	--ks-gallery-ink:#2c4050;
	--ks-gallery-bg:#eef4f8;
	color:var(--ks-gallery-ink);
	font-family:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
	font-size:16px;
	line-height:1.6;
	word-break:keep-all;
}

.ks-gallery-widget,
.ks-gallery-widget * {
	box-sizing:border-box;
}

.ks-gallery-widget__grid {
	display:grid;
	gap:20px;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.ks-gallery-widget--cols-2 .ks-gallery-widget__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ks-gallery-widget--cols-3 .ks-gallery-widget__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ks-gallery-widget--cols-4 .ks-gallery-widget__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ks-gallery-widget--cols-5 .ks-gallery-widget__grid { grid-template-columns:repeat(5,minmax(0,1fr)); }

.ks-gallery-widget__item {
	min-width:0;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
	border:1px solid var(--ks-gallery-line);
	border-radius:16px;
	background:#fff;
	box-shadow:0 7px 22px rgba(56,88,113,.06);
	overflow:hidden;
	transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.ks-gallery-widget__item::before,
.ks-gallery-widget__item::after,
.ks-gallery-widget__compact-item::before,
.ks-gallery-widget__compact-item::after {
	display:none !important;
	content:none !important;
}

.ks-gallery-widget__item:hover,
.ks-gallery-widget__item:focus-within {
	transform:translateY(-3px);
	border-color:#b8cfdf;
	box-shadow:0 11px 28px rgba(50,84,111,.1);
}

.ks-gallery-widget__link,
.ks-gallery-widget__compact-link {
	display:block;
	height:100%;
	color:inherit !important;
	text-decoration:none !important;
}

.ks-gallery-widget__link:focus,
.ks-gallery-widget__compact-link:focus {
	outline:3px solid rgba(109,145,182,.42);
	outline-offset:3px;
}

.ks-gallery-widget__media {
	position:relative;
	margin:0;
	aspect-ratio:4/3;
	background:var(--ks-gallery-bg);
	overflow:hidden;
}

.ks-gallery-widget__media img,
.ks-gallery-widget__compact-media img {
	display:block;
	width:100%;
	height:100%;
	max-width:none;
	object-fit:cover;
	transition:transform .3s ease;
}

.ks-gallery-widget__item:hover .ks-gallery-widget__media img,
.ks-gallery-widget__item:focus-within .ks-gallery-widget__media img,
.ks-gallery-widget__compact-item:hover .ks-gallery-widget__compact-media img,
.ks-gallery-widget__compact-item:focus-within .ks-gallery-widget__compact-media img {
	transform:scale(1.04);
}

.ks-gallery-widget__media::after {
	position:absolute;
	inset:auto 0 0;
	height:34%;
	background:linear-gradient(to top,rgba(18,35,49,.28),transparent);
	content:"";
	pointer-events:none;
}

.ks-gallery-widget__category,
.ks-gallery-widget__comments {
	position:absolute;
	z-index:1;
	top:12px;
	display:inline-flex;
	align-items:center;
	min-height:28px;
	padding:5px 10px;
	border-radius:999px;
	background:rgba(255,255,255,.92);
	color:var(--ks-gallery-brand-dark);
	font-size:12px;
	font-weight:800;
}

.ks-gallery-widget__category { left:12px; }
.ks-gallery-widget__comments { right:12px; }

.ks-gallery-widget__empty {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:100%;
	height:100%;
	background:linear-gradient(145deg,#eef3f7,#dce6ed);
	color:#718595;
}

.ks-gallery-widget__empty > span { font-size:32px; line-height:1; }
.ks-gallery-widget__empty em { margin-top:9px; font-size:13px; font-style:normal; font-weight:700; }

.ks-gallery-widget__body {
	position:relative;
	padding:15px 16px 14px;
}

.ks-gallery-widget__body h3 {
	display:-webkit-box;
	min-height:2.9em;
	margin:0;
	overflow:hidden;
	color:var(--ks-gallery-ink);
	font-size:16px;
	font-weight:800;
	line-height:1.45;
	letter-spacing:-.02em;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
}

.ks-gallery-widget__summary {
	display:-webkit-box;
	margin:9px 0 0;
	overflow:hidden;
	color:var(--ks-gallery-muted);
	font-size:13px;
	line-height:1.6;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
}

.ks-gallery-widget__body time {
	display:block;
	margin-top:11px;
	padding-top:10px;
	border-top:1px solid #edf2f5;
	color:#83909a;
	font-size:12px;
}

.ks-gallery-widget--compact {
	--ks-gallery-visible:3;
	position:relative;
	width:100%;
	min-width:0;
}

.ks-gallery-widget--visible-2 { --ks-gallery-visible:2; }
.ks-gallery-widget--visible-3 { --ks-gallery-visible:3; }
.ks-gallery-widget--visible-4 { --ks-gallery-visible:4; }

.ks-gallery-widget__compact-shell {
	position:relative;
	display:grid;
	grid-template-columns:28px minmax(0,1fr) 28px;
	align-items:center;
	gap:8px;
}

.ks-gallery-widget__viewport {
	min-width:0;
	overflow:hidden;
}

.ks-gallery-widget__track {
	display:flex;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
	transition:transform .28s ease;
	will-change:transform;
}

.ks-gallery-widget__compact-item {
	flex:0 0 calc(100% / var(--ks-gallery-visible));
	min-width:0;
	margin:0 !important;
	padding:0 5px !important;
	list-style:none !important;
}

.ks-gallery-widget__compact-link {
	padding:0 0 2px;
	text-align:center;
}

.ks-gallery-widget__compact-media {
	position:relative;
	margin:0;
	aspect-ratio:1/1;
	border-radius:3px;
	background:var(--ks-gallery-bg);
	overflow:hidden;
}

.ks-gallery-widget__compact-empty {
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:100%;
	background:linear-gradient(145deg,#eef3f7,#dce6ed);
	color:#718595;
	font-size:25px;
}

.ks-gallery-widget__compact-link strong {
	display:-webkit-box;
	margin:8px 2px 0;
	overflow:hidden;
	color:var(--ks-gallery-ink);
	font-size:13px;
	font-weight:700;
	line-height:1.4;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:1;
}

.ks-gallery-widget__compact-link time {
	display:block;
	margin-top:4px;
	color:#8a969f;
	font-size:11px;
}

.ks-gallery-widget__control {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:54px;
	padding:0;
	border:0;
	border-radius:7px;
	background:rgba(52,95,130,.08);
	color:var(--ks-gallery-brand-dark);
	font-size:28px;
	line-height:1;
	cursor:pointer;
}

.ks-gallery-widget__control:hover,
.ks-gallery-widget__control:focus {
	background:rgba(52,95,130,.16);
}

.ks-gallery-widget__control:focus {
	outline:3px solid rgba(109,145,182,.38);
	outline-offset:2px;
}

.ks-gallery-widget__control:disabled {
	opacity:.28;
	cursor:default;
}

.ks-gallery-widget__pager {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	min-height:24px;
	margin-top:10px;
}

.ks-gallery-widget__dots {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:6px;
}

.ks-gallery-widget__dots button {
	width:8px;
	height:8px;
	padding:0;
	border:0;
	border-radius:50%;
	background:#c4cfd7;
	cursor:pointer;
}

.ks-gallery-widget__dots button[aria-current="true"] {
	background:#111;
}

.ks-gallery-widget__dots button:focus {
	outline:3px solid rgba(109,145,182,.38);
	outline-offset:3px;
}

.ks-gallery-widget__status {
	position:absolute;
	width:1px;
	height:1px;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
}

.ks-gallery-widget__new-window {
	position:absolute;
	width:1px;
	height:1px;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
}

.ks-gallery-widget__no-data {
	padding:42px 18px;
	border:1px dashed #cbd9e3;
	border-radius:14px;
	background:#fbfdfe;
	text-align:center;
}

.ks-gallery-widget__no-data strong { color:var(--ks-gallery-brand-dark); font-size:17px; }
.ks-gallery-widget__no-data p { margin:6px 0 0; color:var(--ks-gallery-muted); font-size:13px; }

@media (max-width:1024px) {
	.ks-gallery-widget--cols-4 .ks-gallery-widget__grid,
	.ks-gallery-widget--cols-5 .ks-gallery-widget__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:760px) {
	.ks-gallery-widget--cols-2 .ks-gallery-widget__grid,
	.ks-gallery-widget--cols-3 .ks-gallery-widget__grid,
	.ks-gallery-widget--cols-4 .ks-gallery-widget__grid,
	.ks-gallery-widget--cols-5 .ks-gallery-widget__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
}

@media (max-width:480px) {
	.ks-gallery-widget--cols-2 .ks-gallery-widget__grid,
	.ks-gallery-widget--cols-3 .ks-gallery-widget__grid,
	.ks-gallery-widget--cols-4 .ks-gallery-widget__grid,
	.ks-gallery-widget--cols-5 .ks-gallery-widget__grid { grid-template-columns:1fr; }
	.ks-gallery-widget--compact { --ks-gallery-visible:2; }
	.ks-gallery-widget__compact-shell { grid-template-columns:24px minmax(0,1fr) 24px; gap:4px; }
	.ks-gallery-widget__control { width:24px; }
	.ks-gallery-widget__compact-item { padding:0 4px !important; }
}

@media (prefers-reduced-motion:reduce) {
	.ks-gallery-widget__item,
	.ks-gallery-widget__media img,
	.ks-gallery-widget__compact-media img,
	.ks-gallery-widget__track { transition:none; }
	.ks-gallery-widget__item:hover,
	.ks-gallery-widget__item:focus-within { transform:none; }
	.ks-gallery-widget__item:hover .ks-gallery-widget__media img,
	.ks-gallery-widget__item:focus-within .ks-gallery-widget__media img,
	.ks-gallery-widget__compact-item:hover .ks-gallery-widget__compact-media img,
	.ks-gallery-widget__compact-item:focus-within .ks-gallery-widget__compact-media img { transform:none; }
}
