/* Impact Header Widget Styles */

.icw-header-wrapper {
	width: 100%;
	position: relative;
	box-sizing: border-box;
}

/* Outer Header Layout Options */
.icw-header-layout-boxed .icw-header-wrapper,
.elementor-widget-icw-header.icw-header-layout-boxed .icw-header-wrapper {
	max-width: 1700px;
	margin: 0 auto;
}

/* Inner Container Layout Options */
.icw-container-layout-full_width .icw-header-container,
.elementor-widget-icw-header.icw-container-layout-full_width .icw-header-container {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 20px;
	padding-right: 20px;
}

.icw-container-layout-boxed .icw-header-container,
.elementor-widget-icw-header.icw-container-layout-boxed .icw-header-container {
	margin: 0 auto;
	width: 100%;
}

.icw-header-container {
	margin: 0 auto;
	max-width: 1700px; /* Reference desktop width */
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	padding: 26px 22px;
	gap: 24px;
	box-sizing: border-box;
	position: relative;
}

/* Logo */
.icw-header-logo {
	flex-shrink: 0;
}
.icw-header-logo img {
	width: 250px;
	max-width: 100%;
	height: auto;
	display: block;
}

/* Navigation Container */
.icw-header-nav {
	flex-grow: 1;
	display: flex;
	justify-content: center;
}

/* Force top-level list to be horizontal on Desktop */
.icw-header-nav > ul,
.icw-header-nav > div > ul,
.icw-header-nav .icw-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 36px;
}

/* Top-level list items */
.icw-header-nav > ul > li,
.icw-header-nav > div > ul > li,
.icw-header-nav .icw-menu > li {
	margin: 0;
	padding: 0;
	position: relative;
	display: block;
}

/* Links */
.icw-header-nav a {
	text-decoration: none;
	font-weight: 700;
	font-size: 17px;
	color: #1a427d; /* Default dark blue */
	transition: color 0.3s ease;
	display: flex;
	align-items: center;
	padding: 10px 0;
	text-transform: uppercase;
}

.icw-header-nav a:hover {
	color: #0056b3;
}

/* Add dropdown arrow to items with children */
.icw-header-nav .menu-item-has-children > a::after,
.icw-header-nav .page_item_has_children > a::after {
	content: "▾";
	margin-left: 6px;
	font-size: 14px;
}

/* Dropdown Sub-menus (Desktop) */
@media (min-width: 769px) {
	.icw-header-nav ul.sub-menu,
	.icw-header-nav ul.children {
		position: absolute;
		top: 100%;
		left: 0;
		background: #ffffff;
		box-shadow: 0 5px 15px rgba(0,0,0,0.1);
		min-width: 220px;
		display: none;
		flex-direction: column;
		gap: 0;
		padding: 10px 0;
		z-index: 99;
		border-radius: 4px;
	}

	.icw-header-nav li:hover > ul.sub-menu,
	.icw-header-nav li:hover > ul.children {
		display: flex;
	}

	.icw-header-nav ul.sub-menu li,
	.icw-header-nav ul.children li {
		width: 100%;
		display: block;
	}

	.icw-header-nav ul.sub-menu li a,
	.icw-header-nav ul.children li a {
		padding: 10px 20px;
		font-weight: 500;
		color: #333;
		text-transform: none;
	}

	.icw-header-nav ul.sub-menu li a:hover,
	.icw-header-nav ul.children li a:hover {
		background-color: #f5f5f5;
		color: #1a427d;
	}
	
	/* Multi-level dropdowns (Tier 3+) */
	.icw-header-nav ul.sub-menu ul.sub-menu,
	.icw-header-nav ul.children ul.children {
		top: 0;
		left: 100%;
	}
}

/* Right Side Wrapper */
.icw-header-right {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

/* Action Button */
.icw-header-btn,
a.icw-header-btn {
	display: inline-block;
	background-color: #1a427d;
	color: #ffffff;
	padding: 16px 34px;
	border-radius: 30px;
	text-decoration: none;
	font-weight: 700;
	font-size: 19px;
	white-space: nowrap;
	transition: all 0.3s ease;
	text-transform: none;
	box-sizing: border-box;
}

.icw-header-btn:hover,
a.icw-header-btn:hover {
	opacity: 0.9;
	color: #ffffff;
}

/* Certifications */
.icw-header-certs {
	display: flex;
	align-items: center;
	gap: 10px;
}

.icw-header-cert-item img {
	height: 48px;
	width: auto;
	display: block;
	object-fit: contain;
}

/* Mobile Toggle Hamburger */
.icw-header-mobile-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 999;
	flex-shrink: 0;
	font-size: 20px;
	color: #1a427d;
}

.icw-header-mobile-toggle .icw-toggle-icon-open,
.icw-header-mobile-toggle .icw-toggle-icon-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Responsive Styles */
@media (max-width: 1024px) {
	.icw-header-certs {
		display: none !important; /* Hide certifications on tablet/mobile */
	}
}

@media (max-width: 768px) {
	.icw-header-container {
		padding: 10px 15px;
		gap: 8px;
		flex-wrap: nowrap !important;
	}

	.icw-header-logo {
		flex-shrink: 1 !important;
		min-width: 0 !important;
	}

	.icw-header-logo img {
		max-width: 110px !important;
		height: auto !important;
	}

	.icw-header-right {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		flex-shrink: 0 !important;
	}

	/* Action Button Mobile Adjustments */
	.icw-header-btn,
	a.icw-header-btn {
		font-size: 12px;
		padding: 6px 12px;
		max-width: 140px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		flex-shrink: 1 !important;
	}

	/* Hide desktop menu & position mobile drawer */
	.icw-header-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		background: #ffffff;
		box-shadow: 0 10px 20px rgba(0,0,0,0.15);
		z-index: 998;
		padding: 15px 0;
		box-sizing: border-box;
	}

	.icw-header-nav.active {
		display: flex !important;
		flex-direction: column !important;
	}

	.icw-header-nav > ul,
	.icw-header-nav > div > ul,
	.icw-header-nav .icw-menu {
		flex-direction: column !important;
		width: 100% !important;
		text-align: center !important;
		gap: 0 !important;
	}
	
	.icw-header-nav > ul > li > a,
	.icw-header-nav > div > ul > li > a {
		padding: 12px 20px !important;
		border-bottom: 1px solid #f0f0f0 !important;
		justify-content: center !important;
		font-size: 14px !important;
	}
	
	/* Mobile Dropdowns - Render one by one vertically */
	.icw-header-nav ul.sub-menu,
	.icw-header-nav ul.children {
		display: none !important;
		background: #f8f9fa !important;
		position: relative !important;
		top: 0 !important;
		left: 0 !important;
		box-shadow: none !important;
		width: 100% !important;
		flex-direction: column !important;
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
	}
	
	.icw-header-nav li.active > ul.sub-menu,
	.icw-header-nav li.active > ul.children,
	.icw-header-nav li:hover > ul.sub-menu,
	.icw-header-nav li:focus-within > ul.sub-menu,
	.icw-header-nav li:hover > ul.children {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
	}

	.icw-header-nav ul.sub-menu li,
	.icw-header-nav ul.children li {
		width: 100% !important;
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
	}

	.icw-header-nav ul.sub-menu li a,
	.icw-header-nav ul.children li a {
		padding: 10px 20px !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		color: #555555 !important;
		border-bottom: 1px solid #e9ecef !important;
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
		text-transform: none !important;
	}

	.icw-header-nav ul.sub-menu li a:hover,
	.icw-header-nav ul.children li a:hover {
		background-color: #e9ecef !important;
		color: #1a427d !important;
	}

	/* Show Hamburger ALWAYS on mobile screens */
	.icw-header-mobile-toggle {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex-shrink: 0 !important;
		margin-left: 4px !important;
		font-size: 20px;
		color: #1a427d;
		cursor: pointer;
	}

	.icw-header-mobile-toggle .icw-toggle-icon-open {
		display: inline-flex !important;
	}

	.icw-header-mobile-toggle .icw-toggle-icon-close {
		display: none !important;
	}

	.icw-header-mobile-toggle.active .icw-toggle-icon-open {
		display: none !important;
	}

	.icw-header-mobile-toggle.active .icw-toggle-icon-close {
		display: inline-flex !important;
	}
}
