/**
 * Mamoki — chống chồng nội dung khi co giãn trình duyệt.
 * Flatsome chỉ chuyển header mobile ở 849px, trong khi menu + SĐT + tìm kiếm
 * đã tràn từ ~1400px trở xuống.
 */

/* ---------- Chống tràn ngang toàn site ---------- */
html,
body {
	overflow-x: clip;
}

img,
video,
iframe,
embed,
svg {
	max-width: 100%;
}

.row,
.col,
.col-inner,
.container,
.flex-row,
.flex-col,
.product-container,
.product-main,
.category-page-row,
#main,
#wrapper {
	min-width: 0;
}

h1, h2, h3, h4, h5, h6,
p, li, label {
	overflow-wrap: break-word;
}

/* Dropdown dài (tên danh mục quà tặng) không tràn khỏi viewport */
#header .nav-dropdown {
	max-width: min(360px, calc(100vw - 24px));
}

#header .nav-dropdown a {
	white-space: normal;
	overflow-wrap: anywhere;
	line-height: 1.4;
}

/* ---------- Header: hamburger trước khi menu đè logo / SĐT ---------- */
@media only screen and (max-width: 1399.98px) {
	#header .hide-for-medium,
	#header [data-show="hide-for-medium"] {
		display: none !important;
	}

	#header .show-for-medium,
	#header [data-show="show-for-medium"] {
		display: block !important;
	}

	#header .header-inner .nav {
		flex-wrap: nowrap;
	}

	#header .medium-logo-center .flex-left {
		flex: 1 1 0;
		order: 1;
	}

	#header .medium-logo-center .logo {
		margin: 0 15px;
		order: 2;
		text-align: center;
	}

	#header .medium-logo-center .logo img {
		margin: 0 auto;
		max-width: 100%;
		height: auto;
	}

	#header .medium-logo-center .flex-right {
		flex: 1 1 0;
		order: 3;
	}
}

/* ---------- Shop / archive: 2 cột sản phẩm khi còn sidebar ---------- */
@media only screen and (max-width: 1199.98px) and (min-width: 850px) {
	.category-page-row .large-columns-3 > .col,
	.category-page-row .large-columns-4 > .col,
	.archive.woocommerce .large-columns-3 > .col,
	.archive.woocommerce .large-columns-4 > .col,
	.post-type-archive-product .large-columns-3 > .col,
	.post-type-archive-product .large-columns-4 > .col,
	.tax-product_cat .large-columns-3 > .col,
	.tax-product_cat .large-columns-4 > .col,
	.tax-product_tag .large-columns-3 > .col,
	.tax-product_tag .large-columns-4 > .col {
		max-width: 50% !important;
		flex-basis: 50% !important;
		width: 50% !important;
	}
}

/* Thanh công cụ shop: số kết quả / sắp xếp không đè nhau */
.shop-page-title .flex-row,
.catalog-ordering,
.woocommerce-ordering,
.products-footer,
.woocommerce-pagination {
	flex-wrap: wrap !important;
	max-width: 100%;
}

@media only screen and (max-width: 1199.98px) {
	.shop-page-title,
	.shop-page-title .flex-row,
	.category-page-row .flex-row {
		flex-wrap: wrap !important;
		align-items: center;
		gap: 8px 12px;
	}

	.woocommerce-result-count,
	.woocommerce-ordering,
	.shop-page-title select {
		float: none !important;
		margin: 0 !important;
		max-width: 100%;
	}
}

/* Trang sản phẩm: ẩn sidebar khi 3 cột bị cắt */
@media only screen and (max-width: 1199.98px) {
	.single-product .product-container > .large-3.hide-for-medium,
	.single-product .content-row > .large-3.hide-for-medium,
	.single-product .row.content-row > .col.large-3 {
		display: none !important;
	}
}

/* Card / tiêu đề sản phẩm không tràn khung */
.product-small,
.product-small .box,
.product-small .box-text,
.product-small .product-title,
.product-small .name {
	max-width: 100%;
	min-width: 0;
}

/* Slider / banner UX Builder */
.banner,
.ux-banner,
.slider,
.flickity-viewport,
.section-content {
	max-width: 100%;
}

.banner-layers,
.banner-layer {
	max-width: 100%;
}

/* Footer */
.footer-wrapper .col,
.footer-wrapper .col-inner,
.absolute-footer {
	min-width: 0;
	max-width: 100%;
}

@media only screen and (max-width: 849px) {
	.footer-wrapper .row > .col {
		max-width: 100%;
	}
}

/* Bảng / form WooCommerce */
.woocommerce table.shop_table,
.cart-wrapper,
.checkout-wrapper,
.woocommerce-checkout,
.woocommerce-cart-form {
	max-width: 100%;
}

.woocommerce table.shop_table {
	display: block;
	overflow-x: auto;
}

input,
select,
textarea,
button,
.button {
	max-width: 100%;
}

/* Phân trang không tràn */
.page-numbers,
ul.page-numbers {
	flex-wrap: wrap;
	max-width: 100%;
}
