/* Shared footer (Figma 2:147 desktop, 2:2225 mobile). Layout lives in the HFE footer template. */

/* Link group: title Outfit 800 14, 20px to the list, items Geist 14 muted 12px apart. */
.dt-fmenu .dt-fmenu__heading {
	margin: 0 0 20px;
	color: var(--e-global-color-warmwhite);
	font-family: var(--e-global-typography-primary-font-family), sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.26;
	text-transform: uppercase;
}

.dt-fmenu .dt-fmenu__toggle {
	display: none;
}

.dt-fmenu .dt-fmenu__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	font-size: 14px;
	line-height: 1.26;
}

.dt-fmenu .dt-fmenu__list a {
	color: var(--e-global-color-text);
	text-decoration: none;
	overflow-wrap: anywhere; /* Long labels wrap rather than clip. */
	transition: color var(--dt-dur-micro) var(--dt-ease-ui);
}

.dt-fmenu .dt-fmenu__list a[href]:hover,
.dt-fmenu .dt-fmenu__list .current-menu-item > a {
	color: var(--e-global-color-warmwhite);
}

/* Items without a real page render without href: plain text, not a dead link. */
.dt-fmenu .dt-fmenu__list a:not([href]) {
	cursor: default;
}

/* Mobile accordion (2:2232): 14px title + 16px chevron, 12px under, border-bottom. */
@media (max-width: 767px) {
	.dt-fmenu {
		border-bottom: 1px solid var(--e-global-color-border);
	}

	.dt-fmenu .dt-fmenu__heading {
		margin: 0;
	}

	.dt-fmenu .dt-fmenu__label {
		display: none;
	}

	.dt-fmenu .dt-fmenu__toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 44px;
		margin: -12px 0 0;
		padding: 12px 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: inherit;
		font: inherit;
		text-align: left;
		text-transform: inherit;
		cursor: pointer;
	}

	.dt-fmenu .dt-fmenu__toggle:hover,
	.dt-fmenu .dt-fmenu__toggle:focus {
		background: transparent;
		color: inherit;
	}

	.dt-fmenu .dt-fmenu__chevron {
		flex: none;
		width: 16px;
		height: 16px;
		transition: transform var(--dt-dur-micro) var(--dt-ease-ui);
	}

	.dt-fmenu.is-open .dt-fmenu__chevron {
		transform: rotate(180deg);
	}

	.dt-fmenu .dt-fmenu__panel {
		overflow: hidden;
		transition: height var(--dt-dur-ui) var(--dt-ease-ui);
	}

	.dt-fmenu .dt-fmenu__list {
		padding: 4px 0 16px;
	}
}

/* Footer icon buttons (socials, hidden until real URLs exist): darkpurple tile, 8px radius. */
.dt-footer .dt-footer__social .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border: 1px solid var(--e-global-color-border);
	border-radius: 8px;
	background: var(--e-global-color-darkpurple);
	transition: border-color var(--dt-dur-micro) var(--dt-ease-ui), color var(--dt-dur-micro) var(--dt-ease-ui);
}

.dt-footer .dt-footer__social .elementor-icon svg {
	width: 16px;
	height: 16px;
}

@media (max-width: 767px) {
	.dt-footer .dt-footer__social .elementor-icon {
		width: 36px;
		height: 36px;
	}

	.dt-footer .dt-footer__social .elementor-icon svg {
		width: 18px;
		height: 18px;
	}
}

.dt-footer .elementor-widget-divider .elementor-divider {
	padding-block: 0;
}

/* Hide Hello Elementor's fallback footer if both ever render. */
body.ehf-footer #site-footer.site-footer {
	display: none;
}

/* Legal line: Geist 13 (mobile 11 / 1.4). */
.dt-footer .dt-footer__small {
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	font-size: 13px;
	line-height: 1.26;
}

@media (max-width: 767px) {
	.dt-footer .dt-footer__small {
		font-size: 11px;
		line-height: 1.4;
	}
}

/* Desktop top row: 400px brand column left, link groups hug their width on the right (2:148). */
@media (min-width: 1025px) {
	.dt-footer .e-con.dt-footer__brand {
		flex: 0 0 400px;
	}

	.dt-footer .e-con.dt-footer__groups {
		--width: auto;
		flex: 0 0 auto;
	}
}
