/*!
 * Pay2S Elementor Widgets — Product Solution, bố cục / kiểu thêm (chỉ nạp khi instance dùng — Base_Widget::variant_styles)
 * Phụ thuộc: product-solution, product.
 * Số đo /cong-thanh-toan (27/09/2026):
 *  --stack-xl: hai cột 6/6 từ 1200 (.col-xl-6); ≤1199 xếp dọc, ảnh trên cách 30, tiêu đề + mô tả căn giữa
 *  --media-illustration (.img-box4): ảnh rộng 100%, tối đa 750, căn giữa, không bo; ≥1300 lệch margin −90 trái / 56 phải
 *  --media-logos (.tech-logo): lưới 3 cột (ô = cột Bootstrap col-4, padding 0 12), logo rộng 100, căn giữa, dòng 16/1.7
 *   (logo thấp hơn dòng chữ nằm giữa dòng như site); khối padding 48 trên / 56 dưới, cách hàng 52
 *  --desc-lead (h6): 20px/1.5 700 #0d2719, cách dưới 30 (16px ≤1199)
 *  --list-plain (.liststyle): không icon, 16px/1.7 400 #000, không khoảng cách dòng, không giới hạn rộng, căn trái
 *  --list-compact (.checklist.style2): 14px 700 #0d2719, icon 40px cách chữ 15, cách dòng 26 (18 ≤450)
 *  --list-cols-2 (.two-column): lưới 2 cột "auto auto" chia theo cột, tối đa 700 (500 căn giữa ≤991); ≤450 một cột
 *   tối đa 230
 */

/* Xếp dọc từ 1200px */
@media (max-width: 1199px) {
	.p2sew-product-solution.p2sew-product-solution--stack-xl .p2sew-product-solution__media,
	.p2sew-product-solution.p2sew-product-solution--stack-xl .p2sew-product-solution__content {
		width: 100%;
	}

	.p2sew-product-solution.p2sew-product-solution--stack-xl .p2sew-product-solution__media {
		order: 0;
		margin-bottom: 30px;
	}

	.p2sew-product-solution.p2sew-product-solution--stack-xl .p2sew-product-solution__content {
		text-align: center;
	}
}

/* container-mode: bản sao tự sinh từ @media phía trên (tools/container-mode.js) */
@container p2sew (max-width: 1199px) {
	.p2sew-product-solution.p2sew-product-solution--stack-xl .p2sew-product-solution__media,
	.p2sew-product-solution.p2sew-product-solution--stack-xl .p2sew-product-solution__content {
		width: 100%;
	}

	.p2sew-product-solution.p2sew-product-solution--stack-xl .p2sew-product-solution__media {
		order: 0;
		margin-bottom: 30px;
	}

	.p2sew-product-solution.p2sew-product-solution--stack-xl .p2sew-product-solution__content {
		text-align: center;
	}
}

/* Ảnh minh hoạ lớn */
.p2sew-product-solution.p2sew-product-solution--media-illustration .p2sew-product-solution__visual {
	text-align: center;
}

.p2sew-product-solution.p2sew-product-solution--media-illustration .p2sew-product-solution__image {
	margin-top: 0;
	border-radius: 0;
	text-align: center;
}

.p2sew-product-solution.p2sew-product-solution--media-illustration .p2sew-product-solution__image img {
	width: 100%;
	max-width: 750px;
	border-radius: 0;
}

@media (min-width: 1300px) {
	:where(:not(.p2sew-rwd-container)) > .p2sew-product-solution.p2sew-product-solution--media-illustration .p2sew-product-solution__visual {
		margin-right: 56px;
		margin-left: -90px;
	}
}

/* container-mode: bản sao tự sinh từ @media phía trên (tools/container-mode.js) */
@container p2sew (min-width: 1300px) {
	.p2sew-product-solution.p2sew-product-solution--media-illustration .p2sew-product-solution__visual {
		margin-right: 56px;
		margin-left: -90px;
	}
}

/* Ảnh minh hoạ / lưới logo: vùng chữ không lề 48px (lề .ps-xxl-5 chỉ có ở bố cục ảnh bo góc của Open Banking). */
@media (min-width: 1400px) {
	:where(:not(.p2sew-rwd-container)) > .p2sew-product-solution.p2sew-product-solution--media-illustration .p2sew-product-solution__inner,
	:where(:not(.p2sew-rwd-container)) > .p2sew-product-solution.p2sew-product-solution--media-logos .p2sew-product-solution__inner {
		padding-right: 0;
		padding-left: 0;
	}
}

/* container-mode: bản sao tự sinh từ @media phía trên (tools/container-mode.js) */
@container p2sew (min-width: 1400px) {
	.p2sew-product-solution.p2sew-product-solution--media-illustration .p2sew-product-solution__inner,
	.p2sew-product-solution.p2sew-product-solution--media-logos .p2sew-product-solution__inner {
		padding-right: 0;
		padding-left: 0;
	}
}

/* Lưới logo */
.p2sew-product-solution .p2sew-product-solution__logos {
	--p2s-logo-cols: 3;

	display: grid;
	grid-template-columns: repeat(var(--p2s-logo-cols), minmax(0, 1fr));
	row-gap: 52px;
	margin: 0;
	padding: 48px 0 56px;
	list-style: none;
}

.p2sew-product-solution .p2sew-product-solution__logo {
	min-width: 0;
	padding: 0 12px;
	text-align: center;
}

.p2sew-product-solution .p2sew-product-solution__logo-image {
	width: var(--p2s-logo-width, 100px);
}

/* Mô tả nhấn mạnh */
.p2sew-product-solution.p2sew-product-solution--desc-lead .p2sew-product-solution__text {
	margin-bottom: 30px;
	color: var(--p2s-product-title);
	font-family: var(--p2s-product-font);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
}

@media (max-width: 1199px) {
	.p2sew-product-solution.p2sew-product-solution--desc-lead .p2sew-product-solution__text {
		font-size: 16px;
	}
}

/* container-mode: bản sao tự sinh từ @media phía trên (tools/container-mode.js) */
@container p2sew (max-width: 1199px) {
	.p2sew-product-solution.p2sew-product-solution--desc-lead .p2sew-product-solution__text {
		font-size: 16px;
	}
}

/* Danh sách chữ thường */
.p2sew-product-solution.p2sew-product-solution--list-plain .p2sew-product-solution__list {
	--p2s-list-gap: 0px;

	max-width: none;
	margin: 0;
}

.p2sew-product-solution.p2sew-product-solution--list-plain .p2sew-product-solution__item {
	color: #000;
	font-weight: 400;
}

/* Checklist gọn */
.p2sew-product-solution.p2sew-product-solution--list-compact .p2sew-product-solution__list {
	--p2s-list-gap: 26px;
}

.p2sew-product-solution.p2sew-product-solution--list-compact .p2sew-product-solution__item {
	gap: 15px;
	color: var(--p2s-product-title);
	font-family: var(--p2s-product-font);
	font-size: 14px;
	font-weight: 700;
}

.p2sew-product-solution.p2sew-product-solution--list-compact .p2sew-product-solution__item img {
	max-width: 40px;
}

/* Danh sách 2 cột, chia theo cột: hộp lưới "auto auto" chứa hai danh sách độc lập (như .two-column của site) */
.p2sew-product-solution.p2sew-product-solution--list-cols-2 .p2sew-product-solution__list {
	display: grid;
	grid-template-columns: auto auto;
	max-width: 700px;
}

.p2sew-product-solution.p2sew-product-solution--list-cols-2 .p2sew-product-solution__list-col {
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 991px) {
	.p2sew-product-solution.p2sew-product-solution--list-cols-2 .p2sew-product-solution__list {
		max-width: 500px;
		margin-right: auto;
		margin-left: auto;
	}
}

/* container-mode: bản sao tự sinh từ @media phía trên (tools/container-mode.js) */
@container p2sew (max-width: 991px) {
	.p2sew-product-solution.p2sew-product-solution--list-cols-2 .p2sew-product-solution__list {
		max-width: 500px;
		margin-right: auto;
		margin-left: auto;
	}
}

@media (max-width: 450px) {
	.p2sew-product-solution.p2sew-product-solution--list-compact .p2sew-product-solution__list {
		--p2s-list-gap: 18px;
	}

	.p2sew-product-solution.p2sew-product-solution--list-cols-2 .p2sew-product-solution__list {
		grid-template-columns: auto;
		row-gap: var(--p2s-list-gap);
		max-width: 230px;
	}
}

/* container-mode: bản sao tự sinh từ @media phía trên (tools/container-mode.js) */
@container p2sew (max-width: 450px) {
	.p2sew-product-solution.p2sew-product-solution--list-compact .p2sew-product-solution__list {
		--p2s-list-gap: 18px;
	}

	.p2sew-product-solution.p2sew-product-solution--list-cols-2 .p2sew-product-solution__list {
		grid-template-columns: auto;
		row-gap: var(--p2s-list-gap);
		max-width: 230px;
	}
}
