/* Wrapper */
.srk-fs {
	position: relative;
	width: 100%;
	background: var(--srkfs-bg, #000);
	height: auto;           /* default: auto height (mobile/tablet) */
	overflow: hidden;
	border-radius: 0;
}

/* Fullscreen mode (JS toggles this class) */
.srk-fs.is-fullscreen {
	position: fixed;
	inset: 0;
	z-index: 999999;
	height: 100vh;
	width: 100vw;
	border-radius: 0;
}

/* Stage */
.srk-fs-stage {
	position: relative;
	width: 100%;
}

/* Sizer image controls slider height in auto mode, hidden but keeps layout */
.srk-fs-sizer {
	width: 100%;
	height: auto;
	display: block;
	visibility: hidden;
	pointer-events: none;
}

/* Each slide overlays stage */
.srk-fs-slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transition: opacity 700ms ease;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.srk-fs-slide.is-active {
	opacity: 1;
	z-index: 3;
}

/* Previous slide stays visible during crossfade */
.srk-fs-slide.is-leaving {
	opacity: 0;
	z-index: 2;
}

/* Ken Burns, smooth zoom only, no vertical movement */
.srk-fs-slide img {
	transform: scale(1);
	will-change: transform, opacity;
}

.srk-fs-slide.is-active img {
	animation: srkfsKenBurns var(--srkfs-ken, 8000ms) ease-in-out both;
}

@keyframes srkfsKenBurns {
	0% { transform: scale(1); }
	100% { transform: scale(1.08); }
}

/* Auto mode image (<= 980px): natural height, no cropping */
.srk-fs-slide img {
	width: 100%;
	height: auto;
	display: block;
	background: var(--srkfs-bg, #000);
}

/* Caption */
.srk-fs-caption {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 70px;
	background: rgba(0,0,0,0.45);
	color: #fff;
	padding: 12px 12px;
	border-radius: 10px;
	max-width: 900px;
}

/* Title and description */
.srk-fs-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
}

.srk-fs-desc {
	margin-top: 6px;
	font-size: 14px;
	line-height: 1.5;
	opacity: 0.95;
}

/* Controls, bottom middle */
.srk-fs-controls {
	position: absolute;
	left: 50%;
	bottom: 14px;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 6;
}

.srk-fs-btn {
	background: rgba(0, 0, 0, 0.55) !important;
    color: #00ffff !important;
	border: 0;
	border-radius: 10px;
	padding: 10px 12px;
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
}

.srk-fs-btn:hover {
	background: rgba(0,0,0,0.75);
}

/* Empty state */
.srk-fs-empty {
	padding: 16px;
	border: 1px solid rgba(0,0,0,0.12);
	border-radius: 10px;
}

/* =========================================================
   Desktop hero mode (>= 981px):
   - same frame for every image
   - full screen height
   - no cropping (contain)
   ========================================================= */
@media (min-width: 981px) {
	.srk-fs {
		height: 100vh;
	}

	.srk-fs-stage {
		height: 100%;
	}

	/* sizer not needed in fixed-height mode */
	.srk-fs-sizer {
		display: none;
	}

	/* Full image visible, consistent frame */
	.srk-fs-slide img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center;
	}
}

/* Ensure fullscreen always uses contain */
.srk-fs.is-fullscreen .srk-fs-slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
