/* ======================================================
Desktop Search Modal — centered typeahead.
Scoped strictly to .sc-desktop-search so the mobile sheet
(.sc-mobile-search) is untouched. Layout/color live on the
partial via utility classes; this file holds only the
component-specific rules that can't be done with utilities.
====================================================== */

.sc-desktop-search {
	display: none;
}

@media (min-width: 992px) {
	.sc-desktop-search {
		display: block;
	}
}

/* Darker backdrop — no blur, no glass.
   Kills the .sc-modal + .sc-modal-overlay blur that sc-modal.css applies. */
.sc-modal.sc-desktop-search,
.sc-desktop-search .sc-modal-overlay {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.sc-desktop-search .sc-modal-overlay {
	background: rgba(0, 0, 0, 0.6);
}

/* Dialog sizing/height — extra scope to beat .sc-modal-dialog's 420px cap. */
.sc-desktop-search .sc-desktop-search__dialog {
	width: min(800px, calc(100vw - 48px));
	max-width: 800px;
	height: min(76vh, 720px);
	margin: 8vh auto 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

/* sc-modal.js adds .sc-managed-modal to every registered modal, and its
   rule forces `.sc-managed-modal .sc-modal-dialog { background: transparent }`.
   Re-assert the dark surface + rounded corners on this specific modal. */
.sc-managed-modal.sc-desktop-search .sc-modal-dialog {
	background: #1e1e1e;
	border-radius: 1.4rem;
}

.sc-desktop-search__field-icon {
	color: rgba(255, 255, 255, 0.5);
}

/* Bump specificity above main.css `button, input {}` — utility classes
   would tie on specificity and lose to whichever loads later. */
.sc-desktop-search .sc-desktop-search__input::placeholder {
	color: rgba(255, 255, 255, 0.35);
}

/* Kill the global red focus ring on this input — subtle field-level glow instead. */
.sc-desktop-search .sc-desktop-search__input,
.sc-desktop-search .sc-desktop-search__input:focus,
.sc-desktop-search .sc-desktop-search__input:focus-visible {
	outline: none;
	box-shadow: none;
	border: 0;
}

.sc-desktop-search .sc-desktop-search__input::-webkit-search-decoration,
.sc-desktop-search .sc-desktop-search__input::-webkit-search-cancel-button,
.sc-desktop-search .sc-desktop-search__input::-webkit-search-results-button,
.sc-desktop-search .sc-desktop-search__input::-webkit-search-results-decoration {
	appearance: none;
	-webkit-appearance: none;
	display: none;
}

.sc-desktop-search__hint {
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 4px;
	padding: 1px 6px;
	letter-spacing: 0.02em;
	text-transform: lowercase;
}

.sc-desktop-search__body {
	flex: 1 1 auto;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-bottom: 8px;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.12) transparent;
}

.sc-desktop-search__body::-webkit-scrollbar {
	width: 8px;
}
.sc-desktop-search__body::-webkit-scrollbar-track {
	background: transparent;
}
.sc-desktop-search__body::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.10);
	border-radius: 8px;
	border: 2px solid transparent;
	background-clip: padding-box;
}
.sc-desktop-search__body::-webkit-scrollbar-thumb:hover {
	background: rgba(255, 255, 255, 0.18);
	background-clip: padding-box;
}

/* Keyboard focus highlight for row navigation — matches hover state. */
.sc-desktop-search .sc-search-row.is-active,
.sc-desktop-search .sc-search-row:hover {
	background: rgba(255, 255, 255, 0.04);
	outline: none;
}

.sc-desktop-search .sc-search-row {
	border-radius: 8px;
}
