/* ==========================================================================
   POBIS – unutarnje stranice: tekst, novosti i postojeći (Flatsome) sadržaj
   ========================================================================== */

.page-body { padding-top: 48px; padding-bottom: 72px; }
.post-body { padding-top: 44px; padding-bottom: 72px; }

/* ---------- čitljiv tekst ---------- */
.prose { max-width: 78ch; font-size: 16.5px; line-height: 1.7; color: var(--ink-2); }
.prose > *:first-child { margin-top: 0; }
.prose > *:last-child { margin-bottom: 0; }
.prose h1, .prose h2, .prose h3, .prose h4, .fx h1, .fx h2, .fx h3, .fx h4 { margin: 1.5em 0 .5em; font-family: var(--f-display); font-weight: 700; line-height: 1.05; letter-spacing: .01em; text-transform: uppercase; text-wrap: balance; color: var(--ink); }
.prose h1, .fx h1 { font-size: clamp(34px, 4vw, 54px); }
.prose h2, .fx h2 { font-size: clamp(28px, 3vw, 40px); }
.prose h3, .fx h3 { font-size: 26px; }
.prose h4, .fx h4 { font-size: 21px; }
.prose p, .fx p { margin: 0 0 1em; }
.prose a, .fx-col a:not(.btn):not(.link-arrow) { text-decoration: underline; text-decoration-color: rgba(11, 82, 150, .35); text-underline-offset: 3px; }
.prose a:hover, .fx-col a:not(.btn):not(.link-arrow):hover { text-decoration-color: currentColor; }
.prose ul, .prose ol, .fx-col ul, .fx-col ol { margin: 0 0 1em; padding-left: 1.3em; }
.prose li, .fx-col li { margin-bottom: .35em; }
.prose img, .fx-col img { max-width: 100%; height: auto; }
.prose blockquote { margin: 1.4em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--blue); color: var(--ink); }
.prose hr { height: 1px; margin: 2em 0; border: 0; background: var(--line-2); }
.prose table, .fx-col table { width: 100%; margin: 0 0 1.2em; border-collapse: collapse; font-size: 15px; }
.prose th, .prose td, .fx-col th, .fx-col td { padding: 9px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.prose th, .fx-col th { background: var(--paper); font-family: var(--f-mono); font-size: 11px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
.prose iframe, .fx iframe { max-width: 100%; }
.alignleft { float: left; margin: 4px 24px 12px 0; }
.alignright { float: right; margin: 4px 0 12px 24px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-family: var(--f-mono); font-size: 11px; color: var(--muted); }

/* ---------- novosti ---------- */
.posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 22px; }
.post-card { display: flex; flex-direction: column; padding: 20px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--blue); }
.post-card__img { display: block; aspect-ratio: 4 / 3; background: var(--paper); overflow: hidden; }
.post-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.post-card:hover .post-card__img img { transform: scale(1.04); }
.post-card__date { margin-top: 16px; font-family: var(--f-mono); font-size: 10px; letter-spacing: .14em; color: var(--blue); }
.post-card__title { margin: 6px 0 0; font-family: var(--f-display); font-weight: 700; font-size: 25px; line-height: 1.06; text-transform: uppercase; }
.post-card__title a { color: var(--ink); }
.post-card__title a:hover { color: var(--blue); }
.post-card__text { margin: 10px 0 14px; font-size: 15px; line-height: 1.6; color: var(--text); }
.post-card .link-arrow { align-self: flex-start; margin-top: auto; }
.post-body__img { max-width: 980px; margin: 0 0 32px; }
.post-body__img img { display: block; width: 100%; height: auto; }
.post-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px 20px; margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--line-2); font-family: var(--f-mono); font-size: 12px; letter-spacing: .04em; }
.empty-state { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-bottom: 36px; padding: 26px; background: var(--paper); border: 1px dashed var(--line-2); }
.empty-state p { flex: 1 1 100%; margin: 0; max-width: 62ch; color: var(--text); }

/* ---------- straničenje ---------- */
.nav-links, ul.page-numbers { display: flex; flex-wrap: wrap; gap: 6px; margin: 36px 0 0; padding: 0; list-style: none; }
.nav-links .page-numbers, ul.page-numbers a, ul.page-numbers span { display: flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 10px; border: 1px solid var(--line-2); background: #fff; font-family: var(--f-mono); font-size: 12px; color: var(--ink-2); }
.nav-links a.page-numbers:hover, ul.page-numbers a:hover { border-color: var(--blue); color: var(--blue); }
.nav-links .page-numbers.current, ul.page-numbers span.current { background: var(--blue); border-color: var(--blue); color: #fff; }

/* ---------- obrasci (Contact Form 7) ---------- */
.wpcf7 label { font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted-2); }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 input[type=url], .wpcf7 input[type=number], .wpcf7 textarea, .wpcf7 select { width: 100%; margin-top: 6px; padding: 12px 14px; border: 1px solid #DCDCD8; border-radius: 0; background: #fff; font-family: var(--f-body); font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--ink); }
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { border-color: var(--blue); outline: 0; }
.wpcf7 textarea { min-height: 140px; }
.wpcf7 input[type=submit], .wpcf7 button[type=submit] { padding: 15px 28px; border: 0; background: var(--blue); clip-path: var(--clip-10); color: #fff; font-family: var(--f-display); font-weight: 700; font-size: 17px; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .2s ease; }
.wpcf7 input[type=submit]:hover, .wpcf7 button[type=submit]:hover { background: var(--blue-400); }
.wpcf7 p { margin: 0 0 14px; }
.wpcf7-not-valid-tip { font-family: var(--f-body); font-size: 13px; letter-spacing: 0; text-transform: none; color: #C0392B; }
.wpcf7 form .wpcf7-response-output { margin: 14px 0 0; padding: 12px 14px; border: 1px solid var(--sky); font-size: 14.5px; }

/* ==========================================================================
   Postojeći sadržaj iz Flatsome buildera
   ========================================================================== */
.fx { overflow-x: clip; }
.fx > p:empty, .fx-col__in > p:empty { display: none; }
.fx > center, .fx > p > center { display: block; }
.fx > .fx-row:first-child, .fx > .fx-anchor:first-child + .fx-row { margin-top: 48px; }
.fx > .fx-row:last-child { margin-bottom: 30px; }

.fx-section { position: relative; padding: var(--fx-pad, 48px) 0; }
.fx-section__in { position: relative; }
.fx-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fx-ov { position: absolute; inset: 0; }
.fx-dark, .fx-dark h1, .fx-dark h2, .fx-dark h3, .fx-dark h4 { color: #fff; }
.fx-dark .fx-col__in { color: #DCE6EE; }

.fx-row { display: flex; flex-wrap: wrap; max-width: var(--max); margin: 0 auto; padding: 0 calc(var(--pad) - 15px); }
.fx-row--inner { max-width: none; margin: 0 -15px; padding: 0; }
.fx-row--full { max-width: none; }
.fx-row--center { justify-content: center; }
.fx-row--middle { align-items: center; }
.fx-col { flex: 0 0 auto; width: calc(var(--s, 12) / 12 * 100%); min-width: 0; padding: 0 15px 30px; }
.fx-row--collapse > .fx-col { padding: 0; }
.fx-col__in { font-size: 16.5px; line-height: 1.7; color: var(--ink-2); }
.fx-col__in > *:first-child { margin-top: 0; }
.fx-col__in > *:last-child { margin-bottom: 0; }
.fx-ta-left { text-align: left; }
.fx-ta-center { text-align: center; }
.fx-ta-right { text-align: right; }
.fx-gap { height: 30px; }
.fx-divider { width: 44px; height: 3px; margin: 18px 0; border: 0; background: var(--blue); }
.fx-ta-center .fx-divider { margin-left: auto; margin-right: auto; }
.fx-anchor { position: relative; top: -24px; display: block; }
.fx .btn, .fx .link-arrow { margin: 6px 10px 6px 0; }
.btn--block { display: flex; width: 100%; }

.fx-banner { position: relative; display: flex; align-items: center; min-height: var(--h, 240px); background: var(--night); color: #fff; overflow: hidden; }
.fx-banner .fx-ov { background: linear-gradient(100deg, rgba(8, 14, 20, .88) 0 30%, rgba(8, 14, 20, .62) 60%, rgba(11, 82, 150, .5) 100%); }
.fx-banner__grit { position: absolute; inset: 0; opacity: .38; background-image: radial-gradient(rgba(255, 255, 255, .3) 1.2px, transparent 1.7px); background-size: 10px 10px; }
.fx-banner__in { position: relative; display: flex; width: 100%; padding-top: 36px; padding-bottom: 36px; }
.fx-textbox { width: var(--w, 60%); max-width: 100%; }
.fx-textbox--center { margin-left: auto; margin-right: auto; }
.fx-textbox--right { margin-left: auto; }
.fx-banner h1, .fx-banner h2, .fx-banner h3, .fx-banner h4 { margin: 0 0 .35em; color: #fff; }
.fx-banner .fx-title h1, .fx-banner .fx-title h2 { margin: 0; font-size: clamp(38px, 4.6vw, 64px); line-height: .96; }
.fx-banner p { color: #DCE6EE; }
.fx-banner p:last-child { margin-bottom: 0; }
.fx-title h1, .fx-title h2, .fx-title h3, .fx-title h4 { margin-top: 0; }

.fx-img { max-width: 100%; margin: 0 0 16px; }
.fx-img img { display: block; width: 100%; height: auto; }
.fx-ta-center .fx-img { margin-left: auto; margin-right: auto; }
.fx-logo { display: flex; align-items: center; justify-content: center; min-height: 90px; padding: 14px; }
.fx-logo img { width: auto; max-width: 100%; max-height: 70px; }
.fx-feature { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 20px; }
.fx-feature--top, .fx-feature--center { flex-direction: column; }
.fx-feature--center { align-items: center; text-align: center; }
.fx-feature--right { flex-direction: row-reverse; }
.fx-feature__ico { flex: none; max-width: 100%; }
.fx-feature__ico img { display: block; width: 100%; height: auto; }
.fx-feature__body > *:first-child { margin-top: 0; }
.fx-quote { margin: 0; padding: 24px; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--blue); }
.fx-quote__text { font-size: 16px; line-height: 1.65; color: var(--ink-2); }
.fx-quote footer { display: flex; align-items: center; gap: 12px; margin-top: 16px; }
.fx-quote footer img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.fx-quote cite { font-family: var(--f-display); font-style: normal; font-weight: 700; font-size: 18px; text-transform: uppercase; }
.fx-quote cite span { display: block; font-family: var(--f-mono); font-size: 10px; font-weight: 400; letter-spacing: .1em; color: var(--muted); }
.fx-slider { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
.fx-slider > * { flex: 0 0 100%; scroll-snap-align: start; }
.fx-video { position: relative; aspect-ratio: 16 / 9; }
.fx-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.fx-acc { border-bottom: 1px solid var(--line); }
.fx-acc summary { padding: 14px 0; font-family: var(--f-display); font-weight: 700; font-size: 20px; text-transform: uppercase; cursor: pointer; }
.fx-acc__body { padding-bottom: 16px; }

.fx-tabs { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.fx-tabs--vertical { grid-template-columns: minmax(200px, 268px) minmax(0, 1fr); }
.fx-tabs__nav { display: flex; flex-wrap: wrap; background: #fff; }
.fx-tabs--vertical .fx-tabs__nav { flex-direction: column; flex-wrap: nowrap; }
.fx-tabs__nav button { padding: 17px 18px; border: 0; border-right: 1px solid var(--line-3); background: #fff; font-family: var(--f-display); font-weight: 700; font-size: 20px; letter-spacing: .05em; text-transform: uppercase; text-align: left; color: var(--ink); cursor: pointer; transition: background .18s ease, color .18s ease; }
.fx-tabs--vertical .fx-tabs__nav button { border-right: 0; border-bottom: 1px solid var(--line-3); }
.fx-tabs__nav button:not([aria-selected=true]):hover { background: #F2F6FB; }
.fx-tabs__nav button[aria-selected=true] { background: var(--blue); color: #fff; box-shadow: inset 4px 0 0 0 var(--sky); }
.fx-tabs__panels { padding: 26px 28px 28px; background: #fff; }
.fx-tabs__panel.prose { max-width: none; }
.fx-tabs__panel a { display: inline-block; padding: 3px 0; }

/* Google karta na Kontaktu ima tvrdo upisanu širinu. */
.fx .mapouter, .fx .gmap_canvas { width: 100% !important; max-width: 100%; }
.fx .gmap_canvas iframe { width: 100%; }
.fx .gmap_canvas > a { display: none; }

@media (max-width: 1000px) {
	.fx-col { width: calc(var(--s-md, var(--s, 12)) / 12 * 100%); }
}
@media (max-width: 640px) {
	.fx-col { width: calc(var(--s-sm, 12) / 12 * 100%); }
	.fx-banner { min-height: var(--h-sm, var(--h, 200px)); }
	.fx-textbox { width: 100%; }
	.fx-tabs--vertical { grid-template-columns: minmax(0, 1fr); }
	.fx-tabs--vertical .fx-tabs__nav { flex-direction: row; overflow-x: auto; }
	.fx-tabs--vertical .fx-tabs__nav button { flex: none; border-bottom: 0; border-right: 1px solid var(--line-3); }
	.fx-tabs__panels { padding: 20px; }
}

/* Prvi redak sadržaja ne smije se zalijepiti za baner iznad sebe. */
.fx-banner + .fx-row, .fx-banner + .fx-anchor + .fx-row, .fx-banner + .fx-gap + .fx-row { margin-top: 48px; }
.fx-banner + .fx-section { padding-top: 56px; }

/* preneseno iz Custom CSS & JS (stranica Industrija) */
.industrijaTop { background-color: #fff; }
