/* Mega Menu Styles */

/* Variables */
:root {
	--mega-menu-top: 102px;
	--mega-menu-top-admin: 134px;
	--mega-menu-top-mobile: 102px;
	--mega-menu-top-mobile-admin: 148px;
}

/* Base Menu Structure */
.products-menu,
.services-menu,
.about-menu {
	position: relative;
}

.main-menu {
	gap: 10px 0;
}
.main-menu>li>a{
	padding-inline: clamp(0.375rem, 15.429vw - 9.509rem, 2.063rem);
}
.main-menu .wp-block-navigation-item__content {
	display: inline-block;
	padding-block: 38.2px;
}

.main-menu .wp-block-navigation-item__content:hover {
	text-decoration: none;
}

.main-menu .wp-block-navigation-item__content:after {
	content: "";
	position: absolute;
	bottom: 0;
	height: 2px;
	background-color: var(--wp--preset--color--primary);
	left: 50%;
    right: auto !important;
    margin-left: -35px;
}

.main-menu .wp-block-navigation-item:hover .wp-block-navigation-item__content:after {
	width: 70px;
}

/* Active Menu State */
.main-menu .menu-item.active .wp-block-navigation-item__content {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

.main-menu .menu-item.active .wp-block-navigation-item__content:after {
	width: 70px;
	background-color: var(--wp--preset--color--primary);
	transition: all 0.3s ease-in-out;
}

.main-menu .menu-item.active:hover .wp-block-navigation-item__content:after {
	width: 70px;
}

/* Mega Menu Content */
.mega-menu-content {
	position: fixed;
	top: var(--mega-menu-top);
	left: 0;
	width: 100%;
	background: #fff;
	border-top: 1px solid #D1D1D2EE;
	border-radius: 0;
	padding: 40px 0;
	z-index: 1000;
	display: none;
}
body.admin-bar .scrolled .mega-menu-content{
	top: var(--mega-menu-top-admin);
}
body.admin-bar.single-post .scrolled .mega-menu-content{
	top: var(--mega-menu-top-mobile);
}
.mega-menu-content:after {
	content: "";
	position: absolute;
	top: 100%;
	height: 100vh;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.2);
	pointer-events: none;
}

/* Admin bar adjustments */
.admin-bar header:not(.scrolled) .mega-menu-content {
	top: var(--mega-menu-top-admin);
}

/* Hover states for mega menu */
.products-menu:hover .mega-menu-content,
.services-menu:hover .mega-menu-content,
.about-menu:hover .mega-menu-content {
	display: block;
}
.products-menu:focus-within .mega-menu-content,
.services-menu:focus-within .mega-menu-content,
.about-menu:focus-within .mega-menu-content {
	display: block;
}
:is(.products-menu, .services-menu, .about-menu):focus-within .wp-block-navigation__submenu-container{
	width: auto !important;
	opacity: 1 !important;
	height: auto !important;
	visibility: visible !important;
}
/* Mega Menu Header */
.mega-menu-header {
	margin-bottom: 30px;
	padding: 0;
}

.menu-icon {
	display: flex;
	align-items: center;
	gap: 9px;
}

.menu-icon span {
	font-size: 14px;
	font-weight: 500;
	color: #313133;
	text-transform: uppercase;
}

/* Mega Menu Grid */
.mega-menu-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 60px;
	align-items: flex-start;
}

/* Product Cards */
.product-card {
	width: 350px;
	margin-bottom: 21px;
}

.product-card h3 {
	font-size: 14px;
	font-weight: 600;
	color: #191a1e;
	margin: 0 0 6px 0;
	line-height: 1.5;
	transition: all 0.3s ease-in-out;
}

.product-card p {
	font-size: 13px;
	color: #75767a;
	margin: 0;
	line-height: 20px;
}

/* Product and Service Links */
.product-link,
.service-link {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: all 0.3s;
}

:is(.product-link, .service-link):hover h3,
.wp-block-group.active>a:is(.product-link, .service-link) h3 {
	color: var(--wp--preset--color--primary);
}

/* Services Mega Menu Specific Styles */
.services-menu .mega-menu-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}

.service-card {
	margin-bottom: 30px;
}

.service-card h3 {
	font-size: 14px;
	font-weight: 600;
	color: #191a1e;
	margin: 0 0 6px 0;
	line-height: 1.5;
}

.service-card p {
	font-size: 13px;
	color: #75767a;
	margin: 0;
	line-height: 1.5;
	line-clamp: 2;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* About Mega Menu Specific Styles */
.about-menu .mega-menu-grid {
	display: grid;
	gap: 0 clamp(2.5rem, 23.196vw - 8.837rem, 8.125rem);
	align-items: stretch;
	grid-template-columns: 1fr 31.625%;
}

.about-content {
	position: relative;
}

.about-content p {
	font-size: 14px;
	color: #75767a;
	line-height: 1.4;
	margin-bottom: 40px;
}

.about-content::before {
	content: '';
	position: absolute;
	left: 100%;
	margin-left: clamp(0.938rem, 34.247vw - 20.98rem, 4.063rem);
	top: 0;
	bottom: 0;
	width: 1px;
	background-color: #e6e6e6;
}

/* About Links */
body .about-links {
	display: grid;
	gap: 30px 10px;
	grid-template-columns: repeat(3, 1fr);
}

body .about-link {
	display: inline-block;
	padding: 0;
	font-size: 16px;
	font-weight: 600;
	color: #191a1e;
	text-decoration: none;
	transition: all 0.3s ease;
	vertical-align: middle;
}

body .about-link-divider {
	border-bottom: 1px solid #e6e6e6;
	border-top: 0;
}

body .about-link:nth-child(3) ~ .about-link {
	border-bottom: none;
}

.about-link:hover {
	color: var(--wp--preset--color--primary);
}

/* Case Studies Section */
.case-studies-section {
	width: 370px;
	position: relative;
}

.case-studies-header {
	margin-bottom: 30px;
}

.case-studies-section h3 {
	font-size: 16px;
	font-weight: 600;
	color: #191a1e;
	margin: 0 0 20px 0;
	line-height: 1.3;
}

.case-studies-section p {
	font-size: 13px;
	color: #75767a;
	line-height: 1.4;
	margin-bottom: 30px;
	font-weight: 400;
}
.case-studies-link {
	display: flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	color: #191a1e;
	font-size: 16px;
	font-weight: 600;
	padding-bottom: 2px;
	width: fit-content;
	transition: all 0.3s ease;
	text-decoration: underline;
	text-underline-offset: 10px;
	text-decoration-thickness: 2px !important;
}

.case-studies-link:hover {
	color: var(--wp--preset--color--primary);
}

.case-studies-link svg {
	width: 28px;
	height: 29px;
	transition: transform 0.3s ease;
}

.case-studies-link:hover svg {
	transform: translateX(5px);
}

/* Button Styles */
.is-style-100 > .wp-block-button {
	width: 100%;
}

.is-style-100 {
	flex-wrap: nowrap;
	width: 100%;
}

.header-bar .wp-block-button .wp-block-button__link {
	padding: 10px 9px;
	line-height: 22px;
}

.header-bar .wp-block-button .wp-block-button__link[href*="tel:"]:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTE0LjgxNTEgMTEuMzg3OUMxNC4xOTMxIDEwLjc0ODcgMTIuNDI0OCA5LjU1MTI3IDExLjI2NTkgOS41NTEyN0MxMC45OTc1IDkuNTUxMjcgMTAuNzYzMSA5LjYxMDkzIDEwLjU3MTQgOS43MzQ1MUMxMC4wMDQ3IDEwLjA5NjcgOS41NTMwNCAxMC4zNzggOS4zMzU3NCAxMC4zNzhDOS4yMTY0NCAxMC4zNzggOS4wODg2MiAxMC4yNzE0IDguODA3NCAxMC4wMjg1TDguNzYwNTQgOS45ODU5M0M3Ljk4MDgxIDkuMzA4MzcgNy44MTQ2NCA5LjEzMzY2IDcuNTEyMTIgOC44MTgzMkw3LjQzNTQzIDguNzM3MzVDNy4zODAwNCA4LjY4MTk1IDcuMzMzMTcgOC42MzA4MiA3LjI4NjMgOC41ODM5NEM3LjAyMjEzIDguMzExMjEgNi44MzAzOSA4LjExNTE5IDYuMTUyOTIgNy4zNDgxNUw2LjEyMzEgNy4zMTQwNUM1Ljc5OTI4IDYuOTQ3NTggNS41ODYyNCA2LjcwODk0IDUuNTczNDUgNi41MzQyMkM1LjU2MDY3IDYuMzYzNzcgNS43MDk4IDYuMDg2NzggNi4wODkwMSA1LjU3MTE2QzYuNTQ5MTggNC45NDkgNi41NjYyMiA0LjE4MTk1IDYuMTQ0NCAzLjI5MTMzQzUuODA3OCAyLjU4ODIgNS4yNTgxNiAxLjkxNDkxIDQuNzcyNDIgMS4zMjI1OEw0LjcyOTgyIDEuMjcxNDRDNC4zMTIyNiAwLjc2MDA3NiAzLjgyNjUzIDAuNTA0Mzk1IDMuMjg1NCAwLjUwNDM5NUMyLjY4NDYzIDAuNTA0Mzk1IDIuMTg2MTIgMC44MjgyNTggMS45MjE5NSAwLjk5ODcxM0MxLjkwMDY0IDEuMDExNSAxLjg3OTM0IDEuMDI4NTQgMS44NTgwMyAxLjA0MTMzQzEuMjY1NzggMS40MTYzMyAwLjgzNTQ0MiAxLjkzMTk1IDAuNjczNTMyIDIuNDU2MUMwLjQzMDY2NiAzLjI0NDQ1IDAuMjY4NzU2IDQuMjY3MTggMS40MzE5NSA2LjM5MzZDMi40Mzc1IDguMjM0NTEgMy4zNDkzMiA5LjQ3MDMgNC43OTc5OSAxMC45NTc1QzYuMTYxNDUgMTIuMzU1MiA2Ljc2NjQ4IDEyLjgwNyA4LjEyMTQxIDEzLjc4NzFDOS42Mjk3NCAxNC44NzggMTEuMDc4NCAxNS41MDQ0IDEyLjA5MjUgMTUuNTA0NEMxMy4wMzQxIDE1LjUwNDQgMTMuNzc1NSAxNS41MDQ0IDE0LjgzMjIgMTQuMjMwMkMxNS45NCAxMi44OTIyIDE1LjQ3OTggMTIuMDc0IDE0LjgxNTEgMTEuMzg3OVoiIGZpbGw9IndoaXRlIi8+IDwvc3ZnPg==");
	background-size: 24px 19px;
	background-repeat: no-repeat;
	background-position: center bottom;
	margin-right: 8px;
}

/* Mobile Menu Styles */
.mobile-main-menu .wp-block-navigation__responsive-container {
	top: var(--mega-menu-top-mobile);
	height: calc(100vh - var(--mega-menu-top-mobile));
}

.admin-bar .mobile-main-menu .wp-block-navigation__responsive-container {
	top: var(--mega-menu-top-mobile-admin);
	height: calc(100vh - var(--mega-menu-top-mobile-admin));
}
body.admin-bar .mobile-main-menu .wp-block-navigation__responsive-container{
	top: var(--mega-menu-top-admin);
}
body.admin-bar header.scrolled .mobile-main-menu .wp-block-navigation__responsive-container{
	top: var(--mega-menu-top-mobile);
}
#wpadminbar{
    position: fixed !important
}
.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 0;
}

.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open {
	--wp--style--root--padding-top: 10px;
	--wp--style--root--padding-bottom: 10px;
}

.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container li {
	width: 100%;
	font-family: Inter;
	font-weight: 600;
	font-size: 16px;
	line-height: 150%;
	letter-spacing: 0%;
}

.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > li > a {
	padding-block: 15px;
	display: block !important;
	width: 100%;
}

.mobile-main-menu .wp-block-navigation__responsive-container-close {
	display: none;
}
.wp-block-navigation .wp-block-navigation__submenu-icon{
	display: none;
}
.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
	position: absolute;
	display: block;
	right: 0;
	top: 7px;
	width: 40px;
	height: 40px;
	min-width: 40px;
}

.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon svg {
	width: 22px;
	height: 17px;
}

.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child:has([aria-expanded="true"]) > .wp-block-navigation__submenu-container {
	display: block;
}

.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child > .wp-block-navigation__submenu-container {
	padding: 25px 22px;
	background: #E8E8E8CC !important;
	backdrop-filter: blur(34px);
	border-radius: 5px !important;
	width: 100% !important;
	display: none;
}

.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
	background: none !important;
	padding: 0;
	margin-top: 18px;
}

.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child > .wp-block-navigation__submenu-container li {
	font-weight: 400;
}

.mobile-main-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child > .wp-block-navigation__submenu-container li + li {
	margin-top: 18px;
}

/* Modal and overlay styles */
.has-modal-open {
	overflow: hidden;
}

.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog {
	margin-top: 0 !important;
}

/* Responsive Design */
@media (max-width: 1200px) {
	.mega-menu-header,
	.mega-menu-grid {
		padding: 0 20px;
	}
	
	.mega-menu-grid {
		gap: 20px 40px;
	}
	
	.product-card {
		width: calc(50% - 20px);
	}
	
	.about-menu .mega-menu-grid {
		flex-direction: column;
		gap: 30px;
		padding: 0 20px;
	}
	
	.about-content::before {
		margin-left: 15px;
	}
	
	.about-content,
	.case-studies-section {
		width: 100%;
	}
	
	.case-studies-section::before {
		display: none;
	}
}

/* Desktop only styles */
@media (min-width: 1025px) {
	.mobile-main-menu,
	.header-bar {
		display: none !important;
	}
}

/* Mobile breakpoint */
@media (max-width: 1024px) {
	.main-menu {
		display: none !important;
	}
	
	.header-bar {
		margin-bottom: 0;
	}
	
	.mobile-main-menu .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}
	
	.mobile-main-menu .wp-block-navigation__responsive-container-open:not(.always-shown) svg {
		display: none;
	}
	
	.mobile-main-menu .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: block !important;
		width: 30px;
		height: 30px;
		background: url("../img/menu.svg") no-repeat center center;
		min-width: 30px;
	}
	
	.has-modal-open .mobile-main-menu .wp-block-navigation__responsive-container-open:not(.always-shown) {
		background: url("../img/menu-close.svg") no-repeat center center;
	}
	
	.header-bar-buttons {
		display: none !important;
	}
	
	.wp-block-site-logo {
		width: 184px;
	}
	
	.wpb-header {
		padding: 10px 20px;
	}
}
@media (max-width: 782px) {
	.admin-bar header.wp-block-template-part{
		top: 46px;
	}

}
/* Small mobile adjustments */
@media (max-width: 374px) {
	.header-bar .wp-block-button .wp-block-button__link {
		padding: 10px 12px;
		line-height: 22px;
		font-size: 12px !important;
	}
	
	.header-bar .wp-block-button .wp-block-button__link[href*="tel:"]:before {
		margin-right: 7px;
	}
}

/* Touch device support */
@media (hover: none) and (pointer: coarse) {
	/* Show mobile menu behavior on touch devices */
	.mega-menu-content {
		/* Ensure mega menu is accessible on touch devices */
		pointer-events: auto;
	}
	
	/* Adjust spacing for touch interactions */
	.mega-menu-grid {
		gap: 15px 40px;
	}
	
	.product-card,
	.service-card {
		/* Ensure cards are touch-friendly */
		min-height: 60px;
	}
}
@media (max-width: 767px) {
    body.admin-bar .mobile-main-menu .wp-block-navigation__responsive-container{
       top: var(--mega-menu-top-mobile-admin);
    }
}