/*
 * Figma sticky navigation
 * Desktop sticky (~54px): ATRIN MADANI wordmark + Approved mark | nav | lang | CTA
 * Mobile sticky (~57px): ATRIN MADANI wordmark | hamburger
 *
 * Top-of-page chrome stays as artboard headers (location + mark / mark + menu).
 * On scroll → .is-sticky swaps to sticky frames with animation.
 *
 * Breakpoints:
 * ≥1512  — Figma pitch
 * 992–1511 — fluid 4-col
 * ≤991 — mobile chrome + drawer
 */

body.has-atrin-header-v2 {
	--atrin-text: #1f1f1f;
	--atrin-muted: #f1f1f1;
	--atrin-cta: #110c00;
	--atrin-overlay: #2a2a2a;
	--atrin-frame: 1512px;
	/* Figma: logo top 34 + 66 ≈ 100; wordmark follows at 131 (+30) */
	--atrin-header-h: 100px;
	--atrin-header-sticky-h: 80px;
	--atrin-font: 'Inter', sans-serif;
	--atrin-nav-font: Futura, 'Futura PT', 'Century Gothic', 'itc-avant-garde-gothic-pro', 'AvantGarde ALT', sans-serif;
	scroll-padding-top: calc(var(--atrin-header-sticky-h, var(--atrin-header-h)) + 12px);
}

/* Hidden until sticky — Figma Sticky Navigation Desktop/Mobile wordmark */
.atrin-header__sticky-wordmark {
	display: none;
	line-height: 0;
	text-decoration: none;
	flex-shrink: 0;
}

.atrin-header__sticky-wordmark img {
	display: block;
	width: 175px;
	height: auto;
	max-width: 100%;
}

body.has-atrin-header-v2 header.site-header.site-header--v2 {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: none !important;
	height: var(--atrin-header-h) !important;
	min-height: var(--atrin-header-h) !important;
	padding: 0 !important;
	margin: 0 !important;
	z-index: 999999 !important;
	background: #fff !important;
	display: block !important;
	box-shadow: none !important;
	border: 0 !important;
	border-bottom: 0 solid transparent;
	/* visible so location/time never clip under the Approved mark */
	overflow: visible;
	transform: translate3d(0, 0, 0);
	will-change: transform, box-shadow, height;
	transition:
		height 0.38s cubic-bezier(0.22, 1, 0.36, 1),
		min-height 0.38s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.38s ease,
		transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Scrolled sticky — Figma Sticky Navigation Desktop / Mobile */
body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky {
	height: var(--atrin-header-sticky-h) !important;
	min-height: var(--atrin-header-sticky-h) !important;
	box-shadow: 0 1px 0 rgba(17, 12, 0, 0.08), 0 8px 24px rgba(17, 12, 0, 0.06);
	animation: atrin-header-sticky-in 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes atrin-header-sticky-in {
	from {
		transform: translate3d(0, -100%, 0);
		opacity: 0.7;
	}
	to {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.has-atrin-header-v2 header.site-header.site-header--v2 {
		transition: none;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky {
		animation: none;
	}
}

/* Desktop sticky chrome (Figma Sticky Navigation Desktop) */
@media (min-width: 992px) {
	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__shell {
		height: var(--atrin-header-sticky-h);
		display: flex;
		align-items: center;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__row {
		height: 100%;
		align-items: center;
		grid-template-columns: auto auto minmax(0, 1fr) auto;
		column-gap: clamp(12px, 1.6vw, 28px);
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__sticky-wordmark {
		display: block;
		grid-column: 1;
		align-self: center;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__sticky-wordmark img {
		/* Feedback: ATRIN MADANI sticky wordmark scales with artboard */
		width: calc(270 * var(--atrin-u));
		max-width: min(calc(270 * var(--atrin-u)), 28vw);
		height: auto;
	}

	/* Feedback: sticky nav scales with artboard (top bar stays proportional) */
	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__nav-list a,
	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__lang a,
	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__lang-sep {
		font-size: calc(14 * var(--atrin-u)) !important;
		line-height: calc(19 * var(--atrin-u));
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__col--location {
		display: none !important;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__col--logo {
		grid-column: 2;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__logo {
		width: 28px;
		height: 36px;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__logo img {
		width: 28px;
		height: 36px;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__col--nav {
		grid-column: 3;
		justify-self: end;
		align-self: center;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__col--actions {
		grid-column: 4;
		align-self: center;
		gap: 20px;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__cta {
		width: auto;
		min-width: calc(120 * var(--atrin-u));
		height: calc(34 * var(--atrin-u));
		padding: calc(8 * var(--atrin-u)) calc(22 * var(--atrin-u));
		font-size: calc(14 * var(--atrin-u));
	}
}

@media (min-width: 1512px) {
	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__row {
		/* sticky: wordmark | badge | nav | actions — not the top-bar 247|51 spacer */
		grid-template-columns: auto 28px minmax(0, 1fr) auto;
		column-gap: 18px;
	}
}

/* Mobile sticky chrome (Figma Sticky Navigation Mobile) */
@media (max-width: 991px) {
	body.has-atrin-header-v2 {
		--atrin-header-sticky-h: 57px;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky {
		height: var(--atrin-header-sticky-h) !important;
		min-height: var(--atrin-header-sticky-h) !important;
		background: #fff !important;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__shell {
		height: var(--atrin-header-sticky-h);
		padding: 0 10px;
		display: flex;
		align-items: center;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__row {
		height: 100%;
		width: 100%;
		align-items: center;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__sticky-wordmark {
		display: block;
		order: 0;
		margin-right: auto;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__sticky-wordmark img {
		width: min(206px, 58vw);
		height: auto;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__col--logo {
		display: none !important;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2.is-sticky .atrin-header__toggle {
		padding-top: 0;
		align-self: center;
	}
}

body.has-atrin-header-v2 .site-header--v2 .header-menu-wrap,
body.has-atrin-header-v2 .site-header--v2 .header-wrap,
body.has-atrin-header-v2 .site-header--v2 .main-menu {
	all: unset;
}

.atrin-header__mobile-overlay {
	display: none;
}

.atrin-header__toggle {
	display: none;
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	cursor: pointer;
	line-height: 0;
	color: inherit !important;
	-webkit-text-fill-color: inherit;
}

.atrin-header__toggle:hover,
.atrin-header__toggle:focus,
.atrin-header__toggle:focus-visible,
.atrin-header__toggle:active,
body.home .elementor-element .atrin-header__toggle:hover,
body.home .elementor-element .atrin-header__toggle:focus,
body.home .elementor-element .atrin-header__toggle:focus-visible,
body.home .elementor-element .atrin-header__toggle:active,
body button.atrin-header__toggle:hover,
body button.atrin-header__toggle:focus,
body button.atrin-header__toggle:active {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: inherit !important;
	outline: none;
}

.atrin-header__toggle img {
	display: block;
	width: 53px;
	height: 10px;
}

/* ========== DESKTOP / LAPTOP (≥992) — 4-column sticky bar ========== */
@media (min-width: 992px) {
	.atrin-header__shell {
		width: 100%;
		max-width: none; /* Figma grid: full-bleed like hero/events, not centered 1512 */
		height: var(--atrin-header-h);
		margin-left: 0;
		margin-right: 0;
		padding: 0 var(--atrin-gutter-x);
		box-sizing: border-box;
	}

	.atrin-header__row {
		display: grid;
		/* location | logo | nav | actions */
		grid-template-columns: auto auto minmax(0, 1fr) auto;
		align-items: center;
		column-gap: clamp(16px, 2.2vw, 40px);
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	.atrin-header__col {
		min-width: 0;
	}

	.atrin-header__col--actions {
		display: flex;
		align-items: center;
		justify-self: end;
		gap: 30px; /* Figma / feedback: lang ↔ Kontakt */
		flex-shrink: 0;
	}

	.atrin-header__location {
		display: inline-flex;
		align-items: center;
		height: calc(19 * var(--atrin-u));
		font-family: var(--atrin-font);
		font-size: calc(16 * var(--atrin-u));
		font-weight: 400;
		line-height: calc(19 * var(--atrin-u));
		color: var(--atrin-text);
		text-transform: uppercase;
		white-space: nowrap;
		letter-spacing: 0;
	}

	.atrin-header__location-gap {
		display: inline-block;
		width: 2.5em;
		height: 1px;
		flex-shrink: 0;
	}

	.atrin-header__location-time {
		font-variant-numeric: tabular-nums;
	}

	.atrin-header__logo {
		display: block;
		width: 51px;
		height: 66px;
		line-height: 0;
	}

	.atrin-header__logo img {
		display: block;
		width: 51px;
		height: 66px;
		object-fit: contain;
	}

	.atrin-header__nav--desktop {
		height: auto;
		line-height: 19px;
		justify-self: end;
	}

	.atrin-header__nav-list {
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
		gap: 18px; /* feedback / Figma item pitch */
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.atrin-header__nav-list li {
		margin: 0;
		padding: 0;
		list-style: none;
		line-height: calc(19 * var(--atrin-u));
	}

	.atrin-header__nav-list a {
		display: block;
		font-family: var(--atrin-font);
		font-size: calc(16 * var(--atrin-u));
		font-weight: 400;
		line-height: calc(19 * var(--atrin-u));
		text-transform: uppercase;
		color: var(--atrin-text) !important;
		text-decoration: none;
		white-space: nowrap;
		letter-spacing: 0;
		transition: opacity 0.2s ease;
	}

	.atrin-header__nav-list a:hover,
	.atrin-header__nav-list a:focus-visible {
		opacity: 0.55;
		outline: none;
	}

	.atrin-header__nav-list a.is-active,
	.atrin-header__nav-list a[aria-current='true'] {
		opacity: 1;
		font-weight: 600;
	}

	.atrin-header__lang {
		display: inline-flex;
		align-items: center;
		gap: calc(7 * var(--atrin-u));
		height: calc(19 * var(--atrin-u));
		font-family: var(--atrin-font);
		font-size: calc(16 * var(--atrin-u));
		font-weight: 400;
		line-height: calc(19 * var(--atrin-u));
		text-transform: uppercase;
		letter-spacing: 0;
		flex-shrink: 0;
		margin-left: 30px;
	}

	.atrin-header__lang a {
		color: var(--atrin-text) !important;
		text-decoration: none;
		opacity: 1;
		font-weight: 400;
	}

	.atrin-header__lang-link.is-active {
		font-weight: 600;
	}

	.atrin-header__lang-sep {
		color: #000;
	}

	.atrin-header__cta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: auto;
		min-width: 137px;
		height: 39px;
		padding: 10px 30px;
		border: 0 !important;
		border-radius: 5px;
		background: var(--atrin-cta) !important;
		background-color: var(--atrin-cta) !important;
		color: #fff !important;
		font-family: var(--atrin-font) !important;
		font-size: 16px;
		font-weight: 400;
		line-height: 1;
		text-transform: uppercase;
		text-decoration: none !important;
		white-space: nowrap;
		letter-spacing: 0;
		transition: opacity 0.2s ease;
		flex-shrink: 0;
	}

	.atrin-header__cta:hover,
	.atrin-header__cta:focus,
	.atrin-header__cta:focus-visible,
	.atrin-header__cta:active {
		opacity: 0.85;
		background: var(--atrin-cta) !important;
		background-color: var(--atrin-cta) !important;
		color: #fff !important;
		outline: none;
	}

	.atrin-header__toggle {
		display: none !important;
	}
}

/*
 * Figma 1512 artboard: location @20 | logo @267 | nav | actions @1260+
 * Nav sits in the flexible middle track and is centered with justify (no padding-left).
 * Avoid a fixed spacer track — DE labels are wider and would collide with actions.
 */
@media (min-width: 1512px) {
	.atrin-header__shell {
		padding: 0 var(--atrin-gutter-x);
	}

	.atrin-header__row {
		/* Scale Figma tracks with --atrin-u so location never collides with Approved */
		grid-template-columns:
			max-content
			calc(51 * var(--atrin-u))
			minmax(0, 1fr)
			auto;
		column-gap: calc(20 * var(--atrin-u));
		align-items: center;
		justify-items: start;
	}

	.atrin-header__col--location {
		/* Keep Berlin + clock clear of the Approved mark */
		padding-right: 0;
		min-width: calc(247 * var(--atrin-u));
	}

	.atrin-header__location-gap {
		width: calc(40 * var(--atrin-u));
	}

	.atrin-header__logo {
		width: calc(51 * var(--atrin-u));
		height: calc(66 * var(--atrin-u));
	}

	.atrin-header__logo img {
		width: 100%;
		height: 100%;
	}

	.atrin-header__col--nav {
		justify-self: stretch;
		display: flex;
		justify-content: end;
		align-items: flex-start;
		min-width: 0;
	}

	.atrin-header__nav-list {
		justify-content: flex-end;
		max-width: 100%;
		gap: calc(18 * var(--atrin-u));
	}

	.atrin-header__col--actions {
		justify-self: end;
		gap: calc(30 * var(--atrin-u));
	}

	.atrin-header__lang {
		margin-left: 0;
	}

	.atrin-header__cta {
		width: auto;
		min-width: calc(137 * var(--atrin-u));
		height: calc(39 * var(--atrin-u));
		padding: calc(10 * var(--atrin-u)) calc(30 * var(--atrin-u));
		font-size: calc(16 * var(--atrin-u));
	}
}

/* Laptop / tablet landscape (992–1511): fluid sticky bar */
@media (min-width: 992px) and (max-width: 1511px) {
	body.has-atrin-header-v2 {
		--atrin-header-h: 90px;
	}

	.atrin-header__shell {
		max-width: none;
		padding: 0 var(--atrin-gutter-x);
	}

	.atrin-header__row {
		grid-template-columns: auto auto minmax(0, 1fr) auto;
		column-gap: clamp(10px, 1.4vw, 28px);
		align-items: center;
	}

	.atrin-header__location {
		height: auto;
		font-size: clamp(11px, 1.05vw, 15px);
		line-height: 1.2;
	}

	.atrin-header__location-gap {
		width: clamp(0.6em, 1.2vw, 1.6em);
	}

	.atrin-header__logo {
		width: clamp(38px, 3.2vw, 48px);
		height: auto;
		aspect-ratio: 51 / 66;
	}

	.atrin-header__logo img {
		width: 100%;
		height: auto;
	}

	.atrin-header__nav-list {
		gap: clamp(10px, 1.2vw, 18px);
	}

	.atrin-header__nav-list a {
		font-size: clamp(10px, 0.95vw, 14px);
		line-height: 1.2;
	}

	.atrin-header__lang {
		height: auto;
		font-size: clamp(10px, 0.95vw, 14px);
		line-height: 1.2;
	}

	.atrin-header__cta {
		width: auto;
		min-width: 0;
		height: 34px;
		padding: 8px clamp(12px, 1.2vw, 22px);
		font-size: clamp(10px, 0.95vw, 14px);
	}
}

@media (min-width: 992px) and (max-width: 1200px) {
	.atrin-header__location-gap {
		width: 0.5em;
	}

	.atrin-header__nav-list {
		gap: clamp(5px, 0.7vw, 10px);
	}

	.atrin-header__nav-list a,
	.atrin-header__lang,
	.atrin-header__location {
		font-size: clamp(9px, 0.88vw, 12px);
	}

	.atrin-header__cta {
		height: 32px;
		padding: 6px 12px;
		font-size: clamp(9px, 0.88vw, 12px);
	}
}

/* ========== MOBILE (≤991) ========== */
@media (max-width: 991px) {
	body.has-atrin-header-v2 {
		--atrin-header-h: 53px;
	}

	body.has-atrin-header-v2 header.site-header.site-header--v2 {
		background: #fff !important;
		height: var(--atrin-header-h) !important;
		min-height: var(--atrin-header-h) !important;
	}

	body.has-atrin-header-v2 .site-header--v2.is-open {
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}

	.atrin-header__shell {
		width: 100%;
		max-width: none;
		height: var(--atrin-header-h);
		padding: 12px 10px 0;
		box-sizing: border-box;
	}

	.atrin-header__row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		height: 41px;
	}

	.atrin-header__col--location,
	.atrin-header__col--nav,
	.atrin-header__col--actions {
		display: none !important;
	}

	.atrin-header__col--logo {
		flex: 0 0 auto;
		line-height: 0;
	}

	.atrin-header__logo {
		display: block;
		width: 32px;
		height: 41px;
	}

	.atrin-header__logo img {
		width: 32px;
		height: 41px;
	}

	.atrin-header__toggle {
		display: block;
		margin: 0;
		padding-top: 7px;
	}

	body.has-atrin-header-v2 #atrin-mobile-menu.atrin-header__mobile-overlay {
		display: none !important;
		box-sizing: border-box;
		background: var(--atrin-overlay);
		pointer-events: none;
	}

	body.has-atrin-header-v2 #atrin-mobile-menu.atrin-header__mobile-overlay.is-open {
		display: flex !important;
		flex-direction: column;
		min-height: 100dvh;
		padding: 15px 20px calc(40px + env(safe-area-inset-bottom, 0px));
		pointer-events: auto;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box;
		/* Match Safari chrome to overlay gray */
		background: #2a2a2a;
	}

	#atrin-mobile-menu .atrin-header__location,
	#atrin-mobile-menu .atrin-header__lang {
		position: static !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
	}

	.atrin-header__mobile-top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		flex: 0 0 auto;
		margin-bottom: 87px;
	}

	.atrin-header__mobile-wordmark {
		display: block;
		flex: 0 1 auto;
		line-height: 0;
	}

	.atrin-header__mobile-wordmark img {
		display: block;
		width: 175px;
		height: auto;
		max-width: min(175px, 48vw);
	}

	.atrin-header__mobile-close {
		appearance: none;
		-webkit-appearance: none;
		border: 0;
		border-radius: 0;
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		box-shadow: none !important;
		padding: 0;
		margin: 0;
		flex: 0 0 auto;
		font-family: var(--atrin-nav-font);
		font-size: 20px;
		font-weight: 500;
		line-height: 40px;
		color: var(--atrin-muted) !important;
		-webkit-text-fill-color: var(--atrin-muted);
		cursor: pointer;
		text-align: right;
		white-space: nowrap;
	}

	.atrin-header__mobile-close:hover,
	.atrin-header__mobile-close:focus,
	.atrin-header__mobile-close:focus-visible,
	.atrin-header__mobile-close:active,
	body.home .elementor-element .atrin-header__mobile-close:hover,
	body.home .elementor-element .atrin-header__mobile-close:focus,
	body.home .elementor-element .atrin-header__mobile-close:focus-visible,
	body.home .elementor-element .atrin-header__mobile-close:active,
	body button.atrin-header__mobile-close:hover,
	body button.atrin-header__mobile-close:focus,
	body button.atrin-header__mobile-close:active {
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		box-shadow: none !important;
		color: var(--atrin-muted) !important;
		-webkit-text-fill-color: var(--atrin-muted);
		outline: none;
		opacity: 0.65;
	}

	.atrin-header__mobile-nav {
		flex: 0 0 auto;
		margin-bottom: 48px;
	}

	.atrin-header__mobile-nav ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.atrin-header__mobile-nav a {
		display: block;
		font-family: var(--atrin-nav-font);
		font-size: 33px;
		font-weight: 500;
		line-height: 40px;
		color: var(--atrin-muted) !important;
		text-decoration: none;
		text-transform: none;
		letter-spacing: 0;
		transition: opacity 0.2s ease;
	}

	.atrin-header__mobile-nav a:hover,
	.atrin-header__mobile-nav a:focus-visible {
		opacity: 0.55;
		outline: none;
	}

	.atrin-header__mobile-nav a.is-active,
	.atrin-header__mobile-nav a[aria-current='true'] {
		opacity: 1;
		font-weight: 600;
	}

	.atrin-header__mobile-cols {
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 41px;
		margin-top: auto;
		/* Extra air above location/lang bar (Figma mobile nav feedback) */
		margin-bottom: clamp(72px, 18vw, 120px);
	}

	.atrin-header__mobile-col {
		flex: 0 0 auto;
	}

	.atrin-header__col-list {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.atrin-header__col-list a,
	.atrin-header__col-list span {
		display: block;
		font-family: var(--atrin-font);
		font-size: 14px;
		font-weight: 400;
		line-height: 26px;
		color: var(--atrin-muted) !important;
		text-decoration: none;
		transition: opacity 0.2s ease;
	}

	.atrin-header__col-list a:hover,
	.atrin-header__col-list a:focus-visible {
		opacity: 0.55;
		outline: none;
	}

	.atrin-header__col-list a.is-active,
	.atrin-header__col-list a[aria-current='true'] {
		opacity: 1;
		font-weight: 600;
	}

	.atrin-header__mobile-footer {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		flex: 0 0 auto;
		min-height: 19px;
	}

	.atrin-header__location--mobile {
		display: inline-flex !important;
		align-items: center;
		flex: 1 1 auto;
		min-width: 0;
		height: 19px;
		font-family: var(--atrin-font);
		font-size: 16px;
		font-weight: 400;
		line-height: 19px;
		color: #fff;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.atrin-header__location--mobile .atrin-header__location-gap {
		width: 2.5em;
	}

	.atrin-header__lang--mobile {
		display: inline-flex;
		align-items: center;
		flex: 0 0 auto;
		gap: 8px;
		height: 19px;
		font-family: var(--atrin-font);
		font-size: 16px;
		line-height: 19px;
		text-transform: uppercase;
	}

	.atrin-header__lang--mobile a {
		color: #fff !important;
		opacity: 1;
		font-weight: 400;
	}

	.atrin-header__lang--mobile .atrin-header__lang-link.is-active {
		font-weight: 600;
	}

	.atrin-header__lang--mobile .atrin-header__lang-sep {
		color: #fff;
	}
}

@media (min-width: 391px) and (max-width: 991px) {
	.atrin-header__mobile-top {
		margin-bottom: 64px;
	}

	.atrin-header__mobile-cols {
		gap: 48px;
	}
}

/*
 * Mobile overlay must NOT expand Elementor section height.
 * Locomotive transform on .page-content makes position:fixed act like absolute;
 * height:100% was creating a ~viewport empty gap under the fixed header.
 */
body.has-atrin-header-v2 #atrin-mobile-menu.atrin-header__mobile-overlay {
	display: none !important;
	position: fixed !important;
	inset: 0 !important;
	width: 100% !important;
	max-width: none !important;
	height: 100dvh !important;
	min-height: 0 !important;
	margin: 0 !important;
	z-index: 10000000 !important;
	pointer-events: none !important;
	overflow: hidden !important;
}

body.has-atrin-header-v2 #atrin-mobile-menu.atrin-header__mobile-overlay.is-open {
	display: flex !important;
	flex-direction: column !important;
	pointer-events: auto !important;
	overflow-y: auto !important;
}

/* Collapse Elementor wrappers — header is position:fixed, must not leave document gap.
 * Keep full height in Elementor editor/preview so the widget stays selectable. */
body.has-atrin-header-v2:not(.elementor-editor-active):not(.elementor-editor-preview) .elementor-element.atrin-header-section,
body.has-atrin-header-v2:not(.elementor-editor-active):not(.elementor-editor-preview) .elementor-element.atrin-header-section > .elementor-container,
body.has-atrin-header-v2:not(.elementor-editor-active):not(.elementor-editor-preview) .elementor-element.atrin-header-section .elementor-column,
body.has-atrin-header-v2:not(.elementor-editor-active):not(.elementor-editor-preview) .elementor-element.atrin-header-section .elementor-widget-wrap,
body.has-atrin-header-v2:not(.elementor-editor-active):not(.elementor-editor-preview) .elementor-element.atrin-header-section .elementor-element-populated,
body.has-atrin-header-v2:not(.elementor-editor-active):not(.elementor-editor-preview) .elementor-element.atrin-header-section .elementor-widget-atrin_header,
body.has-atrin-header-v2:not(.elementor-editor-active):not(.elementor-editor-preview) .elementor-element.atrin-header-section .elementor-widget-container {
	height: 0 !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible !important;
	background: transparent !important;
}

body.has-atrin-header-v2 .elementor-editor-active .elementor-element.atrin-header-section,
body.has-atrin-header-v2.elementor-editor-active .elementor-element.atrin-header-section,
body.has-atrin-header-v2.elementor-editor-preview .elementor-element.atrin-header-section {
	height: auto !important;
	min-height: var(--atrin-header-h, 140px) !important;
}

body.has-atrin-header-v2 .elementor-element.atrin-header-section > .elementor-container {
	display: block !important;
	width: 100% !important;
}

/*
 * Logged-in WP admin bar — fixed header/overlay were covering #wpadminbar
 * (header z-index 999999 > admin bar 99999). Keep toolbar usable on mobile.
 */
body.admin-bar.has-atrin-header-v2 {
	--atrin-admin-bar-h: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar.has-atrin-header-v2 {
		--atrin-admin-bar-h: 46px;
	}
}

body.admin-bar.has-atrin-header-v2 #wpadminbar {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 10000001 !important; /* above site header + mobile overlay */
}

body.admin-bar.has-atrin-header-v2 header.site-header.site-header--v2 {
	top: var(--atrin-admin-bar-h) !important;
}

body.admin-bar.has-atrin-header-v2 #atrin-mobile-menu.atrin-header__mobile-overlay {
	top: var(--atrin-admin-bar-h) !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	inset: auto !important; /* override inset:0 so top offset sticks */
	height: calc(100dvh - var(--atrin-admin-bar-h)) !important;
	max-height: calc(100dvh - var(--atrin-admin-bar-h)) !important;
}
