/* Vitrusfer — listagens (loja, categoria, busca). A página do produto fica em produto.css. Mobile-first. */

/* ---------- Trilha de navegação ---------- */
.vf-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 0; font: 500 13px/1.3 var(--vf-font); color: var(--vf-mut); }
.vf-crumbs a { display: inline-flex; align-items: center; min-height: 32px; color: var(--vf-mut); text-decoration: none; }
.vf-crumbs a:hover { color: var(--vf-blue); }
.vf-crumbs a::after {
	content: ""; width: 14px; height: 14px; margin-inline: 6px; flex: none; background: var(--vf-line-2);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.vf-crumbs .breadcrumb-last { color: var(--vf-ink); font-weight: 600; }
/* Nas listagens o último item repete o título (h1) logo abaixo */
.vf-shophead .vf-crumbs .breadcrumb-last, .vf-shophead .vf-crumbs .breadcrumb-link-last::after { display: none; }
.vf .wd-breadcrumbs .vf-crumbs a::before, .vf .wd-breadcrumbs .vf-crumbs a:after { font-family: inherit; }

/* ---------- Cabeçalho das listagens ---------- */
.vf-shophead { background: #fff; border-bottom: 1px solid var(--vf-line); padding: 8px 0 12px; margin-bottom: 16px; }
.vf-shophead__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-top: 2px; }
.vf-shophead__title { margin: 0; font: 800 24px/1.2 var(--vf-font) !important; color: var(--vf-ink); letter-spacing: -.02em; }
.vf-shophead__count { color: var(--vf-mut); font-size: 14px; font-weight: 500; }

/* Subcategorias */
.vf-chips {
	display: flex; gap: 8px; margin: 12px calc(var(--vf-gutter) * -1) 0; padding: 0 var(--vf-gutter) 2px; list-style: none;
	overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity;
}
.vf-chips::-webkit-scrollbar { display: none; }
.vf-chips li { margin: 0; flex: none; scroll-snap-align: start; }
.vf-chip {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: var(--vf-r-pill);
	background: var(--vf-bg); border: 1px solid var(--vf-line); color: var(--vf-ink); font: 600 13px var(--vf-font); text-decoration: none; white-space: nowrap;
	transition: background-color .2s, border-color .2s, color .2s;
}
.vf-chip small { font-size: 12px; font-weight: 500; color: var(--vf-mut); }
.vf-chip:hover { border-color: var(--vf-blue); background: var(--vf-blue-soft); color: var(--vf-blue-ink); }

/* Faixa de categorias com foto */
.vf-catbar { position: relative; margin: 10px calc(var(--vf-gutter) * -1) 0; }
.vf-catbar__track {
	display: flex; gap: 2px; margin: 0; padding: 4px var(--vf-gutter) 2px; list-style: none;
	overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; scroll-padding-inline: var(--vf-gutter); overscroll-behavior-x: contain;
}
.vf-catbar__track::-webkit-scrollbar { display: none; }
.vf-catbar__track li { flex: none; margin: 0; scroll-snap-align: start; }
.vf .vf-catbar__item {
	display: flex; flex-direction: column; align-items: center; gap: 6px; width: 84px; min-height: 44px; padding: 4px 4px 6px;
	border-radius: var(--vf-r-md); color: var(--vf-ink); text-decoration: none;
}
.vf-catbar__img {
	display: grid; place-items: center; width: 64px; height: 64px; flex: none; overflow: hidden; border-radius: 50%;
	background: #fff; border: 1px solid var(--vf-line); color: var(--vf-blue); transition: border-color .2s, box-shadow .2s;
}
.vf-catbar__img img { width: 100%; height: 100%; object-fit: cover; }
.vf-catbar__img .vf-ico { width: 26px; height: 26px; }
.vf-catbar li:first-child .vf-catbar__img { background: var(--vf-blue-soft); border-color: transparent; }
.vf-catbar__name {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
	font: 600 12px/1.25 var(--vf-font); text-align: center; color: var(--vf-ink);
}
.vf .vf-catbar__item:hover .vf-catbar__img { border-color: var(--vf-blue); }
.vf .vf-catbar__item:hover .vf-catbar__name { color: var(--vf-blue); }
.vf .vf-catbar__item.is-active .vf-catbar__img { border: 2px solid var(--vf-blue); box-shadow: 0 0 0 3px var(--vf-blue-soft); }
.vf .vf-catbar__item.is-active .vf-catbar__name { color: var(--vf-blue); font-weight: 800; }
.vf-catbar__nav {
	position: absolute; top: 22px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0;
	border: 1px solid var(--vf-line); border-radius: 50%; background: #fff; color: var(--vf-ink); box-shadow: var(--vf-shadow); cursor: pointer;
}
.vf-catbar__nav[hidden] { display: none; }
@media (max-width: 1024px) { .vf-catbar__nav { display: none !important; } }
.vf-catbar__nav--prev { left: 0; }
.vf-catbar__nav--next { right: 0; }
.vf-catbar__nav:hover { border-color: var(--vf-blue); background: var(--vf-blue-soft); color: var(--vf-blue-ink); }
.vf-catbar__nav:disabled { opacity: 0; pointer-events: none; }
@media (min-width: 1025px) {
	.vf-shophead { padding: 12px 0 16px; margin-bottom: 24px; }
	.vf-shophead__title { font-size: 30px !important; }
	.vf-catbar { margin-inline: 0; }
	.vf-catbar__track { padding-inline: 0; scroll-padding-inline: 0; }
	.vf .vf-catbar__item { width: 96px; }
	.vf-catbar__img { width: 72px; height: 72px; }
	.vf-chips { flex-wrap: wrap; overflow: visible; margin-inline: 0; padding-inline: 0; }
}

/* ---------- Coluna lateral: só existe no desktop; abaixo disso o painel é uma janela ---------- */
.vf .shop-loop-head { margin: 0; }
.vf .shop-loop-head .woocommerce-result-count { display: none; }
.vf .shop-loop-head:not(:has(.woocommerce-message, .woocommerce-error, .woocommerce-info, [class*="notice"])) { display: none; }
.vf .woocommerce-notices-wrapper:empty { display: none; }

@media (max-width: 1024px) {
	.vf .area-sidebar-shop { flex: 0 0 0; width: 0; max-width: 0; min-height: 0; margin: 0; padding: 0; }
	.vf .content-layout-wrapper > .shop-content-area { flex: 0 0 100%; max-width: 100%; }
}
@media (min-width: 1025px) {
	.vf .area-sidebar-shop { align-self: stretch; }
	.vf .area-sidebar-shop .widget-area { height: 100%; }
}

/* ---------- Painel de filtros ---------- */
.vf-filters__panel { display: flex; flex-direction: column; background: #fff; }
/* O WoodMart dá "transition: all" aos links: sem isto a visibilidade herdada demora a mudar ao abrir o painel */
.vf-filters a, .vf-filters button { transition-property: color, background-color, border-color, box-shadow; }
.vf-filters__panel:focus { outline: none; }
.vf-filters__head { display: flex; align-items: center; gap: 8px; min-height: 56px; padding: 6px 8px 6px 20px; border-bottom: 1px solid var(--vf-line); }
.vf .vf-filters__title { flex: 1; margin: 0; font: 800 18px/1.2 var(--vf-font) !important; color: var(--vf-ink); }
.vf .vf-filters__clear { display: inline-flex; align-items: center; min-height: 44px; padding: 0 8px; color: var(--vf-blue); font: 700 14px var(--vf-font); text-decoration: underline; text-underline-offset: 3px; }
.vf .vf-filters__clear:hover { color: var(--vf-blue-ink); }
.vf .vf-filters__close { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--vf-r-sm); background: transparent; color: var(--vf-ink); cursor: pointer; }
.vf .vf-filters__close:hover { background: var(--vf-bg); }
.vf-filters__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 20px 8px; }
.vf-filters__foot {
	display: grid; grid-template-columns: auto 1fr; gap: 10px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--vf-line); background: #fff; box-shadow: 0 -6px 18px rgba(10, 31, 68, .06);
}
.vf-filters__foot .vf-btn { min-height: 48px; font-size: 15px; }
.vf-filters__foot .vf-btn:only-child { grid-column: 1 / -1; }
.vf-loja-loading .vf-filters__body, .vf-loja-loading .vf-filters__foot { opacity: .55; pointer-events: none; transition: opacity .2s; }

/* Grupos */
.vf-fgroup { border-bottom: 1px solid var(--vf-line); }
.vf-fgroup:last-child { border-bottom: 0; }
.vf .vf-fgroup__title {
	display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; padding: 0; list-style: none; cursor: pointer;
	color: var(--vf-ink); font: 700 15px var(--vf-font);
}
.vf-fgroup__title::-webkit-details-marker { display: none; }
.vf-fgroup__title::marker { content: ""; }
.vf-fgroup__chev { width: 20px; height: 20px; color: var(--vf-mut); transition: transform .2s var(--vf-ease); }
.vf-fgroup[open] .vf-fgroup__chev { transform: rotate(180deg); }
.vf-fgroup__body { padding-bottom: 14px; }

/* Opções */
.vf-flist { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.vf-flist li { margin: 0; }
.vf-flist.is-collapsed > li:nth-child(n+9) { display: none; }
.vf .vf-fopt {
	display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 4px 8px; margin-inline: -8px; border-radius: var(--vf-r-sm);
	color: var(--vf-ink); font: 500 14px/1.3 var(--vf-font); text-decoration: none;
}
.vf .vf-fopt:hover { background: var(--vf-bg); color: var(--vf-ink); }
.vf-fopt__box {
	display: grid; place-items: center; width: 20px; height: 20px; flex: none; border: 1.5px solid var(--vf-line-2); border-radius: 5px; background: #fff;
	transition: background-color .15s, border-color .15s;
}
.vf-fopt__box .vf-ico { width: 14px; height: 14px; color: #fff; stroke-width: 3; opacity: 0; }
.vf-fopt--radio .vf-fopt__box { border-radius: 50%; }
.vf-fopt--radio .vf-fopt__box .vf-ico { display: none; }
.vf .vf-fopt:hover .vf-fopt__box { border-color: var(--vf-blue); }
.vf .vf-fopt.is-active .vf-fopt__box { border-color: var(--vf-blue); background: var(--vf-blue); }
.vf .vf-fopt.is-active .vf-fopt__box .vf-ico { opacity: 1; }
.vf .vf-fopt--radio.is-active .vf-fopt__box { box-shadow: inset 0 0 0 4px #fff; }
.vf .vf-fopt.is-active { font-weight: 700; }
.vf-fopt__label { flex: 1 1 auto; min-width: 0; }
.vf-fopt__count { flex: none; min-width: 28px; padding: 2px 8px; border-radius: var(--vf-r-pill); background: var(--vf-bg); color: var(--vf-mut); font-size: 12px; font-weight: 600; text-align: center; }
.vf .vf-fopt:hover .vf-fopt__count { background: #fff; }
.vf-fopt__swatch { width: 18px; height: 18px; flex: none; border-radius: 50%; background: var(--sw); box-shadow: inset 0 0 0 1px rgba(10, 31, 68, .22); }

.vf .vf-fmore {
	display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; padding: 0; border: 0; background: none;
	color: var(--vf-blue); font: 700 14px var(--vf-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.vf .vf-fmore:hover { color: var(--vf-blue-ink); }

/* Busca rápida de categoria */
.vf-fsearch { position: relative; margin-bottom: 8px; }
.vf .vf-fsearch input {
	box-sizing: border-box; width: 100%; max-width: 100%; height: 44px; padding: 0 12px 0 40px; border: 1px solid var(--vf-line-2); border-radius: var(--vf-r-sm);
	background: #fff; color: var(--vf-ink); font: 500 15px var(--vf-font); box-shadow: none;
}
.vf .vf-fsearch input::placeholder { color: var(--vf-mut); opacity: 1; }
.vf .vf-fsearch input:focus { border-color: var(--vf-blue); }
.vf-fsearch .vf-ico { position: absolute; left: 12px; top: 12px; width: 20px; height: 20px; color: var(--vf-mut); pointer-events: none; }
.vf-fsearch__none { margin: 8px 0 0; color: var(--vf-mut); font-size: 13px; }

/* Preço */
.vf-fprice { margin-top: 12px; }
.vf-fprice__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.vf-fprice__field { display: grid; gap: 4px; margin: 0; color: var(--vf-mut); font: 600 12px var(--vf-font); }
.vf-fprice__input {
	display: flex; align-items: center; height: 44px; padding-left: 10px; border: 1px solid var(--vf-line-2); border-radius: var(--vf-r-sm); background: #fff;
}
.vf-fprice__input:focus-within { border-color: var(--vf-blue); box-shadow: 0 0 0 3px var(--vf-blue-soft); }
.vf-fprice__input i { color: var(--vf-mut); font: 600 13px var(--vf-font); font-style: normal; }
.vf .vf-fprice__input input {
	width: 100%; min-width: 0; height: 100%; padding: 0 8px 0 6px; border: 0; background: transparent; box-shadow: none;
	color: var(--vf-ink); font: 600 15px var(--vf-font); -moz-appearance: textfield;
}
.vf .vf-fprice__input input:focus { outline: none; }
.vf-fprice__input input::-webkit-outer-spin-button, .vf-fprice__input input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.vf .vf-fprice__input input::placeholder { color: var(--vf-mut); opacity: 1; font-weight: 500; }
.vf .vf-fprice__go { width: 100%; margin-top: 10px; }

/* Celular: janela que sobe de baixo; tablet: painel lateral */
@media (max-width: 1024px) {
	.vf-filters { position: fixed; inset: 0; z-index: 1000; visibility: hidden; pointer-events: none; transition: visibility 0s linear .35s; }
	.vf-filters.is-open { visibility: visible; pointer-events: auto; transition: none; }
	.vf-filters__backdrop { position: absolute; inset: 0; background: rgba(10, 20, 40, .55); opacity: 0; transition: opacity .3s; }
	.vf-filters.is-open .vf-filters__backdrop { opacity: 1; }
	.vf-filters__panel {
		position: absolute; inset: auto 0 0 0; height: min(88vh, 760px); height: min(88dvh, 760px); border-radius: var(--vf-r-lg) var(--vf-r-lg) 0 0;
		box-shadow: 0 -10px 40px rgba(10, 31, 68, .25); transform: translateY(100%); transition: transform .35s var(--vf-ease);
	}
	.vf-filters.is-open .vf-filters__panel { transform: none; }
	.vf-filters__head { position: relative; padding-top: 14px; }
	.vf-filters__head::before { content: ""; position: absolute; top: 6px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 2px; background: var(--vf-line-2); }
	.vf-filters.is-instant .vf-filters__panel, .vf-filters.is-instant .vf-filters__backdrop { transition: none; }
}
@media (min-width: 600px) and (max-width: 1024px) {
	.vf-filters__panel { inset: 0 auto 0 0; width: min(420px, 88vw); height: auto; border-radius: 0 var(--vf-r-lg) var(--vf-r-lg) 0; transform: translateX(-100%); }
	.vf-filters__head { padding-top: 6px; }
	.vf-filters__head::before { display: none; }
}
@media (min-width: 1025px) {
	.vf-filters { position: sticky; top: calc(var(--vf-header-h) - 36px + 16px); }
	.vf-filters__panel { max-height: calc(100vh - var(--vf-header-h) + 4px); border: 1px solid var(--vf-line); border-radius: var(--vf-r-md); overflow: hidden; }
	.vf-filters__head { padding-inline: 20px 12px; }
	.vf-filters__backdrop, .vf .vf-filters__close, .vf-filters__foot { display: none; }
	.vf-filters__body { scrollbar-width: thin; }
}
@media (prefers-reduced-motion: reduce) {
	.vf-filters__panel, .vf-filters__backdrop, .vf-fgroup__chev { transition: none !important; }
}

/* ---------- Barra: contagem, Filtrar, ordenar ---------- */
.vf-toolbar { display: flex; flex-direction: column-reverse; gap: 10px; margin: 0 0 14px; }
.vf .vf-toolbar__count { margin: 0; color: var(--vf-mut); font-size: 14px; line-height: 1.4; }
.vf-toolbar__count b { color: var(--vf-ink); font-weight: 700; }
.vf-toolbar__count:focus { outline: none; }
.vf-toolbar__count:focus-visible { outline: 3px solid var(--vf-orange); outline-offset: 2px; }
.vf-toolbar__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.vf .vf-toolbar__filter {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 14px;
	border: 1.5px solid var(--vf-blue); border-radius: var(--vf-r-sm); background: #fff; color: var(--vf-blue);
	font: 700 15px var(--vf-font); text-transform: none; letter-spacing: 0; cursor: pointer;
}
.vf .vf-toolbar__filter:hover { background: var(--vf-blue-soft); color: var(--vf-blue-ink); }
.vf-toolbar__filter .vf-ico { width: 20px; height: 20px; }
.vf-toolbar__badge {
	display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: var(--vf-r-pill);
	background: var(--vf-blue); color: #fff; font: 800 12px var(--vf-font);
}

/* Select com rótulo dentro da caixa (ordenar / itens por página) */
.vf-select { position: relative; margin: 0; }
.vf .vf-select__label {
	position: absolute; top: 7px; left: 14px; z-index: 1; margin: 0; color: var(--vf-mut); font: 600 11px/1 var(--vf-font); pointer-events: none;
}
.vf .vf-select select {
	display: block; width: 100%; height: 52px; margin: 0; padding: 16px 38px 0 13px; border: 1px solid var(--vf-line-2); border-radius: var(--vf-r-sm);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d3fb3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 18px;
	color: var(--vf-ink); font: 700 14px var(--vf-font); text-overflow: ellipsis; box-shadow: none; -webkit-appearance: none; appearance: none; cursor: pointer;
}
.vf .vf-select select:hover { border-color: var(--vf-blue); }
.vf .vf-select select:focus { border-color: var(--vf-blue); }
.vf-select--per { display: none; }
.vf-toolbar__actions > :only-child { grid-column: 1 / -1; }

@media (min-width: 768px) {
	.vf-toolbar { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; }
	.vf-toolbar__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
	.vf-select--sort { width: 210px; }
	.vf-select--per { display: block; width: 170px; }
}
@media (min-width: 1025px) {
	.vf .vf-toolbar__filter { display: none; }
	.vf-toolbar { margin-bottom: 16px; }
}

/* ---------- Filtros aplicados ---------- */
.vf-active { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; }
.vf-active__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.vf-active__list li { margin: 0; }
.vf .vf-active__chip {
	display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 10px 0 14px; border: 1px solid #c8d5fb; border-radius: var(--vf-r-pill);
	background: var(--vf-blue-soft); color: var(--vf-blue-ink); font: 600 13px var(--vf-font); text-decoration: none;
}
.vf .vf-active__chip .vf-ico { width: 16px; height: 16px; }
.vf .vf-active__chip:hover { border-color: var(--vf-blue); background: #dbe5ff; color: var(--vf-blue-ink); }
.vf .vf-active__clear { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; color: var(--vf-ink); font: 700 13px var(--vf-font); text-decoration: underline; text-underline-offset: 3px; }
.vf .vf-active__clear:hover { color: var(--vf-blue); }

/* ---------- Grade de produtos ---------- */
.vf .wd-products.wd-grid-g { --wd-gap-lg: 16px !important; --wd-gap-sm: 10px !important; }
/* Tablet em pé (600–768px): 3 colunas em vez de 2 */
@media (min-width: 600px) and (max-width: 768.98px) { .vf .wd-products.wd-grid-g { --wd-col-sm: 3 !important; } }
.vf .wd-product.wd-hover-standard { text-align: left; }
.vf .wd-product .vf-card { height: 100%; }
.vf .site-content.wd-loading .wd-products { opacity: .55; transition: opacity .2s; }

/* ---------- Paginação ---------- */
.vf-pager { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 32px; }
.vf-pager__list { display: none; gap: 6px; margin: 0; padding: 0; list-style: none; }
.vf-pager__list li { margin: 0; }
.vf-pager__status { color: var(--vf-ink); font: 600 14px var(--vf-font); text-align: center; }
.vf .vf-pager__step, .vf .vf-pager__num, .vf-pager__dots {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; height: 44px; padding: 0 14px;
	border: 1px solid var(--vf-line-2); border-radius: var(--vf-r-sm); background: #fff; color: var(--vf-ink); font: 700 14px var(--vf-font); text-decoration: none;
}
.vf .vf-pager__num { padding: 0 8px; }
.vf .vf-pager__step .vf-ico { width: 18px; height: 18px; }
.vf .vf-pager__step:hover, .vf .vf-pager__num:hover { border-color: var(--vf-blue); background: var(--vf-blue-soft); color: var(--vf-blue-ink); }
.vf .vf-pager__num.is-current { border-color: var(--vf-blue); background: var(--vf-blue); color: #fff; }
.vf .vf-pager__step.is-disabled { border-color: var(--vf-line); background: var(--vf-bg); color: var(--vf-mut); }
.vf-pager__dots { min-width: 24px; padding: 0; border-color: transparent; background: none; color: var(--vf-mut); }
@media (min-width: 768px) {
	.vf-pager { justify-content: center; }
	.vf-pager__list { display: flex; }
	.vf-pager__status { display: none; }
}
/* Resultados do blog que o WoodMart mostra na busca */
.vf .wd-loop-footer { margin-top: 0; }

/* ---------- Nenhum produto ---------- */
.vf-empty { display: grid; justify-items: center; gap: 12px; padding: 36px 20px; border-radius: var(--vf-r-lg); background: var(--vf-bg); text-align: center; }
.vf-empty__icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #fff; color: var(--vf-blue); box-shadow: var(--vf-shadow); }
.vf-empty__icon .vf-ico { width: 28px; height: 28px; }
.vf .vf-empty__title { margin: 4px 0 0; font: 800 22px/1.25 var(--vf-font); color: var(--vf-ink); }
.vf-empty__text { max-width: 52ch; margin: 0; color: var(--vf-mut); font-size: 15px; line-height: 1.55; }
.vf-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 4px; }
.vf-empty__search { display: flex; gap: 8px; width: 100%; max-width: 460px; margin-top: 8px; }
.vf .vf-empty__search input { flex: 1; min-width: 0; height: 48px; padding: 0 14px; border: 1px solid var(--vf-line-2); border-radius: var(--vf-r-sm); background: #fff; color: var(--vf-ink); font: 500 15px var(--vf-font); }
.vf .vf-empty__search input::placeholder { color: var(--vf-mut); opacity: 1; }
.vf .vf-empty__search .vf-btn { min-height: 48px; }
.vf .vf-empty__sub { margin: 16px 0 0; font: 700 14px var(--vf-font); color: var(--vf-ink); }
.vf .vf-empty__cats { flex-wrap: wrap; justify-content: center; overflow: visible; margin: 0; padding: 0; }
.vf .vf-empty__cats .vf-chip { background: #fff; }
@media (max-width: 420px) { .vf-empty__search .vf-btn span { display: none; } }

/* ---------- Descrição da categoria (depois da grade) ---------- */
.vf-desc { margin-top: 40px; padding: 20px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-md); background: #fff; }
.vf .vf-desc__title { margin: 0 0 8px; font: 800 17px/1.3 var(--vf-font); color: var(--vf-ink); }
.vf-desc__text { color: var(--vf-mut); font-size: 14px; line-height: 1.65; }
.vf-desc__text > :last-child { margin-bottom: 0; }
.vf-desc__text.is-collapsed { max-height: calc(1.65em * 4); overflow: hidden; -webkit-mask-image: linear-gradient(#000 45%, transparent); mask-image: linear-gradient(#000 45%, transparent); }
.vf .vf-desc__more {
	display: inline-flex; align-items: center; gap: 4px; min-height: 44px; margin-top: 4px; padding: 0; border: 0; background: none;
	color: var(--vf-blue); font: 700 14px var(--vf-font); cursor: pointer;
}
.vf .vf-desc__more:hover { color: var(--vf-blue-ink); text-decoration: underline; }
.vf-desc__more .vf-ico { width: 18px; height: 18px; transition: transform .2s; }
.vf-desc__more[aria-expanded="true"] .vf-ico { transform: rotate(180deg); }
.vf-desc__more[hidden] { display: none; }
