/* Filtrele din listele de produse, deasupra produselor: tipul (Toate, Aspirator
   simplu, Pachet complet, Retractabil FLEXIN; la SVAC Aspiratoare, RetraFlex, Kituri
   de montaj..., apoi bara subcategoriei) și, unde contează, un atribut: suprafața
   casei la seturi, spațiul pentru aspiratoarele SVAC, numărul de prize la kiturile
   SVAC. Se încarcă doar pe categoriile care au filtre, după site.css. Prefixul
   :is(body.vv-site.et-db #et-boc, body.vv-site) trece peste stilurile Divi pentru
   liste, paragrafe și linkuri. */

/* minmax(0, 1fr) și min-width: 0: pe telefon barele se derulează în pagină, nu o lățesc. */
:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-filters {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	margin: 18px 0 22px;
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	min-width: 0;
	margin: 0;
}

/* Bara subcategoriei (tipul aspiratorului, al accesoriului...), despărțită printr-o
   linie de bara generală de deasupra. */
:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types--sub {
	padding-top: 14px;
	border-top: 1px solid var(--vv-line);
}

/* Grupul pe mai multe rânduri (Sisteme și accesorii, Instalare și piese de schimb):
   titlul fiecărui rând deasupra butoanelor, și când rândul e scurt. */
:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types--rows .vv-types__title {
	flex-basis: 100%;
}

/* Lățime fixă, ca butoanele celor două bare să înceapă în același loc. */
:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types__title {
	min-width: 150px;
	margin: 0;
	padding: 0;
	color: var(--vv-ink-2);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.3;
	text-transform: uppercase;
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types__list {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types__list > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types__list > li::before {
	content: none;
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-type {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 8px 9px 8px 14px;
	border: 1.5px solid var(--vv-line);
	border-radius: 999px;
	background: var(--vv-surface);
	color: var(--vv-ink);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color .15s, background-color .15s, color .15s, box-shadow .15s;
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-type:hover {
	border-color: color-mix(in srgb, var(--vv-accent) 60%, var(--vv-line));
	color: var(--vv-ink);
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-type:focus-visible {
	outline: 0;
	box-shadow: var(--vv-ring);
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-type__icon {
	flex: none;
	width: 18px;
	height: 18px;
	color: var(--vv-accent);
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-type__count {
	display: inline-grid;
	place-items: center;
	min-width: 26px;
	height: 24px;
	padding: 0 7px;
	border-radius: 999px;
	background: var(--vv-surface-2);
	color: var(--vv-ink-2);
	font-size: 13px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

/* Tipul afișat acum. */
:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-type.is-active {
	border-color: var(--vv-accent);
	background: var(--vv-accent);
	color: var(--vv-on-accent);
	box-shadow: 0 8px 18px -10px var(--vv-accent);
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-type.is-active:focus-visible {
	box-shadow: var(--vv-ring);
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-type.is-active .vv-type__icon {
	color: currentColor;
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-type.is-active .vv-type__count {
	background: color-mix(in srgb, var(--vv-on-accent) 20%, transparent);
	color: inherit;
}

:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
}

/* Telefon: bara rămâne pe un rând și se derulează pe orizontală. */
@media (max-width: 767px) {
	:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-filters {
		gap: 14px;
		margin-bottom: 16px;
	}

	:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types {
		display: block;
	}

	:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types__title {
		min-width: 0;
		margin-bottom: 8px;
	}

	:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types__list {
		flex-wrap: nowrap;
		gap: 8px;
		margin: 0 -4px;
		padding: 4px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
	}

	:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types__list::-webkit-scrollbar {
		display: none;
	}

	:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-types__list > li {
		flex: none;
	}

	:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-type {
		min-height: 42px;
		padding: 7px 8px 7px 12px;
		font-size: 14.5px;
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(body.vv-site.et-db #et-boc, body.vv-site) .vv-type {
		transition: none;
	}
}
