/* Eigen Nubia-footer; alle kleuren en typografie komen uit Elementor-globalen. */
.nubia-site-footer {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: var(--e-global-color-8bca6c5);
	color: var(--e-global-color-c356092);
}

.nubia-site-footer__container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 64px 80px 0;
}

.nubia-site-footer__brand-row {
	display: flex;
	min-height: 104px;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	border-bottom: 1px solid color-mix(in srgb, var(--e-global-color-be51a43) 24%, transparent);
}

.nubia-site-footer__logo { display: block; width: 234px; height: 64px; }
.nubia-site-footer__logo-mask {
	display: block;
	width: 234px;
	height: 64px;
	background: var(--e-global-color-be51a43);
	-webkit-mask: var(--nubia-footer-logo) center / contain no-repeat;
	mask: var(--nubia-footer-logo) center / contain no-repeat;
}

.nubia-site-footer__tagline {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 24px 0 0;
	font-family: var(--e-global-typography-57b5920-font-family);
	font-size: var(--e-global-typography-57b5920-font-size);
	font-weight: var(--e-global-typography-57b5920-font-weight);
	line-height: var(--e-global-typography-57b5920-line-height);
	letter-spacing: var(--e-global-typography-57b5920-letter-spacing);
	text-transform: var(--e-global-typography-57b5920-text-transform);
	color: var(--e-global-color-c356092);
}

.nubia-site-footer__columns {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
	padding: 48px 0;
}
.nubia-site-footer__column { min-width: 0; }
.nubia-site-footer__heading { margin: 0 0 16px; }
.nubia-site-footer__toggle {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: var(--e-global-typography-57b5920-font-family);
	font-size: var(--e-global-typography-57b5920-font-size);
	font-weight: var(--e-global-typography-57b5920-font-weight);
	line-height: var(--e-global-typography-57b5920-line-height);
	letter-spacing: var(--e-global-typography-57b5920-letter-spacing);
	text-align: left;
	text-transform: var(--e-global-typography-57b5920-text-transform);
	color: var(--e-global-color-c356092);
	pointer-events: none;
}
.nubia-site-footer__toggle:is(:hover, :focus, :active) { border: 0; background: transparent; color: var(--e-global-color-c356092); }
.nubia-site-footer__chevron { display: none; width: 8px; height: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); transition: transform 200ms ease; }
.nubia-site-footer__toggle[aria-expanded="true"] .nubia-site-footer__chevron { transform: rotate(225deg); }
.nubia-site-footer__panel[hidden] { display: none !important; }
.nubia-site-footer__menu { margin: 0; padding: 0; list-style: none; }
.nubia-site-footer__menu li + li { margin-top: 8px; }
.nubia-site-footer__menu a {
	font-family: var(--e-global-typography-88b5a53-font-family);
	font-size: var(--e-global-typography-88b5a53-font-size);
	font-weight: var(--e-global-typography-88b5a53-font-weight);
	line-height: var(--e-global-typography-88b5a53-line-height);
	color: var(--e-global-color-c356092);
	text-decoration: none;
}
.nubia-site-footer__menu a:is(:hover, :focus-visible) { color: var(--e-global-color-be51a43); text-decoration: underline; text-underline-offset: 4px; }

.nubia-site-footer__legal {
	display: grid;
	min-height: 64px;
	grid-template-columns: max-content 1fr max-content;
	align-items: center;
	gap: 40px;
	border-top: 1px solid color-mix(in srgb, var(--e-global-color-be51a43) 24%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--e-global-color-be51a43) 24%, transparent);
}
.nubia-site-footer__copyright,
.nubia-site-footer__credit,
.nubia-site-footer__menu--legal a {
	font-family: var(--e-global-typography-57b5920-font-family);
	font-size: var(--e-global-typography-57b5920-font-size);
	font-weight: var(--e-global-typography-57b5920-font-weight);
	line-height: var(--e-global-typography-57b5920-line-height);
	letter-spacing: var(--e-global-typography-57b5920-letter-spacing);
	text-transform: var(--e-global-typography-57b5920-text-transform);
}
.nubia-site-footer__copyright { margin: 0; color: var(--e-global-color-c356092); }
.nubia-site-footer__legal-menu { min-width: 0; }
.nubia-site-footer__heading--legal { display: none; }
.nubia-site-footer__menu--legal { display: flex; align-items: center; gap: 40px; }
.nubia-site-footer__menu--legal li + li { margin-top: 0; }
.nubia-site-footer__credit { justify-self: end; color: var(--e-global-color-c356092); text-decoration: none; }
.nubia-site-footer__credit:is(:hover, :focus-visible) { color: var(--e-global-color-be51a43); text-decoration: underline; text-underline-offset: 4px; }

.nubia-site-footer__wordmark {
	width: 100%;
	max-width: 1440px;
	margin: 52px auto -32px;
	transform: translateY(38%);
	opacity: 0;
	transition: transform 1400ms cubic-bezier(.22, 1, .36, 1), opacity 900ms ease;
}
.nubia-site-footer__wordmark.is-visible { transform: translateY(0); opacity: 1; }
.nubia-site-footer__wordmark img { display: block; width: 100%; height: auto; }

@media (max-width: 1024px) {
	.nubia-site-footer__container { padding: 48px 32px 0; }
	.nubia-site-footer__brand-row { min-height: 96px; }
	.nubia-site-footer__columns { display: block; padding: 24px 0 0; }
	.nubia-site-footer__column,
	.nubia-site-footer__legal-menu { border-bottom: 1px solid color-mix(in srgb, var(--e-global-color-be51a43) 24%, transparent); }
	.nubia-site-footer__column:last-child { border-bottom: 1px solid color-mix(in srgb, var(--e-global-color-be51a43) 24%, transparent); }
	.nubia-site-footer__heading,
	.nubia-site-footer__heading--legal { display: block; margin: 0; }
	.nubia-site-footer__toggle { min-height: 56px; pointer-events: auto; cursor: pointer; }
	.nubia-site-footer__chevron { display: block; }
	.nubia-site-footer__panel { padding: 0 0 24px; }
	.nubia-site-footer__legal { display: flex; min-height: 0; align-items: stretch; flex-direction: column; gap: 0; padding: 0 0 24px; border-top: 0; }
	.nubia-site-footer__copyright { order: 2; margin-top: 24px; }
	.nubia-site-footer__legal-menu { order: 1; }
	.nubia-site-footer__panel--legal { padding-bottom: 20px; }
	.nubia-site-footer__menu--legal { display: block; }
	.nubia-site-footer__menu--legal li + li { margin-top: 8px; }
	.nubia-site-footer__credit { order: 3; align-self: flex-start; margin-top: 16px; }
}

@media (max-width: 767px) {
	.nubia-site-footer__container { padding: 40px 16px 0; }
	.nubia-site-footer__brand-row { align-items: flex-start; flex-direction: column; gap: 24px; padding-bottom: 32px; }
	.nubia-site-footer__logo,
	.nubia-site-footer__logo-mask { width: 219px; height: 60px; }
	.nubia-site-footer__tagline { margin: 0; flex-wrap: wrap; gap: 8px; }
	.nubia-site-footer__wordmark { margin-top: 32px; }
}

@media (prefers-reduced-motion: reduce) {
	.nubia-site-footer__wordmark { transform: none; opacity: 1; transition: none; }
	.nubia-site-footer__chevron { transition: none; }
}
