/**
 * Catálogo — Figma "Listagem · Desktop" (394:30110) / "Listagem · Mobile" (394:30111).
 *
 * Desktop (1200):
 *   cabeçalho  padding 16/24/8 · gap 8 · migalhas Caption 14 ink-muted · título Heading Large 32/1.1 (600, -1%)
 *              contagem Caption 14 ink-muted, alinhada à base do título, gap 12
 *   conteúdo   padding 24/24/64 · filtro 270 + gap 24 + produtos 858
 *   barra      "Exibindo…" Caption 14 ink-muted · select 240×52, borda line-strong, pill
 *   grade      3 colunas · gap 24 (colunas) / 32 (linhas) · 24 acima e abaixo
 *   paginação  itens de 44, gap 8, atual em ink
 *   filtro     título Heading Small 20/1.3 · "Limpar" Label brand-text · grupos gap 24, borda inferior line, pb 24
 *              checkbox 24 (raio 4, borda 1.5 line-strong; marcado em brand) · gap 16 · py 8
 *              preço: 2 valores (pill, borda line-strong, py 11) · régua 28 (trilho 4, alças 24) · escala Caption
 *              cor: 44 com amostra de 36, gap 4 · opção: 48 de altura, mín. 48, px 16, 14 forte, gap 8
 * Mobile (< 782px):
 *   cabeçalho  padding 16/16/8 · conteúdo padding 16/16/48, gap 16
 *   botões     Filtrar | Ordenar (contorno ink, 50 de altura, gap 8) · filtros aplicados em etiquetas de 37
 *   grade      2 colunas · gap 16 / 24
 *   filtro     gaveta de 400 à direita, padding 24, botão "Ver N produtos" + "Limpar filtros"
 *   ordenar    folha inferior, raio 24 no topo, padding 24/24/32, radios de 24
 */

/* Ao trocar de página a tela volta ao topo da listagem, sem ficar sob o cabeçalho fixo. */
.cdw-catalogo {
	scroll-margin-top: calc(104px + var(--wp-admin--admin-bar--height, 0px));
}

/* ---------- Cabeçalho da listagem ---------- */

.cdw-catalogo__cabecalho {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
	max-width: var(--wp--custom--layout--container-max);
	margin: 0 auto;
	padding: var(--wp--preset--spacing--space-16) var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-8);
}

.cdw-catalogo__titulo-linha {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0 12px;
}

.cdw-catalogo__titulo {
	min-width: 0;
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	/* Figma: Heading Large = 32/1.1 neste componente (computador e celular). */
	font-size: 2rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.1;
	letter-spacing: -0.01em;
	overflow-wrap: anywhere;
}

.cdw-catalogo__total,
.cdw-catalogo__exibindo {
	margin: 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
	white-space: nowrap;
}

.cdw-catalogo__descricao {
	max-width: 70ch;
	color: var(--wp--preset--color--ink-muted);
}

.cdw-catalogo__descricao > :first-child {
	margin-top: 0;
}

.cdw-catalogo__descricao > :last-child {
	margin-bottom: 0;
}

/* ---------- Estrutura ---------- */

.cdw-catalogo__conteudo {
	max-width: var(--wp--custom--layout--container-max);
	margin: 0 auto;
	padding: var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-64);
}

.cdw-catalogo__conteudo > .woocommerce-notices-wrapper:empty {
	display: none;
}

.cdw-catalogo__conteudo > .woocommerce-notices-wrapper {
	margin-bottom: var(--wp--preset--spacing--space-24);
}

.cdw-catalogo__colunas {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	align-items: start;
	gap: var(--wp--preset--spacing--space-24);
}

.cdw-catalogo--sem-filtro .cdw-catalogo__colunas {
	grid-template-columns: minmax(0, 1fr);
}

.cdw-catalogo__produtos {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-24);
	min-width: 0;
}

/* Só no celular. */
.cdw-catalogo__acoes,
.cdw-aplicados {
	display: none;
}

/* ---------- Barra: contagem + ordenação ---------- */

.cdw-catalogo__barra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-16);
	min-height: 52px;
}

/* Formulário/Select */
.cdw-select {
	position: relative;
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	width: 240px;
	max-width: 100%;
}

.cdw-select select {
	width: 100%;
	height: 52px;
	padding: 0 calc(var(--wp--preset--spacing--space-16) * 2 + 12px) 0 var(--wp--preset--spacing--space-16);
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
	text-overflow: ellipsis;
	cursor: pointer;
	appearance: none;
}

.cdw-select > .cdw-icone {
	position: absolute;
	top: 50%;
	right: var(--wp--preset--spacing--space-16);
	font-size: 12px;
	transform: translateY(-50%);
	pointer-events: none;
}

.cdw-select__aplicar {
	flex-shrink: 0;
}

/* ---------- Grade ---------- */

.cdw-catalogo__lista {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-24);
	min-width: 0;
}

.cdw-catalogo__grade {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--space-32) var(--wp--preset--spacing--space-24);
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdw-catalogo--sem-filtro .cdw-catalogo__grade {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cdw-catalogo__item {
	min-width: 0;
	margin: 0;
}

.cdw-catalogo__item > .cdw-produto {
	width: 100%;
	max-width: none;
}

/* Card/Skeleton (enquanto a lista é trocada) */
.cdw-esqueleto {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-esqueleto__foto,
.cdw-esqueleto__linha {
	display: block;
	background: var(--wp--preset--color--surface-hover);
	animation: cdw-esqueleto 1.2s ease-in-out infinite alternate;
}

.cdw-esqueleto__foto {
	aspect-ratio: var(--cdw-produto-proporcao, 1 / 1); /* Mesma proporção do card, para a lista não pular. */
	border-radius: var(--wp--custom--radius--card);
}

.cdw-esqueleto__linha {
	width: 100%;
	height: 16px;
}

.cdw-esqueleto__linha--70 {
	width: 70%;
}

.cdw-esqueleto__linha--preco {
	width: 50%;
	height: 20px;
}

.cdw-esqueleto__linha--85 {
	width: 85%;
	height: 14px;
}

@keyframes cdw-esqueleto {
	to {
		opacity: 0.5;
	}
}

/* ---------- Paginação numerada ---------- */

.cdw-paginacao {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-paginacao__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
	text-decoration: none;
	transition: background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-paginacao__item .cdw-icone {
	font-size: 12px;
}

a.cdw-paginacao__item:hover {
	background: var(--wp--preset--color--surface-hover);
}

.cdw-paginacao__item.is-atual {
	border-color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--surface);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
}

.cdw-paginacao__item.is-inativo {
	opacity: 0.4;
}

.cdw-paginacao__pulo {
	color: var(--wp--preset--color--ink-muted);
}

/* ---------- Estado vazio ---------- */

.cdw-vazio {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--space-16);
	padding: var(--wp--preset--spacing--space-48) var(--wp--preset--spacing--space-24);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
	text-align: center;
}

.cdw-vazio__icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--brand-subtle);
	color: var(--wp--preset--color--brand);
	font-size: 30px;
}

.cdw-vazio__titulo {
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.3;
}

.cdw-vazio__texto {
	max-width: 392px;
	margin: 0;
	color: var(--wp--preset--color--ink-muted);
}

/* ---------- Filtro ---------- */

.cdw-filtro__form {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-24);
}

.cdw-filtro__cabecalho {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-8);
	min-height: 44px;
}

.cdw-filtro__titulo,
.cdw-ordenar__titulo {
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.3;
}

.cdw-filtro__limpar,
.cdw-filtro__limpar-tudo,
.cdw-aplicados__limpar {
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	text-decoration: none;
	white-space: nowrap;
}

.cdw-filtro__limpar {
	padding: 10px 0;
}

.cdw-filtro__limpar:hover,
.cdw-filtro__limpar-tudo:hover,
.cdw-aplicados__limpar:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Botão × (gaveta e folha de ordenar): área de toque 44. */
.cdw-fechar {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--radius--full);
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-size: 20px;
	cursor: pointer;
}

.cdw-fechar:hover {
	background: var(--wp--preset--color--surface-hover);
}

.cdw-filtro__fechar {
	display: none;
}

.cdw-filtro__grupos {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-24);
}

.cdw-filtro__grupo {
	padding-bottom: var(--wp--preset--spacing--space-24);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.cdw-filtro__grupo-titulo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-8);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	list-style: none;
	cursor: pointer;
}

.cdw-filtro__grupo-titulo::-webkit-details-marker {
	display: none;
}

.cdw-filtro__seta {
	width: 15px;
	font-size: 12px;
	transition: transform var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-filtro__grupo[open] .cdw-filtro__seta {
	transform: rotate(180deg);
}

.cdw-filtro__lista,
.cdw-filtro__cores,
.cdw-filtro__opcoes {
	margin-top: var(--wp--preset--spacing--space-8);
}

.cdw-filtro__lista {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
}

/* Formulário/Checkbox */
.cdw-check {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--space-16);
	padding: var(--wp--preset--spacing--space-8) 0;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.cdw-check input,
.cdw-cor input,
.cdw-opcao input,
.cdw-radio input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
}

.cdw-check__caixa {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 1.5px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--brand-contrast);
	font-size: 12px;
}

.cdw-check__caixa .cdw-icone {
	visibility: hidden;
}

.cdw-check input:checked + .cdw-check__caixa {
	border-color: var(--wp--preset--color--brand);
	background: var(--wp--preset--color--brand);
}

.cdw-check input:checked + .cdw-check__caixa .cdw-icone {
	visibility: visible;
}

.cdw-check__rotulo {
	flex: 1;
	min-width: 0;
}

.cdw-check input:disabled ~ * {
	cursor: default;
}

.cdw-check input:focus-visible + .cdw-check__caixa,
.cdw-cor input:focus-visible + .cdw-cor__amostra,
.cdw-opcao input:focus-visible + .cdw-opcao__texto,
.cdw-radio input:focus-visible + .cdw-radio__marca {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}

/* Preço */
.cdw-preco__corpo {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
	margin-top: var(--wp--preset--spacing--space-16);
}

.cdw-preco__valores {
	display: flex;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-preco__valor {
	display: flex;
	flex: 1 0 0;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--space-4);
	min-width: 0;
	padding: 11px var(--wp--preset--spacing--space-16);
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	cursor: text;
}

.cdw-preco__valor:focus-within {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: -1px;
}

.cdw-preco__valor input {
	width: auto;
	min-width: 1ch;
	max-width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	outline: none;
}

/* Régua de duas alças: dois <input type="range"> sobrepostos. Sem JavaScript fica escondida. */
.cdw-preco__faixa,
.cdw-preco__escala {
	display: none;
}

.cdw-js .cdw-preco__faixa {
	display: block;
}

.cdw-js .cdw-preco__escala {
	display: flex;
}

.cdw-preco__faixa {
	position: relative;
	height: 28px;
}

.cdw-preco__faixa::before,
.cdw-preco__faixa::after {
	content: "";
	position: absolute;
	top: 12px;
	height: 4px;
	border-radius: var(--wp--custom--radius--full);
}

.cdw-preco__faixa::before {
	right: 0;
	left: 0;
	background: var(--wp--preset--color--line);
}

/* As alças (24) andam de 12 px a (100% - 12 px). */
.cdw-preco__faixa::after {
	right: calc(12px + (100% - 24px) * (1 - var(--cdw-ate, 1)));
	left: calc(12px + (100% - 24px) * var(--cdw-de, 0));
	background: var(--wp--preset--color--brand);
}

.cdw-preco__faixa input {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 28px;
	margin: 0;
	background: transparent;
	pointer-events: none;
	appearance: none;
}

.cdw-preco__faixa input::-webkit-slider-runnable-track {
	height: 28px;
	background: transparent;
}

.cdw-preco__faixa input::-moz-range-track {
	height: 28px;
	background: transparent;
}

.cdw-preco__faixa input::-webkit-slider-thumb {
	width: 24px;
	height: 24px;
	margin-top: 2px;
	border: 2px solid var(--wp--preset--color--brand);
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--card);
	cursor: grab;
	pointer-events: auto;
	appearance: none;
}

.cdw-preco__faixa input::-moz-range-thumb {
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	border: 2px solid var(--wp--preset--color--brand);
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--card);
	cursor: grab;
	pointer-events: auto;
}

.cdw-preco__faixa input:focus-visible {
	outline: none;
}

.cdw-preco__faixa input:focus-visible::-webkit-slider-thumb {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}

.cdw-preco__faixa input:focus-visible::-moz-range-thumb {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}

.cdw-preco__escala {
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-8);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
	white-space: nowrap;
}

/* Cor (Produto/Seletor cor) */
.cdw-filtro__cores {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-4);
}

.cdw-cor {
	position: relative;
	display: flex;
	cursor: pointer;
}

.cdw-cor__amostra {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface);
}

.cdw-cor__amostra::before {
	content: "";
	width: 36px;
	height: 36px;
	border-radius: var(--wp--custom--radius--control);
	background: var(--cdw-cor);
}

.cdw-cor__amostra::after {
	content: "";
	position: absolute;
	width: 6px;
	height: 6px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--card);
	opacity: 0;
}

.cdw-cor:hover .cdw-cor__amostra,
.cdw-cor input:checked + .cdw-cor__amostra {
	border-color: var(--wp--preset--color--line-strong);
}

.cdw-cor input:checked + .cdw-cor__amostra::after {
	opacity: 1;
}

/* Opção (Produto/Seletor opção) */
.cdw-filtro__opcoes {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-opcao {
	position: relative;
	display: flex;
	cursor: pointer;
}

.cdw-opcao__texto {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 48px;
	padding: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-16);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.5;
	white-space: nowrap;
}

.cdw-opcao:hover .cdw-opcao__texto {
	border-color: var(--wp--preset--color--line-strong);
}

.cdw-opcao input:checked + .cdw-opcao__texto {
	border-color: var(--wp--preset--color--ink-muted);
	background: var(--wp--preset--color--ink-muted);
	color: var(--wp--preset--color--brand-contrast);
}

/* Rodapé do filtro: no computador só aparece sem JavaScript ("Aplicar filtros"). */
.cdw-filtro__rodape {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-js .cdw-filtro__rodape,
.cdw-js .cdw-filtro__ver-sem-js,
html:not(.cdw-js) .cdw-filtro__ver-js,
.cdw-filtro__limpar-tudo {
	display: none;
}

.cdw-filtro__fundo {
	position: fixed;
	inset: 0;
	z-index: var(--wp--custom--z-index--overlay);
	background: color-mix(in srgb, var(--wp--preset--color--ink) 40%, transparent);
}

/* ---------- Ordenar (folha inferior · celular) ---------- */

.cdw-ordenar {
	position: fixed;
	inset: auto 0 0;
	width: 100%;
	max-width: 100%;
	max-height: 85vh;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--radius--container) var(--wp--custom--radius--container) 0 0;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	box-shadow: var(--wp--preset--shadow--float);
	overflow-y: auto;
}

/* O clique fora da caixa cai no próprio <dialog> (o fundo) e fecha a folha. */
.cdw-ordenar__caixa {
	padding: var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-32);
}

.cdw-ordenar::backdrop {
	background: color-mix(in srgb, var(--wp--preset--color--ink) 40%, transparent);
}

.cdw-ordenar__cabecalho {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-8);
	margin-bottom: var(--wp--preset--spacing--space-8);
}

.cdw-ordenar__opcoes {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
}

/* Formulário/Radio */
.cdw-radio {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-16);
	padding: var(--wp--preset--spacing--space-8) 0;
	cursor: pointer;
}

.cdw-radio__marca {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 1.5px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--surface);
}

.cdw-radio input:checked + .cdw-radio__marca {
	border-color: var(--wp--preset--color--brand);
	background: var(--wp--preset--color--brand);
}

.cdw-radio input:checked + .cdw-radio__marca::after {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--brand-contrast);
}

/* ---------- Telas intermediárias ---------- */

@media (min-width: 782px) and (max-width: 959px) {
	.cdw-catalogo__grade {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cdw-catalogo--sem-filtro .cdw-catalogo__grade {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ---------- Celular ---------- */

@media (max-width: 781px) {
	.cdw-catalogo {
		scroll-margin-top: calc(74px + var(--wp-admin--admin-bar--height, 0px));
	}

	/* Figma mobile: padding 8/16 · migalhas com área de toque (12 acima e abaixo). */
	.cdw-catalogo__cabecalho {
		padding: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-16);
	}

	.cdw-migalhas {
		padding: 12px 0;
	}

	.cdw-catalogo__conteudo > .woocommerce-notices-wrapper {
		margin-bottom: 0;
	}

	.cdw-catalogo__conteudo {
		display: flex;
		flex-direction: column;
		gap: var(--wp--preset--spacing--space-16);
		padding: var(--wp--preset--spacing--space-16) var(--wp--preset--spacing--space-16) var(--wp--preset--spacing--space-48);
	}

	.cdw-catalogo__colunas {
		grid-template-columns: minmax(0, 1fr);
	}

	.cdw-catalogo__produtos,
	.cdw-catalogo__lista {
		gap: var(--wp--preset--spacing--space-16);
	}

	.cdw-catalogo__grade,
	.cdw-catalogo--sem-filtro .cdw-catalogo__grade {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-16);
	}

	/* Filtrar | Ordenar */
	.cdw-js .cdw-catalogo__acoes {
		display: flex;
		gap: var(--wp--preset--spacing--space-8);
	}

	.cdw-catalogo__acoes .cdw-botao {
		flex: 1 0 0;
		min-width: 0;
	}

	.cdw-js .cdw-catalogo__barra {
		display: none;
	}

	/* Filtros aplicados */
	.cdw-aplicados:not([hidden]) {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0 var(--wp--preset--spacing--space-8);
	}

	.cdw-aplicados__lista {
		display: flex;
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--space-8);
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.cdw-aplicados__item {
		display: flex;
		align-items: center;
		gap: var(--wp--preset--spacing--space-8);
		padding: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-16);
		border-radius: var(--wp--custom--radius--full);
		background: var(--wp--preset--color--surface-alt);
		color: var(--wp--preset--color--ink);
		font-size: var(--wp--preset--font-size--caption);
		line-height: 1.5;
		text-decoration: none;
	}

	.cdw-aplicados__item .cdw-icone {
		width: 10px;
		font-size: 10px;
	}

	.cdw-aplicados__limpar {
		padding: 12px 0 12px var(--wp--preset--spacing--space-8);
	}

	/* Gaveta de filtro (só com JavaScript; sem ele o filtro fica acima da lista). */
	.cdw-js .cdw-filtro {
		position: fixed;
		top: var(--wp-admin--admin-bar--height, 0px);
		right: 0;
		bottom: 0;
		z-index: var(--wp--custom--z-index--modal);
		width: min(400px, calc(100% - 48px));
		padding: var(--wp--preset--spacing--space-24);
		background: var(--wp--preset--color--surface);
		box-shadow: var(--wp--preset--shadow--float);
		overflow-y: auto;
		overscroll-behavior: contain;
		visibility: hidden;
		transform: translateX(100%);
		transition:
			transform var(--wp--custom--motion--duracao-padrao) var(--wp--custom--motion--ease-padrao),
			visibility 0s linear var(--wp--custom--motion--duracao-padrao);
	}

	.cdw-js .cdw-filtro.is-aberto {
		visibility: visible;
		transform: none;
		transition: transform var(--wp--custom--motion--duracao-padrao) var(--wp--custom--motion--ease-padrao);
	}

	.cdw-js .cdw-filtro__fechar {
		display: flex;
	}

	.cdw-js .cdw-filtro__limpar {
		display: none;
	}

	.cdw-js .cdw-filtro__rodape {
		display: flex;
		gap: 12px;
	}

	.cdw-js .cdw-filtro__limpar-tudo {
		display: block;
		padding: 12px 0;
		text-align: center;
	}

	.cdw-ordenar__cabecalho {
		margin-bottom: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cdw-esqueleto__foto,
	.cdw-esqueleto__linha {
		animation: none;
	}

	.cdw-js .cdw-filtro,
	.cdw-js .cdw-filtro.is-aberto,
	.cdw-filtro__seta {
		transition: none;
	}
}
