.arterio-category-nav {
	position: sticky;
	top: var(--arterio-header-height, 65px);
	z-index: 40;
	background: #ffffff;
	border-bottom: 1px solid var(--arterio-border, rgba(0, 0, 0, 0.1));
}

.arterio-category-toggle {
	display: none;
	align-items: center;
	gap: 0.5rem;
	background: none;
	border: none;
	padding: 0.875rem 0;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: var(--arterio-text, #030213);
	cursor: pointer;
}

.arterio-category-list {
	list-style: none;
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0;
}

.arterio-category-item {
	position: static;
}

.arterio-category-item > a {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	padding: 1.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--arterio-text, #030213);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	white-space: nowrap;
}

.arterio-category-item:hover > a {
	border-bottom-color: #000;
}

.arterio-category-panel {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	width: 100%;
	background: #ffffff;
	border-bottom: 1px solid var(--arterio-border, rgba(0, 0, 0, 0.1));
	padding-block: var(--arterio-space-3);
	/* O painel vai de borda a borda da tela (é o fundo branco), mas o conteúdo
	dele tem de nascer na mesma coluna do resto do site. Como não há container
	interno no markup, o recuo é calculado: metade da sobra além dos 1280px, mais
	o respiro padrão. Abaixo de 1280px a conta fica negativa e o `max` segura no
	respiro mínimo. */
	padding-inline: max(
		var(--arterio-space-3),
		calc((100% - 1280px) / 2 + var(--arterio-space-3))
	);
	grid-template-columns: repeat(4, 1fr);
	gap: var(--arterio-space-4);
}

.arterio-category-item:hover .arterio-category-panel {
	display: grid;
}

.arterio-category-panel a {
	font-size: 0.875rem;
	color: var(--arterio-text-60);
	text-decoration: none;
	padding: 0.25rem 0;
}

.arterio-category-panel a:hover {
	color: var(--arterio-text, #030213);
}

.arterio-category-view-all {
	font-weight: 500;
	color: var(--arterio-text, #030213) !important;
}

@media (max-width: 1023px) {
	.arterio-container {
		position: relative;
	}

	.arterio-category-toggle {
		display: flex;
	}

	.arterio-category-list {
		display: none;
		flex-direction: column;
		padding-bottom: 1rem;
		max-height: 70vh;
		overflow-y: auto;
	}

	.arterio-category-list.is-open {
		display: flex;
	}

	.arterio-category-item > a {
		justify-content: space-between;
		border-bottom: 1px solid var(--arterio-border, rgba(0, 0, 0, 0.1));
	}

	.arterio-category-panel {
		position: static;
		box-shadow: none;
		border-bottom: none;
		padding: 0.5rem 0 0.5rem 1rem;
		grid-template-columns: 1fr;
	}

	.arterio-category-item .arterio-category-panel {
		display: none;
	}

	.arterio-category-item.is-expanded .arterio-category-panel {
		display: grid;
	}
}
