.trendshelf-category-hub {
	width: min(100% - (var(--ts-gutter-desktop) * 2), var(--ts-width-standard));
	box-sizing: border-box;
	margin: 0 auto;
	padding: var(--ts-space-8) 0 var(--ts-space-16);
	color: var(--ts-color-text);
	font-family: var(--ts-font-sans);
}

.trendshelf-category-hub__breadcrumb ol {
	display: flex;
	gap: var(--ts-space-2);
	margin: 0 0 var(--ts-space-6);
	padding: 0;
	list-style: none;
	font-size: var(--ts-font-size-label);
	color: var(--ts-color-text-muted);
}

.trendshelf-category-hub__breadcrumb li + li::before {
	content: "/";
	margin-right: var(--ts-space-2);
}

.trendshelf-category-hub__breadcrumb a {
	color: var(--ts-color-brand);
}

.trendshelf-category-hub__intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.7fr);
	gap: var(--ts-space-2) var(--ts-space-8);
	align-items: end;
	margin-bottom: var(--ts-space-8);
	padding-bottom: var(--ts-space-6);
	border-bottom: 3px solid var(--ts-color-brand);
}

.trendshelf-category-hub__eyebrow {
	grid-column: 1 / -1;
	margin: 0;
	font-size: var(--ts-font-size-label);
	font-weight: 800;
	color: var(--ts-color-accent);
}

.trendshelf-category-hub__intro h1,
.trendshelf-category-hub__intro p {
	margin: 0;
}

.trendshelf-category-hub__intro h1 {
	font-size: var(--ts-font-size-display);
	line-height: var(--ts-line-height-display);
	color: var(--ts-color-brand);
}

.trendshelf-category-hub__intro > p:last-child {
	font-size: var(--ts-font-size-small);
	line-height: var(--ts-line-height-small);
	color: var(--ts-color-text-secondary);
}

.trendshelf-category-hub__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--ts-space-4);
}

.trendshelf-category-hub__group {
	min-width: 0;
	padding: var(--ts-space-5);
	border: var(--ts-border-default);
	border-radius: var(--ts-radius-md);
	background: var(--ts-color-surface);
}

.trendshelf-category-hub__group-header {
	margin-bottom: var(--ts-space-3);
	padding-bottom: var(--ts-space-3);
	border-bottom: 2px solid var(--ts-color-brand);
}

.trendshelf-category-hub__group h2 {
	margin: 0;
	font-size: var(--ts-font-size-h3);
	line-height: var(--ts-line-height-h3);
	color: var(--ts-color-brand);
}

.trendshelf-category-hub__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.trendshelf-category-hub__links a {
	display: flex;
	min-height: 46px;
	box-sizing: border-box;
	align-items: center;
	justify-content: space-between;
	gap: var(--ts-space-3);
	padding: var(--ts-space-2) var(--ts-space-1);
	border-bottom: 1px solid var(--ts-color-border);
	color: var(--ts-color-text-secondary);
	font-size: var(--ts-font-size-small);
	font-weight: 650;
	text-decoration: none;
}

.trendshelf-category-hub__links li:last-child a {
	border-bottom: 0;
}

.trendshelf-category-hub__links a:hover {
	color: var(--ts-color-accent);
}

.trendshelf-category-hub__links a:focus-visible {
	outline: var(--ts-focus-width) solid var(--ts-color-focus);
	outline-offset: var(--ts-focus-offset);
}

.trendshelf-category-hub__empty {
	padding: var(--ts-space-8);
	border: var(--ts-border-default);
	border-radius: var(--ts-radius-md);
	background: var(--ts-color-surface);
	text-align: center;
}

@media (min-width: 768px) and (max-width: 1023px) {
	.trendshelf-category-hub__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.trendshelf-category-hub {
		width: calc(100% - (var(--ts-gutter-mobile) * 2));
		padding-top: var(--ts-space-5);
		padding-bottom: var(--ts-space-10);
	}

	.trendshelf-category-hub__intro,
	.trendshelf-category-hub__grid {
		grid-template-columns: 1fr;
	}

	.trendshelf-category-hub__intro {
		gap: var(--ts-space-3);
		margin-bottom: var(--ts-space-5);
	}

	.trendshelf-category-hub__intro h1 {
		font-size: var(--ts-font-size-h1);
	}

	.trendshelf-category-hub__group {
		padding: var(--ts-space-4);
	}
}