/* The sold search window (Jethro, November 3, 2026; Kaz, November 4, 2026): the Search page's map and
 * cards with sold on, placed on a post or a page by [seymour_sold_search]. */
.seymour-sw {
	background: #fff;
	border: 1px solid var(--line, #dde3ea);
	border-radius: 10px;
	box-sizing: border-box;
	color: var(--ink, #2b2f36);
	margin: 0 auto;
	max-width: 1200px;
	padding: 24px;
}

.seymour-sw__preview {
	background: #faf8f3;
	border-left: 4px solid var(--gold-500, #c9a84c);
	font-size: 13px;
	margin: 0 0 16px;
	padding: 8px 12px;
}

.seymour-sw .seymour-sw__title {
	color: var(--footer-bg, #0a1628);
	font-family: var(--font-serif);
	font-size: clamp(24px, 3vw, 32px);
	line-height: 1.15;
	margin: 0 0 6px;
}

.seymour-sw__hint {
	color: #5d6578;
	font-size: 15px;
	margin: 0 0 16px;
}

.seymour-sw__console {
	align-items: flex-end;
	background: #faf8f3;
	border: 1px solid var(--line, #dde3ea);
	border-radius: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 12px;
	padding: 14px;
}

.seymour-sw__ctl {
	color: #5d6578;
	display: flex;
	flex-direction: column;
	font-size: 12px;
	font-weight: 700;
	gap: 4px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.seymour-sw__ctl select {
	background: #fff;
	border: 1px solid #c5cdd8;
	border-radius: 4px;
	color: var(--ink, #2b2f36);
	font-family: var(--font-sans);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0;
	min-height: 44px;
	min-width: 140px;
	padding: 8px 12px;
	text-transform: none;
}

.seymour-sw__count {
	color: var(--footer-bg, #0a1628);
	font-size: 17px;
	font-weight: 700;
	margin: 0 0 12px;
	min-height: 1.4em;
}

.seymour-sw__split {
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
}

.seymour-sw__map {
	background: #e9eef0;
	border: 1px solid var(--line, #dde3ea);
	border-radius: 8px;
	min-height: 460px;
	z-index: 0;
}

.seymour-sw__side {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: 560px;
	overflow-y: auto;
}

.seymour-sw__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* A signed-out card: the street, the type, the month, and a blurred placeholder where the price is. */
.seymour-sw-card__link {
	background: #fff;
	border: 1px solid var(--line, #dde3ea);
	border-radius: 6px;
	color: inherit;
	display: grid;
	gap: 12px;
	grid-template-columns: 84px minmax(0, 1fr);
	padding: 10px;
	text-decoration: none;
	transition: box-shadow 0.15s, transform 0.15s;
}

.seymour-sw-card__link:hover,
.seymour-sw-card__link:focus-visible {
	box-shadow: 0 0 22px rgba(201, 168, 76, 0.55);
	transform: translateY(-2px);
}

.seymour-sw-card--ours .seymour-sw-card__link {
	border-color: var(--gold-500, #c9a84c);
	box-shadow: inset 4px 0 0 var(--gold-500, #c9a84c);
}

.seymour-sw-card__pic {
	background: linear-gradient(135deg, #d9c9a0, #8a9bbd);
	border-radius: 4px;
	display: block;
	min-height: 66px;
	opacity: 0.55;
}

.seymour-sw-card__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.seymour-sw-card__street {
	color: var(--footer-bg, #0a1628);
	font-family: var(--font-serif);
	font-size: 17px;
}

.seymour-sw-card__line {
	color: #5d6578;
	font-size: 13px;
}

.seymour-sw-card__ours {
	color: #8c6d1f;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.seymour-sw-card__blur,
.seymour-sw-pop__blur {
	color: #5d6578;
	filter: blur(4px);
	font-size: 13px;
	user-select: none;
}

.seymour-sw-card__see {
	color: var(--footer-bg, #0a1628);
	font-size: 12px;
	font-weight: 700;
	text-decoration: underline;
}

.seymour-sw__more {
	margin: 0;
	text-align: center;
}

.seymour-sw__morebtn {
	background: transparent;
	border: 1.5px solid var(--footer-bg, #0a1628);
	border-radius: 4px;
	color: var(--footer-bg, #0a1628);
	cursor: pointer;
	font-family: var(--font-sans);
	font-size: 14px;
	font-weight: 700;
	min-height: 44px;
	padding: 0 20px;
}

.seymour-sw__gate {
	background: var(--footer-bg, #0a1628);
	border-radius: 8px;
	color: #fff;
	padding: 16px;
	text-align: center;
}

.seymour-sw__gate p {
	color: #fff;
	margin: 0 0 10px;
}

.seymour-sw .seymour-mls-notices {
	border-top: 1px solid var(--line, #dde3ea);
	color: #5d6578;
	font-size: 11px;
	line-height: 1.4;
	margin-top: 18px;
	padding-top: 12px;
}

/* The map's pins: a navy dot (gold for our own sales), clusters as numbered bubbles. */
.seymour-sw-pinwrap {
	background: none;
	border: 0;
}

.seymour-sw-pin {
	background: var(--navy-700, #1e3a5f);
	border: 2.5px solid #fff;
	border-radius: 50%;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
	display: block;
	height: 18px;
	width: 18px;
}

.seymour-sw-pin--ours {
	background: var(--gold-500, #c9a84c);
	height: 22px;
	margin: -2px;
	width: 22px;
}

.seymour-sw-pin__price {
	background: #1e3a5f;
	border-radius: 3px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	left: 22px;
	padding: 1px 5px;
	position: absolute;
	top: -1px;
	white-space: nowrap;
}

.seymour-sw-cluster {
	background: none;
	border: 0;
}

.seymour-sw-cluster span {
	align-items: center;
	background: #1e3a5f;
	border: 3px solid #fff;
	border-radius: 50%;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
	box-sizing: border-box;
	color: #fff;
	display: flex;
	font-size: 14px;
	font-weight: 700;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.seymour-sw-popup .leaflet-popup-content {
	margin: 12px 14px;
}

.seymour-sw-pop {
	color: var(--ink, #2b2f36);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.seymour-sw-pop strong {
	color: var(--footer-bg, #0a1628);
	font-family: var(--font-serif);
	font-size: 17px;
}

.seymour-sw-pop span {
	color: #5d6578;
	font-size: 13px;
}

.seymour-sw-pop .seymour-sw-pop__ours {
	color: #8c6d1f;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.seymour-sw-pop .seymour-sw-pop__btn {
	margin-top: 6px;
	text-align: center;
}

@media (max-width: 899px) {
	.seymour-sw {
		padding: 16px;
	}

	.seymour-sw__split {
		grid-template-columns: minmax(0, 1fr);
	}

	.seymour-sw__map {
		min-height: 340px;
	}

	.seymour-sw__side {
		max-height: none;
	}

	.seymour-sw__ctl,
	.seymour-sw__ctl select {
		min-width: 0;
		width: 100%;
	}

	.seymour-sw__ctl {
		flex: 1 1 calc(50% - 12px);
	}
}

/* Laptops (1200 px and wider; Kaz, November 5, 2026): the map takes half the width, the cards the other
 * half (first 40/60), two across, so four show in two rows. The map stretches to the height of the cards. */
@media (min-width: 1200px) {
	.seymour-sw__split {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.seymour-sw__map {
		min-height: 460px;
	}

	/* Two rows of cards are about as tall as the map was before (Kaz, November 5, 2026); the rest
	 * scroll. */
	.seymour-sw__side {
		max-height: 640px;
	}

	/* A fixed height, so the map keeps its size when the cards load and does not draw part of its
	 * tiles (Kaz, November 5, 2026: the map looked off). */
	.seymour-sw__map {
		height: 640px;
	}

	.seymour-sw__list {
		display: grid;
		gap: 10px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}

	/* Smaller cards: a shorter photo, tighter type, no MLS number. The listing brokerage stays on each
	 * card: these are other brokerages' sales (PropTx MLS Rules 6.3(c) and 8.26; Jethro, October 24). */
	.seymour-sw__list .seymour-mls-card__photo {
		aspect-ratio: 16 / 6 !important;
		height: auto !important;
	}

	.seymour-sw__list .seymour-mls-card__photo img {
		height: 100% !important;
		object-fit: cover;
	}

	.seymour-sw__list .seymour-mls-card__body {
		padding: 10px 12px 12px !important;
	}

	.seymour-sw__list .seymour-mls-card__price {
		font-size: 18px !important;
		line-height: 1.25 !important;
		margin: 0 0 2px !important;
	}

	.seymour-sw__list .seymour-mls-card__address {
		font-size: 17px !important;
		line-height: 1.25 !important;
		margin: 0 0 2px !important;
	}

	.seymour-sw__list .seymour-mls-card__body p {
		font-size: 13px !important;
		line-height: 1.35 !important;
		margin: 0 0 2px !important;
	}

	.seymour-sw__list .seymour-mls-card__mls {
		display: none !important;
	}
}

/* The filters sit beside the headline, to its right (Kaz, November 5, 2026); on a narrow screen they
 * drop under it. */
.seymour-sw__head {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	justify-content: space-between;
	margin: 0 0 12px;
}

.seymour-sw__head .seymour-sw__title {
	flex: 1 1 320px;
	margin: 0;
}

.seymour-sw__head .seymour-sw__console {
	flex: 0 1 auto;
	margin: 0;
}

/* "11 homes sold in Davisville Village in October 2026": directly under the filters, in the disclaimer's
 * size and colour, not bold (Kaz, November 5, 2026). */
.seymour-sw .seymour-sw__count {
	color: #5d6578;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	margin: -4px 0 12px;
	min-height: 0;
}

@media (min-width: 900px) {
	.seymour-sw .seymour-sw__count {
		text-align: right;
	}
}

/* The filter dropdowns' arrows sit in from the right edge (Kaz, November 5, 2026). */
.seymour-sw__ctl select {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231E3A5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: right 16px center;
	background-repeat: no-repeat;
	background-size: 12px 8px;
	padding-right: 40px;
}

/* Smaller type in the filter dropdowns and their options (Kaz, November 5, 2026). */
.seymour-sw__ctl select,
.seymour-sw__ctl select option {
	font-size: 14px;
}

/* No gold underlines on the cards' text: a post's gold link underline was reaching every line of the
 * card (Kaz, November 5, 2026). */
.seymour-sw .seymour-mls-card__link,
.seymour-sw .seymour-mls-card__link:hover,
.seymour-sw .seymour-mls-card__link:focus-visible,
.seymour-sw .seymour-mls-card a,
.seymour-sw .seymour-mls-card a * {
	text-decoration: none !important;
}

/* The headline's accent: gold italics, as the site's other headlines (Kaz, November 5, 2026). */
.seymour-sw .seymour-sw__title .seymour-sw__accent {
	color: var(--gold-700, #9c7b2e);
	font-style: italic;
}

.seymour-sw .seymour-mls-notices,
.seymour-sw .seymour-mls-notices p {
	text-align: center;
}

/* Laptops: the headline is about as tall as the filter bar beside it (Kaz, November 5, 2026). */
@media (min-width: 1200px) {
	.seymour-sw .seymour-sw__head .seymour-sw__title {
		font-size: clamp(34px, 3.1vw, 40px);
		line-height: 1.2;
		white-space: nowrap;
	}
}

/* The neighbourhood joins the type and city line after a dot: "Condo Apartment · Toronto, ON · Davisville
 * Village" (Kaz, November 5, 2026), in place of its own line. */
.seymour-sw__list .seymour-mls-card__place .seymour-mls-card__phone {
	display: inline !important;
}

.seymour-sw__list .seymour-mls-card__area {
	display: none !important;
}

/* "and nearby neighbourhoods", a small line under the headline (Kaz, November 5, 2026). */
.seymour-sw .seymour-sw__title .seymour-sw__sub {
	color: var(--footer-bg, #0a1628);
	display: block;
	font-family: var(--font-serif);
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.25;
	margin-top: 4px;
}

/* A calmer map (Kaz, November 5, 2026: too many circles). A priced pin is just its price tag, centred on
 * the home, with no dot beside it; a pin with no price is a small dot; a cluster is a small, lighter
 * bubble. */
.seymour-sw-pinwrap:has(.seymour-sw-pin__price) .seymour-sw-pin {
	display: none;
}

.seymour-sw-pinwrap:has(.seymour-sw-pin__price) .seymour-sw-pin__price {
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.seymour-sw-pinwrap:has(.seymour-sw-pin--ours) .seymour-sw-pin__price {
	background: var(--gold-500, #c9a84c);
	color: #0a1628;
}

.seymour-sw-pin {
	height: 12px;
	width: 12px;
}

.seymour-sw-cluster {
	height: 26px !important;
	margin-left: -13px !important;
	margin-top: -13px !important;
	width: 26px !important;
}

.seymour-sw-cluster span {
	background: rgba(30, 58, 95, 0.88);
	border-width: 2px;
	font-size: 12px;
}
