/**
 * ==========================================================================
 * HOMEPAGE CSS — Zelené Ralsko v3.1
 * ==========================================================================
 *
 * Kompletní responsivní optimalizace pro všechny breakpointy:
 * Base (< 576px) → 576px → 768px → 1024px → 1440px → 1920px → 2560px+
 *
 * Změny oproti v3.0:
 * - Fluid typography přes clamp() pro plynulé škálování
 * - 4K+ scaling: container, spacing, fonty
 * - Tablet/malý desktop doladění (768-1024px)
 * - Offer grid: 3 karty místo 4 (1+1, 3+kk, 4+kk)
 * - Konzistentní padding/margin scaling přes breakpointy
 *
 * Všechny hodnoty přes tokeny z tokens.css.
 * BEM, mobile-first, editorial styl.
 *
 * OBSAH:
 *   0. Reset & Utility
 *   1. Container & Section spacing
 *   2. Tlačítka (globální)
 *   3. Sdílené komponenty (eyebrow, tag)
 *   4. Hero
 *   5. O projektu (about)
 *   6. Parametry
 *   7. Chci bydlet (living)
 *   8. Chci investovat (invest)
 *   9. Nabídka bytů (offer) — 3 karty
 *  10. Galerie
 *  11. CTA blok
 *  12. Kontakt
 *  13. Header
 *  14. Astra overrides
 *  15. Reduced motion
 *
 * @since 3.1.0
 */


/* ============================================================
   0. RESET & UTILITY
   ============================================================ */

.nps-homepage,
#nps-homepage-wrap {
	overflow-x: hidden;
}


/* ============================================================
   1. CONTAINER & SECTION SPACING
   ============================================================ */

.nps-container {
	width: 100%;
	max-width: var(--container-2xl);
	margin-inline: auto;
	padding-inline: var(--space-6);
}

@media (min-width: 768px)  { .nps-container { padding-inline: var(--space-10); } }
@media (min-width: 1024px) { .nps-container { padding-inline: var(--space-16); } }
@media (min-width: 1440px) { .nps-container { padding-inline: var(--space-20); } }

/* 4K+ — rozšíříme max-width a padding aby obsah nevypadal ztracený */
@media (min-width: 1920px) {
	.nps-container {
		max-width: 1600px;
		padding-inline: var(--space-24);
	}
}

@media (min-width: 2560px) {
	.nps-container {
		max-width: 1800px;
		padding-inline: var(--space-32);
	}
}

.nps-section {
	padding-block: var(--space-20);
}

@media (min-width: 768px)  { .nps-section { padding-block: var(--space-24); } }
@media (min-width: 1440px) { .nps-section { padding-block: var(--space-32); } }
@media (min-width: 1920px) { .nps-section { padding-block: 10rem; } }
@media (min-width: 2560px) { .nps-section { padding-block: 12rem; } }


/* ============================================================
   2. TLAČÍTKA
   ============================================================ */

.nps-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	padding: var(--btn-padding-y) var(--btn-padding-x);
	min-height: var(--btn-min-height);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1.5px solid transparent;
	border-radius: 0;
	cursor: pointer;
	white-space: nowrap;
	transition:
		background-color var(--transition-base),
		border-color var(--transition-base),
		color var(--transition-base);
}

.nps-btn:focus-visible {
	outline: none;
	box-shadow: var(--color-focus-ring);
}

/* Polygon micro-detail na primárních a akcentových tlačítkách */
.nps-btn--primary,
.nps-btn--accent {
	clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}

.nps-btn--primary {
	background: var(--color-primary);
	color: var(--color-text-inverse);
	border-color: var(--color-primary);
}

.nps-btn--primary:hover {
	background: var(--color-primary-dark);
	border-color: var(--color-primary-dark);
}

.nps-btn--secondary {
	background: transparent;
	color: var(--color-primary);
	border-color: var(--color-primary);
}

.nps-btn--secondary:hover {
	background: var(--color-primary);
	color: var(--color-text-inverse);
}

.nps-btn--accent {
	background: var(--color-accent);
	color: var(--color-primary);
	border-color: var(--color-accent);
}

.nps-btn--accent:hover {
	background: var(--color-cta-hover);
	border-color: var(--color-cta-hover);
}

.nps-btn--outline {
	background: transparent;
	color: var(--color-text-inverse);
	border-color: rgba(246, 248, 228, 0.6);
}

.nps-btn--outline:hover {
	border-color: var(--color-text-inverse);
	background: rgba(246, 248, 228, 0.08);
}

.nps-btn--outline-light {
	background: transparent;
	color: var(--color-text-inverse);
	border-color: rgba(246, 248, 228, 0.5);
}

.nps-btn--outline-light:hover {
	border-color: var(--color-text-inverse);
}

.nps-btn--lg {
	padding: var(--space-4) var(--space-8);
	font-size: var(--text-sm);
	min-height: 56px;
}

@media (max-width: 360px) {
	.nps-btn--lg { width: 100%; }
}

/* 4K+ — mírně zvětšit tlačítka */
@media (min-width: 2560px) {
	.nps-btn {
		font-size: var(--text-base);
		padding: var(--space-4) var(--space-8);
		min-height: 56px;
	}

	.nps-btn--lg {
		padding: var(--space-5) var(--space-12);
		min-height: 64px;
	}
}


/* ============================================================
   3. SDÍLENÉ KOMPONENTY
   ============================================================ */

.nps-eyebrow {
	display: block;
	font-size: var(--text-xs);
	font-weight: var(--font-weight-regular);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--color-text-muted);
	margin-block-end: var(--space-4);
}

.nps-eyebrow--centered { text-align: center; }
.nps-eyebrow--hero     { color: var(--color-accent); }
.nps-eyebrow--light    { color: var(--color-text-inverse-muted); }

@media (min-width: 2560px) {
	.nps-eyebrow {
		font-size: var(--text-sm);
		letter-spacing: 0.25em;
	}
}

.nps-tag {
	display: inline-flex;
	align-items: center;
	padding: var(--space-2) var(--space-5);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.05em;
	color: var(--color-primary);
	background: transparent;
	border: 1.5px solid var(--color-border-strong);
	text-decoration: none;
	transition:
		background var(--transition-fast),
		border-color var(--transition-fast),
		color var(--transition-fast);
}

.nps-tag:hover {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-text-inverse);
}


/* ============================================================
   4. HERO
   ============================================================ */

.nps-hero {
	position: relative;
	margin-top: calc(-1 * var(--header-height-desktop));
	min-height: clamp(620px, 78vh, 860px);
	display: grid;
	grid-template-columns: clamp(420px, 30vw, 560px) minmax(0, 1fr);
	overflow: hidden;
}

/* ---- MOBIL: foto nahoře, text dole, čistý řez ---- */
@media (max-width: 767px) {
	.nps-hero {
		margin-top: calc(-1 * var(--header-height-mobile));
		grid-template-columns: 1fr;
		grid-template-rows: minmax(44svh, 50svh) auto;
		min-height: auto;
		height: auto;
	}

	/* Foto — horní řádek */
	.nps-hero__right {
		grid-column: 1;
		grid-row: 1;
		min-height: 0;
	}

	/* Text — spodní řádek, solid tmavé pozadí */
	.nps-hero__left {
		grid-column: 1;
		grid-row: 2;
		max-width: none;
		overflow: visible;
		background: var(--color-primary);
		align-items: flex-start;
		padding:
			var(--space-10)
			var(--space-6)
			var(--space-12);
	}

	/* Zrušit clip-path polygon na mobilu — solid bg */
	.nps-hero__left::before {
		display: none;
	}

	.nps-hero__eyebrow {
		font-size: 0.65rem;
		letter-spacing: 0.18em;
		margin-block-end: var(--space-3);
	}

	.nps-hero__title {
		font-size: clamp(2rem, 8vw, 2.75rem);
	}

	.nps-hero__perex {
		font-size: var(--text-sm);
		line-height: 1.7;
		color: rgba(246, 248, 228, 0.8);
		margin-block-end: var(--space-6);
		max-width: none;
	}

	.nps-hero__cta-group {
		margin-block-end: var(--space-4);
	}

	.nps-hero__trust {
		display: none;
	}

	.nps-hero__scroll {
		display: none;
	}
}

/* ---- TABLETY ---- */
@media (min-width: 768px) and (max-width: 1023px) {
	.nps-hero {
		grid-template-columns: clamp(340px, 42vw, 420px) minmax(0, 1fr);
		min-height: clamp(540px, 70vh, 720px);
	}
}

/* ---- 4K+ ---- */
@media (min-width: 1920px) {
	.nps-hero {
		min-height: clamp(780px, 75vh, 960px);
		grid-template-columns: clamp(520px, 28vw, 680px) minmax(0, 1fr);
	}
}

@media (min-width: 2560px) {
	.nps-hero {
		min-height: clamp(860px, 70vh, 1080px);
		grid-template-columns: clamp(600px, 26vw, 780px) minmax(0, 1fr);
	}
}

.nps-hero::before,
.nps-hero::after {
	display: none;
}

/* — Levá část (desktop: panel s clip-path) — */
.nps-hero__left {
	position: relative;
	grid-column: 1 / 2;
	grid-row: 1;
	display: flex;
	align-items: flex-end;
	padding:
		calc(var(--header-height-desktop) + var(--space-32))
		var(--space-12)
		var(--space-12)
		var(--space-12);
	z-index: 2;
	overflow: hidden;
	background: transparent;
	max-width: 565px;
}

.nps-hero__left::before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--color-primary);
	clip-path: polygon(0 0, 25% 0, 100% 50%, 100% 100%, 0 100%);
	z-index: 1;
	pointer-events: none;
}

.nps-hero__left::after { display: none; }

/* Tablet — zmenšit padding */
@media (min-width: 768px) and (max-width: 1023px) {
	.nps-hero__left {
		padding:
			calc(var(--header-height-desktop) + var(--space-16))
			var(--space-8)
			var(--space-8)
			var(--space-8);
		max-width: none;


        position: relative !important;
        z-index: 2 !important;
        display: flex !important;
        align-items: flex-end !important;        
        max-width: 355px;
        padding: calc(var(--header-height-mobile) + var(--space-10)) var(--space-6) var(--space-8) !important;
        background: transparent !important;
        overflow: hidden !important;



	}
}

/* 4K+ */
@media (min-width: 1920px) {
	.nps-hero__left {
		max-width: 535px;
		padding:
			calc(var(--header-height-desktop) + var(--space-32))
			var(--space-16)
			var(--space-16)
			var(--space-16);
	}
}

@media (min-width: 2560px) {
	.nps-hero__left {
		max-width: 820px;
		padding:
			calc(var(--header-height-desktop) + var(--space-32))
			var(--space-20)
			var(--space-20)
			var(--space-20);
	}
}

.nps-hero__content {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 520px;
}

@media (min-width: 2560px) {
	.nps-hero__content {
		max-width: 640px;
	}
}

.nps-hero__eyebrow {
	display: block;
	font-size: var(--text-xs);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--color-accent);
	margin: 0 0 var(--space-5);
	font-weight: var(--font-weight-regular);
}

.nps-hero__title {
	font-family: var(--font-heading);
	font-size: clamp(2.2rem, 3.5vw, 4rem);
	font-weight: var(--font-weight-bold);
	line-height: 1;
	letter-spacing: -0.02em;
	color: #ffffff;
	margin: 0 0 var(--space-3);
}

/* Tablet — zmenšit title aby se vešel */
@media (min-width: 768px) and (max-width: 1023px) {
	.nps-hero__title {
		font-size: clamp(1.8rem, 3.2vw, 2.6rem);
	}
}

/* 4K+ — fluid scaling */
@media (min-width: 1920px) {
	.nps-hero__title {
		font-size: clamp(3.5rem, 2.8vw, 5rem);
	}
}

@media (min-width: 2560px) {
	.nps-hero__eyebrow {
		font-size: var(--text-sm);
	}

	.nps-hero__title {
		font-size: clamp(4rem, 2.5vw, 5.5rem);
	}
}

.nps-hero__claim {
	font-size: clamp(1.2rem, 2vw, 2rem);
	font-weight: var(--font-weight-regular);
	line-height: 1.3;
	color: var(--color-accent);
	margin: 0 0 var(--space-8);
	font-style: normal;
}

@media (min-width: 768px) and (max-width: 1023px) {
	.nps-hero__claim {
		font-size: clamp(1rem, 1.8vw, 1.5rem);
	}
}

@media (min-width: 2560px) {
	.nps-hero__claim {
		font-size: clamp(1.6rem, 1.5vw, 2.5rem);
	}
}

.nps-hero__accent {
	color: var(--color-accent);
	font-style: normal;
}

.nps-hero__perex {
	font-size: var(--text-base);
	line-height: 1.8;
	color: rgba(246, 248, 228, 0.65);
	margin: 0 0 var(--space-8);
	max-width: 440px;
}

@media (min-width: 768px) and (max-width: 1023px) {
	.nps-hero__perex {
		font-size: var(--text-sm);
		max-width: 380px;
	}
}

@media (min-width: 2560px) {
	.nps-hero__perex {
		font-size: var(--text-lg);
		max-width: 540px;
	}
}

.nps-hero__cta-group {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin: 0 0 var(--space-8);
}

@media (max-width: 400px) {
	.nps-hero__cta-group { flex-direction: column; }
}

.nps-btn--hero-primary {
	background: var(--color-accent);
	color: var(--color-primary);
	border: 1.5px solid var(--color-accent);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.08em;
}

.nps-btn--hero-primary:hover {
	background: #fff;
	border-color: #fff;
}

.nps-btn--hero-outline {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(246, 248, 228, 0.45);
	letter-spacing: 0.08em;
}

.nps-btn--hero-outline:hover {
	border-color: #fff;
}

.nps-hero__trust {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	font-size: var(--text-xs);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(246, 248, 228, 0.35);
}

.nps-hero__trust-sep {
	color: var(--color-accent);
	opacity: 0.4;
}

/* — Obrázek pod celou sekcí — */
.nps-hero__right {
	position: relative;
	grid-column: 1 / -1;
	grid-row: 1;
	min-width: 0;
	overflow: hidden;
	z-index: 1;
}

.nps-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.nps-hero__overlay { display: none; }

/* Scroll indikátor */
.nps-hero__scroll {
	position: absolute;
	bottom: var(--space-8);
	right: var(--space-8);
	z-index: 5;
}

.nps-hero__scroll-line {
	display: block;
	width: 1px;
	height: 48px;
	background: linear-gradient(to bottom, transparent, var(--color-accent));
	animation: nps-scroll 2.5s ease-in-out infinite;
}

@keyframes nps-scroll {
	0%   { transform: scaleY(0); transform-origin: top; }
	50%  { transform: scaleY(1); transform-origin: top; }
	51%  { transform: scaleY(1); transform-origin: bottom; }
	100% { transform: scaleY(0); transform-origin: bottom; }
}

@media (max-width: 767px) {
	.nps-hero__scroll { display: none; }
}


/* ============================================================
   5. O PROJEKTU — split: foto vlevo / text vpravo
   ============================================================ */

.nps-about {
	background: var(--color-bg);
	padding-block: 0;
}

.nps-about__split {
	display: grid;
	grid-template-columns: 1fr;
}

@media (min-width: 900px) {
	.nps-about__split {
		grid-template-columns: 56% 44%;
		min-height: 640px;
	}
}

@media (min-width: 1200px) {
	.nps-about__split {
		grid-template-columns: 58% 42%;
		min-height: 720px;
	}
}

@media (min-width: 1920px) {
	.nps-about__split {
		min-height: 840px;
	}
}

@media (min-width: 2560px) {
	.nps-about__split {
		min-height: 960px;
	}
}

.nps-about__photo-col {
	order: -1;
	overflow: hidden;
	min-height: 320px;
	background: var(--color-bg-alt);
}

@media (min-width: 576px) and (max-width: 899px) {
	.nps-about__photo-col {
		min-height: 400px;
	}
}

@media (min-width: 900px) {
	.nps-about__photo-col {
		order: 0;
		min-height: 100%;
	}
}

.nps-about__figure { margin: 0; height: 100%; }

.nps-about__photo {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

.nps-about__text-col {
	display: flex;
	align-items: center;
	padding: var(--space-12) var(--space-6);
	background: var(--color-bg);
}

@media (min-width: 576px)  { .nps-about__text-col { padding: var(--space-16) var(--space-8); } }
@media (min-width: 768px)  { .nps-about__text-col { padding: var(--space-16) var(--space-10); } }
@media (min-width: 900px)  { .nps-about__text-col { padding: var(--space-16) var(--space-8); } }
/* @media (min-width: 1024px) { .nps-about__text-col { padding: var(--space-20) var(--space-14) var(--space-20) var(--space-12); } } */
@media (min-width: 1440px) { .nps-about__text-col { padding: var(--space-24) var(--space-20) var(--space-24) var(--space-16); } }
@media (min-width: 1920px) { .nps-about__text-col { padding: var(--space-32) var(--space-24) var(--space-32) var(--space-20); } }
@media (min-width: 2560px) { .nps-about__text-col { padding: 10rem var(--space-32) 10rem var(--space-24); } }

.nps-about__text-inner {
	width: 100%;
	max-width: 520px;
}

@media (min-width: 1920px) {
	.nps-about__text-inner { max-width: 600px; }
}

@media (min-width: 2560px) {
	.nps-about__text-inner { max-width: 700px; }
}

.nps-about__title {
	font-size: clamp(2rem, 3.2vw, 3.25rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.06;
	letter-spacing: -0.025em;
	color: var(--color-primary);
	margin: 0 0 var(--space-6);
}

@media (min-width: 1920px) {
	.nps-about__title {
		font-size: clamp(2.75rem, 2.5vw, 4rem);
	}
}

@media (min-width: 2560px) {
	.nps-about__title {
		font-size: clamp(3.25rem, 2.2vw, 4.5rem);
	}
}

.nps-about__body {
	font-size: var(--text-base);
	line-height: 1.8;
	color: var(--color-text-muted);
	margin: 0 0 var(--space-5);
}

@media (min-width: 2560px) {
	.nps-about__body {
		font-size: var(--text-lg);
	}
}

.nps-about__body:last-of-type {
	margin-block-end: var(--space-8);
}


/* ============================================================
   6. PARAMETRY — velká čísla, vizuální hierarchie
   ============================================================ */

.nps-params {
	background: var(--color-bg-alt);
}

.nps-params__title {
	font-size: clamp(1.5rem, 3vw, 2.5rem);
	font-weight: var(--font-weight-bold);
	letter-spacing: -0.02em;
	color: var(--color-primary);
	text-align: center;
	margin: 0 0 var(--space-16);
}

@media (min-width: 1920px) {
	.nps-params__title {
		font-size: clamp(2.25rem, 2vw, 3rem);
	}
}

@media (min-width: 2560px) {
	.nps-params__title {
		font-size: clamp(2.5rem, 1.8vw, 3.5rem);
	}
}

.nps-params__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-8) var(--space-6);
	list-style: none;
	padding: 0;
	margin: 0 0 var(--space-10);
}

@media (min-width: 768px)  { .nps-params__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .nps-params__grid { grid-template-columns: repeat(5, 1fr); gap: var(--space-6); } }

.nps-params__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: var(--space-2);
	padding-block: var(--space-8);
	position: relative;
}

/* Vertikální separátor mezi položkami na desktopu */
@media (min-width: 1100px) {
	.nps-params__item + .nps-params__item::before {
		content: '';
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 1px;
		height: 60%;
		background: var(--color-border);
	}
}

/* Ikona nad číslem — subtilní, ne dominantní */
.nps-params__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: var(--color-accent);
	margin-block-end: var(--space-2);
}

.nps-params__icon svg {
	width: 28px;
	height: 28px;
}

@media (min-width: 2560px) {
	.nps-params__icon {
		width: 52px;
		height: 52px;
	}

	.nps-params__icon svg {
		width: 36px;
		height: 36px;
	}
}

/* VELKÁ ČÍSLA — dominantní vizuální prvek */
.nps-params__number {
	font-size: clamp(2.75rem, 5vw, 4.5rem);
	font-weight: var(--font-weight-bold);
	letter-spacing: -0.04em;
	color: var(--color-primary);
	line-height: 1;
}

@media (min-width: 1920px) {
	.nps-params__number {
		font-size: clamp(3.5rem, 3.5vw, 5.5rem);
	}
}

@media (min-width: 2560px) {
	.nps-params__number {
		font-size: clamp(4rem, 3vw, 6rem);
	}
}

.nps-params__number-small {
	font-size: 0.4em;
	font-weight: var(--font-weight-regular);
	letter-spacing: 0;
}

/* Popis pod číslem */
.nps-params__desc {
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-primary);
	line-height: 1.4;
}

@media (min-width: 2560px) {
	.nps-params__desc {
		font-size: var(--text-base);
	}
}

/* Sub-popis — jemnější */
.nps-params__sub {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	line-height: 1.5;
}

@media (min-width: 2560px) {
	.nps-params__sub {
		font-size: var(--text-sm);
	}
}

.nps-params__developer {
	text-align: center;
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-1);
	flex-wrap: wrap;
}

.nps-params__developer-link {
	font-weight: var(--font-weight-semibold);
	color: var(--color-primary);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
}

.nps-params__developer-link:hover {
	color: var(--color-accent);
}


/* ============================================================
   7. CHCI BYDLET — split: obsah vlevo / foto vpravo
   ============================================================ */

.nps-living {
	background: var(--color-bg);
	padding-block: 0;
}

.nps-living__split {
	display: grid;
	grid-template-columns: 1fr;
}

@media (min-width: 900px) {
	.nps-living__split {
		grid-template-columns: 44% 56%;
		min-height: 640px;
	}
}

@media (min-width: 1200px) {
	.nps-living__split {
		grid-template-columns: 42% 58%;
		min-height: 720px;
	}
}

@media (min-width: 1920px) {
	.nps-living__split { min-height: 840px; }
}

@media (min-width: 2560px) {
	.nps-living__split { min-height: 960px; }
}

.nps-living__content-col {
	display: flex;
	align-items: center;
	padding: var(--space-12) var(--space-6);
	background: var(--color-bg);
}

@media (min-width: 576px)  { .nps-living__content-col { padding: var(--space-16) var(--space-8); } }
@media (min-width: 768px)  { .nps-living__content-col { padding: var(--space-16) var(--space-10); } }
@media (min-width: 900px)  { .nps-living__content-col { padding: var(--space-16) var(--space-8); } }
/* @media (min-width: 1024px) { .nps-living__content-col { padding: var(--space-20) var(--space-12) var(--space-20) var(--space-14); } } */
@media (min-width: 1440px) { .nps-living__content-col { padding: var(--space-24) var(--space-16) var(--space-24) var(--space-20); } }
@media (min-width: 1920px) { .nps-living__content-col { padding: var(--space-32) var(--space-20) var(--space-32) var(--space-24); } }
@media (min-width: 2560px) { .nps-living__content-col { padding: 10rem var(--space-24) 10rem var(--space-32); } }

.nps-living__content-inner {
	width: 100%;
	max-width: 520px;
}

@media (min-width: 1920px) {
	.nps-living__content-inner { max-width: 600px; }
}

@media (min-width: 2560px) {
	.nps-living__content-inner { max-width: 700px; }
}

.nps-living__title {
	font-size: clamp(2rem, 3.2vw, 3.25rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.06;
	letter-spacing: -0.025em;
	color: var(--color-primary);
	margin: 0 0 var(--space-4);
}

@media (min-width: 1920px) {
	.nps-living__title { font-size: clamp(2.75rem, 2.5vw, 4rem); }
}

@media (min-width: 2560px) {
	.nps-living__title { font-size: clamp(3.25rem, 2.2vw, 4.5rem); }
}

.nps-living__lead {
	font-size: var(--text-base);
	line-height: 1.8;
	color: var(--color-text-muted);
	margin: 0 0 var(--space-8);
	max-width: 480px;
}

@media (min-width: 2560px) {
	.nps-living__lead {
		font-size: var(--text-lg);
		max-width: 580px;
	}
}

.nps-living__segments {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--space-8);
	border-block-start: 1px solid var(--color-border);
}

.nps-living__segment {
	border-block-end: 1px solid var(--color-border);
}

.nps-living__segment-link {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	align-items: start;
	gap: var(--space-1) var(--space-4);
	padding-block: var(--space-5);
	text-decoration: none;
	transition: background var(--transition-fast);
}

.nps-living__segment-link:hover {
	background: rgba(48, 60, 29, 0.03);
}

.nps-living__segment-link:hover .nps-living__segment-title {
	color: var(--color-accent);
}

.nps-living__segment-link:hover .nps-living__segment-arrow {
	transform: translateX(4px);
}

.nps-living__segment-title {
	grid-column: 1;
	grid-row: 1;
	font-size: var(--text-lg);
	font-weight: var(--font-weight-semibold);
	line-height: 1.35;
	color: var(--color-primary);
	transition: color var(--transition-fast);
}

@media (min-width: 2560px) {
	.nps-living__segment-title {
		font-size: var(--text-xl);
	}
}

.nps-living__segment-text {
	grid-column: 1;
	grid-row: 2;
	font-size: var(--text-sm);
	line-height: 1.7;
	color: var(--color-text-muted);
	max-width: 430px;
}

@media (min-width: 2560px) {
	.nps-living__segment-text {
		font-size: var(--text-base);
		max-width: 530px;
	}
}

.nps-living__segment-arrow {
	grid-column: 2;
	grid-row: 1 / 3;
	align-self: center;
	font-size: 1.25rem;
	line-height: 1;
	color: var(--color-primary-dark);	 
	transition: transform var(--transition-base);
}

.nps-living__photo-col {
	order: -1;
	overflow: hidden;
	min-height: 320px;
	background: var(--color-bg-alt);
}

@media (min-width: 576px) and (max-width: 899px) {
	.nps-living__photo-col {
		min-height: 400px;
	}
}

@media (min-width: 900px) {
	.nps-living__photo-col {
		order: 0;
		min-height: 100%;
	}
}

.nps-living__figure { margin: 0; height: 100%; }

.nps-living__photo {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 575px) {
	.nps-living__segment-link {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		gap: var(--space-2);
	}

	.nps-living__segment-arrow {
		grid-column: 1;
		grid-row: 3;
		justify-self: start;
	}
}


/* ============================================================
   8. CHCI INVESTOVAT — tmavý split: foto vlevo / obsah vpravo
   ============================================================ */

.nps-invest {
	background: var(--color-primary);
	padding-block: 0;
}

.nps-invest__split {
	display: grid;
	grid-template-columns: 1fr;
}

@media (min-width: 900px) {
	.nps-invest__split {
		grid-template-columns: 56% 44%;
		min-height: 640px;
	}
}

@media (min-width: 1200px) {
	.nps-invest__split {
		grid-template-columns: 58% 42%;
		min-height: 720px;
	}
}

@media (min-width: 1920px) {
	.nps-invest__split { min-height: 840px; }
}

@media (min-width: 2560px) {
	.nps-invest__split { min-height: 960px; }
}

.nps-invest__photo-col {
	overflow: hidden;
	min-height: 320px;
	background: #2a3419;
}

@media (min-width: 576px) and (max-width: 899px) {
	.nps-invest__photo-col {
		min-height: 400px;
	}
}

@media (min-width: 900px) {
	.nps-invest__photo-col { min-height: 100%; }
}

.nps-invest__figure { margin: 0; height: 100%; }

.nps-invest__photo {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

.nps-invest__content-col {
	display: flex;
	align-items: center;
	padding: var(--space-12) var(--space-6);
	background: var(--color-primary);
}

@media (min-width: 576px)  { .nps-invest__content-col { padding: var(--space-16) var(--space-8); } }
@media (min-width: 768px)  { .nps-invest__content-col { padding: var(--space-16) var(--space-10); } }
@media (min-width: 900px)  { .nps-invest__content-col { padding: var(--space-16) var(--space-8); } }
/* @media (min-width: 1024px) { .nps-invest__content-col { padding: var(--space-20) var(--space-14) var(--space-20) var(--space-12); } } */
@media (min-width: 1440px) { .nps-invest__content-col { padding: var(--space-24) var(--space-20) var(--space-24) var(--space-16); } }
@media (min-width: 1920px) { .nps-invest__content-col { padding: var(--space-32) var(--space-24) var(--space-32) var(--space-20); } }
@media (min-width: 2560px) { .nps-invest__content-col { padding: 10rem var(--space-32) 10rem var(--space-24); } }

.nps-invest__content-inner {
	width: 100%;
	max-width: 520px;
}

@media (min-width: 1920px) {
	.nps-invest__content-inner { max-width: 600px; }
}

@media (min-width: 2560px) {
	.nps-invest__content-inner { max-width: 700px; }
}

.nps-invest__title {
	font-size: clamp(2rem, 3.2vw, 3.25rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.06;
	letter-spacing: -0.025em;
	color: var(--color-text-inverse);
	margin: 0 0 var(--space-4);
}

@media (min-width: 1920px) {
	.nps-invest__title { font-size: clamp(2.75rem, 2.5vw, 4rem); }
}

@media (min-width: 2560px) {
	.nps-invest__title { font-size: clamp(3.25rem, 2.2vw, 4.5rem); }
}

.nps-invest__lead {
	font-size: var(--text-base);
	line-height: 1.8;
	color: var(--color-text-inverse-muted);
	margin: 0 0 var(--space-10);
	max-width: 480px;
}

@media (min-width: 2560px) {
	.nps-invest__lead {
		font-size: var(--text-lg);
		max-width: 580px;
	}
}

/* Investiční možnosti — VYŠŠÍ kontrast */
.nps-invest__options {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--space-10);
	border-block-start: 1px solid rgba(246, 248, 228, 0.2);
}

.nps-invest__option {
	border-block-end: 1px solid rgba(246, 248, 228, 0.2);
}

.nps-invest__option-link {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	align-items: start;
	gap: var(--space-2) var(--space-4);
	padding-block: var(--space-6);
	text-decoration: none;
	transition: background var(--transition-fast);
}

.nps-invest__option-link:hover {
	background: rgba(246, 248, 228, 0.05);
}

.nps-invest__option-link:hover .nps-invest__option-title {
	color: var(--color-accent);
}

.nps-invest__option-link:hover .nps-invest__option-arrow {
	transform: translateX(4px);
}

.nps-invest__option-title {
	grid-column: 1;
	grid-row: 1;
	font-size: var(--text-lg);
	font-weight: var(--font-weight-bold);
	line-height: 1.35;
	color: #ffffff;
	transition: color var(--transition-fast);
}

@media (min-width: 2560px) {
	.nps-invest__option-title {
		font-size: var(--text-xl);
	}
}

.nps-invest__option-text {
	grid-column: 1;
	grid-row: 2;
	font-size: var(--text-base);
	line-height: 1.7;
	color: rgba(246, 248, 228, 0.75);
	max-width: 430px;
	margin-block-start: var(--space-1);
}

@media (min-width: 2560px) {
	.nps-invest__option-text {
		font-size: var(--text-lg);
		max-width: 530px;
	}
}

.nps-invest__option-arrow {
	grid-column: 2;
	grid-row: 1 / 3;
	align-self: center;
	font-size: 1.25rem;
	line-height: 1;
	color: var(--color-accent);
	transition: transform var(--transition-base);
}

@media (max-width: 575px) {
	.nps-invest__option-link {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		gap: var(--space-2);
	}

	.nps-invest__option-arrow {
		grid-column: 1;
		grid-row: 3;
		justify-self: start;
	}
}


/* ============================================================
   9. NABÍDKA BYTŮ — 3 editoriální karty
   ============================================================

   3 karty: 1+1, 3+kk, 4+kk.
   Na desktopu 3 sloupce, mírně větší karty (max-width omezuje
   šířku gridu aby nepůsobily ztracené na ultra-wide).
   ============================================================ */

.nps-offer {
	background: var(--color-bg);
}

.nps-offer__title {
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: var(--font-weight-bold);
	letter-spacing: -0.02em;
	color: var(--color-primary);
	margin: 0 0 var(--space-4);
	text-align: center;
}

@media (min-width: 1920px) {
	.nps-offer__title { font-size: clamp(2.75rem, 2.5vw, 4rem); }
}

@media (min-width: 2560px) {
	.nps-offer__title { font-size: clamp(3.25rem, 2.2vw, 4.5rem); }
}

.nps-offer__intro {
	max-width: 620px;
	margin: 0 auto var(--space-16);
	font-size: var(--text-base);
	line-height: 1.8;
	color: var(--color-text-muted);
	text-align: center;
}

@media (min-width: 2560px) {
	.nps-offer__intro {
		max-width: 760px;
		font-size: var(--text-lg);
	}
}

/* — Grid — 3 karty */
.nps-units-grid {
	list-style: none;
	margin: 0 0 var(--space-16);
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-5);
	max-width: 1120px;
	margin-inline: auto;
}

@media (min-width: 640px) {
	.nps-units-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 900px) {
	.nps-units-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--space-5);
	}
}

/* Tablet: 3 karty vedle sebe, ale menší gap */
@media (min-width: 768px) and (max-width: 899px) {
	.nps-units-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-4);
	}
}

/* 4K+ — větší max-width a gap */
@media (min-width: 1920px) {
	.nps-units-grid {
		max-width: 1320px;
		gap: var(--space-6);
	}
}

@media (min-width: 2560px) {
	.nps-units-grid {
		max-width: 1500px;
		gap: var(--space-8);
	}
}

.nps-units-grid__item { min-width: 0; }

/* Při 2 sloupcích na tabletu — 3. karta vycentrovaná */
@media (min-width: 640px) and (max-width: 899px) {
	.nps-units-grid__item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		max-width: calc(50% - var(--space-3));
		justify-self: center;
	}
}

/* — Karta (celý <a> element) — */
.nps-unit-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition:
		border-color var(--transition-base),
		box-shadow var(--transition-base);
}

.nps-unit-card:hover {
	border-color: var(--color-border-strong);
	box-shadow: var(--shadow-md);
}

.nps-unit-card--featured {
	border-color: var(--color-accent);
	box-shadow: var(--shadow-card);
}

.nps-unit-card--featured:hover {
	box-shadow: var(--shadow-lg);
}

/* Horní blok: název + půdorys */
.nps-unit-card__top {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: var(--space-8) var(--space-6) var(--space-6);
	background: var(--color-bg-alt);
}

.nps-unit-card__title {
	margin: 0 0 var(--space-6);
	font-size: clamp(2rem, 2.5vw, 2.75rem);
	line-height: 1;
	font-weight: var(--font-weight-bold);
	letter-spacing: -0.03em;
	color: var(--color-primary);
	text-align: center;
}

@media (min-width: 2560px) {
	.nps-unit-card__title {
		font-size: clamp(2.5rem, 2vw, 3.25rem);
	}
}

.nps-unit-card__plan {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	min-height: 160px;
}

.nps-unit-card__plan-img {
	display: block;
	max-width: 100%;
	max-height: 150px;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform var(--transition-slow);
}

@media (min-width: 1920px) {
	.nps-unit-card__plan {
		min-height: 190px;
	}

	.nps-unit-card__plan-img {
		max-height: 180px;
	}
}

@media (min-width: 2560px) {
	.nps-unit-card__plan {
		min-height: 220px;
	}

	.nps-unit-card__plan-img {
		max-height: 210px;
	}
}

.nps-unit-card:hover .nps-unit-card__plan-img {
	transform: scale(1.04);
}

/* Spodní blok: meta + popis + link label */
.nps-unit-card__bottom {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: var(--space-6);
	border-top: 1px solid var(--color-border);
}

@media (min-width: 2560px) {
	.nps-unit-card__bottom {
		padding: var(--space-8);
	}
}

.nps-unit-card__meta {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--space-3);
	margin-block-end: var(--space-4);
}

.nps-unit-card__price {
	font-size: var(--text-sm);
	font-weight: var(--font-weight-bold);
	color: var(--color-primary);
}

@media (min-width: 2560px) {
	.nps-unit-card__price {
		font-size: var(--text-base);
	}
}

.nps-unit-card__area {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}

@media (min-width: 2560px) {
	.nps-unit-card__area {
		font-size: var(--text-base);
	}
}

.nps-unit-card__description {
	margin: 0 0 var(--space-5);
	font-size: var(--text-sm);
	line-height: 1.7;
	color: var(--color-text-muted);
}

@media (min-width: 2560px) {
	.nps-unit-card__description {
		font-size: var(--text-base);
	}
}

.nps-unit-card__link-label {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	margin-top: auto;
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.02em;
	color: var(--color-primary);
	transition: color var(--transition-fast);
}

.nps-unit-card__link-label span {
	transition: transform var(--transition-base);
}

.nps-unit-card:hover .nps-unit-card__link-label {
	color: var(--color-accent);
}

.nps-unit-card:hover .nps-unit-card__link-label span {
	transform: translateX(4px);
}

/* Akce pod kartami */
.nps-offer__actions {
	display: flex;
	justify-content: center;
}

.nps-offer__actions .nps-btn {
	min-width: min(100%, 360px);
}

/* Focus */
.nps-unit-card:focus-visible,
.nps-offer__actions .nps-btn:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 3px;
}

@media (max-width: 575px) {
	.nps-unit-card__top {
		padding: var(--space-6) var(--space-5);
	}

	.nps-unit-card__plan {
		min-height: 130px;
	}

	.nps-unit-card__plan-img {
		max-height: 120px;
	}

	.nps-unit-card__bottom {
		padding: var(--space-5);
	}

	.nps-unit-card__meta {
		flex-direction: column;
		gap: var(--space-1);
	}
}


/* ============================================================
   10. GALERIE
   ============================================================ */

.nps-gallery {
	background: var(--color-primary);
	padding-block: 0;
}

/* Viditelný nadpis galerie */
.nps-gallery__header {
	padding: var(--space-20) var(--space-6) var(--space-12);
	text-align: center;
}

@media (min-width: 768px)  { .nps-gallery__header { padding: var(--space-24) var(--space-10) var(--space-12); } }
@media (min-width: 1440px) { .nps-gallery__header { padding: var(--space-32) var(--space-20) var(--space-16); } }
@media (min-width: 1920px) { .nps-gallery__header { padding: 10rem var(--space-24) var(--space-20); } }

.nps-gallery__title {
	font-size: clamp(1.8rem, 3vw, 2.75rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--color-text-inverse);
	margin: 0;
	max-width: 640px;
	margin-inline: auto;
}

@media (min-width: 1920px) {
	.nps-gallery__title { font-size: clamp(2.5rem, 2.2vw, 3.5rem); }
}

@media (min-width: 2560px) {
	.nps-gallery__title {
		font-size: clamp(3rem, 2vw, 4rem);
		max-width: 800px;
	}
}

.nps-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2px;
}

@media (min-width: 576px) {
	.nps-gallery__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 768px) {
	.nps-gallery__grid {
		grid-template-columns: repeat(4, 1fr);
		grid-auto-rows: 280px;
	}

	.nps-gallery__item:nth-child(1),
	.nps-gallery__item:nth-child(5),
	.nps-gallery__item:nth-child(9) {
		grid-column: span 2;
	}
}

@media (min-width: 1200px) {
	.nps-gallery__grid { grid-auto-rows: 340px; }
}

@media (min-width: 1920px) {
	.nps-gallery__grid {
		grid-auto-rows: 420px;
		gap: 3px;
	}
}

@media (min-width: 2560px) {
	.nps-gallery__grid {
		grid-auto-rows: 520px;
		gap: 4px;
	}
}

.nps-gallery__item {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

.nps-gallery__link {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.nps-gallery__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--transition-slow);
}

.nps-gallery__item:hover .nps-gallery__img {
	transform: scale(1.05);
}

.nps-gallery__link::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(48, 60, 29, 0.4);
	opacity: 0;
	transition: opacity var(--transition-base);
}

.nps-gallery__item:hover .nps-gallery__link::after { opacity: 1; }

.nps-gallery__zoom {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0.8);
	opacity: 0;
	color: #fff;
	z-index: 2;
	transition: opacity var(--transition-base), transform var(--transition-base);
	pointer-events: none;
}

.nps-gallery__item:hover .nps-gallery__zoom {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

/* Lightbox */
.nps-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.94);
	z-index: 1100;
	display: flex;
	align-items: center;
	justify-content: center;
}

.nps-lightbox[hidden] { display: none; }

.nps-lightbox__img-wrap {
	max-width: 90vw;
	max-height: 85vh;
}

.nps-lightbox__img {
	max-width: 90vw;
	max-height: 85vh;
	object-fit: contain;
	display: block;
	transition: opacity 150ms ease;
}

/* ID selektor zajistí prioritu nad Astra button resety */
#nps-lightbox .nps-lightbox__close,
#nps-lightbox .nps-lightbox__nav {
	position: absolute;
	background: rgba(255, 255, 255, 0.12);
	border: none;
	color: #fff;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	line-height: 0;
	padding: 0;
	transition: background var(--transition-fast);
}

#nps-lightbox .nps-lightbox__close:focus,
#nps-lightbox .nps-lightbox__nav:focus,
#nps-lightbox .nps-lightbox__close:hover,
#nps-lightbox .nps-lightbox__nav:hover {
	background: rgba(150, 195, 139, 0.25);
	color: #fff;
}

/* SVG — přímý stroke místo závislosti na currentColor.
   Astra může přebíjet color na <button>, tímto to obejdeme. */
#nps-lightbox .nps-lightbox__close svg,
#nps-lightbox .nps-lightbox__nav svg {
	display: block;
	flex-shrink: 0;
	pointer-events: none;
	overflow: visible;
}

#nps-lightbox .nps-lightbox__close svg path,
#nps-lightbox .nps-lightbox__nav svg path {
	stroke: #ffffff;
}

#nps-lightbox .nps-lightbox__close     { top: var(--space-4); right: var(--space-4); }
#nps-lightbox .nps-lightbox__nav--prev { top: 50%; left: var(--space-4); transform: translateY(-50%); }
#nps-lightbox .nps-lightbox__nav--next { top: 50%; right: var(--space-4); transform: translateY(-50%); }

#nps-lightbox .nps-lightbox__caption {
	position: absolute;
	bottom: var(--space-4);
	left: 50%;
	transform: translateX(-50%);
	font-size: var(--text-xs);
	color: rgba(255, 255, 255, 0.8);
}


/* ============================================================
   11. CTA BLOK — foto pozadí, emotivní
   ============================================================ */

.nps-cta-section {
	position: relative;
	background: var(--color-primary);
	background-image: url('https://zelene-ralsko.netprogres.cz/wp-content/themes/zelene-ralsko-child/assets/img/galerie/zelene-ralsko-vizualizace-02.webp');
	background-size: cover;
	background-position: center;
	text-align: center;
}

.nps-cta-section__overlay {
	position: absolute;
	inset: 0;
	background: rgba(48, 60, 29, 0.72);
	z-index: 1;
}

.nps-cta-section .nps-container {
	position: relative;
	z-index: 2;
}

.nps-cta-section__inner {
	max-width: 920px;
	margin-inline: auto;
	padding: var(--space-8);
}

@media (min-width: 2560px) {
	.nps-cta-section__inner {
		max-width: 1100px;
	}
}

.nps-cta-section__title {
	font-size: clamp(1.8rem, 3.5vw, 3rem);
	font-weight: var(--font-weight-bold);
	letter-spacing: -0.02em;
	line-height: 1.12;
	color: var(--color-text-inverse);
	margin: 0 0 var(--space-3);
}

@media (min-width: 1920px) {
	.nps-cta-section__title { font-size: clamp(2.5rem, 2.5vw, 3.5rem); }
}

@media (min-width: 2560px) {
	.nps-cta-section__title { font-size: clamp(3rem, 2.2vw, 4rem); }
}

.nps-cta-section__subtitle {
	font-size: var(--text-base);
	line-height: 1.7;
	color: rgba(246, 248, 228, 0.7);
	margin: 0 0 var(--space-10);
	max-width: 540px;
	margin-inline: auto;
}

@media (min-width: 2560px) {
	.nps-cta-section__subtitle {
		font-size: var(--text-lg);
		max-width: 660px;
	}
}

.nps-cta-section__actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	align-items: center;
}

@media (min-width: 480px) {
	.nps-cta-section__actions {
		flex-direction: row;
		justify-content: center;
	}
}

.nps-cta-section__actions .nps-btn {
	min-width: 220px;
}

.nps-cta-section .nps-btn--accent {
	box-shadow: 0 10px 24px rgba(48, 60, 29, 0.15);
}

@media (max-width: 575px) {
	.nps-cta-section__inner {
		padding: var(--space-6) var(--space-4);
	}
}


/* ============================================================
   12. KONTAKT — split: info vlevo / formulář vpravo
   ============================================================ */

.nps-contact {
	background: var(--color-bg);
	padding-block: 0;
}

.nps-contact__split {
	display: grid;
	grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
	.nps-contact__split {
		grid-template-columns: 42% 58%;
		min-height: 760px;
	}
}

@media (min-width: 1920px) {
	.nps-contact__split { min-height: 880px; }
}

@media (min-width: 2560px) {
	.nps-contact__split { min-height: 1000px; }
}

/* — Info sloupec (tmavý) — */
.nps-contact__info-col {
	background: var(--color-primary);
	display: flex;
	align-items: center;
}

.nps-contact__info-inner {
	width: 100%;
	max-width: 520px;
	padding: var(--space-16) var(--space-6);
	margin-inline: auto;
}

@media (min-width: 768px)  { .nps-contact__info-inner { padding: var(--space-16) var(--space-8); } }
/* @media (min-width: 1024px) { .nps-contact__info-inner { padding: var(--space-20) var(--space-12) var(--space-20) var(--space-14); } } */
@media (min-width: 1440px) { .nps-contact__info-inner { padding: var(--space-24) var(--space-16); } }
@media (min-width: 1920px) { .nps-contact__info-inner { padding: var(--space-32) var(--space-20); } }
@media (min-width: 2560px) { .nps-contact__info-inner { padding: 10rem var(--space-24); max-width: 640px; } }

.nps-contact__info-title {
	margin: 0 0 var(--space-4);
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.08;
	font-weight: var(--font-weight-bold);
	letter-spacing: -0.02em;
	color: var(--color-text-inverse);
}

@media (min-width: 1920px) {
	.nps-contact__info-title { font-size: clamp(2.5rem, 2.5vw, 3.5rem); }
}

@media (min-width: 2560px) {
	.nps-contact__info-title { font-size: clamp(3rem, 2.2vw, 4rem); }
}

.nps-contact__info-lead {
	margin: 0 0 var(--space-10);
	max-width: 460px;
	font-size: var(--text-base);
	line-height: 1.8;
	color: var(--color-text-inverse-muted);
}

@media (min-width: 2560px) {
	.nps-contact__info-lead {
		font-size: var(--text-lg);
		max-width: 560px;
	}
}

/* Kontaktní osoba */
.nps-contact-person,
.nps-contact-company {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
	padding-top: var(--space-6);
	border-top: 1px solid rgba(246, 248, 228, 0.15);
}

.nps-contact-company {
	margin-top: var(--space-10);
}

.nps-contact-person__name,
.nps-contact-company__name {
	margin: 0;
	font-size: 1.375rem;
	line-height: 1.3;
	font-weight: var(--font-weight-bold);
	color: var(--color-text-inverse);
}

@media (min-width: 2560px) {
	.nps-contact-person__name,
	.nps-contact-company__name {
		font-size: 1.625rem;
	}
}

.nps-contact-person__role,
.nps-contact-company__meta {
	margin: 0;
	font-size: var(--text-sm);
	line-height: 1.7;
	color: var(--color-text-inverse-muted);
}

.nps-contact-detail {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--space-4);
	align-items: start;
	padding-top: var(--space-4);
}

.nps-contact-detail__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--radius-full);
	background: rgba(246, 248, 228, 0.08);
	color: var(--color-accent);
	flex-shrink: 0;
}

.nps-contact-detail__content { min-width: 0; }

.nps-contact-detail__label {
	margin: 0 0 2px;
	font-size: var(--text-sm);
	line-height: 1.5;
	color: var(--color-text-inverse-muted);
}

.nps-contact-detail__link {
	display: inline-block;
	font-size: var(--text-base);
	line-height: 1.6;
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-inverse);
	text-decoration: none;
	text-underline-offset: 3px;
	word-break: break-word;
}

.nps-contact-detail__link:hover {
	text-decoration: underline;
	color: var(--color-accent);
}

/* Adresy */
.nps-contact-company__addresses {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-5);
	padding-top: var(--space-4);
}

@media (min-width: 640px) {
	.nps-contact-company__addresses { grid-template-columns: 1fr 1fr; }
}

/* Na tabletu pod split layoutem — zpět na 1 sloupec adres */
@media (min-width: 1024px) and (max-width: 1279px) {
	.nps-contact-company__addresses { grid-template-columns: 1fr; }
}

@media (min-width: 1280px) {
	.nps-contact-company__addresses { grid-template-columns: 1fr 1fr; }
}

.nps-contact-address {
	padding: var(--space-5);
	border: 1px solid rgba(246, 248, 228, 0.12);
	background: rgba(246, 248, 228, 0.04);
}

.nps-contact-address__title {
	margin: 0 0 var(--space-2);
	font-size: var(--text-sm);
	line-height: 1.4;
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-inverse);
}

.nps-contact-address__text {
	margin: 0;
	font-style: normal;
	font-size: var(--text-sm);
	line-height: 1.7;
	color: var(--color-text-inverse-muted);
}

/* — Formulářový sloupec (světlý) — */
.nps-contact__form-col {
	background: var(--color-bg);
	display: flex;
	align-items: center;
}

.nps-contact__form-inner {
	width: 100%;
	max-width: 720px;
	padding: var(--space-12) var(--space-6);
	margin-inline: auto;
}

@media (min-width: 576px)  { .nps-contact__form-inner { padding: var(--space-16) var(--space-8); } }
@media (min-width: 768px)  { .nps-contact__form-inner { padding: var(--space-16) var(--space-10); } }
/* @media (min-width: 1024px) { .nps-contact__form-inner { padding: var(--space-20) var(--space-14) var(--space-20) var(--space-16); } } */
@media (min-width: 1440px) { .nps-contact__form-inner { padding: var(--space-24) var(--space-20); } }
@media (min-width: 1920px) { .nps-contact__form-inner { padding: var(--space-32) var(--space-24); max-width: 840px; } }
@media (min-width: 2560px) { .nps-contact__form-inner { padding: 10rem var(--space-32); max-width: 960px; } }

.nps-contact__title {
	margin: 0 0 var(--space-4);
	font-size: clamp(2rem, 3.2vw, 3.25rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.06;
	letter-spacing: -0.025em;
	color: var(--color-primary);
}

@media (min-width: 1920px) {
	.nps-contact__title { font-size: clamp(2.75rem, 2.5vw, 4rem); }
}

@media (min-width: 2560px) {
	.nps-contact__title { font-size: clamp(3.25rem, 2.2vw, 4.5rem); }
}

.nps-contact__subtitle {
	margin: 0 0 var(--space-10);
	max-width: 560px;
	font-size: var(--text-base);
	line-height: 1.8;
	color: var(--color-text-muted);
}

@media (min-width: 2560px) {
	.nps-contact__subtitle {
		font-size: var(--text-lg);
		max-width: 680px;
	}
}

.nps-contact__form-wrap {
	padding-top: var(--space-6);
	border-top: 1px solid var(--color-border);
}

.nps-contact__form-title {
	margin: 0 0 var(--space-8);
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	line-height: 1.2;
	font-weight: var(--font-weight-bold);
	color: var(--color-primary);
}

@media (min-width: 2560px) {
	.nps-contact__form-title {
		font-size: clamp(1.5rem, 1.5vw, 2.25rem);
	}
}

/* CF7 formulář */
.nps-contact .wpcf7 { width: 100%; }
.nps-contact .wpcf7 form { margin: 0; }

.nps-contact .wpcf7 fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.nps-contact .sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.nps-contact .zr-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-5);
}

@media (min-width: 640px) {
	.nps-contact .zr-grid { grid-template-columns: 1fr 1fr; }
}

.nps-contact .zr-field {
	margin: 0 0 var(--space-5);
}

.nps-contact .zr-field label {
	display: inline-block;
	margin-bottom: 8px;
	font-size: var(--text-sm);
	line-height: 1.5;
	font-weight: var(--font-weight-semibold);
	color: var(--color-primary);
}

.nps-contact .zr-field input[type="text"],
.nps-contact .zr-field input[type="email"],
.nps-contact .zr-field input[type="tel"],
.nps-contact .zr-field textarea {
	display: block;
	width: 100%;
	min-height: 54px;
	padding: 14px 16px;
	font-size: var(--text-base);
	line-height: 1.5;
	color: var(--color-primary);
	background: #ffffff;
	border: 1.5px solid var(--color-border-strong);
	border-radius: 0;
	box-shadow: none;
	transition:
		border-color var(--transition-base),
		box-shadow var(--transition-base);
}

@media (min-width: 2560px) {
	.nps-contact .zr-field input[type="text"],
	.nps-contact .zr-field input[type="email"],
	.nps-contact .zr-field input[type="tel"],
	.nps-contact .zr-field textarea {
		min-height: 62px;
		padding: 18px 20px;
		font-size: var(--text-lg);
	}
}

.nps-contact .zr-field textarea {
	min-height: 200px;
	resize: vertical;
}

.nps-contact .zr-field input::placeholder,
.nps-contact .zr-field textarea::placeholder {
	color: var(--color-text-muted);
	opacity: 1;
}

.nps-contact .zr-field input:hover,
.nps-contact .zr-field textarea:hover {
	border-color: var(--color-primary);
}

.nps-contact .zr-field input:focus,
.nps-contact .zr-field textarea:focus {
	outline: none;
	border-color: var(--color-accent);
	box-shadow: var(--color-focus-ring);
}

.nps-contact .help {
	display: block;
	margin-top: 8px;
	font-size: var(--text-sm);
	line-height: 1.6;
	color: var(--color-text-muted);
}

.nps-contact .zr-consent {
	margin: var(--space-8) 0 0;
	padding: var(--space-5) 0 0;
	border-top: 1px solid var(--color-border);
}

.nps-contact .zr-consent p {
	margin: 0;
	font-size: var(--text-sm);
	line-height: 1.7;
	color: var(--color-text-muted);
}

.nps-contact .zr-consent a {
	color: var(--color-primary);
	font-weight: var(--font-weight-semibold);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.nps-contact .zr-actions {
	margin: var(--space-8) 0 0;
}

.nps-contact .wpcf7-submit,
.nps-contact .zr-actions .btn,
.nps-contact .zr-actions input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 var(--space-8);
	border: 1.5px solid var(--color-primary);
	background: var(--color-primary);
	color: var(--color-text-inverse);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
	transition:
		background-color var(--transition-base),
		border-color var(--transition-base);
}

.nps-contact .wpcf7-submit:hover,
.nps-contact .zr-actions .btn:hover,
.nps-contact .zr-actions input[type="submit"]:hover {
	background: var(--color-primary-dark);
	border-color: var(--color-primary-dark);
}

.nps-contact .wpcf7-submit:focus-visible,
.nps-contact .zr-actions .btn:focus-visible,
.nps-contact .zr-actions input[type="submit"]:focus-visible,
.nps-contact a:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 3px;
}

.nps-contact .wpcf7-spinner {
	margin-left: 12px;
}

/* CF7 zprávy */
.nps-contact .wpcf7-response-output {
	margin: 0 0 var(--space-5);
	padding: 14px 16px;
	font-size: var(--text-sm);
	line-height: 1.6;
}

.nps-contact .wpcf7 form.invalid .wpcf7-response-output,
.nps-contact .wpcf7 form.unaccepted .wpcf7-response-output,
.nps-contact .wpcf7 form.failed .wpcf7-response-output,
.nps-contact .wpcf7 form.aborted .wpcf7-response-output {
	border: 1px solid var(--color-error);
	background: #fff3f3;
	color: #7a1f1f;
}

.nps-contact .wpcf7 form.sent .wpcf7-response-output {
	border: 1px solid var(--color-success);
	background: #edf8f2;
	color: #1f513d;
}

.nps-contact .wpcf7-not-valid-tip {
	display: block;
	margin-top: 8px;
	font-size: var(--text-sm);
	line-height: 1.6;
	font-weight: var(--font-weight-semibold);
	color: var(--color-error);
}

.nps-contact .wpcf7 form .wpcf7-not-valid {
	border-color: var(--color-error);
	background: #fffafb;
}

@media (max-width: 575px) {
	.nps-contact .wpcf7-submit,
	.nps-contact .zr-actions .btn,
	.nps-contact .zr-actions input[type="submit"] {
		width: 100%;
	}
}


/* ============================================================
   13. HEADER — split menu + centered logo
   ============================================================ */

#masthead { display: none; }

.nps-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(246, 248, 228, 0.96);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(48, 60, 29, 0.10);
}

.nps-header__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--space-8);
	min-height: 104px;
	padding: 0 var(--space-6);
	max-width: 1560px;
	margin-inline: auto;
}

@media (min-width: 768px)  { .nps-header__inner { padding: 0 var(--space-10); } }
@media (min-width: 1280px) { .nps-header__inner { padding: 0 var(--space-16); } }

/* 4K+ — rozšířit header max-width */
@media (min-width: 1920px) {
	.nps-header__inner {
		max-width: 1760px;
		min-height: 112px;
	}
}

@media (min-width: 2560px) {
	.nps-header__inner {
		max-width: 2000px;
		min-height: 120px;
		padding: 0 var(--space-20);
	}
}

.nps-header__nav {
	display: flex;
	align-items: center;
	min-width: 0;
}

.nps-header__nav--left  { justify-content: flex-end; }
.nps-header__nav--right { justify-content: flex-start; }

.nps-header__menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: clamp(18px, 1.8vw, 34px);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 1920px) {
	.nps-header__menu {
		gap: clamp(28px, 1.5vw, 44px);
	}
}

.nps-header__brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	padding-inline: var(--space-4);
}

.nps-header__logo {
	display: block;
	width: auto;
	height: 44px;
	max-width: 220px;
}

@media (min-width: 1920px) {
	.nps-header__logo {
		height: 52px;
		max-width: 260px;
	}
}

@media (min-width: 2560px) {
	.nps-header__logo {
		height: 60px;
		max-width: 300px;
	}
}

.nps-header__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-family: var(--font-heading);
	font-size: 0.98rem;
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.01em;
	color: var(--color-primary);
	text-decoration: none;
	white-space: nowrap;
	position: relative;
}

@media (min-width: 1920px) {
	.nps-header__link {
		font-size: 1.06rem;
	}
}

@media (min-width: 2560px) {
	.nps-header__link {
		font-size: 1.15rem;
		min-height: 52px;
	}
}

.nps-header__link::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--transition-base);
	opacity: 0.5;
}

.nps-header__link:hover::after,
.nps-header__link:focus-visible::after,
.nps-header__link[aria-current="page"]::after {
	transform: scaleX(1);
}

.nps-header__link--cta {
	padding: 0 18px;
	min-height: 44px;
	border: 1.5px solid rgba(48, 60, 29, 0.28);
	background: rgba(48, 60, 29, 0.04);
}

.nps-header__link--cta::after { display: none; }

.nps-header__link--cta:hover,
.nps-header__link--cta:focus-visible {
	background: var(--color-primary);
	color: var(--color-text-inverse);
	border-color: var(--color-primary);
}

.nps-header__link:focus-visible,
.nps-header__brand:focus-visible,
.nps-header__toggle:focus-visible,
.nps-header__mobile-link:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 3px;
}

/* Hamburger */
.nps-header__toggle {
	display: none;
	background: transparent !important;
	border: 0 !important;
	padding: 12px;
	cursor: pointer;
	outline: none !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent;
	-webkit-appearance: none;
	appearance: none;
	min-width: 48px;
	min-height: 48px;
	align-items: center;
	justify-content: center;
}

/* Kill browser default :focus (not just :focus-visible) */
.nps-header__toggle:focus {
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* Vlastní focus ring pouze pro klávesnici */
.nps-header__toggle:focus-visible {
	outline: 2px solid var(--color-accent) !important;
	outline-offset: 2px;
}

.nps-header__toggle-line {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--color-primary);
}

.nps-header__toggle-line + .nps-header__toggle-line {
	margin-top: 5px;
}

/* Mobilní navigace — výchozí skryté, řízeno JS togglem */
.nps-header__mobile {
	border-top: 1px solid rgba(48, 60, 29, 0.10);
	background: rgba(246, 248, 228, 0.98);
}

.nps-header__mobile[hidden] {
	display: none;
}

.nps-header__mobile-menu {
	list-style: none;
	margin: 0;
	padding: var(--space-4) var(--space-6) var(--space-6);
}

.nps-header__mobile-link {
	display: block;
	padding: 14px 0;
	font-family: var(--font-heading);
	font-size: var(--text-base);
	font-weight: var(--font-weight-semibold);
	color: var(--color-primary);
	text-decoration: none;
	border-bottom: 1px solid rgba(48, 60, 29, 0.08);
}

@media (max-width: 1100px) {
	.nps-header__inner {
		grid-template-columns: auto 1fr auto;
		min-height: 88px;
	}

	.nps-header__nav { display: none; }

	.nps-header__brand {
		justify-content: flex-start;
		padding-inline: 0;
	}

	.nps-header__logo {
		height: 40px;
		max-width: 200px;
	}

	.nps-header__toggle {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
}

/* Logo v headeru (Astra .site-logo-img) */
.nps-header .site-logo-img {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-inline: var(--space-3);
}

.nps-header .site-logo-img a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.nps-header .site-logo-img svg {
	display: block;
	width: auto;
	height: 60px;
	max-width: 180px;
}

@media (max-width: 1100px) {
	.nps-header .site-logo-img svg {
		height: 70px;
		max-width: 150px;
	}
}

@media (min-width: 1920px) {
	.nps-header .site-logo-img svg {
		height: 72px;
		max-width: 220px;
	}
}

@media (min-width: 2560px) {
	.nps-header .site-logo-img svg {
		height: 84px;
		max-width: 260px;
	}
}


/* ============================================================
   14. ASTRA OVERRIDES
   ============================================================ */

.home .entry-content,
.is-front-page .entry-content {
	padding: 0 !important;
	margin: 0 !important;
	max-width: 100% !important;
}

.home article.page,
.is-front-page article.page {
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	width: 100% !important;
	max-width: 100% !important;
}

.home #main,
.is-front-page #main {
	padding: 0 !important;
	margin: 0 !important;
	height: auto !important;
	overflow: visible !important;
}

#nps-homepage-wrap {
	width: 100%;
	overflow-x: hidden;
}

#nps-homepage-wrap > section,
#nps-homepage-wrap > div {
	width: 100%;
	position: relative;
	display: block;
}


/* ============================================================
   15. REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
	.nps-hero__scroll-line { animation: none; }

	.nps-gallery__img,
	.nps-btn,
	.nps-tag,
	.nps-unit-card,
	.nps-living__segment-arrow,
	.nps-invest__option-arrow {
		transition: none;
	}
}




/*  @media (max-width: 767px){
.nps-hero__left{
	    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--color-primary);
    clip-path: polygon(0 0, 25% 0, 100% 50%, 100% 100%, 0 100%);

    pointer-events: none;
}	
} */
 /* @media (max-width: 575px) { */
@media (max-width: 420px) {	
	.nps-hero {
		position: relative !important;
		margin-top: calc(-1 * var(--header-height-mobile)) !important;
		min-height: clamp(720px, 92svh, 820px) !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-rows: 1fr !important;
		overflow: hidden !important;
	}

	.nps-hero__right,
	.nps-hero__left {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	.nps-hero__right {
		position: absolute !important;
		inset: 0 !important;
		z-index: 1 !important;
		min-height: 100% !important;
	}

	.nps-hero__bg {
		position: absolute !important;
		inset: 0 !important;
		background-size: cover !important;
		background-repeat: no-repeat !important;
		background-position: 62% center !important;
	}

	.nps-hero__left {
		position: relative !important;
		z-index: 2 !important;
		display: flex !important;
		align-items: flex-end !important;
		min-height: clamp(720px, 92svh, 820px) !important;
		max-width: none !important;
		padding:
			calc(var(--header-height-mobile) + var(--space-10))
			var(--space-6)
			var(--space-8) !important;
		background: transparent !important;
		overflow: hidden !important;
	}

	.nps-hero__left::before {
		content: '' !important;
		position: absolute !important;
		inset: 0 !important;
		display: block !important;
		z-index: 1 !important;
		pointer-events: none !important;
/* 		clip-path: none !important;
		background: linear-gradient(
			to bottom,
			rgba(48, 60, 29, 0) 0%,
			rgba(48, 60, 29, 0) 52%,
			rgba(48, 60, 29, 0.28) 66%,
			rgba(48, 60, 29, 0.72) 82%,
			rgba(48, 60, 29, 0.96) 100%
		) !important; */
		 clip-path: polygon(0 0, -60% 0, 100% 60%, 100% 100%, 0 100%);
	}

	.nps-hero__content {
		position: relative !important;
		z-index: 2 !important;
		width: 100% !important;
		max-width: none !important;
	}

	.nps-hero__eyebrow {
		margin: 0 0 var(--space-3) !important;
		font-size: 0.68rem !important;
		letter-spacing: 0.16em !important;
	}

	.nps-hero__title {
		margin: 0 0 var(--space-4) !important;
		/* font-size: clamp(2.8rem, 8vw, 2.9rem) !important; */
		font-size: clamp(2.4rem, 11vw, 3.5rem) !important;
		line-height: 0.98 !important;
	}

	.nps-hero__perex {
		margin: 0 0 var(--space-5) !important;
		max-width: none !important;
		font-size: 0.98rem !important;
		line-height: 1.65 !important;
		color: rgba(246, 248, 228, 0.88) !important;
	}

	.nps-hero__cta-group {
		margin: 0 !important;
		gap: var(--space-3) !important;
	}

	.nps-hero__trust,
	.nps-hero__scroll {
		display: none !important;
	}


#nps-hero.nps-hero {
    height: 100vh;
    max-height: 800px;    
    overflow: hidden !important;
}



}




 @media  (min-width: 421px) AND (max-width: 767px) {
	.nps-hero {
		position: relative !important;
		margin-top: calc(-1 * var(--header-height-mobile)) !important;
		min-height: clamp(720px, 92svh, 820px) !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-rows: 1fr !important;
		overflow: hidden !important;
	}

	.nps-hero__right,
	.nps-hero__left {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	.nps-hero__right {
		position: absolute !important;
		inset: 0 !important;
		z-index: 1 !important;
		min-height: 100% !important;
	}

	.nps-hero__bg {
		position: absolute !important;
		inset: 0 !important;
		background-size: cover !important;
		background-repeat: no-repeat !important;
		background-position: 62% center !important;
	}

	.nps-hero__left {
		position: relative !important;
		z-index: 2 !important;
		display: flex !important;
		align-items: flex-end !important;
		min-height: clamp(720px, 92svh, 820px) !important;
		max-width: 355px;
		padding:
			calc(var(--header-height-mobile) + var(--space-10))
			var(--space-6)
			var(--space-8) !important;
		background: transparent !important;
		overflow: hidden !important;
	}

	.nps-hero__left::before {
		content: '' !important;
		position: absolute !important;
		inset: 0 !important;
		display: block !important;
		z-index: 1 !important;
		pointer-events: none !important;
/* 		clip-path: none !important;
		background: linear-gradient(
			to bottom,
			rgba(48, 60, 29, 0) 0%,
			rgba(48, 60, 29, 0) 52%,
			rgba(48, 60, 29, 0.28) 66%,
			rgba(48, 60, 29, 0.72) 82%,
			rgba(48, 60, 29, 0.96) 100%
		) !important; */
		 clip-path: polygon(0 0, -60% 0, 100% 60%, 100% 100%, 0 100%);
	}

	.nps-hero__content {
		position: relative !important;
		z-index: 2 !important;
		width: 100% !important;
		max-width: none !important;
	}

	.nps-hero__eyebrow {
		margin: 0 0 var(--space-3) !important;
		font-size: 0.68rem !important;
		letter-spacing: 0.16em !important;
	}

	.nps-hero__title {
		margin: 0 0 var(--space-4) !important;
		font-size: clamp(2.2rem, 12vw, 3.1rem) !important;
		line-height: 0.98 !important;
	}

	.nps-hero__perex {
		margin: 0 0 var(--space-5) !important;
		max-width: none !important;
		font-size: 0.98rem !important;
		line-height: 1.65 !important;
		color: rgba(246, 248, 228, 0.88) !important;
	}

	.nps-hero__cta-group {
		margin: 0 !important;
		gap: var(--space-3) !important;
	}

	.nps-hero__trust,
	.nps-hero__scroll {
		display: none !important;
	}


#nps-hero.nps-hero {
    height: 100vh;
    max-height: 800px;    
    overflow: hidden !important;
}

.nps-btn--hero-primary ,
.nps-btn--hero-outline {
	padding: var(--space-4) var(--space-4);
}




}






 @media  (min-width: 768px) AND (max-width: 1023px) {
	.nps-hero {
		position: relative !important;
		margin-top: calc(-1 * var(--header-height-mobile)) !important;
		min-height: clamp(720px, 92svh, 820px) !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-rows: 1fr !important;
		overflow: hidden !important;
	}

	.nps-hero__right,
	.nps-hero__left {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	.nps-hero__right {
		position: absolute !important;
		inset: 0 !important;
		z-index: 1 !important;
		min-height: 100% !important;
	}

	.nps-hero__bg {
		position: absolute !important;
		inset: 0 !important;
		background-size: cover !important;
		background-repeat: no-repeat !important;
		background-position: 62% center !important;
	}

	.nps-hero__left {
		position: relative !important;
		z-index: 2 !important;
		display: flex !important;
		align-items: flex-end !important;
		min-height: clamp(720px, 92svh, 820px) !important;
		max-width: 355px;
		padding:
			calc(var(--header-height-mobile) + var(--space-10))
			var(--space-6)
			var(--space-8) !important;
		background: transparent !important;
		overflow: hidden !important;
	}

	.nps-hero__left::before {
		content: '' !important;
		position: absolute !important;
		inset: 0 !important;
		display: block !important;
		z-index: 1 !important;
		pointer-events: none !important;
/* 		clip-path: none !important;
		background: linear-gradient(
			to bottom,
			rgba(48, 60, 29, 0) 0%,
			rgba(48, 60, 29, 0) 52%,
			rgba(48, 60, 29, 0.28) 66%,
			rgba(48, 60, 29, 0.72) 82%,
			rgba(48, 60, 29, 0.96) 100%
		) !important; */
		 clip-path: polygon(0 0, -60% 0, 100% 60%, 100% 100%, 0 100%);
	}

	.nps-hero__content {
		position: relative !important;
		z-index: 2 !important;
		width: 100% !important;
		max-width: none !important;
	}

	.nps-hero__eyebrow {
		margin: 0 0 var(--space-3) !important;
		font-size: 0.68rem !important;
		letter-spacing: 0.16em !important;
	}

	.nps-hero__title {
		margin: 0 0 var(--space-4) !important;
		font-size: clamp(2.2rem, 12vw, 3.1rem) !important;
		line-height: 0.98 !important;
	}

	.nps-hero__perex {
		margin: 0 0 var(--space-5) !important;
		max-width: none !important;
		font-size: 0.98rem !important;
		line-height: 1.65 !important;
		color: rgba(246, 248, 228, 0.88) !important;
	}

	.nps-hero__cta-group {
		margin: 0 !important;
		gap: var(--space-3) !important;
	}

	.nps-hero__trust,
	.nps-hero__scroll {
		display: none !important;
	}


#nps-hero.nps-hero {
    height: 100vh;
    max-height: 800px;    
    overflow: hidden !important;
}

.nps-btn--hero-primary ,
.nps-btn--hero-outline {
	padding: var(--space-4) var(--space-4);
}




}


 @media (min-width: 922px) AND (max-width: 1023px) {
	    .nps-hero__left {
        max-width: 392px!important;
		}
 }




/* ============================================================
   16. ULTRA-WIDE FIX — monitory nad 1900 px
   Přidat na úplný konec souboru
   ============================================================ */
/* ============================================================
   ULTRA-WIDE FIX — text blíž ke středu, obrázky zůstávají široké
   ============================================================ */



@media (min-width: 1920px) {

#nps-hero.nps-hero
 {
    
    
    min-height: 75vh!important;
    overflow: hidden !important;
}


    .nps-living__content-col{
    margin-left: auto;
}

    .nps-contact__info-inner {
		    margin-left: auto;
    margin-right: 0;
    padding-left: 0;
        
    }

#kontakt > div > div.nps-contact__form-col > div{
	margin-left: 0;
}




}



@media (max-width: 1023px) {

	.nps-contact__split {
		display: grid;
	}

	.nps-contact__form-col {
		order: 1;
	}

	.nps-contact__info-col {
		order: 2;
	}
}



/* ============================================================
   HERO REFINEMENT — Omezeno pouze pro obrazovky do 4K
   ============================================================ */

/* Tato sekce platí pro tablety a standardní desktopy (včetně FHD) */
@media (min-width: 1024px) and (max-width: 2559px) {
    .nps-hero {
        /* Zúžení panelu pro lepší viditelnost architektury */
        grid-template-columns: clamp(380px, 25vw, 500px) minmax(0, 1fr) !important;
    }

    .nps-hero__left {
        /* Posun textu k dolní hraně pro lepší rovnováhu */
        padding: var(--space-16) !important;
        display: flex !important;
        align-items: end !important; 
    }

    .nps-hero__content {
        max-width: 420px !important;
    }

    /* Větší průhlednost zeleného bloku pro modernější vzhled */
    .nps-hero__left::before {
        opacity: 0.95;
    }

    /* Odstranění spodního marginu u tlačítek pro zarovnání na spodní hranu */
    .nps-hero__cta-group {
        margin-bottom: 0 !important;
    }
}


/* max-width: 767pxPřechod z textu přes obrázek na text pod obrázkem. */



/* min-width: 1024pxZapnutí "Side-by-side" layoutu (text vlevo, foto vpravo). */



/* Ještě specifičtější ladění pro menší laptopy (13-14") */
/* 1024px - 1439pxNejvíce nahuštěný desktop – snižování fontů, zmenšování panelů. */
@media (min-width: 1024px) and (max-width: 1439px) {
    .nps-hero {
        grid-template-columns: 380px minmax(0, 1fr) !important;
    }

    .nps-hero__title {
        font-size: clamp(2rem, 5.2vw, 3.1rem) !important;
    }

.nps-hero__left{
	/* background: blueviolet; */
	padding: var(--space-16) var(--space-8)!important;
	max-width: 430px;
}
    .nps-hero__left::before {
        opacity: 0.95;
    }


    .nps-hero__content {
     
        max-width: 365px !important;
    }

.nps-hero__perex {
	max-width: 360px;
}

.nps-btn--hero-primary,
.nps-btn--hero-outline{
padding: var(--btn-padding-y) var(--btn-padding-x)!important;        
}

 
    


}



/* 1440px - 2559pxLadění pro "všechny běžné desktopy" bez ovlivnění 4K. */
@media (min-width: 1440px) and (max-width: 2559px) {
    .nps-hero {
        grid-template-columns: 380px minmax(0, 1fr) !important;
    }
    
    .nps-hero__title {
        
		        font-size: clamp(2rem, 4.2vw, 3.1rem) !important;
    }


	    

.nps-hero__left{
	/* background: blueviolet; */
	padding: var(--space-16) var(--space-8)!important;
	max-width: 430px;
}
    .nps-hero__left::before {
        opacity: 0.95;
    }


    .nps-hero__content {
     
        max-width: 365px !important;
    }

.nps-hero__perex {
	max-width: 360px;
}

.nps-btn--hero-primary,
.nps-btn--hero-outline{
padding: var(--btn-padding-y) var(--btn-padding-x)!important;        
}




}



/* min-width: 2560px4K optimalizace – velké mezery, fixní šířky, prémiový look. */
@media (min-width: 2560px){

    #nps-hero.nps-hero {
        min-height: 70vh !important;        
    }

    .nps-hero__left {
        /* Posun textu k dolní hraně pro lepší rovnováhu */
        padding: var(--space-32) var(--space-24) !important;
        display: flex !important;
        align-items: end !important; 
    }

    .nps-btn--lg {
        padding: var(--space-5) var(--space-16);
        min-height: 64px;
    }

}

    .nps-hero__left::before {
        opacity: 0.95;
    }



.nps-hero__left,
.nps-hero__content,
.nps-hero__eyebrow,
.nps-hero__title,
.nps-hero__perex{
	background-color: transparent!important;
}


@media (max-width: 420px){
.mobil-hide{display: none;}
}
