/*
 * JB Cjenik – javni prikaz. Nasljeđuje font teme.
 * Cjenik i blok datoteka imaju VLASTITU tamnu boju teksta: teme često postave svijetli tekst za
 * stranice s tamnim fotografijama (npr. Astra + Elementor), pa bi naslijeđena boja na svijetloj
 * pozadini bila nevidljiva – a sidrena cijena mora biti jasno vidljiva. Boje se mijenjaju
 * varijablama (--jbc-text, --jbc-link …) u temi. [jb_cijena] u tekstu i dalje nasljeđuje boju okoline.
 */
.jbc-cjenik, .jbc-files {
	--jbc-text: #2a2320;
	--jbc-link: #7a4a2e;
	--jbc-muted: rgba(42, 35, 32, .72);
	--jbc-line: rgba(42, 35, 32, .16);
	--jbc-bg: rgba(42, 35, 32, .04);
	--jbc-field: #fff;
	--jbc-promo: #b3261e;
	color: var(--jbc-text) !important;
}
.jbc-cjenik :where(h2, h3, summary, span, p, td, th, li, strong),
.jbc-files :where(h2, h3, summary, span, p, td, th, li, strong) { color: inherit; }
.jbc-cjenik .jbc-section-title, .jbc-files .jbc-section-title,
.jbc-cjenik .jbc-cat > summary, .jbc-files .jbc-archive > summary,
.jbc-cjenik .jbc-title, .jbc-cjenik .jbc-current { color: var(--jbc-text) !important; }
.jbc-cjenik a, .jbc-files a { color: var(--jbc-link) !important; }
.jbc-cjenik .jbc-meta, .jbc-cjenik .jbc-count, .jbc-cjenik .jbc-unit, .jbc-cjenik .jbc-lowest,
.jbc-cjenik .jbc-anchor, .jbc-cjenik .jbc-legend, .jbc-cjenik .jbc-empty, .jbc-files .jbc-machine { color: var(--jbc-muted) !important; }
.jbc-cjenik .jbc-price--promo .jbc-current, .jbc-cjenik .jbc-price--promo .jbc-promo-name { color: var(--jbc-promo) !important; }
/* [jb_cijena] u tekstu: boja okoline (radi i na tamnoj i na svijetloj podlozi). */
.jbc-inline { --jbc-promo: #b3261e; }
.jbc-inline .jbc-unit, .jbc-inline .jbc-lowest, .jbc-inline .jbc-anchor, .jbc-inline .jbc-promo-name { color: inherit; opacity: .85; }
.jbc-cjenik { max-width: 900px; margin: 0 auto; }
.jbc-toolbar { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 0 0 20px; }
.jbc-search { flex: 1 1 260px; }
.jbc-search input { width: 100%; padding: 10px 14px; border: 1px solid var(--jbc-line); border-radius: 8px; font: inherit; box-sizing: border-box; background: var(--jbc-field) !important; color: var(--jbc-text) !important; }
.jbc-print-link { font-size: .9em; white-space: nowrap; }
.jbc-section { margin: 0 0 28px; }
.jbc-section-title { margin: 28px 0 12px; }
/* Teme često imaju ogromne naslove h2 (hero stil); u cjeniku umjerena veličina. */
.jbc-cjenik .jbc-section > .jbc-section-title { font-size: clamp(1.5rem, 3vw, 2.2rem) !important; line-height: 1.2 !important; }
.jbc-cat { border: 1px solid var(--jbc-line); border-radius: 10px; margin: 0 0 10px; background: transparent; }
.jbc-cat > summary { cursor: pointer; padding: 14px 16px; font-weight: 600; display: flex; justify-content: space-between; align-items: center; list-style: none; }
.jbc-cat > summary::-webkit-details-marker { display: none; }
.jbc-cat > summary::after { content: "+"; font-weight: 400; margin-left: 12px; }
.jbc-cat[open] > summary::after { content: "–"; }
.jbc-count { margin-left: auto; font-weight: 400; font-size: .85em; color: var(--jbc-muted); }
.jbc-list { list-style: none; margin: 0; padding: 0 16px 8px; }
.jbc-row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--jbc-line); }
.jbc-row:first-child { border-top: 0; }
.jbc-name { flex: 1 1 auto; min-width: 0; }
.jbc-title { display: block; }
.jbc-meta { display: block; font-size: .85em; color: var(--jbc-muted); }
.jbc-price { flex: 0 0 auto; text-align: right; max-width: 55%; }
.jbc-current { font-weight: 700; white-space: nowrap; }
.jbc-unit, .jbc-promo-name, .jbc-lowest, .jbc-anchor { display: block; font-size: .85em; color: var(--jbc-muted); }
.jbc-price--promo .jbc-current { color: var(--jbc-promo); }
.jbc-price--promo .jbc-promo-name { color: var(--jbc-promo); font-weight: 600; }
.jbc-inline .jbc-price { display: inline; text-align: left; max-width: none; }
.jbc-inline .jbc-unit, .jbc-inline .jbc-promo-name, .jbc-inline .jbc-lowest, .jbc-inline .jbc-anchor { display: inline; margin-left: .35em; }
.jbc-legend { font-size: .85em; color: var(--jbc-muted); margin: 18px 0; }
.jbc-files { margin-top: 28px; padding: 18px; border: 1px solid var(--jbc-line); border-radius: 10px; background: var(--jbc-bg); }
.jbc-files .jbc-section-title { font-size: 1.1em; }
.jbc-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.jbc-file { margin: 12px 0; }
.jbc-file h3 { font-size: 1em; margin: 0 0 6px; }
.jbc-btn { display: inline-block; padding: 10px 16px; border-radius: 8px; border: 1px solid currentColor; text-decoration: none; font-weight: 600; }
.jbc-btn--ghost { opacity: .8; }
.jbc-archive table { width: 100%; border-collapse: collapse; font-size: .9em; }
.jbc-archive td, .jbc-archive th { padding: 6px 8px; border-top: 1px solid var(--jbc-line); text-align: left; }
.jbc-machine { font-size: .8em; color: var(--jbc-muted); word-break: break-all; }
.jbc-empty { color: var(--jbc-muted); }
.jbc-row[hidden], .jbc-cat[hidden], .jbc-section[hidden] { display: none !important; }
@media (max-width: 560px) {
	.jbc-row { flex-direction: column; gap: 4px; }
	.jbc-price { text-align: left; max-width: none; }
}
