/**
 * Swiper Content Slides — layout ảnh trên / dưới / trái / phải.
 *
 * Container .swiper giữ overflow: hidden như Swiper bundle (tránh slide “tràn” ngang).
 * Chiều cao slide: height: auto + align stretch (tránh 100% height + autoHeight/flex lỗi).
 * Nội dung editor: max-width + break-word để ảnh/bảng không đẩy vỡ layout.
 */

.esw-content-slides-wrapper {
	position: relative;
	width: 100%;
	/* Lớp ngoài: chứa mọi thứ trong cột Elementor (đôi khi Swiper bị override từ theme). */
	overflow: hidden;
}

/* Theo Swiper: viewport phải clip — không dùng overflow: visible (gây tràn slide kế bên). */
.esw-content-swiper.swiper {
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.esw-content-swiper .swiper-wrapper {
	align-items: stretch;
	box-sizing: border-box;
}

.esw-content-swiper .swiper-slide {
	height: auto !important;
	min-height: min-content;
	align-self: stretch;
	box-sizing: border-box;
	max-width: 100%;
}

.esw-content-slide-box {
	box-sizing: border-box;
	width: 100%;
	min-height: min-content;
}

.esw-content-slide-inner {
	display: flex;
	width: 100%;
	min-width: 0;
}

/* Cột dọc: ảnh trên / dưới */
.esw-content-slide-inner.esw-img-pos-top,
.esw-content-slide-inner.esw-img-pos-bottom {
	flex-direction: column;
	align-items: stretch;
	gap: 1rem;
}

.esw-content-slide-inner.esw-img-pos-bottom {
	flex-direction: column-reverse;
}

/* Hai cột: trái / phải — stretch để cột chữ không bị co chiều cao 0 trong flex */
.esw-content-slide-inner.esw-img-pos-left,
.esw-content-slide-inner.esw-img-pos-right {
	flex-direction: row;
	align-items: stretch;
	gap: 1.5rem;
}

.esw-content-slide-inner.esw-img-pos-right {
	flex-direction: row-reverse;
}

.esw-content-slide-media {
	flex-shrink: 0;
	min-width: 0;
}

.esw-content-slide-inner.esw-img-pos-top .esw-content-slide-media,
.esw-content-slide-inner.esw-img-pos-bottom .esw-content-slide-media {
	width: 100%;
}

.esw-content-slide-inner.esw-img-pos-left .esw-content-slide-media,
.esw-content-slide-inner.esw-img-pos-right .esw-content-slide-media {
	flex: 0 0 42%;
	max-width: 42%;
}

.esw-content-slide-img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: middle;
	object-fit: cover;
}

.esw-content-slide-body {
	flex: 1 1 auto;
	min-width: 0;
	min-height: min-content;
	overflow: visible;
	position: relative;
	z-index: 1;
}



/* Ảnh / embed trong editor: không được rộng hơn cột (Swiper + flex hay bị tràn nếu thiếu rule này). */
.esw-content-slide-body-inner img,
.esw-content-slide-body-inner video,
.esw-content-slide-body-inner iframe,
.esw-content-slide-body-inner svg {
	max-width: 100%;
	height: auto;
}

.esw-content-slide-body-inner table {
	max-width: 100%;
}

.esw-content-slide-body-inner p:first-child {
	margin-top: 0;
}

.esw-content-slide-body-inner p:last-child {
	margin-bottom: 0;
}

.esw-content-slide-body::after {
	content: "";
	display: table;
	clear: both;
}

/* Chỉ nội dung editor, không có ảnh cột riêng */
.esw-content-slide-inner.esw-no-media {
	display: block;
}

.esw-content-slide-inner.esw-no-media .esw-content-slide-body {
	width: 100%;
}

/* Mobile: luôn xếp dọc nếu đang 2 cột */
@media (max-width: 767px) {
	.esw-content-slide-inner.esw-img-pos-left,
	.esw-content-slide-inner.esw-img-pos-right {
		flex-direction: column;
	}

	.esw-content-slide-inner.esw-img-pos-right {
		flex-direction: column-reverse;
	}

	.esw-content-slide-inner.esw-img-pos-left .esw-content-slide-media,
	.esw-content-slide-inner.esw-img-pos-right .esw-content-slide-media {
		flex: none;
		max-width: 100%;
		width: 100%;
	}
}
