/**
 * Vertical Green – mobile responsiveness overrides (max-width: 767px)
 * Safe overrides for Elementor/Astra layout issues on Samsung-width viewports.
 */

@media (max-width: 767px) {

	/* ------------------------------------------------------------------
	   Global typography
	   ------------------------------------------------------------------ */
	body,
	.elementor-widget-text-editor,
	.elementor-widget-text-editor p,
	.elementor-widget-theme-post-content,
	.elementor-widget-theme-post-content p {
		font-size: clamp(15px, 4vw, 17px);
		line-height: 1.55;
	}

/* COMMENTED OUT: h1 font-size override (mobile)
	.entry-content :where(h1),
	h1,
	.elementor-widget-heading h1.elementor-heading-title,
	h1.elementor-heading-title {
		font-size: clamp(32px, 10vw, 48px) !important;
		line-height: 1.15 !important;
		max-width: 100%;
		word-break: break-word;
		overflow-wrap: anywhere;
	}
	*/

	.entry-content :where(h2),
	h2,
	.elementor-widget-heading h2.elementor-heading-title,
	h2.elementor-heading-title {
		font-size: clamp(28px, 8vw, 40px) !important;
		line-height: 1.2 !important;
		max-width: 100%;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.entry-content :where(h3),
	h3,
	.elementor-widget-heading h3.elementor-heading-title,
	h3.elementor-heading-title {
		font-size: clamp(22px, 6vw, 32px) !important;
		line-height: 1.25 !important;
		max-width: 100%;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.elementor-widget-heading h4.elementor-heading-title,
	.elementor-widget-heading h5.elementor-heading-title,
	.elementor-widget-heading h6.elementor-heading-title {
		max-width: 100%;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	/* Eyebrow / section labels (often shrunk to 10px in Elementor mobile styles) */
	.elementor-315 .elementor-element-bdfc085 .elementor-heading-title,
	.elementor-315 .elementor-element-0cfe1bb .elementor-heading-title,
	.elementor-315 .elementor-element-85cfd0b .elementor-heading-title,
	.elementor-heading-title.elementor-size-default[style*="text-transform: uppercase"],
	.elementor-widget-heading .elementor-heading-title[style*="text-transform:uppercase"] {
		font-size: clamp(14px, 3.8vw, 16px) !important;
		line-height: 1.35 !important;
		letter-spacing: 0.04em;
	}

	/* Orange / yellow / green accent labels */
	.elementor-heading-title[style*="#FCB900"],
	.elementor-heading-title[style*="#fcb900"],
	.elementor-heading-title[style*="#24db24"],
	.elementor-heading-title[style*="#25D925"],
	.elementor-heading-title[style*="#FF6900"],
	.elementor-widget-heading .elementor-heading-title[style*="color: var( --e-global-color-secondary )"],
	.elementor-widget-heading .elementor-heading-title[style*="color:var( --e-global-color-secondary )"] {
		font-size: clamp(14px, 3.8vw, 16px) !important;
		line-height: 1.35 !important;
	}

	/* ------------------------------------------------------------------
	   Header / mobile menu (Astra custom hook 6323)
	   ------------------------------------------------------------------ */
	.ast-custom-header,
	.ast-custom-header .elementor-6323,
	.ast-custom-header .mobile-menu,
	.ast-custom-header .elementor-element-7cd7b07 {
		position: relative;
		z-index: 99999 !important;
	}

	.ast-custom-header .mobile-menu,
	.ast-custom-header .elementor-element-7cd7b07.mobile-menu {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100vw !important;
		margin: 0 !important;
		background: #ffffff !important;
		box-shadow: none;
		transition: background-color 0.3s ease, box-shadow 0.3s ease;
	}

	/* Scrolled: theme green bar, white logo / icons / burger */
	body.vg-scrolled .ast-custom-header .mobile-menu,
	body.scrolled .ast-custom-header .mobile-menu,
	body.sticky .ast-custom-header .mobile-menu,
	.ast-custom-header .mobile-menu.sticky {
		left: 0 !important;
		background: #3f5b4a !important;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
	}

	/* Default at top: black burger, transparent button */
	.ast-custom-header .mobile-menu .elementor-element-f6ca56b .elementor-menu-toggle,
	.ast-custom-header .mobile-menu .elementor-menu-toggle {
		background: transparent !important;
		background-color: transparent !important;
		border: none !important;
		box-shadow: none !important;
	}

	.ast-custom-header .mobile-menu .elementor-menu-toggle,
	.ast-custom-header .mobile-menu .elementor-menu-toggle i,
	.ast-custom-header .mobile-menu .elementor-menu-toggle svg,
	.ast-custom-header .mobile-menu .elementor-menu-toggle .elementor-menu-toggle__icon--open,
	.ast-custom-header .mobile-menu .elementor-menu-toggle .elementor-menu-toggle__icon--close {
		color: #000000 !important;
		fill: #000000 !important;
		transition: color 0.3s ease, fill 0.3s ease, background-color 0.3s ease;
	}

	/* Scrolled: white burger icon only, no button background */
	body.vg-scrolled .ast-custom-header .mobile-menu .elementor-element-f6ca56b .elementor-menu-toggle,
	body.scrolled .ast-custom-header .mobile-menu .elementor-element-f6ca56b .elementor-menu-toggle,
	body.sticky .ast-custom-header .mobile-menu .elementor-element-f6ca56b .elementor-menu-toggle,
	.ast-custom-header .mobile-menu.sticky .elementor-element-f6ca56b .elementor-menu-toggle,
	body.vg-scrolled .ast-custom-header .mobile-menu .elementor-menu-toggle,
	body.scrolled .ast-custom-header .mobile-menu .elementor-menu-toggle,
	body.sticky .ast-custom-header .mobile-menu .elementor-menu-toggle,
	.ast-custom-header .mobile-menu.sticky .elementor-menu-toggle,
	.ast-header-sticky-active .ast-custom-header .mobile-menu .elementor-element-f6ca56b .elementor-menu-toggle,
	.ast-header-sticky-active .ast-custom-header .mobile-menu .elementor-menu-toggle {
		background: transparent !important;
		background-color: transparent !important;
		border: none !important;
		box-shadow: none !important;
	}

	body.vg-scrolled .ast-custom-header .mobile-menu .elementor-menu-toggle,
	body.vg-scrolled .ast-custom-header .mobile-menu .elementor-menu-toggle i,
	body.vg-scrolled .ast-custom-header .mobile-menu .elementor-menu-toggle svg,
	body.vg-scrolled .ast-custom-header .mobile-menu .elementor-menu-toggle .elementor-menu-toggle__icon--open,
	body.vg-scrolled .ast-custom-header .mobile-menu .elementor-menu-toggle .elementor-menu-toggle__icon--close,
	body.scrolled .ast-custom-header .mobile-menu .elementor-menu-toggle,
	body.scrolled .ast-custom-header .mobile-menu .elementor-menu-toggle i,
	body.sticky .ast-custom-header .mobile-menu .elementor-menu-toggle,
	body.sticky .ast-custom-header .mobile-menu .elementor-menu-toggle i,
	.ast-custom-header .mobile-menu.sticky .elementor-menu-toggle,
	.ast-custom-header .mobile-menu.sticky .elementor-menu-toggle i,
	.ast-custom-header .mobile-menu.sticky .elementor-menu-toggle svg,
	.ast-custom-header .mobile-menu.sticky .elementor-menu-toggle .elementor-menu-toggle__icon--open,
	.ast-custom-header .mobile-menu.sticky .elementor-menu-toggle .elementor-menu-toggle__icon--close,
	.ast-header-sticky-active .ast-custom-header .mobile-menu .elementor-element-f6ca56b .elementor-menu-toggle,
	.ast-header-sticky-active .ast-custom-header .mobile-menu .elementor-element-f6ca56b .elementor-menu-toggle i {
		color: #ffffff !important;
		fill: #ffffff !important;
	}

	/* Logo: black at top, white when scrolled */
	.ast-custom-header .mobile-menu .vgreen-header-img img,
	.ast-custom-header .mobile-menu .elementor-element-fe3c583 img,
	.ast-custom-header .mobile-menu .custom-logo-link img,
	.ast-custom-header .mobile-menu .site-logo-img img,
	.ast-custom-header .mobile-menu img.wp-image-9717 {
		filter: brightness(0) !important;
		transition: filter 0.3s ease;
	}

	/* Legacy CSS filters the widget wrapper – reset it when scrolled */
	body.vg-scrolled .ast-custom-header .mobile-menu .vgreen-header-img,
	body.vg-scrolled .ast-custom-header .mobile-menu .elementor-element-fe3c583,
	body.scrolled .ast-custom-header .mobile-menu .vgreen-header-img,
	body.sticky .ast-custom-header .mobile-menu .vgreen-header-img,
	.ast-custom-header .mobile-menu.sticky .vgreen-header-img,
	.ast-custom-header .mobile-menu.sticky .elementor-element-fe3c583 {
		filter: none !important;
	}

	body.vg-scrolled .ast-custom-header .mobile-menu .vgreen-header-img img,
	body.vg-scrolled .ast-custom-header .mobile-menu .elementor-element-fe3c583 img,
	body.vg-scrolled .ast-custom-header .mobile-menu img.wp-image-9717,
	body.scrolled .ast-custom-header .mobile-menu .vgreen-header-img img,
	body.scrolled .ast-custom-header .mobile-menu .elementor-element-fe3c583 img,
	body.sticky .ast-custom-header .mobile-menu .vgreen-header-img img,
	.ast-custom-header .mobile-menu.sticky .vgreen-header-img img,
	.ast-custom-header .mobile-menu.sticky .elementor-element-fe3c583 img,
	.ast-custom-header .mobile-menu.sticky .custom-logo-link img,
	.ast-custom-header .mobile-menu.sticky img.wp-image-9717 {
		filter: brightness(0) invert(1) !important;
	}

	/* Social icons: black at top, white when scrolled */
	.ast-custom-header .mobile-menu .elementor-element-96a3c7e .elementor-icon-list-icon i {
		color: #000000 !important;
		transition: color 0.3s ease;
	}

	body.vg-scrolled .ast-custom-header .mobile-menu .elementor-element-96a3c7e .elementor-icon-list-icon i,
	body.scrolled .ast-custom-header .mobile-menu .elementor-element-96a3c7e .elementor-icon-list-icon i,
	body.sticky .ast-custom-header .mobile-menu .elementor-element-96a3c7e .elementor-icon-list-icon i,
	.ast-custom-header .mobile-menu.sticky .elementor-element-96a3c7e .elementor-icon-list-icon i {
		color: #ffffff !important;
	}

	/* Prevent cut-off Facebook icon in header social list */
	.ast-custom-header .mobile-menu .elementor-element-96a3c7e > .elementor-widget-container,
	.ast-custom-header .mobile-menu .elementor-element-96a3c7e .elementor-icon-list-icon,
	.ast-custom-header .mobile-menu .elementor-element-96a3c7e .elementor-icon-list-icon i.fa-facebook-f {
		overflow: visible !important;
	}

	/* Mobile header row: logo | social icons | burger (never stack icons vertically) */
	.ast-custom-header .mobile-menu .elementor-element-3a2c769 > .elementor-container {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: auto !important;
	}

	.ast-custom-header .mobile-menu .elementor-element-db8f39d {
		width: 25% !important;
		flex: 0 0 25% !important;
	}

	.ast-custom-header .mobile-menu .elementor-element-99a8937 {
		width: 55% !important;
		flex: 1 1 55% !important;
		min-width: 0 !important;
	}

	.ast-custom-header .mobile-menu .elementor-element-380efa6 {
		width: 20% !important;
		flex: 0 0 20% !important;
	}

	.ast-custom-header .mobile-menu .elementor-element-96a3c7e .elementor-icon-list-items.elementor-inline-items {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		margin-block: 0 !important;
		margin-inline: calc(-10px / 2) !important;
		padding: 0 !important;
		padding-left: 0 !important;
		list-style: none !important;
		list-style-type: none !important;
	}

	.ast-custom-header .mobile-menu .elementor-element-96a3c7e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
		flex: 0 0 auto !important;
		width: auto !important;
		margin-inline: calc(10px / 2) !important;
		list-style: none !important;
		list-style-type: none !important;
	}

	.ast-custom-header .mobile-menu .elementor-element-96a3c7e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item::marker {
		content: none !important;
		display: none !important;
	}

	.ast-custom-header .mobile-menu .elementor-element-96a3c7e.elementor-list-item-link-full_width a,
	.ast-custom-header .mobile-menu .elementor-element-96a3c7e .elementor-icon-list-item a {
		width: auto !important;
		display: inline-flex !important;
	}

	.ast-custom-header .mobile-menu .elementor-element-96a3c7e {
		--e-icon-list-icon-size: 18px;
	}

	.ast-custom-header .mobile-menu .elementor-widget-nav-menu .elementor-nav-menu--main {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		overflow: hidden !important;
	}

	.ast-custom-header .mobile-menu .elementor-menu-toggle {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		pointer-events: auto !important;
	}

	/* Burger dropdown: hidden until toggle is active */
	.ast-custom-header .mobile-menu .elementor-menu-toggle:not(.elementor-active) + .elementor-nav-menu--dropdown.elementor-nav-menu__container {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
		height: 0 !important;
		max-height: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* Only the direct burger dropdown panel – NOT nested sub-menus */
	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown.elementor-nav-menu__container {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		position: fixed !important;
		top: var(--vg-mobile-header-height, 100px) !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		max-height: calc(100vh - var(--vg-mobile-header-height, 100px)) !important;
		margin: 0 !important;
		padding: 12px 20px 24px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		background: #ffffff !important;
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
		z-index: 100000 !important;
		transform: none !important;
	}

	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > a.elementor-item,
	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > a.elementor-sub-item,
	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown a.menu-link {
		color: #1a1a1a !important;
		fill: #1a1a1a !important;
		font-size: 17px !important;
		line-height: 1.35 !important;
		padding: 10px 0 !important;
		visibility: visible !important;
		opacity: 1 !important;
		white-space: normal !important;
	}

	/* Top-level items without children */
	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li:not(.menu-item-has-children) > a {
		display: block !important;
		width: 100% !important;
	}

	/* Parent items: keep link + sub-arrow on one row */
	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.menu-item-has-children {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: space-between !important;
	}

	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.menu-item-has-children > a.elementor-item {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: calc(100% - 40px) !important;
	}

	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.menu-item-has-children > .sub-arrow,
	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.menu-item-has-children > .elementor-submenu-icon {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		position: static !important;
		width: 32px !important;
		height: 32px !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
		flex: 0 0 32px !important;
		line-height: 1 !important;
	}

	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.menu-item-has-children > .sub-arrow i,
	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.menu-item-has-children > .sub-arrow svg {
		display: inline-block !important;
		line-height: 1 !important;
	}

	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.menu-item-has-children > ul.sub-menu {
		flex: 0 0 100% !important;
		width: 100% !important;
		order: 3 !important;
	}

	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown .elementor-item:hover,
	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown .elementor-item:focus {
		color: #24db24 !important;
		background: transparent !important;
	}

	/* Nested sub-menus inside burger panel – not full-screen panels */
	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown ul.sub-menu.elementor-nav-menu--dropdown {
		position: static !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 4px 0 4px 16px !important;
		background: #f5f5f5 !important;
		box-shadow: none !important;
		transform: none !important;
	}

	/* Don't clip the open menu panel inside the header */
	.ast-custom-header,
	.ast-custom-header .elementor-6323,
	.ast-custom-header .mobile-menu,
	.ast-custom-header .elementor-element-7cd7b07,
	.ast-custom-header .elementor-widget-nav-menu,
	.ast-custom-header .elementor-widget-nav-menu .elementor-widget-container,
	.ast-custom-header .elementor-element-f6ca56b,
	.ast-custom-header .elementor-element-f6ca56b .elementor-widget-container,
	.ast-custom-header .elementor-element-380efa6,
	.ast-custom-header .elementor-element-380efa6 .elementor-widget-wrap {
		overflow: visible !important;
	}

	body.admin-bar .ast-custom-header .mobile-menu,
	body.admin-bar .ast-custom-header .elementor-element-7cd7b07.mobile-menu {
		top: 46px !important;
	}

	body.admin-bar .ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown.elementor-nav-menu__container {
		top: calc(var(--vg-mobile-header-height, 100px) + 46px) !important;
		max-height: calc(100vh - var(--vg-mobile-header-height, 100px) - 46px) !important;
	}

	/* Offset first section so fixed header does not cover hero controls */
	body.elementor-page:not(.elementor-editor-active) .site-content {
		padding-top: var(--vg-mobile-header-height, 100px);
	}

	/* ------------------------------------------------------------------
	   About – Milestones
	   ------------------------------------------------------------------ */
	.page-id-315 .scrolling-milestones,
	.page-id-315 .scrolling-milestones .elementor-container,
	.page-id-315 .scrolling-milestones .elementor-widget-wrap,
	.elementor-315 .elementor-element-9a76314,
	.elementor-315 .elementor-element-9a76314 .elementor-container {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.page-id-315 .mobile-milestone .elementor-widget-container,
	.elementor-315 .elementor-element-16dab40 > .elementor-widget-container,
	.elementor-315 .elementor-element-1b44402 > .elementor-widget-container {
		margin: 0 !important;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.page-id-315 .mobile-milestone img,
	.elementor-315 .elementor-element-16dab40 img,
	.elementor-315 .elementor-element-1b44402 img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		display: block;
	}

	/* ------------------------------------------------------------------
	   HyGroWall – hide Singapore image captions on mobile (match desktop)
	   ------------------------------------------------------------------ */
	.page-id-1820 figure.wp-caption:has(img[src*="img35"]) figcaption,
	.elementor-page-1820 figure.wp-caption:has(img[src*="img35"]) figcaption {
		display: none !important;
	}

	/* HyGroWall section headings */
	.page-id-1820 #Process .elementor-heading-title,
	.page-id-1820 #Installation .elementor-heading-title,
	.page-id-1820 #Why-Us .elementor-heading-title,
	.page-id-1820 #Key-Features .elementor-heading-title,
	.page-id-1820 #Our-System .elementor-heading-title,
	.elementor-page-1820 [id="Process"] .elementor-heading-title,
	.elementor-page-1820 [id="Installation"] .elementor-heading-title,
	.elementor-page-1820 [id="Why-Us"] .elementor-heading-title,
	.elementor-page-1820 [id="Key-Features"] .elementor-heading-title,
	.elementor-page-1820 [id="Our-System"] .elementor-heading-title {
		font-size: clamp(22px, 6vw, 32px) !important;
		line-height: 1.25 !important;
	}

	/* HyGroWall – Key Features icon grid labels (not main section titles) */
	.page-id-1820 #Benefits .elementor-element-bc2a38e .elementor-heading-title,
	.page-id-1820 #Benefits .elementor-element-e7b3f67 .elementor-heading-title,
	.page-id-1820 #Benefits .elementor-element-36a5a98 .elementor-heading-title,
	.elementor-page-1820 #Benefits .elementor-element-bc2a38e .elementor-heading-title,
	.elementor-page-1820 #Benefits .elementor-element-e7b3f67 .elementor-heading-title,
	.elementor-page-1820 #Benefits .elementor-element-36a5a98 .elementor-heading-title {
		font-size: 14px !important;
		line-height: 1.35 !important;
		text-align: center !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	/* ------------------------------------------------------------------
	   HyGroMoss / Reindeer – PayPal section + color grid
	   ------------------------------------------------------------------ */
	.page-id-2591 .elementor-element-419cc17,
	.page-id-2591 .elementor-element-adbfba5,
	.page-id-18039 .elementor-element-adbfba5,
	.elementor-page-2591 .elementor-element-419cc17,
	.elementor-page-18039 .elementor-element-adbfba5 {
		overflow: visible !important;
	}

	.page-id-2591 .elementor-element-419cc17 .elementor-widget-container,
	.page-id-2591 .elementor-element-419cc17 figure,
	.page-id-2591 .elementor-element-419cc17 img {
		margin-bottom: 0 !important;
	}

	.page-id-2591 .elementor-element-419cc17 figcaption,
	.elementor-page-2591 .elementor-element-419cc17 figcaption {
		padding-bottom: 12px;
	}

	/* Color / material selection grids */
	.page-id-2591 .elementor-image-gallery .gallery-item,
	.page-id-18039 .elementor-image-gallery .gallery-item,
	.page-id-2658 .elementor-image-gallery .gallery-item,
	.elementor-page-2591 .elementor-grid .elementor-grid-item,
	.elementor-page-18039 .elementor-grid .elementor-grid-item,
	.elementor-page-2658 .elementor-grid .elementor-grid-item {
		width: calc(50% - 8px) !important;
		max-width: calc(50% - 8px) !important;
		flex: 0 0 calc(50% - 8px) !important;
	}

	.page-id-2591 .elementor-image-gallery,
	.page-id-18039 .elementor-image-gallery,
	.page-id-2658 .elementor-image-gallery,
	.elementor-page-2591 .elementor-grid,
	.elementor-page-18039 .elementor-grid,
	.elementor-page-2658 .elementor-grid {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 12px !important;
		justify-content: center !important;
	}

	.page-id-2591 .elementor-image-gallery img,
	.page-id-18039 .elementor-image-gallery img,
	.page-id-2658 .elementor-image-gallery img {
		width: 100% !important;
		height: auto !important;
	}

	/* NDA – hide ADB-branded project images (text baked into image) */
	img[src*="ADB-Site-Photos"],
	img[src*="ADB-copy"],
	img[src*="/ADB-1."],
	img[src*="/ADB-2."],
	img[src*="/ADB-3."],
	img[src*="ADB.webp"],
	img[src*="ADB.jpeg"],
	img[src*="ADB.jpg"],
	.wp-image-11973,
	.wp-image-11974,
	.wp-image-11975,
	.wp-image-11723,
	.wp-image-11724,
	.wp-image-11725,
	.wp-image-11833,
	.wp-image-11834,
	.wp-image-11835,
	.wp-image-18130 {
		visibility: hidden !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	img[src*="ADB-Site-Photos"] + figcaption,
	img[src*="ADB-copy"] + figcaption,
	.wp-caption:has(img[src*="ADB"]) {
		display: none !important;
	}

	/* ------------------------------------------------------------------
	   HyGroMat – overlap / fixed height cleanup
	   ------------------------------------------------------------------ */
	.page-id-2658 .elementor-section[data-settings*="height"],
	.elementor-page-2658 .elementor-section.elementor-section-height-min-height {
		min-height: 0 !important;
		height: auto !important;
	}

	.page-id-2658 .elementor-widget-container,
	.elementor-page-2658 .elementor-widget-container {
		max-width: 100%;
	}

	.page-id-2658 .elementor-element-419cc17 > .elementor-widget-container,
	.elementor-2658 .elementor-element.elementor-element-419cc17 > .elementor-widget-container {
		margin: 0 !important;
	}

	.page-id-2658 .elementor-element-ca24f39 .elementor-heading-title,
	.elementor-page-2658 .elementor-element-ca24f39 .elementor-heading-title {
		font-size: clamp(22px, 6vw, 32px) !important;
	}

	/* HyGroMat – Maintenance Free heading block */
	.page-id-2658 .elementor-element-7945cb5,
	.elementor-page-2658 .elementor-element-7945cb5 {
		padding-left: 20px !important;
		padding-right: 20px !important;
		overflow: hidden;
	}

	.page-id-2658 .elementor-element-7945cb5 .elementor-element-fb36427,
	.page-id-2658 .elementor-element-7945cb5 .elementor-element-fb36427 > .elementor-widget-container,
	.elementor-page-2658 .elementor-element-7945cb5 .elementor-element-fb36427,
	.elementor-page-2658 .elementor-element-7945cb5 .elementor-element-fb36427 > .elementor-widget-container {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	.page-id-2658 .elementor-element-7945cb5 .elementor-element-fb36427 .elementor-heading-title,
	.page-id-2658 .elementor-element-7945cb5 .elementor-element-fb36427 .elementor-heading-title h2,
	.page-id-2658 .elementor-element-7945cb5 .elementor-element-fb36427 .elementor-heading-title h3,
	.page-id-2658 .elementor-element-7945cb5 .elementor-element-fb36427 .elementor-heading-title span,
	.page-id-2658 .elementor-element-7945cb5 .elementor-element-fb36427 h2 span[style],
	.elementor-page-2658 .elementor-element-7945cb5 .elementor-element-fb36427 .elementor-heading-title,
	.elementor-page-2658 .elementor-element-7945cb5 .elementor-element-fb36427 .elementor-heading-title h2,
	.elementor-page-2658 .elementor-element-7945cb5 .elementor-element-fb36427 .elementor-heading-title span {
		font-size: clamp(34px, 11vw, 52px) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.02em !important;
		text-align: left !important;
		max-width: 100% !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		white-space: normal !important;
	}

	.page-id-2658 .elementor-element-7945cb5 .elementor-element-fb36427 .elementor-heading-title h2,
	.elementor-page-2658 .elementor-element-7945cb5 .elementor-element-fb36427 .elementor-heading-title h2 {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		font-weight: 400 !important;
	}

	.page-id-2658 .elementor-element-7945cb5 .elementor-element-dfbe2a1 .elementor-heading-title,
	.page-id-2658 .elementor-element-7945cb5 .elementor-element-dfbe2a1 h3,
	.elementor-page-2658 .elementor-element-7945cb5 .elementor-element-dfbe2a1 .elementor-heading-title {
		font-size: clamp(24px, 7vw, 34px) !important;
		line-height: 1.2 !important;
		margin-top: 20px !important;
		margin-bottom: 12px !important;
		text-align: left !important;
	}

	.page-id-2658 .elementor-element-7945cb5 .elementor-element-1f6b727,
	.page-id-2658 .elementor-element-7945cb5 .elementor-element-1f6b727 p,
	.elementor-page-2658 .elementor-element-7945cb5 .elementor-element-1f6b727,
	.elementor-page-2658 .elementor-element-7945cb5 .elementor-element-1f6b727 p {
		font-size: 16px !important;
		line-height: 1.6 !important;
		text-align: left !important;
	}

	/* HyGroMat – Benefits icon grids (2 columns, readable labels) */
	.page-id-2658 #Benefits,
	.elementor-page-2658 #Benefits {
		padding-left: 16px !important;
		padding-right: 16px !important;
		overflow: hidden;
	}

	.page-id-2658 #Benefits .elementor-element-f0b5001 > .elementor-container,
	.page-id-2658 #Benefits .elementor-element-daa7ca7 > .elementor-container,
	.page-id-2658 #Benefits .elementor-element-8328364 > .elementor-container,
	.elementor-page-2658 #Benefits .elementor-element-f0b5001 > .elementor-container,
	.elementor-page-2658 #Benefits .elementor-element-daa7ca7 > .elementor-container,
	.elementor-page-2658 #Benefits .elementor-element-8328364 > .elementor-container {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 20px 12px !important;
		justify-content: center !important;
		align-items: flex-start !important;
	}

	.page-id-2658 #Benefits .elementor-element-f0b5001 .elementor-col-20,
	.page-id-2658 #Benefits .elementor-element-daa7ca7 .elementor-col-20,
	.page-id-2658 #Benefits .elementor-element-8328364 .elementor-col-20,
	.page-id-2658 #Benefits .elementor-inner-column.elementor-col-20,
	.elementor-page-2658 #Benefits .elementor-element-f0b5001 .elementor-col-20,
	.elementor-page-2658 #Benefits .elementor-element-daa7ca7 .elementor-col-20,
	.elementor-page-2658 #Benefits .elementor-element-8328364 .elementor-col-20,
	.elementor-page-2658 #Benefits .elementor-inner-column.elementor-col-20 {
		width: calc(50% - 8px) !important;
		max-width: calc(50% - 8px) !important;
		flex: 0 0 calc(50% - 8px) !important;
		min-width: calc(50% - 8px) !important;
	}

	.page-id-2658 #Benefits .elementor-inner-column .elementor-widget-wrap,
	.elementor-page-2658 #Benefits .elementor-inner-column .elementor-widget-wrap {
		width: 100% !important;
		max-width: 100% !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
	}

	.page-id-2658 #Benefits .elementor-col-20:not(:has(.elementor-widget-image)),
	.elementor-page-2658 #Benefits .elementor-col-20:not(:has(.elementor-widget-image)) {
		display: none !important;
	}

	.page-id-2658 #Benefits .elementor-widget-image img,
	.elementor-page-2658 #Benefits .elementor-widget-image img {
		width: auto !important;
		max-width: 72px !important;
		height: auto !important;
		max-height: 72px !important;
		margin: 0 auto !important;
		display: block !important;
	}

	.page-id-2658 #Benefits .elementor-element-f0b5001 .elementor-heading-title,
	.page-id-2658 #Benefits .elementor-element-daa7ca7 .elementor-heading-title,
	.page-id-2658 #Benefits .elementor-element-8328364 .elementor-heading-title,
	.elementor-page-2658 #Benefits .elementor-element-f0b5001 .elementor-heading-title,
	.elementor-page-2658 #Benefits .elementor-element-daa7ca7 .elementor-heading-title,
	.elementor-page-2658 #Benefits .elementor-element-8328364 .elementor-heading-title {
		font-size: 14px !important;
		line-height: 1.35 !important;
		text-align: center !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		white-space: normal !important;
		max-width: 100% !important;
	}

	/* HyGroMat – f0b5001 icon row: force 2-column grid on mobile */
	.page-id-2658 .elementor-element-f0b5001 > .elementor-container,
	.elementor-page-2658 .elementor-element-f0b5001 > .elementor-container {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 24px 16px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.page-id-2658 .elementor-element-f0b5001 .elementor-column,
	.elementor-page-2658 .elementor-element-f0b5001 .elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: none !important;
	}

	.page-id-2658 .elementor-element-f0b5001 .elementor-element-97f22ef,
	.page-id-2658 .elementor-element-f0b5001 .elementor-element-a6d0ea2,
	.elementor-page-2658 .elementor-element-f0b5001 .elementor-element-97f22ef,
	.elementor-page-2658 .elementor-element-f0b5001 .elementor-element-a6d0ea2 {
		display: none !important;
	}

	.page-id-2658 .elementor-element-f0b5001 .elementor-widget-wrap,
	.elementor-page-2658 .elementor-element-f0b5001 .elementor-widget-wrap {
		width: 100% !important;
		max-width: 100% !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
	}

	.page-id-2658 .elementor-element-f0b5001 .elementor-widget-image img,
	.elementor-page-2658 .elementor-element-f0b5001 .elementor-widget-image img {
		width: auto !important;
		max-width: 72px !important;
		height: auto !important;
		max-height: 72px !important;
		margin: 0 auto !important;
		display: block !important;
	}

	.page-id-2658 .elementor-element-f0b5001 .elementor-heading-title,
	.elementor-page-2658 .elementor-element-f0b5001 .elementor-heading-title {
		font-size: 14px !important;
		line-height: 1.35 !important;
		text-align: center !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		white-space: normal !important;
	}

	/* Remove common Elementor mobile negative margins causing overlap */
	.elementor-section .elementor-widget-container[style*="margin"],
	.elementor-inner-section .elementor-widget-container {
		max-width: 100% !important;
	}

	.page-id-2658 [class*="elementor-element-"] > .elementor-widget-container,
	.elementor-page-2658 [class*="elementor-element-"] > .elementor-widget-container {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* ------------------------------------------------------------------
	   Gallery – PowerPack filter buttons
	   ------------------------------------------------------------------ */
	.pp-gallery-filters {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 10px !important;
		margin-bottom: 20px !important;
	}

	.pp-gallery-filter {
		min-height: 44px !important;
		padding: 10px 16px !important;
		font-size: 14px !important;
		line-height: 1.2 !important;
		cursor: pointer !important;
		pointer-events: auto !important;
		touch-action: manipulation;
		-webkit-tap-highlight-color: rgba(36, 219, 36, 0.2);
		user-select: none;
	}

	.pp-gallery-filters,
	.pp-image-gallery-filter-enabled {
		position: relative;
		z-index: 2;
	}

	/* ------------------------------------------------------------------
	   News / blog archive & single posts
	   ------------------------------------------------------------------ */

	/* News archive (page 520) – stack image above content on mobile */
	.page-id-520 .elementor-element-b26b9d1 .pp-post-wrap .pp-post.pp-grid-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.page-id-520 .elementor-element-b26b9d1 .pp-post-wrap .pp-post-thumbnail {
		order: 1 !important;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 16px 0 !important;
	}

	.page-id-520 .elementor-element-b26b9d1 .pp-post-wrap .pp-post-thumbnail img,
	.page-id-520 .elementor-element-b26b9d1 .pp-post-wrap .pp-post-thumbnail .pp-post-thumbnail-wrap {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}

	.page-id-520 .elementor-element-b26b9d1 .pp-post-wrap .pp-post-content {
		order: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		flex: none !important;
		margin-left: 0 !important;
		padding: 12px 16px 16px !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		overflow: visible !important;
		box-sizing: border-box !important;
	}

	.page-id-520 .elementor-element-b26b9d1 .pp-post-wrap.pp-grid-item-wrap {
		height: auto !important;
		min-height: 0 !important;
	}

	.page-id-520 .elementor-element-b26b9d1 .pp-post-wrap.pp-grid-item-wrap .pp-post.pp-grid-item {
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}

	.page-id-520 .elementor-element-b26b9d1 .pp-post-wrap .pp-post-thumbnail a,
	.page-id-520 .elementor-element-b26b9d1 .pp-post-wrap .pp-post-thumbnail .pp-post-thumbnail-wrap {
		height: auto !important;
	}

	.page-id-520 .elementor-element-b26b9d1 .pp-post-wrap .pp-post-thumbnail img {
		max-height: 220px !important;
		object-fit: cover !important;
	}

	.page-id-520 .elementor-element-b26b9d1 .pp-post-title,
	.page-id-520 .elementor-element-b26b9d1 .pp-post-title a {
		font-size: clamp(18px, 5vw, 22px) !important;
		line-height: 1.3 !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
		white-space: normal !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.page-id-520 .elementor-element-b26b9d1 .pp-post-content .pp-post-meta {
		font-size: 14px !important;
		margin-bottom: 8px !important;
		flex-shrink: 0 !important;
	}

	.page-id-520 .elementor-element-b26b9d1 .pp-post-content .pp-posts-button {
		margin-top: 12px !important;
		flex-shrink: 0 !important;
		max-width: 100% !important;
		width: auto !important;
		align-self: flex-start !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.elementor-posts-container .elementor-post__title,
	.elementor-posts-container .elementor-post__title a,
	.elementor-widget-theme-post-title .elementor-heading-title,
	.entry-title /*,
	h1.entry-title*/ {
		font-size: clamp(22px, 6vw, 30px) !important;
		line-height: 1.25 !important;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.elementor-post__thumbnail,
	.elementor-post__thumbnail__link,
	.elementor-post__card,
	.elementor-posts-container .elementor-post {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.elementor-post__thumbnail__link img,
	.elementor-post__thumbnail img,
	.ast-blog-featured-section img {
		height: auto !important;
		max-height: none !important;
		object-fit: cover;
	}

	.elementor-post__text,
	.elementor-post__excerpt,
	.elementor-post__title {
		overflow: visible !important;
		max-height: none !important;
	}

	/* ------------------------------------------------------------------
	   General layout safety
	   ------------------------------------------------------------------ */
	.elementor-section.elementor-section-height-min-height,
	.elementor-inner-section.elementor-section-height-min-height {
		min-height: 0 !important;
	}

	.elementor-widget-wrap,
	.elementor-column,
	.elementor-container {
		max-width: 100%;
	}

	.elementor-section > .elementor-container {
		overflow-x: clip;
		overflow-y: visible;
	}

	/* ------------------------------------------------------------------
	   Horizontal scroll / overflow prevention (site-wide)
	   ------------------------------------------------------------------ */
	html,
	body {
		overflow-x: clip !important;
		max-width: 100%;
	}

	#page,
	.site,
	.site-content,
	#content,
	#primary,
	.ast-container,
	.ast-separate-container .ast-article-single,
	.ast-page-builder-template .site-content > .ast-container {
		overflow-x: clip;
		max-width: 100%;
	}

	/* Legacy header CSS – page content only (not mobile header bar row) */
	.sticky .elementor-section .elementor-container,
	.mobile-menu.sticky .elementor-section .elementor-container,
	#desktop-menu.sticky .elementor-section .elementor-container {
		display: flex !important;
		flex-wrap: wrap !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: auto !important;
	}

	.ast-custom-header .mobile-menu .elementor-element-3a2c769 > .elementor-container {
		flex-wrap: nowrap !important;
		display: flex !important;
	}

	/* Elementor stretched / full-width sections */
	.elementor-section.elementor-section-stretched,
	.elementor-section.elementor-section-full_width,
	.elementor-section.e-con-full {
		max-width: 100% !important;
		width: 100% !important;
		left: 0 !important;
		right: 0 !important;
	}

	/* Astra full-bleed blocks (100vw + negative margins) */
	.ast-no-sidebar .entry-content .alignfull,
	.ast-no-sidebar .entry-content .alignwide {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Widgets intentionally sized wider than their column (e.g. Design & Build) */
	.elementor-widget__width-initial,
	.elementor-widget.elementor-widget__width-initial,
	[class*="elementor-element-"].elementor-widget__width-initial {
		width: 100% !important;
		max-width: 100% !important;
		--container-widget-width: 100% !important;
	}

	/* Design & Build: Ikinari image was 143.576% wide on mobile */
	.elementor-402 .elementor-element-5831e26 {
		width: 100% !important;
		max-width: 100% !important;
		--container-widget-width: 100% !important;
	}

	.elementor-402 .elementor-element-5831e26 img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}

	/* Design & Build: intro text had 50px side padding on narrow screens */
	.elementor-402 .elementor-element-107c6e0 > .elementor-widget-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Cap any Elementor custom-width widgets above 100% */
	.elementor-element[style*="--container-widget-width"] {
		max-width: 100% !important;
	}

	.elementor-widget-container:not(.elementor-widget-nav-menu .elementor-widget-container),
	.elementor-widget-wrap:not(.elementor-widget-nav-menu .elementor-widget-wrap),
	.elementor-column-wrap {
		max-width: 100%;
		overflow-x: clip;
	}

	/* Legacy header rules – only override burger panel when open */
	.ast-custom-header .mobile-menu .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
		right: 0 !important;
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-widget-image img,
	.elementor-widget-container img,
	figure img,
	.wp-caption img {
		max-width: 100% !important;
		height: auto !important;
	}

	/* Swiper / carousel tracks */
	.swiper,
	.swiper-wrapper,
	.elementor-swiper,
	.pp-slider-container {
		max-width: 100% !important;
	}
}
