/* ===== Prozor "Pošaljite nam poruku" (modal.js): staklena kartica u istom stilu kao forme na sajtu ===== */
html.nz-modal-open { overflow: hidden; }
.nz-modal {
  border: 0; padding: 0; margin: auto; background: transparent; color: var(--nz-ink);
  width: min(560px, calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px); overflow: visible;
}
.nz-modal::backdrop { background: rgba(10, 42, 72, .46); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }
.nz-modal__panel {
  position: relative; max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box;
  padding: 36px 38px 28px; border-radius: 28px; background: var(--nz-glass); border: var(--nz-border); box-shadow: 0 34px 80px rgba(10, 42, 72, .32);
  font-family: var(--nz-font-display);
}
.nz-modal[open] .nz-modal__panel { animation: nz-modal-in .45s var(--nz-ease) both; }
@keyframes nz-modal-in { from { opacity: 0; transform: translate3d(0, 18px, 0) scale(.985); } to { opacity: 1; transform: none; } }

.nz-modal__close {
  position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; display: grid; place-items: center; padding: 0; cursor: pointer; border-radius: 50%;
  -webkit-appearance: none; appearance: none; color: var(--nz-ink) !important; background: rgba(255, 255, 255, .7) !important; border: 1px solid rgba(95, 123, 185, .25) !important;
  transition: transform .3s var(--nz-ease), background-color .3s var(--nz-ease);
}
.nz-modal__close svg { stroke: var(--nz-ink); fill: none; }
.nz-modal__close:hover { transform: rotate(90deg); background: #fff !important; }
.nz-modal__title { margin: 0 44px 8px 0; font-size: 28px; line-height: 1.15; font-weight: 700; letter-spacing: -.3px; color: var(--nz-ink) !important; }
.nz-modal__title::after { content: ''; display: block; width: 56px; height: 4px; margin-top: 14px; border-radius: 4px; background: linear-gradient(90deg, var(--nz-teal), var(--nz-blue)); }
.nz-modal__lead { margin: 14px 0 22px; color: var(--nz-text); line-height: 1.6; font-size: 16px; }

.nz-modal__field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; min-width: 0; }
.nz-modal__field label { font-weight: 600; font-size: 14px; color: var(--nz-ink); }
.nz-modal__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.nz-modal input[type="text"], .nz-modal input[type="email"], .nz-modal input[type="tel"], .nz-modal textarea {
  width: 100%; box-sizing: border-box; padding: 12px 15px; font: inherit; font-size: 16px; color: var(--nz-ink);
  border-radius: 14px; border: 1px solid rgba(95, 123, 185, .30); background: rgba(255, 255, 255, .82); resize: vertical;
  transition: border-color .25s var(--nz-ease), box-shadow .25s var(--nz-ease), background-color .25s var(--nz-ease);
}
.nz-modal textarea { min-height: 110px; line-height: 1.5; }
.nz-modal input:focus, .nz-modal textarea:focus { outline: none; background: #fff; border-color: var(--nz-teal); box-shadow: 0 0 0 4px rgba(41, 185, 205, .20); }
.nz-modal .is-invalid { border-color: #d65151 !important; box-shadow: 0 0 0 3px rgba(214, 81, 81, .15); }
.nz-modal__hint { margin: -6px 0 14px; font-size: 13px; color: rgba(43, 74, 99, .75); }
.nz-modal__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nz-modal__status { min-height: 22px; margin: 8px 0 0; font-size: 14px; font-weight: 600; }
.nz-modal__status.is-err { color: #9a2323; background: rgba(255, 90, 90, .12); border: 1px solid rgba(200, 60, 60, .32); border-radius: 12px; padding: 10px 14px; }
.nz-modal__actions { display: flex; justify-content: flex-end; margin-top: 12px; }
.nz-modal__send {
  display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 30px; cursor: pointer; border: 0 !important; border-radius: 999px !important;
  font: 600 16px/1 var(--nz-font-display); letter-spacing: .2px; color: #14283a !important;
  background: linear-gradient(135deg, #ffd04d 0%, #ffb300 100%) !important;
  box-shadow: 0 12px 26px rgba(255, 170, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .6);
  transition: transform .3s var(--nz-ease), box-shadow .3s var(--nz-ease), opacity .2s;
}
.nz-modal__send:hover { transform: translateY(-2px); box-shadow: 0 18px 34px rgba(255, 170, 0, .46), inset 0 1px 0 rgba(255, 255, 255, .6); }
.nz-modal__send:focus-visible, .nz-modal__close:focus-visible { outline: 3px solid rgba(41, 185, 205, .6); outline-offset: 3px; }
.nz-modal__send:disabled { opacity: .65; cursor: progress; transform: none; }

.nz-modal__ok { text-align: center; padding: 16px 0 6px; }
.nz-modal__ok .nz-modal__title { margin: 18px 0 0; }
.nz-modal__ok .nz-modal__title::after { margin: 14px auto 0; }
.nz-modal__ok .nz-modal__lead { margin-bottom: 26px; }
.nz-modal__okicon { width: 68px; height: 68px; margin: 0 auto; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, #2bc0d2, #3bb98a); box-shadow: 0 14px 30px rgba(41, 150, 190, .3); }

@media (max-width: 560px) {
  .nz-modal__panel { padding: 28px 20px 22px; border-radius: 24px; }
  .nz-modal__title { font-size: 24px; }
  .nz-modal__grid { grid-template-columns: 1fr; }
  .nz-modal__actions .nz-modal__send { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .nz-modal[open] .nz-modal__panel { animation: none; } .nz-modal__close:hover { transform: none; } .nz-modal__send { transition: none; } }

/* Forma na Kontaktu (Elementor) šalje se istim putem kao prozor, bez reCAPTCHA: polje sa oznakom se skriva samo kad je modal.js preuzeo formu
   (bez JS-a ili ako se struktura forme promeni, ostaje običan Elementor sa reCAPTCHA). */
.nz-direct-form .elementor-field-type-recaptcha_v3 { display: none !important; }
.nz-direct-form .elementor-message { margin-top: 12px; width: 100%; }
