/*
 * Ajax Search Pro — content-type labels on live results.
 *
 * A quiet overline above each result title telling you what kind of thing
 * it is (SHOP / JOURNAL / EVENT / BRAND / CATEGORY / PAGE), so a product
 * reads as a product and a journal entry as a journal at a glance. The
 * type comes from the class ASP stamps on each `.item` (asp_r_product,
 * asp_r_post, asp_r_rides-and-events, asp_r_page, asp_r_term). Brand pages
 * are ordinary Pages living under /bicycle-brands/, so they're picked out
 * by the result link's href rather than a class. Label text lives only in
 * CSS — presentation, not content.
 */
.asp_r .item .asp_content > h3 {
	position: relative;
}
.asp_r .item .asp_content > h3::before {
	display: block;
	margin-bottom: 5px;
	font-family: 'MatterMonoMedium', ui-monospace, SFMono-Regular, monospace;
	font-size: 10px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #7f8236; /* cactus */
	content: 'Result';
}

.asp_r .item.asp_r_product .asp_content > h3::before          { content: 'Shop'; }
.asp_r .item.asp_r_post .asp_content > h3::before             { content: 'Journal'; }
.asp_r .item.asp_r_rides-and-events .asp_content > h3::before { content: 'Event'; }
.asp_r .item.asp_r_term .asp_content > h3::before             { content: 'Category'; }
.asp_r .item.asp_r_page .asp_content > h3::before             { content: 'Page'; }

/* Brand pages: the archive-forwarding duplicate Pages. Bike brands live
   under /the-bike-shop/bicycle-brands/, accessory brands under /shop/brands/.
   Both parents matched explicitly; overrides the generic PAGE label above. */
.asp_r .item.asp_r_page:has( a.asp_res_url[href*="/bicycle-brands/"] ) .asp_content > h3::before,
.asp_r .item.asp_r_page:has( a.asp_res_url[href*="/shop/brands/"] ) .asp_content > h3::before {
	content: 'Brand';
}
