.zs-kicker {
	margin: 0 0 .7rem;
	color: #f29a0b;
	font-size: .75rem;
	font-weight: 850;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.zs-current-campaign {
	display: grid;
	grid-template-columns: minmax(20rem,1.5fr) minmax(13rem,.65fr) auto;
	gap: clamp(1.4rem,3vw,3rem);
	align-items: center;
	padding: clamp(1.7rem,4vw,3.2rem);
	background: #fff;
	border: 1px solid #dce4ef;
	border-left: 7px solid #075ce5;
	border-radius: 18px;
	box-shadow: 0 22px 70px rgba(7,26,51,.12);
	color: #142033;
}

.zs-current-campaign > div:first-child { min-width: 0; }
.zs-current-campaign :is(h1,h2) { margin: .2rem 0 .65rem; color: #071a33; font-size: clamp(1.9rem,3.1vw,3rem); line-height: 1; overflow-wrap: anywhere; text-wrap: balance; }
.zs-current-campaign p { margin: .35rem 0; color: #5b6677; }
.zs-current-campaign__facts { display: grid; gap: .9rem; }
.zs-current-campaign__facts div { display: grid; padding: .85rem 1rem; border-radius: 11px; background: #f3f7fc; }
.zs-current-campaign__facts strong { color: #075ce5; font-size: 1.25rem; }
.zs-current-campaign__facts span { color: #667286; font-size: .78rem; font-weight: 700; text-transform: uppercase; }
.zs-current-campaign__actions { display: grid; justify-items: stretch; gap: .75rem; min-width: max-content; text-align: center; }
.zs-current-campaign__map-link { color: #075ce5; font-size: .86rem; font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.zs-current-campaign__map-link:hover { color: #064dbf; }

.zs-campaign-map { margin-inline: 0; }
.zs-campaign-map__shell { position: relative; width: 100%; height: 35rem; overflow: hidden; border: 1px solid #dce4ef; border-radius: 18px; background: #eaf2f7; box-shadow: 0 22px 60px rgba(7,26,51,.15); }
.zs-campaign-map__canvas { width: 100%; height: 100%; min-height: 0; overflow: hidden; }
.zs-campaign-map figcaption { margin-top: .65rem; color: #5b6677; font-size: .85rem; }
.zs-map-placeholder { padding: 1rem; border: 2px dashed #9aabc2; border-radius: 12px; background: #f3f7fc; }
.zs-map-zip-marker { appearance: none; padding: .4rem .65rem; border: 1px solid #5cbfae; border-radius: 10px; background: #fff; color: #0657e8; box-shadow: 0 5px 14px rgba(7,26,51,.2); font: 800 .875rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; cursor: pointer; transition: transform .15s ease, background .15s ease, color .15s ease; }
.zs-map-zip-marker:hover, .zs-map-zip-marker:focus-visible, .zs-map-zip-marker.is-selected { transform: translateY(-2px) scale(1.04); background: #0657e8; color: #fff; outline: 3px solid rgba(92,191,174,.38); outline-offset: 2px; }
.zs-map-demographics { position: absolute; z-index: 2; left: 50%; bottom: 2.25rem; display: flex; gap: .65rem; transform: translateX(-50%); pointer-events: none; }
.zs-map-demographic-card { display: grid; min-width: 10.5rem; padding: .75rem 1rem; border: 1px solid rgba(255,255,255,.78); border-radius: 13px; background: rgba(255,255,255,.92); box-shadow: 0 8px 26px rgba(7,26,51,.18); backdrop-filter: blur(10px); text-align: center; }
.zs-map-demographic-card strong { color: #071a33; font-size: 1.05rem; }
.zs-map-demographic-card span { margin-top: .15rem; color: #5b6677; font-size: .72rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.zs-campaign-map__error { display: grid; place-items: center; padding: 2rem; background: #f3f7fc; color: #5b6677; text-align: center; }
.zs-campaign-map .mapboxgl-ctrl-bottom-left, .zs-campaign-map .mapboxgl-ctrl-bottom-right { z-index: 3; }

.zs-selector {
	--sel-blue: #075ce5;
	--sel-orange: #f29a0b;
	--sel-navy: #071a33;
	--sel-text: #142033;
	--sel-muted: #627085;
	--sel-border: #d7e0ed;
	padding: clamp(1.1rem,3vw,2.5rem);
	background: #fff;
	border: 1px solid var(--sel-border);
	border-radius: 20px;
	box-shadow: 0 24px 70px rgba(7,26,51,.12);
	color: var(--sel-text);
}

.zs-selector h2, .zs-selector h3, .zs-selector p { color: inherit; }
.zs-selector__intro { max-width: 54rem; }
.zs-selector__intro h2 { margin-bottom: .7rem; color: var(--sel-navy); font-size: clamp(1.7rem,3vw,2.7rem); }
.zs-selector__intro p { color: var(--sel-muted); }

.zs-selector__card-area { min-width: 0; }
.zs-selector__side-switcher { display: grid; justify-items: center; gap: .45rem; margin: 0 0 1rem; }
.zs-selector__side-label { color: var(--sel-muted); font-size: .7rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.zs-selector__tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem; width: min(100%,25rem); padding: .35rem; border: 1px solid var(--sel-border); border-radius: 15px; background: #eef3fa; box-shadow: inset 0 1px 2px rgba(7,26,51,.05); }
.zs-selector__tabs button { display: flex; align-items: center; justify-content: center; gap: .55rem; min-height: 48px; padding: .72rem 1rem; border: 1px solid transparent; border-radius: 11px; background: transparent; color: var(--sel-muted); font-weight: 800; cursor: pointer; transition: background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
.zs-selector__tabs button:hover { color: var(--sel-blue); }
.zs-selector__tabs button:focus-visible { outline: 3px solid rgba(7,92,229,.25); outline-offset: 2px; }
.zs-selector__tabs button[aria-selected="true"] { transform: translateY(-1px); background: #fff; border-color: #b8d0f7; color: var(--sel-blue); box-shadow: 0 7px 18px rgba(7,26,51,.1); }
.zs-selector__side-icon { position: relative; width: 1.6rem; height: 1rem; border: 2px solid currentColor; border-radius: 3px; }
.zs-selector__side-icon::after { content: ""; position: absolute; left: .22rem; right: .22rem; bottom: .2rem; height: 2px; border-radius: 2px; background: currentColor; opacity: .55; }

.zs-selector__workspace { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(17rem,.62fr); gap: 1rem; align-items: start; }
.zs-selector__side, .zs-selector__summary { padding: clamp(1rem,2vw,1.5rem); border: 1px solid var(--sel-border); border-radius: 15px; background: #fbfdff; }
.zs-selector__side { position: relative; overflow: hidden; }
.zs-selector__side::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg,var(--sel-blue),var(--sel-orange)); }
.zs-selector__side h3 { margin: .35rem 0 1rem; color: var(--sel-navy); font-size: .95rem; letter-spacing: .02em; }

.zs-selector__grid { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); grid-template-rows: minmax(7rem,1fr) auto minmax(7rem,1fr); gap: .55rem; padding: .7rem; border: 5px solid var(--sel-blue); border-radius: 6px; background: #fff; box-shadow: 0 16px 42px rgba(7,26,51,.12); }
.zs-selector__indicia { grid-column: 1 / -1; grid-row: 2; display: flex; align-items: center; min-height: 4.75rem; overflow: hidden; border-top: 1px solid #d8e0ec; border-bottom: 1px solid #d8e0ec; background: #fff; }
.zs-selector__indicia img { display: block; width: 100%; height: auto; }
.zs-spot { grid-column: var(--zs-column); grid-row: var(--zs-row); display: grid; place-content: center; gap: .3rem; min-width: 0; padding: .8rem .35rem; border: 1px dashed #70a4f3; border-radius: 10px; background: #eaf2ff; color: #173f82; font-weight: 750; cursor: pointer; transition: transform .14s ease, background .14s ease, border .14s ease; }
.zs-spot:hover:not(:disabled), .zs-spot:focus-visible:not(:disabled) { transform: translateY(-2px); border-style: solid; background: #dceaff; }
.zs-spot[data-status="sold"] { border-style: solid; border-color: #aebfd0; background: linear-gradient(145deg,#edf2f7,#dfe7ef); color: #34465a; cursor: not-allowed; }
.zs-spot[data-status="reserved"] { border-style: solid; border-color: #d6a03c; background: #fff4dc; color: #76500d; cursor: not-allowed; }
.zs-spot[data-status="unavailable"] { opacity: .45; }
.zs-spot[data-status="loading"] { opacity: .6; cursor: wait; }
.zs-spot.is-merged { visibility: hidden; }
.zs-spot.is-sold-merged { visibility: hidden; }
.zs-spot__sold-detail { display: block; max-width: 100%; color: #58697b; font-size: .64rem; font-weight: 650; line-height: 1.25; text-wrap: balance; }

.zs-selection-merge { z-index: 2; display: grid; place-content: center; gap: .2rem; padding: .75rem; border: 2px solid var(--sel-orange); border-radius: 11px; background: var(--sel-blue); color: #fff; text-align: center; box-shadow: 0 10px 25px rgba(7,92,229,.22); cursor: pointer; }
.zs-selection-merge[hidden] { display: none !important; }
.zs-selection-merge:hover, .zs-selection-merge:focus-visible { background: #064dbf; outline: 3px solid rgba(242,154,11,.32); outline-offset: 2px; }
.zs-selection-merge strong { color: #ffe0a3; font-size: 1.05rem; }
.zs-selection-merge small { display: block; color: #dce9ff; font-size: .7rem; font-weight: 700; }
.zs-sold-merge { z-index: 1; display: grid; place-content: center; gap: .25rem; min-width: 0; padding: .75rem; border: 2px solid #8da3ba; border-radius: 11px; background: linear-gradient(145deg,#eef3f8,#dae4ed); color: #26384d; text-align: center; box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 8px 20px rgba(7,26,51,.09); }
.zs-sold-merge strong { color: #1d3047; font-size: 1.05rem; text-transform: uppercase; }
.zs-sold-merge span { overflow-wrap: anywhere; color: #344b63; font-weight: 800; }
.zs-sold-merge small { color: #66788b; font-size: .68rem; font-weight: 650; line-height: 1.25; }

.zs-selector.is-list-view .zs-selector__grid { display: grid; grid-template-columns: 1fr; grid-template-rows: none; }
.zs-selector.is-list-view .zs-spot, .zs-selector.is-list-view .zs-selection-merge { grid-column: 1 !important; grid-row: auto !important; }
.zs-selector.is-list-view .zs-spot.is-merged { display: none; }
.zs-selector.is-list-view .zs-selector__indicia { display: none; }

.zs-selector__summary { position: sticky; top: 104px; background: #fff; box-shadow: 0 10px 30px rgba(7,26,51,.06); }
.zs-selector__summary h3 { margin: 0 0 .5rem; color: var(--sel-navy); font-size: 1.35rem; }
.zs-selector__summary dl { margin: 0 0 1.2rem; }
.zs-selector__summary dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .72rem 0; border-bottom: 1px solid var(--sel-border); }
.zs-selector__summary dt { color: var(--sel-muted); }
.zs-selector__summary dd { margin: 0; color: var(--sel-navy); font-weight: 850; text-align: right; }
.zs-selector__summary label { display: block; margin-bottom: .4rem; color: var(--sel-navy); font-weight: 800; }
.zs-selector__summary select { width: 100%; min-height: 48px; padding: .6rem; border: 1px solid #aebcd0; border-radius: 9px; background: #fff; color: var(--sel-text); }
.zs-selector__category-note { color: var(--sel-muted) !important; font-size: .8rem; }
.zs-selector [data-reserve] { width: 100%; margin-top: .7rem; }
.zs-selector [data-reserve] { min-height: 51px; border: 0; border-radius: 10px; background: var(--sel-orange); color: var(--sel-navy); font-weight: 850; cursor: pointer; box-shadow: 0 9px 22px rgba(242,154,11,.22); }
.zs-selector [data-reserve]:hover:not(:disabled) { background: #ffad21; }
.zs-selector [data-reserve]:disabled { opacity: .45; cursor: not-allowed; }
.zs-selector__timer { margin-top: 1rem; padding: .7rem; border: 1px solid #d8a64a; border-radius: 9px; background: #fff6e4; color: #6a480e; text-align: center; }
.zs-selector__message { min-height: 1.5em; color: #8b5a00 !important; font-size: .88rem; }

.zs-checkout-intro { max-width: 1180px; margin: 3rem auto 1rem; padding: clamp(1.5rem,3vw,2.4rem); border: 1px solid #dce4ef; border-radius: 18px; background: #fff; box-shadow: 0 18px 52px rgba(7,26,51,.1); }
.zs-checkout-intro__top { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: start; }
.zs-checkout-intro h1 { margin: .25rem 0 .8rem; color: #071a33; font-size: clamp(2rem,4vw,3.8rem); }
.zs-checkout-intro p { color: #5b6677; }
.zs-checkout-intro__price { color: #075ce5; font-size: clamp(2rem,4vw,3.2rem); font-weight: 850; white-space: nowrap; }
.zs-checkout-intro__facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; margin-top: 1.5rem; }
.zs-checkout-intro__facts div { display: grid; padding: .9rem 1rem; border-radius: 10px; background: #f3f7fc; }
.zs-checkout-intro__facts span { color: #667286; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.zs-checkout-intro__facts strong { margin-top: .25rem; color: #071a33; }
.zs-checkout-included { margin: 1.2rem 0 0; color: #4f5c6d; font-size: .9rem; }

.zs-checkout-hold { max-width: 1180px; margin: 0 auto 1rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .85rem 1rem; border: 1px solid #b9d2fa; border-radius: 12px; background: #eaf2ff; color: #173f82; }
.zs-checkout-hold strong { min-width: 3.4rem; color: #075ce5; font-size: 1.15rem; font-variant-numeric: tabular-nums; text-align: right; }
.zs-checkout-hold.is-urgent { border-color: #e0aa47; background: #fff4dc; color: #704b0c; }

.zs-order-next-step { margin-block: 2rem; padding: clamp(1.25rem,3vw,2rem); border: 1px solid #dce4ef; border-radius: 15px; background: #f3f7fc; color: #071a33; }

@media (max-width: 900px) {
	.zs-current-campaign, .zs-selector__workspace { grid-template-columns: 1fr; }
	.zs-current-campaign__actions { justify-items: start; min-width: 0; }
	.zs-selector__summary { position: static; }
	.zs-selector__grid { grid-template-rows: minmax(5.5rem,1fr) auto minmax(5.5rem,1fr); }
	.zs-campaign-map__shell { height: 31.25rem; }
	.zs-checkout-intro__facts { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
	.zs-campaign-map__shell { height: 28.125rem; border-radius: 14px; }
	.zs-map-demographics { bottom: 2.3rem; width: calc(100% - 1rem); gap: .4rem; }
	.zs-map-demographic-card { min-width: 0; width: 50%; padding: .6rem .45rem; }
	.zs-map-demographic-card strong { font-size: .9rem; }
	.zs-map-demographic-card span { font-size: .62rem; }
	.zs-selector__tabs { width: 100%; }
	.zs-selector__tabs button { min-height: 46px; padding-inline: .7rem; }
	.zs-selector__grid { gap: .35rem; }
	.zs-spot { font-size: .75rem; }
	.zs-checkout-intro__top, .zs-checkout-intro__facts { grid-template-columns: 1fr; }
	.zs-checkout-intro__price { text-align: left; }
}
