/* ===== Podnožje: tamno plavo-zelena podloga sa lebdećim svetlima + tri staklene kartice; interaktivan kontakt i mreže ===== */

.nz-footer {
  position: relative; isolation: isolate; overflow: hidden;
  background: linear-gradient(160deg, #0b3555 0%, #0f5476 48%, #1a8aa3 100%) !important;
  padding-block: 72px !important; border-top: 0 !important;   /* originalna debela ljubičasta traka */
}
.nz-footer::before, .nz-footer::after {
  content: ''; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; filter: blur(6px);
}
.nz-footer::before { width: 520px; height: 520px; left: -160px; top: -200px; background: radial-gradient(circle, rgba(41, 185, 205, .34), transparent 66%); animation: nz-drift-a 20s ease-in-out infinite alternate; }
.nz-footer::after  { width: 480px; height: 480px; right: -140px; bottom: -220px; background: radial-gradient(circle, rgba(120, 140, 220, .30), transparent 66%); animation: nz-drift-b 24s ease-in-out infinite alternate; }
.nz-footer > .e-con-inner { align-items: stretch !important; gap: 24px !important; padding-block: 0 !important; }

/* --- Ulazak kartica pri skrolu --- */
.nz-js .nz-fcard:not(.nz-in) { opacity: 0; transform: translate3d(0, 24px, 0); }
.nz-js .nz-fcard { transition: opacity .8s var(--nz-ease), transform .8s var(--nz-ease); }
.nz-js .nz-fcard:nth-child(2) { transition-delay: .1s; }
.nz-js .nz-fcard:nth-child(3) { transition-delay: .2s; }

/* --- Staklena kartica --- */
.nz-fcard {
  background: linear-gradient(135deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .05)) !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
  border-radius: 28px !important; padding: 32px 26px !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3);
  box-shadow: 0 24px 54px rgba(4, 25, 45, .30);
  gap: 14px;
}
.nz-footer, .nz-footer p, .nz-footer span, .nz-footer h4 { color: #fff; }
.nz-footer p { margin: 0; line-height: 1.6; }
.nz-footer strong { color: #8ff0f8; font-weight: 700; }
.nz-footer h4, .nz-footer h4 span { font-family: var(--nz-font-display); font-size: 26px; font-weight: 500; letter-spacing: -.2px; }
.nz-footer h4 { position: relative; padding-bottom: 14px; margin: 0 0 6px; }
.nz-footer h4::after { content: ''; position: absolute; left: 0; bottom: 0; width: 52px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, #29b9cd, #8fa6ff); }

/* --- Brend kolona --- */
.nz-footer .elementor-widget-image img { border-radius: 50% !important; box-shadow: 0 0 0 5px rgba(255, 255, 255, .25), 0 14px 30px rgba(4, 25, 45, .35); }
.nz-footer .nz-fbrand-name p { font-family: var(--nz-font-display); font-weight: 500; font-size: 19px; line-height: 1.35; }
.nz-footer .nz-fbrand-follow p { font-size: 13px; font-weight: 600; letter-spacing: 2.4px; text-transform: uppercase; color: #8ff0f8; }

/* --- Društvene mreže: staklena dugmad sa pravim linkovima --- */
.nz-footer .elementor-social-icons-wrapper { gap: 14px; }
.nz-social.elementor-social-icon {
  width: 52px; height: 52px; border-radius: 50% !important; display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .08)) !important;
  border: 1px solid rgba(255, 255, 255, .45); color: #fff;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: transform .3s var(--nz-ease), box-shadow .3s var(--nz-ease), background .3s var(--nz-ease), border-color .3s var(--nz-ease);
}
.nz-social svg { width: 22px; height: 22px; fill: #fff; transition: transform .3s var(--nz-ease); }
.nz-social:focus-visible { outline: 3px solid rgba(255, 255, 255, .85); outline-offset: 3px; }
@media (hover: hover) {
  .nz-social:hover { transform: translateY(-4px) scale(1.06); border-color: transparent; box-shadow: 0 16px 30px rgba(4, 25, 45, .4); }
  .nz-social--facebook:hover { background: linear-gradient(135deg, #3b8bff, #1565d8) !important; }
  .nz-social--instagram:hover { background: linear-gradient(45deg, #fcb045 0%, #fd1d1d 45%, #833ab4 100%) !important; }
  .nz-social:hover svg { transform: scale(1.12); }
}

/* --- Redovi kontakta: ikonica u staklenom krugu + tekst; ceo red je klikabilan --- */
.nz-frow { position: relative; align-items: center !important; flex-direction: row !important; gap: 14px !important; padding: 8px 10px !important; border-radius: 18px; transition: background-color .3s var(--nz-ease), transform .3s var(--nz-ease); }
.nz-frow > .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-frow .elementor-widget-icon { width: auto !important; flex: none; }
.nz-frow .elementor-widget-text-editor { flex: 1 1 0; min-width: 0; width: auto !important; }
.nz-frow .elementor-icon {
  width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(255, 255, 255, .24), rgba(255, 255, 255, .08)); border: 1px solid rgba(255, 255, 255, .38);
  transition: transform .3s var(--nz-ease), background .3s var(--nz-ease);
}
.nz-frow .elementor-icon svg { width: 19px; height: 19px; fill: #fff; }
.nz-footer .nz-flink, .nz-footer .nz-flink * { color: #fff !important; }
.nz-flink { color: #fff !important; font-weight: 600; text-decoration: none !important; display: inline-flex; align-items: center; gap: 10px; }
.nz-frow--email .nz-flink { display: inline; line-height: 1.5; }
.nz-flink::after { content: ''; position: absolute; inset: 0; border-radius: 18px; }          /* cela vrsta je klikabilna */
.nz-flink:focus-visible { outline: none; }
.nz-frow:has(.nz-flink:focus-visible) { box-shadow: 0 0 0 3px rgba(255, 255, 255, .8); }
.nz-copy__icon {                                                                               /* znak "kopiraj" */
  width: 18px; height: 18px; flex: none; background: currentColor; opacity: .75; position: relative; z-index: 1;
  -webkit-mask: var(--nz-ico-copy) center / contain no-repeat; mask: var(--nz-ico-copy) center / contain no-repeat;
  --nz-ico-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='11' height='11' rx='2.5'/%3E%3Cpath d='M5 15V6a2 2 0 0 1 2-2h8'/%3E%3C/svg%3E");
  transition: transform .3s var(--nz-ease), opacity .3s var(--nz-ease);
}
.nz-copy.is-copied .nz-copy__icon {
  --nz-ico-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  color: #7dffb2; opacity: 1; transform: scale(1.15);
}
@media (hover: hover) {
  .nz-frow--phone:hover, .nz-frow--email:hover, .nz-frow--address:hover { background: rgba(255, 255, 255, .10); transform: translateX(4px); }
  .nz-frow--phone:hover .elementor-icon, .nz-frow--email:hover .elementor-icon, .nz-frow--address:hover .elementor-icon { transform: scale(1.08); background: linear-gradient(135deg, #29b9cd, #5f7bb9); border-color: transparent; }
  .nz-frow--phone:hover .nz-copy__icon { opacity: 1; transform: scale(1.12); }
}

/* --- Radno vreme --- */
.nz-open { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px; font-size: 14px; font-weight: 600; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .34); }
.nz-open { gap: 11px; border-radius: 22px; line-height: 1.3; }
/* Zubić (maska od SVG oblika): belo-plavkast sa "shine" prelivom i blagim sjajem koji pulsira; kad je zatvoreno, prigušen i bez sjaja */
.nz-tooth {
  --nz-tooth: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6C10.5 4.2 8.2 3.6 6.4 4.4 4.4 5.3 3.8 7.6 4.2 9.8c.3 1.8.9 2.8 1.3 4.6.4 2 .6 5.8 2.2 6 1.5.2 1.7-3.4 2.3-4.8.4-.9 1-1.2 2-1.2s1.6.3 2 1.2c.6 1.4.8 5 2.3 4.8 1.6-.2 1.8-4 2.2-6 .4-1.8 1-2.8 1.3-4.6.4-2.2-.2-4.5-2.2-5.4C15.8 3.6 13.5 4.2 12 6z'/%3E%3C/svg%3E");
  position: relative; width: 24px; height: 24px; flex: none; display: block;
  background: linear-gradient(115deg, #cfeeff 0%, #ffffff 30%, #bfe6ff 48%, #ffffff 62%, #d6f0ff 100%) 0 0 / 280% 100%;
  -webkit-mask: var(--nz-tooth) center / contain no-repeat; mask: var(--nz-tooth) center / contain no-repeat;
  filter: drop-shadow(0 0 4px rgba(170, 226, 255, .85)) drop-shadow(0 0 9px rgba(120, 200, 255, .55));
  animation: nz-tooth-shine 3.6s ease-in-out infinite, nz-tooth-glow 2.6s ease-in-out infinite;
}
@keyframes nz-tooth-shine { 0% { background-position: 100% 0; } 55%, 100% { background-position: 0 0; } }
@keyframes nz-tooth-glow {
  0%, 100% { filter: drop-shadow(0 0 3px rgba(170, 226, 255, .65)) drop-shadow(0 0 6px rgba(120, 200, 255, .35)); transform: scale(1); }
  50%      { filter: drop-shadow(0 0 6px rgba(190, 236, 255, 1)) drop-shadow(0 0 14px rgba(120, 200, 255, .8)); transform: scale(1.07); }
}
.nz-open:not(.is-open) .nz-tooth { animation: none; filter: none; opacity: .5; background: rgba(255, 255, 255, .85); }
.nz-frow--hours .elementor-widget-text-editor { flex: 1; }
.nz-frow--hours p { padding: 5px 12px; border-radius: 12px; }
.nz-frow--hours p.is-today { background: rgba(255, 255, 255, .16); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }
.nz-frow--hours p.is-today::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #8ff0f8; vertical-align: middle; }

/* --- Obaveštenje (kopiran broj) --- */
.nz-toast {
  position: fixed; left: 50%; bottom: 28px; z-index: 100000; max-width: calc(100vw - 32px);
  padding: 14px 24px; border-radius: 999px; font: 600 15px/1.3 var(--nz-font-display); color: #fff; text-align: center;
  background: linear-gradient(135deg, rgba(11, 53, 85, .88), rgba(26, 138, 163, .88)); border: 1px solid rgba(255, 255, 255, .35);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 18px 40px rgba(4, 25, 45, .35);
  opacity: 0; transform: translate(-50%, 18px); pointer-events: none; transition: opacity .35s var(--nz-ease), transform .35s var(--nz-ease);
}
.nz-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1024px) { .nz-footer > .e-con-inner { flex-wrap: wrap; } .nz-fcard { flex: 1 1 100% !important; width: 100% !important; } }
@media (max-width: 767px) { .nz-footer { padding-block: 44px !important; } .nz-fcard { padding: 26px 20px !important; } .nz-toast { bottom: 18px; } }

@media (prefers-reduced-motion: reduce) {
  .nz-js .nz-fcard:not(.nz-in) { opacity: 1; transform: none; }
  .nz-js .nz-fcard { transition: none; }
  .nz-footer::before, .nz-footer::after, .nz-tooth { animation: none; }
  .nz-toast { transition: none; }
}
