.diiho-builder-site-content {
	flex: 1 0 auto;
	width: 100%;
}

.diiho-builder-page {
	width: 100%;
}

.diiho-builder-content-area {
	min-width: 0;
	width: 100%;
}

.diiho-builder {
	width: 100%;
}

.diiho-builder-section--compact>.diiho-builder-section__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--diiho-content-max, 1280px);
	margin: 0 auto;
	padding: 0 var(--diiho-grid-padding, .5rem);
}

.diiho-builder-section--compact .diiho-builder-column>.diiho-builder-widget {
	padding: var(--diiho-grid-padding, .5rem);
}

.diiho-builder-section--full .diiho-builder-column>.diiho-builder-widget {
	padding: 0;
}

@media (min-width: 768px) {
	.diiho-builder-section--compact>.diiho-builder-section__inner {
		padding: 0 var(--diiho-grid-padding, 1.5rem);
	}

	.diiho-builder-section--compact .diiho-builder-column>.diiho-builder-widget {
		padding: var(--diiho-grid-padding, 1.5rem);
	}
}

.diiho-builder-widget {
	min-width: 0;
	width: 100%;
}

/* Prevent global theme button:hover from bleeding color: #fff into builder widgets */
.diiho-builder-widget button:not(.button):not([type="submit"]):not([class*="wp-block"]):hover {
	color: inherit;
	opacity: 1;
}

/* Cố định toàn bộ thẻ a trong builder không bị gạch chân kể cả khi hover */
.diiho-builder a,
.diiho-builder a:hover,
.diiho-builder a:focus,
.diiho-builder a:active,
.diiho-builder a:visited,
.diiho-builder-page a,
.diiho-builder-page a:hover,
.diiho-builder-page a:focus,
.diiho-builder-page a:active,
.diiho-builder-page a:visited,
.diiho-builder-widget a,
.diiho-builder-widget a:hover,
.diiho-builder-widget a:focus,
.diiho-builder-widget a:active,
.diiho-builder-widget a:visited,
.diiho-ai-display a,
.diiho-ai-display a:hover,
.diiho-ai-display a:focus,
.diiho-ai-display a:active,
.diiho-ai-display a:visited {
	text-decoration: none !important;
}

.diiho-builder-heading {
	margin: 0 0 .75rem;
}

.diiho-builder-heading--align-left {
	text-align: left;
}

.diiho-builder-heading--align-center {
	text-align: center;
}

.diiho-builder-heading--align-right {
	text-align: right;
}

.diiho-builder-text> :first-child {
	margin-top: 0;
}

.diiho-builder-text> :last-child {
	margin-bottom: 0;
}


.diiho-builder-columns {
	display: grid;
	grid-template-columns: var(--diiho-column-tracks);
}

.diiho-builder-column {
	min-width: 0;
}

@media (max-width: 767px) {
	.diiho-builder-columns {
		grid-template-columns: minmax(0, 1fr);
	}
}

.diiho-site-footer--widgets .diiho-footer-builder-widgets-wrap {
	padding: 2.5rem 0;
}

.diiho-builder-footer-widgets {
	gap: 1.5rem;
}

.diiho-builder-footer-column {
	min-width: 0;
}

.diiho-builder-footer-column>.diiho-builder-widget {
	margin-bottom: 1.5rem;
}

.diiho-builder-footer-column>.diiho-builder-widget:last-child {
	margin-bottom: 0;
}

/* Footer compact alignment rules matching Code-widget-builder.md Section 5.1 & 5.2 */
.site-footer.diiho-site-footer {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	border: none !important;
	box-sizing: border-box !important;
	background-color: var(--diiho-local-site-info-background-color, #151515);
}

.site-footer.diiho-site-footer--custom {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	border: none !important;
	box-sizing: border-box !important;
}

.diiho-site-footer .diiho-builder-section__inner,
.diiho-site-footer .diiho-footer-container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--diiho-content-max, 1280px);
	margin: 0 auto;
	padding-left: var(--diiho-content-gutter, 1rem);
	padding-right: var(--diiho-content-gutter, 1rem);
}

@media (min-width: 768px) {

	.diiho-site-footer .diiho-builder-section__inner,
	.diiho-site-footer .diiho-footer-container {
		/* 3rem = 48px: 24px section padding + 24px widget padding aligns to 128px desktop axis */
		padding-left: var(--diiho-content-gutter, 3rem);
		padding-right: var(--diiho-content-gutter, 3rem);
	}
}

.diiho-site-footer--custom .chant1,
.diiho-site-footer--custom .chant2 {
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.diiho-site-footer--custom .site-info,
.diiho-site-footer--custom .chant10,
.diiho-site-footer--custom .duoi-cung {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box !important;
}

/* Remove border-top from custom bottom copyright and ensure flush alignment with screen edges */
.site-footer.diiho-site-footer--custom .duoi-cung,
html[data-theme=light] .site-footer.diiho-site-footer--custom .duoi-cung,
body.diiho-light-mode .site-footer.diiho-site-footer--custom .duoi-cung {
	border: none !important;
	border-top: none !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.site-footer.diiho-site-footer--custom .site-info,
.site-footer.diiho-site-footer--custom .chant10 {
	border: none !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.site-footer.diiho-site-footer--custom .diiho-footer-bottom-text,
.site-footer.diiho-site-footer--custom .diiho-footer-bottom-text>*:last-child,
.site-footer.diiho-site-footer .diiho-footer-bottom-text,
.site-footer.diiho-site-footer .diiho-footer-bottom-text>*:last-child {
	margin-bottom: 0 !important;
}

.diiho-site-footer--custom .channoidung.diiho-footer-builder {
	grid-column-gap: 1.5rem;
	grid-row-gap: 1.5rem;
}

.diiho-site-footer--custom .diiho-footer-layout-chan4,
.diiho-site-footer--custom .chan4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.diiho-site-footer--custom .diiho-footer-layout-chan4_unequal,
.diiho-site-footer--custom .chan4_unequal {
	grid-template-columns: 2fr 1fr 1fr 1fr;
}

.diiho-site-footer--custom .diiho-footer-layout-chan3,
.diiho-site-footer--custom .chan3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.diiho-site-footer--custom .diiho-footer-layout-chan3_unequal,
.diiho-site-footer--custom .chan3_unequal {
	grid-template-columns: 2fr 1fr 1fr;
}

.diiho-site-footer--custom .diiho-footer-layout-chan2,
.diiho-site-footer--custom .chan2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.diiho-site-footer--custom .diiho-footer-layout-chan1,
.diiho-site-footer--custom .chan1 {
	grid-template-columns: 1fr;
}

@media (max-width: 767px) {
	.diiho-site-footer--custom .channoidung.diiho-footer-builder {
		grid-template-columns: 1fr;
	}
}

/* Custom footer with background image */
.site-footer.diiho-site-footer--has-bg-image,
.site-footer.diiho-site-footer--custom.diiho-site-footer--has-bg-image {
	background-color: transparent !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-attachment: scroll;
	position: relative;
}

.site-footer.diiho-site-footer--custom.diiho-site-footer--has-bg-image::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.45);
	pointer-events: none;
	z-index: 1;
}

.site-footer.diiho-site-footer--custom.diiho-site-footer--has-bg-image> :not(style) {
	position: relative;
	z-index: 2;
}

.site-footer.diiho-site-footer--custom.diiho-site-footer--has-bg-image .site-info,
.site-footer.diiho-site-footer--custom.diiho-site-footer--has-bg-image .diiho-footer-main {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.site-footer.diiho-site-footer--custom.diiho-site-footer--has-bg-image .duoi-cung {
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.widget_shopping_cart_live_region,
[role="status"].screen-reader-text {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
}

/* Hide WooCommerce duplicate added_to_cart link inside builder */
.diiho-builder a.added_to_cart,
.diiho-builder-widget a.added_to_cart,
.diiho-builder-enabled a.added_to_cart {
	display: none !important;
}

/* Success state for cart buttons in builder */
.diiho-builder .button.added,
.diiho-builder .button.diiho-product-added,
.diiho-builder-widget .added,
.diiho-builder-widget .diiho-product-added {
	opacity: 1 !important;
}

/* Hide empty badges/labels so they do not show empty colored boxes */
.diiho-builder [class*="__badge"]:empty,
.diiho-builder [class*="--badge"]:empty,
.diiho-builder .badge:empty,
.diiho-builder .onsale:empty,
.diiho-builder-widget [class*="__badge"]:empty,
.diiho-builder-widget .badge:empty,
.diiho-builder-widget .onsale:empty {
	display: none !important;
}

/* FAQ / Accordion Global Safeguards:
   1. Strip theme style.css button pollution if button is used for trigger
   2. Cap border-radius at maximum 10px
   3. Ensure clear margin-top on expanded panel */
.diiho-builder [data-diiho-faq] button,
.diiho-builder .diiho-faq button,
.diiho-builder [class*="faq"] button[class*="trigger"],
.diiho-builder [class*="accordion"] button[class*="trigger"],
.diiho-builder-widget [data-diiho-faq] button,
.diiho-builder-widget .diiho-faq button,
.diiho-builder-widget [class*="faq"] button[class*="trigger"],
.diiho-builder-widget [class*="accordion"] button[class*="trigger"],
.diiho-builder-widget button[class*="faq__trigger"],
.diiho-builder-widget button[class*="accordion__trigger"] {
	background: transparent !important;
	background-color: transparent !important;
	color: inherit !important;
	border: none !important;
	box-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
	text-transform: none !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	text-align: left !important;
	letter-spacing: normal !important;
	cursor: pointer !important;
	border-radius: 0 !important;
	outline: none !important;
}
.diiho-builder [class*="faq__item"],
.diiho-builder [class*="faq-item"],
.diiho-builder [class*="accordion__item"],
.diiho-builder [class*="accordion-item"],
.diiho-builder-widget [class*="faq__item"],
.diiho-builder-widget [class*="faq-item"],
.diiho-builder-widget [class*="accordion__item"],
.diiho-builder-widget [class*="accordion-item"] {
	border-radius: 10px !important;
}
.diiho-builder [class*="faq__panel"],
.diiho-builder [class*="faq-panel"],
.diiho-builder [class*="accordion__panel"],
.diiho-builder [class*="accordion-panel"],
.diiho-builder-widget [class*="faq__panel"],
.diiho-builder-widget [class*="faq-panel"],
.diiho-builder-widget [class*="accordion__panel"],
.diiho-builder-widget [class*="accordion-panel"] {
	margin-top: 14px !important;
}

/* ==========================================================================
   Diiho: Content Widget (page.php-like card display without title)
   ========================================================================== */
.diiho-builder-content-card,
.diiho-builder-page .diiho-builder-content-card.entry-body,
.page .diiho-builder-content-card.entry-body {
	--page-entry-body-background: #fff;
	background: var(--page-entry-body-background);
	border-radius: 10px;
	--diiho-local-page-entry-body-box-shadow: rgba(38, 50, 56, 0.07);
	box-shadow: 0 7px 50px 0 var(--diiho-local-page-entry-body-box-shadow);
	padding: 2rem;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	color: var(--diiho-local-body-color, #263238);
}

@media (min-width: 768px) {
	.diiho-builder-content-card,
	.diiho-builder-page .diiho-builder-content-card.entry-body,
	.page .diiho-builder-content-card.entry-body {
		padding: 2.5rem 3rem;
	}
}

@media (min-width: 1024px) {
	.diiho-builder-content-card,
	.diiho-builder-page .diiho-builder-content-card.entry-body,
	.page .diiho-builder-content-card.entry-body {
		padding: 3rem 4rem;
	}
}

html[data-theme=light] .diiho-builder-content-card,
body.diiho-light-mode .diiho-builder-content-card {
	--diiho-local-page-entry-body-box-shadow: rgba(15, 23, 42, 0.07);
}

.diiho-builder-content-card .entry-content,
.diiho-builder-content.entry-content {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box;
}

.diiho-builder-content-card .entry-content > :first-child,
.diiho-builder-content.entry-content > :first-child {
	margin-top: 0;
}

.diiho-builder-content-card .entry-content > :last-child,
.diiho-builder-content.entry-content > :last-child {
	margin-bottom: 0;
}

.diiho-builder-content-card .entry-content img {
	max-width: 100%;
	height: auto;
}