/* Novas Group — sekcije i komponente.
   Sve vrijednosti dolaze iz tokens.css. Bez radiusa, bez bolda, jedna sjena. */

/* Omotaci racunaju padding unutar max-widtha, inace je .nv-wrap 1392 umjesto 1320. */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* ---------- osnove ---------- */

body {
	font-family: var(--nv-font-sans);
	font-size: var(--nv-body);
	line-height: var(--nv-body-lh);
	font-weight: 400;
}

h1, h2, h3, h4 {
	font-family: var(--nv-font-serif);
	font-weight: 400;
}

/* Dizajn nema ni jednu podebljanu rijec. */
strong, b, th {
	font-weight: 400;
}

/* iOS resetira izgled polja, bez ovoga vrati radius i sjenu. */
input, select, textarea, button {
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	font: inherit;
}

.nv-eyebrow {
	color: var(--nv-gold-500);
	font-size: var(--nv-eyebrow);
	letter-spacing: var(--nv-eyebrow-ls);
	text-transform: uppercase;
}

.nv-band--light .nv-eyebrow {
	color: var(--nv-gold-700);
}

/* ---------- ritam sekcija ----------
   Razmak nosi band, ne sekcija. Dvije susjedne sekcije s vlastitim
   padding-blockom zbrajale su se u prazan pojas od 152 px. */

.nv-band {
	padding-block: var(--nv-band-pad-top-mobile) var(--nv-band-pad-bottom-mobile);
}

.nv-band--light {
	background: var(--nv-sand-200);
	color: var(--nv-ink-body);
}

.nv-band--light :is(h1, h2, h3, h4) {
	color: var(--nv-ink);
}

.nv-band--light .nv-eyebrow {
	color: var(--nv-gold-700);
}

.nv-section {
	padding-block: 0;
}

.nv-section + .nv-section {
	margin-top: var(--nv-section-gap-mobile);
}

.nv-section h2:first-child,
.nv-section .nv-wrap > h2 {
	font-size: var(--nv-h2);
	line-height: var(--nv-h2-lh);
	margin: 0 0 var(--nv-heading-to-body);
}

.nv-section__lede {
	margin: 0 0 var(--nv-body-to-content);
	max-width: 62ch;
}

.nv-band--light .nv-section__lede {
	color: var(--nv-ink-body);
}

@media (min-width: 768px) {
	.nv-band {
		padding-block: var(--nv-band-pad-top-desktop) var(--nv-band-pad-bottom-desktop);
	}

	.nv-section + .nv-section {
		margin-top: var(--nv-section-gap-desktop);
	}
}

/* ---------- header ---------- */

.nv-header {
	background: var(--nv-header-glass-m);
}

/* WP renderira template-part kao <header>. Sticky na .nv-header unutra
   roditelj ne prenosi, pa ljepljivost ide na sam <header>. */
header:has(> .nv-header) {
	position: sticky;
	top: 0;
	z-index: 60;
}

@supports (backdrop-filter: blur(14px)) {
	.nv-header {
		backdrop-filter: blur(14px);
	}
}

.nv-header__inner {
	align-items: center;
	display: flex;
	gap: var(--nv-s6);
	justify-content: space-between;
	margin-inline: auto;
	max-width: var(--nv-wide);
	padding: var(--nv-s4) var(--nv-gutter-mobile);
}

.nv-nav ul {
	display: flex;
	gap: var(--nv-s6);
	list-style: none;
	margin: 0;
	padding: 0;
}

.nv-nav a {
	color: var(--nv-fg-muted);
	font-size: var(--nv-eyebrow);
	letter-spacing: 0.14em;
	padding-block: var(--nv-s2);
	text-decoration: none;
	text-transform: uppercase;
	transition: color var(--nv-dur-fast) var(--nv-ease);
	white-space: nowrap;
}

.nv-nav a:hover {
	color: var(--nv-fg);
}

.nv-nav .current-menu-item a,
.nv-nav [aria-current="page"] {
	border-bottom: 1px solid var(--nv-gold-500);
	color: var(--nv-fg-strong);
}

/* Izbornik ide u hamburger vec na 1200 px: Immobilienverwaltung
   ne stane pored ostalih stavki izmedju 1024 i 1200 px. */
/* Ispod 1200 px izbornik je zatvoren panel; otvara ga .is-open na headeru. */
.nv-nav {
	display: none;
}

.nv-burger {
	background: none;
	border: 1px solid var(--nv-line-dark-chip);
	color: var(--nv-fg);
	cursor: pointer;
	line-height: 0;
	padding: var(--nv-s3);
}

@media (min-width: 1200px) {
	.nv-header {
		background: var(--nv-header-glass);
	}

	.nv-nav {
		align-items: center;
		display: flex;
		gap: var(--nv-s5);
	}

	.nv-burger {
		display: none;
	}

	.nv-header__inner {
		padding-inline: var(--nv-gutter-desktop);
	}
}

/* ---------- prekidac jezika ---------- */

.nv-lang {
	display: flex;
	gap: var(--nv-s3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.nv-lang a {
	color: var(--nv-fg-dim);
	font-size: var(--nv-eyebrow);
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

.nv-lang .current-lang a {
	border-bottom: 1px solid var(--nv-gold-500);
	color: var(--nv-fg);
}

/* ---------- gumbi ---------- */

.nv-btn {
	background: var(--nv-gold-500);
	border: 1px solid var(--nv-gold-500);
	color: var(--nv-ink-800);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: var(--nv-s2);
	font-size: var(--nv-btn);
	letter-spacing: var(--nv-btn-ls);
	padding: 17px 30px;
	text-decoration: none;
	text-transform: uppercase;
	transition: background var(--nv-dur-fast) var(--nv-ease),
		border-color var(--nv-dur-fast) var(--nv-ease);
	white-space: nowrap;
}

.nv-btn:hover {
	background: var(--nv-gold-600);
	border-color: var(--nv-gold-600);
	color: var(--nv-ink-800);
}

.nv-btn:active {
	background: var(--nv-gold-700);
	border-color: var(--nv-gold-700);
}

.nv-btn[disabled],
.nv-btn[aria-disabled="true"] {
	background: transparent;
	border-color: var(--nv-line-dark-chip);
	color: var(--nv-fg-faint);
	cursor: not-allowed;
}

.nv-btn--outline {
	background: transparent;
	border-color: var(--nv-gold-500);
	color: var(--nv-gold-400);
}

.nv-btn--outline:hover {
	background: transparent;
	border-color: var(--nv-gold-500);
	color: var(--nv-gold-400);
}

.nv-band--light .nv-btn--outline {
	border-color: var(--nv-line-light);
	color: var(--nv-ink);
}

.nv-band--light .nv-btn--outline:hover {
	border-color: var(--nv-gold-700);
	color: var(--nv-bronze-800);
}

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

.nv-hero {
	align-items: end;
	display: grid;
	min-height: var(--nv-hero-height-mobile);
	position: relative;
}

@media (min-width: 768px) {
	.nv-hero {
		min-height: clamp(var(--nv-hero-min-desktop), 72vh, var(--nv-hero-max-desktop));
	}
}

.nv-hero__media {
	inset: 0;
	position: absolute;
	z-index: 0;
}

.nv-hero__media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.nv-hero__media::after {
	background: linear-gradient(96deg, rgba(6, 14, 24, 0.95) 0%, rgba(6, 14, 24, 0.78) 46%, rgba(6, 14, 24, 0.2) 100%);
	content: "";
	inset: 0;
	position: absolute;
}

.nv-hero__body {
	margin-inline: auto;
	max-width: var(--nv-wide);
	padding: var(--nv-s10) var(--nv-gutter-mobile) var(--nv-s9);
	position: relative;
	width: 100%;
	z-index: 1;
}

.nv-hero h1 {
	font-size: var(--nv-h1);
	letter-spacing: var(--nv-h1-ls);
	line-height: var(--nv-h1-lh);
	margin: var(--nv-s4) 0 var(--nv-s5);
	max-width: 840px;
}

.nv-hero__lede {
	color: var(--nv-fg-muted);
	font-size: 1.0625rem;
	max-width: 520px;
}

@media (min-width: 768px) {
	.nv-hero__body {
		padding-inline: var(--nv-gutter-desktop);
	}
}

/* ---------- traka za pretragu ----------
   Upada 46 px u hero. Nijedan roditelj ne smije imati overflow: hidden. */

.nv-search {
	margin-block-start: calc(-1 * (var(--nv-band-pad-top-mobile) + 46px));
	margin-inline: auto;
	max-width: var(--nv-container);
	padding-inline: var(--nv-gutter-mobile);
	position: relative;
	z-index: 2;
}

.nv-search__inner {
	background: var(--nv-white);
	box-shadow: var(--nv-shadow-float);
	color: var(--nv-ink);
	display: grid;
	gap: 1px;
	padding: var(--nv-s4);
}

@media (min-width: 768px) {
	.nv-search {
		margin-block-start: calc(-1 * (var(--nv-band-pad-top-desktop) + 46px));
		padding-inline: var(--nv-gutter-desktop);
	}

	.nv-search__inner {
		align-items: end;
		grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
		gap: 0;
		padding: var(--nv-s5) var(--nv-s6);
	}

	.nv-search__field + .nv-search__field {
		border-inline-start: 1px solid var(--nv-line-field);
		padding-inline-start: var(--nv-s5);
	}
}

.nv-search__field {
	display: grid;
	gap: var(--nv-s1);
	padding-block: var(--nv-s2);
}

.nv-search__field label {
	color: var(--nv-ink-muted);
	font-size: var(--nv-label);
	letter-spacing: var(--nv-label-ls);
	text-transform: uppercase;
}

.nv-search__field :is(input, select) {
	background: transparent;
	border: 0;
	color: var(--nv-ink);
	padding: 0;
	width: 100%;
}

/* ---------- kartice nekretnina ---------- */

.nv-cards {
	display: grid;
	gap: var(--nv-card-gap-mobile);
}

@media (min-width: 768px) {
	.nv-cards {
		gap: var(--nv-card-gap-desktop);
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.nv-card {
	background: var(--nv-ink-600);
	border: 1px solid rgba(255, 255, 255, .08);
	display: flex;
	flex-direction: column;
	transition: background var(--nv-dur-base) var(--nv-ease),
		border-color var(--nv-dur-base) var(--nv-ease);
}

.nv-card:hover {
	background: var(--nv-ink-500);
	border-color: var(--nv-gold-500);
}

.nv-card:hover :is(h2, h3),
.nv-card:hover :is(h2, h3) a {
	color: var(--nv-gold-400);
}

.nv-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.nv-card__media img {
	height: 100%;
	object-fit: cover;
	transition: transform var(--nv-dur-base) var(--nv-ease);
	width: 100%;
}

.nv-card:hover .nv-card__media img {
	transform: scale(1.03);
}

.nv-card__body {
	display: grid;
	gap: var(--nv-s3);
	padding: var(--nv-s6);
}

.nv-card h2,
.nv-card h3 {
	font-size: var(--nv-h3);
	line-height: var(--nv-h3-lh);
	margin: 0;
}

.nv-card__meta {
	color: var(--nv-fg-dim);
	font-size: var(--nv-small);
	margin: 0;
}

.nv-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nv-s2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.nv-tags li {
	border: 1px solid var(--nv-line-dark-chip);
	color: var(--nv-fg-muted);
	font-size: var(--nv-small);
	padding: 7px 12px;
	white-space: nowrap;
}

.nv-card__foot {
	align-items: center;
	border-top: 1px solid var(--nv-line-dark);
	display: flex;
	gap: var(--nv-s4);
	justify-content: space-between;
	margin-top: var(--nv-s3);
	padding-top: var(--nv-s4);
}

.nv-card__price {
	color: var(--nv-gold-400);
	margin: 0;
	white-space: nowrap;
}

/* Kartica koja ceka podatke — ne prazna, nego oznacena. */
.nv-card--placeholder {
	background: var(--nv-ink-700);
	border: 1px dashed var(--nv-line-dark-dash);
	display: grid;
	min-height: 280px;
	place-content: center;
	text-align: center;
}

.nv-card--placeholder p {
	color: var(--nv-fg-faint);
	margin: 0;
	padding: var(--nv-s6);
}

/* ---------- traka jamstava ---------- */

.nv-usp {
	border: 1px solid var(--nv-line-dark);
	display: grid;
}

.nv-usp__cell {
	align-items: start;
	display: flex;
	gap: var(--nv-s4);
	padding: var(--nv-s6);
}

.nv-usp__cell + .nv-usp__cell {
	border-top: 1px solid var(--nv-line-dark);
}

.nv-usp__cell svg {
	color: var(--nv-gold-500);
	flex: none;
	height: 26px;
	width: 26px;
}

.nv-usp__cell strong {
	display: block;
	font-size: var(--nv-small);
}

.nv-usp__cell span {
	color: var(--nv-fg-dim);
	font-size: var(--nv-small);
}

@media (min-width: 768px) {
	.nv-usp {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	/* Okomite linije umjesto vodoravnih; grid-gap ovo ne moze. */
	.nv-usp__cell + .nv-usp__cell {
		border-inline-start: 1px solid var(--nv-line-dark);
		border-top: 0;
	}
}

.nv-band--light .nv-usp {
	border-color: var(--nv-line-light);
}

.nv-band--light .nv-usp__cell + .nv-usp__cell {
	border-color: var(--nv-line-light);
}

.nv-band--light .nv-usp__cell svg {
	color: var(--nv-gold-700);
}

.nv-band--light .nv-usp__cell span {
	color: var(--nv-ink-muted);
}

/* ---------- proza ---------- */

.nv-prose {
	max-width: var(--nv-prose);
}

.nv-prose p {
	font-size: var(--nv-body-long);
	line-height: var(--nv-body-long-lh);
}

.nv-prose h2 {
	font-size: var(--nv-h2);
	line-height: var(--nv-h2-lh);
	margin-block: var(--nv-s8) var(--nv-heading-to-body);
}

.nv-prose h3 {
	font-size: var(--nv-h3);
	margin-block: var(--nv-s7) var(--nv-s3);
}

/* ---------- FAQ ---------- */

.nv-faq {
	max-width: var(--nv-faq);
}

.nv-faq details {
	border-bottom: 1px solid var(--nv-line-dark);
}

.nv-faq summary {
	align-items: baseline;
	cursor: pointer;
	display: flex;
	font-size: var(--nv-faq-q);
	gap: var(--nv-s4);
	justify-content: space-between;
	list-style: none;
	padding-block: var(--nv-s5);
}

.nv-faq summary::-webkit-details-marker {
	display: none;
}

.nv-faq summary::after {
	color: var(--nv-gold-500);
	content: "+";
	flex: none;
}

.nv-faq details[open] summary::after {
	content: "\2212";
}

.nv-faq details > :not(summary) {
	color: var(--nv-fg-muted);
	margin-block: 0 var(--nv-s5);
	max-width: 70ch;
}

.nv-band--light .nv-faq details {
	border-color: var(--nv-line-light);
}

.nv-band--light .nv-faq summary::after {
	color: var(--nv-gold-700);
}

.nv-band--light .nv-faq details > :not(summary) {
	color: var(--nv-ink-body);
}

/* ---------- oprema ---------- */

.nv-amenities {
	display: grid;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 768px) {
	.nv-amenities {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: var(--nv-s8);
	}
}

.nv-amenities li {
	border-bottom: 1px solid var(--nv-line-dark);
	padding-block: var(--nv-s3);
}

/* ---------- forma ---------- */

.nv-form {
	display: grid;
	gap: var(--nv-s5);
	max-width: 720px;
}

.nv-field {
	display: grid;
	gap: var(--nv-s2);
}

.nv-field label {
	color: var(--nv-fg-dim);
	font-size: var(--nv-label);
	letter-spacing: var(--nv-label-ls);
	text-transform: uppercase;
}

.nv-field :is(input, select, textarea) {
	background: var(--nv-white);
	border: 1px solid var(--nv-line-field);
	color: var(--nv-ink);
	padding: 13px 14px;
	width: 100%;
}

.nv-field :is(input, select, textarea)::placeholder {
	color: var(--nv-ink-muted);
}

.nv-field[data-state="error"] :is(input, select, textarea) {
	border-color: var(--nv-error);
}

.nv-field__error {
	color: var(--nv-error-on-dark);
	font-size: var(--nv-small);
}

.nv-band--light .nv-field__error {
	color: var(--nv-error);
}

.nv-notice {
	border: 1px solid;
	padding: var(--nv-s4) var(--nv-s5);
}

.nv-notice--ok {
	border-color: var(--nv-success-on-dark);
	color: var(--nv-success-on-dark);
}

.nv-notice--err {
	border-color: var(--nv-error-on-dark);
	color: var(--nv-error-on-dark);
}

/* ---------- ljepljivi stupac ----------
   Radi samo ako nijedan roditelj nema overflow: hidden. */

.nv-sticky {
	align-self: start;
	position: sticky;
	top: 104px;
}

@media (min-width: 1024px) {
	.nv-twocol {
		display: grid;
		gap: var(--nv-s9);
		grid-template-columns: var(--nv-sidecol) minmax(0, 1fr);
	}
}

/* ---------- footer ---------- */

.nv-footer {
	background: var(--nv-ink-900);
	padding-block: var(--nv-s9) var(--nv-s7);
}

.nv-footer__cols {
	display: grid;
	gap: var(--nv-s7);
}

@media (min-width: 768px) {
	.nv-footer__cols {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.nv-footer h2 {
	color: var(--nv-fg);
	font-size: var(--nv-small);
	letter-spacing: 0.1em;
	margin: 0 0 var(--nv-s4);
	text-transform: uppercase;
}

.nv-footer ul {
	display: grid;
	gap: var(--nv-s3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.nv-footer a {
	color: var(--nv-fg-dim);
	font-size: var(--nv-small);
	text-decoration: none;
}

.nv-footer a:hover {
	color: var(--nv-fg);
}

.nv-footer__legal {
	border-top: 1px solid var(--nv-line-dark);
	color: var(--nv-fg-faint);
	font-size: var(--nv-legal);
	margin-top: var(--nv-s8);
	padding-top: var(--nv-s5);
}

/* ---------- mobilna donja traka ---------- */

.nv-bottombar {
	background: var(--nv-header-glass-m);
	border-top: 1px solid var(--nv-line-dark);
	bottom: 0;
	display: flex;
	gap: var(--nv-s3);
	inset-inline: 0;
	padding: var(--nv-s3) var(--nv-gutter-mobile);
	position: fixed;
	z-index: 55;
}

.nv-bottombar .nv-btn {
	flex: 1;
	justify-content: center;
}

@media (min-width: 1200px) {
	.nv-bottombar {
		display: none;
	}
}

/* ---------- omotac i logo ---------- */

.nv-wrap {
	margin-inline: auto;
	max-width: var(--nv-container);
	padding-inline: var(--nv-gutter-mobile);
}

@media (min-width: 768px) {
	.nv-wrap {
		padding-inline: var(--nv-gutter-desktop);
	}
}

.nv-logo {
	align-items: center;
	color: var(--nv-fg);
	display: flex;
	gap: var(--nv-s3);
	text-decoration: none;
}

.nv-logo__mark {
	color: var(--nv-gold-500);
	height: 34px;
	width: 34px;
}

.nv-logo__text {
	font-size: var(--nv-eyebrow);
	letter-spacing: 0.22em;
	line-height: 1.25;
	text-transform: uppercase;
}

/* ---------- uvodni odlomak pod H1 ---------- */

.nv-lede {
	color: var(--nv-fg-muted);
	font-size: var(--nv-h4);
	line-height: var(--nv-h4-lh);
	max-width: 46ch;
}

.nv-band--light .nv-lede {
	color: var(--nv-ink-body);
}

/* ---------- popravci nakon prvog pregleda ---------- */

/* Naslov kartice je link, ali ne smije biti podcrtan kao inline link. */
.nv-card :is(h2, h3) a,
.nv-card__media {
	color: inherit;
	text-decoration: none;
}

.nv-card :is(h2, h3) a:hover {
	color: var(--nv-gold-400);
}


/* Hero ne smije rasti s vrlo visokim viewportom, inace se fotografija
   razvuce a tekst ostane na dnu. */
.nv-hero {
	max-height: var(--nv-hero-max-desktop);
}

/* Gumb u headeru i u kartici dijele .nv-btn, ali kartica ga koristi kao
   oznaku unutar linka — bez vlastitog razmaka. */
.nv-card .nv-btn {
	padding: 12px 20px;
}

/* Kad su .nv-wrap i .nv-prose na istom elementu, mjera reda mora pobijediti
   sirinu stranice — inace tekst ide preko 1248 px i postaje necitljiv. */
.nv-wrap.nv-prose {
	max-width: calc(var(--nv-prose) + 2 * var(--nv-gutter-mobile));
}

@media (min-width: 768px) {
	.nv-wrap.nv-prose {
		max-width: calc(var(--nv-prose) + 2 * var(--nv-gutter-desktop));
	}
}

/* H1 podstranice je manji od naslovnice: dizajn trazi 58 px, ne 66. */
.nv-prose > h1 {
	font-size: clamp(2.125rem, 1.2rem + 3vw, 3.625rem);
	margin-bottom: var(--nv-s5);
}

.nv-prose > h1 + .nv-lede {
	margin-bottom: var(--nv-s8);
}

/* ---------- zaglavlje stranice nekretnine ---------- */

.nv-phero {
	align-items: end;
	display: grid;
	min-height: min(62vh, 520px);
	position: relative;
}

.nv-phero__media {
	inset: 0;
	position: absolute;
	z-index: 0;
}

.nv-phero__media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.nv-phero__media::after {
	background: linear-gradient(180deg, rgba(6, 12, 19, 0.35) 0%, rgba(6, 12, 19, 0.92) 78%);
	content: "";
	inset: 0;
	position: absolute;
}

.nv-phero__body {
	padding-block: var(--nv-s9) var(--nv-s8);
	position: relative;
	z-index: 1;
	width: 100%;
}

.nv-phero h1 {
	font-size: clamp(2.125rem, 1.2rem + 3vw, 3.625rem);
	line-height: var(--nv-h1-lh);
	margin: var(--nv-s4) 0 0;
	max-width: 900px;
}

/* ---------- kartice vodica (3 + 2) ---------- */

.nv-guides {
	display: grid;
	gap: var(--nv-card-gap-mobile);
}

@media (min-width: 900px) {
	.nv-guides {
		gap: var(--nv-card-gap-desktop);
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.nv-guide:nth-child(-n+3) {
		grid-column: span 2;
	}

	.nv-guide:nth-child(n+4) {
		grid-column: span 3;
	}
}

.nv-guide {
	background: var(--nv-sand-50);
	border: 1px solid var(--nv-line-light);
	color: inherit;
	display: grid;
	text-decoration: none;
}

.nv-guide:hover {
	border-color: var(--nv-gold-700);
}

.nv-guide__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.nv-guide__media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.nv-guide__body {
	display: grid;
	gap: var(--nv-s2);
	padding: var(--nv-s5);
}

.nv-guide h3 {
	font-size: var(--nv-h4);
	line-height: var(--nv-h4-lh);
	margin: 0;
}

.nv-guide p {
	color: var(--nv-ink-muted);
	font-size: var(--nv-small);
	margin: 0;
}

/* Na mobitelu su kartice vodica horizontalne, slicica 118 px lijevo. */
@media (max-width: 899px) {
	.nv-guide {
		grid-template-columns: 118px minmax(0, 1fr);
	}

	.nv-guide__media {
		aspect-ratio: auto;
		height: 100%;
	}

	.nv-guide__body {
		padding: var(--nv-s4);
	}
}

/* ---------- CTA band za vlasnike, puna sirina na fotografiji ---------- */

.nv-owners {
	align-items: center;
	display: grid;
	min-height: var(--nv-owners-band-mobile);
	position: relative;
}

.nv-owners__media {
	inset: 0;
	position: absolute;
	z-index: 0;
}

.nv-owners__media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.nv-owners__media::after {
	background: linear-gradient(90deg, rgba(6, 14, 24, 0.94) 0%, rgba(6, 14, 24, 0.72) 55%, rgba(6, 14, 24, 0.45) 100%);
	content: "";
	inset: 0;
	position: absolute;
}

.nv-owners__inner {
	align-items: center;
	display: grid;
	gap: var(--nv-s6);
	position: relative;
	width: 100%;
	z-index: 1;
}

.nv-owners h2 {
	font-size: var(--nv-h2);
	line-height: var(--nv-h2-lh);
	margin: var(--nv-s3) 0 var(--nv-s4);
	max-width: 22ch;
}

.nv-owners p {
	color: var(--nv-fg-muted);
	margin: 0;
	max-width: 54ch;
}

@media (min-width: 900px) {
	.nv-owners {
		min-height: var(--nv-owners-band-desktop);
	}

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

/* ---------- dvostupcani blok s ljepljivim naslovom ---------- */

.nv-twocol {
	display: grid;
	gap: var(--nv-s6);
}

@media (min-width: 1024px) {
	.nv-twocol {
		gap: var(--nv-s9);
		grid-template-columns: var(--nv-sidecol) minmax(0, 1fr);
	}

	.nv-twocol__head,
	.nv-sticky {
		align-self: start;
		position: sticky;
		top: 104px;
	}
}

.nv-twocol__head h2 {
	font-size: var(--nv-h2);
	line-height: var(--nv-h2-lh);
	margin: 0 0 var(--nv-s4);
}

.nv-twocol__body > :first-child {
	margin-top: 0;
}

/* Prazna kartica: lijevo poravnata, s oznakom, ne centrirani placeholder. */
.nv-card--placeholder {
	align-content: start;
	display: grid;
	gap: var(--nv-s3);
	padding: 44px;
	place-content: start;
	text-align: start;
}

.nv-card--placeholder p {
	margin: 0;
	padding: 0;
}

.nv-card--placeholder__lead {
	color: var(--nv-fg-muted);
	font-size: 1rem;
}

.nv-card--placeholder__note {
	color: var(--nv-fg-faint);
	font-size: 0.875rem;
}

/* ---------- donja traka na mobitelu ---------- */

.nv-bottombar__price {
	color: var(--nv-fg);
	font-size: var(--nv-small);
	margin: 0;
	align-self: center;
	white-space: nowrap;
}

/* <picture> se ponasa kao inline element — mora popuniti okvir kao <img>. */
.nv-hero__media picture,
.nv-card__media picture,
.nv-guide__media picture,
.nv-owners__media picture,
.nv-phero__media picture {
	display: block;
	height: 100%;
}

/* ---------- slot koji se ne objavljuje ---------- */

.nv-slot {
	border: 1px dashed var(--nv-line-light-dash);
	display: grid;
	gap: var(--nv-s3);
	padding: var(--nv-s6);
}

.nv-slot p:last-child {
	color: var(--nv-ink-muted);
	margin: 0;
	max-width: 70ch;
}

.nv-slot .nv-eyebrow {
	margin: 0;
}

/* ---------- vodic bez slike ---------- */

.nv-guide--text {
	align-items: center;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: var(--nv-s5) var(--nv-s6);
}

.nv-guide--text .nv-guide__body {
	padding: 0;
}

.nv-guide__arrow {
	color: var(--nv-gold-700);
	line-height: 0;
}

@media (min-width: 900px) {
	.nv-guide--text {
		grid-column: span 3;
	}
}

.nv-guides__cta {
	margin: var(--nv-s5) 0 0;
}

.nv-guides__cta a {
	color: var(--nv-bronze-800);
	font-size: var(--nv-eyebrow);
	letter-spacing: var(--nv-eyebrow-ls);
	text-transform: uppercase;
}

/* ---------- donji red footera ---------- */

.nv-footer__contact {
	align-items: center;
	border-top: 1px solid var(--nv-line-dark);
	display: grid;
	gap: var(--nv-s5);
	margin-top: var(--nv-s8);
	padding-top: var(--nv-s6);
}

@media (min-width: 900px) {
	.nv-footer__contact {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: var(--nv-s7);
	}
}

.nv-footer__lines {
	color: var(--nv-fg-dim);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--nv-small);
	gap: var(--nv-s3) var(--nv-s6);
	margin: 0;
}

.nv-footer__social {
	display: flex;
	gap: var(--nv-s3);
	margin: 0;
}

.nv-footer__social .nv-btn {
	padding: 11px 18px;
}

/* Prekidac jezika u footeru je vodoravan; .nv-footer ul ga inace slozi u stupac. */
.nv-footer .nv-lang {
	display: flex;
	gap: var(--nv-s4);
}

.nv-footer .nv-lang li {
	border: 0;
}

.nv-twocol__lede {
	color: var(--nv-ink-body);
	margin: 0 0 var(--nv-s5);
}

/* ---------- izbornik: panel ispod 1200 px ---------- */

.nv-header.is-open .nv-nav {
	background: var(--nv-header-glass-m);
	border-top: 1px solid var(--nv-line-dark);
	display: grid;
	gap: var(--nv-s5);
	inset-inline: 0;
	padding: var(--nv-s5) var(--nv-gutter-mobile) var(--nv-s6);
	position: absolute;
	top: 100%;
}

@supports (backdrop-filter: blur(14px)) {
	.nv-header.is-open .nv-nav {
		backdrop-filter: blur(14px);
	}
}

.nv-header__inner {
	position: relative;
}

.nv-header.is-open .nv-nav ul {
	display: grid;
	gap: 0;
}

.nv-header.is-open .nv-nav li + li {
	border-top: 1px solid var(--nv-line-dark-soft);
}

.nv-header.is-open .nv-nav a {
	display: block;
	padding-block: var(--nv-s4);
}

/* Jezici kao segmentirana traka visine 44 px. */
.nv-header.is-open .nv-nav__lang .nv-lang {
	display: grid;
	gap: 0;
	grid-auto-columns: 1fr;
	grid-auto-flow: column;
}

.nv-header.is-open .nv-nav__lang .nv-lang li {
	border: 1px solid var(--nv-line-dark-chip);
}

.nv-header.is-open .nv-nav__lang .nv-lang li + li {
	border-inline-start: 0;
}

.nv-header.is-open .nv-nav__lang .nv-lang a {
	align-items: center;
	border: 0;
	display: flex;
	justify-content: center;
	min-height: 44px;
	padding-block: 0;
}

.nv-header.is-open .nv-nav__lang .nv-lang .current-lang {
	background: var(--nv-ink-500);
}

.nv-header.is-open .nv-nav__cta {
	justify-content: center;
}

.nv-burger__close,
.nv-burger[aria-expanded="true"] .nv-burger__open {
	display: none;
}

.nv-burger[aria-expanded="true"] .nv-burger__close {
	display: block;
}

@media (min-width: 1200px) {
	.nv-burger {
		display: none;
	}

	.nv-nav__lang .nv-lang {
		display: flex;
	}
}


/* Trazilica je u tamnom bandu i visi -46 px preko heroja; razmak do prve
   sekcije nosi band, pa joj treba vlastiti razmak prema dolje. */
.nv-search + .nv-section {
	margin-top: var(--nv-section-gap-mobile);
}

@media (min-width: 768px) {
	.nv-search + .nv-section {
		margin-top: var(--nv-section-gap-desktop);
	}
}

/* WordPress blockGap dodaje margin-top djeci flow grupe. Bandovi moraju
   biti susjedni jer razmak nose sami. */
main > :is(.nv-hero, .nv-band, .nv-owners) {
	margin-block: 0;
}

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

.nv-breadcrumbs {
	font-size: 0.78125rem;
	margin-bottom: 20px;
}

.nv-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nv-s2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.nv-breadcrumbs li {
	color: var(--nv-fg-dim);
}

.nv-breadcrumbs li + li::before {
	color: var(--nv-gold-700);
	content: "·";
	margin-inline-end: var(--nv-s2);
}

.nv-breadcrumbs a {
	color: var(--nv-fg-dim);
	text-decoration: none;
}

.nv-breadcrumbs a:hover {
	color: var(--nv-fg);
}

.nv-band--light .nv-breadcrumbs li,
.nv-band--light .nv-breadcrumbs a {
	color: var(--nv-ink-muted);
}

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

.nv-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nv-s2);
	list-style: none;
	margin: var(--nv-s8) 0 0;
	padding: 0;
}

.nv-pagination a,
.nv-pagination span {
	align-items: center;
	border: 1px solid var(--nv-line-dark-chip);
	color: var(--nv-fg-muted);
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding-inline: var(--nv-s3);
	text-decoration: none;
}

.nv-pagination .is-current {
	background: var(--nv-gold-500);
	border-color: var(--nv-gold-500);
	color: var(--nv-ink);
}

.nv-band--light .nv-pagination a,
.nv-band--light .nv-pagination span {
	border-color: var(--nv-line-light);
	color: var(--nv-ink-body);
}

/* ---------- 404 ---------- */

.nv-404 {
	display: grid;
	gap: var(--nv-s7);
}

@media (min-width: 900px) {
	.nv-404 {
		gap: var(--nv-s9);
		grid-template-columns: 1.1fr 1fr;
	}

	.nv-404__aside {
		border-inline-start: 1px solid var(--nv-line-dark);
		padding-inline-start: var(--nv-s8);
	}
}

.nv-404 h1 {
	font-size: clamp(2.125rem, 1.2rem + 3vw, 3.625rem);
	margin: var(--nv-s3) 0 var(--nv-s5);
}

.nv-404__links,
.nv-404__aside ul {
	display: grid;
	gap: var(--nv-s3);
	list-style: none;
	margin: var(--nv-s6) 0 0;
	padding: 0;
}

.nv-404__aside h2 {
	font-size: var(--nv-h4);
	margin: 0;
}

/* ---------- traka za kolacice ---------- */

.nv-cookie {
	align-items: center;
	background: var(--nv-ink-900);
	border-top: 1px solid var(--nv-line-dark);
	bottom: 0;
	display: grid;
	gap: var(--nv-s4);
	inset-inline: 0;
	padding: var(--nv-s5) var(--nv-gutter-mobile);
	position: fixed;
	z-index: 60;
}

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

.nv-cookie p {
	color: var(--nv-fg-muted);
	font-size: var(--nv-small);
	margin: 0;
	max-width: 70ch;
}

/* Oba gumba jednako vidljiva: isti razmak, ista visina, bez tihog "Odbij". */
.nv-cookie__actions {
	display: flex;
	gap: var(--nv-s3);
}

.nv-cookie__actions .nv-btn {
	flex: 1;
	justify-content: center;
}

@media (min-width: 768px) {
	.nv-cookie {
		grid-template-columns: minmax(0, 1fr) auto;
		padding-inline: var(--nv-gutter-desktop);
	}

	.nv-cookie__actions .nv-btn {
		flex: none;
	}
}

/* Na mobitelu stoji iznad ljepljive donje trake. */
@media (max-width: 1199px) {
	.nv-cookie {
		bottom: var(--nv-bottombar-h, 68px);
	}
}

/* Inline linkovi u SEO bloku — na pjescanoj podlozi zlatna nije citljiva. */
.nv-prose a {
	color: var(--nv-bronze-800);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.nv-prose a:hover {
	color: var(--nv-bronze-900);
}

/* ---------- clanak vodica ---------- */

.nv-article__head {
	margin-inline: auto;
	max-width: calc(788px + 2 * var(--nv-gutter-mobile));
	padding-inline: var(--nv-gutter-mobile);
}

.nv-article__head h1 {
	font-size: clamp(2rem, 1.1rem + 2.9vw, 3.25rem);
	line-height: var(--nv-h1-lh);
	letter-spacing: var(--nv-h1-ls);
	margin: 0 0 var(--nv-s5);
}

.nv-article__meta {
	border-bottom: 1px solid var(--nv-line-dark);
	color: var(--nv-fg-dim);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--nv-small);
	gap: var(--nv-s3) var(--nv-s6);
	margin: 0;
	padding-bottom: var(--nv-s5);
}

.nv-article__hero {
	margin: var(--nv-s7) auto 0;
	max-width: var(--nv-container);
	padding-inline: var(--nv-gutter-mobile);
}

.nv-article__hero picture {
	display: block;
}

.nv-article .nv-prose {
	margin-top: var(--nv-s8);
}

@media (min-width: 768px) {
	.nv-article__head {
		max-width: calc(788px + 2 * var(--nv-gutter-desktop));
		padding-inline: var(--nv-gutter-desktop);
	}

	.nv-article__hero {
		padding-inline: var(--nv-gutter-desktop);
	}
}

/* ---------- stranica za vlasnike ---------- */

.nv-steps {
	display: grid;
	gap: var(--nv-s7);
}

@media (min-width: 900px) {
	.nv-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--nv-s8);
	}
}

.nv-steps h3 {
	font-size: var(--nv-h4);
	line-height: var(--nv-h4-lh);
	margin: 0 0 var(--nv-s3);
}

.nv-steps p {
	color: var(--nv-fg-muted);
	margin: 0;
}

.nv-mgmt {
	display: grid;
	gap: var(--nv-s7);
}

@media (min-width: 1024px) {
	.nv-mgmt {
		align-items: start;
		gap: var(--nv-s9);
		grid-template-columns: 1fr 0.85fr;
	}
}

.nv-mgmt__fee {
	border-top: 1px solid var(--nv-line-dark);
	font-size: var(--nv-h4);
	margin: var(--nv-s7) 0 var(--nv-s3);
	padding-top: var(--nv-s6);
}

.nv-panel {
	background: var(--nv-ink-600);
	padding: var(--nv-s7);
}

.nv-panel h2 {
	font-size: var(--nv-h3);
	line-height: var(--nv-h3-lh);
	margin: 0 0 var(--nv-s3);
}

.nv-panel p {
	color: var(--nv-fg-muted);
	margin: 0 0 var(--nv-s5);
}

.nv-panel p:last-child {
	margin-bottom: 0;
}

.nv-papers {
	display: grid;
	gap: var(--nv-card-gap-mobile);
}

@media (min-width: 900px) {
	.nv-papers {
		gap: var(--nv-card-gap-desktop);
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.nv-paper {
	border: 1px solid var(--nv-line-dark);
	color: inherit;
	display: block;
	padding: var(--nv-s6);
	text-decoration: none;
	transition: border-color var(--nv-dur-base) var(--nv-ease);
}

.nv-paper:hover {
	border-color: var(--nv-gold-500);
}

.nv-paper h3 {
	font-size: var(--nv-h4);
	line-height: var(--nv-h4-lh);
	margin: var(--nv-s3) 0 var(--nv-s2);
}

.nv-paper p {
	color: var(--nv-fg-dim);
	font-size: var(--nv-small);
	margin: 0;
}

/* Naslov clanka nema vlastiti eyebrow razmak u .nv-article__head */
.nv-article__head .nv-eyebrow {
	margin: 0 0 var(--nv-s3);
}

.nv-article__head .nv-lede {
	margin: 0 0 var(--nv-s5);
}

/* Iznimke: kadrovi koji popunjavaju okvir moraju zadrzati punu visinu. */
.nv-hero__media img,
.nv-card__media img,
.nv-guide__media img,
.nv-owners__media img,
.nv-phero__media img,
.nv-split__media img {
	height: 100%;
}
