.ns-inventory-shell {
	max-width: 84rem;
}

.ns-inventory-filter-grid {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.ns-inventory-grid {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.ns-inventory-card {
	grid-template-columns: minmax(0, 1fr);
}

.ns-inventory-card-media {
	aspect-ratio: 4 / 3;
}

.ns-inventory-card-body {
	gap: 1rem;
}

.ns-inventory-card-status-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: space-between;
}

.ns-inventory-status-badge {
	border: 1px solid transparent;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.ns-inventory-status-badge.is-on-display {
	background: rgba(var(--color-sky-blue-rgb), 0.16);
	border-color: rgba(var(--color-sky-blue-rgb), 0.24);
	color: var(--color-navy);
}

.ns-inventory-status-badge.is-available {
	background: rgba(var(--color-success-rgb), 0.16);
	border-color: rgba(var(--color-success-rgb), 0.24);
	color: var(--color-success);
}

.ns-inventory-status-badge.is-coming-soon {
	background: rgba(var(--color-warning-rgb), 0.16);
	border-color: rgba(var(--color-warning-rgb), 0.24);
	color: var(--color-warning);
}

.ns-inventory-status-badge.is-sale-pending {
	background: rgba(var(--color-orange-rgb), 0.14);
	border-color: rgba(var(--color-orange-rgb), 0.24);
	color: var(--color-orange);
}

.ns-inventory-status-badge.is-neutral {
	background: var(--color-surface-muted);
	border-color: var(--color-border);
	color: var(--color-text);
}

.ns-inventory-card-status-row .ns-home-card-builder {
	margin-left: auto;
}

.ns-inventory-card-summary {
	color: var(--color-muted-text);
	line-height: 1.7;
	margin: 0;
}

.ns-inventory-card .ns-home-card-title a:hover,
.ns-inventory-card .ns-home-card-title a:focus-visible {
	color: var(--color-sky-blue);
}

.ns-inventory-card-model-link {
	margin: 0;
}

.ns-inventory-single-page {
	background:
		radial-gradient(circle at top left, rgba(var(--color-sky-blue-rgb), 0.08), transparent 28rem),
		linear-gradient(180deg, var(--color-surface) 0%, var(--color-white) 18%, var(--color-surface) 100%);
	padding: 2rem 1rem 4rem;
}

.ns-inventory-single-shell {
	margin: 0 auto;
	max-width: 76rem;
}

.ns-inventory-single-hero {
	margin-bottom: 0;
}

.ns-inventory-single-copy,
.ns-inventory-single-section {
	padding: 1.35rem;
}

.ns-inventory-single-copy {
	display: grid;
	gap: 1rem;
}

.ns-inventory-single-summary,
.ns-inventory-single-disclaimer,
.ns-inventory-condition-notes {
	margin: 0;
}

.ns-inventory-single-copy .ns-model-kicker {
	color: var(--color-navy);
}

.ns-inventory-single-description,
.ns-inventory-single-features {
	color: var(--color-muted-text);
	line-height: 1.8;
	text-align: center;
}

.ns-inventory-single-description p:first-child,
.ns-inventory-single-features p:first-child {
	margin-top: 0;
}

.ns-inventory-single-description p:last-child,
.ns-inventory-single-features p:last-child {
	margin-bottom: 0;
}

.ns-inventory-single-summary {
	color: var(--color-muted-text);
	font-size: 1.02rem;
	line-height: 1.8;
}

.ns-inventory-single-disclaimer {
	color: var(--color-muted-text);
	font-size: 0.92rem;
	line-height: 1.6;
}

.ns-inventory-single-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.ns-inventory-single-actions .ns-button {
	box-sizing: border-box;
	padding-block: 1rem;
}

.ns-inventory-single-section {
	margin-top: 1.25rem;
}

.ns-inventory-single-section h2 {
	margin: 0 0 0.85rem;
}

.ns-inventory-single-section h2,
.ns-inventory-single-copy h1 {
	position: static;
}

.ns-inventory-single-section h2 {
	padding-left: 0;
}

.ns-inventory-single-media-column {
	display: grid;
	gap: 1rem;
}

.ns-inventory-floorplan-note {
	color: var(--color-muted-text);
	font-size: 0.92rem;
	line-height: 1.6;
	margin: 0.85rem 0 0;
	text-align: center;
}

.ns-inventory-tour-note {
	color: var(--color-muted-text);
	font-size: 0.92rem;
	line-height: 1.6;
	margin: 0;
	text-align: center;
}

.ns-inventory-tour-meta {
	display: grid;
	gap: 0.85rem;
	justify-items: center;
	margin-top: 1rem;
}

.ns-inventory-single-actions .ns-button--secondary:hover,
.ns-inventory-single-actions .ns-button--secondary:focus-visible {
	background: rgba(var(--color-sky-blue-rgb), 0.08);
}

.ns-inventory-tour-dialog {
	max-width: 72rem;
	padding-bottom: 1.75rem;
	width: min(100%, 72rem);
}

.ns-inventory-tour-layout {
	display: grid;
	gap: 1rem;
}

.ns-inventory-tour-calendar-card,
.ns-inventory-tour-support-card {
	padding: 1rem;
}

.ns-inventory-tour-calendar-wrap {
	border: 1px solid rgba(var(--color-sky-blue-rgb), 0.16);
	border-radius: 1.1rem;
	overflow: hidden;
}

.ns-inventory-tour-calendar-wrap iframe {
	background: var(--color-white);
	border: 0;
	display: block;
	height: min(72vh, 54rem);
	min-height: 34rem;
	width: 100%;
}

.ns-inventory-tour-support-card {
	align-content: start;
	display: grid;
	gap: 0.85rem;
}

.ns-inventory-tour-support-card h3,
.ns-inventory-tour-support-card p {
	margin: 0;
}

.ns-inventory-tour-support-card h3 {
	font-size: clamp(1.35rem, 3vw, 1.85rem);
	line-height: 1.15;
}

.ns-inventory-tour-support-card p {
	color: var(--color-muted-text);
	line-height: 1.75;
}

.ns-inventory-tour-support-note {
	font-size: 0.94rem;
}

@media (min-width: 680px) {
	.ns-inventory-filter-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ns-inventory-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ns-inventory-tour-layout {
		grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.8fr);
	}
}

@media (min-width: 960px) {
	.ns-inventory-filter-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.ns-inventory-filter-grid .ns-homes-filter-field--search {
		grid-column: span 2;
	}

	.ns-inventory-single-hero {
		grid-template-columns: minmax(0, 1.14fr) minmax(0, 0.96fr);
	}
}

@media (max-width: 799px) {
	.ns-inventory-tour-dialog {
		padding-bottom: 1.15rem;
	}

	.ns-inventory-tour-calendar-wrap iframe {
		height: min(68vh, 42rem);
		min-height: 30rem;
	}
}
