/**
 * Menú de categorías del header — escrito el 22/09/2026.
 * Tipografía, colores y radios tomados de assets/extracted/header.css para que
 * no se note que es una pieza nueva.
 */

.fcat {
	position: relative;
	font-family: 'Nunito', sans-serif;
}

.fcat__btn {
	display: flex;
	align-items: center;
	gap: 9px;
	height: 42px;
	padding: 0 16px;
	border: 0;
	border-radius: 10px;
	background: #4caf50;
	color: #fff;
	font-family: 'Nunito', sans-serif;
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s;
	white-space: nowrap;
}

.fcat__btn:hover {
	background: #43a047;
}

.fcat__btn:focus-visible {
	outline: 2px solid #1a1a1a;
	outline-offset: 2px;
}

.fcat__bars svg,
.fcat__chev svg {
	width: 17px;
	height: 17px;
	display: block;
}

.fcat__chev {
	display: flex;
	transition: transform .2s;
}

.fcat__btn[aria-expanded="true"] .fcat__chev {
	transform: rotate(180deg);
}

/* Panel --------------------------------------------------------------- */

.fcat__panel {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	z-index: 600;
	min-width: 280px;
	padding: 10px;
	border: 1px solid #f0f0f0;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .12);
}

.fcat__panel[hidden] {
	display: none;
}

.fcat__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 2px;
}

.fcat__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 10px 12px;
	border-radius: 9px;
	color: #1a1a1a;
	font-size: 14.5px;
	font-weight: 500;
	text-decoration: none;
	transition: background .15s, color .15s;
}

.fcat__link:hover,
.fcat__link:focus-visible {
	background: #f4f7f4;
	color: #2e7d32;
}

.fcat__count {
	flex-shrink: 0;
	min-width: 26px;
	height: 22px;
	padding: 0 7px;
	border-radius: 999px;
	background: #f4f5f4;
	color: #54595f;
	font-size: 12px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fcat__all {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 8px;
	padding: 11px 12px;
	border-top: 1px solid #f0f0f0;
	color: #2e7d32;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.fcat__all svg {
	width: 16px;
	height: 16px;
	transition: transform .2s;
}

.fcat__all:hover svg {
	transform: translateX(3px);
}

/* En pantallas chicas el header usa su propio drawer, así que acá el panel
   se estira en lugar de colgar flotando. */
@media (max-width: 767px) {
	.fcat__panel {
		left: 0;
		right: 0;
		min-width: 0;
	}

	.fcat__label {
		display: none;
	}

	.fcat__btn {
		padding: 0 12px;
	}
}
