.mod-redpebble-ems-search {
	--rpe-search-bg: rgba(255, 255, 255, 0.96);
	--rpe-search-border: rgba(17, 24, 39, 0.14);
	--rpe-search-text: #111827;
	--rpe-search-muted: #4b5563;
	--rpe-search-accent: #b91c1c;
	color: var(--rpe-search-text);
}

.mod-redpebble-ems-search__form {
	background: var(--rpe-search-bg);
	border: 1px solid var(--rpe-search-border);
	border-radius: 8px;
	box-shadow: 0 18px 45px rgba(17, 24, 39, 0.12);
	padding: 14px;
}

.mod-redpebble-ems-search__fields {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.mod-redpebble-ems-search__field {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.mod-redpebble-ems-search__field--keyword {
	min-width: min(100%, 220px);
}

.mod-redpebble-ems-search__action {
	min-width: 160px;
}

.mod-redpebble-ems-search label {
	color: var(--rpe-search-muted);
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.2;
}

.mod-redpebble-ems-search input,
.mod-redpebble-ems-search select,
.mod-redpebble-ems-search button {
	border-radius: 6px;
	font: inherit;
	min-height: 44px;
	width: 100%;
}

.mod-redpebble-ems-search input,
.mod-redpebble-ems-search select {
	background: #fff;
	border: 1px solid var(--rpe-search-border);
	color: var(--rpe-search-text);
	padding: 0 12px;
}

.mod-redpebble-ems-search__date {
	margin-top: 6px;
}

.mod-redpebble-ems-search button {
	background: var(--rpe-search-accent);
	border: 1px solid var(--rpe-search-accent);
	color: #fff;
	font-weight: 800;
	padding: 0 18px;
	white-space: nowrap;
}

.mod-redpebble-ems-search__quick {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.mod-redpebble-ems-search__quick a {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid var(--rpe-search-border);
	border-radius: 999px;
	color: var(--rpe-search-text);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1;
	padding: 9px 12px;
	text-decoration: none;
}

.mod-redpebble-ems-search__quick a:focus,
.mod-redpebble-ems-search__quick a:hover {
	border-color: var(--rpe-search-accent);
	color: var(--rpe-search-accent);
}

@media (max-width: 900px) {
	.mod-redpebble-ems-search__fields {
		grid-template-columns: 1fr 1fr;
	}

	.mod-redpebble-ems-search__action {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.mod-redpebble-ems-search__form {
		padding: 12px;
	}

	.mod-redpebble-ems-search__fields {
		grid-template-columns: 1fr;
	}
}
