/* =========================================================
   HOUSES – BASE
   ========================================================= */

.houses__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.houses__head,
.houses__head-left {
	width: 100%;
	text-align: center;
}

.houses .section-title {
	margin-top: 25px;
}

.houses__desc {
	margin-top: 30px;
	font-family: Jost, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
	color: #919191;
}

/* =========================================================
   STAGE (mapa + tło)
   ========================================================= */

.houses__stage {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin-top: 20px;
	padding: 42px;
	background: var(--color-third);
	border-radius: 8px 8px 0 0;
}

.houses__frame {
	position: relative;
	width: 100%;
	max-width: 1235px;
	margin: 0 auto;
	border-radius: 6px;
	overflow: hidden;
}

.houses__img {
	width: 100%;
	height: auto;
	display: block;
}

.houses__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #00000099;
	z-index: 5;
	cursor: pointer;
}

.houses__overlay-text {
	margin: 0;
	font-size: clamp(30px, 4vw, 54px);
	line-height: 1.05;
	font-weight: 700;
	color: #fff;
	text-align: center;
}

.houses__map {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 4;
}

.houses__map--mobile { display: none; }

@media (max-width: 991px) {
	.houses__stage {
		padding: 18px;
	}

	.houses__map--desktop { display: none; }
	.houses__map--mobile { display: block; }
}

/* =========================================================
   MAP SHAPES
   ========================================================= */

.houses__shape {
	fill: rgba(55, 32, 94, 0.25);
	stroke: var(--color-grey);
	stroke-width: 1;
	cursor: pointer;
	pointer-events: auto;
	transition: opacity .2s ease, stroke-width .2s ease, stroke .2s ease, fill .2s ease;
}

.houses__shape.is-available { fill: rgba(79, 186, 114, 0.45); }
.houses__shape.is-sold      { fill: rgba(224, 77, 77, 0.45); }

.houses__shape.is-active {
	stroke: var(--color-primary);
	stroke-width: 2;
}

.houses.is-step-1 .houses__shape { pointer-events: none; }
.houses.is-step-2 .houses__overlay,
.houses.is-step-3 .houses__overlay,
.houses.is-step-4 .houses__overlay { display: none; }

.houses__tooltip {
	position: fixed;
	z-index: 20;
	padding: 10px 12px;
	background: #37205e;
	color: #fff;
	border-radius: 4px;
	pointer-events: none;
}

.houses__tooltip-title,
.houses__tooltip-status {
	margin: 0;
	font-size: 13px;
	line-height: 1.2;
}

.houses__map-hit { pointer-events: all; }

.houses__shape:focus,
.houses__shape:focus-visible {
	outline: none;
}



/* =========================================================
   STEP 3 – WYBÓR STRONY LOKALU
   ========================================================= */

.houses__choose {
	width: 100%;
	max-width: 1360px;
	background: var(--color-third);
	padding: 0 35px 30px;
	display: none;
}

.houses.is-step-3 .houses__choose,
.houses.is-step-4 .houses__choose {
	display: block;
}

.houses__choose-title {
	margin: 0;
	font-family: Jost, sans-serif;
	font-weight: 700;
	font-size: 34px;
	line-height: 1.1;
	color: var(--color-primary);
}

.houses__choose-grid {
	margin-top: 24px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.houses__choose-card {
	background: #fff;
	border: 2px solid transparent;
	border-radius: 8px;
	padding: 14px;
	cursor: pointer;
	transition: border-color .2s ease, box-shadow .2s ease;
	text-align: left;
}

.houses__choose-card:hover,
.houses__choose-card.is-active {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 2px rgba(55, 32, 94, 0.12);
}

.houses__choose-image-wrap {
	display: block;
	aspect-ratio: 16 / 10;
	background: #f0f0f0;
	border-radius: 6px;
	overflow: hidden;
}

.houses__choose-image-wrap {
	aspect-ratio: 921 / 488;
}

.houses__choose-area {
	display: block;
	margin-top: 12px;
	font-family: Jost, sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.2;
	color: var(--color-primary);
}

.houses__choose-buttons {
	margin-top: 20px;
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.houses__choose-buttons .btn.is-active {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

@media (max-width: 991px) {
	.houses__choose {
		padding: 0 var(--container-pad) 24px;
	}

	.houses__choose-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* =========================================================
   EXPANDED PANEL (full width tła + content 1228px)
   ========================================================= */

.houses__expanded {
	width: 100%;
	max-width: 1360px;
	background: var(--color-third);
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height .4s ease, opacity .25s ease;
}

.houses__expanded.is-visible {
	max-height: 2200px;
	opacity: 1;
}

/* trzymamy marginesy jak obrazek: content = 1228px */
.houses__expanded-grid {
	width: 100%;
	max-width: var(--houses-content-max, 1228px);
	margin: 0 auto;
	padding: 40px 35px 60px;

	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.houses__expanded-title {
	margin: 0;
	font-size: 48px;
	font-weight: 700;
	color: var(--color-primary);
}

.houses__stats { margin-top: 40px; }
.houses__stat { margin-top: 0; }
.houses__stat + .houses__stat { margin-top: 10px; }

.houses__stat-label {
	font-size: 32px;
	color: var(--color-primary);
}

.houses__stat-value {
	font-family: Jost, sans-serif;
	font-weight: 700;
	font-size: 32px;
	line-height: 1.1;
	color: var(--color-primary);
}

.houses__actions {
	margin-top: 46px;
	display: flex;
	gap: 25px;
	flex-wrap: wrap;
}

.houses__model-img {
	width: min(492px, 100%);
	height: auto;
	margin-left: auto;
	display: block;
}

@media (max-width: 991px) {
	.houses__expanded-grid {
		grid-template-columns: 1fr;
		padding: 32px var(--container-pad) 28px;
	}

	.houses__actions {
		gap: 14px;
	}
}

/* =========================================================
   FORM WRAPPER (full width tła + content 1228px)
   ========================================================= */

.houses__form {
	position: relative;
	width: 100%;
	background: var(--color-secondary);
	border-radius: 0 0 8px 8px;
}

.houses__form::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 10px;
	background: var(--color-primary);
	border-radius: 0 0 8px 8px;
}

.houses__form-grid {
	width: 100%;
	max-width: var(--houses-content-max, 1228px);
	margin: 0 auto;
	padding: 40px 0 40px;

	display: grid;
	grid-template-columns: 1fr 1.45fr;
	gap: 30px;
	align-items: center;
}

.houses__form-title {
	margin: 0;
	color: var(--color-primary);
}

.houses__form-desc {
	margin-top: 15px;
	font-family: Jost, sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 160%;
	color: var(--color-primary);
}

@media (max-width: 991px) {
	.houses__form-grid {
		grid-template-columns: 1fr;
		gap: 18px;
		align-items: start;
		padding: 24px var(--container-pad) 24px;
	}
}

/* =========================================================
   CF7 – HOUSES (czysto, bez !important)
   Cel: 4 inputy w 2 kolumnach + pod nimi: zgody (lewo) i button (prawo)
   ========================================================= */

.fc-form.fc-form--houses,
.fc-form.fc-form--houses * {
	box-sizing: border-box;
}

.fc-form.fc-form--houses .wpcf7,
.fc-form.fc-form--houses .wpcf7 form {
	margin: 0;
	width: 100%;
}

.fc-form.fc-form--houses p { margin: 0; }
.fc-form.fc-form--houses br { display: none; }
.fc-form.fc-form--houses .wpcf7-spinner { display: none; }

/* CF7: 1 <p> + <br> → spłaszczamy tylko wewnątrz sekcji */
.fc-form.fc-form--houses .fc-form__fields > p,
.fc-form.fc-form--houses .fc-form__consents > p,
.fc-form.fc-form--houses .fc-form__actions > p {
	display: contents;
}

/* ===== GRID na wrapperze ===== */

.fc-form.fc-form--houses .wpcf7 form {
	display: block;
}

.fc-form.fc-form--houses .fc-form__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 320px);
	grid-template-areas:
		"fields   fields"
		"consents actions";
	column-gap: 28px;
	row-gap: 14px;
	align-items: start;
	width: 100%;
	min-width: 0;
}

.fc-form.fc-form--houses .fc-form__fields   { grid-area: fields;   min-width: 0; }
.fc-form.fc-form--houses .fc-form__consents { grid-area: consents; min-width: 0; }
.fc-form.fc-form--houses .fc-form__actions  { grid-area: actions;  min-width: 0; }

/* ===== Fields: 2 kolumny ===== */

.fc-form.fc-form--houses .fc-form__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 22px;
	width: 100%;
	min-width: 0;
}

.fc-form.fc-form--houses .fc-field,
.fc-form.fc-form--houses .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	min-width: 0;
}

/* ===== Inputy: jak Figma, 100% kolumny ===== */

.fc-form.fc-form--houses .fc-input,
.fc-form.fc-form--houses input[type="text"],
.fc-form.fc-form--houses input[type="email"],
.fc-form.fc-form--houses input[type="tel"] {
	width: 100%;
	height: 42px;
	padding: 12px 16px;

	background: rgba(255, 255, 255, 0.2);
	border: 1px solid #FFFFFF;
	border-radius: 1px;

	font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 125%;
	color: var(--color-primary);

	min-width: 0;
}

.fc-form.fc-form--houses input::placeholder {
	color: var(--color-primary);
	opacity: 1;
}

/* ===== Consents ===== */

.fc-form.fc-form--houses .fc-form__consents {
	display: flex;
	flex-direction: column;
	padding-top: 2px;
	margin: 0;
	width: 100%;
	min-width: 0;
}

.fc-form.fc-form--houses .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.fc-form.fc-form--houses .wpcf7-acceptance label {
	display: flex;
	gap: 8px;
	align-items: flex-start;

	font-size: 8px;
	line-height: 9px;
	color: var(--color-primary);
	font-weight: 500;
}

/* ===== Actions (button w prawej kolumnie) ===== */

.fc-form.fc-form--houses .fc-form__actions {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
	min-width: 0;
}

.fc-form.fc-form--houses .wpcf7-form-control.wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	height: 45px;
	padding: 12px 20px;
	width: 189px;
	margin-left: auto;

	background: var(--color-primary);
	color: var(--color-cta-primary-text);
	border: 0;
	border-radius: 2px;

	font-family: "Jost", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 145%;
	letter-spacing: -0.005em;

	white-space: nowrap;
	min-width: 0;
	max-width: 100%;
}

/* Komunikaty CF7 */
.fc-form.fc-form--houses .wpcf7-response-output,
.fc-form.fc-form--houses .wpcf7-not-valid-tip {
	grid-column: 1 / -1;
}

/* Mobile */
@media (max-width: 991px) {
	.fc-form.fc-form--houses .fc-form__grid {
		grid-template-columns: 1fr;
		grid-template-areas:
			"fields"
			"consents"
			"actions";
	}

	.fc-form.fc-form--houses .fc-form__fields {
		grid-template-columns: 1fr;
	}

	.fc-form.fc-form--houses .fc-form__actions {
		justify-content: flex-start;
	}

	.fc-form.fc-form--houses .wpcf7-form-control.wpcf7-submit {
		width: 100%;
		margin-left: 0;
	}
}



/* =========================================================
   DEV: Polygon drawer
   ========================================================= */

.houses__dev {
	width: 100%;
	max-width: 1360px;
	margin-top: 18px;
	padding: 14px 16px;
	border: 1px dashed rgba(55, 32, 94, 0.35);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.7);
}

.houses__dev-row {
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
}

.houses__dev-row + .houses__dev-row { margin-top: 10px; }

.houses__dev-toggle,
.houses__dev-btn {
	border: 1px solid rgba(55, 32, 94, 0.35);
	background: #fff;
	color: #37205e;
	padding: 8px 10px;
	border-radius: 6px;
	cursor: pointer;
}

.houses__dev-toggle[aria-pressed="true"] {
	background: #37205e;
	color: #fff;
}

.houses__dev-tip {
	margin: 0;
	font-size: 13px;
	color: rgba(55, 32, 94, 0.8);
}

.houses__dev-label {
	display: flex;
	gap: 8px;
	align-items: center;
	font-size: 13px;
	color: rgba(55, 32, 94, 0.85);
}

.houses__dev-input,
.houses__dev-select {
	height: 34px;
	padding: 6px 8px;
	border-radius: 6px;
	border: 1px solid rgba(55, 32, 94, 0.25);
	background: #fff;
}

.houses__dev-output {
	width: 100%;
	border-radius: 6px;
	border: 1px solid rgba(55, 32, 94, 0.25);
	padding: 10px;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
	font-size: 12px;
	color: #37205e;
	background: #fff;
}

.houses__shape.is-dev-drawing {
	fill: rgba(0, 0, 0, 0.18);
	stroke: rgba(255, 255, 255, 0.75);
	stroke-width: 2;
}


@media (max-width: 991px) {
	.houses__expanded-title {
		font-size: 36px;
	}

	.houses__stat-label {
		font-size: 26px;
	}

	.houses__stat-value {
		font-size: 26px;
	}
}


/* =========================================================
   HOUSES – MATERIALS (label + title + 3 buttons)
   ========================================================= */

.houses__materials {
	width: 100%;
	max-width: var(--container-max:);
	margin-top: 60px;
}

.houses__materials-grid {
	display: grid;
	grid-template-columns: 1fr auto;
	column-gap: 20px; /* GAP między title a przyciskami */
	align-items: end;
}

.houses__materials-left .section-title {
	margin-top: 25px; /* padding/gap między label a title */
}

.houses__materials-buttons {
	display: flex;
	gap: 32px; /* GAP między przyciskami */
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
}

.houses__materials .btn:hover {
	background: var(--color-third);
	border-color: var(--color-third);
	color: var(--color-primary);
}


@media (max-width: 991px) {
	.houses__materials {
		margin-top: 34px;
	}

	.houses__materials-grid {
		grid-template-columns: 1fr;
		row-gap: 18px;
		column-gap: 0;
		align-items: start;
	}

	.houses__materials-buttons {
		justify-content: flex-start;
		gap: 14px;
	}
}

@media (max-width: 991px) {
	.houses__tooltip {
		display: none !important;
	}
}


/* =========================================================
   AVAILABILITY BADGE (Dostępny / Sprzedany)
   ========================================================= */

.houses__availability {
	display: inline-flex;
	align-items: flex-end;
	justify-content: center;

	gap: 8px;
	padding: 4px 12px;

	border-radius: 999px;
	border: 1px solid transparent;

	font-family: "Jost", sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.1;

	vertical-align: baseline;
	position: relative;
	top: 0;
}

.houses__availability::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: currentColor;
	opacity: 0.9;
	position: relative;
	top: -6px;
}

.houses__availability.is-available {
	color: #14804A;
	background: rgba(20, 128, 74, 0.10);
	border-color: rgba(20, 128, 74, 0.25);
}

.houses__availability.is-sold {
	color: #B42318;
	background: rgba(180, 35, 24, 0.10);
	border-color: rgba(180, 35, 24, 0.25);
}


.houses__choose-grid {
	margin-top: 24px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
}

.houses__choose-card {
	background: #fff;
	border: 2px solid transparent;
	border-radius: 8px;
	padding: 14px;
	cursor: pointer;
	transition: border-color .2s ease, box-shadow .2s ease;
	text-align: left;

	display: flex;
	flex-direction: column;
}

.houses__choose-cta {
	margin-top: 16px;
	display: flex;
	justify-content: center;
}

.houses__choose-cta .btn {
	width: 100%;
	max-width: 230px;
}

.houses__choose-area {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 20px;
}

@media (max-width: 640px) {

	.houses__choose-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.houses__choose-card {
		width: 100%;
	}

	.houses__choose-area {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}

	.houses__availability {
		align-self: flex-start;
	}

	.houses__choose-cta .btn {
		width: 100%;
	}

	.houses__choose-cta .btn__text {
		white-space: normal;
		text-align: center;
	}
}


.houses__choose-label {
	display: block;
	margin-top: 12px;
	font-family: Jost, sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2;
	color: var(--color-primary);
}


/* =========================================================
   Houses table — collapsed like FAQ (peek + gradient + button)
   ========================================================= */

.houses__table-wrap{
	margin-top: 60px;
	width: 100%;
}

.houses__table-inner{
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container-pad);
	padding-right: var(--container-pad);
	box-sizing: border-box;
}

.houses__table-head{
	margin-bottom: 24px;
}

.houses__table-head--center{
	text-align: center;
}

.houses__table-head--center .section-label{
	justify-content: center;
}

/* LIST wrapper (jak faq__list) */
.houses__table-list{
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	max-height: var(--houses-table-collapsed-h, none);
	padding-bottom: 64px;
	box-sizing: border-box;
}

.houses__table-list.is-expanded{
	max-height: none;
	padding-bottom: 0;
}

.houses__table-list:not(.is-expanded)::after{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 64px;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
}

.houses__table-list.is-expanded::after{
	display: none;
}

/* Scroll wrapper */
.houses__table-scroll{
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	border-radius: 10px;
	border: 1px solid rgba(55, 32, 94, 0.12);
	background: var(--color-white);
	box-sizing: border-box;
}

/* Table */
.houses__table{
	width: 100%;
	min-width: 960px;
	border-collapse: collapse;
	background: var(--color-white);
	font-size: 15px;
}

/* Header */
.houses__table thead th{
	text-align: center;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.02em;
	color: rgba(55, 32, 94, 0.88);
	padding: 16px;
	border-bottom: 2px solid rgba(238, 179, 92, 0.55);
	white-space: nowrap;
	background: linear-gradient(180deg, rgba(226, 214, 246, 0.55), rgba(247, 246, 251, 0.95));
}

.houses__table tbody td{
	padding: 16px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	white-space: nowrap;
	text-align: center;
}

.houses__table tbody tr:hover{
	background: rgba(226, 214, 246, 0.22);
}

/* Status */
.houses__table-status{
	font-weight: 700;
}

.houses__table-status.is-available{
	color: #0a8f4a;
}

.houses__table-status.is-sold{
	color: #c53030;
}

/* Link */
.houses__table-link{
	color: var(--color-primary);
	text-decoration: none;
	font-weight: 700;
}

.houses__table-link:hover{
	text-decoration: underline;
}

/* More (button like FAQ) */
.houses__table-more{
	width: 100%;
	max-width: none;
	margin-top: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.houses__table-more.btn{
	justify-content: center;
}

.houses__table-more .btn__text{
	text-align: center;
}

.houses__table-more .btn__icon{
	flex: 0 0 auto;
}

.houses__table-more .btn__icon--arrow{
	background-image: url("https://flixcity.kreatorzybiznesu.pl/wp-content/uploads/2026/02/faq_btn.svg");
}

/* Responsive */
@media (max-width: 900px){
	.houses__table-inner{
		max-width: 100%;
		padding-left: var(--container-pad);
		padding-right: var(--container-pad);
	}

	.houses__table{
		min-width: 0;
	}

	.houses__table thead{
		display: none;
	}

	.houses__table tbody{
		display: block;
		width: 100%;
	}

	.houses__table tbody tr{
		display: block;
		width: 100%;
		padding: 16px 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	.houses__table tbody td{
		display: flex;
		justify-content: center;
		text-align: center;
		gap: 12px;
		padding: 8px 16px;
		border: none;
		white-space: normal;
		word-break: break-word;
	}

	.houses__table tbody td::before{
		content: attr(data-label);
		font-weight: 700;
		color: var(--color-grey);
	}
}