/**
 * Globalni UI — fontovi, baza, header, footer, dugmad, zajedničke klase.
 * Učitava se POSLE _s style.css i namerno gazi njegove podrazumevane boje
 * i tipografiju. Sve vrednosti iz tokens.css (PLAN.md §18).
 * Breakpointi: 768 / 1024 / 1280 / 1440.
 */

/* ---------- Fontovi (lokalno, bez Google CDN-a — GDPR §20) ---------- */
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin-ext.woff2") format("woff2");  
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {  
	font-family: "Inter";
	font-style: normal; 
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin.woff2") format("woff2"); 
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
  
/* ---------- Baza (gazi _s defaults) ---------- */ 
html {
	scroll-behavior: smooth; 
	/* Sajt je trajno taman — bez ovoga neki browseri/OS kombinacije nasilno
	   prebojavaju native form kontrole (autofill, select, date picker) u
	   svetlu temu preko naše CSS boje, pa tekst u poljima ispadne nečitljiv. */
	color-scheme: dark;  
}

body {
	background: var(--c-bg);
	color: var(--c-text-body);
	font-family: var(--font-sans);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	color: var(--c-text);
	font-weight: var(--fw-semibold);
	clear: none;
}

p { margin: 0; }

ul, ol { margin: 0; padding: 0; }

a {
	color: var(--c-text);
	text-decoration: none;
	transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);
}

a:visited { color: inherit; }

a:hover,
a:focus,
a:active {
	color: var(--c-accent);
	outline: none;
}

a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--c-accent);
	outline-offset: 2px;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

figure { margin: 0; }

dl, dd { margin: 0; }

address { font-style: normal; }

blockquote { margin: 0; }

.container {
	width: 100%;
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--container-pad);
}

.section-border {
	border-bottom: 1px solid var(--c-border-subtle);
}

/* Svetla (invertovana) sekcija — prljavo bela pozadina, taman tekst.
   Premapira tokene, pa sva deca automatski dobijaju tamnu tekst/border
   skalu; zeleni i plavi akcenti ostaju nepromenjeni. */
.section--light {
	--c-bg: var(--c-bg-light);
	--c-bg-alt: var(--c-bg-light);
	--c-surface: var(--c-surface-light);
	--c-text: var(--c-text-inv);
	--c-text-body: var(--c-text-body-inv);
	--c-text-muted: var(--c-text-muted-inv);
	--c-text-faint: var(--c-text-faint-inv);
	--c-border-subtle: var(--c-border-subtle-inv);
	--c-border: var(--c-border-inv);
	--c-border-strong: var(--c-border-strong-inv);
	--c-border-heavy: var(--c-border-heavy-inv);
	--c-border-max: var(--c-border-max-inv);
	background: var(--c-bg-light) !important;
}

/* ---------- Zajedničke klase ---------- */
.accent { color: var(--c-accent); }
.accent-blue { color: var(--c-accent-blue); }

/* Uslovni prelomi reda iz uredničkih oznaka [br-d] / [br-t] / [br-m].
   `display:none` na <br> poništava prelom, pa isti markup služi svim
   rezolucijama. Bezuslovni [br] je običan <br> i nema klasu. */
.br-d,
.br-t,
.br-m { display: none; }

@media (min-width: 1024px) {
	.br-d { display: inline; }
}

@media (min-width: 768px) and (max-width: 1023px) {
	.br-t { display: inline; }
}

@media (max-width: 767px) {
	.br-m { display: inline; }
}

/* „SEE Energy” wordmark — „Energy” ide tanjim rezom (Figma pattern) */
.light { font-weight: var(--fw-light); }

.eyebrow {
	display: flex;
	align-items: center;
	gap: var(--sp-4);
	margin: 0;
	color: var(--c-text-muted);
	font-size: var(--fs-label);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
}

.eyebrow--accent { color: var(--c-accent); }
.eyebrow--blue { color: var(--c-accent-blue); }

.eyebrow__line {
	display: inline-block;
	width: 2.5rem;
	height: 1px;
	background: var(--c-accent);
	flex: none;
}

.overline {
	margin: 0;
	color: var(--c-text-muted);
	font-size: var(--fs-overline);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-overline);
	text-transform: uppercase;
}

.overline--accent { color: var(--c-accent); }
.overline--institutional { color: var(--c-accent-blue); }

.section-index {
	display: flex;
	align-items: center;
	gap: var(--sp-6);
	margin: 0 0 var(--sp-14);
	font-size: var(--fs-label);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
}

.section-index__num { color: var(--c-text); }
.section-index__label { color: var(--c-text-muted); }
.section--light .section-index__label {
    color: #10141a;
}
.section--light .proof-strip__label {
	color: #10141a;
}
.section-index .eyebrow__line { background: var(--c-border-heavy); }

.section-title {
	margin: 0;
	font-size: var(--fs-h2);
	font-weight: var(--fw-semibold);
	line-height: 1.05;
	letter-spacing: var(--ls-heading);
	color: var(--c-text);
	text-wrap: balance;
}

/* ---------- Dugmad ---------- */
.btn,
.btn:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	max-width: 100%;
	gap: var(--sp-3);
	padding: var(--btn-pad-y) var(--btn-pad-x);
	border: 1px solid transparent;
	border-radius: var(--radius);
	font-size: var(--fs-btn);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-btn);
	text-transform: uppercase;
	line-height: 1.5;
	cursor: pointer;
	white-space: nowrap;
}

.btn--primary,
.btn--primary:visited {
	background: var(--c-accent);
	color: var(--c-on-accent);
}

.btn--primary:hover,
.btn--primary:focus {
	background: #ffffff;
	color: var(--c-on-accent);
}

.btn--ghost,
.btn--ghost:visited {
	background: transparent;
	border-color: var(--c-border-heavy);
	color: var(--c-text);
}

.btn--ghost:hover,
.btn--ghost:focus {
	border-color: var(--c-accent);
	color: var(--c-accent);
}

.btn--sm {
	padding: 0.5rem 1rem;
	font-size: var(--fs-overline);
	letter-spacing: var(--ls-overline);
}

.btn__icon {
	font-size: 0.9em;
	line-height: 1;
	transition: transform var(--dur-fast) var(--ease);
}

.btn:hover .btn__icon { transform: translateX(3px); }

.link-arrow,
.link-arrow:visited {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	color: var(--c-text);
	font-size: var(--fs-btn);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-btn);
	text-transform: uppercase;
	border-bottom: 1px solid var(--c-border-heavy);
	padding-bottom: var(--sp-2);
}

.link-arrow:hover { border-bottom-color: var(--c-accent); }

/* Email adrese se uvek ispisuju malim slovima — pregaze uppercase iz .topbar__link / .link-arrow */
.topbar__link[href^="mailto:"],
.link-arrow[href^="mailto:"] {
	text-transform: lowercase;
}

/* Zeleni ugaoni okvir (Figma tickets kartica — 4 ugla) */
.corner-frame {
	position: relative;
	border: 1px solid var(--c-border-strong);
	background: var(--c-surface);
}

.corner-frame::before,
.corner-frame::after,
.corner-frame__aux::before,
.corner-frame__aux::after {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	border: 0 solid var(--c-accent);
	pointer-events: none;
	z-index: 1;
}

.corner-frame::before { top: -1px; left: -1px; border-top-width: 1px; border-left-width: 1px; }
.corner-frame::after { bottom: -1px; right: -1px; border-bottom-width: 1px; border-right-width: 1px; }
.corner-frame__aux::before { top: -1px; right: -1px; border-top-width: 1px; border-right-width: 1px; }
.corner-frame__aux::after { bottom: -1px; left: -1px; border-bottom-width: 1px; border-left-width: 1px; }

.corner-frame__aux {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

/* ---------- Topbar ---------- */
.topbar {
	border-bottom: 1px solid var(--c-border-subtle);
	background: var(--c-bg);
}

.topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-4);
	min-height: 2.375rem;
}

.topbar__org,
.topbar__link,
.topbar__link:visited {
	margin: 0;
	color: var(--c-text-muted);
	font-size: var(--fs-overline);
	font-weight: var(--fw-medium);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.topbar__link:hover { color: var(--c-text); }

.topbar__meta {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
}

.topbar__sep { color: var(--c-border-max); font-size: var(--fs-overline); }

.topbar__lang {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	margin-left: var(--sp-6);
	padding-left: var(--sp-6);
	border-left: 1px solid var(--c-border);
}

.topbar__lang-link,
.topbar__lang-link:visited {
	color: var(--c-text-muted);
	font-size: var(--fs-overline);
	font-weight: var(--fw-medium);
	letter-spacing: 0.14em;
}

.topbar__lang-link.is-active,
.topbar__lang-link:hover { color: var(--c-accent); }

/* ---------- Header / navigacija ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100; 
	background: rgba(14, 17, 23, 0.8);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--c-border-subtle);
}

/* Na pocetnoj header ostaje sticky, ali ne zauzima prostor ispred hero vizuala. */
.header-over-hero {
	--site-header-height: 5.5rem;
}

.header-over-hero .site-header {
	margin-bottom: calc(0rem - var(--site-header-height));
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-8);
	min-height: 5.5rem;
}

.site-branding { flex: none; }

.site-branding .custom-logo-link { display: block; }

.site-branding .custom-logo,
.site-branding__logo {
	height: 2.75rem;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

.site-branding__title,
.site-branding__title:visited {
	font-size: 1.25rem;
	font-weight: var(--fw-bold);
	color: var(--c-text);
	letter-spacing: -0.02em;
}

/* Gazi _s .main-navigation pravila */
.main-navigation {
	display: block;
	position: static;
	flex: 1;
}

.main-navigation ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--sp-8);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Dropdown (npr. „Konferencije” → Govornici / Partneri / Galerija) —
   hover na desktopu, focus-within za tastaturu (§19). */
.main-navigation ul ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	min-width: 12rem;
	padding: var(--sp-2) 0;
	background: var(--c-surface);
	border: 1px solid var(--c-border-strong);
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	z-index: 60;
}

.main-navigation li:hover > ul,
.main-navigation li:focus-within > ul {
	display: flex;
}

.main-navigation ul ul a {
	display: block;
	padding: var(--sp-2) var(--sp-4);
	white-space: nowrap;
}

.main-navigation ul ul a:hover { background: rgba(255, 255, 255, 0.04); }

.main-navigation li { position: relative; margin: 0; }

.main-navigation__cta-item { display: none; }

.main-navigation a,
.main-navigation a:visited {
	display: inline-block;
	color: var(--c-text-body);
	font-size: var(--fs-small);
	font-weight: var(--fw-medium);
	text-decoration: none;
	padding: 0;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
	color: var(--c-text);
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: var(--sp-6);
	flex: none;
}

/* Datum + early bird traka stoje jedno ispod drugog levo od CTA dugmeta. */
.site-header__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--sp-1);
	min-width: 0;
}

.site-header__date {
	color: var(--c-text-body);
	font-size: var(--fs-label);
	font-weight: var(--fw-medium);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.site-header__earlybird {
	margin: 0;
	color: var(--c-text-muted);
	font-size: var(--fs-label);
	font-weight: var(--fw-medium);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1.4;
	white-space: nowrap;
}

.menu-toggle {
	display: none;
	position: relative;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	background: none;
	border: 1px solid var(--c-border-heavy);
	border-radius: 0;
	cursor: pointer;
}

.menu-toggle:hover,
.menu-toggle:active,
.menu-toggle:focus {
	background: none;
	border-color: var(--c-accent);
}

.menu-toggle__bar,
.menu-toggle__bar::before,
.menu-toggle__bar::after {
	position: absolute;
	left: 50%;
	width: 1.125rem;
	height: 2px;
	background: var(--c-text);
	transform: translateX(-50%);
	transition: transform var(--dur-fast) var(--ease);
}

.menu-toggle__bar { top: calc(50% - 1px); }
.menu-toggle__bar::before { content: ""; top: -6px; }
.menu-toggle__bar::after { content: ""; top: 6px; }

/* ---------- Footer ---------- */
.site-footer {
	background: var(--c-bg);
	border-top: 1px solid var(--c-border-subtle);
	padding-block: 5rem 0;
}

.site-footer__top {
	display: grid;
	grid-template-columns: 1.6fr 1fr 0.8fr;
	gap: var(--sp-10);
	padding-bottom: var(--sp-14);
}

.site-footer__logos {
	display: flex;
	align-items: center;
	gap: var(--sp-8);
	margin-bottom: var(--sp-6);
}

.site-footer__logos .custom-logo,
.site-footer__logo { max-height: 3rem; width: auto; height: auto; }

.site-footer__secondary-logo { max-height: 2.25rem; width: auto; height: auto; }

.site-footer__tagline {
	margin: 0 0 var(--sp-8);
	max-width: 27rem;
	color: var(--c-text-body);
	font-size: var(--fs-body-sm);
	line-height: 1.7;
}

.site-footer__socials {
	display: flex;
	gap: var(--sp-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__socials li { margin: 0; }

.site-footer__label {
	margin: 0 0 var(--sp-6);
	color: var(--c-text-muted);
	font-size: var(--fs-overline);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-overline);
	text-transform: uppercase;
}

.site-footer__contact {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
	color: var(--c-text-body);
	font-size: var(--fs-body-sm);
	line-height: 1.7;
}

.site-footer__contact a,
.site-footer__contact a:visited { color: var(--c-text-body); }

.site-footer__contact a:hover { color: var(--c-text); }

.site-footer__nav {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__nav li { margin: 0; }

.site-footer__nav a,
.site-footer__nav a:visited {
	color: var(--c-text-body);
	font-size: var(--fs-body-sm);
}

.site-footer__nav a:hover { color: var(--c-text); }

.site-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-4);
	padding-block: var(--sp-8);
	border-top: 1px solid var(--c-border-subtle);
}

.site-footer__copyright {
	margin: 0;
	color: var(--c-text-muted);
	font-size: var(--fs-label);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.site-footer__privacy,
.site-footer__privacy:visited,
.site-footer__legal .rxnlk-legal-links a,
.site-footer__legal .rxnlk-legal-links a:visited,
.site-footer__credit,
.site-footer__credit:visited {
	color: var(--c-text-muted);
	font-size: var(--fs-label);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.site-footer__credit img {
	height: 1.8125rem;
	width: auto;
	opacity: 0.75;
	transition: opacity var(--dur-fast) var(--ease);
}

.site-footer__credit:hover img { opacity: 1; }

.site-footer__privacy:hover,
.site-footer__legal .rxnlk-legal-links a:hover { color: var(--c-text); }

.site-footer__legal .rxnlk-legal-links ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-2) var(--sp-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 1279px) {
	.site-header__meta { display: none; }

	.main-navigation ul { gap: var(--sp-6); }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }

	*,
	*::before,
	*::after { 
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- Refined mobile navigation ---------- */
@media (max-width: 1023px) {
	.site-header {
		background: rgba(14, 17, 23, 0.96);
		backdrop-filter: none;
	}

	.menu-toggle { display: block; }

	.main-navigation {
		flex: 0 0 2.75rem;
		order: 3;
		width: 2.75rem;
		margin-left: auto;
	}

	.main-navigation ul {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		background: var(--c-bg-alt);
		border-bottom: 1px solid var(--c-border);
		padding: var(--sp-4) var(--container-pad);
	}

	.main-navigation.toggled ul { display: flex; }

	.main-navigation ul a {
		display: block;
		width: 100%;
		padding-block: var(--sp-3);
		font-size: var(--fs-body);
	}

	/* Podmeni na mobilnom: uvek vidljiv, uvučen (bez hover-a) */
	.main-navigation ul ul {
		display: flex;
		position: static;
		transform: none;
		min-width: 0;
		padding: 0 0 0 var(--sp-4);
		background: none;
		border: 0;
	}

	.site-footer__top {
		grid-template-columns: 1fr;
		gap: var(--sp-10);
	}

	html.menu-open,
	body.menu-open {
		overflow: hidden; 
		overscroll-behavior: none;
	}

	.menu-toggle {
		z-index: 103;
		overflow: hidden;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.025);
		transition:
			border-color var(--dur-fast) var(--ease),
			background var(--dur-fast) var(--ease);
	}

	.menu-toggle:hover {
		background: rgba(34, 197, 94, 0.09);
		transform: none;
	}

	.main-navigation::before {
		content: "";
		position: fixed;
		inset: var(--menu-panel-top, 5.5rem) 0 0;
		z-index: 100;
		background: rgba(4, 6, 10, 0.72);
		backdrop-filter: blur(5px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			opacity 420ms var(--ease),
			visibility 0s linear 420ms;
	}

	.main-navigation .nav-menu {
		display: flex;
		position: fixed;
		top: var(--menu-panel-top, 5.5rem);
		right: 0;
		bottom: 0;
		left: auto;
		z-index: 101;
		width: min(29rem, 100vw);
		height: auto;
		max-height: calc(100dvh - var(--menu-panel-top, 5.5rem));
		overflow-x: hidden;
		overflow-y: auto;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
		padding: clamp(2rem, 7vh, 4rem) clamp(2rem, 8vw, 4.5rem) 3rem;
		border: 0;
		border-left: 1px solid var(--c-border-strong);
		background:
			radial-gradient(circle at 100% 0%, rgba(46, 123, 255, 0.16), transparent 35%),
			radial-gradient(circle at 0% 100%, rgba(34, 197, 94, 0.14), transparent 40%),
			var(--c-bg-alt);
		box-shadow: -2rem 0 5rem rgba(0, 0, 0, 0.34);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate3d(100%, 0, 0);
		transition:
			transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
			opacity 360ms var(--ease),
			visibility 0s linear 520ms;
	}

	.main-navigation .nav-menu::before {
		content: "SEE ENERGY  /  NAVIGATION";
		display: block;
		margin-bottom: var(--sp-8);
		padding-bottom: var(--sp-4);
		border-bottom: 1px solid var(--c-border-subtle);
		color: var(--c-accent);
		font-size: var(--fs-overline);
		font-weight: var(--fw-medium);
		letter-spacing: 0.2em;
	}

	.main-navigation.toggled::before {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition-delay: 0s;
	}

	.main-navigation.toggled .nav-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
		transition-delay: 0s;
	}

	.main-navigation .nav-menu > li {
		width: 100%;
		border-bottom: 1px solid var(--c-border-subtle);
		opacity: 0;
		transform: translateX(2rem);
		transition:
			transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
			opacity 320ms var(--ease);
	}

	.main-navigation.toggled .nav-menu > li {
		opacity: 1;
		transform: translateX(0);
	}

	.main-navigation.toggled .nav-menu > li:nth-child(1) { transition-delay: 100ms; }
	.main-navigation.toggled .nav-menu > li:nth-child(2) { transition-delay: 145ms; }
	.main-navigation.toggled .nav-menu > li:nth-child(3) { transition-delay: 190ms; }
	.main-navigation.toggled .nav-menu > li:nth-child(4) { transition-delay: 235ms; }
	.main-navigation.toggled .nav-menu > li:nth-child(5) { transition-delay: 280ms; }
	.main-navigation.toggled .nav-menu > li:nth-child(n+6) { transition-delay: 325ms; }

	.main-navigation .nav-menu > li > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 1rem 0;
		color: var(--c-text);
		font-size: clamp(1.35rem, 5vw, 2rem);
		font-weight: var(--fw-semibold);
		letter-spacing: -0.03em;
	}

	.main-navigation .nav-menu > li > a::after {
		content: "↗";
		color: var(--c-text-faint);
		font-size: 0.75em;
		font-weight: var(--fw-regular);
		transition: color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
	}

	.main-navigation .nav-menu > li > a:hover::after {
		color: var(--c-accent);
		transform: translate(0.2rem, -0.2rem);
	}

	.main-navigation .nav-menu > .menu-item-has-children > a::after { content: "↓"; }

	.main-navigation .nav-menu .sub-menu {
		display: grid;
		position: static;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--sp-2);
		min-width: 0;
		padding: 0 0 var(--sp-4);
		border: 0;
		background: none;
		transform: none;
	}

	.main-navigation .nav-menu .sub-menu a {
		padding: var(--sp-2) 0;
		color: var(--c-text-muted);
		font-size: var(--fs-small);
		white-space: normal;
	}

	.main-navigation.toggled .menu-toggle__bar { background: transparent; }
	.main-navigation.toggled .menu-toggle__bar::before {
		transform: translateX(-50%) translateY(6px) rotate(45deg);
	}
	.main-navigation.toggled .menu-toggle__bar::after {
		transform: translateX(-50%) translateY(-6px) rotate(-45deg);
	}
}

/* Footer pravni linkovi ostaju kao jedna centrirana celina. */
.site-footer__bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.site-footer__legal {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--sp-4);
}

.site-footer__legal .site-footer__privacy {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--c-text-muted);
	font-family: inherit;
	font-size: var(--fs-label);
	font-weight: var(--fw-regular);
	letter-spacing: 0.14em;
	line-height: 1.5;
	text-transform: uppercase;
	white-space: nowrap;
	appearance: none;
}

.site-footer__credit { justify-self: end; }

@media (max-width: 767px) {
	.container { padding-inline: 1.25rem; }

	.header-over-hero { --site-header-height: 4.5rem; }

	.topbar__org { display: none; }

	.topbar__inner { justify-content: flex-end; }

	.topbar__lang {
		margin-left: var(--sp-3);
		padding-left: var(--sp-3);
	}

	.site-header__inner {
		min-height: 4.5rem;
		gap: var(--sp-3);
	}

	.site-branding {
		min-width: 0;
		max-width: calc(100% - 3.5rem);
	}

	.site-branding .custom-logo,
	.site-branding__logo {
		height: 2.75rem;
		width: auto;
		max-width: 100%;
		object-fit: contain;
	}

	.site-header__actions { display: none; }

	.btn,
	.btn:visited {
		padding-inline: var(--sp-4);
		font-size: 0.75rem;
		letter-spacing: 0.06em;
		white-space: normal;
		overflow-wrap: anywhere;
		text-align: center;
	}

	.main-navigation .nav-menu > .main-navigation__cta-item {
		display: block;
		margin-top: var(--sp-6);
		border-bottom: 0;
	}

	.main-navigation .nav-menu > .main-navigation__cta-item > .main-navigation__cta {
		display: inline-flex;
		justify-content: center;
		width: 100%;
		padding: var(--btn-pad-y) var(--sp-4);
		font-size: 0.75rem;
		font-weight: var(--fw-medium);
		letter-spacing: 0.06em;
	}

	.main-navigation .nav-menu > .main-navigation__cta-item > .main-navigation__cta::after {
		content: none;
	}

	.site-footer__bottom {
		display: flex;
		align-items: center;
		flex-direction: column;
		gap: var(--sp-3);
		text-align: center;
	}

	.site-footer__legal {
		flex-wrap: wrap;
		gap: var(--sp-3) var(--sp-4);
	}

	.site-footer__credit { align-self: center; }
}
