/**
 * Site header — loaded on every public page for consistent sticky behavior.
 * Elementor Theme Builder header (post 16) + laminam-header HTML widget.
 */

:root {
	--lm-site-header-height: 94px;
	--lm-site-header-sticky-top: 0px;
	--lm-site-header-bottom: var(--lm-site-header-height);
	--lm-wp-admin-bar-height: 0px;
}

/* WP puts admin-bar on body (not html) and adds html { margin-top: 32px } inline */
html:has(#wpadminbar) {
	margin-top: 0 !important;
}

body.admin-bar {
	--lm-wp-admin-bar-height: var(--wp-admin--admin-bar--height, 32px);
	--lm-site-header-sticky-top: 0px;
	--lm-site-header-bottom: calc(var(--lm-wp-admin-bar-height) + var(--lm-site-header-height));
}

@media (max-width: 1120px) {
	:root {
		--lm-site-header-height: 78px;
	}
}

@media (max-width: 767px) {
	:root {
		--lm-site-header-height: 72px;
	}
}

/* Fixed site header — stable across navigations (avoids sticky jump on load/scroll restore). */
.elementor-location-header {
	position: fixed !important;
	top: 0 !important;
	left: 0;
	right: 0;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: var(--laminam-z-header, 1200);
	background: #fff;
	overflow: visible !important;
	box-sizing: border-box;
	transform: none !important;
}

/* Reserve header height in document flow so content does not jump under fixed bar. */
body {
	padding-top: var(--lm-site-header-bottom, var(--lm-site-header-height, 94px));
}

body.admin-bar .elementor-location-header {
	top: var(--lm-wp-admin-bar-height, var(--wp-admin--admin-bar--height, 32px)) !important;
	padding-top: 0 !important;
}

/*
 * WP core sets #wpadminbar to position:absolute below 600px so it scrolls away.
 * Our header stays fixed at top:46px → empty gap ("rupa") under the status area.
 * Keep the admin bar fixed with the site header while editing on a phone.
 */
@media screen and (max-width: 600px) {
	body.admin-bar #wpadminbar {
		position: fixed !important;
	}

	body.admin-bar .elementor-location-header {
		top: var(--lm-wp-admin-bar-height, var(--wp-admin--admin-bar--height, 46px)) !important;
	}
}

.elementor-location-header::before {
	content: none !important;
	display: none !important;
}

/* If Elementor sticky classes linger, neutralize fixed positioning on nested sticky shells. */
.elementor-location-header .elementor-sticky,
.elementor-location-header .elementor-sticky.elementor-sticky--active,
.elementor-location-header.elementor-sticky,
.elementor-location-header.elementor-sticky--active {
	position: static !important;
	top: auto !important;
	width: auto !important;
	inset-inline-start: auto !important;
	transform: none !important;
	margin: 0 !important;
}

.elementor-sticky__spacer,
.elementor-location-header .elementor-sticky__spacer {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Collapse Elementor wrappers to .laminam-header height (mobile drawer is position:fixed) */
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-column,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-header .elementor-widget,
.elementor-location-header .elementor-widget-html {
	overflow: visible !important;
	margin: 0 !important;
	margin-block: 0 !important;
	padding: 0 !important;
	padding-block: 0 !important;
	padding-block-start: 0 !important;
	padding-block-end: 0 !important;
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-block-start: 0px !important;
	--padding-block-end: 0px !important;
	min-height: 0 !important;
	gap: 0 !important;
}

.elementor-location-header .laminam-header {
	margin-top: 0;
}

.elementor-location-header .elementor-widget-html {
	display: contents;
}

.elementor-location-header .laminam-mobile-backdrop,
.elementor-location-header .laminam-mobile {
	position: fixed !important;
}

/*
 * Mobile drawer must always fit the viewport.
 * Short windows: head + foot stay pinned; nav body scrolls.
 * Without this, Elementor/theme overrides can break the grid and clip the footer CTAs.
 */
.laminam-mobile,
aside.laminam-mobile#laminam-mobile,
.elementor-location-header .laminam-mobile,
.elementor-location-header aside.laminam-mobile#laminam-mobile {
	top: var(--lm-site-header-bottom, var(--lm-site-header-height, 94px)) !important;
	right: 0 !important;
	bottom: 0 !important;
	left: auto !important;
	height: auto !important;
	max-height: calc(100svh - var(--lm-site-header-bottom, var(--lm-site-header-height, 94px))) !important;
	max-height: calc(100dvh - var(--lm-site-header-bottom, var(--lm-site-header-height, 94px))) !important;
	display: grid !important;
	grid-template-rows: auto minmax(0, 1fr) auto !important;
	align-content: stretch !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.laminam-mobile__head,
.laminam-mobile__foot {
	flex-shrink: 0 !important;
	min-height: 0 !important;
}

.laminam-mobile__body {
	min-height: 0 !important;
	max-height: none !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain;
}

.laminam-mobile__foot {
	position: relative !important;
	bottom: auto !important;
	z-index: 2;
}

/* Admin bar is already inside --lm-site-header-bottom. Do not pin the drawer to the bar. */

/* Mega menu — full-width panel (anchor to .laminam-header, not 1440px __inner) */
.laminam-header .laminam-header__inner {
	position: static !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: var(--lm-content-max, 1440px) !important;
	padding-left: var(--laminam-chrome-pad-x, 40px) !important;
	padding-right: var(--laminam-chrome-pad-x, 40px) !important;
}

.laminam-header .laminam-mega__inner {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: var(--lm-content-max, 1440px) !important;
	padding-left: var(--laminam-chrome-pad-x, 40px) !important;
	padding-right: var(--laminam-chrome-pad-x, 40px) !important;
}

.laminam-header__inner {
	position: static !important;
}

.laminam-header .laminam-mega {
	left: 0;
	right: 0;
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/*
 * Desktop mega caret — one source only.
 * Globals v3 ships .laminam-nav-link__caret in markup; do not also draw ::before
 * (that created duplicate arrows next to Primene / Materijali / Vodiči).
 */
.laminam-header .laminam-nav-link--mega {
	gap: 0.4rem !important;
	padding-right: 0 !important;
}

.laminam-header a.laminam-nav-link--mega::before {
	content: none !important;
	display: none !important;
}

.laminam-header .laminam-nav-link__caret {
	flex: 0 0 auto !important;
	display: block !important;
	width: 7px !important;
	height: 5px !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0.5 !important;
	overflow: hidden !important;
	background: currentColor !important;
	clip-path: polygon(0 10%, 100% 10%, 50% 100%);
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transform-origin: 50% 45%;
	transition:
		opacity 0.2s ease,
		transform 0.22s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.laminam-header .laminam-nav-link__caret path {
	opacity: 0 !important;
	pointer-events: none !important;
}

.laminam-header .laminam-nav-item:hover > .laminam-nav-link--mega .laminam-nav-link__caret,
.laminam-header .laminam-nav-item:focus-within > .laminam-nav-link--mega .laminam-nav-link__caret,
.laminam-header .laminam-nav-item.is-mega-open > .laminam-nav-link--mega .laminam-nav-link__caret {
	opacity: 0.88 !important;
}

.laminam-header .laminam-nav-item.is-mega-open > .laminam-nav-link--mega .laminam-nav-link__caret {
	transform: rotate(180deg) !important;
}

/* Mobile drawer — dividers + Vodiči hub row (matches Primene/Materijali) */
.laminam-mobile-link {
	border-bottom: 1px solid rgba(0, 42, 58, 0.08);
}

.laminam-mobile__body > .laminam-mobile-link:last-of-type {
	border-bottom: 0;
}

/* Space between “Vidi sve” and the accordion bottom divider. */
.laminam-mobile-acc--cards[open] {
	padding-bottom: 14px !important;
}

.laminam-mobile-acc--cards[open] > .laminam-mobile-section-link {
	display: inline-flex !important;
	margin: 0 0 2px !important;
}

.laminam-mobile-acc--cards[open] .laminam-mobile-section-links {
	margin-bottom: 2px !important;
}

/*
 * Accordion row tap zones:
 * - Hub link is text-only (not flex:1), so the large empty area + chevron toggles.
 * - ::after is a ≥48px hit target; chevron drawing moves to ::before.
 */
.laminam-mobile-acc summary {
	justify-content: flex-start !important;
	gap: 8px !important;
	position: relative;
}

.laminam-mobile-acc__hub {
	flex: 0 1 auto !important;
	min-width: 0;
	max-width: calc(100% - 52px);
	position: relative;
	z-index: 1;
}

.laminam-mobile-acc:not(.laminam-mobile-acc--cards) .laminam-mobile-acc__hub {
	display: block;
	padding: 0 !important;
	border-top: 0 !important;
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	text-decoration: none;
}

.laminam-mobile-acc summary::after {
	content: "" !important;
	flex: 1 0 48px !important;
	min-width: 48px !important;
	width: auto !important;
	height: 48px !important;
	margin: -14px -6px -14px auto !important;
	box-sizing: border-box;
	border: 0 !important;
	background: transparent !important;
	transform: none !important;
}

.laminam-mobile-acc summary::before {
	content: "";
	position: absolute;
	right: 14px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	pointer-events: none;
	z-index: 0;
}

.laminam-mobile-acc[open] summary::before {
	margin-top: -2px;
	transform: rotate(225deg);
}

.laminam-mobile-acc[open] summary::after {
	transform: none !important;
}

/*
 * Drawer motion (v2) — solid sheet slide only.
 * No opacity on the panel, no staggered row fades (those felt broken / flashy).
 * Closed panel stays composited off-screen (visibility:visible) so open always animates.
 */
:root {
	--lm-drawer-ease-in: cubic-bezier(0.32, 0.72, 0, 1);
	--lm-drawer-ease-out: cubic-bezier(0.4, 0, 1, 1);
	--lm-drawer-duration-in: 400ms;
	--lm-drawer-duration-out: 280ms;
	--lm-drawer-backdrop-in: 300ms;
	--lm-drawer-backdrop-out: 220ms;
}

.laminam-mobile-backdrop,
.elementor-location-header .laminam-mobile-backdrop {
	top: var(--lm-site-header-bottom, var(--lm-site-header-height, 94px)) !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	background: rgba(0, 30, 42, 0.28) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition:
		opacity var(--lm-drawer-backdrop-out) var(--lm-drawer-ease-out),
		visibility 0s linear var(--lm-drawer-backdrop-out) !important;
}

body.laminam-mobile-open .laminam-mobile-backdrop,
body.laminam-mobile-open .elementor-location-header .laminam-mobile-backdrop {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transition:
		opacity var(--lm-drawer-backdrop-in) var(--lm-drawer-ease-in),
		visibility 0s linear 0s !important;
}

.laminam-mobile,
aside.laminam-mobile#laminam-mobile,
.elementor-location-header .laminam-mobile {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translate3d(100%, 0, 0) !important;
	pointer-events: none !important;
	box-shadow: none !important;
	will-change: transform;
	transition:
		transform var(--lm-drawer-duration-out) var(--lm-drawer-ease-out),
		box-shadow var(--lm-drawer-duration-out) var(--lm-drawer-ease-out) !important;
}

body.laminam-mobile-open .laminam-mobile,
body.laminam-mobile-open aside.laminam-mobile#laminam-mobile,
body.laminam-mobile-open .elementor-location-header .laminam-mobile {
	z-index: calc(var(--laminam-z-mobile, 1300) + 6) !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: translate3d(0, 0, 0) !important;
	pointer-events: auto !important;
	box-shadow: -24px 0 48px rgba(0, 30, 42, 0.12) !important;
	transition:
		transform var(--lm-drawer-duration-in) var(--lm-drawer-ease-in),
		box-shadow var(--lm-drawer-duration-in) var(--lm-drawer-ease-in) !important;
}

/* Kill any leftover item-level intro from older CSS (inline header / cache). */
.laminam-mobile__body > .laminam-mobile-link,
.laminam-mobile__body > .laminam-mobile-acc,
body.laminam-mobile-open .laminam-mobile__body > .laminam-mobile-link,
body.laminam-mobile-open .laminam-mobile__body > .laminam-mobile-acc {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
	transition-delay: 0s !important;
	will-change: auto;
}

.laminam-menu-toggle span,
.laminam-menu-toggle::before,
.laminam-menu-toggle::after {
	transition:
		transform 0.32s var(--lm-drawer-ease-in),
		opacity 0.2s var(--lm-drawer-ease-in),
		top 0.32s var(--lm-drawer-ease-in) !important;
}

@media (prefers-reduced-motion: reduce) {
	.laminam-mobile,
	aside.laminam-mobile#laminam-mobile,
	body.laminam-mobile-open .laminam-mobile,
	.laminam-mobile-backdrop,
	body.laminam-mobile-open .laminam-mobile-backdrop {
		transition: none !important;
	}

	.laminam-menu-toggle span,
	.laminam-menu-toggle::before,
	.laminam-menu-toggle::after {
		transition: none !important;
	}
}

body.laminam-mobile-open .laminam-mobile-backdrop {
	z-index: calc(var(--laminam-z-mobile-backdrop, 1290) + 6) !important;
}

/* Header stays above the drawer so hamburger ↔ X never moves. */
body.laminam-mobile-open .laminam-header,
body.laminam-mobile-open .elementor-location-header {
	z-index: calc(var(--laminam-z-mobile, 1300) + 10) !important;
}

body.laminam-mobile-open #laminam-mobile-open {
	display: inline-block !important;
	pointer-events: auto !important;
	position: relative;
	z-index: calc(var(--laminam-z-mobile, 1300) + 8) !important;
}

/* One close control: the header toggle. Hide the drawer copy. */
.laminam-mobile__head {
	display: none !important;
}

body.laminam-mobile-open #laminam-mobile-open.laminam-menu-toggle--close span,
body.laminam-mobile-open #laminam-mobile-open span {
	opacity: 0;
}

body.laminam-mobile-open #laminam-mobile-open.laminam-menu-toggle--close::before,
body.laminam-mobile-open #laminam-mobile-open::before {
	top: 50%;
	transform: translateX(-50%) rotate(45deg);
}

body.laminam-mobile-open #laminam-mobile-open.laminam-menu-toggle--close::after,
body.laminam-mobile-open #laminam-mobile-open::after {
	top: 50%;
	transform: translateX(-50%) rotate(-45deg);
}

.laminam-mobile__head .laminam-mobile-close,
#laminam-mobile-close {
	display: none !important;
}

/* Mobile drawer CTAs: same chrome as header actions (40px), keep navy fill on tap. */
.laminam-mobile-foot-actions {
	display: grid !important;
	grid-template-columns: 40px minmax(0, 1fr) !important;
	gap: 0.65rem !important;
	align-items: center !important;
}

.laminam-mobile .laminam-btn--primary,
.laminam-mobile .laminam-btn--primary:hover,
.laminam-mobile .laminam-btn--primary:focus,
.laminam-mobile .laminam-btn--primary:focus-visible,
.laminam-mobile .laminam-btn--primary:active,
.laminam-mobile a.laminam-mobile-cta,
.laminam-mobile a.laminam-mobile-cta:hover,
.laminam-mobile a.laminam-mobile-cta:focus,
.laminam-mobile a.laminam-mobile-cta:focus-visible,
.laminam-mobile a.laminam-mobile-cta:active {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 40px !important;
	height: 40px !important;
	max-height: 40px !important;
	margin: 0 !important;
	padding: 0 1rem !important;
	border: 1px solid #002a3a !important;
	border-radius: 999px !important;
	background: #002a3a !important;
	background-color: #002a3a !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-family: "Work Sans", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.035em !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
}

.laminam-mobile .laminam-btn--ghost,
.laminam-mobile .laminam-btn--ghost:hover,
.laminam-mobile .laminam-btn--ghost:focus,
.laminam-mobile .laminam-btn--ghost:focus-visible,
.laminam-mobile .laminam-btn--ghost:active,
.laminam-mobile a.laminam-mobile-call,
.laminam-mobile a.laminam-mobile-call:hover,
.laminam-mobile a.laminam-mobile-call:focus,
.laminam-mobile a.laminam-mobile-call:focus-visible,
.laminam-mobile a.laminam-mobile-call:active {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	min-width: 40px !important;
	max-width: 40px !important;
	min-height: 40px !important;
	height: 40px !important;
	max-height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(0, 42, 58, 0.18) !important;
	border-radius: 999px !important;
	background: #fff !important;
	background-color: #fff !important;
	color: #002a3a !important;
	-webkit-text-fill-color: #002a3a !important;
	box-sizing: border-box !important;
}

.laminam-mobile-call__icon {
	width: 18px !important;
	height: 18px !important;
}

/*
 * Unclassed inline links in page content — Hello Biz sets a { color: #c36 }.
 * Catches Elementor text widgets and any <p><a> without a component class.
 */
:is(#primary, main, .site-main) :is(p, li) > a:is(:link, :visited):where(:not([class])),
.elementor-widget-text-editor :is(p, li) > a:is(:link, :visited):where(:not([class])) {
	color: #002a3a;
	text-decoration: underline;
	text-decoration-color: rgba(0, 42, 58, 0.35);
	text-underline-offset: 0.15em;
}

:is(#primary, main, .site-main) :is(p, li) > a:where(:not([class])):hover,
:is(#primary, main, .site-main) :is(p, li) > a:where(:not([class])):focus-visible,
.elementor-widget-text-editor :is(p, li) > a:where(:not([class])):hover,
.elementor-widget-text-editor :is(p, li) > a:where(:not([class])):focus-visible {
	color: #073343;
	text-decoration-color: currentColor;
}

/* ——— Header material search ——— */
.laminam-header__actions {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	flex-shrink: 0;
	margin-left: auto;
}

/*
 * Desktop hamburger chrome:
 * horizontal mega nav stays in DOM for structure, but browse lives in the drawer.
 * Always-visible: search, Profil (Studio inject), Zatražite ponudu, hamburger.
 */
.laminam-header .laminam-nav,
[data-laminam-header] .laminam-nav {
	display: none !important;
}

.laminam-header .laminam-menu-toggle,
[data-laminam-header] .laminam-menu-toggle {
	display: inline-block !important;
	margin-left: 0 !important;
	flex-shrink: 0;
}

.laminam-header__actions .laminam-btn--primary {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 40px !important;
	height: 40px !important;
	padding: 0 1rem !important;
	font-size: 13px !important;
	line-height: 1 !important;
	letter-spacing: 0.035em !important;
}

/* Desktop drawer: panel under header; no Meni head / no call+CTA foot. */
@media (min-width: 1121px) {
	.laminam-mobile,
	aside.laminam-mobile#laminam-mobile,
	.elementor-location-header .laminam-mobile,
	.elementor-location-header aside.laminam-mobile#laminam-mobile {
		top: var(--lm-site-header-bottom, var(--lm-site-header-height, 94px)) !important;
		bottom: 0 !important;
		width: 315px !important;
		max-width: 315px !important;
		min-width: 315px !important;
		max-height: calc(100svh - var(--lm-site-header-bottom, var(--lm-site-header-height, 94px))) !important;
		max-height: calc(100dvh - var(--lm-site-header-bottom, var(--lm-site-header-height, 94px))) !important;
		grid-template-rows: minmax(0, 1fr) !important;
	}

	body.admin-bar .laminam-mobile,
	body.admin-bar aside.laminam-mobile#laminam-mobile,
	body.admin-bar .elementor-location-header .laminam-mobile {
		top: var(--lm-site-header-bottom, calc(32px + var(--lm-site-header-height, 94px))) !important;
		max-height: calc(100svh - var(--lm-site-header-bottom, calc(32px + var(--lm-site-header-height, 94px)))) !important;
		max-height: calc(100dvh - var(--lm-site-header-bottom, calc(32px + var(--lm-site-header-height, 94px)))) !important;
	}

	.laminam-mobile-backdrop,
	.elementor-location-header .laminam-mobile-backdrop,
	body.laminam-mobile-open .laminam-mobile-backdrop,
	body.laminam-mobile-open .elementor-location-header .laminam-mobile-backdrop {
		top: var(--lm-site-header-bottom, var(--lm-site-header-height, 94px)) !important;
		right: 315px !important;
	}

	body.admin-bar .laminam-mobile-backdrop,
	body.admin-bar .elementor-location-header .laminam-mobile-backdrop,
	body.admin-bar.laminam-mobile-open .laminam-mobile-backdrop {
		top: var(--lm-site-header-bottom, calc(32px + var(--lm-site-header-height, 94px))) !important;
	}

	/* Keep sticky header above the panel so hamburger ↔ X stays in place. */
	body.laminam-mobile-open .laminam-header,
	body.laminam-mobile-open .elementor-location-header {
		z-index: calc(var(--laminam-z-mobile, 1300) + 10) !important;
	}

	body.laminam-mobile-open .laminam-mobile,
	body.laminam-mobile-open aside.laminam-mobile#laminam-mobile,
	body.laminam-mobile-open .elementor-location-header .laminam-mobile {
		z-index: calc(var(--laminam-z-mobile, 1300) + 6) !important;
	}

	body.laminam-mobile-open .laminam-mobile-backdrop,
	body.laminam-mobile-open .elementor-location-header .laminam-mobile-backdrop {
		z-index: calc(var(--laminam-z-mobile-backdrop, 1290) + 6) !important;
	}

	.laminam-mobile__head,
	.laminam-mobile__foot {
		display: none !important;
	}

	.laminam-mobile__body {
		padding: 18px 18px 24px !important;
	}

	.laminam-mobile-acc--cards[open] .laminam-mobile-card-grid {
		gap: 10px !important;
	}

	.laminam-mobile-section-links {
		display: none;
	}

	.laminam-mobile-acc--cards[open] .laminam-mobile-section-links {
		display: flex !important;
		flex-wrap: wrap;
		gap: 8px;
		margin: 0 0 2px !important;
	}

	.laminam-mobile-acc--cards[open] .laminam-mobile-section-links .laminam-mobile-section-link {
		margin: 0 !important;
	}

	.laminam-mobile-acc--cards[open] > .laminam-mobile-section-link {
		margin: 0 0 2px !important;
	}
}

/* Override Elementor kit `.elementor-kit-6 button` (navy filled pill + padding). */
body.elementor-kit-6 .laminam-header button.laminam-header-search,
body.elementor-kit-6 button.laminam-header-search,
.laminam-header button.laminam-header-search,
button.laminam-header-search {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	min-height: 40px !important;
	max-width: 40px !important;
	max-height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(0, 42, 58, 0.14) !important;
	border-radius: 999px !important;
	background: #fff !important;
	background-color: #fff !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #002a3a !important;
	-webkit-text-fill-color: #002a3a !important;
	fill: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

body.elementor-kit-6 .laminam-header button.laminam-header-search svg,
body.elementor-kit-6 button.laminam-header-search svg,
.laminam-header button.laminam-header-search svg,
button.laminam-header-search svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	stroke: currentColor !important;
	color: inherit !important;
	flex-shrink: 0;
	pointer-events: none;
}

body.elementor-kit-6 .laminam-header button.laminam-header-search:hover,
body.elementor-kit-6 .laminam-header button.laminam-header-search:focus,
body.elementor-kit-6 .laminam-header button.laminam-header-search:focus-visible,
body.elementor-kit-6 button.laminam-header-search:hover,
body.elementor-kit-6 button.laminam-header-search:focus,
body.elementor-kit-6 button.laminam-header-search:focus-visible,
.laminam-header button.laminam-header-search:hover,
.laminam-header button.laminam-header-search:focus-visible,
button.laminam-header-search:hover,
button.laminam-header-search:focus-visible {
	border-color: rgba(0, 42, 58, 0.28) !important;
	color: #073343 !important;
	-webkit-text-fill-color: #073343 !important;
	background: #fff !important;
	background-color: #fff !important;
	background-image: none !important;
	box-shadow: none !important;
	transform: translateY(-1px);
	outline: none;
}

button.laminam-header-search:focus-visible {
	outline: 2px solid #7fa9b6 !important;
	outline-offset: 2px;
}

@media (max-width: 1120px) {
	/* Search + hamburger are a tight cluster on the right. */
	.laminam-header__inner {
		column-gap: 0.35rem !important;
	}

	.laminam-header__actions {
		margin-left: auto;
		margin-right: 0;
		gap: 0.25rem;
	}

	.laminam-header__actions .laminam-btn--primary {
		display: none !important;
	}

	body.elementor-kit-6 button.laminam-header-search,
	button.laminam-header-search {
		display: inline-flex !important;
	}

	/* Menu toggle sits directly after search — do not push it to the far right. */
	.laminam-header .laminam-menu-toggle {
		margin-left: 0 !important;
	}
}

@media (max-width: 767px) {
	.laminam-header__inner {
		column-gap: 0.15rem !important;
	}

	/*
	 * Logo follows remaining viewport after padding + search + account + hamburger.
	 * Fixed 162px from the Elementor widget overflows on 320–375px phones.
	 */
	.laminam-header__logo {
		flex: 1 1 auto;
		min-width: 0;
		max-width: min(162px, calc(100vw - 13.5rem));
	}

	.laminam-header__logo img {
		display: block;
		width: 100% !important;
		max-width: 100%;
		height: auto;
	}
}

body.lm-site-header-search-open {
	overflow: hidden;
}

.lm-site-header-search {
	position: fixed;
	inset: 0;
	z-index: calc(var(--laminam-z-popup, 1400) + 2);
	display: none !important;
	align-items: start;
	justify-items: center;
	padding: calc(var(--lm-site-header-bottom, 94px) + 0.5rem) var(--lm-page-padding-x, 40px) 1.5rem;
	pointer-events: none;
	visibility: hidden;
}

.lm-site-header-search:not([hidden]) {
	display: grid !important;
	pointer-events: auto;
	visibility: visible;
}

.lm-site-header-search__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 42, 58, 0.22);
	opacity: 0;
	transition: opacity var(--lm-motion-duration-fast, 180ms) cubic-bezier(0.22, 1, 0.36, 1);
}

.lm-site-header-search:not([hidden]) .lm-site-header-search__backdrop {
	opacity: 1;
}

.lm-site-header-search__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(100%, 36rem);
	max-height: calc(100dvh - var(--lm-site-header-bottom, 94px) - 1.5rem);
	margin: 0;
	padding: 0.85rem 0.95rem 0.95rem;
	border: 1px solid rgba(0, 42, 58, 0.1);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 40px rgba(0, 42, 58, 0.1);
	opacity: 0;
	transform: translateY(-6px);
	transition:
		opacity var(--lm-motion-duration-fast, 180ms) cubic-bezier(0.22, 1, 0.36, 1),
		transform var(--lm-motion-duration-fast, 180ms) cubic-bezier(0.22, 1, 0.36, 1);
	min-height: 0;
}

.lm-site-header-search__form {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-height: 0;
	flex: 1 1 auto;
}

.lm-site-header-search:not([hidden]) .lm-site-header-search__panel {
	opacity: 1;
	transform: translateY(0);
}

.lm-site-header-search__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 0 0.55rem;
}

.lm-site-header-search__title {
	margin: 0;
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lm-navy-light, #7fa9b6);
}

/*
 * Kill Elementor kit `.elementor-kit-6 button` / [type=submit]
 * navy filled pills on header search close + submit.
 */
body.elementor-kit-6 .lm-site-header-search button.lm-site-header-search__close,
.lm-site-header-search button.lm-site-header-search__close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 1.85rem !important;
	height: 1.85rem !important;
	min-width: 1.85rem !important;
	min-height: 1.85rem !important;
	max-width: 1.85rem !important;
	max-height: 1.85rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #4c5659 !important;
	-webkit-text-fill-color: #4c5659 !important;
	font-family: "Work Sans", Arial, sans-serif !important;
	font-size: 1.35rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	cursor: pointer;
	appearance: none !important;
	-webkit-appearance: none !important;
}

body.elementor-kit-6 .lm-site-header-search button.lm-site-header-search__close:hover,
body.elementor-kit-6 .lm-site-header-search button.lm-site-header-search__close:focus,
body.elementor-kit-6 .lm-site-header-search button.lm-site-header-search__close:focus-visible,
.lm-site-header-search button.lm-site-header-search__close:hover,
.lm-site-header-search button.lm-site-header-search__close:focus-visible {
	background: rgba(0, 42, 58, 0.05) !important;
	background-color: rgba(0, 42, 58, 0.05) !important;
	color: #002a3a !important;
	-webkit-text-fill-color: #002a3a !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: none;
}

.lm-site-header-search__field {
	position: relative;
}

.lm-site-header-search__input {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 0.72rem 2.85rem 0.72rem 1rem;
	border: 1px solid rgba(0, 42, 58, 0.14);
	border-radius: 999px !important;
	background: #fff;
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.3;
	color: #002a3a;
	appearance: none;
	-webkit-appearance: none;
}

.lm-site-header-search__input::-webkit-search-decoration,
.lm-site-header-search__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.lm-site-header-search__input::-ms-clear {
	display: none;
	width: 0;
	height: 0;
}

.lm-site-header-search__input:focus {
	border-color: rgba(0, 42, 58, 0.26);
	outline: none;
	box-shadow: 0 0 0 3px rgba(127, 169, 182, 0.18);
}

.lm-site-header-search__input::placeholder {
	color: #8a9499;
}

body.elementor-kit-6 .lm-site-header-search button.lm-site-header-search__submit,
body.elementor-kit-6 .lm-site-header-search button.lm-site-header-search__submit[type="submit"],
.lm-site-header-search button.lm-site-header-search__submit,
.lm-site-header-search button.lm-site-header-search__submit[type="submit"] {
	position: absolute !important;
	top: 50% !important;
	right: 0.35rem !important;
	left: auto !important;
	bottom: auto !important;
	transform: translateY(-50%) !important;
	z-index: 2;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.1rem !important;
	height: 2.1rem !important;
	min-width: 2.1rem !important;
	min-height: 2.1rem !important;
	max-width: 2.1rem !important;
	max-height: 2.1rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #002a3a !important;
	-webkit-text-fill-color: #002a3a !important;
	font-size: 0 !important;
	line-height: 0 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	white-space: nowrap !important;
	cursor: pointer;
	appearance: none !important;
	-webkit-appearance: none !important;
}

body.elementor-kit-6 .lm-site-header-search button.lm-site-header-search__submit svg,
.lm-site-header-search button.lm-site-header-search__submit svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	stroke: currentColor !important;
	color: inherit !important;
	fill: none !important;
	pointer-events: none;
}

body.elementor-kit-6 .lm-site-header-search button.lm-site-header-search__submit:hover,
body.elementor-kit-6 .lm-site-header-search button.lm-site-header-search__submit:focus,
body.elementor-kit-6 .lm-site-header-search button.lm-site-header-search__submit:focus-visible,
.lm-site-header-search button.lm-site-header-search__submit:hover,
.lm-site-header-search button.lm-site-header-search__submit:focus,
.lm-site-header-search button.lm-site-header-search__submit:focus-visible,
.lm-site-header-search button.lm-site-header-search__submit:active {
	background: rgba(0, 42, 58, 0.06) !important;
	background-color: rgba(0, 42, 58, 0.06) !important;
	color: #073343 !important;
	-webkit-text-fill-color: #073343 !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: none;
	transform: translateY(-50%) !important;
}

.lm-site-header-search__suggest {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	margin-top: 0.55rem;
	/* Tall enough to show many hits; list scrolls for the rest. */
	max-height: min(32rem, calc(100dvh - var(--lm-site-header-bottom, 94px) - 10.5rem));
	overflow: hidden;
	border: 1px solid rgba(0, 42, 58, 0.1);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 16px 36px rgba(0, 42, 58, 0.1);
}

.lm-site-header-search__suggest[hidden] {
	display: none !important;
}

.lm-site-header-search__suggest-list {
	margin: 0;
	padding: 0.35rem;
	list-style: none;
	flex: 1 1 auto;
	min-height: 0;
	max-height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	touch-action: pan-y;
}

/* Override Elementor kit navy button chrome on suggest rows. */
body.elementor-kit-6 .lm-site-header-search__suggest button.lm-site-header-search__suggest-btn,
.lm-site-header-search__suggest button.lm-site-header-search__suggest-btn {
	display: grid !important;
	grid-template-columns: 2.5rem minmax(0, 1fr) !important;
	gap: 0.65rem !important;
	align-items: center !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0.45rem 0.55rem !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	color: #002a3a !important;
	-webkit-text-fill-color: #002a3a !important;
	font-family: "Work Sans", Arial, sans-serif !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	line-height: 1.3 !important;
	text-align: left !important;
	text-transform: none !important;
	white-space: normal !important;
	cursor: pointer;
	appearance: none !important;
	-webkit-appearance: none !important;
	box-sizing: border-box !important;
}

body.elementor-kit-6 .lm-site-header-search__suggest button.lm-site-header-search__suggest-btn:hover,
body.elementor-kit-6 .lm-site-header-search__suggest button.lm-site-header-search__suggest-btn:focus,
body.elementor-kit-6 .lm-site-header-search__suggest button.lm-site-header-search__suggest-btn:focus-visible,
.lm-site-header-search__suggest button.lm-site-header-search__suggest-btn:hover,
.lm-site-header-search__suggest button.lm-site-header-search__suggest-btn:focus-visible {
	background: rgba(238, 244, 246, 0.9) !important;
	background-color: rgba(238, 244, 246, 0.9) !important;
	color: #002a3a !important;
	-webkit-text-fill-color: #002a3a !important;
	box-shadow: none !important;
	outline: none;
}

.lm-site-header-search__suggest-swatch {
	display: block;
	flex: 0 0 2.5rem;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
	border-radius: 50%;
	background: #f2f5f6;
	box-shadow: inset 0 0 0 1px rgba(0, 42, 58, 0.1);
	isolation: isolate;
}

.lm-site-header-search__suggest-swatch img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	object-fit: cover;
	object-position: center;
	transform: scale(1.08);
	transform-origin: center;
}

.lm-site-header-search__suggest-text {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.lm-site-header-search__suggest-meta {
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #7fa9b6;
}

.lm-site-header-search__suggest-label {
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	color: #002a3a;
}

@media (prefers-reduced-motion: reduce) {
	.lm-site-header-search__backdrop,
	.lm-site-header-search__panel {
		transition: none !important;
	}

	.lm-site-header-search:not([hidden]) .lm-site-header-search__panel {
		transform: none;
	}
}

@media (max-width: 767px) {
	.lm-site-header-search {
		padding-inline: 16px;
	}

	.lm-site-header-search__panel {
		border-radius: 16px;
		max-height: calc(100dvh - var(--lm-site-header-bottom, 78px) - 1rem);
	}

	.lm-site-header-search__input {
		min-height: 48px;
		padding: 0.72rem 2.85rem 0.72rem 1.1rem;
		border-radius: 999px !important;
		font-size: 16px !important;
		line-height: 1.35;
	}

	.lm-site-header-search__suggest {
		border-radius: 16px;
		/* Leave room for header, field, and soft keyboard when present. */
		max-height: min(52dvh, calc(100dvh - var(--lm-site-header-bottom, 78px) - 9.5rem));
	}
}

/* cache-bust: header-fixed-nav-2026-07-08b */
