.shared-result-more {
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid rgba(140, 166, 142, 0.58);
	border-radius: 0;
	background: #78947b;
	color: #071009;
	font: 700 14px Oxanium, Arial, sans-serif;
	cursor: pointer;
}

.shared-result-more:hover {
	background: #8ca68e;
}

.shared-result-loader {
	display: flex;
	min-height: 76px;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 18px 0 0;
}

.shared-result-progress {
	color: var(--ruin-text-muted);
	font: 13px Oxanium, Arial, sans-serif;
}

.shared-result-loader:not(.is-loading) .shared-result-progress:empty {
	display: none;
}

.shared-result-sentinel {
	width: 1px;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 50%;
}

body.shared-result-filter-open {
	overflow: hidden;
}

.shared-result-filter-panel {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 16px;
}

.shared-result-filter-trigger {
	display: inline-flex;
	min-width: 112px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 0 16px;
	border: 1px solid var(--ruin-border-strong);
	border-radius: 0;
	background: rgba(8, 14, 11, 0.72);
	color: var(--ruin-text);
	font: 700 14px Oxanium, Arial, sans-serif;
	cursor: pointer;
}

.shared-result-filter-trigger:hover,
.shared-result-filter-trigger:focus-visible {
	border-color: #8ca68e;
	background: rgba(112, 140, 114, 0.2);
}

.shared-result-filter-count {
	display: inline-flex;
	width: 22px;
	height: 22px;
	align-items: center;
	justify-content: center;
	background: #78947b;
	color: #071009;
	font-size: 12px;
}

.shared-result-filter-backdrop {
	position: fixed;
	z-index: 1900;
	inset: 0;
	background: rgba(1, 4, 3, 0.72);
}

.shared-result-filter-backdrop[hidden] {
	display: none;
}

.shared-result-filter-drawer {
	display: flex;
	width: min(390px, calc(100vw - 20px));
	height: 100vh;
	height: 100dvh;
	position: fixed;
	z-index: 1901;
	top: 0;
	right: 0;
	visibility: hidden;
	flex-direction: column;
	transform: translateX(100%);
	background: #0c1510;
	box-shadow: -20px 0 46px rgba(0, 0, 0, 0.36);
	transition: transform 180ms ease, visibility 180ms ease;
}

.shared-result-filter-drawer.is-open {
	visibility: visible;
	transform: translateX(0);
}

.shared-result-filter-header {
	display: flex;
	min-height: 86px;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 20px;
	background: rgba(19, 30, 24, 0.96);
	box-sizing: border-box;
	flex-shrink: 0;
}

.shared-result-filter-header small,
.shared-result-filter-field > span {
	display: block;
	margin: 0 0 7px;
	color: #8ca68e;
	font: 700 11px Oxanium, Arial, sans-serif;
	text-transform: uppercase;
}

.shared-result-filter-header h2 {
	margin: 0;
	color: var(--ruin-text);
	font: 700 24px Oxanium, Arial, sans-serif;
}

.shared-result-filter-header button {
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid var(--ruin-border-strong);
	border-radius: 0;
	background: rgba(2, 6, 4, 0.5);
	color: var(--ruin-text);
	font: 400 26px/1 Arial, sans-serif;
	cursor: pointer;
}

.shared-result-filter-form {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
}

.shared-result-filter-fields {
	display: grid;
	min-height: 0;
	flex: 1;
	align-content: start;
	gap: 18px;
	padding: 24px 20px;
	overflow-y: auto;
}

.shared-result-filter-field {
	display: block;
}

.shared-result-filter-field > span {
	margin-bottom: 8px;
}

.shared-result-filter-actions {
	display: grid;
	grid-template-columns: 1fr 1.35fr;
	flex-shrink: 0;
	gap: 10px;
	margin-top: auto;
	padding: 16px 20px 20px;
	background: rgba(5, 10, 7, 0.9);
}

.shared-result-filter-actions a,
.shared-result-filter-actions button {
	display: flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	border: 1px solid var(--ruin-border-strong);
	border-radius: 0;
	font: 700 13px Oxanium, Arial, sans-serif;
	text-decoration: none;
	cursor: pointer;
}

.shared-result-filter-actions a {
	background: rgba(2, 6, 4, 0.54);
	color: var(--ruin-text-soft);
}

.shared-result-filter-actions button {
	background: #78947b;
	color: #071009;
}

.shared-result-filter-actions a:hover,
.shared-result-filter-actions a:focus-visible,
.shared-result-filter-actions button:hover,
.shared-result-filter-actions button:focus-visible {
	border-color: #9ab09b;
	filter: brightness(1.08);
}

@media (max-width: 760px), (max-width: 1000px) and (max-height: 600px) {
	.shared-result-filter-panel {
		margin-bottom: 12px;
	}

	.shared-result-filter-trigger {
		min-height: 42px;
	}

	.shared-result-filter-header {
		min-height: 52px;
		gap: 10px;
		padding: 8px 12px;
	}

	.shared-result-filter-header small {
		display: none;
	}

	.shared-result-filter-header h2 {
		font-size: 18px;
		line-height: 1.2;
	}

	.shared-result-filter-header button {
		width: 34px;
		height: 34px;
		font-size: 22px;
	}

	.shared-result-filter-fields {
		gap: 12px;
		padding: 14px 12px;
	}

	.shared-result-filter-field > span {
		margin-bottom: 5px;
	}

	.shared-result-filter-actions {
		gap: 8px;
		padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
	}

	.shared-result-filter-actions a,
	.shared-result-filter-actions button {
		min-height: 40px;
		padding: 0 10px;
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shared-result-filter-drawer {
		transition: none;
	}
}
