/* Homepage structural redesign, phase 1. Loaded after legacy homepage styles. */

.nsv-home-hero {
	min-height: 620px !important;
	background-color: #123d40 !important;
	background-position: center 46% !important;
}
.nsv-home-hero__shade {
	background: linear-gradient(90deg, rgba(5,31,34,.94) 0%, rgba(5,31,34,.84) 39%, rgba(5,31,34,.42) 68%, rgba(5,31,34,.12) 100%) !important;
}
.nsv-home-hero__inner {
	min-height: 620px !important;
	align-items: center !important;
	padding-top: 88px !important;
	padding-bottom: 76px !important;
}
.nsv-home-hero__content { max-width: 735px !important; color: #fff !important; }
.nsv-home-kicker {
	margin-bottom: 20px !important;
	border-color: rgba(255,255,255,.24) !important;
	background: rgba(5,41,44,.5) !important;
	color: rgba(255,255,255,.9) !important;
	box-shadow: none !important;
	backdrop-filter: blur(14px);
}
.nsv-home-kicker i { color: #ff9f8f !important; }
.nsv-home-hero h1 {
	max-width: 720px !important;
	color: #fff !important;
	font-size: clamp(52px,5.3vw,78px) !important;
	font-weight: 760 !important;
	letter-spacing: -.05em !important;
	line-height: .98 !important;
	text-shadow: 0 4px 28px rgba(0,0,0,.2);
}
.nsv-home-hero__content > p {
	max-width: 610px !important;
	margin-top: 24px !important;
	color: rgba(255,255,255,.82) !important;
	font-size: 17px !important;
	line-height: 1.65 !important;
}
.nsv-home-search {
	max-width: 680px !important;
	margin-top: 31px !important;
	border-color: rgba(255,255,255,.55) !important;
	border-radius: 18px !important;
	background: rgba(255,255,255,.96) !important;
	padding: 7px !important;
	box-shadow: 0 28px 60px rgba(0,0,0,.25) !important;
}
.nsv-home-search__button,
.nsv-home-primary-link { background: #ef654f !important; color: #fff !important; box-shadow: 0 13px 30px rgba(239,101,79,.24) !important; }
.nsv-home-search__button:hover,
.nsv-home-primary-link:hover { background: #da5541 !important; color: #fff !important; }
.nsv-home-hero__actions { gap: 26px !important; margin-top: 22px !important; }
.nsv-home-hero__link { color: rgba(255,255,255,.88) !important; text-decoration-color: rgba(255,255,255,.36) !important; }
.nsv-home-hero__link:hover { color: #fff !important; text-decoration-color: #fff !important; }

.nsv-home-trust { border-bottom: 0 !important; background: #fff !important; box-shadow: 0 14px 40px rgba(16,47,52,.06); }
.nsv-home-trust__grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.nsv-home-trust__grid > div { min-height: 82px !important; border-right: 1px solid rgba(16,47,52,.12) !important; padding: 16px 24px !important; }
.nsv-home-trust__grid > div:first-child { border-left: 0 !important; }
.nsv-home-trust__grid > div:nth-child(4) { display: none !important; }
.nsv-home-trust__grid > div > span { width: 40px !important; height: 40px !important; border-radius: 12px !important; background: #edf5f3 !important; color: #075f67 !important; }

.nsv-home-section { padding: 76px 0 !important; }
.nsv-home-plugin-block { padding: 64px 0 !important; background: #f6f1e8 !important; }
.nsv-home-heading { margin-bottom: 30px !important; }
.nsv-home-heading h2,
.nsv-affiliate-panel h2 { max-width: 780px; font-size: clamp(36px,3.6vw,52px) !important; line-height: 1.02 !important; }
.nsv-home-heading p { font-size: 15px !important; line-height: 1.65 !important; }
.nsv-paytop-explainer { display: none !important; }

.nsv-home-latest-objects { background: #fff !important; }
.nsv-latest-object-grid { gap: 22px !important; }
.nsv-latest-object-card { min-height: 350px !important; border-radius: 24px !important; box-shadow: 0 18px 50px rgba(16,47,52,.12) !important; }
.nsv-latest-object-card__badge { font-size: 10px !important; }
.nsv-latest-object-card h3 { font-family: var(--nsv-font-heading,Georgia,serif); font-size: 22px !important; line-height: 1.08 !important; }

.nsv-home-destinations { background: #f7f4ee !important; }
.nsv-destination-grid { gap: 22px !important; }
.nsv-destination-card { min-height: 265px !important; border-radius: 24px !important; box-shadow: 0 18px 48px rgba(16,47,52,.13) !important; }
.nsv-destination-card:nth-child(n+7) { display: none !important; }
.nsv-destination-card > div { right: 22px !important; bottom: 22px !important; left: 22px !important; text-align: left !important; }
.nsv-destination-card h3 { font-size: 24px !important; line-height: 1.02 !important; }
.nsv-destination-card p { justify-content: flex-start !important; }

.nsv-home-owner-cta { background: #fff !important; }
.nsv-home-owner-cta__panel {
	display: grid;
	grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
	gap: 42px;
	align-items: center;
	overflow: hidden;
	border-radius: 30px;
	background: radial-gradient(circle at 100% 0,rgba(213,173,82,.18),transparent 38%),linear-gradient(135deg,#073f45,#0a6870);
	padding: 48px;
	box-shadow: 0 24px 70px rgba(16,47,52,.12);
}
.nsv-home-owner-cta__copy > span { display: block; margin-bottom: 12px; color: #f0cf84; font-size: 11px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.nsv-home-owner-cta__copy h2 { margin: 0; color: #fff; font-family: var(--nsv-font-heading,Georgia,serif); font-size: clamp(36px,3.5vw,52px); line-height: 1.02; }
.nsv-home-owner-cta__copy p { max-width: 580px; margin: 17px 0 0; color: rgba(255,255,255,.74); font-size: 15px; line-height: 1.65; }
.nsv-home-owner-cta__copy .nsv-home-primary-link { margin-top: 25px; }
.nsv-home-owner-cta__features { display: grid; gap: 10px; }
.nsv-home-owner-cta__feature { display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.08); padding: 14px 16px; }
.nsv-home-owner-cta__feature > i { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: rgba(255,255,255,.12); color: #fff; }
.nsv-home-owner-cta__feature strong,
.nsv-home-owner-cta__feature small { display: block; }
.nsv-home-owner-cta__feature strong { color: #fff; font-size: 14px; }
.nsv-home-owner-cta__feature small { margin-top: 4px; color: rgba(255,255,255,.64); font-size: 12px; line-height: 1.4; }

.nsv-home-register,
.nsv-home-final-cta { display: none !important; }
.nsv-home-affiliate { padding-top: 34px !important; background: #fff !important; }
.nsv-affiliate-panel { border-radius: 26px !important; box-shadow: 0 18px 48px rgba(16,47,52,.08) !important; }

@media (max-width: 1100px) {
	.nsv-home-owner-cta__panel { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
	.nsv-home-hero,
	.nsv-home-hero__inner { min-height: 500px !important; }
	.nsv-home-hero { background-position: 62% center !important; }
	.nsv-home-hero__shade { background: linear-gradient(90deg,rgba(5,31,34,.94),rgba(5,31,34,.72)) !important; }
	.nsv-home-hero__inner { padding-top: 54px !important; padding-bottom: 48px !important; }
	.nsv-home-kicker { max-width: 100%; margin-bottom: 14px !important; font-size: 9px !important; line-height: 1.35; }
	.nsv-home-hero h1 { font-size: clamp(39px,11.5vw,52px) !important; line-height: 1 !important; }
	.nsv-home-hero__content > p { margin-top: 16px !important; font-size: 14px !important; line-height: 1.5 !important; }
	.nsv-home-search { margin-top: 21px !important; }
	.nsv-home-search__field,
	.nsv-home-search__button { min-height: 48px !important; }
	.nsv-home-hero__actions { display: none !important; }
	.nsv-home-trust { overflow: hidden; }
	.nsv-home-trust__grid { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.nsv-home-trust__grid::-webkit-scrollbar { display: none; }
	.nsv-home-trust__grid > div,
	.nsv-home-trust__grid > div:first-child,
	.nsv-home-trust__grid > div:nth-child(odd) { min-width: 250px; min-height: 76px !important; flex: 0 0 78%; border-left: 0 !important; padding: 14px 18px !important; scroll-snap-align: start; }
	.nsv-home-section,
	.nsv-home-plugin-block { padding: 54px 0 !important; }
	.nsv-home-heading { margin-bottom: 24px !important; }
	.nsv-home-heading h2,
	.nsv-affiliate-panel h2 { font-size: 34px !important; line-height: 1.04 !important; }
	.nsv-home-heading p { font-size: 14px !important; }
	.nsv-latest-object-grid,
	.nsv-destination-grid { grid-template-columns: 1fr !important; }
	.nsv-latest-object-card { min-height: 320px !important; }
	.nsv-destination-card { min-height: 230px !important; }
	/* Keep all six approved destinations visible on phones. */
	.nsv-destination-card:nth-child(n+5) { display: block !important; }
	.nsv-destination-card:nth-child(n+7) { display: none !important; }
	.nsv-home-owner-cta__panel { gap: 28px; border-radius: 24px; padding: 30px 22px; }
	.nsv-home-owner-cta__copy h2 { font-size: 36px; }
	.nsv-home-owner-cta__copy .nsv-home-primary-link { width: 100%; }
	.nsv-home-affiliate { display: none !important; }
}

@media (max-width: 390px) {
	.nsv-home-hero h1 { font-size: 38px !important; }
}
