/* TP-SKALAMERIJA-WEB-PILOT-C1-001 — vizuelni sloj pilot sajta.
   CSS varijable --blue/--navy/--pale/--line/--ink/--blue-dark dijeli i
   assets/css/widget.css (ponovo iskorišten iz pratilac_vidžit bez izmjena). */
:root {
  --navy: #16202c;
  --blue: #2f5bff;
  --blue-dark: #1f3fcf;
  --pale: #f3f5f9;
  --line: #dde2ea;
  --ink: #1b2430;
  --accent: #e8792c;
  --accent-dark: #c85f18;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

* { box-sizing: border-box; }
/* scroll-padding-top: sticky header (74px) prekriva vrh sekcije, a sekcija
   ima 56px top-paddinga — naslov je ostajao ~18px zavučen POD header pri
   kliku na nav-sidra. 36px = izvuče naslov (18px) + ~18px zazora ispod
   headera, pa sekcija "sjeda" uredno u prozor. */
html { scroll-behavior: smooth; scroll-padding-top: 36px; }
body {
  position: relative;
  margin: 0;
  font-family: var(--font);
  color: var(--ink);
  /* TP-PARTICLE-PORTABLE-EXPORT-C1-002: bila je puna #fff — sad crna (fallback
     dok se iframe animacije učitava), sekcije iznad nose svoju (poluprozirnu)
     pozadinu za čitljivost teksta. */
  background: #000;
  font-size: 17px;
  line-height: 1.6;
}

/* Animirana pozadina cijele stranice — TP-PARTICLE-PORTABLE-EXPORT-C1-002.
   z-index: 0 (NE negativan) + iframe je PRVI element u <body>, pa sav sadržaj
   poslije njega (z-index: 1) automatski stoji iznad. pointer-events: none
   sprječava presretanje klikova/skrola/navigacije/PV vidžeta. */
#animirana-pozadina {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

/* .sk-header NIJE ovdje: već ima position:sticky + z-index:100 (veći od 1),
   dodavanje position:relative ovdje bi ga prepisalo i pokvarilo lijepljenje. */
.sk-welcome-banner,
section,
.sk-footer,
/* TP-AUTO-SHOP-KURTA-NAMJESTANJE-C1-123 popravka: owner_panel.php koristi
   <main class="ap-main"> (ne <section>), pa nikad nije dobijao ovaj z-index
   lift — nepozicioniran sadržaj se u CSS stacking redoslijedu crta ISPOD
   position:fixed animacije (#animirana-pozadina, z-index:0) bez obzira na
   DOM redoslijed, pa je cijeli K panel izgledao kao da ga je animacija
   prekrila/zamijenila. */
.ap-main {
  position: relative;
  z-index: 1;
}

h1, h2, h3 { line-height: 1.25; margin: 0 0 0.6em; }
h1 { font-size: clamp(1.7rem, 4vw, 2.6rem); }
h2 { font-size: clamp(1.4rem, 3vw, 2rem); }
p { margin: 0 0 1em; }
a { color: var(--blue); }

.sk-section-inner { max-width: 1080px; margin: 0 auto; padding: 0 20px; }

/* ── Header / nav ── */
.sk-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--navy);
  color: #fff;
}
.sk-header-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
/* TP-AUTO-SHOP-KURTA-VIZUELNA-INTEGRACIJA-C1-016: stvarni logo u zaglavlju —
   horizontalni (on-dark varijanta) na desktopu, kompaktni šesterokutni znak
   na uskom ekranu. Fiksna visina čuva raspored navigacije. Putanje asseta
   dolaze iz branding.php (jedna konfiguracija). */
.sk-logo { display: flex; align-items: center; flex-shrink: 0; text-decoration: none; }
.sk-logo-full { display: block; }
.sk-logo-full img { display: block; height: 46px; width: auto; }
.sk-logo-mark { display: none; height: 40px; width: auto; }
@media (max-width: 640px) {
  .sk-logo-full { display: none; }
  .sk-logo-mark { display: block; }
}
.sk-nav {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}
.sk-nav a {
  color: #dfe6f2;
  text-decoration: none;
  font-size: 0.98rem;
  font-weight: 600;
}
.sk-nav a:hover { color: #fff; }
.sk-nav-cta { margin-left: 6px; }

/* ── Dugmad prema ulozi (A/K/nalog) — isti obrazac kao Bazeni navbar ──
   TP-AUTO-SHOP-KURTA-SIMULACIJA-KORISNIKA-C1-003 (7.): grupa mora biti u
   JEDNOM redu, tačno 1px razmaka, bez dodirivanja/prelamanja — margin-left
   na pojedinačnim elementima UKLONJEN, razmak ide isključivo preko
   .sk-role-group { gap: 1px }. */
.sk-role-group {
  display: flex;
  align-items: center;
  gap: 1px;
  flex-wrap: nowrap;
  flex-shrink: 0;
}
.sk-nav-role-link {
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  background: rgba(255,255,255,0.14);
  color: #fff !important;
  white-space: nowrap;
}
.sk-nav-role-link:hover { background: rgba(255,255,255,0.26); }
.sk-nav-admin-link { background: var(--accent); }
.sk-nav-admin-link:hover { background: var(--accent-dark); }

.account-login-link {
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,0.4);
  white-space: nowrap;
}
.account-login-link:hover { background: rgba(255,255,255,0.14); }

.account-widget { position: relative; flex-shrink: 0; }
.account-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  background: linear-gradient(135deg, var(--blue), var(--accent));
  color: #fff;
  font-weight: 700;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.account-icon:hover { box-shadow: 0 0 0 3px rgba(255,255,255,0.2); }

.account-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.2);
  padding: 12px;
  min-width: 220px;
  z-index: 150;
}
.account-dropdown .account-email {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--ink);
  padding-bottom: 10px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--line);
  word-break: break-word;
}
.account-dropdown .account-logout {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--accent-dark);
}
.account-dropdown .account-logout:hover { color: var(--accent); }

/* ── Admin "preview" oznaka (5. Administratorski način pregleda) ── */
.sk-preview-banner {
  background: #3a2a10;
  color: #ffd48a;
  border: 1px solid #6b4e1e;
  border-radius: 10px;
  padding: 12px 16px;
  font-weight: 700;
  font-size: 0.92rem;
  margin: 0 0 20px;
}

@media (max-width: 1000px) {
  .sk-role-group { gap: 1px; }
  .sk-logo-line1, .sk-logo-line2 { font-size: 0.92rem; }
}
.sk-nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}
.sk-nav-toggle span { width: 24px; height: 3px; background: #fff; border-radius: 2px; }

@media (max-width: 1000px) {
  .sk-nav-toggle { display: flex; }
  .sk-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--navy);
    flex-direction: column;
    align-items: flex-start;
    padding: 12px 20px 20px;
    gap: 14px;
  }
  .sk-nav.sk-nav-open { display: flex; }
  .sk-header-inner { position: relative; }
}

/* ── Buttons ── */
.sk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 22px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform 0.15s, background 0.15s;
}
.sk-btn:hover { transform: translateY(-2px); }
.sk-btn-accent { background: var(--accent); color: #fff; }
.sk-btn-accent:hover { background: var(--accent-dark); }
.sk-btn-outline { background: transparent; border-color: currentColor; color: var(--navy); }
.sk-btn-outline:hover { background: rgba(0,0,0,0.05); }
.sk-btn-disabled { background: #e3e6ea; color: #8a919c; cursor: not-allowed; }
.sk-btn-disabled:hover { transform: none; }

/* TP-PV-DOBRODOSLICA-NAKON-REGISTRACIJE-C1-023: jednokratna traka odmah
   nakon prve registracije — nestaje samim pop-om sesijske vrijednosti
   (ne treba JS/zatvaranje dugme, ne prikazuje se ponovo pri sljedećoj
   posjeti/osvježavanju). */
.sk-welcome-banner { background: #eaf7ee; border-bottom: 1px solid #bfe6c8; }
.sk-welcome-banner-inner { max-width: 780px; margin: 0 auto; padding: 14px 20px; text-align: center; }
.sk-welcome-banner-title { margin: 0 0 4px; font-weight: 700; color: #1a7a3e; font-size: 1.05rem; }
.sk-welcome-banner-text { margin: 0; color: #2f4a37; font-size: 0.92rem; line-height: 1.5; }

/* ── Hero ── */
/* TP-DENI-ANIMIRANA-POZADINA-C1-002: bila je POTPUNO neprozirna (linear-gradient
   bez alfa kanala) — hero je iznad-scroll-a, znači tačno taj dio potpuno
   prekrivao animaciju iza sebe (korisnik je vidio SAMO statični logo).
   Gradijent je sad tek suptilan brend-ton (0.15) — glavno zatamnjenje radi
   ::before ispod, odvojeno od boje gradijenta da se svaki mijenja nezavisno. */
.sk-hero {
  position: relative;
  background: linear-gradient(160deg, rgba(22, 32, 44, 0.15), rgba(41, 57, 77, 0.15));
  color: #fff;
  padding: 72px 0 64px;
}
.sk-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(13, 18, 25, 0.68);
  pointer-events: none;
  z-index: 0;
}
.sk-hero-inner { max-width: 780px; margin: 0 auto; padding: 0 20px; text-align: center; position: relative; z-index: 1; }
.sk-hero h1 { color: #fff; position: relative; z-index: 1; }
.sk-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 28px; position: relative; z-index: 1; }
.sk-hero .sk-btn-outline { color: #fff; }

/* TP-PRATILAC-OBRADA-SLIKA-I-LOGO-ALAT-C1-019: veliki puni logo (auto +
   pištolj + natpis AUTO SHOP KURTA + donje linije, iz koncept 1) iznad
   naslova — u DOM-u nije klikabilan (aria-hidden, pointer-events:none) i
   ne smije presresti klik, ali VIZUELNO je pravi, odmah prepoznatljiv logo
   (ne suptilan watermark) — naslov i dugmad ostaju čitljivi jer su
   pozicionirani IZNAD (z-index) ovog sloja. Namjerno BEZ mix-blend-mode
   (nepredvidivo po ekranima) — boje (bijelo/narandžasto) su same po sebi
   kalibrisane za kontrast na tamnoj hero pozadini. */
.hero-logo-lineart {
  display: flex;
  justify-content: center;
  pointer-events: none;
  overflow: hidden;
}
.hero-logo-lineart img {
  width: min(720px, 82vw);
  max-height: 210px;
  object-fit: contain;
  /* TP-PRATILAC-OBRADA-SLIKA-I-LOGO-ALAT-C1-019 (2. ispravka): zamijenjen
     jednobojni sivi auto-obris STVARNIM punim logom (bijelo+narandžasto) —
     opacity vraćena na skoro punu vidljivost jer se sada radi o pravom
     logu, ne dekorativnoj siluteti koju treba prigušiti. */
  opacity: 0.95;
}
@media (max-width: 640px) {
  .hero-logo-lineart img {
    width: min(360px, 88vw);
    max-height: 125px;
    opacity: 0.95;
  }
}

/* ── Sections ── */
/* Poluprozirne (ne pune) pozadine — TP-PARTICLE-PORTABLE-EXPORT-C1-002:
   animirana pozadina mora se nazirati iza sadržaja, ali tekst ostaje čitljiv. */
.sk-section { padding: 56px 0; background: rgba(255, 255, 255, 0.85); }
.sk-section-alt { background: rgba(243, 245, 249, 0.85); }
.sk-pilot-note {
  background: #fff4e0;
  color: #8a5a12;
  border: 1px solid #f0d9ad;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 0.92rem;
  max-width: 640px;
}
.sk-note { color: #57606b; font-size: 0.95rem; }

/* ── Usluge ── */
.sk-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin-top: 20px; }
.sk-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sk-card h3 { font-size: 1.05rem; margin: 0; }
.sk-card-intro { margin: 0; font-size: 0.88rem; color: #4a5361; line-height: 1.4; }
.sk-card-list { margin: 0; padding-left: 18px; font-size: 0.88rem; color: #4a5361; }
.sk-card-list li { margin-bottom: 3px; }
.sk-badge {
  display: inline-flex;
  align-self: flex-start;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
}
.sk-badge-pending { background: #fff1dd; color: #8a5a12; }
.sk-badge-confirmed { background: #dff6e6; color: #1a7a3e; }

/* TP-AUTO-SHOP-KURTA-VIZUELNA-INTEGRACIJA-C1-016: poravnanje servisnih
   kartica — sve počinju na ZAJEDNIČKOJ visini (prema najkraćem sadržaju,
   računa sk_cards.js), duže dobijaju strelicu za proširenje/skupljanje.
   Podnožja su poravnata jer je skupljena visina ista za sve. */
.sk-card.sk-card-collapsible { position: relative; overflow: hidden; padding-bottom: 40px; }
.sk-card.sk-card-collapsed .sk-card-body { overflow: hidden; }
.sk-card.sk-card-collapsed::after {
  /* blagi prelaz preko odsječenog teksta — jasno da ima još */
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 38px;
  height: 26px;
  background: linear-gradient(rgba(255,255,255,0), #fff);
  pointer-events: none;
}
.sk-card-toggle {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-top: 1px solid var(--line);
  background: #fff;
  color: #4a5361;
  cursor: pointer;
  border-radius: 0 0 12px 12px;
}
.sk-card-toggle svg { transition: transform 0.2s ease; }
.sk-card.sk-card-expanded .sk-card-toggle svg { transform: rotate(180deg); }

/* ── Koraci ── */
.sk-steps {
  list-style: none;
  margin: 24px 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.sk-steps li { display: flex; align-items: center; gap: 14px; }
.sk-step-num {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── Galerija ── */
.sk-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin-top: 20px; }
.sk-gallery-item { border-radius: 12px; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.sk-gallery-item img { width: 100%; height: 160px; object-fit: cover; display: block; }
.sk-gallery-placeholder {
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: repeating-linear-gradient(45deg, #eef1f5, #eef1f5 10px, #e4e8ee 10px, #e4e8ee 20px);
  color: #6b7480;
  font-size: 0.85rem;
  text-align: center;
  padding: 12px;
}
.sk-gallery-caption { padding: 10px 12px; font-size: 0.9rem; font-weight: 600; }

/* ── Forma ── */
.sk-form { display: flex; flex-direction: column; gap: 16px; margin-top: 20px; max-width: 640px; }
.sk-form-row { display: flex; flex-direction: column; gap: 6px; }
.sk-form-row label { font-weight: 600; font-size: 0.92rem; }
.sk-form-row input,
.sk-form-row select,
.sk-form-row textarea {
  padding: 12px 14px;
  border: 1.5px solid var(--line);
  border-radius: 8px;
  font-size: 1rem;
  font-family: inherit;
  background: #fff;
}
.sk-form-row input:focus,
.sk-form-row select:focus,
.sk-form-row textarea:focus { outline: none; border-color: var(--blue); }
.sk-form-row-split { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px) { .sk-form-row-split { grid-template-columns: 1fr; } }
.sk-fieldset { border: 1.5px dashed var(--line); border-radius: 10px; padding: 14px 16px; margin: 0; }
.sk-fieldset legend { font-weight: 600; font-size: 0.9rem; padding: 0 6px; }
.sk-checkbox-row label { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; font-size: 0.92rem; }
.sk-checkbox-row input { width: 20px; height: 20px; flex-shrink: 0; margin-top: 2px; }
.sk-form-status { min-height: 1.4em; font-weight: 600; }
.sk-form-status-ok { color: #1a7a3e; }
.sk-form-status-err { color: #b3261e; }

/* ── Status radova ── */
.sk-status-track { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.sk-status-track li {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 0.88rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
/* TP-DENI-STATUS-RADOVA-STVARNI-C1-005: faza u kojoj zahtjev JESTE — ista
   zelena kao dugme "Pošalji zahtjev" (#15803D), da je veza očigledna.
   "Odbijeno" NE smije biti zeleno: ishod nije uspjeh. */
.sk-status-track li.is-trenutni {
  background: #15803D;
  border-color: #15803D;
  color: #fff;
}
.sk-status-track li.is-ishod {
  background: #9a2f2a;
  border-color: #9a2f2a;
  color: #fff;
}
/* Blaga boja = vlasnički zbir "ovdje ima vozila". Namjerno slabija od pune
   boje: "gdje je TVOJ zahtjev" i "koliko ih ima" nisu isti podatak. */
.sk-status-track li.is-ima { background: #e8f5ec; border-color: #9ccfae; color: #14532d; }
.sk-status-track li.is-ima-ishod { background: #f7e9e8; border-color: #d9a9a5; color: #7f2620; }
/* Broj vozila u fazi — vidi ga samo vlasnik (odluka je serverska). */
.sk-status-count {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(22, 32, 44, 0.10);
  color: inherit;
  font-size: 0.8rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sk-status-track li.is-trenutni .sk-status-count,
.sk-status-track li.is-ishod .sk-status-count { background: rgba(255, 255, 255, 0.24); }

/* ── O radionici ── */
.sk-about-grid { display: grid; grid-template-columns: 220px 1fr; gap: 28px; margin-top: 20px; align-items: start; }
@media (max-width: 640px) { .sk-about-grid { grid-template-columns: 1fr; } }
.sk-about-photo {
  height: 220px;
  border-radius: 12px;
  background: repeating-linear-gradient(45deg, #eef1f5, #eef1f5 10px, #e4e8ee 10px, #e4e8ee 20px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7480;
  font-size: 0.85rem;
  text-align: center;
  padding: 12px;
}
.sk-about-text p { margin: 0 0 10px; }

/* ── FAQ ── */
.sk-faq { margin-top: 20px; display: flex; flex-direction: column; gap: 10px; max-width: 720px; }
.sk-faq-item {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px 18px;
  background: #fff;
}
.sk-faq-item summary { font-weight: 700; cursor: pointer; }
.sk-faq-item p { margin: 10px 0 0; color: #3a4250; }

/* ── Kontakt ── */
.sk-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 20px; align-items: start; }
@media (max-width: 640px) { .sk-contact-grid { grid-template-columns: 1fr; } }
.sk-contact-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.sk-contact-actions { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }

/* ── Footer ── */
.sk-footer { background: var(--navy); color: #b7c0cd; padding: 22px 0; font-size: 0.85rem; text-align: center; }

/* ── Prilagodba dugmadi za mobilne dodire ── */
@media (max-width: 480px) {
  .sk-btn { width: 100%; }
  .sk-hero-actions { flex-direction: column; }
}

/* ★ POPRAVKA (02.08.2026): OTVORENO stanje kartica usluga — sadržaj se NE
   odsijeca, nema unutrašnjeg skrola, strelica ostaje POSLIJE teksta.
   Uzrok kvara: grid `align-items:stretch` je produžio sve kartice, a
   `maxHeight` se mijenjao samo kliknutoj → tekst ostalih ostajao odsječen. */
.sk-card.sk-card-expanded .sk-card-body { overflow: visible; }
.sk-card.sk-card-expanded::after { content: none; }   /* nema gradijenta preko teksta */
.sk-card.sk-card-collapsible .sk-card-body {
  transition: max-height .25s ease;
  word-break: break-word;            /* normalno prelamanje, bez horizontalnog skrola */
  overflow-wrap: anywhere;
}
/* Prostor za strelicu u OBA stanja — tekst nikad ne ide ispod dugmeta. */
.sk-card.sk-card-collapsible { padding-bottom: 44px; }
/* Sadržaj koristi punu širinu kartice. */
.sk-card .sk-card-body { width: 100%; }
/* Raspored: široko 3 kolone, srednje 2, telefon 1 — sadržaj diktira, ne obrnuto. */
@media (max-width: 900px) { .sk-cards { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); } }
@media (max-width: 620px) { .sk-cards { grid-template-columns: 1fr; } }

/* ★ DENI-SHELL: administratorski izbori (A,K) i korisnička oznaka su RAZLIČITE
   stvari — vizuelno odvojene; korisnički blok ide uz desnu ivicu. */
.sk-user-group { display: flex; align-items: center; gap: 8px; margin-left: auto; padding-left: 14px; }
.sk-role-group { display: flex; align-items: center; gap: 6px; margin-left: 10px;
  padding-right: 12px; border-right: 1px solid rgba(255,255,255,0.22); }
.sk-welcome { color: #fff; font-size: 0.86rem; opacity: .92; white-space: nowrap;
  max-width: 190px; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 860px) {
  .sk-welcome { max-width: 120px; }
  .sk-role-group { border-right: none; padding-right: 0; }
  .sk-user-group { margin-left: 0; padding-left: 0; }
}

/* ★ DENI-GALERIJA */
.sk-gal-filter { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 18px; }
.sk-gal-fbtn { border:1px solid var(--line); background:#fff; border-radius:999px; padding:6px 14px; cursor:pointer; font-size:.9rem; }
.sk-gal-fbtn.is-active { background:var(--navy,#123); color:#fff; border-color:transparent; }
.sk-gal-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; }
.sk-gal-item { margin:0; background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; cursor:pointer; }
.sk-gal-item img { width:100%; height:auto; display:block; object-fit:cover; }
.sk-gal-item figcaption { padding:8px 10px; font-size:.88rem; }
.sk-gal-greska::before { content:'Fotografija trenutno nije dostupna'; display:block; padding:28px 10px; text-align:center; color:#6b7280; font-size:.9rem; }
.sk-gal-prazno { background:#fff; border:1px dashed var(--line); border-radius:10px; padding:22px; margin-bottom:16px; }
.sk-gal-kategorije { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:10px; }
.sk-gal-kategorije li { background:#fff; border:1px solid var(--line); border-radius:10px; padding:12px 14px; font-size:.92rem; }
.sk-lightbox { position:fixed; inset:0; background:rgba(0,0,0,.86); display:flex; align-items:center; justify-content:center; z-index:9000; }
.sk-lightbox img { max-width:92vw; max-height:82vh; object-fit:contain; }
.sk-lb-close,.sk-lb-prev,.sk-lb-next { position:absolute; background:rgba(255,255,255,.15); color:#fff; border:none; font-size:2rem; width:48px; height:48px; border-radius:50%; cursor:pointer; }
.sk-lb-close { top:16px; right:16px; } .sk-lb-prev { left:16px; } .sk-lb-next { right:16px; }
.sk-lb-caption { position:absolute; bottom:20px; left:0; right:0; text-align:center; color:#fff; font-size:.95rem; }
@media (max-width:620px){ .sk-gal-grid,.sk-gal-kategorije{grid-template-columns:1fr;} }

/* ── Česta pitanja (zasebna stranica) ───────────────────────────────────── */
.sk-cp-lista { display:flex; flex-direction:column; gap:10px; margin:18px 0 24px; }
.sk-cp-stavka { border:1px solid rgba(255,255,255,.14); border-radius:10px; overflow:hidden; }
.sk-cp-stavka[hidden] { display:none; }
.sk-cp-h { margin:0; font-size:1rem; }
.sk-cp-btn { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px;
             background:transparent; border:none; color:inherit; font:inherit; font-weight:600;
             text-align:left; padding:14px 16px; cursor:pointer; }
.sk-cp-btn:hover { background:rgba(255,255,255,.06); }
.sk-cp-btn:focus-visible { outline:2px solid #7bb3ff; outline-offset:-2px; }
.sk-cp-znak { flex:0 0 auto; font-size:1.3rem; line-height:1; opacity:.7; }
/* ★ Bez max-height — odgovor se prikazuje CIJEL, ne odsijeca se. */
.sk-cp-odgovor { padding:0 16px 14px; }
.sk-cp-odgovor[hidden] { display:none; }
.sk-cp-link { margin:8px 0 0; font-size:.85rem; opacity:.7; }
.sk-cp-stavka.is-otvoreno { border-color:rgba(255,255,255,.28); }

/* Tekuća stavka menija — vidljiva i bojom i podvlakom (ne samo bojom). */
.sk-nav a.is-active { color:#fff; font-weight:600; box-shadow:inset 0 -2px 0 currentColor; }

/* ── Kontakt: kartice + mapa (raspored po dokazanom IRO obrascu) ───────── */
.sk-kontakt-kartice { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
                      gap:16px; margin:18px 0 0; }
.sk-kontakt-kartice > div { border:1px solid rgba(255,255,255,.16); border-radius:12px; padding:12px 14px; }
.sk-kontakt-kartice dt { font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; opacity:.7; }
.sk-kontakt-kartice dd { margin:4px 0 0; font-size:1.05rem; font-weight:600; }
.sk-kontakt-kartice a { color:inherit; }
.sk-mapa { margin-top:18px; border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.16); }
.sk-mapa iframe { display:block; width:100%; height:360px; border:0; }
.sk-mapa-veze { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.sk-mapa-ceka { margin-top:18px; padding:16px; border:1px dashed rgba(255,255,255,.28); border-radius:12px; }
.sk-mapa-ceka p { margin:0 0 6px; }
@media (max-width:620px){ .sk-mapa iframe { height:260px; } }
.sk-mapa-napomena { margin-top:8px; font-size:.88rem; opacity:.72; }

/* ── C1-166 zaglavlje: JEDAN red, jedno vertikalno središte ───────────────
   Ranije je `.sk-nav` imao `flex-wrap: wrap`, pa je zaglavlje na užem
   desktopu prelazilo u dva reda; A i K su bili pilule, a korisnička ikona
   krug od 34px — različite visine. Sada su sva tri istog okvira.
   Poravnanje ide isključivo kroz flex; bez `top`, negativnih margina i
   apsolutnih koordinata. */
.sk-header-inner { flex-wrap: nowrap; }
.sk-nav { flex-wrap: nowrap; }
.sk-role-group { gap: 8px; }
.sk-nav-role-link {
  width: 34px; height: 34px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; line-height: 1; flex: 0 0 auto;
}
/* Ako K koristi Kurta logomark, okvir ostaje isti 34px krug. */
.sk-nav-role-link img { width: 22px; height: 22px; object-fit: contain; display: block; }
.account-icon { flex: 0 0 auto; overflow: hidden; padding: 0; }
/* ★ Znak se NE odsijeca i NE deformiše; bez bijelog kvadrata oko ikone. */
.account-icon-img { width: 100%; height: 100%; object-fit: contain; display: block;
                    background: transparent; border-radius: 50%; }
.sk-user-group { flex: 0 0 auto; }
/* Tekst dobrodošlice više ne postoji — pravilo ostaje da stari keširani
   dokument ne ostavi prazan red koji zauzima visinu. */
.sk-welcome { display: none !important; }
@media (max-width: 900px) {
  /* Na užem ekranu meni ide u mobilni panel; logo lijevo, ikona desno. */
  .sk-nav { flex-wrap: wrap; }
}

/* ★★★ C1-166 ISPRAVKA: autorsko `display:` nadjačava atribut `[hidden]`.
   Zbog `.sk-nav-role-link { display:inline-flex }` iznad, A i K su se
   prikazivali SVAKOM posjetiocu, i neprijavljenom. Server i dalje čuva
   pristup panelima, ali dugmad ne smiju ni biti vidljiva. */
.sk-nav-role-link[hidden],
.account-widget[hidden],
.account-login-link[hidden] { display: none !important; }
