/* Science Lab Supply — Header & Footer chrome */
/* Fonts loaded via sls-performance.php (no render-blocking @import). */

:root {
	--sls-navy: #0b2a5c;
	--sls-blue: #004aad;
	--sls-blue-deep: #00357a;
	--sls-sky: #e8f1fc;
	--sls-green: #88ae30;
	--sls-green-dark: #6f9124;
	--sls-ink: #1a2332;
	--sls-muted: #5b6777;
	--sls-line: #d9e2ef;
	--sls-paper: #f4f7fb;
	--sls-white: #ffffff;
	--sls-header-h: 118px;
}

/* =========================================================
   HEADER (Elementor template #12)
   ========================================================= */

header#masthead,
.elementor-12 {
	font-family: 'Source Sans 3', sans-serif !important;
}

.elementor.elementor-12 {
	background: transparent !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	z-index: 999 !important;
}

/* Sticky shell */
body:not(.elementor-editor-active) .elementor.elementor-12 {
	position: sticky !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
}

/* ---- Top utility bar ---- */
.elementor-12 .elementor-element-5199309 {
	background: linear-gradient(90deg, #071f46 0%, var(--sls-navy) 45%, #0e3a7a 100%) !important;
	border: 0 !important;
	padding: 0 !important;
	min-height: 40px;
	height: auto !important;
	overflow: visible;
}

.elementor-12 .elementor-element-5199309 > .elementor-container {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	min-height: 40px !important;
	max-width: 1240px;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
	gap: 0.75rem;
}

/* Columns: single-row, vertically centered */
.elementor-12 .elementor-element-5199309 > .elementor-container > .elementor-column {
	display: flex !important;
	align-items: center !important;
	align-self: center !important;
	min-height: 0 !important;
	height: auto !important;
	padding: 0 !important;
}

.elementor-12 .elementor-element-5199309 > .elementor-container > .elementor-column > .elementor-widget-wrap {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: inherit;
	gap: 0.55rem;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

/* Kill Elementor negative offsets that break language/email alignment */
.elementor-12 .elementor-element.elementor-element-104959a,
.elementor-12 .elementor-element.elementor-element-896ba74,
.elementor-12 .elementor-element.elementor-element-ea888cb {
	margin: 0 !important;
	width: auto !important;
}

.elementor-12 .elementor-element.elementor-element-104959a > .elementor-widget-container,
.elementor-12 .elementor-element.elementor-element-896ba74 > .elementor-widget-container,
.elementor-12 .elementor-element.elementor-element-ea888cb > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-12 .elementor-element-5199309 #top-header {
	height: auto !important;
	min-height: 0 !important;
}

.elementor-12 .elementor-element-5199309,
.elementor-12 .elementor-element-5199309 a,
.elementor-12 .elementor-element-5199309 p,
.elementor-12 .elementor-element-5199309 span,
.elementor-12 .elementor-element-5199309 .gt_switcher,
.elementor-12 .elementor-element-5199309 i {
	color: rgba(255, 255, 255, 0.92) !important;
	font-family: 'Source Sans 3', sans-serif !important;
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
}

.elementor-12 .elementor-element-5199309 a:hover {
	color: #fff !important;
}

.elementor-12 .elementor-element-5199309 .fa-envelope,
.elementor-12 .elementor-element-5199309 .fas {
	color: var(--sls-green) !important;
	margin-right: 0.35rem !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem;
}

/* Language label + switcher sit on one baseline */
.elementor-12 .elementor-element-104959a {
	text-align: left !important;
}

.elementor-12 .elementor-element-104959a p {
	display: inline-flex !important;
	align-items: center !important;
	white-space: nowrap;
	opacity: 0.85;
}

.elementor-12 .elementor-element-ea888cb {
	text-align: left !important;
}

.elementor-12 .elementor-element-896ba74 {
	text-align: right !important;
	margin-left: auto !important;
}

.elementor-12 .elementor-element-896ba74 .elementor-widget-container,
.elementor-12 .elementor-element-896ba74 i {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	white-space: nowrap;
}

/* Language switcher chip */
.elementor-12 .elementor-element-5199309 .gt_switcher,
.elementor-12 .elementor-element-5199309 .glink,
.elementor-12 .elementor-element-5199309 .switcher-popup {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem;
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-radius: 999px !important;
	padding: 0.22rem 0.7rem !important;
	line-height: 1.2 !important;
	transition: background 0.2s ease;
	vertical-align: middle;
}

.elementor-12 .elementor-element-5199309 .gt_switcher:hover,
.elementor-12 .elementor-element-5199309 .glink:hover,
.elementor-12 .elementor-element-5199309 .switcher-popup:hover {
	background: rgba(255, 255, 255, 0.16) !important;
}

/* Mobile: keep row when possible; neutralize Elementor mobile offsets */
@media (max-width: 767px) {
	.elementor-12 .elementor-element.elementor-element-ea888cb > .elementor-widget-container,
	.elementor-12 .elementor-element.elementor-element-896ba74 > .elementor-widget-container {
		margin: 0 !important;
	}

	.elementor-12 .elementor-element-5199309 > .elementor-container {
		flex-wrap: wrap !important;
		justify-content: center !important;
		padding-top: 0.35rem !important;
		padding-bottom: 0.35rem !important;
	}
}

/* ---- Main header bar ---- */
.elementor-12 .elementor-element-ff2508b {
	background: rgba(255, 255, 255, 0.97) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--sls-line) !important;
	box-shadow: 0 8px 24px rgba(11, 42, 92, 0.06);
	padding: 0.55rem 0 !important;
	min-height: 78px;
	overflow: visible !important;
	z-index: 100;
}

.elementor-12 .elementor-element-ff2508b > .elementor-container {
	max-width: 1240px;
	align-items: center !important;
	min-height: 72px;
}

/* Logo */
.elementor-12 .elementor-element-5ef9872 img {
	max-height: 58px !important;
	width: auto !important;
	transition: transform 0.25s ease;
}

.elementor-12 .elementor-element-5ef9872 a:hover img {
	transform: scale(1.02);
}

/* Search */
.elementor-12 .elementor-element-ef4c1dc .hfe-search-form__container {
	min-height: 46px !important;
	border-radius: 999px !important;
	border: 1px solid var(--sls-line) !important;
	background: var(--sls-paper) !important;
	box-shadow: inset 0 1px 2px rgba(11, 42, 92, 0.04);
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.elementor-12 .elementor-element-ef4c1dc .hfe-search-form__container:focus-within {
	border-color: var(--sls-blue) !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(0, 74, 173, 0.12);
}

.elementor-12 .elementor-element-ef4c1dc .hfe-search-form__input {
	font-family: 'Source Sans 3', sans-serif !important;
	font-size: 0.92rem !important;
	color: var(--sls-ink) !important;
	background: transparent !important;
	border: 0 !important;
}

.elementor-12 .elementor-element-ef4c1dc .hfe-search-form__input::placeholder {
	color: #8a96a8 !important;
}

.elementor-12 .elementor-element-ef4c1dc button.hfe-search-submit {
	color: var(--sls-blue) !important;
	width: 46px !important;
	transition: color 0.2s ease, transform 0.2s ease;
}

.elementor-12 .elementor-element-ef4c1dc button.hfe-search-submit:hover {
	color: var(--sls-green) !important;
	transform: scale(1.08);
}

/* ---- Navigation ---- */
.elementor-12,
.elementor-12 .elementor-element-ff2508b .elementor-container,
.elementor-12 .elementor-element-ff2508b .elementor-column,
.elementor-12 .elementor-element-ff2508b .elementor-widget-wrap {
	overflow: visible !important;
}

.elementor-12 .elementor-element-82f0181,
.elementor-12 .elementor-element-82f0181.elementor-absolute {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	transform: none !important;
	width: 100% !important;
	inset: auto !important;
	overflow: visible !important;
	z-index: 1000 !important;
}

.elementor-12 .elementor-element-82f0181 .elementor-widget-container {
	margin: 0 !important;
	overflow: visible !important;
}

.elementor-12 .elementor-element-82f0181 .hfe-nav-menu__layout-horizontal > .hfe-nav-menu,
.elementor-12 .elementor-element-82f0181 ul.hfe-nav-menu {
	display: flex !important;
	align-items: center !important;
	gap: 0.15rem;
	flex-wrap: wrap;
	justify-content: flex-end;
	overflow: visible !important;
}

.elementor-12 .elementor-element-82f0181 .menu-item a.hfe-menu-item {
	font-family: Outfit, sans-serif !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em;
	color: var(--sls-ink) !important;
	padding: 0.55rem 0.9rem !important;
	border-radius: 999px !important;
	background: transparent !important;
	transition: color 0.2s ease, background 0.2s ease;
	position: relative;
}

.elementor-12 .elementor-element-82f0181 .menu-item a.hfe-menu-item:hover,
.elementor-12 .elementor-element-82f0181 .menu-item a.hfe-menu-item:focus,
.elementor-12 .elementor-element-82f0181 .menu-item a.hfe-menu-item.highlighted {
	color: var(--sls-blue) !important;
	background: var(--sls-sky) !important;
}

.elementor-12 .elementor-element-82f0181 .menu-item.current-menu-item > a.hfe-menu-item,
.elementor-12 .elementor-element-82f0181 .menu-item.current-menu-ancestor > a.hfe-menu-item {
	color: #fff !important;
	background: var(--sls-blue) !important;
	box-shadow: 0 8px 18px rgba(0, 74, 173, 0.22);
}

/* Kill old underline pointer look */
.elementor-12 .elementor-element-82f0181 .hfe-pointer__underline .menu-item a.hfe-menu-item:after,
.elementor-12 .elementor-element-82f0181 .hfe-pointer__underline .menu-item a.hfe-menu-item:before {
	display: none !important;
}

/* Dropdown panel */
.elementor-12 .elementor-element-82f0181 .sub-menu,
.elementor-12 .elementor-element-82f0181 nav.hfe-dropdown {
	border: 1px solid rgba(11, 42, 92, 0.08) !important;
	border-radius: 16px !important;
	box-shadow:
		0 4px 6px rgba(11, 42, 92, 0.04),
		0 22px 48px rgba(11, 42, 92, 0.14) !important;
	padding: 0.45rem !important;
	overflow: visible !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
	min-width: 280px !important;
	width: max-content !important;
	max-width: min(340px, 92vw) !important;
	z-index: 1001 !important;
}

/* Top-level Product caret */
.elementor-12 .elementor-element-82f0181 .hfe-nav-menu > .menu-item-has-children > .hfe-has-submenu-container .sub-arrow,
.elementor-12 .elementor-element-82f0181 .hfe-nav-menu > .menu-item-has-children > a .sub-arrow {
	margin-left: 0.35rem !important;
	opacity: 0.7;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.elementor-12 .elementor-element-82f0181 .hfe-nav-menu > .menu-item-has-children:hover > .hfe-has-submenu-container .sub-arrow,
.elementor-12 .elementor-element-82f0181 .hfe-nav-menu > .menu-item-has-children:hover > a .sub-arrow {
	opacity: 1;
	transform: translateY(1px);
}

/* Soft top accent on first-level dropdown */
.elementor-12 .elementor-element-82f0181 > .elementor-widget-container > nav > .hfe-nav-menu > .menu-item-has-children > .sub-menu,
.elementor-12 .elementor-element-82f0181 .hfe-nav-menu > .menu-item-has-children > .sub-menu {
	margin-top: 0.45rem !important;
}

.elementor-12 .elementor-element-82f0181 .hfe-nav-menu > .menu-item-has-children > .sub-menu::after {
	content: '';
	position: absolute;
	top: -6px;
	left: 1.35rem;
	width: 12px;
	height: 12px;
	background: #fff;
	border-left: 1px solid rgba(11, 42, 92, 0.08);
	border-top: 1px solid rgba(11, 42, 92, 0.08);
	transform: rotate(45deg);
	z-index: -1;
	pointer-events: none;
}

.elementor-12 .elementor-element-82f0181 .menu-item {
	position: relative !important;
	overflow: visible !important;
}

.elementor-12 .elementor-element-82f0181 .menu-item-has-children,
.elementor-12 .elementor-element-82f0181 .hfe-has-submenu {
	position: relative !important;
}

/* Nested sub-sub menu — fly LEFT (nav is right-aligned) */
.elementor-12 .elementor-element-82f0181 .sub-menu .sub-menu {
	position: absolute !important;
	left: auto !important;
	right: calc(100% + 6px) !important;
	top: -0.4rem !important;
	margin: 0 !important;
	min-width: 260px;
	z-index: 1002 !important;
	box-shadow:
		0 4px 6px rgba(11, 42, 92, 0.04),
		0 20px 44px rgba(11, 42, 92, 0.16) !important;
}

/* Hover bridge into left flyout */
.elementor-12 .elementor-element-82f0181 .sub-menu .menu-item-has-children > .sub-menu::before {
	content: '';
	position: absolute;
	top: 0;
	right: -14px;
	width: 14px;
	height: 100%;
}

.elementor-12 .elementor-element-82f0181 .sub-menu .menu-item-has-children:hover > .sub-menu,
.elementor-12 .elementor-element-82f0181 .sub-menu .hfe-has-submenu:hover > .sub-menu,
.elementor-12 .elementor-element-82f0181 .sub-menu li.menu-item:hover > .sub-menu,
.elementor-12 .elementor-element-82f0181 .sub-menu .menu-item-has-children:focus-within > .sub-menu,
.elementor-12 .elementor-element-82f0181 .sub-menu .hfe-has-submenu:focus-within > .sub-menu {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	display: block !important;
	animation: sls-menu-in 0.18s ease-out;
}

@keyframes sls-menu-in {
	from {
		opacity: 0;
		transform: translateX(6px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.elementor-12 .elementor-element-82f0181 .sub-menu .hfe-has-submenu-container {
	display: block !important;
	width: 100% !important;
}

.elementor-12 .elementor-element-82f0181 .sub-menu a.hfe-sub-menu-item,
.elementor-12 .elementor-element-82f0181 .sub-menu a.hfe-menu-item {
	font-family: Outfit, sans-serif !important;
	font-size: 0.86rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.005em;
	color: var(--sls-ink) !important;
	border-radius: 11px !important;
	padding: 0.72rem 0.9rem !important;
	border-bottom: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.85rem;
	width: 100% !important;
	box-sizing: border-box !important;
	white-space: nowrap;
	line-height: 1.3 !important;
	transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

/* Caret chip on the trailing edge */
.elementor-12 .elementor-element-82f0181 .sub-menu .sub-arrow {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	margin: 0 0 0 auto !important;
	padding: 0 !important;
	line-height: 1 !important;
	position: static !important;
	border-radius: 8px !important;
	background: rgba(0, 74, 173, 0.08) !important;
	color: var(--sls-blue) !important;
	font-size: 12px !important;
	transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.elementor-12 .elementor-element-82f0181 .sub-menu .sub-arrow i,
.elementor-12 .elementor-element-82f0181 .sub-menu .sub-arrow i:before {
	color: inherit !important;
	font-size: 11px !important;
	line-height: 1 !important;
}

/* Nested menus open left → point caret left */
.elementor-12 .elementor-element-82f0181 .sub-menu .menu-item-has-children > .hfe-has-submenu-container .sub-arrow i:before,
.elementor-12 .elementor-element-82f0181 .sub-menu .hfe-has-submenu > .hfe-has-submenu-container .sub-arrow i:before {
	content: '\f104' !important; /* fa-angle-left */
}

.elementor-12 .elementor-element-82f0181 .sub-menu a.hfe-sub-menu-item:hover,
.elementor-12 .elementor-element-82f0181 .sub-menu li.menu-item:hover > a,
.elementor-12 .elementor-element-82f0181 .sub-menu li.menu-item:hover > .hfe-has-submenu-container > a {
	background: linear-gradient(90deg, var(--sls-sky) 0%, #f0f6fd 100%) !important;
	color: var(--sls-blue) !important;
}

.elementor-12 .elementor-element-82f0181 .sub-menu li.menu-item:hover > .hfe-has-submenu-container .sub-arrow,
.elementor-12 .elementor-element-82f0181 .sub-menu li.menu-item:hover > a .sub-arrow {
	background: var(--sls-blue) !important;
	color: #fff !important;
	transform: translateX(-2px);
}

.elementor-12 .elementor-element-82f0181 .sub-menu li.menu-item {
	border-bottom: 0 !important;
	position: relative !important;
	margin: 0.08rem 0 !important;
}

/* Active / open row cue */
.elementor-12 .elementor-element-82f0181 .sub-menu li.menu-item-has-children:hover > .hfe-has-submenu-container > a,
.elementor-12 .elementor-element-82f0181 .sub-menu li.hfe-has-submenu:hover > .hfe-has-submenu-container > a {
	box-shadow: inset 3px 0 0 var(--sls-green);
}

/* Mobile toggle */
.elementor-12 .hfe-nav-menu__toggle {
	border-radius: 10px !important;
	background: var(--sls-sky) !important;
	color: var(--sls-blue) !important;
	padding: 0.55rem 0.7rem !important;
}

/* =========================================================
   FOOTER (Elementor template #84)
   ========================================================= */

.elementor-84 {
	font-family: 'Source Sans 3', sans-serif !important;
	margin-top: 0 !important;
}

/* CTA strip — OEM / Dealership / Support / Contact */
.elementor-84 .elementor-element-9a6fb67,
.elementor-84 .elementor-element-a0f4184 {
	background:
		radial-gradient(ellipse 60% 80% at 0% 50%, rgba(136, 174, 48, 0.18), transparent 55%),
		radial-gradient(ellipse 50% 70% at 100% 30%, rgba(0, 74, 173, 0.35), transparent 50%),
		linear-gradient(135deg, #071f46 0%, var(--sls-navy) 40%, #0a3578 100%) !important;
	padding: 2.25rem 0 !important;
	border: 0 !important;
}
#top-header i.fa-envelope {
	font-size: 14px !important;
}
.elementor-84 .elementor-element-a0f4184 > .elementor-container,
.elementor-84 .elementor-element-9a6fb67 > .elementor-container {
	max-width: 1240px;
	gap: 1rem !important;
}

.elementor-84 .elementor-widget-icon-box {
	height: 100%;
}

.elementor-84 .elementor-element-420b1e0,
.elementor-84 .elementor-element-f269cd8,
.elementor-84 .elementor-element-69b82cf,
.elementor-84 .elementor-element-72ddd4e {
	height: 100%;
}

.elementor-84 .elementor-widget-icon-box .elementor-icon-box-wrapper {
	display: flex !important;
	align-items: center !important;
	gap: 0.9rem;
	height: 100%;
	padding: 1.1rem 1.15rem !important;
	border-radius: 14px !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	background: rgba(255, 255, 255, 0.06) !important;
	backdrop-filter: blur(8px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
	transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.elementor-84 .elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
	transform: translateY(-4px);
	background: rgba(255, 255, 255, 0.12) !important;
	border-color: rgba(136, 174, 48, 0.45) !important;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
}

.elementor-84 .elementor-widget-icon-box .elementor-icon {
	width: 48px !important;
	height: 48px !important;
	border-radius: 12px !important;
	background: var(--sls-green) !important;
	color: #fff !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 18px rgba(136, 174, 48, 0.35);
}

.elementor-84 .elementor-widget-icon-box .elementor-icon i,
.elementor-84 .elementor-widget-icon-box .elementor-icon svg {
	color: #fff !important;
	fill: #fff !important;
	font-size: 1.15rem !important;
}

.elementor-84 .elementor-widget-icon-box .elementor-icon-box-title,
.elementor-84 .elementor-widget-icon-box .elementor-icon-box-title a {
	font-family: Outfit, sans-serif !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.65) !important;
	margin: 0 0 0.2rem !important;
}

.elementor-84 .elementor-widget-icon-box .elementor-icon-box-description,
.elementor-84 .elementor-widget-icon-box .elementor-icon-box-description a {
	font-family: Outfit, sans-serif !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #fff !important;
	line-height: 1.25 !important;
	margin: 0 !important;
}

/* Link columns area */
.elementor-84 .elementor-element-00d73df {
	background:
		linear-gradient(180deg, #f7f9fc 0%, #eef3f9 100%) !important;
	padding: 2.75rem 0 2rem !important;
	border-top: 0 !important;
}

.elementor-84 .elementor-element-00d73df > .elementor-container {
	max-width: 1240px;
}

.elementor-84 .elementor-element-6f424f5 .elementor-heading-title,
.elementor-84 .elementor-element-88f1aab .elementor-heading-title,
.elementor-84 .elementor-element-5b09fac .elementor-heading-title,
.elementor-84 .elementor-element-7dd9d33 .elementor-heading-title {
	font-family: Outfit, sans-serif !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: var(--sls-navy) !important;
	letter-spacing: -0.01em;
	margin: 0 0 0.85rem !important;
	padding-bottom: 0.65rem !important;
	border-bottom: 2px solid var(--sls-sky) !important;
	position: relative;
}

.elementor-84 .elementor-element-6f424f5 .elementor-heading-title::after,
.elementor-84 .elementor-element-88f1aab .elementor-heading-title::after,
.elementor-84 .elementor-element-5b09fac .elementor-heading-title::after,
.elementor-84 .elementor-element-7dd9d33 .elementor-heading-title::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 42px;
	height: 2px;
	background: linear-gradient(90deg, var(--sls-blue), var(--sls-green));
}

/* Hide old thin blue dividers under headings */
.elementor-84 .elementor-element-f5b2366,
.elementor-84 .elementor-element-7e77670,
.elementor-84 .elementor-element-1e83c89,
.elementor-84 .elementor-element-92dc3a4 {
	display: none !important;
}

.elementor-84 .elementor-icon-list-items {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.elementor-84 .elementor-icon-list-item {
	margin: 0 !important;
}

.elementor-84 .elementor-icon-list-item a {
	display: flex !important;
	align-items: center;
	gap: 0.55rem;
	padding: 0.4rem 0.5rem;
	border-radius: 8px;
	color: var(--sls-muted) !important;
	font-family: 'Source Sans 3', sans-serif !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.elementor-84 .elementor-icon-list-item a:hover {
	background: var(--sls-sky);
	color: var(--sls-blue) !important;
	transform: translateX(3px);
}

.elementor-84 .elementor-icon-list-icon {
	color: var(--sls-green) !important;
}

.elementor-84 .elementor-icon-list-icon i,
.elementor-84 .elementor-icon-list-icon svg {
	color: var(--sls-green) !important;
	fill: var(--sls-green) !important;
	font-size: 0.75rem !important;
}

/* Bottom legal / copyright bar */
.elementor-84 .elementor-element-4da1b2d,
.elementor-84 .elementor-element-f445e25 {
	background: var(--sls-navy) !important;
	padding: 1rem 0 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.elementor-84 .elementor-element-72021de,
.elementor-84 .elementor-element-376846b,
.elementor-84 .elementor-element-72021de p,
.elementor-84 .elementor-element-376846b p,
.elementor-84 .elementor-element-72021de a,
.elementor-84 .elementor-element-376846b a {
	font-family: 'Source Sans 3', sans-serif !important;
	font-size: 0.86rem !important;
	color: rgba(255, 255, 255, 0.78) !important;
	margin: 0 !important;
}

.elementor-84 .elementor-element-72021de a:hover,
.elementor-84 .elementor-element-376846b a:hover {
	color: var(--sls-green) !important;
}

/* Astra fallback footer if present */
footer#colophon {
	background: var(--sls-navy);
	color: rgba(255, 255, 255, 0.8);
	font-family: 'Source Sans 3', sans-serif;
}

footer#colophon a {
	color: rgba(255, 255, 255, 0.85);
}

footer#colophon a:hover {
	color: var(--sls-green);
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1024px) {
	.elementor-12 .elementor-element-ff2508b {
		padding: 0.4rem 0 !important;
	}

	.elementor-12 .elementor-element-5ef9872 img {
		max-height: 48px !important;
	}

	.elementor-84 .elementor-widget-icon-box .elementor-icon-box-wrapper {
		padding: 0.95rem !important;
	}
}

@media (max-width: 767px) {
	header#masthead,
	.elementor-12,
	.elementor.elementor-12 {
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		overflow: visible !important;
	}

	.elementor-12 .elementor-section,
	.elementor-12 .elementor-container,
	.elementor-12 .elementor-column,
	.elementor-12 .elementor-widget-wrap {
		height: auto !important;
		max-height: none !important;
	}

	/* Utility bar: language chip + email on one row */
	.elementor-12 .elementor-element-5199309 {
		min-height: 0 !important;
		height: auto !important;
	}

	.elementor-12 .elementor-element-104959a {
		display: none !important;
	}

	.elementor-12 .elementor-element-5199309 > .elementor-container {
		flex-wrap: nowrap !important;
		justify-content: space-between !important;
		align-items: center !important;
		gap: 0.5rem;
		padding: 0.4rem 0.85rem !important;
	}

	.elementor-12 .elementor-element-5199309 > .elementor-container > .elementor-column {
		width: auto !important;
		max-width: none !important;
		flex: 0 1 auto !important;
	}

	.elementor-12 .elementor-element-896ba74 {
		margin-left: auto !important;
	}

	.elementor-12 .elementor-element-896ba74,
	.elementor-12 .elementor-element-896ba74 a,
	.elementor-12 .elementor-element-896ba74 p,
	.elementor-12 .elementor-element-896ba74 span {
		font-size: 0.75rem !important;
		white-space: nowrap;
	}

	#top-header i.fa-envelope {
		font-size: 14px !important;
	}

	/* Logo and hamburger share one row */
	.elementor-12 .elementor-element-ff2508b {
		min-height: 0 !important;
		height: auto !important;
		padding: 0.4rem 0 !important;
	}

	.elementor-12 .elementor-element-ff2508b > .elementor-container {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		padding-left: 0.85rem !important;
		padding-right: 0.75rem !important;
	}

	.elementor-12 .elementor-element-ff2508b > .elementor-container > .elementor-column.elementor-element-60bc310 {
		width: auto !important;
		max-width: none !important;
		flex: 1 1 auto !important;
	}

	.elementor-12 .elementor-element-ff2508b > .elementor-container > .elementor-column.elementor-element-8615ab1,
	.elementor-12 .elementor-element-ff2508b > .elementor-container > .elementor-column.elementor-element-208282c {
		width: auto !important;
		max-width: none !important;
		flex: 0 0 auto !important;
	}

	.elementor-12 .elementor-element-5ef9872 img {
		max-height: 42px !important;
		width: auto !important;
	}

	.elementor-12 .elementor-element-82f0181,
	.elementor-12 .elementor-element-82f0181.elementor-absolute {
		width: auto !important;
	}

	.elementor-12 .elementor-element-82f0181 .hfe-nav-menu.hfe-layout-horizontal {
		display: block !important;
	}

	.elementor-12 .elementor-element-82f0181 .hfe-nav-menu__toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		margin: 0 !important;
		float: none !important;
	}

	.elementor-12 .elementor-element-82f0181 .hfe-nav-menu__layout-horizontal > .hfe-nav-menu,
	.elementor-12 .elementor-element-82f0181 ul.hfe-nav-menu {
		display: block !important;
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
	}

	.elementor-12 .elementor-element-82f0181 .hfe-nav-menu__layout-horizontal,
	.elementor-12 .elementor-element-82f0181 nav.hfe-dropdown {
		visibility: hidden;
		opacity: 0;
		height: 0 !important;
		overflow: hidden !important;
		position: fixed !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		background: #fff;
		z-index: 1005;
		box-shadow: 0 18px 40px rgba(11, 42, 92, 0.14);
		border-radius: 0 0 16px 16px;
		box-sizing: border-box;
	}

	.elementor-12 .elementor-element-82f0181 .hfe-active-menu + .hfe-nav-menu__layout-horizontal,
	.elementor-12 .elementor-element-82f0181 .hfe-active-menu + nav.hfe-dropdown,
	.elementor-12 .elementor-element-82f0181 .menu-is-active .hfe-nav-menu__layout-horizontal {
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		max-height: calc(100vh - 140px);
		overflow: auto !important;
		top: 100% !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		padding: 0.45rem 0.75rem 0.85rem !important;
	}

	.elementor-12 .elementor-element-82f0181 .hfe-nav-menu__layout-horizontal .menu-item {
		display: block !important;
		width: 100% !important;
	}

	.elementor-12 .elementor-element-82f0181 .hfe-nav-menu__layout-horizontal .menu-item a.hfe-menu-item,
	.elementor-12 .elementor-element-82f0181 .hfe-nav-menu__layout-horizontal .menu-item a.hfe-sub-menu-item {
		width: 100%;
		border-radius: 10px !important;
		justify-content: space-between;
	}

	.elementor-12 .elementor-element-82f0181 .sub-menu,
	.elementor-12 .elementor-element-82f0181 .sub-menu .sub-menu,
	.elementor-12 .elementor-element-82f0181 .menu-item-has-children:hover > .sub-menu,
	.elementor-12 .elementor-element-82f0181 .menu-item-has-children:focus-within > .sub-menu {
		position: static !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		visibility: hidden !important;
		opacity: 0 !important;
		display: none !important;
		height: 0 !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-shadow: none !important;
		transform: none !important;
		animation: none !important;
	}

	.elementor-12 .elementor-element-82f0181 .menu-item-has-children > .sub-menu.sub-menu-open,
	.elementor-12 .elementor-element-82f0181 .menu-item-has-children:hover > .sub-menu.sub-menu-open {
		position: static !important;
		visibility: visible !important;
		opacity: 1 !important;
		display: block !important;
		height: auto !important;
		padding: 0.15rem 0 0.15rem 0.65rem !important;
		background: transparent !important;
	}

	.elementor-12 .elementor-element-82f0181 .sub-menu .menu-item-has-children > .hfe-has-submenu-container .sub-arrow i:before,
	.elementor-12 .elementor-element-82f0181 .sub-menu .hfe-has-submenu > .hfe-has-submenu-container .sub-arrow i:before,
	.elementor-12 .elementor-element-82f0181 .sub-menu .sub-arrow i:before {
		content: '\f107' !important;
	}

	.elementor-12 .elementor-element-82f0181 .sub-menu .sub-menu-active .sub-arrow i:before {
		content: '\f106' !important;
	}

	/* Shop cards and forms stay inside the phone width */
	ul.products {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 0.75rem;
		margin: 0 !important;
		padding: 0 !important;
	}

	ul.products li.product {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		float: none !important;
		clear: none !important;
	}

	ul.products li.product img,
	ul.products li.product .astra-shop-thumbnail-wrap img {
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		aspect-ratio: 1;
		object-fit: contain;
		background: #fff;
	}

	.wpcf7 form p,
	.wpcf7-form p {
		width: 100% !important;
	}

	.wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
	.wpcf7 select,
	.wpcf7 textarea {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.elementor-84 .elementor-element-9a6fb67,
	.elementor-84 .elementor-element-a0f4184 {
		padding: 1.5rem 0 !important;
	}

	.elementor-84 .elementor-element-00d73df {
		padding: 2rem 0 1.25rem !important;
	}

	.elementor-84 .elementor-widget-icon-box .elementor-icon-box-wrapper {
		margin-bottom: 0.65rem;
	}
}
