/* ==========================================================================
   iCAD — steel detailing studio
   Dizajn izveden iz samih nacrta: papir, tinta, cijan oznaka pozicije,
   revizijska crvena, sastavnica kao motiv za metapodatke.
   Fontovi lokalno (bez vanjskih poziva).
   ========================================================================== */

/* ------------------------------------------------------------------ fontovi */
@font-face{font-family:"Archivo";src:url("../fonts2/archivo-latin-400-700.woff2") format("woff2");
  font-weight:400 700;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Archivo";src:url("../fonts2/archivo-latin-ext-400-700.woff2") format("woff2");
  font-weight:400 700;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

@font-face{font-family:"Archivo";src:url("../fonts2/archivo-italic-latin-400-700.woff2") format("woff2");
  font-weight:400 700;font-style:italic;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Archivo";src:url("../fonts2/archivo-italic-latin-ext-400-700.woff2") format("woff2");
  font-weight:400 700;font-style:italic;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

@font-face{font-family:"Newsreader";src:url("../fonts2/newsreader-latin-300-600.woff2") format("woff2");
  font-weight:300 600;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Newsreader";src:url("../fonts2/newsreader-latin-ext-300-600.woff2") format("woff2");
  font-weight:300 600;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

@font-face{font-family:"Manrope";src:url("../fonts2/manrope-latin-400-800.woff2") format("woff2");
  font-weight:400 800;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Manrope";src:url("../fonts2/manrope-latin-ext-400-800.woff2") format("woff2");
  font-weight:400 800;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

@font-face{font-family:"Plex Mono";src:url("../fonts2/plexmono-latin-400.woff2") format("woff2");
  font-weight:400;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Plex Mono";src:url("../fonts2/plexmono-latin-ext-400.woff2") format("woff2");
  font-weight:400;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Plex Mono";src:url("../fonts2/plexmono-latin-500.woff2") format("woff2");
  font-weight:500;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Plex Mono";src:url("../fonts2/plexmono-latin-ext-500.woff2") format("woff2");
  font-weight:500;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ------------------------------------------------------------------ tokeni */
:root{
  /* papir i tinta — boje su uzete s nacrta */
  --papir:#f3f2ed;
  --papir-2:#eae8e0;
  --papir-3:#dedbd1;
  --tinta:#15171a;
  --tinta-2:#575d65;
  --tinta-3:#8a9098;
  --crta:rgba(21,23,26,.15);
  --crta-2:rgba(21,23,26,.30);
  /* cijan iz okvira oznake pozicije na radioničkim nacrtima */
  --oznaka:#0b7c8c;
  --oznaka-jaka:#06616e;
  --oznaka-blijeda:rgba(11,124,140,.10);
  /* crvena kojom se na nacrtima označava revizija — koristi se vrlo štedljivo */
  --revizija:#c8102e;
  /* tamni blok */
  --noc:#121417;
  --noc-2:#1b1e22;
  --noc-tekst:#edece7;

  --display:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --tekst:"Newsreader",Georgia,"Times New Roman",serif;
  /* sučelje (navigacija, gumbi, oznake) — zaobljeniji, suvremeniji rez */
  --ui:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* mono ostaje samo za stvarne tehničke podatke: profili, brojevi listova */
  --mono:"Plex Mono",ui-monospace,Consolas,monospace;

  --sirina:1560px;
  --rub:clamp(18px,4vw,72px);
  --lako:cubic-bezier(.2,.7,.2,1);
  --oblo:10px;
  --oblo-veliko:14px;
}

/* ------------------------------------------------------------------ reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  background:var(--papir);color:var(--tinta);
  font-family:var(--tekst);font-size:17px;line-height:1.62;
  font-optical-sizing:auto;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
table{border-collapse:collapse;width:100%}
::selection{background:var(--oznaka);color:#fff}
:focus-visible{outline:2px solid var(--oznaka);outline-offset:3px;border-radius:1px}

.omot{max-width:var(--sirina);margin-inline:auto;padding-inline:var(--rub)}
.tek-citac{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* zajednički tipografski razredi ------------------------------------------ */
.natpis{                      /* mala oznaka iznad naslova */
  font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:.01em;
  color:var(--oznaka);display:flex;align-items:center;gap:9px;
}
.natpis::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.naslov{
  font-family:var(--display);font-weight:600;letter-spacing:-.022em;line-height:1.02;
  font-size:clamp(30px,4.2vw,58px);text-wrap:balance;
}
.naslov-vel{font-size:clamp(38px,6.4vw,104px);letter-spacing:-.03em;line-height:.96}
.uvod{font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:var(--tinta-2);max-width:60ch}
.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;font-variant-numeric:tabular-nums}

/* ---------------------------------------------------------------------------
   SASTAVNICA — preuzeto s Berislavovih radioničkih nacrta.
   Na njegovim listovima polje izgleda ovako:
       │ Pozicija :  tr3      │ Mjerilo : 1:5 │
       │ Materijal : S235JR   │ Revizija: Rev0│
   Dakle: tanke crte, oznaka uspravno s razmakom prije dvotočke,
   vrijednost u kurzivu, revizija crvena. Isti jezik koristi cijela stranica
   umjesto generičkih „pill" oznaka.
   --------------------------------------------------------------------------- */
.celija{
  display:inline-flex;align-items:stretch;border:1px solid var(--crta-2);
  background:var(--papir);font-family:var(--display);line-height:1;
  max-width:100%;border-radius:7px;overflow:hidden;
}
.celija > b{
  font-weight:500;font-size:11.5px;letter-spacing:.01em;color:var(--tinta-2);
  padding:6px 8px 6px 9px;white-space:nowrap;display:flex;align-items:center;
}
.celija > b::after{content:" :";white-space:pre}     /* razmak prije dvotočke — kao na nacrtu */
.celija > span{
  font-style:italic;font-weight:500;font-size:12.5px;color:var(--tinta);
  padding:6px 10px 6px 8px;border-left:1px solid var(--crta);
  display:flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;
}
.celija.rev > span{color:var(--revizija)}
.celija.tamno{background:rgba(18,20,23,.66);border-color:rgba(237,236,231,.26);
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.celija.tamno > b{color:#9aa2ab}
.celija.tamno > span{color:var(--noc-tekst);border-left-color:rgba(237,236,231,.2)}

/* niz polja jedan do drugog, kao redak sastavnice */
.sastavnica-red{display:flex;flex-wrap:wrap;gap:7px}

/* zadržana stara klasa za činjenice u modalu */
.marka{
  display:inline-flex;align-items:center;border:1px solid var(--crta-2);
  font-family:var(--display);font-style:italic;font-weight:500;font-size:12.5px;
  color:var(--tinta);padding:6px 11px;line-height:1.3;background:var(--papir);
  border-radius:7px;
}

/* ------------------------------------------------------------------ zaglavlje */
.vrh{
  position:fixed;inset:0 0 auto;z-index:100;
  border-bottom:1px solid transparent;transition:background .35s,border-color .35s,backdrop-filter .35s;
}
.vrh.uz-rub{
  background:rgba(243,242,237,.86);backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom-color:var(--crta);
}
.vrh .omot{display:flex;align-items:center;gap:24px;height:66px}
.logo{display:flex;align-items:center;gap:13px;margin-right:auto;color:var(--tinta)}
.logo-svg{height:22px;width:auto;flex:none}
.logo-dodatak{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--tinta-3);padding-left:13px;border-left:1px solid var(--crta-2);
  white-space:nowrap;
}
@media(max-width:620px){.logo-dodatak{display:none}}
.noga-znak{height:26px;width:auto;flex:none;color:#5c646d}
/* navigacija — zaobljene stavke umjesto razmaknutih verzala */
.izbor{display:flex;gap:2px;align-items:center}
.izbor a{
  font-family:var(--ui);font-size:14.5px;font-weight:500;letter-spacing:-.005em;
  color:var(--tinta-2);padding:8px 14px;border-radius:var(--oblo);
  transition:color .2s,background .2s;
}
.izbor a:hover{color:var(--tinta);background:rgba(21,23,26,.055)}

/* prebacivanje jezika sa zastavicom */
.jezik{display:flex;gap:3px;background:rgba(21,23,26,.06);padding:3px;border-radius:999px}
.jezik button{
  font-family:var(--ui);font-size:12.5px;font-weight:600;letter-spacing:.01em;
  padding:6px 12px 6px 8px;color:var(--tinta-2);border-radius:999px;
  display:flex;align-items:center;gap:6px;transition:background .22s,color .22s,box-shadow .22s;
}
.jezik button svg{width:18px;height:13px;border-radius:2px;flex:none;display:block;
  box-shadow:0 0 0 1px rgba(21,23,26,.14) inset}
.jezik button[aria-pressed="true"]{
  background:var(--papir);color:var(--tinta);box-shadow:0 1px 3px rgba(21,23,26,.14);
}
.jezik button:not([aria-pressed="true"]):hover{color:var(--tinta)}
.jezik button:not([aria-pressed="true"]) svg{opacity:.55}

.hamb{display:none;width:34px;height:34px;position:relative;z-index:120}
.hamb i{position:absolute;left:7px;right:7px;height:1.5px;background:var(--tinta);transition:transform .35s var(--lako),opacity .2s}
.hamb i:nth-child(1){top:12px}
.hamb i:nth-child(2){top:17px}
.hamb i:nth-child(3){top:22px}
.hamb[aria-expanded="true"] i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.hamb[aria-expanded="true"] i:nth-child(2){opacity:0}
.hamb[aria-expanded="true"] i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

.mob{
  position:fixed;inset:0;z-index:110;background:var(--papir);padding:96px var(--rub) 40px;
  display:flex;flex-direction:column;gap:2px;
  clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--lako);
}
.mob[data-otvoren="true"]{clip-path:inset(0 0 0 0)}
.mob a{
  font-family:var(--display);font-weight:600;font-size:clamp(28px,7vw,44px);letter-spacing:-.02em;
  padding-block:14px;border-bottom:1px solid var(--crta);display:flex;align-items:baseline;gap:14px;
  opacity:0;transform:translateY(14px);transition:opacity .4s,transform .4s var(--lako);
}
.mob a small{font-family:var(--ui);font-size:12px;font-weight:600;color:var(--oznaka);letter-spacing:.02em}
.mob[data-otvoren="true"] a{opacity:1;transform:none}
.mob[data-otvoren="true"] a:nth-child(1){transition-delay:.10s}
.mob[data-otvoren="true"] a:nth-child(2){transition-delay:.16s}
.mob[data-otvoren="true"] a:nth-child(3){transition-delay:.22s}
.mob[data-otvoren="true"] a:nth-child(4){transition-delay:.28s}
.mob[data-otvoren="true"] a:nth-child(5){transition-delay:.34s}
.mob .mob-noga{margin-top:auto;font-family:var(--ui);font-size:13.5px;color:var(--tinta-3)}
@media(max-width:940px){
  .izbor{display:none}
  .hamb{display:block}
}

/* ------------------------------------------------------------------ hero */
.hero{padding-top:66px;position:relative;overflow:hidden}
.hero-mreza{
  display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,2.4vw,34px);
  padding-block:clamp(34px,4.6vw,66px) clamp(22px,2.6vw,34px);
}
.hero h1{
  font-family:var(--display);font-weight:600;letter-spacing:-.032em;line-height:.95;
  font-size:clamp(38px,6.1vw,92px);text-wrap:balance;max-width:19ch;
}
.hero h1 em{font-style:normal;color:var(--oznaka)}
.hero-pod{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(20px,4vw,64px);align-items:end;
}
.hero-opis{font-size:clamp(16.5px,1.35vw,19.5px);line-height:1.55;color:var(--tinta-2);max-width:52ch}
.hero-akcije{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:860px){
  .hero-pod{grid-template-columns:1fr;align-items:start;gap:22px}
  .hero-akcije .gumb{flex:1 1 auto;justify-content:center;white-space:nowrap}
}
@media(max-width:430px){
  .hero h1{font-size:33px;letter-spacing:-.028em}
}

/* velika slika ispod naslova */
.hero-slika{position:relative;border-top:1px solid var(--crta);padding-top:14px}
.hero-slika img{width:100%;height:clamp(300px,58vh,620px);object-fit:cover;object-position:center 45%;border-radius:var(--oblo-veliko)}
.hero-slika figcaption{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--tinta-3);padding-top:10px;
}

/* gumbi */
/* gumbi — zaobljeni, u rečeničnom slogu, bez razmaknutih verzala */
.gumb{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--ui);font-size:15px;font-weight:600;letter-spacing:-.008em;
  padding:13px 22px;border:1px solid var(--crta-2);color:var(--tinta);
  border-radius:999px;background:transparent;
  transition:background .25s,color .25s,border-color .25s,transform .25s var(--lako),box-shadow .25s;
}
.gumb:hover{background:rgba(21,23,26,.055);transform:translateY(-1px)}
.gumb i{font-style:normal;transition:transform .25s var(--lako);font-size:1.05em;line-height:1}
.gumb:hover i{transform:translateX(3px)}
.gumb.pun{
  background:var(--tinta);color:var(--papir);border-color:var(--tinta);
  box-shadow:0 1px 2px rgba(21,23,26,.2);
}
.gumb.pun:hover{background:var(--oznaka);border-color:var(--oznaka);color:#fff;
  box-shadow:0 6px 18px rgba(11,124,140,.28)}
.gumb.svijetli{border-color:rgba(237,236,231,.35);color:var(--noc-tekst)}
.gumb.svijetli:hover{background:var(--noc-tekst);color:var(--noc);border-color:var(--noc-tekst)}

/* ------------------------------------------------------------------ brojke */
.brojke{
  border-top:1px solid var(--crta);border-bottom:1px solid var(--crta);
  display:grid;grid-template-columns:repeat(4,1fr);
}
.brojka{padding:clamp(20px,2.4vw,30px) clamp(12px,1.6vw,24px);border-left:1px solid var(--crta)}
.brojka:first-child{border-left:0;padding-left:0}
.brojka b{
  display:block;font-family:var(--display);font-weight:600;letter-spacing:-.03em;
  font-size:clamp(26px,3.4vw,46px);line-height:1;font-variant-numeric:tabular-nums;
}
.brojka span{
  display:block;margin-top:8px;font-family:var(--mono);font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--tinta-3);line-height:1.45;
}
@media(max-width:760px){
  .brojke{grid-template-columns:repeat(2,1fr)}
  .brojka:nth-child(3){border-left:0;padding-left:0}
  .brojka:nth-child(n+3){border-top:1px solid var(--crta)}
}

/* ------------------------------------------------------------------ odjeljci */
.odjeljak{padding-block:clamp(64px,8vw,132px);position:relative}
.odjeljak[id]{scroll-margin-top:66px}
.odjeljak.noc{background:var(--noc);color:var(--noc-tekst)}
.odjeljak.noc .natpis,.odjeljak.noc .brojka span{color:#7d858e}
.odjeljak.noc .uvod{color:#a8b0b8}
.zaglavlje-odjeljka{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:clamp(20px,3vw,56px);align-items:end;margin-bottom:clamp(30px,4vw,60px);
}
.zaglavlje-odjeljka .natpis{margin-bottom:16px}
@media(max-width:860px){.zaglavlje-odjeljka{grid-template-columns:1fr}}

/* otkrivanje na scroll */
.otkrij{opacity:0;transform:translateY(20px)}
.otkrij.tu{opacity:1;transform:none;transition:opacity .85s var(--lako),transform .85s var(--lako)}
@media(prefers-reduced-motion:reduce){.otkrij{opacity:1;transform:none}}

/* ------------------------------------------------------------------ registar */
.registar{width:100%;font-size:14px}
.registar thead th{
  font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.13em;
  text-transform:uppercase;color:var(--tinta-3);text-align:left;
  padding:0 14px 10px 0;border-bottom:1px solid var(--crta-2);white-space:nowrap;
}
.registar tbody tr{border-bottom:1px solid var(--crta);cursor:pointer;transition:background .2s}
.registar tbody tr:hover{background:var(--papir-2)}
.registar td{padding:13px 14px 13px 0;vertical-align:middle}
.registar .r-broj{font-family:var(--mono);font-size:12px;color:var(--oznaka);width:1%;white-space:nowrap}
.registar .r-naziv{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.012em}
.registar .r-vrsta,.registar .r-podatak{font-family:var(--mono);font-size:11.5px;color:var(--tinta-2);white-space:nowrap}
.registar .r-strelica{width:1%;text-align:right;color:var(--tinta-3);transition:transform .3s var(--lako),color .3s}
.registar tbody tr:hover .r-strelica{color:var(--oznaka);transform:translateX(4px)}
@media(max-width:860px){
  .registar thead{display:none}
  .registar tbody tr{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;padding-block:12px;align-items:center}
  .registar td{padding:0;border:0}
  .registar .r-naziv{grid-column:2}
  .registar .r-vrsta{grid-column:2;grid-row:2}
  .registar .r-podatak{display:none}
}

/* ------------------------------------------------------------------ projekti */
.mreza-projekata{display:grid;gap:clamp(18px,2.4vw,34px);grid-template-columns:repeat(12,1fr)}
.kartica{
  grid-column:span 6;position:relative;cursor:pointer;
  display:flex;flex-direction:column;gap:14px;
}
.kartica.sirok{grid-column:span 12}
.kartica.trecina{grid-column:span 4}
.kartica-slika{
  position:relative;overflow:hidden;background:var(--papir-2);
  border:1px solid var(--crta);aspect-ratio:16/10;border-radius:var(--oblo-veliko);
}
.kartica.sirok .kartica-slika{aspect-ratio:21/9}
.kartica-slika img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.05s var(--lako),filter .5s;
}
.kartica:hover .kartica-slika img{transform:scale(1.035)}
/* vrsta objekta stoji iznad naziva, a ne preko fotografije */
.kartica-vrsta{
  font-family:var(--ui);font-size:12.5px;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--oznaka);margin-bottom:7px;
}
.kartica-tijelo{display:flex;align-items:flex-start;gap:16px;justify-content:space-between}
.kartica h3{
  font-family:var(--display);font-weight:600;letter-spacing:-.018em;line-height:1.12;
  font-size:clamp(18px,1.7vw,25px);transition:color .25s;
}
.kartica:hover h3{color:var(--oznaka)}
.kartica-meta{margin-top:10px;display:flex;gap:7px;flex-wrap:wrap}
.kartica-plus{
  font-family:var(--mono);font-size:19px;color:var(--tinta-3);line-height:1;
  transition:transform .35s var(--lako),color .25s;flex:none;
}
.kartica:hover .kartica-plus{color:var(--oznaka);transform:rotate(90deg)}
@media(max-width:860px){
  .kartica,.kartica.trecina,.kartica.sirok{grid-column:span 12}
  .kartica-slika,.kartica.sirok .kartica-slika{aspect-ratio:16/10}
}

/* ------------------------------------------------------------------ lanac: model -> nacrt -> izvedba */
.lanac{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,3.6vw,64px);align-items:start}
.lanac-okvir{
  position:relative;border:1px solid rgba(237,236,231,.16);background:#0c0e10;
  aspect-ratio:16/10;overflow:hidden;border-radius:var(--oblo-veliko);
}
.lanac-okvir img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .6s var(--lako);
}
.lanac-okvir img.vidljiva{opacity:1}
.lanac-oznaka{position:absolute;left:12px;bottom:12px;z-index:3}
.lanac-koraci{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.lanac-korak{
  display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;
  padding:18px 18px;border:1px solid transparent;border-left:2px solid rgba(237,236,231,.18);
  text-align:left;width:100%;transition:background .3s,border-color .3s;
  border-radius:0 var(--oblo) var(--oblo) 0;
}
.lanac-korak:hover{background:rgba(237,236,231,.04)}
.lanac-korak[aria-selected="true"]{background:rgba(11,124,140,.14);border-left-color:var(--oznaka)}
.lanac-korak .br{font-family:var(--ui);font-size:12px;font-weight:600;color:#7d858e;padding-top:3px}
.lanac-korak[aria-selected="true"] .br{color:var(--oznaka)}
.lanac-korak h4{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em;margin-bottom:4px}
.lanac-korak p{font-size:14.5px;line-height:1.5;color:#a8b0b8}
@media(max-width:860px){.lanac{grid-template-columns:1fr}}

/* ------------------------------------------------------------------ usluge */
.usluge{border-top:1px solid var(--crta)}
.usluga{
  display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(14px,2.6vw,48px);align-items:baseline;
  padding-block:clamp(22px,2.8vw,38px);border-bottom:1px solid var(--crta);
  transition:padding-left .45s var(--lako);
}
.usluga:hover{padding-left:12px}
.usluga .br{font-family:var(--ui);font-size:13px;font-weight:600;color:var(--tinta-3);transition:color .3s}
.usluga:hover .br{color:var(--oznaka)}
.usluga h3{font-family:var(--display);font-weight:600;letter-spacing:-.022em;line-height:1.05;font-size:clamp(22px,2.8vw,38px)}
.usluga p{color:var(--tinta-2);font-size:15.5px;line-height:1.6}
.usluga-izlazi{margin-top:14px;display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:860px){
  .usluga{grid-template-columns:auto 1fr}
  .usluga p,.usluga .usluga-izlazi{grid-column:2}
}

/* ------------------------------------------------------------------ sastavnica (title block) */
.sastavnica{
  border:1px solid var(--crta-2);display:grid;border-radius:var(--oblo);overflow:hidden;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));background:var(--papir-2);
}
.sastavnica div{padding:14px 16px;border-left:1px solid var(--crta);min-width:0}
.sastavnica div:first-child{border-left:0}
.sastavnica dt{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tinta-3);margin-bottom:5px;
}
.sastavnica dd{font-family:var(--mono);font-size:13px;color:var(--tinta);overflow-wrap:anywhere}
.noc .sastavnica{background:var(--noc-2);border-color:rgba(237,236,231,.18)}
.noc .sastavnica div{border-color:rgba(237,236,231,.12)}
.noc .sastavnica dd{color:var(--noc-tekst)}

/* ------------------------------------------------------------------ modal */
.modal{
  position:fixed;inset:0;z-index:200;display:grid;place-items:center;
  padding:clamp(0px,2vw,32px);visibility:hidden;opacity:0;
  transition:opacity .3s,visibility .3s;
}
.modal[data-otvoren="true"]{visibility:visible;opacity:1}
.modal-zastor{position:absolute;inset:0;background:rgba(18,20,23,.72);backdrop-filter:blur(8px)}
.modal-list{
  position:relative;width:min(1180px,100%);max-height:min(94svh,1040px);overflow-y:auto;
  background:var(--papir);border:1px solid var(--crta-2);border-radius:var(--oblo-veliko);
  transform:translateY(16px);transition:transform .4s var(--lako);
}
.modal[data-otvoren="true"] .modal-list{transform:none}
.modal-vrh{
  position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;
  padding:14px clamp(16px,3vw,32px);background:rgba(243,242,237,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--crta);
}
.modal-vrh .mono{color:var(--oznaka);margin-right:auto}
.modal-x{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--crta-2);
  border-radius:999px;font-size:15px;transition:background .2s,color .2s}
.modal-x:hover{background:var(--tinta);color:var(--papir)}
.modal-tijelo{padding:clamp(18px,3vw,38px)}
.modal-glavna{border:1px solid var(--crta);background:var(--papir-2);margin-bottom:12px;border-radius:var(--oblo);overflow:hidden}
.modal-glavna img{width:100%;max-height:min(62svh,660px);object-fit:contain;background:var(--papir-2)}
.modal-trake{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:22px}
.modal-trake button{
  flex:none;width:104px;aspect-ratio:16/10;border:1px solid var(--crta);overflow:hidden;
  opacity:.55;transition:opacity .25s,border-color .25s;background:var(--papir-2);
  border-radius:8px;
}
.modal-trake button[aria-selected="true"]{opacity:1;border-color:var(--oznaka)}
.modal-trake button:hover{opacity:.9}
.modal-trake img{width:100%;height:100%;object-fit:cover}
.modal h3{font-family:var(--display);font-weight:600;letter-spacing:-.024em;line-height:1.05;
  font-size:clamp(24px,3vw,40px);margin-bottom:12px}
.modal-opis{color:var(--tinta-2);max-width:68ch;margin-bottom:22px}
.modal-cinjenice{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
body.zamrznut{overflow:hidden}

/* ------------------------------------------------------------------ o nama */
.onama{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4vw,80px);align-items:start}
.onama-izjava{
  font-family:var(--display);font-weight:600;letter-spacing:-.026em;line-height:1.06;
  font-size:clamp(25px,3.4vw,46px);margin-bottom:26px;text-wrap:balance;
}
.onama-izjava em{font-style:normal;color:var(--oznaka)}
.onama p{color:var(--tinta-2);margin-bottom:16px;max-width:58ch}
.onama p strong{color:var(--tinta);font-weight:600}
/* jedna mreža za sve retke — inače svaki redak sam računa širinu oznake
   pa se stupci ne poravnaju */
.vjerodajnice{
  display:grid;grid-template-columns:minmax(88px,max-content) 1fr;
  column-gap:clamp(16px,2vw,32px);border-top:1px solid var(--crta);
}
.vjerodajnica{display:contents}
.vjerodajnica dt{
  font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--tinta-3);
  padding:16px 0;border-bottom:1px solid var(--crta);
}
.vjerodajnica dd{
  font-size:15.5px;line-height:1.5;padding:15px 0;border-bottom:1px solid var(--crta);
}
@media(max-width:560px){
  .vjerodajnice{grid-template-columns:1fr;row-gap:0}
  .vjerodajnica dt{padding-bottom:2px;border-bottom:0}
  .vjerodajnica dd{padding-top:0}
}
@media(max-width:860px){.onama{grid-template-columns:1fr}}

/* ------------------------------------------------------------------ kontakt */
.kontakt-mreza{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,4vw,80px)}
.polje{position:relative;margin-bottom:26px}
.polje input,.polje textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid rgba(237,236,231,.28);
  color:var(--noc-tekst);font-family:var(--tekst);font-size:17px;padding:10px 2px;
  transition:border-color .25s;
}
.polje textarea{min-height:104px;resize:vertical}
.polje label{
  position:absolute;left:2px;top:10px;color:#7d858e;pointer-events:none;font-size:16px;
  transition:transform .28s var(--lako),font-size .28s var(--lako),color .28s;transform-origin:left top;
}
.polje input:focus,.polje textarea:focus{outline:0;border-bottom-color:var(--oznaka)}
.polje input:focus+label,.polje input:not(:placeholder-shown)+label,
.polje textarea:focus+label,.polje textarea:not(:placeholder-shown)+label{
  transform:translateY(-22px);font-size:10.5px;color:var(--oznaka);
  font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;
}
.polje-par{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.spust{
  border:1px dashed rgba(237,236,231,.3);padding:22px;text-align:center;margin-bottom:24px;border-radius:var(--oblo);
  color:#7d858e;font-family:var(--mono);font-size:12px;letter-spacing:.04em;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .25s,color .25s,background .25s;
}
.spust:hover,.spust[data-preko="true"]{border-color:var(--oznaka);color:var(--noc-tekst);background:rgba(11,124,140,.08)}
.spust input{display:none}
.spust svg{width:22px;height:22px}
.spust .ime:empty{display:none}
.spust .ime{color:var(--oznaka)}
.stanje{font-family:var(--ui);font-size:13.5px;min-height:18px;margin-top:6px}
.stanje.ok{color:#5fd3a0}
.stanje.greska{color:#ff9878}
.medeni{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.kontakt-podaci dt{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#7d858e;margin-top:22px}
.kontakt-podaci dt:first-child{margin-top:0}
.kontakt-podaci dd{font-size:17px;margin-top:5px}
.kontakt-podaci a{border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.kontakt-podaci a:hover{color:var(--oznaka);border-bottom-color:var(--oznaka)}
@media(max-width:860px){.kontakt-mreza{grid-template-columns:1fr}.polje-par{grid-template-columns:1fr}}

/* ------------------------------------------------------------------ podnožje */
.noga{border-top:1px solid rgba(237,236,231,.14);padding-block:26px;background:var(--noc);color:#7d858e}
.noga .omot{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;font-family:var(--ui);font-size:13px}
.noga nav{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}
.noga a{transition:color .2s}
.noga a:hover{color:var(--noc-tekst)}

/* ------------------------------------------------------------------ traka */
.traka{border-block:1px solid var(--crta);overflow:hidden;padding-block:13px;background:var(--papir-2)}
.traka-niz{display:flex;width:max-content;animation:klizi 46s linear infinite}
.traka:hover .traka-niz{animation-play-state:paused}
.traka-niz span{
  font-family:var(--ui);font-size:13.5px;font-weight:500;letter-spacing:.01em;
  color:var(--tinta-3);padding-inline:20px;display:flex;align-items:center;gap:20px;white-space:nowrap;
}
.traka-niz span::after{content:"";width:4px;height:4px;background:var(--oznaka);flex:none;border-radius:50%}
@keyframes klizi{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.traka-niz{animation:none}}
