/* ==== #63b ktv-base-reset (23.08.2026) — ono što su davali global-styles (:where(body){margin:0}) i wp-block-library
   (.screen-reader-text) prije nego ih je #63 v2 (audit 22.08.) skinuo sa naših šablona. Bez ovoga: bijeli 8 px okvir
   oko stranice (podrazumijevana margina body-ja) i vidljiv WooCommerce tekst „Stara cijena: … Nova cijena: …" uz cijene. ==== */
/* 25.08.: isti korijen kao margina ispod — `wp-block-library` je nosio globalni border-box. Bez njega padding
   ULAZI U ŠIRINU: `.ktv-size{min-width:calc(50% - 6px); padding:12px}` stvarno traži 191 px pa dvije kartice
   ne stanu u red od 343 px → sve se slaže jedna ispod druge. Cijeli CSS je pisan uz border-box. */
*,*::before,*::after{ box-sizing:border-box }
body{ margin:0 }
.screen-reader-text{ border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden;
  padding:0; position:absolute; width:1px; word-wrap:normal!important }
.screen-reader-text:focus{ background:#fff; clip:auto!important; clip-path:none; color:var(--ktv-navy,#16243D); display:block;
  font-size:1rem; height:auto; left:5px; line-height:normal; padding:15px 23px 14px; text-decoration:none; top:5px; width:auto; z-index:100000 }

/* ==== #29 ktv-contact-css ==== */
/* z-index 55: iznad sticky headera (50) da se panel ne zavuče pod njega, ispod mobilnog drawera (60) */
.ktv-cw{ position:fixed; right:20px; bottom:20px; z-index:55; font-family:var(--ktv-font-body); transition:bottom .28s cubic-bezier(.2,.8,.2,1) }
/* Kad se pojavi donja fiksna traka (PDP add-to-cart .ktv-sticky.is-on ILI compare .ktv-cmpbar), FAB se digne da se ne preklapaju. :has() je 2023+ (univerzalno danas). */
body:has(.ktv-sticky.is-on) .ktv-cw,
body:has(.ktv-cmpbar:not([hidden])) .ktv-cw{ bottom:96px }
.ktv-cw__fab{
  position:relative; width:60px; height:60px; border-radius:50%; border:0; cursor:pointer;
  display:grid; place-items:center; color:var(--ktv-brand-ink,#1a1206);
  background:var(--ktv-brand-primary,#D98A1E);
  box-shadow:0 10px 26px rgba(217,138,30,.42), 0 2px 6px rgba(0,0,0,.18);
  transition:transform .18s, box-shadow .18s;
}
.ktv-cw__fab:hover{ transform:translateY(-2px) scale(1.04); box-shadow:0 14px 32px rgba(217,138,30,.5) }
.ktv-cw__fab svg{ width:27px; height:27px; position:absolute; transition:opacity .2s, transform .2s }
.ktv-cw__fab-close{ opacity:0; transform:rotate(-45deg) scale(.6) }
.ktv-cw.is-open .ktv-cw__fab-open{ opacity:0; transform:rotate(45deg) scale(.6) }
.ktv-cw.is-open .ktv-cw__fab-close{ opacity:1; transform:none }
.ktv-cw.is-open .ktv-cw__ping{ display:none }
.ktv-cw__ping{
  position:absolute; inset:0; border-radius:50%; border:2px solid var(--ktv-brand-primary,#D98A1E);
  animation:ktv-cw-ping 2.4s cubic-bezier(0,0,.2,1) infinite;
}
@keyframes ktv-cw-ping{ 0%{opacity:.7;transform:scale(1)} 70%,100%{opacity:0;transform:scale(1.6)} }

.ktv-cw__panel{
  position:absolute; right:0; bottom:74px; width:340px; max-width:calc(100vw - 32px);
  background:var(--ktv-bg-elevated,#fff); border:1px solid var(--ktv-border-default,#e7e0d4);
  border-radius:18px; box-shadow:var(--ktv-shadow-xl,0 24px 60px rgba(22,36,61,.22));
  max-height:calc(100dvh - 100px); overflow:hidden auto; transform-origin:bottom right;
  animation:ktv-cw-in .22s cubic-bezier(.2,.8,.2,1); overscroll-behavior:contain;
}
@keyframes ktv-cw-in{ from{opacity:0; transform:translateY(10px) scale(.96)} to{opacity:1; transform:none} }

.ktv-cw__head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
  padding:16px 16px 13px; color:var(--ktv-text-inverse,#fff);
  background:radial-gradient(120% 140% at 15% 0%, #22375c, var(--ktv-navy,#16243D));
}
.ktv-cw__head strong{ font-family:var(--ktv-font-display); font-size:16px; display:block }
.ktv-cw__status{ font-size:11.5px; display:inline-flex; align-items:center; gap:6px; margin-top:3px; opacity:.9 }
.ktv-cw__status::before{ content:""; width:7px; height:7px; border-radius:50% }
.ktv-cw__status.is-on::before{ background:#37D67A; box-shadow:0 0 0 3px rgba(55,214,122,.25) }
.ktv-cw__status.is-off::before{ background:#F2B01E }
.ktv-cw__x{ flex:none; width:30px; height:30px; display:grid; place-items:center; border:0; border-radius:8px;
  background:rgba(255,255,255,.12); color:#fff; cursor:pointer; transition:.15s }
.ktv-cw__x:hover{ background:rgba(255,255,255,.22) } .ktv-cw__x svg{ width:16px; height:16px }

.ktv-cw__chans{ padding:12px; display:flex; flex-direction:column; gap:7px }
.ktv-cw__chan{
  display:flex; align-items:center; gap:12px; padding:10px 11px; border-radius:12px;
  text-decoration:none; color:var(--ktv-text-primary,#1e2733);
  border:1px solid var(--ktv-border-subtle,#efe9df); background:var(--ktv-bg-canvas,#FBF8F2);
  transition:.15s;
}
.ktv-cw__chan:hover{ border-color:var(--ktv-brand-primary,#D98A1E); transform:translateX(2px);
  box-shadow:0 4px 14px rgba(22,36,61,.08) }
.ktv-cw__ico{ flex:none; width:38px; height:38px; border-radius:10px; display:grid; place-items:center; color:#fff }
.ktv-cw__ico svg{ width:22px; height:22px }
.ktv-cw__chan--wa .ktv-cw__ico{ background:#25D366 }
.ktv-cw__chan--vi .ktv-cw__ico{ background:#7360F2 }
.ktv-cw__ico--n{ background:var(--ktv-navy,#16243D) }
.ktv-cw__lbl{ display:flex; flex-direction:column; line-height:1.25; min-width:0 }
.ktv-cw__lbl b{ font-size:14px; font-weight:600 }
.ktv-cw__lbl em{ font-style:normal; font-size:11.5px; color:var(--ktv-text-tertiary,#8a8577); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }

.ktv-cw__or{ text-align:center; position:relative; margin:4px 16px 10px }
.ktv-cw__or::before{ content:""; position:absolute; top:50%; left:0; right:0; height:1px; background:var(--ktv-border-subtle,#efe9df) }
.ktv-cw__or span{ position:relative; background:var(--ktv-bg-elevated,#fff); padding:0 10px;
  font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ktv-text-tertiary,#8a8577) }

.ktv-cw__form{ padding:0 12px 14px; display:flex; flex-direction:column; gap:8px }
.ktv-cw__hp{ position:absolute!important; left:-9999px!important; width:1px; height:1px; opacity:0 }
.ktv-cw__row{ display:flex; gap:8px }
.ktv-cw__form input, .ktv-cw__form textarea{
  width:100%; border:1px solid var(--ktv-border-default,#e7e0d4); border-radius:10px;
  padding:10px 12px; font:inherit; font-size:13.5px; color:var(--ktv-text-primary,#1e2733);
  background:var(--ktv-bg-canvas,#FBF8F2); outline:none; transition:border-color .15s, box-shadow .15s;
}
.ktv-cw__form input:focus, .ktv-cw__form textarea:focus{
  border-color:var(--ktv-brand-primary,#D98A1E); box-shadow:0 0 0 3px rgba(217,138,30,.16) }
.ktv-cw__form textarea{ resize:vertical; min-height:64px }
.ktv-cw__send{
  border:0; border-radius:11px; padding:12px; cursor:pointer; font:inherit; font-weight:600; font-size:14px;
  color:var(--ktv-brand-ink,#1a1206); background:var(--ktv-brand-primary,#D98A1E); transition:.15s;
}
.ktv-cw__send:hover{ filter:brightness(1.04) } .ktv-cw__send:disabled{ opacity:.6; cursor:progress }
.ktv-cw__msg{ margin:2px 0 0; font-size:12.5px; padding:8px 10px; border-radius:9px }
.ktv-cw__msg.is-ok{ background:rgba(55,214,122,.14); color:#127a3e }
.ktv-cw__msg.is-err{ background:rgba(226,86,86,.12); color:#b62d2d }

@media(max-width:520px){
  .ktv-cw{ right:14px; bottom:14px }
  .ktv-cw__fab{ width:54px; height:54px } .ktv-cw__fab svg{ width:24px; height:24px }
  .ktv-cw__panel{ width:calc(100vw - 28px) }
}
@media(prefers-reduced-motion:reduce){
  .ktv-cw__ping{ animation:none; display:none }
  .ktv-cw__panel{ animation:none } .ktv-cw__fab{ transition:none }
}

/* ==== #31 ktv-bg-fx ==== */
body{
  background-color:#FBF8F2 !important;
  background-image:
    radial-gradient(120% 90% at 78% 20%, transparent 42%, rgba(237,231,219,.58) 100%),
    radial-gradient(980px 600px at 80% -12%, rgba(217,138,30,.13), transparent 58%),
    linear-gradient(rgba(22,36,61,.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22,36,61,.032) 1px, transparent 1px) !important;
  background-size: auto, auto, 42px 42px, 42px 42px !important;
  background-attachment: fixed, fixed, fixed, fixed !important;
  background-repeat: no-repeat, no-repeat, repeat, repeat !important;
}
/* da efekt s body-ja probije kroz glavni block-tema wrapper (na standardnim WP stranicama) */
.wp-site-blocks{ background:transparent !important }
/* Mobilni: background-attachment:fixed janks scroll (iOS Safari re-rasterizuje cijeli viewport svaki frame,
   a dvije 42px repeating-grid ploče to pogoršavaju). Na uskim ekranima → scroll. */
@media (max-width:768px){
  body{ background-attachment: scroll, scroll, scroll, scroll !important; }
}

/* ==== #13 ktv-skeleton ==== */
/* hidden atribut MORA pobijediti display iz klase.
   Bez ovoga .ktv-drop__panel{display:flex} nadjaca [hidden]{display:none} (ista tezina,
   moje dolazi kasnije) -> svi dropdowni i drawer ostaju stalno otvoreni. */
[hidden]{ display:none !important; }

html{ scroll-behavior:smooth; }

/* Linkovi: amber kao SITAN tekst pada WCAG AA (2.6:1) — koristimo text-safe varijantu */
a{ color:var(--ktv-brand-text); }
a:hover{ color:var(--ktv-brand-primary-hover); }

/* Fokus mora biti vidljiv — tastatura je dio pristupačnosti, ne dodatak */
:focus-visible{
  outline:2px solid var(--ktv-brand-primary);
  outline-offset:2px;
  border-radius:4px;
}

::selection{ background:var(--ktv-brand-soft); color:var(--ktv-text-primary); }

img,svg,video{ max-width:100%; height:auto; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
}

/* ==== #14 ktv-header-css ==== */
/* Tema TT5 renderuje svoj header kroz template part — gasimo ga, ne dupliramo */
.wp-site-blocks > header.wp-block-template-part{ display:none !important; }

.ktv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.ktv-topbar{
  background:var(--ktv-navy-deep); color:#E7EDF5;
  font-size:12.5px; padding:8px 0; position:relative; z-index:40; overflow:hidden;
}
/* Pokretni ticker: dvije identične grupe, translateX(-50%) = jedna grupa → beskonačna petlja */
.ktv-tk{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent) }
.ktv-tk__track{ display:flex; width:max-content; animation:ktv-tk-scroll 34s linear infinite }
.ktv-tk:hover .ktv-tk__track{ animation-play-state:paused }
.ktv-tk__set{ display:flex; align-items:center; flex:none }
.ktv-tk__i{ display:inline-flex; align-items:center; white-space:nowrap; padding:0 24px; position:relative }
.ktv-tk__i::after{ content:""; position:absolute; right:0; top:50%; transform:translateY(-50%); width:4px; height:4px; border-radius:50%; background:currentColor; opacity:.3 }
.ktv-topbar b{ color:var(--ktv-brand-secondary); font-weight:600 }
.ktv-tk__l{ display:inline-flex; align-items:center; gap:7px; color:#E7EDF5; text-decoration:none; transition:color .15s }
.ktv-tk__l:hover{ color:var(--ktv-brand-secondary) }
.ktv-tk__l svg{ width:14px; height:14px; opacity:.85 }
.ktv-tk__l em{ font-style:normal; opacity:.62; font-size:11px }
@keyframes ktv-tk-scroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
@media(prefers-reduced-motion:reduce){
  .ktv-tk{ -webkit-mask-image:none; mask-image:none }
  .ktv-tk__track{ animation:none; width:100%; flex-wrap:wrap; justify-content:center }
  .ktv-tk__set:last-child{ display:none }
}

.ktv-nav{
  position:sticky; top:0; z-index:50;
  backdrop-filter:blur(14px);
  background:color-mix(in srgb, var(--ktv-bg-canvas) 86%, transparent);
  border-bottom:1px solid var(--ktv-border-default);
}
body.admin-bar .ktv-nav{ top:32px }
@media(max-width:782px){ body.admin-bar .ktv-nav{ top:46px } }

/* 26.08.2026: traka je ograničena na 1200 px, a meni od 8 stavki je uzimao 752 px — pretrazi je ostajalo
   72 px (input 18 px!) na SVAKOJ desktop širini, pa se u nju nije moglo ni gledati ni pisati.
   Stisnut razmak trake i menija + zagarantovan minimum za pretragu (vidi .ktv-search flex/min-width). */
.ktv-nav__in{ max-width:var(--ktv-maxw); margin:0 auto; padding:13px 18px; display:flex; align-items:center; gap:14px }

/* Wordmark je ZIVI TEKST, ne slika:
   - ostar na svakom ekranu, nula HTTP zahtjeva
   - citac ekrana cita "KupiTelevizor"
   - na tamnoj (navy) povrsini "Kupi" se prebaci na bijelo jednom linijom;
     crni PNG bi tamo nestao */
.ktv-brand{ display:inline-flex; align-items:center; gap:10px; flex:none; text-decoration:none }
/* Familijski „K" tile uz wordmark (header/drawer/footer) — isto kao kupihp/kupilaptop/kupilenovo.
   SVG nosi vlastitu navy podlogu pa je svejedno na kojoj je temi. */
.ktv-brand__ico{ width:42px; height:42px; flex:0 0 auto; display:block }
.ktv-brand__ico svg{ width:100%; height:100%; display:block }
.ktv-drawer__head .ktv-brand__ico{ width:32px; height:32px }
@media (max-width:640px){ .ktv-brand__ico{ width:34px; height:34px } }
.ktv-brand__wm{
  font-family:var(--ktv-font-display); font-weight:800;
  font-size:clamp(24px,2.4vw,29px); letter-spacing:-.035em; line-height:1; white-space:nowrap;
  font-optical-sizing:auto;
}
.ktv-brand__k{ color:var(--ktv-text-primary) }
.ktv-brand__t{ color:var(--ktv-brand-primary) }

/* Varijanta za tamne povrsine (navy traka, drawer na navy, buduci hero) */
.ktv-on-dark .ktv-brand__k{ color:var(--ktv-text-inverse) }

.ktv-links{ display:flex; gap:1px; align-items:center; min-width:0 }
.ktv-links__a{
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--ktv-font-body); font-size:14.5px; font-weight:500; line-height:1;
  color:var(--ktv-text-primary); background:none; border:0; cursor:pointer;
  padding:9px 7px; border-radius:9px; text-decoration:none; transition:.16s; white-space:nowrap;
}
.ktv-links__a:hover{ color:var(--ktv-brand-primary-hover); background:var(--ktv-bg-tinted) }
/* AA: amber #D98A1E kao tekst pada (2.61) → text-safe zlatna #8A5400 (5.92). Amber ostaje samo na CTA pozadini. */
.ktv-links__a--akc{ color:var(--ktv-brand-text); font-weight:700 }
.ktv-links__a--akc:hover{ color:var(--ktv-brand-text); background:var(--ktv-brand-soft,rgba(217,138,30,.12)) }
.ktv-drawer__top--akc{ color:var(--ktv-brand-text) }
.ktv-drawer__top--akc span{ font-family:var(--ktv-font-mono); font-size:12px; opacity:.7 }
.ktv-caret{ width:11px; height:11px; opacity:.55; transition:transform .18s }
.ktv-drop__btn[aria-expanded="true"] .ktv-caret{ transform:rotate(180deg) }

.ktv-drop{ position:relative }
.ktv-drop__panel{
  position:absolute; top:calc(100% + 8px); left:0; min-width:230px;
  background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default);
  border-radius:var(--ktv-radius-sm); box-shadow:var(--ktv-shadow-lg);
  padding:8px; display:flex; flex-direction:column; gap:2px;
}
/* Nevidljivi "most" preko 8px procjepa dugme→panel: bez njega miš na putu do panela izađe iz .ktv-drop pa se meni zatvori. Postoji samo dok je panel otvoren (kad je [hidden], ::before se ne renderuje). */
.ktv-drop__panel::before{ content:""; position:absolute; top:-11px; left:0; right:0; height:11px }
.ktv-drop__panel--grid{ display:grid; grid-template-columns:1fr 1fr; min-width:300px }
.ktv-drop__panel a{
  font-size:14px; color:var(--ktv-text-primary); text-decoration:none;
  padding:9px 11px; border-radius:8px; transition:.14s;
}
.ktv-drop__panel a:hover{ background:var(--ktv-bg-tinted); color:var(--ktv-brand-primary-hover) }
.ktv-drop__all{ font-weight:600; border-bottom:1px solid var(--ktv-border-subtle); border-radius:8px 8px 0 0 !important; margin-bottom:4px }

.ktv-search{
  /* 26.08.: `flex:1; min-width:0` je značilo da pretraga upije SVE skupljanje reda i spadne na 72 px.
     Sada nosi vlastitu osnovu i tvrd minimum — meni se stisne prije nego pretraga postane neupotrebljiva. */
  flex:1 1 240px; min-width:170px; display:flex; align-items:center; gap:9px;
  background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default);
  border-radius:12px; padding:0 13px; transition:border-color .16s, box-shadow .16s;
}
.ktv-search:focus-within{ border-color:var(--ktv-brand-primary); box-shadow:0 0 0 3px rgba(217,138,30,.18) }
.ktv-search__ico{ width:17px; height:17px; flex:none; color:var(--ktv-text-tertiary) }
.ktv-search input{
  flex:1; min-width:0; border:0; background:none; outline:none;
  font-family:var(--ktv-font-body); font-size:13.5px; color:var(--ktv-text-primary); padding:11px 0;
}
.ktv-search input::placeholder{ color:var(--ktv-text-tertiary) }

.ktv-act{ display:flex; gap:8px; flex:none }
.ktv-ico{
  position:relative; width:40px; height:40px; display:grid; place-items:center;
  border:1px solid var(--ktv-border-default); border-radius:12px;
  background:var(--ktv-bg-elevated); color:var(--ktv-text-primary);
  cursor:pointer; transition:.16s; text-decoration:none;
}
.ktv-ico:hover{ border-color:var(--ktv-brand-primary); color:var(--ktv-brand-primary) }
.ktv-ico svg{ width:19px; height:19px }
.ktv-cart__count{
  position:absolute; top:-6px; right:-6px; min-width:19px; height:19px; padding:0 4px;
  display:grid; place-items:center; border-radius:999px;
  background:var(--ktv-brand-primary); color:var(--ktv-brand-ink);
  font-family:var(--ktv-font-mono); font-size:10px; font-weight:700;
  border:2px solid var(--ktv-bg-canvas);
}
.ktv-burger{ display:none }
.ktv-search-btn{ display:none }
.ktv-search-btn .ktv-i-close{ display:none }

/* ---------- Drawer ---------- */
.ktv-scrim{ position:fixed; inset:0; background:var(--ktv-bg-overlay); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
  z-index:59; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility 0s .3s; }
.ktv-scrim.is-open{ opacity:1; visibility:visible; transition:opacity .3s ease; }
.ktv-drawer{
  position:fixed; top:0; right:0; bottom:0; width:min(390px,90vw); z-index:60; box-sizing:border-box;
  background:var(--ktv-bg-canvas); border-left:1px solid var(--ktv-border-default);
  box-shadow:var(--ktv-shadow-xl); padding:0 20px 26px; overflow-y:auto; overscroll-behavior:contain;
  display:flex; flex-direction:column; gap:4px;
  transform:translateX(100%); visibility:hidden;
  transition:transform .36s cubic-bezier(.16,.84,.44,1), visibility 0s .36s;
}
.ktv-drawer.is-open{ transform:none; visibility:visible; transition:transform .36s cubic-bezier(.16,.84,.44,1); }
/* Sticky glava — X uvijek dostupan, granica preko cijele širine drawera */
.ktv-drawer__head{ position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between;
  margin:0 -20px 10px; padding:16px 20px 13px; background:var(--ktv-bg-canvas); border-bottom:1px solid var(--ktv-border-default) }
.ktv-drawer__head .ktv-brand__wm{ font-size:22px }
.ktv-drawer__x{ flex:none }
.ktv-drawer__x svg{ transition:transform .22s ease }
.ktv-drawer__x:hover{ background:var(--ktv-brand-soft); border-color:var(--ktv-brand-primary); color:var(--ktv-brand-primary-hover) }
.ktv-drawer__x:hover svg{ transform:rotate(90deg) }
.ktv-drawer__nav{ display:flex; flex-direction:column }
.ktv-drawer__top{
  position:relative; display:flex; align-items:center; gap:8px;
  font-family:var(--ktv-font-display); font-weight:700; font-size:16.5px;
  color:var(--ktv-text-primary); text-decoration:none; padding:13px 2px;
  border-bottom:1px solid var(--ktv-border-subtle); transition:color .16s, padding-left .16s;
}
.ktv-drawer__top::after{ content:""; width:7px; height:7px; margin-left:auto; flex:none;
  border-right:2px solid var(--ktv-text-tertiary); border-bottom:2px solid var(--ktv-text-tertiary);
  transform:rotate(-45deg); transition:border-color .16s, transform .16s }
.ktv-drawer__top:hover{ color:var(--ktv-brand-primary-hover); padding-left:7px }
.ktv-drawer__top:hover::after{ border-color:var(--ktv-brand-primary); transform:rotate(-45deg) translate(2px,-2px) }
.ktv-drawer__sub{
  font-size:14.5px; color:var(--ktv-text-secondary); text-decoration:none;
  padding:10px 4px 10px 18px; border-bottom:1px solid var(--ktv-border-subtle); transition:color .16s, padding-left .16s;
}
.ktv-drawer__sub:hover{ color:var(--ktv-brand-primary-hover); padding-left:22px }
.ktv-drawer__lbl{
  font-family:var(--ktv-font-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ktv-navy); margin:20px 0 9px;
}
.ktv-drawer__brands{ display:grid; grid-template-columns:1fr 1fr; gap:7px }
.ktv-drawer__brands a{
  font-family:var(--ktv-font-mono); font-size:12px; color:var(--ktv-navy); text-decoration:none;
  background:var(--ktv-navy-soft); border:1px solid var(--ktv-navy-line);
  padding:10px; border-radius:9px; text-align:center; transition:border-color .16s, color .16s, transform .12s;
}
.ktv-drawer__brands a:hover{ border-color:var(--ktv-brand-primary); color:var(--ktv-brand-primary-hover); transform:translateY(-1px) }

@media(max-width:1180px){ .ktv-links{ gap:0 } .ktv-links__a{ padding:9px 5px; font-size:13.5px } .ktv-brand__ico{ width:36px; height:36px } }
@media(max-width:1000px){
  .ktv-links{ display:none }
  .ktv-search{ display:none }
  .ktv-burger{ display:grid }
  .ktv-search-btn{ display:grid }
  .ktv-nav__in{ gap:12px }
  .ktv-act{ margin-left:auto }   /* search bar skriven → gurni akcije uz desnu ivicu */
  /* Search preuzima nav-traku: logo/korpa/meni se sklone, dugme postane × */
  .ktv-nav--search .ktv-brand{ display:none }
  .ktv-nav--search .ktv-search{ display:flex }
  .ktv-nav--search .ktv-act > a{ display:none }
  .ktv-nav--search .ktv-burger{ display:none }
  .ktv-nav--search .ktv-search-btn .ktv-i-search{ display:none }
  .ktv-nav--search .ktv-search-btn .ktv-i-close{ display:block }
}
@media(prefers-reduced-motion:reduce){ *{ transition:none !important } }

/* ==== #14b ktv-header-wow (02.09.2026) ====
   Zaglavlje se ponasa kao EKRAN - isti jezik kojim kartice vec crtaju emisivni panel.
   Tri poteza, nista vise:
     1) navy traka dobija blago curenje pozadinskog svjetla + bridnu liniju (staticno, bez pokreta)
     2) na skrol se traka skupi, pojavi se sjena i UPALI se tanka amber linija - lampica pripravnosti
     3) klizna podvlaka u navigaciji koja parkira na trenutnoj sekciji (nije ukras - pokazuje gdje si)
   Klasu `is-skrolan` postavlja JS u #14. Bez JS-a zaglavlje ostaje tacno kakvo je bilo.
   PAZNJA: samo ASCII u ovom bloku - CSS build parser se lomi na visebajtnim znakovima. */

/* 1. dubina u navy traci */
.ktv-topbar{ isolation:isolate }
.ktv-topbar::before{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(120% 220% at 50% 118%, rgba(42,78,126,.55), transparent 62%) }
.ktv-topbar::after{ content:""; position:absolute; left:0; right:0; top:0; height:1px; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(231,237,245,.26) 20%, rgba(231,237,245,.26) 80%, transparent) }

/* 2. stanje na skrol */
.ktv-nav{ transition:background-color .22s ease, box-shadow .22s ease }
.ktv-nav__in{ transition:padding .22s ease }
.ktv-nav.is-skrolan{ background:color-mix(in srgb, var(--ktv-bg-canvas) 96%, transparent);
  box-shadow:0 12px 30px -20px rgba(22,36,61,.5), 0 1px 0 rgba(22,36,61,.06) }
.ktv-nav.is-skrolan .ktv-nav__in{ padding-top:9px; padding-bottom:9px }
/* lampica pripravnosti: upali se tek kad se skrola */
.ktv-nav::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; pointer-events:none;
  background:linear-gradient(90deg, transparent, var(--ktv-brand-primary) 18%, var(--ktv-brand-secondary) 50%, var(--ktv-brand-primary) 82%, transparent);
  opacity:0; transform:scaleX(.55); transform-origin:50% 50%;
  transition:opacity .28s ease, transform .4s cubic-bezier(.2,.8,.2,1) }
.ktv-nav.is-skrolan::after{ opacity:.92; transform:scaleX(1) }

/* 3. klizna podvlaka */
.ktv-links{ position:relative }
.ktv-links::after{ content:""; position:absolute; bottom:1px; left:0; height:2px; border-radius:2px;
  width:var(--ktv-pw,0px); transform:translateX(var(--ktv-px,0px)); background:var(--ktv-brand-primary);
  opacity:var(--ktv-po,0); pointer-events:none;
  transition:transform .26s cubic-bezier(.2,.8,.2,1), width .26s cubic-bezier(.2,.8,.2,1), opacity .18s ease }

@media (prefers-reduced-motion:reduce){
  .ktv-nav, .ktv-nav__in, .ktv-nav::after, .ktv-links::after{ transition:none }
}

/* ==== #15 ktv-footer-css ==== */
.wp-site-blocks > footer.wp-block-template-part{ display:none !important; }

.ktv-foot{ background:radial-gradient(900px 520px at 18% 0%, #22375c 0%, #16243D 46%, #0f1a2e 100%); color:#c9d4e2; margin-top:48px }
.ktv-foot__in{
  max-width:var(--ktv-maxw); margin:0 auto; padding:56px 24px 40px;
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:32px;
}
@media(min-width:901px){ .ktv-foot__col:not(.ktv-foot__about){ padding-top:18px } }
.ktv-foot__about p{ font-size:13px; color:rgba(255,255,255,.66); margin:14px 0; max-width:34ch; line-height:1.6 }
.ktv-foot__col h5, .ktv-foot__col .ktv-foot__h{
  font-family:var(--ktv-font-display); font-size:13px; font-weight:700;
  text-transform:uppercase; letter-spacing:.05em; color:#fff; margin:0 0 14px;
}
.ktv-foot__col a{
  display:block; font-size:13.5px; color:rgba(255,255,255,.68);
  padding:5px 0; text-decoration:none; transition:color .16s;
}
.ktv-foot__col a:hover{ color:var(--ktv-brand-secondary,#EAA842) }
/* Popularne kategorije — interni linkovi na arhive (SEO §8.5), site-wide */
.ktv-foot__pop{ max-width:var(--ktv-maxw); margin:0 auto; padding:20px 24px 4px;
  display:flex; flex-wrap:wrap; gap:12px 30px; border-top:1px solid rgba(255,255,255,.09) }
.ktv-foot__popgroup{ display:flex; flex-wrap:wrap; align-items:baseline; gap:7px 12px }
.ktv-foot__poplbl{ font-family:var(--ktv-font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#7f8ea3 }
.ktv-foot__pop a{ font-size:13px; color:#c9d4e2; text-decoration:none; transition:color .15s }
.ktv-foot__pop a:hover{ color:var(--ktv-brand-secondary,#EAA842) }
.ktv-foot__about .ktv-brand{ text-decoration:none }
.ktv-foot .ktv-brand__k{ color:#fff }
.ktv-foot__legal{ margin:16px 0; font-family:var(--ktv-font-mono); font-size:12px; line-height:1.75; color:rgba(255,255,255,.58) }
.ktv-foot__legal b{ display:block; font-family:var(--ktv-font-display); font-size:14px; font-weight:700; color:#fff; margin-bottom:4px; letter-spacing:-.01em }
.ktv-foot__legal span{ display:block }
.ktv-foot__contact{ list-style:none; margin:16px 0; padding:0; display:flex; flex-direction:column; gap:9px }
.ktv-foot__contact li{ display:flex; align-items:flex-start; gap:9px; font-size:13px; color:rgba(255,255,255,.72); line-height:1.45 }
.ktv-foot__contact svg{ width:15px; height:15px; flex:none; margin-top:2px; color:var(--ktv-brand-secondary,#EAA842) }
.ktv-foot__contact a{ color:rgba(255,255,255,.88); text-decoration:none }
.ktv-foot__contact a:hover{ color:var(--ktv-brand-secondary,#EAA842) }
.ktv-foot__contact em{ font-style:normal; color:rgba(255,255,255,.45); font-size:11.5px }

/* drustvene mreze u podnozju (03.09.2026) */
.ktv-foot__soc{ display:flex; gap:9px; margin:0 0 16px }
.ktv-foot__soc a{
  display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
  border-radius:11px; color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16);
  transition:color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease;
}
.ktv-foot__soc a:hover, .ktv-foot__soc a:focus-visible{
  color:var(--ktv-brand-secondary,#EAA842);
  border-color:rgba(234,168,66,.55); background:rgba(234,168,66,.12); transform:translateY(-1px);
}
.ktv-foot__soc svg{ width:19px; height:19px; display:block }
@media (prefers-reduced-motion: reduce){ .ktv-foot__soc a{ transition:none } .ktv-foot__soc a:hover{ transform:none } }

.ktv-pay{ display:flex; gap:7px; flex-wrap:wrap }
.ktv-pay span{
  font-family:var(--ktv-font-mono); font-size:10px; font-weight:600; letter-spacing:.02em;
  color:rgba(255,255,255,.82); background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.16); padding:6px 9px; border-radius:7px; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}

/* Navy traka zatvara stranicu i vraća se na navy iz gornje trake — stranica dobija ramu */
.ktv-foot__bar{ background:rgba(0,0,0,.22); border-top:1px solid rgba(255,255,255,.10) }
.ktv-foot__bar-in{
  max-width:var(--ktv-maxw); margin:0 auto; padding:18px 24px;
  display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
  font-size:12px; color:#93A3B8;
}
.ktv-foot__mono{ font-family:var(--ktv-font-mono); letter-spacing:.08em; color:#7E90A8 }

@media(max-width:900px){ .ktv-foot__in{ grid-template-columns:1fr 1fr } }
@media(max-width:560px){
  .ktv-foot__in{ grid-template-columns:1fr; padding:40px 20px 30px }
  .ktv-foot__bar-in{ justify-content:center; text-align:center }
}

/* ==== #19 CARE traka na kartici u mreži (iznad cijene, sama nestaje 31.12.2026) ==== */
/* align-self: tijelo kartice je flex kolona → inline-flex bi se rastegao na punu širinu (233 px umjesto ~150) */
.ktv-card__care{ display:inline-flex; align-self:flex-start; width:fit-content; align-items:center; gap:6px; margin:0 0 9px;
  padding:5px 9px; border-radius:7px; background:var(--ktv-brand-soft,rgba(217,138,30,.12));
  border:1px solid rgba(217,138,30,.32); color:var(--ktv-brand-text); line-height:1 }
.ktv-card__care svg{ flex:none }
.ktv-card__care b{ font-family:var(--ktv-font-mono); font-size:10.5px; font-weight:700; letter-spacing:.04em }
.ktv-card__care span{ font-size:10.5px; color:var(--ktv-text-secondary) }
@media(max-width:560px){ .ktv-card__care span{ display:none } }

/* ==== #21 Samsung CARE kartica (promocija do 31.12.2026, sama nestaje) ==== */
.ktv-care{ display:flex; gap:12px; align-items:flex-start; margin:0 0 12px;
  padding:13px 15px; border-radius:var(--ktv-radius-sm);
  background:linear-gradient(135deg,var(--ktv-navy-tint),transparent 70%);
  border:1px solid var(--ktv-navy-line); border-left:3px solid var(--ktv-brand-primary) }
.ktv-care__ic{ flex:none; width:34px; height:34px; display:grid; place-items:center; border-radius:10px;
  background:var(--ktv-navy-soft); color:var(--ktv-navy) }
.ktv-care b{ display:block; font-family:var(--ktv-font-display); font-size:14.5px; color:var(--ktv-text-primary); margin-bottom:2px }
.ktv-care span{ display:block; font-size:12.5px; line-height:1.5; color:var(--ktv-text-secondary) }
.ktv-care strong{ color:var(--ktv-text-primary); font-weight:700 }
.ktv-care a{ color:var(--ktv-brand-text); font-weight:600; text-underline-offset:2px }
@media(max-width:560px){ .ktv-care{ padding:11px 12px; gap:10px } .ktv-care__ic{ width:30px; height:30px } }

/* ==== #17 ktv-search-css ==== */
.ktv-search{ position:relative }

.ktv-sbox{
  position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:70;
  background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default);
  border-radius:var(--ktv-radius-sm); box-shadow:var(--ktv-shadow-lg);
  overflow:hidden; max-height:70vh; overflow-y:auto;
}
.ktv-search--drawer .ktv-sbox{ position:static; margin-top:8px; box-shadow:none; max-height:none }
/* 26.08.: na desktopu je polje 224 px pa su se nazivi modela sjekli — kutija se sidri desno i širi ulijevo.
   SAMO iznad 1000 px: na mobilnom pretraga zauzme cijelu traku, a šira kutija bi izvirila van ekrana. */
@media(min-width:1001px){
  .ktv-sbox{ left:auto; right:0; width:max(100%,380px); max-width:380px }
}

.ktv-sbox__grp{ padding:6px }
.ktv-sbox__lbl{
  font-family:var(--ktv-font-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ktv-navy); padding:8px 10px 6px; display:block;
}
.ktv-sbox__opt{
  display:flex; align-items:center; gap:11px; padding:9px 10px; border-radius:9px;
  color:var(--ktv-text-primary); text-decoration:none; cursor:pointer;
}
.ktv-sbox__opt:hover,.ktv-sbox__opt[aria-selected="true"]{ background:var(--ktv-bg-tinted) }
.ktv-sbox__opt img{ width:38px; height:38px; object-fit:contain; flex:none; border-radius:6px; background:var(--ktv-bg-tinted) }
/* 26.08.: jedan red je sjekao skoro svaki naziv („Samsung Neo QLED 4K Vision AI 65” — QN80F") → dva reda. */
.ktv-sbox__t{ flex:1; min-width:0; font-size:14px; line-height:1.25; white-space:normal; overflow:hidden;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical }
.ktv-sbox__c{ font-family:var(--ktv-font-mono); font-weight:700; font-size:12.5px; color:var(--ktv-text-primary); flex:none }
.ktv-sbox__tag{
  font-family:var(--ktv-font-mono); font-size:10px; color:var(--ktv-navy);
  background:var(--ktv-navy-soft); border:1px solid var(--ktv-navy-line);
  padding:3px 7px; border-radius:6px; flex:none;
}
.ktv-sbox__sep{ height:1px; background:var(--ktv-border-subtle); margin:2px 8px }
.ktv-sbox__prazno{ padding:20px 14px; text-align:center; color:var(--ktv-text-secondary); font-size:13.5px }
.ktv-sbox__prazno b{ color:var(--ktv-text-primary) }
.ktv-sbox__sve{
  display:block; padding:12px; text-align:center; font-size:13px; font-weight:600;
  color:var(--ktv-brand-text); text-decoration:none; border-top:1px solid var(--ktv-border-subtle);
  background:var(--ktv-bg-canvas);
}
.ktv-sbox__sve:hover{ background:var(--ktv-bg-tinted) }
.ktv-sbox__load{ padding:16px; text-align:center; color:var(--ktv-text-tertiary); font-size:13px }

/* ==== #19 ktv-card-css ==== */
/* ==== Emisivni ekran (signature) — GLOBALNO (kartice, product galerija, compare). ==== */
.ktv-screen{ position:relative }
.ktv-screen__spill{ position:absolute; inset:6% 4% -18% 4%; z-index:0; border-radius:40px;
  background:var(--wall); background-size:180% 180%; filter:blur(34px) saturate(1.25); opacity:.46 }
/* F6 perf-budžet: kartice NE koriste blur (živi spill blur ostaje samo na hero/PDP). Meki sjaj = radial mask (GPU-jeftino). */
.ktv-card .ktv-screen__spill{ filter:none; opacity:.34;
  -webkit-mask-image:radial-gradient(72% 62% at 50% 42%,#000 26%,transparent 76%);
          mask-image:radial-gradient(72% 62% at 50% 42%,#000 26%,transparent 76%) }
.ktv-screen__body{ position:relative; z-index:2; aspect-ratio:16/9; border:5px solid var(--ktv-panel-bezel);
  border-radius:11px; overflow:hidden; background:var(--wall); background-size:200% 200%;
  box-shadow:0 22px 44px -18px rgba(var(--ktv-shadow-rgb),.4), inset 0 1px 0 rgba(255,255,255,.14), inset 0 0 0 1px rgba(0,0,0,.4) }
.ktv-screen__body::after{ content:""; position:absolute; inset:0; background:
  radial-gradient(120% 120% at 50% 40%,transparent 55%,rgba(0,0,0,.28) 100%),
  linear-gradient(115deg,rgba(255,255,255,.28),transparent 24%,transparent 80%,rgba(255,255,255,.08)) }
.ktv-screen__sheen{ position:absolute; inset:0; z-index:3; background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.20) 48%,transparent 60%);
  transform:translateX(-60%); animation:ktvSheen 7s ease-in-out infinite }
@keyframes ktvSheen{ 0%,76%{ transform:translateX(-62%) } 90%,100%{ transform:translateX(122%) } }
@media(prefers-reduced-motion:reduce){ .ktv-screen__sheen{ animation:none } }

/* ==== GRID — 3 kolone svugdje ==== */
.ktv-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px }
.ktv-grid--3{ grid-template-columns:repeat(3,1fr) }
@media(max-width:980px){ .ktv-grid,.ktv-grid--3{ grid-template-columns:repeat(2,1fr); gap:16px } }
@media(max-width:600px){ .ktv-grid,.ktv-grid--3{ grid-template-columns:1fr } }

/* ==== KARTICA (spec-forward B) ==== */
.ktv-card{ container-type:inline-size; display:flex; flex-direction:column; background:var(--ktv-bg-elevated);
  border:1px solid var(--ktv-border-default); border-radius:var(--ktv-radius); overflow:hidden; position:relative;
  box-shadow:0 6px 22px rgba(var(--ktv-shadow-rgb),.07); transition:transform .25s,box-shadow .25s,border-color .25s }
.ktv-card:hover{ transform:translateY(-5px); border-color:var(--ktv-border-strong); box-shadow:0 22px 48px -14px rgba(var(--ktv-shadow-rgb),.22) }

/* TOP: media (lijevo) + dijagonala (desno); ne-TV (bez dijagonale) → slika puna širina */
/* 24.09.2026: minmax(0,...) jer `fr` ima auto-minimum po sadrzaju — slika sireg oblika (TCL 98") razvuce prvu kolonu i dijagonala ispadne iz kartice */
.ktv-card--b .ktv-card__top{ position:relative; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:10px; align-items:center; padding:20px 20px 8px }
.ktv-card--b .ktv-card__top--full{ grid-template-columns:1fr }
.ktv-card--b .ktv-card__top--full .ktv-card__img{ aspect-ratio:16/11 }
.ktv-card--b .ktv-card__media{ position:relative; display:block; padding:0; overflow:hidden; min-width:0 }
.ktv-card--b .ktv-card__media .ktv-screen{ width:100% }
.ktv-card--b .ktv-card__img{ display:block; width:100%; aspect-ratio:16/10; object-fit:contain }
/* DIJAGONALA — heroj */
.ktv-card__size{ text-align:right }
.ktv-card__size b{ display:block; font-family:var(--ktv-font-display); font-weight:800; letter-spacing:-.045em; line-height:.88;
  font-size:clamp(40px,20cqi,58px); color:var(--ktv-navy-deep) }
.ktv-card__size b i{ font-style:normal; font-size:.5em; letter-spacing:0; color:var(--ktv-text-tertiary) }
.ktv-card__sizelbl{ font-family:var(--ktv-font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ktv-text-tertiary) }
.ktv-card__dist{ display:inline-flex; align-items:center; gap:4px; margin-top:5px; font-family:var(--ktv-font-mono); font-size:9.5px; color:var(--ktv-navy) }
.ktv-card__dist svg{ opacity:.7 }

/* badge (panel) gore-lijevo; Akcija/% ispod njega (desno-gore je zauzeto dijagonalom) */
.ktv-card__badge{ position:absolute; top:14px; left:14px; z-index:6; font-family:var(--ktv-font-mono);
  font-size:9.5px; font-weight:700; letter-spacing:.05em; color:var(--ktv-navy);
  background:var(--ktv-bg-elevated); border:1px solid var(--ktv-navy-line); padding:4px 8px; border-radius:6px;
  box-shadow:0 3px 10px rgba(var(--ktv-shadow-rgb),.14) }
.ktv-card__tag{ position:absolute; top:14px; left:14px; right:auto; z-index:6; font-family:var(--ktv-font-mono);
  font-size:10px; font-weight:700; background:var(--ktv-brand-primary); color:var(--ktv-brand-ink); padding:4px 8px; border-radius:6px }
.ktv-card--b:has(.ktv-card__badge) .ktv-card__tag{ top:46px } /* desno-gore zauzeto dijagonalom → Akcija gore-lijevo, ispod panel badgea */

/* BODY */
.ktv-card__body{ padding:6px 20px 18px; display:flex; flex-direction:column; flex:1 }
.ktv-card__brand{ font-family:var(--ktv-font-mono); font-size:10.5px; color:var(--ktv-navy); letter-spacing:.05em; text-transform:uppercase }
.ktv-card__title{ font-family:var(--ktv-font-display); font-size:16px; font-weight:700; letter-spacing:-.02em;
  margin:2px 0 12px; line-height:1.22; color:var(--ktv-text-primary); text-decoration:none }
.ktv-card__title:hover{ color:var(--ktv-brand-primary-hover) }
.ktv-card__rating{ font-size:11.5px; color:var(--ktv-text-secondary); margin:-4px 0 12px }

/* IKONA-MREŽA 2×2 */
.ktv-card__specs2{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 15px }
.ktv-cspec{ display:flex; align-items:center; gap:9px; background:var(--ktv-bg-warm); border:1px solid var(--ktv-border-default);
  border-radius:11px; padding:9px 11px; transition:border-color .15s }
.ktv-card:hover .ktv-cspec{ border-color:var(--ktv-border-strong) }
.ktv-cspec svg{ color:var(--ktv-navy); flex:none }
.ktv-cspec__t{ min-width:0; display:flex; flex-direction:column }
.ktv-cspec .k{ font-family:var(--ktv-font-mono); font-size:8.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--ktv-text-tertiary); line-height:1.2 }
.ktv-cspec .v{ font-family:var(--ktv-font-mono); font-size:12.5px; font-weight:700; color:var(--ktv-navy-deep); white-space:nowrap; line-height:1.25; overflow:hidden; text-overflow:ellipsis }
/* Ne-TV „pitch" (kratki opis, umjesto 2×2 mreže) */
.ktv-card__pitch{ font-size:13px; color:var(--ktv-text-secondary); line-height:1.55; margin:0 0 15px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden }

/* PODNOŽJE: cijena lijevo + stanje desno */
.ktv-card--b .ktv-card__foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:auto 0 13px; padding-top:13px; border-top:1px solid var(--ktv-border-subtle) }
.ktv-card--b .ktv-card__price{ display:block; font-family:var(--ktv-font-mono); font-weight:700; font-size:22px; color:var(--ktv-text-primary); letter-spacing:-.01em }
.ktv-card--b .ktv-card__price del{ font-size:12px; color:var(--ktv-text-tertiary); margin-right:6px; font-weight:400 }
.ktv-card__price del::before{ content:"PMC"; display:inline-block; margin-right:4px; font-size:9px; letter-spacing:.08em; opacity:.8 }
.ktv-card--b .ktv-card__price ins{ text-decoration:none }
.ktv-card__stock{ display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:600; white-space:nowrap }
.ktv-card__stock i{ width:8px; height:8px; border-radius:50%; background:currentColor }
.ktv-card__stock.is-in{ color:var(--ktv-success) }
.ktv-card__stock.is-in i{ box-shadow:0 0 0 3px rgba(63,125,58,.16) }
.ktv-card__stock.is-out{ color:var(--ktv-text-tertiary) }
.ktv-card__stock.is-out i{ box-shadow:0 0 0 3px rgba(138,121,101,.14) }

/* CTA: Dodaj u korpu (main) + Uporedi (ghost) */
.ktv-card__cta2{ display:grid; grid-template-columns:1.5fr 1fr; gap:8px }
.ktv-card__cta2 .ktv-btn{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; box-sizing:border-box;
  font-family:var(--ktv-font-display); font-weight:700; font-size:13.5px; line-height:1; padding:12px 14px; border-radius:12px;
  border:1px solid transparent; text-decoration:none; cursor:pointer; transition:filter .14s, box-shadow .16s, transform .08s, background .16s, border-color .16s }
.ktv-card__cta2 .ktv-btn--main{ background:var(--ktv-brand-primary,#D98A1E); color:#fff; box-shadow:0 6px 16px rgba(217,138,30,.26) }
.ktv-card__cta2 .ktv-btn--main:hover{ filter:brightness(1.05); box-shadow:0 10px 24px rgba(217,138,30,.4); transform:translateY(-1px) }
.ktv-card__cta2 .ktv-btn--main:active{ transform:translateY(0); box-shadow:0 4px 12px rgba(217,138,30,.3) }
.ktv-card__cta2 .ktv-btn--ghost{ background:var(--ktv-bg-elevated); color:var(--ktv-text-primary); border-color:var(--ktv-border-strong) }
.ktv-card__cta2 .ktv-btn--ghost:hover{ background:var(--ktv-bg-tinted); border-color:var(--ktv-navy) }
.ktv-card__cta2 .ktv-cmp-toggle svg{ opacity:.85; flex:none }
.ktv-card__cta2 .ktv-cmp-toggle[aria-pressed="true"]{ background-color:var(--ktv-navy-soft); border-color:var(--ktv-navy); color:var(--ktv-navy-deep) }
.ktv-card__cta2 .ktv-cmp-toggle[aria-pressed="true"] svg{ opacity:1 }
/* WC ubaci <a class="added_to_cart"> nakon add — sakrij */
.ktv-card__cta2 .added, .ktv-card__cta2 .added_to_cart{ display:none }
.ktv-card__cta2 .ktv-btn.loading{ opacity:.7; pointer-events:none }

/* ==== #18 ktv-home-css ==== */
.ktv-wrap{ max-width:var(--ktv-maxw); margin:0 auto; padding:0 24px }
.ktv-sec{ padding-top:74px; padding-bottom:74px }
.ktv-sec--tight{ padding-top:44px; padding-bottom:44px }
.ktv-sec--warm{ background:var(--ktv-bg-warm) }

.ktv-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--ktv-font-mono);
  font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ktv-navy) }
.ktv-eyebrow i{ width:6px; height:6px; border-radius:50%; background:var(--ktv-brand-primary); box-shadow:0 0 8px var(--ktv-brand-primary) }
.ktv-h2{ font-family:var(--ktv-font-display); font-weight:800; font-size:clamp(28px,3.6vw,40px);
  letter-spacing:-.035em; line-height:1.04; margin:12px 0 0; color:var(--ktv-text-primary) }
.ktv-head{ margin-bottom:34px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap }
.ktv-morelink{ font-weight:600; color:var(--ktv-brand-text); font-size:14.5px; white-space:nowrap; text-decoration:none }
.ktv-morelink:hover{ color:var(--ktv-brand-primary-hover) }
.ktv-head--center{ text-align:center; justify-content:center }
.ktv-head--center .ktv-eyebrow{ justify-content:center }

.ktv-btn{ display:inline-flex; align-items:center; gap:8px; font-family:var(--ktv-font-body);
  font-weight:600; font-size:15px; padding:13px 22px; border-radius:13px; text-decoration:none;
  border:1px solid transparent; cursor:pointer; transition:.2s; line-height:1 }
.ktv-btn--main{ background:var(--ktv-brand-primary); color:var(--ktv-brand-ink); box-shadow:0 10px 26px -9px rgba(var(--ktv-shadow-rgb),.55) }
.ktv-btn--main:hover{ background:var(--ktv-brand-primary-hover); transform:translateY(-2px) }
.ktv-btn--ghost{ background:var(--ktv-bg-elevated); border-color:var(--ktv-border-strong); color:var(--ktv-text-primary) }
.ktv-btn--ghost:hover{ border-color:var(--ktv-brand-primary); color:var(--ktv-brand-primary) }

/* ---- Emisivni ekran (signature) ---- */
.ktv-screen{ position:relative }
.ktv-screen__spill{ position:absolute; inset:6% 4% -18% 4%; z-index:0; border-radius:40px;
  background:var(--wall); background-size:180% 180%; filter:blur(34px) saturate(1.25); opacity:.46 }
.ktv-screen__body{ position:relative; z-index:2; aspect-ratio:16/9; border:5px solid var(--ktv-panel-bezel);
  border-radius:11px; overflow:hidden; background:var(--wall); background-size:200% 200%;
  box-shadow:0 22px 44px -18px rgba(var(--ktv-shadow-rgb),.4), inset 0 1px 0 rgba(255,255,255,.14), inset 0 0 0 1px rgba(0,0,0,.4) }
.ktv-screen__body::after{ content:""; position:absolute; inset:0; background:
  radial-gradient(120% 120% at 50% 40%,transparent 55%,rgba(0,0,0,.28) 100%),
  linear-gradient(115deg,rgba(255,255,255,.28),transparent 24%,transparent 80%,rgba(255,255,255,.08)) }
.ktv-screen__sheen{ position:absolute; inset:0; z-index:3; background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.20) 48%,transparent 60%);
  transform:translateX(-60%); animation:ktvSheen 7s ease-in-out infinite }
@keyframes ktvSheen{ 0%,76%{ transform:translateX(-62%) } 90%,100%{ transform:translateX(122%) } }
.ktv-tvset{ display:flex; flex-direction:column; align-items:center }
.ktv-tvset .ktv-screen{ width:100% }
.ktv-tvset__stand{ width:30%; height:9px; background:#131C2C; border-radius:0 0 5px 5px }
.ktv-tvset__base{ width:44%; height:8px; background:var(--ktv-panel-bezel); border-radius:8px; margin-top:2px }
.ktv-tvset__shadow{ width:58%; height:16px; background:radial-gradient(rgba(var(--ktv-shadow-rgb),.22),transparent 72%); filter:blur(5px); margin-top:8px }

/* ---- Hero ---- */
.ktv-hero{ padding:64px 24px 40px; display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center }
.ktv-hero__h1{ font-family:var(--ktv-font-display); font-weight:800; font-size:clamp(40px,6.2vw,68px);
  line-height:.96; letter-spacing:-.045em; margin:20px 0; color:var(--ktv-text-primary) }
.ktv-hero__h1 em{ font-style:normal; background:linear-gradient(96deg,var(--ktv-brand-primary),var(--ktv-brand-secondary));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent }
.ktv-hero__lede{ color:var(--ktv-text-secondary); font-size:17.5px; line-height:1.6; max-width:46ch; margin:0 0 28px }
.ktv-hero__cta{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px }
.ktv-trust{ display:flex; flex-wrap:wrap; gap:10px 22px; font-size:13.5px; color:var(--ktv-text-secondary) }
.ktv-trust b{ display:inline-flex; align-items:center; gap:7px; font-weight:500 }
.ktv-trust b::before{ content:""; width:16px; height:16px; border-radius:50%; flex:none; background:var(--ktv-brand-primary);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/12px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/12px no-repeat }
.ktv-hero{ overflow-x:clip }  /* leteci chipovi ne smiju napraviti scroll stranice (ne dira sticky header — on je izvan) */
.ktv-hero__stage{ position:relative; display:grid; place-items:center; min-height:360px }
.ktv-hero__stage .ktv-tvset{ width:min(460px,92%) }
.ktv-chip{ position:absolute; z-index:5; font-family:var(--ktv-font-mono); font-size:11.5px; font-weight:500;
  background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); padding:9px 13px; border-radius:11px;
  box-shadow:0 12px 28px -10px rgba(var(--ktv-shadow-rgb),.35) }
.ktv-chip b{ color:var(--ktv-navy) }
.ktv-chip--1{ top:2%; left:-3%; animation:ktvFloat 5s ease-in-out infinite }
.ktv-chip--2{ bottom:24%; right:-6%; animation:ktvFloat 5.6s ease-in-out .6s infinite }
.ktv-chip--3{ bottom:2%; left:8%; animation:ktvFloat 6.2s ease-in-out .3s infinite }
@keyframes ktvFloat{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-9px) } }

/* ---- HERO (statična verzija, bez efekata) — .ktvh ---- */
.ktvh{ position:relative; overflow:hidden; padding:58px 30px 46px;
  background:linear-gradient(180deg, #1a2c4c 0%, var(--ktv-navy-deep) 60%, #101d33 100%) }
.ktvh::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(120% 100% at 50% 40%,#000 32%,transparent 80%);
          mask-image:radial-gradient(120% 100% at 50% 40%,#000 32%,transparent 80%) }
.ktvh__in{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1.08fr; gap:52px; align-items:center; max-width:var(--ktv-maxw,1200px); margin:0 auto }
.ktvh__eyebrow{ display:inline-flex; align-items:center; gap:10px; font-family:var(--ktv-font-mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--ktv-brand-secondary) }
.ktvh__eyebrow i{ width:7px; height:7px; border-radius:50%; background:var(--ktv-brand-primary) }
.ktvh__h1{ font-family:var(--ktv-font-display); font-weight:800; letter-spacing:-.035em; line-height:1.02; font-size:clamp(40px,5.2vw,70px); margin:20px 0 0; color:#fff }
.ktvh__h1 .am{ color:var(--ktv-brand-secondary) }
.ktvh__sub{ font-size:clamp(15px,1.4vw,18px); line-height:1.62; color:rgba(234,240,248,.66); margin:22px 0 0; max-width:46ch }
.ktvh__cta{ display:flex; flex-wrap:wrap; gap:14px; margin:32px 0 0 }
.ktvh__trust{ display:flex; flex-wrap:wrap; gap:18px 26px; margin:30px 0 0 }
.ktvh__trust .t{ display:inline-flex; align-items:center; gap:9px; font-size:13.5px; color:rgba(234,240,248,.66) }
.ktvh__trust .t svg{ color:var(--ktv-brand-secondary); flex:none }
.ktvh .ktv-btn{ display:inline-flex; align-items:center; gap:9px; font-family:var(--ktv-font-display); font-weight:700; font-size:15px; padding:15px 26px; border-radius:13px; border:1px solid transparent; text-decoration:none; transition:transform .12s, box-shadow .16s, background .16s, border-color .16s, filter .14s }
.ktvh .ktv-btn--main{ background:var(--ktv-brand-primary); color:var(--ktv-brand-ink); box-shadow:0 10px 24px rgba(217,138,30,.26) }
.ktvh .ktv-btn--main:hover{ transform:translateY(-2px); filter:brightness(1.05); box-shadow:0 14px 32px rgba(217,138,30,.38) }
.ktvh .ktv-btn--ghost{ background:rgba(255,255,255,.05); color:#fff; border-color:rgba(255,255,255,.16) }
.ktvh .ktv-btn--ghost:hover{ transform:translateY(-2px); background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.28) }
/* DESNO: emisivna galerija — VRAĆENO NA STARO */
.ktv-ghero__stage{ position:relative }
.ktv-gviewport{ position:relative; width:100%; aspect-ratio:16/9 }
.ktv-gslide{ position:absolute; inset:0; opacity:0; transition:opacity .8s ease }
.ktv-gslide.on{ opacity:1 }
.ktv-gslide--screen{ border:7px solid var(--ktv-panel-bezel,#0E1626); border-radius:16px; overflow:hidden; background:var(--wall); background-size:cover;
  box-shadow:0 46px 84px -30px rgba(0,0,0,.72), inset 0 0 0 1px rgba(0,0,0,.6) }
.ktv-gslide--screen::after{ content:""; position:absolute; inset:0; z-index:3;
  background:radial-gradient(120% 120% at 50% 32%,transparent 50%,rgba(0,0,0,.36) 100%),linear-gradient(115deg,rgba(255,255,255,.26),transparent 22%,transparent 82%,rgba(255,255,255,.06)) }
.ktv-gslide--photo{ display:grid; place-items:center; padding:0 }
.ktv-gslide--photo::before{ content:""; position:absolute; width:82%; height:82%; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.12),transparent 68%); z-index:0 }
.ktv-gslide--photo img{ position:relative; z-index:1; max-width:100%; max-height:100%; object-fit:contain; filter:drop-shadow(0 26px 46px rgba(0,0,0,.55)) }
.ktv-gscreen__grid{ position:absolute; inset:0; z-index:2; mix-blend-mode:overlay;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:40px 40px }
.ktv-gscreen__sheen{ position:absolute; inset:0; z-index:4; background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.16) 48%,transparent 58%); transform:translateX(-64%); animation:ktvSheen 7s ease-in-out infinite }
.ktv-gcaption{ position:relative; z-index:3; min-height:150px; margin-top:16px; width:92%; margin-left:auto; margin-right:auto }
.ktv-gcard{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; gap:9px; text-decoration:none;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:15px 20px;
  opacity:0; transform:translateY(8px); transition:opacity .5s ease,transform .5s ease; pointer-events:none; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px) }
.ktv-gcard.on{ opacity:1; transform:none; pointer-events:auto }
.ktv-gcard:hover{ border-color:rgba(255,255,255,.3) }
.ktv-gcard__top{ display:flex; align-items:center; gap:10px; flex-wrap:wrap }
.ktv-gcard__brand{ font-family:var(--ktv-font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ktv-brand-secondary,#EAA842) }
.ktv-gcard__chips{ display:flex; gap:6px; flex-wrap:wrap }
.ktv-gcard__chips span{ font-family:var(--ktv-font-mono); font-size:10px; color:rgba(255,255,255,.82); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); padding:3px 8px; border-radius:999px }
.ktv-gcard__name{ font-family:var(--ktv-font-display); font-size:18px; font-weight:700; letter-spacing:-.02em; color:#fff; line-height:1.18; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden }
.ktv-gcard__foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:2px }
.ktv-gcard__price{ font-family:var(--ktv-font-mono); font-weight:700; font-size:20px; color:#fff }
.ktv-gcard__price .woocommerce-Price-amount{ color:#fff }
.ktv-gcard__price del{ color:rgba(255,255,255,.5); font-size:13px; font-weight:400; margin-right:5px } .ktv-gcard__price ins{ text-decoration:none; color:#fff }
.ktv-gcard__go{ font-family:var(--ktv-font-display); font-weight:700; font-size:13.5px; color:var(--ktv-brand-secondary,#EAA842); flex:none }
.ktv-gdots{ display:flex; gap:2px; justify-content:center; margin-top:16px; position:relative; z-index:5 }
.ktv-gdot{ width:26px; height:26px; border:0; background:transparent; cursor:pointer; padding:0; position:relative; transition:.2s }
.ktv-gdot::before{ content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.28); transition:.2s }
.ktv-gdot.on::before{ background:var(--ktv-brand-primary); transform:translate(-50%,-50%) scale(1.25); box-shadow:0 0 10px rgba(217,138,30,.6) }
@media(max-width:1000px){
  .ktvh__in{ grid-template-columns:1fr; gap:36px } .ktv-ghero__stage{ order:2 } .ktvh{ padding:44px 20px 40px }
}


/* ---- Header NAVY samo na naslovnoj (stapa se s gallery herojem). Ostale stranice: nedirnute (ovaj CSS se učitava samo na is_front_page). ---- */
body.ktv-home .ktv-nav{ background:color-mix(in srgb, #16243D 90%, transparent); border-bottom-color:rgba(255,255,255,.12) }
body.ktv-home .ktv-nav .ktv-brand__k{ color:#fff }
body.ktv-home .ktv-links__a{ color:rgba(255,255,255,.86) }
body.ktv-home .ktv-links__a:hover{ color:#fff; background:rgba(255,255,255,.10) }
body.ktv-home .ktv-caret{ color:#fff }
body.ktv-home .ktv-nav .ktv-search{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.16) }
body.ktv-home .ktv-nav .ktv-search:focus-within{ border-color:var(--ktv-brand-secondary,#EAA842) }
body.ktv-home .ktv-nav .ktv-search__ico{ color:rgba(255,255,255,.6) }
body.ktv-home .ktv-search input{ color:#fff }
body.ktv-home .ktv-search input::placeholder{ color:rgba(255,255,255,.55) }
body.ktv-home .ktv-ico{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.16); color:#fff }
body.ktv-home .ktv-ico:hover{ background:rgba(255,255,255,.16) }

/* ---- USP ---- */
.ktv-usp{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:34px 0; position:relative;
  background:var(--ktv-border-default); border:1px solid var(--ktv-border-default); border-radius:18px; overflow:hidden;
  box-shadow:0 14px 36px -14px rgba(var(--ktv-shadow-rgb),.16) }
.ktv-usp::after{ content:""; position:absolute; inset:0; pointer-events:none; z-index:3; border-radius:18px; box-shadow:inset 0 1px 0 rgba(255,255,255,.9) }
.ktv-usp__i{ display:flex; gap:13px; align-items:center; background:#fff; padding:22px 22px; transition:background .2s, box-shadow .2s }
.ktv-usp__i:hover{ background:linear-gradient(180deg,#fff,#FCF6EB); box-shadow:inset 0 0 0 1px rgba(217,138,30,.2) }
.ktv-usp__i i{ width:46px; height:46px; flex:none; border-radius:13px; display:grid; place-items:center;
  background:linear-gradient(160deg,#22375c,var(--ktv-navy,#1E3A5F)); color:#fff;
  box-shadow:0 8px 18px -7px rgba(22,36,61,.6), inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .22s, background .22s, box-shadow .22s }
.ktv-usp__i:hover i{ transform:scale(1.08) rotate(-3deg); background:linear-gradient(160deg,var(--ktv-brand-primary),#EAA842); box-shadow:0 11px 24px -6px rgba(217,138,30,.6) }
.ktv-usp__i svg{ width:21px; height:21px }
.ktv-usp__i h4, .ktv-usp__i b{ font-family:var(--ktv-font-display); font-size:15px; font-weight:700; letter-spacing:-.01em; color:var(--ktv-text-primary) }
.ktv-usp__i p{ font-size:12.5px; color:var(--ktv-text-secondary); margin-top:2px }

/* ---- Slider (projektori i platna) ---- */
.ktv-slider{ position:relative }
.ktv-slider__track{ display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:6px 2px 12px; scrollbar-width:thin; scrollbar-color:var(--ktv-border-strong) transparent }
.ktv-slider__track::-webkit-scrollbar{ height:8px }
.ktv-slider__track::-webkit-scrollbar-thumb{ background:var(--ktv-border-strong); border-radius:8px }
.ktv-slider__track::-webkit-scrollbar-track{ background:transparent }
.ktv-slider__item{ flex:0 0 clamp(240px,25vw,286px); scroll-snap-align:start; display:flex }
.ktv-slider__item .ktv-card{ width:100% }
.ktv-slider__nav{ position:absolute; top:33%; transform:translateY(-50%); z-index:6; width:44px; height:44px; border-radius:50%;
  border:1px solid var(--ktv-border-default); background:var(--ktv-bg-elevated); color:var(--ktv-text-primary);
  cursor:pointer; box-shadow:0 10px 26px -8px rgba(var(--ktv-shadow-rgb),.34); display:grid; place-items:center; transition:background .16s,color .16s,border-color .16s,transform .16s }
.ktv-slider__nav:hover{ background:var(--ktv-brand-primary); color:#fff; border-color:var(--ktv-brand-primary); transform:translateY(-50%) scale(1.06) }
.ktv-slider__nav--prev{ left:-14px } .ktv-slider__nav--next{ right:-14px }
@media(max-width:640px){ .ktv-slider__nav{ display:none } .ktv-slider__item{ flex-basis:76vw } }

/* ---- Tiles ---- */
.ktv-tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
.ktv-tile{ display:block; text-decoration:none; background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default);
  border-radius:var(--ktv-radius); padding:20px; overflow:hidden; box-shadow:0 6px 22px rgba(var(--ktv-shadow-rgb),.06);
  transition:transform .25s,box-shadow .25s,border-color .25s }
.ktv-tile:hover{ transform:translateY(-4px); border-color:var(--ktv-border-strong); box-shadow:0 20px 44px -14px rgba(var(--ktv-shadow-rgb),.2) }
.ktv-tile .ktv-screen{ width:100%; margin-bottom:16px }
.ktv-tile__media{ width:100%; aspect-ratio:16/10; margin-bottom:14px; display:grid; place-items:center; overflow:hidden }
.ktv-tile__img{ max-width:100%; max-height:100%; object-fit:contain; filter:drop-shadow(0 16px 26px rgba(22,36,61,.18)) }
.ktv-tile__k{ font-family:var(--ktv-font-mono); font-size:11px; color:var(--ktv-navy); letter-spacing:.06em }
.ktv-tile h3{ font-family:var(--ktv-font-display); font-size:20px; font-weight:800; letter-spacing:-.02em; margin:4px 0; color:var(--ktv-text-primary) }
.ktv-tile p{ font-size:13px; color:var(--ktv-text-secondary); line-height:1.55 }
.ktv-tile__go{ display:inline-block; margin-top:12px; font-size:13px; font-weight:600; color:var(--ktv-brand-text) }

/* ---- Alati (kalkulator hero + vodiči + uporedi) ---- */
.ktv-tools{ display:grid; grid-template-columns:1.5fr 1fr; grid-auto-rows:1fr; gap:16px }
.ktv-tool{ display:flex; gap:15px; text-decoration:none; background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default);
  border-radius:var(--ktv-radius); padding:22px; box-shadow:0 6px 22px rgba(var(--ktv-shadow-rgb),.06);
  transition:transform .22s,box-shadow .22s,border-color .22s }
.ktv-tool:hover{ transform:translateY(-4px); border-color:var(--ktv-border-strong); box-shadow:0 20px 44px -14px rgba(var(--ktv-shadow-rgb),.2) }
.ktv-tool__ic{ width:46px; height:46px; flex:none; border-radius:13px; display:grid; place-items:center; background:var(--ktv-navy-soft); color:var(--ktv-navy) }
.ktv-tool__ic svg{ width:23px; height:23px }
.ktv-tool__k{ font-family:var(--ktv-font-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ktv-navy) }
.ktv-tool h3{ font-family:var(--ktv-font-display); font-size:18px; font-weight:800; letter-spacing:-.02em; margin:3px 0 6px; color:var(--ktv-text-primary) }
.ktv-tool p{ font-size:12.5px; color:var(--ktv-text-secondary); line-height:1.5 }
.ktv-tool__go{ display:inline-block; margin-top:9px; font-size:12.5px; font-weight:600; color:var(--ktv-brand-text) }
.ktv-tool--hero{ grid-row:span 2; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden;
  background:linear-gradient(150deg,#16243D 0%,#1E3A5F 60%,#274a78 100%); border:0; color:#fff }
.ktv-tool--hero::before{ content:""; position:absolute; right:-50px; top:-50px; width:210px; height:210px; border-radius:50%;
  background:radial-gradient(circle,rgba(217,138,30,.28),transparent 68%); pointer-events:none }
.ktv-tool--hero:hover{ transform:translateY(-4px); box-shadow:0 26px 54px -16px rgba(22,36,61,.5) }
.ktv-tool__stage{ position:relative; display:grid; place-items:center; padding:16px 0 8px; min-height:150px }
.ktv-tool__tv{ position:relative; width:min(210px,70%); aspect-ratio:16/9; border-radius:8px; border:5px solid #0a0f18;
  background:var(--wall); background-size:200% 200%; display:grid; place-items:center; box-shadow:0 20px 40px -12px rgba(0,0,0,.6) }
.ktv-tool__glow{ position:absolute; inset:0; border-radius:4px; background:radial-gradient(120% 90% at 50% 22%,rgba(255,255,255,.34),transparent 60%) }
.ktv-tool__tv b{ position:relative; font-family:var(--ktv-font-mono); font-size:15px; color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.5) }
.ktv-tool__body{ position:relative }
.ktv-tool__body .ktv-tool__k{ color:var(--ktv-brand-primary) }
.ktv-tool--hero h3{ color:#fff; font-size:23px; margin-top:4px }
.ktv-tool--hero p{ color:rgba(255,255,255,.75); font-size:13.5px }
.ktv-tool__cta{ display:inline-flex; align-items:center; gap:8px; margin-top:16px; align-self:flex-start;
  background:var(--ktv-brand-primary); color:#fff; font-family:var(--ktv-font-display); font-weight:700; font-size:14px;
  padding:11px 18px; border-radius:11px; box-shadow:0 10px 24px rgba(217,138,30,.34); transition:filter .14s }
.ktv-tool--hero:hover .ktv-tool__cta{ filter:brightness(1.06) }
/* Mobilni (25.08.2026): `grid-auto-rows:1fr` je vrijedio i u jednoj koloni, pa su sve tri kartice dobijale
   visinu najviše (hero kalkulator) — 3×428 px = 1.315 px, skoro dva ekrana za tri linka. Vraćamo prirodnu visinu. */
@media(max-width:1000px){ .ktv-tools{ grid-template-columns:1fr; grid-auto-rows:auto } .ktv-tool--hero{ grid-row:auto } }
@media(max-width:560px){
  .ktv-tool{ padding:16px; gap:13px; align-items:center }
  .ktv-tool--hero{ align-items:stretch }
  .ktv-tool__ic{ width:40px; height:40px; border-radius:11px }
  .ktv-tool__ic svg{ width:20px; height:20px }
  .ktv-tool h3{ font-size:16.5px; margin:2px 0 4px }
  .ktv-tool p{ font-size:12.5px; line-height:1.45 }
  .ktv-tool__go{ margin-top:6px }
  .ktv-tool__stage{ min-height:104px; padding:6px 0 2px }
  .ktv-tool__tv{ width:min(168px,58%) }
  .ktv-tool--hero h3{ font-size:19px }
  .ktv-tool--hero p{ font-size:13px }
  .ktv-tool__cta{ margin-top:12px; padding:10px 16px; font-size:13.5px }
}

/* ---- Sizes (rastuće dijagonale, klik → shop filter f_dijagonala) ---- */
.ktv-sizes{ display:flex; gap:12px; flex-wrap:wrap; align-items:stretch; margin-top:14px }
.ktv-size{ position:relative; flex:1 1 0; min-width:118px; display:flex; flex-direction:column;
  text-decoration:none; color:inherit; background:var(--ktv-bg-elevated);
  border:1px solid var(--ktv-border-default); border-radius:var(--ktv-radius-sm);
  padding:16px 12px 15px; box-shadow:0 4px 16px rgba(var(--ktv-shadow-rgb),.05);
  transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .2s,box-shadow .2s }
.ktv-size:hover{ transform:translateY(-5px); border-color:var(--ktv-brand-primary);
  box-shadow:0 16px 34px -14px rgba(var(--ktv-shadow-rgb),.4) }
.ktv-size__stage{ display:flex; align-items:flex-end; justify-content:center; height:84px; margin-bottom:12px }
.ktv-tv{ display:block; width:var(--w); position:relative }
.ktv-tv::after{ content:""; position:absolute; left:50%; bottom:-4px; transform:translateX(-50%);
  width:88%; height:9px; border-radius:50%; background:rgba(36,26,18,.16); filter:blur(4px); z-index:0 }
.ktv-tv__screen{ display:block; position:relative; z-index:1; width:100%; aspect-ratio:16/9; border-radius:5px;
  background:linear-gradient(160deg,#182338,var(--ktv-panel-bezel)); padding:3px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 3px 8px rgba(10,16,28,.28) }
.ktv-tv__panel{ display:block; width:100%; height:100%; border-radius:3px; overflow:hidden; position:relative;
  background:radial-gradient(120% 90% at 30% 15%,rgba(234,168,66,.55),transparent 55%),radial-gradient(140% 120% at 85% 90%,rgba(42,78,126,.85),transparent 60%),linear-gradient(180deg,#20406b,#12233c) }
.ktv-tv__panel::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.10),transparent 40%) }
.ktv-tv__stand{ display:block; position:relative; z-index:1; margin:2px auto 0; width:14%; height:4px; background:#26344d; border-radius:0 0 2px 2px }
.ktv-tv__stand::after{ content:""; position:absolute; left:50%; top:3px; transform:translateX(-50%); width:340%; max-width:46px; height:3px; background:#2b3a54; border-radius:3px }
.ktv-size:hover .ktv-tv__panel{ background:radial-gradient(120% 90% at 30% 15%,rgba(234,168,66,.8),transparent 55%),radial-gradient(140% 120% at 85% 90%,rgba(42,78,126,.95),transparent 60%),linear-gradient(180deg,#284f83,#12233c) }
.ktv-size:hover .ktv-tv__screen{ box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 6px 18px rgba(217,138,30,.28) }
.ktv-size__d{ display:block; font-family:var(--ktv-font-display); font-weight:800; letter-spacing:-.04em; font-size:30px; line-height:1; color:var(--ktv-text-primary) }
.ktv-size__d sup{ font-size:.5em; font-weight:700; color:var(--ktv-brand-text); vertical-align:super; margin-left:1px; letter-spacing:0 }
.ktv-size__room{ display:block; font-size:11.5px; color:var(--ktv-text-secondary); margin-top:5px; line-height:1.25; min-height:28px }
.ktv-size__count{ display:inline-flex; align-items:baseline; gap:4px; margin-top:9px; font-family:var(--ktv-font-mono); font-size:10.5px; color:var(--ktv-text-tertiary); letter-spacing:.02em }
.ktv-size__count b{ color:var(--ktv-navy); font-size:12.5px; font-weight:600 }
.ktv-size__go{ display:block; margin-top:10px; font-family:var(--ktv-font-mono); font-size:11px; color:var(--ktv-brand-text); font-weight:600; opacity:0; transform:translateX(-4px); transition:.2s }
.ktv-size:hover .ktv-size__go{ opacity:1; transform:none }
.ktv-size--pop{ border-color:var(--ktv-brand-primary); box-shadow:0 10px 30px -12px rgba(217,138,30,.45) }
.ktv-size--pop::before{ content:"★ Najprodavanije"; position:absolute; top:-10px; left:50%; transform:translateX(-50%);
  white-space:nowrap; font-family:var(--ktv-font-mono); font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ktv-brand-ink); background:linear-gradient(180deg,var(--ktv-brand-secondary),var(--ktv-brand-primary));
  padding:4px 10px; border-radius:20px; box-shadow:0 4px 10px -2px rgba(217,138,30,.5) }
@media(max-width:980px){ .ktv-size{ min-width:calc(25% - 9px) } }
@media(max-width:600px){ .ktv-size{ min-width:calc(33.333% - 8px) } .ktv-size__stage{ height:74px } }
@media(max-width:420px){ .ktv-size{ min-width:calc(50% - 6px) } }

/* ---- Brands ---- */
.ktv-brands{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center }
.ktv-brandchip{ font-family:var(--ktv-font-display); font-weight:700; font-size:17px; letter-spacing:-.01em;
  color:var(--ktv-text-secondary); text-decoration:none; background:var(--ktv-bg-elevated);
  border:1px solid var(--ktv-border-default); padding:12px 24px; border-radius:12px; transition:.2s }
.ktv-brandchip:hover{ color:var(--ktv-text-primary); border-color:var(--ktv-brand-primary); box-shadow:0 8px 22px -10px rgba(var(--ktv-shadow-rgb),.25) }
/* Brend logo čipovi: puna boja (Eldin 07-14), uniformna visina, blagi zoom na hover (premium brand-zid) */
.ktv-brandchip--logo{ display:grid; place-items:center; min-width:154px; height:76px; padding:14px 26px }
.ktv-brandchip__logo{ max-height:32px; max-width:132px; width:auto; object-fit:contain; transition:transform .2s }
.ktv-brandchip--logo:hover .ktv-brandchip__logo{ transform:scale(1.06) }
.ktv-brandchip--fuego .ktv-brandchip__logo{ max-height:50px; max-width:152px }
@media(max-width:560px){ .ktv-brandchip--logo{ min-width:calc(50% - 8px); height:66px } }

@media(max-width:1000px){
  .ktv-hero{ grid-template-columns:1fr; gap:32px; padding:44px 24px 26px }
  .ktv-hero__stage{ order:2; min-height:300px; max-width:480px; width:100%; margin-inline:auto }
  .ktv-usp{ grid-template-columns:repeat(2,1fr) }
  .ktv-tiles{ grid-template-columns:1fr }
}
@media(max-width:560px){
  .ktv-sec{ padding-top:52px; padding-bottom:52px }
  .ktv-wrap{ padding-left:16px; padding-right:16px }
  .ktv-usp{ grid-template-columns:repeat(2,1fr) }
}
@media(prefers-reduced-motion:reduce){ .ktv-screen__sheen,.ktv-chip{ animation:none } }

/* ==== #20 ktv-shop-css ==== */
.ktv-shopmain{ padding:26px 24px 70px }
.ktv-crumbs{ font-family:var(--ktv-font-mono); font-size:11.5px; color:var(--ktv-text-tertiary); margin-bottom:18px; letter-spacing:.02em }
.ktv-crumbs a{ color:var(--ktv-navy); text-decoration:none } .ktv-crumbs a:hover{ color:var(--ktv-brand-primary-hover) }
.ktv-crumbs span[aria-hidden]{ margin:0 6px; opacity:.5 }
.ktv-shophead{ margin-bottom:26px }
.ktv-shophead__h1{ font-family:var(--ktv-font-display); font-weight:800; font-size:clamp(28px,4vw,42px); letter-spacing:-.035em; margin:0; color:var(--ktv-text-primary) }
.ktv-shophead__lede{ color:var(--ktv-text-secondary); font-size:15px; line-height:1.6; max-width:70ch; margin:10px 0 0 }

.ktv-shop{ display:grid; grid-template-columns:256px 1fr; gap:30px; align-items:start }
.ktv-filters{ position:sticky; top:88px; background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default);
  border-radius:var(--ktv-radius); padding:20px; box-shadow:0 4px 20px rgba(var(--ktv-shadow-rgb),.05) }
.ktv-filters__top{ display:flex; align-items:center; gap:10px; margin-bottom:6px }
.ktv-filters__top h2{ font-family:var(--ktv-font-display); font-size:16px; font-weight:700; margin:0; flex:1 }
.ktv-filters__reset{ font-family:var(--ktv-font-mono); font-size:11px; color:var(--ktv-text-secondary); text-decoration:none }
.ktv-filters__reset:hover{ color:var(--ktv-brand-primary-hover) }
.ktv-filters__close{ display:none; background:none; border:0; font-size:18px; cursor:pointer; color:var(--ktv-text-secondary) }
.ktv-filters__empty{ font-size:13px; color:var(--ktv-text-secondary); line-height:1.5 }
.ktv-fg{ padding:15px 0; border-top:1px solid var(--ktv-border-subtle) }
.ktv-fg:first-of-type{ border-top:none }
.ktv-fg__lbl{ display:block; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ktv-text-secondary); margin-bottom:11px }
.ktv-opts{ display:flex; flex-wrap:wrap; gap:6px }
.ktv-opts--col{ flex-direction:column }
.ktv-opt{ display:inline-flex; align-items:center; gap:6px; font-family:var(--ktv-font-mono); font-size:11px; color:var(--ktv-navy);
  background:var(--ktv-bg-tinted); border:1px solid var(--ktv-border-default); padding:6px 10px; border-radius:8px; text-decoration:none; transition:.15s }
.ktv-opt:hover{ border-color:var(--ktv-brand-primary); color:var(--ktv-brand-primary-hover) }
.ktv-opt.is-active{ background:var(--ktv-brand-primary); color:var(--ktv-brand-ink); border-color:var(--ktv-brand-primary); font-weight:700 }
.ktv-opt__n{ opacity:.55; font-size:10px }
.ktv-opt.is-active .ktv-opt__n{ opacity:.8 }

.ktv-resbar{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; flex-wrap:wrap }
.ktv-rescount{ font-family:var(--ktv-font-display); font-size:16px; font-weight:600; color:var(--ktv-text-primary) }
.ktv-rescount b{ color:var(--ktv-navy); font-family:var(--ktv-font-mono); font-size:20px }
.ktv-sortwrap{ display:flex; align-items:center; gap:10px }
.ktv-sort{ font-family:var(--ktv-font-body); font-size:13px; background:var(--ktv-bg-elevated); color:var(--ktv-text-primary);
  border:1px solid var(--ktv-border-default); border-radius:10px; padding:9px 11px; cursor:pointer }
.ktv-filters-toggle{ display:none }

.ktv-chips{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:18px }
.ktv-chip-x{ font-family:var(--ktv-font-mono); font-size:11px; color:var(--ktv-brand-text); background:var(--ktv-brand-soft);
  border:1px solid var(--ktv-brand-secondary); padding:5px 9px; border-radius:7px; text-decoration:none; display:inline-flex; gap:6px; align-items:center }
.ktv-chip-x b{ font-weight:700 }
.ktv-chips__reset{ font-family:var(--ktv-font-mono); font-size:11px; color:var(--ktv-text-secondary); text-decoration:none; align-self:center }

.ktv-pag{ display:flex; gap:6px; margin-top:34px; justify-content:center; flex-wrap:wrap }
.ktv-pag a,.ktv-pag span span{ display:grid; place-items:center; min-width:38px; height:38px; padding:0 8px; border-radius:10px;
  border:1px solid var(--ktv-border-default); background:var(--ktv-bg-elevated); color:var(--ktv-text-primary); text-decoration:none; font-family:var(--ktv-font-mono); font-size:13px }
.ktv-pag a:hover{ border-color:var(--ktv-brand-primary); color:var(--ktv-brand-primary) }
.ktv-pag .current{ background:var(--ktv-brand-primary); color:var(--ktv-brand-ink); border-color:var(--ktv-brand-primary); font-weight:700 }

.ktv-empty{ text-align:center; padding:70px 20px }
.ktv-empty__t{ font-family:var(--ktv-font-display); font-size:22px; font-weight:700; color:var(--ktv-text-primary); margin:0 0 10px }
.ktv-empty__s{ color:var(--ktv-text-secondary) } .ktv-empty a{ color:var(--ktv-brand-text) }

/* Povezani vodiči (interni linkovi #39) */
.ktv-guides{ margin-top:50px; padding-top:34px; border-top:1px solid var(--ktv-border-subtle) }
.ktv-guides__h{ font-family:var(--ktv-font-display); font-size:clamp(20px,2.4vw,26px); font-weight:800; letter-spacing:-.02em; margin:0 0 18px; color:var(--ktv-text-primary) }
.ktv-guides__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px }
.ktv-guide{ display:flex; flex-direction:column; gap:9px; padding:18px 20px; border-radius:14px; text-decoration:none; background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); transition:transform .16s, border-color .16s, box-shadow .16s }
.ktv-guide:hover{ border-color:var(--ktv-brand-primary); transform:translateY(-2px); box-shadow:0 8px 24px rgba(var(--ktv-shadow-rgb),.08) }
.ktv-guide__k{ font-family:var(--ktv-font-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ktv-navy) }
.ktv-guide__t{ font-family:var(--ktv-font-display); font-size:17px; font-weight:700; color:var(--ktv-text-primary); line-height:1.25 }
.ktv-guide__go{ font-size:13px; color:var(--ktv-brand-text); font-weight:600; margin-top:auto }
@media(max-width:760px){ .ktv-guides__grid{ grid-template-columns:1fr } }

@media(max-width:900px){
  .ktv-shop{ grid-template-columns:1fr }
  .ktv-filters-toggle{ display:inline-flex }
  .ktv-filters{ position:fixed; top:0; left:0; bottom:0; width:min(340px,86vw); z-index:60; border-radius:0;
    transform:translateX(-100%); transition:transform .25s; overflow-y:auto; max-height:100vh }
  .ktv-filters.is-open{ transform:none }
  .ktv-filters__close{ display:block }
}

/* ==== #21 ktv-pdp-css ==== */
.ktv-pdpmain{ padding:22px 24px 70px }
/* --- Opcija A: cijeli vrh (breadcrumbs + galerija + kupovina) u JEDNOJ bijeloj kartici --- */
.ktv-hero-pkg{ background:linear-gradient(180deg,#fff,#FEFCF8); border:1px solid var(--ktv-border-default); border-radius:22px; box-shadow:0 30px 60px -34px rgba(var(--ktv-shadow-rgb),.5); overflow:clip; margin-bottom:32px }
.ktv-hero-pkg .ktv-crumbs{ margin:0; width:auto; max-width:none; border:0; border-bottom:1px solid var(--ktv-border-default); border-radius:0; background:transparent; box-shadow:none; padding:13px 26px }
.ktv-hero-pkg .ktv-pdp{ grid-template-columns:1.06fr .94fr; gap:0; margin:0 }
.ktv-hero-pkg .ktv-pdp__gallery{ position:static; top:auto; padding:26px 22px; align-self:stretch }
/* Ljepljiva galerija: slika prati skrol dok se desna kolona ne završi (nema praznog bijelog prostora) */
.ktv-hero-pkg .ktv-gal3{ position:sticky; top:88px }
.admin-bar .ktv-hero-pkg .ktv-gal3{ top:120px }
.ktv-hero-pkg .ktv-pdp__info{ padding:28px 30px; border-left:1px solid var(--ktv-border-default) }
.ktv-hero-pkg .ktv-gal3__main{ border:0; box-shadow:none; background:transparent; padding:14px 6px; min-height:320px }
@media(max-width:1000px){
  .ktv-hero-pkg .ktv-pdp{ grid-template-columns:minmax(0,1fr) }   /* audit 22.08. (PERF-01): 1fr = min-content → CTA kolona šira od ekrana na mobilnom */
  .ktv-hero-pkg .ktv-pdp__info{ border-left:0; border-top:1px solid var(--ktv-border-default); min-width:0 }
  .ktv-hero-pkg .ktv-pdp__gallery{ padding:22px 18px; align-self:auto }
  .ktv-hero-pkg .ktv-gal3, .admin-bar .ktv-hero-pkg .ktv-gal3{ position:static; top:auto }
}
.ktv-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:9px; font-size:12px; font-family:var(--ktv-font-mono); margin:0 0 20px; padding:9px 16px; background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); border-radius:12px; width:fit-content; max-width:100%; box-shadow:0 2px 10px rgba(var(--ktv-shadow-rgb),.05) }
.ktv-crumbs a{ color:var(--ktv-text-secondary); text-decoration:none; transition:color .12s }
.ktv-crumbs a:hover{ color:var(--ktv-brand-text) }
.ktv-crumbs span[aria-hidden]{ color:var(--ktv-border-strong,var(--ktv-text-tertiary)); opacity:.55 }
.ktv-crumbs__cur{ color:var(--ktv-text-primary); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:340px }
.ktv-pdp{ display:grid; grid-template-columns:1.05fr 1fr; gap:44px; align-items:start; margin-top:8px }
.ktv-pdp__gallery{ position:sticky; top:88px }
/* --- SS2 ADAPTIVNA POZORNICA --- */
/* --- GALERIJA: uokvirena kartica + vertikalne sličice --- */
.ktv-gal3{ display:grid; grid-template-columns:66px 1fr; gap:14px; align-items:start }
.ktv-gal3--norail{ grid-template-columns:1fr }
.ktv-gal3__rail{ display:flex; flex-direction:column; gap:10px }
.ktv-gal3__col{ min-width:0 }
.ktv-gal3__main{ position:relative; display:flex; background:#fff; border:1px solid var(--ktv-border-default); border-radius:16px; padding:34px 28px 26px; box-shadow:0 16px 34px -20px rgba(var(--ktv-shadow-rgb),.35); overflow:hidden; min-height:340px }
.ktv-gal3__view{ flex:1; display:grid; place-items:center; position:relative }
.ktv-gal3 .ktv-stage__img{ display:none; max-width:100%; max-height:460px; height:auto; object-fit:contain }
.ktv-gal3 .ktv-stage__img.is-on{ display:block }
.ktv-gal3__badge{ position:absolute; top:14px; left:14px; z-index:4; font-family:var(--ktv-font-mono); font-size:10px; font-weight:700; letter-spacing:.06em; color:var(--ktv-navy); background:var(--ktv-navy-soft); border:1px solid var(--ktv-navy-line); border-radius:7px; padding:5px 10px }
.ktv-gal3__zoom{ position:absolute; top:14px; right:14px; z-index:4; display:inline-flex; align-items:center; gap:6px; font-family:var(--ktv-font-mono); font-size:10.5px; color:var(--ktv-text-tertiary); background:var(--ktv-bg-tinted); border:1px solid var(--ktv-border-default); border-radius:999px; padding:6px 12px }
.ktv-gal3__cap{ text-align:center; font-family:var(--ktv-font-mono); font-size:10px; color:var(--ktv-text-tertiary); margin-top:12px; letter-spacing:.04em }
/* --- Zoom (lightbox) --- */
.ktv-gal3__main{ cursor:zoom-in }
.ktv-lb{ position:fixed; inset:0; z-index:99999; background:rgba(10,13,20,.93); display:flex; align-items:center; justify-content:center }
.ktv-lb[hidden]{ display:none }
.ktv-lb__img{ max-width:92vw; max-height:88vh; object-fit:contain; cursor:zoom-in; transition:transform .18s ease; user-select:none; -webkit-user-drag:none; border-radius:6px }
.ktv-lb__img.is-zoom{ transform:scale(2.3); cursor:zoom-out; transition:none }
.ktv-lb__x{ position:absolute; top:16px; right:20px; width:46px; height:46px; border-radius:50%; border:0; background:rgba(255,255,255,.12); color:#fff; font-size:18px; cursor:pointer; display:grid; place-items:center }
.ktv-lb__x:hover{ background:rgba(255,255,255,.24) }
.ktv-lb__nav{ position:absolute; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:50%; border:0; background:rgba(255,255,255,.1); color:#fff; font-size:32px; line-height:1; cursor:pointer; display:grid; place-items:center }
.ktv-lb__nav:hover{ background:rgba(255,255,255,.22) }
.ktv-lb__prev{ left:18px } .ktv-lb__next{ right:18px }
.ktv-lb__count{ position:absolute; bottom:18px; left:50%; transform:translateX(-50%); font-family:var(--ktv-font-mono); font-size:12px; color:rgba(255,255,255,.78); background:rgba(0,0,0,.32); padding:6px 14px; border-radius:999px }
@media(max-width:600px){ .ktv-lb__nav{ width:44px; height:44px; font-size:26px } .ktv-lb__img.is-zoom{ transform:scale(2) } }
.ktv-gal3 .ktv-sth{ width:100%; height:46px; border-radius:8px; overflow:hidden; cursor:pointer; padding:4px; background:#fff; border:1.5px solid var(--ktv-border-default); transition:border-color .15s, transform .15s }
.ktv-gal3 .ktv-sth:hover{ transform:translateY(-2px); border-color:var(--ktv-navy) }
.ktv-gal3 .ktv-sth.on{ border-color:var(--ktv-brand-primary) }
.ktv-gal3 .ktv-sth img{ width:100%; height:100%; object-fit:contain; display:block }
@media(max-width:600px){
  .ktv-gal3{ grid-template-columns:1fr }
  .ktv-gal3__rail{ order:2; flex-direction:row; flex-wrap:wrap; gap:8px; justify-content:center }
  .ktv-gal3 .ktv-sth{ width:58px; height:42px }
  .ktv-gal3__col{ order:1 }
  .ktv-gal3__main{ padding:24px 18px 18px; min-height:250px }
  .ktv-gal3 .ktv-stage__img{ max-height:300px }
}
.ktv-bar{ display:inline-flex; align-items:center; gap:10px }
.ktv-bar__t{ width:52px; height:4px; border-radius:99px; background:var(--ktv-border-default); overflow:hidden }
.ktv-bar__f{ height:100%; border-radius:99px; background:var(--ktv-brand-primary) }
.ktv-hero{ background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); border-radius:var(--ktv-radius);
  padding:26px 26px 24px; box-shadow:0 12px 38px rgba(var(--ktv-shadow-rgb),.09) }
.ktv-hero__brand{ font-family:var(--ktv-font-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--ktv-navy); text-align:center; margin:2px 0 16px; opacity:.72 }
.ktv-hero__screen{ position:relative; aspect-ratio:16/10; border-radius:16px; background:var(--wall,linear-gradient(120deg,#16243D,#1E3A5F 55%,#D98A1E));
  overflow:hidden; display:grid; place-items:center; box-shadow: inset 0 0 0 7px rgba(8,12,20,.32), inset 0 0 70px rgba(0,0,0,.4), 0 18px 46px rgba(8,12,20,.24) }
/* hero glow/grid uklonjeni - nula svjetlosnih efekata (SS7) */
.ktv-hero__model{ position:relative; font-family:var(--ktv-font-mono); font-size:12.5px; letter-spacing:.08em; color:rgba(255,255,255,.94);
  text-shadow:0 1px 10px rgba(0,0,0,.45); padding:7px 14px; border:1px solid rgba(255,255,255,.30); border-radius:999px; background:rgba(0,0,0,.14) }
.ktv-hero__stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(0,1fr)); gap:9px; margin-top:18px }
.ktv-hero__stat{ text-align:center; padding:11px 6px; background:var(--ktv-bg-tinted); border:1px solid var(--ktv-border-default); border-radius:13px }
.ktv-hero__stat b{ display:block; font-family:var(--ktv-font-display); font-size:19px; font-weight:800; letter-spacing:-.02em; line-height:1.05; color:var(--ktv-text-primary) }
.ktv-hero__stat span{ font-family:var(--ktv-font-mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ktv-text-tertiary) }
.ktv-pdp__photonote{ text-align:center; font-family:var(--ktv-font-mono); font-size:10.5px; letter-spacing:.04em; color:var(--ktv-text-tertiary); margin:13px 0 0 }

.ktv-pdp__brand{ font-family:var(--ktv-font-mono); font-size:12px; color:var(--ktv-navy); letter-spacing:.06em; text-transform:uppercase }
.ktv-pdp__h1{ font-family:var(--ktv-font-display); font-size:clamp(24px,3vw,33px); font-weight:800; letter-spacing:-.03em; line-height:1.1; margin:6px 0 10px; color:var(--ktv-text-primary) }
.ktv-pdp__meta{ font-size:13px; color:var(--ktv-text-secondary); margin-bottom:16px }
.ktv-stars{ color:var(--ktv-star) }
.ktv-buy__line{ font-family:var(--ktv-font-mono); font-size:12px; color:var(--ktv-navy); margin:14px 0 0; padding-bottom:18px; border-bottom:1px solid var(--ktv-border-default) }
.ktv-buy__line b{ color:var(--ktv-brand-text); font-weight:600 }

.ktv-pdp__pricebox{ position:relative; overflow:hidden; background:linear-gradient(135deg,#16243D 0%,#1E3A5F 58%,#274a78 100%); border:0; border-radius:var(--ktv-radius); padding:20px 24px; margin-bottom:16px; box-shadow:0 14px 34px rgba(22,36,61,.28) }
/* amber glow uklonjen — cijena-pill samo navy (Eldin 2026-07-14) */
.ktv-pdp__pricelbl{ position:relative; font-family:var(--ktv-font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:6px }
.ktv-pdp__pricerow{ position:relative; display:flex; align-items:baseline; gap:13px; flex-wrap:wrap }
.ktv-pdp__now{ font-family:var(--ktv-font-mono); font-weight:700; font-size:37px; letter-spacing:-.02em; color:#fff }
.ktv-pdp__now--ask{ font-size:27px; letter-spacing:0 }
.ktv-pdp__now .woocommerce-Price-amount{ color:#fff }
.ktv-pdp__old{ font-family:var(--ktv-font-mono); font-size:17px; color:rgba(255,255,255,.5); text-decoration:line-through }
.ktv-pdp__old .woocommerce-Price-amount{ color:rgba(255,255,255,.5) }
.ktv-pdp__save{ font-family:var(--ktv-font-mono); font-size:12.5px; font-weight:700; color:#16243D; background:var(--ktv-brand-primary,#D98A1E); padding:5px 11px; border-radius:8px; box-shadow:0 5px 14px rgba(217,138,30,.4) }
.ktv-pdp__save .woocommerce-Price-amount{ color:#16243D }
.ktv-cta2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:20px }
.ktv-cta2 .ktv-btn{ font-size:14px; padding:13px 12px; white-space:normal }
.ktv-pdpmain .ktv-eyebrow{ color:var(--ktv-navy) }
.ktv-pdp__h1{ color:var(--ktv-navy-deep,#12203a) }

.ktv-pdp__stock{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; margin:2px 0 18px }
.ktv-pdp__stock.is-in{ color:var(--ktv-success) } .ktv-pdp__stock.is-out{ color:var(--ktv-error) }
.ktv-pdp__stock i{ width:9px; height:9px; border-radius:50%; background:currentColor; box-shadow:0 0 0 3px rgba(63,125,58,.16) }

.ktv-pdp__cta{ display:flex; gap:10px; margin-bottom:20px }
.ktv-pdp__cta .ktv-btn--main{ flex:1.4; justify-content:center } .ktv-pdp__cta .ktv-btn--ghost{ flex:1; justify-content:center }

.ktv-pdp__trust{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px }
.ktv-tbadge{ background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); border-radius:11px; padding:11px 12px; text-align:center }
.ktv-tbadge b{ display:block; font-family:var(--ktv-font-mono); font-size:14px; color:var(--ktv-text-primary) }
.ktv-tbadge span{ font-size:11px; color:var(--ktv-text-secondary) }

.ktv-pdp__guide{ margin-top:50px }
.ktv-guidelinks{ display:grid; gap:12px; grid-template-columns:1fr 1fr }
.ktv-guidelink{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:17px 20px; background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); border-radius:14px; text-decoration:none; transition:border-color .15s ease, transform .15s ease }
.ktv-guidelink:hover{ border-color:var(--ktv-brand-primary); transform:translateY(-1px) }
.ktv-guidelink span{ font-family:var(--ktv-font-display); font-weight:700; font-size:15px; color:var(--ktv-navy-deep); line-height:1.3 }
.ktv-guidelink i{ font-style:normal; font-size:20px; color:var(--ktv-brand-primary); flex:none; line-height:1 }
@media (max-width:640px){ .ktv-guidelinks{ grid-template-columns:1fr } }
.ktv-pdp__rev{ margin-top:50px }
.ktv-rev__avg{ display:flex; align-items:center; gap:12px; margin-bottom:22px }
.ktv-rev__avg b{ font-family:var(--ktv-font-display); font-size:34px; color:var(--ktv-navy-deep); line-height:1 }
.ktv-rev__avg .ktv-stars{ font-size:20px; letter-spacing:3px }
.ktv-rev__avg small{ color:var(--ktv-text-secondary); font-size:14px }
.ktv-rev__list{ display:flex; flex-direction:column; gap:12px; margin-bottom:30px }
.ktv-rev__i{ background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); border-radius:12px; padding:15px 18px }
.ktv-rev__head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:7px }
.ktv-rev__head .ktv-stars{ font-size:14px; letter-spacing:2px }
.ktv-rev__head b{ font-family:var(--ktv-font-display); color:var(--ktv-navy-deep); font-size:14px }
.ktv-rev__ver{ display:inline-flex; align-items:center; gap:3px; background:var(--ktv-bg-tinted); color:var(--ktv-success); font-size:11px; font-weight:700; padding:2px 9px; border-radius:20px }
.ktv-rev__head time{ margin-left:auto; color:var(--ktv-text-tertiary); font-size:12px; font-family:var(--ktv-font-mono) }
.ktv-rev__txt{ color:var(--ktv-text-secondary); font-size:14px; line-height:1.6 }
.ktv-rev__txt p{ margin:0 0 6px }
.ktv-rev__empty{ color:var(--ktv-text-secondary); font-size:14px; background:var(--ktv-bg-tinted); border:1px dashed var(--ktv-border-default); border-radius:12px; padding:16px 18px; margin:0 0 24px }
.ktv-rev__form{ background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); border-radius:14px; padding:22px 22px 20px }
.ktv-rev__form h3{ font-family:var(--ktv-font-display); color:var(--ktv-navy-deep); font-size:17px; margin:0 0 15px }
.ktv-cform{ display:flex; flex-direction:column; gap:13px }
.ktv-rate{ display:flex; align-items:center; gap:12px; flex-wrap:wrap }
.ktv-rate__lbl{ font-family:var(--ktv-font-display); font-weight:700; color:var(--ktv-navy-deep); font-size:14px }
.ktv-rate__stars{ display:inline-flex; flex-direction:row-reverse }
.ktv-rate__stars input{ position:absolute; opacity:0; width:1px; height:1px }
.ktv-rate__stars label{ color:var(--ktv-border-default); cursor:pointer; font-size:28px; padding:0 2px; line-height:1; transition:color .12s }
.ktv-rate__stars label:hover, .ktv-rate__stars label:hover ~ label, .ktv-rate__stars input:checked ~ label{ color:var(--ktv-star) }
.ktv-rate__stars input:focus-visible + label{ outline:2px solid var(--ktv-brand-primary); outline-offset:2px }
.ktv-cform textarea, .ktv-cform input[type=text], .ktv-cform input[type=email]{ width:100%; border:1px solid var(--ktv-border-default); border-radius:10px; padding:11px 13px; font:inherit; color:var(--ktv-text-primary); background:#fff; box-sizing:border-box }
.ktv-cform textarea:focus, .ktv-cform input:focus{ outline:none; border-color:var(--ktv-brand-primary) }
.ktv-cform__row{ display:flex; gap:12px }
.ktv-cform__row input{ flex:1; min-width:0 }
.ktv-rev__form button{ align-self:flex-start }
.ktv-rev__note{ font-size:12px; color:var(--ktv-text-tertiary); margin:2px 0 0 }
@media (max-width:560px){ .ktv-cform__row{ flex-direction:column } }
.ktv-pdp__faq{ margin-top:50px }
.ktv-faq{ display:flex; flex-direction:column; gap:10px; margin-top:16px }
.ktv-faq__i{ background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); border-radius:12px; overflow:hidden }
.ktv-faq__i summary{ cursor:pointer; list-style:none; padding:15px 18px; font-family:var(--ktv-font-display); font-weight:700; font-size:15px; color:var(--ktv-navy-deep); display:flex; justify-content:space-between; align-items:center; gap:12px }
.ktv-faq__i summary::-webkit-details-marker{ display:none }
.ktv-faq__i summary::after{ content:"+"; font-family:var(--ktv-font-mono); font-size:20px; color:var(--ktv-brand-primary); font-weight:400; line-height:1 }
.ktv-faq__i[open] summary::after{ content:"–" }
.ktv-faq__i[open] summary{ border-bottom:1px solid var(--ktv-border-subtle) }
.ktv-faq__i > div{ padding:14px 18px 16px; font-size:14px; color:var(--ktv-text-secondary); line-height:1.6 }
.ktv-pdp__zasto{ margin-top:50px }
.ktv-zasto{ display:grid; gap:14px; grid-template-columns:repeat(3,1fr); margin-top:16px }
.ktv-zasto[data-n="1"]{ grid-template-columns:1fr }
.ktv-zasto[data-n="2"]{ grid-template-columns:repeat(2,1fr) }
@media(max-width:860px){ .ktv-zasto,.ktv-zasto[data-n="2"]{ grid-template-columns:1fr } }
.ktv-zasto__i{ background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); border-left:3px solid var(--ktv-brand-primary);
  border-radius:12px; padding:16px 18px }
.ktv-zasto__i b{ display:block; font-family:var(--ktv-font-display); font-size:16px; color:var(--ktv-text-primary); margin-bottom:4px }
.ktv-zasto__i span{ font-size:13.5px; color:var(--ktv-text-secondary); line-height:1.55 }

.ktv-pdp__specs{ margin-top:50px }
.ktv-specgrid{ display:grid; grid-template-columns:1fr 1fr; gap:14px }
.ktv-speccard{ background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); border-radius:var(--ktv-radius); overflow:hidden }
.ktv-speccard h4, .ktv-speccard h3{ font-family:var(--ktv-font-display); font-size:13.5px; font-weight:700; color:#fff;
  padding:12px 16px; background:var(--ktv-navy-deep); border-bottom:0; margin:0; display:flex; align-items:center; gap:9px }
.ktv-specrow{ display:flex; justify-content:space-between; gap:14px; padding:11px 18px; border-top:1px solid var(--ktv-border-subtle); font-size:13px }
.ktv-specrow:first-of-type{ border-top:none }
.ktv-specrow b{ color:var(--ktv-text-secondary); font-weight:500 }
.ktv-specrow span{ text-align:right; font-weight:600; font-family:var(--ktv-font-mono); font-size:12px; color:var(--ktv-navy) }
.ktv-vdot{ display:inline-grid; place-items:center; width:15px; height:15px; border-radius:50%; background:var(--ktv-navy); color:#fff; font-size:9px; vertical-align:middle }

.ktv-pdp__related{ margin-top:56px }
/* distance blok spojen u SS4 traku podataka */
/* Rata linija (paritet s karticom, gejtano ktv_rate_on) */
.ktv-pdp__rateline{ font-size:13px; color:var(--ktv-text-secondary); margin:-6px 0 14px }
.ktv-pdp__rateline b{ color:var(--ktv-brand-text); font-family:var(--ktv-font-mono) }
/* Inline compare dugme u related headeru */
.ktv-pdp__related .ktv-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap }
.ktv-cmp-similar{ display:inline-flex; align-items:center; gap:8px; font-family:var(--ktv-font-display); font-weight:700; font-size:13.5px;
  color:var(--ktv-navy); background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); border-radius:11px; padding:10px 15px; cursor:pointer;
  transition:border-color .14s, color .14s, transform .06s }
.ktv-cmp-similar:hover{ border-color:var(--ktv-brand-primary); color:var(--ktv-brand-text) }
.ktv-cmp-similar:active{ transform:translateY(1px) }

/* ===== RENOVACIJA (kupilenovo-nivo) ===== */
/* PRAVA DUGMAD (custom render ne učitava globalni .ktv-btn) */
.ktv-pdpmain .ktv-btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:var(--ktv-font-display); font-weight:700; font-size:15px; line-height:1; padding:15px 24px; border-radius:13px; border:1px solid transparent; cursor:pointer; text-decoration:none; transition:filter .12s, box-shadow .16s, background .16s, transform .06s; white-space:nowrap }
.ktv-pdpmain .ktv-btn--main{ background:var(--ktv-brand-primary,#D98A1E); color:#fff; box-shadow:0 8px 22px rgba(217,138,30,.30) }
.ktv-pdpmain .ktv-btn--main:hover{ filter:brightness(1.06); box-shadow:0 10px 28px rgba(217,138,30,.40) }
.ktv-pdpmain .ktv-btn--main:active{ transform:translateY(1px) }
.ktv-pdpmain .ktv-btn--ghost{ background:var(--ktv-bg-elevated); color:var(--ktv-text-primary); border-color:var(--ktv-border-default) }
.ktv-pdpmain .ktv-btn--ghost:hover{ background:var(--ktv-bg-tinted); border-color:var(--ktv-navy) }
/* PREMIUM SPEC TABELA (naš HTML iz opisa proizvoda) */
.ktv-specbox{ margin-top:8px }
.ktv-specbox .ktv-spec{ width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--ktv-border-default); border-radius:var(--ktv-radius); overflow:hidden; background:var(--ktv-bg-elevated) }
.ktv-specbox .ktv-spec td{ padding:12px 20px; font-size:13.5px; border-top:1px solid var(--ktv-border-subtle); vertical-align:top }
.ktv-specbox .ktv-spec td:first-child{ color:var(--ktv-text-secondary); font-weight:500; width:44% }
.ktv-specbox .ktv-spec td:last-child{ text-align:right; font-family:var(--ktv-font-mono); font-size:12.5px; font-weight:600; color:var(--ktv-navy) }
.ktv-specbox .ktv-spec tr.ktv-spec__h th{ background:var(--ktv-navy-soft); color:var(--ktv-navy-deep); font-family:var(--ktv-font-display); font-size:14px; font-weight:700; text-align:left; padding:13px 20px; border-top:1px solid var(--ktv-navy-line); letter-spacing:-.01em }
.ktv-specbox .ktv-spec tr.ktv-spec__h:first-child th{ border-top:0 }
.ktv-specbox p{ font-size:14px; color:var(--ktv-text-secondary); line-height:1.6 }
.ktv-rates{ margin-top:15px; border-top:1px dashed var(--ktv-border-default); padding-top:13px }
.ktv-rates__lbl{ font-family:var(--ktv-font-mono); font-size:10.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ktv-text-tertiary); margin-bottom:9px }
.ktv-rates__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px }
.ktv-rate{ background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default); border-radius:12px; padding:10px 6px; text-align:center }
.ktv-rate span{ display:block; font-family:var(--ktv-font-mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ktv-text-tertiary); margin-bottom:3px }
.ktv-rate b{ font-family:var(--ktv-font-mono); font-size:15px; color:var(--ktv-brand-text); font-weight:700; white-space:nowrap }
.ktv-rate b i{ font-style:normal; font-size:9.5px; color:var(--ktv-text-tertiary); font-weight:500 }
.ktv-pdp__cta{ display:flex; gap:10px; align-items:stretch; margin-bottom:9px }
.ktv-qty{ display:inline-flex; align-items:stretch; border:1px solid var(--ktv-border-default); border-radius:13px; overflow:hidden; background:var(--ktv-bg-elevated) }
.ktv-qty__b{ width:44px; border:0; background:transparent; font-size:20px; color:var(--ktv-text-secondary); cursor:pointer }
.ktv-qty__b:hover{ background:var(--ktv-bg-tinted); color:var(--ktv-text-primary) }
.ktv-qty__i{ width:42px; text-align:center; border:0; background:transparent; font-family:var(--ktv-font-mono); font-size:16px; font-weight:700; color:var(--ktv-text-primary) }
.ktv-pdp__cta .ktv-btn--main{ flex:1; justify-content:center; gap:9px; font-size:16px; min-height:54px }
/* audit 22.08. (PERF-01): na uskim ekranima količina + dugme idu u dva reda umjesto da sijeku desnih ~40 px stranice */
.ktv-pdp__cta{ flex-wrap:wrap; min-width:0 }
.ktv-pdp__cta .ktv-btn--main{ min-width:0; white-space:normal }
@media(max-width:560px){ .ktv-pdp__cta .ktv-btn--main{ flex:1 1 100%; order:2 } .ktv-pdp__cta .ktv-qty{ order:1 } .ktv-pdpmain .ktv-btn{ white-space:normal } }
.ktv-buynow{ width:100%; justify-content:center; margin:0 0 20px }
.ktv-pdp__trust{ display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; margin:22px 0 0; padding-top:20px; border-top:1px solid var(--ktv-border-default) }
.ktv-tcard{ display:flex; align-items:flex-start; gap:11px; background:none; border:0; padding:0; border-radius:0; box-shadow:none }
.ktv-tcard .ktv-tcard__ic{ display:grid; place-items:center; width:32px; height:32px; flex:none; border-radius:9px; background:var(--ktv-navy-soft); color:var(--ktv-navy) }
.ktv-tcard b{ display:block; font-family:var(--ktv-font-display); font-size:13px; font-weight:700; color:var(--ktv-navy-deep); line-height:1.25 }
.ktv-tcard span{ font-size:11.5px; color:var(--ktv-text-tertiary) }
.ktv-b2b{ display:flex; align-items:center; gap:11px; margin:20px 0 0; padding:12px 15px; border-radius:11px; background:var(--ktv-bg-warm); border:0; border-left:3px solid var(--ktv-brand-primary); box-shadow:none; font-size:12.5px; color:var(--ktv-text-secondary) }
.ktv-b2b .ktv-b2b__ic{ display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:9px; background:var(--ktv-navy-soft); color:var(--ktv-navy) }
.ktv-b2b b{ display:block; font-family:var(--ktv-font-display); color:var(--ktv-navy-deep); font-size:13px }
.ktv-b2b span{ font-size:12px; color:var(--ktv-text-secondary) }
.ktv-b2b a{ color:var(--ktv-brand-text); font-weight:600 }
.ktv-share{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--ktv-text-tertiary); margin-top:20px }
.ktv-share > a{ display:grid; place-items:center; width:34px; height:34px; border-radius:10px; border:1px solid var(--ktv-border-default); background:var(--ktv-bg-elevated); color:var(--ktv-text-secondary); font-family:var(--ktv-font-mono); font-size:12px; text-decoration:none }
.ktv-share > a:hover{ background:var(--ktv-navy); color:#fff; border-color:var(--ktv-navy) }
.ktv-share .ktv-cmp-toggle{ margin-left:auto }
.ktv-databar{ margin:34px 0 0; background:linear-gradient(120deg,var(--ktv-navy-deep),#101d33); padding:26px 30px; border-radius:18px }
.ktv-databar__row{ display:grid; grid-template-columns:repeat(6,1fr) }
.ktv-db{ padding:0 18px; border-left:1px solid rgba(255,255,255,.1) }
.ktv-db:first-child{ border-left:0; padding-left:0 }
.ktv-db__k{ font-family:var(--ktv-font-mono); font-size:9px; letter-spacing:.13em; text-transform:uppercase; color:rgba(234,240,248,.42) }
.ktv-db__v{ font-family:var(--ktv-font-display); font-weight:800; font-size:27px; letter-spacing:-.03em; color:#fff; line-height:1.05; margin-top:7px }
.ktv-db__v i{ font-style:normal; font-size:.55em; opacity:.55 }
.ktv-db__v.sm{ font-size:17px; letter-spacing:-.01em; padding-top:6px }
.ktv-databar__dist{ display:flex; align-items:center; gap:16px; margin-top:24px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1) }
.ktv-dist__i{ display:grid; place-items:center; width:40px; height:40px; border-radius:11px; background:rgba(217,138,30,.16); border:1px solid rgba(217,138,30,.34); color:var(--ktv-brand-secondary); flex:none }
.ktv-dist__t{ flex:1; min-width:0 }
.ktv-dist__t .k{ font-family:var(--ktv-font-mono); font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:rgba(234,240,248,.42) }
.ktv-dist__t .v{ font-family:var(--ktv-font-display); font-weight:800; font-size:21px; color:var(--ktv-brand-secondary); letter-spacing:-.02em; margin-top:3px }
.ktv-dist__t .s{ font-family:var(--ktv-font-mono); font-size:10.5px; color:rgba(234,240,248,.48); margin-top:3px }
.ktv-dist__go{ margin-left:auto; display:inline-flex; align-items:center; gap:8px; font-family:var(--ktv-font-display); font-weight:700; font-size:13px; color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:11px; padding:11px 16px; text-decoration:none; transition:background .15s; flex:none }
.ktv-dist__go:hover{ background:rgba(255,255,255,.14) }
@media(max-width:980px){ .ktv-databar__row{ grid-template-columns:repeat(3,1fr); gap:20px 0 } .ktv-db:nth-child(4){ border-left:0; padding-left:0 } }
@media(max-width:640px){
  .ktv-databar{ padding:22px 20px }
  .ktv-databar__row{ grid-template-columns:repeat(2,1fr) }
  .ktv-db:nth-child(3), .ktv-db:nth-child(5){ border-left:0; padding-left:0 }
  .ktv-databar__dist{ flex-direction:column; align-items:flex-start }
  .ktv-dist__go{ margin-left:0 }
}
.ktv-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:60; transform:translateY(115%); transition:transform .28s cubic-bezier(.2,.8,.2,1);
  background:var(--ktv-bg-elevated); border-top:1px solid var(--ktv-border-default); box-shadow:0 -8px 30px rgba(var(--ktv-shadow-rgb),.12) }
.ktv-sticky.is-on{ transform:translateY(0) }
.ktv-sticky__in{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 24px }
.ktv-sticky__prod{ display:flex; align-items:center; gap:12px; min-width:0 }
.ktv-sticky__thumb{ width:46px; height:30px; border-radius:6px; flex:none; box-shadow:inset 0 0 0 3px rgba(0,0,0,.28); overflow:hidden; position:relative }
.ktv-sticky__thumb img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:6px }
.ktv-sticky__name{ font-weight:700; font-size:14px; color:var(--ktv-text-primary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.ktv-sticky__right{ display:flex; align-items:center; gap:16px; flex:none }
.ktv-sticky__price{ font-family:var(--ktv-font-mono); font-weight:700; font-size:20px; color:var(--ktv-text-primary) }
.ktv-sticky__price .woocommerce-Price-amount{ color:var(--ktv-text-primary) }
/* HOVER POLISH — hero stat (fallback bez slika) */
.ktv-hero__stat{ transition:transform .16s, box-shadow .16s, border-color .16s, background .16s }
.ktv-hero__stat:hover{ transform:translateY(-2px); border-color:var(--ktv-navy-line); background:var(--ktv-bg-elevated); box-shadow:0 8px 18px rgba(var(--ktv-shadow-rgb),.09) }
@media(max-width:1000px){
  .ktv-pdp{ grid-template-columns:1fr; gap:26px } .ktv-pdp__gallery{ position:relative; top:0 }
  .ktv-specgrid{ grid-template-columns:1fr }
}
@media(max-width:560px){
  .ktv-pdp__trust{ grid-template-columns:1fr }
  .ktv-sticky__name{ max-width:120px } .ktv-sticky__in{ padding:10px 16px }
}

/* ==== #24 ktv-cart-css ==== */
/* ===== Širina sadržaja: pobijedi uski content-size teme ===== */
.woocommerce-cart .wp-block-post-content,
.woocommerce-checkout .wp-block-post-content,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content{
  max-width:var(--ktv-maxw) !important; margin-inline:auto !important;
}
.woocommerce-cart .wc-block-cart,
.woocommerce-checkout .wc-block-checkout{
  max-width:var(--ktv-maxw) !important; margin-inline:auto !important;
}
.woocommerce-cart .wp-block-post-title,
.woocommerce-checkout .wp-block-post-title{
  max-width:var(--ktv-maxw); margin-inline:auto;
  font-family:var(--ktv-font-display); font-weight:700; letter-spacing:-.02em;
  margin-bottom:18px;
}

/* ===== FORSIRANO 2 kolone na desktopu (bez praznine) ===== */
@media (min-width:920px){
  .woocommerce-cart .wc-block-cart,
  .woocommerce-checkout .wc-block-checkout{
    display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
    align-items:flex-start; gap:36px;
  }
  .wc-block-cart__main,
  .wc-block-checkout__main{ flex:1 1 auto !important; width:auto !important; min-width:0 !important; }
  .wc-block-cart__sidebar{ flex:0 0 360px !important; max-width:360px !important; }
  .wc-block-checkout__sidebar{ flex:0 0 400px !important; max-width:400px !important; }
}

/* ===== Sidebar = panel (totali / sažetak narudžbe) ===== */
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar{
  background:var(--ktv-navy-tint) !important;
  border:1px solid var(--ktv-navy-line);
  border-radius:var(--ktv-radius);
  padding:22px !important;
  box-shadow:var(--ktv-shadow-md);
  position:sticky; top:92px;
}
.wc-block-cart__totals-title,
.wc-block-checkout__sidebar .wc-block-components-title{
  font-family:var(--ktv-font-mono) !important;
  font-size:11px !important; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ktv-navy) !important; margin-bottom:4px;
}
.wc-block-components-totals-item__value{ font-family:var(--ktv-font-mono); font-weight:600; }
.wc-block-components-totals-item{ padding:7px 0; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--ktv-navy-deep); font-size:1.3em; font-weight:800;
}

/* ===== Primarni CTA = amber (bio dark #241A12, uglat) ===== */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button,
.woocommerce-checkout .wc-block-checkout__actions .wc-block-components-button{
  background:var(--ktv-brand-primary) !important;
  color:var(--ktv-brand-ink) !important;
  border-radius:var(--ktv-radius-sm) !important;
  font-family:var(--ktv-font-display) !important;
  font-weight:700 !important;
  box-shadow:var(--ktv-shadow-sm);
  transition:background .15s ease, transform .05s ease;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{ background:var(--ktv-brand-primary-hover) !important; }
.wc-block-cart__submit-button:active,
.wc-block-components-checkout-place-order-button:active{ transform:translateY(1px); }

/* ===== Stavke korpe ===== */
.wc-block-cart-items__row{
  border-bottom:1px solid var(--ktv-border-default) !important;
  padding:18px 4px !important;
}
.wc-block-cart-item__image img{
  border-radius:var(--ktv-radius-sm);
  background:var(--ktv-bg-tinted);
  padding:6px;
}
.wc-block-cart-item__product .wc-block-components-product-name{
  font-family:var(--ktv-font-display) !important;
  font-weight:600; color:var(--ktv-text-primary) !important;
}
.wc-block-cart-item__prices .wc-block-components-product-price__value,
.wc-block-cart-item__total .wc-block-components-product-price__value{ font-family:var(--ktv-font-mono); }
.wc-block-components-quantity-selector{
  border-radius:var(--ktv-radius-xs) !important;
  border-color:var(--ktv-border-strong) !important;
}

/* ===== Checkout: koraci kao kartice ===== */
.wc-block-components-checkout-step{
  border:1px solid var(--ktv-border-default) !important;
  background:var(--ktv-bg-elevated) !important;
  border-radius:var(--ktv-radius) !important;
  padding:20px 22px !important;
  margin-bottom:14px !important;
}
.wc-block-components-checkout-step__title{
  font-family:var(--ktv-font-display) !important;
  font-weight:700 !important; color:var(--ktv-text-primary) !important;
}
.wc-block-components-text-input input,
.wc-block-components-text-input .components-text-control__input,
.wc-block-components-address-form input,
.wc-block-components-address-form select{
  border-radius:var(--ktv-radius-xs) !important;
  border:1px solid var(--ktv-border-strong) !important;
  background:var(--ktv-bg-elevated) !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus{
  border-color:var(--ktv-brand-primary) !important;
  box-shadow:0 0 0 3px rgba(217,138,30,.18) !important;
  outline:none !important;
}
.wc-block-components-text-input.is-active label{ color:var(--ktv-brand-text) !important; }
.wc-block-components-notice-banner{ border-radius:var(--ktv-radius-sm) !important; }

/* ===== Prazna korpa ===== */
.wp-block-woocommerce-empty-cart-block .wc-block-components-button{
  background:var(--ktv-brand-primary) !important;
  color:var(--ktv-brand-ink) !important;
  border-radius:var(--ktv-radius-sm) !important;
  font-family:var(--ktv-font-display) !important; font-weight:700 !important;
}

/* ===== Mobilno: slaganje ===== */
@media (max-width:919px){
  .woocommerce-cart .wc-block-cart,
  .woocommerce-checkout .wc-block-checkout{ display:block; }
  .wc-block-cart__sidebar,
  .wc-block-checkout__sidebar{ position:static; margin-top:22px; }
}


/* ===== #24b ktv-empty-cart-css — prazna korpa (pun render) ===== */
.ktv-ec{ padding:clamp(24px,3.4vw,40px) 0 clamp(56px,7vw,88px) }
.ktv-ec__wrap{ max-width:var(--ktv-maxw); margin:0 auto; padding:0 24px }

/* WooCommerce poruke (npr. „Proizvod uklonjen. Poništi?") */
.ktv-ec__notices{ max-width:var(--ktv-maxw); margin:0 auto 20px; padding:0 24px }
.ktv-ec__notices ul{ margin:0; padding:0; list-style:none }
.ktv-ec__notices .woocommerce-message,
.ktv-ec__notices .woocommerce-info,
.ktv-ec__notices .woocommerce-error{
  margin:0 0 10px; padding:13px 17px; list-style:none;
  border:1px solid var(--ktv-navy-line); border-left:3px solid var(--ktv-brand-primary);
  border-radius:var(--ktv-radius-sm); background:var(--ktv-navy-tint);
  color:var(--ktv-text-primary); font-size:14.5px; line-height:1.5;
}
.ktv-ec__notices a{ color:var(--ktv-brand-text); font-weight:600; text-underline-offset:3px }
.ktv-ec__notices a:hover{ color:var(--ktv-brand-primary-hover) }

/* ---------- Panel: ekran u pripravnosti ---------- */
.ktv-ec__panel{
  position:relative; overflow:hidden; isolation:isolate;
  display:grid; grid-template-columns:minmax(0,400px) minmax(0,1fr);
  align-items:center; gap:clamp(22px,4vw,56px);
  padding:clamp(26px,3.4vw,46px);
  border-radius:calc(var(--ktv-radius) + 6px);
  background:
    radial-gradient(115% 130% at 82% 6%, rgba(217,138,30,.22), transparent 56%),
    linear-gradient(152deg,#16243D 0%,#1E3A5F 60%,#16243D 100%);
  box-shadow:0 28px 64px -34px rgba(22,36,61,.8);
}
.ktv-ec__panel::after{   /* tanka svjetlosna ivica gore */
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  border-radius:inherit; box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}

/* pozornica + ekran */
.ktv-ec__stage{ display:flex; flex-direction:column; align-items:center; justify-content:center }
.ktv-ec__screen{
  position:relative; width:100%; aspect-ratio:16/9;
  border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(168deg,#101B2E,#16243D 58%,#0E1626);
  box-shadow:0 22px 44px -22px rgba(0,0,0,.85), inset 0 0 60px rgba(0,0,0,.45);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
}
.ktv-ec__screen::before{  /* jedva vidljive linije — tekstura ekrana, ne ukras */
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:.5;
  background:repeating-linear-gradient(180deg, rgba(255,255,255,.028) 0 1px, transparent 1px 3px);
}
.ktv-ec__dot{
  width:9px; height:9px; border-radius:50%; flex:none;
  background:var(--ktv-brand-primary); box-shadow:0 0 14px 2px rgba(217,138,30,.75);
}
.ktv-ec__sig{
  font-family:var(--ktv-font-mono); font-size:11px; font-weight:600;
  letter-spacing:.24em; color:#EAA842; text-transform:uppercase;
}
.ktv-ec__stand{
  width:34%; height:9px; margin-top:10px; border-radius:0 0 8px 8px;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.04));
}
@media (prefers-reduced-motion:no-preference){
  .ktv-ec__dot{ animation:ktvStandby 2.6s ease-in-out infinite }
  @keyframes ktvStandby{ 0%,100%{ opacity:1; transform:scale(1) } 50%{ opacity:.45; transform:scale(.9) } }
}

/* poruka */
.ktv-ec__msg{ color:#FBF8F2; min-width:0 }
.ktv-ec__eyebrow{
  display:inline-flex; align-items:center; gap:8px; margin-bottom:14px;
  font-family:var(--ktv-font-mono); font-size:11px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:#EAA842;
}
.ktv-ec__eyebrow i{ width:6px; height:6px; border-radius:50%; background:var(--ktv-brand-primary); box-shadow:0 0 8px var(--ktv-brand-primary) }
.ktv-ec__h1{
  margin:0 0 14px; color:#FBF8F2;
  font-family:var(--ktv-font-display); font-weight:800;
  font-size:clamp(28px,4.2vw,46px); line-height:1.03; letter-spacing:-.035em;
  text-wrap:balance;
}
.ktv-ec__lede{
  margin:0 0 26px; max-width:52ch;
  color:rgba(251,248,242,.76); font-size:clamp(14.5px,1.5vw,16.5px); line-height:1.62;
  text-wrap:pretty;
}
.ktv-ec__cta{ display:flex; flex-wrap:wrap; gap:12px }
.ktv-ec__btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 26px; border-radius:12px; border:1px solid transparent;
  font-family:var(--ktv-font-body); font-weight:600; font-size:15px;
  text-decoration:none; white-space:nowrap;
  transition:background .16s, border-color .16s, color .16s, transform .16s;
}
.ktv-ec__btn--main{
  background:var(--ktv-brand-primary); color:var(--ktv-brand-ink);
  box-shadow:0 14px 30px -12px rgba(217,138,30,.7);
}
.ktv-ec__btn--main:hover{ background:var(--ktv-brand-primary-hover); transform:translateY(-2px) }
.ktv-ec__btn--ghost{ background:transparent; border-color:rgba(251,248,242,.28); color:#FBF8F2 }
.ktv-ec__btn--ghost:hover{ border-color:var(--ktv-brand-primary); color:#EAA842 }
.ktv-ec__btn:focus-visible{ outline:2px solid var(--ktv-brand-primary); outline-offset:3px }

/* ---------- Kreni odavde ---------- */
.ktv-ec__lbl{
  margin:38px 0 13px; font-family:var(--ktv-font-mono); font-size:11px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--ktv-navy);
}
.ktv-ec__cips{ display:flex; flex-wrap:wrap; gap:9px }
.ktv-ec__cips a{
  padding:10px 16px; border-radius:11px; font-size:14px; text-decoration:none;
  color:var(--ktv-text-primary); background:var(--ktv-bg-elevated);
  border:1px solid var(--ktv-border-default); transition:.16s;
}
.ktv-ec__cips a:hover{
  border-color:var(--ktv-brand-primary); color:var(--ktv-brand-primary-hover);
  box-shadow:0 8px 22px -12px rgba(var(--ktv-shadow-rgb),.4);
}

/* ---------- Prijedlozi ---------- */
.ktv-ec__sec{ margin-top:46px }

/* ---------- Mobilno ---------- */
@media (max-width:860px){
  .ktv-ec__panel{ grid-template-columns:1fr; text-align:center }
  .ktv-ec__stage{ max-width:340px; margin:0 auto }
  .ktv-ec__lede{ margin-inline:auto }
  .ktv-ec__cta{ justify-content:center }
}
@media (max-width:480px){
  .ktv-ec__btn{ flex:1 1 100%; }
}


/* ===== BLOK A: bogat opis brenda/kategorije + FAQ (ispod grida) ===== */
.ktv-cat-intro{ margin-top:30px; padding-top:30px; border-top:1px solid var(--ktv-border-default); }
.ktv-cat-intro h2{ font-family:var(--ktv-font-display); font-weight:800; font-size:clamp(21px,2.5vw,29px); letter-spacing:-.025em; color:var(--ktv-text-primary); margin:30px 0 14px; }
.ktv-cat-intro h2:first-child{ margin-top:0; }
.ktv-cat-intro h3{ font-family:var(--ktv-font-display); font-weight:700; font-size:clamp(16px,1.8vw,20px); color:var(--ktv-navy-deep); margin:22px 0 8px; }
.ktv-cat-intro p{ color:var(--ktv-text-secondary); font-size:15.5px; line-height:1.72; margin:0 0 13px; max-width:72ch; }
.ktv-cat-intro p:first-of-type{ font-size:16.5px; color:var(--ktv-text-primary); }
.ktv-cat-intro strong{ color:var(--ktv-text-primary); font-weight:700; }
.ktv-cat-intro a{ color:var(--ktv-brand-text); font-weight:600; text-underline-offset:2px; }
.ktv-cat-intro a:hover{ color:var(--ktv-brand-primary-hover); }

/* Tabela serija = premium navy kartica */
/* 10.09.2026: overflow-x:auto umjesto hidden — tabela bez unutrašnjeg __scroll omotača (živa tabela „po veličini ekrana" iz #70,
   Beko/Grundig uvodi) na telefonu se SJEKLA: kolona „Cijena od–do" nevidljiva (127–159 px odsječeno na 375 px). Uglovi ostaju zaobljeni. */
.kg-tablewrap{ border:1px solid var(--ktv-navy-line); border-radius:var(--ktv-radius); overflow-x:auto; overflow-y:hidden; box-shadow:var(--ktv-shadow-md); margin:12px 0 24px; }
.kg-tablewrap__scroll{ overflow-x:auto; }
/* Audit slika 13.09.2026: tabela pisana u sadrzaju vodica nije umotana u .kg-tablewrap, pa je
   sirila stranicu na 555 px na telefonu od 375 px (naslov i tekst su bili odsjeceni). */
.kg-body > table{ display:block; width:100%; max-width:100%; overflow-x:auto; }
/* .kg-article je flex-stavka; min-width:auto joj ne da da se skupi ispod sirine sadrzaja,
   pa je siroka tabela sirila CIJELU stranicu (375 -> 555 px). min-width:0 je flexbox lijek. */
.kg-article{ min-width:0; width:100%; }
.ktv-cat-intro table{ width:100%; border-collapse:collapse; font-size:14.5px; margin:0; }
.ktv-cat-intro thead th{ background:linear-gradient(180deg,var(--ktv-navy),var(--ktv-navy-deep)); color:#fff; font-family:var(--ktv-font-mono); font-size:10.5px; letter-spacing:.09em; text-transform:uppercase; text-align:left; padding:13px 15px; white-space:nowrap; }
.ktv-cat-intro tbody td{ padding:13px 15px; border-bottom:1px solid var(--ktv-border-default); color:var(--ktv-text-secondary); vertical-align:top; line-height:1.5; }
.ktv-cat-intro tbody tr:last-child td{ border-bottom:0; }
.ktv-cat-intro tbody tr:nth-child(even) td{ background:var(--ktv-navy-tint); }
.ktv-cat-intro tbody tr:hover td{ background:var(--ktv-bg-warm); }
.ktv-cat-intro tbody td:first-child{ font-family:var(--ktv-font-display); font-weight:700; color:var(--ktv-text-primary); white-space:nowrap; }
.ktv-cat-intro tbody td:first-child a{ color:var(--ktv-brand-primary-hover); }
.ktv-cat-intro tbody td:nth-child(4), .ktv-cat-intro tbody td.kg-num{ font-family:var(--ktv-font-mono); font-weight:600; color:var(--ktv-navy-deep); white-space:nowrap; }

/* Scenariji "koji za tebe" = kartice */
.kg-picks{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:14px 0 20px; }
.kg-pick{ display:flex; flex-direction:column; gap:5px; padding:16px 18px; border:1px solid var(--ktv-border-default); border-radius:var(--ktv-radius-sm); background:var(--ktv-bg-elevated); text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.kg-pick:hover{ transform:translateY(-2px); box-shadow:var(--ktv-shadow-md); border-color:var(--ktv-brand-primary); }
.kg-pick b{ font-family:var(--ktv-font-display); font-weight:700; font-size:15.5px; color:var(--ktv-text-primary); }
.kg-pick span{ font-size:14px; color:var(--ktv-text-secondary); line-height:1.5; }
.kg-pick em{ margin-top:auto; padding-top:6px; font-style:normal; font-weight:600; font-size:13.5px; color:var(--ktv-brand-text); }
.kg-pick:hover em{ color:var(--ktv-brand-primary-hover); }

/* FAQ */
.ktv-cat-faq{ margin-top:30px; }
.ktv-cat-faq__h{ font-family:var(--ktv-font-display); font-weight:800; font-size:clamp(21px,2.5vw,29px); color:var(--ktv-text-primary); margin:0 0 15px; }
.ktv-faq__item{ border:1px solid var(--ktv-border-default); border-radius:var(--ktv-radius-sm); background:var(--ktv-bg-elevated); margin-bottom:10px; transition:border-color .15s, box-shadow .15s; }
.ktv-faq__item[open]{ border-color:var(--ktv-navy-line); box-shadow:var(--ktv-shadow-md); }
.ktv-faq__q{ cursor:pointer; list-style:none; padding:16px 18px; font-family:var(--ktv-font-display); font-weight:600; font-size:15.5px; color:var(--ktv-text-primary); display:flex; justify-content:space-between; align-items:center; gap:14px; }
.ktv-faq__q::-webkit-details-marker{ display:none; }
.ktv-faq__q::after{ content:"+"; font-family:var(--ktv-font-mono); font-size:22px; line-height:1; color:var(--ktv-brand-primary); flex:none; transition:transform .2s ease; }
.ktv-faq__item[open] .ktv-faq__q::after{ transform:rotate(45deg); }
.ktv-faq__a{ padding:0 18px 17px; color:var(--ktv-text-secondary); font-size:14.7px; line-height:1.68; }
.ktv-faq__a p{ margin:0; max-width:70ch; }
@media(max-width:720px){ .kg-picks{ grid-template-columns:1fr; } }
@media(max-width:640px){ .ktv-cat-intro table{ font-size:13.5px; } }

.kg-list__h{ font-family:var(--ktv-font-display); font-weight:800; font-size:clamp(19px,2.2vw,25px); letter-spacing:-.02em; color:var(--ktv-text-primary); margin:26px 0 14px }

/* ==== #16 ktv-404-css ==== */
.ktv-404{
  max-width:var(--ktv-maxw); margin:0 auto;
  padding:clamp(60px,10vh,120px) 24px clamp(60px,9vh,110px);
  text-align:center; display:flex; flex-direction:column; align-items:center;
}
.ktv-404__kod{
  font-family:var(--ktv-font-mono); font-weight:700;
  font-size:clamp(64px,13vw,132px); line-height:1;
  color:var(--ktv-navy-soft); letter-spacing:.02em; margin:0 0 -14px;
  user-select:none;
}
.ktv-404__h1{
  font-family:var(--ktv-font-display); font-weight:800;
  font-size:clamp(30px,5vw,52px); letter-spacing:-.035em; line-height:1.02;
  color:var(--ktv-text-primary); margin:0 0 14px; text-wrap:balance;
}
.ktv-404__lede{
  color:var(--ktv-text-secondary); font-size:clamp(15px,1.6vw,17px);
  max-width:52ch; line-height:1.6; margin:0 0 32px; text-wrap:pretty;
}
.ktv-404__search{
  display:flex; gap:10px; width:min(520px,100%); margin-bottom:40px;
}
.ktv-404__search input{
  flex:1; min-width:0; padding:14px 18px; border-radius:12px;
  border:1px solid var(--ktv-border-strong); background:var(--ktv-bg-elevated);
  font-family:var(--ktv-font-body); font-size:15px; color:var(--ktv-text-primary); outline:none;
  transition:border-color .16s, box-shadow .16s;
}
.ktv-404__search input:focus{ border-color:var(--ktv-brand-primary); box-shadow:0 0 0 3px rgba(217,138,30,.2) }
.ktv-404__search button{
  flex:none; padding:14px 24px; border:0; border-radius:12px; cursor:pointer;
  background:var(--ktv-brand-primary); color:var(--ktv-brand-ink);
  font-family:var(--ktv-font-body); font-weight:600; font-size:15px;
  box-shadow:0 10px 26px -9px rgba(var(--ktv-shadow-rgb),.55); transition:.16s;
}
.ktv-404__search button:hover{ background:var(--ktv-brand-primary-hover); transform:translateY(-1px) }

.ktv-404__lbl{
  font-family:var(--ktv-font-mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ktv-navy); margin:0 0 14px;
}
.ktv-404__cips{ display:flex; flex-wrap:wrap; gap:9px; justify-content:center }
.ktv-404__cips a{
  font-size:14px; color:var(--ktv-text-primary); text-decoration:none;
  background:var(--ktv-bg-elevated); border:1px solid var(--ktv-border-default);
  padding:10px 16px; border-radius:11px; transition:.16s;
}
.ktv-404__cips a:hover{
  border-color:var(--ktv-brand-primary); color:var(--ktv-brand-primary-hover);
  box-shadow:0 8px 22px -12px rgba(var(--ktv-shadow-rgb),.4);
}
@media(max-width:520px){ .ktv-404__search{ flex-direction:column } }

/* ==== #26 ktv-guide-css ==== */
.ktv-guide{ max-width:var(--ktv-maxw); margin-inline:auto; padding:0 24px 70px; }
/* ⚠ SUDAR IMENA KLASA: `.ktv-guide` je DVIJE stvari —
   (1) kartica u sekciji „Vodiči pomažu" (definisana gore, `.ktv-guides__grid > a`)
   (2) omotač CIJELE stranice vodiča (pravilo tik iznad).
   Pravilo (2) dolazi kasnije uz istu specifičnost pa je gasilo karticu:
   `padding:0 24px 70px` → 70px praznine ispod teksta i 0 iznad,
   `margin-inline:auto` + širina po sadržaju → kartice razbacane u „stepenice".
   Vraćamo karticu većom specifičnošću; markup se NE dira (stranice vodiča ostaju netaknute). */
.ktv-guides__grid .ktv-guide{ max-width:none; margin-inline:0; padding:18px 20px; }
/* MOBILNI: tri složene kartice s ponovljenom oznakom „VODIČ" su trošile pola ekrana.
   Prelazimo na kompaktan red — naslov lijevo, amber strelica desno — isti obrazac
   koji sajt već koristi za `.ktv-guidelink` na stranici proizvoda.
   Tekst „Pročitaj →" ostaje u DOM-u zbog čitača ekrana, samo je vizuelno zamijenjen strelicom. */
@media (max-width:760px){
  .ktv-guides{ margin-top:38px; padding-top:26px }
  .ktv-guides__h{ margin-bottom:14px }
  .ktv-guides__grid{ gap:10px }
  .ktv-guides__grid .ktv-guide{
    flex-direction:row; align-items:center; justify-content:space-between;
    gap:14px; padding:16px 18px;
  }
  .ktv-guides__grid .ktv-guide__k{ display:none }
  .ktv-guides__grid .ktv-guide__t{ font-size:15.5px; line-height:1.3 }
  .ktv-guides__grid .ktv-guide__go{
    margin-top:0; flex:0 0 auto; font-size:0; line-height:1;
  }
  .ktv-guides__grid .ktv-guide__go::after{
    content:'\2192'; font-size:20px; font-weight:400; color:var(--ktv-brand-primary);
  }
}
.kg-crumbs{ font-family:var(--ktv-font-mono); font-size:12px; color:var(--ktv-text-tertiary); padding:22px 0 0; }
.kg-crumbs a{ color:var(--ktv-text-secondary); } .kg-crumbs a:hover{ color:var(--ktv-brand-text); }

/* Hero */
.kg-hero,.kg-head{ max-width:760px; margin:0 auto; padding:26px 0 8px; text-align:center; }
.kg-hero .ktv-eyebrow,.kg-head .ktv-eyebrow{ justify-content:center; }
.kg-hero h1,.kg-head h1{ font-family:var(--ktv-font-display); font-weight:800; letter-spacing:-.025em;
  font-size:clamp(30px,4.4vw,46px); line-height:1.05; margin:14px 0 0; }
.kg-lead{ color:var(--ktv-text-secondary); font-size:18px; line-height:1.6; margin:18px auto 0; max-width:60ch; }

/* Članak */
.kg-article{ max-width:760px; margin:0 auto; }
.kg-body{ font-size:17.5px; line-height:1.75; color:var(--ktv-text-primary); }
.kg-body h2{ font-family:var(--ktv-font-display); font-weight:700; letter-spacing:-.02em;
  font-size:clamp(22px,2.6vw,28px); line-height:1.15; margin:46px 0 14px; padding-top:22px;
  border-top:1px solid var(--ktv-border-default); }
.kg-body p{ margin:16px 0; } .kg-body b{ font-weight:700; }
.kg-body a{ color:var(--ktv-brand-text); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; }
.kg-body a:hover{ color:var(--ktv-brand-primary-hover); }
.kg-body ul{ margin:16px 0; padding-left:0; list-style:none; }
.kg-body ul li{ position:relative; padding:8px 0 8px 30px; border-bottom:1px solid var(--ktv-border-subtle); }
.kg-body ul li:before{ content:''; position:absolute; left:6px; top:16px; width:8px; height:8px;
  border-radius:2px; background:var(--ktv-brand-primary); }

/* TOC */
.kg-toc{ background:var(--ktv-bg-tinted); border:1px solid var(--ktv-border-default);
  border-radius:var(--ktv-radius); padding:16px 18px; margin:26px 0; font-size:14px; }
.kg-toc b{ font-family:var(--ktv-font-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ktv-navy); display:block; margin-bottom:8px; }
.kg-toc a{ display:inline-block; margin:4px 14px 4px 0; color:var(--ktv-text-secondary);
  text-decoration:none; border-bottom:1px dashed var(--ktv-border-strong); }
.kg-toc a:hover{ color:var(--ktv-brand-text); border-color:var(--ktv-brand-primary); }

/* Tabela */
.kg-table{ width:100%; border-collapse:collapse; margin:22px 0; font-size:15.5px;
  border:1px solid var(--ktv-border-default); border-radius:var(--ktv-radius-sm); overflow:hidden; }
.kg-table th{ background:var(--ktv-navy); color:#EAF0F8; font-family:var(--ktv-font-display); font-weight:600;
  text-align:left; padding:12px 16px; }
.kg-table td{ padding:11px 16px; border-top:1px solid var(--ktv-border-default); font-family:var(--ktv-font-mono); }
.kg-table tbody tr:nth-child(even){ background:var(--ktv-bg-warm); }

/* Savjet callout */
.kg-tip{ background:var(--ktv-navy-tint); border:1px solid var(--ktv-navy-line);
  border-left:4px solid var(--ktv-brand-primary); border-radius:var(--ktv-radius-sm);
  padding:16px 18px; margin:24px 0; font-size:15.5px; color:var(--ktv-text-primary); }
.kg-tip b{ color:var(--ktv-navy); }

/* CTA */
.kg-cta{ margin:44px 0 0; padding:30px; border-radius:var(--ktv-radius);
  background:linear-gradient(150deg,var(--ktv-navy-deep),var(--ktv-navy)); color:#EAF0F8; text-align:center; }
.kg-cta h3{ font-family:var(--ktv-font-display); font-weight:800; font-size:24px; margin:0 0 8px; color:#fff; }
.kg-cta p{ color:#C7D2E2; font-size:15px; max-width:56ch; margin:0 auto 18px; }
.kg-btn{ display:inline-block; background:var(--ktv-brand-primary); color:var(--ktv-brand-ink);
  font-family:var(--ktv-font-display); font-weight:700; padding:14px 28px; border-radius:var(--ktv-radius-sm);
  text-decoration:none; transition:background .15s; }
.kg-btn:hover{ background:var(--ktv-brand-primary-hover); }

/* Hub lista */
.kg-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; margin:34px 0 0; }
.kg-item{ display:flex; flex-direction:column; gap:8px; background:var(--ktv-bg-elevated);
  border:1px solid var(--ktv-border-default); border-radius:var(--ktv-radius); padding:22px; text-decoration:none;
  color:var(--ktv-text-primary); transition:transform .16s, box-shadow .16s, border-color .16s; }
.kg-item:hover{ transform:translateY(-4px); box-shadow:var(--ktv-shadow-lg); border-color:var(--ktv-border-strong); }
.kg-item__tag{ font-family:var(--ktv-font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ktv-navy); }
.kg-item h3{ font-family:var(--ktv-font-display); font-weight:700; font-size:19px; line-height:1.2; margin:0; }
.kg-item p{ color:var(--ktv-text-secondary); font-size:14px; line-height:1.5; margin:0; flex:1; }
.kg-item__go{ font-family:var(--ktv-font-mono); font-size:12.5px; font-weight:600; color:var(--ktv-brand-text); }

.kg-faq{ margin:20px 0; }
.kg-faq dt{ font-family:var(--ktv-font-display); font-weight:700; font-size:17px; color:var(--ktv-text-primary); padding:16px 0 6px; border-top:1px solid var(--ktv-border-default); }
.kg-faq dt:first-of-type{ border-top:0; padding-top:0; }
.kg-faq dd{ margin:0 0 6px; color:var(--ktv-text-secondary); }
.kg-body h2[id]{ scroll-margin-top:96px; } /* sidro ne smije završiti ispod sticky headera */
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth } } /* samo guide render (style je u ovom dokumentu) */
@media (max-width:600px){ .kg-body{ font-size:17px; } }

/* ==== #27 ktvsc-css ==== */
/* Stranica kalkulatora: sakrij dupli naslov teme + zbij razmak iznad (tema iscrtava veliki .wp-block-post-title) */
.wp-block-post-title{ display:none !important }
.wp-site-blocks > main:first-of-type, .wp-site-blocks .is-layout-constrained:first-child{ padding-top:0 !important; margin-top:0 !important }
.ktvsc{ --sc-tv:173px; background:var(--ktv-bg-elevated,#fff); border:1px solid var(--ktv-border-default,#e7e0d4); border-radius:var(--ktv-radius,20px); padding:30px 30px 26px; box-shadow:0 14px 40px rgba(var(--ktv-shadow-rgb,20,20,20),.08); max-width:940px; margin:6px auto 26px; color:var(--ktv-text-primary,#1c1c1c) }
.ktvsc *{ box-sizing:border-box }
.ktvsc__eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--ktv-font-mono,ui-monospace,monospace); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ktv-navy,#16243D) }
.ktvsc__eyebrow i{ width:16px; height:2px; background:var(--ktv-brand-primary,#D98A1E) }
.ktvsc__title{ font-family:var(--ktv-font-display,inherit); font-size:clamp(21px,2.6vw,28px); font-weight:800; letter-spacing:-.02em; line-height:1.15; margin:10px 0 8px; color:var(--ktv-navy-deep,#12203a) }
.ktvsc__sub{ font-size:14px; color:var(--ktv-text-secondary,#5a5a5a); line-height:1.6; margin:0; max-width:640px }
.ktvsc__modes{ display:inline-flex; gap:4px; padding:4px; margin:20px 0 22px; background:var(--ktv-bg-tinted,#f4efe6); border:1px solid var(--ktv-border-default,#e7e0d4); border-radius:12px }
.ktvsc__mode{ border:0; background:transparent; cursor:pointer; font-family:var(--ktv-font-display,inherit); font-weight:700; font-size:13.5px; color:var(--ktv-text-secondary,#5a5a5a); padding:9px 16px; border-radius:9px; transition:background .15s,color .15s }
.ktvsc__mode.is-on{ background:var(--ktv-navy,#16243D); color:#fff; box-shadow:0 4px 12px rgba(22,36,61,.2) }
.ktvsc__grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center }

.ktvsc__stage{ display:flex; flex-direction:column; align-items:center; gap:14px }
.ktvsc__room{ position:relative; width:100%; min-height:230px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
  padding:26px 20px 0; border-radius:16px; overflow:hidden;
  background:linear-gradient(180deg,#0f1826 0%,#16243D 60%,#1c2c48 100%) }
.ktvsc__wallgrid{ position:absolute; inset:0 0 34px 0; background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:34px 34px }
.ktvsc__tv{ position:relative; width:var(--sc-tv); aspect-ratio:16/9; border-radius:8px; border:5px solid #0a0f18;
  background:var(--wall,linear-gradient(120deg,#1a2942,#2b4a7a 55%,#D98A1E)); background-size:200% 200%;
  box-shadow:0 18px 34px -12px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.08); display:grid; place-items:center;
  transition:width .32s cubic-bezier(.2,.8,.2,1) }
.ktvsc__tvglow{ position:absolute; inset:0; border-radius:4px; background:radial-gradient(120% 90% at 50% 22%,rgba(255,255,255,.34),transparent 60%) }
.ktvsc__tvlabel{ position:relative; font-family:var(--ktv-font-mono,monospace); font-size:14px; font-weight:700; color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.55) }
.ktvsc__stand{ width:16%; height:8px; background:#0a0f18; border-radius:0 0 4px 4px }
.ktvsc__floor{ width:100%; height:34px; margin-top:6px; background:linear-gradient(180deg,rgba(255,255,255,.08),transparent); border-top:1px solid rgba(255,255,255,.12) }
.ktvsc__distcap{ font-family:var(--ktv-font-mono,monospace); font-size:12.5px; color:var(--ktv-text-secondary,#5a5a5a) }
.ktvsc__distcap b{ color:var(--ktv-navy,#16243D) }

.ktvsc__ctl{ margin-bottom:18px }
.ktvsc__ctlrow{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:12px }
.ktvsc__lbl{ font-size:13px; font-weight:600; color:var(--ktv-text-secondary,#5a5a5a) }
.ktvsc__val{ font-size:13px; color:var(--ktv-text-tertiary,#8a8a8a) }
.ktvsc__val b{ font-family:var(--ktv-font-mono,monospace); font-size:26px; font-weight:700; color:var(--ktv-navy-deep,#12203a) }
.ktvsc__range{ -webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:999px; margin:2px 0;
  background:linear-gradient(90deg,var(--ktv-brand-primary,#D98A1E) 0 var(--p,26%),var(--ktv-border-default,#e7e0d4) var(--p,26%) 100%); outline:none; cursor:pointer }
.ktvsc__range::-webkit-slider-thumb{ -webkit-appearance:none; width:24px; height:24px; border-radius:50%; background:#fff; border:3px solid var(--ktv-brand-primary,#D98A1E); box-shadow:0 3px 10px rgba(0,0,0,.2); cursor:pointer }
.ktvsc__range::-moz-range-thumb{ width:22px; height:22px; border:3px solid var(--ktv-brand-primary,#D98A1E); border-radius:50%; background:#fff; cursor:pointer }
.ktvsc__scale{ display:flex; justify-content:space-between; font-family:var(--ktv-font-mono,monospace); font-size:10px; color:var(--ktv-text-tertiary,#8a8a8a); margin-top:7px }

.ktvsc__res{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:6px 0 16px }
.ktvsc__rc{ text-align:left; cursor:pointer; background:var(--ktv-bg-tinted,#f4efe6); border:1.5px solid var(--ktv-border-default,#e7e0d4); border-radius:14px; padding:13px 14px; transition:border-color .16s,box-shadow .16s,transform .1s; font-family:inherit }
.ktvsc__rc:hover{ transform:translateY(-2px) }
.ktvsc__rc.is-sel{ border-color:var(--ktv-brand-primary,#D98A1E); box-shadow:0 8px 20px rgba(217,138,30,.16); background:var(--ktv-bg-elevated,#fff) }
.ktvsc__rk{ display:block; font-family:var(--ktv-font-mono,monospace); font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:var(--ktv-text-tertiary,#8a8a8a); margin-bottom:3px }
.ktvsc__rc b{ display:block; font-family:var(--ktv-font-display,inherit); font-size:29px; font-weight:800; letter-spacing:-.02em; line-height:1; color:var(--ktv-navy-deep,#12203a) }
.ktvsc__rc i{ display:block; font-style:normal; font-size:10.5px; color:var(--ktv-text-secondary,#5a5a5a); margin-top:5px; line-height:1.35 }
.ktvsc__reco{ font-size:14px; line-height:1.55; color:var(--ktv-text-primary,#1c1c1c); margin:0 0 14px; padding:12px 15px; background:var(--ktv-bg-warm,#faf6ee); border:1px solid var(--ktv-border-default,#e7e0d4); border-left:3px solid var(--ktv-brand-primary,#D98A1E); border-radius:11px }
.ktvsc__reco b{ color:var(--ktv-navy-deep,#12203a) }
.ktvsc__cta{ display:inline-flex; align-items:center; justify-content:center; gap:9px; width:100%; box-sizing:border-box; text-decoration:none;
  font-family:var(--ktv-font-display,inherit); font-weight:700; font-size:15px; padding:14px 20px; border-radius:13px;
  background:var(--ktv-brand-primary,#D98A1E); color:#fff; box-shadow:0 8px 22px rgba(217,138,30,.3); transition:filter .14s,box-shadow .16s,transform .08s }
.ktvsc__cta:hover{ filter:brightness(1.05); box-shadow:0 11px 28px rgba(217,138,30,.4); transform:translateY(-1px); color:#fff }
.ktvsc__note{ font-size:11.5px; color:var(--ktv-text-tertiary,#8a8a8a); line-height:1.5; margin:12px 0 0 }

@media(max-width:720px){ .ktvsc{ padding:22px 18px } .ktvsc__grid{ grid-template-columns:1fr; gap:20px } .ktvsc__stage{ order:-1 } }

/* ==== #28 ktvinfo-css ==== */
/* Stranica: sakrij dupli naslov teme + zbij razmak iznad */
.wp-block-post-title{ display:none !important }
.ktvinfo{ max-width:960px; margin:6px auto 30px; color:var(--ktv-text-primary,#1c1c1c) }
.ktvinfo *{ box-sizing:border-box }
.ktvinfo__hero{ text-align:center; max-width:640px; margin:0 auto 30px }
.ktvinfo__eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--ktv-font-mono,ui-monospace,monospace); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ktv-navy,#16243D) }
.ktvinfo__eyebrow i{ width:16px; height:2px; background:var(--ktv-brand-primary,#D98A1E) }
.ktvinfo__title{ font-family:var(--ktv-font-display,inherit); font-size:clamp(24px,3.4vw,34px); font-weight:800; letter-spacing:-.025em; line-height:1.12; margin:10px 0 10px; color:var(--ktv-navy-deep,#12203a) }
.ktvinfo__sub{ font-size:15px; color:var(--ktv-text-secondary,#5a5a5a); line-height:1.6; margin:0 }
.ktvinfo__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px }
.ktvinfo__card{ background:var(--ktv-bg-elevated,#fff); border:1px solid var(--ktv-border-default,#e7e0d4); border-radius:var(--ktv-radius,18px); padding:22px 22px 20px; box-shadow:0 6px 22px rgba(var(--ktv-shadow-rgb,20,20,20),.06); transition:transform .16s, box-shadow .16s, border-color .16s }
.ktvinfo__card:hover{ transform:translateY(-3px); border-color:var(--ktv-border-strong,#d8cfbe); box-shadow:0 16px 34px -12px rgba(var(--ktv-shadow-rgb,20,20,20),.16) }
.ktvinfo__ic{ display:grid; place-items:center; width:46px; height:46px; border-radius:13px; background:var(--ktv-navy-soft,#eef1f6); color:var(--ktv-navy,#16243D); margin-bottom:14px }
.ktvinfo__card h3{ font-family:var(--ktv-font-display,inherit); font-size:16.5px; font-weight:700; letter-spacing:-.01em; color:var(--ktv-navy-deep,#12203a); margin:0 0 8px; display:flex; align-items:center; gap:8px; flex-wrap:wrap }
.ktvinfo__soon{ font-family:var(--ktv-font-mono,monospace); font-size:9.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ktv-brand-ink,#3a2606); background:var(--ktv-brand-primary,#D98A1E); padding:3px 8px; border-radius:999px }
.ktvinfo__card p{ font-size:13.5px; color:var(--ktv-text-secondary,#5a5a5a); line-height:1.6; margin:0 }
.ktvinfo__card b{ color:var(--ktv-navy-deep,#12203a); font-weight:700 }
.ktvinfo__contact{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  margin-top:20px; padding:22px 26px; border-radius:var(--ktv-radius,18px);
  background:linear-gradient(135deg,#16243D 0%,#1E3A5F 60%,#274a78 100%); box-shadow:0 14px 34px rgba(22,36,61,.26); position:relative; overflow:hidden }
.ktvinfo__contact::before{ content:""; position:absolute; right:-40px; top:-40px; width:180px; height:180px; border-radius:50%; background:radial-gradient(circle,rgba(217,138,30,.30),transparent 68%); pointer-events:none }
.ktvinfo__ctxt{ position:relative }
.ktvinfo__ctxt b{ display:block; font-family:var(--ktv-font-display,inherit); font-size:18px; color:#fff; margin-bottom:4px }
.ktvinfo__ctxt span{ font-size:13px; color:rgba(255,255,255,.72); line-height:1.5 }
.ktvinfo__cbtns{ position:relative; display:flex; gap:9px; flex-wrap:wrap }
.ktvinfo__btn{ display:inline-flex; align-items:center; gap:7px; text-decoration:none; font-family:var(--ktv-font-display,inherit); font-weight:700; font-size:13.5px; padding:11px 15px; border-radius:11px; transition:filter .14s, transform .08s, background .14s }
.ktvinfo__btn:hover{ transform:translateY(-1px) }
.ktvinfo__btn--v{ background:#7360f2; color:#fff } .ktvinfo__btn--v:hover{ filter:brightness(1.08); color:#fff }
.ktvinfo__btn--w{ background:#25d366; color:#0a2e17 } .ktvinfo__btn--w:hover{ filter:brightness(1.05); color:#0a2e17 }
.ktvinfo__btn--m{ background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.25) } .ktvinfo__btn--m:hover{ background:rgba(255,255,255,.2); color:#fff }
@media(max-width:820px){ .ktvinfo__grid{ grid-template-columns:1fr 1fr } }
@media(max-width:560px){ .ktvinfo__grid{ grid-template-columns:1fr } .ktvinfo__contact{ flex-direction:column; align-items:flex-start } }

/* ==== #30 ktv-akcije-css ==== */
.ktv-akc{ max-width:var(--ktv-maxw,1200px); margin:0 auto; padding:24px 24px 70px }
.ktv-crumbs{ font-family:var(--ktv-font-mono); font-size:11.5px; color:var(--ktv-text-tertiary); margin-bottom:16px }
.ktv-crumbs a{ color:var(--ktv-navy); text-decoration:none } .ktv-crumbs a:hover{ color:var(--ktv-brand-primary-hover) }
.ktv-crumbs span[aria-hidden]{ margin:0 6px; opacity:.5 }

.ktv-akc-hero{
  position:relative; overflow:hidden; border-radius:20px; margin-bottom:22px; color:var(--ktv-text-inverse,#fff);
  padding:30px 30px 28px; background:radial-gradient(130% 150% at 12% 0%, #22375c, var(--ktv-navy,#16243D) 55%, #0f1a2e);
  border:1px solid rgba(255,255,255,.06);
}
.ktv-akc-hero__in{ position:relative; z-index:2; max-width:70% }
.ktv-akc-hero__eyebrow{ font-family:var(--ktv-font-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--ktv-brand-secondary,#EAA842) }
.ktv-akc-hero__h1{ font-family:var(--ktv-font-display); font-weight:800; letter-spacing:-.035em; margin:8px 0 8px;
  font-size:clamp(28px,4.4vw,44px); line-height:1 }
.ktv-akc-hero__lede{ font-size:15.5px; line-height:1.55; color:#D6DEEC; margin:0 }
.ktv-akc-hero__lede b{ color:#fff; font-weight:700 }
.ktv-akc-hero__pct{ color:var(--ktv-brand-secondary,#EAA842)!important; font-family:var(--ktv-font-mono) }
.ktv-akc-hero__badge{
  position:absolute; right:-14px; bottom:-40px; z-index:1; font-family:var(--ktv-font-display); font-weight:800;
  font-size:220px; line-height:1; color:var(--ktv-brand-primary,#D98A1E); opacity:.14; pointer-events:none;
}

.ktv-akc-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px }
.ktv-akc-chip{ display:inline-flex; align-items:center; gap:7px; text-decoration:none; font-size:13.5px; font-weight:500;
  color:var(--ktv-text-primary,#1e2733); background:var(--ktv-bg-elevated,#fff);
  border:1px solid var(--ktv-border-default,#e7e0d4); padding:8px 13px; border-radius:999px; transition:.15s }
.ktv-akc-chip span{ font-family:var(--ktv-font-mono); font-size:11px; color:var(--ktv-text-tertiary,#8a8577) }
.ktv-akc-chip:hover{ border-color:var(--ktv-brand-primary,#D98A1E); color:var(--ktv-brand-primary-hover) }
.ktv-akc-chip.is-active{ background:var(--ktv-navy,#16243D); border-color:var(--ktv-navy,#16243D); color:#fff }
.ktv-akc-chip.is-active span{ color:rgba(255,255,255,.7) }

.ktv-pag{ display:flex; gap:6px; margin-top:34px; justify-content:center; flex-wrap:wrap; align-items:center }
.ktv-pag a,.ktv-pag .current{ display:grid; place-items:center; min-width:38px; height:38px; padding:0 8px; border-radius:10px;
  border:1px solid var(--ktv-border-default,#e7e0d4); background:var(--ktv-bg-elevated,#fff); color:var(--ktv-text-primary,#1e2733);
  text-decoration:none; font-family:var(--ktv-font-mono); font-size:13px }
.ktv-pag a:hover{ border-color:var(--ktv-brand-primary,#D98A1E); color:var(--ktv-brand-primary) }
.ktv-pag .current{ background:var(--ktv-brand-primary,#D98A1E); color:var(--ktv-brand-ink,#1a1206); border-color:var(--ktv-brand-primary,#D98A1E); font-weight:700 }
.ktv-pag__gap{ color:var(--ktv-text-tertiary,#8a8577); padding:0 2px }

.ktv-akc-empty{ text-align:center; padding:70px 20px; color:var(--ktv-text-secondary) }
.ktv-akc-empty p{ font-family:var(--ktv-font-display); font-size:20px; margin:0 0 16px; color:var(--ktv-text-primary) }

@media(max-width:640px){
  .ktv-akc-hero__in{ max-width:100% } .ktv-akc-hero{ padding:24px 20px }
  .ktv-akc-hero__badge{ font-size:150px; bottom:-26px; right:-8px }
}

/* ==== #22 ktv-cmp-css ==== */
.ktv-cmp-toggle{ display:inline-flex; align-items:center; gap:6px; font-family:var(--ktv-font-mono); font-size:11px;
  color:var(--ktv-navy); background:none; border:0; cursor:pointer; padding:6px 0; margin-top:2px }
.ktv-cmp-toggle:hover{ color:var(--ktv-brand-primary-hover) }
.ktv-cmp-toggle[aria-pressed="true"]{ color:var(--ktv-brand-primary-hover); font-weight:700 }
.ktv-cmp-toggle .box{ width:15px; height:15px; border:1.5px solid var(--ktv-navy-line); border-radius:4px; display:inline-grid; place-items:center; font-size:10px; color:transparent }
.ktv-cmp-toggle[aria-pressed="true"] .box{ background:var(--ktv-brand-primary); border-color:var(--ktv-brand-primary); color:var(--ktv-brand-ink) }

.ktv-cmpbar{ position:fixed; left:0; right:0; bottom:0; z-index:58; background:var(--ktv-navy-deep); color:#E7EDF5;
  box-shadow:0 -8px 30px rgba(0,0,0,.25) }
.ktv-cmpbar__in{ max-width:var(--ktv-maxw); margin:0 auto; padding:12px 24px; display:flex; align-items:center; gap:16px; flex-wrap:wrap }
.ktv-cmpbar__lbl{ font-family:var(--ktv-font-mono); font-size:12.5px; letter-spacing:.05em }
.ktv-cmpbar__n{ color:var(--ktv-brand-secondary); font-weight:700 }
.ktv-cmpbar__thumbs{ display:flex; gap:8px; flex:1; min-width:0 }
.ktv-cmpbar__thumb{ position:relative; width:54px; height:32px; border-radius:5px; border:1px solid rgba(255,255,255,.2);
  background-size:cover; background-position:center }
.ktv-cmpbar__thumb button{ position:absolute; top:-7px; right:-7px; width:17px; height:17px; border-radius:50%; border:0;
  background:#fff; color:var(--ktv-navy-deep); font-size:10px; cursor:pointer; line-height:1 }
.ktv-cmpbar__clear{ background:none; border:0; color:#A6B4C7; font-size:12.5px; cursor:pointer; font-family:var(--ktv-font-mono) }
.ktv-cmpbar__clear:hover{ color:#fff }

.ktv-cmpover{ position:fixed; inset:0; z-index:80; background:var(--ktv-bg-canvas); display:flex; flex-direction:column }
.ktv-cmpover__head{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px;
  border-bottom:1px solid var(--ktv-border-default); max-width:var(--ktv-maxw); margin:0 auto; width:100%; box-sizing:border-box }
.ktv-cmpover__head h2{ font-family:var(--ktv-font-display); font-size:clamp(18px,2.4vw,26px); font-weight:800; letter-spacing:-.03em; margin:0; color:var(--ktv-text-primary) }
.ktv-cmpover__body{ flex:1; overflow:auto; padding:20px 24px; max-width:var(--ktv-maxw); margin:0 auto; width:100%; box-sizing:border-box }
.ktv-cmpleg{ font-family:var(--ktv-font-mono); font-size:11.5px; color:var(--ktv-navy); padding:12px 24px; border-top:1px solid var(--ktv-border-default);
  max-width:var(--ktv-maxw); margin:0 auto; width:100%; box-sizing:border-box; display:flex; align-items:center; gap:9px }

/* Tabela: fiksne uže kolone, centrirana; prva kolona sticky, modeli scrollaju na mobilnom */
.ktv-cmptable{ width:max-content; margin:0 auto; border:1px solid var(--ktv-border-default); border-radius:14px;
  background:var(--ktv-bg-elevated); box-shadow:var(--ktv-shadow-md) }
.ktv-cmprow{ display:grid; grid-template-columns:var(--cols) }
.ktv-cmprow:not(.ktv-cmphead):nth-of-type(even){ background:var(--ktv-bg-warm) }
.ktv-cmpcell{ padding:14px 16px; font-family:var(--ktv-font-mono); font-size:13px; font-weight:600; color:var(--ktv-navy);
  display:flex; align-items:center; gap:6px; border-left:1px solid var(--ktv-border-subtle); border-top:1px solid var(--ktv-border-subtle) }
.ktv-cmprow:first-of-type .ktv-cmpcell{ border-top:0 }
.ktv-cmpcell--lbl{ position:sticky; left:0; z-index:3; border-left:0; border-right:1px solid var(--ktv-border-default);
  background:var(--ktv-bg-tinted); color:var(--ktv-text-secondary); font-family:var(--ktv-font-body); font-weight:500; font-size:12.5px }
.ktv-cmpcell--win{ background:var(--ktv-brand-soft); color:var(--ktv-brand-text); font-weight:800 }
.ktv-cmpcell--win::after{ content:"★"; margin-left:auto; font-size:10px; color:var(--ktv-brand-primary) }

.ktv-cmphead{ background:var(--ktv-navy-soft) }
.ktv-cmphead .ktv-cmpcell{ display:block; padding:16px 16px 18px; border-top:0; border-left:1px solid var(--ktv-navy-line); text-align:left }
.ktv-cmphead .ktv-cmpcell--lbl{ background:var(--ktv-navy-soft); border-right:1px solid var(--ktv-navy-line); z-index:5 }
.ktv-cmp-mini{ width:100%; aspect-ratio:16/9; border-radius:8px; border:3px solid var(--ktv-panel-bezel);
  background-size:cover; background-position:center; margin-bottom:11px; box-shadow:0 10px 22px -12px rgba(var(--ktv-shadow-rgb),.55) }
.ktv-cmp-mini.has-img{ background-size:contain; background-repeat:no-repeat; background-color:#fff; border:1px solid var(--ktv-border-default); box-shadow:0 8px 18px -12px rgba(var(--ktv-shadow-rgb),.4) }
.ktv-cmp-brand{ font-family:var(--ktv-font-mono); font-size:10px; color:var(--ktv-navy); text-transform:uppercase; letter-spacing:.06em }
.ktv-cmp-modelname{ display:block; font-family:var(--ktv-font-display); font-weight:700; font-size:13.5px; line-height:1.22;
  color:var(--ktv-text-primary); text-decoration:none; margin:3px 0 9px; min-height:2.4em }
.ktv-cmp-modelname:hover{ color:var(--ktv-brand-primary-hover) }
.ktv-cmp-hprice{ font-family:var(--ktv-font-mono); font-weight:700; font-size:17px; color:var(--ktv-text-primary) }
.ktv-cmp-hprice.is-sale{ color:var(--ktv-brand-text) }
.ktv-cmp-hrm{ display:inline-block; margin-top:8px; font-family:var(--ktv-font-mono); font-size:10.5px; color:var(--ktv-text-tertiary);
  background:none; border:0; cursor:pointer }
.ktv-cmp-hrm:hover{ color:var(--ktv-error) }
.ktv-vdot{ display:inline-grid; place-items:center; width:15px; height:15px; border-radius:50%; background:var(--ktv-navy); color:#fff; font-size:9px; flex:none }
.ktv-cmpover__empty{ text-align:center; color:var(--ktv-text-secondary); padding:60px 20px }

/* ==== #112 istorija cijena (30.08.2026) — blok ispod cjenovnog boxa na PDP-u.
   Namjerno miran ton: navy, bez crvene i bez uzvicnika. Ovo je dokaz, ne akcija. ==== */
.ktv-cij{ margin:0 0 16px; padding:12px 14px; border:1px solid var(--ktv-navy-line);
  background:var(--ktv-navy-tint); border-radius:var(--ktv-radius-md,11px); color:var(--ktv-navy) }
.ktv-cij__t{ font-size:13.5px; line-height:1.3 }
.ktv-cij__t b{ font-weight:600 }
.ktv-cij__s{ margin:3px 0 0; font-size:13px; line-height:1.5; color:var(--ktv-text-secondary) }
.ktv-cij__s b{ color:var(--ktv-text-primary); font-weight:600 }
.ktv-cij__s .amount{ white-space:nowrap }
.ktv-cij__g{ display:block; width:100%; height:34px; margin:9px 0 2px; color:var(--ktv-navy) }
.ktv-cij__os{ display:flex; justify-content:space-between; font-size:10.5px; color:var(--ktv-text-tertiary) }
/* ==== KTV-SIRINA 14.09.2026: veliki ekrani (token --ktv-maxw je u #11) ==== */
@media (max-width:1839px){
  .ktv-home .ktv-grid > :nth-child(n+7){ display:none }
}
@media (min-width:1840px){
  .ktv-home .ktv-grid{ grid-template-columns:repeat(4,1fr) }
  .ktv-shop .ktv-grid, .ktv-akc .ktv-grid{ grid-template-columns:repeat(4,1fr) }
  .ktv-pdpmain .ktv-grid, .ktv-ec__wrap .ktv-grid{ grid-template-columns:repeat(3,minmax(0,420px)); justify-content:center }
  .ktv-gal3 .ktv-stage__img{ max-height:560px }
  .ktv-hero-pkg .ktv-gal3__main{ min-height:420px }
  .ktv-shophead__fig .ktv-shophead__slika, .ktv-pdp__scena .ktv-pdp__scena-img{ aspect-ratio:21/9 }
}
@media (min-width:1600px) and (max-width:1839px){
  .ktv-shophead__fig .ktv-shophead__slika, .ktv-pdp__scena .ktv-pdp__scena-img{ aspect-ratio:2/1 }
}
/* ==== KTV-AUDIT-KUPAC 14.09.2026 (revizor telefon/tablet) ==== */
/* T53/T54: cipovi specifikacija ne smiju siriti karticu (1fr = min-content) */
.ktv-card__specs2{ grid-template-columns:repeat(2,minmax(0,1fr)) }
.ktv-cspec{ min-width:0 }
.ktv-cspec .k{ font-size:10px; letter-spacing:.04em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
@container (max-width:250px){ .ktv-cspec{ padding:8px 9px; gap:7px } .ktv-cspec svg{ display:none } }
/* T52: 320-380 px zaglavlje - logo i sve tri ikone moraju stati */
@media (max-width:380px){
  .ktv-nav__in{ padding:10px 12px; gap:8px }
  .ktv-brand{ gap:7px }
  .ktv-brand__ico{ width:30px; height:30px }
  .ktv-brand__wm{ font-size:20px }
  .ktv-act{ gap:6px }
  .ktv-ico{ width:38px; height:38px }
}
@media (max-width:340px){ .ktv-brand__wm{ font-size:17px } .ktv-ico{ width:36px; height:36px } }
/* T53: kartice prednosti na naslovnoj 320-420 px */
@media (max-width:420px){ .ktv-usp{ grid-template-columns:1fr } .ktv-usp__i{ padding:16px 18px } }
/* T55: 1001-1180 px meni i polje pretrage ne stanu - pretraga ide na dugme */
@media (min-width:1001px) and (max-width:1180px){
  .ktv-search{ display:none }
  .ktv-search-btn{ display:grid }
  .ktv-nav--search .ktv-links{ display:none }
  .ktv-nav--search .ktv-search{ display:flex }
  .ktv-nav--search .ktv-search-btn .ktv-i-search{ display:none }
  .ktv-nav--search .ktv-search-btn .ktv-i-close{ display:block }
}
/* T10: iOS uvecava stranicu kad je polje manje od 16 px */
@media (max-width:1180px){ .ktv-search input{ font-size:16px } }
/* T29: kolicina na dodir 44 px */
.ktv-qty{ min-height:44px } .ktv-qty__b{ min-width:44px }
/* T13: filteri na telefonu - vece mete */
@media (max-width:900px){
  .ktv-opt{ min-height:36px; padding:8px 12px }
  .ktv-filters__reset, .ktv-chips__reset{ display:inline-block; padding:10px 4px }
  .ktv-filters__close{ width:44px; height:44px }
}
/* T16: sidro rezultata ispod ljepljivog zaglavlja */
#rezultati{ scroll-margin-top:90px }
/* T33: traka poredenja iznad trake za kupovinu (bila je ispod nje) */
body:has(.ktv-sticky.is-on) .ktv-cmpbar{ bottom:68px }
body:has(.ktv-sticky.is-on):has(.ktv-cmpbar:not([hidden])) .ktv-cw{ bottom:160px }
/* T30: naziv u traci za kupovinu na telefonu - dva reda umjesto cetiri slova */
@media (max-width:560px){
  .ktv-sticky__name{ max-width:none; white-space:normal; font-size:12.5px; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical }
}
/* T56: slajdovi naslovne - stara kartica nestane prije nove */
.ktv-gcard{ transition:opacity .18s ease, transform .18s ease }
.ktv-gcard.on{ transition:opacity .45s ease .18s, transform .45s ease .18s }
/* T08: plutajuce dugme ne prekriva zadnji red podnozja */
@media (max-width:760px){ .ktv-foot__bar{ padding-bottom:78px } }
/* T07: pokretna traka staje i kad je fokus na linku */
.ktv-tk:focus-within .ktv-tk__track{ animation-play-state:paused }
/* T21: ziva slika kategorije na telefonu niza */
@media (max-width:600px){ .ktv-shophead__fig .ktv-shophead__slika{ aspect-ratio:2/1 } }
/* T23: pretraga bez rezultata - bez bocnih filtera */
.ktv-shop--prazno{ grid-template-columns:1fr }
/* T22: ispravljen pojam u padajucoj pretrazi */
.ktv-sbox__isp{ padding:8px 12px 2px; font-size:12px; color:var(--ktv-text-secondary) }
/* ---- drugi krug (provjera koda i podataka) ---- */
/* T04: uslov "uz registraciju" mora se vidjeti i na telefonu (bez njega znacka tvrdi bezuslovnih 5 godina) */
@media (max-width:560px){ .ktv-card__care span{ display:inline } }
/* T19: tabela velicina na brend stranici - citljiv link (3,18:1 -> 5,9:1) i veca meta za prst */
.ktv-bv td a{ color:var(--ktv-brand-text); display:inline-block; padding:10px 0 }
/* ---- revizor 2 (laptop/desktop) i ostatak revizora 1 ---- */
/* T39: korpa na telefonu sira od ekrana (tabela 380 px u 330 px) - cijene odsjecene; mjereno 390/360/320 prije upisa */
.wc-block-cart.is-mobile table.wc-block-cart-items, .wc-block-cart.is-small table.wc-block-cart-items{ display:block; width:100%; max-width:100% }
.wc-block-cart.is-mobile table.wc-block-cart-items > tbody, .wc-block-cart.is-small table.wc-block-cart-items > tbody{ display:block; width:100% }
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row, .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__row{ grid-template-columns:64px minmax(0,1fr) auto !important; column-gap:12px; width:100%; box-sizing:border-box }
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-item__image, .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-item__image{ padding-right:0 !important }
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-item__product, .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-item__product{ grid-column:2 / 3 !important; min-width:0 }
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-item__total, .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-item__total{ grid-column:3 / 4 !important; grid-row:1 !important; min-width:0 }
/* D44: nasa poruka kad se korpa isprazni u pregledniku */
.ktv-korpa-prazna{ text-align:center; padding:32px 16px; font-size:16px }
.ktv-korpa-prazna .ktv-btn{ display:inline-flex; margin-top:6px }
/* D01: razmak prije <b> u traci na vrhu ("sirom BiH") - u inline-flex se razmak gubio */
.ktv-tk__i{ column-gap:.3em }
/* D12: strelice padajucih menija se nisu smjele stisnuti na 0-5 px; natpis u pretrazi se zavrsi sa "..." umjesto odsijecanja */
.ktv-caret{ flex:none }
.ktv-search input{ text-overflow:ellipsis }
/* D15: ljepljivi panel filtera na racunaru ima vlastiti skrol (bio visok 2.419 px) */
@media (min-width:901px){ .ktv-filters{ max-height:calc(100vh - 108px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin } }
/* D05: klizac projektora pokazuje cijele kartice (4 na racunaru, 3 na tabletu), bez presjecene zadnje */
@media (min-width:641px) and (max-width:1000px){ .ktv-slider__item{ flex-basis:calc((100% - 36px) / 3) } }
@media (min-width:1001px){ .ktv-slider__item{ flex-basis:calc((100% - 54px) / 4) } }
/* D18: "idealno ... m" i "Dodaj u korpu" se ne lome u dva reda na 1280-1599 px */
.ktv-card__dist{ white-space:nowrap }
@media (min-width:1001px) and (max-width:1599px){ .ktv-card__cta2 .ktv-btn{ white-space:nowrap; font-size:13px; padding-left:10px; padding-right:10px } }
/* D30: opis proizvoda - redovi do ~78 znakova umjesto 240-280 */
.ktv-pdp__specs .ktv-specbox p, .ktv-pdp__specs .ktv-specbox li{ max-width:78ch }
/* D39: korpa i blagajna na 1600+ px ne sire se preko 1360 px (polja forme su bila ~1.100 px siroka) */
@media (min-width:1600px){
  .woocommerce-cart .wc-block-cart, .woocommerce-checkout .wc-block-checkout{ max-width:1360px !important }
  .woocommerce-cart .wp-block-post-title, .woocommerce-checkout .wp-block-post-title{ max-width:1360px }
}
/* D34: poruka kad se pokusa dodati 4. model u poredjenje */
.ktv-cmpbar__msg{ position:absolute; left:50%; bottom:calc(100% + 8px); transform:translateX(-50%); background:var(--ktv-navy-deep,#12203a); color:#fff;
  font-size:13px; line-height:1.3; padding:8px 12px; border-radius:10px; white-space:nowrap; box-shadow:0 10px 24px rgba(18,32,58,.3) }
.ktv-cmpbar__msg[hidden]{ display:none }
/* ==== KTV-AUDIT-DOPUNA 14.09.2026 ==== */
/* T40: kontrole kolicine i uklanjanja u korpi na telefonu - mete 44 px (bile 30x27 i 24x24) */
@media (max-width:760px){
  .wc-block-cart .wc-block-components-quantity-selector{ min-height:44px }
  .wc-block-cart .wc-block-components-quantity-selector__button{ min-width:44px; min-height:44px }
  .wc-block-cart .wc-block-components-quantity-selector__input{ min-height:44px; font-size:16px }
  .wc-block-cart .wc-block-cart-item__remove-link{ min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center }
}
/* T46: znacke "5 god. uz registraciju" citljive (3,3:1 -> 5,4:1) */
.ktv-card .ktv-tclcare__znak, .ktv-card .ktv-hisgar__znak, .ktv-pdp .ktv-tclcare__znak, .ktv-pdp .ktv-hisgar__znak{ color:var(--ktv-brand-text) }

/* ==== KTV-AUDIT-DOPUNA-2 14.09.2026 ==== */
/* T19b: link u tabeli velicina na brend stranici - tamnija zlatna (5,9:1); drugo pravilo s vecom specificnoscu je davalo 3,2:1 */
.ktv-bv td a{ color:var(--ktv-brand-text) !important }

/* ==== KTV-AUDIT-VIZUELNO 14.09.2026 (poslije pregleda) ==== */
/* T02/T48: tekst na narandzastom dugmetu taman - bijelo je bilo 2,76:1, boja linka 2,27:1; brand-ink daje 6,3:1 */
.ktv-card__cta2 .ktv-btn--main, .ktv-pdpmain .ktv-btn--main, .ktv-tool__cta, .ktvsc a.ktvsc__cta, .ktvsc a.ktvsc__cta:hover, .kg-body a.kg-btn, .kg-body a.kg-btn:hover{ color:var(--ktv-brand-ink) }
/* T03: oznaka uz precrtanu cijenu - precrtana je nasa ranija cijena (pravilo 03.09.), ne "PMC" */
.ktv-card__price del::before{ content:"prije" }
/* T40: naslov stranice na korpi i placanju (CSS kalkulatora/info stranice ga je sakrivao na cijelom sajtu) */
.woocommerce-cart .wp-block-post-title, .woocommerce-checkout .wp-block-post-title{ display:block !important; margin-top:clamp(16px,3vw,28px) }
/* T34: potvrda dodavanja u korpu */
.ktv-toast{ position:fixed; left:50%; top:84px; z-index:10050; transform:translate(-50%,-8px); opacity:0; width:max-content; max-width:min(92vw,440px); box-sizing:border-box;
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px 14px; padding:12px 18px; border-radius:14px;
  background:var(--ktv-navy-deep,#12203a); color:#fff; font-size:14px; line-height:1.35; box-shadow:0 14px 34px rgba(18,32,58,.35);
  transition:opacity .2s ease, transform .2s ease; pointer-events:none }
.ktv-toast[hidden]{ display:none }
.ktv-toast.is-on{ opacity:1; transform:translate(-50%,0); pointer-events:auto }
.ktv-toast a{ color:#FFC56B; font-weight:700; text-decoration:underline; text-underline-offset:2px; padding:8px 0 }
@media (max-width:600px){ .ktv-toast{ top:112px; width:calc(100vw - 24px) } }
@media (prefers-reduced-motion:reduce){ .ktv-toast{ transition:none } }
/* T37: broj artikala iznad forme placanja (samo telefon/tablet - na sirem ekranu sazetak je desno) */
.ktv-narudzba-info{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; margin:0 0 14px; padding:10px 16px;
  border:1px solid var(--ktv-navy-line); background:var(--ktv-navy-tint); border-radius:var(--ktv-radius-sm); font-size:14px; color:var(--ktv-text-primary) }
.ktv-narudzba-info[hidden]{ display:none }
.ktv-narudzba-info a{ color:var(--ktv-brand-text); font-weight:700; padding:8px 0 }
@media (min-width:920px){ .ktv-narudzba-info{ display:none !important } }
/* D21 (revizor 2): na racunaru slika zaglavlja kategorije ide DESNO od naslova i uvoda (bila je preko cijele sirine i gurala
   prve televizore ispod prvog ekrana: prvi proizvod na 1.056 px pri 1280x720) */
@media (min-width:1001px){
  .ktv-shophead:has(.ktv-shophead__fig){ display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,42%); column-gap:32px; align-items:center }
  .ktv-shophead:has(.ktv-shophead__fig) > :not(.ktv-shophead__fig){ grid-column:1 }
  .ktv-shophead:has(.ktv-shophead__fig) .ktv-shophead__fig{ grid-column:2; grid-row:1 / span 3; margin:0 }
  .ktv-shophead__fig .ktv-shophead__slika{ aspect-ratio:16/9 }
}

/* HEADER-LAPTOP 21.09.2026: 1181-1599 px (laptop 1920 na 125 % = 1536, zatim 1440, 1366, 1280) - traka je 1200 px, a meni
   od 8 stavki (684 px) + pretraga (min 170) + logo + korpa ne staju. `.ktv-links{min-width:0}` je pustao meni da se "stisne",
   ali stavke se ne mogu stisnuti pa je zadnja ("Vodici") prelazila preko pretrage. Uzi razmak stavki (font ostaje 14.5 px),
   meni se vise ne stiska, pretraga smije do 150 px. Na >= 1600 px i <= 1180 px nista se ne mijenja. */
@media (min-width:1181px) and (max-width:1599px){
  .ktv-links{ gap:0; flex-shrink:0 }
  .ktv-links__a{ padding:9px 5px }
  .ktv-search{ min-width:150px }
}
