/* dorcol-core 0.3.1 | 00-fonts.css, 00-tokens.css, 01-base.css, 10-buttons.css, 11-sticky-bar.css, 12-forms.css, 13-utilities.css, 14-cookie-notice.css, 15-brzina.css, 20-header.css, 53-stan.css, 90-oxygen-fixes.css */

/* ---- 00-fonts.css ---- */
/*
 * Dorćol Core | 00-fonts.css (isti fajlovi kao render-core)
 * Montserrat, lokalno (bez Google Fonts). Izvor: @fontsource/montserrat 5.3.0 (Google Fonts v31),
 * licenca SIL Open Font License 1.1, tekst u ../fonts/LICENSE-Montserrat-OFL.txt.
 *
 * Tezine 400 500 600 700 800, isto kao na render.rs (800 Dorcol ne koristi, ali ga pregledac ne
 * skida dok ga nista ne trazi). Italic se nigde ne koristi, pa ga nema.
 * Podskupovi: latin-ext (c, c, dj, s, z sa kvacicama) pa latin, istim redom i sa istim
 * unicode-range kao Google Fonts, pa browser skida samo ono sto strana stvarno koristi.
 * font-display: swap = tekst se vidi odmah, font se zameni kad stigne.
 * Latin 400 i 700 se dodatno preload-uju iz includes/performance.php.
 */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(https://dorcolpark.render.rs/wp-content/plugins/dorcol-core/assets/fonts/montserrat-latin-ext-400-normal.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: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(https://dorcolpark.render.rs/wp-content/plugins/dorcol-core/assets/fonts/montserrat-latin-400-normal.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: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(https://dorcolpark.render.rs/wp-content/plugins/dorcol-core/assets/fonts/montserrat-latin-ext-500-normal.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: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(https://dorcolpark.render.rs/wp-content/plugins/dorcol-core/assets/fonts/montserrat-latin-500-normal.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: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(https://dorcolpark.render.rs/wp-content/plugins/dorcol-core/assets/fonts/montserrat-latin-ext-600-normal.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: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(https://dorcolpark.render.rs/wp-content/plugins/dorcol-core/assets/fonts/montserrat-latin-600-normal.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: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(https://dorcolpark.render.rs/wp-content/plugins/dorcol-core/assets/fonts/montserrat-latin-ext-700-normal.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: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(https://dorcolpark.render.rs/wp-content/plugins/dorcol-core/assets/fonts/montserrat-latin-700-normal.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: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(https://dorcolpark.render.rs/wp-content/plugins/dorcol-core/assets/fonts/montserrat-latin-ext-800-normal.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: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(https://dorcolpark.render.rs/wp-content/plugins/dorcol-core/assets/fonts/montserrat-latin-800-normal.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;
}


/* ---- 00-tokens.css ---- */
/* =============================================================================
   Dorćol Core | 00-tokens.css
   Promenljive za ceo sajt. Ovaj fajl sam ne menja izgled nicega; sve se koristi kroz var().

   STANDARD (odluka 29.09.2026): Dorćol radi po render.rs sistemu. Isti font (Montserrat, lokalno),
   iste debljine, ista tipografska skala, ista dugmad (oblik, padding, velicina teksta), isti nazivi
   promenljivih (--rn-*, --brand-*) kao u render-core. Od Dorcola su SAMO BOJE (blok 1 i blok 5).
   Kad se na render.rs promeni skala ili dugme, ovde se prepise isti broj.

   Zamenjuje (Oxygen > Manage > Stylesheets):
     "fonts"  = "00-typography" (tokeni --dp-*, skala 36-68 px)  -> render skala (blok 2)
     "cta"    = "01-buttons" (tokeni --dp-btn-*, pilula 999px)    -> render dugmad (blok 4)
     "main"   blok TOKENI (--dp-dark, --dp-green, --dp-panel)      -> blok 1 i blok 6

   Blok 6 su stara imena (--dp-*) koja jos koriste Oxygen code blokovi na pocetnoj (hero, Kuula,
   sekcije) i rich text u hero-u. Ostaju dok se ti blokovi ne presele u plugin.
   ============================================================================= */

:root {
  /* ---------- 1. Boje, Dorćol paleta (isti nazivi kao na render.rs) ----------
     Vrednosti su iz Oxygen globalnih boja i starih stylesheet-ova, nista novo. */
  --brand-ink:         #404040;   /* naslovi bez svoje boje (Oxygen globalni tekst) */
  --brand-ink-2:       #000000;   /* naslovi u sekcijama iz shortcode-ova (Oxygen "Crna") */
  --brand-body:        #404040;   /* telo teksta (Oxygen globalni tekst) */
  --brand-muted:       #7f7f7f;   /* sekundarni tekst (Oxygen "Siva") */
  --brand-accent:      #446440;   /* zelena: dugmad, aktivne povrsine (Oxygen "zelena izmedju") */
  --brand-accent-hi:   #000000;   /* hover na zelenom dugmetu: crna, kao do sada (btn-black) */
  --brand-accent-deep: #000000;   /* pritisnuto dugme */
  --brand-signal:      #009444;   /* signalna zelena: fokus, brojevi, ikonice (Oxygen "zelena 2") */
  --brand-on-dark:     #ffffff;   /* tekst na tamnoj podlozi */
  --brand-cream:       #f4f4f4;   /* svetla podloga sekcija (Oxygen "svetlo siva") */
  --brand-cream-2:     #eef5eb;   /* svetlozelena podloga (Oxygen "Sivo crna") */
  --brand-line:        #e4ecf1;   /* linije i okviri (Oxygen "Zelena logo") */
  --brand-surface-dark:#1a2e20;   /* header, footer, mobilni meni */
  --brand-hero:        #8dc63f;   /* svetla zelena u hero naslovu */

  /* ---------- 2. Tipografska skala (ISTA kao render.rs) ----------
     clamp(minimum, rast, maksimum), bez brejkpointa.
     h1 65px, h2 46px, h3 31px, h4 24px, h5 18px, h6 15px, telo 16px (maksimumi). */
  --rn-h1:    clamp(38px, 2.00rem + 2.60vw, 65px);
  --rn-h2:    clamp(30px, 1.55rem + 1.90vw, 46px);
  --rn-h3:    clamp(22px, 1.15rem + 1.00vw, 31px);
  --rn-h4:    clamp(18px, 0.95rem + 0.70vw, 24px);
  --rn-h5:    clamp(16px, 0.95rem + 0.25vw, 18px);
  --rn-h6:    15px;
  --rn-body:  clamp(15px, 0.90rem + 0.15vw, 16px);
  --rn-lead:  clamp(17px, 1.00rem + 0.25vw, 19px);
  --rn-small: 14px;
  --rn-tiny:  12px;

  /* Naslovi unutar komponenti (kartice, stan stranica), isto kao na render.rs. */
  --rn-page-title: var(--rn-h2);                          /* 30 -> 46 px */
  --rn-card-title: clamp(18px, 1.00rem + 0.30vw, 20px);   /* 18 -> 20 px */

  /* proredi */
  --rn-lh-tight: 1.10;
  --rn-lh-head:  1.22;
  --rn-lh-body:  1.65;

  /* debljine */
  --rn-w-regular: 400;
  --rn-w-medium:  500;
  --rn-w-semi:    600;
  --rn-w-bold:    700;

  --rn-ls-head:    -0.01em;
  --rn-ls-eyebrow:  0.12em;

  /* ---------- 3. Razmaci (isti kao render.rs) ---------- */
  --rn-sec-y:     65px;
  --rn-sec-y-sm:  45px;
  --rn-gap-head:  0.5em;
  --rn-gap-body:  1em;

  /* ---------- 4. Dugmad: oblik (ISTI kao render.rs) ----------
     Radijus 8px, padding 16/26, tekst 700 u velicini teksta strane, visina najmanje 54px,
     okvir 2px. Menja se SAMO ovde i vazi za sva dugmad: rn-btn, btn-black, btn-white,
     dugmad u sekcijama (Standardi, Stanovi, stan), submit u formama, obavestenje o kolacicima. */
  --rn-btn-radius: 8px;
  --rn-btn-radius-sm: 8px;
  --rn-icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M19.354 10.146l-6-6c-0.195-0.195-0.512-0.195-0.707 0s-0.195 0.512 0 0.707l5.146 5.146h-16.293c-0.276 0-0.5 0.224-0.5 0.5s0.224 0.5 0.5 0.5h16.293l-5.146 5.146c-0.195 0.195-0.195 0.512 0 0.707 0.098 0.098 0.226 0.146 0.354 0.146s0.256-0.049 0.354-0.146l6-6c0.195-0.195 0.195-0.512 0-0.707z'/%3E%3C/svg%3E");
  --rn-btn-font: 'Montserrat', sans-serif;
  --rn-btn-weight: 700;
  --rn-btn-gap: 14px;
  --rn-btn-pad-y: 16px;
  --rn-btn-pad-x: 26px;
  --rn-btn-size: var(--rn-body, 16px);
  --rn-btn-min-h: 54px;
  --rn-btn-border: 2px;
  --rn-btn-speed: .2s;

  /* ---------- 5. Dugmad i obavestenje: boje (Dorćol) ---------- */
  --rn-accent:      var(--brand-accent, #446440);
  --rn-accent-hi:   var(--brand-accent-hi, #000000);
  --rn-accent-lo:   var(--brand-accent-deep, #000000);
  --rn-accent-ink:  #ffffff;
  --rn-accent-soft: rgba(68, 100, 64, .12);
  --rn-accent-ring: rgba(68, 100, 64, .38);   /* senka ispod punog dugmeta, kao na render.rs */
  --rn-focus:       var(--brand-signal, #009444);

  --rn-ink:             var(--brand-ink, #404040);
  --rn-ink-dim:         var(--brand-muted, #7f7f7f);
  --rn-ink-on-dark:     var(--brand-on-dark, #ffffff);
  --rn-ink-on-dark-dim: rgba(255, 255, 255, .65);
  --rn-surface-dark:    var(--brand-surface-dark, #1a2e20);

  /* status zeleno, za "Pozovite agenta" (isto kao render.rs) */
  --rn-live: #2ecc71;
  --rn-live-hi: #3ee07f;
  --rn-live-soft: rgba(46, 204, 113, .10);

  /* visina trake na dnu (.rn-sticky-bar, 11-sticky-bar.css), izmerena: 81px, na telefonu 71px.
     Koristi je obavestenje o kolacicima (stoji 12px iznad trake) i razmak ispod footera. */
  --rn-sticky-bar-h: 81px;

  /* ---------- 6. Stara imena (--dp-*), da stari code blokovi i hero rade isto ----------
     Boje su iste kao ranije, tipografija pokazuje na render skalu. */
  --dp-font:      'Montserrat', sans-serif;
  --dp-font-head: 'Montserrat', sans-serif;
  --dp-dark:   #1a2e20;
  --dp-green:  #446440;
  --dp-accent: #009444;
  --dp-black:  #000000;
  --dp-white:  #ffffff;
  --dp-light:  #ffffff;
  --dp-line:   #e4ecf1;
  --dp-muted:  #7f7f7f;
  --dp-panel:  rgba(26, 46, 32, .96);
  --dp-h1:     var(--rn-h1);
  --dp-h2:     var(--rn-h2);
  --dp-h3:     var(--rn-h3);
  --dp-h4:     var(--rn-h4);
  --dp-h5:     var(--rn-h5);
  --dp-h6:     var(--rn-h6);
  --dp-body:   var(--rn-body);
  --dp-lead:   var(--rn-lead);
  --dp-small:  var(--rn-small);
  --dp-tiny:   var(--rn-tiny);
  --dp-w-regular: 400;
  --dp-w-medium:  500;
  --dp-w-semi:    600;
  --dp-w-bold:    700;
  /* hero naslov na pocetnoj i Lokaciji (rich text u hero-u). Posle migracije dp2 po render skali
     (vidi body.dc-layout-render ispod); ovde su vrednosti od pre dp2, za "Vrati na staro". */
  --dp-display:     clamp(38px, 8vw, 72px);
  --dp-display-sub: clamp(26px, 5.5vw, 54px);
  --dp-measure:     760px;

  /* ---------- 7. Oxygen ----------
     Oxygen natpis u galeriji (i Easy Posts) koristi ovu promenljivu, ali je definise samo u builderu
     (oxygen.variables.css se na sajtu ne ucitava). Bez nje prored je 0 i natpis u dva reda se
     preklapa (izgleda kao dupli opis). 1.2 je Oxygen vrednost iz buildera. */
  --oxy-small-line-height: 1.2;
}

/* Posle migracije dp2 (klasa na body iz includes/header-menu.php): hero naslov po render skali.
   Prvi red kao h1 na render.rs (38 do 65px, bilo 38 do 72), drugi red kao h2 (30 do 46px, bilo 26 do 54). */
body.dc-layout-render {
  --dp-display:     var(--rn-h1);
  --dp-display-sub: var(--rn-h2);
}

/* Traka na dnu je niza na telefonu (71px, od 576px 81px), kao na render.rs. */
@media (max-width: 575px) {
  :root { --rn-sticky-bar-h: 71px; }
}

/* Tamna podloga: menja se samo boja teksta, akcenat ostaje (isto kao render.rs). */
.rn-on-dark {
  --rn-ink: var(--rn-ink-on-dark, #ffffff);
  --rn-ink-dim: var(--rn-ink-on-dark-dim, rgba(255, 255, 255, .65));
}


/* ---- 01-base.css ---- */
/* =============================================================================
   Dorćol Core | 01-base.css
   Osnova strane po render.rs standardu: font, velicina, debljina i prored za body, h1-h6, p,
   Oxygen tekst blokove i rich text, i zastita od bocnog skrola na telefonu.
   Pravila su prepisana iz render-core/01-base.css, sa jednom razlikom:

   BOJE SE OVDE NE POSTAVLJAJU. Na Dorcolu naslovi i tekst bez svoje boje nasledjuju boju od
   roditelja (sekcija, rich text, hero). Da ovaj fajl postavlja boju kao render, tekst u tamnim
   sekcijama i u hero-u bi potamneo. Boja teksta ostaje iz Oxygen globalnih podesavanja (#404040)
   i sa elemenata, kao do sada.

   Zamenjuje Oxygen stylesheet "fonts" (u njemu je "00-typography"):
     - skala 36-68 px (Dorcol)          -> render skala 38-65 px (00-tokens.css)
     - h2 600                            -> h2 700, kao svi naslovi na render.rs (h1 600, h5 600)
     - telo 15-17 px, prored 1.65        -> 15-16 px, prored 1.65
     - "nevidljiva" donja margina na Oxygen naslovima (0.5em) i tekstovima (1em) se skida, kao na
       render.rs: razmak ispod Oxygen elementa pravis u builderu, pa builder i sajt izgledaju isto.
       Pravi <p> i naslovi van Oxygen elemenata (rich text, politika, shortcode-i) zadrzavaju razmak.
     - pomocne klase .dp-lead, .dp-eyebrow, .dp-w-* nisu prenete: nijedan element ih ne koristi.
       Iste klase postoje kao .rn-lead, .rn-eyebrow, .rn-w-* (13-utilities.css).

   Selektori nose i tag i Oxygen klasu (h2.ct-headline), jer bi golo "h2" izgubilo od Oxygen
   pravila ".ct-headline". Vrednosti upisane na elementu u Oxygenu (ID selektor) i dalje vaze.
   ============================================================================= */

body {
  font-family: 'Montserrat', sans-serif;
  font-size: var(--rn-body);
  font-weight: var(--rn-w-regular);
  line-height: var(--rn-lh-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

h1, h2, h3, h4, h5, h6,
h1.ct-headline, h2.ct-headline, h3.ct-headline,
h4.ct-headline, h5.ct-headline, h6.ct-headline {
  font-family: 'Montserrat', sans-serif;
  font-weight: var(--rn-w-bold);
  line-height: var(--rn-lh-head);
  letter-spacing: var(--rn-ls-head);
  text-wrap: balance;
}

h1, h1.ct-headline { font-size: var(--rn-h1); line-height: var(--rn-lh-tight); font-weight: var(--rn-w-semi); }
h2, h2.ct-headline { font-size: var(--rn-h2); }
h3, h3.ct-headline { font-size: var(--rn-h3); }
h4, h4.ct-headline { font-size: var(--rn-h4); }
h5, h5.ct-headline { font-size: var(--rn-h5); font-weight: var(--rn-w-semi); }
h6, h6.ct-headline { font-size: var(--rn-h6); font-weight: var(--rn-w-bold); letter-spacing: 0; }

p, .ct-text-block, .oxy-rich-text p {
  font-family: 'Montserrat', sans-serif;
  font-size: var(--rn-body);
  line-height: var(--rn-lh-body);
}

/* Razmaci: kao na render.rs (vidi napomenu gore). */
h1, h2, h3, h4, h5, h6,
h1.ct-headline, h2.ct-headline, h3.ct-headline,
h4.ct-headline, h5.ct-headline, h6.ct-headline,
p, .ct-text-block, .oxy-rich-text p {
  margin-top: 0;
}
h1:where(:not(.ct-headline)), h2:where(:not(.ct-headline)), h3:where(:not(.ct-headline)),
h4:where(:not(.ct-headline)), h5:where(:not(.ct-headline)), h6:where(:not(.ct-headline)) {
  margin-bottom: var(--rn-gap-head);
}
p, .oxy-rich-text p { margin-bottom: var(--rn-gap-body); }
p:last-child, .oxy-rich-text p:last-child { margin-bottom: 0; }

.oxy-rich-text ul, .oxy-rich-text ol {
  font-size: var(--rn-body);
  line-height: var(--rn-lh-body);
  padding-left: 1.25em;
  margin: 0 0 var(--rn-gap-body);
}
.oxy-rich-text li { margin-bottom: .35em; }

strong, b { font-weight: var(--rn-w-bold); }
small { font-size: var(--rn-small); }

/* Polja forme i dugmad ne nasledjuju font sama od sebe. */
input, select, textarea, button {
  font-family: 'Montserrat', sans-serif;
}

/* Na tamnoj sekciji dodaj klasu rn-on-dark na SEKCIJU, ne na svaki element (isto kao render.rs). */
.rn-on-dark h1, .rn-on-dark h2, .rn-on-dark h3,
.rn-on-dark h4, .rn-on-dark h5, .rn-on-dark h6 { color: var(--brand-on-dark); }
.rn-on-dark p, .rn-on-dark .ct-text-block { color: var(--brand-on-dark); }

/* Telefon i tablet: stranica ne sme da se pomera u stranu (isto kao render.rs).
   overflow-x: clip (ne hidden), da position: sticky unutar strane i dalje radi. */
@media (max-width: 991px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
    overscroll-behavior-x: none;
  }
  body { position: relative; }
}


/* ---- 10-buttons.css ---- */
/* =============================================================================
   Dorćol Core | 10-buttons.css
   Dugmad po render.rs standardu. Sekcije 1 do 7 su prepisane iz render-core/10-buttons.css
   (rn-btn: oblik, padding, font, efekti). Boje dolaze iz 00-tokens.css (Dorćol zelena).
   Sekcija 8 je Dorćol: postojeca dugmad iz Oxygena (btn-black, btn-white, dugme-glavno) i
   dugmad u sekcijama iz shortcode-ova dobijaju isti oblik kao rn-btn, a svoje boje.

   Zamenjuje Oxygen stylesheet "cta" ("01-buttons": pilula 999px, padding 14/30, tekst 600).

   PRAVILO: dugmad se ne stiluju kroz Oxygen UI (boja, padding, font, border na elementu).
   Oxygen svoje vrednosti pise kao ID selektor, koji je jaci od klase. Izmena ide OVDE.

   KAKO SE SKLAPA NOVO DUGME U OXYGENU (isto kao na render.rs)
     Link Wrapper          class: rn-btn rn-btn--primary   (ili btn-black, radi isto)
       Text                class: rn-btn__label
       Icon    (opciono)   class: rn-btn__icon
   Varijante: --primary (zeleno), --secondary (belo sa zelenim okvirom), --ghost, --call.
   Velicine: --sm, --lg, --block, --block-mobile. Strelica bez ikonice: --arrow.
   ============================================================================= */

/* Oxygen klasa "rn-btn__label" (premesteno iz Oxygen > Selectors, prepisano tacno) */
@media (max-width: 479px) {
.rn-btn__label {
 margin-bottom:0px;
}
}


/* ---------------------------------------------------------------------------
   1. BAZA
   --------------------------------------------------------------------------- */

.rn-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rn-btn-gap, 14px);

  min-height: var(--rn-btn-min-h, 54px);
  padding: var(--rn-btn-pad-y, 16px) var(--rn-btn-pad-x, 26px);

  border: var(--rn-btn-border, 2px) solid transparent;
  border-radius: var(--rn-btn-radius, 8px);
  background: transparent;

  font-family: var(--rn-btn-font, 'Montserrat', sans-serif);
  font-size: var(--rn-btn-size, 16px);
  font-weight: var(--rn-btn-weight, 700);
  line-height: 1.2;
  letter-spacing: .02em;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;

  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--rn-btn-speed, .2s) ease,
    border-color var(--rn-btn-speed, .2s) ease,
    color var(--rn-btn-speed, .2s) ease,
    box-shadow var(--rn-btn-speed, .2s) ease,
    transform .12s ease;
}

.rn-btn:focus-visible {
  outline: 2px solid var(--rn-focus, #009444);
  outline-offset: 3px;
}

.rn-btn:active {
  transform: translateY(1px);
}

.rn-btn[aria-disabled="true"],
.rn-btn.is-disabled {
  opacity: .45;
  pointer-events: none;
}

/* Tekst i ikonica nasledjuju boju sa dugmeta. Nikad im ne postavljaj boju. */
.rn-btn__label {
  display: block;
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}

.rn-btn__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.15em;
  height: 1.15em;
  color: inherit;
  transition: transform var(--rn-btn-speed, .2s) ease;
}

.rn-btn__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 0;
}

/* Ikonica koja stoji posle teksta klizne udesno na hover. */
.rn-btn:hover .rn-btn__label + .rn-btn__icon { transform: translateX(4px); }
.rn-btn:hover .rn-btn__icon:first-child     { transform: translateX(-4px); }

/* Strelica bez elementa: klasa rn-btn--arrow. Ista strelica, velicina i pomak kao
   ikonica u traci na dnu. Boju uzima od teksta dugmeta. */
.rn-btn--arrow::after {
  content: '';
  flex: 0 0 auto;
  width: 1.15em;
  height: 1.15em;
  background-color: currentColor;
  -webkit-mask: var(--rn-icon-arrow) center / contain no-repeat;
          mask: var(--rn-icon-arrow) center / contain no-repeat;
  transition: transform var(--rn-btn-speed, .2s) ease;
}
.rn-btn--arrow:hover::after,
.rn-btn--arrow:focus-visible::after { transform: translateX(4px); }


/* ---------------------------------------------------------------------------
   2. VARIJANTE
   --------------------------------------------------------------------------- */

/* Primarno: puno dugme u akcent boji. Jedno po ekranu. */
.rn-btn--primary {
  background-color: var(--rn-accent, #446440);
  border-color: var(--rn-accent, #446440);
  color: var(--rn-accent-ink, #ffffff);
  box-shadow: 0 6px 18px var(--rn-accent-ring, rgba(68,100,64,.38));
}
.rn-btn--primary:hover {
  background-color: var(--rn-accent-hi, #000000);
  border-color: var(--rn-accent-hi, #000000);
  color: var(--rn-accent-ink, #ffffff);
  box-shadow: 0 8px 22px var(--rn-accent-ring, rgba(68,100,64,.38));
}
.rn-btn--primary:active {
  background-color: var(--rn-accent-lo, #000000);
  border-color: var(--rn-accent-lo, #000000);
  box-shadow: 0 3px 10px var(--rn-accent-ring, rgba(68,100,64,.38));
}

/* Sekundarno: obris. Puni se na hover. */
.rn-btn--secondary {
  background-color: transparent;
  border-color: var(--rn-accent, #446440);
  color: var(--rn-ink, #1a2e20);
}
.rn-btn--secondary:hover {
  background-color: var(--rn-accent, #446440);
  border-color: var(--rn-accent, #446440);
  color: var(--rn-accent-ink, #ffffff);
}
.rn-btn--secondary:active {
  background-color: var(--rn-accent-lo, #000000);
  border-color: var(--rn-accent-lo, #000000);
  color: var(--rn-accent-ink, #ffffff);
}

/* Sekundarno na tamnoj podlozi: isto kao "Ponuda stanova" u traci na dnu (blaga svetla
   podloga, beo tekst, na hover se puni akcent bojom). rn-on-dark moze da stoji na sekciji
   iznad dugmeta ili na samom dugmetu. Hover je ispisan ponovo, jednom klasom jace. */
.rn-on-dark .rn-btn--secondary,
.rn-btn--secondary.rn-on-dark {
  background-color: rgba(255, 255, 255, .07);
  color: #ffffff;
}
.rn-on-dark .rn-btn--secondary:hover,
.rn-on-dark .rn-btn--secondary:focus-visible,
.rn-btn--secondary.rn-on-dark:hover,
.rn-btn--secondary.rn-on-dark:focus-visible {
  background-color: var(--rn-accent, #446440);
  border-color: var(--rn-accent, #446440);
  color: var(--rn-accent-ink, #ffffff);
}
.rn-on-dark .rn-btn--secondary:active,
.rn-btn--secondary.rn-on-dark:active {
  background-color: var(--rn-accent-lo, #000000);
  border-color: var(--rn-accent-lo, #000000);
  color: var(--rn-accent-ink, #ffffff);
}

/* Tercijarno: samo tekst. Za "saznajte vise" i slicno. */
.rn-btn--ghost {
  min-height: 0;
  padding: 8px 4px;
  border-color: transparent;
  color: var(--rn-accent, #446440);
  box-shadow: none;
}
.rn-btn--ghost:hover {
  color: var(--rn-accent-hi, #000000);
  background-color: var(--rn-accent-soft, rgba(68,100,64,.12));
}

/* Poziv agentu: zeleni "online" okvir. Namerno NE koristi akcent boju,
   da bi se razlikovalo od ostalih CTA i citalo kao dostupnost. */
.rn-btn--call {
  justify-content: flex-start;
  gap: 14px;
  min-height: 70px;
  padding: 12px 16px;
  border-color: var(--rn-live, #2ecc71);
  background-color: var(--rn-live-soft, rgba(46,204,113,.10));
  color: var(--rn-ink, #1a2e20);
  text-align: left;
  white-space: normal;
}
.rn-btn--call:hover {
  background-color: rgba(46, 204, 113, .2);
  border-color: var(--rn-live-hi, #3ee07f);
}
/* Avatar sa zelenim prstenom i status tackom. Radi u obe call varijante. */
.rn-btn__avatar {
  --rn-avatar: 48px;
  position: relative;
  display: block;
  flex: 0 0 var(--rn-avatar, 48px);
  width: var(--rn-avatar, 48px);
  height: var(--rn-avatar, 48px);
}
.rn-btn__avatar img {
  display: block;
  width: var(--rn-avatar, 48px);
  height: var(--rn-avatar, 48px);
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--rn-live, #2ecc71);
}
.rn-btn__avatar::after {
  content: '';
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--rn-live, #2ecc71);
  border: 2px solid var(--rn-surface-dark, #1a2e20);
  box-shadow: 0 0 0 0 rgba(46, 204, 113, .55);
  animation: rnLivePulse 2.4s ease-out infinite;
}
.rn-btn__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rn-btn__meta {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--rn-live, #2ecc71);
}
.rn-btn--call .rn-btn__label { font-size: 18px; }

/* Avatar bez wrappera: klasa ide direktno na Image element.
   Nema status tacke, jer se ::after ne moze okaciti na <img>.
   Za tacku i puls treba wrapper Div sa klasom rn-btn__avatar. */
.rn-btn__avatar-img {
  --rn-avatar: 48px;
  display: block;
  flex: 0 0 var(--rn-avatar, 48px);
  width: var(--rn-avatar, 48px);
  height: var(--rn-avatar, 48px);
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--rn-live, #2ecc71);
}

/* Inline poziv: bez kutije, za tanku traku na dnu. */
.rn-btn--call-inline {
  --rn-btn-min-h: 0;
  gap: 12px;
  padding: 6px 10px;
  border-color: transparent;
  background: transparent;
  color: var(--rn-ink, #1a2e20);
  text-align: left;
  white-space: nowrap;
}
.rn-btn--call-inline .rn-btn__avatar,
.rn-btn--call-inline .rn-btn__avatar-img { --rn-avatar: 40px; }
.rn-btn--call-inline .rn-btn__label {
  font-size: 15px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.rn-btn--call-inline:hover {
  background: rgba(46, 204, 113, .12);
  border-color: transparent;
}

/* Na hover tekst ide u cistu belu. Bez ovoga uzima --rn-ink, koji je na
   tamnoj podlozi krem, pa preko zelene deluje zuckasto. */
.rn-btn--call:hover,
.rn-btn--call:focus-visible,
.rn-btn--call-inline:hover,
.rn-btn--call-inline:focus-visible {
  color: #ffffff !important;
}
.rn-btn--call:hover .rn-btn__label,
.rn-btn--call-inline:hover .rn-btn__label {
  color: #ffffff !important;
}

@keyframes rnLivePulse {
  0%   { box-shadow: 0 0 0 0 rgba(46, 204, 113, .55); }
  70%  { box-shadow: 0 0 0 9px rgba(46, 204, 113, 0); }
  100% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0); }
}


/* ---------------------------------------------------------------------------
   3. VELICINE I SIRINA
   --------------------------------------------------------------------------- */

.rn-btn--sm {
  --rn-btn-pad-y: 11px;
  --rn-btn-pad-x: 18px;
  --rn-btn-size: var(--rn-small, 14px);
  --rn-btn-min-h: 42px;
  --rn-btn-radius: var(--rn-btn-radius-sm, 10px);
}

.rn-btn--lg {
  --rn-btn-pad-y: 19px;
  --rn-btn-pad-x: 34px;
  --rn-btn-size: 17px;
  --rn-btn-min-h: 62px;
}

.rn-btn--block {
  display: flex;
  width: 100%;
}

/* Puna sirina samo na telefonu (do 767px): dva dugmeta jedno ispod drugog budu iste sirine. */
@media (max-width: 767px) {
  .rn-btn--block-mobile { width: 100% !important; }
}


/* ---------------------------------------------------------------------------
   4. KONTEKST: MOBILNI MENI
   Sva dugmad puna sirina, veci radijus, veci tap target.
   --------------------------------------------------------------------------- */

.rn-stack-menu .rn-btn {
  --rn-btn-radius: 14px;
  --rn-btn-min-h: 58px;
  --rn-btn-size: 17px;
  display: flex;
  width: 100%;
}
.rn-stack-menu .rn-btn + .rn-btn { margin-top: 12px; }
.rn-stack-menu .rn-btn--call { --rn-btn-min-h: 70px; }


/* ---------------------------------------------------------------------------
   5. RESPONSIVE
   --------------------------------------------------------------------------- */

@media (max-width: 767px) {
  .rn-btn {
    --rn-btn-pad-x: 20px;
    white-space: normal;
  }
  .rn-btn--lg { --rn-btn-size: 16px; --rn-btn-min-h: 56px; }
}

/* Uski telefoni: manji razmaci, da tekst "Pogledajte dostupne stanove" i strelica
   stanu u jedan red na 360-390px. Velicina teksta dolazi iz globala (--rn-body je ovde 15px). */
@media (max-width: 479px) {
  .rn-btn {
    --rn-btn-pad-x: 16px;
    --rn-btn-gap: 10px;
  }
  .rn-btn { letter-spacing: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .rn-btn,
  .rn-btn__icon,
  .rn-btn--arrow::after { transition: none !important; }
  .rn-btn:active { transform: none; }
  .rn-btn:hover .rn-btn__icon,
  .rn-btn--arrow:hover::after,
  .rn-btn--arrow:focus-visible::after { transform: none !important; }
  .rn-btn--call .rn-btn__avatar::after { animation: none !important; }
}


/* ---------------------------------------------------------------------------
   6. RED DUGMADI  |  za footer i CTA sekcije
     Div            class: rn-btn-row
       Link Wrapper class: rn-btn rn-btn--primary
       Link Wrapper class: rn-btn rn-btn--secondary
   Na tamnoj sekciji dodaj rn-on-dark na sekciju, ne na svako dugme.
   --------------------------------------------------------------------------- */

.rn-btn-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}
.rn-btn-row--center { justify-content: center; }
.rn-btn-row--end    { justify-content: flex-end; }

@media (max-width: 575px) {
  .rn-btn-row { gap: 10px; }
  .rn-btn-row > .rn-btn { flex: 1 1 100%; }
}


/* ---------------------------------------------------------------------------
   7. OSIGURAC PROTIV OXYGENOVOG ID CSS-a  (poslednja rec za dugmad)

   Oxygen svaku postavku sa elementa pise kao ID selektor, npr.
   "#link-66-1095 { flex-direction: column }". ID je jaci od klase, pa bi
   "Layout Child Elements: Vertical" oborio raspored dugmeta. Zato su ovde
   strukturne osobine ponovljene sa !important (pobedjuje ID bez obzira na
   specificnost). Boje NAMERNO nisu ovde, sem boje teksta i ikonice.
   --------------------------------------------------------------------------- */

.rn-btn {
  /* display NAMERNO bez !important: Oxygenov "Display: None" na elementu mora
     da ostane jaci, da bi dugme moglo da se sakrije po brejkpointu. */
  display: inline-flex;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--rn-btn-gap, 14px) !important;
  border-radius: var(--rn-btn-radius, 8px) !important;
  text-decoration: none !important;
}
.rn-btn--ghost { border-radius: 8px !important; }

.rn-btn--block,
.rn-stack-menu .rn-btn {
  display: flex;
  width: 100% !important;
}

.rn-btn--call,
.rn-btn--call-inline {
  justify-content: flex-start !important;
  text-align: left !important;
}

.rn-btn__label {
  margin: 0 !important;            /* Heading element kao label nosi margine */
  padding: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}

.rn-btn__icon {
  flex: 0 0 auto !important;
  color: inherit !important;
}
.rn-btn__icon svg { fill: currentColor !important; }

.rn-btn__text {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}


/* ---------------------------------------------------------------------------
   8. DORĆOL: POSTOJECA DUGMAD KAO rn-btn

   Oxygen dugmad na Dorcolu nemaju klasu rn-btn, nego:
     btn-black      Link Wrapper, zeleno dugme (na hover crno)       -> kao rn-btn--primary
       button-text / button-icon / bela-strelice (tekst i strelica unutra)
     btn-white      Link Wrapper, belo sa zelenim okvirom i tekstom  -> kao rn-btn--secondary
       button-text-white / bela-strelice
     dugme-glavno   Link Wrapper sa ikonicom u krugu (Materijalizacija, pocetna)
   Oblik (radijus, padding, visina, font, senka, efekti) je isti kao rn-btn, boje su Dorćol.

   !important je tu jer su na tim elementima u Oxygenu upisani radijus 25, padding 5/15,
   okvir 3px i sirina 270 (ID selektor). Isto je radio stari stylesheet "cta" (blok PRISILA).
   Druga migracija (dp2) skida te vrednosti sa elemenata; tada !important moze da ode.
   "display" namerno NEMA !important, da Oxygen "Display: None" po brejkpointu i dalje radi.
   --------------------------------------------------------------------------- */

a.btn-black, .btn-black,
a.btn-white, .btn-white,
a.dugme-glavno, .dugme-glavno {
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--rn-btn-gap, 14px) !important;
  min-height: var(--rn-btn-min-h, 54px) !important;
  padding: var(--rn-btn-pad-y, 16px) var(--rn-btn-pad-x, 26px) !important;
  border-style: solid !important;
  border-width: var(--rn-btn-border, 2px) !important;
  border-radius: var(--rn-btn-radius, 8px) !important;
  font-family: var(--rn-btn-font, 'Montserrat', sans-serif) !important;
  font-size: var(--rn-btn-size, 16px) !important;
  font-weight: var(--rn-btn-weight, 700) !important;
  line-height: 1.2 !important;
  letter-spacing: .02em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--rn-btn-speed, .2s) ease,
    border-color var(--rn-btn-speed, .2s) ease,
    color var(--rn-btn-speed, .2s) ease,
    box-shadow var(--rn-btn-speed, .2s) ease,
    transform .12s ease !important;
}

/* btn-black = rn-btn--primary u Dorćol boji: zelena, na hover crna */
a.btn-black, .btn-black,
a.btn-black:visited, .btn-black:visited {
  background-color: var(--rn-accent, #446440) !important;
  border-color: var(--rn-accent, #446440) !important;
  color: var(--rn-accent-ink, #ffffff) !important;
  box-shadow: 0 6px 18px var(--rn-accent-ring, rgba(68, 100, 64, .38)) !important;
}
a.btn-black:hover, .btn-black:hover,
a.btn-black:focus-visible, .btn-black:focus-visible {
  background-color: var(--rn-accent-hi, #000000) !important;
  border-color: var(--rn-accent-hi, #000000) !important;
  color: var(--rn-accent-ink, #ffffff) !important;
  box-shadow: 0 8px 22px var(--rn-accent-ring, rgba(68, 100, 64, .38)) !important;
}

/* btn-white = rn-btn--secondary u Dorćol boji: belo sa zelenim okvirom i tekstom,
   na hover zeleno sa belim tekstom (isto kao do sada, samo oblik je nov) */
a.btn-white, .btn-white,
a.btn-white:visited, .btn-white:visited {
  background-color: #ffffff !important;
  border-color: var(--rn-accent, #446440) !important;
  color: var(--rn-accent, #446440) !important;
  box-shadow: none !important;
}
a.btn-white:hover, .btn-white:hover,
a.btn-white:focus-visible, .btn-white:focus-visible {
  background-color: var(--rn-accent, #446440) !important;
  border-color: var(--rn-accent, #446440) !important;
  color: var(--rn-accent-ink, #ffffff) !important;
}

/* dugme-glavno: pozadina ostaje ona iz Oxygena (svetla bez / svetlozelena), okvir je iste boje
   kao pozadina, tekst kao do sada. Na hover zelena, kao ostala dugmad. */
a.dugme-glavno, .dugme-glavno {
  --rn-btn-pad-x: 22px;
  --rn-btn-pad-y: 8px;
  justify-content: flex-start !important;    /* ikonica u krugu levo, pa tekst, kao do sada */
  padding-left: 8px !important;              /* ikonica stoji uz levu ivicu */
  border-color: transparent !important;
  color: var(--rn-ink, #404040) !important;
}
a.dugme-glavno:hover, .dugme-glavno:hover,
a.dugme-glavno:focus-visible, .dugme-glavno:focus-visible {
  background-color: var(--rn-accent, #446440) !important;
  border-color: var(--rn-accent, #446440) !important;
  color: var(--rn-accent-ink, #ffffff) !important;
}

a.btn-black:focus-visible, .btn-black:focus-visible,
a.btn-white:focus-visible, .btn-white:focus-visible,
a.dugme-glavno:focus-visible, .dugme-glavno:focus-visible {
  outline: 2px solid var(--rn-focus, #009444) !important;
  outline-offset: 3px !important;
}

a.btn-black:active, .btn-black:active,
a.btn-white:active, .btn-white:active,
a.dugme-glavno:active, .dugme-glavno:active {
  transform: translateY(1px);
}

/* Tekst unutar dugmeta: velicina, debljina i boja uvek od dugmeta (kao rn-btn__label). */
.btn-black .button-text, .btn-black .button-text-white, .btn-black .ct-text-block,
.btn-white .button-text, .btn-white .button-text-white, .btn-white .ct-text-block,
.dugme-glavno .dugme-text, .dugme-glavno .ct-text-block {
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-decoration: none !important;
  white-space: nowrap;
}

/* Strelica: velicina i pomak kao rn-btn__icon (1.15em, klizne udesno na hover). */
.btn-black .button-icon, .btn-black .bela-strelice,
.btn-white .button-icon, .btn-white .bela-strelice {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center;
  justify-content: center;
  width: 1.15em !important;
  height: 1.15em !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  line-height: 0;
  transition: transform var(--rn-btn-speed, .2s) ease;
}
.btn-black .button-icon svg, .btn-black .bela-strelice svg,
.btn-white .button-icon svg, .btn-white .bela-strelice svg {
  display: block;
  width: 100% !important;
  height: 100% !important;
  fill: currentColor !important;
  color: inherit !important;
}
.btn-black:hover .button-icon, .btn-black:hover .bela-strelice,
.btn-white:hover .button-icon, .btn-white:hover .bela-strelice {
  transform: translateX(4px);
}

/* dugme-glavno: ikonica u tamnom krugu ostaje kakva je (Oxygen), samo bez skupljanja. */
.dugme-glavno .ct-fancy-icon {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  a.btn-black, .btn-black,
  a.btn-white, .btn-white,
  a.dugme-glavno, .dugme-glavno {
    --rn-btn-pad-x: 20px;
    white-space: normal;
  }
  /* Puna sirina na telefonu, kao do sada (stari "cta", blok MOBILNI). */
  a.btn-black, .btn-black,
  a.btn-white, .btn-white {
    width: 100%;
  }
}
@media (max-width: 479px) {
  a.btn-black, .btn-black,
  a.btn-white, .btn-white,
  a.dugme-glavno, .dugme-glavno {
    --rn-btn-pad-x: 16px;
    --rn-btn-gap: 10px;
    letter-spacing: 0 !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .btn-black, .btn-white, .dugme-glavno,
  .btn-black .button-icon, .btn-black .bela-strelice,
  .btn-white .button-icon, .btn-white .bela-strelice { transition: none !important; }
  .btn-black:hover .button-icon, .btn-black:hover .bela-strelice,
  .btn-white:hover .button-icon, .btn-white:hover .bela-strelice { transform: none; }
}

/* rn-btn--secondary na Dorcolu: isto kao btn-white (belo, zeleni okvir i tekst). */
.rn-btn--secondary {
  background-color: #ffffff;
  color: var(--rn-accent, #446440);
}


/* ---- 11-sticky-bar.css ---- */
/* =============================================================================
   Dorćol Core | 11-sticky-bar.css
   TRAKA NA DNU: CTA traka zalepljena za dno ekrana (Oxygen sablon 15 "Main", div_block-78-15).
   Prepisano iz render-core/11-sticky-bar.css (render.rs, footer sablon 1092), 1:1 osim:
     - boje su Dorćol (tokeni iz 00-tokens.css; brojevi u zagradama su samo rezerva),
     - nema dela za Complianz (Dorćol ima svoje obavestenje o kolacicima, 14-cookie-notice.css,
       koje stoji iznad trake preko --rn-sticky-bar-h),
     - dole je razmak ispod footera, da traka ne pokrije "Politika Privatnosti" (90-oxygen-fixes.css).
   Traku u Oxygen postavlja migracija 2026-09-dp2. Pre toga je na istom mestu bila traka sa
   ikonicama (Upit, Pozovite, WhatsApp, SMS; stil u 90-oxygen-fixes.css, blok 3).

   KAKO SE SKLAPA U OXYGENU (isto kao na render.rs)
     Div            class: rn-sticky-bar rn-on-dark
       Div          class: rn-sticky-bar__inner
         Link Wrapper class: rn-btn rn-btn--call-inline      (tel:, slika + tekst "Pozovite Agenta")
         Div
           Link Wrapper class: rn-btn rn-btn--primary upit-posaljite   (otvara modal "Pošaljite upit")
         Div        (Layout > Display: none na telefonu, kao na render.rs)
           Link Wrapper class: rn-btn rn-btn--secondary     (/ponuda-stanova/)
   Klasa upit-posaljite je "trigger selector" Oxygen modala modal-58-15: klik otvara formu.
   Link na /kontakt/ je rezerva ako se modal ne ucita.

   VELICINU TRAKE I DUGMADI MENJAS SAMO U SEKCIJI 6 (brojevi sa !important).
   ============================================================================= */

/* Unutrasnji red trake (na render.rs Oxygen klasa "rn-sticky-bar__inner"; ovde je u pluginu). */
.rn-sticky-bar__inner {
 gap:25px;
}
.rn-sticky-bar__inner:not(.ct-section):not(.oxy-easy-posts),
.rn-sticky-bar__inner.oxy-easy-posts .oxy-posts,
.rn-sticky-bar__inner.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
gap:25px;
}


/* ---------------------------------------------------------------------------
   1. TRAKA: izgled
   Traka je po definiciji tamna povrsina, pa sama postavlja tokene za tamno
   (rn-on-dark ne moze da se zaboravi u builderu; ako se doda, ne smeta).
   --------------------------------------------------------------------------- */

.rn-sticky-bar {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  background-color: var(--rn-surface-dark, #1a2e20);
  border-top: 1px solid var(--rn-accent-ring, rgba(68,100,64,.38));
  box-shadow: 0 -6px 24px rgba(0, 0, 0, .18);

  --rn-ink: var(--rn-ink-on-dark, #ffffff);
  --rn-ink-dim: var(--rn-ink-on-dark-dim, rgba(255,255,255,.65));
}

/* Outline dugme u traci dobija blagu podlogu, da se cita kao dugme a ne kao
   tekst sa okvirom. Hover je ispisan u celini, sa jednom klasom vise, jer bi
   podloga inace pregazila ".rn-btn--secondary:hover" iz 10-buttons.css. */
.rn-sticky-bar .rn-btn--secondary {
  background-color: rgba(255, 255, 255, .07);
  color: #ffffff;
}
.rn-sticky-bar .rn-btn--secondary:hover,
.rn-sticky-bar .rn-btn--secondary:focus-visible {
  background-color: var(--rn-accent, #446440);
  border-color: var(--rn-accent, #446440);
  color: var(--rn-accent-ink, #ffffff);
}
.rn-sticky-bar .rn-btn--secondary:active {
  background-color: var(--rn-accent-lo, #000000);
  border-color: var(--rn-accent-lo, #000000);
}

/* Unutrasnji red trake. Vazi i kad Div nije dobio klasu, i kad je klasa
   napisana sa jednom donjom crtom (La Rue footer: rn-sticky-bar_inner).
   Bez tvrde kapice sirine: ako zatreba, postavi --rn-sticky-bar-max na traci. */
.rn-sticky-bar > div,
.rn-sticky-bar .rn-sticky-bar_inner,
.rn-sticky-bar__inner {
  justify-content: center !important;
  max-width: var(--rn-sticky-bar-max, none);
}

/* Raspored po sirini trake: dodaj na traku klasu rn-sticky-bar--spread. */
.rn-sticky-bar--spread > div,
.rn-sticky-bar--spread .rn-sticky-bar_inner,
.rn-sticky-bar--spread .rn-sticky-bar__inner {
  justify-content: space-between !important;
}
.rn-sticky-bar--spread .rn-btn--primary,
.rn-sticky-bar--spread .rn-btn--secondary {
  flex: 0 1 auto;
}

/* U traci su dugmad nesto niza, da traka ostane tanka. */
.rn-sticky-bar .rn-btn {
  --rn-btn-min-h: 46px;
  --rn-btn-pad-y: 12px;
  --rn-btn-pad-x: 22px;
  --rn-btn-size: 15px;
  flex: 0 1 auto;
}
.rn-sticky-bar .rn-btn--primary,
.rn-sticky-bar .rn-btn--secondary {
  flex: 1 1 auto;
  max-width: 300px;
}
.rn-sticky-bar .rn-btn--primary { box-shadow: none; }
.rn-sticky-bar .rn-btn--primary:hover { box-shadow: 0 6px 18px var(--rn-accent-ring, rgba(68,100,64,.38)); }

/* Kompatibilnost: divovi oko dugmadi (u Oxygenu postoje u oba footera) ne smeju
   da lome flex red. Kad ih obrises u Oxygenu, obrisi i ovo pravilo. */
.rn-sticky-bar > div > div:not(.rn-btn) {
  display: flex;
  display: contents;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
}

/* Na telefonu tekst "Pozovite agenta" ostaje vidljiv, samo se slaze u dva
   reda uz manji avatar, umesto da se sakrije. */
@media (max-width: 575px) {
  .rn-sticky-bar > div,
  .rn-sticky-bar__inner { justify-content: space-between !important; }

  /* Ista racunica kao na render.rs. */
  .rn-sticky-bar .rn-btn--primary,
  .rn-sticky-bar .rn-btn--secondary {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 150px;
    max-width: 260px;
  }

  .rn-sticky-bar .rn-btn--call-inline { flex: 0 0 auto; }
  .rn-sticky-bar .rn-btn--call-inline .rn-btn__avatar::after {
    width: 11px;
    height: 11px;
  }
  .rn-sticky-bar .rn-btn--call-inline .rn-btn__label {
    max-width: 9ch;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
  .rn-sticky-bar .rn-btn--call-inline .rn-btn__meta { display: none; }
}


/* Da poslednja sekcija ne zavrsi ispod trake: klasa na body (Page settings).
   Danas je nijedna strana nema. */
body.rn-has-sticky-bar {
  padding-bottom: calc(var(--rn-sticky-bar-h, 72px) + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 992px) {
  .rn-sticky-bar--mobile { display: none !important; }
  body.rn-has-sticky-bar--mobile { padding-bottom: 0; }
}


/* ---------------------------------------------------------------------------
   2. OSIGURACI: nista unutar trake ne sme da se lomi u drugi red niti da
   prelije preko ivice.
   --------------------------------------------------------------------------- */

.rn-sticky-bar,
.rn-sticky-bar * { box-sizing: border-box; }

.rn-sticky-bar .rn-btn {
  white-space: nowrap;
  overflow: hidden;
}
.rn-sticky-bar .rn-btn__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Traka je uvek prilepljena uz donju ivicu, bez margine;
   zaobljeni su samo gornji uglovi. */
.rn-sticky-bar {
  margin: 0 !important;
  border-radius: 10px 10px 0 0 !important;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  overflow: hidden;
}


/* ---------------------------------------------------------------------------
   3. OSIGURAC PROTIV OXYGENOVOG ID CSS-a: polozaj trake i unutrasnji red.
   !important pobedjuje ID pravila koja Oxygen pise za element.
   --------------------------------------------------------------------------- */

.rn-sticky-bar {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 100% !important;
  z-index: 999990 !important;   /* ispod headera (1000000) i mobilnog menija */
}

/* Dok je admin ulogovan, traka ide ispod WP admin bara (99999), da mu
   padajuci meniji ostanu klikabilni. */
body.admin-bar .rn-sticky-bar { z-index: 99990 !important; }

.rn-sticky-bar > div,
.rn-sticky-bar .rn-sticky-bar_inner,
.rn-sticky-bar__inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
}


/* ---------------------------------------------------------------------------
   6. JEDNAK IZGLED TRAKE NA OBE STRANE  |  poslednja rec
   Brojevi su upisani direktno, sa !important, da traka izgleda isto kao na render.rs, u builderu
   i live izgledaju isto bez obzira sta se desi tokenima.
   AKO MENJAS VELICINU TRAKE, MENJAS SAMO OVDE.
   --------------------------------------------------------------------------- */

/* --- sama traka --- */
.rn-sticky-bar {
  min-height: 76px !important;
  padding-top: 12px !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  padding-left: 16px !important;
  padding-left: max(16px, env(safe-area-inset-left)) !important;
  padding-right: 16px !important;
  padding-right: max(16px, env(safe-area-inset-right)) !important;
}

/* --- unutrasnji red --- */
/* Unutrasnji div ne sme da unosi svoj padding ni marginu iz Oxygena,
   inace se razmak do ivice razlikuje izmedju dve strane. */
.rn-sticky-bar > div,
.rn-sticky-bar .rn-sticky-bar_inner,
.rn-sticky-bar__inner {
  gap: 16px !important;
  padding: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- dugmad --- */
.rn-sticky-bar .rn-btn--primary,
.rn-sticky-bar .rn-btn--secondary {
  box-sizing: border-box !important;
  min-height: 52px !important;
  padding: 14px 28px !important;
  gap: 12px !important;
  border-width: 2px !important;
  border-style: solid !important;
  border-radius: var(--rn-btn-radius, 12px) !important;   /* 8px, kao na render.rs (00-tokens.css) */
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.rn-sticky-bar .rn-btn--primary .rn-btn__label,
.rn-sticky-bar .rn-btn--secondary .rn-btn__label {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.rn-sticky-bar .rn-btn--primary .rn-btn__icon,
.rn-sticky-bar .rn-btn--secondary .rn-btn__icon {
  width: 20px !important;
  height: 20px !important;
}

/* --- poziv agentu --- */
.rn-sticky-bar .rn-btn--call-inline {
  min-height: 0 !important;
  padding: 6px 10px !important;
  gap: 12px !important;
  border-width: 0 !important;
}
.rn-sticky-bar .rn-btn--call-inline .rn-btn__avatar,
.rn-sticky-bar .rn-btn--call-inline .rn-btn__avatar img,
.rn-sticky-bar .rn-btn--call-inline .rn-btn__avatar-img {
  width: 44px !important;
  height: 44px !important;
  flex-basis: 44px !important;
}
.rn-sticky-bar .rn-btn--call-inline .rn-btn__label {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

/* --- telefon --- */
@media (max-width: 575px) {
  .rn-sticky-bar {
    min-height: 68px !important;
    padding-left: 12px !important;
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: 12px !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
  }
  .rn-sticky-bar > div,
  .rn-sticky-bar .rn-sticky-bar_inner,
  .rn-sticky-bar__inner { gap: 10px !important; }

  .rn-sticky-bar .rn-btn--primary,
  .rn-sticky-bar .rn-btn--secondary {
    min-height: 46px !important;
    padding: 12px 16px !important;
    gap: 8px !important;
    border-radius: var(--rn-btn-radius-sm, 10px) !important;   /* 8px, kao na render.rs */
    font-size: 15px !important;
  }
  .rn-sticky-bar .rn-btn--primary .rn-btn__label,
  .rn-sticky-bar .rn-btn--secondary .rn-btn__label { font-size: 15px !important; }
  .rn-sticky-bar .rn-btn--primary .rn-btn__icon,
  .rn-sticky-bar .rn-btn--secondary .rn-btn__icon {
    width: 17px !important;
    height: 17px !important;
  }

  .rn-sticky-bar .rn-btn--call-inline { padding: 4px 2px !important; gap: 8px !important; }
  .rn-sticky-bar .rn-btn--call-inline .rn-btn__avatar,
  .rn-sticky-bar .rn-btn--call-inline .rn-btn__avatar img,
  .rn-sticky-bar .rn-btn--call-inline .rn-btn__avatar-img {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }
  .rn-sticky-bar .rn-btn--call-inline .rn-btn__label {
    font-size: 12px !important;
    letter-spacing: .02em !important;
    line-height: 1.2 !important;
  }
}


/* --- uski telefoni (360, 375, 320px) ---
   Agent se vidi na svakoj sirini (slika i tekst). Ranije se ispod 380px slika
   sklanjala; sada se umesto toga skuplja dugme "Posaljite upit": uzi okvir i
   manji razmaci, a ispod 340px i bez strelice. */
@media (max-width: 379px) {
  .rn-sticky-bar .rn-btn--primary,
  .rn-sticky-bar .rn-btn--secondary {
    min-width: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    gap: 6px !important;
  }
  .rn-sticky-bar .rn-btn--call-inline { gap: 6px !important; }
  .rn-sticky-bar .rn-btn--call-inline .rn-btn__label { max-width: 8ch; }
}
@media (max-width: 339px) {
  .rn-sticky-bar .rn-btn--primary .rn-btn__icon,
  .rn-sticky-bar .rn-btn--secondary .rn-btn__icon { display: none !important; }
}


/* ---- 12-forms.css ---- */
/* =============================================================================
   Dorćol Core | 12-forms.css
   WPForms: submit dugme kao rn-btn--primary, isto kao na render.rs (sekcija "RENDER STRANE:
   SUBMIT SVIH FORMI" iz render-core/12-forms.css), u Dorćol zelenoj.

   Do sada: forma "Pošaljite upit" u sablonu Main imala je plavo WPForms dugme (#066aab, radijus 3px),
   a modal i dve forme na pocetnoj i Kontaktu zeleno #466342 iz Additional CSS-a (!important po ID-u).
   Sada su sve iste: zelena, radijus 8px, visina 52px, tekst 700, strelica klizne udesno, na hover crna.

   Labele se NE prebojavaju u belo kao na render.rs: na Dorcolu forme stoje na svetloj podlozi.
   Strelica je ::before sa order: 2, jer WPForms ::after koristi za okvir fokusa.
   Sve mere su ispisane i ovde, ne samo kroz WPForms promenljive: WPForms svoj CSS stampa
   tek na dnu strane, pa bi dugme do tada imalo podrazumevanu velicinu i posle skocilo (CLS).
   ============================================================================= */

.wpforms-container {
  --wpforms-button-background-color: var(--rn-accent, #446440);
  --wpforms-button-background-color-alt: var(--rn-accent, #446440);
  --wpforms-button-text-color: var(--rn-accent-ink, #ffffff);
  --wpforms-button-text-color-alt: var(--rn-accent-ink, #ffffff);
  --wpforms-button-border-color: var(--rn-accent, #446440);
  --wpforms-button-border-color-alt: var(--rn-accent, #446440);
  --wpforms-button-border-style: solid;
  --wpforms-button-border-size: 2px;
  --wpforms-button-border-radius: var(--rn-btn-radius, 8px);
  --wpforms-button-size-height: 52px;
  --wpforms-button-size-font-size: var(--rn-btn-size, 16px);
  --wpforms-button-size-padding-h: 28px;
}

body div.wpforms-container-full button[type=submit],
body div.wpforms-container button[type=submit].wpforms-submit {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 52px;
  padding: 0 28px;
  border: 2px solid var(--rn-accent, #446440);
  border-radius: var(--rn-btn-radius, 8px);
  background-color: var(--rn-accent, #446440);
  color: var(--rn-accent-ink, #ffffff);
  font-size: var(--rn-btn-size, 16px);
  font-family: var(--rn-btn-font, 'Montserrat', sans-serif);
  font-weight: var(--rn-btn-weight, 700);
  line-height: 1.2;
  letter-spacing: .02em;
  text-transform: none;
  box-shadow: 0 6px 18px var(--rn-accent-ring, rgba(68, 100, 64, .38));
  cursor: pointer;
  transition:
    background-color var(--rn-btn-speed, .2s) ease,
    border-color var(--rn-btn-speed, .2s) ease,
    color var(--rn-btn-speed, .2s) ease,
    box-shadow var(--rn-btn-speed, .2s) ease,
    transform .12s ease;
}
body div.wpforms-container-full button[type=submit]::before,
body div.wpforms-container button[type=submit].wpforms-submit::before {
  content: '';
  order: 2;
  flex: 0 0 auto;
  width: 1.15em;
  height: 1.15em;
  background-color: currentColor;
  -webkit-mask: var(--rn-icon-arrow) center / contain no-repeat;
          mask: var(--rn-icon-arrow) center / contain no-repeat;
  transition: transform var(--rn-btn-speed, .2s) ease;
}
body div.wpforms-container-full button[type=submit]:hover,
body div.wpforms-container button[type=submit].wpforms-submit:hover {
  background: var(--rn-accent-hi, #000000);
  border-color: var(--rn-accent-hi, #000000);
  color: var(--rn-accent-ink, #ffffff);
  box-shadow: 0 8px 22px var(--rn-accent-ring, rgba(68, 100, 64, .38));
}
body div.wpforms-container-full button[type=submit]:hover::before,
body div.wpforms-container-full button[type=submit]:focus-visible::before {
  transform: translateX(4px);
}
body div.wpforms-container-full button[type=submit]:focus-visible {
  outline: 2px solid var(--rn-focus, #009444);
  outline-offset: 3px;
}
body div.wpforms-container-full button[type=submit]:active {
  background: var(--rn-accent-lo, #000000);
  border-color: var(--rn-accent-lo, #000000);
  box-shadow: 0 3px 10px var(--rn-accent-ring, rgba(68, 100, 64, .38));
  transform: translateY(1px);
}
@media (prefers-reduced-motion: reduce) {
  body div.wpforms-container-full button[type=submit],
  body div.wpforms-container-full button[type=submit]::before { transition: none; }
  body div.wpforms-container-full button[type=submit]:active,
  body div.wpforms-container-full button[type=submit]:hover::before { transform: none; }
}

/* Polja: font kao ostatak sajta (WPForms inace uzima font pregledaca za placeholder). */
.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea {
  font-family: 'Montserrat', sans-serif;
}

/* Podrska za klasu rn-form na omotacu forme (kao na render.rs): puna sirina dugmeta. */
.rn-form--block div.wpforms-container button[type=submit],
.rn-form--block div.wpforms-container-full button[type=submit] {
  width: 100%;
}


/* ---- 13-utilities.css ---- */
/* =============================================================================
   Dorćol Core | 13-utilities.css (render-core, plus klase rn-h1 do rn-h6)
   Pomocne klase koje stavljas na element u Oxygenu (Advanced > CSS Classes)
   umesto da kucas vrednost u polje. Nijedna se ne primenjuje sama od sebe.

   Zamenjuje:
     "AAA-tokens" sekcija 6 POMOCNE KLASE
     "global"     sekcija 13 SAKRIVANJE PO REZOLUCIJI

   Od dp2 (30.09.2026) Oxygen elementi ih koriste umesto svojih velicina: oznake iznad naslova
   (rn-eyebrow), jezicci i natpisi na slajdu (rn-h4), kvadrature (rn-h3), footer (rn-lead, rn-small).
   Klase rn-h1 do rn-h6 su nove (prvo na Dorcolu): tekst izgleda kao taj naslov, a tag ostaje.
   Kad se render-core sledeci put menja, ovaj fajl se prenosi 1:1.
   ============================================================================= */

/* ---------- Naslov na drugom tagu ----------
   Ista velicina, debljina i prored kao tagovi u 01-base.css. Za element ciji tag ne odgovara
   velicini (npr. h3 natpis na slajdu koji treba da bude manji, kvadratura u tekst bloku). */
.rn-h1 { font-size: var(--rn-h1) !important; line-height: var(--rn-lh-tight) !important; font-weight: var(--rn-w-semi) !important; letter-spacing: var(--rn-ls-head) !important; }
.rn-h2 { font-size: var(--rn-h2) !important; line-height: var(--rn-lh-head) !important;  font-weight: var(--rn-w-bold) !important; letter-spacing: var(--rn-ls-head) !important; }
.rn-h3 { font-size: var(--rn-h3) !important; line-height: var(--rn-lh-head) !important;  font-weight: var(--rn-w-bold) !important; letter-spacing: var(--rn-ls-head) !important; }
.rn-h4 { font-size: var(--rn-h4) !important; line-height: var(--rn-lh-head) !important;  font-weight: var(--rn-w-bold) !important; letter-spacing: var(--rn-ls-head) !important; }
.rn-h5 { font-size: var(--rn-h5) !important; line-height: var(--rn-lh-head) !important;  font-weight: var(--rn-w-semi) !important; letter-spacing: var(--rn-ls-head) !important; }
.rn-h6 { font-size: var(--rn-h6) !important; line-height: var(--rn-lh-head) !important;  font-weight: var(--rn-w-bold) !important; letter-spacing: 0 !important; }

/* ---------- Tekst ---------- */
.rn-lead      { font-size: var(--rn-lead) !important;  line-height: 1.55 !important; }
.rn-small     { font-size: var(--rn-small) !important; line-height: 1.5 !important; }
.rn-tiny      { font-size: var(--rn-tiny) !important;  line-height: 1.4 !important; }
.rn-card-title{ font-size: var(--rn-card-title) !important; line-height: 1.3 !important; font-weight: var(--rn-w-bold) !important; }
.rn-meta      { font-size: var(--rn-small) !important; color: var(--brand-muted) !important; }
.rn-eyebrow {
  font-size: 13px !important;
  font-weight: var(--rn-w-semi) !important;
  letter-spacing: var(--rn-ls-eyebrow) !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}
.rn-w-regular{ font-weight: 400 !important; }
.rn-w-medium { font-weight: 500 !important; }
.rn-w-semi   { font-weight: 600 !important; }
.rn-w-bold   { font-weight: 700 !important; }

/* Lepsi prelom naslova u dva reda. Opciono, po elementu. */
.rn-balance { text-wrap: balance; }

/* Opcioni razmak: klasa ide na RODITELJA, razmak dobijaju samo elementi
   izmedju (nikad prvi ni poslednji), pa ne moze da razvali centriranje. */
.rn-flow > * + *       { margin-top: var(--rn-gap-body); }
.rn-flow-tight > * + * { margin-top: var(--rn-gap-head); }

/* ---------- Sakrivanje po rezoluciji ----------
   Alternativa Oxygenovom "Layout > Display: None": vidi se u kodu i ne zavisi
   od ID pravila. */
@media (min-width: 992px) { .rn-hide-desktop { display: none !important; } }
@media (max-width: 991px) { .rn-hide-mobile  { display: none !important; } }
@media (max-width: 575px) { .rn-hide-phone   { display: none !important; } }


/* ---------------------------------------------------------------------------
   POJAVLJIVANJE PRI SKROLU (fade-up), isto kretanje kao na O nama
   (24px nagore, .7s, cubic-bezier(.16, 1, .3, 1), zadrska .08s izmedju blokova).
   Na Dorcolu jos nije ukljuceno (reveal.js nije u pluginu); klase su spremne, kao na render.rs.
   Ovde su pravila, a ne u posebnom fajlu, da efekat ne dodaje jos jedan CSS zahtev.

   ZASTO NE KOSTA BRZINU
   - JS sakriva SAMO blokove koji su ispod prvog ekrana. Sve sto se vidi pri
     ucitavanju (hero, naslov, prva slika) se nikad ne sakriva, pa LCP ostaje isti.
   - Menjaju se samo opacity i transform: nema pomeranja rasporeda (CLS isti),
     animaciju radi graficka kartica.
   - Bez JS-a, uz "smanji pokrete" u sistemu i pri stampi sve je odmah vidljivo.
   - Kad se blok pojavi, klase se skidaju, pa na strani ne ostaje nista od efekta.
   --------------------------------------------------------------------------- */
.rn-reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
}

.rn-reveal.rn-reveal--in {
  opacity: 1;
  transform: none;
  transition:
    opacity .7s cubic-bezier(.16, 1, .3, 1),
    transform .7s cubic-bezier(.16, 1, .3, 1);
}

@media (prefers-reduced-motion: reduce) {
  .rn-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media print {
  .rn-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* ---- 14-cookie-notice.css ---- */
/* =============================================================================
   Dorćol Core | 14-cookie-notice.css (isto kao render-core)
   Obavestenje o kolacicima (includes/cookie-notice.php). Ucitava se samo kad Complianz
   nije aktivan. Boje su iz tokena (Dorćol tamnozelena).

   Polozaj: iznad trake na dnu (Oxygen blok .fixed-bottom-menu, visinu daje --rn-sticky-bar-h), levo na desktopu,
   preko cele sirine na telefonu. Tekst je mali (--rn-small), da obavestenje nikad ne
   bude najveci element na ekranu.
   ============================================================================= */

.rn-cn {
  position: fixed;
  left: 24px;
  bottom: calc(var(--rn-sticky-bar-h, 76px) + 12px + env(safe-area-inset-bottom, 0px));
  z-index: 999991;                 /* iznad trake na dnu, ispod headera (1000000) */
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 460px;
  margin: 0;
  padding: 12px 12px 12px 16px;
  border-radius: 12px;
  background: var(--brand-surface-dark, #1a2e20);
  color: var(--brand-on-dark, #ffffff);
  box-shadow: 0 10px 28px -12px rgba(0, 0, 0, .55);
  font-family: 'Montserrat', sans-serif;
}
.rn-cn[hidden] { display: none !important; }

.rn-cn__text {
  flex: 1 1 auto;
  margin: 0;
  font-size: var(--rn-small, 14px);
  line-height: 1.45;
  color: inherit;
}
.rn-cn__link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.rn-cn__link:hover,
.rn-cn__link:focus-visible { color: var(--brand-hero, #8dc63f); }

.rn-cn .rn-cn__ok {
  flex: 0 0 auto;
  margin: 0;
}

@media (max-width: 767px) {
  .rn-cn {
    left: 12px;
    right: 12px;
    max-width: none;
    padding: 10px 10px 10px 14px;
    gap: 10px;
  }
}

@media print {
  .rn-cn { display: none !important; }
}


/* ---- 15-brzina.css ---- */
/* =============================================================================
   Dorćol Core | 15-brzina.css (od 0.3.0)
   YouTube slicica umesto iframe-a (includes/brzina.php): slika sa YouTube-a i dugme za pustanje,
   pravi iframe se ucita tek na klik. Unutar Oxygen Video elementa (i WordPress embed bloka) slicica
   popuni isti okvir kao iframe, pa se nista na strani ne pomera. Elementi su <span> (display:block),
   da slicica sme da stoji i unutar <p>.

   Pravilo za pozadine koje se ucitavaju blizu ekrana (html.dc-lzbg) nije ovde nego u <head>-u
   (<style id="dc-lzbg-css">), jer selektori zavise od strane.
   ============================================================================= */

.dc-yt {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000000;
}
.oxygen-vsb-responsive-video-wrapper > .dc-yt,
.wp-embed-responsive .wp-has-aspect-ratio .dc-yt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none !important;
  aspect-ratio: auto !important;
}
/* Safari do 14 nema aspect-ratio: visinu daje padding (16:9). U okvirima koji vec imaju visinu ne treba. */
@supports not (aspect-ratio: 1 / 1) {
  .dc-yt::before {
    content: "";
    display: block;
    padding-top: 56.25%;
  }
  .oxygen-vsb-responsive-video-wrapper > .dc-yt::before,
  .wp-embed-responsive .wp-has-aspect-ratio .dc-yt::before {
    display: none;
  }
}

.dc-yt__btn {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.dc-yt__btn:focus-visible {
  outline: 3px solid var(--rn-focus, #009444);
  outline-offset: -3px;
}

.dc-yt__img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

/* Dugme: tamni krug sa belim trouglom; na hover i fokus boja sajta. */
.dc-yt__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 72px;
  height: 72px;
  margin: -36px 0 0 -36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .72);
  box-shadow: 0 8px 22px rgba(0, 0, 0, .28);
  transition: background-color .2s ease, transform .2s ease;
}
.dc-yt__play::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -12px 0 0 -7px;
  border-style: solid;
  border-width: 12px 0 12px 20px;
  border-color: transparent transparent transparent #ffffff;
}
.dc-yt__btn:hover .dc-yt__play,
.dc-yt__btn:focus-visible .dc-yt__play {
  background: var(--rn-accent, #446440);
  transform: scale(1.06);
}

@media (max-width: 600px) {
  .dc-yt__play {
    width: 60px;
    height: 60px;
    margin: -30px 0 0 -30px;
  }
  .dc-yt__play::before {
    margin: -10px 0 0 -6px;
    border-width: 10px 0 10px 17px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dc-yt__play { transition: none; }
  .dc-yt__btn:hover .dc-yt__play,
  .dc-yt__btn:focus-visible .dc-yt__play { transform: none; }
}


/* ---- 20-header.css ---- */
/*
 * Dorćol Core | 20-header.css | header i mobilni meni (Oxygen sablon 15 "Main")
 *
 * Zamenjuje <style id="dp-native-menu-css"> iz Code Snippeta 11 "Menu JS" i blok DESKTOP
 * NAVIGACIJA iz Oxygen stylesheet-a "main". Ponasanje je isto, a po render.rs standardu:
 *   - header je fiksiran od prvog piksela (ranije tek kad JS doda klasu), pa sadrzaj ne skace;
 *   - razmak ispod headera daje body (klasa dc-has-header iz PHP-a), a ne div koji je JS ubacivao;
 *   - dugmad i kutije u mobilnom meniju imaju radijus i strelicu kao rn-btn (8px);
 *   - desktop meni: 17px / 600 (render), ranije 18px / 500.
 * Boje su Dorćol (tamnozelena #1a2e20, zelena #446440, svetle zelene u meniju), iste kao do sada.
 *
 * Selektori koriste stalne Oxygen ID-jeve iz sablona 15:
 *   #_header-2-15      ceo header          #_nav_menu-7-15    desktop meni
 *   #_nav_menu-63-15   mobilni meni        #link-65-15        logo u headeru
 * Ako se header u Oxygenu obrise i napravi iznova, ID-jevi se menjaju i ovaj fajl mora da prati
 * (i includes/header-menu.php). Prelom za mobilni header je 1120px (Oxygen "page width").
 * Klase dp-* dodaje assets/js/header-menu.js: stanja i elementi koje JS pravi (brend, CTA).
 */

/* ---------- 0. POZADINA HEADERA ----------
   Ne zavisi od JS-a: header ima boju od prvog piksela. Boju menjaj samo ovde. */
#_header-2-15,
#_header-2-15 .oxy-header-row {
  background-color: var(--brand-surface-dark, #1a2e20) !important;
  background-image: none !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#_header-2-15 .oxy-header-container,
#_header-2-15 .oxy-header-left,
#_header-2-15 .oxy-header-center,
#_header-2-15 .oxy-header-right {
  background-color: transparent !important;
  background-image: none !important;
}

/* ---------- 1. FIKSIRAN HEADER I RAZMAK ISPOD NJEGA ---------- */
/* WP admin bar (samo ulogovani): pocetna vrednost, JS je posle doteruje. */
body.admin-bar { --dp-admin-offset: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar { --dp-admin-offset: 46px; }
}

#_header-2-15.oxy-header {
  position: fixed !important;
  top: var(--dp-admin-offset, 0px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  z-index: 1000000 !important;
  border-bottom: 1px solid rgba(139, 181, 119, .3);
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
  transition: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
#_header-2-15.dp-mobile-menu-open {
  z-index: 2147483647 !important;
}
/* Ulogovan admin: header ide ISPOD WP admin bara (99999), da njegovi padajuci meniji ostanu klikabilni. */
body.admin-bar #_header-2-15.oxy-header { z-index: 99998 !important; }
body.admin-bar #_header-2-15.dp-mobile-menu-open { z-index: 99998 !important; }

/* Do 1120px sadrzaj pocinje ispod headera (82px). Ranije je to radio prazan div koji je JS
   ubacivao posle headera; sada postoji od prvog piksela (klasu dodaje includes/header-menu.php).
   JS posle ucitavanja upise stvarnu visinu u --dp-header-h, pa razmak prati header.
   Od 1121px hero na stranama namerno lezi ispod headera (kao do sada), pa tu nema razmaka. */
@media (max-width: 1120px) {
  body.dc-has-header { padding-top: var(--dp-header-h, 82px); }
}

/* ---------- 2. MOBILNI OVERLAY MENI ---------- */
#_nav_menu-63-15.oxy-nav-menu-open {
  position: fixed !important; inset: 0 !important;
  width: 100% !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
  height: 100vh; height: 100dvh;
  background: var(--brand-surface-dark, #1a2e20) !important;
  z-index: 2147483647 !important;
  font-family: 'Montserrat', sans-serif;
}
#_nav_menu-63-15.oxy-nav-menu-open > .menu-glavni-meni-container {
  box-sizing: border-box;
  display: flex; flex-direction: column; flex: 1 1 auto;
  width: 100% !important; min-height: 0; max-height: 100% !important;
  overflow-x: hidden !important; overflow-y: auto !important;
  overscroll-behavior: contain;
  padding: max(20px, env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom, 0px)) !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list {
  display: flex !important; flex-direction: column !important; align-items: stretch !important;
  gap: 0 !important; flex: 1 0 auto; margin: 0 !important; padding: 0 !important; width: 100% !important;
  background: transparent !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .menu-item {
  display: flex !important; flex-direction: column !important; position: relative !important;
  width: 100% !important; min-width: 0 !important; margin: 0 !important; text-align: left !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .menu-item > a {
  box-sizing: border-box;
  display: flex !important; align-items: center !important; justify-content: flex-start !important;
  position: relative !important; width: 100% !important;
  min-height: 46px; padding: 12px 12px !important;
  color: #eaf2e6 !important; background: transparent !important; border: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 19px !important; font-weight: 500 !important; line-height: 1.4 !important;
  letter-spacing: 0 !important; text-align: left !important; text-transform: none !important;
  text-shadow: none !important; white-space: normal !important;
  cursor: pointer; touch-action: manipulation;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .menu-item > a::after { content: none; }
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .menu-item > a:hover,
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .menu-item > a[aria-current="page"] {
  background: rgba(68, 100, 64, .35) !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .menu-item > a:focus-visible {
  outline: 2px solid #a9c99d; outline-offset: -2px;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .menu-item-has-children:not(.dp-nav-section) > a {
  padding-right: 48px !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .menu-item-has-children:not(.dp-nav-section) > a::after {
  content: '+' !important; display: block !important; position: absolute !important;
  inset: 50% 12px auto auto !important; width: 24px !important; height: 24px !important;
  margin: 0 !important; border: 0 !important; background: none !important;
  color: currentColor !important; font-size: 24px !important; line-height: 24px !important;
  text-align: center !important; transform: translateY(-50%) !important; pointer-events: none !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .dp-sub-open:not(.dp-nav-section) > a::after {
  content: '\2212' !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .sub-menu {
  display: none !important; position: static !important; inset: auto !important;
  transform: none !important; visibility: visible !important; opacity: 1 !important;
  box-sizing: border-box; width: 100% !important; min-width: 0 !important;
  height: auto !important; max-height: none !important;
  margin: 0 0 8px !important; padding: 0 0 0 12px !important;
  background: rgba(0, 0, 0, .18) !important; border: 0 !important;
  border-left: 2px solid #446440 !important; box-shadow: none !important;
  overflow: visible !important; transition: none !important; animation: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .dp-sub-open > .sub-menu {
  display: flex !important; flex-direction: column !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .sub-menu .menu-item > a {
  font-size: 17px !important; min-height: 42px; padding-left: 12px !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .sub-menu .menu-item > a:hover {
  padding-left: 12px !important;
}

/* ---------- 3. SEKCIJA "NAVIGACIJA": uvek otvorena, crtica ispred ---------- */
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .dp-nav-section > a {
  pointer-events: none !important; cursor: default !important;
  min-height: 0 !important; padding: 4px 12px 6px !important;
  font-size: 12px !important; font-weight: 700 !important; letter-spacing: .12em !important;
  text-transform: uppercase !important; color: rgba(234, 242, 230, .55) !important;
  background: transparent !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .dp-nav-section > a::after { content: none !important; }
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .dp-nav-section > .sub-menu {
  display: flex !important; flex-direction: column !important;
  margin: 0 0 14px !important; padding-left: 0 !important;
  background: transparent !important; border-left: 0 !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .dp-nav-section > .sub-menu > .menu-item > a {
  font-size: 19px !important; padding-left: 12px !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list .dp-nav-section > .sub-menu > .menu-item > a::before {
  content: '-'; flex: 0 0 auto; margin-right: 10px; color: #8bb577; font-weight: 700;
}

/* ---------- 4. BREND U OTVORENOM MENIJU ---------- */
#_nav_menu-63-15 .dp-mobile-brand { display: none; }
#_nav_menu-63-15.oxy-nav-menu-open .dp-mobile-brand {
  display: flex !important; flex: 0 0 auto; flex-direction: column;
  align-items: center; align-self: center;
  width: min(180px, calc(100% - 104px)); margin: 0 0 14px; padding: 0;
  color: #fff; text-decoration: none; border: 0;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-mobile-brand img {
  display: block; width: 100%; height: auto; max-width: 100%; object-fit: contain;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-mobile-brand-title {
  display: block; margin-top: 8px; padding-bottom: 8px;
  border-bottom: 1px solid #446440;
  font-size: clamp(13px, 4vw, 16px); font-weight: 700; line-height: 1.4;
  white-space: nowrap; color: #eaf2e6;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-mobile-brand:focus-visible {
  outline: 2px solid #a9c99d; outline-offset: 4px;
}

/* ---------- 5. CTA BLOK NA DNU MENIJA (kao render.rs: radijus iz tokena, strelica kao rn-btn) ---------- */
#_nav_menu-63-15 .dp-cta-call,
#_nav_menu-63-15 .dp-cta-form { display: none; }
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list > .menu-item.dp-cta-call {
  display: flex !important; margin-top: auto !important; padding-top: 22px; flex: 0 0 auto;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list > .menu-item.dp-cta-form {
  display: flex !important; margin-top: 12px !important; flex: 0 0 auto;
}

/* Pozovite agenta: zeleni "online" okvir (status zelena namerno nije brend zelena). */
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list > .menu-item.dp-cta-call > a {
  box-sizing: border-box !important;
  gap: 14px; width: 100% !important; min-height: 70px !important;
  padding: 12px 16px !important;
  background: rgba(46, 204, 113, .10) !important;
  border: 2px solid #2ecc71 !important;
  border-radius: var(--rn-btn-radius, 8px) !important;
  transition: background .2s ease, border-color .2s ease;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list > .menu-item.dp-cta-call > a:hover,
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list > .menu-item.dp-cta-call > a:focus-visible {
  background: rgba(46, 204, 113, .2) !important;
  border-color: #3ee07f !important;
  color: #ffffff !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-cta-avatar-wrap {
  position: relative; display: block; flex: 0 0 48px; width: 48px; height: 48px;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-cta-avatar {
  display: block; width: 48px; height: 48px;
  border-radius: 50%; object-fit: cover; border: 2px solid #2ecc71;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-cta-avatar-wrap::after {
  content: '';
  position: absolute; right: -2px; bottom: -2px;
  width: 14px; height: 14px; border-radius: 50%;
  background: #2ecc71; border: 2px solid #1a2e20;
  box-shadow: 0 0 0 0 rgba(46, 204, 113, .6);
  animation: dpOnlinePulse 2.4s ease-out infinite;
}
@keyframes dpOnlinePulse {
  0%   { box-shadow: 0 0 0 0 rgba(46, 204, 113, .55); }
  70%  { box-shadow: 0 0 0 9px rgba(46, 204, 113, 0); }
  100% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0); }
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-cta-text {
  display: flex; flex-direction: column; min-width: 0; gap: 2px;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-cta-title {
  font-size: 18px; font-weight: 700; line-height: 1.2; color: #ffffff;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-cta-sub {
  font-size: 13px; font-weight: 600; line-height: 1.3; color: #2ecc71; letter-spacing: .01em;
}

/* Pošaljite upit: puno dugme kao rn-btn--primary (zelena, na hover crna), strelica klizne. */
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list > .menu-item.dp-cta-form > a {
  box-sizing: border-box !important;
  justify-content: center !important; gap: 12px;
  width: 100% !important; min-height: 58px !important;
  padding: 16px 20px !important;
  background: var(--rn-accent, #446440) !important;
  border: 0 !important; border-radius: var(--rn-btn-radius, 8px) !important;
  box-shadow: 0 6px 18px var(--rn-accent-ring, rgba(68, 100, 64, .38)) !important;
  color: #ffffff !important; font-size: 17px !important; font-weight: 700 !important;
  letter-spacing: .02em !important; text-align: center !important; text-transform: none !important;
  transition: transform .12s ease, box-shadow .2s ease, background-color .2s ease;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list > .menu-item.dp-cta-form > a:hover {
  background: var(--rn-accent-hi, #000000) !important;
  box-shadow: 0 8px 22px var(--rn-accent-ring, rgba(68, 100, 64, .38)) !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list > .menu-item.dp-cta-form > a:active {
  background: var(--rn-accent-lo, #000000) !important;
  transform: translateY(1px);
  box-shadow: 0 3px 10px var(--rn-accent-ring, rgba(68, 100, 64, .38)) !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-cta-form > a::after {
  content: ''; display: block; flex: 0 0 auto;
  width: 20px; height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--rn-icon-arrow) center / contain no-repeat;
          mask: var(--rn-icon-arrow) center / contain no-repeat;
  transition: transform .2s ease;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-cta-form > a:hover::after { transform: translateX(4px); }

/* Nazad na render.rs */
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list > .menu-item.dp-mobile-back {
  margin-top: 12px !important; padding-top: 0 !important; flex: 0 0 auto;
}
#_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-list > .menu-item.dp-mobile-back > a {
  box-sizing: border-box !important; justify-content: center !important; gap: 10px;
  width: 100% !important; max-width: 100% !important; min-height: 52px !important;
  margin: 0 !important; padding: 14px 16px !important;
  background: transparent !important;
  border: 1px solid rgba(139, 181, 119, .45) !important; border-radius: var(--rn-btn-radius, 8px) !important;
  overflow: visible !important; font-size: 16px !important;
  text-align: center !important; white-space: nowrap !important;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-mobile-back > a::before {
  content: ''; display: block; width: 18px; height: 18px; flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask: var(--rn-icon-arrow) center / contain no-repeat;
          mask: var(--rn-icon-arrow) center / contain no-repeat;
  transform: scaleX(-1);
  transition: transform .2s ease;
}
#_nav_menu-63-15.oxy-nav-menu-open .dp-mobile-back > a:hover::before { transform: scaleX(-1) translateX(4px); }

/* ---------- 6. MOBILNA TRAKA HEADERA (do 1120px) ---------- */
#_header-2-15 .dp-fixed-brand { display: none; }
@media (max-width: 1120px) {
  #_header-2-15 .oxy-header-container {
    min-height: 64px !important;
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
    align-items: center !important;
  }
  #_header-2-15 .dp-original-logo { display: none !important; }

  #_header-2-15 .dp-fixed-brand {
    display: flex; align-items: center; gap: 10px; min-width: 0;
    font-family: 'Montserrat', sans-serif;
  }
  #_header-2-15 .dp-fixed-brand-logo {
    display: flex; flex: 0 0 auto; align-items: center; justify-content: center;
    height: 42px; padding: 0;
  }
  #_header-2-15 .dp-fixed-brand-logo img {
    display: block; width: auto !important; height: 42px !important;
    max-width: 64px; object-fit: contain;
  }
  #_header-2-15 .dp-fixed-brand-text {
    display: flex; flex-direction: column; align-items: flex-start; gap: 0; min-width: 0;
  }
  #_header-2-15 .dp-fixed-brand-text > a {
    display: block; margin: 0; padding: 0; color: #ffffff;
    font-family: 'Montserrat', sans-serif; font-style: normal; letter-spacing: 0;
    text-decoration: none; text-transform: none; white-space: nowrap; text-shadow: none;
  }
  #_header-2-15 .dp-fixed-brand-project { font-size: 18px; line-height: 22px; font-weight: 700; }
  #_header-2-15 .dp-fixed-brand-company { font-size: 10px; line-height: 14px; font-weight: 500; opacity: .75; }
  #_header-2-15 .dp-fixed-brand-company:hover { text-decoration: underline; text-underline-offset: 3px; opacity: 1; }
  #_header-2-15 .dp-fixed-brand a:focus-visible { outline: 2px solid #a9c99d; outline-offset: 3px; }

  /* hamburger: "html " prefiks da pobedi eventualne globalne override-e */
  html #_nav_menu-63-15 .oxy-menu-toggle {
    display: flex !important; cursor: pointer; touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  html #_nav_menu-63-15 .oxy-nav-menu-hamburger-wrap {
    box-sizing: border-box; display: flex !important; align-items: center; justify-content: center;
    width: 46px !important; height: 46px !important; margin: 0 !important; padding: 0 !important;
    border: 1px solid rgba(139, 181, 119, .65); border-radius: var(--rn-btn-radius, 8px);
    background: rgba(26, 46, 32, .92);
    box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
  }
  html #_nav_menu-63-15 .oxy-nav-menu-hamburger {
    position: relative !important; display: block !important;
    width: 22px !important; height: 18px !important; transform: none !important;
  }
  html #_nav_menu-63-15 .oxy-nav-menu-hamburger-line {
    display: block !important; position: absolute !important; left: 0 !important;
    width: 22px !important; height: 2px !important; background-color: #fff !important;
    border-radius: 2px; transform: none !important;
    transition: transform .18s ease, opacity .18s ease;
  }
  html #_nav_menu-63-15 .oxy-nav-menu-hamburger-line:first-child { top: 0 !important; }
  html #_nav_menu-63-15 .oxy-nav-menu-hamburger-line:nth-child(2) { top: 8px !important; width: 16px !important; }
  html #_nav_menu-63-15 .oxy-nav-menu-hamburger-line:last-child { top: 16px !important; }
  html #_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-hamburger-wrap {
    position: fixed !important;
    top: max(20px, env(safe-area-inset-top)) !important;
    right: max(20px, env(safe-area-inset-right)) !important;
  }
  html #_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-hamburger-line:first-child { transform: translateY(8px) rotate(45deg) !important; }
  html #_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-hamburger-line:nth-child(2) { opacity: 0 !important; }
  html #_nav_menu-63-15.oxy-nav-menu-open .oxy-nav-menu-hamburger-line:last-child { transform: translateY(-8px) rotate(-45deg) !important; }
  #_nav_menu-63-15 .oxy-menu-toggle:focus-visible .oxy-nav-menu-hamburger-wrap { outline: 2px solid #a9c99d; outline-offset: 3px; }
  #_nav_menu-63-15.oxy-nav-menu-open > .oxy-menu-toggle {
    position: fixed !important;
    top: max(20px, env(safe-area-inset-top)) !important;
    right: max(20px, env(safe-area-inset-right)) !important;
    width: 46px !important; height: 46px !important; margin: 0 !important; z-index: 2;
  }
  #_nav_menu-63-15:not(.oxy-nav-menu-open) > .menu-glavni-meni-container { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  #_nav_menu-63-15 .oxy-nav-menu-hamburger-line { transition: none !important; }
  #_nav_menu-63-15.oxy-nav-menu-open .dp-cta-avatar-wrap::after { animation: none !important; }
  #_nav_menu-63-15.oxy-nav-menu-open .dp-cta-form > a::after,
  #_nav_menu-63-15.oxy-nav-menu-open .dp-mobile-back > a::before { transition: none !important; }
  #_nav_menu-63-15.oxy-nav-menu-open .dp-cta-form > a:hover::after { transform: none; }
  #_nav_menu-63-15.oxy-nav-menu-open .dp-mobile-back > a:hover::before { transform: scaleX(-1); }
}

/* =========================================================
   7. DESKTOP NAVIGACIJA  |  #_nav_menu-7-15
   Iz Oxygen stylesheet-a "main". Tekst menija 17px / 600 kao na render.rs (ranije 18px / 500).
   ========================================================= */

/* 7.1 Osnovni linkovi */
#_nav_menu-7-15 .oxy-nav-menu-list .menu-item a {
  position: relative;
  font-family: 'Montserrat', sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .01em;
  color: #ffffff;
  padding: 10px 14px;
  white-space: nowrap;
  transition: color .25s ease, opacity .25s ease;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .6); /* citljivost preko videa */
}
#_nav_menu-7-15 .oxy-nav-menu-list {
  align-items: center;
  gap: 2px;
}

/* 7.2 Hover: zelena linija */
#_nav_menu-7-15 .oxy-nav-menu-list .menu-item > a::after {
  content: "";
  position: absolute;
  left: 14px; right: 14px; bottom: 4px;
  height: 2px;
  background: #446440;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .28s cubic-bezier(.4, 0, .2, 1);
}
#_nav_menu-7-15 .oxy-nav-menu-list .menu-item > a:hover::after {
  transform: scaleX(1);
}
#_nav_menu-7-15 .oxy-nav-menu-list .menu-item > a:hover {
  opacity: .85;
}

/* 7.3 Aktivna stranica */
#_nav_menu-7-15 .oxy-nav-menu-list .current-menu-item > a::after,
#_nav_menu-7-15 .oxy-nav-menu-list .current-menu-ancestor > a::after {
  transform: scaleX(1);
  background: #446440;
}

/* 7.4 "Nazad na render.rs" sa strelicom: stavka menija sa klasom nav-back (WP meni > CSS Classes).
   Danas je ni jedna stavka nema; pravilo ostaje spremno. */
#_nav_menu-7-15 .oxy-nav-menu-list .nav-back > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 15px 7px 12px;
  margin-right: 10px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: var(--rn-btn-radius, 8px);
  font-size: 13px;
  opacity: .85;
  transition: background .25s ease, border-color .25s ease, opacity .25s ease;
}
#_nav_menu-7-15 .oxy-nav-menu-list .nav-back > a::before {
  content: "";
  width: 14px; height: 14px;
  flex: 0 0 14px;
  background-color: #ffffff;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M19 12H5M5 12l6-6M5 12l6 6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M19 12H5M5 12l6-6M5 12l6 6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  transition: transform .25s ease;
}
#_nav_menu-7-15 .oxy-nav-menu-list .nav-back > a:hover {
  background: #446440;
  border-color: #446440;
  opacity: 1;
}
#_nav_menu-7-15 .oxy-nav-menu-list .nav-back > a:hover::before {
  transform: translateX(-3px);
}
#_nav_menu-7-15 .oxy-nav-menu-list .nav-back > a::after { display: none; }

/* 7.5 Padajuci meni */
#_nav_menu-7-15 .oxy-nav-menu-list .sub-menu {
  background: rgba(26, 46, 32, .96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(68, 100, 64, .55);
  border-top: 2px solid #446440;
  border-radius: 0 0 8px 8px;
  padding: 8px 0;
  min-width: 210px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
}
#_nav_menu-7-15 .oxy-nav-menu-list .sub-menu .menu-item a {
  display: block;
  padding: 10px 18px;
  font-size: 16px;
  font-weight: 500;
  text-shadow: none;
  border-left: 2px solid transparent;
  transition: background .2s ease, border-color .2s ease, padding-left .2s ease;
}
#_nav_menu-7-15 .oxy-nav-menu-list .sub-menu .menu-item a:hover {
  background: rgba(68, 100, 64, .35);
  border-left-color: #446440;
  padding-left: 22px;
  opacity: 1;
}
#_nav_menu-7-15 .oxy-nav-menu-list .sub-menu .menu-item a::after { display: none; }

/* treci nivo (Ostali projekti > La Rue 48) */
#_nav_menu-7-15 .oxy-nav-menu-list .sub-menu .sub-menu {
  border-top: 1px solid rgba(68, 100, 64, .55);
  border-left: 2px solid #446440;
}
/* Podmeni se otvara i fokusom sa tastature, ne samo misem (kao na render.rs). */
#_nav_menu-7-15 .oxy-nav-menu-list li:focus-within > .sub-menu { visibility: visible; opacity: 1; }

/* 7.6 Strelica za padajuci meni */
#_nav_menu-7-15 .oxy-nav-menu-list .menu-item-has-children > a .oxy-nav-menu-dropdown-icon-color,
#_nav_menu-7-15 .oxy-nav-menu-list .menu-item-has-children > a svg {
  transition: transform .25s ease;
}
#_nav_menu-7-15 .oxy-nav-menu-list .menu-item-has-children:hover > a svg {
  transform: rotate(180deg);
}

/* 7.7 Razmaci po sirini ekrana */
@media (min-width: 993px) {
  #_nav_menu-7-15 .oxy-nav-menu-list .menu-item a {
    padding-left: 12px;
    padding-right: 12px;
  }
}
@media (min-width: 1200px) {
  #_nav_menu-7-15 .oxy-nav-menu-list .menu-item a {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* =========================================================
   8. HEADER KAO NA RENDER.RS  |  body.dc-layout-render
   Ukljucuje ga migracija 2026-09-dp2 (opcija dc_layout = render, klasu na <body> dodaje
   includes/header-menu.php). "Vrati na staro" gasi opciju, pa header opet izgleda kao gore.
   Isto kao render-core/20-header-render.css, sekcije 7 i 8:
     - desktop (od 1121px): logo na sredini, obicne stavke levo, stavke sa podmenijem desno,
       visina 81px (red 10px + link 18px gore i dole), tekst 17px / 600, linija ispod na hover;
     - telefon i tablet (do 1120px): traka 64px (ranije 82px: Oxygen razmak 10px gore i 7px dole).
   Redosled stavki: CSS ih rasporedjuje od prvog piksela (order), a header-menu.js isti redosled
   upisuje i u HTML, da Tab ide redom kojim se vide. Dorćol boje: tamnozelena, linija #8bb577.
   ========================================================= */

/* 8.1 Bez Oxygen razmaka iznad i ispod reda (header 10px, red 7px) */
body.dc-layout-render #_header-2-15.oxy-header { padding-top: 0 !important; padding-bottom: 0 !important; }
body.dc-layout-render #_header-2-15 #_header_row-3-15 { padding-top: 0 !important; padding-bottom: 0 !important; }

@media (max-width: 1120px) {
  body.dc-layout-render #_header-2-15 .oxy-header-container {
    box-sizing: border-box;
    height: 64px;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
  body.dc-layout-render.dc-has-header { padding-top: var(--dp-header-h, 64px); }
}

@media (min-width: 1121px) {
  /* 8.2 Red: tri kolone kao na render.rs, logo tacno na sredini */
  body.dc-layout-render #_header_row-3-15 > .oxy-header-container {
    position: relative;
    box-sizing: border-box;
    display: flex !important;
    align-items: center !important;
    min-height: 81px;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  body.dc-layout-render #_header_left-4-15 {
    position: absolute !important;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    margin: 0 !important;
  }
  body.dc-layout-render #link-65-15 { display: block; line-height: 0; }
  body.dc-layout-render #image-49-15 {
    display: block;
    width: auto !important;
    height: 65px !important;   /* red je 81px; logo 65px, 8px gore i dole */
    max-width: none;
  }
  body.dc-layout-render #_header_center-5-15 { display: none !important; }
  body.dc-layout-render #_header_right-6-15 {
    flex: 1 1 auto !important;
    width: 100%;
    margin: 0 !important;
    justify-content: stretch !important;
  }
  body.dc-layout-render #_nav_menu-7-15,
  body.dc-layout-render #_nav_menu-7-15 > .menu-glavni-meni-container { width: 100%; }

  /* 8.3 Stavke: obicne levo, sa podmenijem desno, izmedju prazno (tu je logo) */
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch;
    width: 100%;
    gap: 0;
  }
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list > li { order: 1; }
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list::after {
    content: '';
    display: block;
    order: 2;
    flex: 1 1 auto;
    min-width: 96px;           /* logo (46px) i vazduh oko njega */
  }
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list > li.menu-item-has-children { order: 3; }

  /* 8.4 Linkovi kao na render.rs: 17px / 600, 18px 12px, linija 2px na dnu */
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list > li > a {
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: .01em !important;
    padding: 18px 12px !important;
    color: #ffffff !important;
    text-shadow: none !important;
    opacity: 1 !important;
    background: transparent !important;
    border-bottom: 2px solid transparent !important;
  }
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list > li:hover > a,
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list > li:focus-within > a,
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list > .current-menu-item > a,
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list > .current-menu-ancestor > a {
    border-bottom-color: #8bb577 !important;
  }
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list > li > a:focus-visible {
    outline: 2px solid #a9c99d;
    outline-offset: -2px;
  }
  /* Linija iz sekcije 7 (::after) se gasi; ::after je opet Oxygen strelica za podmeni. */
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list .menu-item > a::after { content: none; }
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list .menu-item-has-children > a::after {
    content: '';
    display: block;
    position: static;
    width: .35em;
    height: .35em;
    margin-left: .5em;
    background: none;
    border-right: .1em solid;
    border-top: .1em solid;
    transform: rotate(135deg);
    transition: none;
  }
  body.dc-layout-render #_nav_menu-7-15 .sub-menu .menu-item-has-children > a::after { transform: rotate(-135deg); }

  /* 8.5 Padajuci meni kao na render.rs: ravnan uz desnu ivicu stavke, 16px / 500 */
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list .sub-menu {
    background: #243d2b !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid #446440 !important;
    border-radius: 0 0 8px 8px;
    min-width: 240px;
    padding: 6px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18) !important;
  }
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list > li > .sub-menu { left: auto; right: 0; }
  /* treci nivo (Render LVM > Ostali projekti > La Rue 48) se otvara ulevo, da ne izadje iz ekrana */
  body.dc-layout-render #_nav_menu-7-15 .sub-menu .sub-menu { left: auto; right: 100%; top: -7px; border-radius: 8px; }
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list .sub-menu .menu-item a {
    display: flex;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    padding: 12px 14px !important;
    color: #ffffff !important;
    white-space: normal !important;
    border: 0 !important;
    border-radius: 6px;
    background: transparent !important;
    text-shadow: none !important;
  }
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list .sub-menu .menu-item a:hover,
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list .sub-menu .menu-item a:focus-visible {
    background: #446440 !important;
    color: #ffffff !important;
    padding-left: 14px !important;
  }
}
@media (min-width: 1121px) and (max-width: 1199px) {
  body.dc-layout-render #_nav_menu-7-15 .oxy-nav-menu-list > li > a {
    font-size: 15px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
    white-space: nowrap !important;
  }
}


/* ---- 53-stan.css ---- */
/* =============================================================
   DORĆOL CORE | [stan_opis] i [stan_drawer] (strane stanova, sablon 64)
   Zamenjuje <style id="dpsd-css"> iz Code Snippeta 10 (stampao se usred sadrzaja strane).
   Ponasanje drawera je u assets/js/stan.js.

   Boje su iste kao u snippetu, velicine po render.rs (00-tokens.css):
     naslov sekcije        44 px (32 tel.) / 500 -> h2 render (30-46 px / 700)
     uvod                  18 px (16 tel.)       -> --rn-body (15-16 px)
     opis stana, tekst     18 px (16 tel.)       -> --rn-body (15-16 px)
     podnaslovi u opisu    22 px (20 tel.) / 500 -> --rn-h4 (18-24 px) / 600
     naslov stavke         24 px (20 tel.) / 500 -> --rn-h4 (18-24 px) / 600
     tabela                18 px, zaglavlje 14   -> --rn-body, zaglavlje --rn-small
     dugme                 pilula                -> oblik rn-btn (8px, 700, strelica)
   ============================================================= */

.dpsd {
  --dpsd-green: var(--brand-accent, #446440);
  --dpsd-black: #000000;
  --dpsd-white: #ffffff;
  --dpsd-soft: #f5f4f4;
  --dpsd-line: var(--brand-line, #e4ecf1);
  --dpsd-muted: #565656;
  background: var(--dpsd-white);
  color: var(--dpsd-black);
}
.dpsd * { box-sizing: border-box; }
.dpsd__wrap { max-width: 900px; margin: 0 auto; }

/* ---------- oznaka (pilula), zajednicka ---------- */
.dpsd__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 5px 24px 5px 5px;
  background: var(--dpsd-green);
  border-radius: 999px;
}
.dpsd__eyebrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px; flex: 0 0 34px;
  border-radius: 50%;
  background: var(--dpsd-black);
  color: var(--dpsd-white);
}
.dpsd__eyebrow-icon svg { width: 17px; height: 17px; display: block; }
/* Isto kao .rn-eyebrow (13-utilities.css), kojim su od dp2 oznake i u Oxygen sekcijama. */
.dpsd__eyebrow-text {
  font-size: 13px; line-height: 1; font-weight: var(--rn-w-semi, 600);
  letter-spacing: var(--rn-ls-eyebrow, .12em); text-transform: uppercase;
  color: var(--dpsd-white);
}

/* ---------- opis stana ---------- */
.dpsd--opis { padding: 40px 20px 10px; }
.dpsd__opis-head { margin: 0 0 20px; text-align: left; }
.dpsd__opis-body p {
  margin: 0 0 16px;
  font-size: var(--rn-body);
  line-height: var(--rn-lh-body, 1.65);
  color: var(--dpsd-black);
}
.dpsd__opis-body p:last-child { margin-bottom: 0; }
.dpsd__opis-body ul,
.dpsd__opis-body ol {
  margin: 0 0 16px;
  padding-left: 22px;
  font-size: var(--rn-body);
  line-height: var(--rn-lh-body, 1.65);
  color: var(--dpsd-black);
}
.dpsd__opis-body li { margin: 0 0 6px; }
.dpsd__opis-body li:last-child { margin-bottom: 0; }
.dpsd__opis-body h2,
.dpsd__opis-body h3,
.dpsd__opis-body h4 {
  margin: 26px 0 12px;
  font-size: var(--rn-h4);
  line-height: 1.25;
  font-weight: var(--rn-w-semi, 600);
  color: var(--dpsd-black);
}
.dpsd__opis-body strong { font-weight: var(--rn-w-bold, 700); }
.dpsd__opis-body a {
  color: var(--dpsd-green);
  font-weight: var(--rn-w-semi, 600);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.dpsd__opis-body a:hover,
.dpsd__opis-body a:focus-visible { color: var(--dpsd-black); }

/* ---------- drawer sekcija ---------- */
.dpsd--drawer { padding: 55px 20px var(--rn-sec-y, 65px); }
.dpsd__head { margin: 0 auto 30px; text-align: center; max-width: 780px; }
.dpsd__head .dpsd__eyebrow { margin: 0 0 20px; }
.dpsd__head h2 {
  margin: 0;
  color: var(--dpsd-black);
}
.dpsd__head p {
  max-width: 720px;
  margin: 18px auto 0;
  font-size: var(--rn-body);
  line-height: 1.6;
  color: var(--dpsd-muted);
}
.dpsd__list { border-top: 1px solid var(--dpsd-line); }
.dpsd__item { border-bottom: 1px solid var(--dpsd-line); }
.dpsd__trigger {
  appearance: none;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 24px 4px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  color: var(--dpsd-black);
  font-family: 'Montserrat', sans-serif;
}
.dpsd__trigger:focus-visible { outline: 2px solid var(--dpsd-green); outline-offset: 2px; }
.dpsd__num {
  flex: 0 0 34px;
  font-size: var(--rn-small, 14px);
  letter-spacing: .12em;
  font-weight: var(--rn-w-bold, 700);
  font-variant-numeric: tabular-nums;
  color: var(--dpsd-green);
}
.dpsd__label { flex: 1 1 auto; min-width: 0; }
.dpsd__label h3 {
  margin: 0;
  font-size: var(--rn-h4);
  line-height: 1.25;
  font-weight: var(--rn-w-semi, 600);
  color: var(--dpsd-black);
  transition: color .22s ease;
}
.dpsd__sign {
  position: relative;
  flex: 0 0 32px;
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 1px solid var(--dpsd-line);
  transition: background .24s ease, border-color .24s ease;
}
.dpsd__sign::before,
.dpsd__sign::after {
  content: "";
  position: absolute; left: 50%; top: 50%;
  background: var(--dpsd-green);
  transform: translate(-50%, -50%);
  transition: transform .28s ease, opacity .28s ease, background .24s ease;
}
.dpsd__sign::before { width: 13px; height: 2px; }
.dpsd__sign::after { width: 2px; height: 13px; }
.dpsd__trigger:hover .dpsd__label h3 { color: var(--dpsd-green); }
.dpsd__trigger:hover .dpsd__sign { border-color: var(--dpsd-green); }
.dpsd__item.is-open > .dpsd__trigger .dpsd__sign {
  background: var(--dpsd-green);
  border-color: var(--dpsd-green);
}
.dpsd__item.is-open > .dpsd__trigger .dpsd__sign::before { background: var(--dpsd-white); }
.dpsd__item.is-open > .dpsd__trigger .dpsd__sign::after {
  transform: translate(-50%, -50%) scaleY(0);
  opacity: 0;
}
.dpsd__item.is-open > .dpsd__trigger .dpsd__label h3 { color: var(--dpsd-green); }
.dpsd__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .3s ease;
}
.dpsd__item.is-open > .dpsd__panel { grid-template-rows: 1fr; }
.dpsd__panel-inner { overflow: hidden; min-height: 0; }
.dpsd__panel-body { padding: 0 4px 28px; max-width: 760px; }
.dpsd__panel-body p {
  margin: 0 0 14px;
  font-size: var(--rn-body);
  line-height: var(--rn-lh-body, 1.65);
  color: var(--dpsd-muted);
}
.dpsd__panel-body p:last-child { margin-bottom: 0; }
.dpsd__panel-body ul,
.dpsd__panel-body ol {
  margin: 0 0 14px;
  padding-left: 22px;
  font-size: var(--rn-body);
  line-height: var(--rn-lh-body, 1.65);
  color: var(--dpsd-muted);
}
.dpsd__panel-body li { margin: 0 0 6px; }
.dpsd__panel-body li:last-child { margin-bottom: 0; }
.dpsd__panel-body strong { color: var(--dpsd-black); font-weight: var(--rn-w-bold, 700); }
.dpsd__panel-body a {
  color: var(--dpsd-green);
  font-weight: var(--rn-w-semi, 600);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.dpsd__panel-body a:hover,
.dpsd__panel-body a:focus-visible { color: var(--dpsd-black); }

/* ---------- tabela prostorija ---------- */
.dpsd__tabela-wrap {
  margin: 22px 0 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
}
.dpsd__tabela {
  width: 100%;
  min-width: 320px;
  margin: 0;
  border-collapse: collapse;
}
.dpsd__tabela th {
  background: var(--dpsd-green);
  color: var(--dpsd-white);
  text-align: left;
  font-size: var(--rn-small, 14px);
  font-weight: var(--rn-w-semi, 600);
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 13px 18px;
}
.dpsd__tabela th:last-child { text-align: right; }
.dpsd__tabela td {
  background: var(--dpsd-white);
  color: var(--dpsd-black);
  font-size: var(--rn-body);
  line-height: 1.4;
  padding: 14px 18px;
  border-bottom: 1px solid var(--dpsd-line);
}
.dpsd__tabela td:last-child {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.dpsd__tabela tbody tr:nth-child(even) td { background: var(--dpsd-soft); }
.dpsd__tabela tbody tr:last-child td { border-bottom: 0; }

/* ---------- dugme: oblik rn-btn, boje kao ranije (svetlo siva, na hover zelena) ---------- */
.dpsd__foot { margin-top: 40px; text-align: center; }
.dpsd__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.dpsd .dpsd__cta.rn-btn {
  background-color: var(--dpsd-soft);
  border-color: var(--dpsd-soft);
  color: var(--dpsd-black);
}
.dpsd .dpsd__cta.rn-btn:hover,
.dpsd .dpsd__cta.rn-btn:focus-visible {
  background-color: var(--dpsd-green);
  border-color: var(--dpsd-green);
  color: var(--dpsd-white);
}

@media (prefers-reduced-motion: reduce) {
  .dpsd__panel, .dpsd__sign, .dpsd__sign::before, .dpsd__sign::after,
  .dpsd__label h3 { transition: none; }
}

/* ---------- telefon ---------- */
@media (max-width: 767px) {
  .dpsd--opis { padding: 30px 16px 6px; }
  .dpsd--drawer { padding: var(--rn-sec-y-sm, 45px) 16px 55px; }

  /* oznaka u opisu je centrirana samo na telefonu */
  .dpsd__opis-head { text-align: center; margin-bottom: 18px; }

  .dpsd__head { text-align: left; margin-bottom: 24px; }
  .dpsd__head p { margin-top: 14px; }
  .dpsd__head .dpsd__eyebrow { margin-bottom: 16px; }
  .dpsd__opis-body h2,
  .dpsd__opis-body h3,
  .dpsd__opis-body h4 { margin-top: 22px; }
  .dpsd__trigger { padding: 20px 0; gap: 14px; }
  .dpsd__num { flex: 0 0 28px; }
  .dpsd__sign { flex: 0 0 28px; width: 28px; height: 28px; }
  .dpsd__panel-body { padding: 0 0 22px; }
  .dpsd__tabela th { padding: 11px 14px; }
  .dpsd__tabela td { padding: 12px 14px; }
  .dpsd__actions { flex-direction: column; align-items: stretch; }
  .dpsd__actions .rn-btn { width: 100%; }
}


/* ---- 90-oxygen-fixes.css ---- */
/* =============================================================================
   Dorćol Core | 90-oxygen-fixes.css (poslednji CSS na strani)
   Pravila vezana za pojedinacne Oxygen elemente i ostaci starih mesta za CSS:

   Iz Oxygen stylesheet-a "main" (sve osim tokena i desktop menija, koji su u 00-tokens.css
   i 20-header.css), prepisano 1:1.
   Iz Appearance > Customize > Additional CSS (migracija ga prazni), prepisano 1:1, osim
   zelene boje submit dugmadi u formama (#466342 za tri forme): sve forme sada imaju isto
   dugme iz 12-forms.css.
   Novo: razmak ispod headera na pocetnoj (blok 4), modal i galerija iznad headera (blok 6),
   mesto za traku na dnu ispod footera (blok 7, od dp2).
   ============================================================================= */

/* ---------- 1. Slider (pocetna, Dinamika izgradnje) ---------- */
#slider-132-12 .unslider-arrow {
  background-color: var(--dp-green, #446440) !important;
  opacity: .8;
}
#slider-132-12 .unslider-arrow:hover {
  opacity: 1;
}

/* ---------- 2. Pojedinacni elementi ---------- */
#div_block-601-12 {
  z-index: 99999 !important;
}

@media only screen and (max-width: 768px) {
  #code_block-4-47 {
    z-index: 0;
  }
}

/* ---------- 3. STARA traka na dnu (Oxygen blok .fixed-bottom-menu u sablonu Main) ----------
   Od migracije dp2 traka je .rn-sticky-bar (11-sticky-bar.css) i ove klase na sajtu vise nema.
   Pravila ostaju za slucaj "Vrati na staro" (tada se vraca stara traka).
   Pojavljuje se posle skrola: klasu "visible" dodaje JS iz samog Oxygen bloka. */
.fixed-bottom-menu {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1s ease, transform 1s ease;
}
.fixed-bottom-menu.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- 4. Pocetna: hero video pocinje tacno ispod headera ----------
   Blok #div_block-560-12 u Oxygenu ima margin-top 100px (0 ispod 480px), a header je 82px do
   1120px i 125px iznad. Zato je izmedju 480 i 1120px ispod headera bilo 100px praznog, a od 1121px
   header je prekrivao gornjih 25px videa. Sada: do 1120px razmak daje body (20-header.css), a od
   1121px hero pocinje na visini headera (JS upisuje tacnu visinu u --dp-header-h). */
@media (min-width: 480px) and (max-width: 1120px) {
  #div_block-560-12 { margin-top: 0 !important; }
}
@media (min-width: 1121px) {
  #div_block-560-12 { margin-top: var(--dp-header-h, 125px) !important; }
  /* header kao na render.rs (dp2) je visok 81px */
  body.dc-layout-render #div_block-560-12 { margin-top: var(--dp-header-h, 81px) !important; }
}

/* ---------- 5. Iz Additional CSS ---------- */
.kartice-projekat {
  cursor: pointer;
}

.kartica-materijalizacija {
  cursor: pointer;
}

#section-146-64 > .ct-section-inner-wrap {
  padding-left: 20px !important;
}

.upit-posaljite {
  cursor: pointer !important;
}

/* ---------- 6. Modal "Pošaljite upit" i galerija preko headera i trake; natpis u galeriji ----------
   Header (z-index 1000000) i traka na dnu (999990) su iznad svega na strani, pa i iznad Oxygen
   modala (1400) i uvecane slike u galeriji (PhotoSwipe, 1500): header je pokrivao dugme za
   zatvaranje galerije, a traka dno forme. Otvoren modal i galerija idu iznad njih
   (ispod otvorenog mobilnog menija, koji je najvisi). */
.oxy-modal-backdrop.live { z-index: 1000010 !important; }
.pswp { z-index: 1000010 !important; }

/* Natpis na slici u galeriji: od dp2 ima prored (--oxy-small-line-height, 00-tokens.css), pa je u dva
   i vise redova. Na telefonu su slike uske (80px), pa bi natpis bio visi od slike i nevidljiv (pojavljuje
   se tek na hover) prekrivao susednu sliku: dodir bi otvorio pogresnu sliku. Natpis zato ostaje u svojoj
   slici i ne prima klik (Oxygen tu liniju ima, ali zakomentarisanu). */
.oxy-gallery .oxy-gallery-item { overflow: hidden; }
.oxy-gallery.oxy-gallery-captions .oxy-gallery-item .oxy-gallery-item-contents figcaption { pointer-events: none; }

/* ---------- 7. Mesto za traku na dnu (dp2) ----------
   Traka (.rn-sticky-bar) je uvek na dnu ekrana. Footer dobija prazan prostor iste visine, da na kraju
   strane traka ne pokrije red sa "Politika Privatnosti". Na render.rs to nije potrebno (tamo je
   politika u listi linkova, a ne u poslednjem redu). */
body.dc-layout-render #section-17-15 {
  padding-bottom: calc(var(--rn-sticky-bar-h, 76px) + env(safe-area-inset-bottom, 0px)) !important;
}

/* ---------- 8. Strana stana: naslov iznad opisa ----------
   Opis stana ([stan_opis], bela podloga) u Oxygenu ima margin-top -20px, pa je prelazio preko donjeg
   dela naslova (slova su bila odsecena odozdo). Naslov ide iznad opisa, razmak ostaje isti. */
#headline-96-64 {
  position: relative;
  z-index: 1;
}

