/**
 * Stranica kategorije — čipovi podkategorija i traka s filterima.
 *
 * Desktop ostaje kakav je bio: čipovi se ne prikazuju, gumb za filtere je
 * skriven, a sortiranje se ponaša kao i dosad jer je i dalje WooCommerceov
 * `form.woocommerce-ordering`, samo unutar omotača `.lk-traka`.
 *
 * Sve novo živi ispod 992 px. Klase nose prefiks `lk-` jer tema koristi
 * Bootstrap, pa bi se `.traka` ili `.panel` miješali s njegovima.
 */

.lk-pk {
	--lk-o: #FA9C18;
	--lk-d: #212529;
	--lk-m: #767676;
	--lk-b: #ddd;
}

/* ==========================================================================
   Desktop — sve novo je skriveno
   ========================================================================== */

/* Zaglavlje, podnožje i zastor dodaje kategorija.js bez obzira na širinu,
   jer se JS izvodi jednom. Na desktopu ih gasimo ovdje — inače se pojave
   unutar bočnog stupca kao „Filteri ✕" i „Poništi / Prikaži proizvode". */
.lk-pk,
.lk-traka__filteri,
.lk-aktivni,
.lk-panel__vrh,
.lk-panel__dno,
.lk-zastor {
	display: none;
}

/* ==========================================================================
   Prazan rezultat — vrijedi na svim širinama
   ========================================================================== */

.lk-prazno {
	border: 1px solid #ddd;
	padding: 28px 24px;
	text-align: center;
}

.lk-prazno__naslov {
	margin: 0 0 18px;
	font-size: 18px;
	font-weight: 500;
}

.lk-prazno__gumb {
	display: inline-block;
	padding: 13px 26px;
	background: #FA9C18;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	box-shadow: none;
}

.lk-prazno__gumb:hover,
.lk-prazno__gumb:focus {
	color: #fff;
	filter: brightness(.93);
}

/* ==========================================================================
   Mobitel i tablet
   ========================================================================== */

@media (max-width: 991px) {

	/* --- čipovi podkategorija --- */

	.lk-pk {
		display: flex;
		gap: 8px;
		overflow-x: auto;
		margin: 0 -12px 2px;
		padding: 0 12px 6px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.lk-pk::-webkit-scrollbar {
		display: none;
	}

	/* Naziv se smije prelomiti u dva retka; gornja granica širine postavljena
	   je tako da uz „Sve" na 390 px stanu dvije pune kategorije. */
	.lk-pk__cip {
		display: flex;
		align-items: center;
		flex: 0 0 auto;
		max-width: 145px;
		padding: 8px 14px;
		border: 1px solid #ddd;
		background: #fff;
		color: #212529;
		font-size: 15px;
		line-height: 1.25;
		text-decoration: none;
		box-shadow: none;
	}

	.lk-pk__cip:hover,
	.lk-pk__cip:focus {
		color: #212529;
		text-decoration: none;
		box-shadow: none;
	}

	.lk-pk__cip.is-tekuca {
		border-color: #FA9C18;
		background: #fffaf2;
	}

	/* „Sve" je tamno samo dok je doista odabrano. Čim se odabere neka
	   podkategorija, ponaša se kao i svi ostali čipovi. */
	.lk-pk__cip--sve.is-tekuca {
		border-color: #212529;
		background: #212529;
		color: #fff;
	}

	.lk-pk__cip--sve.is-tekuca:hover,
	.lk-pk__cip--sve.is-tekuca:focus {
		color: #fff;
	}

	/* --- traka: filteri i sortiranje --- */

	/* Mreža, a ne flex: gumb i sortiranje moraju biti točno pola-pola, a kao
	   flex stavke su se razilazile jer im se sadržaj različito skuplja. */
	.lk-traka {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		margin-bottom: 14px;
	}

	.lk-traka > * {
		min-width: 0;
	}

	/* Bez pogodaka nema sortiranja, pa gumb uzima cijeli red. */
	.lk-traka--bez-sortiranja {
		grid-template-columns: 1fr;
	}

	.lk-traka__filteri {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		height: 44px;
		padding: 0 12px;
		border: 1px solid #ddd;
		border-radius: 0;
		background: #fff;
		font-family: inherit;
		font-size: 15px;
		color: #212529;
	}

	.lk-traka__filteri svg {
		flex: 0 0 auto;
	}

	/* Ista debljina obruba kao kod odabranog čipa — samo boja, bez zadebljanja. */
	.lk-traka__filteri.is-aktivan {
		border-color: #FA9C18;
		background: #fffaf2;
	}

	.lk-traka__znacka {
		min-width: 20px;
		height: 20px;
		padding: 0 6px;
		border-radius: 10px;
		background: #FA9C18;
		color: #fff;
		font-size: 12px;
		line-height: 20px;
		text-align: center;
	}

	/* Tema sortiranju ispod 992 px nameće float i lijevi razmak; unutar trake
	   to smeta, a `!important` je nužan jer ga i tema tako postavlja. */
	.lk-traka form.woocommerce-ordering {
		float: none !important;
		margin: 0 !important;
		display: flex;
	}

	.lk-traka form.woocommerce-ordering select.orderby {
		width: 100%;
		height: 44px;
		margin: 0 !important;
		border: 1px solid #ddd !important;
		border-radius: 0;
		background: #fff;
		font-size: 15px;
	}

	/* --- oznake odabranih filtera ispod trake --- */

	.lk-aktivni {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin: -4px 0 14px;
	}

	.lk-aktivni:empty {
		display: none;
	}

	.lk-aktivni__oznaka {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 5px 10px;
		border: 0;
		border-radius: 0;
		background: #f3f4f6;
		font-family: inherit;
		font-size: 13px;
		color: #212529;
	}

	.lk-aktivni__oznaka i {
		font-style: normal;
		font-size: 14px;
		line-height: 1;
		color: #767676;
	}

	.lk-aktivni__ocisti {
		align-self: center;
		font-size: 13px;
		color: #767676;
		text-decoration: underline;
		box-shadow: none;
	}

	/* --- stupac s filterima postaje klizni panel --- */

	.col-filters {
		display: flex !important;
		flex-direction: column;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 1051;
		width: 330px;
		max-width: 88vw;
		height: auto;
		margin: 0;
		padding: 0;
		background: #fff;
		box-shadow: -8px 0 24px rgba(0, 0, 0, .12);
		transform: translateX(100%);
		transition: transform .25s ease;
		visibility: hidden;
	}

	/* Produkcijski style.css stupcu daje `.col-filters.sticky { top: 20px }`
	   na svim širinama, a dvije klase nadjačaju gornji `top: 0`. */
	.col-filters.sticky {
		top: 0;
	}

	body.lk-filteri-otvoreni .col-filters {
		transform: none;
		visibility: visible;
	}

	/* Tema ovo koristi za stari način prikaza; unutar panela smeta. */
	.col-filters.active {
		margin: 0;
	}

	.col-filters__in {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		margin: 0 !important;
		padding: 0 16px 16px;
		-webkit-overflow-scrolling: touch;
	}

	/* Stari gumb je ostao unutar stupca i sada ga zamjenjuje onaj u traci. */
	.col-filters .togglefilters {
		display: none !important;
	}

	/* Nosio je `style="display: none"`, koji je na desktopu gasio Bootstrapov
	   `d-lg-block`, a na mobitelu je držao filtere zatvorenima. */
	.col-filters #js-filters {
		display: block !important;
	}

	.col-filters .col-filters__section {
		border: 0;
		border-bottom: 1px solid #eee;
		padding: 7px 0;
	}

	/* Na produkciji više BeRocketovih filtara dijeli jednu sekciju, pa razmak
	   među njima dolazi odavde, a ne od `.col-filters__section`. */
	.col-filters .bapf_sfilter {
		margin: 0;
		padding: 7px 0;
	}

	.col-filters .bapf_sfilter + .bapf_sfilter {
		border-top: 1px solid #eee;
	}

	.col-filters .col-filters__section:last-child {
		border-bottom: 0;
	}

	.col-filters .sidebar-title {
		font-size: 13px !important;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: .5px;
		color: #767676;
		margin-bottom: 6px;
	}

	/* Naslov BeRocketova filtra (`.bapf_head`) i njegove vrijednosti u
	   `.bapf_body`. U panelu je tijesno, pa se razmaci stišću. */
	.col-filters .bapf_head {
		margin-bottom: 6px;
	}

	.col-filters .bapf_head h3 {
		margin-bottom: 0;
		font-size: 13px;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: .5px;
		color: #767676;
	}

	.col-filters .bapf_body ul {
		margin-bottom: 0;
	}

	.col-filters .bapf_body ul li {
		margin-bottom: 0;
		padding-top: 3px;
		padding-bottom: 3px;
	}

	/* Tema poveznici kategorije daje `margin: 3px 0 4px`, što je u popisu
	   davalo 7 px praznog između redaka. U panelu razmak drži samo padding. */
	.col-filters .sidebar-cats li a {
		margin: 0;
		padding-top: 2px;
		padding-bottom: 2px;
		line-height: 1.35;
	}

	/* --- zaglavlje i podnožje panela, oboje dodaje kategorija.js --- */

	.lk-panel__vrh {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 14px 16px;
		border-bottom: 1px solid #ddd;
		font-size: 17px;
		font-weight: 500;
	}

	.lk-panel__x {
		border: 0;
		background: transparent;
		padding: 4px 8px;
		font-size: 22px;
		line-height: 1;
		color: #767676;
	}

	.lk-panel__dno {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px 16px;
		border-top: 1px solid #ddd;
	}

	.lk-panel__ponisti {
		font-size: 14px;
		color: #767676;
		text-decoration: underline;
		white-space: nowrap;
		box-shadow: none;
	}

	.lk-panel__prikazi {
		flex: 1 1 auto;
		height: 46px;
		border: 0;
		border-radius: 0;
		background: #FA9C18;
		color: #fff;
		font-family: inherit;
		font-size: 15px;
		font-weight: 500;
	}

	/* --- zastor --- */

	.lk-zastor {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 1050;
		background: rgba(0, 0, 0, .45);
		opacity: 0;
		visibility: hidden;
		transition: opacity .25s ease, visibility .25s ease;
	}

	body.lk-filteri-otvoreni .lk-zastor {
		opacity: 1;
		visibility: visible;
	}

	body.lk-filteri-otvoreni {
		overflow: hidden;
	}
}
