
/*
Theme Name:  UE Main Child
Theme URI:   https://uesystems.com
Description: Child theme of UE Parent for the uesystems.com website.
Author:      UE Systems, Inc.
Author URI:  https://uesystems.com
Template:    ue-parent
Version:     1.0
License:     GNU General Public License v3
Text Domain: uemain-child
*/

/* ======= STICKY SITE HEADER ======= */

/* Sits the header flush against the top of the viewport */
.wp-site-blocks {
	padding-top: 0;
}

.site-header {
	border-bottom: 1px solid var(--wp--preset--color--med-grey);
	position: sticky;
	top: 0;
	z-index: 100;
}

/* Admin bar offsets */
.admin-bar .site-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

@media (max-width: 600px) {
	.admin-bar .site-header {
		top: 0;
	}
}

/* ======= HEADER UTILITY BAR ======= */
.header-utility-bar {
	font-size: .75rem;
}

/* Shop Online, sized to match the footer copyright line */
.header-utility-bar p {
	font-size: var(--wp--preset--font-size--navigation-small) !important;
	margin: 0;
}

.header-utility-bar a {
	text-decoration: none;
}

.header-utility-bar a:focus, .header-utility-bar a:hover {
	color: var(--wp--preset--color--primary);
}

/* Fixed 50px bar on desktop, contents vertically centered */
@media (min-width: 769px) {
	.header-utility-bar {
		align-items: center;
		display: flex;
		min-height: 50px;
	}
	
	.header-utility-bar > .wp-block-group {
		width: 100%;
	}
	
	/* Wider gap between Shop Online and the language switcher */
	.header-utility-bar .wp-block-group.alignwide {
		gap: var(--wp--preset--spacing--medium);
	}
}

/* Centered and wrapping below the tablet breakpoint */
@media (max-width: 768px) {
	.header-utility-bar {
		padding-bottom: 6px;
		padding-top: 6px;
	}
	
	.header-utility-bar .wp-block-group.alignwide {
		gap: var(--wp--preset--spacing--medium);
		justify-content: space-between;
	}
}

/* Mobile overlay menu spacing */
.header-nav-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--x-small);
}

/* Language switcher */
.header-language-switcher .wpml-ls-legacy-dropdown, .header-language-switcher .wpml-ls-legacy-dropdown-click {
	width: auto;
}

/* Sized to match Shop Online, next to it in the utility bar */
.header-language-switcher .wpml-ls-legacy-dropdown a, .header-language-switcher .wpml-ls-legacy-dropdown-click a {
	align-items: center;
	background-color: transparent;
	border: 0;
	color: var(--wp--preset--color--base);
	display: flex;
	font-family: var(--wp--preset--font-family--content);
	font-size: var(--wp--preset--font-size--navigation-small);
	padding: 4px 0;
}

.header-language-switcher .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle, .header-language-switcher .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
	padding-right: 1.4em;
}

/* Flag to language name gap */
.header-language-switcher .wpml-ls-legacy-dropdown .wpml-ls-flag + span, .header-language-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-flag + span {
	margin-left: .6em;
}

/* Dropdown arrow */
.header-language-switcher .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle::after, .header-language-switcher .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
	right: 6px;
	top: calc(50% - .25em);
}

.header-language-switcher .wpml-ls-legacy-dropdown a:focus, .header-language-switcher .wpml-ls-legacy-dropdown a:hover, .header-language-switcher .wpml-ls-legacy-dropdown-click a:focus, .header-language-switcher .wpml-ls-legacy-dropdown-click a:hover, .header-language-switcher .wpml-ls-current-language:hover > a {
	background-color: transparent;
	color: var(--wp--preset--color--primary);
}

/* Dropdown panel */
.header-language-switcher .wpml-ls-sub-menu, .header-language-switcher #wpml-ls-submenu-click-default {
	background-color: var(--wp--preset--color--contrast);
	border-top: 0;
	left: auto;
	min-width: 100%;
	right: 0;
	width: max-content;
}

.header-language-switcher .wpml-ls-sub-menu a {
	padding: var(--wp--preset--spacing--x-small) 10px;
}

.header-language-switcher .wpml-ls-sub-menu a:focus, .header-language-switcher .wpml-ls-sub-menu a:hover {
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--primary);
}

/* ======= HEADER NAVIGATION ======= */

/* Extra separation before the Request a Quote button */
.header-nav-bar .wp-block-navigation .wp-block-navigation__container > .is-style-nav-button-2 {
	margin-left: calc(var(--wp--preset--spacing--navigation) / 2);
}

/* Narrower button sides than the theme-wide nav button */
.header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-nav-button-2 > .wp-block-navigation-item__content {
	padding-left: var(--wp--preset--spacing--x-small);
	padding-right: var(--wp--preset--spacing--x-small);
}

/* Overlay menu below the width the full bar needs for one line */
@media (min-width: 600px) and (max-width: 899.98px) {
	.header-nav-bar .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default) {
		display: none;
	}
	
	.header-nav-bar .wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}

/* ======= HEADER SUBMENUS ======= */

/* Carried over from the legacy uesystems.com mega menu. */
.header-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--content);
	font-size: var(--wp--preset--font-size--navigation-small);
	font-weight: 400;
	padding: 5px 15px 5px 0;
	text-transform: none;
}

.header-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus, .header-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--accent);
}

/* Column headings */
.header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu > .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(.is-heading-plain) > .wp-block-navigation-item__content, .header-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container .is-heading-link > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--primary-dark);
	font-weight: 600;
}

.header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu > .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(.is-heading-plain) > .wp-block-navigation-item__content:focus, .header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu > .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(.is-heading-plain) > .wp-block-navigation-item__content:hover, .header-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container .is-heading-link > .wp-block-navigation-item__content:focus, .header-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container .is-heading-link > .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--secondary);
}

/* Non-linking column heading */
.header-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container .is-heading-plain > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
	cursor: text;
	font-weight: 600;
}

.header-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container .is-heading-plain > .wp-block-navigation-item__content:focus, .header-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container .is-heading-plain > .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--secondary);
}

@media (min-width: 900px) {
	/* Panel shell */
	.header-nav-bar .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
		background-color: var(--wp--preset--color--light-grey);
		border: 0;
		border-radius: var(--wp--custom--border--radius--medium);
		color: var(--wp--preset--color--contrast);
		gap: 0;
		padding: var(--wp--preset--spacing--small);
	}
	
	/* Flyout panels align left and size to their longest label */
	.header-nav-bar .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item:not(.is-style-mega-menu) > .wp-block-navigation__submenu-container {
		left: 0;
		min-width: max-content;
		right: auto;
	}
	
	/* Mega panels span the header's wide container */
	.header-nav-bar .wp-block-group.alignwide {
		position: relative;
	}
	
	.header-nav-bar .wp-block-navigation, .header-nav-bar .wp-block-navigation .wp-block-navigation__container, .header-nav-bar .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open), .header-nav-bar .wp-block-navigation .wp-block-navigation__responsive-dialog, .header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu {
		position: static;
	}
	
	.header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu > .wp-block-navigation__submenu-container {
		--ue-mega-columns: 4;
		column-gap: var(--wp--preset--spacing--medium);
		columns: var(--ue-mega-columns);
		display: block;
		left: 0;
		right: 0;
		top: 100%;
		width: auto;
	}
	
	.header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu.has-3-columns > .wp-block-navigation__submenu-container {
		--ue-mega-columns: 3;
	}
	
	.header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu.has-5-columns > .wp-block-navigation__submenu-container {
		--ue-mega-columns: 5;
	}
	
	/* Content-width variant, centered within and clamped to the nav container */
	.header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu.is-content-width > .wp-block-navigation__submenu-container {
		left: 50%;
		max-width: 100%;
		right: auto;
		transform: translateX(-50%);
		width: max-content;
	}
	
	/* Headings stack above their own lists */
	.header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu .wp-block-navigation-item {
		display: block;
	}
	
	/* Keeps each heading with its own list */
	.header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
		break-inside: avoid;
		margin-bottom: var(--wp--preset--spacing--x-small);
	}
	
	/* Column breaks carried over from the legacy grid */
	.header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu > .wp-block-navigation__submenu-container > .starts-column {
		break-before: column;
	}
	
	/* Third-level items indent under their parent */
	.header-nav-bar .wp-block-navigation .wp-block-navigation-item.is-style-mega-menu > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		padding-left: var(--wp--preset--spacing--x-small);
	}
	
	/* Nested levels sit inside the panel instead of flying out */
	.header-nav-bar .wp-block-navigation .is-style-mega-menu .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		background-color: transparent;
		border-radius: 0;
		height: auto;
		left: auto;
		margin-top: 5px;
		min-width: 0;
		opacity: 1;
		overflow: visible;
		padding: 0;
		position: static;
		top: auto;
		visibility: visible;
		width: auto;
	}
}

/* ======= DOCUMENT DOWNLOAD BUTTON ======= */

/* Spacing only. The button's fill comes from theme.json's core/button styles. */
.ue-document {
	margin-block: var(--wp--preset--spacing--small);
	text-align: center;
}

/* Editor-only placeholder */
.ue-document--empty {
	opacity: .7;
}

/* ======= COMPLIANZ COOKIE BANNER ======= */

/* Minimized "Manage consent" tab on the left */
body #cmplz-manage-consent .cmplz-manage-consent {
	left: 40px;
	right: auto;
}

/* ======= FOOTER ======= */

/* Pipe separator between legal menu items */
.footer-menu .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::before {
	content: "|";
	margin-inline: calc(var(--wp--preset--spacing--small) / -2) calc(var(--wp--preset--spacing--small) / 2);
}

@media (max-width: 600px) {
	/* Social icons left-aligned */
	.footer-socials.wp-block-group {
		justify-content: flex-start;
	}
	
	/* Legal menu stacked under the copyright */
	.wp-block-group:has(> .footer-menu) {
		align-items: flex-start;
		flex-direction: column;
	}
	
	.footer-menu.wp-block-navigation, .footer-menu .wp-block-navigation__container {
		justify-content: flex-start;
	}
	
	/* Column headings and menus one size larger */
	.footer-menus .has-x-small-font-size {
		font-size: var(--wp--preset--font-size--small) !important;
	}
}

@media (min-width: 601px) {
	/* Social icons one size smaller */
	.footer-socials .ue-social-icons {
		font-size: var(--wp--preset--font-size--small) !important;
	}
}
