/* =============================================================================
   Footer — Deep Royal Blue
   ========================================================================== */

.wt-footer {
	background: #001453;
	color: #eef0ff;
	padding: var(--wt-stack-2xl) 0 var(--wt-stack-lg);
	position: relative;
	overflow: hidden;
}

.wt-footer::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(at 10% 20%, rgba(30, 64, 175, 0.4) 0%, transparent 50%),
		radial-gradient(at 90% 80%, rgba(59, 130, 246, 0.2) 0%, transparent 50%);
	pointer-events: none;
}

.wt-footer__inner {
	position: relative;
	max-width: var(--wt-container-max);
	margin: 0 auto;
	padding: 0 var(--wt-gutter);
}

.wt-footer__grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
	gap: var(--wt-stack-xl);
	margin-bottom: var(--wt-stack-xl);
}

@media (max-width: 1024px) {
	.wt-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: var(--wt-stack-lg);
	}
}
@media (max-width: 640px) {
	.wt-footer__grid { grid-template-columns: 1fr; }
	.wt-footer { padding: var(--wt-stack-xl) 0 var(--wt-stack-md); }
}

.wt-footer__brand-col {
	display: flex;
	flex-direction: column;
	gap: var(--wt-stack-md);
}
.wt-footer__brand {
	font-family: var(--wt-font-display);
	font-size: 28px;
	font-weight: var(--wt-fw-extrabold);
	color: #ffffff;
	text-decoration: none;
	letter-spacing: var(--wt-tracking-snug);
}
.wt-footer__tagline {
	color: rgba(238, 240, 255, 0.75);
	font-size: 15px;
	line-height: var(--wt-lh-body);
	max-width: 360px;
	margin: 0;
}

.wt-footer__col h4 {
	color: #ffffff;
	font-family: var(--wt-font-body);
	font-size: 12px;
	font-weight: var(--wt-fw-bold);
	text-transform: uppercase;
	letter-spacing: var(--wt-tracking-wide);
	margin: 0 0 var(--wt-stack-md);
}
.wt-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wt-stack-sm);
}
.wt-footer__col a {
	color: rgba(238, 240, 255, 0.75);
	font-size: 14px;
	text-decoration: none;
	transition: color var(--wt-transition-fast);
}
.wt-footer__col a:hover {
	color: var(--wt-amber);
}

/* Socials */
.wt-footer__socials {
	display: flex;
	gap: var(--wt-stack-sm);
	margin-top: var(--wt-stack-sm);
}
.wt-footer__socials a {
	display: inline-flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.08);
	border-radius: var(--wt-radius-full);
	color: #ffffff;
	transition: all var(--wt-transition-fast);
}
.wt-footer__socials a:hover {
	background: var(--wt-amber);
	color: #0F172A;
}

/* Bottom row */
.wt-footer__bottom {
	position: relative;
	border-top: 1px solid rgba(184, 196, 255, 0.15);
	padding-top: var(--wt-stack-md);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: var(--wt-stack-md);
	color: rgba(238, 240, 255, 0.60);
	font-size: 13px;
}
.wt-footer__legal-strip {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wt-stack-md);
}
.wt-footer__legal-strip a {
	color: rgba(238, 240, 255, 0.75);
	text-decoration: none;
}
.wt-footer__legal-strip a:hover { color: var(--wt-amber); }

.wt-footer__accessibility-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: var(--wt-radius-full);
	font-size: 12px;
	font-weight: var(--wt-fw-bold);
}

/* Pre-footer CTA band */
.wt-cta-band,
.elementor-element.wt-cta-band,
.e-con.wt-cta-band {
	background: var(--wt-primary) !important;
	position: relative;
	overflow: hidden;
	color: #ffffff;
	text-align: center;
}
.wt-cta-band::before {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(at 20% 30%, rgba(30, 64, 175, 0.85) 0%, transparent 60%),
		radial-gradient(at 80% 70%, rgba(59, 130, 246, 0.55) 0%, transparent 55%);
	z-index: 0;
}
.wt-cta-band > *,
.elementor-element.wt-cta-band > * {
	position: relative;
	z-index: 1;
}
.wt-cta-band h2,
.wt-cta-band h3,
.wt-cta-band p {
	color: #ffffff;
}
.wt-cta-band__inner {
	position: relative;
	max-width: var(--wt-container-max);
	margin: 0 auto;
	padding: 0 var(--wt-gutter);
}
.wt-cta-band h2 {
	color: #ffffff;
	max-width: 720px;
	margin: 0 auto var(--wt-stack-md);
}
.wt-cta-band p {
	color: rgba(255, 255, 255, 0.85);
	max-width: 640px;
	margin: 0 auto var(--wt-stack-lg);
}
