/* =========================================================================
   Arcadian CMS - javna tema "Memorandum"
   Jedan izvor istine. Ne dopisivati na kraj; uređivati unutar sekcija.
   ========================================================================= */

/* --- 1. Pisma --------------------------------------------------------- */

@font-face {
    font-family: 'Source Serif 4';
    src: url('/assets/fonts/SourceSerif4-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'Source Serif 4';
    src: url('/assets/fonts/SourceSerif4-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

/* --- 2. Tokeni -------------------------------------------------------- */

:root {
    --ink: #1e2831;
    --muted: #55606a;
    --sea: #3b559a;
    --sea-deep: #162c67;
    --teal: #0e7285;
    --sand: #efe7d6;
    --sand-line: #ddd0b6;
    --soft: #f7f4ec;
    --line: #d9dde1;
    --open: #14682c;
    --closed: #5b6570;
    --danger: #a52a2a;
    --warn-bg: #fdf3d7;
    --warn-line: #b8860b;

    --serif: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --sans: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --mono: ui-monospace, 'SF Mono', 'Cascadia Mono', Consolas, monospace;

    --sirina: 82rem;
    --mjera: 46rem;
}

/* --- 3. Osnove -------------------------------------------------------- */

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--sans);
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--ink);
    background: #fff;
}

.container { max-width: var(--sirina); margin: 0 auto; padding: 0 2rem; }
main.container { padding-top: 3rem; padding-bottom: 3rem; min-height: 55vh; }
main > h1:first-child, main > article > h1:first-child { margin-top: 0; }

a { color: var(--sea); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--teal); }
a:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; border-radius: 2px; }

h1 { font-family: var(--serif); font-weight: 700; font-size: clamp(2rem, 3.4vw, 2.9rem); line-height: 1.15; letter-spacing: -.015em; margin: 0 0 1.1rem; color: var(--sea-deep); }
h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(1.45rem, 1.9vw, 1.75rem); margin: 3rem 0 1.2rem; color: var(--sea-deep); }
h3 { font-family: var(--serif); font-weight: 600; font-size: 1.12rem; margin: 1.6rem 0 .6rem; color: var(--sea-deep); }

.lead { font-size: 1.2rem; line-height: 1.6; max-width: var(--mjera); }
.meta { color: var(--muted); font-size: .9rem; }
.prazno { color: var(--muted); }
.body { max-width: var(--mjera); }
.body img { max-width: 100%; height: auto; }

.skip-link { position: absolute; left: -9999px; background: var(--sea); color: #fff; padding: .6rem 1.2rem; z-index: 20; }
.skip-link:focus { left: 1rem; top: 1rem; }
.vizualno-skriveno { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (max-width: 40rem) {
    .container { padding: 0 1.1rem; }
    main.container { padding-top: 2rem; padding-bottom: 2.5rem; }
}

/* --- 4. Zaglavlje ----------------------------------------------------- */

.site-header { background: #fff; padding: 1.5rem 0 1.3rem; }
.site-header .container { display: flex; align-items: center; gap: 1rem 1.5rem; flex-wrap: wrap; }
.grb-img { height: 68px; width: auto; flex: none; }
.site-id { margin-right: auto; }
.site-name { margin: 0; font-family: var(--serif); font-weight: 700; font-size: 1.85rem; line-height: 1.1; letter-spacing: -.01em; }
.site-name a { color: var(--sea-deep); text-decoration: none; }
.site-tag { margin: 0; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }

.pretraga-mala { display: flex; align-items: stretch; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; background: #fff; }
.pretraga-mala input { border: 0; padding: .45rem .9rem; font: inherit; font-size: .95rem; width: 11rem; background: transparent; }
.pretraga-mala input:focus-visible { outline: 3px solid var(--teal); outline-offset: -3px; }
.pretraga-mala:focus-within { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(14, 114, 133, .18); }
.pretraga-mala button { border: 0; background: var(--sea); color: #fff; padding: 0 .85rem; cursor: pointer; display: grid; place-items: center; }
.pretraga-mala button:hover { background: var(--teal); }

.letterhead-rule { border: 0; height: 0; margin: 0; border-top: 3px solid var(--sea); box-shadow: 0 3px 0 -1px var(--teal); }

/* --- 5. Glavni izbornik ----------------------------------------------- */

.site-nav { background: var(--soft); border-top: 1px solid var(--line); position: sticky; top: 0; z-index: 10; }
.nav-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.nav-list > li { position: relative; }
.nav-list > li > a { display: flex; align-items: center; gap: .4rem; text-decoration: none; font-weight: 600; font-size: 1rem; color: var(--sea-deep); padding: .95rem 1.15rem; border-bottom: 3px solid transparent; white-space: nowrap; }
.nav-list > li > a:hover, .nav-list > li > a:focus-visible { background: #fff; border-bottom-color: var(--teal); }
.caret { width: 0; height: 0; border: 4px solid transparent; border-top-color: currentColor; margin-top: 3px; }

.sub-list { list-style: none; margin: 0; padding: .4rem 0; position: absolute; top: 100%; left: 0; min-width: 15rem; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--teal); border-radius: 0 0 6px 6px; box-shadow: 0 8px 22px rgba(14, 40, 60, .13); z-index: 5; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .12s, transform .12s, visibility .12s; }
.nav-list > li:hover > .sub-list, .nav-list > li:focus-within > .sub-list { opacity: 1; visibility: visible; transform: none; }
.sub-list a { display: block; padding: .5rem 1rem; text-decoration: none; color: var(--ink); font-size: .95rem; }
.sub-list a:hover, .sub-list a:focus-visible { background: var(--soft); color: var(--sea-deep); }

.izbornik-gumb { display: none; align-items: center; gap: .55rem; font: inherit; font-weight: 600; color: var(--sea-deep); background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: .6rem .95rem; min-height: 44px; cursor: pointer; }
.izbornik-gumb:hover { border-color: var(--sea); }
.izbornik-gumb:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }
.crtice { position: relative; display: block; width: 20px; height: 2px; background: currentColor; }
.crtice::before, .crtice::after { content: ""; position: absolute; left: 0; width: 20px; height: 2px; background: currentColor; transition: transform .16s ease, top .16s ease; }
.crtice::before { top: -6px; }
.crtice::after { top: 6px; }
.izbornik-gumb[aria-expanded="true"] .crtice { background: transparent; }
.izbornik-gumb[aria-expanded="true"] .crtice::before { top: 0; transform: rotate(45deg); }
.izbornik-gumb[aria-expanded="true"] .crtice::after { top: 0; transform: rotate(-45deg); }
.pod-gumb { display: none; }
body.nav-zakljucan { overflow: hidden; }

@media (max-width: 60rem) {
    .izbornik-gumb { display: inline-flex; }
    .pretraga-mala { order: 3; width: 100%; }
    .pretraga-mala input { width: 100%; }

    .js-nav .site-nav { display: none; }
    .js-nav .site-nav.nav-otvoren { display: block; }

    .site-nav { position: static; border-bottom: 1px solid var(--line); }
    .nav-list { flex-direction: column; padding: .5rem 0; }
    .nav-list > li { position: relative; border-bottom: 1px solid var(--line); }
    .nav-list > li:last-child { border-bottom: 0; }
    .nav-list > li > a { padding: .95rem 3.5rem .95rem .25rem; min-height: 44px; border-bottom: 0; }
    .nav-list > li > a:hover, .nav-list > li > a:focus-visible { background: transparent; text-decoration: underline; }
    .nav-list > li > a .caret { display: none; }

    .pod-gumb { display: grid; place-items: center; position: absolute; top: 0; right: 0; width: 3.2rem; height: 100%; min-height: 44px; background: transparent; border: 0; border-left: 1px solid var(--line); color: var(--sea-deep); cursor: pointer; }
    .pod-gumb:focus-visible { outline: 3px solid var(--teal); outline-offset: -3px; }
    .pod-gumb .caret { border-width: 5px; transition: transform .16s ease; }
    .pod-gumb[aria-expanded="true"] .caret { transform: rotate(180deg) translateY(3px); }

    .sub-list { position: static; opacity: 1; visibility: hidden; transform: none; border: 0; box-shadow: none; background: transparent; padding: 0; min-width: 0; display: none; }
    .has-children.pod-otvoren > .sub-list { display: block; visibility: visible; padding: 0 0 .6rem 1rem; }
    .sub-list a { padding: .7rem .25rem; min-height: 44px; display: flex; align-items: center; }
}

/* --- 6. Hero i pretraga ----------------------------------------------- */

.hero-foto { position: relative; overflow: hidden; display: flex; align-items: center; margin: -3rem calc(50% - 50vw) 3.5rem; width: 100vw; min-height: min(58vh, 30rem); }
.hero-foto picture, .hero-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, rgba(9, 44, 70, .92) 0%, rgba(9, 44, 70, .78) 42%, rgba(9, 44, 70, .12) 78%); }
.hero-sadrzaj { position: relative; z-index: 1; width: 100%; max-width: var(--sirina); margin: 0 auto; padding: 3rem 2rem; color: #fff; }
.hero-sadrzaj > * { max-width: 40rem; }
.hero-sadrzaj h1 { color: #fff; font-size: clamp(2.3rem, 4.4vw, 3.9rem); line-height: 1.05; margin: 0 0 .6rem; text-shadow: 0 2px 20px rgba(0,0,0,.32); }
.hero-sadrzaj p { margin: 0 0 1.6rem; color: #e2eaf1; font-size: clamp(1.02rem, 1.2vw, 1.2rem); }
.hero-sadrzaj .pretraga-red input { border-color: #fff; }

.pretraga-velika label:not(.vizualno-skriveno) { display: block; font-weight: 600; margin-bottom: .5rem; }
.pretraga-red { display: flex; gap: .6rem; max-width: 40rem; }
.pretraga-red input { flex: 1; min-width: 0; font: inherit; font-size: 1.05rem; padding: .9rem 1.1rem; border: 2px solid var(--sea); border-radius: 6px; background: #fff; }
.pretraga-red input:focus-visible { outline: 3px solid var(--teal); outline-offset: 1px; }
.pretraga-red button { font: inherit; font-size: 1.05rem; font-weight: 600; padding: .9rem 1.8rem; border: 0; border-radius: 6px; background: var(--sea); color: #fff; cursor: pointer; }
.pretraga-red button:hover { background: var(--teal); }

@media (max-width: 46rem) {
    .hero-foto { min-height: 20rem; margin-top: -2rem; margin-bottom: 2.5rem; }
    .hero-foto::after { background: linear-gradient(0deg, rgba(9, 44, 70, .95) 34%, rgba(9, 44, 70, .5) 100%); }
    .hero-sadrzaj { padding: 2rem 1.1rem; }
}

/* --- 7. Naslovnica ---------------------------------------------------- */

.plocice { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1rem; }
@media (min-width: 68rem) { .plocice { grid-template-columns: repeat(4, 1fr); } }
.plocice a { position: relative; display: block; height: 100%; text-decoration: none; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--teal); border-radius: 6px; padding: 1.2rem 2.2rem 1.35rem 1.2rem; transition: border-color .12s, transform .12s, box-shadow .12s; }
.plocice a:hover, .plocice a:focus-visible { border-color: var(--sea); border-top-color: var(--sea); transform: translateY(-3px); box-shadow: 0 10px 24px rgba(14, 40, 60, .1); }
.plocice strong { display: block; font-family: var(--serif); font-weight: 600; font-size: 1.18rem; color: var(--sea-deep); }
.plocice span { color: var(--muted); font-size: .94rem; }
.plocice a::after { content: ""; position: absolute; top: 1.5rem; right: 1.1rem; width: .5rem; height: .5rem; border-right: 2px solid var(--line); border-top: 2px solid var(--line); transform: rotate(45deg); transition: transform .12s, border-color .12s; }
.plocice a:hover::after, .plocice a:focus-visible::after { border-color: var(--teal); transform: rotate(45deg) translate(2px, -2px); }

.home-grid { display: grid; grid-template-columns: 2.2fr 1fr; gap: 3.5rem; align-items: start; margin-top: 4rem; }
@media (max-width: 58rem) { .home-grid { grid-template-columns: 1fr; gap: 1rem; } }
.home-grid > aside > section:first-child > h2 { margin-top: 0; }

.sekcija-zaglavlje { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.sekcija-zaglavlje h2 { margin-top: 0; margin-bottom: .8rem; }
.sve-poveznica { font-weight: 600; font-size: .95rem; white-space: nowrap; }

.istaknuta-obavijest { display: grid; gap: .45rem; text-decoration: none; color: inherit; background: var(--sand); border: 1px solid var(--sand-line); border-left: 5px solid var(--sea); border-radius: 8px; padding: 1.4rem 1.6rem 1.3rem; margin-bottom: 1.2rem; transition: border-color .12s, transform .12s, box-shadow .12s; }
.istaknuta-obavijest:hover, .istaknuta-obavijest:focus-visible { border-color: var(--sea); border-left-color: var(--teal); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(14, 40, 60, .1); }
.istaknuta-obavijest .nadnaslov { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--teal); }
.istaknuta-obavijest strong { font-family: var(--serif); font-weight: 700; font-size: 1.4rem; line-height: 1.25; color: var(--sea-deep); }
.istaknuta-obavijest .sazetak { color: var(--muted); line-height: 1.55; }
.istaknuta-obavijest .vise { display: inline-flex; align-items: center; gap: .5rem; margin-top: .3rem; font-weight: 600; color: var(--sea); }
.istaknuta-obavijest:hover .vise .strelica { transform: rotate(45deg) translate(2px, -2px); border-color: var(--teal); }

.glasnik-istaknuto { background: var(--sea-deep); color: #dbe4ec; border-radius: 6px; padding: 1.2rem 1.3rem; margin-top: 2rem; }
.glasnik-istaknuto h2 { color: #fff; margin: 0 0 .5rem; border: 0; font-size: 1.15rem; }
.glasnik-istaknuto .glasnik-broj { font-family: var(--serif); font-weight: 700; font-size: 1.7rem; color: #fff; margin: 0; }
.glasnik-istaknuto .meta { color: #a9bac8; }
.glasnik-istaknuto a { color: #fff; }
.glasnik-istaknuto p:last-child { margin-bottom: 0; }

.korisno-blok { margin-top: 3.5rem; }
.korisno { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1rem; }
@media (min-width: 68rem) { .korisno { grid-template-columns: repeat(4, 1fr); } }
.korisno a { position: relative; display: block; height: 100%; text-decoration: none; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--teal); border-radius: 6px; padding: 1.2rem 2.2rem 1.35rem 1.2rem; transition: border-color .12s, transform .12s, box-shadow .12s; }
.korisno a:hover, .korisno a:focus-visible { border-color: var(--sea); border-top-color: var(--sea); transform: translateY(-3px); box-shadow: 0 10px 24px rgba(14, 40, 60, .1); }
.korisno strong { display: block; font-family: var(--serif); font-weight: 600; font-size: 1.18rem; color: var(--sea-deep); }
.korisno .pod { display: block; color: var(--muted); font-size: .94rem; }
.korisno a::after { content: ""; position: absolute; top: 1.5rem; right: 1.1rem; width: .5rem; height: .5rem; border-right: 2px solid var(--line); border-top: 2px solid var(--line); transform: rotate(45deg); transition: transform .12s, border-color .12s; }
.korisno a:hover::after, .korisno a:focus-visible::after { border-color: var(--teal); transform: rotate(45deg) translate(2px, -2px); }

.promo { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2rem; background: var(--soft); border: 1px solid var(--line); border-left: 5px solid var(--teal); border-radius: 8px; padding: 1.7rem 2rem; margin-top: 3.5rem; }
.promo-logo img { display: block; width: 11rem; height: auto; }
.promo-tekst { min-width: 0; }
.promo-tekst .nadnaslov { margin: 0 0 .15rem; }
.promo-tekst h2 { margin: 0 0 .5rem; border: 0; font-size: 1.4rem; }
.promo-tekst p { margin: 0 0 .9rem; color: var(--muted); max-width: var(--mjera); }
.promo-tekst p:last-child { margin-bottom: 0; }
@media (max-width: 44rem) { .promo { grid-template-columns: 1fr; gap: 1.2rem; padding: 1.4rem 1.3rem; } .promo-logo img { width: 9rem; } }

.nadnaslov { margin: 0; font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--teal); }

.nacelnik-blok { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2rem; background: var(--soft); border: 1px solid var(--line); border-radius: 8px; padding: 2.4rem 2.6rem 0; margin-top: 4rem; overflow: hidden; }
.nacelnik-tekst { padding-bottom: 1.8rem; max-width: 34rem; }
.nacelnik-blok h2 { margin: .2rem 0 .6rem; border: 0; }
.nacelnik-slika img { display: block; max-height: 19rem; width: auto; }
@media (max-width: 42rem) { .nacelnik-blok { grid-template-columns: 1fr; padding-bottom: 0; } .nacelnik-slika { justify-self: center; } .nacelnik-slika img { max-height: 12rem; } }

.mjesto-blok { margin-top: 4rem; margin-bottom: 0; }
.foto-kartice { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 1.5rem; }
.foto-kartice > li { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.foto-kartice img { display: block; width: 100%; height: 13rem; object-fit: cover; }
.foto-kartice div { padding: 1rem 1.15rem 1.2rem; display: flex; flex-direction: column; gap: .2rem; flex: 1; }
.foto-kartice strong { font-family: var(--serif); font-weight: 600; font-size: 1.12rem; color: var(--sea-deep); }
.foto-kartice span { color: var(--muted); font-size: .93rem; margin-bottom: .5rem; }
.foto-kartice a { font-weight: 600; margin-top: auto; }

.gumb { display: inline-block; background: var(--sea); color: #fff; text-decoration: none; font-weight: 600; padding: .6rem 1.2rem; border-radius: 6px; }
.gumb:hover, .gumb:focus-visible { background: var(--teal); color: #fff; }
.gumb-tanki { padding: .45rem 1rem; font-size: .92rem; margin-top: .7rem; }

/* --- 8. Stavke popisa (obavijesti, natječaji, dokumenti) --------------- */

.godina { font-size: 1.15rem; letter-spacing: .02em; margin: 2.6rem 0 .8rem; padding-bottom: .3rem; border-bottom: 2px solid var(--sand-line); }
h1 + .godina, h2 + .godina { margin-top: 1.6rem; }

.stavke { list-style: none; margin: 0 0 2rem; padding: 0; }
.stavke > li { border-bottom: 1px solid var(--line); }
.stavke > li:last-child { border-bottom: 0; }
.stavke > li > a { display: grid; grid-template-columns: 3.6rem 1fr auto auto; align-items: center; gap: 1.4rem; padding: 1.05rem .85rem; text-decoration: none; color: inherit; border-radius: 8px; transition: background .12s, transform .12s; }
.stavke > li > a:hover, .stavke > li > a:focus-visible { background: var(--soft); transform: translateX(2px); }
.stavke > li > a:focus-visible { outline: 3px solid var(--teal); outline-offset: -3px; }

.datum-blok { text-align: center; border-right: 1px solid var(--line); padding-right: 1.2rem; }
.datum-blok .dan { display: block; font-family: var(--serif); font-weight: 700; font-size: 1.45rem; line-height: 1; color: var(--sea-deep); }
.datum-blok .mjesec { display: block; margin-top: .12rem; font-size: .64rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: var(--muted); }

.vrsta { display: grid; place-items: center; width: 3.1rem; height: 2.4rem; border-radius: 5px; font-size: .68rem; font-weight: 700; letter-spacing: .05em; color: #fff; background: var(--closed); }
.vrsta-pdf { background: var(--danger); }
.vrsta-doc { background: #1d5fa8; }
.vrsta-xls { background: var(--open); }
.vrsta-skup { background: var(--sea-deep); font-family: var(--serif); font-size: 1.05rem; }
.vrsta-mala { width: 2.4rem; height: 1.5rem; font-size: .58rem; border-radius: 4px; }

.stavke .sadrzaj { min-width: 0; display: flex; flex-direction: column; gap: .22rem; }
.stavke .naslov { font-weight: 600; font-size: 1.06rem; line-height: 1.4; color: var(--sea-deep); }
.stavke > li > a:hover .naslov { text-decoration: underline; text-underline-offset: 2px; }
.stavke .sazetak { color: var(--muted); font-size: .89rem; line-height: 1.5; }
.stavke .oznaka { justify-self: end; }

.strelica { width: .55rem; height: .55rem; border-right: 2px solid var(--muted); border-top: 2px solid var(--muted); transform: rotate(45deg); transition: transform .12s, border-color .12s; justify-self: end; }
.stavke > li > a:hover .strelica { border-color: var(--teal); transform: rotate(45deg) translate(2px, -2px); }
.strelica.preuzmi { transform: rotate(135deg); }
.stavke > li > a:hover .strelica.preuzmi { transform: rotate(135deg) translate(2px, -2px); }

.stavke .skupina { padding: 1.05rem .85rem; }
.skupina-zaglavlje { display: grid; grid-template-columns: 3.6rem 1fr; gap: 1.4rem; align-items: center; }
.skupina .prilozi { list-style: none; margin: .7rem 0 0 5rem; padding: 0; border-left: 2px solid var(--line); }
.skupina .prilozi > li { border: 0; }
.skupina .prilozi a { display: flex; align-items: center; gap: .75rem; padding: .45rem .75rem; border-radius: 6px; text-decoration: none; }
.skupina .prilozi a:hover { background: var(--soft); }
.skupina .prilozi .ime { flex: 1; min-width: 0; font-weight: 500; color: var(--sea); }
.skupina .prilozi a:hover .ime { text-decoration: underline; }
.skupina .prilozi .meta { color: var(--muted); font-size: .82rem; white-space: nowrap; }

.stavke-naslovnica > li > a { grid-template-columns: 3.4rem 1fr auto; padding: .8rem .6rem; gap: 1.1rem; }
.stavke-naslovnica .datum-blok .dan { font-size: 1.3rem; }
.stavke-dokumenti > li { align-items: flex-start; }

@media (max-width: 46rem) {
    .stavke > li > a { grid-template-columns: 3rem 1fr; gap: .9rem; padding: .95rem .5rem; }
    .stavke .oznaka { grid-column: 2; justify-self: start; }
    .strelica { display: none; }
    .datum-blok { padding-right: .7rem; }
    .skupina .prilozi { margin-left: 1rem; }
    .skupina-zaglavlje { grid-template-columns: 3rem 1fr; gap: .9rem; }
}

/* --- 9. Kartice i oznake ---------------------------------------------- */

.card-list { list-style: none; margin: 0; padding: 0; }
.card-list > li { border: 1px solid var(--line); border-radius: 6px; padding: 1rem 1.15rem; margin-bottom: .8rem; background: #fff; }
.card-list > li > a { font-weight: 600; font-size: 1.06rem; display: inline-block; }
.card-list .meta { display: block; margin-top: .3rem; }
.card-list p { margin: .55rem 0 0; }

.doc-list { list-style: none; margin: 0; padding: 0; }
.doc-list > li { display: flex; flex-wrap: wrap; gap: .2rem 1rem; align-items: baseline; padding: .7rem .2rem; border-bottom: 1px solid var(--line); }
.doc-list > li:first-child { border-top: 1px solid var(--line); }
.doc-list a { font-weight: 600; }

.badge { display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .02em; padding: .12rem .6rem; border-radius: 999px; color: #fff; margin-right: .35rem; }
.badge-open { background: var(--open); }
.badge-closed { background: var(--closed); }
.badge-rijesen { background: var(--sea); }
.badge-ponisten { background: var(--danger); }

.chip { display: inline-block; font-size: .68rem; font-weight: 700; letter-spacing: .06em; background: var(--sea-deep); color: #fff; padding: .1rem .4rem; border-radius: 3px; margin-right: .45rem; vertical-align: 1px; }

.service-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 0 0 2.5rem; padding: 0; list-style: none; }
@media (max-width: 62rem) { .service-strip { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 40rem) { .service-strip { grid-template-columns: 1fr; } }
.service-strip a { display: flex; flex-direction: column; justify-content: space-between; min-height: 6.5rem; text-decoration: none; border: 1px solid var(--line); border-top: 4px solid var(--teal); border-radius: 6px; padding: 1.1rem 1.2rem; height: 100%; }
.service-strip a:hover, .service-strip a:focus { border-color: var(--sea); border-top-color: var(--sea); }
.service-strip strong { display: block; font-family: var(--serif); font-weight: 600; font-size: 1.15rem; color: var(--sea-deep); margin-bottom: .25rem; }
.service-strip span { color: var(--muted); font-size: .93rem; }

/* --- 10. Natječaji i savjetovanja ------------------------------------- */

.protokol { font-family: var(--mono); font-size: .92rem; background: var(--soft); border-left: 4px solid var(--teal); border-radius: 0 6px 6px 0; padding: .8rem 1.1rem; margin: 1.25rem 0; display: grid; gap: .25rem; }
.protokol span { color: var(--muted); }

.rok-plate { display: inline-block; border: 2px solid var(--sea); border-radius: 6px; padding: .55rem 1.1rem .65rem; margin: .25rem 0 1rem; background: #fff; }
.rok-plate .rok-label { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.rok-plate .rok-datum { font-family: var(--serif); font-weight: 700; font-size: 1.3rem; color: var(--sea-deep); }
.rok-plate.rok-istekao { border-color: var(--closed); }
.rok-plate.rok-istekao .rok-datum { color: var(--closed); text-decoration: line-through; text-decoration-thickness: 2px; }

.corrections { background: var(--warn-bg); border-left: 4px solid var(--warn-line); border-radius: 0 6px 6px 0; padding: .85rem 1.15rem; margin: 1.5rem 0; }
.corrections h2 { margin: 0 0 .4rem; font-size: 1.05rem; }
.corrections p { margin: .35rem 0; }

.poziv-sudjelovanje { background: var(--soft); border-left: 4px solid var(--teal); border-radius: 0 6px 6px 0; padding: 1rem 1.25rem; margin: 1.75rem 0; max-width: 48rem; }
.poziv-sudjelovanje h2 { margin: 0 0 .4rem; border: 0; font-size: 1.1rem; }
.poziv-sudjelovanje p { margin: 0; }

/* --- 11. Službeni glasnik --------------------------------------------- */

.glasnik-brojevi { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); gap: .9rem; }
.glasnik-brojevi a { display: flex; align-items: center; gap: 1.1rem; text-decoration: none; border: 1px solid var(--line); border-radius: 8px; padding: 1rem 1.15rem; background: #fff; transition: border-color .12s, transform .12s, box-shadow .12s; height: 100%; }
.glasnik-brojevi a:hover, .glasnik-brojevi a:focus-visible { border-color: var(--sea); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(14, 40, 60, .09); }
.glasnik-brojevi .broj { flex: none; width: 4rem; text-align: center; border: 2px solid var(--sea); border-radius: 6px; padding: .3rem .2rem .4rem; }
.glasnik-brojevi .broj-oznaka { display: block; font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.glasnik-brojevi .broj-vrijednost { display: block; font-family: var(--serif); font-weight: 700; font-size: 1.5rem; line-height: 1.1; color: var(--sea-deep); }
.glasnik-brojevi .opis { min-width: 0; display: flex; flex-direction: column; gap: .2rem; }
.glasnik-brojevi strong { font-family: var(--serif); font-weight: 600; font-size: 1.05rem; color: var(--sea-deep); }
.glasnik-brojevi .meta { color: var(--muted); font-size: .86rem; }

/* --- 12. Statične stranice -------------------------------------------- */

.stranica-grid { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: 3.5rem; align-items: start; }
@media (max-width: 62rem) { .stranica-grid { grid-template-columns: 1fr; gap: 2.5rem; } }

.stranica-sadrzaj h1 { margin-bottom: 1.2rem; }
.putanja { margin: 0 0 .4rem; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.putanja a { color: var(--teal); text-decoration: none; font-weight: 600; }
.putanja a:hover { text-decoration: underline; }

.stranica-bocno { display: grid; gap: 1.2rem; position: sticky; top: 5.5rem; }
@media (max-width: 62rem) { .stranica-bocno { position: static; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); } }

.bocni-blok { border: 1px solid var(--line); border-top: 3px solid var(--teal); border-radius: 8px; padding: 1.2rem 1.3rem 1.3rem; background: #fff; }
.bocni-blok h2 { margin: 0 0 .8rem; padding-bottom: .5rem; border-bottom: 1px solid var(--line); font-size: .82rem; letter-spacing: .13em; text-transform: uppercase; color: var(--muted); font-family: var(--sans); font-weight: 700; }
.bocni-blok ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.bocni-blok a { text-decoration: none; font-weight: 600; font-size: .97rem; }
.bocni-blok a:hover { text-decoration: underline; }
.bocni-blok p { margin: 0 0 .35rem; font-size: .95rem; line-height: 1.55; }
.bocni-kontakt { background: var(--soft); border-top-color: var(--sea); }
.bocni-naziv { font-family: var(--serif); font-weight: 700; font-size: 1.05rem; color: var(--sea-deep); }
.bocno-manje { color: var(--muted); font-size: .89rem; margin-top: .5rem; }

.podstranice { margin-top: 2.5rem; }
.podstranice a { padding: 1.1rem 2.4rem 1.1rem 1.2rem; }

.body ul.osobe, .osobe { list-style: none; margin: 1rem 0 1.5rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: .7rem; }
.body ul.osobe > li, .osobe > li { border: 1px solid var(--line); border-radius: 6px; padding: .7rem .9rem; margin: 0; }
.osobe strong { font-family: var(--serif); font-weight: 600; font-size: 1.05rem; color: var(--sea-deep); display: block; }
.osobe .titula { color: var(--muted); font-size: .9rem; display: block; margin-bottom: .35rem; }
.osobe a { display: block; font-size: .95rem; }

/* --- 13. Panorama i podnožje ------------------------------------------ */

.panorama-traka { position: relative; margin-top: 0; line-height: 0; }
.panorama-traka img { width: 100%; height: 20rem; object-fit: cover; }
.panorama-traka::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 8rem; background: linear-gradient(to bottom, rgba(9, 44, 70, 0) 0%, rgba(9, 44, 70, .55) 55%, var(--sea-deep) 100%); pointer-events: none; }
.panorama-traka + .site-footer { margin-top: 0; padding-top: 1rem; }
@media (max-width: 46rem) { .panorama-traka img { height: 11rem; } .panorama-traka::after { height: 5rem; } }

.site-footer { background: var(--sea-deep); color: #dbe4ec; padding: 2.6rem 0 1.6rem; font-size: .95rem; }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1.1fr 1fr 1.2fr; gap: 2.5rem; margin-bottom: 2rem; }
@media (max-width: 62rem) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem 2.5rem; } }
@media (max-width: 34rem) { .footer-grid { grid-template-columns: 1fr; gap: 1.8rem; } }

.site-footer h2 { font-family: var(--serif); font-weight: 600; font-size: .82rem; letter-spacing: .13em; text-transform: uppercase; color: #93a8ba; margin: 0 0 .85rem; padding-bottom: .5rem; border-bottom: 1px solid rgba(255,255,255,.14); }
.site-footer .footer-h2-drugi { margin-top: 1.6rem; }
.site-footer p { margin: 0 0 .35rem; line-height: 1.6; }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.site-footer a { color: #e6eef4; text-decoration-color: rgba(255,255,255,.35); text-underline-offset: 3px; }
.site-footer a:hover { color: #fff; text-decoration-color: #fff; }

.footer-naziv { font-family: var(--serif); font-weight: 700; font-size: 1.35rem; color: #fff; margin-bottom: .6rem; line-height: 1.2; }
.footer-oib { color: #93a8ba; font-size: .9rem; margin-top: .6rem; }
.footer-manje { font-size: .92rem; color: #b9c7d4; }
.footer-kontakt { gap: .55rem; }
.footer-kontakt > li { display: grid; grid-template-columns: 5.2rem 1fr; gap: .5rem; align-items: baseline; }
.footer-kontakt span { color: #93a8ba; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }

.footer-bottom { border-top: 1px solid rgba(255,255,255,.16); padding-top: 1.1rem; display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; color: #93a8ba; font-size: .85rem; align-items: center; }
.footer-bottom > :last-child { text-align: right; }
.footer-bottom a { color: #cfdbe5; }
@media (max-width: 48rem) { .footer-bottom { grid-template-columns: 1fr; text-align: center; gap: .5rem; } .footer-bottom > :last-child { text-align: center; } }

/* --- 14. Smanjeno kretanje -------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .sub-list, .crtice::before, .crtice::after, .pod-gumb .caret,
    .plocice a, .korisno a, .istaknuta-obavijest, .glasnik-brojevi a,
    .stavke > li > a, .strelica, .korisno a::after { transition: none; }
    .plocice a:hover, .korisno a:hover, .istaknuta-obavijest:hover,
    .glasnik-brojevi a:hover, .stavke > li > a:hover { transform: none; }
}

/* Bez JavaScripta podizbornici moraju biti dostupni i na mobitelu */
@media (max-width: 60rem) {
    html:not(.js-nav) .sub-list { display: block; visibility: visible; padding: 0 0 .6rem 1rem; }
    html:not(.js-nav) .nav-list > li > a { padding-right: .25rem; }
}

/* --- Mobilno zaglavlje: gumb izbornika desno, u redu s nazivom --- */
@media (max-width: 60rem) {
    .site-header { padding: 1rem 0; }
    .site-header .container { flex-wrap: wrap; gap: .7rem .8rem; }

    .grb-img { order: 1; height: 50px; }
    .site-id { order: 2; margin-right: 0; flex: 1; min-width: 0; }
    .izbornik-gumb { order: 3; margin-left: auto; flex: none; }
    .site-header .pretraga-mala { order: 4; width: 100%; }

    .site-name { font-size: 1.3rem; }
    .site-tag { font-size: .66rem; letter-spacing: .1em; }
}

@media (max-width: 26rem) {
    .site-tag { display: none; }
    .grb-img { height: 44px; }
    .izbornik-gumb .izbornik-tekst { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .izbornik-gumb { padding: .65rem .85rem; }
}

/* --- Tonski zapisi sjednica --- */
.vrsta-zvuk { background: #6b3fa0; font-size: 1.15rem; }

.snimka { margin: .9rem 0 .2rem 5rem; padding: 1rem 1.15rem; background: var(--soft); border-left: 3px solid #6b3fa0; border-radius: 0 6px 6px 0; }
.snimka-naslov { margin: 0 0 .6rem; display: flex; flex-wrap: wrap; gap: .2rem 1rem; align-items: baseline; }
.snimka-naslov strong { font-weight: 600; color: var(--sea-deep); }
.snimka audio { width: 100%; max-width: 34rem; height: 42px; }
.snimka-preuzmi { margin: .5rem 0 0; font-size: .92rem; }
.snimka-alternativa { margin: .7rem 0 0; font-size: .88rem; color: var(--muted); }

@media (max-width: 46rem) {
    .snimka { margin-left: 1rem; padding: .85rem .9rem; }
}

/* --- Sjednice vijeća --- */
.sjednica-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .8rem; background: var(--soft); border-radius: 6px; padding: 1rem 1.15rem; margin: 1.25rem 0; }
.sjednica-meta dt { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.sjednica-meta dd { margin: .1rem 0 0; }

/* Sljedeća sjednica na naslovnici */
.sljedeca-sjednica { display: grid; gap: .3rem; text-decoration: none; color: inherit; background: var(--sea-deep); border-radius: 8px; padding: 1.2rem 1.3rem; margin-top: 2rem; }
.sljedeca-sjednica .nadnaslov { color: #7fd3e3; }
.sljedeca-sjednica strong { font-family: var(--serif); font-weight: 700; font-size: 1.2rem; color: #fff; line-height: 1.3; }
.sljedeca-sjednica .kada { font-family: var(--serif); font-weight: 700; font-size: 1.45rem; color: #fff; }
.sljedeca-sjednica .gdje { color: #a9bac8; font-size: .92rem; }
.sljedeca-sjednica .vise { margin-top: .4rem; font-weight: 600; color: #fff; display: inline-flex; align-items: center; gap: .5rem; }
.sljedeca-sjednica .strelica { border-color: #fff; }
.sljedeca-sjednica:hover { box-shadow: 0 10px 24px rgba(9, 44, 70, .25); }

/* --- Poveznice na strojno čitljive izvoze --- */
.strojno-citljivo { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .88rem; color: var(--muted); }
.strojno-citljivo a { font-weight: 600; }

/* --- e-Oglasna ploča --- */
.objava-potvrda { border: 1px solid var(--sand-line); background: var(--sand); border-radius: 8px; padding: 1.2rem 1.4rem; margin: 1.5rem 0; max-width: 48rem; }
.objava-potvrda h2 { margin: 0 0 .9rem; border: 0; font-size: .82rem; letter-spacing: .13em; text-transform: uppercase; color: var(--muted); font-family: var(--sans); font-weight: 700; }
.objava-potvrda dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .8rem 1.5rem; margin: 0; }
.objava-potvrda dt { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); }
.objava-potvrda dd { margin: .1rem 0 0; font-family: var(--mono); font-size: .95rem; }
.objava-potvrda .puna { grid-column: 1 / -1; }
.objava-potvrda .puna dd { font-family: var(--sans); }

.skinuto { background: var(--warn-bg); border-left: 4px solid var(--warn-line); border-radius: 0 6px 6px 0; padding: 1.1rem 1.3rem; margin: 2rem 0; max-width: 48rem; }
.skinuto h2 { margin: 0 0 .5rem; border: 0; font-size: 1.1rem; }
.skinuto p { margin: .45rem 0; }

/* --- Memorandum: straničenje --- */
.listanje { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 2.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.listanje a { display: inline-block; padding: .55rem 1.2rem; background: var(--sea); color: #fff; border-radius: 6px; text-decoration: none; font-weight: 600; font-size: .92rem; }
.listanje a:hover { background: var(--sea-deep); }
.listanje-off { display: inline-block; padding: .55rem 1.2rem; color: var(--muted); opacity: .5; font-size: .92rem; }
.listanje-info { color: var(--muted); font-size: .88rem; }
@media (max-width: 40rem) { .listanje-info { display: none; } }

/* --- Pretraga: grupirani rezultati --- */
.pretraga-rezultati { margin-top: 1.2rem; }
.pretraga-grupa { font-size: 1.05rem; color: var(--sea-deep); margin: 1.6rem 0 .6rem; padding-bottom: .3rem; border-bottom: 2px solid var(--line); }
.pretraga-grupa:first-child { margin-top: .5rem; }
.pretraga-lista { list-style: none; margin: 0; padding: 0; }
.pretraga-lista li { padding: .6rem 0; border-bottom: 1px solid var(--line); }
.pretraga-lista li:last-child { border-bottom: 0; }
.pretraga-lista a { font-weight: 600; text-decoration: none; color: var(--sea); }
.pretraga-lista a:hover { text-decoration: underline; }
.pretraga-lista .meta { display: block; font-size: .82rem; color: var(--muted); margin-top: .15rem; }

/* --- Javna nabava --- */
.popis-nabava {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
}

.popis-nabava li {
    padding: 0.6rem 0;
    border-bottom: 1px solid #e5e7eb;
}

.popis-nabava li:last-child {
    border-bottom: 0;
}

.tablica-nabava-omot {
    overflow-x: auto;
    margin: 0 0 1.5rem;
}

.tablica-nabava {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
    min-width: 40rem;
}

.tablica-nabava caption {
    text-align: left;
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
    color: #4b5563;
}

.tablica-nabava th,
.tablica-nabava td {
    text-align: left;
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    vertical-align: top;
}

.tablica-nabava thead th {
    border-bottom: 2px solid #d1d5db;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.tablica-nabava tbody tr:nth-child(even) {
    background: #f9fafb;
}

.tablica-nabava .privitak {
    display: block;
    font-size: 0.85rem;
    margin-top: 0.25rem;
}


/* --- Istaknuta slika --- */
.istaknuta-obavijest.ima-foto { padding-top: 0; overflow: hidden; }

.istaknuta-foto {
    display: block;
    margin: 0 -1.6rem 1rem;
    aspect-ratio: 2.4 / 1;
    background: var(--soft);
    overflow: hidden;
}

.istaknuta-foto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.istaknuta-slika {
    margin: 1.5rem 0 2rem;
}

.istaknuta-slika img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.istaknuta-slika figcaption {
    margin-top: .5rem;
    font-size: .85rem;
    color: var(--muted);
}


/* --- Desni stupac naslovnice --- */
.home-grid > aside > section:first-child > h2 { margin-top: 0; }

.sljedeca-sjednica {
    display: grid;
    gap: .3rem;
    text-decoration: none;
    background: var(--sea-deep);
    color: #dbe4ec;
    border-radius: 8px;
    padding: 1.2rem 1.3rem 1.3rem;
    transition: box-shadow .12s;
}

.eoglasna-blok {
    border: 1px solid var(--line);
    border-top: 3px solid var(--teal);
    border-radius: 8px;
    padding: 1.2rem 1.3rem 1.3rem;
    background: #fff;
    margin-top: 2rem;
}

.eoglasna-blok h2 { margin-top: 0; }
.eoglasna-blok p { color: var(--muted); font-size: .95rem; margin-bottom: 1rem; }
.eoglasna-blok p:last-child { margin-bottom: 0; }


/* --- Obrasci --- */
.obrazac-blok { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.obrazac-blok h2 { margin-top: 0; }

.obrazac { display: grid; gap: 1.1rem; max-width: 42rem; }
.obrazac-red { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
@media (max-width: 40rem) { .obrazac-red { grid-template-columns: 1fr; } }

.obrazac-polje { display: grid; gap: .35rem; }
.obrazac-polje label { font-weight: 600; font-size: .92rem; color: var(--sea-deep); }
.obrazac-polje .neobavezno { font-weight: 400; color: var(--muted); }

.obrazac-polje input[type="text"],
.obrazac-polje input[type="email"],
.obrazac-polje input[type="tel"],
.obrazac-polje textarea {
    font: inherit;
    padding: .7rem .85rem;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    color: var(--ink);
    width: 100%;
}

.obrazac-polje input:focus-visible,
.obrazac-polje textarea:focus-visible,
.obrazac-privola input:focus-visible {
    outline: 3px solid var(--teal);
    outline-offset: 1px;
}

.obrazac-polje textarea { resize: vertical; min-height: 8rem; }
.obrazac-polje input[type="file"] { font: inherit; font-size: .92rem; }
.obrazac-pomoc { font-size: .85rem; color: var(--muted); margin: .1rem 0 0; }

.obrazac-privola { display: flex; align-items: flex-start; gap: .6rem; }
.obrazac-privola input { margin-top: .25rem; width: 1.1rem; height: 1.1rem; flex-shrink: 0; }
.obrazac-privola label { font-size: .9rem; color: var(--muted); line-height: 1.5; }

.obrazac-zamka { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.obrazac-gumb { justify-self: start; border: 0; cursor: pointer; font: inherit; font-weight: 600; }
.obrazac-gumb:disabled { opacity: .6; cursor: wait; }

.obrazac-poruka { margin: 0; padding: .8rem 1rem; border-radius: 6px; font-weight: 600; }
.obrazac-poruka-uspjeh { background: #e6f4ea; color: #14682c; border-left: 4px solid var(--open); }
.obrazac-poruka-greska { background: #fdeaea; color: #8f2020; border-left: 4px solid var(--danger); }

.obrazac-bez-js { background: var(--warn-bg); border-left: 4px solid var(--warn-line); padding: .9rem 1.2rem; border-radius: 0 6px 6px 0; }


/* WCAG 1.4.13: podizbornik odbačen tipkom Escape */
.site-nav.pod-odbacen .sub-list { opacity: 0 !important; visibility: hidden !important; }

/* --- Popisi u tijelu teksta --- */
.body ul, .body ol { margin: 1rem 0 1.4rem; padding-left: 1.6rem; }
.body ul { list-style: disc; }
.body ol { list-style: decimal; }
.body li { margin-bottom: .5rem; padding-left: .2rem; }
.body li:last-child { margin-bottom: 0; }
.body li > ul, .body li > ol { margin: .5rem 0 .3rem; }
.body ul ul { list-style: circle; }

/* --- Sjednica: podaci i dokumentacija u pribocniku (obrazac .bocni-blok) --- */
.stranica-bocno .sjednica-meta { display: grid; gap: .85rem; margin: 0; }
.stranica-bocno .sjednica-meta dt { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: .1rem; }
.stranica-bocno .sjednica-meta dd { margin: 0; font-size: .95rem; line-height: 1.4; font-weight: 600; }

.stranica-bocno .doc-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.stranica-bocno .doc-list li { padding: .65rem 0; border-bottom: 1px solid var(--line); }
.stranica-bocno .doc-list li:first-child { padding-top: 0; }
.stranica-bocno .doc-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.stranica-bocno .doc-list .meta { display: block; font-size: .76rem; color: var(--muted); margin-top: .2rem; font-weight: 400; }

/* Vanjska poveznica: ikona + najava za citace ekrana (WCAG 3.2.5) */
.ikona-vanjski { display: inline-block; margin-left: .35em; vertical-align: baseline; opacity: .65; }
a:hover .ikona-vanjski, a:focus .ikona-vanjski { opacity: 1; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Gumb za ispis u pribocniku */
.gumb-ispis {
    display: block;
    width: 100%;
    padding: .55rem .8rem;
    border: 1px solid var(--teal);
    border-radius: 6px;
    background: #fff;
    color: var(--teal);
    font-family: var(--sans);
    font-size: .95rem;
    font-weight: 600;
    cursor: pointer;
}
.gumb-ispis:hover { background: var(--teal); color: #fff; }
.gumb-ispis:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }

/* ==========================================================================
   ISPIS
   Cist otisak: bez zaglavlja, izbornika, podnozja, pribocnika i tražilice.
   Poveznice se ispisuju s adresom, tekst crn na bijelom.
   ========================================================================== */
@media print {

    /* sto se ne ispisuje */
    .site-header,
    .site-nav,
    .site-footer,
    .panorama-traka,
    .letterhead-rule,
    .pretraga-mala,
    .izbornik-gumb,
    .bocni-ispis,
    .gumb-ispis,
    .promo,
    .putanja,
    .preskoci {
        display: none !important;
    }

    /* jednostupcani raspored, pribocnik ide na vrh */
    .stranica-grid {
        display: flex !important;
        flex-direction: column;
    }
    .stranica-grid > * { order: 1; }

    html, body {
        background: #fff !important;
        color: #000 !important;
        font-size: 11pt;
        line-height: 1.45;
    }

    main, .container {
        max-width: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* naslovi ne vise sami na dnu stranice */
    h1, h2, h3, h4 {
        break-after: avoid;
        page-break-after: avoid;
        color: #000 !important;
    }

    h1 { font-size: 17pt; margin: 0 0 .3cm; }
    h2 { font-size: 13pt; margin: .5cm 0 .2cm; }
    h3 { font-size: 11.5pt; }

    p, li, dd, dt { orphans: 3; widows: 3; }

    /* tablice se ne lome nasred retka */
    table { break-inside: auto; border-collapse: collapse; width: 100%; }
    tr    { break-inside: avoid; page-break-inside: avoid; }
    thead { display: table-header-group; }
    th, td {
        border: 1px solid #999 !important;
        padding: .15cm .2cm;
        font-size: 9.5pt;
    }

    /* slike ne prelaze rub */
    img, figure {
        max-width: 100% !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    figcaption { font-size: 8.5pt; color: #555 !important; }

    /* poveznice: adresa se ispisuje uz tekst */
    a { color: #000 !important; text-decoration: underline; }
    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 8.5pt;
        word-break: break-all;
    }
    /* unutarnje poveznice i sidra bez adrese */
    a[href^="/"]::after,
    a[href^="#"]::after,
    a[href^="mailto:"]::after,
    a[href^="tel:"]::after {
        content: "";
    }

    /* ikone vanjskih poveznica nisu potrebne na papiru */
    .ikona-vanjski { display: none !important; }

    /* okviri i sjene bez smisla na papiru */
    .objava-potvrda,
    .bocni-blok,
    .doc-list li {
        border: 1px solid #999 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .badge {
        border: 1px solid #000 !important;
        background: transparent !important;
        color: #000 !important;
        padding: 0 .15cm;
    }


    /* Pribocnik na papiru: podaci o sjednici idu IZNAD teksta,
       jer su KLASA, URBROJ i datum dio dokumenta. */
    .stranica-bocno {
        display: block !important;
        position: static !important;
        order: 0 !important;
        margin: 0 0 .6cm;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .stranica-bocno .bocni-blok {
        border: 0 !important;
        border-bottom: 1px solid #999 !important;
        border-radius: 0 !important;
        padding: 0 0 .35cm !important;
        margin: 0 0 .35cm;
    }

    .stranica-bocno h2 {
        font-size: 9pt;
        letter-spacing: .08em;
        text-transform: uppercase;
        margin: 0 0 .2cm;
        border: 0 !important;
    }

    /* podaci o sjednici u dva stupca, kompaktno */
    .sjednica-meta {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .1cm .6cm;
        margin: 0;
        font-size: 9.5pt;
    }
    .sjednica-meta dt { font-weight: 700; display: inline; }
    .sjednica-meta dt::after { content: ": "; }
    .sjednica-meta dd { display: inline; margin: 0; }
    .sjednica-meta > div { break-inside: avoid; }

    /* na papiru nemaju smisla */
    .bocni-ispis,
    .gumb-ispis,
    .bocni-podijeli {
        display: none !important;
    }


    /* --- ZAGLAVLJE ISPISA: podaci o sjednici ---
       Specificnost mora nadjacati .bocni-kontakt i .stranica-bocno .sjednica-meta */

    .stranica-bocno .bocni-blok,
    .stranica-bocno .bocni-kontakt {
        border: 0 !important;
        border-bottom: 1px solid #ccc !important;
        border-radius: 0 !important;
        background: transparent !important;
        padding: 0 0 .4cm !important;
        margin: 0 0 .5cm !important;
    }

    .stranica-bocno .bocni-blok h2 {
        font-size: 8.5pt !important;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: #555 !important;
        margin: 0 0 .3cm !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .stranica-bocno .sjednica-meta {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: .15cm .8cm !important;
        background: transparent !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        font-size: 9.5pt;
    }

    .stranica-bocno .sjednica-meta dt {
        display: inline !important;
        font-size: 9.5pt !important;
        font-weight: 700 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        color: #000 !important;
        margin: 0 !important;
    }
    .stranica-bocno .sjednica-meta dt::after { content: ": "; }

    .stranica-bocno .sjednica-meta dd {
        display: inline !important;
        font-size: 9.5pt !important;
        font-weight: 400 !important;
        margin: 0 !important;
    }


    /* naslov na vrhu papira, izvorni u clanku se ne ponavlja */
    .naslov-ispisa {
        display: block !important;
        font-size: 17pt;
        margin: 0 0 .4cm;
        order: -1;
    }
    article > h1 { display: none !important; }

    @page {
        margin: 1.8cm 1.5cm;
    }
}

/* Naslov koji se pojavljuje samo pri ispisu */
.naslov-ispisa { display: none; }
