/**
 * Categories - Buttons style variation
 *
 * Displays category links using the theme's button design tokens.
 *
 * @package Studiowp_Landing_Page_Factory
 * @since 1.0.0
 */

.wp-block-categories.is-style-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xs);
	list-style: none;
	padding-left: 0;
}

.wp-block-categories.is-style-buttons li {
	list-style: none;
	margin: 0;
}

.wp-block-categories.is-style-buttons a {
	align-items: center;
	background-color: var(--wp--preset--color--primary);
	border-radius: 0.375rem;
	color: var(--wp--preset--color--base);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 600;
	justify-content: center;
	line-height: var(--wp--custom--line-height--sm);
	padding: 0.75rem 1.5rem;
	text-decoration: none;
	transition:
		background-color var(--wp--custom--transition--fast),
		color var(--wp--custom--transition--fast);
}

.wp-block-categories.is-style-buttons .children {
	display: flex;
	flex-basis: 100%;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xs);
	list-style: none;
	padding: var(--wp--preset--spacing--xs) 0 0 var(--wp--preset--spacing--sm);
}

/* Secondary Outline
-------------------------------------------------- */
.wp-block-categories.is-style-secondary-outline,
.wp-block-categories.is-style-secondary-outline .children {
	display: grid;
	gap: var(--wp--preset--spacing--xs);
	list-style: none;
	padding: 0;
}

.wp-block-categories.is-style-secondary-outline {
	background-color: transparent !important;
}

.wp-block-categories.is-style-secondary-outline.has-base-background-color {
	--swp-categories-accent: var(--wp--preset--color--base);
}

.wp-block-categories.is-style-secondary-outline.has-bg-secondary-background-color {
	--swp-categories-accent: var(--wp--preset--color--bg-secondary);
}

.wp-block-categories.is-style-secondary-outline.has-contrast-background-color {
	--swp-categories-accent: var(--wp--preset--color--contrast);
}

.wp-block-categories.is-style-secondary-outline.has-primary-background-color {
	--swp-categories-accent: var(--wp--preset--color--primary);
}

.wp-block-categories.is-style-secondary-outline.has-secondary-background-color {
	--swp-categories-accent: var(--wp--preset--color--secondary);
}

.wp-block-categories.is-style-secondary-outline.has-tertiary-background-color {
	--swp-categories-accent: var(--wp--preset--color--tertiary);
}

.wp-block-categories.is-style-secondary-outline.has-alert-background-color {
	--swp-categories-accent: var(--wp--preset--color--alert);
}

.wp-block-categories.is-style-secondary-outline.has-deep-green-background-color {
	--swp-categories-accent: var(--wp--preset--color--deep-green);
}

.wp-block-categories.is-style-secondary-outline.has-forest-green-background-color {
	--swp-categories-accent: var(--wp--preset--color--forest-green);
}

.wp-block-categories.is-style-secondary-outline li {
	list-style: none;
	margin: 0;
}

.wp-block-categories.is-style-secondary-outline a {
	align-items: center;
	border: 1px solid var(--swp-categories-accent, var(--wp--preset--color--secondary));
	border-radius: 0.375rem;
	box-sizing: border-box;
	color: var(--swp-categories-accent, var(--wp--preset--color--secondary));
	display: flex;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 600;
	justify-content: space-between;
	line-height: var(--wp--custom--line-height--sm);
	min-height: 3rem;
	padding: 0.75rem 1rem;
	text-decoration: none;
	transition:
		background-color var(--wp--custom--transition--fast),
		color var(--wp--custom--transition--fast);
	width: 100%;
}

.wp-block-categories.is-style-secondary-outline a::after {
	border-right: 1px solid currentcolor;
	border-top: 1px solid currentcolor;
	content: "";
	flex: 0 0 0.45rem;
	height: 0.45rem;
	margin-left: var(--wp--preset--spacing--sm);
	transform: rotate(45deg);
	width: 0.45rem;
}

.wp-block-categories.is-style-secondary-outline .children {
	padding: var(--wp--preset--spacing--xs) 0 0 var(--wp--preset--spacing--sm);
}

/* Interaction states
-------------------------------------------------- */
.wp-block-categories.is-style-buttons a:hover,
.wp-block-categories.is-style-buttons a:focus-visible {
	background-color: var(--wp--preset--color--tertiary);
	color: var(--wp--preset--color--contrast);
}

.wp-block-categories.is-style-buttons a:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast);
	outline-offset: 2px;
}

.wp-block-categories.is-style-secondary-outline a:hover,
.wp-block-categories.is-style-secondary-outline a:focus-visible {
	background-color: color-mix(in srgb, var(--swp-categories-accent, var(--wp--preset--color--secondary)) 10%, transparent);
}

.wp-block-categories.is-style-secondary-outline a:focus-visible {
	outline: 2px solid var(--swp-categories-accent, var(--wp--preset--color--secondary));
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {

	.wp-block-categories.is-style-buttons a,
	.wp-block-categories.is-style-secondary-outline a {
		transition: none;
	}
}
