/*
 * Global Select search (includes/search.php, assets/js/search.js; Jay 2026-10-24): the magnifier in the GS header (the
 * ♡'s size and colour, a 44px tap area) and the slim panel it opens under the header. The panel is fixed (search.js
 * sets its top under whatever of the header shows), so opening it never moves the page (CLS 0). Tokens as header.css.
 */
.gs-hdr .gs-hdr__search {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	box-shadow: none;
	color: var(--gs-ink, #1e2b23);
	cursor: pointer;
}
.gs-hdr .gs-hdr__search:hover, .gs-hdr .gs-hdr__search[aria-expanded="true"] { color: var(--gs-head, #5f7a62); background: #f2f3f1; }
.gs-hdr .gs-hdr__search:focus-visible { outline: 2px solid var(--gs-head, #5f7a62); outline-offset: 3px; }
.gs-hdr .gs-hdr__search svg { display: block; }
.gs-hdr .header-main .nav-right > li.gs-hdr__item--search { padding-left: 6px; }
.gs-hdr .mobile-nav > li.gs-hdr__item--search { padding-left: 0; }

.gs-srch {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1000; /* under the header (1001), over the stuck tabs / quote bar (990 / 992) */
	background: #ffffff;
	border-top: 1px solid #d5d9d6;
	border-bottom: 1px solid #d5d9d6;
	box-shadow: 0 14px 30px rgba(30, 43, 35, 0.12);
	font-family: Lato, "Lato Fallback", "Helvetica Neue", Arial, sans-serif;
}
.gs-srch[hidden] { display: none; }
.gs-srch__inner { max-width: 720px; margin: 0 auto; padding: 14px 16px 16px; }
.gs-srch__form { position: relative; display: flex; align-items: center; margin: 0; }
.gs-srch__icon { position: absolute; left: 14px; top: 50%; color: #5e6a61; transform: translateY(-50%); pointer-events: none; }
.gs-srch__icon svg { display: block; }
.gs-srch .gs-srch__q {
	flex: 1 1 auto;
	height: 48px;
	min-height: 0;
	margin: 0;
	padding: 0 52px 0 44px;
	border: 1px solid #d5d9d6;
	border-radius: 2px;
	background: #ffffff;
	box-shadow: none;
	color: #1e2b23;
	font: 400 16px/1.2 Lato, "Lato Fallback", "Helvetica Neue", Arial, sans-serif; /* 16px: no zoom on iPhone */
	-webkit-appearance: none;
	appearance: none;
}
.gs-srch .gs-srch__q:focus { border-color: #5f7a62; outline: 2px solid #5f7a62; outline-offset: 0; }
.gs-srch .gs-srch__q::-webkit-search-cancel-button { display: none; }
.gs-srch .gs-srch__x {
	position: absolute;
	right: 2px;
	top: 2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: #1e2b23;
	cursor: pointer;
}
.gs-srch .gs-srch__x:hover { color: #5f7a62; }
.gs-srch .gs-srch__x:focus-visible { outline: 2px solid #5f7a62; outline-offset: -4px; }
.gs-srch__list { max-height: calc(100vh - 200px); max-height: calc(100dvh - 200px); margin: 8px 0 0; padding: 0; overflow-y: auto; list-style: none; }
.gs-srch__list[hidden] { display: none; }
.gs-srch .gs-srch__opt { display: flex; align-items: center; gap: 12px; min-height: 52px; margin: 0; padding: 6px 10px; border-radius: 2px; color: #1e2b23; cursor: pointer; }
.gs-srch .gs-srch__opt.is-active { background: #f2f3f1; }
.gs-srch__sw { flex: none; width: 40px; height: 40px; object-fit: cover; border-radius: 2px; background: #e7e9e4; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08); }
.gs-srch__name { min-width: 0; overflow: hidden; font-size: 15px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.gs-srch__type { flex: none; margin-left: auto; color: #5e6a61; font: 700 11px/1.3 Lato, "Lato Fallback", "Helvetica Neue", Arial, sans-serif; letter-spacing: 0.12em; text-transform: uppercase; }
.gs-srch .gs-srch__opt--all { margin-top: 4px; border-top: 1px solid #e3e6e0; border-radius: 0; color: #3f573e; font-weight: 700; font-size: 14px; }
.gs-srch__all { min-width: 0; overflow-wrap: anywhere; }
.gs-srch__arrow { margin-left: auto; padding-left: 12px; display: inline-flex; align-items: center; }
.gs-srch__arrow::after { content: ""; display: inline-block; width: 8px; height: 10px; background-color: currentColor; -webkit-mask: var(--swp-icon-triangle) center / 8px 10px no-repeat; mask: var(--swp-icon-triangle) center / 8px 10px no-repeat; } /* the site's one arrow (sw2's triangle, base.css §33, in the row's own ink; Jay 27 Oct #139); the row is a listbox option, not a link */
@media (max-width: 549px) {
	.gs-srch__inner { padding: 10px 12px 12px; }
	.gs-srch__type { font-size: 10px; letter-spacing: 0.08em; }
}

/* The desktop search BAR in the GS header (Jay 2026-10-26 18:30, in the magnifier's spot): a pill like the brand rows'
   (200px max, 160px floor, 40px tall, white, 1px #dcdfd9), the magnifier inside on the right (the submit button); its
   suggestions drop under it, right-aligned, 380px wide. Phones keep the magnifier + panel above (show-for-medium). */
.gs-hdr .header-main .nav-right > li.gs-hdr__item--sbar { flex: 0 1 200px; min-width: 160px; padding-left: 8px; }
.gs-sbar { position: relative; display: flex; align-items: center; width: 100%; max-width: 200px; margin: 0; }
.gs-hdr .gs-sbar .gs-sbar__q {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	height: 40px;
	min-height: 0;
	margin: 0;
	padding: 0 40px 0 16px;
	border: 1px solid #dcdfd9;
	border-radius: 999px;
	background: #ffffff;
	box-shadow: none;
	color: #1e2b23;
	font: 400 14px/1.2 Lato, "Lato Fallback", "Helvetica Neue", Arial, sans-serif;
	-webkit-appearance: none;
	appearance: none;
}
/* Jay #132 (via sw2, 2026-10-26): the same pill as the other headers: 34px visible inside the 40px click area
   (transparent 3px top/bottom border, the line as an inset shadow on the padding box), Lato 14px, a 16px magnifier. */
.gs-hdr .gs-sbar .gs-sbar__q { border: solid transparent; border-width: 3px 0; background-clip: padding-box; box-shadow: inset 0 0 0 1px #dcdfd9; }
.gs-hdr .gs-sbar .gs-sbar__q:focus { border-color: transparent; outline: 0; box-shadow: inset 0 0 0 2px #5f7a62; }
.gs-hdr .gs-sbar .gs-sbar__q::placeholder { color: #6b746d; opacity: 1; }
.gs-hdr .gs-sbar .gs-sbar__q::-webkit-search-cancel-button { display: none; }
.gs-hdr .gs-sbar .gs-sbar__q:focus { border-color: #5f7a62; outline: 2px solid #5f7a62; outline-offset: 0; }
.gs-hdr .gs-sbar .gs-sbar__go {
	position: absolute;
	right: 2px;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	box-shadow: none;
	color: #1e2b23;
	transform: translateY(-50%);
	cursor: pointer;
}
.gs-hdr .gs-sbar .gs-sbar__go:hover { color: #5f7a62; background: #f2f3f1; }
.gs-hdr .gs-sbar .gs-sbar__go:focus-visible { outline: 2px solid #5f7a62; outline-offset: 0; }
.gs-sbar .gs-sbar__list {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 1002;
	width: 380px;
	max-width: calc(100vw - 30px);
	max-height: 60vh;
	margin: 0;
	padding: 6px;
	overflow-y: auto;
	list-style: none;
	background: #ffffff;
	border: 1px solid #dcdfd9;
	box-shadow: 0 14px 30px rgba(30, 43, 35, 0.14);
	text-align: left;
	font-family: Lato, "Lato Fallback", "Helvetica Neue", Arial, sans-serif;
	text-transform: none;
	letter-spacing: 0;
}
.gs-sbar .gs-sbar__list[hidden] { display: none; }
.gs-sbar .gs-srch__opt { display: flex; align-items: center; gap: 12px; min-height: 48px; margin: 0; padding: 4px 8px; border-radius: 2px; color: #1e2b23; cursor: pointer; list-style: none; }
.gs-sbar .gs-srch__opt.is-active { background: #f2f3f1; }
.gs-sbar .gs-srch__opt--all { margin-top: 4px; border-top: 1px solid #e3e6e0; border-radius: 0; color: #3f573e; font-weight: 700; font-size: 14px; }
.gs-sbar .gs-srch__opt--none { margin-top: 0; border-top: 0; }
@media (max-width: 1229px) { /* narrower screens: the bar at its 160px floor (tighter insides, so "Search Global Select" still shows whole), then the menu's "More" (header.css 2a) takes items */
	.gs-hdr .header-main .nav-right > li.gs-hdr__item--sbar { flex-basis: 166px; min-width: 166px; } /* 166: the 14px placeholder whole (Jay #132) */
	.gs-hdr .gs-sbar .gs-sbar__q { padding: 0 27px 0 11px; }
	.gs-hdr .gs-sbar .gs-sbar__go { right: 2px; width: 28px; height: 28px; }
}
