.isyt-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

html.isyt-modal-open,
html.isyt-modal-open body {
	overflow: hidden;
}

.isyt-embed {
	display: block;
	width: 100%;
	max-width: 100%;
}

.isyt-trigger {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: #101827;
	box-shadow: none;
	color: #fff;
	line-height: 0;
	text-decoration: none;
	overflow: hidden;
	cursor: pointer;
}

.isyt-trigger:visited,
.isyt-trigger:hover,
.isyt-trigger:focus {
	color: #fff;
	text-decoration: none;
}

.isyt-poster {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
}

.isyt-poster[hidden] {
	display: none;
}

.isyt-trigger-shade {
	position: absolute;
	inset: 0;
	background: rgb(7 16 31 / 20%);
	transition: background-color 160ms ease;
}

.isyt-trigger:hover .isyt-trigger-shade,
.isyt-trigger:focus-visible .isyt-trigger-shade {
	background: rgb(7 16 31 / 38%);
}

.isyt-trigger:focus-visible,
.isyt-control:focus-visible {
	outline: 3px solid #6eb6ff;
	outline-offset: 3px;
}

.isyt-play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border: 2px solid rgb(255 255 255 / 88%);
	border-radius: 50%;
	background: rgb(10 18 32 / 76%);
	color: #fff;
	transform: translate(-50%, -50%);
	transition: transform 160ms ease, background-color 160ms ease;
}

.isyt-play svg {
	width: 32px;
	height: 32px;
	margin-left: 3px;
}

.isyt-play--text {
	width: auto;
	height: auto;
	min-width: 72px;
	min-height: 48px;
	padding: 10px 18px;
	border-radius: 999px;
	font: 700 0.9rem/1.2 Arial, sans-serif;
}

.isyt-trigger:hover .isyt-play,
.isyt-trigger:focus-visible .isyt-play {
	background: rgb(19 91 158 / 94%);
	transform: translate(-50%, -50%) scale(1.06);
}

.isyt-dialog {
	width: min(1040px, calc(100vw - 40px));
	max-width: none;
	max-height: none;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: transparent;
	box-shadow: 0 28px 80px rgb(5 12 24 / 42%);
	color: #fff;
	overflow: visible;
}

.isyt-dialog::backdrop {
	background: rgb(13 20 32 / 78%);
	backdrop-filter: blur(3px);
}

.isyt-shell {
	width: 100%;
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: inherit;
	background: #0a101b;
	overflow: hidden;
}

.isyt-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 62px;
	padding: 10px 12px 10px 20px;
	background: #111b2b;
}

.isyt-title {
	min-width: 0;
	margin: 0;
	color: #fff;
	font: 700 1rem/1.3 Inter, Arial, sans-serif;
}

.isyt-controls {
	display: flex;
	align-items: center;
	gap: 4px;
}

.isyt-control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 10px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #fff;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 150ms ease;
}

.isyt-control:hover {
	background: rgb(255 255 255 / 12%);
}

.isyt-control[hidden] {
	display: none;
}

.isyt-control svg,
.isyt-control .kadence-svg-iconset {
	display: block;
	width: 22px;
	height: 22px;
}

.isyt-control--text {
	width: auto;
	font: 650 0.82rem/1.2 Inter, Arial, sans-serif;
}

.isyt-stage {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
}

.isyt-frame {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.isyt-dialog--mini {
	position: fixed;
	z-index: 2147483000;
	top: auto;
	right: 24px;
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	left: auto;
	width: min(420px, calc(100vw - 32px));
	margin: 0;
	border-radius: 12px;
	box-shadow: 0 18px 54px rgb(4 12 24 / 42%);
}

.isyt-dialog--mini .isyt-header {
	min-height: 50px;
	padding: 4px 6px 4px 14px;
}

.isyt-dialog--mini .isyt-title {
	font-size: 0.88rem;
}

@media (max-width: 600px) {
	.isyt-dialog {
		width: calc(100vw - 20px);
		border-radius: 10px;
	}

	.isyt-dialog--mini {
		right: 10px;
		bottom: calc(10px + env(safe-area-inset-bottom, 0px));
		width: min(360px, calc(100vw - 20px));
	}

	.isyt-header {
		min-height: 54px;
		padding: 5px 6px 5px 14px;
	}

	.isyt-play {
		width: 60px;
		height: 60px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.isyt-trigger-shade,
	.isyt-play,
	.isyt-control {
		transition: none;
	}
}
