/* PortalFilm Theme: estilos del componente categories-highlight (home-page) */

.pf_pfilm_home_categories {
	padding: var(--spacing-xl) 0;
	background: var(--color-bg-base);
}

.pf_pfilm_home_categories_heading {
	margin: 0 0 var(--spacing-lg);
	font-size: var(--font-size-h2);
	font-weight: 600;
	color: var(--color-text-primary);
}

.pf_pfilm_home_categories_grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: var(--spacing-md);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pf_pfilm_home_categories_card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-sm);
	padding: var(--spacing-lg);
	background: var(--color-bg-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--border-radius);
	color: var(--color-text-primary);
	text-decoration: none;
	transition: background var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
	min-height: 100px;
}

.pf_pfilm_home_categories_card:hover,
.pf_pfilm_home_categories_card:focus {
	background: var(--color-bg-surface-secondary);
	border-color: var(--color-primary);
	box-shadow: 0 2px 8px var(--shadow-card);
	color: var(--color-primary);
	outline: none;
}

.pf_pfilm_home_categories_card_icon {
	width: 2.5rem;
	height: 2.5rem;
	background: var(--color-primary);
	opacity: 0.2;
	border-radius: 50%;
}

.pf_pfilm_home_categories_card:hover .pf_pfilm_home_categories_card_icon,
.pf_pfilm_home_categories_card:focus .pf_pfilm_home_categories_card_icon {
	opacity: 0.4;
}

.pf_pfilm_home_categories_card_label {
	font-size: var(--font-size-small);
	font-weight: 600;
	text-align: center;
}

@media (min-width: 768px) {
	.pf_pfilm_home_categories_grid {
		grid-template-columns: repeat(5, 1fr);
	}
}
