.iframe-embed-container {
	display: inline-block;
	max-width: 100%;
	position: relative;
	width: 100%;
}

.iframe-embed-container iframe {
	border: none;
	display: block;
	width: 100%;
}

/* Spinner */
.iframe-embed-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 5;
}

.spinner-icon {
	width: 40px;
	height: 40px;
	border: 4px solid rgba(0, 0, 0, 0.1);
	border-left-color: #333; /* Default, overridden by control */
	border-radius: 50%;
	animation: iframe-spin 1s linear infinite;
}

@keyframes iframe-spin {
	to { transform: rotate(360deg); }
}

/* Overlay */
.iframe-embed-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%; /* Will match iframe height setting initially */
	background-color: #eee; /* Default fallback */
	background-size: cover;
	background-position: center;
	z-index: 10;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 200px;
}

/* Button Only Overlay Mode */
.iframe-embed-overlay.iframe-embed-overlay--button-only {
	background: none !important;
	height: auto !important;
	min-height: 0;
	width: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 0;
}

.iframe-embed-play-btn {
	padding: 12px 24px;
	background-color: #333;
	color: #fff;
	border: none;
	cursor: pointer;
	font-size: 16px;
	border-radius: 4px;
	transition: all 0.3s;
}

.iframe-embed-play-btn:hover {
	background-color: #555;
}
