/*
 * Big Shoes UK - brand, header, navigation and footer.
 *
 * Load after the child style.css (handle dependency "generate-child").
 * Scoped to GeneratePress 3.6 header, navigation and footer classes; it never
 * styles .entry-content. No JavaScript of its own: GeneratePress menu.js adds
 * .sfHover (hover/focus/touch), .toggled (mobile menu open) and .toggled-on
 * (mobile sub-menu open). :focus-within is a CSS-only fallback for keyboards.
 *
 * Menu classes set on WordPress menu items:
 *   ls-mega          top-level item whose sub-menu is a multi-column panel
 *   ls-mega-heading  second-level item inside ls-mega = column heading
 *   ls-mega-chips    column heading whose links show as size chips
 *
 * Markup expected: build/v2/brand-nav-NOTES.md.
 */

/* ------------------------------------------------------------ tokens */
:root {
	--ls-nav-ink: var(--ls-navy, #1f3a5f);
	--ls-nav-ink-strong: var(--ls-navy-dark, #152a45);
	--ls-nav-indicator: var(--ls-accent, #d9541a);
	--ls-nav-hover: var(--ls-accent-dark, #b54412);
	--ls-nav-hover-deep: var(--ls-accent-deeper, #8f350e);
	--ls-nav-focus: var(--ls-accent, #d9541a);
	--ls-nav-tint: var(--ls-tint, #eef4fb);
	--ls-nav-tint-warm: var(--ls-tint-warm, #fdf3ec);
	--ls-nav-soft: #f5f8fc;
	--ls-nav-line: #e3e8ef;
	--ls-nav-line-strong: #c5cfdb;
	--ls-nav-heading: var(--ls-accent-dark, #b54412);
	--ls-nav-panel-bg: #ffffff;
	--ls-nav-shadow: 0 24px 48px -18px rgba(15, 31, 51, 0.32), 0 6px 14px -6px rgba(15, 31, 51, 0.14);
	--ls-nav-radius: 12px;
	--ls-nav-h: 76px;
	--ls-nav-gutter: 40px;
	--ls-nav-item-pad: 16px;
	--ls-nav-logo-h: 44px;
	--ls-nav-logo-h-sm: 36px;
	--ls-nav-speed: 0.18s;
	--ls-nav-bar-bg: #152a45;
	--ls-nav-bar-ink: #dbe4ef;
	--ls-nav-foot-bg: #10213a;
	--ls-nav-foot-ink: #c9d4e1;
	--ls-nav-foot-head: #f2915f;
	--ls-nav-foot-line: rgba(255, 255, 255, 0.14);
}

/* ------------------------------------------------- top utility bar */
.ls-topbar {
	background: var(--ls-nav-bar-bg);
	color: var(--ls-nav-bar-ink);
	font-size: 13px;
	line-height: 1.4;
}

.ls-topbar__inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 24px;
	justify-content: space-between;
	padding: 7px var(--ls-nav-gutter);
}

.ls-topbar__text {
	align-items: center;
	display: flex;
	gap: 8px;
	margin: 0;
}

.ls-topbar__text::before {
	background: var(--ls-nav-indicator);
	border-radius: 50%;
	content: "";
	flex: none;
	height: 7px;
	width: 7px;
}

.ls-topbar__ranges {
	display: flex;
	gap: 6px 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ls-topbar__ranges li {
	color: #ffffff;
	font-weight: 600;
	margin: 0;
}

.ls-topbar a {
	color: #ffffff;
	text-decoration: underline;
}

.ls-topbar a:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

/* ------------------------------------------------- header and logo */
header.site-header {
	background: #ffffff;
	border-bottom: 1px solid var(--ls-nav-line);
	box-shadow: 0 6px 18px -14px rgba(15, 31, 51, 0.45);
	position: relative;
	z-index: 50;
}

.site-header .site-branding {
	align-items: center;
	display: flex;
	flex: none;
}

.site-header .main-title {
	font-size: 1.5rem;
	line-height: 1;
	margin: 0;
}

.site-header .main-title a.ls-brand {
	border-radius: 6px;
	display: inline-block;
	line-height: 0;
	padding: 4px 0;
}

.site-header .ls-brand__logo {
	display: block;
	height: var(--ls-nav-logo-h);
	max-width: none;
	width: auto;
}

.site-header .main-title a:focus-visible {
	outline: 3px solid var(--ls-nav-focus);
	outline-offset: 4px;
}

/* ------------------------------------------ navigation: shared look */
.site-header .main-navigation {
	background: transparent;
}

.site-header .main-navigation .main-nav > ul > li.menu-item > a {
	background: transparent;
	color: var(--ls-nav-ink);
	font-weight: 700;
	letter-spacing: -0.005em;
	position: relative;
}

.site-header .main-navigation .main-nav > ul > li.menu-item:hover > a,
.site-header .main-navigation .main-nav > ul > li.menu-item.sfHover > a,
.site-header .main-navigation .main-nav > ul > li.menu-item:focus-within > a,
.site-header .main-navigation .main-nav > ul > li.menu-item[class*="current-menu-"] > a {
	background: transparent;
	color: var(--ls-nav-ink-strong);
}

.site-header .main-navigation .dropdown-menu-toggle .gp-icon svg {
	transition: transform var(--ls-nav-speed) ease;
}

.site-header .main-navigation .main-nav ul ul {
	background: var(--ls-nav-panel-bg);
}

/* Links inside any dropdown or panel. */
.site-header .main-navigation .main-nav .sub-menu li.menu-item > a {
	background: transparent;
	border-radius: 8px;
	color: var(--ls-nav-ink);
	font-weight: 600;
	line-height: 1.35;
}

.site-header .main-navigation .main-nav .sub-menu li.menu-item > a:hover,
.site-header .main-navigation .main-nav .sub-menu li.menu-item > a:focus-visible {
	background: var(--ls-nav-tint);
	color: var(--ls-nav-ink-strong);
}

.site-header .main-navigation .main-nav .sub-menu li.menu-item > a[aria-current="page"] {
	background: var(--ls-nav-tint-warm);
	box-shadow: inset 3px 0 0 var(--ls-nav-indicator);
	color: var(--ls-nav-hover-deep);
}

/* Mega panel column headings (second level inside .ls-mega). */
.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li.menu-item > a {
	align-items: center;
	background: none;
	border-radius: 0;
	box-shadow: none;
	color: var(--ls-nav-heading);
	display: flex;
	font-size: 12px;
	font-weight: 800;
	gap: 8px;
	letter-spacing: 0.09em;
	line-height: 1.3;
	text-transform: uppercase;
}

.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li.menu-item > a:not([href]),
.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li.menu-item > a[href="#"] {
	cursor: default;
}

/* A heading that links to a hub gets a small chevron (drawn, not text). */
.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li.menu-item > a[href]:not([href="#"])::after {
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	content: "";
	flex: none;
	height: 6px;
	transform: rotate(45deg);
	transition: transform var(--ls-nav-speed) ease;
	width: 6px;
}

.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li.menu-item > a[href]:not([href="#"]):hover,
.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li.menu-item > a[href]:not([href="#"]):focus-visible {
	background: none;
	color: var(--ls-nav-hover-deep);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li.menu-item > a[href]:not([href="#"]):hover::after {
	transform: translateX(3px) rotate(45deg);
}

/* GeneratePress prints a dropdown arrow in every item with children; headings need none. */
.site-header .main-navigation .main-nav .ls-mega .sub-menu .dropdown-menu-toggle {
	display: none;
}

/* Column lists inside a mega panel are always shown with their panel. */
.site-header .main-navigation .main-nav .ls-mega .sub-menu .sub-menu {
	background: transparent;
	border: 0;
	box-shadow: none;
	float: none;
	height: auto;
	left: auto;
	opacity: 1;
	overflow: visible;
	padding: 0;
	pointer-events: auto;
	position: static;
	top: auto;
	transition: none;
	visibility: inherit;
	width: auto;
}

.site-header .main-navigation .main-nav .ls-mega .sub-menu .sub-menu li.menu-item > a {
	align-items: center;
	display: flex;
	gap: 10px;
}

.site-header .main-navigation .main-nav .ls-mega .sub-menu .sub-menu li.menu-item > a::before {
	background: var(--ls-nav-line-strong);
	border-radius: 50%;
	content: "";
	flex: none;
	height: 6px;
	transition: background-color var(--ls-nav-speed) ease;
	width: 6px;
}

.site-header .main-navigation .main-nav .ls-mega .sub-menu .sub-menu li.menu-item > a:hover::before,
.site-header .main-navigation .main-nav .ls-mega .sub-menu .sub-menu li.menu-item > a:focus-visible::before,
.site-header .main-navigation .main-nav .ls-mega .sub-menu .sub-menu li.menu-item > a[aria-current="page"]::before {
	background: var(--ls-nav-indicator);
}

/* Size chips: links under an .ls-mega-chips heading. */
.site-header .main-navigation .main-nav .ls-mega .ls-mega-chips > .sub-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.site-header .main-navigation .main-nav .ls-mega .ls-mega-chips > .sub-menu > li.menu-item {
	width: auto;
}

.site-header .main-navigation .main-nav .ls-mega .ls-mega-chips > .sub-menu > li.menu-item > a {
	background: #ffffff;
	border: 1.5px solid var(--ls-nav-line-strong);
	border-radius: 999px;
	box-shadow: none;
	color: var(--ls-nav-ink);
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	white-space: nowrap;
}

.site-header .main-navigation .main-nav .ls-mega .ls-mega-chips > .sub-menu > li.menu-item > a::before {
	content: none;
}

.site-header .main-navigation .main-nav .ls-mega .ls-mega-chips > .sub-menu > li.menu-item > a:hover,
.site-header .main-navigation .main-nav .ls-mega .ls-mega-chips > .sub-menu > li.menu-item > a:focus-visible {
	background: var(--ls-nav-ink);
	border-color: var(--ls-nav-ink);
	color: #ffffff;
}

.site-header .main-navigation .main-nav .ls-mega .ls-mega-chips > .sub-menu > li.menu-item > a[aria-current="page"] {
	background: var(--ls-nav-hover);
	border-color: var(--ls-nav-hover);
	box-shadow: none;
	color: #ffffff;
}

/* Visible keyboard focus everywhere in the header. */
.site-header .main-navigation a:focus-visible,
.site-header .main-navigation .dropdown-menu-toggle:focus-visible {
	outline: 3px solid var(--ls-nav-focus);
	outline-offset: -3px;
}

.site-header .menu-toggle:focus-visible {
	outline: 3px solid var(--ls-nav-focus);
	outline-offset: 2px;
}

/* ------------------------------------------------ desktop and tablet */
@media (min-width: 769px) {
	.site-header .inside-header {
		min-height: var(--ls-nav-h);
		padding-bottom: 0;
		padding-left: var(--ls-nav-gutter);
		padding-right: var(--ls-nav-gutter);
		padding-top: 0;
		position: relative; /* mega panels are placed against the header row */
	}

	.site-header .main-navigation .inside-navigation {
		position: static;
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item > a {
		font-size: 16px;
		line-height: var(--ls-nav-h);
		padding-left: var(--ls-nav-item-pad);
		padding-right: var(--ls-nav-item-pad);
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item-has-children > a {
		padding-right: 0;
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item > a .dropdown-menu-toggle {
		padding-left: 6px;
		padding-right: var(--ls-nav-item-pad);
	}

	/* Orange bar along the bottom edge of the header: hover, open and current. */
	.site-header .main-navigation .main-nav > ul > li.menu-item > a::after {
		background: var(--ls-nav-indicator);
		border-radius: 3px 3px 0 0;
		bottom: 0;
		content: "";
		height: 4px;
		left: var(--ls-nav-item-pad);
		position: absolute;
		right: var(--ls-nav-item-pad);
		transform: scaleX(0);
		transition: transform var(--ls-nav-speed) ease;
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item:hover > a::after,
	.site-header .main-navigation .main-nav > ul > li.menu-item.sfHover > a::after,
	.site-header .main-navigation .main-nav > ul > li.menu-item:focus-within > a::after,
	.site-header .main-navigation .main-nav > ul > li.menu-item[class*="current-menu-"] > a::after {
		transform: scaleX(1);
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item:hover > a .dropdown-menu-toggle .gp-icon svg,
	.site-header .main-navigation .main-nav > ul > li.menu-item.sfHover > a .dropdown-menu-toggle .gp-icon svg,
	.site-header .main-navigation .main-nav > ul > li.menu-item:focus-within > a .dropdown-menu-toggle .gp-icon svg {
		transform: rotate(180deg);
	}

	/* Standard dropdown card. */
	.site-header .main-navigation .main-nav > ul > li > .sub-menu {
		border: 1px solid var(--ls-nav-line);
		border-radius: 0 0 var(--ls-nav-radius) var(--ls-nav-radius);
		box-shadow: var(--ls-nav-shadow);
		padding: 8px;
		width: 250px;
	}

	.site-header .main-navigation .main-nav ul ul ul {
		border: 1px solid var(--ls-nav-line);
		border-radius: var(--ls-nav-radius);
		box-shadow: var(--ls-nav-shadow);
		padding: 8px;
	}

	/* The last dropdown opens leftwards so it never runs off the screen. */
	.site-header .main-navigation .main-nav > ul > li:last-child > .sub-menu {
		right: 0;
	}

	.site-header .main-navigation .main-nav .sub-menu li.menu-item > a {
		font-size: 15px;
		padding: 10px 14px;
	}

	/* Keyboard fallback when GeneratePress menu.js is not running. */
	.site-header .main-navigation:not(.toggled) .main-nav ul li.menu-item:focus-within > ul {
		height: auto;
		left: auto;
		opacity: 1;
		overflow: visible;
		pointer-events: auto;
	}

	/* Mega panel: full width of the header row, columns from the headings. */
	.site-header .main-navigation .main-nav > ul > li.ls-mega {
		position: static;
	}

	.site-header .main-navigation .main-nav > ul > li.ls-mega > .sub-menu {
		border-radius: 0 0 16px 16px;
		display: grid;
		float: none;
		gap: 22px 24px;
		grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
		padding: 26px 30px 30px;
		width: auto;
	}

	.site-header .main-navigation:not(.toggled) .main-nav > ul > li.ls-mega:hover > .sub-menu,
	.site-header .main-navigation:not(.toggled) .main-nav > ul > li.ls-mega.sfHover > .sub-menu,
	.site-header .main-navigation:not(.toggled) .main-nav > ul > li.ls-mega:focus-within > .sub-menu {
		left: var(--ls-nav-gutter);
		right: var(--ls-nav-gutter);
		top: 100%;
	}

	.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li.menu-item > a {
		border-bottom: 2px solid var(--ls-nav-line);
		margin-bottom: 10px;
		padding: 4px 2px 10px;
	}

	.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li.menu-item > a[href]:not([href="#"]):hover {
		border-bottom-color: var(--ls-nav-indicator);
	}

	.site-header .main-navigation .main-nav .ls-mega .sub-menu .sub-menu li.menu-item > a {
		padding: 8px 10px;
	}

	.site-header .main-navigation .main-nav .ls-mega .ls-mega-chips > .sub-menu {
		padding: 2px 0 0;
	}

	.site-header .main-navigation .main-nav .ls-mega .ls-mega-chips > .sub-menu > li.menu-item > a {
		min-height: 36px;
		min-width: 3.25rem;
		padding: 7px 13px;
	}
}

/* Narrow desktops and tablets: tighter spacing keeps the menu on one line. */
@media (min-width: 769px) and (max-width: 1040px) {
	:root {
		--ls-nav-gutter: 24px;
		--ls-nav-item-pad: 10px;
		--ls-nav-logo-h: 38px;
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item > a {
		font-size: 15px;
	}
}

/* ------------------------------------------------------------ mobile */
@media (max-width: 768px) {
	.ls-topbar__inner {
		justify-content: center;
		padding: 6px 16px;
		text-align: center;
	}

	.ls-topbar__ranges {
		display: none;
	}

	.site-header .inside-header {
		padding: 10px 16px;
	}

	.site-header .ls-brand__logo {
		height: var(--ls-nav-logo-h-sm);
	}

	/* Menu button: navy pill with a visible "Menu" label. */
	.site-header .mobile-menu-control-wrapper .menu-toggle {
		align-items: center;
		background: var(--ls-nav-ink);
		border-radius: 999px;
		color: #ffffff;
		display: inline-flex;
		flex-grow: 0;
		font-size: 15px;
		font-weight: 700;
		gap: 8px;
		line-height: 1;
		min-height: 44px;
		padding: 0 16px 0 14px;
	}

	.site-header .mobile-menu-control-wrapper .menu-toggle:hover,
	.site-header .mobile-menu-control-wrapper .menu-toggle:focus {
		background: var(--ls-nav-ink-strong);
		color: #ffffff;
	}

	.site-header .mobile-menu-control-wrapper.toggled .menu-toggle {
		background: var(--ls-nav-hover);
	}

	.site-header .mobile-menu-control-wrapper .menu-toggle .gp-icon {
		font-size: 18px;
	}

	.site-header .mobile-menu-control-wrapper .menu-toggle .gp-icon svg {
		top: 0;
	}

	/* GeneratePress prints "Menu" for screen readers only; show it here. */
	.site-header .mobile-menu-control-wrapper .menu-toggle .screen-reader-text {
		clip: auto;
		clip-path: none;
		height: auto;
		margin: 0;
		overflow: visible;
		position: static !important;
		width: auto;
	}

	/* Open menu: full-bleed white sheet under the header row. */
	.site-header.has-inline-mobile-toggle #site-navigation.toggled {
		background: #ffffff;
		border-top: 1px solid var(--ls-nav-line);
		flex-basis: calc(100% + 32px);
		margin: 10px -16px -10px;
	}

	.site-header .main-navigation.toggled .main-nav > ul {
		padding: 0 0 8px;
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item {
		border-bottom: 1px solid var(--ls-nav-line);
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item > a {
		font-size: 17px;
		line-height: 54px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item-has-children > a {
		padding-right: 0;
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item > a .dropdown-menu-toggle {
		border-left: 1px solid var(--ls-nav-line);
		padding: 0;
		text-align: center;
		width: 58px;
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item.sfHover > a {
		background: var(--ls-nav-tint);
	}

	.site-header .main-navigation .main-nav > ul > li.menu-item[class*="current-menu-"] > a {
		box-shadow: inset 4px 0 0 var(--ls-nav-indicator);
	}

	.site-header .main-navigation .main-nav .sub-menu.toggled-on {
		background: var(--ls-nav-soft);
		border-top: 1px solid var(--ls-nav-line);
		padding: 6px 0 14px;
	}

	.site-header .main-navigation .main-nav .sub-menu li.menu-item > a {
		border-radius: 0;
		font-size: 16px;
		padding: 12px 20px 12px 32px;
	}

	/* Mega panels become stacked groups with a two-column tile grid. */
	.site-header .main-navigation .main-nav .ls-mega > .sub-menu.toggled-on {
		padding: 2px 0 18px;
	}

	.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li.menu-item > a {
		min-height: 44px;
		padding: 12px 20px 4px;
	}

	.site-header .main-navigation .main-nav .ls-mega .sub-menu .sub-menu {
		padding: 0 16px;
	}

	.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li:not(.ls-mega-chips) > .sub-menu {
		display: grid;
		gap: 8px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li:not(.ls-mega-chips) > .sub-menu > li.menu-item > a {
		background: #ffffff;
		border: 1px solid var(--ls-nav-line);
		border-radius: 10px;
		font-size: 15px;
		height: 100%;
		min-height: 46px;
		padding: 10px 12px;
	}

	.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li:not(.ls-mega-chips) > .sub-menu > li.menu-item > a:hover,
	.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li:not(.ls-mega-chips) > .sub-menu > li.menu-item > a:focus-visible {
		background: var(--ls-nav-tint);
		border-color: var(--ls-nav-line-strong);
	}

	.site-header .main-navigation .main-nav .ls-mega > .sub-menu > li:not(.ls-mega-chips) > .sub-menu > li.menu-item > a[aria-current="page"] {
		background: var(--ls-nav-tint-warm);
		border-color: var(--ls-nav-indicator);
	}

	.site-header .main-navigation .main-nav .ls-mega .ls-mega-chips > .sub-menu > li.menu-item > a {
		border-radius: 999px;
		min-height: 44px;
		min-width: 4.5rem;
		padding: 10px 14px;
	}
}

/* ------------------------------------------------------------ footer */
.site-footer .site-info {
	background: var(--ls-nav-foot-bg);
	color: var(--ls-nav-foot-ink);
	font-size: 15px;
	line-height: 1.6;
	text-align: left;
}

.site-footer .inside-site-info {
	display: block;
	padding: 0 var(--ls-nav-gutter);
}

.site-footer .copyright-bar {
	width: 100%;
}

.ls-footer__top {
	display: grid;
	gap: 40px 56px;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr);
	padding: 56px 0 40px;
}

.site-footer .ls-footer__logo {
	border-radius: 6px;
	display: inline-block;
	line-height: 0;
}

.ls-footer__logo img {
	display: block;
	height: 40px;
	max-width: none;
	width: auto;
}

.ls-footer__tagline {
	margin: 16px 0 18px;
	max-width: 24rem;
}

.ls-footer__ranges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ls-footer__ranges li {
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 999px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	margin: 0;
	padding: 4px 12px;
}

.ls-footer__nav {
	display: grid;
	gap: 28px 32px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.site-footer .ls-footer__heading {
	color: var(--ls-nav-foot-head);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1.3;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.ls-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ls-footer__links li {
	margin: 0 0 10px;
}

.site-footer .ls-footer a {
	color: #ffffff;
	text-decoration: none;
	text-underline-offset: 3px;
}

.site-footer .ls-footer a:hover,
.site-footer .ls-footer a:focus-visible {
	color: var(--ls-nav-foot-head);
	text-decoration: underline;
}

.site-footer .ls-footer a:focus-visible {
	border-radius: 3px;
	outline: 3px solid var(--ls-nav-foot-head);
	outline-offset: 3px;
}

.site-footer .ls-footer .ls-footer__logo:hover {
	text-decoration: none;
}

.ls-footer__bottom {
	align-items: center;
	border-top: 1px solid var(--ls-nav-foot-line);
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	gap: 8px 32px;
	justify-content: space-between;
	padding: 20px 0 26px;
}

.ls-footer__bottom p {
	margin: 0;
}

.ls-footer__disclosure {
	max-width: 46rem;
}

.site-footer .ls-footer__disclosure a {
	text-decoration: underline;
}

@media (max-width: 900px) {
	.ls-footer__top {
		grid-template-columns: minmax(0, 1fr);
		padding-top: 44px;
	}
}

@media (max-width: 768px) {
	.site-footer .inside-site-info {
		padding: 0 16px;
	}

	.ls-footer__nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ls-footer__col--about {
		grid-column: 1 / -1;
	}

	.ls-footer__col--about .ls-footer__links {
		column-gap: 32px;
		columns: 2;
	}

	.ls-footer__links li {
		break-inside: avoid;
	}

	.ls-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* ---------------------------------------------- reduced motion, high contrast */
@media (prefers-reduced-motion: reduce) {
	.site-header .main-navigation ul ul,
	.site-header .main-navigation a,
	.site-header .main-navigation a::before,
	.site-header .main-navigation a::after,
	.site-header .main-navigation .dropdown-menu-toggle .gp-icon svg {
		transition: none !important;
		transition-delay: 0s !important;
	}
}

@media (forced-colors: active) {
	.site-header .main-navigation .main-nav > ul > li.menu-item > a::after {
		background: Highlight;
		forced-color-adjust: none;
	}

	.site-header .main-navigation .main-nav ul ul {
		border: 1px solid CanvasText;
	}
}
