/* Kotelnyk Galleries — front end */
.kt-gal { --kt-gap: 10px; --kt-gap-m: min(var(--kt-gap), 8px); width: 100%; }
.kt-gal__item { margin: 0; padding: 0; position: relative; overflow: hidden; background: #ebe9e2; }
.kt-gal__img { display: block; width: 100%; height: auto; }
.kt-gal__link { display: block; cursor: zoom-in; }
.kt-js .kt-gal img[loading="lazy"]:not(.is-loaded) { opacity: 0; }
.kt-gal img { transition: opacity .6s ease; }
.kt-js .kt-gal img.is-loaded { opacity: 1; }

/* Justified rows: each photo grows in proportion to its aspect ratio => equal heights */
.kt-gal--rows .kt-gal__row { display: flex; gap: var(--kt-gap); align-items: flex-start; }
.kt-gal--rows .kt-gal__row + .kt-gal__row { margin-top: var(--kt-gap); }
.kt-gal--rows .kt-gal__item { flex-basis: 0; flex-shrink: 1; min-width: 0; }

/* Masonry columns */
.kt-gal--masonry { display: flex; gap: var(--kt-gap); align-items: flex-start; }
.kt-gal--masonry .kt-gal__col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: var(--kt-gap); }

@media (max-width: 767px) {
	/* one flow for the whole gallery; order and widths come from ktg_mobile_plan() */
	.kt-gal--rows { display: flex; flex-wrap: wrap; gap: var(--kt-gap-m); align-items: flex-start; }
	.kt-gal--rows .kt-gal__row { display: contents; }
	.kt-gal--rows .kt-gal__row + .kt-gal__row { margin-top: 0; }
	.kt-gal--rows .kt-gal__item { flex: 0 0 var(--kt-mb) !important; order: var(--kt-mo, 0); }
	.kt-gal--collapsed .kt-gal__later { display: none; }
	.kt-gal--masonry, .kt-gal--masonry .kt-gal__col { gap: var(--kt-gap-m); }
}

/* Fullscreen viewer */
.kt-lb { position: fixed; inset: 0; z-index: 99999; background: #f9f9f5; display: none; touch-action: pan-y; }
.kt-lb.is-open { display: block; animation: ktLbIn .25s ease; }
@keyframes ktLbIn { from { opacity: 0; } to { opacity: 1; } }
.kt-lb__stage { position: absolute; inset: 40px 90px; display: flex; align-items: center; justify-content: center; }
.kt-lb__img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; user-select: none; -webkit-user-drag: none; transition: opacity .25s ease; }
.kt-lb__btn { position: absolute; border: 0; background: transparent; padding: 14px; cursor: pointer; color: #222; line-height: 0; }
.kt-lb__btn svg { width: 24px; height: 24px; stroke: currentColor; fill: none; stroke-width: 1.2; }
.kt-lb__btn:hover { opacity: .6; }
.kt-lb__btn:focus-visible { outline: 1px solid #222; }
.kt-lb__close { top: 22px; right: 26px; }
.kt-lb__prev { left: 26px; top: 50%; transform: translateY(-50%); }
.kt-lb__next { right: 26px; top: 50%; transform: translateY(-50%); }
.kt-lb__count { position: absolute; left: 0; right: 0; bottom: 14px; text-align: center; font: 300 11px/1 'Montserrat Light', sans-serif; letter-spacing: .15em; color: #77736d; }
html.kt-lb-open { overflow: hidden; }
@media (max-width: 767px) {
	.kt-lb__stage { inset: 56px 0 44px; }
	.kt-lb__prev, .kt-lb__next { top: auto; bottom: 0; transform: none; }
	.kt-lb__close { top: 6px; right: 6px; }
}

/* "Show more photos" (phones only) */
.kt-gal__morewrap { display: none; text-align: center; margin: 28px 0 0 !important; }
@media (max-width: 767px) {
	.kt-gal--collapsed + .kt-gal__morewrap { display: block; }
	.kt-gal__more { min-height: 44px; cursor: pointer; background: transparent; }
}
