/**
 * CONVOCO.ba — projektni tokeni i zajedničke komponente (smjer B: Editorial studio clarity).
 * Parent: tokens → base → global; ovaj sloj nadjačava boje/razmake i dodaje projektne dijelove.
 *
 * Sekcije stranica grade se u editoru (Grupa s klasom), predlošci CPT-a koriste iste klase:
 * .cvc-sec (+ --surface, --dark), .cvc-hero, .cvc-split, .cvc-paths, .cvc-pillars, .cvc-steps,
 * .cvc-faq, .cvc-cta-block.
 */

:root {
	/* Izvor palete je parent/Customizer. Alias na :root sprema osnovnu vrijednost
	 * prije lokalnih svijetlih/tamnih sekcija; tako nema kružnog nasljeđivanja. */

	/* Radijusi se nasljeđuju iz roditeljskog tokens.css. */
	

	/* Projektni */
	--project-base-primary: var(--cvc-color-primary);
	--project-base-secondary: var(--cvc-color-secondary);
	--project-base-accent: var(--cvc-color-accent);
	--project-base-text: var(--cvc-color-text);
	--project-base-muted: var(--cvc-color-text-muted);
	--project-base-background: var(--cvc-color-background);
	--project-base-surface: var(--cvc-color-surface);
	--project-base-border: var(--cvc-color-border);
	/* Neutralni pigment daje toplinu površinama; nije zamjenska boja brenda. */
	--project-neutral-warm: var(--project-base-background);
	--project-neutral-black: var(--project-base-secondary);
	--project-neutral-white: var(--project-base-background);
	--project-status-error: #8a1f1f;
	--project-color-ink: var(--project-base-secondary);
	--project-color-ink-deep: var(--project-base-secondary);
	--project-color-dark-surface: color-mix(in srgb, var(--project-base-secondary) 94%, var(--project-on-dark));
	--project-color-dark-border: color-mix(in srgb, var(--project-base-secondary) 78%, var(--project-on-dark));
	--project-color-warm: var(--project-base-background);
	--project-color-warm-card: color-mix(in srgb, var(--project-base-background) 96%, var(--project-base-secondary));
	--project-color-primary-hover: color-mix(in srgb, var(--project-base-primary) 82%, var(--project-neutral-black));
	--project-color-primary-active: color-mix(in srgb, var(--project-base-primary) 68%, var(--project-neutral-black));
	--project-color-primary-tint: color-mix(in srgb, var(--project-base-primary) 8%, var(--project-base-background));
/* Bijeli tekst i strelica na svim projektno-teal gumbima, uz AA-kontrastnu podlogu. */
--project-button-primary-bg: color-mix(in srgb, var(--project-base-primary) 80%, var(--project-base-secondary));
--project-button-primary-hover: color-mix(in srgb, var(--project-base-primary) 70%, var(--project-base-secondary));
--project-button-primary-text: #ffffff;
	--project-color-link: var(--project-color-primary-hover);
	--project-color-text-on-dark: var(--project-on-dark);
	--project-color-text-on-dark-muted: color-mix(in srgb, var(--project-on-dark) 76%, var(--project-base-secondary));
	--project-color-warm-muted: color-mix(in srgb, var(--project-base-text) 77%, var(--project-color-warm));
	--project-section-space: clamp(4rem, 10vw, 9rem);
	--project-hero-space: clamp(3rem, 9vw, 8rem);
	--project-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--motion-duration: 180ms;
	--motion-duration-in: 560ms;
	--motion-ease: var(--project-ease);
	--motion-shift: 14px;
	--motion-stagger: 70ms;
	--project-focus-ring: 2px solid var(--project-base-accent);
	--project-letter-spacing-eyebrow: 0.14em;
/* Hero H1: desktop kao naslovnica (parent editorial), mobilno -0.052em kao naslovnica. */
--project-hero-title-tracking: var(--cvc-letter-spacing-heading);
/* Semantičke uloge tipografije; skala veličina ostaje u parent tokens.css. */
--project-weight-regular: 400;
--project-weight-action: 550;
--project-weight-label: 600;
--project-weight-heading: 700;
--project-faq-title-size: clamp(1rem, 1.4vw, 1.17rem);
--project-leading-body: var(--cvc-line-height, 1.65);
--project-leading-heading: var(--cvc-line-height-heading, 1.12);

	/* Izbornik / podnožje (parent čita --cv-* na header/footer) */
	--cv-accent: var(--cvc-nav-accent, var(--project-base-primary));
	--cv-on-accent: var(--project-on-nav-accent);
	--cv-fg: var(--cvc-color-text);
	--cv-fg-muted: var(--cvc-color-text-muted);
	--cv-panel: var(--cvc-color-background);
	--cv-panel-alt: var(--cvc-color-surface);
	--cv-font: var(--cvc-font-body);
	--cv-font-display: var(--cvc-font-heading);
}

/* Mobilni tracking hero naslova prati aktivnu naslovnicu (naslovna-mobile-v2.css). */
@media (max-width: 768px) {
:root { --project-hero-title-tracking: -.052em; }
}

/* Sidra ispod fiksnog izbornika */
html {
	scroll-padding-top: 6rem;
}
/* Glatko pomicanje na sidra; bez sukoba s opcionalnim efektom roditeljske teme. */
html:not(.cv-smooth) {
  scroll-behavior: smooth;
}

/* Sidra poštuju izričitu postavku smanjenog kretanja. */
@media (prefers-reduced-motion: reduce) {
  html:not(.cv-smooth) { scroll-behavior: auto; }
}

/* Poveznice na svijetlim površinama koriste izvedenu tamniju primarnu boju. */
a {
	color: var(--project-color-link);
}

/* ---------- Sekcija: puna širina, sadržaj u širini kontejnera ---------- */
/* Silk hero donji natpis prati istu unutarnju širinu kao .cvc-sec.
 * Jedno mjesto za sve arhive, CPT usluge, O nama i članke. */
.cvc-sec.cvc-about-v4--hero > .cvc-about-v4__scroll-cue {
  left: max(var(--cvc-gutter), (100% - var(--cvc-content-width)) / 2);
}

.wp-block-group.cvc-sec,
.cvc-sec,
.cvc-section {
	max-width: none;
	width: 100%;
	box-sizing: border-box;
	padding-block: var(--project-section-space);
	padding-inline: max(var(--cvc-gutter), (100% - var(--cvc-content-width)) / 2);
	background: var(--cvc-color-background);
	color: var(--cvc-color-text);
}

.cvc-sec > * {
	margin-block: 0;
}

/* Klasična tema: Gutenberg umeće prezentacijski div unutar Group bloka.
 * Samo poznati projektni layouti propuštaju svoju djecu u CSS grid. */
:where(.cvc-sec, .cvc-hero__aside, .cvc-paths__list, .cvc-paths__item, .cvc-pillars__grid, .cvc-pillars__item, .cvc-split__body, .cvc-faq) > .wp-block-group__inner-container {
	display: contents;
}

:where(.cvc-sec, .cvc-hero__aside, .cvc-paths__item, .cvc-pillars__item, .cvc-split__body) > :where(.wp-block-group__inner-container) > * {
	margin-block: 0;
}

/* PHP predlošci i blokovi dijele istu sekciju; unutarnji kontejner ne
 * dodaje drugi gutter. Uži tekst koristi samo ograničenje širine. */
.cvc-container {
	width: 100%;
	min-width: 0;
	margin-inline: auto;
}

.cvc-section__inner { width: 100%; min-width: 0; margin-inline: auto; }
.cvc-section__inner.measure { max-width: var(--cvc-text-width); }
.cvc-section__inner.measure--wide { max-width: var(--cvc-content-width); }
.cvc-section__inner > :first-child { margin-block-start: 0; }
.cvc-section__inner > :last-child { margin-block-end: 0; }
main > .cvc-section__inner { width: min(calc(100% - 2 * var(--cvc-gutter)), var(--cvc-content-width)); }

.cvc-container.measure {
	max-width: var(--cvc-text-width);
}

.cvc-container.measure--wide {
	max-width: var(--cvc-content-width);
}

.cvc-sec > .cvc-container > :first-child {
	margin-block-start: 0;
}

.cvc-sec > .cvc-container > :last-child {
	margin-block-end: 0;
}

/* Dvije uzastopne bijele sekcije dijele razmak i odvaja ih tanka linija. */
body:not(.home) .cvc-sec:not(.cvc-sec--surface, .cvc-sec--dark, .cvc-hero) + .cvc-sec:not(.cvc-sec--surface, .cvc-sec--dark),
body:not(.home) .cvc-hero + .cvc-sec:not(.cvc-sec--surface, .cvc-sec--dark) {
	padding-block-start: 0;
}

body:not(.home) .cvc-sec:not(.cvc-sec--surface, .cvc-sec--dark, .cvc-hero) + .cvc-sec:not(.cvc-sec--surface, .cvc-sec--dark)::before {
	content: "";
	display: block;
	grid-column: 1 / -1;
	height: 1px;
	margin-block-end: var(--project-section-space);
	background: var(--cvc-color-border);
}

/* Površina bez zasebne boje nasljeđuje pozadinu aktivnih tokena. */

.cvc-sec--dark {
	--cvc-color-background: var(--project-color-ink);
	--cvc-color-surface: var(--project-color-ink-deep);
	--cvc-color-text: var(--project-color-text-on-dark);
	--cvc-color-text-muted: var(--project-color-text-on-dark-muted);
	--project-color-link: var(--project-on-dark);
}

.cvc-sec__title {
	max-width: 22ch;
}

.cvc-sec__head {
	display: grid;
	gap: var(--cvc-space-4);
	margin-block-end: var(--cvc-space-7);
}

.cvc-sec__lead {
	max-width: var(--cvc-text-width);
	color: var(--cvc-color-text-muted);
	text-wrap: pretty;
}

.cvc-sec__more {
	margin-block-start: var(--cvc-space-6);
}

/* Kartice radova: jedinstven odnos naziva klijenta i vrste rada na svim prikazima. */
.cvc-rad-home__row { row-gap:5px; }
.cvc-rad-home__title { margin-bottom:0; }

/* PORTFOLIO / SVI PRIKAZI: editorial cik-cak ostaje; treći i daljnji radovi
 * skraćuju prazninu za 150px, ali drugi i sve parne desne kartice zadržavaju
 * izvorni vertikalni odmak. Nema pomaka za drugu karticu.
 * Vrijedi samo za desktop i prikaze radova, ne za mobilne kartice. */
@media (min-width: 769px) {
  .cvc-radovi__grid > .cvc-rad-home:nth-child(n+3):nth-child(odd),
  .single-usluga .cvc-service-works > .cvc-grid > .cvc-card-wrap--rad:nth-child(n+3):nth-child(odd) {
    margin-top: -150px;
  }
}

/* Druga kartica uvijek ostaje niže. U idućim recima drugi stupac
 * zadržava originalni stagger, samo se cijeli red vizualno zbija za 150px. */
@media (min-width: 769px) {
.cvc-radovi__grid > .cvc-rad-home:nth-child(n+4):nth-child(even) {
margin-top: calc(clamp(4rem,9vw,9rem) - 150px);
}
.single-usluga .cvc-service-works > .cvc-grid > .cvc-card-wrap--rad:nth-child(even) {
margin-top: clamp(4rem,9vw,9rem);
}
.single-usluga .cvc-service-works > .cvc-grid > .cvc-card-wrap--rad:nth-child(n+4):nth-child(even) {
margin-top: calc(clamp(4rem,9vw,9rem) - 150px);
}
}
/* Portfolio: ukloniti generički separator između editorial naslova
 * "Odabrani projekti" i tamne mreže radova, ne dirati druge sekcije. */
body:not(.home) .home.cvc-web__home-reuse--works > .cvc-sec.cvc-radovi-sec::before {
content:none;
display:none;
}
body:not(.home) .home.cvc-web__home-reuse--works > .cvc-sec.cvc-radovi-sec {
padding-block-start:clamp(3rem,6vw,5.5rem);
}

/* Usluge / vezani radovi: početno četiri kartice, daljnje četiri tek na klik.
 * Koristi postojeće kartice i globalni cvc-btn, bez preoblikovanja portfolija. */
.cvc-service-works{min-width:0;width:100%}
.cvc-service-works__actions{display:flex;justify-content:center;align-items:center;margin:clamp(2rem,4vw,3.25rem) auto 0}
.cvc-service-works__more{min-height:48px;min-width:180px}
.cvc-service-works__more:disabled{cursor:progress;opacity:.65}
/* Generički predložak koristi .cvc-grid; 4 rada rasporediti 2 × 2 na desktopu.
 * Editorial .cvc-radovi__grid već ima postojeći dvostupčani raspored. */
@media (min-width:48em){.single-usluga .cvc-service-works .cvc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ---------- Tipografski detalji ---------- */

.cvc-eyebrow,
.cvc-hero__eyebrow {
	font: var(--project-weight-label) var(--cvc-font-size-eyebrow) / 1.2 var(--cvc-font-body);
	letter-spacing: var(--project-letter-spacing-eyebrow);
	text-transform: uppercase;
	color: var(--cvc-color-text-muted);
}

.cvc-sec--dark .cvc-eyebrow {
	color: var(--cvc-color-primary);
}

.cvc-text-lead {
	text-wrap: pretty;
}

/* Kanonske uloge teksta za nove i obnovljene predloške.
 * Postojeće .cvc-text-h* klase parenta ostaju važeće; naslovnica se ne mijenja. */
.cvc-type-body {
  font: var(--project-weight-regular) var(--cvc-font-size-base) / var(--project-leading-body) var(--cvc-font-body);
  color: var(--cvc-color-text);
}
.cvc-type-card-title {
  font: var(--project-weight-label) var(--cvc-font-size-h4) / var(--project-leading-heading) var(--cvc-font-heading);
  text-wrap: balance;
}
.cvc-type-caption {
  font: var(--project-weight-regular) var(--cvc-font-size-small) / 1.5 var(--cvc-font-body);
  color: var(--cvc-color-text-muted);
}

/* ---------- Hero ---------- */

.cvc-hero {
	display: grid;
	gap: var(--cvc-space-5);
	padding-block: var(--project-hero-space) var(--project-section-space);
}

.cvc-hero__title {
	max-width: 16ch;
letter-spacing: var(--project-hero-title-tracking);
}

.cvc-hero--page .cvc-hero__title {
	max-width: 20ch;
}

.cvc-hero__aside {
	display: grid;
	gap: var(--cvc-space-5);
	justify-items: start;
	max-width: var(--cvc-text-width);
}

.cvc-hero__aside > * {
	margin: 0;
}

.cvc-hero__aside .cvc-text-lead {
	color: var(--cvc-color-text-muted);
}

@media (min-width: 60em) {
	.cvc-hero {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: var(--cvc-space-6);
		align-items: end;
	}

	.cvc-hero > *,
	.cvc-hero > .wp-block-group__inner-container > * {
		grid-column: 1 / -1;
	}

	.cvc-hero:not(.cvc-hero--page) > .cvc-hero__eyebrow,
	.cvc-hero:not(.cvc-hero--page) > .cvc-eyebrow,
	.cvc-hero:not(.cvc-hero--page) > .cvc-hero__title,
	.cvc-hero:not(.cvc-hero--page) > .cvc-text-display,
	.cvc-hero:not(.cvc-hero--page) > .wp-block-group__inner-container > :is(.cvc-hero__eyebrow, .cvc-eyebrow, .cvc-hero__title, .cvc-text-display) {
		grid-column: 1 / span 7;
	}

	.cvc-hero:not(.cvc-hero--page) .cvc-hero__aside {
		grid-column: 9 / -1;
		grid-row: 2;
		margin-block-start: 0;
		align-self: end;
	}

	.cvc-hero--page .cvc-hero__title {
		grid-column: 1 / span 10;
	}

	.cvc-hero--page .cvc-hero__aside {
		grid-column: 1 / span 8;
	}
}

.cvc-front__hero-media {
	margin: 0;
	line-height: 0;
}

.cvc-front__hero-img {
	display: block;
	width: 100%;
	max-height: min(70vh, 36rem);
	object-fit: cover;
}

.cvc-archive-usluga__nav {
	grid-column: 1 / -1;
	margin-block-start: var(--cvc-space-6);
}

.cvc-faq--wide {
	max-width: min(100%, 48rem);
}

.cvc-link-groups {
	display: grid;
	gap: var(--cvc-space-6);
	margin-block-start: var(--cvc-space-6);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}

.cvc-link-group ul {
	display: grid;
	gap: var(--cvc-space-2);
	margin: var(--cvc-space-3) 0 0;
	padding: 0;
	list-style: none;
}

/* ---------- Dva stupca: naslov lijevo, sadržaj desno ---------- */

.cvc-split {
	display: grid;
	gap: var(--cvc-space-6);
}

.cvc-split__body {
	display: grid;
	gap: var(--cvc-space-4);
	max-width: var(--cvc-text-width);
}

.cvc-split__body > * {
	margin: 0;
}

.cvc-split__body > .cvc-text-lead:first-child {
	color: var(--cvc-color-text);
}

@media (min-width: 60em) {
	.cvc-split {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: var(--cvc-space-6);
		align-items: start;
	}

	.cvc-split > :first-child,
	.cvc-split > .wp-block-group__inner-container > :first-child {
		grid-column: 1 / span 5;
	}

	.cvc-split > :not(:first-child),
	.cvc-split > .wp-block-group__inner-container > :not(:first-child) {
		grid-column: 7 / -1;
	}
}

/* ---------- Putevi usluga: redovi poput urednog popisa ---------- */

.cvc-paths__list {
	display: grid;
	margin-block-start: var(--cvc-space-7);
	border-block-end: 1px solid var(--cvc-color-border);
}

.cvc-paths__item {
	display: grid;
	gap: var(--cvc-space-3);
	padding-block: var(--cvc-space-6);
	border-block-start: 1px solid var(--cvc-color-border);
}

.cvc-paths__item > * {
	margin: 0;
}

.cvc-paths__item p {
	color: var(--cvc-color-text-muted);
	max-width: var(--cvc-text-width);
}

.cvc-paths__links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cvc-space-2) var(--cvc-space-5);
	padding: 0;
	list-style: none;
}

@media (min-width: 60em) {
	.cvc-paths__item {
		grid-template-columns: 4fr 5fr 3fr;
		column-gap: var(--cvc-space-6);
		align-items: baseline;
	}

	.cvc-paths__links {
		flex-direction: column;
	}
}

/* Strelica uz poveznicu: samo tipografija, bez ikona. */
.cvc-arrow-link,
.cvc-paths__links a {
	display: inline-flex;
	align-items: center;
	gap: var(--cvc-space-2);
	min-height: 2.75rem;
	font-weight: var(--project-weight-label);
	text-decoration: none;
}

.cvc-arrow-link::after,
.cvc-paths__links a::after {
	content: "→";
	transition: transform var(--motion-duration) var(--motion-ease);
}

@media (hover: hover) {
	.cvc-arrow-link:hover::after,
	.cvc-paths__links a:hover::after {
		transform: translateX(4px);
	}
}

.cvc-arrow-link:focus-visible::after,
.cvc-paths__links a:focus-visible::after {
	transform: translateX(4px);
}

/* ---------- Tri stupa ---------- */

.cvc-pillars__grid {
	display: grid;
	gap: var(--cvc-space-6);
	margin-block-start: var(--cvc-space-7);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

.cvc-pillars__item {
	display: grid;
	align-content: start;
	gap: var(--cvc-space-3);
	padding-block-start: var(--cvc-space-5);
	border-block-start: 1px solid var(--cvc-color-text);
}

.cvc-pillars__item > * {
	margin: 0;
}

.cvc-pillars__item p {
	color: var(--cvc-color-text-muted);
}

/* ---------- Koraci ---------- */

.cvc-steps__list {
	counter-reset: cvc-step;
	display: grid;
	gap: var(--cvc-space-6);
	margin-block-start: var(--cvc-space-7);
	padding: 0;
	list-style: none;
}

.cvc-steps__list > li {
	counter-increment: cvc-step;
	display: grid;
	gap: var(--cvc-space-3);
	align-content: start;
	padding-block-start: var(--cvc-space-5);
	border-block-start: 1px solid var(--cvc-color-border);
	color: var(--cvc-color-text-muted);
}

.cvc-steps__list > li::before {
	content: counter(cvc-step, decimal-leading-zero);
	font: 700 var(--cvc-font-size-h2) / 1 var(--cvc-font-heading);
	letter-spacing: var(--cvc-letter-spacing-heading);
	color: var(--cvc-color-primary);
}

.cvc-steps__list strong {
	display: block;
	font: var(--project-weight-heading) var(--cvc-font-size-h4) / var(--project-leading-heading) var(--cvc-font-heading);
	color: var(--cvc-color-text);
	text-wrap: balance;
}

@media (min-width: 48em) {
	.cvc-steps__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ---------- Pitanja (harmonika) ---------- */

.cvc-faq {
	display: grid;
	border-block-end: 1px solid var(--cvc-color-border);
}

.cvc-faq details {
	border-block-start: 1px solid var(--cvc-color-border);
}

.cvc-faq summary {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--cvc-space-4);
	align-items: center;
	min-height: 2.75rem;
	padding-block: 1.4rem;
	cursor: pointer;
	font: var(--project-weight-label) var(--project-faq-title-size) / 1.4 var(--cvc-font-heading);
	list-style: none;
	text-wrap: balance;
}

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

/* Plus koji se okreće u minus: dvije crte iz pozadine, bez ikona. */
.cvc-faq summary::after {
  min-width: 1.7rem;
  min-height: 1.7rem;
  flex: none;
  border: 1px solid var(--project-base-border);
  border-radius: 50%;
	content: "";
	width: 1rem;
	height: 1rem;
	background:
		linear-gradient(currentColor, currentColor) center / 55% 2px no-repeat,
		linear-gradient(currentColor, currentColor) center / 2px 55% no-repeat;
	transition: transform 0.2s var(--project-ease);
}

.cvc-faq details[open] > summary::after {
	transform: none;
  background-size: 55% 2px, 2px 0;
  background-color: var(--project-color-primary-tint);
  border-color: var(--project-base-primary);
}

.cvc-faq summary:hover {
	color: var(--project-color-link);
}

.cvc-faq summary:focus-visible {
	outline: var(--project-focus-ring);
	outline-offset: 2px;
}

.cvc-faq details > :not(summary) {
	margin: 0 0 var(--cvc-space-4);
	max-width: var(--cvc-text-width);
	color: var(--cvc-color-text-muted);
}

.cvc-faq details > :last-child:not(summary) {
	margin-block-end: var(--cvc-space-5);
}

/* ---------- Završni poziv (tamni blok) ---------- */

.cvc-cta-block {
	display: grid;
	gap: var(--cvc-space-5);
	justify-items: start;
}

.cvc-cta-block > * {
	margin: 0;
}

.cvc-cta-block .cvc-cta-block__title {
	max-width: 18ch;
}

.cvc-cta-block .cvc-text-lead {
	max-width: var(--cvc-text-width);
	color: var(--cvc-color-text-muted);
}

.cvc-cta-block .wp-block-buttons,
.cvc-cta-block .cvc-btn-row {
	margin-block-start: var(--cvc-space-4);
}

/* ---------- Gumbi (klase u predlošcima i Gumb blok u editoru) ---------- */

.cvc-btn,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--cvc-space-2);
	min-height: 3rem;
	padding: var(--cvc-space-3) var(--cvc-space-5);
	border-radius: var(--cvc-radius);
	border: 1px solid transparent;
	font: var(--project-weight-action) var(--cvc-font-size-button) / 1.2 var(--cvc-font-body);
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--motion-duration) var(--motion-ease), color var(--motion-duration) var(--motion-ease), border-color var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease);
}

@media (hover: hover) {
	.cvc-btn:hover,
	.wp-block-button__link:hover {
		transform: none;
	}
}

.cvc-btn:active,
.wp-block-button__link:active {
	transform: none;
}

.cvc-btn:focus-visible,
.wp-block-button__link:focus-visible {
	outline: var(--project-focus-ring);
	outline-offset: 3px;
	transform: none;
}

/* Primarni CTA: jedinstvena teal podloga, bijeli tekst/strelica; ostale površine koriste izvornu paletu. */
.cvc-btn--primary,
.wp-block-button__link {
	background: var(--project-button-primary-bg);
	color: var(--project-button-primary-text);
}

:where(.cvc-btn--primary, .wp-block-button__link) :is(span,svg,i) {
color: inherit;
}

.cvc-btn--primary:hover,
.wp-block-button__link:hover {
	background: var(--project-button-primary-hover);
	color: var(--project-button-primary-text);
}

.cvc-btn--secondary,
.is-style-outline .wp-block-button__link {
	background: transparent;
	border-color: var(--cvc-color-border);
	color: var(--cvc-color-text);
}

.cvc-btn--secondary:hover,
.is-style-outline .wp-block-button__link:hover {
	background: var(--cvc-color-surface);
	border-color: var(--cvc-color-text);
	color: var(--cvc-color-text);
}

.cvc-btn--on-dark,
.cvc-sec--dark .wp-block-button__link {
	background: var(--project-on-dark);
	color: var(--project-color-ink);
}

.cvc-btn--on-dark:hover,
.cvc-sec--dark .wp-block-button__link:hover {
	background: var(--project-color-primary-tint);
	color: var(--project-color-ink);
}

.cvc-btn-row,
.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cvc-space-3);
}

@media (max-width: 29.99em) {
	.cvc-hero .wp-block-button,
	.cvc-cta-block .wp-block-button,
	.cvc-hero .wp-block-button__link,
	.cvc-cta-block .wp-block-button__link,
	.cvc-cta-block .cvc-btn {
		width: 100%;
	}
}

/* ---------- Breadcrumb ---------- */

.cvc-breadcrumb {
	padding-block-start: var(--cvc-space-5);
	padding-inline: max(var(--cvc-gutter), (100% - var(--cvc-content-width)) / 2);
	font-size: var(--cvc-font-size-small);
	color: var(--cvc-color-text-muted);
}

.cvc-breadcrumb p,
.cvc-breadcrumb ol {
	margin: 0;
}

.cvc-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cvc-space-2);
	list-style: none;
	padding: 0;
}

.cvc-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.cvc-breadcrumb a:hover {
	color: var(--project-color-link);
	text-decoration: underline;
}

.cvc-breadcrumb [aria-current="page"],
.cvc-breadcrumb .breadcrumb_last {
	color: var(--cvc-color-text);
}

.cvc-breadcrumb + .cvc-hero {
	padding-block-start: var(--cvc-space-7);
}

/* ---------- Kartica i mreža ---------- */

.cvc-grid {
	display: grid;
	gap: var(--cvc-space-5);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.cvc-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--cvc-color-surface);
	border: 1px solid var(--cvc-color-border);
	border-radius: var(--cvc-radius-lg);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: border-color var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease);
}

.cvc-card:hover {
	border-color: var(--cvc-color-text-muted);
	color: inherit;
}

.cvc-card:focus-visible {
	outline: var(--project-focus-ring);
	outline-offset: 3px;
	border-color: var(--cvc-color-text-muted);
	transform: translateY(-4px);
}

.cvc-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--cvc-color-border);
}

.cvc-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--motion-duration) var(--motion-ease);
}

/* Portfolio: slike nose prikaz, a naslov ostaje izvan slike i čitljiv. */
.cvc-card-wrap--rad .cvc-card {
	background: transparent;
	border: 0;
	border-radius: 0;
}

/* Radovi u formatu 4:5 (Instagram); starije slike drugog omjera prikazuju se cijele. */
.cvc-card-wrap--rad .cvc-card__media {
	border-radius: var(--cvc-radius-lg);
	aspect-ratio: 4 / 5;
}

.cvc-card__media.is-ratio-legacy img {
	object-fit: contain;
}

.cvc-card-wrap--rad .cvc-card__body {
	padding: var(--cvc-space-4) 0 var(--cvc-space-6);
	border-block-end: 1px solid var(--cvc-color-border);
}

.cvc-archive-rad .cvc-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--cvc-space-7) var(--cvc-space-5);
}

@media (max-width: 70em) {
	.cvc-archive-rad .cvc-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 39.99em) {
	.cvc-archive-rad .cvc-grid {
		grid-template-columns: 1fr;
	}
}

@media (hover: hover) {
	.cvc-card:hover {
		transform: translateY(-4px);
	}

	.cvc-card:hover .cvc-card__media img,
	.cvc-card:focus-visible .cvc-card__media img {
		transform: scale(1.03);
	}
}

.cvc-card__body {
	display: grid;
	align-content: start;
	gap: var(--cvc-space-2);
	flex-grow: 1;
	padding: var(--cvc-space-5);
}

.cvc-card__body > * {
	margin: 0;
}

.cvc-card__meta {
	font-size: var(--cvc-font-size-small);
	color: var(--cvc-color-text-muted);
}

.cvc-card__title {
	font-family: var(--cvc-font-heading);
	font-weight: var(--project-weight-heading);
	line-height: var(--cvc-line-height-heading);
	text-wrap: balance;
}

.cvc-card__text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	color: var(--cvc-color-text-muted);
	font-size: var(--cvc-font-size-small);
}

.cvc-card__more {
	margin-block-start: auto;
	padding-block-start: var(--cvc-space-3);
	font-weight: var(--project-weight-label);
	font-size: var(--cvc-font-size-small);
	color: var(--project-color-link);
}

.cvc-card__more::after {
	content: " →";
}

/* ---------- Čipovi (sidra, kategorije, filter) ---------- */

.cvc-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cvc-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cvc-chip {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: var(--cvc-space-2) var(--cvc-space-4);
	border: 1px solid var(--cvc-color-border);
	border-radius: 999px;
	background: var(--cvc-color-background);
	color: var(--cvc-color-text);
	font: var(--project-weight-label) var(--cvc-font-size-small) / 1.2 var(--cvc-font-body);
	text-decoration: none;
	transition: border-color 0.2s var(--project-ease), color 0.2s var(--project-ease);
}

.cvc-chip:hover,
.cvc-chip[aria-current="page"],
.cvc-chip[aria-pressed="true"] {
	border-color: var(--cvc-color-primary);
	color: var(--project-color-link);
}

/* ---------- Zid logotipa ---------- */

.cvc-logo-wall {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr));
	gap: 1px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--cvc-color-border);
	border: 1px solid var(--cvc-color-border);
}

.cvc-logo-wall > li {
	display: grid;
	background: var(--cvc-color-background);
}

.cvc-logo-wall a {
	display: grid;
	place-items: center;
	min-height: 7rem;
	padding: var(--cvc-space-5);
	opacity: 0.7;
	transition: opacity 0.2s var(--project-ease);
}

.cvc-logo-wall a:hover,
.cvc-logo-wall a:focus-visible {
	opacity: 1;
}

.cvc-logo-wall img {
	max-width: 8rem;
	max-height: 3rem;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(1);
}

/* ---------- Obrazac upita (mu-plugin convoco-site) ---------- */

.cvc-upit {
	display: grid;
	gap: var(--cvc-space-5);
}

.cvc-upit > p {
	display: grid;
	gap: var(--cvc-space-2);
	margin: 0;
}

.cvc-upit label {
	font-weight: var(--project-weight-label);
	font-size: var(--cvc-font-size-small);
}

.cvc-upit input:not([type="checkbox"]),
.cvc-upit textarea,
.cvc-upit select {
	width: 100%;
	min-height: 3rem;
	padding: var(--cvc-space-3) var(--cvc-space-4);
	border: 1px solid var(--cvc-color-border);
	border-radius: var(--cvc-radius);
	background: var(--cvc-color-background);
	color: var(--cvc-color-text);
	font: var(--project-weight-regular) var(--cvc-font-size-base) / var(--project-leading-body) var(--cvc-font-body);
	transition: border-color 0.2s var(--project-ease);
}

.cvc-upit input:not([type="checkbox"]):hover,
.cvc-upit textarea:hover {
	border-color: var(--cvc-color-text-muted);
}

.cvc-upit textarea {
	min-height: 10rem;
	resize: vertical;
}

.cvc-upit input:focus-visible,
.cvc-upit textarea:focus-visible,
.cvc-upit select:focus-visible {
	outline: var(--project-focus-ring);
	outline-offset: 2px;
	border-color: var(--cvc-color-text);
}

.cvc-upit__hint {
	font-weight: 400;
	font-size: var(--cvc-font-size-small);
	color: var(--cvc-color-text-muted);
}

.cvc-upit__consent label {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--cvc-space-3);
	align-items: start;
	font-weight: 400;
	color: var(--cvc-color-text-muted);
}

.cvc-upit__consent input {
	width: 1.25rem;
	height: 1.25rem;
	margin-block-start: 0.15em;
	accent-color: var(--project-color-primary-hover);
}

.cvc-upit button[type="submit"] {
	justify-self: start;
	min-height: 3rem;
	padding: var(--cvc-space-3) var(--cvc-space-6);
	border-radius: var(--cvc-radius);
	background: var(--project-button-primary-bg);
	color: var(--project-button-primary-text);
	font: var(--project-weight-action) var(--cvc-font-size-button) / 1.2 var(--cvc-font-body);
	transition: background-color 0.2s var(--project-ease);
}

.cvc-upit button[type="submit"]:hover {
	background: var(--project-button-primary-hover);
	color: var(--project-button-primary-text);
}

.cvc-upit button[type="submit"]:focus-visible {
	outline: var(--project-focus-ring);
	outline-offset: 3px;
}

.cvc-upit__ok,
.cvc-upit__err {
	display: grid;
	gap: var(--cvc-space-2);
	margin: 0 0 var(--cvc-space-5);
	padding: var(--cvc-space-5);
	border-radius: var(--cvc-radius-lg);
}

.cvc-upit__ok {
	background: var(--project-color-primary-tint);
	color: var(--cvc-color-text);
}

.cvc-upit__err {
	background: color-mix(in srgb, var(--project-status-error) 8%, var(--project-base-background));
	color: var(--project-status-error);
}

.cvc-upit__ok strong {
	font: var(--project-weight-heading) var(--cvc-font-size-h4) / var(--project-leading-heading) var(--cvc-font-heading);
}

/* ---------- Prazno stanje ---------- */

.cvc-empty {
	display: grid;
	gap: var(--cvc-space-4);
	justify-items: start;
	max-width: var(--cvc-text-width);
	padding: var(--cvc-space-6);
	border: 1px dashed var(--cvc-color-border);
	border-radius: var(--cvc-radius-lg);
	color: var(--cvc-color-text-muted);
}

.cvc-empty > * {
	margin: 0;
}

.cv-menu__link:focus-visible {
	outline: var(--project-focus-ring);
	outline-offset: 3px;
}

/* Osobni izbor pokreta; pojavljuje se samo uz sustavno smanjen pokret ili spremljen izbor. */
/* Tamna varijanta parent izbornika posvjetljuje naglasak; projekt koristi izvornu boju brenda. */
/* Standardni izbornik nema svijetlu razdjelnu crtu prema prvoj sekciji.
 * Samo border, bez izmjene visine navigacije, cv-offseta ili hero razmaka. Plutajući izbornik čuva svoj okvir. */
.cv-header:not(.cv-header--floating) > .cv-header__bar { border-bottom:0; }

.cv-header.cv-header--dark { --cv-bg:var(--project-color-ink); --cv-accent:var(--cvc-nav-accent,var(--project-base-primary)); --cv-accent-hover:color-mix(in srgb,var(--cv-accent) 82%,var(--project-neutral-black)); --cv-on-accent:var(--project-on-nav-accent); }

/* Jedan primarni poziv i vidljiv fokus, bez podizanja gumba. */
.cvc-btn:hover, .cvc-btn:active, .cvc-btn:focus-visible { transform: none; }
.cvc-btn:focus-visible, .cvc-floating-cta:focus-visible { outline: var(--project-focus-ring); outline-offset: 4px; }
.cvc-btn > span[aria-hidden] { transition: transform 200ms var(--motion-ease); }
.cvc-btn:hover > span[aria-hidden] { transform: translateX(4px); }
.cvc-floating-cta { position: fixed; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 45; border: 0; border-radius: 999px; font-size: .875rem; min-height: 44px; padding: .75rem 1.125rem; }
/* Zajednički plutajući pozivi: WhatsApp lijevo od postojećeg CTA-a. */
.cvc-floating-actions{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:99990;display:flex;align-items:center;gap:8px;visibility:hidden;opacity:0;pointer-events:none}
.cvc-floating-actions.is-cta-visible{visibility:visible;opacity:1;pointer-events:auto}
.cvc-floating-actions .cvc-floating-cta{position:relative;right:auto;bottom:auto;z-index:auto;white-space:nowrap}
.cvc-floating-actions .cv-wa{position:relative;inset:auto;z-index:auto;font:inherit}
.cvc-floating-actions .cv-wa__btn{display:flex;justify-content:center;align-items:center;gap:0;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:999px;background:var(--project-button-primary-bg);color:var(--project-button-primary-text);font:inherit;font-size:.875rem;font-weight:var(--project-weight-action);line-height:1;box-shadow:0 8px 24px -13px rgba(18,18,18,.33)}
.cvc-floating-actions .cv-wa__btn:hover{background:var(--project-button-primary-hover)}
.cvc-floating-actions .cv-wa__icon{color:currentColor;width:21px;height:21px}
.cvc-floating-actions .cv-wa__label{display:none}
.cvc-floating-actions .cv-wa .cv-wa__panel{position:fixed;right:max(1rem,env(safe-area-inset-right));left:auto;bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 58px);max-width:calc(100vw - 2rem)}
.cvc-floating-actions .cv-wa__btn:focus-visible{outline:var(--project-focus-ring);outline-offset:4px}
.cvc-floating-actions .cv-wa--p-chat .cv-wa__panel{width:320px;max-width:calc(100vw - 2rem);font-family:inherit;border-radius:12px}
.cvc-floating-actions .cv-wa__chead{padding:14px 40px 14px 16px;gap:10px}
.cvc-floating-actions .cv-wa__avatar{width:40px;height:40px;font-size:17px;background:#fff;overflow:visible}
.cvc-floating-actions .cv-wa__avatar img{width:74%;height:74%;object-fit:contain;border-radius:0;flex:none}
.cvc-floating-actions .cv-wa__cname{font-size:14px}
.cvc-floating-actions .cv-wa__csub:empty{display:none}
.cvc-floating-actions .cv-wa__chat{padding:16px 14px 18px;min-height:0}
.cvc-floating-actions .cv-wa__msg{font-size:14px;line-height:1.5}
.cvc-floating-actions .cv-wa__foot{padding:12px 14px 14px}
.cvc-floating-actions .cv-wa--p-chat .cv-wa__cta{min-height:44px;padding:.75rem 1rem;font:inherit;font-size:.875rem;font-weight:var(--project-weight-action);border-radius:999px;background:var(--project-button-primary-bg)}
.cvc-floating-actions .cv-wa--p-chat .cv-wa__cta:hover{background:var(--project-button-primary-hover);filter:none}
@media(max-width:390px){.cvc-floating-actions{gap:6px}.cvc-floating-actions .cvc-floating-cta{padding-inline:.8rem;font-size:.8125rem}}

/* Pristupačnost: jednokratna napomena samo uz prefers-reduced-motion.
 * Ispod ostaje 80 px rezervirano za budući cookie-control u donjem lijevom kutu;
 * postojeći plutajući CTA zauzima donji desni kut. Nema trajne nove ikonice. */
.cvc-motion-info {
position:fixed;
left:max(1rem,env(safe-area-inset-left));
bottom:calc(max(1rem,env(safe-area-inset-bottom)) + var(--cvc-cookie-icon-clearance,80px));
z-index:44;
box-sizing:border-box;
width:min(360px,calc(100vw - 2rem));
max-height:min(340px,55dvh);
overflow:auto;
overscroll-behavior:contain;
padding:1rem 1.15rem;
border:1px solid var(--project-base-border);
border-radius:var(--cvc-radius,8px);
background:var(--project-base-background);
color:var(--project-base-text);
box-shadow:0 14px 38px color-mix(in srgb,var(--project-base-secondary) 17%,transparent);
font:var(--project-weight-regular) .875rem/1.55 var(--cvc-font-body);
}
.cvc-motion-info__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.cvc-motion-info__top strong{font-weight:var(--project-weight-label);line-height:1.4}
.cvc-motion-info__close{
display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;
margin:-.45rem -.6rem 0 0;padding:0;border:0;border-radius:50%;
background:transparent;color:inherit;font:inherit;font-size:1.35rem;cursor:pointer
}
.cvc-motion-info__close:is(:hover,:focus-visible){background:var(--project-color-primary-tint)}
.cvc-motion-info p{margin:.45rem 0 0;color:var(--project-base-muted);font:inherit}
.cvc-motion-info__help{margin-top:.65rem}
.cvc-motion-info__help summary{
display:list-item;width:max-content;max-width:100%;
color:var(--project-color-link);font-weight:var(--project-weight-action);cursor:pointer
}
.cvc-motion-info__help[open] p{margin:.5rem 0 0}
.cvc-motion-info :focus-visible{outline:var(--project-focus-ring);outline-offset:3px}
@media(max-width:420px){
.cvc-motion-info{padding:.85rem 1rem;max-height:min(260px,48dvh)}
}

@media(prefers-reduced-motion:reduce) { .cvc-btn, .cvc-btn > span[aria-hidden] { transition: none; } .cvc-btn:hover > span[aria-hidden] { transform: none; } }
/* CONVOCO testimonial: jedan zajednički niz postojećih Phosphor zvjezdica. */
.cvc-testimonial-stars {
  display:inline-flex;
  align-items:center;
  gap:.2rem;
  color:var(--project-base-primary);
  white-space:nowrap;
}
.cvc-testimonial-stars__star {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:15px;
  height:15px;
  position:relative;
  opacity:.92;
}
.cvc-testimonial-stars__outline,
.cvc-testimonial-stars__fill {
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.cvc-testimonial-stars__outline { opacity:.42; }
.cvc-testimonial-stars__star.is-empty { opacity:.65; }
.cvc-testimonial-stars__star.is-empty .cvc-testimonial-stars__fill { display:none; }
.cvc-testimonial-stars__star .cvc-phosphor-icon { display:block; width:100%; height:100%; }
/* Tek nakon JS aktivacije: obrisi su vidljivi, puna ispunjenja ulaze redom. */
@media (prefers-reduced-motion: no-preference) {
  .cvc-testimonial-stars.is-animating .cvc-testimonial-stars__fill {
    animation:cvc-testimonial-star-fill .34s cubic-bezier(.2,.7,.25,1) both;
    animation-delay:var(--cvc-star-delay,0ms);
  }
  @keyframes cvc-testimonial-star-fill {
    from { opacity:0; clip-path:inset(0 100% 0 0); transform:scale(.82); }
    to { opacity:1; clip-path:inset(0 0 0 0); transform:scale(1); }
  }
}

/* Privremena korekcija starter navigacije bez JS-a; kandidat za parent. */
.no-js .cv-header { position:relative; }
.no-js .cv-offset { padding-top:0; }
.no-js .cv-nav { height:auto; min-height:76px; flex-wrap:wrap; padding-block:1rem; }
.no-js .cv-nav__panel { position:static; display:flex; flex-wrap:wrap; width:100%; height:auto; opacity:1; visibility:visible; transform:none; padding:0; }
.no-js .cv-menu { display:flex; flex-wrap:wrap; gap:.5rem 1rem; }
.no-js .cv-menu > li { width:auto; }
.no-js .cv-menu .sub-menu,.no-js .cv-mega,.no-js .cv-menu__trigger,.no-js .cv-menu__toggle { display:none !important; }

/* Višerazinska navigacija: sve podrazine ostaju u istom padajućem popisu. */
.cv-menu > .menu-item > .sub-menu .sub-menu {
  position:static;
  display:block;
  min-width:0;
  margin:0;
  padding:0 0 0 var(--cvc-space-3,16px);
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  opacity:1;
  visibility:visible;
  transform:none;
  transition:none;
}
/* Zatvoren desktop padajući izbornik ne smije imati aktivne nevidljive podrazine.
 * Treća razina inače prisiljava visibility:visible i hvata miš izvan navigacije. */
@media (min-width:1024px) and (hover:hover) and (pointer:fine) {
.cv-menu > .menu-item:not(.is-open) > .sub-menu {
pointer-events:none;
}
.cv-menu > .menu-item:not(.is-open) > .sub-menu .sub-menu {
visibility:hidden;
}
}
.cv-menu > .menu-item > .sub-menu .sub-menu::before { content:none; }
.cv-menu > .menu-item > .sub-menu .sub-menu .cv-menu__link { padding-left:12px; }
.cv-menu > .menu-item > .sub-menu .sub-menu .cv-menu__link:hover { padding-left:16px; }
@media (max-width:1023px) {
  .cv-menu > .menu-item.is-open > .sub-menu .sub-menu {
    display:block;
    opacity:1;
    visibility:visible;
  }
}

.no-js .cv-nav__actions { margin:0; padding-top:1rem; }
.no-js.home .cvc-hero { margin-top:0; padding-top:2rem; }

.no-js .cv-nav__panel { overflow:visible; }
.no-js .cv-menu__link { max-width:100%; padding-inline:0; }


/* Projektne tamne varijante koriste paletu; izričita footer_bg postavka ima prednost. */
.cv-footer:is(.cv-footer--dark,.cv-footer--ink) {
  --cv-f-bg:var(--project-color-ink); --cv-f-fg:var(--project-on-footer);
  --cv-f-muted:color-mix(in srgb,var(--project-on-footer) 76%,var(--cvc-footer-bg,var(--project-color-ink)));
  --cv-f-line:color-mix(in srgb,var(--project-on-footer) 18%,var(--cvc-footer-bg,var(--project-color-ink)));
  --cv-f-card:color-mix(in srgb,var(--project-on-footer) 5%,var(--cvc-footer-bg,var(--project-color-ink)));
  --cv-f-field:var(--cv-f-card); --cv-accent:var(--project-base-primary);
  --cv-accent-hover:var(--project-color-primary-hover); --cv-on-accent:var(--project-on-primary);
}
.cv-footer :focus-visible { outline:var(--project-focus-ring); }

/* Parent komponente zadržavaju odabranu varijantu, ali boje slijede paletu projekta. */
.cv-header:is(.cv-header--dark,.cv-header--on-dark) {
  --cv-accent:var(--cvc-nav-accent,var(--project-base-primary));
  --cv-accent-hover:color-mix(in srgb,var(--cv-accent) 82%,var(--project-neutral-black));
  --cv-on-accent:var(--project-on-nav-accent);
}
.cv-header.cv-header--dark {
  --cv-panel:var(--cvc-nav-sub-bg,var(--project-color-ink));
  --cv-panel-alt:var(--project-color-dark-surface);
}
/* Parent .cv-btn i njegove primarne/arrow varijante koriste iste projektne tokene. */
.cv-btn:not(.cv-btn--dark,.cv-btn--light,.cv-btn--outline,.cv-btn--ghost) {
--b-bg:var(--project-button-primary-bg); --b-fg:var(--project-button-primary-text);
--b-bg-h:var(--project-button-primary-hover); --b-fg-h:var(--project-button-primary-text);
--b-bd:transparent; --b-bd-h:transparent;
}
/* Krug uz strelicu ostaje teal-tonal, ali sama strelica mora biti bijela. */
.cv-btn:is(.cv-btn--primary,.cv-btn--arrow):not(.cv-btn--dark,.cv-btn--light,.cv-btn--outline,.cv-btn--ghost) .cv-btn__circle,
.cv-btn:is(.cv-btn--primary,.cv-btn--arrow):not(.cv-btn--dark,.cv-btn--light,.cv-btn--outline,.cv-btn--ghost):hover .cv-btn__circle {
background:color-mix(in srgb,var(--project-button-primary-text) 15%,transparent);
color:var(--project-button-primary-text);
}
.cv-btn.cv-btn--dark {
  --b-bg:var(--project-color-ink); --b-bg-h:var(--project-color-dark-surface);
  --b-fg:var(--project-on-dark); --b-fg-h:var(--project-on-dark);
}
.cv-btn.cv-btn--light {
  --b-bg:var(--project-base-background); --b-bg-h:var(--project-base-surface);
  --b-fg:var(--project-base-text); --b-fg-h:var(--project-base-text);
}
/* Primarni CTA zaglavlja: stvarni gumb, čitljiv na tamnoj pozadini. */
.cv-header .cv-nav__actions > a.cv-btn--primary { --b-bg:var(--project-button-primary-bg); --b-fg:var(--project-button-primary-text); --b-bd:transparent; --b-bg-h:var(--project-button-primary-hover); --b-fg-h:var(--project-button-primary-text); --b-bd-h:transparent; min-height:44px; padding-inline:1.25rem; border-radius:6px; font-weight:650; letter-spacing:0; text-transform:none; }
.cv-header .cv-btn--primary { --b-fg-h:var(--project-button-primary-text); }
.cv-header .cv-nav__actions > a.cv-btn--primary:hover { --b-fg-h:var(--project-button-primary-text); }
.cv-footer .cv-btn--primary { --b-fg-h:var(--project-button-primary-text); }

/* Ujednačen urednički hover tekstualnih poveznica kroz temu.
   Navigacija, slike, logotipi i gumbi namjerno su izuzeti. */
:where(.entry-content,.cvc-sec,.cv-footer__main,.cv-footer__bottom) a:not(:where(.cv-btn,.cvc-btn,.cvc-floating-cta,.cvc-blog-card__link,.cvc-clanak__navigation-grid>a,[class*="__media"],[class*="__image"],[class*="__open"],[class*="__avatar"],[class*="__brand"],[class*="__logo"])) {
  background-image:linear-gradient(90deg,color-mix(in srgb,var(--project-base-primary) 70%,transparent),color-mix(in srgb,var(--project-base-primary) 70%,transparent));
  background-repeat:no-repeat;
  background-position:0 calc(100% - 1px);
  background-size:0 1.5px;
  text-decoration:none;
  transition:background-size .3s cubic-bezier(.22,1,.36,1),color .22s ease;
}
:where(.entry-content,.cvc-sec,.cv-footer__main,.cv-footer__bottom) a:not(:where(.cv-btn,.cvc-btn,.cvc-floating-cta,.cvc-blog-card__link,.cvc-clanak__navigation-grid>a,[class*="__media"],[class*="__image"],[class*="__open"],[class*="__avatar"],[class*="__brand"],[class*="__logo"])):is(:hover,:focus-visible) {
  background-size:100% 1.5px;
  text-decoration:none;
}
@media(prefers-reduced-motion:reduce) {
  :where(.entry-content,.cvc-sec,.cv-footer__main,.cv-footer__bottom) a {transition:none!important;}
}

/* Link "Na vrh": urednički teal naglasak i pomak strelice pri hoveru. */
.cv-footer__totop {
  position:relative;
  padding:.45rem .2rem;
  transition:color .28s ease;
}
.cv-footer__totop::after {
  content:"";
  position:absolute;
  bottom:0;left:.2rem;right:.2rem;
  height:1px;
  background:color-mix(in srgb,var(--project-base-primary) 75%,transparent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .32s cubic-bezier(.22,1,.36,1);
}
.cv-footer__totop:is(:hover,:focus-visible) {color:color-mix(in srgb,var(--project-base-primary) 67%,var(--project-on-dark));}
.cv-footer__totop:is(:hover,:focus-visible)::after {transform:scaleX(1);}
.cv-footer__totop:is(:hover,:focus-visible) svg {transform:translateY(-4px);color:color-mix(in srgb,var(--project-base-primary) 67%,var(--project-on-dark));}
@media(prefers-reduced-motion:reduce) {
  .cv-footer__totop,.cv-footer__totop::after,.cv-footer__totop svg {transition:none!important;}
}

/* Suptilnija tipografija svih CTA gumba, bez promjene njihovih dimenzija. */
a.cv-btn, button.cv-btn {font-weight:var(--project-weight-action)!important;}

/* CTA izbornika: bijeli verzal na dovoljno tamnom tealu za WCAG AA. */
.cv-header .cv-nav__actions > a.cv-btn--primary {
  --b-bg:var(--project-button-primary-bg);
  --b-fg:var(--project-button-primary-text);
  --b-bg-h:var(--project-button-primary-hover);
  --b-fg-h:var(--project-button-primary-text);
  --b-bd:transparent;
  --b-bd-h:transparent;
  color:var(--project-button-primary-text);
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.055em;
}
.cv-header .cv-nav__actions > a.cv-btn--primary:hover,
.cv-header .cv-nav__actions > a.cv-btn--primary:focus-visible {
  color:var(--project-button-primary-text);
}


