/**
 * ARDELVIO Shoptimizer header.
 *
 * The rules are scoped to Shoptimizer's native one-row header layout so its
 * menu, sticky header, cart fragments, cart drawer and mobile menu behavior
 * remain owned by the parent theme and WooCommerce.
 */

body.header-4 .header-4-container {
	height: auto;
	border-bottom: 1px solid rgba(11, 45, 69, 0.1);
	background-color: var(--eln-white);
	box-shadow: 0 0.25rem 1rem rgba(11, 45, 69, 0.07);
}

/* Clearance for Home section anchors; does not alter the header's geometry. */
body.header-4 {
	--eln-home-anchor-offset: 5.5rem;
}

@media (min-width: 62.0625rem) {
	body.header-4 {
		--eln-home-anchor-offset: 6.25rem;
	}
}

body.header-4 .header-4-inner {
	width: 100%;
}

body.header-4 .site-header .custom-logo-link {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
}

body.header-4 .site-header .custom-logo-link img.custom-logo {
	display: block;
	width: auto;
	height: auto;
	max-height: 3.5rem;
	max-width: 100%;
	object-fit: contain;
}

body.header-4 .site-branding .custom-logo-link:focus-visible,
body.header-4 .site-branding button.menu-toggle:focus-visible,
body.header-4 .mobile-menu.close-drawer:focus-visible,
body.header-4 #site-navigation a:focus-visible,
body.header-4 .site-header-cart a.cart-contents:focus-visible {
	border-radius: 0.375rem;
	outline: 3px solid var(--eln-teal-accessible);
	outline-offset: 3px;
}

body.header-4 .site-header-cart .amount {
	display: none;
}

body.header-4 .site-header-cart .cart-contents {
	display: flex;
	min-width: 2.75rem;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	color: var(--eln-navy);
	line-height: 1;
}

body.header-4 .site-header-cart .cart-contents .count {
	border-color: var(--eln-navy);
	color: var(--eln-navy);
	/* Switch text/background together; interpolating both briefly loses contrast. */
	transition: none;
}

body.header-4 .site-header-cart .cart-contents .count::after {
	border-color: var(--eln-navy);
	border-bottom: 0;
}

body.header-4 .site-header-cart .cart-contents:hover .count,
body.header-4 .site-header-cart .cart-contents:focus-visible .count {
	border-color: var(--eln-teal-accessible);
	background-color: var(--eln-teal-accessible);
	color: var(--eln-white);
}

body.header-4 .site-header-cart .cart-contents:hover .count::after,
body.header-4 .site-header-cart .cart-contents:focus-visible .count::after {
	border-color: var(--eln-teal-accessible);
}

@media (max-width: 62rem) {
	body.header-4 .header-4-container {
		min-height: 4.5rem;
		padding: 0;
	}

	body.header-4 .header-4-inner,
	body.header-4 .site-header,
	body.header-4 .site-header .main-header.col-full {
		width: 100%;
	}

	body.header-4 .site-header .main-header.col-full {
		max-width: none;
		padding: 0;
	}

	body.header-4 .site-branding {
		position: relative;
		height: auto;
		min-height: 4.5rem;
		padding: 0.5rem 4.5rem;
	}

	body.header-4 .site-header .custom-logo-link {
		position: absolute;
		top: 50%;
		left: 50%;
		width: clamp(9.5rem, 42vw, 11.5rem);
		transform: translate(-50%, -50%);
	}

	body.header-4 .site-branding button.menu-toggle {
		top: 50%;
		left: 0.75rem;
		width: 2.75rem;
		height: 2.75rem;
		transform: translateY(-50%);
	}

	body.header-4 .site-branding button.menu-toggle:hover,
	body.header-4 .site-branding button.menu-toggle:focus-visible {
		background-color: var(--eln-background);
	}

	body.header-4 .menu-toggle .bar {
		left: 0.6875rem;
		background-color: var(--eln-navy);
	}

	body.header-4 .site-header .site-header-cart {
		top: 50%;
		right: 0.75rem;
		width: 2.75rem;
		height: 2.75rem;
		margin: 0;
		transform: translateY(-50%);
	}

	body.header-4 .site-header-cart .cart-contents {
		width: 100%;
		height: 100%;
	}

	body.header-4 .col-full-nav {
		border-right: 1px solid rgba(11, 45, 69, 0.1);
		background-color: var(--eln-white);
	}

	body.header-4 #site-navigation.main-navigation {
		padding-top: 1.25rem;
	}

	body.header-4 .mobile-menu.close-drawer,
	body.header-4.mobile-toggled .mobile-menu.close-drawer {
		top: 0.75rem;
		right: auto;
		left: 15.25rem;
		width: 2.75rem;
		height: 2.75rem;
		border-radius: 50%;
		background-color: var(--eln-background);
		color: var(--eln-navy);
	}

	body.header-4 .mobile-menu.close-drawer:hover,
	body.header-4 .mobile-menu.close-drawer:focus-visible {
		background-color: rgba(0, 180, 182, 0.14);
		color: var(--eln-navy);
	}

	body.header-4.mobile-toggled #site-navigation.main-navigation {
		padding-top: 4rem;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li > a {
		display: flex;
		min-height: 2.75rem;
		align-items: center;
		padding: 0.65rem 0.25rem;
		color: var(--eln-navy);
		font-size: 1rem;
		font-weight: 600;
		line-height: 1.35;
		text-decoration: none;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li > a:hover,
	body.header-4 #site-navigation .menu-primary-menu-container > ul > li > a:focus-visible {
		color: var(--eln-teal-accessible);
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li.eln-nav-cta {
		margin-top: 1rem;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li.eln-nav-cta > a {
		min-height: 3rem;
		justify-content: center;
		padding: 0.75rem 1.25rem;
		border: 2px solid var(--eln-teal-accessible);
		border-radius: 999px;
		background-color: var(--eln-teal-accessible);
		color: var(--eln-white);
		font-weight: 700;
		text-align: center;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li.eln-nav-cta > a:hover,
	body.header-4 #site-navigation .menu-primary-menu-container > ul > li.eln-nav-cta > a:focus-visible {
		border-color: var(--eln-navy);
		background-color: var(--eln-navy);
		color: var(--eln-white);
	}
}

@media (min-width: 62.0625rem) {
	body.header-4 .header-4-container {
		display: flex;
		min-height: 5.25rem;
		align-items: center;
		padding: 0.5rem clamp(1rem, 2.5vw, 2.5rem);
	}

	body.header-4:not(.full-width-header) .header-4-inner {
		max-width: var(--eln-container);
	}

	body.header-4 .header-4-inner {
		gap: clamp(0.75rem, 1.5vw, 1.5rem);
	}

	body.header-4 .site-header {
		margin-right: 0;
	}

	body.header-4 .site-header .main-header.col-full,
	body.header-4 .site-branding {
		display: flex;
		align-items: center;
	}

	body.header-4 .site-header .custom-logo-link {
		width: clamp(10.625rem, 12.5vw, 12.5rem);
	}

	body.header-4 .site-header .custom-logo-link img.custom-logo {
		max-height: 4.25rem;
	}

	body.header-4 .col-full-nav {
		min-width: 0;
		align-items: center;
		border: 0;
	}

	body.header-4 #site-navigation.main-navigation {
		min-width: 0;
		flex: 1 1 auto;
	}

	body.header-4 #site-navigation .primary-navigation {
		position: static;
		width: auto;
		text-align: left;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul.menu {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: clamp(0.1rem, 0.45vw, 0.45rem);
		white-space: nowrap;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li > a {
		display: flex;
		min-height: 2.75rem;
		align-items: center;
		padding: 0.5rem clamp(0.3rem, 0.55vw, 0.55rem);
		color: var(--eln-navy);
		font-size: clamp(0.75rem, 0.9vw, 0.875rem);
		font-weight: 600;
		line-height: 1.25;
		text-decoration: none;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li > a span::before {
		content: none;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li:not(.eln-nav-cta) > a:hover,
	body.header-4 #site-navigation .menu-primary-menu-container > ul > li:not(.eln-nav-cta) > a:focus-visible,
	body:not(.home).header-4 #site-navigation .menu-primary-menu-container > ul > li.current-menu-item:not(.eln-nav-cta) > a,
	body.home.header-4 #site-navigation .menu-primary-menu-container > ul > li:first-child:not(.eln-nav-cta) > a {
		color: var(--eln-teal-accessible);
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li.eln-nav-cta > a {
		min-height: 2.875rem;
		margin-left: clamp(0.25rem, 0.75vw, 0.75rem);
		padding: 0.65rem clamp(0.85rem, 1.25vw, 1.25rem);
		border: 2px solid var(--eln-teal-accessible);
		border-radius: 999px;
		background-color: var(--eln-teal-accessible);
		box-shadow: 0 0.35rem 0.9rem rgba(0, 180, 182, 0.18);
		color: var(--eln-white);
		font-weight: 700;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li.eln-nav-cta > a:hover,
	body.header-4 #site-navigation .menu-primary-menu-container > ul > li.eln-nav-cta > a:focus-visible {
		border-color: var(--eln-navy);
		background-color: var(--eln-navy);
		box-shadow: 0 0.45rem 1rem rgba(11, 45, 69, 0.2);
		color: var(--eln-white);
	}

	body.header-4 .site-header-cart {
		margin-left: clamp(0.35rem, 0.8vw, 0.75rem);
		line-height: 1;
	}
}

@media (min-width: 62.0625rem) and (max-width: 74.9375rem) {
	body.header-4 .header-4-container {
		padding-right: 1rem;
		padding-left: 1rem;
	}

	body.header-4 .header-4-inner {
		gap: 0.625rem;
	}

	body.header-4 .site-header .custom-logo-link {
		width: 10.625rem;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul.menu {
		gap: 0;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li > a {
		padding-right: 0.3rem;
		padding-left: 0.3rem;
		font-size: 0.75rem;
	}

	body.header-4 #site-navigation .menu-primary-menu-container > ul > li.eln-nav-cta > a {
		margin-left: 0.25rem;
		padding-right: 0.75rem;
		padding-left: 0.75rem;
	}

	body.header-4 .site-header-cart {
		margin-left: 0.25rem;
	}
}
