.prompt-gallery-main {
	min-height: 55vh;
	padding-block: var(--space-3) clamp(var(--space-12), 6vw, 5rem);
}

.prompt-breadcrumb {
	margin-bottom: var(--space-6);
	font-size: 0.875rem;
}

.prompt-breadcrumb__list {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	list-style: none;
}

.prompt-breadcrumb__list li {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
}

.prompt-breadcrumb__list li:not(:last-child)::after {
	color: var(--color-muted);
	content: "/";
}

.prompt-breadcrumb__list a {
	color: var(--color-muted);
}

.prompt-breadcrumb__list [aria-current="page"] {
	color: var(--color-text);
}

.prompt-gallery-intro,
.prompt-archive-header {
	max-width: 47rem;
	margin-bottom: clamp(var(--space-6), 3vw, 2.5rem);
}

.prompt-gallery-intro {
	margin-inline: auto;
	margin-bottom: var(--space-6);
	text-align: center;
}

.prompt-gallery-intro__eyebrow {
	margin: 0 0 var(--space-3);
	color: var(--color-accent);
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.025em;
}

.prompt-gallery-intro h1,
.prompt-archive-header h1 {
	max-width: 48rem;
	margin: 0;
	color: var(--color-primary);
	font-size: clamp(2rem, 5vw, 3.5rem);
	line-height: 1.1;
	letter-spacing: -0.04em;
	overflow-wrap: anywhere;
}

.prompt-gallery-intro__content,
.prompt-archive-header > p:last-child {
	max-width: 44rem;
	margin-top: var(--space-4);
	margin-bottom: 0;
	color: var(--color-muted);
	font-size: clamp(1rem, 2vw, 1.125rem);
	overflow-wrap: anywhere;
}

.prompt-taxonomy-header__description {
	max-width: 44rem;
	margin-top: var(--space-4);
	color: var(--color-muted);
	font-size: clamp(1rem, 2vw, 1.125rem);
	overflow-wrap: anywhere;
}

.prompt-taxonomy-header__description > :first-child {
	margin-top: 0;
}

.prompt-taxonomy-header__description > :last-child {
	margin-bottom: 0;
}

.prompt-taxonomy-header__description :where(img, video, iframe, table, pre) {
	max-width: 100%;
}

.prompt-taxonomy-header__description :where(table, pre) {
	overflow-x: auto;
}

.prompt-gallery-intro__content {
	margin-inline: auto;
}

.prompt-gallery-intro__content > :first-child {
	margin-top: 0;
}

.prompt-gallery-intro__content > :last-child {
	margin-bottom: 0;
}

.prompt-gallery-intro__content :where(img, video, iframe, table, pre) {
	max-width: 100%;
}

.prompt-gallery-intro__content :where(table, pre) {
	overflow-x: auto;
}

.prompt-gallery__header {
	display: flex;
	margin-bottom: var(--space-4);
	align-items: end;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--space-4);
}

.prompt-gallery__header h2 {
	margin: 0;
	font-size: clamp(1.375rem, 3vw, 1.75rem);
	line-height: 1.2;
	letter-spacing: -0.03em;
}

.prompt-gallery__controls,
.prompt-sort {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--space-2);
	min-inline-size: 0;
}

.prompt-gallery__controls {
	margin-inline-start: auto;
	gap: var(--space-3);
}

.prompt-sort__label {
	color: var(--color-muted);
	font-size: 0.8125rem;
}

.prompt-filters-toggle,
.prompt-filters-close {
	min-block-size: 2.75rem;
	padding-inline: var(--space-4);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	color: var(--color-primary);
	font-weight: 650;
	cursor: pointer;
}

.prompt-filters-close {
	min-inline-size: 2.75rem;
	padding: 0;
	font-size: 1.5rem;
}

.prompt-filter-dialog {
	position: fixed;
	inset-block: 0;
	inset-inline: auto 0;
	inline-size: min(28rem, calc(100% - 1rem));
	max-inline-size: none;
	block-size: 100%;
	block-size: 100dvh;
	max-block-size: none;
	margin: 0;
	padding: clamp(var(--space-4), 4vw, var(--space-6));
	border: 0;
	border-inline-start: 1px solid var(--color-border);
	background: var(--color-surface);
	color: var(--color-text);
	box-shadow: var(--shadow-floating);
	overflow-y: auto;
	overscroll-behavior: contain;
}

.prompt-filter-dialog::backdrop {
	background: rgb(15 23 42 / 45%);
}

body.prompt-filters-open {
	position: fixed;
	inline-size: 100%;
	overflow: hidden;
}

.prompt-filters {
	margin-bottom: var(--space-6);
}

.prompt-filters__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	margin-bottom: var(--space-6);
}

.prompt-filters__header h2 {
	margin: 0;
	font-size: 1.375rem;
}

.prompt-filters__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-4);
	margin-top: var(--space-8);
}

.prompt-filters__actions button {
	border: 0;
	background: var(--color-primary);
	cursor: pointer;
}

.prompt-filters__clear {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	color: var(--color-muted);
	font-size: 0.875rem;
}

.prompt-search-form {
	display: grid;
	max-inline-size: 47.5rem;
	margin: 0 auto clamp(var(--space-6), 3vw, var(--space-8));
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--space-2);
}

.prompt-search-form input[type="search"] {
	width: 100%;
	min-width: 0;
	min-height: 3.125rem;
	padding-inline: var(--space-4);
	border: 1px solid var(--color-border);
	border-radius: 0.75rem;
	background: var(--color-surface);
	color: var(--color-text);
}

.prompt-search-form button {
	min-height: 3.125rem;
	padding-inline: var(--space-6);
	border: 1px solid var(--color-primary);
	border-radius: 0.75rem;
	background: var(--color-primary);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.prompt-search-form button:hover {
	background: var(--color-accent-hover);
}

.prompt-filter-groups {
	display: grid;
	margin-top: 0;
	gap: var(--space-6);
}

.prompt-filter-group {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.prompt-filter-group legend {
	margin: 0 0 var(--space-2);
	color: var(--color-muted);
	font-size: 0.78rem;
	font-weight: 600;
}

.prompt-filter-chips {
	display: flex;
	max-width: 100%;
	flex-wrap: wrap;
	gap: var(--space-1) var(--space-2);
}

.prompt-filter-chip {
	display: inline-flex;
	max-width: 100%;
	min-height: 2.75rem;
	align-items: center;
	padding: var(--space-2) var(--space-3);
	border: 1px solid var(--color-border);
	border-radius: 999px;
	background: var(--color-surface);
	color: var(--color-text);
	font-size: 0.8125rem;
	font-weight: 550;
	line-height: 1.2;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.prompt-filter-chip:hover {
	border-color: var(--color-accent);
	color: var(--color-accent);
}

.prompt-filter-chip.is-active,
.prompt-filter-choice input:checked + .prompt-filter-chip {
	border-color: var(--color-primary);
	background: var(--color-primary);
	color: #fff;
}

.prompt-filter-choice {
	position: relative;
	max-inline-size: 100%;
	cursor: pointer;
}

.prompt-filter-choice input {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	opacity: 0;
}

.prompt-filter-choice input:focus-visible + .prompt-filter-chip {
	outline: 2px solid var(--color-accent);
	outline-offset: 3px;
	box-shadow: var(--shadow-focus);
}

.prompt-grid {
	display: grid;
	margin: 0;
	padding: 0;
	grid-template-columns: minmax(0, 1fr);
	grid-auto-flow: row;
	justify-items: stretch;
	gap: var(--space-6);
	list-style: none;
}

.prompt-grid__item {
	min-width: 0;
}

.prompt-gallery-empty {
	padding: clamp(var(--space-8), 8vw, 5rem);
	border: 1px dashed var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-surface);
	color: var(--color-muted);
	text-align: center;
}

.prompt-gallery-empty p {
	margin: 0;
}

.prompt-gallery-empty a {
	display: inline-flex;
	min-height: 2.75rem;
	margin-top: var(--space-4);
	align-items: center;
	padding-inline: var(--space-6);
	border-radius: var(--radius-sm);
	background: var(--color-accent);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.prompt-gallery-empty a:hover {
	background: var(--color-accent-hover);
	color: #fff;
}

.prompt-pagination {
	margin-top: clamp(var(--space-8), 6vw, var(--space-12));
}

.prompt-pagination .nav-links {
	justify-content: center;
}

@media (min-width: 36rem) {
	.prompt-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 29.99rem) {
	.prompt-search-form {
		grid-template-columns: minmax(0, 1fr);
	}

	.prompt-search-form button {
		width: 100%;
	}
}

@media (min-width: 64rem) {
	.prompt-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
