/* CZSR Jajce — dopune Bricks globalnim klasama: pseudo-elementi, sadržaj stranica i objava (cz-prose), izbornik,
   dokumenti, responzivnost. Osnovna pravila klasa žive u Bricksu (bricks/build/_css.php i build skripte). */

html { scroll-behavior: smooth; }
.brx-body { -webkit-font-smoothing: antialiased; }
:where(.brx-body) a { text-underline-offset: 3px; }
.cz-icon { display: block; flex-shrink: 0; }
.cz-card__date .cz-icon, .cz-pagehead__date .cz-icon { display: inline-block; }

/* ---------- Sadržaj stranica i objava (WP editor) ---------- */
.cz-prose > * + *, .cz-prose .brxe-post-content > * + * { margin-top: 1em; }
.cz-prose h2 { font-size: 26px; margin-top: 1.5em; color: var(--navy); }
.cz-prose h3 { font-size: 22px; margin-top: 1.5em; color: var(--navy); }
.cz-prose h4 { font-size: 19px; margin-top: 1.3em; color: var(--navy); }
.cz-prose h5 { font-size: 17px; margin-top: 1.3em; color: var(--navy); }
.cz-prose h2:first-child, .cz-prose h3:first-child, .cz-prose .brxe-post-content > :first-child { margin-top: 0; }
.cz-prose ul, .cz-prose ol { padding-left: 1.4em; }
.cz-prose li + li { margin-top: .35em; }
.cz-prose li::marker { color: var(--blue-dark); font-weight: 600; }
.cz-prose a { color: var(--blue-dark); font-weight: 600; overflow-wrap: anywhere; }
.cz-prose img { max-width: 100%; height: auto; border-radius: 6px; }
.cz-prose .wp-caption, .cz-prose figure { max-width: 100%; }
.cz-prose .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.cz-prose .alignright { float: right; margin: 4px 0 12px 24px; max-width: 45%; }
.cz-prose .alignleft { float: left; margin: 4px 24px 12px 0; max-width: 45%; }
.cz-prose p:has(> .alignleft:first-child) { margin-top: 0; }
.cz-prose .gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cz-prose .gallery br { display: none; }
.cz-prose .gallery-item { margin: 0; }
.cz-prose .gallery-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cz-prose table { width: 100%; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; max-width: 100%; }
.cz-prose th, .cz-prose td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.cz-prose th { color: var(--navy); font-weight: 700; background: var(--soft); }
.cz-prose blockquote { border-left: 4px solid var(--blue); margin-left: 0; padding: 6px 0 6px 20px; color: var(--ink-2); }
.cz-prose iframe, .cz-prose video { max-width: 100%; }
.cz-prose::after { content: ""; display: table; clear: both; }

/* ---------- Header i izbornik ---------- */
.cz-header .bricks-nav-menu > li > a, .cz-header .bricks-nav-menu > li > .brx-submenu-toggle > a { font-size: 15.5px; font-weight: 600; color: var(--white); padding: 10px 0; white-space: nowrap; }
.cz-header .bricks-nav-menu > li > .brx-submenu-toggle { gap: 4px; color: var(--white); }
.cz-header .bricks-nav-menu > li > .brx-submenu-toggle button { color: rgba(255,255,255,.75); }
.cz-header .bricks-nav-menu > li { position: relative; }
.cz-header .bricks-nav-menu > li > a::after, .cz-header .bricks-nav-menu > li > .brx-submenu-toggle::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 3px; background: var(--blue); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.cz-header .bricks-nav-menu > li:hover > a::after, .cz-header .bricks-nav-menu > li:hover > .brx-submenu-toggle::after, .cz-header .bricks-nav-menu > li.current-menu-item > a::after, .cz-header .bricks-nav-menu > li.current-menu-ancestor > .brx-submenu-toggle::after { transform: scaleX(1); }
.cz-header .bricks-nav-menu .sub-menu { min-width: 270px; padding: 8px 0; border-radius: 0 0 8px 8px; background: var(--white); box-shadow: 0 18px 38px rgba(6,33,63,.22); border: 0; border-top: 3px solid var(--blue); }
.cz-header .bricks-nav-menu .sub-menu li { margin: 0; }
.cz-header .bricks-nav-menu .sub-menu a { display: block; font-size: 14.5px; line-height: 1.35; font-weight: 500; color: var(--navy); padding: 9px 20px; white-space: nowrap; transition: padding-left .18s, background-color .18s, color .18s; }
.cz-header .bricks-nav-menu .sub-menu a:hover, .cz-header .bricks-nav-menu .sub-menu .current-menu-item > a { background: var(--soft); color: var(--blue-dark); padding-left: 26px; }
.cz-header .bricks-mobile-menu-toggle { color: var(--white); }
.cz-header .bricks-mobile-menu-wrapper { background: var(--navy); top: var(--cz-header-h, 0); height: calc(100% - var(--cz-header-h, 0px)); }
.cz-header .bricks-mobile-menu-wrapper a { color: var(--white) !important; }
.cz-header .bricks-mobile-menu-wrapper .sub-menu a { font-size: 15.5px; opacity: .85; }
.cz-header .brxe-search .toggle { color: var(--white); width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.1); display: inline-flex; align-items: center; justify-content: center; }
.cz-header .brxe-search .toggle:hover { background: var(--blue); }
.cz-topbar__item, .cz-topbar__item *, .cz-topbar__sos * { white-space: nowrap; }
@media (min-width: 992px) { #brx-header { position: sticky; top: 0; z-index: 998; } .admin-bar #brx-header { top: 32px; } }

/* ---------- Kartice: cijela kartica klikabilna preko naslova ---------- */
.cz-card, .cz-post { position: relative; }
.cz-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.cz-post .cz-more { position: relative; z-index: 2; }
.cz-card__media, .cz-post__media { transition: opacity .2s; }
.cz-card:hover .cz-card__img, .cz-post:hover .cz-post__img { transform: scale(1.03); }
.cz-card__img, .cz-post__img { transition: transform .4s ease; }

/* ---------- Bočni stupac: aktivna stavka ---------- */
.cz-side__link[aria-current="page"] { background: var(--navy); color: var(--white); border-left-color: var(--blue); }
.cz-recent__item:last-child { border-bottom: 0; }
@media (min-width: 992px) { .cz-layout__aside { position: sticky; top: 150px; } }

/* ---------- Obrasci: dokumenti za preuzimanje ---------- */
.cz-docs { display: flex; flex-direction: column; gap: 36px; }
.cz-docs__group { display: flex; flex-direction: column; gap: 14px; }
.cz-docs__title { font-size: 21px; line-height: 1.35; color: var(--navy); margin: 0; padding-bottom: 12px; border-bottom: 2px solid var(--line); }
.cz-dl { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cz-dl__item { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); text-decoration: none; color: var(--navy); transition: border-color .2s, box-shadow .2s, color .2s; }
.cz-dl__item:hover { border-color: var(--blue); box-shadow: 0 10px 26px rgba(6,33,63,.08); color: var(--blue-dark); }
.cz-dl__icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 8px; background: var(--soft); color: var(--blue-dark); }
.cz-dl__name { font-weight: 600; font-size: 15px; line-height: 1.45; flex: 1 1 auto; min-width: 0; }
.cz-dl__info { font-size: 12.5px; font-weight: 600; color: var(--ink-2); white-space: nowrap; }
.cz-dl__action { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 700; color: var(--blue-dark); white-space: nowrap; }
.cz-obrasci > p { margin: 0; }

/* ---------- Paginacija ---------- */
.cz-pagination .bricks-pagination ul { gap: 8px; }
.cz-pagination .bricks-pagination a, .cz-pagination .bricks-pagination span { min-width: 42px; height: 42px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; color: var(--navy); background: var(--white); border: 1px solid var(--line); }
.cz-pagination .bricks-pagination .current { background: var(--navy); color: var(--white); border-color: var(--navy); }

/* ---------- Kontakt forma ---------- */
.cz-form-privacy { font-size: 13.5px; color: var(--ink-2); margin: 0; }
.cz-form-privacy a { color: var(--blue-dark); }
.cz-map__frame { width: 100%; min-height: 420px; display: block; }
.cz-map > p, .cz-contact__form > p { margin: 0; }
.bricks-no-results, .brx-query-trail + .bricks-no-results { background: var(--white); border-radius: 8px; padding: 24px 28px; color: var(--ink-2); box-shadow: 0 6px 24px rgba(6,33,63,.06); }

/* ---------- Footer ---------- */
.cz-footer__text--rv { line-height: 2.1; }
.cz-partners__item[href=""], .cz-partners__item:not([href]) { pointer-events: none; }

/* ---------- Ikona + tekst u redu ---------- */
.cz-topbar__item, .cz-contact__row { flex-wrap: nowrap; }
.cz-topbar__icon, .cz-contact__icon { flex: 0 0 auto; }
.brxe-shortcode.cz-topbar__icon { display: inline-flex; width: auto; }
.brxe-shortcode.cz-contact__icon { display: inline-flex; }

/* ---------- Responzivno ---------- */
@media (max-width: 1199px) {
  .cz-header .bricks-nav-menu { gap: 22px !important; }
  .cz-header .bricks-nav-menu > li > a, .cz-header .bricks-nav-menu > li > .brx-submenu-toggle > a { font-size: 14.5px !important; }
  .cz-header__logo-img { height: 48px !important; }
  .cz-layout { grid-template-columns: minmax(0, 1fr) 300px !important; gap: 32px !important; }
  .cz-partners__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 991px) {
  .cz-section { padding-top: 56px; padding-bottom: 56px; }
  .cz-layout, .cz-contact { grid-template-columns: minmax(0, 1fr) !important; }
  .cz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .cz-footer__top { grid-template-columns: 1fr 1fr !important; }
  .cz-topbar__item--hide { display: none !important; }
  .cz-hero { padding-top: 96px !important; padding-bottom: 96px !important; }
  .cz-hero__welcome { font-size: 28px !important; }
  .cz-pagehead__title { font-size: 34px !important; }
}
@media (max-width: 767px) {
  .brx-body h2 { font-size: 25px; }
  .brx-body h3 { font-size: 20px; }
  .cz-topbar__group { display: none !important; }
  .cz-topbar__inner { justify-content: center !important; }
  .cz-header__inner { min-height: 72px !important; gap: 12px !important; }
  .cz-header__logo-img { height: 42px !important; }
  .cz-grid, .cz-footer__top { grid-template-columns: minmax(0, 1fr) !important; }
  .cz-post { grid-template-columns: minmax(0, 1fr) !important; }
  .cz-post__media { aspect-ratio: 16 / 9; min-height: 0 !important; }
  .cz-post__body { padding: 20px 22px !important; }
  .cz-box { padding: 26px 22px !important; }
  .cz-hero { padding-top: 64px !important; padding-bottom: 64px !important; }
  .cz-hero__welcome { font-size: 24px !important; }
  .cz-sos__num { font-size: 28px !important; }
  .cz-pagehead { padding-top: 40px !important; padding-bottom: 40px !important; }
  .cz-pagehead__title { font-size: 28px !important; }
  .cz-title { font-size: 25px !important; }
  .cz-partners__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .cz-partners__title { font-size: 22px !important; }
  .cz-dl__info { display: none; }
  .cz-dl__action span { display: none; }
  .cz-prose .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cz-footer__bottom { flex-direction: column; align-items: flex-start !important; }
  /* SOS je već na naslovnici i u mobilnom izborniku → bez gornje trake */
  .cz-topbar { display: none !important; }
  /* Single: manji razmak od putanje do sadržaja */
  .cz-crumbbar { padding-top: 10px !important; padding-bottom: 10px !important; }
  .cz-crumbbar + .cz-page { padding-top: 20px !important; }
}

/* ---------- Linkovi i oznake unutar tekstualnih elemenata (globalne klase vrijede samo za Bricks elemente) ---------- */
.cz-footer__link, .cz-footer .cz-footer__text a { color: rgba(255,255,255,.92); text-decoration: none; }
.cz-footer__link:hover, .cz-footer .cz-footer__text a:hover { color: var(--white); text-decoration: underline; }
.cz-footer__link--sm { font-size: 13.5px; color: rgba(255,255,255,.72); }
.cz-footer__text strong { color: var(--white); }
.cz-contact__link { color: var(--navy); font-weight: 600; text-decoration: none; }
.cz-contact__link:hover { color: var(--blue-dark); }
.cz-pagehead__crumb { color: rgba(255,255,255,.85); text-decoration: none; }
.cz-pagehead__crumb:hover { color: var(--white); }
.cz-layout__aside > .cz-sos { width: 100%; }
/* Uvoz dijeli tekst s linkovima u više elemenata → drži ih u redu */
.cz-contact__text > .brxe-text-basic, .cz-contact__text > a { display: inline; }
/* Single: putanja i meta (linkovi unutar teksta) */
.cz-crumbbar__link { color: var(--blue-dark); text-decoration: none; }
.cz-crumbbar__link:hover { text-decoration: underline; }
.cz-single__date .cz-icon { display: inline-block; }
@media (max-width: 767px) { .cz-single__title { font-size: 26px !important; } }
.cz-single__meta { justify-content: flex-start !important; align-self: flex-start; text-align: left; }
/* Stari sadržaj ponekad ima nizove &nbsp; (poravnanje potpisa) ili duge linkove → bez bočnog skrola na mobitelu */
.cz-prose, .cz-prose p, .cz-prose li, .cz-prose td { overflow-wrap: anywhere; word-break: normal; }
.cz-prose { overflow-x: clip; }
.cz-map { max-width: 100%; }
.cz-map * { max-width: 100%; }
.cz-header .bricks-mobile-menu a:focus:not(:focus-visible), .cz-header .bricks-mobile-menu button:focus:not(:focus-visible) { outline: none; }

/* ---------- Mobilni izbornik: lijevo poravnat, pune širine, razdjelnici, podizbornik uvučen ---------- */
.cz-header .bricks-mobile-menu-wrapper { align-items: stretch !important; justify-content: flex-start !important; text-align: left !important; padding: 6px 0 28px !important; overflow-y: auto; display: flex; flex-direction: column; }
.cz-header .bricks-mobile-menu-wrapper .bricks-mobile-menu { width: 100%; padding: 0 20px !important; margin: 0; display: flex; flex-direction: column; align-items: stretch !important; }
.cz-header .bricks-mobile-menu > li { width: 100%; margin: 0 !important; border-bottom: 1px solid rgba(255,255,255,.1); text-align: left !important; }
.cz-header .bricks-mobile-menu > li > a, .cz-header .bricks-mobile-menu > li > .brx-submenu-toggle { display: flex !important; align-items: center; justify-content: space-between !important; width: 100%; padding: 0 !important; min-height: 56px; }
.cz-header .bricks-mobile-menu > li > a, .cz-header .bricks-mobile-menu > li > .brx-submenu-toggle > a { font-size: 17px !important; font-weight: 600 !important; color: var(--white) !important; padding: 15px 2px !important; text-align: left !important; flex: 1 1 auto; outline: 0; border: 0; }
.cz-header .bricks-mobile-menu .brx-submenu-toggle button { width: 44px; height: 44px; margin-right: -10px; display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,.7); background: none; border: 0; }
.cz-header .bricks-mobile-menu .brx-submenu-toggle button svg { width: 14px; height: 14px; transition: transform .2s; }
.cz-header .bricks-mobile-menu .brx-submenu-toggle button[aria-expanded="true"] svg { transform: rotate(180deg); }
.cz-header .bricks-mobile-menu .sub-menu { position: static !important; width: 100%; margin: 0 0 12px !important; padding: 4px 0 4px 14px !important; border-left: 2px solid rgba(255,255,255,.14); background: none !important; box-shadow: none !important; transform: none !important; }
.cz-header .bricks-mobile-menu .sub-menu li { border: 0; margin: 0 !important; text-align: left !important; }
.cz-header .bricks-mobile-menu .sub-menu a { display: block; font-size: 15.5px !important; font-weight: 500 !important; color: rgba(255,255,255,.82) !important; padding: 9px 4px !important; text-align: left !important; opacity: 1 !important; }
.cz-header .bricks-mobile-menu .current-menu-item > a, .cz-header .bricks-mobile-menu .current-menu-ancestor > .brx-submenu-toggle > a { color: var(--blue) !important; }
.cz-header .bricks-mobile-menu .sub-menu .current-menu-item > a { color: var(--white) !important; box-shadow: inset 3px 0 0 var(--blue); padding-left: 12px !important; }
/* Kontakt na dnu mobilnog izbornika (dodaje cz-front.js) */
.cz-mnav-contact { margin: 22px 20px 0; display: flex; flex-direction: column; gap: 12px; }
.cz-mnav-contact__sos { display: flex; flex-direction: column; gap: 2px; background: var(--red); color: var(--white) !important; border-radius: 8px; padding: 14px 18px; text-decoration: none; }
.cz-mnav-contact__sos small { font-size: 13px; opacity: .9; }
.cz-mnav-contact__sos strong { font-size: 22px; font-weight: 800; letter-spacing: .01em; }
.cz-mnav-contact__row { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.85) !important; font-size: 15px; text-decoration: none; }
.cz-mnav-contact__row svg { color: var(--blue); flex-shrink: 0; }
.cz-header .bricks-mobile-menu-wrapper .bricks-mobile-menu { flex: 0 0 auto !important; overflow: visible !important; height: auto !important; }
.cz-header .bricks-mobile-menu a { line-height: 1.35 !important; }
.cz-header .bricks-mobile-menu > li > a, .cz-header .bricks-mobile-menu > li > .brx-submenu-toggle > a { padding: 16px 2px !important; }
.cz-header .bricks-mobile-menu .sub-menu a { padding: 10px 4px !important; }
/* Tabele (npr. kolačići u politici privatnosti): na mobitelu svaki red kao kartica s oznakama */
@media (max-width: 767px) {
  .cz-prose table.cz-stack, .cz-prose table.cz-stack tbody, .cz-prose table.cz-stack tr, .cz-prose table.cz-stack td { display: block; width: 100%; }
  .cz-prose table.cz-stack { overflow: visible; font-size: 14.5px; }
  .cz-prose table.cz-stack tr:first-child { display: none; }
  .cz-prose table.cz-stack tr { border: 1px solid var(--line); border-radius: 6px; margin: 0 0 12px; overflow: hidden; }
  .cz-prose table.cz-stack td { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; padding: 9px 12px; overflow-wrap: break-word; }
  .cz-prose table.cz-stack td:last-child { border-bottom: 0; }
  .cz-prose table.cz-stack td::before { content: attr(data-label); font-weight: 700; color: var(--navy); }
  .cz-prose table.cz-stack td:first-child { background: var(--soft); font-weight: 600; color: var(--navy); }
}
