/* ===== Sve strane osim naslovne: isti staklasti "medical" stil (klase dodaje inner.js, bez ID-eva) ===== */

/* --- Zajednička svetla podloga (nz-field je u sections.css); blagi tirkiz/lavanda sjaj iza nekih sekcija --- */
.nz-blob { position: relative; }
.nz-blob--a::before, .nz-blob--b::after, .nz-blob--a::after, .nz-blob--b::before { content: ''; position: absolute; z-index: -1; pointer-events: none; border-radius: 50%; }
.nz-blob--a::before, .nz-blob--b::after { background: radial-gradient(closest-side, rgba(41, 185, 205, .22), rgba(41, 185, 205, .09) 55%, rgba(41, 185, 205, 0)); }
.nz-blob--a::after, .nz-blob--b::before { background: radial-gradient(closest-side, rgba(99, 123, 200, .18), rgba(99, 123, 200, .08) 55%, rgba(99, 123, 200, 0)); }
.nz-blob--a::before { left: -200px; top: -4%; width: 680px; height: 460px; }
.nz-blob--a::after  { right: -220px; bottom: -6%; width: 720px; height: 480px; }
.nz-blob--b::before { right: -220px; top: -4%; width: 720px; height: 480px; }
.nz-blob--b::after  { left: -200px; bottom: -6%; width: 680px; height: 460px; }

/* --- Pojavljivanje blokova (nz-rise/nz-h/nz-card u sections.css i cards.css) --- */
.nz-inner.nz-js .nz-hero-card:not(.nz-in) { opacity: 0; transform: translate3d(0, 30px, 0) scale(.985); }
.nz-inner.nz-js .nz-hero-card:not(.nz-in) .nz-hero-item { opacity: 0; transform: translate3d(0, 18px, 0); }

/* --- Hero kartica (preko slike): naslov, tekst, dugme --- */
.nz-inner .nz-hero-card { padding: 40px 44px !important; border-radius: 30px !important; }
.nz-inner .nz-hero-item--title :is(h1, h2, h3, h4) { position: relative; color: var(--nz-ink) !important; letter-spacing: -.2px; padding-bottom: 18px; margin: 0 0 6px; }
.nz-inner .nz-hero-item--title :is(h1, h2, h3, h4)::after { content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--nz-teal), var(--nz-blue)); transition: width 1s var(--nz-ease) .7s; }
.nz-inner .nz-hero-card.nz-in .nz-hero-item--title :is(h1, h2, h3, h4)::after { width: 68px; }
.nz-inner .nz-hero-item--text p { color: var(--nz-text); line-height: 1.65; }
.nz-inner .nz-hero-item--btns { margin-top: 8px; }

/* --- Trake sa gradijentom (npr. "MI SMO TIM ZA VAŠ OSMEH!"): staklo u tirkiz-plavoj nijansi, bez navodnika --- */
.nz-band--plain, .nz-band--plain > .e-con-inner { height: auto !important; min-height: 96px; padding-block: 12px !important; row-gap: 12px !important; }
.nz-band--plain > .e-con-inner { min-height: 0; }
/* Elementor ovde daje tekstu negativan razmak (-19px) i fiksnu visinu 10px pa se dva reda sabijaju: ispravljeno */
.nz-band--plain .elementor-widget { height: auto !important; min-height: 0 !important; margin: 0 !important; }
.nz-band--plain .elementor-widget-container { margin: 0 !important; height: auto !important; }
.nz-band--plain .elementor-widget + .elementor-widget { margin-top: 6px !important; }
.nz-band--plain .e-con-inner { flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.nz-band--plain :is(h1, h2, h3, h4, p, .elementor-heading-title) {
  line-height: 1.3 !important;
  font-family: var(--nz-font-display); font-weight: 500; letter-spacing: .3px; text-align: center; color: #fff !important;
  text-shadow: 0 2px 20px rgba(10, 50, 100, .30); margin: 0; line-height: 1.35;
}
.nz-band--plain .elementor-heading-title::before, .nz-band--plain .elementor-heading-title::after { content: none !important; }
.nz-band--plain :is(span, strong, b)[style*="color"], .nz-band--plain strong { color: #c9fbff !important; font-weight: 700; -webkit-text-fill-color: currentColor; background: none; }
.nz-band--plain .elementor-widget-text-editor, .nz-band--plain .elementor-widget-heading { width: auto; max-width: 100%; }

/* --- Naslovi unutar teksta: tamno plavi, istaknute reči u gradijentu --- */
.nz-inner [data-elementor-type="wp-page"] :is(h1, h2, h3, h4) { color: var(--nz-ink); }
.nz-inner [data-elementor-type="wp-page"] :is(h1, h2, h3, h4) :is(span, strong)[style*="color"] {
  background: linear-gradient(90deg, var(--nz-teal), var(--nz-blue)); -webkit-background-clip: text; background-clip: text;
  color: transparent !important; -webkit-text-fill-color: transparent; -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.nz-inner [data-elementor-type="wp-page"] [style*="ffbc00" i]:not(:is(h1, h2, h3, h4) *), .nz-inner [data-elementor-type="wp-page"] [style*="28bbca" i]:not(:is(h1, h2, h3, h4) *) { color: var(--nz-teal-dark) !important; }
.nz-inner [data-elementor-type="wp-page"] :is(.nz-hero-card, .nz-cta, .nz-splitpanel, .nz-band) :is(h1, h2, h3, h4) { -webkit-text-fill-color: initial; }
.nz-inner .elementor-widget-text-editor { color: var(--nz-text); }
.nz-inner .elementor-widget-text-editor :is(ul, ol) { padding-left: 1.2em; }
.nz-inner .elementor-widget-text-editor li { margin-bottom: .45em; line-height: 1.65; }
.nz-inner .elementor-widget-text-editor li::marker { color: var(--nz-teal); }

/* --- Staklene kartice sa tekstom --- */
.nz-inner .nz-glass { padding: 38px 44px !important; }
.nz-inner .nz-glass--wide { max-width: 1140px; margin-inline: auto; width: 100%; box-sizing: border-box; }
.nz-inner .nz-glass--col { height: auto; align-self: stretch; }
.nz-inner .nz-glass :is(h1, h2, h3, h4) { color: var(--nz-ink) !important; font-family: var(--nz-font-display); letter-spacing: -.2px; }
.nz-inner .nz-glass :is(h2, h3) { margin-top: 1.1em; }
.nz-inner .nz-glass :is(h2, h3):first-child { margin-top: 0; }
.nz-inner .nz-glass :is(span, strong, b)[style*="color"] { color: var(--nz-teal-dark) !important; -webkit-text-fill-color: initial; background: none; }
.nz-inner .nz-glass :is(h1, h2, h3, h4) :is(span, strong)[style*="color"] { background: linear-gradient(90deg, var(--nz-teal), var(--nz-blue)); -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent; }
.nz-inner .nz-glass--row { display: flex; flex-direction: column; justify-content: center; }
.nz-inner .nz-glass--row :is(p, h1, h2, h3, h4, li) { text-align: left !important; }
.nz-inner .nz-glass--row p { margin: 0 0 12px; }
.nz-inner .nz-glass .elementor-widget-image { display: none; }   /* dekorativna linija pored naslova */
.nz-inner .nz-glass--row :is(.elementor-heading-title) { color: var(--nz-ink) !important; }
.nz-inner .nz-glass .nz-q--open { font-size: 2.2em; } .nz-inner .nz-glass .nz-q--close { font-size: 1.7em; }
.nz-inner .nz-glass .elementor-price-list-title { font-weight: 700; color: var(--nz-ink); }

/* obrub ("Naše usluge" okvir sa žutom linijom): staklo sa tankim belim rubom */
.nz-inner .nz-glass[style], .nz-inner .e-con[class*="e-con"].nz-glass { border: var(--nz-border) !important; }

/* --- Okvir slike (nz-frame): zaobljena slika sa belim rubom, bez originalne plave linije / oblika --- */
.nz-inner .nz-frame { align-self: center; }
.nz-inner .nz-frame .elementor-widget-image { width: 100%; }
.nz-inner .nz-frame img { border-radius: 28px !important; border: 4px solid rgba(255, 255, 255, .95) !important; box-shadow: 0 22px 50px rgba(25, 85, 125, .20) !important; width: 100%; height: auto; object-fit: cover; }
.nz-inner .nz-frame .elementor-widget-container { overflow: visible; border: 0 !important; border-radius: 0 !important; }
.nz-inner .nz-frame::before { inset: 18px -10px -10px 18px; border-radius: 32px; }
.nz-inner .nz-linked { cursor: pointer; }
@media (hover: hover) { .nz-inner .nz-glass--row.nz-linked:hover { transform: translateY(-4px); box-shadow: 0 24px 50px rgba(25, 85, 125, .18); } }
.nz-inner .nz-glass--row.nz-linked { transition: transform .35s var(--nz-ease), box-shadow .35s var(--nz-ease); position: relative; }
.nz-inner .nz-frame.nz-linked { position: relative; }

/* --- Obrub / okvir sekcije "NAŠE USLUGE" sa žutom linijom --- */
.nz-inner .nz-boxed {
  background: var(--nz-glass) !important; border: var(--nz-border) !important; border-radius: 26px !important;
  box-shadow: var(--nz-shadow-soft); padding: 30px 38px !important;
}

/* --- Forme --- */
.nz-inner .nz-formcard, .nz-inner .nz-formcard > .elementor-widget-container {
  background: var(--nz-glass) !important; border: var(--nz-border) !important; border-radius: 28px !important; box-shadow: var(--nz-shadow-soft);
}
.nz-inner .nz-formcard { padding: 34px 38px !important; }
.nz-inner .elementor-form .elementor-field-label { color: var(--nz-ink) !important; font-weight: 600; margin-bottom: 7px; font-family: var(--nz-font-display); }
.nz-inner .elementor-form .elementor-mark-required .elementor-field-label::after { color: var(--nz-teal) !important; }
.nz-inner .elementor-form .elementor-field-textual {
  border-radius: 14px !important; border: 1px solid rgba(95, 123, 185, .28) !important; background: rgba(255, 255, 255, .78) !important;
  padding: 13px 16px !important; color: var(--nz-ink) !important; font-family: inherit;
  transition: border-color .25s var(--nz-ease), box-shadow .25s var(--nz-ease), background-color .25s var(--nz-ease);
}
.nz-inner .elementor-form .elementor-field-textual::placeholder { color: rgba(43, 74, 99, .5); }
.nz-inner .elementor-form .elementor-field-textual:focus { outline: none; background: #fff !important; border-color: var(--nz-teal) !important; box-shadow: 0 0 0 4px rgba(41, 185, 205, .20); }
.nz-inner .elementor-form .elementor-field-group { margin-bottom: 8px; }
.nz-inner .elementor-form .elementor-field-type-submit { justify-content: flex-end; }
.nz-inner .elementor-message { border-radius: 14px; padding: 12px 16px !important; font-weight: 600; }
.nz-inner .elementor-message-success { background: rgba(75, 227, 139, .16); border: 1px solid rgba(40, 160, 90, .35); color: #136b3c !important; }
.nz-inner .elementor-message-danger { background: rgba(255, 90, 90, .12); border: 1px solid rgba(200, 60, 60, .32); color: #9a2323 !important; }
.nz-inner .grecaptcha-badge { border-radius: 14px; box-shadow: 0 6px 18px rgba(25, 85, 125, .16) !important; overflow: hidden; }   /* Google reCAPTCHA oznaka mora da ostane vidljiva */
.nz-inner .elementor-field-type-recaptcha_v3 { margin-top: 6px; }

/* Naručivanje: leva kolona kao poziv na akciju (tirkiz-plavi gradijent + svetla), desno forma u staklu */
.nz-split { align-items: stretch; }
.nz-splitpanel {
  position: relative; overflow: hidden; isolation: isolate;
  background: linear-gradient(135deg, #1fb5c8 0%, #3f8fc0 55%, #617ab7 100%) !important;
  padding: 60px 54px !important; justify-content: center;
}
.nz-splitpanel::before, .nz-splitpanel::after { content: ''; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; filter: blur(6px); background: radial-gradient(circle, rgba(255, 255, 255, .26), transparent 66%); }
.nz-splitpanel::before { width: 460px; height: 460px; left: -140px; bottom: -200px; animation: nz-drift-a 18s ease-in-out infinite alternate; }
.nz-splitpanel::after  { width: 420px; height: 420px; right: -120px; top: -180px; animation: nz-drift-b 21s ease-in-out infinite alternate; }
.nz-splitpanel :is(h1, h2, h3, h4, p, .elementor-heading-title) { color: #fff !important; text-shadow: 0 2px 22px rgba(10, 60, 110, .20); }
.nz-splitpanel h1, .nz-splitpanel h1.elementor-heading-title { font-weight: 500; letter-spacing: -.3px; }
.nz-splitpanel p { line-height: 1.7; }
.nz-split > .e-con:not(.nz-splitpanel) { justify-content: center; align-items: center; padding: 40px 30px; }

/* --- Kontakt: info kartica, redovi, mapa --- */
.nz-info, .nz-mapcard {
  background: var(--nz-glass) !important; border: var(--nz-border) !important; border-radius: 28px !important; box-shadow: var(--nz-shadow-soft);
}
.nz-info { padding: 26px 24px !important; gap: 6px; }
.nz-mapcard { padding: 12px !important; overflow: hidden; }
.nz-mapcard iframe { border-radius: 20px; display: block; }
.nz-crow { position: relative; display: flex; align-items: center; gap: 14px; padding: 10px 12px !important; border-radius: 18px; transition: background-color .3s var(--nz-ease), transform .3s var(--nz-ease); }
.nz-crow > .e-con-inner { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 14px !important; width: 100%; padding: 0 !important; }
.nz-crow .elementor-widget-icon { width: auto !important; flex: none; }
.nz-crow .elementor-widget-text-editor { flex: 1 1 0; min-width: 0; width: auto !important; }
.nz-crow .elementor-icon {
  width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #29b9cd, #5f7bb9) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(41, 120, 160, .26);
  transition: transform .3s var(--nz-ease);
}
.nz-crow .elementor-icon svg { width: 19px; height: 19px; fill: #fff !important; }
.nz-crow p { margin: 0; line-height: 1.55; }
.nz-crow strong { color: var(--nz-teal-dark); }
.nz-crow p.is-today { padding: 3px 12px; border-radius: 12px; background: rgba(41, 185, 205, .14); box-shadow: inset 0 0 0 1px rgba(41, 185, 205, .3); margin-left: -12px; }
.nz-info .nz-open { color: var(--nz-ink); background: rgba(41, 185, 205, .12); border-color: rgba(41, 185, 205, .35); margin: 4px 12px 8px; }
[data-elementor-type="wp-page"] .nz-flink { color: var(--nz-ink) !important; font-weight: 600; text-decoration: none !important; display: inline-flex; align-items: center; gap: 10px; }   /* samo u sadržaju strane, ne u podnožju */
.nz-crow--link { cursor: pointer; }
.nz-crow .nz-card-link { border-radius: 18px; }
.nz-crow:has(.nz-card-link:focus-visible), .nz-crow:has(.nz-flink:focus-visible) { box-shadow: 0 0 0 3px rgba(41, 185, 205, .65); }
@media (hover: hover) {
  .nz-crow--link:hover { background: rgba(41, 185, 205, .10); transform: translateX(4px); }
  .nz-crow--link:hover .elementor-icon { transform: scale(1.08); }
  .nz-crow--link:hover .nz-copy__icon { opacity: 1; transform: scale(1.12); }
}
.nz-chatrow { display: flex; gap: 14px; align-items: center; }
.nz-chat-ic.elementor-icon { width: 52px !important; height: 52px !important; border-radius: 50% !important; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .8); box-shadow: 0 12px 26px rgba(20, 70, 110, .24), inset 0 1px 0 rgba(255, 255, 255, .55); transition: transform .3s var(--nz-ease), box-shadow .3s var(--nz-ease); }
.nz-chat-ic--wa.elementor-icon { background: linear-gradient(135deg, #3ee08a, #12a56a) !important; }
.nz-chat-ic--vb.elementor-icon { background: linear-gradient(135deg, #8d7bf7, #5648be) !important; }
.nz-chat-ic svg { fill: #fff !important; width: 24px; height: 24px; }
@media (hover: hover) { .nz-chat-ic.elementor-icon:hover { transform: translateY(-4px) scale(1.07); box-shadow: 0 18px 34px rgba(20, 70, 110, .34); } }
.nz-chat-ic:focus-visible { outline: 3px solid rgba(41, 185, 205, .7); outline-offset: 3px; }

/* --- Pre / posle (slajder) --- */
.nz-ba .xpro-compare-wrapper, .nz-ba .xpro-compare-container { border-radius: 20px; overflow: hidden; }
.nz-ba { border-radius: 22px; box-shadow: 0 16px 36px rgba(25, 85, 125, .18); border: 3px solid rgba(255, 255, 255, .95); overflow: hidden; background: #fff; transition: transform .35s var(--nz-ease), box-shadow .35s var(--nz-ease); }
@media (hover: hover) { .nz-ba:hover { transform: translateY(-4px); box-shadow: 0 22px 44px rgba(25, 85, 125, .26); } }

/* --- Pitanja (accordion) --- */
.nz-inner .e-n-accordion { gap: 14px; }
.nz-inner .e-n-accordion-item {
  background: var(--nz-glass) !important; border: var(--nz-border) !important; border-radius: 22px !important; overflow: hidden; box-shadow: var(--nz-shadow-soft);
  transition: box-shadow .3s var(--nz-ease), border-color .3s var(--nz-ease);
}
.nz-inner .e-n-accordion-item[open] { border-color: rgba(41, 185, 205, .55) !important; box-shadow: 0 18px 40px rgba(25, 85, 125, .16); }
.nz-inner .e-n-accordion-item-title { padding: 18px 24px !important; background: transparent !important; cursor: pointer; }
.nz-inner .e-n-accordion-item-title-text { color: var(--nz-ink) !important; font-weight: 600; font-family: var(--nz-font-display); }
.nz-inner .e-n-accordion-item[open] .e-n-accordion-item-title-text { color: var(--nz-teal-dark) !important; }
.nz-inner .e-n-accordion-item-title-icon svg { fill: var(--nz-teal-dark) !important; }
.nz-inner .e-n-accordion-item > .e-con { background: transparent !important; }
.nz-inner .e-n-accordion-item .elementor-widget-text-editor { padding: 0 8px 16px; }

/* --- Pogledajte i druge usluge --- */
.nz-related { padding: 40px 20px 20px; }
.nz-related__in { max-width: 1140px; margin: 0 auto; text-align: center; }
.nz-related h3 { font-family: var(--nz-font-display); color: var(--nz-ink); font-size: 26px; font-weight: 600; margin: 0 0 22px; }
.nz-related__list { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.nz-chip {
  display: inline-flex; align-items: center; padding: 12px 22px; border-radius: 999px; text-decoration: none !important;
  font: 600 15px/1 var(--nz-font-display); color: var(--nz-ink) !important;
  background: var(--nz-glass); border: var(--nz-border); box-shadow: 0 8px 20px rgba(25, 85, 125, .12);
  transition: transform .3s var(--nz-ease), box-shadow .3s var(--nz-ease), background .3s var(--nz-ease), color .3s var(--nz-ease);
}
.nz-chip--all { background: linear-gradient(135deg, #29b9cd, #5f7bb9); color: #fff !important; border-color: transparent; }
@media (hover: hover) {
  .nz-chip:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(25, 85, 125, .22); color: var(--nz-teal-dark) !important; }
  .nz-chip--all:hover { color: #fff !important; }
}
.nz-chip:focus-visible { outline: 3px solid rgba(41, 185, 205, .65); outline-offset: 3px; }

/* --- mobilni --- */
@media (max-width: 1024px) {
  .nz-inner .nz-glass { padding: 30px 28px !important; }
  .nz-inner .nz-hero-card { padding: 32px 28px !important; }
  .nz-splitpanel { padding: 44px 30px !important; }
}
@media (max-width: 767px) {
  .nz-inner .nz-glass { padding: 24px 20px !important; }
  .nz-inner .nz-hero-card { padding: 26px 20px !important; }
  .nz-splitpanel { padding: 36px 22px !important; }
  .nz-inner .nz-formcard { padding: 24px 20px !important; }
  .nz-crow { padding: 8px !important; }
  .nz-related h3 { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .nz-inner.nz-js .nz-hero-card:not(.nz-in), .nz-inner.nz-js .nz-hero-card:not(.nz-in) .nz-hero-item { opacity: 1; transform: none; }
  .nz-splitpanel::before, .nz-splitpanel::after { animation: none; }
  .nz-inner .nz-hero-item--title :is(h1, h2, h3, h4)::after { width: 68px; transition: none; }
}

/* Naslovi sekcija (tekst-editor i heading vidžeti): Elementor boje/težine se prepisuju */
.nz-inner .nz-h--title :is(h1, h2, h3, h4), .nz-inner .nz-h--title .elementor-heading-title { color: var(--nz-ink) !important; font-weight: 700 !important; font-family: inherit; }
.nz-inner .nz-h--title :is(span, strong)[style*="color"] { background: linear-gradient(90deg, var(--nz-teal), var(--nz-blue)); -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent; }
.nz-inner .nz-h--title p { font-weight: 700; }

/* Hero tekst: poslednji pasus nije potpis (to važi samo na naslovnoj) */
.nz-inner .nz-hero-item--text p:last-child { color: var(--nz-text); font-weight: 400; letter-spacing: 0; }
.nz-inner .nz-hero-item--text p:last-child::before { content: none; }

/* Tekst preko slike u hero sekciji (npr. Dentalni turizam): čitljivost */
.nz-top-hero :is(h1, h2, h3, p) { text-shadow: 0 2px 20px rgba(8, 50, 90, .45); }
.nz-boxed :is(h2, h3) { margin-top: 0; }
.nz-boxed :is(h1, h2, h3, h4) { color: var(--nz-ink) !important; }
