.prpl {
	--prpl-border: #d8dee8;
	--prpl-ink: #1d2939;
	--prpl-muted: #667085;
	--prpl-accent: #1458a6;
	color: var(--prpl-ink);
}

.prpl * {
	box-sizing: border-box;
}

.prpl-search,
.prpl-form {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: end;
	margin: 1rem 0 1.5rem;
}

.prpl-form {
	align-items: stretch;
	border: 1px solid var(--prpl-border);
	border-radius: 0.5rem;
	padding: 1rem;
}

.prpl-form h2 {
	flex-basis: 100%;
	margin: 0;
}

.prpl label {
	display: flex;
	flex: 1 1 12rem;
	flex-direction: column;
	gap: 0.35rem;
	font-weight: 600;
}

.prpl input,
.prpl select,
.prpl textarea,
.prpl button {
	max-width: 100%;
	font: inherit;
}

.prpl input,
.prpl select,
.prpl textarea {
	border: 1px solid var(--prpl-border);
	border-radius: 0.25rem;
	padding: 0.55rem;
}

.prpl textarea {
	min-height: 5rem;
}

.prpl button {
	border: 0;
	border-radius: 0.25rem;
	background: var(--prpl-accent);
	color: #fff;
	cursor: pointer;
	padding: 0.6rem 0.9rem;
}

.prpl button:hover,
.prpl button:focus {
	background: #0d3f79;
}

.prpl-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	gap: 1rem;
}

.prpl-card,
.prpl-my-listing,
.prpl-message {
	border: 1px solid var(--prpl-border);
	border-radius: 0.5rem;
	padding: 1rem;
	overflow-wrap: anywhere;
}

.prpl-card-link {
	color: inherit;
	text-decoration: none;
}

.prpl-card-link img,
.prpl-form img,
.prpl-gallery img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 18rem;
	object-fit: cover;
	border-radius: 0.3rem;
}

.prpl-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
	gap: 0.75rem;
	margin-block: 1rem;
}

.prpl-gallery figure {
	margin: 0;
}

.prpl-gallery img {
	aspect-ratio: 4 / 3;
}

.prpl-card h2,
.prpl-my-listing h3 {
	margin: 0.6rem 0;
}

.prpl-meta,
.prpl-help {
	color: var(--prpl-muted);
	font-size: 0.92em;
}

.prpl-price {
	font-size: 1.15em;
	font-weight: 700;
}

.prpl-badge {
	display: inline-block;
	border-radius: 1rem;
	background: #fff0c2;
	padding: 0.2rem 0.6rem;
	font-size: 0.85em;
}

.prpl-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: start;
	margin-top: 1rem;
}

.prpl-actions form {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.prpl-actions details {
	flex: 1 1 15rem;
}

.prpl-actions summary {
	cursor: pointer;
	color: var(--prpl-accent);
	font-weight: 600;
}

.prpl-actions details form {
	margin-top: 0.75rem;
}

.prpl-notice {
	border-inline-start: 4px solid #16804a;
	background: #effaf3;
	margin: 1rem 0;
	padding: 0.8rem 1rem;
}

.prpl-list {
	display: grid;
	gap: 1rem;
}

.prpl-pagination {
	margin: 1.5rem 0;
}

.prpl-language-switcher {
	display: flex;
	gap: 0.5rem;
	justify-content: flex-end;
	margin: 0.5rem 0 1rem;
	font-size: 0.9em;
}

.prpl-pagination .page-numbers {
	display: inline-block;
	margin-inline-end: 0.35rem;
	padding: 0.35rem 0.6rem;
	border: 1px solid var(--prpl-border);
	border-radius: 0.25rem;
}
