/**
 * Category: .mk-category (templates/components/category.php).
 *
 * A round frame (border + padding) around a round picture, the name below.
 * Sizes and typography switch per breakpoint from theme.json
 * `custom.category.{mobile,tablet,desktop}`. Media queries cannot read custom
 * properties: 48rem / 64rem = `custom.breakpoint.{tablet,desktop}`.
 */

.mk-category {
	--mk-category-size: var(--wp--custom--category--mobile--size);
	--mk-category-padding: var(--wp--custom--category--mobile--padding);
	--mk-category-gap: var(--wp--custom--category--mobile--gap);
	--mk-category-font-size: var(--wp--custom--category--mobile--font-size);
	--mk-category-line-height: var(--wp--custom--category--mobile--line-height);

	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--mk-category-gap);
	inline-size: var(--mk-category-size);
	color: var(--wp--custom--color--text--primary);
	text-decoration: none;
}

@media (min-width: 48rem) {
	.mk-category {
		--mk-category-size: var(--wp--custom--category--tablet--size);
		--mk-category-padding: var(--wp--custom--category--tablet--padding);
		--mk-category-gap: var(--wp--custom--category--tablet--gap);
		--mk-category-font-size: var(--wp--custom--category--tablet--font-size);
		--mk-category-line-height: var(
			--wp--custom--category--tablet--line-height
		);
	}
}

@media (min-width: 64rem) {
	.mk-category {
		--mk-category-size: var(--wp--custom--category--desktop--size);
		--mk-category-padding: var(--wp--custom--category--desktop--padding);
		--mk-category-gap: var(--wp--custom--category--desktop--gap);
		--mk-category-font-size: var(
			--wp--custom--category--desktop--font-size
		);
		--mk-category-line-height: var(
			--wp--custom--category--desktop--line-height
		);
	}
}

.mk-category__frame {
	display: block;
	box-sizing: border-box;
	inline-size: 100%;
	aspect-ratio: 1;
	padding: var(--mk-category-padding);
	border-width: var(--wp--custom--category--border-width);
	border-style: solid;
	border-color: var(--wp--custom--color--interactive--default);
	border-radius: var(--wp--custom--category--radius);
}

.mk-category__picture {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	overflow: hidden;
	border-radius: var(--wp--custom--category--radius);
	background-color: var(--wp--custom--color--surface--hover);
}

.mk-category__image {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.mk-category__name {
	max-inline-size: 100%;
	font-family: var(--wp--custom--category--font-family);
	font-size: var(--mk-category-font-size);
	font-weight: var(--wp--custom--category--font-weight);
	line-height: var(--mk-category-line-height);
	letter-spacing: var(--wp--custom--category--letter-spacing);
	text-align: center;
	overflow-wrap: anywhere;
}

/* Keyboard focus around the circle, not the whole card. */
a.mk-category:focus {
	outline-style: none;
}

a.mk-category:focus-visible .mk-category__frame {
	outline-width: var(--wp--custom--focus--ring-width);
	outline-style: solid;
	outline-color: var(--wp--custom--color--focus--ring);
	outline-offset: var(--wp--custom--focus--ring-offset);
}
