/* Progressive Insurance: desktop Insurance mega menu.
 *
 * This file keeps the legacy enqueue handle but changes the old accordion into a
 * full-width, category-column mega menu. It is scoped to the active Insurance
 * dropdown widget in the Elementor header.
 */
@media (min-width: 1025px) {
	body:not(.elementor-editor-active) .elementor-element-4f5f688:not(.vamtam-sticky-header--spacer),
	body:not(.elementor-editor-active) .elementor-element-4f5f688:not(.vamtam-sticky-header--spacer) > .e-con-inner,
	body:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3,
	body:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 > .elementor-widget-container,
	body:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu,
	body:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-wrapper,
	body:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-content {
		overflow: visible !important;
	}

	.elementor-1619 .elementor-element.elementor-element-033afc3 {
		--n-menu-dropdown-content-max-width: min(1180px, calc(100vw - 48px)) !important;
		--n-menu-title-color-normal: #000000 !important;
		--n-menu-title-color-hover: #2e307a !important;
		--n-menu-title-color-active: #2e307a !important;
		--n-menu-dropdown-indicator-color-normal: #000000 !important;
		--n-menu-dropdown-indicator-color-hover: #2e307a !important;
		--n-menu-dropdown-indicator-color-active: #2e307a !important;
	}

	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-title:hover:not(.e-current),
	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-title.e-current {
		background-color: #f6f5f2 !important;
	}

	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-title-container,
	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-title-text,
	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-dropdown-icon {
		color: #000000 !important;
		fill: #000000 !important;
	}

	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-title:hover .e-n-menu-title-container,
	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-title:hover .e-n-menu-title-text,
	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-title:hover .e-n-menu-dropdown-icon,
	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-title.e-current .e-n-menu-title-container,
	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-title.e-current .e-n-menu-title-text,
	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-title.e-current .e-n-menu-dropdown-icon {
		color: #2e307a !important;
		fill: #2e307a !important;
	}

	/* Static export fallback: open the Insurance menu even when Elementor's async menu chunks are unavailable. */
	body:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-item.pi-insurance-menu-item.pi-menu-open > .e-n-menu-content,
	body:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-item.pi-insurance-menu-item:hover > .e-n-menu-content,
	body:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-item.pi-insurance-menu-item:focus-within > .e-n-menu-content {
		display: flex !important;
		height: auto !important;
		left: 50% !important;
		margin: 0 !important;
		max-width: calc(100vw - 48px) !important;
		min-height: 1px !important;
		overflow: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		position: fixed !important;
		right: auto !important;
		top: 72px !important;
		transform: translateX(-50%) !important;
		visibility: visible !important;
		width: min(1180px, calc(100vw - 48px)) !important;
		z-index: 100000 !important;
	}

	body.nav-scrolling-up:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-item.pi-insurance-menu-item.pi-menu-open > .e-n-menu-content,
	body.nav-scrolling-up:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-item.pi-insurance-menu-item:hover > .e-n-menu-content,
	body.nav-scrolling-up:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-item.pi-insurance-menu-item:focus-within > .e-n-menu-content {
		top: 96px !important;
	}

	body:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-item.pi-insurance-menu-item.pi-menu-open > .e-n-menu-content > .e-con,
	body:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-item.pi-insurance-menu-item:hover > .e-n-menu-content > .e-con,
	body:not(.elementor-editor-active) .elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-item.pi-insurance-menu-item:focus-within > .e-n-menu-content > .e-con {
		display: flex !important;
		left: 0 !important;
		max-width: calc(100vw - 48px) !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		right: auto !important;
		transform: none !important;
		visibility: visible !important;
		width: 100% !important;
	}

	.elementor-1619 .elementor-element.elementor-element-033afc3 .e-n-menu-item.pi-insurance-menu-item.pi-menu-open > .e-n-menu-title {
		background-color: #f6f5f2 !important;
	}

	/* The Services/Insurance dropdown content container. */
	.elementor-1619 .elementor-element.elementor-element-75f8846 {
		width: min(1180px, calc(100vw - 48px)) !important;
		max-width: calc(100vw - 48px) !important;
		max-height: calc(100vh - 120px) !important;
		border: 1px solid rgba(46, 48, 122, 0.10) !important;
		border-radius: 28px !important;
		box-shadow: 0 24px 70px rgba(15, 23, 42, 0.14) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		scrollbar-gutter: stable;
		-webkit-overflow-scrolling: touch;
	}

	.elementor-1619 .elementor-element.elementor-element-75f8846 > .e-con-inner,
	.elementor-1619 .elementor-element.elementor-element-77ce72a {
		max-width: none !important;
		width: 100% !important;
	}

	.elementor-1619 .elementor-element.elementor-element-75f8846 > .e-con-inner {
		padding: 28px !important;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main,
	.elementor-element-65cbe4b .elementor-nav-menu--main .elementor-nav-menu {
		width: 100% !important;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .elementor-nav-menu {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
		align-items: start;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children {
		min-width: 0;
		padding: 0;
		border: 0;
		background: transparent !important;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > a {
		align-items: center;
		background: transparent !important;
		border: 0 !important;
		border-bottom: 1px solid rgba(46, 48, 122, 0.12) !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		color: #000000 !important;
		cursor: default;
		display: flex !important;
		font-size: 15px;
		font-weight: 700;
		gap: 10px;
		justify-content: space-between;
		letter-spacing: -0.01em;
		line-height: 1.2;
		margin: 0 0 10px !important;
		padding: 0 0 12px !important;
		position: relative;
		text-transform: none;
		white-space: normal;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > a:hover,
	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > a:focus-visible {
		background: transparent !important;
		color: #2e307a !important;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > a::after {
		content: "";
		display: inline-block;
		width: 8px;
		height: 8px;
		border-radius: 999px;
		background: #1ca2dc;
		box-shadow: 0 0 0 4px rgba(28, 162, 220, 0.14);
		flex: 0 0 auto;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > a .sub-arrow,
	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > a .pi-service-menu-toggle {
		display: none !important;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > .sub-menu {
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		display: grid !important;
		gap: 4px;
		left: auto !important;
		margin: 0 !important;
		max-height: none;
		min-width: 0 !important;
		opacity: 1 !important;
		overflow: visible;
		padding: 0 !important;
		position: static !important;
		top: auto !important;
		transform: none !important;
		visibility: visible !important;
		width: 100% !important;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > .sub-menu li {
		background: transparent !important;
		border: 0 !important;
		margin: 0 !important;
		width: 100%;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > .sub-menu a {
		align-items: center;
		background: transparent !important;
		border: 0 !important;
		border-radius: 12px !important;
		box-shadow: none !important;
		color: #202a44 !important;
		display: flex !important;
		font-size: 13px;
		font-weight: 500;
		line-height: 1.35;
		margin: 0 !important;
		min-height: 34px;
		padding: 8px 10px !important;
		text-decoration: none;
		white-space: normal;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > .sub-menu a::before {
		content: "";
		width: 6px;
		height: 6px;
		margin-right: 9px;
		border-radius: 999px;
		background: rgba(46, 48, 122, 0.25);
		flex: 0 0 auto;
		transition: background-color 0.2s ease;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > .sub-menu a:hover,
	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > .sub-menu a:focus-visible {
		background: #f6f5f2 !important;
		color: #2e307a !important;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > .sub-menu a:hover::before,
	.elementor-element-65cbe4b .elementor-nav-menu--main .menu-item-has-children > .sub-menu a:focus-visible::before {
		background: #1ca2dc;
	}
}

@media (min-width: 1025px) and (max-width: 1180px) {
	.elementor-1619 .elementor-element.elementor-element-75f8846 {
		max-height: calc(100vh - 108px) !important;
	}

	.elementor-1619 .elementor-element.elementor-element-75f8846 > .e-con-inner {
		padding: 22px !important;
	}

	.elementor-element-65cbe4b .elementor-nav-menu--main .elementor-nav-menu {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
	}
}
