/* Dodaci uz site.css (izgrađen iz originalnog dizajna) — animacije i polja obrasca. */

[hidden] { display: none !important; }

/* podizanje kartica pri prelasku mišem (whileHover y) */
.lift-6, .lift-8 { transition: transform .45s cubic-bezier(.34, 1.4, .64, 1), border-color .2s, background-color .2s, box-shadow .2s; }
.lift-6:hover { transform: translateY(-6px); }
.lift-8:hover { transform: translateY(-8px); }
a:hover > .lift-8 { transform: translateY(-8px); }

/* sjaj ruba na KPI karticama */
.kpi-sheen {
  background: linear-gradient(135deg, oklch(0.7 0.13 220 / 0.5), transparent 40%);
  padding: 1px;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}

/* pulsirajući prsten oko brojeva procesa */
@keyframes ring-pulse { from { transform: scale(1); opacity: .6; } to { transform: scale(1.6); opacity: 0; } }
.ring-pulse { animation: ring-pulse 2.4s ease-out infinite; }

/* indikator za skrolanje */
@keyframes bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
.bob { animation: bob 1.6s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  .ring-pulse, .bob, .animate-marquee, .animate-pulse-glow { animation: none !important; }
}

/* padajuća polja: pravi <select> ostaje za slanje, prikazuje se prilagođeni */
html.js .ui-native-select { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; overflow: hidden; clip: rect(0 0 0 0); }
html:not(.js) .ui-select-trigger { display: none; }
.ui-native-select { appearance: auto; background-color: var(--background); color: var(--foreground); }
.ui-select-trigger > span { overflow: hidden; text-overflow: ellipsis; }
.ui-select-menu { animation: ui-pop .12s ease-out; }
@keyframes ui-pop { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }
.ui-select-item:focus { background-color: var(--accent); color: var(--accent-foreground); }
.ui-select-check { visibility: hidden; }
.ui-select-item[aria-selected="true"] .ui-select-check { visibility: visible; }

/* Otvoreni izbornik mora biti iznad kartice koja slijedi u obrascu. */
form > section:has(.ui-select-trigger[aria-expanded="true"]) { position: relative; z-index: 60; }

/* potvrdni okvir (Checkbox) */
.ui-checkbox {
  appearance: none; -webkit-appearance: none; flex-shrink: 0;
  width: 1rem; height: 1rem; border-radius: 4px;
  border: 1px solid var(--primary); box-shadow: 0 1px 2px rgb(0 0 0 / .05);
  display: inline-grid; place-content: center; cursor: pointer; background: transparent;
}
.ui-checkbox:checked { background: var(--primary); }
.ui-checkbox:checked::after {
  content: ""; width: .55rem; height: .3rem; margin-top: -2px;
  border-left: 2px solid var(--primary-foreground); border-bottom: 2px solid var(--primary-foreground);
  transform: rotate(-45deg);
}
.ui-checkbox:focus-visible { outline: none; box-shadow: 0 0 0 1px var(--ring); }


/* Skriveni uvjetni blok na kraju ne smije ostaviti razmak (kao u originalu, gdje se ne renderira). */
[class*="space-y-"] > :has(+ [hidden]:last-child),
[class*="space-y-"] > :has(+ template:last-child) { margin-block-end: 0; }
