@font-face {
  font-family: 'decayance';
  src: url('fonts/Decaydence Straight.otf') format('truetype');
}

@font-face {
  font-family: 'akira';
  src: url('fonts/Akira Expanded Demo.otf') format('truetype');
}
@font-face {
  font-family: 'podnaslov';
  src: url('fonts/ArchivoBlack-Regular.ttf') format('truetype');
}

#preloader {
  position: fixed;
  inset: 0;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 1s ease;
}

.fade-out {
  opacity: 0;
  transition: opacity 1s ease;
}

.preloader-logo {
  width: 300px;
  height: auto;
  animation: scaleFade 1.5s ease-in-out forwards;
}

@keyframes scaleFade {
  0% { transform: scale(0.8); opacity: 0; }
  50% { transform: scale(1); opacity: 1; }
  100% { transform: scale(1.05); opacity: 0.9; }
}



html {
  scroll-behavior: smooth;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', sans-serif;
  background: var(--color-light); 
  overflow-x: hidden;
}

.navbar {
  width: 100%;
  top: 0;
  left: 0;
  background-color:var(--color-light);
  backdrop-filter: blur(10px);
  z-index: 999;
  color: #454545;
  font-family: 'akira', sans-serif;
  padding: 10px 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  animation: slideFadeIn 0.6s ease-in-out forwards;
  opacity: 0;
}

@keyframes slideFadeIn {
  from {
    transform: translateY(-30px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(8px);
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 900;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.overlay.show {
  opacity: 1;
  pointer-events: auto;
}

.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 20px;
  height: 80px;
}

.logo img {
  height: 130px;
}

@media (max-width: 768px) {
  .logo img {
    height: 140px;
  }
}
/* ===== NAVBAR DARK ===== */
.navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 72px;
  display: flex;
  align-items: center;
  z-index: 1200;
  background: rgba(15,15,18,0.85); /* tamna staklena pozadina */
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  box-shadow: 0 4px 20px rgba(0,0,0,0.35);
}

.nav-container {
  max-width: 1300px;
  margin: 0 auto;
  width: 100%;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* LOGO */
.logo img {
  height: 152px;
  width: auto;
  display: block;
}

/* ===== LINKOVI ===== */
.nav-links {
  display: flex;
  gap: 26px;
}

.nav-links a {
  color: #e8e8ef; /* svijetli tekst */
  position: relative;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  transition: color 0.3s ease;
}

.nav-links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0%;
  height: 2px;
  background: linear-gradient(90deg,#9f70ff,#7ad7ff);
  transition: width 0.4s ease;
  border-radius: 2px;
}

.nav-links a:hover {
  color: #a579ff;
}

.nav-links a:hover::after {
  width: 100%;
}

/* ===== HAMBURGER ===== */
.hamburger  {
  display: none;
}

@media (max-width: 768px) {
  .hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 48px;
    height: 48px;
    cursor: pointer;
    z-index: 1300;
    background: transparent;
  }

  .hamburger span {
    width: 28px;
    height: 3px;
    background: #f2f2f2;
    border-radius: 2px;
    transition: all 0.3s ease;
    box-shadow: 0 0 4px rgba(159,112,255,0.5);
  }

  .hamburger:hover span {
    background: #a579ff;
  }

  .nav-links {
    display: none;
  }
}

/* ===== MOBILE MENU DARK ===== */
.mobile-menu {
  display: none;
  flex-direction: column;
  background: rgba(20,20,25,.96);
  backdrop-filter: blur(10px);
  position: absolute;
  top: 72px;
  left: 16px;
  right: 16px;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.55);
  transition: all 0.4s ease-in-out;
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  font-size: 15px;
  font-family: 'Segoe UI', sans-serif;
  z-index: 1250;
}

.mobile-menu a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 500;
  padding: 12px;
  border-radius: 8px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.mobile-menu a:hover {
  background-color: rgba(159,112,255,.15);
  color: #a579ff;
}

.mobile-menu.show {
  display: flex;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== OVERLAY ===== */
.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(2px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 1100;
}
.overlay.show {
  opacity: 1;
  pointer-events: auto;
}
/* prikazuj hamburger ispod 900px, sakrij linkove */
@media (max-width: 900px){
  .nav-links{ display:none; }
  .hamburger{
    display:flex !important;
    position: relative;
    z-index: 1301;                /* iznad svega u headeru */
  }
  .hamburger span{
    background:#fff;              /* BIJELE crte */
  }
}
:root{ --nav-h:72px; }                /* jedna istina o visini nav-a */

/* NAVBAR */
.navbar{
  position: fixed;
  top:0; left:0; right:0;
  height: var(--nav-h);
  display:flex; align-items:center;
  z-index:1200;
  background: rgba(15,15,18,.85);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.05);
  box-shadow: 0 4px 20px rgba(0,0,0,.35);
}

/* oslobodi prostor ispod fixed nav-a */
body{ padding-top: var(--nav-h); }

/* MOBILNI MENI – PIN TO VIEWPORT, ne na dokument */
.mobile-menu{
  position: fixed;                   /* <— ovo rješava problem */
  top: var(--nav-h);
  left: max(16px, env(safe-area-inset-left));
  right: max(16px, env(safe-area-inset-right));
  z-index: 1250;
  display: none;
  flex-direction: column;
  background: rgba(20,20,25,.96);
  backdrop-filter: blur(10px);
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 20px 40px rgba(0,0,0,.55);
  transition: opacity .4s ease, transform .4s ease;
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}
.mobile-menu.show{
  display:flex;
  opacity:1;
  transform: translateY(0);
  pointer-events:auto;
}

/* HAMBURGER iznad svega, bijele crte */
@media (max-width:900px){
  .nav-links{ display:none; }
  .hamburger{
    display:flex !important;
    position: relative;
    z-index:1301;
  }
  .hamburger span{
    width:28px; height:3px;
    background:#fff;
    border-radius:2px;
    transition:all .3s ease;
    box-shadow:0 0 4px rgba(159,112,255,.5);
  }
}

/* OVERLAY ispod menija, iznad sadržaja */
.overlay{
  position:fixed; inset:0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(2px);
  opacity:0; pointer-events:none; z-index:1100;
  transition: opacity .3s ease;
}
.overlay.show{ opacity:1; pointer-events:auto; }




:root {
  --color-primary: #6e49ff;       /* Glavna ljubičasta nijansa */
  --color-primary-light: #9f70ff; /* Svjetlija ljubičasta za prijelaze, obrube */
  --color-accent: #a579ff;        /* Naglašena nijansa (npr. za tekstove) */
  --color-background: #0f0f0f;    /* Tamna pozadina */
  --color-light: #f0f0f0;         /* Svjetliji tekst na tamnoj pozadini */
  --color-dark: #1e1e1e;          /* Dodatna tamna (sekundarna pozadina) */
  --color-text: #000000;             /* Glavni tekst (na tamnoj) */
  --color-heading: #ffffff;       /* Naslovi */
  --color-border: #9f70ff;        /* Rubovi, sekundarni akcentski elementi */

  --font-main: 'Poppins', sans-serif;
  --radius: 10px;
  --shadow: 0 4px 12px rgba(165, 121, 255, 0.15); /* Ljubičasta sjena */
}
:root{
  --kb-bg:#0b0b0c;
  --kb-card:#131316;
  --kb-text:#e8e8ef;
  --kb-muted:#b7b7c7;
  --kb-accent:#9f70ff;
  --kb-accent-2:#7ad7ff;
  --kb-ring:rgba(159,112,255,.35);
  --kb-shadow:0 10px 30px rgba(0,0,0,.35);
}
/* ===== HERO (Kode Black) – full responsive pass ===== */

.hero-kb{
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 8vw, 128px) 20px;
  background: var(--kb-bg);
  color: var(--kb-text);
  isolation: isolate;
}

/* aurora + grid background */
.hero-kb-bg{
  position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(60% 90% at 110% -10%, rgba(159,112,255,.16), transparent 55%),
    radial-gradient(70% 100% at -10% 110%, rgba(122,215,255,.12), transparent 60%),
    conic-gradient(from 200deg at 70% 40%, rgba(159,112,255,.12), transparent 40% 70%, rgba(122,215,255,.10));
}
.hero-kb-bg::after{
  content:"";
  position:absolute; inset:0; opacity:.12;
  background-image:
    linear-gradient(transparent 95%, rgba(255,255,255,.3) 96%),
    linear-gradient(90deg, transparent 95%, rgba(255,255,255,.3) 96%);
  background-size: 36px 36px; /* suptilan grid */
  mask-image: radial-gradient(120% 120% at 50% 40%, #000 60%, transparent 100%);
}

/* layout */
.hero-kb-inner{
  position: relative; z-index:1;
  max-width: 1280px; /* malo šire na desktopu */
  margin: 0 auto;
  display: grid; gap: clamp(28px, 4vw, 44px);
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
}
@media (max-width: 1100px){
  .hero-kb-inner{ max-width: 1040px; }
}
@media (max-width: 900px){
  .hero-kb-inner{ grid-template-columns: 1fr; text-align: center; }
}

/* left */
.hero-badge{
  display:inline-block;
  font: 700 .72rem/1 system-ui;
  letter-spacing:.04em; text-transform:uppercase;
  color:#fff;
  padding:8px 12px; border-radius:999px;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 8px 20px rgba(110,73,255,.35);
}
@media (max-width:900px){ .hero-badge{ margin-inline:auto; } }

.hero-title{
  margin: 14px 0 4px;
  font: 900 clamp(2.2rem, 1.2rem + 4.6vw, 4.4rem)/1.05 system-ui, sans-serif;
  letter-spacing:.01em;
  position: relative; display: inline-block;
}
.hero-title span{
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  -webkit-background-clip: text; background-clip:text; color: transparent;
  text-shadow: 0 0 0 rgba(0,0,0,0); /* fix AA */
}
.hero-underline{
  position:absolute; left:0; right:0; bottom:-8px; height:6px; border-radius:999px;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  transform-origin:left; transform: scaleX(0);
  animation: underlineIn .9s .25s cubic-bezier(.2,.8,.2,1) forwards;
  box-shadow: 0 10px 24px rgba(110,73,255,.35);
}
@keyframes underlineIn{ to{ transform: scaleX(1);} }

.hero-sub{
  margin: 14px 0 6px;
  font: 700 clamp(1.1rem, .9rem + 1.4vw, 1.9rem)/1.2 system-ui;
  color:#e9e9f3;
}
.hero-desc{
  color: var(--kb-muted);
  font-size: clamp(.98rem, .92rem + .34vw, 1.12rem);
  margin: 6px 0 0;
  max-width: 64ch;
}
@media (max-width:900px){
  .hero-desc{ margin-inline:auto; }
}

.hero-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top: 20px; }
@media (max-width:900px){ .hero-cta{ justify-content:center; } }

.hero-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 18px; border-radius: 12px; font-weight: 800;
  text-decoration:none; transition: transform .12s, box-shadow .2s, filter .2s, border-color .2s;
}
.hero-btn.primary{
  color:#fff; border:0;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  box-shadow: 0 14px 30px rgba(110,73,255,.35);
}
.hero-btn.primary:hover{ transform: translateY(-2px); filter: brightness(1.04); box-shadow:0 18px 38px rgba(110,73,255,.42); }

.hero-btn.ghost{
  color:#e8e8ef; background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
}
.hero-btn.ghost:hover{ transform: translateY(-2px); border-color: var(--kb-ring); background: rgba(255,255,255,.1); }

/* chips */
.hero-points{
  display:flex; gap:10px; flex-wrap:wrap; margin:16px 0 0; padding:0; list-style:none;
}
.hero-points li{
  padding:8px 12px; border-radius:999px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  font-weight:700; font-size:.9rem; color:#ddd;
}

/* right (dotlottie – POVECANO) */
.hero-kb-right{
  display:flex; align-items:center; justify-content:center;
}
.hero-kb-right dotlottie-wc{
  max-width: clamp(420px, 36vw, 560px); /* veće na desktopu */
  width: 100%;
  height: auto;
}

/* scroll cue */
.scroll-cue{
  position:absolute; left:50%; bottom:18px; transform: translateX(-50%);
  width:20px; height:34px; border-radius:12px; border:2px solid rgba(255,255,255,.4);
  display:grid; place-items:center; text-decoration:none; opacity:.7;
}
.scroll-cue span{
  width:4px; height:6px; border-radius:999px; background:#fff; opacity:.9;
  animation: cue 1.4s ease-in-out infinite;
}
@keyframes cue{
  0%{ transform: translateY(-6px); opacity:.3; }
  40%{ opacity:1; }
  100%{ transform: translateY(6px); opacity:.2; }
}

/* ===== REFINEMENTS ===== */

/* tablet */
@media (max-width: 924px){
  .hero-kb{ padding: clamp(56px, 7vw, 96px) 16px; }
  .hero-title{ line-height: 1.05; }
  .hero-kb-right dotlottie-wc{ max-width: clamp(360px, 50vw, 460px); }
}

/* single column + fine spacing */
@media (max-width: 900px){
  .hero-kb-inner{ gap: clamp(22px, 5vw, 32px); }
  .hero-sub{ margin-top: 10px; }
  .hero-desc{ margin-top: 8px; max-width: 56ch; }
  .hero-kb-right{ order: -1; } /* animacija iznad naslova na mobu */
}

/* phablet & small phones */
@media (max-width: 680px){
  .hero-kb{
    padding: clamp(44px, 8vw, 68px) 14px;
    padding-left: calc(14px + env(safe-area-inset-left));
    padding-right: calc(14px + env(safe-area-inset-right));
  }

  .hero-title{
    font-size: clamp(1.9rem, 5.8vw, 2.5rem);
    margin-bottom: 6px;
  }
  .hero-underline{ bottom: -6px; height: 4px; }

  .hero-sub{ font-size: clamp(1rem, 3.6vw, 1.3rem); }
  .hero-desc{ font-size: clamp(.95rem, 3.2vw, 1.07rem); }

  .hero-cta{
    gap: 10px;
    margin-top: 16px;
  }
  .hero-btn{
    padding: 11px 16px;
    border-radius: 10px;
    font-weight: 800;
    min-height: 44px;
  }
  .hero-btn{ flex: 1 1 auto; }
  .hero-btn.primary, .hero-btn.ghost{ min-width: min(48%, 260px); }

  .hero-points{
    gap: 8px;
    justify-content: center;
  }
  .hero-points li{
    font-size: .88rem;
    padding: 7px 10px;
  }

  .hero-kb-right dotlottie-wc{
    width: clamp(260px, 74vw, 360px); /* POVECANO na mobu */
    height: auto !important;
  }
}

/* very small devices */
@media (max-width: 420px){
  .hero-badge{
    font-size: .68rem;
    padding: 7px 10px;
    box-shadow: 0 6px 16px rgba(110,73,255,.32);
  }
  .hero-title{ font-size: clamp(1.7rem, 7vw, 2.2rem); }
  .hero-cta{ flex-direction: column; }
  .hero-btn{ width: 100%; }
  .hero-kb-right dotlottie-wc{ width: clamp(220px, 68vw, 320px); }
}

/* landscape / short viewport (npr. S8+, SE landscape) */
@media (max-height: 620px){
  .scroll-cue{ display: none; }
  .hero-kb{ padding-top: 32px; padding-bottom: 24px; }
  .hero-kb-right dotlottie-wc{ max-width: min(48vw, 420px); }
}

/* ultra-wide ekrani – malo veći scale i veći max-width */
@media (min-width: 1600px){
  .hero-kb-inner{ max-width: 1400px; }
  .hero-title{ font-size: clamp(3rem, 2.6rem + 2.2vw, 5rem); }
  .hero-kb-right dotlottie-wc{ max-width: clamp(520px, 34vw, 680px); }
}

/* smanji intenzitet grida na mobitelu (čitljivost) */
@media (max-width: 680px){
  .hero-kb-bg::after{ opacity: .09; background-size: 30px 30px; }
}

/* prefers-reduced-motion: manje animacije */
@media (prefers-reduced-motion: reduce){
  .hero-underline{ animation: none; transform: none; }
  .scroll-cue span{ animation: none; }
}

/* iPhone SE fix (375px širina) */
@media (max-width: 380px){
  /* centriraj grid iteme u single column layoutu */
  .hero-kb-inner{
    grid-template-columns: 1fr;
    justify-items: center;     /* ključni fix */
    text-align: center;
    gap: 22px;
  }

  /* sigurni rubovi na iOS + malo manji padding */
  .hero-kb{
    padding-left: calc(12px + env(safe-area-inset-left));
    padding-right: calc(12px + env(safe-area-inset-right));
    padding-top: 44px;
    padding-bottom: 54px;
  }

  /* lottie potpuno centriran i malo veći */
  .hero-kb-right{ width: 100%; }
  .hero-kb-right dotlottie-wc{
    display:block;
    margin-inline:auto;
    max-width: min(92vw, 360px);
    width: 92vw;
    height: auto !important;
  }

  /* tipografija i širine sadržaja */
  .hero-title{ 
    margin-left:auto; margin-right:auto; 
    font-size: clamp(1.72rem, 6.4vw, 2.15rem);
  }
  .hero-sub{ font-size: clamp(1rem, 3.8vw, 1.25rem); }
  .hero-desc{
    max-width: 58ch;
    margin-left:auto; margin-right:auto;
    font-size: clamp(.96rem, 3.4vw, 1.05rem);
  }

  /* badge i čipovi */
  .hero-badge{ margin-inline:auto; }
  .hero-points{ justify-content:center; }

  /* CTA gumbi 100%/stack */
  .hero-cta{ 
    width:100%; 
    justify-content:center; 
    flex-direction: column;
    gap: 10px;
  }
  .hero-btn{ width:100%; min-height:46px; }

  /* malo tiši grid overlay da ne vuče oko u stranu */
  .hero-kb-bg::after{ opacity:.085; background-size: 28px 28px; }
}

/* dodatni Safari “sigurnjak”: ponekad inline elementi znaju povući u lijevo */
.hero-title, .hero-sub, .hero-desc { display: block; }
.hero-kb-right .hero-lottie{
  display:block;
  width: 100%;
  max-width: clamp(420px, 36vw, 560px);
  height: auto !important;      /* da ne “bricka” visinu */
  aspect-ratio: 1 / 1;          /* drži kvadratni omjer */
  margin-inline:auto;
}

/* mobiteli */
@media (max-width: 680px){
 .hero-lottie{
    max-width: none;
    width: 96vw;                /* skoro cijeli ekran */
    height: auto !important;
  }
}

/* jako mali uređaji */
@media (max-width: 420px){
 .hero-lottie{ width: 98vw; }
}





.video-row {
  display: flex;
;
  flex-wrap: wrap;
  justify-content: center;

}

.video-wrapper {
  width: 80%;
  max-width: 800px;
  border: 4px solid rgba(0, 0, 0, 0.2);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 10px;
}

.bg-video-small {
  width: 100%;
  height: auto;
  display: block;
}

.from-left,
.from-right {
  opacity: 0;
  animation: slideIn 1s ease-out forwards;
}

.from-left {
  transform: translateX(-100px);
  animation-delay: 0.3s;
}

.from-right {
  transform: translateX(100px);
  animation-delay: 0.5s;
}


/* ---------------- RADOVI GRID (desktop: 2 velike u redu) ---------------- */
/* Full width tamna pozadina */
.radovi-grid-section {
  width: 100%;
  background:
    radial-gradient(65% 100% at 100% -10%, rgba(159,112,255,.08), transparent 55%),
    radial-gradient(70% 100% at -10% 110%, rgba(122,215,255,.06), transparent 55%),
    #0b0b0e;  /* crna pozadina */
      display: flex;
  flex-direction: column;
  align-items: center;
}

/* Ovdje ostaje centrirani sadržaj */
.radovi-grid {
  max-width: 1500px;
  margin: 0 auto;
  padding: 60px 20px;
  text-align: center;
  color: #e8e8ea;
}


.radovi-grid .naslov {
  font-size: 2.6rem;
  font-weight: 700;
  margin-bottom: 16px;
  font-family: var(--font-main);
  background: linear-gradient(90deg, #9f70ff, #6ec8ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.radovi-grid .opis {
  max-width: 800px;
  margin: 0 auto 60px;
  font-size: 1.1rem;
  color: #b9b9c2;
}

/* GRID */
.grid-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  justify-items: center;
}

.grid-item {
  width: 100%;
  max-width: 700px;
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow .3s ease;
  background: #1a1a1f;
  border: 1px solid rgba(255,255,255,.05);
}

.grid-item:hover {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 14px 30px rgba(159,112,255,0.25);
}

.project-image-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.project-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease, opacity 0.6s ease;
  display: block;
  opacity: 0;
  transform: scale(1);
}

.project-image-wrapper img.loaded { opacity: 1; }

.grid-item:hover img {
  transform: scale(1.08);
  filter: brightness(0.85);
}

.project-title {
  position: absolute;
  inset: auto 0 0 0;
  padding: 16px;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  backdrop-filter: blur(6px);
  background: linear-gradient(0deg, rgba(15,15,18,0.8), transparent);
  opacity: 0;
  transform: translateY(100%);
  transition: opacity .4s ease, transform .4s ease;
}

.grid-item:hover .project-title {
  opacity: 1;
  transform: translateY(0);
}

/* Gumb – default skriven */
.show-more-button {
  display: none;
}

/* ---------------- Mobile (<=768px) ---------------- */
@media (max-width: 768px) {
  .grid-wrapper {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .radovi-grid:not(.all-radovi) .grid-wrapper .grid-item:nth-child(n+4) {
    display: none;
  }

  .show-more-button {
    display: inline-block;
    padding: 12px 24px;
    background: linear-gradient(90deg, #6e49ff, #9f70ff);
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
    margin: auto;
    font-weight: 600;
    letter-spacing: .2px;
    box-shadow: 0 8px 20px rgba(110,73,255,.25);
    transition: transform .2s ease, background .3s ease, box-shadow .2s ease;
  }
  .show-more-button:hover {
    background: linear-gradient(90deg, #5b3adf, #8e60f0);
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(110,73,255,.3);
  }
  .show-more-button:active { transform: translateY(0); }

  .radovi-grid.all-radovi .show-more-button {
    display: none !important;
  }

  .project-title {
    font-size: 1rem;
    padding: 12px;
  }
}




/* =========================
   SEKCIJA USLUGE
   ========================= */
.usluge-section {
  padding: clamp(48px, 6vw, 80px) 20px;
  background:
    radial-gradient(70% 120% at 100% -10%, rgba(159,112,255,.05), transparent 55%),
    radial-gradient(70% 120% at -10% 110%, rgba(122,215,255,.04), transparent 50%),
    var(--color-light);
  color: var(--color-text);
  font-family: var(--font-main);
  text-align: center;
  position: relative;
}

.usluge-title {
  font-size: clamp(22px, 3vw, 32px);
  margin-bottom: clamp(24px, 4vw, 40px);
  font-weight: 700;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.usluge-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.usluga-card {
  position: relative;
  background: linear-gradient(180deg, #fff, #fafafa);
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.05);
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  padding: 2rem;

  /* smooth ulaz */
  opacity: 0;
  transform: translateY(22px) scale(.985);
  will-change: transform, opacity;
  transition:
    transform .7s cubic-bezier(.22,.61,.36,1) var(--d,0ms),
    opacity  .6s ease var(--d,0ms),
    box-shadow .3s ease,
    border-color .3s ease;
  isolation: isolate;
}


.usluga-card.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.usluga-card::after {
  content:"";
  position:absolute; inset:-1px;
  border-radius: 14px;
  padding:1px;
  background: linear-gradient(120deg, rgba(159,112,255,.35), rgba(122,215,255,.25), transparent 60%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; 
  mask-composite: exclude;
  opacity:0; 
  transition:opacity .35s ease;
  pointer-events:none;
}
@media (prefers-reduced-motion: reduce) {
  .usluga-card { transition: none; transform: none !important; opacity: 1 !important; }
}
.usluga-card:hover {
  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 14px 32px rgba(0,0,0,.1);
  border-color: rgba(159,112,255,.28);
}
.usluga-card:hover::after { opacity: 1; }

.usluga-icon {
  --s: 48px;
  width: var(--s); height: var(--s);
  display: grid; place-items:center;
  margin: 0 auto 1rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--kb-accent), var(--kb-accent-2));
  color: #fff;
  box-shadow: 0 6px 18px rgba(159,112,255,.25);
}

.usluga-icon svg {
  width: 22px; height: 22px;
}

.usluga-card h3 {
  font-size: 1.15rem;
  font-weight: 600;
  margin-bottom: .5rem;
  color: var(--color-black);
}

.usluga-card p {
  font-size: 0.9rem;
  color: var(--kb-muted);
  line-height: 1.5;
}

/* Responsivnost usluge */
@media (max-width: 1024px) {
  .usluge-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .usluge-section {
    padding: 60px 15px;
  }

  .usluge-title {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }

  .usluge-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }

  .usluga-card {
    padding: 14px;
  }

  .usluga-card h3 {
    font-size: 1rem;
  }

  .usluga-card p {
    font-size: 0.85rem;
    line-height: 1.4;
  }
}

@media (max-width: 360px){
  .usluge-grid {
    grid-template-columns: 1fr;
  }
}


/* ==== PAKETI (dark, full-width s teksturom) ==== */
.paketi-section{
  position: relative;
  width: 100%;
  padding: clamp(64px,6vw,96px) 20px;
  background: #0f0f12;
  color: #e8e8ea;
  overflow: hidden;
  isolation: isolate;
}

.paketi-section::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(60% 80% at 100% 0%, rgba(159,112,255,.08), transparent 60%),
    radial-gradient(70% 90% at 0% 100%, rgba(122,215,255,.07), transparent 65%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.025) 0 1px, transparent 1px 30px);
  pointer-events:none;
  z-index:-1;
}


/* unutarnji container za centrirani content */
.paketi-con{
  width: min(1200px, 100%);
  margin: 0 auto;
}

/* naslov (zadrži tvoj stil) */
.paketi-section h2{
  text-align:center;
  font-size: clamp(26px,3vw,36px);
  margin-bottom: 36px;
  font-weight: 700;
  background: linear-gradient(90deg, var(--kb-accent,#9f70ff), var(--kb-accent-2,#7ad7ff));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* grid kartica */
.paketi-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.paket-card{
  position:relative;
  background:#1b1b20;
  border-radius: var(--radius,16px);
  padding:30px;
  box-shadow: 0 6px 18px rgba(0,0,0,.6);
  border-top:4px solid var(--kb-accent,#9f70ff);
  opacity:0; transform: translateY(30px);
  transition: opacity .8s ease-out, transform .8s ease-out, box-shadow .3s ease, transform .3s ease;
}

.paket-card.visible{ opacity:1; transform: translateY(0); }

.paket-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0,0,0,.7), 0 0 0 1px rgba(159,112,255,.18);
}

.paket-card h3{ color:#fff; font-size:1.5rem; margin-bottom:10px; }
.paket-card .cijena{ color: var(--kb-accent,#9f70ff); font-weight:700; margin-bottom:20px; }
.paket-card ul{ list-style:none; padding:0; margin:0; }
.paket-card ul li{ padding:8px 0; border-bottom:1px solid rgba(255,255,255,.08); color:#d6d6d9; }

.popularno{ border-top-color:#FFD700; }
.badge{
  position:absolute; top:18px; right:18px;
  background:#FFD700; color:#000000; padding:4px 10px; border-radius:20px;
  font-size:.75rem; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
}

.paket-btn{
  display:inline-block; margin-top:20px;
  background: var(--kb-accent,#9f70ff); color:#fff;
  padding:10px 20px; border-radius: var(--radius,16px); text-decoration:none; font-weight:700;
  transition: background .3s ease, transform .3s ease;
}
.paket-btn:hover{ background:#7ad7ff; transform: scale(1.05); }
.popularno-btn{ background: var(--kb-accent,#9f70ff); }
.popularno-btn:hover{ background:#FFD700; color:#111; }

/* Responsive */
@media (max-width: 900px){
  .paketi-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px){
  .paketi-section{ padding: 50px 15px; }
  .paketi-grid{ grid-template-columns:1fr; }
  .paket-card{ text-align:center; max-width: 360px; margin: 0 auto; padding:20px; }
  .badge{ position:static; display:inline-block; margin-bottom:10px; }
}
@media (max-width: 600px){
  .paketi-section{ padding: 50px 15px; }
  .paketi-grid{ grid-template-columns:1fr; }

  .paket-card{ 
    text-align:center; 
    width: 80%;        /* umjesto max-width */
    max-width: none;   /* uklonimo limit */
    margin: 0 auto; 
    padding:20px; 
  }

  .badge{ 
    position:static; 
    display:inline-block; 
    margin-bottom:10px; 
  }
}


/* ===== MINI BANNER (typing on scroll) ===== */
.mini-banner {
  position: relative;
  width: 100%;
  padding: clamp(40px, 5vw, 70px) 20px;
  background: linear-gradient(135deg, #9f70ff 0%, #7ad7ff 100%);
  text-align: center;
  overflow: hidden;
  isolation: isolate;
}

.mini-banner-con {
  max-width: 800px;
  margin: 0 auto;
  color: #fff;
  position: relative;
  z-index: 1;
}

.typing-text {
  display: inline-block;
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 700;
  margin-bottom: 12px;
  letter-spacing: 0.5px;
  white-space: nowrap;
  border-right: 2px solid rgba(255,255,255,.8);
  overflow: hidden;
  width: 0;
}

/* animacije se aktiviraju tek kad se doda .active */
.typing-text.active {
  animation: typing 4s steps(40, end) forwards, blink .8s step-end infinite;
}

.typing-sub {
  font-size: 1rem;
  color: rgba(255,255,255,0.9);
  margin-top: 10px;
  opacity: 0;
}
.typing-sub.active {
  animation: fadeIn 1.5s ease forwards;
  animation-delay: 4s; /* nakon h2 */
}

@keyframes typing {
  from { width: 0 }
  to { width: 100% }
}
@keyframes blink {
  50% { border-color: transparent }
}
@keyframes fadeIn {
  to { opacity: 1; }
}
/* Banner responsive fix */
@media (max-width: 600px) {
  .typing-text {
    font-size: clamp(16px, 5vw, 22px); /* manji naslov */
    letter-spacing: 0.3px;
  }

  .typing-sub {
    font-size: 0.85rem; /* manji podnaslov */
    margin-top: 6px;
  }

  .mini-banner {
    padding: 30px 15px; /* malo smanjen padding na mobitelu */
  }
}

@media (max-width: 400px) {
  .typing-text {
    font-size: clamp(14px, 6vw, 18px);
  }
  .typing-sub {
    font-size: 0.8rem;
  }
}



.usluge-section{
  padding: clamp(48px, 6vw, 80px) 20px;
  background:
    radial-gradient(60% 100% at 100% -10%, rgba(159,112,255,.10), transparent 55%),
    linear-gradient(180deg, #0e0e10, #121216 50%, #0e0e10 100%);
  position: relative;
  color: var(--kb-text);
  overflow: hidden;       /* da se pseudo ne prelije */
  isolation: isolate;     /* novi stacking context */
  z-index: 0;             /* referenca za ::before */
}

.usluge-section::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(60% 80% at 0% 0%, rgba(159,112,255,.08), transparent 60%),
    radial-gradient(70% 90% at 100% 100%, rgba(122,215,255,.07), transparent 65%),
    repeating-linear-gradient(-45deg, rgba(255,255,255,.035) 0 1px, transparent 1px 30px);
  pointer-events:none;
  z-index: 0;             /* iznad pozadine, ispod sadržaja */
  opacity: .9;            /* možeš spustiti na .7 ako želiš suptilnije */
  /* opcionalno: lagani fade pri dnu
  -webkit-mask: linear-gradient(black, transparent 85%);
          mask: linear-gradient(black, transparent 85%);
  */
}


.usluga-card{
  background: linear-gradient(180deg, #17171b, #141418);
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 8px 28px rgba(0,0,0,.35);
}
.usluga-card h3{ color:#f0f0f7; }
.usluga-card p{ color:#b7b7c7; }


*, *::before, *::after {
  box-sizing: border-box;
}


/* ===== Section background (dark) ===== */
.hp-section{
  position:relative;
  background:
    radial-gradient(70% 120% at 105% -10%, rgba(159,112,255,.10), transparent 55%),
    radial-gradient(70% 120% at -10% 110%, rgba(122,215,255,.08), transparent 55%),
    var(--kb-bg);
  padding: clamp(48px,6vw,88px) 20px;
  color: var(--kb-text);
  overflow:hidden;
}
.hp-section::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(520px 280px at 12% 18%, rgba(110,73,255,.14), transparent 60%),
    radial-gradient(420px 260px at 88% 86%, rgba(62,202,255,.10), transparent 60%);
  filter: blur(6px);
  pointer-events:none;
  opacity:.75;
}

.hp-wrap{
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  gap: clamp(22px,3vw,28px);
}

/* ===== Band cards ===== */
.hp-card{
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(18px,2.4vw,28px);
  align-items: center;
  padding: clamp(18px,2.2vw,24px);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--kb-shadow);
  isolation: isolate;
  overflow: clip;
}
.hp-card::after{ /* suptilan gradient rub */
  content:"";
  position:absolute; inset:-1px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(159,112,255,.35), rgba(122,215,255,.25));
  -webkit-mask: 
    linear-gradient(#000 0 0) content-box, 
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  padding:1px;
  pointer-events:none;
  opacity:.6;
}

/* reverse layout na širokim ekranima */
.hp-card.align-right{ grid-template-columns: 1fr 1.1fr; }
.hp-card.align-right .hp-media{ order: 2; }
.hp-card.align-right .hp-body{ order: 1; }

@media (max-width: 900px){
  .hp-card,
  .hp-card.align-right{
    grid-template-columns: 1fr;
  }
  .hp-card.align-right .hp-media,
  .hp-card.align-right .hp-body{
    order: initial;
  }
}

/* ===== Media ===== */
.hp-media{
  position: relative;
  aspect-ratio: 16/9;
  background: radial-gradient(60% 120% at 50% 0%, rgba(255,255,255,.04), transparent 60%), #0f1014;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
}
.hp-media img{
  width: 100%; height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 16px 24px rgba(0,0,0,.45));
  transform: scale(1) translateZ(0);
  transition: transform .5s ease;
}
.hp-card:hover .hp-media img{
  transform: scale(1.04);
}

/* ===== Body ===== */
.hp-body{ padding: clamp(6px,1vw,8px); }
.hp-badge{
  display:inline-block;
  font: 700 .72rem/1 system-ui;
  letter-spacing: .02em;
  text-transform: uppercase;
  padding: 8px 10px;
  border-radius: 999px;
  color:#fff;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 6px 18px rgba(110,73,255,.35);
}
.hp-badge.alt{
  background: linear-gradient(90deg, var(--kb-accent-2), var(--kb-accent));
}

.hp-body h3{
  margin: 12px 0 6px;
  font: 800 clamp(1.3rem,1.05rem + 1.4vw,1.9rem)/1.15 system-ui, sans-serif;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  -webkit-background-clip: text; background-clip:text; color: transparent;
}
.hp-body p{
  margin: 0 0 10px;
  color: var(--kb-muted);
  font-size: clamp(.98rem, .9rem + .2vw, 1.05rem);
}

/* bullets */
.hp-points{
  display:grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px; list-style: none; padding:0; margin: 10px 0 14px;
}
@media (max-width:700px){ .hp-points{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
.hp-points li{
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  text-align: center;
  font-weight: 600;
  font-size: .92rem;
  color: #ddd;
}

/* CTA buttons */
.hp-cta{ display:flex; gap:10px; flex-wrap: wrap; }
.btn-primary{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 16px; border-radius: 12px; font-weight: 800;
  color:#fff; text-decoration:none;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  box-shadow: 0 14px 30px rgba(110,73,255,.35);
  border: 0;
  transition: transform .12s, box-shadow .2s, filter .2s;
}
.btn-primary:hover{ transform: translateY(-1px); filter: brightness(1.04); box-shadow:0 18px 38px rgba(110,73,255,.42); }

.btn-ghost{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 14px; border-radius: 12px; font-weight: 800;
  color:#e8e8ef; text-decoration:none;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  transition: transform .12s, border-color .2s, background .2s;
}
.btn-ghost:hover{ transform: translateY(-1px); border-color: var(--kb-ring); background: rgba(255,255,255,.1); }








/* ========== FULL-WIDTH DARK WRAPPERS ========== */
.kontakt-section-wrap,
.o-nama-section-wrap {
  width: 100%;
  background:
    radial-gradient(65% 120% at 100% -10%, rgba(159,112,255,.10), transparent 55%),
    radial-gradient(80% 120% at -10% 110%, rgba(122,215,255,.08), transparent 55%),
    #0b0b0e;
}

/* lagani pulsirajući glow */
.kontakt-section-wrap::before,
.o-nama-section-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(600px 300px at 20% 10%, rgba(110,73,255,.12), transparent 60%),
    radial-gradient(500px 280px at 80% 90%, rgba(62,202,255,.10), transparent 60%);
  animation: glowPulse 8s ease-in-out infinite;
}
.kontakt-section-wrap, .o-nama-section-wrap { position: relative; }

@keyframes glowPulse {
  0%,100% { opacity: .6; }
  50%     { opacity: 1; }
}

/* ========== KONTAKT (DARK) ========== */
.kontakt-section{max-width:1200px;margin:0 auto;padding:72px 20px;color:#e7e7ea}
.kontaktnaslov{font:800 clamp(2rem,1.3rem + 2vw,2.6rem)/1.2 system-ui,sans-serif;text-align:center;margin:0 0 10px;color:#fff}
.kontakt-animacija{display:grid;place-items:center;margin:0 0 24px;opacity:.85}
.kontakt-animacija dotlottie-wc{max-width:280px}

/* Layout */
.kontakt-container{display:grid;grid-template-columns:1.1fr .7fr;gap:24px;align-items:start}
@media (max-width:900px){.kontakt-container{grid-template-columns:1fr}}

/* -------- Lijevo: forma -------- */
.kontakt-forma-box{position:relative;z-index:2;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;backdrop-filter:blur(6px);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.kontakt-forma-box h2{margin:0 0 14px;font-size:1.4rem;font-weight:700}
.kontakt-polje-duplo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.kontakt-polje-duplo{grid-template-columns:1fr}}

.kontakt-forma-box label,.dodatne-usluge legend{display:block;font-size:.95rem;color:#cfd0d8;margin:14px 0 8px}
.kontakt-forma-box input[type="text"],
.kontakt-forma-box input[type="email"],
.kontakt-forma-box input[type="tel"],
.kontakt-forma-box select,
.kontakt-forma-box textarea{
  width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);
  background:#111218;color:#f2f2f6;outline:none;transition:border-color .2s,box-shadow .2s,background .2s
}
.kontakt-forma-box textarea{min-height:140px;resize:vertical}

/* Select: strelica + dark dropdown */
.kontakt-forma-box select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:40px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23CFCFF5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px;color-scheme:dark
}
.kontakt-forma-box option{background:#0f1014;color:#e9eaf2}
.kontakt-forma-box :is(input,select,textarea):focus{border-color:#8f7bff;box-shadow:0 0 0 4px rgba(143,123,255,.18)}

/* Radio */
.radio-grupa{display:flex;gap:14px;margin-top:6px}
.radio-opcija{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);cursor:pointer;user-select:none;transition:transform .12s,background .2s,border-color .2s}
.radio-opcija:hover{transform:translateY(-1px)}
.radio-opcija input{appearance:none;width:16px;height:16px;border-radius:50%;border:2px solid #bcbdd2}
.radio-opcija input:checked{border-color:#9f88ff;background:radial-gradient(#c9baff 45%,transparent 46%)}

/* Dodatne usluge */
.dodatne-usluge{margin-top:18px;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px 12px;background:rgba(255,255,255,.03)}
.switch-opcija{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin:6px 6px 0 0;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:transform .12s,background .2s,border-color .2s}
.switch-opcija:hover{transform:translateY(-1px)}
.switch-opcija input{display:none}
.switch-opcija input:checked + i,.switch-opcija input:checked ~ .label-text{filter:drop-shadow(0 0 8px rgba(160,130,255,.5))}
.switch-opcija input:checked ~ .label-text:before{content:"✓ ";color:#bfa8ff}
.switch-opcija i{font-size:1rem;opacity:.9}
.switch-opcija .label-text{font-size:.95rem;color:#dde}

/* Slider budžeta */
.budzet-slider{margin-top:16px}
.budzet-slider label{margin-bottom:6px;display:inline-block}
#budzet{width:100%;appearance:none;height:6px;border-radius:999px;background:linear-gradient(90deg,#6e49ff,#9f70ff);outline:none}
#budzet::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #8d74ff;box-shadow:0 6px 20px rgba(141,116,255,.45);cursor:pointer}
#budzet::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #8d74ff;cursor:pointer}
.budzet-iznos{margin-top:8px;font-weight:700;font-size:1.05rem;color:#fff}

/* Submit */
.kontakt-forma-box button[type="submit"]{margin-top:18px;width:100%;padding:14px 18px;border:0;border-radius:12px;font-weight:700;color:#fff;background:linear-gradient(90deg,#6e49ff,#9f70ff);box-shadow:0 14px 30px rgba(110,73,255,.35);cursor:pointer;transition:transform .12s,box-shadow .2s,filter .2s}
.kontakt-forma-box button[type="submit"]:hover{transform:translateY(-1px);box-shadow:0 18px 36px rgba(110,73,255,.42);filter:brightness(1.03)}


/* === Kontakt: globalna poruka (bar) === */
#kontakt-form .form-message{
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.4;
  padding: 12px 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--kb-bg, #0e0f13) 90%, #000 10%);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--kb-text, #e8e8ea);
  display: none;
}
#kontakt-form .form-message.show{ display:block; }
#kontakt-form .form-message.success{
  border-color: color-mix(in oklab, var(--kb-accent, #7ad7ff) 50%, transparent);
  box-shadow: 0 0 0 6px color-mix(in oklab, var(--kb-accent, #7ad7ff) 18%, transparent);
}
#kontakt-form .form-message.error{
  border-color: color-mix(in oklab, #ff6b6b 60%, transparent);
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 18%, transparent);
}

/* === Kontakt: per-field error & invalid === */
#kontakt-form .field-error{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.35;
  padding: 8px 10px;
  border-radius: 10px;
  background: color-mix(in oklab, #0e0f13 92%, #000 8%);
  border: 1px solid rgba(255,255,255,.12);
  color: color-mix(in oklab, #e8e8ea 92%, transparent);
}

#kontakt-form .is-invalid{
  outline: none;
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 16%, transparent);
  border-color: color-mix(in oklab, #ff6b6b 55%, transparent) !important;
}

/* Radio grupa (firma) — kad je greška blago naglasi blok */
#kontakt-form .radio-grupa .is-invalid + span,
#kontakt-form .radio-grupa input.is-invalid ~ span{
  text-shadow: 0 0 10px color-mix(in oklab, #ff6b6b 35%, transparent);
}

/* Light tema */
.light #kontakt-form .form-message{
  background: #fff;
  border-color: rgba(0,0,0,.10);
  color: #101218;
}
.light #kontakt-form .field-error{
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  color: #101218;
}
.light #kontakt-form .is-invalid{
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 18%, transparent);
  border-color: color-mix(in oklab, #ff6b6b 60%, transparent) !important;
}

/* -------- Desno: info + sticky -------- */
.kontakt-info-wrap{position:sticky;top:24px}
@media (max-width:900px){.kontakt-info-wrap{position:static}}

.kontakt-info-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;max-width:520px;margin-left:auto}
@media (max-width:560px){.kontakt-info-grid{grid-template-columns:1fr;max-width:none}}

.info-kartica{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:start;padding:14px;border-radius:12px;background:rgba(20,20,24,.6);border:1px solid rgba(255,255,255,.06);box-shadow:0 1px 0 rgba(255,255,255,.04) inset}
.info-kartica img{width:28px;height:28px;object-fit:contain;opacity:.9;margin-top:2px}
.info-kartica .info-naslov{margin:0 0 2px;font:700 .95rem/1.2 system-ui;color:#fff}
.info-kartica p{margin:0;color:#d7d7de;font-size:.95rem;line-height:1.4}

/* Paneli */
.info-panel{padding:14px;border-radius:12px;background:rgba(20,20,24,.6);border:1px solid rgba(255,255,255,.06)}
.info-panel h3{margin:0 0 10px;font:700 1rem/1.2 system-ui;color:#fff}

/* Tehnologije */
.tech-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:0}
@media (max-width:1100px){.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tech-item{display:grid;place-items:center;gap:6px;padding:10px 8px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);transition:transform .14s,border-color .2s,box-shadow .2s,background .2s;text-align:center}
.tech-item:hover{transform:translateY(-2px);border-color:rgba(159,112,255,.28);box-shadow:0 10px 18px rgba(0,0,0,.35);background:rgba(255,255,255,.05)}
.tech-item img{width:28px;height:28px;object-fit:contain;filter:invert(1) brightness(1.1);opacity:.95}
.tech-item span{font-size:.85rem;color:#d7d7de;line-height:1}

/* QR blok */
.kontakt-qr{text-align:center}
.kontakt-qr .qr-box{
  width:200px;height:200px;margin:12px auto;display:flex;align-items:center;justify-content:center;
  background:#0f1014;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:10px
}
.kontakt-qr .qr-box canvas,.kontakt-qr .qr-box img{width:100%!important;height:100%!important;max-width:100%;max-height:100%}
.btn-secondary{display:inline-block;padding:10px 14px;border-radius:10px;font-weight:700;background:rgba(159,112,255,.18);border:1px solid rgba(159,112,255,.35);color:#e9eaf2;text-decoration:none;transition:transform .12s,box-shadow .2s,filter .2s}
.btn-secondary:hover{transform:translateY(-1px);filter:brightness(1.05)}



/* dno grida s kontakt karticama dobiva luft */
.kontakt-info-grid{
  gap: 16px;
  margin-bottom: 22px;   /* razmak prije idućih panela */
}

/* dodatni paneli desno neka imaju konzistentan razmak odozgo */
.tech-panel,
.kontakt-qr,
.info-gdpr{
  margin-top: 18px;
}
/* Email kartica neka zauzme cijeli red na većim širinama */
@media (min-width: 561px){
  .kontakt-info-grid .email-card { grid-column: 1 / -1; }
}

/* Ne lomi mail (nema prijeloma unutar riječi/znakova) */
.no-wrap{
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}

/* Po želji: ako baš postane preusko, malo smanji font isključivo za mail na vrlo uskim ekranima */
@media (max-width: 360px){
  .info-kartica .info-value { font-size: .9rem; }
}

/* ===== Autofill (Chrome/Safari/Edge – WebKit) ===== */
.kontakt-forma-box input:-webkit-autofill,
.kontakt-forma-box input:-webkit-autofill:hover,
.kontakt-forma-box input:-webkit-autofill:focus,
.kontakt-forma-box select:-webkit-autofill {
  -webkit-text-fill-color: #f2f2f6;       /* boja teksta */
  caret-color: #f2f2f6;                   /* kursor */
  border: 1px solid rgba(255,255,255,.12);
  -webkit-box-shadow: 0 0 0 1000px #111218 inset !important; /* tamna pozadina */
  box-shadow: 0 0 0 1000px #111218 inset !important;
  transition: background-color 9999s ease-in-out 0s; /* spriječi “blink” */
}

/* ===== Autofill (Firefox) ===== */
.kontakt-forma-box input:-moz-autofill,
.kontakt-forma-box select:-moz-autofill {
  color: #f2f2f6 !important;
  caret-color: #f2f2f6;
  box-shadow: 0 0 0 1000px #111218 inset !important;
  border: 1px solid rgba(255,255,255,.12);
}

/* Hint: reci pregledniku da je polje dark (pomaže i izbornicima) */
.kontakt-forma-box input[type="text"],
.kontakt-forma-box input[type="email"],
.kontakt-forma-box input[type="tel"],
.kontakt-forma-box select,
.kontakt-forma-box textarea {
  color-scheme: dark;
}


/* O NAMA sekcija */
.onama-section {
  padding: 100px 20px;
  background-color: #f9f9f9;
  font-family: 'Segoe UI', sans-serif;
}

.onama-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  gap: 40px;
}

.onama-slika {
  flex: 1 1 400px;
}

.onama-slika img {
  width: 100%;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.onama-tekst {
  flex: 1 1 500px;
}

.onama-tekst h2 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #111;
}

.onama-tekst p {
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
  margin-bottom: 15px;
}

/* Animacije */
@keyframes bounce {
  0%, 100% { transform: translate(-50%, 0); }
  50% { transform: translate(-50%, 10px); }
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideIn {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Mobilni meni */
@media (max-width: 768px) {
  .nav-links {
    display: none;
  }

  .hamburger {
    display: block;
  }

  .mobile-menu.show {
    display: flex;
  }
}

/* ====== Tema & tipografija ====== */
:root{
  --kb-bg: #0b0b0c;
  --kb-card: #131316;
  --kb-card-2: #17171b;
  --kb-text: #e8e8ef;
  --kb-muted: #b7b7c7;
  --kb-accent: #9f70ff;
  --kb-accent-2: #7ad7ff;
  --kb-ring: rgba(159,112,255,.35);
  --kb-shadow: 0 10px 30px rgba(0,0,0,.35);
}

/* ====== Sekcija ====== */
.auto-slider1{
  padding: clamp(48px, 6vw, 96px) 20px;
  background:
    radial-gradient(60% 120% at 100% -10%, rgba(159,112,255,.08), transparent 55%),
    radial-gradient(70% 120% at -10% 110%, rgba(122,215,255,.06), transparent 50%),
    var(--kb-bg);
  color: var(--kb-text);
  text-align: center;
  font-family: var(--font-main);
  overflow: hidden;
  position: relative;
}

/* Dekorativne hairline linije */
.auto-slider1::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, transparent 0 15%, rgba(255,255,255,.06) 15% 15.3%, transparent 15.3% 100%),
    linear-gradient(0deg, transparent 0 15%, rgba(255,255,255,.05) 15% 15.3%, transparent 15.3% 100%);
  mask: linear-gradient(black, transparent);
  pointer-events:none;
}

/* Naslov */
.auto-slider1 h2{
  font-size: clamp(22px, 3.8vw, 40px);
  line-height:1.1;
  letter-spacing:.3px;
  margin: 0 auto clamp(28px, 3.5vw, 42px);
  max-width: 18ch;
  font-weight:700;
}
.auto-slider1 h2 span{
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
}

/* ====== Slider traka ====== */
.slider-container1{
  --gap: clamp(16px, 2.4vw, 28px);
  display:flex;
  gap: var(--gap);
  padding: 6px 0 12px;         /* bez horiz. paddinga = nema peek-a */
  width:100%;
  margin:0 auto;
  overflow:hidden;              /* skriva scroll bar */
  scroll-behavior:smooth;
  scroll-snap-type: x mandatory;
  justify-content:flex-start;
}

/* ====== Kartica ====== */
.slide1{
  flex: 0 0 100%;
  min-width:100%;
  max-width:640px;
  margin:0 auto;
  text-align:left;
  box-sizing:border-box;
  padding: clamp(22px, 3.2vw, 30px);
  border-radius:16px;
  background: linear-gradient(180deg, var(--kb-card), var(--kb-card-2));
  position:relative;
  border:1px solid rgba(255,255,255,.06);
  box-shadow: var(--kb-shadow);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  isolation:isolate;
  scroll-snap-align:start;
}

/* Ring efekt na hover */
.slide1::after{
  content:"";
  position:absolute; inset:-1px;
  border-radius:16px;
  padding:1px;
  background: linear-gradient(120deg, rgba(159,112,255,.35), rgba(122,215,255,.25), transparent 60%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity:0; transition:opacity .35s ease; pointer-events:none;
}
.slide1:hover{ transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,.45); border-color: rgba(159,112,255,.28); }
.slide1:hover::after{ opacity:1; }

/* Ikona badge */
.slide1 i{
  --s: 48px;
  width:var(--s); height:var(--s);
  display:grid; place-items:center;
  font-size:22px; color:#fff; margin:0 0 14px;
  border-radius:999px;
  background: linear-gradient(135deg, var(--kb-accent), var(--kb-accent-2));
  box-shadow: 0 6px 18px rgba(159,112,255,.35);
}

/* Naslov u kartici */
.slide1 h3{
  color:var(--kb-text);
  margin:6px 0 10px;
  font-size:clamp(18px, 2.2vw, 22px);
  font-weight:600; letter-spacing:.2px;
}

/* Lista */
.slide1 ul{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.slide1 li{
  color:var(--kb-muted);
  font-size:clamp(14px, 1.8vw, 15.5px);
  line-height:1.55;
  display:flex; align-items:flex-start; gap:10px;
}
.slide1 li::before{
  content:""; margin-top:.52em; width:8px; height:8px; border-radius:999px;
  background: radial-gradient(circle at 30% 30%, var(--kb-accent) 0 40%, var(--kb-accent-2) 70%, transparent 71%);
  box-shadow: 0 0 0 3px rgba(159,112,255,.12); flex:0 0 8px;
}

/* ====== Statični tekst ====== */
.static-text1{
  max-width:900px;
  margin: clamp(36px, 6vw, 72px) auto 0;
  text-align:center; padding:0 10px;
}
.static-text1 h3{
  font-size:clamp(20px, 2.6vw, 26px);
  margin-bottom:10px;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.static-text1 p{
  font-size:clamp(14px, 2vw, 16px);
  line-height:1.7; margin-bottom:8px; color:var(--kb-muted);
}

/* ====== Responsivnost (točne širine bez peek-a) ====== */
@media (min-width: 768px){
  .slide1{
    flex: 0 0 calc((100% - var(--gap)) / 2);
    min-width: calc((100% - var(--gap)) / 2);
    max-width: calc((100% - var(--gap)) / 2);
  }
}
@media (min-width: 1100px){
  .slide1{
    flex: 0 0 calc((100% - 2*var(--gap)) / 3);
    min-width: calc((100% - 2*var(--gap)) / 3);
    max-width: calc((100% - 2*var(--gap)) / 3);
  }
}

/* ====== Pristupačnost ====== */
@media (prefers-reduced-motion: reduce){
  .slide1, .slide1::after{ transition:none !important; }
}

/* ========== POMOĆ I PODRŠKA (dark refined v2) ========== */

/* Section */
.section-pomoc{
  position: relative;
  padding: clamp(56px,6vw,92px) 20px;
  background: var(--kb-bg);
  overflow: hidden;
  isolation: isolate;
}

/* suptilan background glow */
.section-pomoc::before{
  content:"";
  position: absolute; inset: 0;
  background:
    radial-gradient(70% 100% at 110% -10%, rgba(159,112,255,.08), transparent 50%),
    radial-gradient(70% 100% at -10% 110%, rgba(122,215,255,.06), transparent 55%);
  pointer-events: none;
  z-index: -1;
}

.pomoc-con{
  width: min(1100px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 26px;
}

/* Naslov */
.kontaktnaslov{
  margin: 0 auto clamp(8px,1.4vw,12px);
  text-align: center;
  color: var(--kb-text);
  letter-spacing: .35px;
  font-weight: 800;
  text-shadow: none;
}

/* Osnovni “card” stil */
.faq, .box, .support-stats-wide .stat{
  background: linear-gradient(180deg, rgba(19,19,22,.92), rgba(23,23,27,.92));
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 14px;
  box-shadow: var(--kb-shadow);
}

/* ---------- FAQ (clean open + bolja tipografija) ---------- */

.faq{
  padding: clamp(16px,2vw,22px);
}
.faq > p{
  margin: 0 0 12px;
  color: var(--kb-muted);
  opacity: .95;
}
.faq > h3{
  margin: 2px 0 12px;
  font-weight: 700;
  color: var(--kb-text);
}

/* lista */
.faq ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

/* stavka */
.faq li{
  position: relative;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  background: var(--kb-card, rgba(255,255,255,.02));
  overflow: hidden;
  box-shadow: var(--kb-shadow);
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.faq li:hover{ border-color: rgba(255,255,255,.12); }

/* lijeva akcent linija */
.faq li::before{
  content:"";
  position: absolute; left:0; top:10px; bottom:10px;
  width:3px; border-radius: 3px;
  background: linear-gradient(180deg, var(--kb-accent), var(--kb-accent-2));
  opacity:.75;
}

/* pitanje (gumb) */
.faq .faq-q{
  display:flex; align-items:center; gap:12px;
  padding:14px 16px;
  cursor:pointer; user-select:none;
  color: var(--kb-text); font-weight:650;
  
}
.faq .faq-q strong{ font-weight:750; letter-spacing:.2px; }
.faq .faq-q .chev{
  margin-left:auto;
  font-size:14px; opacity:.75;
  transition: transform .28s cubic-bezier(.22,.61,.36,1), opacity .2s ease;
}
.faq li.open .faq-q .chev{ transform: rotate(180deg); opacity:1; }

/* ODGOVOR — glatko:
   - height animira (JS postavlja na scrollHeight)
   - sadržaj unutar lagano klizi i fade-a (bez "squish" efekta)
*/
.faq .faq-a{
  padding: 0 16px;
  max-height: 0;        /* umjesto height */
  overflow: hidden;     /* NE clip */
  opacity: 0;
  box-sizing: border-box;
  transition:
    max-height .34s cubic-bezier(.22,.61,.36,1),
    opacity .25s ease;
}

/* otvoreno stanje */
.faq li.open .faq-a{
  padding-top: 8px; 
  padding-bottom: 12px;
  opacity: 1;
}



/* finese tipografije unutar odgovora */
.faq .faq-a :where(p, ul, ol, blockquote){
  margin: 0;                    /* reset */
}
.faq .faq-a :where(p + p){ margin-top: 8px; }
.faq .faq-a :where(ul, ol){ padding-left: 1.1em; margin-top: 6px; }
.faq .faq-a :where(li){ margin: 4px 0; }
.faq .faq-a a{
  color: var(--kb-accent);
  text-decoration: none;
  border-bottom: 1px dashed rgba(122,215,255,.25);
}
.faq .faq-a a:hover{ border-bottom-color: rgba(122,215,255,.45); }

/* čitljivost teksta (kontrast + line-height) */
.faq .faq-a{
  --faqText: color-mix(in oklab, var(--kb-text) 85%, #b9bdd6 15%);
}
.faq .faq-a,
.faq .faq-a :where(p, li){
  color: var(--faqText);
  font-size: clamp(.97rem, .9vw + .6rem, 1.05rem);
  line-height: 1.66;
  letter-spacing: .1px;
}

/* suptilan slide+fade sadržaja (ne treba mijenjati HTML) */
.faq .faq-a > *{
  transform: translateY(-4px);
  opacity: 0;
  transition: transform .26s ease, opacity .26s ease;
  transition-delay: .03s;       /* kreće mrvu nakon height-a */
}

/* otvoreno stanje */
.faq li.open{
  border-color: rgba(159,112,255,.28);
  background: linear-gradient(180deg, rgba(28,28,33,.86), rgba(23,23,27,.94));
}

.faq li.open .faq-a > *{
  transform: translateY(0);
  opacity: 1;
}

/* fokus (tipkovnica) */
.faq .faq-q:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px var(--kb-ring);
  border-radius: 10px;
}

/* pristupačnost */
@media (prefers-reduced-motion: reduce){
  .faq .faq-a,
  .faq .faq-q .chev,
  .faq .faq-a > *{ transition:none; }
}

/* ---------- Statistike (gradient brojevi) ---------- */

.support-stats-wide{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.support-stats-wide .stat{
  padding: 18px 16px;
  text-align: center;
}
.support-stats-wide .count{
  display:block;
  font-size: clamp(24px, 3.4vw, 34px);
  font-weight: 800;
  letter-spacing:.2px;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2), var(--kb-accent));
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
  animation: statGradient 8s ease-in-out infinite;
}
.support-stats-wide .stat p{
  margin: 6px 0 0;
  color: var(--kb-muted);
  font-size: .95rem;
  opacity: .95;
}
@keyframes statGradient{
  0%{ background-position: 0% 50%; }
  50%{ background-position: 100% 50%; }
  100%{ background-position: 0% 50%; }
}

/* ---------- Donji grid: kontakt + forma ---------- */

.pomoc-grid-2x2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.box{ padding: clamp(16px,2vw,22px); }
.box h3{ margin: 0 0 10px; color: var(--kb-text); font-weight: 700; }
.box p{ color: var(--kb-muted); }

/* kontakt list */
.support-contact ul{
  list-style: none; padding: 0; margin: 10px 0 0;
  display: grid; gap: 8px;
}
.support-contact li{ color: var(--kb-text); display: flex; gap: 10px; align-items: center; }
.support-contact i{ color: var(--kb-accent-2); opacity: .9; }
.support-contact a{
  color: var(--kb-accent);
  text-decoration: none;
  border-bottom: 1px dashed transparent;
  transition: color .2s ease, border-color .2s ease;
}
.support-contact a:hover{
  color: var(--kb-accent-2);
  border-bottom-color: rgba(122,215,255,.35);
}

/* mini-form */
.mini-form form{ display: grid; gap: 10px; }
.mini-form input,
.mini-form textarea{
  width: 100%;
  color: var(--kb-text);
  background: rgba(23,23,27,.84);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 11px 12px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .25s ease;
}
.mini-form textarea{ min-height: 120px; resize: vertical; }
.mini-form input::placeholder,
.mini-form textarea::placeholder{ color: rgba(183,183,199,.75); }
.mini-form input:focus,
.mini-form textarea:focus{
  border-color: rgba(159,112,255,.35);
  box-shadow: 0 0 0 4px var(--kb-ring);
  background: rgba(28,28,33,.9);
}
.mini-form button{
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; width: 100%;
  padding: 12px 14px;
  color: #0b0b0c;
  font-weight: 700;
  border: 0; border-radius: 12px;
  background: linear-gradient(90deg, var(--kb-accent) 0%, var(--kb-accent-2) 100%);
  box-shadow: 0 6px 18px rgba(0,0,0,.35), inset 0 -1px 0 rgba(255,255,255,.2);
  letter-spacing:.2px;
  cursor: pointer;
  transition: transform .06s ease, filter .2s ease;
}
.mini-form button:hover{ filter: brightness(1.05); }
.mini-form button:active{ transform: translateY(1px); }



/* === Mini upit: globalna poruka (bar) === */
.form-mini .form-message,
.mini-form .form-message{
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.4;
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--kb-bg, #0e0f13) 90%, #000 10%);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--kb-text, #e8e8ea);
  display: none;
}
.form-mini .form-message.show,
.mini-form .form-message.show{ display: block; }

.form-mini .form-message.success,
.mini-form .form-message.success{
  border-color: color-mix(in oklab, var(--kb-accent, #7ad7ff) 50%, transparent);
  box-shadow: 0 0 0 6px color-mix(in oklab, var(--kb-accent, #7ad7ff) 18%, transparent);
}
.form-mini .form-message.error,
.mini-form .form-message.error{
  border-color: color-mix(in oklab, #ff6b6b 60%, transparent);
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 18%, transparent);
}

/* === Mini upit: per-field error i invalid === */
.form-mini .field-error,
.mini-form .field-error{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.35;
  padding: 8px 10px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--kb-bg, #0e0f13) 92%, #000 8%);
  border: 1px solid rgba(255,255,255,.12);
  color: color-mix(in oklab, var(--kb-text, #e8e8ea) 92%, transparent);
}

.form-mini .is-invalid,
.mini-form .is-invalid{
  outline: none;
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 16%, transparent);
  border-color: color-mix(in oklab, #ff6b6b 55%, transparent) !important;
}

/* Light tema */
.light .form-mini .form-message,
.light .mini-form .form-message{
  background: #fff;
  border-color: rgba(0,0,0,.10);
  color: #101218;
}
.light .form-mini .field-error,
.light .mini-form .field-error{
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  color: #101218;
}
.light .form-mini .is-invalid,
.light .mini-form .is-invalid{
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 18%, transparent);
  border-color: color-mix(in oklab, #ff6b6b 60%, transparent) !important;
}

/* ===== Autofill fix (Chrome/Safari/Edge – WebKit) za mini-form ===== */
.mini-form input:-webkit-autofill,
.mini-form input:-webkit-autofill:hover,
.mini-form input:-webkit-autofill:focus,
.mini-form textarea:-webkit-autofill {
  -webkit-text-fill-color: var(--kb-text, #e8e8ea);
  caret-color: var(--kb-text, #e8e8ea);
  border: 1px solid rgba(255,255,255,.12);
  -webkit-box-shadow: 0 0 0 1000px rgba(23,23,27,.84) inset !important;
  box-shadow: 0 0 0 1000px rgba(23,23,27,.84) inset !important;
  transition: background-color 9999s ease-in-out 0s;
}

/* ===== Autofill (Firefox) ===== */
.mini-form input:-moz-autofill,
.mini-form textarea:-moz-autofill {
  color: var(--kb-text, #e8e8ea) !important;
  caret-color: var(--kb-text, #e8e8ea);
  box-shadow: 0 0 0 1000px rgba(23,23,27,.84) inset !important;
  border: 1px solid rgba(255,255,255,.12);
}

/* Recimo pregledniku da je tema dark (pomaže i za native dropdown) */
.mini-form input,
.mini-form textarea {
  color-scheme: dark;
}




/* micro-interactions */
.section-pomoc *{
  transition: color .2s ease, background .25s ease, border-color .2s ease, box-shadow .25s ease;
}

/* ---------- Responsive ---------- */
@media (max-width: 992px){
  .support-stats-wide{ grid-template-columns: 1fr; }
  .pomoc-grid-2x2{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .faq, .box{ padding: 14px; }
  .faq .faq-q{ padding: 12px 12px 12px 14px; }
}
.faq .faq-q{ width: 100%; background: transparent; border: 0; text-align: left; }
.faq .faq-a{ display: block !important; }  /* pregazi moguće display:none */
.faq li{ position: relative; z-index: 0; } /* protiv slučajnih overlay-a */
.faq .faq-a{ transition: max-height .34s cubic-bezier(.22,.61,.36,1), opacity .25s ease; }
.faq li.open .faq-a{ opacity:1; }

.faq .faq-q { width:100%; background:transparent; border:0; text-align:left; pointer-events:auto; }
.faq .faq-a { overflow:hidden; } /* sigurnost */
.faq .faq-a{
  box-sizing: border-box;
  padding: 0 16px;      /* horizontalni padding stalno */
  overflow: hidden;
  max-height: 0;
}
.faq li.open .faq-a{
  padding-top: 8px;     /* vertikalni padding samo kad je otvoreno */
  padding-bottom: 12px;
}

#overlay { pointer-events: none; opacity: 0; }
.section-pomoc { position: relative; z-index: 1; }
:root{
  --kb-bg: #0b0b0c;
  --kb-card: #131316;
  --kb-card-2: #17171b;
  --kb-text: #e8e8ef;
  --kb-muted: #b7b7c7;
  --kb-accent: #9f70ff;
  --kb-accent-2: #7ad7ff;
  --kb-ring: rgba(159,112,255,.35);
  --kb-shadow: 0 10px 30px rgba(0,0,0,.35);
}

/* ===== O NAMA (dark) ===== */
.section-o-nama{
  --o-bg-1:#0e0f13;
  --o-bg-2:#12131a;
  --o-tint-1: color-mix(in oklab, var(--kb-accent) 45%, transparent);
  --o-tint-2: color-mix(in oklab, var(--kb-accent-2) 38%, transparent);
  --o-ring: var(--kb-ring);
  position: relative;
  isolation: isolate;
  padding: clamp(56px,6vw,110px) 20px;
  background: radial-gradient(120% 140% at 10% 0%, var(--o-bg-2), var(--o-bg-1) 60%);
  border-top: 1px solid rgba(255,255,255,.06);
  color: var(--kb-text);
  overflow: clip;
}

/* Dekor slojevi */
.o-bg-decor{
  position:absolute; inset:-10% -10% -10% -10%;
  background:
    radial-gradient(40% 55% at 85% 10%, var(--o-tint-2), transparent 60%),
    radial-gradient(35% 45% at 15% 90%, var(--o-tint-1), transparent 65%),
    conic-gradient(from 210deg at 60% 40%, rgba(255,255,255,.06), transparent 30% 70%, rgba(255,255,255,.04));
  filter: blur(35px) saturate(110%);
  animation: oFloat 18s ease-in-out infinite alternate;
  opacity:.85;
  z-index:0;
}
.o-texture{
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 2px, transparent 2px 4px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.04) 0 1px, transparent 1px 3px);
  mix-blend-mode: overlay;
  opacity:.25;
  pointer-events:none;
  z-index:0;
}

.o-nama-container{ max-width:1200px; margin:auto; position:relative; z-index:1; }

/* Header */
.o-header{ text-align:center; margin-bottom: clamp(36px,4.8vw,72px); }
.o-eyebrow{
  display:inline-block; font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color: var(--kb-muted);
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  padding:6px 10px; border-radius:999px;
  backdrop-filter: blur(6px);
}
.section-o-nama h2{
  font-size: clamp(26px,3.2vw,40px); margin:12px 0 10px; font-weight:800; line-height:1.1;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  position:relative; display:inline-block;
}
.section-o-nama h2::after{
  content:""; position:absolute; left:10%; right:10%; bottom:-8px; height:2px;
  background: linear-gradient(90deg, transparent, var(--kb-accent), var(--kb-accent-2), transparent);
  transform-origin:left; transform: scaleX(0);
  animation: underlineIn .9s .2s ease-out forwards;
}
.uvod{
  color: var(--kb-muted);
  max-width:860px; margin:12px auto 0;
  font-size: clamp(15px,1.4vw,18px); line-height:1.75;
}

/* ===== Layout ===== */
.o-nama-flex{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  grid-template-areas:
    "text visual"
    "process visual";
  align-items:start;
  gap: clamp(28px,4vw,56px);
}
.o-nama-text   { grid-area:text; }
.o-process     { grid-area:process; }
.o-nama-visual { grid-area:visual; align-self:start; }

@media (max-width: 900px){
  .o-nama-flex{
    grid-template-columns:1fr;
    grid-template-areas:
      "text"
      "process"
      "visual";
  }
}

/* Tekst blok */
.o-nama-text h3{
  font-size: clamp(18px,1.6vw,22px);
  color: var(--kb-accent);
  margin:18px 0 8px;
}
.o-nama-text p{ color: var(--kb-muted); line-height:1.8; margin:0 0 16px; }

.o-list{ list-style:none; margin:18px 0 26px; padding:0; }
.o-list li{ position:relative; padding-left:28px; margin-bottom:12px; }
.o-list li::before{
  content:"\f00c"; font-family:"Font Awesome 5 Free"; font-weight:900;
  position:absolute; left:0; top:0; transform: translateY(2px);
  color: var(--kb-accent-2);
}

/* Stats “chips” */
.o-stats{ display:flex; flex-wrap:wrap; gap:14px; }
.o-stats .stat{
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  padding:14px 16px; border-radius:14px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.10);
  box-shadow: var(--kb-shadow);
  min-width:160px;
}
.o-stats .stat strong{ font-size: clamp(18px,2.4vw,26px); line-height:1; color: var(--kb-text); }
.o-stats .stat span{ color: var(--kb-muted); font-size:13px; }

/* Vizual (desni stupac) */
.o-nama-visual{
  position:relative; margin:0; border-radius:18px; overflow:hidden;
  background:
    radial-gradient(120% 120% at 90% 10%, color-mix(in oklab, var(--kb-accent-2) 20%, transparent), transparent 60%),
    radial-gradient(120% 120% at 10% 90%, color-mix(in oklab, var(--kb-accent) 22%, transparent), transparent 60%);
  padding:14px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 35px rgba(0,0,0,.35);
}
.o-aurora{
  position:absolute; inset:-25%;
  background:
    radial-gradient(45% 45% at 60% 40%, var(--o-tint-2), transparent 60%),
    radial-gradient(35% 35% at 35% 65%, var(--o-tint-1), transparent 60%);
  filter: blur(30px);
  animation: oDrift 22s linear infinite alternate;
  opacity:.9; z-index:0;
}
.o-nama-visual img{
  position:relative; z-index:1; display:block; width:100%; height:auto; border-radius:12px;
  outline:1px solid rgba(255,255,255,.08);
  transition: transform .45s ease, box-shadow .45s ease;
}
.o-nama-visual:hover img{ transform: scale(1.025); box-shadow: 0 18px 48px rgba(0,0,0,.45); }

/* ===== Kako radimo (o-process) ===== */
.o-process{
  margin:0;
  max-width:none;
  padding:16px 16px 18px;
  border-radius:16px;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 16px 48px rgba(0,0,0,.35);
  backdrop-filter: blur(8px);
  position:relative;
  overflow:hidden;
}
.o-process::after{
  content:""; position:absolute; left:12px; right:12px; bottom:8px; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
}
.o-process .process-head{ display:flex; align-items:center; justify-content:flex-start; }
.o-process .o-eyebrow{
  margin:0 0 6px;
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
  color: var(--kb-muted);
}

.process-steps{
  counter-reset: step;
  position:relative;
  display:grid; grid-template-columns: repeat(4,1fr);
  gap:14px;
  margin:6px 2px 0;
  padding:8px 6px 10px;
  list-style:none;
}

.process-steps li{
  position:relative; padding:16px 12px 12px; border-radius:12px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 8px 22px rgba(0,0,0,.35);
}
.process-steps li::before{
  counter-increment: step; content: counter(step);
  position:absolute; top:-16px; left:12px;
  width:32px; height:32px; border-radius:999px; display:grid; place-items:center;
  color:#fff; font-weight:700; font-size:14px;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  box-shadow: 0 0 0 3px rgba(255,255,255,.06), 0 8px 18px rgba(0,0,0,.35);
}
.process-steps li strong{ display:block; color: var(--kb-text); font-size:14.5px; margin-bottom:4px; }
.process-steps li span{ display:block; color: var(--kb-muted); font-size:12.5px; line-height:1.5; }

/* Responsivnost koraka */
@media (max-width: 900px){
  .process-steps{ grid-template-columns: repeat(2,1fr); }
  .process-steps::before{ left:24px; right:24px; }
}
@media (max-width: 560px){
  .process-steps{ grid-template-columns: 1fr; }
  .process-steps::before{ display:none; }
}

/* Scroll reveal + motion */
.reveal{ opacity:0; transform: translateY(14px) scale(.98); }
.reveal.is-in{ opacity:1; transform:none; transition: transform .6s ease, opacity .6s ease; }
@media (prefers-reduced-motion: reduce){
  .o-bg-decor, .o-aurora{ animation: none !important; }
  .section-o-nama h2::after{ animation: none !important; transform: none !important; }
  .reveal{ opacity:1; transform:none; }
}

/* Keyframes */
@keyframes oFloat{ 0%{ transform: translate3d(0,0,0) scale(1); } 100%{ transform: translate3d(-2%,1%,0) scale(1.02); } }
@keyframes oDrift{ 0%{ transform: translate3d(0,0,0) rotate(0deg); } 100%{ transform: translate3d(2%,-1%,0) rotate(8deg); } }
@keyframes underlineIn{ to{ transform: scaleX(1); } }




/* ====== SEKCIJA: DOJMOVI (tamni ton) ====== */
#dojmovi {
  background: radial-gradient(120% 140% at 10% 0%, #131316, #0e0f13 60%);
  position: relative;
  padding: clamp(60px, 6vw, 100px) 20px;
  text-align: center;
  color: var(--kb-text);
  border-top: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}

/* Dekorativna pozadina (animirani sloj) */
#dojmovi::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(40% 55% at 85% 10%, rgba(122,215,255,.07), transparent 60%),
    radial-gradient(35% 45% at 15% 90%, rgba(159,112,255,.07), transparent 65%);
  filter: blur(30px);
  animation: floatBg 18s ease-in-out infinite alternate;
  z-index: 0;
}

.svg-pozadina {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: -40px;
  z-index: 1;
}

.svg-pozadina dotlottie-wc {
  width: 320px;
  height: 180px;
  opacity: 0.15;
}

#dojmovi h2 {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 700;
  margin-bottom: 12px;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  position: relative;
  z-index: 1;
}

#dojmovi p {
  color: var(--kb-muted);
  font-size: clamp(15px, 1.4vw, 18px);
  margin-bottom: 40px;
  position: relative;
  z-index: 1;
}

.dojmovi-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  margin-top: 20px;
  position: relative;
  z-index: 1;
}

.dojmovi-sadrzaj {
  width: 100%;
  max-width: 850px;
}

/* ===== FORM ===== */
.dojmovi-form {
  background: var(--kb-card);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: var(--kb-shadow);
}

.dojmovi-form input,
.dojmovi-form textarea {
  padding: 12px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  font-size: 15px;
  background: var(--kb-card-2);
  color: var(--kb-text);
}

.dojmovi-form textarea {
  min-height: 120px;
  resize: vertical;
}

.dojmovi-form button {
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-2));
  color: #fff;
  padding: 12px;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
}

.dojmovi-form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(159,112,255,.35);
}

/* Zvjezdice ocjene */
.ocjena {
  text-align: left;
  font-size: 15px;
  font-weight: 600;
  color: var(--kb-text);
}
.zvjezdice {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-start;
  gap: 4px;
}
.zvjezdice input { display: none; }
.zvjezdice label {
  font-size: 24px;
  color: rgba(255,255,255,.25);
  cursor: pointer;
  transition: color .2s;
}
.zvjezdice input:checked ~ label,
.zvjezdice label:hover,
.zvjezdice label:hover ~ label {
  color: var(--kb-accent);
}




/* === Dojmovi: globalna poruka (bar) === */
.dojmovi-form .form-message{
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.4;
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--kb-bg, #0e0f13) 90%, #000 10%);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--kb-text, #e8e8ea);
  display: none;
}
.dojmovi-form .form-message.show{ display:block; }
.dojmovi-form .form-message.success{
  border-color: color-mix(in oklab, var(--kb-accent, #7ad7ff) 50%, transparent);
  box-shadow: 0 0 0 6px color-mix(in oklab, var(--kb-accent, #7ad7ff) 18%, transparent);
}
.dojmovi-form .form-message.error{
  border-color: color-mix(in oklab, #ff6b6b 60%, transparent);
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 18%, transparent);
}

/* === Dojmovi: per-field error === */
.dojmovi-form .field-error{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.35;
  padding: 8px 10px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--kb-bg, #0e0f13) 92%, #000 8%);
  border: 1px solid rgba(255,255,255,.12);
  color: color-mix(in oklab, var(--kb-text, #e8e8ea) 92%, transparent);
}

/* Invalid highlight: textarea i (diskretno) zvjezdice */
.dojmovi-form .is-invalid{
  outline: none;
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 16%, transparent);
  border-color: color-mix(in oklab, #ff6b6b 55%, transparent) !important;
}

/* Pošto su rating inputi hidden, naglasimo cijeli zvjezdice blok kad je greška */
.dojmovi-form .zvjezdice.is-invalid,
.dojmovi-form .zvjezdice input.is-invalid + label,
.dojmovi-form .zvjezdice input.is-invalid ~ label{
  text-shadow: 0 0 12px color-mix(in oklab, #ff6b6b 35%, transparent);
}

/* Light tema */
.light .dojmovi-form .form-message{
  background: #fff;
  border-color: rgba(0,0,0,.10);
  color: #101218;
}
.light .dojmovi-form .field-error{
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  color: #101218;
}
.light .dojmovi-form .is-invalid{
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 18%, transparent);
  border-color: color-mix(in oklab, #ff6b6b 60%, transparent) !important;
}


/* ===== Autofill fix (Chrome/Safari/Edge – WebKit) za dojmovi-form ===== */
.dojmovi-form input:-webkit-autofill,
.dojmovi-form input:-webkit-autofill:hover,
.dojmovi-form input:-webkit-autofill:focus,
.dojmovi-form textarea:-webkit-autofill {
  -webkit-text-fill-color: var(--kb-text, #e8e8ea);
  caret-color: var(--kb-text, #e8e8ea);
  border: 1px solid rgba(255,255,255,.12);
  -webkit-box-shadow: 0 0 0 1000px var(--kb-card-2, #111218) inset !important;
  box-shadow: 0 0 0 1000px var(--kb-card-2, #111218) inset !important;
  transition: background-color 9999s ease-in-out 0s;
}

/* ===== Autofill (Firefox) ===== */
.dojmovi-form input:-moz-autofill,
.dojmovi-form textarea:-moz-autofill {
  color: var(--kb-text, #e8e8ea) !important;
  caret-color: var(--kb-text, #e8e8ea);
  box-shadow: 0 0 0 1000px var(--kb-card-2, #111218) inset !important;
  border: 1px solid rgba(255,255,255,.12);
}

/* Reci pregledniku da su inputi u dark modu */
.dojmovi-form input,
.dojmovi-form textarea {
  color-scheme: dark;
}







/* ===== LISTA DOJAM ===== */
.dojmovi-lista {
  margin: 40px auto 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.dojam-kartica {
  background: var(--kb-card);
  border-radius: 12px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--kb-shadow);
  text-align: left;
  opacity: 0;
  transform: translateY(25px);
  transition: all .6s ease-out;
}
.dojam-kartica.vidljivo {
  opacity: 1;
  transform: none;
}

.tekst-dojma {
  font-style: italic;
  font-size: 16px;
  color: var(--kb-muted);
  margin-bottom: 14px;
}

.autor-i-ocjena {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
}
.autor-i-ocjena .ocjena {
  color: var(--kb-accent);
  font-weight: 700;
}

/* Profil ikone */
.profil-ikona {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: var(--kb-card-2);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 4px;
  border: 1px solid rgba(255,255,255,.1);
}
.profil-ikona.musko {
  background-image: url('https://img.icons8.com/color/48/user-male-circle--v1.png');
}
.profil-ikona.zensko {
  background-image: url('https://img.icons8.com/color/48/user-female-circle--v1.png');
}
.profil-ikona.neutralno {
  background-image: url('https://img.icons8.com/color/48/user.png');
}

.autor-info {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Animacije */
@keyframes floatBg {
  0% { transform: translate(0,0) scale(1); }
  100% { transform: translate(-2%,1%) scale(1.02); }
}

@media (max-width: 600px) {
  .svg-pozadina dotlottie-wc {
    width: 200px;
    height: 140px;
  }
  .dojmovi-form { padding: 18px; }
}



/* ====== FOOTER (dark) ====== */
/* ========= Footer (Kode Black) ========= */
.footer{
  position:relative; width:100%;
  color:var(--kb-text,#e8e8ea);
  background: radial-gradient(120% 140% at 10% 0%, #131316, #0e0f13 65%);
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}

.footer-bg{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(42% 58% at 85% 8%, rgba(122,215,255,.08), transparent 62%),
    radial-gradient(38% 50% at 14% 92%, rgba(159,112,255,.08), transparent 66%);
  filter: blur(28px);
  opacity:.7;
  animation: footerFloat 18s ease-in-out infinite alternate;
}

.footer-content{
  position:relative; z-index:1;
  max-width:1200px; margin:0 auto;
  padding: clamp(24px, 4vw, 36px) clamp(16px, 3vw, 36px);
}

/* Compact: 2 stupca (brand/social | legal) */
.footer-compact{
  display:grid;
  grid-template-columns: 1.4fr auto;
  gap: clamp(14px, 2vw, 28px);
  align-items:center;
}

/* Brand blok */
.f-left{ display:grid; grid-template-columns:auto 1fr; column-gap:12px; align-items:center; }
.brand{ display:flex; align-items:center; gap:8px; text-decoration:none; color:inherit; }
.brand-dot{
  width:10px; height:10px; border-radius:50%;
  background:linear-gradient(135deg, var(--kb-accent,#8c79ff), var(--kb-accent-2,#53d7ff));
  box-shadow:0 0 18px rgba(140,121,255,.45);
}
.brand-name{ font-weight:800; letter-spacing:.2px; font-size:1.06rem; }
.brand-text{ grid-column:1 / -1; margin:4px 0 0; opacity:.82; font-size:.95rem; line-height:1.35; color:var(--kb-muted,#b5b7be); }

/* Social ikone */
.footer-social{ display:flex; gap:8px; margin-top:8px; }
.footer-social a{
  width:34px; height:34px; display:grid; place-items:center;
  border-radius:9px; color:#fff; text-decoration:none;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.footer-social a:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg, var(--kb-accent,#8c79ff), var(--kb-accent-2,#53d7ff));
  box-shadow:0 6px 16px rgba(159,112,255,.25);
}

/* Legal navigacija */
.footer-legal{
  display:flex; gap:16px; flex-wrap:wrap; justify-content:flex-end;
}
.footer-legal a{
  color:var(--kb-muted,#b5b7be);
  text-decoration:none;
  font-size:.98rem;
  transition:color .2s ease, transform .2s ease;
  white-space:nowrap;
}
.footer-legal a:hover{ color:#fff; transform:translateX(2px); }

/* Donja traka */
.footer-bottom{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
  padding: 12px clamp(16px, 3vw, 36px);
  border-top:1px solid rgba(255,255,255,.06);
}
.footer-bottom p{ margin:0; color:var(--kb-muted,#b5b7be); font-size:.96rem; }

.to-top{
  width:34px; height:34px; display:grid; place-items:center;
  border-radius:8px; border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05); color:#fff;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.to-top:hover{
  transform:translateY(-2px);
  background:linear-gradient(135deg, var(--kb-accent,#8c79ff), var(--kb-accent-2,#53d7ff));
  box-shadow:0 6px 16px rgba(159,112,255,.25);
}

/* Animacija */
@keyframes footerFloat{
  0%{ transform:translate(0,0) scale(1); }
  100%{ transform:translate(-2%,1%) scale(1.02); }
}

/* ===== Responsive ===== */
@media (max-width: 900px){
  .footer-compact{ grid-template-columns: 1fr; align-items:start; row-gap:12px; }
  .footer-legal{ justify-content:flex-start; }
}
@media (prefers-reduced-motion: reduce){
  .footer-bg{ animation:none; }
  .to-top, .footer-social a{ transition:none; }
}


/* ===== Newsletter Banner (Kode Black) ===== */
.newsletter-banner{
  --nl-bg-1: var(--kb-bg, #0e0f13);
  --nl-bg-2: #0b0c10;
  --nl-ring: var(--kb-ring, rgba(122,215,255,.45));
  --nl-text: var(--kb-text, #e8e8ea);
  --nl-sub: color-mix(in oklab, var(--nl-text) 75%, transparent);
  --nl-accent: var(--kb-accent, #7ad7ff);
  --nl-accent-2: var(--kb-accent-2, #9f70ff);

  position: relative;
  color: var(--nl-text);
  padding: clamp(48px, 6vw, 96px) 20px;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(120% 140% at 10% 0%, var(--nl-bg-2), var(--nl-bg-1) 60%);
}

.newsletter-banner .nb-bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(42% 58% at 85% 8%, color-mix(in oklab, var(--nl-accent) 18%, transparent), transparent 62%),
    radial-gradient(38% 50% at 14% 92%, color-mix(in oklab, var(--nl-accent-2) 16%, transparent), transparent 66%);
  filter: blur(28px);
  opacity:.75;
  animation: nbFloat 18s ease-in-out infinite alternate;
}
@media (prefers-reduced-motion: reduce){
  .newsletter-banner .nb-bg{ animation: none; }
}
@keyframes nbFloat{
  0%{ transform: translateY(-6px) scale(1); }
  100%{ transform: translateY(6px) scale(1.01); }
}

.newsletter-banner .nb-wrap{
  position: relative; z-index: 1;
  max-width: 1100px; margin: 0 auto;
  display: grid; gap: 22px;
  grid-template-columns: 1fr;
}
@media (min-width: 920px){
  .newsletter-banner .nb-wrap{
    grid-template-columns: 1.1fr 1fr;
    align-items: center;
    gap: clamp(24px, 4vw, 48px);
  }
}

.nb-title{
  font-size: clamp(28px, 4.2vw, 44px);
  line-height: 1.08;
  letter-spacing: .2px;
  margin: 0 0 10px;
}
.nb-sub{
  margin: 0;
  color: var(--nl-sub);
  font-size: clamp(16px, 1.8vw, 18px);
}

/* ===== Form ===== */
.newsletter{
  display: grid; gap: 14px;
}

.nl-row{
  display: grid; gap: 10px;
  grid-template-columns: 1fr;
}
@media (min-width: 560px){
  .nl-row{ grid-template-columns: 1fr auto; }
}

.nl-input-group{
  position: relative;
  display: flex; align-items: center;
  background: color-mix(in oklab, var(--nl-bg-1) 86%, #000 14%);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: 10px 12px 10px 40px;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.nl-input-group:focus-within{
  border-color: color-mix(in oklab, var(--nl-accent) 64%, transparent);
  box-shadow: 0 0 0 6px color-mix(in oklab, var(--nl-accent) 18%, transparent);
  background: color-mix(in oklab, var(--nl-bg-1) 92%, #000 8%);
}

.nl-icon{
  position: absolute; left: 12px; inset-block: 0; margin: auto 0;
  display: inline-grid; place-items: center;
  width: 22px; height: 100%;
  color: color-mix(in oklab, var(--nl-text) 74%, transparent);
  pointer-events: none;
}

.newsletter input[type="email"]{
  width: 100%;
  background: transparent;
  border: 0; outline: 0;
  color: var(--nl-text);
  font-size: 16px;
  padding: 8px 8px;
  caret-color: var(--nl-accent);
}
.newsletter input[type="email"]::placeholder{
  color: color-mix(in oklab, var(--nl-text) 55%, transparent);
}

/* Button */.nl-btn {
  background: var(--nl-accent);
  color: #fff;
  font-weight: 600;
  padding: 12px 22px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  transition: background .25s ease, transform .12s ease;
}
.nl-btn:hover {
  background: color-mix(in oklab, var(--nl-accent) 85%, black);
  transform: translateY(-1px);
}
.nl-btn:active {
  transform: translateY(0);
}

/* Consent */
.nl-consent{
  display: flex; gap: 10px; align-items: flex-start;
  font-size: 14px; color: color-mix(in oklab, var(--nl-text) 70%, transparent);
}
.nl-consent input{ margin-top: 3px; transform: translateY(1px); }

/* Note */
.nl-note{
  margin: 2px 0 0;
  font-size: 13px;
  color: color-mix(in oklab, var(--nl-text) 58%, transparent);
}

/* Inline status message (radi s tvojim .form-message klasama iz JS-a) */
.form-message{
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.4;
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--nl-bg-1) 90%, #000 10%);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--nl-text);
  display: none;
}
.form-message.show{ display: block; }

.form-message.success{
  border-color: color-mix(in oklab, var(--nl-accent) 50%, transparent);
  box-shadow: 0 0 0 6px color-mix(in oklab, var(--nl-accent) 18%, transparent);
}
.form-message.error{
  border-color: color-mix(in oklab, #ff6b6b 60%, transparent);
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 18%, transparent);
}

/* Light varijanta (ako koristiš .light na body-ju) */
.light .newsletter-banner{
  --nl-bg-1:#ffffff;
  --nl-bg-2:#f7f8fa;
  --nl-text:#101218;
  --nl-sub: color-mix(in oklab, var(--nl-text) 70%, transparent);
  border-top: 1px solid rgba(0,0,0,.06);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.light .nl-input-group{
  background: #fff;
  border-color: rgba(0,0,0,.10);
}
.light .nl-input-group:focus-within{
  box-shadow: 0 0 0 6px color-mix(in oklab, var(--nl-accent) 20%, transparent);
}
.light .form-message{
  background: #fff;
  border-color: rgba(0,0,0,.10);
}
.newsletter input[type="email"]:focus {
  outline: none; /* makne default bijeli pravokutnik */
}
/* skine default bijeli/žuti highlight kad browser autofilla email */
.newsletter input[type="email"]:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
  -webkit-text-fill-color: var(--nl-text) !important;
  transition: background-color 9999s ease-in-out 0s;
}
.newsletter input[type="email"]:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
  -webkit-text-fill-color: var(--nl-text) !important;
}

/* === Newsletter: per-field error & invalid === */
.newsletter-banner .field-error{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.35;
  padding: 8px 10px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--nl-bg-1) 92%, #000 8%);
  border: 1px solid rgba(255,255,255,.12);
  color: color-mix(in oklab, var(--nl-text) 92%, transparent);
}

.newsletter-banner .is-invalid{
  outline: none;
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 16%, transparent);
  border-color: color-mix(in oklab, #ff6b6b 55%, transparent) !important;
}

/* Light tema */
.light .newsletter-banner .field-error{
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  color: #101218;
}
.light .newsletter-banner .is-invalid{
  box-shadow: 0 0 0 6px color-mix(in oklab, #ff6b6b 18%, transparent);
  border-color: color-mix(in oklab, #ff6b6b 60%, transparent) !important;
}




:root{ --nav-h: 72px; }          /* stvarna visina tvog navbara */

body{ padding-top: var(--nav-h); }   /* oslobodi prostor ispod fixa */

section[id]{
  scroll-margin-top: calc(var(--nav-h) + 12px); /* sidra ne upadaju ispod nav-a */
}

/* ako je na mobu navbar malo niži/viši, prilagodi: */
@media (max-width: 768px){
  :root{ --nav-h: 72px; }        /* npr. 64px ili 72px, prema tvojoj visini */
}

/* ==== Dark pozadina za cijelu stranicu logo-gallery ==== */
.logo-stranica {
  background:
    radial-gradient(70% 120% at 105% -10%, rgba(159,112,255,.10), transparent 55%),
    radial-gradient(70% 120% at -10% 110%, rgba(122,215,255,.08), transparent 55%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.015) 0 1px, transparent 1px 28px),
    #0b0b0e;   /* tamna osnovna boja */
  background-attachment: fixed;
  color: #e8e8ea;
}

/* ========== LOGO GALLERY Dark mode ========== */
.logo-gallery {
  padding: 40px 20px;
  max-width: 1200px;
  margin: auto;
  text-align: center;
}

/* naslovi */
.logo-gallery h1 {
  font-size: 3rem;
  margin-bottom: 10px;
  color: #fff;
}
.logo-gallery h2 {
  font-size: 2.2rem;
  margin-bottom: 16px;
  font-weight: 600;
  color: #e8e8ea;
  position: relative;
}
.logo-gallery h2::after {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  background: linear-gradient(90deg, #9f70ff, #6ec8ff);
  margin: 8px auto 0;
  border-radius: 2px;
}
.logo-gallery .intro {
  font-size: 1rem;
  color: #aaa;
  margin-bottom: 30px;
}

/* grid i kartice */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.gallery-item img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.55);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.gallery-item img:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 28px rgba(159,112,255,0.25);
}
.gallery-item p {
  margin-top: 10px;
  font-size: 0.95rem;
  color: #ccc;
}

/* tall banners */
.gallery-row.tall-banners {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin: 40px 0;
  justify-content: center;
  align-items: stretch;
}
.gallery-item.tall img {
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.55);
}
.gallery-item.tall p {
  color: #ccc;
}

/* horizontalni bannere */
.horizontal-banner,
.horizontal-bannerr {
  margin-top: 30px;
  width: 100%;
  text-align: center;
}
.horizontal-banner img,
.horizontal-bannerr img {
  width: 100%;
  max-height: 280px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.55);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.horizontal-banner img:hover,
.horizontal-bannerr img:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 28px rgba(159,112,255,0.25);
}
.horizontal-banner p,
.horizontal-bannerr p {
  margin-top: 10px;
  font-size: 1rem;
  color: #ccc;
}

/* responsive */
@media (max-width: 580px) {
  .gallery-item p,
  .horizontal-banner p,
  .horizontal-bannerr p {
    font-size: 0.8rem;
  }
}
/* ==== FIX 1: Tekst u dark modu (nikad crn na crnom) ==== */
.logo-gallery { color: #e8e8ea; } /* default text za sekciju */

.logo-gallery h1,
.logo-gallery h2 { color: #ffffff; }

.logo-gallery .intro,
.gallery-item p,
.horizontal-banner p,
.horizontal-bannerr p {
  color: #cfd0d6;     /* svjetlije caption boje */
}

/* sigurnosno: ako je negdje ostala naslijeđena crna */
.logo-gallery p { color: #cfd0d6; }

/* ==== FIX 2: “Tall” bannere smanjiti (kao prije) ==== */
.gallery-row.tall-banners{
  max-width: 1200px;
  margin: 40px auto;
  gap: 24px;
}

.gallery-item.tall{
  flex: 1 1 420px;     /* kontrolirana širina, neće biti ogromni */
  max-width: 520px;
}

/* zadržimo lijepi omjer bez da budu prevelike visine */
.gallery-item.tall img{
  width: 100%;
  aspect-ratio: 3 / 4; /* manja visina od “auto” */
  height: auto;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,.55);
}

/* dodatno stisni na užim ekranima */
@media (max-width: 900px){
  .gallery-item.tall{ flex: 1 1 360px; max-width: 460px; }
  .gallery-item.tall img{ aspect-ratio: 4 / 5; }
}
@media (max-width: 580px){
  .gallery-item.tall{ flex: 1 1 100%; max-width: 520px; }
  .gallery-item.tall img{ aspect-ratio: 4 / 5; }
}

/* ==== FIX 3: Horizontalne bannere malo niže ==== */
.horizontal-banner img,
.horizontal-bannerr img{
  max-height: 220px;   /* bilo 280px – sada kompaktnije */
  object-fit: cover;
}

/* (opcionalno) lagani hover glow da paše uz temu */
.gallery-item img:hover,
.horizontal-banner img:hover,
.horizontal-bannerr img:hover{
  box-shadow: 0 10px 28px rgba(159,112,255,.25);
}
/* Visoki bannera - ostaju u redu */ .gallery-row.tall-banners { display: flex; flex-wrap: wrap; gap: 30px; margin: 40px 0; justify-content: center; align-items: stretch; } .gallery-item.tall { flex: 1 1 45%; display: flex; flex-direction: column; align-items: center; text-align: center; } .gallery-item.tall img { width: 100%; height: auto; max-height: 100%; border-radius: 12px; object-fit: cover; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease; } .gallery-item.tall img:hover { transform: scale(1.03); } .gallery-item.tall p { margin-top: 10px; font-size: 0.95rem; color: #333; } /* Horizontalni banner */ .horizontal-banner, .horizontal-bannerr { margin-top: 30px; width: 100%; text-align: center; } .horizontal-banner img, .horizontal-bannerr img { width: 100%; max-height: 280px; object-fit: cover; border-radius: 12px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease; } .horizontal-banner img:hover, .horizontal-bannerr img:hover { transform: scale(1.02); } .horizontal-banner p, .horizontal-bannerr p { margin-top: 10px; font-size: 1rem; color: #333; } @media (max-width: 580px) { .gallery-item p, .horizontal-banner p, .horizontal-bannerr p { font-size: 0.7rem; } }
/* ==== Dark pozadina za stranicu društvene mreže ==== */
body.drustv-stranica {
  background:
    radial-gradient(70% 120% at 105% -10%, rgba(159,112,255,.10), transparent 55%),
    radial-gradient(70% 120% at -10% 110%, rgba(122,215,255,.08), transparent 55%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.015) 0 1px, transparent 1px 28px),
    #0b0b0e;   /* glavna crna */
  background-attachment: fixed;
  color: #e8e8ea;
}

.mreze-section {
  padding: 50px 20px;
  max-width: 1200px;
  margin: auto;
  text-align: center;
}

.mreze-naslov {
  font-size: 2.2rem;
  margin-bottom: 10px;
}

.mreze-opis {
  font-size: 1rem;
  color: #666;
  margin-bottom: 40px;
}
.mreze-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  justify-items: center; /* centrira sadržaj */
}

.mreza-item img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.mreza-item img:hover {
  transform: scale(1.04);
}

.mreza-item p {
  margin-top: 10px;
  font-size: 0.95rem;
  color: #e8e8ea;
}
.mreza-item video {
  width: 100%;
  aspect-ratio: 9 / 16;
  max-height: 600px;
  object-fit: cover;
  border-radius: 30px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease;
  background: #000;
}

.mreza-item video:hover {
  transform: scale(1.03);
}
.facebook-posts {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 40px;
}

.fb-post {
  max-width: 420px;
  width: 100%;
  text-align: center;
}

.fb-post img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.fb-post img:hover {
  transform: scale(1.03);
}

.fb-post p {
  margin-top: 10px;
  font-size: 0.95rem;
  color: #e8e8ea;
}
@media (max-width: 480px) {
  .mreze-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 15px;
  }
  .mreza-item,
  .fb-post {
    max-width: 400px;
  }
  .mreza-item video {
    max-width: 200px;
    border-radius: 16px;
  }
}

.moodboard-section {
  padding: 60px 20px;
  text-align: center;
}

.palette-title {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 10px;
  margin-top: 40px;
  color: #e8e8ea;
}

.color-row {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.color-sample {
  width: 90px;
  height: 90px;
  color: white;
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

/* Hover efekt */
.color-sample:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
}


.insta-grid-section {
  padding: 50px 20px;
  text-align: center;
}

.insta-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  max-width: 700px;
  margin: 0 auto;
}

.insta-grid img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform 0.2s ease;
  cursor: pointer;
}

.insta-grid img:hover {
  transform: scale(1.03);
}.video-mobile-preview {
  padding: 60px 20px;
  text-align: center;
}

.video-row {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.video-wrapper {
  width: 300px;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-wrapper video {
  width: 100%;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  display: block;
  background: #000;
}

.video-wrapper:hover {
  transform: scale(1.03);
  box-shadow: 0 15px 30px rgba(255, 170, 0, 0.3);
}

.video-button {
  background-color: rgb(172, 172, 172);
  color: white;
  padding: 22px 44px;
  text-decoration: none;
  border-radius: 6px;
  --font-main: 'Poppins', sans-serif;
  transition: background-color 0.3s ease;
  margin-top: 10px;
}

.video-button:hover {
  background-color: #1f2937;
}

/* --- PRILAGODBA ZA MOBITELE --- */
@media (max-width: 640px) {
  .video-wrapper {
    width: calc(50% - 10px); /* 2 stupca */
    max-width: 220px;       /* kontrola max širine */
  }
  .video-row {
    gap: 10px; /* manji razmak */
  }
}



:root{
  --accent: #7c3aed;
  --accent-light: #a78bfa;
  --bg-light: #f8f9fc;
  --text-dark: #1a1a1a;
  --text-muted: #555;
}

.closing-pitch-v2 {

  text-align: center;
    background: radial-gradient(circle, rgba(124,58,237,0.15) 0%, transparent 60%);

}

.closing-pitch-v2__content {
  max-width: 800px;
  color: white;
  margin: 0 auto;
  padding: 20px 28px;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}

/* Gradient halo */
.closing-pitch-v2__content::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200%;
  height: 200%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

/* Text & CTA */
.closing-pitch-v2__title,
.closing-pitch-v2__text,
.closing-pitch-v2__cta {
  position: relative;
    color: white;

  z-index: 1;
}

.closing-pitch-v2__title {
  color: var(--text-dark);
  font-size: clamp(1.4rem, 1.2rem + 1.2vw, 2rem);
  font-weight: 800;
  margin-bottom: 14px;
    color: white;

}

.closing-pitch-v2__text {
  color: var(--text-muted);
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.1rem);
  line-height: 1.6;
  margin-bottom: 26px;
    color: white;

}

.closing-pitch-v2__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--accent), var(--accent-light));
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  font-size: 1rem;
  box-shadow: 0 6px 20px rgba(124,58,237,0.4);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.closing-pitch-v2__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(124,58,237,0.5);
}

/* Sitna pažnja pristupačnosti */
@media (prefers-reduced-motion: reduce){
  .closing-pitch__cta{ transition: none; }
}

/* Kompaktnije na jako malim uređajima */
@media (max-width: 360px){
  .closing-pitch__card{ padding: 28px 18px; }
}
@media (max-width: 640px) {
  .closing-pitch__title {
    font-size: 1rem;
  }
  .closing-pitch__text {
    font-size: 0.75rem;
  }
  .closing-pitch__cta {
    font-size: 0.7rem;
    padding: 10px 20px;
  }
  .closing-pitch__cta svg {
    width: 16px;
    height: 16px;
  }
}
body.radovi-page {
  background:
    radial-gradient(70% 120% at 105% -10%, rgba(159,112,255,.10), transparent 55%),
    radial-gradient(70% 120% at -10% 110%, rgba(122,215,255,.08), transparent 55%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.015) 0 1px, transparent 1px 28px),
    #0b0b0e;
  background-attachment: fixed;
  color: #e8e8ea;
}


.theme-toggle {
  width: 42px;
  height: 42px;
  border: none;
  border-radius: 50%;
background: #2a8a9b;
background: linear-gradient(90deg,rgba(42, 138, 155, 1) 0%, rgba(104, 87, 199, 1) 50%, rgba(168, 83, 237, 1) 100%);  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.2rem;
  transition: background 0.3s ease, transform 0.2s ease;
  margin-left: 10px;
}

.theme-toggle:hover {
  transform: scale(1.05);
}

.theme-toggle .sun,
.theme-toggle .moon {
  position: absolute;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.theme-toggle .sun { opacity: 1; color: #facc15; } /* žuta */
body.light .theme-toggle .sun { opacity: 0; }
body.light .theme-toggle .moon { opacity: 1; color: #4b5563; } /* tamno siva */



.privatnostkontakt {

color: rgb(148, 148, 148);
}

/* ====== Cookies page (unikatne klase) ====== */
.cookies{
  background: var(--kb-bg);
  color: var(--kb-text);
}

.cookies-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 20px;
}

.cookies-hero{
  position: relative;
  border-bottom: 1px solid var(--kb-border);
  background:
    radial-gradient(42% 58% at 85% 8%, color-mix(in oklab, var(--kb-accent) 10%, transparent), transparent 60%),
    radial-gradient(38% 50% at 14% 92%, color-mix(in oklab, #9f70ff 10%, transparent), transparent 64%),
    color-mix(in oklab, var(--kb-bg) 92%, #000 8%);
}

.cookies-title{
  margin: 0 0 6px;
  font-size: clamp(28px, 4.2vw, 42px);
  line-height: 1.15;
}

.cookies-lead{
  color: var(--kb-text);
  opacity: .8;
  max-width: 70ch;
}

.cookies-card{
  margin: 18px 0;
  background:
    linear-gradient(180deg, var(--kb-surface), color-mix(in oklab, var(--kb-surface) 92%, #000 8%));
  border: 1px solid var(--kb-border);
  border-radius: 16px;
  box-shadow: 0 10px 30px -20px rgba(0,0,0,.6);
}

.cookies-h2{
  margin: 2px 0 10px;
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.25;
}
.cookies-h3{
  margin: 14px 0 8px;
  font-size: clamp(18px, 2.4vw, 22px);
}

.cookies-type + .cookies-type{ margin-top: 18px; }

.cookies-table-wrap{
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid var(--kb-border);
}

.cookies-table{
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  background: transparent;
}
.cookies-table th,
.cookies-table td{
  padding: 12px 14px;
  border-bottom: 1px solid var(--kb-border);
  text-align: left;
}
.cookies-table thead th{
  font-weight: 600;
  background: color-mix(in oklab, var(--kb-surface) 80%, #000 20%);
}
.cookies-table tbody tr:hover{
  background: color-mix(in oklab, var(--kb-surface) 75%, #000 25%);
}

.cookies-steps{
  margin: 10px 0 0 18px;
}
.cookies-steps li{ margin: 6px 0; }

.cookies-actions{
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.cookies-btn{
  appearance: none;
  border: 1px solid color-mix(in oklab, var(--kb-accent) 50%, transparent);
  background: color-mix(in oklab, var(--kb-accent) 18%, transparent);
  color: var(--kb-text);
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 600;
  cursor: pointer;
}
.cookies-btn:hover{
  box-shadow: 0 0 0 6px var(--kb-accent-soft);
}

.cookies-hint{
  margin-top: 6px;
  font-size: 14px;
  color: color-mix(in oklab, var(--kb-text) 70%, transparent);
}

.cookies-meta{
  margin-top: 6px;
  font-size: 13px;
  color: color-mix(in oklab, var(--kb-text) 60%, transparent);
}

/* linkovi u sklopu stranice */
.cookies a{ color: var(--kb-accent); }
.cookies a:hover{ text-decoration: underline; }

/* responsive */
@media (max-width: 640px){
  .cookies-lead{ font-size: 15px; }
}







/* ====== Privacy page (unikatne klase) ====== */
.privacy{
  background: var(--kb-bg);
  color: var(--kb-text);
}

.privacy-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 20px;
}

.privacy-hero{
  position: relative;
  border-bottom: 1px solid var(--kb-border);
  background:
    radial-gradient(42% 58% at 85% 8%, color-mix(in oklab, var(--kb-accent) 10%, transparent), transparent 60%),
    radial-gradient(38% 50% at 14% 92%, color-mix(in oklab, #9f70ff 10%, transparent), transparent 64%),
    color-mix(in oklab, var(--kb-bg) 92%, #000 8%);
}

.privacy-title{
  margin: 0 0 6px;
  font-size: clamp(28px, 4.2vw, 42px);
  line-height: 1.15;
}

.privacy-lead{
  color: var(--kb-text);
  opacity: .8;
  max-width: 70ch;
}

.privacy-card{
  margin: 18px 0;
  background:
    linear-gradient(180deg, var(--kb-surface), color-mix(in oklab, var(--kb-surface) 92%, #000 8%));
  border: 1px solid var(--kb-border);
  border-radius: 16px;
  box-shadow: 0 10px 30px -20px rgba(0,0,0,.6);
}

.privacy-h2{
  margin: 2px 0 10px;
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.25;
}

.privacy-list{
  margin: 8px 0 0 18px;
}
.privacy-list li{ margin: 6px 0; }

.privacy-table-wrap{
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid var(--kb-border);
  margin-top: 8px;
}

.privacy-table{
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  background: transparent;
}
.privacy-table th,
.privacy-table td{
  padding: 12px 14px;
  border-bottom: 1px solid var(--kb-border);
  text-align: left;
}
.privacy-table thead th{
  font-weight: 600;
  background: color-mix(in oklab, var(--kb-surface) 80%, #000 20%);
}
.privacy-table tbody tr:hover{
  background: color-mix(in oklab, var(--kb-surface) 75%, #000 25%);
}

.privacy-note{
  margin-top: 8px;
  font-size: 14px;
  color: color-mix(in oklab, var(--kb-text) 70%, transparent);
}

.privacy-meta{
  margin-top: 6px;
  font-size: 13px;
  color: color-mix(in oklab, var(--kb-text) 60%, transparent);
}

/* linkovi unutar stranice */
.privacy a{ color: var(--kb-accent); }
.privacy a:hover{ text-decoration: underline; }

/* responsive */
@media (max-width: 640px){
  .privacy-lead{ font-size: 15px; }
}





/* ====== Terms page (unikatne klase) ====== */
.terms{
  background: var(--kb-bg);
  color: var(--kb-text);
}

.terms-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 20px;
}

.terms-hero{
  position: relative;
  border-bottom: 1px solid var(--kb-border);
  background:
    radial-gradient(42% 58% at 85% 8%, color-mix(in oklab, var(--kb-accent) 10%, transparent), transparent 60%),
    radial-gradient(38% 50% at 14% 92%, color-mix(in oklab, #9f70ff 10%, transparent), transparent 64%),
    color-mix(in oklab, var(--kb-bg) 92%, #000 8%);
}

.terms-title{
  margin: 0 0 6px;
  font-size: clamp(28px, 4.2vw, 42px);
  line-height: 1.15;
}

.terms-lead{
  color: var(--kb-text);
  opacity: .8;
  max-width: 70ch;
}

.terms-card{
  margin: 18px 0;
  background:
    linear-gradient(180deg, var(--kb-surface), color-mix(in oklab, var(--kb-surface) 92%, #000 8%));
  border: 1px solid var(--kb-border);
  border-radius: 16px;
  box-shadow: 0 10px 30px -20px rgba(0,0,0,.6);
}

.terms-h2{
  margin: 2px 0 10px;
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.25;
}

.terms-list{
  margin: 8px 0 0 18px;
}
.terms-list li{ margin: 6px 0; }

/* linkovi unutar stranice */
.terms a{ color: var(--kb-accent); }
.terms a:hover{ text-decoration: underline; }

.terms-meta{
  margin-top: 6px;
  font-size: 13px;
  color: color-mix(in oklab, var(--kb-text) 60%, transparent);
}

/* responsive */
@media (max-width: 640px){
  .terms-lead{ font-size: 15px; }
}
