/* ==========================================================================
   BrendirajSe - glavni stil
   Boje i tipografija preuzeti sa starog sajta (Woodmart + Elementor kit).
   ========================================================================== */

:root {
	--bs-crvena: #D62828;
	--bs-crvena-btn: #FF4949;
	--bs-narandzasta: #F9A851;
	--bs-zuta: #FCBF49;
	--bs-zelena: #8EA604;
	--bs-zelena-ikona: #A9B24A;
	--bs-braon: #422203;
	--bs-krem: #F7F1E9;
	--bs-krem-svetla: #FBF8F4;
	--bs-tekst: #080808;
	--bs-naslov: #242424;
	--bs-siva: #777;
	--bs-linija: #E3E3E3;
	--bs-font: "Poppins", Arial, Helvetica, sans-serif;
	--bs-wrap: 1222px;
	--bs-gutter: 16px;
	--bs-radius: 8px;
	--bs-senka: 0 0 18px rgba(0, 0, 0, .14);
	--bs-header-h: 85px;
}

@media (max-width: 1024px) {
	:root { --bs-header-h: 60px; }
}

/* ---------- Osnova ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--bs-krem);
	color: var(--bs-tekst);
	font-family: var(--bs-font);
	font-size: 14px;
	font-weight: 500;
	font-style: italic;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--bs-naslov); text-decoration: none; }
a:hover { color: var(--bs-crvena); }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--bs-font);
	font-style: italic;
	font-weight: 900;
	color: var(--bs-naslov);
	line-height: 1.15;
	margin: 0 0 .5em;
}
p { margin: 0 0 1em; }
b, strong { font-weight: 600; }
/* Kurziv je sintetički (učitani su samo uspravni rezovi Poppins-a, kao na starom sajtu). */
html { font-synthesis: style; }
p:last-child { margin-bottom: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
::placeholder { font-style: italic; }
:focus-visible { outline: 2px solid var(--bs-crvena); outline-offset: 2px; }

.bs-wrap { max-width: var(--bs-wrap); margin: 0 auto; padding: 0 var(--bs-gutter); }
.bs-wrap--uzak { max-width: 980px; }
.bs-centar { text-align: center; }
.bs-crveno { color: var(--bs-crvena); }
.bs-skip { position: absolute; left: -9999px; top: 0; z-index: 999; background: #fff; padding: 8px 12px; }
.bs-skip:focus { left: 8px; top: 8px; }
.bs-hp { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }
.bs-ico { display: inline-block; flex: none; vertical-align: middle; }
[hidden] { display: none !important; }

.bs-sekcija { padding: 80px 0; }
@media (max-width: 768px) { .bs-sekcija { padding: 50px 0; } }

/* ---------- Dugmad ---------- */
.bs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px 40px;
	border: 0;
	border-radius: 5px;
	font-family: var(--bs-font);
	font-size: 16px;
	font-weight: 600;
	font-style: italic;
	text-transform: uppercase;
	line-height: 1.2;
	cursor: pointer;
	transition: filter .15s, transform .15s;
	text-align: center;
}
.bs-btn:hover { filter: brightness(.95); }
.bs-btn:active { transform: translateY(1px); }
.bs-btn--crveno { background: var(--bs-crvena); color: #fff; letter-spacing: .6px; }
.bs-btn--crveno:hover { color: #fff; }
.bs-btn--zuto { background: var(--bs-zuta); color: var(--bs-naslov); }
.bs-btn--zeleno { background: var(--bs-zelena); color: var(--bs-naslov); }
.bs-btn--narandzasto { background: var(--bs-narandzasta); color: var(--bs-naslov); font-weight: 800; }
.bs-btn--zuto:hover, .bs-btn--zeleno:hover, .bs-btn--narandzasto:hover { color: var(--bs-naslov); }
.bs-btn--crno { background: #222; color: #fff; }
.bs-btn--crno:hover { color: #fff; }
.bs-btn--veliko { padding: 18px 44px; font-size: 16px; }
.bs-btn--sire { min-width: 300px; }
.bs-btn--puno { width: 100%; border-radius: var(--bs-radius); padding: 15px; font-size: 15px; letter-spacing: 0; }
.bs-btn[disabled], .bs-btn.is-ceka { opacity: .6; cursor: wait; }

/* ---------- Header ---------- */
.bs-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--bs-crvena);
	height: var(--bs-header-h);
}
body.admin-bar .bs-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .bs-header { top: 0; } }
.bs-header__in {
	height: 100%;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
}
.bs-header__levo { display: flex; align-items: center; }
.bs-header__desno { display: flex; align-items: center; justify-content: flex-end; gap: 22px; }
.bs-logo img { width: 275px; max-width: 100%; margin-top: 4px; }

.bs-cats { position: relative; }
.bs-cats__btn {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 270px;
	height: 50px;
	padding: 0 16px 0 18px;
	border: 0;
	border-radius: var(--bs-radius);
	background: var(--bs-narandzasta);
	color: var(--bs-naslov);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
}
.bs-cats__btn span { flex: 1; text-align: left; }
.bs-cats__btn .bs-ico-chevron { transition: transform .2s; }
.bs-cats.is-otvoren .bs-cats__btn .bs-ico-chevron { transform: rotate(180deg); }
.bs-cats__panel {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	width: 300px;
	background: #fff;
	border-radius: var(--bs-radius);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
	padding: 8px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .18s, transform .18s, visibility .18s;
}
.bs-cats.is-otvoren .bs-cats__panel { opacity: 1; visibility: visible; transform: none; }
.bs-cats__panel ul { list-style: none; margin: 0; padding: 0; }
.bs-cats__panel a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 7px 18px;
	font-size: 16px;
	font-weight: 600;
	color: var(--bs-naslov);
}
.bs-cats__panel a:hover { background: var(--bs-krem); color: var(--bs-crvena); }
.bs-cats__panel img { width: 36px; height: 36px; object-fit: contain; }
.bs-cats__svi { border-top: 1px solid var(--bs-linija); margin-top: 6px; padding-top: 6px; }
.bs-cats__svi a { padding-left: 66px; text-transform: uppercase; font-size: 12px; font-weight: 800; color: var(--bs-crvena); }

.bs-nalog-link, .bs-korpa-link { color: #fff; display: inline-flex; align-items: center; gap: 10px; }
.bs-nalog-link:hover, .bs-korpa-link:hover { color: var(--bs-zuta); }
.bs-korpa-ikona { position: relative; display: inline-flex; }
.bs-korpa-broj {
	position: absolute;
	top: -7px;
	right: -9px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 8px;
	background: var(--bs-crvena-btn);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	font-style: normal;
	line-height: 16px;
	text-align: center;
}
.bs-korpa-ukupno { font-size: 13px; font-weight: 700; text-transform: uppercase; }

.bs-hamburger { display: none; background: none; border: 0; color: #fff; padding: 6px; margin-left: -6px; cursor: pointer; }

@media (max-width: 1024px) {
	.bs-cats { display: none; }
	.bs-hamburger { display: inline-flex; }
	.bs-logo img { width: 175px; margin-top: 2px; }
	.bs-nalog-link { display: none; }
	.bs-korpa-ukupno { display: none; }
	.bs-header__desno { gap: 12px; }
}

/* Mobilni meni */
.bs-mobilni { position: fixed; inset: 0; z-index: 200; background: rgba(0, 0, 0, .45); }
.bs-mobilni__panel {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(320px, 86vw);
	background: #fff;
	overflow-y: auto;
	animation: bsSlide .2s ease-out;
}
@keyframes bsSlide { from { transform: translateX(-100%); } to { transform: none; } }
.bs-mobilni__vrh { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; background: var(--bs-crvena); color: #fff; font-weight: 800; text-transform: uppercase; }
.bs-mobilni__zatvori { background: none; border: 0; color: #fff; cursor: pointer; }
.bs-mobilni ul { list-style: none; margin: 0; padding: 8px 0; }
.bs-mobilni__kat a { display: flex; align-items: center; gap: 12px; padding: 8px 18px; font-weight: 600; font-size: 16px; }
.bs-mobilni__kat img { width: 36px; height: 36px; object-fit: contain; }
.bs-mobilni__str { border-top: 1px solid var(--bs-linija); }
.bs-mobilni__str a { display: block; padding: 10px 18px; font-weight: 700; text-transform: uppercase; font-size: 13px; }
body.bs-meni-otvoren { overflow: hidden; }

/* ---------- Hero ---------- */
.bs-hero { background: var(--bs-narandzasta); padding: 50px 0; overflow: hidden; }
.bs-hero__in { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.bs-hero__tekst { flex: 1 1 auto; max-width: 780px; }
.bs-hero__kicker {
	font-size: 32px;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--bs-naslov);
	margin: 0 0 6px;
	line-height: 1.1;
	word-spacing: 6px;
}
.bs-hero__naslov {
	font-size: 56px;
	line-height: 1.05;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--bs-crvena);
	margin: 0 0 18px;
	word-spacing: 8px;
}
.bs-hero__pod { font-size: 24px; font-weight: 600; color: var(--bs-naslov); margin: 0 0 8px; line-height: 1.45; }
.bs-hero__pod--dugo { font-size: 20px; }
.bs-hero__napomena { font-size: 24px; font-weight: 700; text-transform: uppercase; color: var(--bs-naslov); margin: 0; }
.bs-hero__dugmad { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 32px; }
.bs-hero__slika { flex: 0 0 auto; }
.bs-hero__slika img { width: 250px; max-height: 220px; object-fit: contain; }

.bs-hero--naslovna { padding: 60px 0 60px; }
.bs-hero--naslovna .bs-hero__naslov { font-size: 75px; line-height: 1; margin-bottom: 20px; }
.bs-hero--naslovna .bs-hero__pod { font-size: 24px; font-weight: 700; }
.bs-hero--naslovna .bs-hero__slika img { width: 400px; max-height: 320px; }
.bs-hero--svi .bs-hero__naslov { font-size: 50px; font-weight: 800; word-spacing: 12px; }
.bs-hero--svi .bs-hero__pod { font-size: 20px; font-weight: 500; max-width: 720px; }

@media (max-width: 1024px) {
	.bs-hero__naslov { font-size: 42px; }
	.bs-hero--naslovna .bs-hero__naslov { font-size: 52px; }
	.bs-hero--naslovna .bs-hero__slika img { width: 280px; }
	.bs-hero__kicker { font-size: 26px; }
}
@media (max-width: 768px) {
	.bs-hero { padding: 26px 0; position: relative; }
	.bs-hero__in { display: block; position: relative; z-index: 1; }
	.bs-hero__naslov, .bs-hero--svi .bs-hero__naslov { font-size: 30px; word-spacing: 2px; margin-bottom: 10px; }
	.bs-hero--naslovna .bs-hero__naslov { font-size: 34px; }
	.bs-hero__kicker { font-size: 20px; }
	.bs-hero__pod, .bs-hero--naslovna .bs-hero__pod { font-size: 16px; }
	.bs-hero--svi .bs-hero__pod { font-size: 14px; }
	.bs-hero__napomena { font-size: 15px; }
	.bs-hero__slika { position: absolute; right: -10px; top: 50%; transform: translateY(-50%); opacity: .35; z-index: -1; }
	.bs-hero__slika img, .bs-hero--naslovna .bs-hero__slika img { width: 150px; }
	.bs-hero__dugmad { gap: 10px; margin-top: 18px; }
	.bs-hero__dugmad .bs-btn { padding: 13px 20px; font-size: 12px; }
}

/* ---------- Kartice (kategorije, proizvodi) ---------- */
.bs-kartice {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 70px 40px;
}
.bs-kartice--5 { grid-template-columns: repeat(5, 1fr); gap: 40px 30px; }
.bs-kartica a, .bs-kartica > span { display: flex; flex-direction: column; align-items: center; text-align: center; color: var(--bs-naslov); }
.bs-kartica__slika { display: block; width: 100%; max-width: 210px; aspect-ratio: 1; }
.bs-kartica__slika img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s ease; }
.bs-kartica a:hover .bs-kartica__slika img { transform: scale(1.05) rotate(-2deg); }
.bs-kartica__naziv {
	display: block;
	margin-top: 24px;
	font-size: 30px;
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--bs-naslov);
}
.bs-kartice--5 .bs-kartica__naziv { font-size: 34px; margin-top: 30px; }
.bs-kartice--proizvodi .bs-kartica__naziv { font-size: 30px; font-weight: 800; }
.bs-kartice--proizvodi .bs-kartica__naziv.is-kratko { font-size: 34px; }
.bs-kartice--proizvodi .bs-kartica__naziv.is-dugo { font-size: 24px; }
.bs-kartica a:hover .bs-kartica__naziv { color: var(--bs-crvena); }
.bs-kartica__cena { display: block; margin-top: 6px; font-size: 14px; font-weight: 700; color: var(--bs-crvena); }
.bs-kartica__cena small { color: var(--bs-siva); font-weight: 500; font-size: 12px; }
.bs-kartica--uskoro { cursor: default; }
@media (max-width: 1024px) {
	.bs-kartice, .bs-kartice--5 { grid-template-columns: repeat(3, 1fr); gap: 50px 24px; }
	.bs-kartica__naziv, .bs-kartice--5 .bs-kartica__naziv { font-size: 22px; }
}
@media (max-width: 768px) {
	.bs-kartice, .bs-kartice--5 { grid-template-columns: repeat(2, 1fr); gap: 36px 16px; }
	.bs-kartica__naziv, .bs-kartice--5 .bs-kartica__naziv, .bs-kartice--proizvodi .bs-kartica__naziv { font-size: 17px; margin-top: 14px; }
	.bs-kartica__slika { max-width: 150px; }
}

/* ---------- Naslovna ---------- */
.bs-naslovna-kat { padding: 80px 0 50px; }
.bs-naslovna-kat__jos { text-align: center; margin: 60px 0 14px; font-size: 17px; font-weight: 600; }
.bs-naslovna .bs-kartice--5 .bs-kartica:nth-child(n+6) { display: none; }
@media (max-width: 768px) {
	.bs-naslovna .bs-kartice--5 .bs-kartica:nth-child(5) { display: none; }
	.bs-naslovna-kat { padding: 40px 0 30px; }
	.bs-naslovna-kat__jos { margin-top: 30px; }
	.bs-btn--sire { min-width: 0; width: 100%; }
}

.bs-naslov-sekcije { text-align: center; max-width: 1110px; margin: 0 auto 60px; }
.bs-naslov-sekcije__ikona { width: 64px; margin: 0 auto 10px; }
.bs-naslov-sekcije__kicker { color: var(--bs-crvena); font-size: 14px; font-weight: 700; text-transform: uppercase; margin: 0 0 4px; }
.bs-naslov-sekcije__naslov { font-size: 56px; margin: 0 0 14px; }
.bs-naslov-sekcije__opis { font-size: 16px; font-weight: 400; line-height: 1.6; }
.bs-naslov-sekcije__opis a { text-decoration: underline; }
.bs-zasto { padding-top: 20px; }
@media (max-width: 768px) {
	.bs-naslov-sekcije__naslov { font-size: 38px; }
	.bs-naslov-sekcije__opis { font-size: 15px; }
}

.bs-info-mreza { display: grid; grid-template-columns: 1fr 1fr; gap: 60px 60px; max-width: 1140px; margin: 0 auto; }
.bs-info { display: flex; align-items: center; gap: 22px; padding: 0 25px; }
.bs-info h3 { font-size: 18px; font-weight: 900; margin: 0 0 8px; }
.bs-info p { font-size: 14px; line-height: 1.6; }
.bs-info__ikona { flex: 0 0 150px; }
.bs-info__ikona img { width: 150px; height: 150px; }
.bs-info--desno { flex-direction: row-reverse; text-align: right; }
@media (max-width: 1024px) { .bs-info-mreza { gap: 40px 20px; } .bs-info { padding: 0; } .bs-info__ikona { flex-basis: 110px; } .bs-info__ikona img { width: 110px; height: 110px; } }
@media (max-width: 768px) {
	.bs-info-mreza { grid-template-columns: 1fr; gap: 50px; }
	.bs-info__ikona { flex-basis: 120px; }
	.bs-info__ikona img { width: 120px; height: 120px; }
}

/* ---------- CTA i futer ---------- */
.bs-cta { background: var(--bs-crvena); padding: 42px 0; }
.bs-cta__in { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.bs-cta__naslov { font-size: 56px; font-weight: 900; line-height: 1; color: var(--bs-krem); margin: 0 0 8px; }
.bs-cta__pod { font-size: 18px; color: var(--bs-naslov); margin: 0; }
.bs-cta .bs-btn { margin-right: 40px; }
.bs-footer__dno { background: var(--bs-narandzasta); padding: 18px 0; font-size: 14px; }
.bs-footer__dno-in { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.bs-footer__linkovi ul { list-style: none; display: flex; flex-wrap: wrap; margin: 0; padding: 0; }
.bs-footer__linkovi li + li::before { content: "|"; margin: 0 6px; }
.bs-footer__linkovi a, .bs-footer__sm { color: var(--bs-naslov); }
.bs-footer__sm span { color: var(--bs-crvena); font-weight: 600; }
@media (max-width: 768px) {
	.bs-cta { padding: 34px 0; }
	.bs-cta__in { flex-direction: column; text-align: center; }
	.bs-cta__naslov { font-size: 40px; }
	.bs-cta__pod { font-size: 15px; }
	.bs-cta .bs-btn { margin: 0; }
	.bs-footer__dno-in { flex-direction: column; text-align: center; }
	.bs-footer__linkovi ul { justify-content: center; }
}

/* ---------- Naslov strane (obične strane) ---------- */
.bs-naslov-strane { background: var(--bs-narandzasta); padding: 24px 0 22px; text-align: center; }
.bs-naslov-strane h1 { font-size: 44px; margin: 0 0 6px; }
.bs-mrvice { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--bs-naslov); }
.bs-mrvice a { color: var(--bs-naslov); }
.bs-mrvice span[aria-hidden] { margin: 0 6px; }
@media (max-width: 768px) { .bs-naslov-strane h1 { font-size: 32px; } }

/* ---------- Tekstualni sadržaj ---------- */
.bs-sadrzaj { font-size: 14px; line-height: 1.75; }
.bs-sadrzaj h2 { font-size: 28px; margin-top: 1.4em; }
.bs-sadrzaj h3 { font-size: 22px; margin-top: 1.4em; }
.bs-sadrzaj h4 { font-size: 17px; margin-top: 1.2em; }
.bs-sadrzaj > :first-child { margin-top: 0; }
.bs-sadrzaj ul, .bs-sadrzaj ol { padding-left: 1.3em; margin: 0 0 1em; }
.bs-sadrzaj li { margin-bottom: .35em; }
.bs-sadrzaj a { color: var(--bs-crvena); text-decoration: underline; }
.bs-strana { padding: 70px 0; }

.bs-poruka { padding: 14px 18px; border-radius: var(--bs-radius); margin-bottom: 20px; font-weight: 600; }
.bs-poruka--ok { background: #E6F2D0; color: #3F5200; }
.bs-poruka--greska { background: #FBE0E0; color: #8A1C1C; }

/* ---------- Forme (kontakt, WooCommerce) ---------- */
.bs-forma label, .woocommerce form .form-row label { display: block; font-size: 14px; font-weight: 400; margin-bottom: 4px; }
.bs-forma input[type=text], .bs-forma input[type=email], .bs-forma textarea,
.woocommerce form .form-row .input-text, .woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
.bs-smk input[type=number], .bs-smk input[type=text], .bs-smk input[type=email], .bs-smk textarea, .bs-smk select {
	width: 100%;
	padding: 10px 14px;
	border: 2px solid var(--bs-linija);
	border-radius: 0;
	background: #fff;
	font-size: 14px;
	font-style: italic;
	font-weight: 500;
	line-height: 1.4;
	min-height: 44px;
}
.bs-forma textarea, .woocommerce form .form-row textarea { min-height: 170px; resize: vertical; }
.bs-forma input:focus, .bs-forma textarea:focus, .woocommerce form .form-row .input-text:focus { border-color: var(--bs-narandzasta); outline: none; }

/* ---------- Kontakt ---------- */
.bs-kontakt__in { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 90px; max-width: 1060px; }
.bs-kontakt__kicker { color: #9A9A9A; text-transform: uppercase; font-size: 14px; font-weight: 500; margin: 0; }
.bs-kontakt__naslov { font-size: 22px; text-transform: uppercase; margin: 2px 0 10px; }
.bs-kontakt__forma > p { font-size: 14px; font-weight: 500; }
.bs-kontakt__podaci h3 { font-size: 18px; margin: 0 0 12px; }
.bs-kontakt__podaci ul { list-style: none; padding: 0; margin: 0 0 26px; }
.bs-kontakt__podaci li { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 8px; font-size: 14px; }
.bs-kontakt__podaci .bs-ico { margin-top: 3px; color: #555; }
@media (max-width: 900px) { .bs-kontakt__in { grid-template-columns: 1fr; gap: 40px; } }

/* ---------- Arhiva ---------- */
.bs-arhiva { padding: 90px 0 100px; }
.bs-arhiva__opis { max-width: 900px; margin: 80px auto 0; }
@media (max-width: 768px) { .bs-arhiva { padding: 50px 0 60px; } }

/* ---------- Proizvod ---------- */
.bs-proizvod__vrh {
	--bs-proizvod-bg: url(../img/proizvodi-bg.png);
	background: var(--bs-proizvod-bg) center 40px / contain no-repeat;
	padding: 60px 0 80px;
}
.bs-proizvod__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px 180px;
	gap: 50px;
	align-items: start;
	padding-left: calc(var(--bs-gutter) + 60px);
}
.bs-nazad { display: inline-block; font-size: 11px; font-weight: 800; text-transform: uppercase; color: var(--bs-crvena); margin-bottom: 12px; }
.bs-proizvod__naslov { font-size: 50px; font-weight: 900; text-transform: uppercase; line-height: 1.1; margin: 0 0 18px; }
.bs-proizvod__kratko { font-size: 16px; font-weight: 500; max-width: 440px; margin-bottom: 36px; }
.bs-galerija { max-width: 400px; margin-left: 40px; }
.bs-galerija__glavna { background: #fff; box-shadow: var(--bs-senka); }
.bs-galerija__glavna img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.bs-galerija__male { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.bs-galerija__male button { width: 62px; height: 62px; padding: 0; border: 2px solid transparent; background: #fff; cursor: pointer; }
.bs-galerija__male button.is-aktivna { border-color: var(--bs-narandzasta); }
.bs-galerija__male img { width: 100%; height: 100%; object-fit: cover; }
.bs-proizvod__kartica { background: #fff; box-shadow: var(--bs-senka); padding: 24px 22px 18px; }
.bs-proizvod__alati { display: flex; flex-direction: column; gap: 14px; padding-top: 6px; }
.bs-alat { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 0; font-size: 14px; font-weight: 600; color: var(--bs-naslov); cursor: pointer; text-align: left; }
.bs-alat:hover { color: var(--bs-crvena); }
@media (max-width: 1200px) {
	.bs-proizvod__grid { grid-template-columns: minmax(0, 1fr) 380px; padding-left: var(--bs-gutter); }
	.bs-proizvod__alati { grid-column: 2; flex-direction: row; flex-wrap: wrap; }
	.bs-galerija { margin-left: 0; }
}
@media (max-width: 860px) {
	.bs-proizvod__vrh { padding: 30px 0 50px; background-size: 200% auto; background-position: center 0; }
	.bs-proizvod__grid { grid-template-columns: 1fr; gap: 26px; }
	.bs-proizvod__alati { grid-column: auto; order: 3; }
	.bs-proizvod__naslov { font-size: 32px; }
	.bs-galerija { max-width: 100%; }
	.bs-proizvod__kartica { padding: 20px 16px 16px; }
}

.bs-prednosti { padding: 40px 0 70px; }
.bs-prednosti__in { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; max-width: 1060px; }
.bs-prednost { text-align: center; }
.bs-prednost img { width: 96px; height: 96px; margin: 0 auto 18px; }
.bs-prednost h3 { font-size: 18px; font-weight: 900; margin-bottom: 8px; }
.bs-prednost p { font-size: 14px; line-height: 1.6; max-width: 340px; margin: 0 auto; }
@media (max-width: 768px) { .bs-prednosti__in { grid-template-columns: 1fr; gap: 36px; } }

.bs-opis { background: var(--bs-krem-svetla); padding: 50px 0; }
.bs-opis__in { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; max-width: 1060px; }
.bs-opis--slika .bs-opis__in { grid-template-columns: 240px minmax(0, 1fr); }
.bs-opis__slika img { width: 240px; }
.bs-opis__tekst { font-size: 18px; font-weight: 400; }
.bs-opis__tekst h2 { font-size: 22px; font-weight: 900; margin: 0 0 14px; }
@media (max-width: 768px) {
	.bs-opis--slika .bs-opis__in { grid-template-columns: 1fr; gap: 20px; }
	.bs-opis__slika img { width: 180px; margin: 0 auto; }
	.bs-opis__tekst { font-size: 14px; }
}

.bs-bolje { padding: 70px 0 60px; }
.bs-bolje h2 { font-size: 22px; font-weight: 900; margin-bottom: 14px; }
.bs-bolje p { font-size: 14px; line-height: 1.7; margin-bottom: 6px; }
.bs-bolje__precrtano { text-decoration: line-through; color: #B0B0B0; }

.bs-dva-bloka { padding: 40px 0 40px; }
.bs-dva-bloka__in { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; max-width: 1060px; }
.bs-blok img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; margin-bottom: 26px; }
.bs-blok h3 { font-size: 34px; font-weight: 800; text-transform: uppercase; margin-bottom: 14px; }
.bs-blok p, .bs-blok li { font-size: 14px; line-height: 1.7; }
.bs-blok ul { padding-left: 1.4em; }
.bs-blok a { text-decoration: underline; }
@media (max-width: 768px) { .bs-dva-bloka__in { grid-template-columns: 1fr; gap: 50px; } .bs-blok h3 { font-size: 22px; } }

.bs-napomena-dno { padding: 30px 0 60px; }
.bs-napomena-dno p { font-size: 12px; font-weight: 300; line-height: 1.6; color: #333; max-width: 1060px; margin: 0 auto; }

/* Modal */
.bs-modal { position: fixed; inset: 0; z-index: 300; background: rgba(0, 0, 0, .6); display: flex; align-items: center; justify-content: center; padding: 20px; }
.bs-modal__okvir { position: relative; background: #fff; padding: 20px; max-width: 760px; max-height: 90vh; overflow: auto; }
.bs-modal__zatvori { position: absolute; top: 6px; right: 6px; background: #fff; border: 0; border-radius: 50%; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; cursor: pointer; }

/* ==========================================================================
   Konfigurator (HTML dolazi iz plugina SM Konfigurator)
   ========================================================================== */
.bs-smk { font-size: 14px; }
.bs-smk__polje { margin-bottom: 20px; border: 0; padding: 0; min-width: 0; }
.bs-smk__oznaka {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	padding: 0;
	font-size: 16px;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--bs-naslov);
}
.bs-smk__pomoc { display: inline-flex; color: var(--bs-naslov); cursor: help; position: relative; }
.bs-smk__pomoc:hover::after, .bs-smk__pomoc:focus::after {
	content: attr(data-tip);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 6px);
	transform: translateX(-50%);
	background: var(--bs-crvena);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	text-transform: none;
	white-space: nowrap;
	padding: 4px 8px;
	border-radius: 4px;
}
.bs-smk__lista { display: flex; flex-direction: column; }
.bs-smk__red {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px 8px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 400;
	border-radius: 3px;
	position: relative;
}
.bs-smk__red:nth-child(odd) { background: var(--bs-krem); }
.bs-smk__red input { accent-color: var(--bs-crvena); margin: 0; flex: none; width: 15px; height: 15px; }
.bs-smk__red:has(input:checked) { font-weight: 600; box-shadow: inset 3px 0 0 var(--bs-crvena); }
.bs-smk__red-naziv { flex: 1; }
.bs-smk__red-desno { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; text-align: right; }
.bs-smk__kom { font-size: 12px; font-weight: 600; color: var(--bs-naslov); white-space: nowrap; }
.bs-smk__popust { font-size: 11px; font-weight: 600; color: #3E8E1D; white-space: nowrap; }
.bs-smk__popust--uzorak { color: var(--bs-crvena); }
.bs-smk__red.is-istaknut .bs-smk__red-naziv::after { content: "Najpopularnije"; margin-left: 6px; font-size: 9px; font-weight: 800; text-transform: uppercase; color: #fff; background: var(--bs-narandzasta); padding: 1px 5px; border-radius: 3px; vertical-align: 2px; }

.bs-smk__proizvoljno { margin-top: 8px; }
.bs-smk__proizvoljno input { max-width: 160px; }
.bs-smk__proizvoljno p { font-size: 12px; margin: 6px 0 0; color: #555; }

.bs-smk__boje { display: flex; flex-wrap: wrap; gap: 8px; }
.bs-smk__boja { position: relative; cursor: pointer; }
.bs-smk__boja input { position: absolute; opacity: 0; pointer-events: none; }
.bs-smk__boja span { display: block; width: 30px; height: 30px; border-radius: 50%; border: 1px solid #D6D6D6; box-shadow: inset 0 0 0 2px #fff; }
.bs-smk__boja input:checked + span { outline: 2px solid var(--bs-naslov); outline-offset: 2px; }
.bs-smk__boja input:focus-visible + span { outline: 2px solid var(--bs-crvena); outline-offset: 2px; }
.bs-smk__boja-naziv { font-size: 12px; margin-top: 6px; color: #444; }

.bs-smk__dim { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bs-smk__dim label { font-size: 12px; font-weight: 600; }

.bs-smk__velicine h4 { font-size: 15px; font-weight: 600; text-transform: uppercase; margin: 10px 0 6px; }
.bs-smk__velicine-red { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.bs-smk__velicine-red label { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 16px; font-weight: 900; }
.bs-smk__velicine-red input { text-align: center; padding: 6px 4px !important; min-height: 38px !important; }
.bs-smk__velicine-status { font-size: 12px; margin-top: 8px; font-weight: 600; }
.bs-smk__velicine-status.is-greska { color: var(--bs-crvena); }
.bs-smk__velicine-status.is-ok { color: #3E8E1D; }

.bs-smk__upload {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 86px;
	padding: 16px;
	border: 2px dashed #222;
	border-radius: 6px;
	text-align: center;
	font-size: 14px;
	cursor: pointer;
	transition: background .15s, border-color .15s;
}
.bs-smk__upload:hover, .bs-smk__upload.is-prevlaci { background: var(--bs-krem); border-color: var(--bs-crvena); }
.bs-smk__upload input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.bs-smk__upload u { font-weight: 500; }
.bs-smk__upload small { color: #777; font-size: 11px; }
.bs-smk__fajlovi { list-style: none; margin: 8px 0 0; padding: 0; }
.bs-smk__fajl { display: flex; align-items: center; gap: 8px; padding: 6px 8px; background: var(--bs-krem); margin-bottom: 4px; font-size: 12px; border-radius: 4px; }
.bs-smk__fajl img { width: 36px; height: 36px; object-fit: cover; background: #fff; }
.bs-smk__fajl span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs-smk__fajl button { background: none; border: 0; color: var(--bs-crvena); cursor: pointer; font-size: 18px; line-height: 1; padding: 0 4px; }
.bs-smk__fajl progress { width: 70px; height: 6px; }
.bs-smk__fajl.is-greska { background: #FBE0E0; color: #8A1C1C; }

.bs-smk__napomena { font-size: 12px; line-height: 1.55; margin: 0 0 18px; }
.bs-smk__napomena strong { color: var(--bs-crvena); font-weight: 600; }
.bs-smk textarea { min-height: 80px; }

.bs-smk__ukupno {
	background: var(--bs-krem);
	border-radius: var(--bs-radius);
	padding: 12px 16px;
	margin: 26px 0 14px;
}
.bs-smk__ukupno-red { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 16px; font-weight: 700; color: #000; }
.bs-smk__ukupno-cena { color: var(--bs-crvena-btn); font-size: 16px; font-weight: 600; }
.bs-smk__ukupno-kom { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; color: #444; margin-top: 2px; }
.bs-smk__ukupno-usteda { color: #3E8E1D; font-weight: 700; }
.bs-smk__dugmad { display: flex; flex-direction: column; gap: 10px; }
.bs-smk__dugmad .bs-btn--crveno { background: var(--bs-crvena-btn); letter-spacing: .02em; }
.bs-smk__placanje { text-align: center; font-size: 12px; margin: 12px 0 0; }
.bs-smk__greska { background: #FBE0E0; color: #8A1C1C; padding: 10px 12px; border-radius: 6px; font-size: 13px; font-weight: 600; margin-bottom: 14px; }
.bs-smk__cena-od { font-size: 13px; margin: -6px 0 18px; }
.bs-smk__cena-od strong { color: var(--bs-crvena); font-size: 17px; }

/* Set */
.bs-smk__set-lista { list-style: none; margin: 0 0 18px; padding: 0; }
.bs-smk__set-lista li { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--bs-linija); font-size: 13.5px; }
.bs-smk__set-lista img { width: 44px; height: 44px; object-fit: contain; background: var(--bs-krem); }
.bs-smk__set-lista b { margin-left: auto; font-weight: 700; white-space: nowrap; }

/* ==========================================================================
   WooCommerce: korpa, plaćanje, nalog, obaveštenja
   ========================================================================== */
.bs-strana--wc { padding: 60px 0 80px; }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error,
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border: 0;
	border-radius: var(--bs-radius);
	background: #fff;
	box-shadow: var(--bs-senka);
	padding: 16px 20px 16px 50px;
	font-size: 14px;
	font-weight: 600;
	list-style: none;
}
.woocommerce-message { border-left: 5px solid var(--bs-zelena); }
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus, .woocommerce-NoticeGroup:focus { outline: 0; }
.woocommerce-info { border-left: 5px solid var(--bs-narandzasta); }
.woocommerce-error { border-left: 5px solid var(--bs-crvena); }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { top: 16px; left: 18px; }
.woocommerce-message::before { color: var(--bs-zelena); }
.woocommerce-info::before { color: var(--bs-narandzasta); }
.woocommerce-error::before { color: var(--bs-crvena); }
.woocommerce-message .button, .woocommerce-info .button { float: right; }

.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce-page .button {
	background: var(--bs-crvena-btn);
	color: #fff;
	border-radius: var(--bs-radius);
	font-family: var(--bs-font);
	font-style: italic;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 13px;
	padding: 13px 22px;
	border: 0;
	line-height: 1.2;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
	background: var(--bs-crvena);
	color: #fff;
}
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { background: #ccc; color: #666; padding: 13px 22px; }
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order { width: 100%; padding: 18px; font-size: 15px; }

.woocommerce table.shop_table { border: 0; border-radius: 0; background: #fff; box-shadow: var(--bs-senka); border-collapse: collapse; }
.woocommerce table.shop_table th { font-weight: 800; text-transform: uppercase; font-size: 12px; padding: 14px 16px; }
.woocommerce table.shop_table td { padding: 14px 16px; border-top: 1px solid var(--bs-linija); font-size: 14px; }
.woocommerce table.shop_table img { width: 70px; }
.woocommerce table.cart td.product-name a { font-weight: 800; font-size: 15px; }
.woocommerce table.cart .product-quantity, .woocommerce table.cart th.product-quantity { display: none; }
.woocommerce td.product-name dl.variation { margin: 6px 0 0; font-size: 12.5px; font-weight: 500; }
.woocommerce td.product-name dl.variation dt { font-weight: 700; float: left; clear: left; margin-right: 4px; }
.woocommerce td.product-name dl.variation dd { margin: 0 0 2px; }
.woocommerce td.product-name dl.variation dd p { margin: 0; }
.woocommerce a.remove { color: var(--bs-crvena) !important; }
.woocommerce a.remove:hover { background: var(--bs-crvena); color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3 { font-size: 20px; text-transform: uppercase; }
.woocommerce .cart-collaterals .cart_totals { width: 100%; max-width: 480px; float: right; }
.woocommerce table.cart td.actions .coupon .input-text { width: 180px; min-height: 42px; border: 2px solid var(--bs-linija); padding: 8px 12px; }
.woocommerce-checkout #payment { background: #fff; border-radius: 0; box-shadow: var(--bs-senka); }
.woocommerce-checkout #payment div.payment_box { background: var(--bs-krem); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--bs-krem); }
.woocommerce form .form-row { margin-bottom: 12px; }
.woocommerce form .form-row .required { color: var(--bs-crvena); }
#order_review_heading { margin-top: 10px; }
.woocommerce-checkout .col2-set, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { width: 100%; }
@media (min-width: 900px) {
	.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 0 50px; align-items: start; }
	.woocommerce-checkout form.checkout > .col2-set { grid-column: 1; grid-row: 1 / span 3; }
	.woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; }
	.woocommerce-checkout form.checkout > #order_review { grid-column: 2; }
	.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: 100%; }
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; background: #fff; box-shadow: var(--bs-senka); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 11px 16px; font-weight: 700; border-bottom: 1px solid var(--bs-linija); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--bs-crvena); }
.woocommerce form.login, .woocommerce form.register { border: 0; background: #fff; box-shadow: var(--bs-senka); border-radius: 0; }
.woocommerce .woocommerce-customer-details address { border: 0; background: #fff; }
.wc-empty-cart-message + .return-to-shop, .return-to-shop { text-align: center; }
.cart-empty.woocommerce-info { text-align: center; padding-left: 20px; }
.cart-empty.woocommerce-info::before { display: none; }
