
/* v0.18.7: prevent uninitialized gallery flash before first layout. */
.kpdg-gallery:not(.kpdg-is-ready) {
	visibility:hidden;
}
.kpdg-gallery.kpdg-is-ready {
	visibility:visible;
}


.kpdg-gallery-block {
	width: 100%;
	max-width: 100%;
}

.kpdg-gallery {
	width: 100%;
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	overflow: visible;
}

.kpdg-gallery-items {
	width: 100%;
	max-width: 100%;
	isolation: isolate;
}

.kpdg-gallery-item {
	position: relative;
	z-index: 1;
	overflow: hidden;
	box-sizing: border-box;
	margin: 0;
	padding: var(--kpdg-image-padding, 0);
	background: var(--kpdg-image-bg, #fff);
	border-width: var(--kpdg-border-width, 0);
	border-style: var(--kpdg-border-style, solid);
	border-color: var(--kpdg-border-color, #000);
	border-radius: var(--kpdg-radius, 0);
	transform-origin: center center;
}

.kpdg-gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	border-radius: inherit;
}

/* Justified: JS packs exact-ratio tiles into rows spanning 100%. */
.kpdg-layout-justified .kpdg-gallery-items,
.kpdg-layout-mosaic .kpdg-gallery-items {
	display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;
	gap:var(--kpdg-row-gap,10px) var(--kpdg-column-gap,10px);
	width:100%;overflow:visible;
}
.kpdg-layout-justified .kpdg-gallery-item,
.kpdg-layout-mosaic .kpdg-gallery-item { flex:0 0 auto;min-width:0; }
.kpdg-layout-justified .kpdg-gallery-item img,
.kpdg-layout-mosaic .kpdg-gallery-item img { width:100%;height:100%;object-fit:cover; }

/* Masonry is positioned by JS so horizontal and vertical gaps are exact. */
.kpdg-layout-masonry .kpdg-gallery-items { position:relative;width:100%; }
.kpdg-layout-masonry .kpdg-gallery-item { position:absolute;margin:0; }
.kpdg-layout-masonry .kpdg-gallery-item img { width:100%;height:auto; }

@media(max-width:1024px){
}
@media(max-width:600px){
}

/*
 * Zoom Out:
 * the thumbnail/card never changes size. The image starts enlarged and returns
 * to its base object-fit:cover scale on hover.
 */




/* Pagination */
.kpdg-pagination {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: 28px;
	font-family: "Krona One", sans-serif;
	text-transform: uppercase;
}

.kpdg-number-pagination,
.kpdg-load-more-wrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.kpdg-page-status {
	margin: 0 0 12px;
	color: #000;
	font: inherit;
	font-size: 14px;
	line-height: 1.25;
	text-align: center;
	white-space: nowrap;
}

.kpdg-pagination-controls {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.kpdg-page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.kpdg-page-button,
.kpdg-nav-button,
.kpdg-go-button,
.kpdg-load-more {
	appearance: none;
	box-sizing: border-box;
	min-width: 50px;
	height: 50px;
	padding: 0 16px;
	border: 2px solid #000;
	background: #000;
	color: #fff;
	font: inherit;
	font-size: 14px;
	line-height: 46px;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .15s ease, color .15s ease, opacity .15s ease;
}

.kpdg-page-button {
	width: 50px;
	padding: 0;
}

.kpdg-page-button.is-active {
	background: #fff;
	color: #000;
}

.kpdg-page-button:hover,
.kpdg-nav-button:hover:not(:disabled),
.kpdg-go-button:hover,
.kpdg-load-more:hover {
	background: #fff;
	color: #000;
}

.kpdg-nav-button:disabled {
	border-color: #8e8e8e;
	background: #8e8e8e;
	color: #fff;
	cursor: default;
	opacity: 1;
}

.kpdg-go-to-page {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: 8px;
}

.kpdg-go-label {
	color: #000;
	font-size: 14px;
	white-space: nowrap;
}

.kpdg-go-input {
	box-sizing: border-box;
	width: 74px;
	height: 50px;
	padding: 0 10px;
	border: 2px solid #000;
	border-radius: 0;
	background: #fff;
	color: #000;
	font: inherit;
	font-size: 14px;
	text-align: center;
	-moz-appearance: textfield;
}

.kpdg-go-input::-webkit-outer-spin-button,
.kpdg-go-input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

/* Tablet: same navigation, proportionally smaller. */
@media (max-width: 900px) {
	.kpdg-pagination {
		margin-top: 24px;
	}

	.kpdg-pagination-controls,
	.kpdg-page-numbers {
		gap: 7px;
	}

	.kpdg-page-status {
		margin-bottom: 10px;
		font-size: 12px;
	}

	.kpdg-page-button,
	.kpdg-nav-button,
	.kpdg-go-button,
	.kpdg-load-more {
		min-width: 44px;
		height: 44px;
		padding: 0 12px;
		border-width: 2px;
		font-size: 12px;
		line-height: 40px;
	}

	.kpdg-page-button {
		width: 44px;
		padding: 0;
	}

	.kpdg-go-to-page {
		gap: 7px;
		margin-left: 5px;
	}

	.kpdg-go-input {
		width: 64px;
		height: 44px;
		padding: 0 8px;
		font-size: 12px;
	}

	.kpdg-go-label {
		font-size: 12px;
	}
}

/* Mobile: reduce the complete control system further. */
@media (max-width: 600px) {
	.kpdg-pagination {
		margin-top: 20px;
	}

	.kpdg-pagination-controls,
	.kpdg-page-numbers {
		gap: 5px;
	}

	.kpdg-page-status {
		margin-bottom: 8px;
		font-size: 10px;
	}

	.kpdg-page-button,
	.kpdg-nav-button,
	.kpdg-go-button,
	.kpdg-load-more {
		min-width: 36px;
		height: 36px;
		padding: 0 7px;
		border-width: 2px;
		font-size: 10px;
		line-height: 33px;
	}

	.kpdg-page-button {
		width: 36px;
		padding: 0;
	}

	.kpdg-go-to-page {
		width: 100%;
		justify-content: center;
		gap: 5px;
		margin: 4px 0 0;
	}

	.kpdg-go-input {
		width: 54px;
		height: 36px;
		padding: 0 5px;
		border-width: 2px;
		font-size: 10px;
	}

	.kpdg-go-label {
		font-size: 10px;
	}
}

.kpdg-gallery-item.kpdg-hidden {
	display: none !important;
}

@media (max-width: 900px) {

	.kpdg-number-pagination,
	.kpdg-page-numbers {
		gap: 7px;
	}

	.kpdg-page-button,
	.kpdg-nav-button,
	.kpdg-go-button,
	.kpdg-load-more {
		min-width: 44px;
		height: 44px;
		padding: 0 12px;
		font-size: 12px;
		line-height: 40px;
	}

	.kpdg-go-input {
		width: 64px;
		height: 44px;
	}
}

@media (max-width: 600px) {

	.kpdg-go-to-page {
		width: 100%;
		justify-content: center;
		margin: 4px 0 0;
	}
}

.kpdg-layout-justified .kpdg-gallery-items,
.kpdg-layout-mosaic .kpdg-gallery-items,
.kpdg-layout-masonry .kpdg-gallery-items{
	display:block !important;
	position:relative !important;
	width:100% !important;
}
.kpdg-layout-justified .kpdg-gallery-item,
.kpdg-layout-mosaic .kpdg-gallery-item,
.kpdg-layout-masonry .kpdg-gallery-item{
	position:absolute;
	box-sizing:border-box;
}
.kpdg-layout-justified .kpdg-gallery-item img,
.kpdg-layout-mosaic .kpdg-gallery-item img{
	width:100% !important;height:100% !important;object-fit:cover !important;
}
.kpdg-layout-masonry .kpdg-gallery-item img{
	width:100% !important;height:auto !important;object-fit:contain !important;
}


/* v0.11.1 — exact Justified boxes, including portrait ratios */
/* v0.11.3 — Fixed / Justified hardening */
/* v0.11.4 — Justified card ratio is authoritative */
/* v0.12.1 — smoother Load More */
.kpdg-gallery-items {
}





/* Keep pagination borders strong on every breakpoint. */
@media (max-width: 900px) {
	.kpdg-page-button,
	.kpdg-nav-button,
	.kpdg-go-button,
	.kpdg-load-more,
	.kpdg-go-input {
		border-width: 2px !important;
	}
}

@media (max-width: 600px) {
}

/* v0.18.113 — per-Gallery-Style Pagination / Load More appearance.
 * CSS-variable defaults emitted by style_inline_vars() reproduce the legacy look. */
.kpdg-pagination {
	justify-content: var(--kpdg-pagination-justify, center);
	margin-top: var(--kpdg-pagination-margin-top, 28px);
}
.kpdg-number-pagination,
.kpdg-load-more-wrap {
	align-items: var(--kpdg-pagination-justify, center);
}
.kpdg-page-status {
	margin-bottom: var(--kpdg-pagination-status-margin-bottom, 12px);
	color: var(--kpdg-pagination-status-color, #000);
	font-size: var(--kpdg-pagination-status-font-size, 14px);
}
.kpdg-pagination-controls,
.kpdg-page-numbers {
	justify-content: var(--kpdg-pagination-justify, center);
	gap: var(--kpdg-pagination-gap, 10px);
}
.kpdg-page-button,
.kpdg-nav-button,
.kpdg-go-button,
.kpdg-load-more {
	min-width: var(--kpdg-pagination-button-height, 50px);
	height: var(--kpdg-pagination-button-height, 50px);
	padding: var(--kpdg-pagination-padding-y, 0px) var(--kpdg-pagination-padding-x, 16px);
	border-width: var(--kpdg-pagination-border-width, 2px) !important;
	border-style: var(--kpdg-pagination-border-style, solid);
	border-color: var(--kpdg-pagination-border-color, #000);
	border-radius: var(--kpdg-pagination-radius, 0px);
	background: var(--kpdg-pagination-bg, #000);
	color: var(--kpdg-pagination-text-color, #fff);
	font-size: var(--kpdg-pagination-font-size, 14px);
	font-weight: var(--kpdg-pagination-font-weight, inherit);
	line-height: var(--kpdg-pagination-line-height, 46px);
	transition: background var(--kpdg-pagination-transition, 150ms) ease, color var(--kpdg-pagination-transition, 150ms) ease, border-color var(--kpdg-pagination-transition, 150ms) ease, opacity var(--kpdg-pagination-transition, 150ms) ease;
}
.kpdg-page-button {
	width: var(--kpdg-pagination-button-height, 50px);
	padding-left: 0;
	padding-right: 0;
}
.kpdg-load-more { width: var(--kpdg-load-more-width, auto); }
.kpdg-page-button.is-active {
	background: var(--kpdg-pagination-active-bg, #fff);
	color: var(--kpdg-pagination-active-text-color, #000);
	border-color: var(--kpdg-pagination-active-border-color, #000);
}
.kpdg-page-button:hover,
.kpdg-nav-button:hover:not(:disabled),
.kpdg-go-button:hover,
.kpdg-load-more:hover {
	background: var(--kpdg-pagination-hover-bg, #fff);
	color: var(--kpdg-pagination-hover-text-color, #000);
	border-color: var(--kpdg-pagination-hover-border-color, #000);
}
.kpdg-nav-button:disabled {
	border-color: var(--kpdg-pagination-disabled-border-color, #8e8e8e);
	background: var(--kpdg-pagination-disabled-bg, #8e8e8e);
	color: var(--kpdg-pagination-disabled-text-color, #fff);
}
.kpdg-go-input {
	border-width: var(--kpdg-pagination-border-width, 2px) !important;
	border-style: var(--kpdg-pagination-border-style, solid);
	border-color: var(--kpdg-pagination-border-color, #000);
	border-radius: var(--kpdg-pagination-radius, 0px);
}
@media (max-width: 900px) {
	.kpdg-pagination { margin-top: var(--kpdg-pagination-margin-top-tablet, 24px); }
	.kpdg-pagination-controls, .kpdg-page-numbers { gap: var(--kpdg-pagination-gap-tablet, 7px); }
	.kpdg-page-status { margin-bottom: var(--kpdg-pagination-status-margin-bottom-tablet, 10px); font-size: var(--kpdg-pagination-status-font-size-tablet, 12px); }
	.kpdg-page-button, .kpdg-nav-button, .kpdg-go-button, .kpdg-load-more {
		min-width: var(--kpdg-pagination-button-height-tablet, 44px);
		height: var(--kpdg-pagination-button-height-tablet, 44px);
		padding: var(--kpdg-pagination-padding-y-tablet, 0px) var(--kpdg-pagination-padding-x-tablet, 12px);
		font-size: var(--kpdg-pagination-font-size-tablet, 12px);
		line-height: var(--kpdg-pagination-line-height-tablet, 40px);
	}
	.kpdg-page-button { width: var(--kpdg-pagination-button-height-tablet, 44px); padding-left:0; padding-right:0; }
}
@media (max-width: 600px) {
	.kpdg-pagination { margin-top: var(--kpdg-pagination-margin-top-mobile, 20px); }
	.kpdg-pagination-controls, .kpdg-page-numbers { gap: var(--kpdg-pagination-gap-mobile, 5px); }
	.kpdg-page-status { margin-bottom: var(--kpdg-pagination-status-margin-bottom-mobile, 8px); font-size: var(--kpdg-pagination-status-font-size-mobile, 10px); }
	.kpdg-page-button, .kpdg-nav-button, .kpdg-go-button, .kpdg-load-more {
		min-width: var(--kpdg-pagination-button-height-mobile, 36px);
		height: var(--kpdg-pagination-button-height-mobile, 36px);
		padding: var(--kpdg-pagination-padding-y-mobile, 0px) var(--kpdg-pagination-padding-x-mobile, 7px);
		font-size: var(--kpdg-pagination-font-size-mobile, 10px);
		line-height: var(--kpdg-pagination-line-height-mobile, 33px);
	}
	.kpdg-page-button { width: var(--kpdg-pagination-button-height-mobile, 36px); padding-left:0; padding-right:0; }
}

/* Smooth numbered pagination and Load More container growth. */
.kpdg-gallery-items {
}





/* Zoom Out affects only the actual image; frame/background/padding remain fixed. */






/* Card geometry is always measured as the full outer box. */
.kpdg-gallery-item {
	box-sizing: border-box;
}


/* v0.14.2 — dedicated image viewport: frame never participates in Zoom Out. */
.kpdg-gallery-item { overflow: visible; }
.kpdg-image-viewport {
	display:block; width:100%; height:100%; min-width:0; min-height:0;
	overflow:hidden; box-sizing:border-box;
}
.kpdg-image-viewport > img {
	display:block; width:100%; height:100%; max-width:none; box-sizing:border-box;
}

/* Unified Load More: fade in while falling gently into position. */



/* Expansion happens below the current viewport; never browser-reanchor it. */
.kpdg-gallery,.kpdg-gallery-items { overflow-anchor:none; }
.kpdg-gallery-items { }



.kpdg-gallery-items {
	overflow: hidden;
	overflow-anchor: none;
}

/* Items waiting for a later Load More remain in layout, but invisible. */
.kpdg-gallery-item.kpdg-load-pending {
	opacity: 0 !important;
	visibility: hidden;
	pointer-events: none;
}

/* Every newly revealed card uses exactly the same animation. */




/* The gallery itself must never trigger browser scroll anchoring. */
.kpdg-gallery,
.kpdg-gallery-block {
	overflow-anchor: none;
}


/* Cards may visually grow above/below/sideways on hover. */
.kpdg-gallery-item {
	position: relative;
	overflow: visible;
	z-index: 1;
}

/* Zoom In must never be clipped by the card itself. */




/*
 * The inner image viewport owns the clipping of the bitmap only.
 * This keeps zoom effects inside the image area while letting the card itself
 * rise above neighbouring rows/cards.
 */
.kpdg-image-viewport {
	overflow: hidden;
}

/*
 * Rounded geometry:
 * the outer card keeps its configured radius;
 * the image viewport and the image inherit a matching inner rounding
 * so a padded rounded frame never contains a square-cornered photo.
 */
.kpdg-gallery-item {
	border-radius: var(--kpdg-radius, 0px);
}

.kpdg-gallery-item > .kpdg-image-viewport {
	border-radius: var(--kpdg-inner-radius, var(--kpdg-radius, 0px));
}

.kpdg-gallery-item > .kpdg-image-viewport > img {
	border-radius: inherit;
}

/*
 * When padding exists, the inner photo radius should visually follow the
 * same rounded language as the outer frame instead of remaining square.
 * Clipping is handled by the viewport so the bitmap conforms to it exactly.
 */
.kpdg-gallery-item > .kpdg-image-viewport {
}

/*
 * Generic Load More still controls vertical reveal/height.
 * Do not clip individual cards or rows; only the gallery-items container
 * controls the visible gallery height.
 */


/* During hover, allow the active zoomed card to render above sibling rows. */



/*
 * The gallery width must remain fixed.
 * Never let hover zoom create horizontal overflow or scrollbars.
 */


/*
 * Vertical visibility remains controlled by the generic Load More system.
 * Do not let hover change the measured layout width/height.
 */
.kpdg-gallery-items {
	position: relative;
}

/*
 * Hover zoom is visual only:
 * the card keeps its normal layout box;
 * the transformed visual rises above neighbours with z-index.
 */




/*
 * Individual cards may paint beyond their own box, but the gallery width
 * remains clipped to its normal bounds so no horizontal scrollbar appears.
 */


/*
 * Override the v0.15.1 :has overflow rule completely.
 */


/*
 * Keep the inner image viewport responsible only for bitmap clipping.
 * Rounded corners and image geometry stay intact.
 */
.kpdg-image-viewport {
	overflow: hidden;
}


/*
 * The REAL card remains inside its normal layout box.
 * Do not scale it: this avoids all clipping/overflow/scrollbar problems.
 */


/*
 * The visual clone lives directly under <body>, outside every gallery wrapper.
 * Therefore it cannot be clipped by Load More, rows, Masonry, theme wrappers,
 * or horizontal gallery bounds.
 */


/*
 * IMPORTANT: the shadow uses the exact Gallery Styles hover settings.
 * No hard-coded shadow values here.
 */


/*
 * The clone must preserve rounded frame + rounded inner image exactly.
 */




/*
 * Never generate a horizontal scrollbar because of Hover Zoom.
 * The zoomed visual clone is fixed-position and does not contribute to
 * document/layout overflow.
 */
.kpdg-gallery,
.kpdg-gallery-block,
.kpdg-gallery-items {
	max-width: 100%;
}

/*
 * Permanent Image Appearance shadow: keep it on the outer card.
 * Do not let hover overwrite it on the real source card.
 */




.kpdg-gallery-item.kpdg-load-pending {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.kpdg-gallery-item.kpdg-entry-prep {
	opacity: 0;
	transform: translateY(-14px);
	will-change: opacity, transform;
}

.kpdg-gallery-item.kpdg-entry-prep.kpdg-entry-visible {
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity .56s ease,
		transform .64s cubic-bezier(.22,.61,.36,1);
}

.kpdg-gallery-item.kpdg-load-pending {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}


/* v0.16.18 — Fixed geometry is owned only by JS. */
.kpdg-gallery.kpdg-layout-fixed,
.kpdg-gallery.kpdg-layout-fixed .kpdg-gallery-items {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
}
.kpdg-gallery.kpdg-layout-fixed .kpdg-gallery-item {
	max-width: none !important;
	max-height: none !important;
}

/* Image Appearance shadow: normal state only. */


/* Load More owns only gallery height animation. */
.kpdg-gallery-items {
	transition: height .52s cubic-bezier(.22,.61,.36,1);
	will-change: height;
}

.kpdg-gallery-items.kpdg-loadmore-no-transition {
	transition: none !important;
}

/* Image Appearance box shadow = normal state only. */
.kpdg-gallery .kpdg-gallery-item > .kpdg-image-viewport,
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item > .kpdg-image-viewport > img {
	box-shadow: none !important;
	filter: none !important;
}


/* Fade */
.kpdg-hover-fade .kpdg-gallery-item::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 5;
	pointer-events: none;
	background: var(--kpdg-hover-overlay-color,#000);
	opacity: 0;
	border-radius: inherit;
	transition: opacity var(--kpdg-transition,250ms) cubic-bezier(.22,.61,.36,1);
}

.kpdg-hover-fade .kpdg-gallery-item:hover::after {
	opacity: var(--kpdg-hover-overlay-opacity,.30);
}

/* Border */
.kpdg-hover-border .kpdg-gallery-item {
	transition:
		border-color var(--kpdg-transition,250ms) cubic-bezier(.22,.61,.36,1),
		background-color var(--kpdg-transition,250ms) cubic-bezier(.22,.61,.36,1);
}

.kpdg-hover-border .kpdg-gallery-item:hover {
	border-color: var(--kpdg-hover-border-color,#fff);
	background-color: var(--kpdg-hover-background-color,#fff);
}

/* Zoom Out */
.kpdg-hover-zoom-out .kpdg-image-viewport > img {
	transform: scale(var(--kpdg-hover-zoom-out-scale,1.10));
	transform-origin: center center;
	transition: transform var(--kpdg-transition,250ms) cubic-bezier(.22,.61,.36,1);
}

.kpdg-hover-zoom-out .kpdg-gallery-item:hover .kpdg-image-viewport > img {
	transform: scale(1);
}


/* Base gallery-items overflow: one rule only. */
.kpdg-gallery-items {
	overflow: visible;
}

/* Image Appearance shadow: normal state only. */
.kpdg-gallery:not(.kpdg-has-shadow) .kpdg-gallery-item {
	box-shadow: none !important;
	filter: none !important;
}

.kpdg-gallery.kpdg-has-shadow .kpdg-gallery-item {
	box-shadow: var(--kpdg-box-shadow, none) !important;
	filter: none !important;
}

/*
 * DIRECT ZOOM:
 * The real rendered card scales in place.
 * No clone, no extra box, no recalculated dimensions.
 * Border/padding/radius scale together because they already belong to the card.
 */
.kpdg-hover-zoom .kpdg-gallery-item {
	transform: scale(1);
	transform-origin: center center;
	transition:
		transform var(--kpdg-transition,250ms) cubic-bezier(.22,.61,.36,1),
		box-shadow var(--kpdg-transition,250ms) cubic-bezier(.22,.61,.36,1);
	will-change: transform;
}

.kpdg-hover-zoom .kpdg-gallery-item:hover {
	transform: scale(var(--kpdg-hover-scale,1.04));
	box-shadow: var(--kpdg-hover-shadow,none) !important;
	z-index: 20 !important;
}

/* Keep the viewport clipping only the image itself to the card radius. */
.kpdg-hover-zoom .kpdg-gallery-item > .kpdg-image-viewport {
	overflow: hidden !important;
}

/* Normal Image Appearance shadow must not stack with Zoom shadow on hover. */
.kpdg-hover-zoom.kpdg-has-shadow .kpdg-gallery-item:hover {
	box-shadow: var(--kpdg-hover-shadow,none) !important;
}


/* =========================================================
   v0.18.1 — KPDaily Lightbox
   ========================================================= */

.kpdg-gallery[data-kpdg-lightbox-style] .kpdg-gallery-item,
.kpdg-gallery[data-kpdg-lightbox-style] .kpdg-image-viewport,
.kpdg-gallery[data-kpdg-lightbox-style] .kpdg-image-viewport img { cursor:pointer; }

.kpdg-lightbox-overlay {
	position:fixed;
	inset:0;
	z-index:2147483000;
	display:block;
	visibility:hidden;
	opacity:0;
	pointer-events:none;
	box-sizing:border-box;
	background:var(--kpdg-lb-overlay-bg,rgba(255,255,255,.2));
	transition:opacity .30s ease,visibility 0s linear .30s;
	overscroll-behavior:contain;
}
.kpdg-lightbox-overlay.is-mounted {
	visibility:visible;
	transition:opacity .30s ease;
}
.kpdg-lightbox-overlay.is-open {
	opacity:1;
	pointer-events:auto;
}
body.kpdg-lightbox-scroll-locked { overscroll-behavior:none; }

.kpdg-lightbox-shell {
	position:absolute;
	inset:var(--kpdg-lb-outer-margin,50px);
	display:flex;
	flex-direction:column;
	min-width:0;
	min-height:0;
	overflow:hidden;
	box-sizing:border-box;
	border-radius:var(--kpdg-lb-window-radius,0px);
	box-shadow:var(--kpdg-lb-shadow,0 0 50px 20px rgba(0,0,0,.4));
	background-color:var(--kpdg-lb-display-bg-color,var(--kpdg-lb-display-bg,transparent));
	background-image:var(--kpdg-lb-display-bg-image,none);
	background-size:var(--kpdg-lb-display-bg-size,cover);
	background-repeat:var(--kpdg-lb-display-bg-repeat,no-repeat);
	background-position:center center;
	transform:scale(.988);
	opacity:.96;
	transition:transform .30s cubic-bezier(.22,.61,.36,1),opacity .30s ease;
}
.kpdg-lightbox-overlay.is-open .kpdg-lightbox-shell {
	transform:scale(1);
	opacity:1;
}

.kpdg-lightbox-display {
	position:relative;
	flex:1 1 auto;
	min-width:0;
	min-height:0;
	overflow:hidden;
	background-color:var(--kpdg-lb-display-bg-color,var(--kpdg-lb-display-bg,transparent));
	background-image:var(--kpdg-lb-display-bg-image,none);
	background-size:var(--kpdg-lb-display-bg-size,cover);
	background-repeat:var(--kpdg-lb-display-bg-repeat,no-repeat);
	background-position:center center;
	border-radius:var(--kpdg-lb-window-radius,0px) var(--kpdg-lb-window-radius,0px) 0 0;
}
.kpdg-lightbox-stage {
	position:absolute;
	inset:0;
	overflow:hidden;
	border-radius:var(--kpdg-lb-window-radius,0px) var(--kpdg-lb-window-radius,0px) 0 0;
	box-sizing:border-box;
	padding:var(--kpdg-lb-image-margin,20px);
	cursor:default;
	touch-action:none;
}
.kpdg-lightbox-stage.is-zoom-in {
	cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='13' cy='13' r='7' fill='white' stroke='black' stroke-width='2'/%3E%3Cpath d='M18.5 18.5L27 27M13 9v8M9 13h8' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 15 15,zoom-in;
}
.kpdg-lightbox-stage.is-zoom-out {
	cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='13' cy='13' r='7' fill='white' stroke='black' stroke-width='2'/%3E%3Cpath d='M18.5 18.5L27 27M9 13h8' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 15 15,zoom-out;
}

.kpdg-lightbox-image-layer {
	position:absolute;
	inset:var(--kpdg-lb-image-margin,20px);
	overflow:hidden;
	border-radius:max(0px,calc(var(--kpdg-lb-window-radius,0px) - var(--kpdg-lb-image-margin,20px))) max(0px,calc(var(--kpdg-lb-window-radius,0px) - var(--kpdg-lb-image-margin,20px))) 0 0;
}
.kpdg-lightbox-fit-image,
.kpdg-lightbox-full-image,
.kpdg-lightbox-nav-image {
	display:block;
	position:absolute;
	user-select:none;
	-webkit-user-drag:none;
	object-fit:contain;
	will-change:transform,opacity,left,top,width,height;
}
.kpdg-lightbox-fit-image {
	left:50%;
	top:50%;
	width:auto;
	height:auto;
	max-width:100%;
	max-height:100%;
	transform:translate(-50%,-50%) scale(1);
	opacity:1;
	z-index:1;
	transition:none;
}
.kpdg-lightbox-fit-image.leave-left,
.kpdg-lightbox-fit-image.leave-right {
	opacity:1;
	transform:translate(-50%,-50%) scale(1);
}
.kpdg-lightbox-full-image {
	left:0;
	top:0;
	max-width:none;
	max-height:none;
	opacity:0;
	z-index:2;
	pointer-events:none;
	transform-origin:center center;
}
.kpdg-lightbox-full-image.is-visible {
	pointer-events:auto;
}
.kpdg-lightbox-image-layer.is-zoom-transitioning .kpdg-lightbox-fit-image,
.kpdg-lightbox-image-layer.is-zoom-transitioning .kpdg-lightbox-full-image {
	transition:none;
}
.kpdg-lightbox-nav-image {
	left:50%;
	top:50%;
	width:auto;
	height:auto;
	max-width:100%;
	max-height:100%;
	opacity:0;
	z-index:3;
	pointer-events:none;
	transition:none;
}
.kpdg-lightbox-nav-image.from-left,
.kpdg-lightbox-nav-image.from-right,
.kpdg-lightbox-nav-image.is-entering {
	opacity:0;
	transform:translate(-50%,-50%);
}

.kpdg-lightbox-display-nav,
.kpdg-lightbox-close,
.kpdg-lightbox-film-nav,
.kpdg-lightbox-thumb {
	appearance:none;
	-webkit-appearance:none;
	box-shadow:none;
	text-decoration:none;
	box-sizing:border-box;
	transition:
		opacity .20s ease,
		transform .20s ease,
		background-color .20s ease,
		color .20s ease,
		border-color .20s ease,
		border-radius .20s ease,
		padding .20s ease;
}
.kpdg-lightbox-display-nav,
.kpdg-lightbox-close,
.kpdg-lightbox-film-nav {
	border:0;
	cursor:pointer;
}
.kpdg-lightbox-display-nav svg,
.kpdg-lightbox-close svg,
.kpdg-lightbox-film-nav svg {
	display:block;
	width:24px;
	height:24px;
	fill:none;
	stroke:currentColor;
	stroke-width:2.2;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.kpdg-lightbox-display-nav::after,
.kpdg-lightbox-close::after,
.kpdg-lightbox-film-nav::after {
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	box-sizing:border-box;
	border-width:0;
	border-color:transparent;
	border-radius:inherit;
}
.kpdg-lightbox-display-nav {
	position:absolute;
	top:50%;
	z-index:5;
	transform:translateY(-50%);
	padding:var(--kpdg-lb-display-nav-padding-v,10px) var(--kpdg-lb-display-nav-padding-h,14px);
	border-radius:var(--kpdg-lb-display-nav-radius,0px);
	background:var(--kpdg-lb-display-nav-bg,#000);
	color:var(--kpdg-lb-display-nav-icon,#fff);
}
.kpdg-lightbox-display-nav:active { transform:translateY(-50%) scale(.94); }
.kpdg-lightbox-display-nav:not(:disabled):hover {
	background:var(--kpdg-lb-display-nav-hover-bg,#fff);
	color:var(--kpdg-lb-display-nav-hover-icon,#000);
}
.kpdg-lightbox-display-nav:not(:disabled):hover::after {
	border-width:var(--kpdg-lb-display-nav-hover-border-width,2px);
	border-style:var(--kpdg-lb-display-nav-hover-border-style,solid);
	border-color:var(--kpdg-lb-display-nav-hover-border-color,#000);
}
.kpdg-lightbox-display-nav:disabled {
	opacity:1;
	background:var(--kpdg-lb-display-nav-inactive-bg,#fff);
	color:var(--kpdg-lb-display-nav-inactive-icon,#000);
	cursor:default;
}
.kpdg-lightbox-display-nav:disabled::after {
	border-width:var(--kpdg-lb-display-nav-inactive-border-width,2px);
	border-style:var(--kpdg-lb-display-nav-inactive-border-style,solid);
	border-color:var(--kpdg-lb-display-nav-inactive-border-color,#000);
}
.kpdg-lightbox-prev { left:var(--kpdg-lb-display-nav-margin,15px); }
.kpdg-lightbox-next { right:var(--kpdg-lb-display-nav-margin,15px); }

.kpdg-lightbox-close {
	position:absolute;
	top:var(--kpdg-lb-close-margin,15px);
	right:var(--kpdg-lb-close-margin,15px);
	z-index:7;
	padding:var(--kpdg-lb-close-padding-v,10px) var(--kpdg-lb-close-padding-h,14px);
	border-radius:var(--kpdg-lb-close-radius,0px);
	background:var(--kpdg-lb-close-bg,#000);
	color:var(--kpdg-lb-close-icon,#fff);
}
.kpdg-lightbox-close:active { transform:scale(.94); }
.kpdg-lightbox-close:hover {
	background:var(--kpdg-lb-close-hover-bg,#fff);
	color:var(--kpdg-lb-close-hover-icon,#000);
}
.kpdg-lightbox-close:hover::after {
	border-width:var(--kpdg-lb-close-hover-border-width,2px);
	border-style:var(--kpdg-lb-close-hover-border-style,solid);
	border-color:var(--kpdg-lb-close-hover-border-color,#000);
}

.kpdg-lightbox-filmstrip {
	position:relative;
	flex:0 0 var(--kpdg-lb-filmstrip-height,140px);
	height:var(--kpdg-lb-filmstrip-height,140px);
	min-height:0;
	overflow:hidden;
	padding-top:var(--kpdg-lb-filmstrip-padding-v,10px);
	padding-bottom:var(--kpdg-lb-filmstrip-padding-v,10px);
	box-sizing:border-box;
	background-color:var(--kpdg-lb-filmstrip-bg-color,var(--kpdg-lb-filmstrip-bg,transparent));
	background-image:var(--kpdg-lb-filmstrip-bg-image,none);
	background-size:var(--kpdg-lb-filmstrip-bg-size,cover);
	background-repeat:var(--kpdg-lb-filmstrip-bg-repeat,no-repeat);
	background-position:center center;
	border-radius:0 0 var(--kpdg-lb-window-radius,0px) var(--kpdg-lb-window-radius,0px);
}
.kpdg-lightbox-film-viewport {
	position:absolute;
	inset:0;
	overflow:hidden;
	touch-action:none;
}
.kpdg-lightbox-film-track {
	position:absolute;
	left:0;
	top:50%;
	display:flex;
	align-items:center;
	gap:var(--kpdg-lb-thumb-gap,10px);
	width:max-content;
	transform:translate3d(0,-50%,0);
	transition:transform .26s cubic-bezier(.22,.61,.36,1);
	will-change:transform;
}
.kpdg-lightbox-film-track.is-no-transition { transition:none !important; }
.kpdg-lightbox-film-slot {
	flex:0 0 var(--kpdg-lb-thumb-slot-width,var(--kpdg-lb-thumb-content-width,100px));
	display:flex;
	align-items:center;
	justify-content:center;
	width:var(--kpdg-lb-thumb-slot-width,var(--kpdg-lb-thumb-content-width,100px));
	min-width:var(--kpdg-lb-thumb-slot-width,var(--kpdg-lb-thumb-content-width,100px));
	height:100%;
}
.kpdg-lightbox-thumb {
	display:block;
	flex:0 0 auto;
	width:var(--kpdg-lb-thumb-content-width,100px);
	height:var(--kpdg-lb-thumb-height,100px);
	padding:var(--kpdg-lb-thumb-padding,0px);
	border-width:var(--kpdg-lb-thumb-border-width,0px);
	border-style:var(--kpdg-lb-thumb-border-style,solid);
	border-color:var(--kpdg-lb-thumb-border-color,#fff);
	border-radius:var(--kpdg-lb-thumb-radius,0px);
	overflow:hidden;
	background:var(--kpdg-lb-thumb-bg,#000);
	opacity:var(--kpdg-lb-thumb-opacity,.72);
	box-sizing:content-box;
	cursor:pointer;
}
.kpdg-lightbox-thumb:not(.is-current):hover {
	padding:var(--kpdg-lb-thumb-hover-padding,0px);
	border-width:var(--kpdg-lb-thumb-hover-border-width,0px);
	border-style:var(--kpdg-lb-thumb-hover-border-style,solid);
	border-color:var(--kpdg-lb-thumb-hover-border-color,#fff);
	border-radius:var(--kpdg-lb-thumb-hover-radius,0px);
	background:var(--kpdg-lb-thumb-hover-bg,#000);
	opacity:var(--kpdg-lb-thumb-hover-opacity,1);
}
.kpdg-lightbox-thumb.is-current,
.kpdg-lightbox-thumb.is-current:hover {
	height:var(--kpdg-lb-thumb-selected-height,120px);
	padding:var(--kpdg-lb-thumb-selected-padding,0px);
	border-width:var(--kpdg-lb-thumb-selected-border-width,0px);
	border-style:var(--kpdg-lb-thumb-selected-border-style,solid);
	border-color:var(--kpdg-lb-thumb-selected-border-color,#fff);
	border-radius:var(--kpdg-lb-thumb-selected-radius,0px);
	background:var(--kpdg-lb-thumb-selected-bg,#000);
	opacity:var(--kpdg-lb-thumb-selected-opacity,1);
}
.kpdg-lightbox-thumb img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:inherit;
}
.kpdg-lightbox-film-nav {
	display:none;
	position:absolute;
	top:50%;
	z-index:8;
	transform:translateY(-50%);
	margin:0;
	padding:var(--kpdg-lb-film-nav-padding-v,10px) var(--kpdg-lb-film-nav-padding-h,14px);
	border-radius:var(--kpdg-lb-film-nav-radius,0px);
	background:var(--kpdg-lb-film-nav-bg,#fff);
	color:var(--kpdg-lb-film-nav-icon,#000);
}
.kpdg-lightbox-filmstrip.has-film-overflow .kpdg-lightbox-film-nav { display:block; }
.kpdg-lightbox-film-prev { left:var(--kpdg-lb-film-nav-margin,12px); }
.kpdg-lightbox-film-next { right:var(--kpdg-lb-film-nav-margin,12px); }
.kpdg-lightbox-film-nav:active { transform:translateY(-50%) scale(.94); }
.kpdg-lightbox-film-nav:not(:disabled):hover {
	background:var(--kpdg-lb-film-nav-hover-bg,#fff);
	color:var(--kpdg-lb-film-nav-hover-icon,#000);
}
.kpdg-lightbox-film-nav:not(:disabled):hover::after {
	border-width:var(--kpdg-lb-film-nav-hover-border-width,2px);
	border-style:var(--kpdg-lb-film-nav-hover-border-style,solid);
	border-color:var(--kpdg-lb-film-nav-hover-border-color,#000);
}
.kpdg-lightbox-film-nav:disabled {
	opacity:1;
	background:var(--kpdg-lb-film-nav-inactive-bg,#fff);
	color:var(--kpdg-lb-film-nav-inactive-icon,#000);
	cursor:default;
}
.kpdg-lightbox-film-nav:disabled::after {
	border-width:var(--kpdg-lb-film-nav-inactive-border-width,2px);
	border-style:var(--kpdg-lb-film-nav-inactive-border-style,solid);
	border-color:var(--kpdg-lb-film-nav-inactive-border-color,#000);
}

@media (max-width:782px) {
	.kpdg-lightbox-shell { inset:min(var(--kpdg-lb-outer-margin,50px),20px); }
	.kpdg-lightbox-film-slot { max-width:45vw; }
	.kpdg-lightbox-display-nav svg,
	.kpdg-lightbox-close svg,
	.kpdg-lightbox-film-nav svg { width:20px; height:20px; }
}
@media (prefers-reduced-motion:reduce) {
	.kpdg-lightbox-overlay,
	.kpdg-lightbox-shell,
	.kpdg-lightbox-fit-image,
	.kpdg-lightbox-full-image,
	.kpdg-lightbox-nav-image,
	.kpdg-lightbox-film-track,
	.kpdg-lightbox-display-nav,
	.kpdg-lightbox-close,
	.kpdg-lightbox-film-nav,
	.kpdg-lightbox-thumb { transition-duration:.01ms !important; }
}


/* v0.18.6: Display transitions intentionally disabled. */
.kpdg-lightbox-display,
.kpdg-lightbox-stage,
.kpdg-lightbox-image-layer,
.kpdg-lightbox-fit-image,
.kpdg-lightbox-full-image,
.kpdg-lightbox-nav-image,
.kpdg-lightbox-display-nav,
.kpdg-lightbox-close {
	transition:none !important;
	animation:none !important;
}
.kpdg-lightbox-display-nav:active {
	transform:translateY(-50%) !important;
}
.kpdg-lightbox-close:active {
	transform:none !important;
}

/* v0.18.57: non-blocking loader for uncached Lightbox display/full-resolution media. */
.kpdg-lightbox-loader {
	position:absolute;
	left:50%;
	top:50%;
	width:30px;
	height:30px;
	margin:-15px 0 0 -15px;
	box-sizing:border-box;
	border:2px solid rgba(127,127,127,.28);
	border-top-color:currentColor;
	border-radius:50%;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	z-index:6;
	color:#111;
}
.kpdg-lightbox-loader.is-visible {
	opacity:1;
	visibility:visible;
	animation:kpdg-lightbox-loader-spin .7s linear infinite !important;
}
@keyframes kpdg-lightbox-loader-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) {
	.kpdg-lightbox-loader.is-visible { animation-duration:1.4s !important; }
}

/* v0.18.79 — keep the close control clean on open; keyboard focus remains explicit. */
.kpdg-lightbox-close:focus:not(:focus-visible){outline:none;}


/* v0.18.110 — Gallery Styles Image Hover Background.
 * Only active when the preset explicitly enables it; default preserves all
 * historical hover/background behavior. This styles the card container only. */
.kpdg-gallery.kpdg-has-image-hover-background .kpdg-gallery-item:hover {
	background-color: var(--kpdg-image-hover-bg-color, transparent);
	background-image: var(--kpdg-image-hover-bg-image, none);
	background-size: var(--kpdg-image-hover-bg-size, cover);
	background-position: var(--kpdg-image-hover-bg-position, center center);
	background-repeat: var(--kpdg-image-hover-bg-repeat, no-repeat);
	background-attachment: var(--kpdg-image-hover-bg-attachment, scroll);
}

/* =========================================================
   v0.18.118 — Gallery Styles visual contract
   Gallery Block / Thumbnail / Thumbnail Hover only.
   Layout engines are intentionally untouched.
   ========================================================= */
.kpdg-gallery {
	box-sizing: border-box;
	max-width: 100%;
}

/* v0.18.138 — strict Styles contract:
 * non-selected Color/Image values never participate; background-color remains
 * independently transitionable while background-image switches discretely. */
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item {
	box-sizing: border-box !important;
	transition:
		transform var(--kpdg-transition,250ms) cubic-bezier(.22,.61,.36,1),
		background-color var(--kpdg-transition,250ms) ease,
		border-color var(--kpdg-transition,250ms) ease,
		border-width var(--kpdg-transition,250ms) ease,
		box-shadow var(--kpdg-transition,250ms) ease;
	padding: var(--kpdg-thumb-padding-top,0) var(--kpdg-thumb-padding-right,0) var(--kpdg-thumb-padding-bottom,0) var(--kpdg-thumb-padding-left,0) !important;
	margin-top: var(--kpdg-thumb-margin-top,0) !important;
	margin-right: var(--kpdg-thumb-margin-right,0) !important;
	margin-bottom: var(--kpdg-thumb-margin-bottom,0) !important;
	margin-left: var(--kpdg-thumb-margin-left,0) !important;
	border: var(--kpdg-thumb-border-width,0) solid var(--kpdg-thumb-border-color,#000) !important;
	border-radius: var(--kpdg-thumb-radius,0) !important;
	background-color: var(--kpdg-thumb-bg-color,transparent) !important;
	background-image: var(--kpdg-thumb-bg-image,none) !important;
	background-size: var(--kpdg-thumb-bg-size,cover) !important;
	background-position: var(--kpdg-thumb-bg-position,center center) !important;
	background-repeat: var(--kpdg-thumb-bg-repeat,no-repeat) !important;
	box-shadow: var(--kpdg-thumb-shadow,none) !important;
}

.kpdg-gallery.kpdg-gallery .kpdg-gallery-item > .kpdg-image-viewport {
	border-radius: var(--kpdg-thumb-inner-radius,0) !important;
}

.kpdg-gallery .kpdg-gallery-item > .kpdg-image-viewport > img {
	opacity: var(--kpdg-thumb-opacity,1);
	transition: opacity var(--kpdg-transition,250ms) ease, transform var(--kpdg-transition,250ms) cubic-bezier(.22,.61,.36,1);
}

/* v0.18.141 — Thumbnail Hover background image crossfades over the normal background.
 * background-image itself is discrete in CSS, so the Hover Image lives on its own
 * opacity layer. The normal Thumbnail background remains underneath during hover,
 * preventing the white flash that occurred when it was cleared before the fade. */
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item::before {
	content: "";
	position: absolute;
	top: var(--kpdg-thumb-border-width,0);
	right: var(--kpdg-thumb-border-width,0);
	bottom: var(--kpdg-thumb-border-width,0);
	left: var(--kpdg-thumb-border-width,0);
	z-index: 0;
	pointer-events: none;
	border-radius: var(--kpdg-thumb-inner-radius,0);
	background-color: transparent;
	background-image: var(--kpdg-thumb-hover-bg-image,none);
	background-size: var(--kpdg-thumb-hover-bg-size,cover);
	background-position: var(--kpdg-thumb-hover-bg-position,center center);
	background-repeat: var(--kpdg-thumb-hover-bg-repeat,no-repeat);
	opacity: 0;
	transition: opacity var(--kpdg-transition,250ms) ease;
}
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item > .kpdg-image-viewport {
	position: relative;
	z-index: 1;
}
.kpdg-gallery.kpdg-gallery.kpdg-thumb-hover-bg-image .kpdg-gallery-item:hover::before {
	opacity: 1;
}
.kpdg-gallery.kpdg-gallery.kpdg-thumb-hover-bg-color .kpdg-gallery-item:hover {
	background-color: var(--kpdg-thumb-hover-bg-color,transparent) !important;
	background-image: none !important;
}
.kpdg-gallery.kpdg-gallery.kpdg-thumb-hover-bg-transparent .kpdg-gallery-item:hover {
	background-color: transparent !important;
	background-image: none !important;
}
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item:hover {
	border-width: var(--kpdg-thumb-hover-border-width,var(--kpdg-thumb-border-width,0)) !important;
	border-style: solid !important;
	border-color: var(--kpdg-thumb-hover-border-color,var(--kpdg-thumb-border-color,#000)) !important;
	box-shadow: var(--kpdg-thumb-hover-shadow,var(--kpdg-thumb-shadow,none)) !important;
}

.kpdg-gallery.kpdg-gallery .kpdg-gallery-item:hover > .kpdg-image-viewport > img {
	opacity: var(--kpdg-thumb-hover-opacity,var(--kpdg-thumb-opacity,1));
}

/* Hover Effects in Gallery Styles are deliberately limited to None / Zoom In / Zoom Out. */
.kpdg-hover-zoom .kpdg-gallery-item:hover {
	box-shadow: var(--kpdg-thumb-hover-shadow,var(--kpdg-thumb-shadow,none)) !important;
}
.kpdg-hover-zoom-out .kpdg-gallery-item:hover {
	box-shadow: var(--kpdg-thumb-hover-shadow,var(--kpdg-thumb-shadow,none)) !important;
}

.kpdg-subalbum-wrap { width:100%; box-sizing:border-box; }


/* =========================================================
   v0.18.120 — Gallery Block geometry stabilization.
   The visual Gallery Block is a dedicated shell around the engine node,
   so padding/border/margin reduce the real 100% available layout width
   without changing Fixed/Justified/Mosaic/Masonry algorithms.
   ========================================================= */
.kpdg-gallery-style-block {
	box-sizing:border-box;
	width:100%;
	max-width:100%;
	min-width:0;
}
.kpdg-gallery-style-block > .kpdg-gallery {
	box-sizing:border-box;
	width:100% !important;
	max-width:100% !important;
	min-width:0;
	padding:0 !important;
	margin:0 !important;
	border:0 !important;
	background:transparent !important;
	box-shadow:none !important;
	border-radius:0 !important;
}
.kpdg-gallery-style-block > .kpdg-gallery > .kpdg-gallery-items {
	box-sizing:border-box;
	max-width:100%;
}
/* Hover Border changes color only; its geometry always comes from Thumbnail. */
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item:hover {
	border-width:var(--kpdg-thumb-border-width,0) !important;
}


/* v0.18.122 — rounded thumbnail/subalbum seam hardening. Keep shadows outside while clipping only inner media. */
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item { background-clip: border-box !important; }
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item > .kpdg-image-viewport {
	overflow: hidden !important;
	background-clip: padding-box;
}
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item > .kpdg-image-viewport > img {
	border-radius: inherit !important;
}
.kpdg-subalbum-title,
.kpdg-gallery-description { background-clip: padding-box; }
/* v0.18.127 — Description content-edge normalization.
 * Theme/WPBakery paragraph margins must not add phantom space at the top/bottom
 * of the Gallery Styles Description box. Internal paragraph spacing is preserved. */
.kpdg-gallery-description > :first-child { margin-top: 0 !important; }
.kpdg-gallery-description > :last-child { margin-bottom: 0 !important; }


/* =========================================================
   v0.18.123 — Navigation split: independent Pagination and Load More styling.
   Layout engines are not changed by these rules.
   ========================================================= */
.kpdg-pagination{margin:0!important;}
.kpdg-number-pagination{
	box-sizing:border-box;
	background-color:var(--kpdg-pnav-container-bg-color,transparent);
	background-image:var(--kpdg-pnav-container-bg-image,none);
	background-size:var(--kpdg-pnav-container-bg-size,cover);
	background-position:var(--kpdg-pnav-container-bg-position,center center);
	background-repeat:var(--kpdg-pnav-container-bg-repeat,no-repeat);
	padding:var(--kpdg-pnav-container-padding-top,0) var(--kpdg-pnav-container-padding-right,0) var(--kpdg-pnav-container-padding-bottom,0) var(--kpdg-pnav-container-padding-left,0);
	margin:var(--kpdg-pnav-container-margin-top,0) var(--kpdg-pnav-container-margin-right,0) var(--kpdg-pnav-container-margin-bottom,0) var(--kpdg-pnav-container-margin-left,0);
	border:var(--kpdg-pnav-container-border-width,0) solid var(--kpdg-pnav-container-border-color,#000);
	border-radius:var(--kpdg-pnav-container-radius,0);
	box-shadow:var(--kpdg-pnav-container-shadow,none);
}
.kpdg-number-pagination>.kpdg-page-status{color:var(--kpdg-pagination-status-color,#000);font-size:var(--kpdg-pagination-status-font-size,14px);text-align:var(--kpdg-pnav-status-align,center);margin-bottom:12px;}
.kpdg-number-pagination .kpdg-pagination-controls,.kpdg-number-pagination .kpdg-page-numbers{gap:var(--kpdg-pagination-gap,10px);}
.kpdg-number-pagination .kpdg-page-button,.kpdg-number-pagination .kpdg-nav-button,.kpdg-number-pagination .kpdg-go-button{
	box-sizing:border-box;width:auto!important;min-width:0!important;height:auto!important;line-height:normal!important;
	padding:var(--kpdg-pnav-button-pad-top,0) var(--kpdg-pnav-button-pad-right,16px) var(--kpdg-pnav-button-pad-bottom,0) var(--kpdg-pnav-button-pad-left,16px)!important;
	margin:var(--kpdg-pnav-button-margin-top,0) var(--kpdg-pnav-button-margin-right,0) var(--kpdg-pnav-button-margin-bottom,0) var(--kpdg-pnav-button-margin-left,0)!important;
	border-width:var(--kpdg-pagination-border-width,0)!important;border-style:solid!important;border-color:var(--kpdg-pagination-border-color,#000)!important;
	border-radius:var(--kpdg-pagination-radius,0)!important;background:var(--kpdg-pnav-button-bg,#000)!important;color:var(--kpdg-pagination-text-color,#fff)!important;
	font-size:var(--kpdg-pagination-font-size,14px)!important;box-shadow:var(--kpdg-pnav-button-shadow,none)!important;
	transition:background var(--kpdg-pagination-transition,150ms) ease,color var(--kpdg-pagination-transition,150ms) ease,border-color var(--kpdg-pagination-transition,150ms) ease,box-shadow var(--kpdg-pagination-transition,150ms) ease;
}
.kpdg-number-pagination .kpdg-page-button:hover,.kpdg-number-pagination .kpdg-nav-button:hover:not(:disabled),.kpdg-number-pagination .kpdg-go-button:hover{background:var(--kpdg-pagination-hover-bg,#fff)!important;color:var(--kpdg-pagination-hover-text-color,#000)!important;border-color:var(--kpdg-pagination-hover-border-color,#000)!important;}
.kpdg-number-pagination .kpdg-page-button.is-active{background:var(--kpdg-pagination-active-bg,#fff)!important;color:var(--kpdg-pagination-active-text-color,#000)!important;border-color:var(--kpdg-pagination-active-border-color,#000)!important;}
.kpdg-number-pagination .kpdg-nav-button:disabled{background:var(--kpdg-pagination-disabled-bg,#8e8e8e)!important;color:var(--kpdg-pagination-disabled-text-color,#fff)!important;border-color:var(--kpdg-pagination-disabled-border-color,#8e8e8e)!important;}
.kpdg-number-pagination .kpdg-go-input{background:var(--kpdg-pnav-input-bg,#fff)!important;color:var(--kpdg-pnav-input-text,#000)!important;border:var(--kpdg-pagination-border-width,0) solid var(--kpdg-pnav-input-border,#000)!important;border-radius:var(--kpdg-pagination-radius,0)!important;}

.kpdg-load-more-wrap{
	box-sizing:border-box;width:100%;
	background-color:var(--kpdg-lm-container-bg-color,transparent);background-image:var(--kpdg-lm-container-bg-image,none);background-size:var(--kpdg-lm-container-bg-size,cover);background-position:var(--kpdg-lm-container-bg-position,center center);background-repeat:var(--kpdg-lm-container-bg-repeat,no-repeat);
	padding:var(--kpdg-lm-container-padding-top,0) var(--kpdg-lm-container-padding-right,0) var(--kpdg-lm-container-padding-bottom,0) var(--kpdg-lm-container-padding-left,0);
	margin:var(--kpdg-lm-container-margin-top,0) var(--kpdg-lm-container-margin-right,0) var(--kpdg-lm-container-margin-bottom,0) var(--kpdg-lm-container-margin-left,0);
	border:var(--kpdg-lm-container-border-width,0) solid var(--kpdg-lm-container-border-color,#000);border-radius:var(--kpdg-lm-container-radius,0);box-shadow:var(--kpdg-lm-container-shadow,none);
	align-items:var(--kpdg-lm-button-align,center)!important;
}
.kpdg-load-more-wrap>.kpdg-page-status{width:100%;color:var(--kpdg-lm-status-color,#000)!important;font-size:var(--kpdg-lm-status-font-size,14px)!important;text-align:var(--kpdg-lm-status-align,center)!important;margin-bottom:12px;}
.kpdg-load-more-wrap .kpdg-load-more{
	box-sizing:border-box;width:auto!important;min-width:0!important;height:auto!important;line-height:normal!important;
	padding:var(--kpdg-lm-button-pad-top,0) var(--kpdg-lm-button-pad-right,16px) var(--kpdg-lm-button-pad-bottom,0) var(--kpdg-lm-button-pad-left,16px)!important;
	margin:var(--kpdg-lm-button-margin-top,0) var(--kpdg-lm-button-margin-right,0) var(--kpdg-lm-button-margin-bottom,0) var(--kpdg-lm-button-margin-left,0)!important;
	border:var(--kpdg-lm-button-border-width,2px) solid var(--kpdg-lm-button-border-color,#000)!important;border-radius:var(--kpdg-lm-button-radius,0)!important;
	background:var(--kpdg-lm-button-bg,#000)!important;color:var(--kpdg-lm-button-text,#fff)!important;font-size:var(--kpdg-lm-button-font-size,14px)!important;box-shadow:var(--kpdg-lm-button-shadow,none)!important;
	transition:background var(--kpdg-lm-transition,150ms) ease,color var(--kpdg-lm-transition,150ms) ease,border-color var(--kpdg-lm-transition,150ms) ease,box-shadow var(--kpdg-lm-transition,150ms) ease,opacity var(--kpdg-lm-transition,150ms) ease;
}
.kpdg-load-more-wrap .kpdg-load-more:hover:not(:disabled){background:var(--kpdg-lm-hover-bg,#fff)!important;color:var(--kpdg-lm-hover-text,#000)!important;border-color:var(--kpdg-lm-hover-border,#000)!important;}
.kpdg-load-more-wrap .kpdg-load-more:disabled{display:inline-block!important;background:var(--kpdg-lm-disabled-bg,#8e8e8e)!important;color:var(--kpdg-lm-disabled-text,#fff)!important;border-color:var(--kpdg-lm-disabled-border,#8e8e8e)!important;cursor:default;}

/* v0.18.124 — Navigation geometry hardening and shared Pagination button geometry. */
/* v0.18.130 — Navigation block width parity. Both navigation containers fill the
   remaining parent width after their own horizontal margins. Padding/border stay
   inside that width via border-box, matching Gallery Block geometry. */
.kpdg-number-pagination{
	box-sizing:border-box!important;
	width:calc(100% - var(--kpdg-pnav-container-margin-left,0px) - var(--kpdg-pnav-container-margin-right,0px))!important;
	max-width:100%!important;
	min-width:0!important;
}
.kpdg-load-more-wrap{
	box-sizing:border-box!important;
	width:calc(100% - var(--kpdg-lm-container-margin-left,0px) - var(--kpdg-lm-container-margin-right,0px))!important;
	max-width:100%!important;
	min-width:0!important;
}
.kpdg-number-pagination .kpdg-page-button,.kpdg-number-pagination .kpdg-nav-button,.kpdg-number-pagination .kpdg-go-button{min-width:var(--kpdg-pnav-button-min-width,44px)!important;white-space:nowrap!important}
.kpdg-number-pagination .kpdg-go-input{box-sizing:border-box!important;width:var(--kpdg-pnav-button-min-width,44px)!important;min-width:var(--kpdg-pnav-button-min-width,44px)!important;max-width:none!important;height:auto!important;line-height:normal!important;padding:var(--kpdg-pnav-button-pad-top,0) var(--kpdg-pnav-button-pad-right,16px) var(--kpdg-pnav-button-pad-bottom,0) var(--kpdg-pnav-button-pad-left,16px)!important;margin:var(--kpdg-pnav-button-margin-top,0) var(--kpdg-pnav-button-margin-right,0) var(--kpdg-pnav-button-margin-bottom,0) var(--kpdg-pnav-button-margin-left,0)!important;border-width:var(--kpdg-pagination-border-width,0)!important;border-style:solid!important;border-radius:var(--kpdg-pagination-radius,0)!important;box-shadow:var(--kpdg-pnav-button-shadow,none)!important;font-size:var(--kpdg-pagination-font-size,14px)!important}


/* v0.18.125 — Navigation alignment/background semantics. */
.kpdg-number-pagination>.kpdg-page-status{width:100%!important;box-sizing:border-box!important;}
.kpdg-number-pagination>.kpdg-pagination-controls{justify-content:var(--kpdg-pnav-buttons-align,center)!important;}


/* v0.18.126 — Navigation button content-width semantics. Minimum width is content only; padding and border are added outside it. */
.kpdg-number-pagination .kpdg-page-button,.kpdg-number-pagination .kpdg-nav-button,.kpdg-number-pagination .kpdg-go-button{box-sizing:content-box!important;min-width:var(--kpdg-pnav-button-min-width,44px)!important;width:auto!important;}
.kpdg-number-pagination .kpdg-go-input{box-sizing:content-box!important;width:var(--kpdg-pnav-button-min-width,44px)!important;min-width:var(--kpdg-pnav-button-min-width,44px)!important;}

/* =========================================================
   v0.18.129 — Responsive Reduction
   Supported only for Subalbum, complete Pagination Block, and complete Load More Block.
   Scales only font size, line height, padding, margin, gap, minimum width,
   rounded corners, and shadow geometry. Border widths remain unchanged.
   ========================================================= */
@media (max-width: 900px) {
	.kpdg-subalbum-title{
		padding:var(--kpdg-subalbum-padding-top-tablet,0) var(--kpdg-subalbum-padding-right-tablet,0) var(--kpdg-subalbum-padding-bottom-tablet,0) var(--kpdg-subalbum-padding-left-tablet,0)!important;
		margin:var(--kpdg-subalbum-margin-top-tablet,0) var(--kpdg-subalbum-margin-right-tablet,0) var(--kpdg-subalbum-margin-bottom-tablet,0) var(--kpdg-subalbum-margin-left-tablet,0)!important;
		border-radius:var(--kpdg-subalbum-radius-tablet,0)!important;
		box-shadow:var(--kpdg-subalbum-shadow-tablet,none)!important;
	}
	.kpdg-subalbum-title.kpdg-subalbum-custom-font{font-size:var(--kpdg-subalbum-font-size-tablet)!important;}
	.kpdg-subalbum-title.kpdg-subalbum-custom-line{line-height:var(--kpdg-subalbum-line-height-tablet)!important;}

	.kpdg-number-pagination{
		padding:var(--kpdg-pnav-container-padding-top-tablet,0) var(--kpdg-pnav-container-padding-right-tablet,0) var(--kpdg-pnav-container-padding-bottom-tablet,0) var(--kpdg-pnav-container-padding-left-tablet,0)!important;
		margin:var(--kpdg-pnav-container-margin-top-tablet,0) var(--kpdg-pnav-container-margin-right-tablet,0) var(--kpdg-pnav-container-margin-bottom-tablet,0) var(--kpdg-pnav-container-margin-left-tablet,0)!important;
		border-radius:var(--kpdg-pnav-container-radius-tablet,0)!important;
		box-shadow:var(--kpdg-pnav-container-shadow-tablet,none)!important;
	}
	.kpdg-number-pagination>.kpdg-page-status{font-size:var(--kpdg-pagination-status-font-size-tablet,14px)!important;}
	.kpdg-number-pagination .kpdg-pagination-controls,.kpdg-number-pagination .kpdg-page-numbers,.kpdg-number-pagination .kpdg-go-to-page{gap:var(--kpdg-pagination-gap-tablet,10px)!important;}
	.kpdg-number-pagination .kpdg-go-label{font-size:var(--kpdg-pagination-font-size-tablet,14px)!important;}
	.kpdg-number-pagination .kpdg-page-button,.kpdg-number-pagination .kpdg-nav-button,.kpdg-number-pagination .kpdg-go-button{
		font-size:var(--kpdg-pagination-font-size-tablet,14px)!important;
		min-width:var(--kpdg-pnav-button-min-width-tablet,44px)!important;
		padding:var(--kpdg-pnav-button-pad-top-tablet,0) var(--kpdg-pnav-button-pad-right-tablet,0) var(--kpdg-pnav-button-pad-bottom-tablet,0) var(--kpdg-pnav-button-pad-left-tablet,0)!important;
		margin:var(--kpdg-pnav-button-margin-top-tablet,0) var(--kpdg-pnav-button-margin-right-tablet,0) var(--kpdg-pnav-button-margin-bottom-tablet,0) var(--kpdg-pnav-button-margin-left-tablet,0)!important;
		border-radius:var(--kpdg-pagination-radius-tablet,0)!important;
		box-shadow:var(--kpdg-pnav-button-shadow-tablet,none)!important;
	}
	.kpdg-number-pagination .kpdg-go-input{
		font-size:var(--kpdg-pagination-font-size-tablet,14px)!important;
		width:var(--kpdg-pnav-button-min-width-tablet,44px)!important;
		min-width:var(--kpdg-pnav-button-min-width-tablet,44px)!important;
		padding:var(--kpdg-pnav-button-pad-top-tablet,0) var(--kpdg-pnav-button-pad-right-tablet,0) var(--kpdg-pnav-button-pad-bottom-tablet,0) var(--kpdg-pnav-button-pad-left-tablet,0)!important;
		margin:var(--kpdg-pnav-button-margin-top-tablet,0) var(--kpdg-pnav-button-margin-right-tablet,0) var(--kpdg-pnav-button-margin-bottom-tablet,0) var(--kpdg-pnav-button-margin-left-tablet,0)!important;
		border-radius:var(--kpdg-pagination-radius-tablet,0)!important;
		box-shadow:var(--kpdg-pnav-button-shadow-tablet,none)!important;
	}

	.kpdg-load-more-wrap{
		padding:var(--kpdg-lm-container-padding-top-tablet,0) var(--kpdg-lm-container-padding-right-tablet,0) var(--kpdg-lm-container-padding-bottom-tablet,0) var(--kpdg-lm-container-padding-left-tablet,0)!important;
		margin:var(--kpdg-lm-container-margin-top-tablet,0) var(--kpdg-lm-container-margin-right-tablet,0) var(--kpdg-lm-container-margin-bottom-tablet,0) var(--kpdg-lm-container-margin-left-tablet,0)!important;
		border-radius:var(--kpdg-lm-container-radius-tablet,0)!important;
		box-shadow:var(--kpdg-lm-container-shadow-tablet,none)!important;
	}
	.kpdg-load-more-wrap>.kpdg-page-status{font-size:var(--kpdg-lm-status-font-size-tablet,14px)!important;}
	.kpdg-load-more-wrap .kpdg-load-more{
		font-size:var(--kpdg-lm-button-font-size-tablet,14px)!important;
		padding:var(--kpdg-lm-button-pad-top-tablet,0) var(--kpdg-lm-button-pad-right-tablet,0) var(--kpdg-lm-button-pad-bottom-tablet,0) var(--kpdg-lm-button-pad-left-tablet,0)!important;
		margin:var(--kpdg-lm-button-margin-top-tablet,0) var(--kpdg-lm-button-margin-right-tablet,0) var(--kpdg-lm-button-margin-bottom-tablet,0) var(--kpdg-lm-button-margin-left-tablet,0)!important;
		border-radius:var(--kpdg-lm-button-radius-tablet,0)!important;
		box-shadow:var(--kpdg-lm-button-shadow-tablet,none)!important;
	}
}
@media (max-width: 600px) {
	.kpdg-subalbum-title{
		padding:var(--kpdg-subalbum-padding-top-mobile,0) var(--kpdg-subalbum-padding-right-mobile,0) var(--kpdg-subalbum-padding-bottom-mobile,0) var(--kpdg-subalbum-padding-left-mobile,0)!important;
		margin:var(--kpdg-subalbum-margin-top-mobile,0) var(--kpdg-subalbum-margin-right-mobile,0) var(--kpdg-subalbum-margin-bottom-mobile,0) var(--kpdg-subalbum-margin-left-mobile,0)!important;
		border-radius:var(--kpdg-subalbum-radius-mobile,0)!important;
		box-shadow:var(--kpdg-subalbum-shadow-mobile,none)!important;
	}
	.kpdg-subalbum-title.kpdg-subalbum-custom-font{font-size:var(--kpdg-subalbum-font-size-mobile)!important;}
	.kpdg-subalbum-title.kpdg-subalbum-custom-line{line-height:var(--kpdg-subalbum-line-height-mobile)!important;}

	.kpdg-number-pagination{
		padding:var(--kpdg-pnav-container-padding-top-mobile,0) var(--kpdg-pnav-container-padding-right-mobile,0) var(--kpdg-pnav-container-padding-bottom-mobile,0) var(--kpdg-pnav-container-padding-left-mobile,0)!important;
		margin:var(--kpdg-pnav-container-margin-top-mobile,0) var(--kpdg-pnav-container-margin-right-mobile,0) var(--kpdg-pnav-container-margin-bottom-mobile,0) var(--kpdg-pnav-container-margin-left-mobile,0)!important;
		border-radius:var(--kpdg-pnav-container-radius-mobile,0)!important;
		box-shadow:var(--kpdg-pnav-container-shadow-mobile,none)!important;
	}
	.kpdg-number-pagination>.kpdg-page-status{font-size:var(--kpdg-pagination-status-font-size-mobile,14px)!important;}
	.kpdg-number-pagination .kpdg-pagination-controls,.kpdg-number-pagination .kpdg-page-numbers,.kpdg-number-pagination .kpdg-go-to-page{gap:var(--kpdg-pagination-gap-mobile,10px)!important;}
	.kpdg-number-pagination .kpdg-go-label{font-size:var(--kpdg-pagination-font-size-mobile,14px)!important;}
	.kpdg-number-pagination .kpdg-page-button,.kpdg-number-pagination .kpdg-nav-button,.kpdg-number-pagination .kpdg-go-button{
		font-size:var(--kpdg-pagination-font-size-mobile,14px)!important;
		min-width:var(--kpdg-pnav-button-min-width-mobile,44px)!important;
		padding:var(--kpdg-pnav-button-pad-top-mobile,0) var(--kpdg-pnav-button-pad-right-mobile,0) var(--kpdg-pnav-button-pad-bottom-mobile,0) var(--kpdg-pnav-button-pad-left-mobile,0)!important;
		margin:var(--kpdg-pnav-button-margin-top-mobile,0) var(--kpdg-pnav-button-margin-right-mobile,0) var(--kpdg-pnav-button-margin-bottom-mobile,0) var(--kpdg-pnav-button-margin-left-mobile,0)!important;
		border-radius:var(--kpdg-pagination-radius-mobile,0)!important;
		box-shadow:var(--kpdg-pnav-button-shadow-mobile,none)!important;
	}
	.kpdg-number-pagination .kpdg-go-input{
		font-size:var(--kpdg-pagination-font-size-mobile,14px)!important;
		width:var(--kpdg-pnav-button-min-width-mobile,44px)!important;
		min-width:var(--kpdg-pnav-button-min-width-mobile,44px)!important;
		padding:var(--kpdg-pnav-button-pad-top-mobile,0) var(--kpdg-pnav-button-pad-right-mobile,0) var(--kpdg-pnav-button-pad-bottom-mobile,0) var(--kpdg-pnav-button-pad-left-mobile,0)!important;
		margin:var(--kpdg-pnav-button-margin-top-mobile,0) var(--kpdg-pnav-button-margin-right-mobile,0) var(--kpdg-pnav-button-margin-bottom-mobile,0) var(--kpdg-pnav-button-margin-left-mobile,0)!important;
		border-radius:var(--kpdg-pagination-radius-mobile,0)!important;
		box-shadow:var(--kpdg-pnav-button-shadow-mobile,none)!important;
	}

	.kpdg-load-more-wrap{
		padding:var(--kpdg-lm-container-padding-top-mobile,0) var(--kpdg-lm-container-padding-right-mobile,0) var(--kpdg-lm-container-padding-bottom-mobile,0) var(--kpdg-lm-container-padding-left-mobile,0)!important;
		margin:var(--kpdg-lm-container-margin-top-mobile,0) var(--kpdg-lm-container-margin-right-mobile,0) var(--kpdg-lm-container-margin-bottom-mobile,0) var(--kpdg-lm-container-margin-left-mobile,0)!important;
		border-radius:var(--kpdg-lm-container-radius-mobile,0)!important;
		box-shadow:var(--kpdg-lm-container-shadow-mobile,none)!important;
	}
	.kpdg-load-more-wrap>.kpdg-page-status{font-size:var(--kpdg-lm-status-font-size-mobile,14px)!important;}
	.kpdg-load-more-wrap .kpdg-load-more{
		font-size:var(--kpdg-lm-button-font-size-mobile,14px)!important;
		padding:var(--kpdg-lm-button-pad-top-mobile,0) var(--kpdg-lm-button-pad-right-mobile,0) var(--kpdg-lm-button-pad-bottom-mobile,0) var(--kpdg-lm-button-pad-left-mobile,0)!important;
		margin:var(--kpdg-lm-button-margin-top-mobile,0) var(--kpdg-lm-button-margin-right-mobile,0) var(--kpdg-lm-button-margin-bottom-mobile,0) var(--kpdg-lm-button-margin-left-mobile,0)!important;
		border-radius:var(--kpdg-lm-button-radius-mobile,0)!important;
		box-shadow:var(--kpdg-lm-button-shadow-mobile,none)!important;
	}
}


/* =========================================================
   v0.18.135 — visual cleanup: one clipping owner per component.
   No layout-engine geometry is changed here.
   ========================================================= */

/* Gallery thumbnail: the card owns frame/background/shadow; only the image
   viewport clips the bitmap. No mask, clip-path, GPU promotion or overscan. */
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item {
  overflow: visible !important;
  isolation: auto !important;
}
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item > .kpdg-image-viewport {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden !important;
  border-radius: var(--kpdg-thumb-inner-radius,0) !important;
  background: transparent !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  transform: none !important;
  -webkit-mask-image: none !important;
}
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item > .kpdg-image-viewport > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  left: auto !important;
  top: auto !important;
  position: static !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

/* Lightbox window radius has one clipping owner: the shell. Child regions stay
   square and are clipped by the shell, preventing layered antialias seams. */
.kpdg-lightbox-shell {
  overflow: hidden !important;
  border-radius: var(--kpdg-lb-window-radius,0px) !important;
}
.kpdg-lightbox-display,
.kpdg-lightbox-stage,
.kpdg-lightbox-filmstrip,
.kpdg-lightbox-image-layer {
  border-radius: 0 !important;
}

/* v0.18.143 — Thumbnail Overlay layers live directly on the complete card.
 * Two real visual spans avoid competing with the card pseudo-element used by
 * Thumbnail Hover Background. They cover the full thumbnail content box, including
 * Thumbnail Padding, while remaining inside the border. No layout geometry changes. */
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item > .kpdg-thumbnail-overlay,
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item > .kpdg-thumbnail-overlay-hover {
	position: absolute;
	top: var(--kpdg-thumb-border-width,0);
	right: var(--kpdg-thumb-border-width,0);
	bottom: var(--kpdg-thumb-border-width,0);
	left: var(--kpdg-thumb-border-width,0);
	pointer-events: none;
	border-radius: var(--kpdg-thumb-inner-radius,0);
}
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item > .kpdg-thumbnail-overlay {
	z-index: 2;
	background-image: var(--kpdg-thumb-overlay-image,none);
	background-size: var(--kpdg-thumb-overlay-size,cover);
	background-position: var(--kpdg-thumb-overlay-position,center center);
	background-repeat: var(--kpdg-thumb-overlay-repeat,no-repeat);
}
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item > .kpdg-thumbnail-overlay-hover {
	z-index: 3;
	background-image: var(--kpdg-thumb-hover-overlay-image,none);
	background-size: var(--kpdg-thumb-hover-overlay-size,cover);
	background-position: var(--kpdg-thumb-hover-overlay-position,center center);
	background-repeat: var(--kpdg-thumb-hover-overlay-repeat,no-repeat);
	opacity: 0;
	transition: opacity var(--kpdg-transition,250ms) ease;
}
.kpdg-gallery.kpdg-gallery .kpdg-gallery-item:hover > .kpdg-thumbnail-overlay-hover {
	opacity: var(--kpdg-thumb-hover-overlay-opacity,0);
}

/* v0.18.146 — true concentric top clipping for the Lightbox Display.
 * The Display follows the outer window radius. The actual image layer receives
 * the derived INNER radius (window radius minus Display image margin), exactly
 * like a framed thumbnail: outer curve minus inset. This removes the square
 * image corners while keeping the Filmstrip junction square. */
.kpdg-lightbox-display {
  overflow: hidden !important;
  border-radius: var(--kpdg-lb-window-radius,0px) var(--kpdg-lb-window-radius,0px) 0 0 !important;
}
.kpdg-lightbox-stage,
.kpdg-lightbox-filmstrip {
  border-radius: 0 !important;
}
.kpdg-lightbox-image-layer {
  overflow: hidden !important;
  border-radius: var(--kpdg-lb-display-radius,0px) var(--kpdg-lb-display-radius,0px) 0 0 !important;
}
