/* Barra lateral de filtros do catalogo (modulos/side-bar-filtros.php e web/lib/site/paginas/produtos.ts).
   O estilo base vem do <style> embutido no modulo; aqui, com o prefixo .layout-sidebar, o visual revisado
   (pedido do usuario de 11/11/2026): cartao branco no desktop, titulos com detalhe laranja da marca, categorias
   com realce no hover e na pagina atual, subcategorias com guia a esquerda, campos e caixas com foco visivel e
   botoes no padrao do site. A gaveta do celular (ate 991 px) mantem o comportamento do modulo. */

.layout-sidebar .widget {
	border-bottom-color: #ececec;
}

.layout-sidebar .widget-title {
	position: relative;
	margin: 0 0 14px;
	padding-left: 12px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #1d1d1f;
}

.layout-sidebar .widget-title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	bottom: 2px;
	width: 4px;
	border-radius: 2px;
	background: #fba61a;
}

/* Categorias */
.layout-sidebar .cat-list li a {
	padding: 7px 10px;
	border-radius: 8px;
	font-size: 15px;
	line-height: 1.35;
	color: #444;
	transition: background-color .15s ease, color .15s ease;
}

.layout-sidebar .cat-list li a:hover {
	background-color: #fff4e0;
	color: #1d1d1f;
	font-weight: 400;
}

.layout-sidebar .cat-list li.active a,
.layout-sidebar .cat-list li a[aria-current="page"] {
	background-color: #fff1d6;
	color: #1d1d1f;
	font-weight: 700;
	box-shadow: inset 3px 0 0 #fba61a;
}

.layout-sidebar .cat-list li a:focus-visible {
	outline: 2px solid #fba61a;
	outline-offset: 1px;
}

/* Subcategorias: recuo com uma guia vertical, texto um pouco menor. */
.layout-sidebar .cat-list .title-sub,
.layout-sidebar .cat-list .title-sub-sub {
	position: relative;
	margin-left: 14px;
	font-size: 14px;
	color: #5a5a5a;
}

.layout-sidebar .cat-list .title-sub-sub {
	margin-left: 26px;
}

.layout-sidebar .cat-list .title-sub::before,
.layout-sidebar .cat-list .title-sub-sub::before {
	content: "";
	position: absolute;
	left: -8px;
	top: 0;
	bottom: 0;
	width: 1px;
	background: #e2e2e2;
}

/* Faixa de preco */
.layout-sidebar .price-inputs {
	gap: 8px;
}

.layout-sidebar .price-inputs .input-group {
	flex: 1 1 0;
	min-width: 0;
	height: 42px;
	padding: 0 10px;
	border: 1px solid #d6d6d6;
	border-radius: 8px;
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.layout-sidebar .price-inputs .input-group span {
	font-size: 13px;
	font-weight: 600;
	color: #777;
}

.layout-sidebar .price-inputs input {
	min-width: 0;
	font-size: 15px;
	background: transparent;
}

/* Sem as setas do campo numerico: na caixa estreita elas cortavam o "Max" (o valor e digitado). */
.layout-sidebar .price-inputs input {
	-moz-appearance: textfield;
	appearance: textfield;
}

.layout-sidebar .price-inputs input::-webkit-outer-spin-button,
.layout-sidebar .price-inputs input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

/* O legado tira o outline do campo: o foco aparece no grupo. */
.layout-sidebar .price-inputs .input-group:focus-within {
	border-color: #fba61a;
	box-shadow: 0 0 0 3px rgba(251, 166, 26, .3);
}

/* Editoras */
.layout-sidebar .checkbox-list {
	gap: 4px;
}

.layout-sidebar .checkbox-item {
	min-height: 32px;
	padding: 2px 6px;
	border-radius: 6px;
	font-size: 14px;
	color: #3a3a3a;
	transition: background-color .15s ease;
}

.layout-sidebar .checkbox-item:hover {
	background-color: #fff4e0;
}

.layout-sidebar .checkbox-item.hidden-item {
	display: none;
}

.layout-sidebar .checkbox-item input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	accent-color: #fba61a;
}

.layout-sidebar .checkbox-item input:focus-visible {
	outline: 2px solid #fba61a;
	outline-offset: 2px;
}

.layout-sidebar .btn-ver-mais {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	margin-top: 6px;
	padding: 4px 6px;
	border-radius: 6px;
	font-size: 14px;
	color: #b56f00;
}

.layout-sidebar .btn-ver-mais:hover {
	background-color: #fff4e0;
	text-decoration: underline;
}

.layout-sidebar .btn-ver-mais:focus-visible {
	outline: 2px solid #fba61a;
	outline-offset: 1px;
}

/* Acoes */
.layout-sidebar .btn-filtrar {
	min-height: 46px;
	border-radius: 999px;
	font-size: 15px;
	letter-spacing: .02em;
}

.layout-sidebar .btn-filtrar:hover {
	background: #fba61a;
	color: #000;
}

.layout-sidebar .btn-filtrar:focus-visible {
	outline: 3px solid #fba61a;
	outline-offset: 2px;
}

.layout-sidebar .btn-limpar {
	min-height: 32px;
	padding-top: 6px;
	font-size: 14px;
	color: #666;
}

.layout-sidebar .btn-limpar:hover {
	color: #1d1d1f;
}

/* Gaveta do celular: botao de fechar com alvo de toque de 44 px (era 18x28). */
.layout-sidebar .btn-close-sidebar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	margin: -8px -10px -8px 0;
	border-radius: 8px;
}

.layout-sidebar .btn-close-sidebar:focus-visible {
	outline: 2px solid #fba61a;
	outline-offset: -2px;
}

/* Desktop: cartao branco, como os cartoes de produto ao lado. */
@media (min-width: 992px) {
	.layout-sidebar .sidebar-content {
		padding: 22px 18px 18px;
		border: 1px solid #ececec;
		border-radius: 14px;
		background: #fff;
		box-shadow: 0 4px 18px rgba(0, 0, 0, .05);
	}

	.layout-sidebar .widget:last-of-type {
		margin-bottom: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.layout-sidebar .cat-list li a,
	.layout-sidebar .price-inputs .input-group,
	.layout-sidebar .checkbox-item {
		transition: none;
	}
}
