/*  Reusable chrome: logo, header, footer, cookie banner.
	Numbers are the board's, not approximations — header padding 22/120,
	nav gap 34, footer top 84/64 with a 64 gap, bar 24/26. */

/* ---- Logo -------------------------------------------------------------- */

.ek-logo {
	display: inline-flex;
	align-items: center;
	gap: calc(11px * var(--ek-logo-scale, 1));
	color: var(--ek-white);
	flex: none;
}

.ek-logo__mark {
	width: calc(40px * var(--ek-logo-scale, 1));
	height: calc(40px * var(--ek-logo-scale, 1));
	flex: none;
}

.ek-logo__text {
	display: flex;
	flex-direction: column;
	gap: calc(2px * var(--ek-logo-scale, 1));
}

.ek-logo__word {
	font-size: calc(20px * var(--ek-logo-scale, 1));
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1;
	color: var(--ek-white);
}

.ek-logo__sub {
	font-size: calc(8.5px * var(--ek-logo-scale, 1));
	font-weight: 500;
	letter-spacing: 0.22em;
	line-height: 1;
	color: var(--ek-text-muted);
}

/* ---- Header ------------------------------------------------------------ */

.ek-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--ek-bg-deep);
}

.ek-header__inner {
	display: flex;
	align-items: center;
	gap: 40px;
	padding: 22px var(--ek-gutter);
	max-width: calc(var(--ek-container) + var(--ek-gutter) * 2);
	margin-inline: auto;
}

.ek-header__nav {
	margin-left: auto;
}

.ek-header__list {
	display: flex;
	align-items: center;
	gap: 34px;
	line-height: 1.2;
}

.ek-header__link {
	font-size: var(--ek-nav);
	font-weight: 500;
	color: var(--ek-text-onDeep-soft);
	line-height: 1.2;
}

.ek-header__link:hover {
	color: var(--ek-white);
}

.ek-header__cta {
	flex: none;
}

.ek-header__burger,
.ek-header__drawer {
	display: none;
}

/* ---- Footer ------------------------------------------------------------ */

.ek-footer {
	background: var(--ek-bg-footer);
}

.ek-footer__top,
.ek-footer__bar {
	max-width: calc(var(--ek-container) + var(--ek-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--ek-gutter);
}

.ek-footer__top {
	display: flex;
	align-items: flex-start;
	gap: 64px;
	padding-top: 84px;
	padding-bottom: 64px;
}

.ek-footer__brand {
	width: 300px;
	flex: none;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.ek-footer__tagline {
	font-size: var(--ek-body-xs);
	line-height: 1.6;
	color: var(--ek-text-muted);
}

.ek-footer__address {
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-style: normal;
	font-size: var(--ek-body-xs);
	line-height: 1.2;
}

.ek-footer__legal-name {
	font-weight: 500;
	color: var(--ek-white);
}

.ek-footer__dim {
	color: var(--ek-text-dim);
}

.ek-footer__address a {
	color: var(--ek-text-onDeep);
}

.ek-footer__address a:hover {
	color: var(--ek-white);
}

.ek-footer__socials {
	display: flex;
	gap: 16px;
	font-size: var(--ek-body-xs);
	color: var(--ek-text-onDeep);
}

.ek-footer__col {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ek-footer__col-title {
	font-size: var(--ek-label);
	font-weight: 600;
	letter-spacing: var(--ek-label-ls);
	text-transform: uppercase;
	color: var(--ek-text-footer-head);
	line-height: 1.2;
}

.ek-footer__col-list {
	display: flex;
	flex-direction: column;
	gap: 11px;
	line-height: 1.2;
}

.ek-footer__col-list a {
	font-size: var(--ek-body-xs);
	color: var(--ek-text-onDeep);
	line-height: 1.2;
}

.ek-footer__col-list a:hover {
	color: var(--ek-white);
}

.ek-footer__bar {
	display: flex;
	align-items: center;
	gap: 26px;
	padding-top: 24px;
	padding-bottom: 26px;
	border-top: 1px solid var(--ek-line-onDark-10);
}

.ek-footer__copy {
	font-size: var(--ek-micro);
	line-height: 1.2;
	color: var(--ek-text-dim);
}

.ek-footer__bar-links {
	display: flex;
	gap: 26px;
	margin-left: auto;
	line-height: 1.2;
}

.ek-footer__bar-links a {
	font-size: var(--ek-micro);
	line-height: 1.2;
	color: var(--ek-text-muted);
}

.ek-footer__bar-links a:hover {
	color: var(--ek-white);
}

/* ---- Cookie banner ----------------------------------------------------- */

.ek-cookie {
	position: fixed;
	left: var(--ek-gutter);
	bottom: 32px;
	z-index: 90;
	width: 760px;
	max-width: calc(100vw - var(--ek-gutter) * 2);
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 22px 26px;
	background: var(--ek-bg-card);
	border: 1px solid var(--ek-line);
	border-radius: var(--ek-radius);
	box-shadow: var(--ek-shadow-cookie);
}

.ek-cookie[hidden] {
	display: none;
}

.ek-cookie__text {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.ek-cookie__title {
	font-size: var(--ek-body-s);
	font-weight: 600;
	letter-spacing: -0.002em;
	color: var(--ek-text);
}

.ek-cookie__body {
	font-size: var(--ek-micro);
	line-height: 1.52;
	color: var(--ek-text-soft);
	max-width: 400px;
}

.ek-cookie__actions {
	display: flex;
	gap: 10px;
	margin-left: auto;
	flex: none;
}

.ek-cookie__btn {
	padding: 12px 18px;
	font-size: var(--ek-micro);
}

/* ---- Language switcher -------------------------------------------------- */

/*  Not on the board — added on the client's request so a second language can be
	turned on later without redesigning the header. Sized to sit between the nav
	and the button without changing the header's 87px height. */
.ek-lang {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: none;
	padding-left: 24px;
	border-left: 1px solid var(--ek-line-onDark);
	line-height: 1.2;
}

.ek-lang__item {
	font-size: var(--ek-micro);
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--ek-text-muted);
	transition: color var(--ek-dur) var(--ek-ease);
}

.ek-lang__item.is-current {
	color: var(--ek-white);
}

/*  A language with no translation yet: visible, so the control looks complete,
	but not clickable — a link to a page that does not exist is worse than none. */
.ek-lang__item.is-disabled {
	color: var(--ek-text-dim);
	cursor: default;
}

a.ek-lang__item:hover {
	color: var(--ek-white);
}

@media (max-width: 900px) {
	/* In the drawer it sits with the menu, not squeezed into the bar. */
	.ek-header__inner .ek-lang {
		display: none;
	}

	.ek-header__drawer .ek-lang {
		padding-left: 0;
		border-left: 0;
		gap: 14px;
	}

	.ek-header__drawer .ek-lang__item {
		font-size: var(--ek-body-m);
	}
}

@media (min-width: 901px) {
	.ek-header__drawer .ek-lang {
		display: none;
	}
}

.ek-footer__status {
	line-height: 1.5;
}
