/* STRANE KATEGORIJA - „Večernja" (port redizajna, faza F2a, 27.10.2026).
   Izvor: prototype/redizajn-2026/runda-7/2-vecernja/vecernja.css (deo „kategorija").
   Šablon: templates/site/kategorija.twig. Zajednički okvir, kartica, presek, pitanja
   i salon su u site.css; ovde je samo ono što ima strana kategorije. */

/* ---------- putevi (pregled i svi modeli) - isti kao na Početnoj ---------- */
.putevi { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: var(--s3); }
.put { position: relative; display: grid; gap: 10px; padding: 18px 18px 16px; min-height: 148px; background: rgba(24, 35, 57, .55); border: 1px solid var(--linija-n); border-radius: var(--r); text-decoration: none; overflow: hidden; transition: background var(--t) var(--ease), border-color var(--t) var(--ease), transform var(--t) var(--ease); }
.put::before { /* svetlo se pali iza znaka */
  content: ""; position: absolute; width: 160px; height: 160px; left: -40px; top: -50px; border-radius: 50%; background: radial-gradient(closest-side, var(--lampa-sjaj), transparent); opacity: 0; transition: opacity 300ms var(--ease); }
.put:hover { background: rgba(34, 48, 74, .8); border-color: var(--linija-n2); transform: translateY(-2px); }
.put:hover::before { opacity: 1; }
.put__z { position: relative; width: 40px; height: 40px; color: var(--lampa); fill: currentColor; }
.put__t { position: relative; font-family: var(--f-nasl); font-size: 22px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.1; }
.put__d { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 15px; color: var(--mesec-2); }
.put__d .i { width: 18px; height: 18px; color: var(--mesec); transition: transform var(--t) var(--ease); }
.put:hover .put__d .i { transform: translateX(4px); }

/* ---------- prvi ekran, mrvice, činjenice, kartice ---------- */
.hero--kat h1 { font-size: clamp(40px, 4.4vw, 66px); max-width: 13ch; }
.kartice--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s5) var(--s4); }
.kartice--5 .kart__ime { font-size: 22px; }
.kartice--5 .kart__mm b { font-size: 32px; }
.kart__opis { grid-column: 1 / -1; font-size: 15.5px; color: var(--ink-2); line-height: 1.5; margin-top: 6px; }
.kartice--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s5) var(--s4); }
.kartice--4 .kart__ime { font-size: 22px; }
/* opis različite dužine ne sme da pomeri naslov kartice u istom redu */
.kartice .kart__tel { align-content: start; }

/* jedan model u grupi (za kuću): kartica + mere, pojas ne ostaje prazan */
.jedan { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--s8); align-items: center; }
.jedan .kart__opis { display: none; }
.jedan__d { display: grid; gap: var(--s6); }
.jedan__opis { font-size: 20px; line-height: 1.55; max-width: 44ch; }
.jedan__mere { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--linija-2); }
.jedan__mere > div { display: grid; gap: 4px; padding: 14px 16px 14px 0; border-bottom: 1px solid var(--linija-2); }
.jedan__mere > div:nth-child(2n) { padding-left: 16px; border-left: 1px solid var(--linija-2); }
.jedan__mere dt { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--ink-2); }
.jedan__mere dd { margin: 0; font-family: var(--f-nasl); font-size: 22px; font-weight: 600; letter-spacing: -0.01em; }
.jedan__akc { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s4) var(--s6); }
.pojas[data-ton="noc"] .jedan__opis { color: var(--mesec); }
.pojas[data-ton="noc"] .jedan__mere, .pojas[data-ton="noc"] .jedan__mere > div { border-color: var(--linija-n2); }
.pojas[data-ton="noc"] .jedan__mere dt { color: var(--mesec-2); }
.pojas[data-ton="noc"] .kart__opis { color: var(--mesec-2); }

/* police sobnih: obrada krila kao zid u salonu. Polica zauzima onoliko kolona
   koliko ima modela (`--span`), `dense` popunjava red manjim policama. */
.police { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; gap: var(--s8) var(--s4); }
.polica { grid-column: span var(--span, 4); }
.polica .kartice { grid-template-columns: repeat(var(--span, 4), minmax(0, 1fr)); gap: var(--s5) var(--s4); }
.polica .kart__ime { font-size: 22px; }
.polica__n { display: flex; align-items: baseline; gap: 12px; font-size: 24px; padding-bottom: var(--s3); margin-bottom: var(--s5); border-bottom: 1px solid var(--linija-2); }
.polica__n span { font-family: var(--f-tekst); font-size: 15px; font-weight: 400; color: var(--ink-2); letter-spacing: 0; }
.pojas[data-ton="noc"] .polica__n { border-color: var(--linija-n2); }
.pojas[data-ton="noc"] .polica__n span { color: var(--mesec-2); }

/* ---------- uporedna tabela, vodič ---------- */

.tabela-o { border: 1px solid var(--linija-2); border-radius: var(--r); background: var(--papir); overflow: hidden; }
.tabela { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 16px; font-variant-numeric: tabular-nums; }
.tabela caption { text-align: left; padding: 16px 20px; font-size: 15px; color: var(--ink-2); border-bottom: 1px solid var(--linija-2); }
.tabela th, .tabela td { padding: 14px 18px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--linija); }
.tabela thead th { background: var(--noc); color: var(--mesec); font-family: var(--f-nasl); font-size: 20px; font-weight: 600; letter-spacing: -0.01em; border-bottom: 0; font-stretch: 100%; }
.tabela thead th:first-child { font-family: var(--f-tekst); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--mesec-2); font-weight: 700; }
.tabela tbody th { width: 17%; font-weight: 700; font-size: 15px; color: var(--ink); }
.tabela tbody tr { transition: background var(--t); }
.tabela tbody tr:nth-child(2n) { background: rgba(231, 220, 203, .45); }
.tabela tbody tr:hover { background: rgba(231, 220, 203, .9); }
.tabela tbody tr:last-child th, .tabela tbody tr:last-child td { border-bottom: 0; }
.tabela .da { display: inline-flex; align-items: center; gap: 6px; color: var(--crvena-dd); font-weight: 700; }
.tabela .ne { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-2); }
.tabela .da .i, .tabela .ne .i { width: 16px; height: 16px; }
.mera { display: grid; gap: 6px; }
.mera i { display: block; height: 4px; width: var(--w); background: var(--ink); border-radius: 1px; }
.tabela__nap { margin-top: var(--s4); font-size: 15px; color: var(--ink-2); display: flex; gap: 8px; align-items: center; }
.tabela__nap .i { color: var(--crvena-d); width: 18px; height: 18px; }

.vodic-k { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--s9); align-items: start; }
.sadrzaj { position: sticky; top: calc(var(--hdr) + 32px); display: grid; gap: 4px; font-size: 15.5px; }
.sadrzaj p { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; }
.sadrzaj a { display: grid; grid-template-columns: 28px 1fr; gap: 6px; padding: 8px 0 8px 12px; border-left: 2px solid var(--linija); text-decoration: none; color: var(--ink-2); transition: color var(--t), border-color var(--t); line-height: 1.35; }
.sadrzaj a span { font-family: var(--f-nasl); font-weight: 600; color: var(--crvena-d); }
.sadrzaj a:hover, .sadrzaj a.je-akt { color: var(--ink); border-left-color: var(--crvena-d); }
.vk-blok { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: var(--s7); align-items: start; padding: var(--s7) 0; border-top: 1px solid var(--linija-2); }
.vk-blok:first-child { padding-top: 0; border-top: 0; }
.vk-blok h2 { display: flex; gap: 14px; align-items: baseline; font-size: clamp(26px, 2.4vw, 34px); margin-bottom: var(--s4); }
.vk-blok h2 span { font-size: 16px; color: var(--crvena-d); font-variant-numeric: tabular-nums; }
.vk-blok h3 { font-size: 21px; margin: var(--s5) 0 var(--s2); }
.vk-blok p { color: #343a47; font-size: 17.5px; line-height: 1.7; max-width: 64ch; }
.vk-blok p + p { margin-top: var(--s4); }
.vk-viz { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; position: sticky; top: calc(var(--hdr) + 32px); }
.vk-viz .prozor { aspect-ratio: 4 / 5; box-shadow: none; }
.vk-viz figcaption { font-size: 14.5px; color: var(--ink-2); line-height: 1.45; }
.vk-kart { display: grid; gap: 14px; padding: var(--s5); background: var(--noc); color: var(--mesec); border-radius: var(--r); }
.vk-kart b.vel { font-family: var(--f-nasl); font-size: 44px; font-weight: 600; letter-spacing: -0.03em; line-height: 1; }
.vk-kart p { color: var(--mesec-2); font-size: 15.5px; line-height: 1.5; }
/* Prstenovi u koloni iste širine (do 3), pa „N reda" i modeli stoje poravnati jedan ispod drugog */
.vk-kart .red { display: grid; grid-template-columns: 76px auto minmax(0, 1fr); align-items: center; gap: 10px; font-size: 15.5px; }
.vk-kart .red__g { display: flex; gap: 6px; }
.vk-kart .red b { white-space: nowrap; }
.vk-kart .red .i { color: var(--lampa); }
.dim { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; align-items: end; }
.dim div { display: grid; gap: 8px; justify-items: center; font-size: 14.5px; color: var(--mesec-2); }
.dim i { display: block; border: 1.5px solid var(--mesec); border-radius: 1px; position: relative; }
.dim i::after { content: ""; position: absolute; right: 18%; top: 50%; width: 3px; height: 12px; background: var(--lampa); }
.dim b { font-family: var(--f-nasl); color: var(--mesec); font-size: 17px; }

.tabela thead a { color: inherit; text-decoration: none; }
.tabela thead a:hover { color: var(--lampa); }
.vodic-k--kratak { grid-template-columns: 1fr; }
.vk-blok--sam { grid-template-columns: minmax(0, 1fr); }
.vk-kart__n { font-size: 13px !important; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.vk-traka { display: grid; grid-template-columns: 54px 1fr auto; gap: 10px; align-items: center; font-size: 15px; }
.vk-traka b { font-family: var(--f-nasl); font-weight: 600; }
.vk-traka span { height: 6px; background: var(--linija-n); border-radius: 1px; overflow: hidden; }
.vk-traka i { display: block; height: 100%; width: var(--w); background: var(--mesec-2); }
.vk-traka--termo i { background: var(--lampa); }
.vk-traka em { font-style: normal; color: var(--mesec-2); font-variant-numeric: tabular-nums; }
.dim small { font-size: 13px; color: var(--mesec-2); text-align: center; }

@media (max-width: 1200px) {
  .kartice--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kartice--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .police { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .polica { grid-column: span min(var(--span, 2), 2); }
  .polica .kartice { grid-template-columns: repeat(min(var(--span, 2), 2), minmax(0, 1fr)); }
}
@media (max-width: 1080px) {
  .putevi { grid-template-columns: 1fr; }
  .put { grid-template-columns: 40px 1fr; min-height: 0; align-items: center; column-gap: 14px; padding: 14px 16px; }
  .put__z { grid-row: span 2; }
  .vk-viz, .sadrzaj { position: static; }
  .vodic-k { grid-template-columns: 1fr; gap: var(--s6); }
  .sadrzaj { display: none; }
  .vk-blok { grid-template-columns: minmax(0, 1fr) 240px; gap: var(--s6); }
  .vk-blok--sam { grid-template-columns: minmax(0, 1fr); }
  .kartice--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jedan { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s6); }
}
@media (max-width: 720px) {
  .putevi { grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 4px; }
  .put { grid-template-columns: 1fr; padding: 12px 10px; gap: 6px; justify-items: start; }
  .put__z { grid-row: auto; width: 30px; height: 30px; }
  .put__t { font-size: 17px; }
  .put__d { font-size: 14px; }
  .put__d .i { display: none; }
  .kartice--5, .kartice--4 { grid-template-columns: 1fr 1fr; }
  .kartice--5 .kart__opis, .kartice--4 .kart__opis { display: none; }
  .kartice--5 .kart:last-child { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; column-gap: 12px; align-items: start; }
  .kartice--5 .kart:last-child .kart__tel { padding-top: 0; }
  .jedan { grid-template-columns: 1fr; }
  .jedan__mere dd { font-size: 19px; }
  .police { grid-template-columns: 1fr; gap: var(--s7); }
  .polica { grid-column: auto; }
  .polica .kartice { grid-template-columns: 1fr 1fr; gap: var(--s5) 12px; }
  .polica .kart__opis { display: none; }
  .polica__n { font-size: 21px; }
  .vk-blok { grid-template-columns: 1fr; gap: var(--s5); padding: var(--s6) 0; }
  .vk-viz .prozor { aspect-ratio: 16 / 10; }
  /* tabela postaje kartice po osobini, modeli ostaju jedan pored drugog */
  .tabela-o { border: 0; background: none; }
  .tabela, .tabela tbody, .tabela tr, .tabela th, .tabela td { display: block; }
  .tabela caption { display: block; padding: 0 0 12px; border: 0; }
  .tabela thead { display: none; }
  .tabela tbody { display: grid; gap: 10px; }
  .tabela tbody tr { display: grid; grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); background: var(--papir) !important; border: 1px solid var(--linija-2); border-radius: var(--r); }
  .tabela tbody th { grid-column: 1 / -1; width: auto; padding: 10px 12px; background: var(--noc); color: var(--mesec); border: 0; border-radius: var(--r) var(--r) 0 0; }
  .tabela td { padding: 10px 6px 12px; border: 0; border-left: 1px solid var(--linija); font-size: 14.5px; line-height: 1.3; display: grid; gap: 4px; align-content: start; overflow-wrap: anywhere; }
  .tabela td:nth-child(2) { border-left: 0; }
  .tabela td::before { content: attr(data-m); font-family: var(--f-nasl); font-weight: 600; font-size: 13px; color: var(--ink-2); }
  .tabela tr.t-dug { grid-template-columns: 1fr; }
  .tabela tr.t-dug td { grid-template-columns: 54px 1fr; border-left: 0; border-top: 1px solid var(--linija); padding: 10px 12px; }
  .tabela tr.t-dug td:nth-child(2) { border-top: 0; }
  .mera i { max-width: 100%; }
}
@media (max-width: 380px) {
  .put__t { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .put, .put__d .i, .tabela tbody tr, .sadrzaj a { transition: none; }
}

/* ============ KOJI MODEL ZA VAŠ ULAZ (strana podgrupe, 28.10.2026) ============
   Situacija levo, model desno. Redovi idu od osnovnog do najjačeg modela, a traka
   krila raste niz listu - stepenice se vide pre nego što se pročita i jedna reč. */
.sit__lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linija-2); }
.sit__red { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--s4) var(--s7); align-items: center; padding: var(--s4) 0; border-bottom: 1px solid var(--linija-2); }
.sit__k { display: flex; align-items: baseline; gap: var(--s4); margin: 0; font-family: var(--f-nasl); font-size: 22px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; color: var(--ink); }
.sit__n { flex: none; width: 30px; font-size: 15px; font-weight: 700; color: var(--crvena-d); font-variant-numeric: tabular-nums; }
.sit__m { display: grid; grid-template-columns: 60px minmax(0, 1fr) 20px; gap: var(--s4); align-items: center; padding: 10px 14px 10px 10px; background: var(--lan); border: 1px solid var(--linija); border-radius: var(--r); color: var(--ink); text-decoration: none;
  transition: border-color var(--t) var(--ease), background var(--t) var(--ease), transform var(--t) var(--ease), box-shadow var(--t) var(--ease); }
.sit__m:hover { border-color: var(--linija-2); background: var(--papir); transform: translateX(4px); box-shadow: 0 18px 36px -26px rgba(18, 24, 38, .45); }
.sit__m:focus-visible { outline: 2px solid var(--crvena); outline-offset: 3px; }
.sit__slika { display: block; width: 60px; height: 80px; box-shadow: 0 0 0 1px var(--linija); background: var(--pesak); }
.sit__o { display: grid; gap: 6px; min-width: 0; }
.sit__ime { font-family: var(--f-nasl); font-size: 19px; font-weight: 700; letter-spacing: -0.01em; }
.sit__traka { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: 15px; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.sit__traka i { display: block; height: 6px; border-radius: 1px; background: linear-gradient(90deg, var(--ink) var(--w), var(--pesak-2) var(--w)); }
.sit__dokaz { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; line-height: 1.35; color: var(--ink-2); }
.sit__dokaz .i { flex: none; width: 16px; height: 16px; color: var(--crvena-d); }
.sit__ar { width: 18px; height: 18px; color: var(--crvena-d); transition: transform var(--t) var(--ease); }
.sit__m:hover .sit__ar { transform: translateX(3px); }
.sit__vise { display: flex; align-items: flex-start; gap: 10px; margin: var(--s5) 0 0; max-width: 70ch; font-size: 16.5px; line-height: 1.5; color: var(--ink-2); }
.sit__vise .i { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--crvena-d); }

@media (max-width: 900px) {
  .sit__red { grid-template-columns: 1fr; gap: 12px; padding: var(--s5) 0; }
  .sit__k { font-size: 19px; gap: 12px; }
  .sit__n { width: 24px; }
  .sit__m { margin-left: 36px; }
}
@media (max-width: 420px) {
  .sit__m { margin-left: 0; grid-template-columns: 48px minmax(0, 1fr) 18px; gap: 12px; }
  .sit__slika { width: 48px; height: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  .sit__m, .sit__ar { transition: none; }
  .sit__m:hover { transform: none; }
}

/* Ulaz u odeljak izgleda iz prvog ekrana (migracija 112). */
.k-izg-veza { justify-self: start; }
.k-izg-veza .num { font-family: var(--f-nasl); font-variant-numeric: tabular-nums; color: var(--lampa); }
