.wp-block-csblo-slide {

	& {
		position: relative;
		padding: 1em;
		justify-content: center;
		align-items: center;

		// Prevent overflowing when border-radius is applied.
		overflow: hidden;
		overflow: clip;
		box-sizing: border-box;
	}

	// Extra specificity to override .swiper-slide display block.
	&[class] {
		display: flex;
	}

	// Content position
	&.is-position-top-left {
		align-items: flex-start;
		justify-content: flex-start;
	}
	&.is-position-top-center {
		align-items: flex-start;
		justify-content: center;
	}
	&.is-position-top-right {
		align-items: flex-start;
		justify-content: flex-end;
	}
	&.is-position-center-left {
		align-items: center;
		justify-content: flex-start;
	}
	&.is-position-center-center {
		align-items: center;
		justify-content: center;
	}
	&.is-position-center-right {
		align-items: center;
		justify-content: flex-end;
	}
	&.is-position-bottom-left {
		align-items: flex-end;
		justify-content: flex-start;
	}
	&.is-position-bottom-center {
		align-items: flex-end;
		justify-content: center;
	}
	&.is-position-bottom-right {
		align-items: flex-end;
		justify-content: flex-end;
	}
	&.has-custom-content-position.has-custom-content-position {
		.csblo-slide__inner-container {
			margin: 0;
		}
		&.is-position-top-left,
		&.is-position-top-right,
		&.is-position-center-left,
		&.is-position-center-right,
		&.is-position-bottom-left,
		&.is-position-bottom-right {
			.csblo-slide__inner-container {
				margin: 0;
				width: auto;
			}
		}

	}

	.csblo-slide__overlay-background {
		position: absolute;
		inset: 0;
		z-index: 1;
		opacity: var(--csblo--slide--overlay-opacity, 1);
	}

	// Extra specificity for in edit mode where other styles would override it otherwise.
	.csblo-slide__image-background,
	.csblo-slide__video-background {
		position: absolute;
		inset: 0;
		margin: 0;
		padding: 0;
		width: 100%;
		height: 100%;
		max-width: none;
		max-height: none;
		object-fit: cover;
		outline: none;
		border: none;
		box-shadow: none;
		z-index: 0;
	}

	.csblo-slide__inner-container {
		// Prevent long unbroken words from overflowing.
		word-break: break-word; // For back-compat.
		overflow-wrap: break-word; // New standard.
		width: 100%;
		z-index: 1;
	}
}
