.el-layered-gallery__wrapper{
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
/* Shrink-wraps to the stack's own explicit size (align-items:center means
   this flex child isn't stretched to the wrapper's full width) - keeps
   "inside"/"outside" arrows (nested inside .el-layered-gallery__stack)
   positioned relative to the actual card, not the full-width wrapper. */
.el-layered-gallery__stack-wrap{
	position: relative;
}
/* Sized by script.min.js to match the active card; perspective makes translateZ recede visually. */
.el-layered-gallery__stack{
	position: relative;
	perspective: 1200px;
}
/* Top/bottom arrows are a direct flex child of the wrapper (column layout),
   shrink-wrapped to just the two buttons - the shared dge-swiper asset's own
   left/center/right justify-content has no room left to act within a bar
   that narrow, so alignment has to happen on this child itself instead. */
.el-layered-gallery__wrapper > .dge_swiper_navigation.dge_arrows_top_left,
.el-layered-gallery__wrapper > .dge_swiper_navigation.dge_arrows_bottom_left{
	align-self: flex-start;
}
.el-layered-gallery__wrapper > .dge_swiper_navigation.dge_arrows_top_center,
.el-layered-gallery__wrapper > .dge_swiper_navigation.dge_arrows_bottom_center{
	align-self: center;
}
.el-layered-gallery__wrapper > .dge_swiper_navigation.dge_arrows_top_right,
.el-layered-gallery__wrapper > .dge_swiper_navigation.dge_arrows_bottom_right{
	align-self: flex-end;
}
.el-layered-gallery-item{
	position: absolute;
	top: 0;
	left: 0;
	cursor: pointer;
	transform-style: preserve-3d;
	transition: transform .6s cubic-bezier(.22, 1, .36, 1), opacity .6s ease;
	will-change: transform;
	-webkit-user-drag: none;
	user-select: none;
	-webkit-user-select: none;
}
.el-layered-gallery-item.el_layered_gallery_active{
	cursor: default;
}
.el-layered-gallery-item__inner{
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.el-layered-gallery-item__image{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
}
.el-layered-gallery-item__link{
	display: block;
	width: 100%;
	height: 100%;
}

/* Content (icon/title/caption). Positioning differs per layout below. */
.el-layered-gallery-item__content{
	box-sizing: border-box;
}
.el-layered-gallery-item__overlay-icon{
	display: block;
	font-size: 32px;
	line-height: 1;
	margin-bottom: 8px;
}
.el-layered-gallery-item__title{
	margin: 0;
}
.el-layered-gallery-item__caption{
	margin: 0;
}
.el-layered-gallery-item__title + .el-layered-gallery-item__caption{
	margin-top: 8px;
}
/* Bridges the Text group's Light/Dark setting to our own title/caption markup. */
.et_pb_bg_layout_dark .el-layered-gallery-item__title,
.et_pb_bg_layout_dark .el-layered-gallery-item__caption{
	color: #ffffff;
}
.et_pb_bg_layout_light .el-layered-gallery-item__title,
.et_pb_bg_layout_light .el-layered-gallery-item__caption{
	color: #000000;
}

/** Overlay. */
.el-layered-gallery-item__overlay{
	box-sizing: border-box;
	color: #ffffff;
	transition: opacity .3s ease, transform .3s ease;
}
.el-layered-gallery__wrapper[data-layout="layout-1"] .el-layered-gallery-item__overlay{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.el-layered-gallery__wrapper[data-layout="layout-2"] .el-layered-gallery-item__overlay{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
.el-layered-gallery__wrapper[data-layout="layout-2"] .el-layered-gallery-item__overlay-icon{
	margin-bottom: 0;
}
.el-layered-gallery__wrapper[data-overlay-hover-only="on"] .el-layered-gallery-item__overlay{
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
}
.el-layered-gallery__wrapper[data-overlay-hover-only="on"] .el-layered-gallery-item.el_layered_gallery_active:hover .el-layered-gallery-item__overlay{
	opacity: 1;
	transform: translateY(0);
}
.el-layered-gallery__wrapper[data-overlay-hover-only="off"] .el-layered-gallery-item.el_layered_gallery_active .el-layered-gallery-item__overlay{
	opacity: 1;
	transform: translateY(0);
}

/* Layout 2: image fills remaining space (flex:1), content panel sizes to itself. */
.el-layered-gallery__wrapper[data-layout="layout-2"] .el-layered-gallery-item__inner{
	display: flex;
	flex-direction: column;
}
.el-layered-gallery__wrapper[data-layout="layout-2"] .el-layered-gallery-item__media{
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
}
.el-layered-gallery__wrapper[data-layout="layout-2"] .el-layered-gallery-item__media .el-layered-gallery-item__image,
.el-layered-gallery__wrapper[data-layout="layout-2"] .el-layered-gallery-item__media .el-layered-gallery-item__link{
	width: 100%;
	height: 100%;
}
.el-layered-gallery__wrapper[data-layout="layout-2"] .el-layered-gallery-item__content{
	position: relative;
	flex: 0 0 auto;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .3s ease, transform .3s ease;
}
.el-layered-gallery__wrapper[data-layout="layout-2"] .el-layered-gallery-item.el_layered_gallery_active .el-layered-gallery-item__content{
	opacity: 1;
	transform: translateY(0);
}

/* Arrows are styled by the shared swiper/dge-swiper assets; just raise
   z-index above the stacked cards (up to 100) so they stay visible. */
.el-layered-gallery__wrapper .swiper-button-prev,
.el-layered-gallery__wrapper .swiper-button-next{
	z-index: 200;
}

/* Lightbox. */
.el_layered_gallery_lightbox .mfp-img{
	padding: 0;
}
.el_layered_gallery_lightbox .mfp-figure:after{
	display: none;
}
.el_layered_gallery_lightbox .mfp-bottom-bar{
	position: absolute;
	padding: 10px;
	color: #ffffff;
	top: auto;
	bottom: 0;
	margin-top: 0;
}
.el_layered_gallery_lightbox .mfp-title{
	padding-right: 0;
}
.el_layered_gallery_lightbox .mfp-close,
.el_layered_gallery_lightbox .mfp-arrow{
	opacity: 1;
}

/* Lightbox - Zoom Effect. */
.el_layered_gallery_lightbox.dge_mfp_zoom .mfp-container,
.el_layered_gallery_lightbox.dge_mfp_zoom.mfp-bg{
	opacity: 0;
	backface-visibility: hidden;
	transition: all 300ms ease-out;
}
.el_layered_gallery_lightbox.dge_mfp_zoom.mfp-ready.mfp-bg{
	opacity: 0.8;
}
.el_layered_gallery_lightbox.dge_mfp_zoom.mfp-ready .mfp-container{
	opacity: 1;
}
.el_layered_gallery_lightbox.dge_mfp_zoom.mfp-removing .mfp-container,
.el_layered_gallery_lightbox.dge_mfp_zoom.mfp-removing.mfp-bg{
	opacity: 0;
}

/* Lightbox - Fade Effect. */
.el_layered_gallery_lightbox.dge_mfp_fade .mfp-container,
.el_layered_gallery_lightbox.dge_mfp_fade.mfp-bg{
	opacity: 0;
	transition: all 300ms ease-out;
}
.el_layered_gallery_lightbox.dge_mfp_fade.mfp-bg.mfp-ready{
	opacity: 0.8;
}
.el_layered_gallery_lightbox.dge_mfp_fade.mfp-ready .mfp-container{
	opacity: 1;
}
.el_layered_gallery_lightbox.dge_mfp_fade.mfp-bg.mfp-removing{
	opacity: 0;
}
.el_layered_gallery_lightbox.dge_mfp_fade.mfp-wrap .mfp-content{
	opacity: 0;
	transition: all 300ms ease-out;
}
.el_layered_gallery_lightbox.dge_mfp_fade.mfp-wrap.mfp-ready .mfp-content{
	opacity: 1;
}
.el_layered_gallery_lightbox.dge_mfp_fade.mfp-wrap.mfp-removing .mfp-content{
	opacity: 0;
}
