/* Site search: the box in the public page header and the results page
   (index.php?View=Search). Colors come from the --adm-* variables in
   theme-dark.css and theme-light.css. */

.srch-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.site-search, .srch-form { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; margin: 4px 0; }
.site-search input[type=search], .srch-form input[type=search] {
	box-sizing: border-box; width: 220px; max-width: 100%; min-height: 40px; padding: 0 10px; border-radius: 8px;
	border: 1px solid var(--adm-border, #46305c); background: var(--adm-field, #14061e); color: var(--adm-text, #ece6f2);
	font-family: "Noto Sans", sans-serif; font-size: 16px; color-scheme: var(--adm-scheme, dark); }
.site-search button, .srch-form button {
	min-height: 40px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--adm-accent, #66CCFF);
	background: var(--adm-accent, #66CCFF); color: var(--adm-on-accent, #110019);
	font-family: "Noto Sans", sans-serif; font-size: 16px; font-weight: 700; cursor: pointer; }

.srch { max-width: 900px; margin: 16px auto 40px; padding: 0 6px; box-sizing: border-box;
	font-family: "Noto Sans", sans-serif; font-size: 16px; line-height: 1.5; color: var(--adm-text, #ece6f2); }
.srch .srch-form { display: flex; width: 100%; justify-content: flex-start; }
.srch .srch-form input[type=search] { flex: 1 1 220px; width: auto; min-height: 48px; font-size: 18px; }
.srch .srch-form button { min-height: 48px; padding: 0 20px; font-size: 17px; }
.srch p.srch-count, .srch p.srch-note { margin: 14px 0 6px; color: var(--adm-muted, #b7aac6); }
.srch-results { list-style: none; margin: 0; padding: 0; }
.srch-item { padding: 14px 0; border-top: 1px solid var(--adm-border, #46305c); }
.srch-kind { font-size: 13px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--adm-muted, #b7aac6); }
.srch-kind.is-upcoming { color: var(--adm-warm, #FF9933); }
.srch a.srch-title:link, .srch a.srch-title:visited { display: inline-block; margin: 2px 0 4px; font-size: 19px; font-weight: 700;
	line-height: 1.3; color: var(--adm-accent, #66CCFF); text-decoration: none; }
.srch a.srch-title:hover, .srch a.srch-title:focus-visible { text-decoration: underline; }
.srch p.srch-snippet { margin: 0; color: var(--adm-text, #ece6f2); }
.srch a.srch-minutes:link, .srch a.srch-minutes:visited { display: inline-flex; align-items: center; min-height: 40px; margin-top: 4px;
	font-weight: 600; color: var(--adm-accent, #66CCFF); }
.srch mark { background: var(--adm-warm, #FF9933); color: var(--adm-on-accent, #110019); border-radius: 3px; padding: 0 2px; }

/* The navigation-row copy of the search box (meeting pages) is for phones only */
.nav-search { display: none; }
@media (max-width: 600px) {
	/* arrows, calendar and search share one line */
	.page-content td.nav-cell { display: flex !important; align-items: center; gap: 4px; }
	.page-content td.nav-cell .calendar-navigation { width: 30px; height: 30px; }
	.nav-search { display: flex; flex: 1 1 auto; flex-wrap: nowrap; min-width: 0; gap: 4px; margin: 0 0 0 4px; }
	.nav-search input[type=search] { flex: 1 1 auto; width: auto; min-width: 0; min-height: 36px; padding: 0 8px; }
	.nav-search button { flex: 0 0 auto; min-height: 36px; padding: 0 10px; font-size: 15px; }
	/* when the navigation row has it, the header's own search row is not needed */
	body:has(.nav-search) .page-header .site-search:not(.nav-search) { display: none; }
	/* pages without a navigation row: keep the header search box and button on one line */
	.page-header .site-search { display: flex; flex-wrap: nowrap; width: 100%; max-width: 100%; box-sizing: border-box; }
	.page-header .site-search input[type=search] { flex: 1 1 0; width: 0; min-width: 0; }	/* width 0: grows to fit, never forces the header wider */
}
