/**
 * Shared frontend layout and responsive-media safeguards.
 */

/* Select an appropriate generated background without changing its crop. */
.st-responsive-background {
	background-image: var(--st-responsive-background) !important;
}

.st-responsive-background-before::before {
	background-image: var(--st-responsive-background) !important;
}

@media (min-width: 768px) {
	.st-responsive-background {
		background-image: var(--st-responsive-background-tablet, var(--st-responsive-background)) !important;
	}

	.st-responsive-background-before::before {
		background-image: var(--st-responsive-background-tablet, var(--st-responsive-background)) !important;
	}
}

@media (min-width: 1280px) {
	.st-responsive-background {
		background-image: var(--st-responsive-background-desktop, var(--st-responsive-background-tablet, var(--st-responsive-background))) !important;
	}

	.st-responsive-background-before::before {
		background-image: var(--st-responsive-background-desktop, var(--st-responsive-background-tablet, var(--st-responsive-background))) !important;
	}
}

/* Keep the localized footer grid inside the viewport. */
#brx-footer #brxe-wvatjs {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

#brx-footer #brxe-wvatjs > .brxe-block,
#brx-footer #brxe-vrgwep,
#brx-footer #brxe-vrgwep .bricks-nav-menu-wrapper,
#brx-footer #brxe-vrgwep .bricks-nav-menu {
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

#brx-footer #brxe-vrgwep .bricks-nav-menu {
	flex-direction: column;
	align-items: flex-start;
}

#brx-footer #brxe-vrgwep .bricks-nav-menu > .menu-item {
	width: 100%;
}

#brx-footer #brxe-wvatjs a,
#brx-footer #brxe-wvatjs p {
	overflow-wrap: anywhere;
}

@media (max-width: 991px) {
	#brx-footer #brxe-wvatjs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem;
	}
}

@media (max-width: 767px) {
	#brx-footer #brxe-wvatjs {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
	}

	#brx-footer #brxe-vrgwep .bricks-nav-menu {
		align-items: center;
		text-align: center;
	}
}
