/* =============================================================
   WEB360.RS · dizajn sistem „Orbita" 2.0

   Oblici su pravougaonici sa radijusom, bez slobodnih oblika:
   24px velike ploče · 20px kartice · 16px redovi · 12px pločice
   ikonica · 999px dugmad i pilule.

   Dve stvari koje ne treba menjati bez razmišljanja:

   1. Zelena je boja akcije, ne teksta. Na svetloj pozadini ima
      kontrast 1,86 prema 1. Koristi se samo kao podloga dugmeta sa
      tamnim slovima, i najviše jedno takvo dugme po ekranu. Za zeleni
      tekst postoji tamnija nijansa, --zelena-tekst.
   2. Traka sa pozivom na akciju ima istu ljubičastu u obe teme.
      To je potpis brenda i namerno ne prati temu.

   Sajt izgleda dobro i kada se zelena i ljubičasta sklone: nosi ga
   tipografija, razmak i linija, ne boja.
   ============================================================= */

/* ---------- fontovi ---------- */

@font-face {
	font-family: 'Archivo Orbita';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/archivo-latin-ext-wght-normal.woff2') format('woff2-variations');
	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: 'Archivo Orbita';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/archivo-latin-wght-normal.woff2') format('woff2-variations');
	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;
}

@font-face {
	font-family: 'Instrument Sans Orbita';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/instrument-sans-latin-ext-wght-normal.woff2') format('woff2-variations');
	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: 'Instrument Sans Orbita';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/instrument-sans-latin-wght-normal.woff2') format('woff2-variations');
	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;
}

@font-face {
	font-family: 'Instrument Serif Orbita';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/instrument-serif-latin-ext-400-italic.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: 'Instrument Serif Orbita';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/instrument-serif-latin-400-italic.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;
}

@font-face {
	font-family: 'JetBrains Mono Orbita';
	font-style: normal;
	font-weight: 100 800;
	font-display: swap;
	src: url('../fonts/jetbrains-mono-latin-ext-wght-normal.woff2') format('woff2-variations');
	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: 'JetBrains Mono Orbita';
	font-style: normal;
	font-weight: 100 800;
	font-display: swap;
	src: url('../fonts/jetbrains-mono-latin-wght-normal.woff2') format('woff2-variations');
	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;
}

/* ---------- konstante brenda, ne prate temu ---------- */

:root {
	--zelena: #01d85f;
	--zelena-hover: #00c455;
	--ljubicasta: #7635f5;
	--ljubicasta-svetla: #a98bff;
	--ljubicasta-duboka: #43209b;
	--crna: #05060c;
	--bela: #fdfcfa;

	--f-naslov: 'Archivo Orbita', 'Helvetica Neue', Arial, sans-serif;
	--f-tekst: 'Instrument Sans Orbita', 'Helvetica Neue', Arial, sans-serif;
	--f-serif: 'Instrument Serif Orbita', Georgia, 'Times New Roman', serif;
	--f-mono: 'JetBrains Mono Orbita', ui-monospace, SFMono-Regular, Menlo, monospace;

	--kriva: cubic-bezier(0.2, 0.7, 0.25, 1);
	--zljeb: clamp(1.25rem, 4vw, 4.5rem);
	--sekcija: clamp(3.5rem, 7vw, 6.75rem);

	--r-ploca: 24px;
	--r-kartica: 20px;
	--r-red: 16px;
	--r-plocica: 13px;
	--r-pilula: 999px;
}

/* ---------- svetla tema je podrazumevana ---------- */

:root {
	--bg: #fdfcfa;
	--bg-2: #f4f2ec;
	--povrsina: #ffffff;
	--fg: #05060c;
	--fg-mut: #55535e;
	--fg-tiho: #6b6971;
	--linija: #e8e5dd;
	--linija-2: #d2cec4;
	--akcent: #7635f5;
	--zelena-tekst: #0b6b34;
	--plocica-zelena: #e6f9ef;
	--plocica-ljubicasta: #efe7fe;
	--ploca: #edeae2;
	--ploca-linija: #dcd8ce;
	--ploca-sara: rgb(5 6 12 / 0.035);
	--senka: 0 18px 40px -28px rgb(5 6 12 / 0.45);

	color-scheme: light;
}

/* Tamna se pali samo izričitim izborom korisnika, nikad iz operativnog sistema. */
:root[data-tema='tamna'] {
	--bg: #05060c;
	--bg-2: #0b0e1a;
	--povrsina: #0f1220;
	--fg: #fdfcfa;
	--fg-mut: #a9a8b6;
	--fg-tiho: #928fa0;
	--linija: rgb(255 255 255 / 0.12);
	--linija-2: rgb(255 255 255 / 0.22);
	--akcent: #a98bff;
	--zelena-tekst: #35e884;
	--plocica-zelena: rgb(1 216 95 / 0.14);
	--plocica-ljubicasta: rgb(169 139 255 / 0.16);
	--ploca: #12162a;
	--ploca-linija: rgb(255 255 255 / 0.13);
	--ploca-sara: rgb(255 255 255 / 0.045);
	--senka: 0 18px 44px -26px rgb(0 0 0 / 0.8);

	color-scheme: dark;
}

/* ---------- osnova ---------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

/*
 * Namerno bez `scroll-behavior: smooth`. Ono ne važi samo za sidra nego i
 * za povratak pogleda na vrh pri prelasku na drugu stranu.
 */
html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--bg);
	color: var(--fg);
	font-family: var(--f-tekst);
	font-size: 1rem;
	line-height: 1.6;
	font-synthesis-weight: none;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

h1,
h2,
h3,
h4,
p,
figure,
ul,
ol,
dl,
dd,
blockquote {
	margin: 0;
	padding: 0;
}

ul,
ol {
	list-style: none;
}

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

a {
	color: inherit;
	text-decoration: none;
}

button {
	font: inherit;
	color: inherit;
	background: none;
	border: 0;
	cursor: pointer;
}

:where(a, button, summary, input, [tabindex]):focus-visible {
	outline: 2px solid var(--zelena);
	outline-offset: 3px;
	border-radius: 4px;
}

::selection {
	background: var(--zelena);
	color: var(--crna);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.orbita-preskoci {
	position: absolute;
	top: -100px;
	left: 1rem;
	z-index: 100;
	padding: 0.85rem 1.3rem;
	border-radius: var(--r-pilula);
	background: var(--zelena);
	color: var(--crna);
	font-weight: 600;
}

.orbita-preskoci:focus {
	top: 1rem;
}

/* Poštuje se izbor korisnika. Sadržaj je vidljiv i bez animacije. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}

/* ---------- raspored ---------- */

.wrap {
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: var(--zljeb);
}

.orbita-sekcija {
	padding-block: var(--sekcija);
	border-bottom: 1px solid var(--linija);
}

.orbita-sekcija-zbijena {
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.orbita-pozadina-2 {
	background: var(--bg-2);
}

.orbita-glavno > .orbita-sekcija:last-of-type {
	border-bottom: 0;
}

/* Mreža od dvanaest kolona, ista na celom sajtu. */
.orbita-mreza {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: clamp(1.25rem, 2.2vw, 2rem);
	row-gap: clamp(2rem, 4vw, 3rem);
}

/* ---------- tipografske uloge ---------- */

.d1,
.d1-hero,
.d2,
.d3,
.h4 {
	font-family: var(--f-naslov);
	text-wrap: balance;
}

.d1 {
	font-weight: 700;
	font-size: clamp(2.3rem, 1.5rem + 3.4vw, 3.75rem);
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.d1-hero {
	font-weight: 700;
	font-size: clamp(2.15rem, 1.5rem + 2.8vw, 3.35rem);
	line-height: 1.04;
	letter-spacing: -0.035em;
}

.d2 {
	font-weight: 700;
	font-size: clamp(1.85rem, 1.3rem + 2.2vw, 2.875rem);
	line-height: 1.05;
	letter-spacing: -0.032em;
}

.d3 {
	font-weight: 600;
	font-size: clamp(1.45rem, 1.15rem + 1.3vw, 2.125rem);
	line-height: 1.08;
	letter-spacing: -0.026em;
}

.h4 {
	font-weight: 600;
	font-size: clamp(1.05rem, 0.98rem + 0.4vw, 1.375rem);
	line-height: 1.22;
	letter-spacing: -0.02em;
}

.lead {
	font-size: clamp(1rem, 0.96rem + 0.22vw, 1.0625rem);
	line-height: 1.62;
	color: var(--fg-mut);
	max-width: 56ch;
}

.mono-label {
	font-family: var(--f-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.orbita-mut {
	color: var(--fg-mut);
}

.orbita-tiho {
	color: var(--fg-tiho);
}

.orbita-sitno {
	font-size: 0.9375rem;
	line-height: 1.6;
}

.orbita-akcent {
	color: var(--akcent);
}

/* Oznaka iznad naslova. Zelena tačka, tekst u tamnijoj zelenoj. */
.orbita-oznaka {
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	margin-bottom: 1.375rem;
	font-family: var(--f-mono);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--zelena-tekst);
}

.orbita-tocka {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--zelena);
	flex-shrink: 0;
}

/* ---------- dugmad ---------- */

.orbita-dugme {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	min-height: 3.25rem;
	padding: 0 1.5rem;
	border-radius: var(--r-pilula);
	font-weight: 600;
	font-size: 1rem;
	transition: transform 0.3s var(--kriva), background-color 0.3s var(--kriva), border-color 0.3s var(--kriva);
}

.orbita-dugme:hover {
	transform: translateY(-2px);
}

.orbita-dugme svg {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

/* Zelena nosi tamna slova. Kontrast je tada 12,6 prema 1. */
.orbita-dugme-glavno {
	background: var(--zelena);
	color: var(--crna);
}

.orbita-dugme-glavno:hover {
	background: var(--zelena-hover);
}

.orbita-dugme-okvir {
	border: 1px solid var(--linija-2);
	color: var(--fg);
}

.orbita-dugme-okvir:hover {
	border-color: var(--fg);
}

.orbita-dugmad {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2.25rem;
}

.orbita-strelica {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	font-weight: 600;
	font-size: 0.9375rem;
}

.orbita-strelica svg {
	width: 0.9375rem;
	height: 0.9375rem;
	transition: transform 0.3s var(--kriva);
}

.orbita-strelica:hover svg,
a:hover .orbita-strelica svg {
	transform: translate(3px, -3px);
}

.orbita-posle-sekcije {
	margin-top: 2.5rem;
}

/* ---------- pločice ikonica ---------- */

.orbita-plocica {
	display: grid;
	place-items: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: var(--r-plocica);
	background: var(--plocica-zelena);
	color: var(--zelena-tekst);
	flex-shrink: 0;
}

.orbita-plocica-lj {
	background: var(--plocica-ljubicasta);
	color: var(--akcent);
}

.orbita-plocica svg {
	width: 1.5rem;
	height: 1.5rem;
}

.orbita-plocica-mala {
	width: 2.875rem;
	height: 2.875rem;
}

.orbita-plocica-mala svg {
	width: 1.3125rem;
	height: 1.3125rem;
}

/* ---------- ploče za slike ---------- */

.orbita-ploca {
	position: relative;
	border: 1px solid var(--ploca-linija);
	border-radius: var(--r-ploca);
	background: var(--ploca);
	background-image: repeating-linear-gradient(135deg, var(--ploca-sara) 0 1px, transparent 1px 11px);
	overflow: hidden;
}

.orbita-ploca img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.orbita-ploca-prazna {
	display: grid;
	place-items: center;
	min-height: 18rem;
	padding: 2rem;
	text-align: center;
	/* Ploča je tamnija od strane, pa oznaka uzima jaču sivu: tiha bi na njoj
	   pala tačno na granicu od 4,5 prema 1. */
	color: var(--fg-mut);
}

/*
 * Kada ploča ima i odnos strana i najmanju visinu, pregledač tu visinu
 * kroz odnos prevodi u najmanju širinu: 18rem puta 16/10 je 460 piksela,
 * pa je ploča razvlačila celu stranu na telefonu. Uz odnos strana visina
 * dolazi iz odnosa, pa najmanja visina ovde nije potrebna.
 */
.orbita-ploca-prazna[class*='orbita-odnos-'] {
	min-height: 0;
}

.orbita-odnos-16-10 {
	aspect-ratio: 16 / 10;
}

.orbita-odnos-16-9 {
	aspect-ratio: 16 / 9;
}

.orbita-odnos-4-3 {
	aspect-ratio: 4 / 3;
}

/* ---------- zaglavlje ---------- */

.orbita-zaglavlje {
	position: sticky;
	top: 0;
	z-index: 60;
	border-bottom: 1px solid var(--linija);
	background: var(--bg);
	transition: background-color 0.3s var(--kriva), box-shadow 0.3s var(--kriva);
}

.orbita-zaglavlje[data-prilepljeno] {
	background: color-mix(in srgb, var(--bg) 92%, transparent);
	backdrop-filter: blur(12px) saturate(150%);
	box-shadow: 0 10px 30px -26px rgb(5 6 12 / 0.5);
}

.orbita-zaglavlje-red {
	display: flex;
	align-items: center;
	gap: 1rem;
	height: 5.5rem;
	transition: height 0.3s var(--kriva);
}

.orbita-zaglavlje[data-prilepljeno] .orbita-zaglavlje-red {
	height: 4.5rem;
}

.orbita-logo {
	margin-right: auto;
	flex-shrink: 0;
}

.orbita-logo-veza {
	display: flex;
	align-items: center;
	gap: 0.625rem;
}

.orbita-logo img,
.orbita-logo .custom-logo {
	height: 2.625rem;
	width: auto;
	transition: height 0.3s var(--kriva);
}

.orbita-zaglavlje[data-prilepljeno] .orbita-logo img {
	height: 2.25rem;
}

.orbita-logo-tekst {
	font-family: var(--f-naslov);
	font-weight: 700;
	font-size: 1.1875rem;
	letter-spacing: -0.02em;
}

.orbita-meni {
	display: none;
}

.orbita-meni-lista {
	display: flex;
	align-items: center;
	gap: 0.125rem;
}

.orbita-meni-lista a {
	position: relative;
	display: block;
	padding: 0.5rem 0.875rem;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--fg-mut);
	transition: color 0.3s var(--kriva);
}

.orbita-meni-lista a:hover,
.orbita-meni-lista .current-menu-item > a,
.orbita-meni-lista .current_page_item > a {
	color: var(--fg);
	font-weight: 600;
}

.orbita-meni-lista a::after {
	content: '';
	position: absolute;
	right: 0.875rem;
	bottom: 0.1875rem;
	left: 0.875rem;
	height: 2px;
	border-radius: 2px;
	background: var(--zelena);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.3s var(--kriva);
}

.orbita-meni-lista a:hover::after,
.orbita-meni-lista .current-menu-item > a::after,
.orbita-meni-lista .current_page_item > a::after {
	transform: scaleX(1);
	transform-origin: left;
}

.orbita-zaglavlje-desno {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	flex-shrink: 0;
}

.orbita-tema {
	display: grid;
	place-items: center;
	width: 2.875rem;
	height: 2.875rem;
	border: 1px solid var(--linija-2);
	border-radius: var(--r-pilula);
	transition: border-color 0.3s var(--kriva), background-color 0.3s var(--kriva);
}

.orbita-tema:hover {
	border-color: var(--fg);
}

.orbita-tema svg {
	width: 1.125rem;
	height: 1.125rem;
}

.orbita-tema-mesec {
	display: none;
}

:root[data-tema='tamna'] .orbita-tema-sunce {
	display: none;
}

:root[data-tema='tamna'] .orbita-tema-mesec {
	display: block;
}

.orbita-zaglavlje-cta {
	display: none;
}

.orbita-hamburger {
	display: grid;
	place-items: center;
	gap: 5px;
	width: 2.875rem;
	height: 2.875rem;
	border: 1px solid var(--linija-2);
	border-radius: var(--r-pilula);
}

.orbita-hamburger-crta {
	width: 15px;
	height: 1.6px;
	border-radius: 2px;
	background: currentColor;
	transition: transform 0.3s var(--kriva);
}

.orbita-hamburger[aria-expanded='true'] .orbita-hamburger-crta:first-of-type {
	transform: translateY(3.3px) rotate(45deg);
}

.orbita-hamburger[aria-expanded='true'] .orbita-hamburger-crta:last-of-type {
	transform: translateY(-3.3px) rotate(-45deg);
}

/* ---------- prekidač jezika ---------- */

.orbita-jezik {
	display: flex;
	align-items: stretch;
	height: 2.875rem;
	padding: 3px;
	border: 1px solid var(--linija-2);
	border-radius: var(--r-pilula);
	gap: 2px;
}

/* Okvir oko veze koju je ispisao plugin ponaša se kao i naša dugmad. */
.orbita-jezik-okvir {
	display: flex;
	border-radius: var(--r-pilula);
	overflow: hidden;
}

.orbita-jezik-okvir > a {
	flex: 1;
	border-radius: var(--r-pilula);
}

.orbita-jezik a,
.orbita-jezik button {
	display: grid;
	place-items: center;
	min-width: 2.375rem;
	padding: 0 0.5rem;
	border-radius: var(--r-pilula);
	font-family: var(--f-mono);
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--fg-mut);
	transition: background-color 0.3s var(--kriva), color 0.3s var(--kriva);
}

.orbita-jezik a:hover,
.orbita-jezik button:hover {
	color: var(--fg);
}

.orbita-jezik [aria-current='true'],
.orbita-jezik-okvir[aria-current='true'] > a {
	background: var(--fg);
	color: var(--bg);
}

.orbita-jezik [aria-current='true']:hover,
.orbita-jezik-okvir[aria-current='true'] > a:hover {
	color: var(--bg);
}

/* Plugin ume da uz oznaku ubaci i zastavicu. Ostaje samo oznaka. */
.orbita-jezik-okvir img {
	display: none;
}

/*
 * Na najužim ekranima prekidač se skuplja, da bi pored njega ostalo mesta
 * za logotip, temu i meni. Visina ostaje ista kao kod ostale dugmadi.
 */
@media (max-width: 24rem) {
	.orbita-jezik {
		padding: 2px;
	}

	.orbita-jezik a,
	.orbita-jezik button {
		min-width: 1.875rem;
		padding: 0 0.25rem;
	}

	/*
	 * Na 320 piksela logotip, prekidač jezika, prekidač teme i dugme menija
	 * ne staju u red bez skupljanja. Logotip se smanjuje i razmaci se stežu,
	 * umesto da red izađe iz ekrana.
	 */
	.orbita-zaglavlje-desno {
		gap: 0.375rem;
	}

	.orbita-logo img,
	.orbita-logo .custom-logo {
		height: 2.125rem;
	}

	.orbita-tema,
	.orbita-hamburger {
		width: 2.5rem;
		height: 2.5rem;
	}

	.orbita-jezik {
		height: 2.5rem;
	}
}

/*
 * Sprava GTranslate-a stoji u dokumentu, jer bez nje plugin ne može da
 * prevede stranu, ali se ne prikazuje: vidljivi deo je naš prekidač.
 */
.orbita-jezik-sprava {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Vidžet GTranslate-a, ako je postavljen umesto našeg prekidača. */
.orbita-jezik-mesto {
	display: flex;
	align-items: center;
}

.orbita-jezik-mesto select,
.orbita-jezik-mesto .gt_selector {
	min-height: 2.875rem;
	padding: 0 0.6rem;
	border: 1px solid var(--linija-2);
	border-radius: var(--r-pilula);
	background: transparent;
	color: var(--fg);
	font-family: var(--f-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Traka koju Google Translate ubaci na vrh strane pomera ceo dokument. */
body > .skiptranslate {
	display: none !important;
}

body {
	top: 0 !important;
}

/* ---------- mobilni meni ---------- */

.orbita-meni-mobilni {
	position: fixed;
	inset: 5.5rem 0 0;
	z-index: 55;
	padding-block: 1.75rem 2.5rem;
	background: var(--bg);
	overflow-y: auto;
}

.orbita-meni-mobilni[hidden] {
	display: none;
}

.orbita-meni-mobilni-lista a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.875rem 0;
	border-bottom: 1px solid var(--linija);
	font-family: var(--f-naslov);
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: -0.022em;
}

.orbita-meni-mobilni-mail {
	display: inline-block;
	margin-top: 1.75rem;
	font-family: var(--f-mono);
	font-size: 0.875rem;
}

/* ---------- mrvice ---------- */

.orbita-mrvice {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin-bottom: 1.75rem;
}

.orbita-mrvice a:hover {
	color: var(--fg);
}

/* ---------- hero ---------- */

.orbita-hero {
	border-bottom: 1px solid var(--linija);
	padding-block: clamp(2.25rem, 5vw, 5.25rem) clamp(2.5rem, 5.5vw, 5.75rem);
}

.orbita-hero-mreza {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(2.25rem, 4vw, 3rem);
	align-items: center;
}

.orbita-hero-tekst {
	max-width: 40rem;
}

.orbita-hero-uvod {
	margin-top: 1.5rem;
	max-width: 46ch;
}

.orbita-hero-vizual {
	position: relative;
}

/* Kartica koja stoji preko donjeg ugla slike. */
.orbita-hero-kartica {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	margin: -1.75rem 1rem 0 auto;
	max-width: 22rem;
	padding: 0.875rem 1rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-red);
	background: var(--povrsina);
	box-shadow: var(--senka);
	position: relative;
}

.orbita-hero-kartica-telo {
	flex-grow: 1;
	min-width: 0;
}

.orbita-hero-kartica-naslov {
	display: block;
	font-family: var(--f-naslov);
	font-weight: 600;
	font-size: 0.9375rem;
	letter-spacing: -0.015em;
}

.orbita-hero-kartica-opis {
	display: block;
	font-size: 0.8125rem;
	color: var(--fg-tiho);
}

.orbita-krug {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid var(--linija-2);
	border-radius: var(--r-pilula);
	flex-shrink: 0;
	transition: border-color 0.3s var(--kriva), background-color 0.3s var(--kriva), color 0.3s var(--kriva);
}

.orbita-krug:hover {
	border-color: var(--fg);
}

.orbita-krug svg {
	width: 0.9375rem;
	height: 0.9375rem;
}

.orbita-krug-puni {
	background: var(--fg);
	border-color: var(--fg);
	color: var(--bg);
}

/* ---------- naslov sekcije ---------- */

.orbita-naslov-sekcije {
	max-width: 44rem;
	margin-bottom: clamp(2.25rem, 4vw, 3.25rem);
}

.orbita-naslov-sekcije .lead {
	margin-top: 1.125rem;
}

/* ---------- traka klijenata ---------- */

.orbita-traka-klijenata {
	border-bottom: 1px solid var(--linija);
	background: var(--bg-2);
}

.orbita-traka-red {
	display: grid;
	gap: 1.5rem;
	padding-block: 1.75rem;
}

.orbita-traka-naslov {
	max-width: 14rem;
}

.orbita-logotipi {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.25rem 2.25rem;
}

.orbita-logotipi img {
	height: 1.875rem;
	width: auto;
	object-fit: contain;
	opacity: 0.72;
	transition: opacity 0.3s var(--kriva);
}

.orbita-logotipi img:hover {
	opacity: 1;
}

/* ---------- kartice usluga ---------- */

.orbita-usluge {
	display: grid;
	gap: 1.5rem;
}

.orbita-usluga {
	display: flex;
	flex-direction: column;
	padding: 1.875rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-kartica);
	background: var(--povrsina);
	transition: border-color 0.3s var(--kriva), transform 0.3s var(--kriva);
}

.orbita-usluga:hover {
	border-color: var(--linija-2);
	transform: translateY(-3px);
}

.orbita-usluga h3 {
	margin-top: 1.5rem;
}

/*
 * Vrednosna poruka usluge. Namerno bez kurziva: ovo je tvrdnja, a ne natpis
 * ispod slike, pa je nosi polumasni tekstualni font u punoj boji.
 */
.orbita-vrednost {
	margin-top: 0.75rem;
	font-weight: 500;
	font-size: 0.9375rem;
	line-height: 1.5;
	letter-spacing: -0.005em;
	color: var(--fg);
}

.orbita-usluga-opis {
	margin-top: 0.625rem;
	color: var(--fg-tiho);
}

/*
 * Spisak onoga što usluga sadrži. Cele rečenice ne idu u pilule: pilula je
 * oblik za kratku oznaku, a rečenica u njoj se prelama i razbija ceo red.
 * Zato ovde stoji spisak potvrda, red po red.
 */
.orbita-ukljuceno {
	display: grid;
	gap: 0.5rem;
	margin-top: 1.375rem;
}

.orbita-ukljuceno li {
	display: grid;
	grid-template-columns: 1.0625rem minmax(0, 1fr);
	gap: 0.625rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--fg-mut);
}

/* Zelena je ovde znak, ne tekst, i stoji u tamnijoj varijanti za kontrast. */
.orbita-ukljuceno svg {
	width: 1.0625rem;
	height: 1.0625rem;
	margin-top: 0.1em;
	color: var(--zelena-tekst);
}

.orbita-usluga .orbita-oznake {
	margin-top: 1.125rem;
}

/* Kome je usluga namenjena. Stoji odmah iznad veze, kao zadnji argument. */
.orbita-usluga-idealno {
	display: grid;
	gap: 0.35rem;
	margin-top: 1.25rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--fg-mut);
}

/* Red ispod hero dugmadi: kratak spisak onoga što radimo. */
.orbita-hero-ispod {
	margin-top: 1.5rem;
	font-family: var(--f-mono);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	color: var(--fg-tiho);
}

/* Sitan tekst ispod dugmeta u završnoj traci, da skine pritisak sa klika. */
.orbita-cta-sitno {
	margin-top: 1.125rem;
	font-size: 0.8125rem;
	color: rgb(255 255 255 / 0.72);
}

.orbita-usluga-veza {
	margin-top: auto;
	padding-top: 1.5rem;
	border-top: 1px solid var(--linija);
}

.orbita-usluga-veza .orbita-strelica {
	margin-top: 1.5rem;
}

.orbita-oznake {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
}

.orbita-oznaka-mala {
	padding: 0.25rem 0.75rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-pilula);
	font-family: var(--f-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.03em;
	color: var(--fg-tiho);
}

/* ---------- izdvojeni projekat ---------- */

.orbita-izdvojeni {
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
	align-items: center;
}

.orbita-izdvojeni-vizual {
	position: relative;
}

.orbita-brojac {
	position: absolute;
	left: 1.25rem;
	bottom: 1.25rem;
	padding: 0.5rem 0.9rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-pilula);
	background: var(--povrsina);
	font-family: var(--f-mono);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
}

.orbita-strelice {
	position: absolute;
	right: 1.25rem;
	bottom: 1.25rem;
	display: flex;
	gap: 0.5rem;
}

.orbita-strelice .orbita-krug {
	width: 2.75rem;
	height: 2.75rem;
	background: var(--povrsina);
}

.orbita-strelice .orbita-krug-puni {
	background: var(--fg);
	color: var(--bg);
}

/* ---------- kartice projekata i članaka ---------- */

.orbita-projekti-istaknuti,
.orbita-mreza-projekata,
.orbita-clanci {
	display: grid;
	gap: 1.5rem;
}

.orbita-projekat,
.orbita-clanak-kartica {
	border: 1px solid var(--linija);
	border-radius: var(--r-kartica);
	background: var(--povrsina);
	overflow: hidden;
	transition: border-color 0.3s var(--kriva), transform 0.3s var(--kriva);
}

.orbita-projekat:hover,
.orbita-clanak-kartica:hover {
	border-color: var(--linija-2);
	transform: translateY(-3px);
}

.orbita-projekat-veza,
.orbita-clanak-veza {
	display: block;
	height: 100%;
}

.orbita-projekat-slika,
.orbita-clanak-slika {
	position: relative;
	background: var(--ploca);
	background-image: repeating-linear-gradient(135deg, var(--ploca-sara) 0 1px, transparent 1px 11px);
	border-bottom: 1px solid var(--linija);
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.orbita-projekat-slika img,
.orbita-clanak-slika img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.1s var(--kriva);
}

.orbita-projekat-veza:hover .orbita-projekat-slika img,
.orbita-clanak-veza:hover .orbita-clanak-slika img {
	transform: scale(1.045);
}

.orbita-projekat-telo,
.orbita-clanak-telo {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.5rem;
}

.orbita-projekat-telo .orbita-strelica,
.orbita-clanak-telo .orbita-strelica {
	margin-top: 0.5rem;
}

/* ---------- proces ---------- */

.orbita-proces {
	display: grid;
	gap: 0.625rem;
	counter-reset: korak;
}

.orbita-korak {
	display: grid;
	grid-template-columns: 2.25rem minmax(0, 1fr);
	align-items: center;
	gap: 0.35rem 1.125rem;
	padding: 1.125rem 1.25rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-red);
	background: var(--povrsina);
	transition: border-color 0.3s var(--kriva);
}

.orbita-korak:hover {
	border-color: var(--linija-2);
}

.orbita-korak-broj {
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: start;
	padding-top: 0.2em;
	color: var(--fg-tiho);
}

.orbita-korak h3,
.orbita-korak p {
	grid-column: 2;
}

.orbita-korak-znak {
	display: none;
}

/* Bočna kartica sa kontaktom, uz proces. */
.orbita-bocna {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.orbita-kartica {
	padding: 1.5rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-kartica);
	background: var(--povrsina);
}

.orbita-kartica-mail {
	display: block;
	margin-top: 0.625rem;
	font-family: var(--f-naslov);
	font-weight: 600;
	font-size: 1.25rem;
	word-break: break-word;
}

.orbita-kartica-mail:hover {
	color: var(--akcent);
}

/* ---------- pitanja ---------- */

.orbita-pitanja {
	display: grid;
	gap: 0.625rem;
}

.orbita-pitanje {
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-red);
	background: var(--povrsina);
	transition: border-color 0.3s var(--kriva);
}

.orbita-pitanje:hover {
	border-color: var(--linija-2);
}

.orbita-pitanje summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	cursor: pointer;
	list-style: none;
}

.orbita-pitanje summary::-webkit-details-marker {
	display: none;
}

.orbita-pitanje-tekst {
	font-family: var(--f-naslov);
	font-weight: 600;
	font-size: 1.0625rem;
	letter-spacing: -0.018em;
}

.orbita-pitanje-znak {
	position: relative;
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	color: var(--fg-tiho);
}

.orbita-pitanje-znak::before,
.orbita-pitanje-znak::after {
	content: '';
	position: absolute;
	inset: 50% 0 auto;
	height: 1.6px;
	border-radius: 2px;
	background: currentColor;
	transition: transform 0.3s var(--kriva);
}

.orbita-pitanje-znak::after {
	transform: rotate(90deg);
}

.orbita-pitanje[open] .orbita-pitanje-znak::after {
	transform: rotate(0deg);
}

.orbita-pitanje-odgovor {
	padding-top: 0.875rem;
	max-width: 62ch;
	color: var(--fg-tiho);
}

/* ---------- preporuke ---------- */

.orbita-preporuke {
	display: grid;
	gap: 1.5rem;
}

.orbita-preporuka {
	padding: 1.75rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-kartica);
	background: var(--povrsina);
}

.orbita-citat {
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 1.1875rem;
	line-height: 1.5;
}

.orbita-citat p {
	margin: 0;
}

.orbita-preporuka-autor {
	margin-top: 1.125rem;
	font-size: 0.9375rem;
}

.orbita-preporuka-autor span {
	display: block;
	color: var(--fg-tiho);
}

/* ---------- podaci i brojevi ---------- */

.orbita-podaci {
	display: grid;
	gap: 1.25rem 1.5rem;
}

.orbita-podatak dd {
	margin-top: 0.3rem;
	font-weight: 500;
}

.orbita-brojevi {
	display: grid;
	gap: 1.5rem;
	margin-top: 2.25rem;
}

.orbita-brojevi li {
	padding: 1.5rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-kartica);
	background: var(--povrsina);
}

.orbita-broj {
	display: block;
	font-family: var(--f-naslov);
	font-weight: 700;
	font-size: clamp(2rem, 1.5rem + 1.8vw, 2.75rem);
	line-height: 1;
	letter-spacing: -0.03em;
}

.orbita-broj-oznaka {
	display: block;
	margin-top: 0.5rem;
	font-weight: 500;
}

.orbita-broj-izvor {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.8125rem;
}

/* ---------- kontakt ---------- */

.orbita-kontakt {
	display: grid;
	gap: clamp(1.75rem, 3.5vw, 3rem);
}

/* Adresa e-pošte je najveća stvar u sekciji: ona je i poziv i odgovor. */
.orbita-kontakt-mail {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin-top: 1rem;
	font-family: var(--f-naslov);
	font-weight: 700;
	font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.25rem);
	line-height: 1.1;
	letter-spacing: -0.03em;
	word-break: break-word;
}

.orbita-kontakt-mail:hover {
	color: var(--akcent);
}

.orbita-kontakt-uvod {
	max-width: 46ch;
	margin-top: 1rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--fg-mut);
}

.orbita-kontakt-dugme {
	margin-top: 1.75rem;
}

/*
 * Kartica po kanalu. Kanal bez podatka ne pravi karticu, pa prazne kutije
 * nema ni sada ni kad se unesu telefon i radno vreme. Ako kartica ostane
 * sama u redu, uzima ceo red, da ne visi u pola mreže.
 */
.orbita-kontakt-kartice {
	display: grid;
	gap: 1rem;
}

.orbita-kontakt-kartica {
	display: grid;
	gap: 0.4rem;
	align-content: start;
	padding: 1.5rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-red);
	background: var(--povrsina);
}

.orbita-kontakt-kartica .orbita-plocica {
	margin-bottom: 0.5rem;
}

.orbita-kontakt-kartica dt {
	color: var(--fg-tiho);
}

.orbita-kontakt-kartica dd {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.5;
	word-break: break-word;
}

.orbita-kontakt-kartica dd a:hover {
	color: var(--akcent);
}

/* ---------- dve kolone ---------- */

.orbita-crtice {
	display: grid;
	gap: 0.625rem;
}

.orbita-crtice li {
	position: relative;
	padding-left: 1.5rem;
	color: var(--fg-mut);
}

.orbita-crtice li::before {
	content: '';
	position: absolute;
	top: 0.62em;
	left: 0;
	width: 8px;
	height: 1px;
	background: var(--zelena);
}

.orbita-kolona-desna {
	display: grid;
	gap: 1.75rem;
	align-content: start;
}

.orbita-teh {
	display: grid;
	gap: 0.75rem;
}

/* Traka o studiju: slika sa jedne strane, tekst sa druge. */
.orbita-o-studiju {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 3rem);
}

.orbita-o-vizual {
	position: relative;
}

.orbita-o-znak {
	position: absolute;
	right: clamp(0.75rem, 2vw, 1.25rem);
	bottom: clamp(0.75rem, 2vw, 1.25rem);
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.875rem;
	border: 1px solid var(--ploca-linija);
	border-radius: 999px;
	background: var(--povrsina);
	font-family: var(--f-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--fg-tiho);
}

/* Tri stavke sa ikonicom, ispod teksta o studiju. */
.orbita-odlike {
	display: grid;
	gap: 1.5rem;
	margin-top: 2.5rem;
}

.orbita-odlika h3 {
	margin-top: 1rem;
	font-family: var(--f-naslov);
	font-weight: 600;
	font-size: 1rem;
	letter-spacing: -0.015em;
}

.orbita-odlika p {
	margin-top: 0.4rem;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--fg-tiho);
}

/* ---------- tekst iz uređivača ---------- */

.orbita-tekst {
	max-width: 68ch;
}

.orbita-tekst-uzak {
	max-width: 62ch;
}

.orbita-tekst > * + * {
	margin-top: 1.1em;
}

.orbita-tekst h2 {
	font-family: var(--f-naslov);
	font-weight: 600;
	font-size: clamp(1.4rem, 1.15rem + 1vw, 1.875rem);
	line-height: 1.14;
	letter-spacing: -0.024em;
	margin-top: 2.25em;
}

.orbita-tekst h3 {
	font-family: var(--f-naslov);
	font-weight: 600;
	font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.375rem);
	line-height: 1.22;
	letter-spacing: -0.018em;
	margin-top: 2em;
}

.orbita-tekst h4 {
	font-family: var(--f-naslov);
	font-weight: 600;
	font-size: 1.0625rem;
	margin-top: 1.75em;
}

.orbita-tekst p,
.orbita-tekst li {
	color: var(--fg-mut);
}

.orbita-tekst strong {
	color: var(--fg);
	font-weight: 600;
}

.orbita-tekst a {
	color: var(--akcent);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.orbita-tekst ul,
.orbita-tekst ol {
	display: grid;
	gap: 0.5rem;
	padding-left: 0;
}

.orbita-tekst ul li {
	position: relative;
	padding-left: 1.5rem;
}

.orbita-tekst ul li::before {
	content: '';
	position: absolute;
	top: 0.62em;
	left: 0;
	width: 8px;
	height: 1px;
	background: var(--zelena);
}

.orbita-tekst ol {
	counter-reset: tekst-broj;
}

.orbita-tekst ol li {
	position: relative;
	padding-left: 2rem;
	counter-increment: tekst-broj;
}

.orbita-tekst ol li::before {
	content: counter(tekst-broj, decimal-leading-zero);
	position: absolute;
	left: 0;
	font-family: var(--f-mono);
	font-size: 0.75rem;
	color: var(--fg-tiho);
}

.orbita-tekst blockquote {
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--linija);
	border-left: 3px solid var(--zelena);
	border-radius: var(--r-red);
	background: var(--povrsina);
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 1.1875rem;
}

.orbita-tekst img,
.orbita-tekst figure {
	border-radius: var(--r-ploca);
	overflow: hidden;
}

.orbita-tekst figcaption {
	margin-top: 0.6rem;
	font-size: 0.8125rem;
	color: var(--fg-tiho);
}

.orbita-tekst hr {
	margin-block: 2.5em;
	border: 0;
	border-top: 1px solid var(--linija);
}

.orbita-tekst code {
	font-family: var(--f-mono);
	font-size: 0.875em;
	padding: 0.15em 0.4em;
	border-radius: 6px;
	background: var(--bg-2);
}

.orbita-posle-teksta {
	margin-top: 2.5rem;
}

/* ---------- filter projekata ---------- */

/*
 * Traka je ploča sa pilulama: izabrana pilula je svetla i podignuta, ostale
 * su mirne. Broj uz naziv govori koliko projekata ima u toj kategoriji, pa
 * posetilac zna šta ga čeka pre nego što klikne.
 */
.orbita-filter {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	padding: 0.5rem;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
	border: 1px solid var(--linija);
	border-radius: var(--r-kartica);
	background: var(--povrsina);
}

/*
 * Grupa se skuplja na svoj sadržaj, ne razvlači se preko cele trake. Na
 * telefonu ostaje u jednom redu i kliza vodoravno: prelomljena u tri reda
 * traka je viša od kartice koju filtrira.
 */
.orbita-filter-pilule {
	display: flex;
	flex-wrap: nowrap;
	justify-self: start;
	max-width: 100%;
	gap: 0.25rem;
	padding: 0.25rem;
	border-radius: calc(var(--r-kartica) - 0.375rem);
	background: var(--bg-2);
	overflow-x: auto;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
}

.orbita-filter-pilule::-webkit-scrollbar {
	display: none;
}

.orbita-filter-pilula {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	gap: 0.5rem;
	min-height: 2.5rem;
	padding: 0 1rem;
	white-space: nowrap;
	scroll-snap-align: start;
	border-radius: calc(var(--r-kartica) - 0.625rem);
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--fg-mut);
	transition: background-color 0.3s var(--kriva), color 0.3s var(--kriva), box-shadow 0.3s var(--kriva);
}

.orbita-filter-pilula:hover {
	color: var(--fg);
}

.orbita-filter-pilula[aria-current='true'] {
	background: var(--povrsina);
	color: var(--zelena-tekst);
	box-shadow: 0 1px 2px rgb(5 6 12 / 0.06), 0 1px 1px rgb(5 6 12 / 0.04);
}

:root[data-tema='tamna'] .orbita-filter-pilula[aria-current='true'] {
	box-shadow: none;
	border: 1px solid var(--linija-2);
	padding: 0 calc(1rem - 1px);
}

.orbita-filter-broj {
	font-family: var(--f-mono);
	font-size: 0.75rem;
	color: var(--fg-tiho);
}

.orbita-filter-pilula[aria-current='true'] .orbita-filter-broj {
	color: inherit;
	opacity: 0.75;
}

.orbita-filter-zbir {
	align-self: center;
	padding-inline: 0.75rem;
	font-size: 0.875rem;
	color: var(--fg-tiho);
}

.orbita-filter-prazno {
	margin-top: 2rem;
}

/* ---------- galerija projekta ---------- */

.orbita-galerija {
	display: grid;
	gap: clamp(1rem, 2.5vw, 1.5rem);
	margin-top: 2rem;
}

.orbita-galerija-stavka {
	display: grid;
	gap: 0.75rem;
}

.orbita-galerija-opis {
	max-width: 56ch;
}

/* ---------- rezultati pretrage ---------- */

.orbita-rezultati {
	display: grid;
	gap: 0.75rem;
	margin-top: 2.25rem;
}

.orbita-rezultati li {
	display: grid;
	gap: 0.35rem;
	padding: 1.5rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-red);
	background: var(--povrsina);
}

.orbita-pretraga {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	max-width: 34rem;
}

.orbita-pretraga-polje {
	flex: 1 1 14rem;
	min-height: 3.25rem;
	padding: 0 1.25rem;
	border: 1px solid var(--linija-2);
	border-radius: var(--r-pilula);
	background: var(--povrsina);
	color: var(--fg);
	font: inherit;
}

.orbita-pretraga-polje::placeholder {
	color: var(--fg-tiho);
}

/* ---------- paginacija ---------- */

.navigation.pagination {
	margin-top: 3rem;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.page-numbers {
	display: grid;
	place-items: center;
	min-width: 2.875rem;
	min-height: 2.875rem;
	padding: 0 0.75rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-pilula);
	background: var(--povrsina);
	font-family: var(--f-mono);
	font-size: 0.8125rem;
}

.page-numbers.current {
	background: var(--fg);
	color: var(--bg);
	border-color: var(--fg);
}

/* ---------- traka sa pozivom na akciju ---------- */

/* Ista boja u svetloj i tamnoj temi. Potpis brenda, ne prati temu. */
.orbita-cta {
	padding-block: clamp(3rem, 6vw, 5.25rem);
	background: var(--ljubicasta-duboka);
	color: var(--bela);
}

.orbita-cta-mreza {
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
	align-items: center;
}

.orbita-cta .orbita-oznaka {
	color: rgb(255 255 255 / 0.78);
}

.orbita-cta-naslov span {
	display: block;
}

.orbita-cta-uvod {
	margin-top: 1.25rem;
	max-width: 50ch;
	color: rgb(255 255 255 / 0.86);
	font-size: clamp(1rem, 0.96rem + 0.22vw, 1.0625rem);
	line-height: 1.6;
}

.orbita-cta-akcije {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.875rem 1.5rem;
	margin-top: 2.25rem;
}

.orbita-cta-mail {
	font-family: var(--f-mono);
	font-size: 0.875rem;
	letter-spacing: 0.02em;
	border-bottom: 1px solid rgb(255 255 255 / 0.5);
	padding-bottom: 2px;
}

.orbita-cta-mail:hover {
	border-bottom-color: var(--bela);
}

.orbita-cta-ploca {
	border: 1px solid rgb(255 255 255 / 0.22);
	border-radius: var(--r-ploca);
	background: rgb(255 255 255 / 0.08);
	overflow: hidden;
}

.orbita-cta-ploca.orbita-ploca-prazna {
	color: rgb(255 255 255 / 0.72);
	background-image: none;
}

/* ---------- podnožje ---------- */

.orbita-podnozje {
	padding-block: clamp(3rem, 6vw, 4.5rem) 2rem;
	border-top: 1px solid var(--linija);
	background: var(--bg);
}

/* Ploča sa logotipom, porukom i kontaktom, u istom obliku kao i drugde. */
.orbita-podnozje-ploca {
	display: grid;
	gap: clamp(1.75rem, 3vw, 2.5rem);
	padding: clamp(1.75rem, 3vw, 2.5rem);
	margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
	border: 1px solid var(--linija);
	border-radius: var(--r-ploca);
	background: var(--bg-2);
}

.orbita-podnozje-logo {
	display: block;
}

.orbita-podnozje-logo .orbita-logo-slika,
.orbita-podnozje-logo img {
	display: block;
	width: auto;
	height: 3.25rem;
}

.orbita-podnozje-poruka {
	max-width: 36ch;
	margin-top: 1.25rem;
	font-family: var(--f-naslov);
	font-weight: 600;
	font-size: clamp(1.125rem, 1rem + 0.6vw, 1.375rem);
	line-height: 1.3;
	letter-spacing: -0.02em;
}

.orbita-podnozje-kontakt {
	display: grid;
	gap: 0.625rem;
	align-content: center;
	justify-items: start;
}

/* Adresa e-pošte je glavna tačka kontakta, pa je i najveća stvar u ploči. */
.orbita-podnozje-mail {
	font-family: var(--f-mono);
	font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem);
	letter-spacing: -0.01em;
}

.orbita-podnozje-mail:hover {
	color: var(--akcent);
}

.orbita-podnozje-podaci {
	display: grid;
	gap: 0.3rem;
	font-size: 0.875rem;
	color: var(--fg-tiho);
}

.orbita-podnozje-podaci a:hover {
	color: var(--fg);
}

/*
 * Broj kolona dolazi iz PHP-a, kroz --kolona. Bez toga bi mreža zadržala
 * prazne kolone kad društvenih mreža ili vidžeta nema, pa bi se sadržaj
 * zbio uz levu ivicu, a desna polovina ostala prazna.
 */
.orbita-podnozje-veze {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem clamp(1.5rem, 3vw, 3rem);
	padding-bottom: clamp(2rem, 3.5vw, 2.75rem);
}

.orbita-podnozje-kolona > .mono-label {
	display: block;
	margin-bottom: 1rem;
	color: var(--fg-tiho);
}

.orbita-spisak {
	display: grid;
	gap: 0.6rem;
	font-size: 0.9375rem;
}

.orbita-spisak a:hover {
	color: var(--akcent);
}

.orbita-mreze {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
}

.orbita-mreze a {
	display: grid;
	place-items: center;
	width: 2.625rem;
	height: 2.625rem;
	border: 1px solid var(--linija);
	border-radius: var(--r-plocica);
	transition: border-color 0.3s var(--kriva);
}

.orbita-mreze a:hover {
	border-color: var(--fg);
}

.orbita-soc {
	width: 1.0625rem;
	height: 1.0625rem;
}

.orbita-podnozje-dno {
	display: grid;
	gap: 0.875rem;
	padding-top: 1.625rem;
	border-top: 1px solid var(--linija);
	font-size: 0.8125rem;
	color: var(--fg-tiho);
}

.orbita-pravno {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
}

.orbita-pravno a:hover {
	color: var(--fg);
}

/* =============================================================
   Ulazna animacija.

   Pomera se samo transform, nikad opacity: tekst koji kreće od
   prozirnosti nula nije iscrtan, pa pregledač najveće iscrtavanje
   beleži tek kad se animacija završi.
   ============================================================= */

@keyframes orbita-uklizi {
	from {
		transform: translateY(12px);
	}
	to {
		transform: none;
	}
}

@keyframes orbita-uklizi-red {
	from {
		transform: translateY(0.42em);
	}
	to {
		transform: none;
	}
}

.js [data-enter] {
	animation: orbita-uklizi 0.55s var(--kriva) both;
}

.js [data-enter-line] {
	display: block;
	padding-block: 0.03em;
}

.js [data-enter-line] > span {
	display: block;
	animation: orbita-uklizi-red 0.6s var(--kriva) both;
}

.js [data-enter-line]:nth-child(2) > span {
	animation-delay: 0.07s;
}

.js [data-enter-line]:nth-child(3) > span {
	animation-delay: 0.14s;
}

/* =============================================================
   Šire od 640 piksela
   ============================================================= */

@media (min-width: 40rem) {
	.orbita-usluge,
	.orbita-clanci,
	.orbita-mreza-projekata,
	.orbita-preporuke,
	.orbita-brojevi,
	.orbita-podaci,
	.orbita-odlike {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.orbita-korak {
		grid-template-columns: 2.75rem minmax(0, 1fr) 1.25rem;
		gap: 0.3rem 1.25rem;
	}

	.orbita-korak-znak {
		display: block;
		grid-column: 3;
		grid-row: 1 / span 2;
		align-self: center;
		width: 1.0625rem;
		height: 1.0625rem;
		color: var(--fg-tiho);
	}

}

/* =============================================================
   Šire od 1024 piksela
   ============================================================= */

@media (min-width: 40rem) {
	.orbita-kontakt-kartice {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.orbita-kontakt-kartica:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

@media (min-width: 48rem) {
	.orbita-filter {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

	.orbita-galerija {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.orbita-meni {
		display: block;
	}

	.orbita-hamburger {
		display: none;
	}

	.orbita-meni-mobilni {
		display: none !important;
	}

	.orbita-zaglavlje-cta {
		display: inline-flex;
		min-height: 2.875rem;
		padding: 0 1.375rem;
		font-size: 0.9375rem;
	}

	.orbita-hero-mreza {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: clamp(1.5rem, 2.5vw, 2rem);
	}

	.orbita-hero-tekst {
		grid-column: span 6;
	}

	.orbita-hero-vizual {
		grid-column: 7 / span 6;
	}

	.orbita-hero-bez-vizuala .orbita-hero-tekst {
		grid-column: span 8;
	}

	.orbita-traka-red {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 2.5rem;
	}

	.orbita-usluge,
	.orbita-mreza-projekata,
	.orbita-clanci,
	.orbita-odlike {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.orbita-projekti-istaknuti {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.orbita-izdvojeni {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: clamp(1.5rem, 2.5vw, 2rem);
	}

	.orbita-izdvojeni-tekst {
		grid-column: span 4;
	}

	.orbita-izdvojeni-vizual {
		grid-column: 6 / span 7;
	}

	.orbita-proces-mreza {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: clamp(1.5rem, 2.5vw, 2rem);
	}

	.orbita-proces-tekst {
		grid-column: span 7;
	}

	.orbita-proces-bocna {
		grid-column: 9 / span 4;
	}

	.orbita-pitanja-mreza {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: clamp(1.5rem, 2.5vw, 2rem);
	}

	.orbita-pitanja-naslov {
		grid-column: span 4;
	}

	.orbita-pitanja-lista {
		grid-column: 6 / span 7;
	}

	.orbita-dve-kolone {
		grid-template-columns: minmax(0, 22rem) minmax(0, 1fr);
		display: grid;
		gap: clamp(1.75rem, 3.5vw, 3rem);
	}

	.orbita-kontakt {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: clamp(1.5rem, 2.5vw, 2rem);
		align-items: center;
	}

	.orbita-kontakt-glavno {
		grid-column: span 5;
	}

	.orbita-kontakt-kartice {
		grid-column: 7 / span 6;
	}

	.orbita-o-studiju {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: clamp(1.5rem, 2.5vw, 2rem);
		align-items: center;
	}

	.orbita-o-vizual {
		grid-column: span 5;
	}

	.orbita-o-tekst {
		grid-column: 7 / span 6;
	}

	.orbita-brojevi,
	.orbita-podaci {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.orbita-cta-mreza {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: clamp(1.5rem, 2.5vw, 2rem);
	}

	.orbita-cta-tekst {
		grid-column: span 6;
	}

	.orbita-cta-vizual {
		grid-column: 8 / span 5;
	}

	.orbita-podnozje-ploca {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		align-items: center;
	}

	/* Kontakt se poravnava uz desnu ivicu ploče, nasuprot logotipu. */
	.orbita-podnozje-kontakt {
		justify-items: end;
		text-align: right;
	}

	/*
	 * Kolone se mere prema sadržaju i razvlače od ivice do ivice. Da su
	 * jednake širine, poslednja kolona bi počinjala na sredini svoje trake
	 * i ostavljala praznu desnu trećinu, što je i bila stara greška.
	 */
	.orbita-podnozje-veze {
		grid-template-columns: repeat(var(--kolona, 3), auto);
		justify-content: space-between;
	}

	.orbita-podnozje-dno {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

	.orbita-pravno {
		justify-content: flex-end;
	}
}
