/*
 * Site header — sticky header chrome, navigation, CTA buttons, mobile drawer.
 * Extracted from header.php (was an inline <style id="ezhelper-header-final-fix">).
 */

		html,
		body {
			overflow-x: hidden !important;
		}

		.site-header {
			position: sticky !important;
			top: 0 !important;
			z-index: 9999 !important;
			width: 100% !important;
			background: rgba(255, 255, 255, 0.96) !important;
			backdrop-filter: blur(14px) !important;
			-webkit-backdrop-filter: blur(14px) !important;
			border-bottom: 1px solid rgba(43, 43, 47, 0.08) !important;
		}

		.site-header__inner {
			width: min(1180px, calc(100% - 40px)) !important;
			min-height: 92px !important;
			margin-inline: auto !important;
			display: flex !important;
			align-items: center !important;
			justify-content: space-between !important;
			gap: 28px !important;
			padding: 0 !important;
			box-sizing: border-box !important;
		}

		.site-logo {
			display: inline-flex !important;
			align-items: center !important;
			flex: 0 0 auto !important;
			width: auto !important;
			max-width: 220px !important;
			text-decoration: none !important;
			line-height: 0 !important;
		}

		.site-logo picture {
			display: block !important;
			line-height: 0 !important;
		}

		.site-logo img {
			display: block !important;
			width: auto !important;
			max-width: 220px !important;
			max-height: 62px !important;
			height: auto !important;
			object-fit: contain !important;
		}

		.primary-nav {
			display: flex !important;
			align-items: center !important;
			justify-content: center !important;
			flex: 1 1 auto !important;
			min-width: 0 !important;
		}

		.primary-nav__list {
			display: flex !important;
			align-items: center !important;
			justify-content: center !important;
			flex-direction: row !important;
			gap: 28px !important;
			list-style: none !important;
			margin: 0 !important;
			padding: 0 !important;
		}

		.primary-nav__list li {
			display: block !important;
			margin: 0 !important;
			padding: 0 !important;
		}

		.primary-nav__list a {
			position: relative !important;
			display: inline-flex !important;
			align-items: center !important;
			justify-content: center !important;
			min-height: 44px !important;
			padding: 0 !important;
			color: #2b2b2f !important;
			font-size: 1rem !important;
			font-weight: 700 !important;
			line-height: 1 !important;
			text-decoration: none !important;
			white-space: nowrap !important;
		}

		.primary-nav__list a:hover,
		.primary-nav__list a.current,
		.primary-nav__list a[aria-current="page"] {
			color: #4f7e4a !important;
		}

		.primary-nav__list a.current::after,
		.primary-nav__list a[aria-current="page"]::after {
			content: "" !important;
			position: absolute !important;
			left: 50% !important;
			bottom: 0 !important;
			width: 34px !important;
			height: 2px !important;
			border-radius: 999px !important;
			background: #4f7e4a !important;
			transform: translateX(-50%) !important;
		}

		.header-actions {
			display: flex !important;
			align-items: center !important;
			justify-content: flex-end !important;
			gap: 12px !important;
			flex: 0 0 auto !important;
		}

		.header-action {
			display: inline-flex !important;
			align-items: center !important;
			justify-content: center !important;
			gap: 10px !important;
			min-height: 48px !important;
			padding: 0.75rem 1.15rem !important;
			border-radius: 999px !important;
			font-size: 0.95rem !important;
			font-weight: 800 !important;
			line-height: 1 !important;
			text-decoration: none !important;
			white-space: nowrap !important;
		}

		.header-action__icon {
			display: inline-grid !important;
			place-items: center !important;
			width: 22px !important;
			height: 22px !important;
			flex: 0 0 22px !important;
			line-height: 0 !important;
		}

		.header-action__icon svg {
			display: block !important;
			width: 20px !important;
			height: 20px !important;
			max-width: 20px !important;
			max-height: 20px !important;
		}

		.header-action--consult {
			background: #4f7e4a !important;
			color: #ffffff !important;
			border: 1px solid #4f7e4a !important;
			box-shadow: 0 16px 36px -24px rgba(79, 126, 74, 0.85) !important;
		}

		.header-action--consult:hover {
			color: #ffffff !important;
			background: #3f713b !important;
		}

		.header-action--whatsapp {
			background: #ffffff !important;
			color: #4f7e4a !important;
			border: 1px solid rgba(79, 126, 74, 0.25) !important;
		}

		.header-action--whatsapp:hover {
			color: #2b2b2f !important;
			background: rgba(196, 215, 155, 0.14) !important;
		}

		.menu-toggle {
			display: none !important;
			align-items: center !important;
			justify-content: center !important;
			flex-direction: column !important;
			gap: 5px !important;
			width: 46px !important;
			height: 46px !important;
			padding: 0 !important;
			border: 1px solid rgba(79, 126, 74, 0.18) !important;
			border-radius: 999px !important;
			background: #ffffff !important;
			color: #2b2b2f !important;
			cursor: pointer !important;
			position: relative !important;
			z-index: 10001 !important;
			box-shadow: 0 16px 38px -28px rgba(43, 43, 47, 0.55) !important;
		}

		.menu-toggle__line {
			display: block !important;
			width: 19px !important;
			height: 2px !important;
			border-radius: 999px !important;
			background: currentColor !important;
			transition: transform 0.2s ease, opacity 0.2s ease !important;
		}

		.menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(1) {
			transform: translateY(7px) rotate(45deg) !important;
		}

		.menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(2) {
			opacity: 0 !important;
		}

		.menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(3) {
			transform: translateY(-7px) rotate(-45deg) !important;
		}

		.mobile-nav {
			display: none !important;
		}

		@media (max-width: 1180px) {
			.primary-nav__list {
				gap: 18px !important;
			}

			.header-action {
				padding-inline: 0.95rem !important;
			}

			.site-logo img {
				max-width: 205px !important;
			}
		}

		@media (max-width: 1080px) {
			.site-header__inner {
				width: min(100% - 32px, 1180px) !important;
				min-height: 82px !important;
			}

			.primary-nav,
			.header-actions {
				display: none !important;
			}

			.menu-toggle {
				display: inline-flex !important;
			}

			.site-logo {
				max-width: 168px !important;
			}

			.site-logo img {
				max-width: 168px !important;
				max-height: 52px !important;
			}

			.mobile-nav {
				position: fixed !important;
				inset: 0 !important;
				z-index: 9998 !important;
				display: block !important;
				width: 100vw !important;
				height: 100vh !important;
				height: 100dvh !important;
				background:
					radial-gradient(560px 340px at -10% 5%, rgba(196, 215, 155, 0.34), transparent 62%),
					radial-gradient(520px 340px at 105% 86%, rgba(232, 185, 187, 0.34), transparent 64%),
					linear-gradient(180deg, #fbfaf6 0%, #fffdf8 100%) !important;
				overflow-y: auto !important;
				-webkit-overflow-scrolling: touch !important;
				opacity: 0 !important;
				visibility: hidden !important;
				pointer-events: none !important;
				transition: opacity 0.32s ease, visibility 0s linear 0.32s !important;
			}

			.mobile-nav[data-open="true"] {
				opacity: 1 !important;
				visibility: visible !important;
				pointer-events: auto !important;
				transition: opacity 0.32s ease !important;
			}

			.mobile-nav__inner {
				position: relative !important;
				z-index: 1 !important;
				display: flex !important;
				flex-direction: column !important;
				justify-content: flex-start !important;
				min-height: 100% !important;
				box-sizing: border-box !important;
				padding: calc(96px + env(safe-area-inset-top)) 22px calc(34px + env(safe-area-inset-bottom)) !important;
			}

			.mobile-nav__inner::before {
				content: "EZHelper Menu" !important;
				display: inline-flex !important;
				align-items: center !important;
				width: fit-content !important;
				margin: 0 0 18px !important;
				padding: 0.55rem 0.82rem !important;
				border: 1px solid rgba(79, 126, 74, 0.16) !important;
				border-radius: 999px !important;
				background: rgba(255, 255, 255, 0.78) !important;
				color: #4f7e4a !important;
				font-size: 0.72rem !important;
				font-weight: 900 !important;
				letter-spacing: 0.12em !important;
				text-transform: uppercase !important;
			}

			.mobile-nav__list {
				counter-reset: ez-mobile-menu !important;
				list-style: none !important;
				margin: 0 !important;
				padding: 0 !important;
				display: grid !important;
				grid-template-columns: 1fr !important;
				gap: 10px !important;
			}

			.mobile-nav__list li {
				counter-increment: ez-mobile-menu !important;
				display: block !important;
				width: 100% !important;
				opacity: 0 !important;
				transform: translateY(18px) !important;
				transition: opacity 0.45s ease, transform 0.45s ease !important;
			}

			.mobile-nav[data-open="true"] .mobile-nav__list li,
			.mobile-nav[data-open="true"] .mobile-nav__foot {
				opacity: 1 !important;
				transform: none !important;
			}

			.mobile-nav[data-open="true"] .mobile-nav__list li:nth-child(1) {
				transition-delay: 0.08s !important;
			}

			.mobile-nav[data-open="true"] .mobile-nav__list li:nth-child(2) {
				transition-delay: 0.14s !important;
			}

			.mobile-nav[data-open="true"] .mobile-nav__list li:nth-child(3) {
				transition-delay: 0.2s !important;
			}

			.mobile-nav[data-open="true"] .mobile-nav__list li:nth-child(4) {
				transition-delay: 0.26s !important;
			}

			.mobile-nav[data-open="true"] .mobile-nav__list li:nth-child(5) {
				transition-delay: 0.32s !important;
			}

			.mobile-nav[data-open="true"] .mobile-nav__list li:nth-child(6) {
				transition-delay: 0.38s !important;
			}

			.mobile-nav[data-open="true"] .mobile-nav__foot {
				transition-delay: 0.44s !important;
			}

			#mobile-nav .mobile-nav__list a {
				position: relative !important;
				display: flex !important;
				align-items: center !important;
				justify-content: space-between !important;
				width: 100% !important;
				min-height: 58px !important;
				padding: 0.82rem 1rem 0.82rem 3.6rem !important;
				border: 1px solid rgba(79, 126, 74, 0.12) !important;
				border-radius: 22px !important;
				background: rgba(255, 255, 255, 0.82) !important;
				box-shadow: 0 20px 50px -42px rgba(43, 43, 47, 0.45) !important;
				color: #2b2b2f !important;
				font-family: var(--font-heading, inherit) !important;
				font-size: clamp(1.35rem, 7vw, 2.05rem) !important;
				font-weight: 800 !important;
				line-height: 1.05 !important;
				letter-spacing: -0.045em !important;
				text-decoration: none !important;
			}

			#mobile-nav .mobile-nav__list a::before {
				content: counter(ez-mobile-menu, decimal-leading-zero) !important;
				position: absolute !important;
				left: 1rem !important;
				top: 50% !important;
				display: grid !important;
				place-items: center !important;
				width: 2rem !important;
				height: 2rem !important;
				border-radius: 999px !important;
				background: rgba(196, 215, 155, 0.24) !important;
				color: #4f7e4a !important;
				font-size: 0.72rem !important;
				font-weight: 900 !important;
				transform: translateY(-50%) !important;
			}

			#mobile-nav .mobile-nav__list a::after {
				content: "→" !important;
				display: grid !important;
				place-items: center !important;
				width: 2rem !important;
				height: 2rem !important;
				border-radius: 999px !important;
				background: rgba(43, 43, 47, 0.05) !important;
				color: rgba(43, 43, 47, 0.52) !important;
				font-size: 1rem !important;
				font-weight: 900 !important;
			}

			#mobile-nav .mobile-nav__list a.current,
			#mobile-nav .mobile-nav__list a[aria-current="page"] {
				border-color: rgba(79, 126, 74, 0.24) !important;
				background: linear-gradient(135deg, rgba(79, 126, 74, 0.12), rgba(196, 215, 155, 0.16)) !important;
				color: #4f7e4a !important;
			}

			#mobile-nav .mobile-nav__list a.current::after,
			#mobile-nav .mobile-nav__list a[aria-current="page"]::after {
				background: #4f7e4a !important;
				color: #ffffff !important;
			}

			.mobile-nav__foot {
				opacity: 0 !important;
				transform: translateY(18px) !important;
				margin-top: 16px !important;
				padding: 16px !important;
				border: 1px solid rgba(79, 126, 74, 0.12) !important;
				border-radius: 24px !important;
				background: rgba(255, 255, 255, 0.82) !important;
				box-shadow: 0 22px 55px -44px rgba(43, 43, 47, 0.45) !important;
				display: flex !important;
				flex-direction: column !important;
				gap: 12px !important;
				transition: opacity 0.45s ease, transform 0.45s ease !important;
			}

			#mobile-nav .mobile-nav__phone {
				display: inline-flex !important;
				align-items: center !important;
				justify-content: center !important;
				width: 100% !important;
				min-height: 44px !important;
				padding: 0.65rem 0.9rem !important;
				border-radius: 999px !important;
				background: rgba(196, 215, 155, 0.16) !important;
				color: #2b2b2f !important;
				font-size: 0.98rem !important;
				font-weight: 800 !important;
				text-decoration: none !important;
			}

			#mobile-nav .mobile-nav__phone::before {
				content: "Call " !important;
				color: #4f7e4a !important;
				font-weight: 900 !important;
			}

			#mobile-nav .mobile-nav__cta {
				display: inline-flex !important;
				align-items: center !important;
				justify-content: center !important;
				width: 100% !important;
				min-height: 54px !important;
				padding: 0.9rem 1.2rem !important;
				border-radius: 999px !important;
				background: #4f7e4a !important;
				color: #ffffff !important;
				font-size: 1.05rem !important;
				font-weight: 800 !important;
				text-decoration: none !important;
				box-shadow: 0 20px 42px -24px rgba(79, 126, 74, 0.88) !important;
			}

			#mobile-nav .mobile-nav__cta::after {
				content: " →" !important;
				margin-left: 0.4rem !important;
			}

			body.nav-open {
				overflow: hidden !important;
				height: 100vh !important;
				height: 100dvh !important;
			}
		}

		@media (max-width: 380px) {
			.mobile-nav__inner {
				padding-left: 18px !important;
				padding-right: 18px !important;
			}

			#mobile-nav .mobile-nav__list a {
				min-height: 54px !important;
				border-radius: 20px !important;
				font-size: clamp(1.22rem, 6.8vw, 1.75rem) !important;
				padding-left: 3.35rem !important;
			}
		}
	
		/* ===== Sticky-header anchor offset — the header is position:sticky and
		   therefore self-spacing; no .site-main padding is needed. This keeps
		   in-page anchor links clear of the sticky header. ===== */
		:root {
			--ezhelper-header-height: 92px;
		}

		@media (max-width: 1080px) {
			:root {
				--ezhelper-header-height: 82px;
			}
		}

		html {
			scroll-padding-top: calc(var(--ezhelper-header-height) + 18px);
		}

		.admin-bar .site-header {
			top: 32px;
		}

		@media (max-width: 782px) {
			.admin-bar .site-header {
				top: 46px;
			}
		}

/* Skip-to-content link — visually hidden until keyboard focus. */
.ezhelper-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 12px 22px;
	background: var(--color-white, #ffffff);
	color: var(--color-green-dark, #3F6A3B);
	font-family: var(--font-body, sans-serif);
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	border-radius: 0 0 8px 0;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}

.ezhelper-skip-link:focus {
	left: 0;
}
