/*
 * Typography and primary-navigation harmonisation.
 * Content and brand colours remain owned by Elementor.
 */

:root {
	--dua-font-heading: "Montserrat", "Poppins", Arial, sans-serif;
	--dua-font-body: "Poppins", Arial, sans-serif;
}

body,
button,
input,
select,
textarea,
p,
li,
dt,
dd,
label,
legend,
blockquote,
figcaption,
table,
.elementor-widget-text-editor,
.elementor-button,
.elementor-nav-menu,
.e-n-menu-title-text,
.e-n-menu-content,
.elementskit-navbar-nav,
.dua-blog,
.dua-single__content {
	font-family: var(--dua-font-body) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title,
.dua-single__title,
.dua-archive__title,
.dua-card__title,
.wp-block-heading {
	font-family: var(--dua-font-heading) !important;
}
/* DUA LEGAL MOBILE OVERFLOW v1 */
.page-id-4571395 .dua-legal-page,
.page-id-4571395 .dua-legal-page .elementor-widget-text-editor,
.page-id-4571395 .dua-legal-page .elementor-widget-container {
	min-width: 0 !important;
	max-width: 100% !important;
}
.page-id-4571395 .dua-legal-page p,
.page-id-4571395 .dua-legal-page li,
.page-id-4571395 .dua-legal-page a {
	overflow-wrap: anywhere;
	word-break: normal;
}
.page-id-4571395 .dua-legal-separator {
	width: 100%;
	margin: 24px 0;
	border: 0;
	border-top: 1px solid #d7e3ef;
}

/* Primary navigation: consistent rhythm with the header call-to-action. */
@media (min-width: 1025px) {
	.dua-primary-nav .e-n-menu-heading {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.dua-primary-nav .e-n-menu-title {
		padding: 8px 14px;
		border-radius: 10px;
		transition: background-color .2s ease, color .2s ease;
	}

	.dua-primary-nav .e-n-menu-title:hover,
	.dua-primary-nav .e-n-menu-title:focus-within {
		background: rgba(42, 73, 129, .08);
	}

	.dua-primary-nav .e-n-menu-title:hover .e-n-menu-title-text,
	.dua-primary-nav .e-n-menu-title:focus-within .e-n-menu-title-text,
	.dua-primary-nav .e-n-menu-title:hover .e-n-menu-dropdown-icon,
	.dua-primary-nav .e-n-menu-title:focus-within .e-n-menu-dropdown-icon {
		color: #2a4981;
	}

	.dua-primary-nav .e-n-menu-dropdown-icon {
		margin-left: 6px;
	}

	/* Keep all desktop mega menus at the same height to prevent visual jumping. */
	.dua-primary-nav [id^="e-n-menu-content-"] {
		left: 0 !important;
		right: 0 !important;
		margin-inline: 0 !important;
		width: 100% !important;
		height: 591px !important;
		min-height: 591px !important;
		max-height: 591px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		animation: none !important;
		transition: none !important;
	}

	/* Elementor animates the arrow and the panel independently. Keeping both
	 * states geometrically stable avoids the small jump when changing menus. */
	.dua-primary-nav .e-n-menu-title {
		min-height: 45px;
		box-sizing: border-box;
		transform: none !important;
	}

	.dua-primary-nav .e-n-menu-dropdown-icon {
		width: 19px;
		min-width: 19px;
		transition: none !important;
	}

	.dua-primary-nav .e-n-menu-dropdown-icon:focus:not(:focus-visible) {
		outline: none !important;
	}

	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta {
		width: 100% !important;
		max-width: none !important;
		height: 360px !important;
		margin-inline: 0 !important;
		cursor: default !important;
	}

	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta * {
		cursor: default !important;
	}

	.dua-primary-nav :is(
		#e-n-menu-content-6841 > [data-id="d2e23f6"],
		#e-n-menu-content-6842 > [data-id="c9b0f79"],
		#e-n-menu-content-6843 > [data-id="6806968"]
	) {
		flex: 0 0 30% !important;
		width: 30% !important;
		max-width: 30% !important;
		padding: 10px !important;
	}

	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta__bg-overlay {
		background-color: transparent !important;
		background-image: linear-gradient(
			155deg,
			rgba(54, 92, 158, .92) 0%,
			rgba(42, 73, 129, .91) 48%,
			rgba(23, 32, 68, .94) 100%
		) !important;
		opacity: 1 !important;
		filter: brightness(1) saturate(1) !important;
		transition: opacity .28s ease, filter .28s ease !important;
	}

	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta:hover .elementor-cta__bg-overlay,
	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta:focus-within .elementor-cta__bg-overlay {
		opacity: .78 !important;
		filter: brightness(1.24) saturate(1.08) !important;
	}

	/* Subtle, layout-stable hover for the reconversion CTA in every mega menu. */
	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta__button {
		background: rgba(255, 255, 255, .06) !important;
		border-color: rgba(255, 255, 255, .94) !important;
		color: #fff !important;
		box-shadow: 0 4px 12px rgba(14, 30, 67, .12) !important;
		transform: translateY(0) !important;
		transition:
			background .22s ease,
			border-color .22s ease,
			color .22s ease,
			box-shadow .22s ease,
			transform .22s ease !important;
	}

	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta__button:hover,
	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta__button:focus-visible {
		background: linear-gradient(
			135deg,
			rgba(255, 255, 255, .98) 0%,
			rgba(216, 232, 255, .97) 100%
		) !important;
		border-color: #fff !important;
		color: #1b3566 !important;
		box-shadow: 0 9px 22px rgba(14, 30, 67, .26) !important;
		transform: translateY(-2px) !important;
	}

	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta__button:focus-visible {
		outline: 3px solid rgba(255, 255, 255, .72) !important;
		outline-offset: 3px;
	}
}


@media (prefers-reduced-motion: reduce) {
	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta__button {
		transition: none !important;
	}

	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta__button:hover,
	.dua-primary-nav [id^="e-n-menu-content-"] .elementor-cta__button:focus-visible {
		transform: none !important;
	}
}
