/*
 * Forrest Space - kreator rezerwacji nad HBook (ETAP 1, tylko prezentacja).
 * Ladowany wylacznie na stronie z blokiem hbook/booking-form (patrz inc/hbook-booking-ui.php).
 * Wszystko pod .hbook-wrapper.fs-wiz, zeby nie wplywac na inne uzycia HBook.
 * !important tylko tam, gdzie HBook ustawia inline display przez jQuery (show/hide/slide).
 */
.hbook-wrapper.fs-wiz {
	--fs-bg: #050505;
	--fs-card: #0f0f0f;
	--fs-card-2: #151515;
	--fs-line: rgba(255, 255, 255, .14);
	--fs-text: #f3ede6;
	--fs-muted: #a39a91;
	--fs-accent: #b7875a;
	--fs-accent-2: #d3a77b;
	--fs-on-accent: #1b130c;
	--fs-error: #ff9b8a;
	position: relative;
	max-width: 720px;
	margin: 0 auto;
	padding: 8px 0 24px;
	color: var(--fs-text);
	font-size: 16px;
	line-height: 1.45;
	text-align: left;
}

.hbook-wrapper.fs-wiz * {
	box-sizing: border-box;
}

.fs-wiz .fs-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- stepper ---------- */
.fs-wiz .fs-stepper {
	display: flex;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.fs-wiz .fs-stepper__item {
	position: relative;
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	color: var(--fs-muted);
	font-size: 13px;
}

.fs-wiz .fs-stepper__item::before {
	content: "";
	position: absolute;
	top: 16px;
	right: 50%;
	width: 100%;
	height: 2px;
	background: #333;
}

.fs-wiz .fs-stepper__item:first-child::before {
	display: none;
}

.fs-wiz .fs-stepper__item.is-done::before,
.fs-wiz .fs-stepper__item.is-current::before {
	background: var(--fs-accent);
}

.fs-wiz .fs-stepper__dot {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid #555;
	border-radius: 50%;
	background: var(--fs-bg);
	color: var(--fs-text);
	font-size: 14px;
	line-height: 1;
}

.fs-wiz .fs-stepper__item.is-done .fs-stepper__dot {
	border-color: var(--fs-accent);
	color: var(--fs-accent-2);
}

.fs-wiz .fs-stepper__item.is-current .fs-stepper__dot {
	border-color: var(--fs-accent);
	background: var(--fs-accent);
	color: var(--fs-on-accent);
	font-weight: 700;
}

.fs-wiz .fs-stepper__item.is-current {
	color: var(--fs-text);
	font-weight: 600;
}

/* ---------- naglowki krokow ---------- */
.fs-wiz .fs-head {
	margin: 0 0 16px;
}

.fs-wiz .fs-head__title {
	margin: 0 0 6px;
	color: var(--fs-text);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: none;
}

.fs-wiz .fs-head__lead {
	margin: 0;
	color: var(--fs-muted);
	font-size: 16px;
}

/* wlasne naglowki zastepuja tytuly HBook (tylko ukrycie, tresci HBook bez zmian) */
.fs-wiz .hb-title-search-form,
.fs-wiz .hb-details-fields > .hb-title,
.fs-wiz .hb-title-payment {
	display: none;
}

/* ---------- krok 1: wyszukiwanie ---------- */
.fs-wiz .hb-search-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

/* !important: main.scss ustawia szerokosci w % (.page-calendars1 ... .desc .hb-check-dates-wrapper) o wyzszej specyficznosci */
.hbook-wrapper.fs-wiz .hb-search-fields > p {
	margin: 0 !important;
	width: 100% !important;
	max-width: none;
	min-width: 0;
	float: none;
	padding: 0;
}

.fs-wiz .hb-search-fields .hb-search-submit-wrapper,
.fs-wiz .hb-search-fields .hb-accom-number-wrapper,
.fs-wiz .hb-search-fields .hb-people-wrapper {
	grid-column: 1 / -1;
}

.hbook-wrapper.fs-wiz .hb-search-fields input[type="text"],
.hbook-wrapper.fs-wiz .hb-search-fields select,
.hbook-wrapper.fs-wiz .hb-search-fields .selectize-input {
	width: 100%;
	max-width: none;
	min-height: 48px;
	border: 1px solid var(--fs-line);
	border-radius: 12px;
	background: var(--fs-card);
	color: var(--fs-text);
}

.fs-wiz .hb-searched-summary[style*="display: block"] {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	margin: 0 0 14px;
	padding: 12px 14px;
	border: 1px solid var(--fs-line);
	border-radius: 12px;
	background: var(--fs-card);
	color: var(--fs-muted);
	font-size: 14px;
}

.fs-wiz .hb-searched-summary p {
	margin: 0;
	padding: 0;
	float: none;
	width: auto;
}

/* terminy sa pokazane w pasku .fs-bar-dates */
.fs-wiz .hb-searched-summary .hb-check-dates-wrapper,
.fs-wiz .hb-searched-summary .hb-accom-number-wrapper,
.fs-wiz .hb-searched-summary .hb-admin-search-type-wrapper {
	display: none;
}

.fs-wiz .hb-searched-summary .hb-change-search-wrapper {
	margin-left: auto;
}

.hbook-wrapper.fs-wiz .hb-searched-summary .hb-change-search-wrapper input[type="submit"] {
	min-height: 36px;
	padding: 6px 14px;
	border: 1px solid var(--fs-accent);
	border-radius: 10px;
	background: transparent;
	color: var(--fs-accent-2);
	font-size: 14px;
}

.fs-wiz .hb-search-error,
.fs-wiz .hb-search-no-result {
	color: var(--fs-error);
}

/* ---------- paski (termin, uslugi) i cena ---------- */
.fs-wiz .fs-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0 0;
	padding: 14px 16px;
	border: 1px solid var(--fs-line);
	border-radius: 12px;
	background: var(--fs-card);
	color: var(--fs-text);
}

.fs-wiz .fs-bar__icon {
	flex: 0 0 22px;
	height: 22px;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d3a77b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E");
}

.fs-wiz .fs-bar__icon--cart {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d3a77b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.5 12h11L21 7H6'/%3E%3C/svg%3E");
}

.fs-wiz .fs-bar__main {
	flex: 1 1 auto;
	font-size: 16px;
}

.fs-wiz .fs-bar__side {
	color: var(--fs-text);
	font-size: 15px;
	white-space: nowrap;
}

.fs-wiz .fs-bar-extras .fs-bar__side {
	font-weight: 600;
}

.fs-wiz .fs-price-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 18px 0 4px;
	padding: 14px 4px 0;
	border-top: 1px solid var(--fs-line);
	color: var(--fs-muted);
}

.fs-wiz .fs-price-row strong {
	color: var(--fs-text);
	font-size: 24px;
	font-weight: 700;
}

/* dane cenowe HBook (cena za noc, szczegoly) - zostaja, tylko stonowane */
.fs-wiz .hb-accom-step-wrapper,
.fs-wiz .hb-intermediate-step-wrapper {
	color: var(--fs-text);
}

/* ---------- przyciski ---------- */
.fs-wiz .hb-step-button,
.fs-wiz .hb-confirm-button,
.fs-wiz .fs-nav {
	margin: 16px 0 0;
	padding: 0;
	text-align: left;
}

.hbook-wrapper.fs-wiz .hb-next-step input[type="submit"],
.hbook-wrapper.fs-wiz .hb-confirm-button input[type="submit"],
.hbook-wrapper.fs-wiz .hb-search-submit-wrapper input[type="submit"],
.hbook-wrapper.fs-wiz .fs-btn--primary {
	display: block;
	width: 100%;
	min-height: 54px;
	padding: 12px 18px;
	border: 0;
	border-radius: 12px;
	background: linear-gradient(180deg, var(--fs-accent-2), var(--fs-accent)) !important; /* main.scss: hover/kolor submitow HBook */
	color: var(--fs-on-accent) !important;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	box-shadow: none;
}

.hbook-wrapper.fs-wiz .hb-next-step input[type="submit"]:hover,
.hbook-wrapper.fs-wiz .hb-confirm-button input[type="submit"]:hover,
.hbook-wrapper.fs-wiz .hb-search-submit-wrapper input[type="submit"]:hover,
.hbook-wrapper.fs-wiz .fs-btn--primary:hover {
	filter: brightness(1.08);
}

.hbook-wrapper.fs-wiz .hb-previous-step input[type="submit"],
.hbook-wrapper.fs-wiz .fs-btn--ghost {
	display: inline-block;
	width: auto;
	min-height: 44px;
	padding: 8px 16px;
	border: 1px solid var(--fs-line) !important; /* main.scss: .hbook-wrapper input[type=submit] o wyzszej specyficznosci */
	border-radius: 12px;
	background: transparent !important;
	color: var(--fs-text) !important;
	font-size: 15px;
	font-weight: 500;
	text-transform: none;
	cursor: pointer;
}

.hbook-wrapper.fs-wiz .hb-previous-step input[type="submit"]:hover,
.hbook-wrapper.fs-wiz .fs-btn--ghost:hover {
	border-color: var(--fs-accent);
	color: var(--fs-accent-2);
}

.fs-wiz .fs-btn {
	font-family: inherit;
}

.fs-wiz .hb-step-button input:focus-visible,
.fs-wiz .fs-btn:focus-visible,
.fs-wiz .fs-check:focus-visible,
.fs-wiz input:focus-visible,
.fs-wiz select:focus-visible {
	outline: 2px solid var(--fs-accent-2);
	outline-offset: 2px;
}

/* ---------- krok 2: karty uslug ---------- */
.fs-wiz .hb-options-form {
	margin: 0;
	padding: 0;
}

.fs-wiz .hb-options-form br,
.fs-wiz .hb-options-form .hb-options-gap,
.fs-wiz .hb-options-form .hb-options-total-price,
.fs-wiz .hb-options-form .hb-no-options {
	display: none !important;
}

.fs-wiz .fs-card {
	position: relative;
	display: grid;
	grid-template-columns: 84px 1fr 28px;
	gap: 4px 14px;
	align-items: center;
	margin: 0 0 10px;
	padding: 12px;
	border: 1px solid var(--fs-line);
	border-radius: 14px;
	background: var(--fs-card);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.fs-wiz .fs-card.is-selected {
	border-color: var(--fs-accent);
	background: var(--fs-card-2);
}

.fs-wiz .fs-card__thumb {
	grid-row: 1 / span 2;
	width: 84px;
	height: 84px;
	border-radius: 10px;
	background: #1a1a1a center / cover no-repeat;
}

.fs-wiz .fs-card__thumb--ph {
	background:
		radial-gradient(circle at 30% 25%, rgba(211, 167, 123, .45), transparent 60%),
		linear-gradient(135deg, #2a2119, #0e0b08);
}

.fs-wiz .fs-card__body {
	grid-row: 1 / span 2;
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.fs-wiz .fs-card__title {
	color: var(--fs-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.fs-wiz .fs-card__desc {
	color: var(--fs-muted);
	font-size: 13px;
}

.fs-wiz .fs-card__price {
	margin-top: 4px;
	color: var(--fs-text);
	font-size: 15px;
	font-weight: 600;
}

.fs-wiz .fs-check {
	grid-column: 3;
	grid-row: 1;
	align-self: center;
	position: relative;
	width: 26px;
	height: 26px;
	border: 2px solid #6b635c;
	border-radius: 7px;
	background: transparent;
}

.fs-wiz .fs-card.is-selected .fs-check {
	border-color: var(--fs-accent);
	background: var(--fs-accent);
}

.fs-wiz .fs-card.is-selected .fs-check::after {
	content: "";
	position: absolute;
	left: 7px;
	top: 2px;
	width: 6px;
	height: 12px;
	border: solid var(--fs-on-accent);
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg);
}

.fs-wiz .fs-card__qty {
	grid-column: 2 / -1;
	grid-row: 3;
	display: none;
	align-items: center;
	gap: 10px;
	margin-top: 6px;
	color: var(--fs-muted);
	font-size: 13px;
}

.fs-wiz .fs-card.is-selected .fs-card__qty {
	display: flex;
}

.fs-wiz .fs-card__qty input {
	flex: 0 0 auto;
	width: 96px !important; /* main.scss: .hbook-wrapper input - pelna szerokosc */
	min-height: 40px;
	padding: 4px 10px;
	border: 1px solid var(--fs-line);
	border-radius: 10px;
	background: #000;
	color: var(--fs-text);
	font-size: 16px;
}

/* ---------- krok 3: pola ---------- */
.fs-wiz .hb-booking-details-form {
	position: relative;
	margin: 0;
	padding: 0;
}

.fs-wiz .hb-booking-details-form .hb-details-fields {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.fs-wiz .fs-fields > p {
	margin: 0 0 12px;
	padding: 0;
	width: 100%;
	float: none;
}

.fs-wiz .fs-fields label {
	display: block;
	margin: 0 0 6px;
	color: var(--fs-text);
	font-size: 15px;
	font-weight: 500;
}

.fs-wiz .fs-fields input[type="text"],
.fs-wiz .fs-fields input[type="email"],
.fs-wiz .fs-fields input[type="tel"],
.fs-wiz .fs-fields select,
.fs-wiz .hb-coupon-code {
	display: block;
	width: 100%;
	min-height: 50px;
	padding: 10px 14px;
	border: 1px solid var(--fs-line);
	border-radius: 12px;
	background: var(--fs-card);
	color: var(--fs-text);
	font-size: 16px;
}

.fs-wiz .fs-fields [aria-invalid="true"] {
	border-color: var(--fs-error);
}

.fs-wiz .fs-field-error {
	display: block;
	margin-top: 6px;
	color: var(--fs-error);
	font-size: 14px;
}

/* kolejnosc pol wg makiety (porzadek DOM HBook bez zmian) */
.fs-wiz .fs-fields > .fs-head { order: 0; }
.fs-wiz .fs-fields > p:has([name="hb_first_name"]) { order: 1; }
.fs-wiz .fs-fields > p:has([name="hb_last_name"]) { order: 2; }
.fs-wiz .fs-fields > p:has([name="hb_email"]) { order: 3; }
.fs-wiz .fs-fields > p:has([name="hb_phone"]) { order: 4; }
.fs-wiz .fs-fields > p:has([name="hb_country_iso"]) { order: 5; }
.fs-wiz .fs-fields > .hb-country-iso-additional-info-wrapper { order: 6; }
.fs-wiz .fs-fields > .fs-invoice-toggle { order: 7; }
.fs-wiz .fs-fields > .fs-invoice-fields { order: 8; }
.fs-wiz .fs-fields > .fs-marketing { order: 9; }
.fs-wiz .fs-fields > .fs-nav--3 { order: 10; }

.fs-wiz .fs-invoice-fields[hidden] {
	display: none;
}

.fs-wiz .fs-invoice-fields {
	margin: 0 0 12px;
	padding: 14px 14px 2px;
	border: 1px solid var(--fs-line);
	border-radius: 12px;
	background: var(--fs-card);
}

.fs-wiz .fs-invoice-fields > p {
	margin: 0 0 12px;
	padding: 0;
	float: none;
	width: 100%;
}

.fs-wiz .fs-check-row {
	margin: 0 0 12px;
	padding: 14px;
	border: 1px solid var(--fs-line);
	border-radius: 12px;
	background: var(--fs-card);
}

.fs-wiz .fs-marketing {
	border-color: transparent;
	background: transparent;
	padding: 4px 2px;
}

.fs-wiz .fs-fields .fs-check-row__label {
	user-select: none;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	font-weight: 400;
	cursor: pointer;
}

.fs-wiz .fs-ui-only {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	margin: 2px 0 0;
	accent-color: var(--fs-accent);
}

.fs-wiz .fs-check-row__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 15px;
	line-height: 1.45;
}

.fs-wiz .fs-check-row__text small {
	color: var(--fs-muted);
	font-size: 13px;
}

.fs-wiz .fs-marketing .fs-check-row__text {
	color: var(--fs-muted);
}

/* ---------- widoki kroku 3 / kroku 4 jednego formularza HBook ---------- */
.fs-wiz .hb-booking-details-form[data-fs-sub="3"] .hb-coupons-area,
.fs-wiz .hb-booking-details-form[data-fs-sub="3"] .hb-loading-summary,
.fs-wiz .hb-booking-details-form[data-fs-sub="3"] .hb-summary-wrapper,
.fs-wiz .hb-booking-details-form[data-fs-sub="3"] .hb-policies-area,
.fs-wiz .hb-booking-details-form[data-fs-sub="3"] .hb-payment-info-wrapper,
.fs-wiz .hb-booking-details-form[data-fs-sub="3"] .hb-confirm-area,
.fs-wiz .hb-booking-details-form[data-fs-sub="3"] .hb-bottom-area,
.fs-wiz .hb-booking-details-form[data-fs-sub="3"] .fs-nav--4,
.fs-wiz .hb-booking-details-form[data-fs-sub="3"] > .fs-head--4 {
	/* poza widokiem, ale w ukladzie (Stripe Payment Element mierzy kontener) i poza kolejnoscia tab */
	position: absolute !important;
	left: -10000px !important;
	top: 0 !important;
	width: 100% !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.fs-wiz .hb-booking-details-form[data-fs-sub="4"] .hb-details-fields,
.fs-wiz .hb-booking-details-form[data-fs-sub="4"] > .hb-previous-step-2 {
	display: none !important;
}

.fs-wiz .hb-booking-details-form[data-fs-sub="3"] > .hb-previous-step-2 {
	margin: 0 0 14px;
}

/* ---------- krok 4: podsumowanie i platnosc ---------- */
.fs-wiz .hb-booking-details-form[data-fs-sub="3"] > .fs-head--4 {
	display: none;
}

.fs-wiz .hb-summary-wrapper,
.fs-wiz .hb-coupons-area,
.fs-wiz .hb-payment-info-wrapper {
	margin: 0 0 16px;
	padding: 16px;
	border: 1px solid var(--fs-line);
	border-radius: 14px;
	background: var(--fs-card);
	color: var(--fs-text);
}

.fs-wiz .hb-summary-wrapper *,
.fs-wiz .hb-coupons-area *,
.fs-wiz .hb-payment-info-wrapper > p,
.fs-wiz .hb-confirm-area > p {
	color: var(--fs-text);
}

.fs-wiz .hb-summary-wrapper .hb-title,
.fs-wiz .hb-summary-wrapper .hb-subtitle,
.fs-wiz .hb-coupons-area .hb-title {
	margin: 0 0 8px;
	color: var(--fs-text);
	font-size: 17px;
	font-weight: 600;
	text-transform: none;
}

.fs-wiz .hb-summary-wrapper a {
	color: var(--fs-accent-2);
}

.fs-wiz .hb-summary-wrapper table {
	width: 100%;
	color: var(--fs-text);
}

.fs-wiz .hb-summary-wrapper .hb-summary-total-price,
.fs-wiz .hb-summary-wrapper .hb-summary-deposit {
	margin-top: 6px;
	font-weight: 700;
}

.fs-wiz .hb-coupons-area p {
	margin: 0 0 8px;
	font-size: 14px;
	color: var(--fs-muted);
}

.fs-wiz .hb-coupons-area .hb-apply-coupon {
	min-height: 44px;
	padding: 8px 16px;
	border: 1px solid var(--fs-accent);
	border-radius: 10px;
	background: transparent;
	color: var(--fs-accent-2);
	cursor: pointer;
}

.fs-wiz .hb-confirm-area > p:not(.hb-confirm-button) {
	margin: 0 0 8px;
	color: var(--fs-muted);
	font-size: 14px;
}

.fs-wiz .hb-confirm-error,
.fs-wiz .hb-policies-error,
.fs-wiz .hb-coupon-error {
	color: var(--fs-error);
}

.fs-wiz .hb-stripe-payment-form-txt-bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 12px;
	color: var(--fs-muted);
	font-size: 14px;
}

.fs-wiz .fs-nav--4 {
	margin-top: 12px;
}

/* ---------- desktop ---------- */
@media (min-width: 768px) {
	.hbook-wrapper.fs-wiz {
		padding-top: 16px;
	}
}

@media (max-width: 380px) {
	.fs-wiz .fs-card {
		grid-template-columns: 70px 1fr 26px;
	}

	.fs-wiz .fs-card__thumb {
		width: 70px;
		height: 70px;
	}

	.fs-wiz .fs-head__title {
		font-size: 23px;
	}
}

/* ---------- korekty po tescie ---------- */
/* kroki 2-4: formularz wyszukiwania (z "Zmien wyszukiwanie") schowany - powrot przez Wstecz */
.hbook-wrapper.fs-wiz[data-fs-step="2"] .hb-booking-search-form,
.hbook-wrapper.fs-wiz[data-fs-step="3"] .hb-booking-search-form,
.hbook-wrapper.fs-wiz[data-fs-step="4"] .hb-booking-search-form {
	display: none;
}

/* wlasny pasek ceny pokazuje cene pobytu - duza cena HBook ukryta (dane w DOM bez zmian) */
.fs-wiz .hb-accom-price-total .hb-accom-price {
	display: none;
}

.fs-wiz .hb-options-form .hb-title,
.fs-wiz .hb-options-form h3 {
	display: none;
}

.fs-wiz .hb-accom-desc {
	margin: 12px 0 0;
	color: var(--fs-text);
	font-weight: 600;
}

.fs-wiz .hb-accom-price-caption {
	color: var(--fs-muted);
	font-size: 14px;
}

.fs-wiz .hb-accom-price-caption a {
	color: var(--fs-accent-2);
}

.fs-wiz .fs-card__title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.fs-wiz .fs-card__desc {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* selectize (pole Panstwo) w ciemnym motywie */
.fs-wiz .fs-fields .selectize-control {
	width: 100%;
}

.fs-wiz .fs-fields .selectize-input {
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid var(--fs-line);
	border-radius: 12px;
	background: var(--fs-card);
	box-shadow: none;
	color: var(--fs-text);
	font-size: 16px;
}

.fs-wiz .fs-fields .selectize-input > input,
.fs-wiz .fs-fields .selectize-input .item {
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fs-text);
}

.fs-wiz .fs-fields .selectize-dropdown {
	border: 1px solid var(--fs-line);
	border-radius: 12px;
	background: #111;
	color: var(--fs-text);
}

.fs-wiz .fs-fields .selectize-dropdown .option.active {
	background: #2a2119;
	color: var(--fs-text);
}

.fs-wiz .fs-ui-only {
	color-scheme: dark;
}

/* ---------- krok 4: naglowek pobytu, wiersze, suma/zaliczka ---------- */
.fs-wiz .fs-stay {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 0 16px;
	padding: 16px;
	border: 1px solid var(--fs-line);
	border-radius: 14px;
	background: var(--fs-card);
}

.fs-wiz .hb-booking-details-form[data-fs-sub="3"] > .fs-stay {
	display: none;
}


.fs-wiz .fs-stay__name {
	color: var(--fs-text);
	font-size: 18px;
	font-weight: 700;
}

.fs-wiz .fs-stay__row {
	position: relative;
	padding-left: 30px;
	color: var(--fs-text);
	font-size: 15px;
}

.fs-wiz .fs-stay__row::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	width: 20px;
	height: 20px;
	background: no-repeat center / contain;
}

.fs-wiz .fs-stay__row--date::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d3a77b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E");
}

.fs-wiz .fs-stay__row--nights::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d3a77b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z'/%3E%3C/svg%3E");
}

.fs-wiz .fs-stay__row--people::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d3a77b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E");
}

/* HBook: dane terminu/liczby nocy i druga suma sa pokazane wyzej i w .fs-pay-box; komunikaty "po rezerwacji" ukryte */
.fs-wiz .hb-summary-wrapper .hb-resa-summary-title,
.fs-wiz .hb-summary-wrapper .hb-resa-summary-details,
.fs-wiz .hb-summary-wrapper .hb-resa-payment-msg,
.fs-wiz .hb-summary-wrapper .hb-resa-done-msg,
.fs-wiz .hb-summary-wrapper .hb-later-payment-thank-you-summary-top-js-msg,
.fs-wiz .hb-summary-wrapper .hb-summary-deposit,
.fs-wiz .hb-summary-wrapper .hb-summary-total-price,
.fs-wiz .hb-summary-wrapper br {
	display: none !important;
}

.fs-wiz .hb-summary-wrapper .hb-summary-bottom-text:empty {
	display: none;
}

.fs-wiz .hb-summary-wrapper .fs-rowed {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 4px 0;
	font-size: 15px;
}

.fs-wiz .hb-summary-wrapper .fs-row-amount {
	white-space: nowrap;
}

.fs-wiz .fs-pay-box {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--fs-line);
}

.fs-wiz .fs-pay-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 4px 0;
	color: var(--fs-muted);
	font-size: 15px;
}

.fs-wiz .fs-pay-row strong {
	color: var(--fs-text);
	white-space: nowrap;
}

.fs-wiz .fs-pay-row--deposit {
	color: var(--fs-text);
	font-weight: 700;
}

.fs-wiz .fs-pay-row--deposit strong {
	color: var(--fs-accent-2);
	font-size: 18px;
}

/* Stripe Payment Element: iframe wymusza jasny schemat (color-scheme light) - nie da sie go ukryc, tylko obramowac */
.fs-wiz .hb-stripe-payment-element-wrapper {
	overflow: hidden;
	border-radius: 12px;
}

.fs-wiz .hb-payment-info-wrapper .hb-stripe-payment-form-txt-top {
	margin: 0 0 10px;
}

.fs-wiz .hb-payment-type-explanation {
	margin: 0 0 12px;
	color: var(--fs-text);
	font-weight: 600;
}

.fs-wiz .hb-summary-wrapper .hb-resa-summary,
.fs-wiz .hb-summary-wrapper .hb-resa-summary-content,
.fs-wiz .hb-summary-wrapper .hb-summary-accom-wrapper,
.fs-wiz .hb-summary-wrapper .hb-summary-price-details {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.fs-wiz .hb-coupons-area .hb-clearfix {
	display: flex;
	gap: 8px;
}

.fs-wiz .hb-coupons-area .hb-coupon-code {
	flex: 1 1 auto;
	min-height: 44px;
	width: auto;
}

.fs-wiz .hb-coupons-area .hb-coupon-msg,
.fs-wiz .hb-coupons-area .hb-coupon-error {
	margin: 6px 0 0;
}

.fs-wiz .hb-coupons-area .hb-coupon-code {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0;
}

.fs-wiz .hb-coupons-area .hb-apply-coupon {
	flex: 0 0 auto;
	width: auto !important;
	margin: 0;
}

.fs-wiz .fs-fields .selectize-input,
.fs-wiz .fs-fields .selectize-input .item,
.fs-wiz .fs-fields .selectize-input > input {
	color: var(--fs-text) !important;
}

/* ======================= ETAP 2 ======================= */

/* Panstwo: pole zostaje w DOM i w walidacji HBook (wymagane, domyslnie PL z hb_country_select_default; Stripe wymaga tego pola), tylko ukryte */
.fs-wiz .fs-fields > p:has([name="hb_country_iso"]),
.fs-wiz .fs-fields > .hb-country-iso-additional-info-wrapper {
	display: none !important;
}

/* ---------- kalendarz inline (istniejacy popup HBook przeniesiony do formularza) ---------- */
.fs-wiz.fs-cal-on .hb-search-fields-and-submit .hb-search-fields > .hb-check-dates-wrapper {
	/* pola dat zostaja w DOM (HBook z nich czyta i do nich zapisuje), ukryte wizualnie */
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0 !important;
	padding: 0;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}

.fs-wiz.fs-cal-on .hb-search-fields-and-submit .hb-search-fields > .hb-check-dates-wrapper > input {
	min-height: 0 !important;
	height: 1px !important;
	width: 1px !important;
}

.fs-wiz .fs-cal {
	margin: 0 0 14px;
}

.fs-wiz .fs-cal__box {
	padding: 12px;
	border: 1px solid var(--fs-line);
	border-radius: 16px;
	background: var(--fs-card);
}

.fs-wiz .fs-cal .hb-datepick-popup-wrapper {
	position: static !important;
	display: block !important;
	opacity: 1 !important;
	top: auto !important;
	left: auto !important;
	width: auto !important;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.fs-wiz .fs-cal .hb-dp-cmd-close {
	display: none !important;
}

.fs-wiz .fs-cal .hb-datepick-legend {
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fs-muted);
	font-size: 14px;
	text-align: center;
}

.fs-wiz .fs-cal .hb-datepick-popup,
.fs-wiz .fs-cal .hb-dp-month-row {
	width: 100% !important;
	background: transparent !important;
}

.fs-wiz .fs-cal .hb-dp-month-row {
	display: flex;
	gap: 16px;
}

.fs-wiz .fs-cal .hb-dp-month {
	flex: 1 1 0;
	min-width: 0;
	width: auto !important;
	float: none !important;
}

.fs-wiz .fs-cal .hb-dp-month-header {
	color: var(--fs-text);
	font-size: 17px;
	font-weight: 600;
	text-align: center;
}

.fs-wiz .fs-cal .hb-dp-week-header {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	color: var(--fs-muted);
	font-size: 12px;
	text-align: center;
}

.fs-wiz .fs-cal .hb-dp-week {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
	margin-top: 4px;
}

/* klasy statusu (dateClass z HBook) leza na wewnetrznym <a> (wybieralny) lub <span> (niewybieralny) */
.fs-wiz .fs-cal .hb-dp-day {
	float: none !important;
	width: auto !important;
	height: 40px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	line-height: 40px;
	text-align: center;
}

.fs-wiz .fs-cal .hb-dp-day > a,
.fs-wiz .fs-cal .hb-dp-day > span {
	position: relative;
	display: block;
	height: 40px;
	border: 0 !important;
	border-radius: 10px;
	background: #151515 !important;
	color: var(--fs-text) !important;
	line-height: 40px;
	text-decoration: none;
	overflow: hidden;
}

.fs-wiz .fs-cal .hb-dp-day > span {
	cursor: not-allowed;
}

.fs-wiz .fs-cal .hb-dp-day > .hb-dp-day-not-current-month {
	visibility: hidden;
}

/* niedostepne: przeszle, zajete, zamkniete, niedozwolone */
.fs-wiz .fs-cal .hb-dp-day > span:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out) {
	background: transparent !important;
	color: #857e77 !important;
}

.fs-wiz .fs-cal .hb-dp-day > span.hb-day-fully-taken {
	text-decoration: line-through;
}

/* dzien graniczny (zajety z jednej strony): wybieralny tylko w wlasciwym trybie - zlamana tonacja zamiast czerwieni */
.fs-wiz .fs-cal .hb-dp-day > a.hb-day-taken-start,
.fs-wiz .fs-cal .hb-dp-day > a.hb-day-taken-end,
.fs-wiz .fs-cal .hb-dp-day > span.hb-day-taken-start:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out),
.fs-wiz .fs-cal .hb-dp-day > span.hb-day-taken-end:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out) {
	background: linear-gradient(135deg, #151515 50%, #2a2522 50%) !important;
}

.fs-wiz .fs-cal .hb-day-taken-start:before,
.fs-wiz .fs-cal .hb-day-taken-end:before {
	display: none !important;
}

.fs-wiz .fs-cal .hb-dp-day > a:hover {
	outline: 1px solid var(--fs-accent);
}

/* wybrany termin */
.fs-wiz .fs-cal .hb-dp-day > .hb-dp-day-check-in,
.fs-wiz .fs-cal .hb-dp-day > .hb-dp-day-check-out {
	background: var(--fs-accent-2) !important;
	color: var(--fs-on-accent) !important;
	font-weight: 700;
	background-image: none !important;
}

.fs-wiz .fs-cal .hb-dp-cmd-wrapper {
	display: flex;
	justify-content: space-between;
	margin: 0 0 -34px;
	position: relative;
	z-index: 2;
}

.fs-wiz .fs-cal .hb-dp-cmd {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--fs-line);
	border-radius: 50%;
	background: #151515 !important;
	color: var(--fs-text) !important;
	font-size: 20px;
	line-height: 1;
	text-decoration: none;
}

.fs-wiz .fs-cal .hb-dp-cmd.hb-dp-disabled {
	opacity: .35;
}

.fs-wiz .fs-cal .hb-dp-cmd-wrapper a {
	float: none !important;
}

.fs-wiz .fs-legend {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 18px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	color: var(--fs-muted);
	font-size: 13px;
}

.fs-wiz .fs-legend li {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
}

.fs-wiz .fs-legend li::before {
	display: none;
}

.fs-wiz .fs-legend__sw {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 4px;
}

.fs-wiz .fs-legend__sw--free { background: #151515; border: 1px solid #555; }
.fs-wiz .fs-legend__sw--sel { background: var(--fs-accent-2); }
.fs-wiz .fs-legend__sw--taken { background: transparent; border: 1px solid #3a3531; }

.fs-wiz .fs-cal .fs-bar-live {
	margin-top: 14px;
}

/* wizard: wskazowka "Wybierz date..." bez kontenera z main.scss */
.fs-wiz .fs-cal .hb-datepick-selecting-legend {
	color: var(--fs-muted);
}

/* ---------- krok 4: dopisek pod zaliczka/pozostala kwota ---------- */
.fs-wiz .fs-pay-note {
	margin: 2px 0 0;
	color: var(--fs-muted);
	font-size: 13px;
}

/* Stripe accordion: ramka kontenera */
.fs-wiz .hb-stripe-payment-element-wrapper {
	background: transparent;
}

/* kalendarz inline: poprawki ukladu (strzalki, legenda HBook, separator miesiecy) */
.fs-wiz .fs-cal__box {
	position: relative;
}

.fs-wiz .fs-cal .hb-datepick-legend {
	position: static !important;
	height: auto !important;
	padding: 0 0 12px !important;
	line-height: 1.3 !important;
}

.fs-wiz .fs-cal .hb-dp-month {
	border: 0 !important;
}

.fs-wiz .fs-cal .hb-dp-month-header {
	height: 34px;
	margin: 0 0 6px;
	line-height: 34px;
}

.fs-wiz .fs-cal .hb-dp-week-header {
	margin-top: 0 !important;
}

.fs-wiz .fs-cal .hb-dp-week-header div {
	float: none !important;
	width: auto !important;
	height: auto;
	line-height: 28px;
}

.fs-wiz .fs-cal .hb-dp-cmd-wrapper {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: 0;
	padding: 0;
	pointer-events: none;
}

.fs-wiz .fs-cal .hb-dp-cmd-wrapper a {
	pointer-events: auto;
}

.fs-wiz .fs-cal .hb-dp-cmd-prev {
	position: absolute;
	left: 0;
}

.fs-wiz .fs-cal .hb-dp-cmd-next {
	position: absolute;
	right: 0;
}

.fs-wiz .fs-cal .hb-datepick-popup,
.fs-wiz .fs-cal .hb-datepick-check-in-out {
	position: static !important;
}

.fs-wiz .fs-cal .hb-dp-cmd-wrapper {
	top: 36px;
	left: 12px;
	right: 12px;
}

.fs-wiz .fs-cal .hb-dp-cmd-wrapper {
	width: auto !important;
	max-width: none !important;
	height: 0;
}

.fs-wiz .fs-cal .hb-dp-cmd-wrapper .hb-dp-cmd-next {
	left: auto !important;
	right: 0 !important;
}

.fs-wiz .fs-cal .hb-dp-cmd-wrapper .hb-dp-cmd-prev {
	left: 0 !important;
	right: auto !important;
}

/* ======================= ETAP 3 ======================= */

/* voucher / kod rabatowy */
.fs-wiz .hb-coupons-area {
	padding: 16px;
}

.fs-wiz .hb-coupons-area .hb-title {
	font-size: 17px;
}

.fs-wiz .hb-coupons-area .hb-coupon-code {
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #6b635c !important;
	border-radius: 12px;
	background: #0a0a0a !important;
	color: var(--fs-text) !important;
	font-size: 16px;
	text-transform: uppercase;
}

.fs-wiz .hb-coupons-area .hb-coupon-code::placeholder {
	color: #9a9189;
	text-transform: none;
}

.hbook-wrapper.fs-wiz .hb-coupons-area .hb-apply-coupon {
	min-height: 48px;
	padding: 8px 20px;
	border: 1px solid var(--fs-accent) !important;
	border-radius: 12px;
	background: transparent !important;
	color: var(--fs-accent-2) !important;
	font-size: 16px;
	font-weight: 600;
}

.hbook-wrapper.fs-wiz .hb-coupons-area .hb-apply-coupon:hover:not(:disabled) {
	background: rgba(211, 167, 123, .12) !important;
}

.hbook-wrapper.fs-wiz .hb-coupons-area .hb-apply-coupon:disabled {
	opacity: .6;
	cursor: progress;
}

.fs-wiz .hb-coupons-area .hb-coupon-msg,
.fs-wiz .hb-coupons-area .hb-coupon-error {
	margin: 8px 0 0;
	padding: 8px 12px;
	border-left: 3px solid var(--fs-error);
	border-radius: 6px;
	background: rgba(255, 155, 138, .08);
	color: var(--fs-error) !important;
	font-size: 14px;
}

.fs-wiz .hb-coupons-area.is-ok .hb-coupon-msg {
	border-left-color: #8fd19e;
	background: rgba(143, 209, 158, .08);
	color: #9bdba9 !important;
}

.fs-wiz .hb-processing-coupon {
	color: var(--fs-muted);
	font-size: 14px;
}

/* dostepnosc: fokus */
.fs-wiz a:focus-visible,
.fs-wiz .hb-dp-day > a:focus-visible,
.fs-wiz .hb-dp-cmd:focus-visible,
.fs-wiz .selectize-input.focus,
.fs-wiz .fs-ui-only:focus-visible,
.fs-wiz .hb-coupon-code:focus-visible,
.fs-wiz .fs-head__title:focus-visible {
	outline: 2px solid var(--fs-accent-2) !important;
	outline-offset: 2px;
}

.fs-wiz .fs-card:focus-within {
	border-color: var(--fs-accent-2);
}

.fs-wiz .fs-head__title:focus {
	outline: none;
}

.fs-wiz .fs-head__title:focus-visible {
	outline: 2px solid var(--fs-accent-2) !important;
}

/* ---------- uklad: tablet / desktop ---------- */
@media (min-width: 768px) {
	.hbook-wrapper.fs-wiz {
		max-width: 760px;
	}

	.fs-wiz .fs-card {
		grid-template-columns: 112px 1fr 30px;
		padding: 14px;
	}

	.fs-wiz .fs-card__thumb {
		width: 112px;
		height: 96px;
	}

	.fs-wiz .fs-card__qty input {
		width: 96px !important;
	}

	.fs-wiz .fs-stepper__label {
		font-size: 14px;
	}

	.hbook-wrapper.fs-wiz .hb-next-step input[type="submit"],
	.hbook-wrapper.fs-wiz .hb-confirm-button input[type="submit"],
	.hbook-wrapper.fs-wiz .fs-btn--primary {
		max-width: 100%;
	}
}

@media (min-width: 1200px) {
	.hbook-wrapper.fs-wiz {
		max-width: 820px;
	}
}

/* wymuszenie jednego miesiaca na waskim ekranie robi HBook (JS); dodatkowo zabezpieczenie przed przepelnieniem */
.fs-wiz .fs-cal,
.fs-wiz .fs-cal__box,
.fs-wiz .fs-cal .hb-datepick-popup {
	max-width: 100%;
	min-width: 0;
}

.fs-wiz .fs-card__title,
.fs-wiz .fs-card__desc,
.fs-wiz .fs-pay-row,
.fs-wiz .fs-bar__main {
	overflow-wrap: anywhere;
}

@media (max-width: 380px) {
	.fs-wiz .fs-stepper__label {
		font-size: 11px;
	}

	.fs-wiz .fs-cal__box {
		padding: 8px;
	}

	.fs-wiz .fs-cal .hb-dp-week {
		gap: 2px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fs-wiz * {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}

/* strona z kalendarzem (szablon kalendarz.php): animacje AOS (zoom-in-left) tekstow pod kreatorem poszerzaja dokument o ok. 1-7 px na 360 px (istniejacy problem szablonu) */
.front-back1,
.front-p3 {
	overflow-x: hidden;
	overflow-x: clip;
}

@media (max-width: 480px) {
	.fs-wiz .hb-coupons-area .hb-clearfix {
		flex-wrap: wrap;
	}

	.fs-wiz .hb-coupons-area .hb-coupon-code {
		flex: 1 1 100% !important;
	}

	.hbook-wrapper.fs-wiz .hb-coupons-area .hb-apply-coupon {
		flex: 1 1 100%;
	}
}

/* naglowek kroku dostaje fokus programowo (dla czytnikow ekranu) - bez ramki, to nie element interaktywny */
.fs-wiz .fs-head__title:focus,
.fs-wiz .fs-head__title:focus-visible {
	outline: none !important;
}

/* ======================= NIP (rejestr VAT) ======================= */
.fs-wiz .fs-nip-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: -4px 0 12px;
}

.hbook-wrapper.fs-wiz .fs-nip-tools .fs-nip-btn {
	min-height: 44px;
	padding: 8px 16px;
	font-size: 15px;
}

.hbook-wrapper.fs-wiz .fs-nip-tools .fs-nip-btn:disabled {
	opacity: .6;
	cursor: progress;
}

.fs-wiz .fs-nip-spin {
	width: 20px;
	height: 20px;
	border: 2px solid rgba(211, 167, 123, .3);
	border-top-color: var(--fs-accent-2);
	border-radius: 50%;
	animation: fs-spin .8s linear infinite;
}

.fs-wiz .fs-nip-spin[hidden],
.fs-wiz .fs-nip-replace[hidden] {
	display: none;
}

@keyframes fs-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.fs-wiz .fs-nip-spin {
		animation-duration: 3s;
	}
}

.fs-wiz .fs-nip-replace {
	padding: 6px 0;
	border: 0;
	background: transparent;
	color: var(--fs-accent-2);
	font: inherit;
	font-size: 14px;
	text-align: left;
	text-decoration: underline;
	cursor: pointer;
}

.fs-wiz .fs-nip-status {
	flex: 1 1 100%;
	margin: 0;
	padding: 0;
	color: var(--fs-muted);
	font-size: 14px;
	overflow-wrap: anywhere;
}

.fs-wiz .fs-nip-status:empty {
	display: none;
}

.fs-wiz .fs-nip-status[data-type="ok"] {
	color: #9bdba9;
}

.fs-wiz .fs-nip-status[data-type="error"] {
	color: var(--fs-error);
}

@media (max-width: 480px) {
	.hbook-wrapper.fs-wiz .fs-nip-tools .fs-nip-btn {
		flex: 1 1 100%;
	}
}

/* EID 42282: kompaktowy nagłówek i układ według makiety, wyłącznie strona kreatora. */
body.fs-booking-page { background: #050606; }
body.fs-booking-page > header,
body.fs-booking-page .front-back1 > .page-shop1-title:first-child,
body.fs-booking-page #page-calendars1 .single2 .title-top,
body.fs-booking-page .fs-booking-intro { display: none; }
body.fs-booking-page .front-back1 { background: #050606; }
body.fs-booking-page #page-calendars1 { padding-top: 0; }
body.fs-booking-page #page-calendars1 .single2,
body.fs-booking-page #page-calendars1 .single-sz { padding-top: 0; margin-top: 0; }
body.fs-booking-page #page-calendars1 .desc[data-aos] { opacity: 1; transform: none; transition: none; }
body.fs-booking-page .hbook-wrapper.fs-wiz { isolation: isolate; padding: 0 0 32px; }
.fs-wiz .fs-booking-brand { position: relative; display: flex; justify-content: center; align-items: center; min-height: 98px; margin-bottom: 16px; }
.fs-wiz .fs-booking-logo { display: inline-flex; align-items: center; }
.fs-wiz .fs-booking-logo img { display: block; width: 176px; height: auto; }
.fs-wiz .fs-booking-back { position: absolute; left: -8px; top: 27px; display: grid; place-items: center; width: 44px; height: 44px; color: #f3ede6; font-size: 36px; line-height: 1; text-decoration: none; border-radius: 50%; }
.fs-wiz .fs-booking-back:hover { background: rgba(255,255,255,.07); }
.fs-wiz .fs-booking-back:focus-visible { outline: 2px solid #d3a77b; outline-offset: 2px; }
.fs-wiz .fs-stepper { margin-bottom: 40px; }
.fs-wiz[data-fs-step="1"]::before { content: ''; position: absolute; z-index: -1; pointer-events: none; top: 0; left: -24px; right: -24px; height: 430px; background: linear-gradient(180deg,rgba(5,6,6,.6),rgba(5,6,6,.8) 55%,#050606),var(--fs-house-image) center 43% / cover; }
.fs-wiz .hb-previous-step-1,
.fs-wiz .hb-previous-step-2,
.fs-wiz .fs-nav--4 { display: none !important; }
.fs-wiz .hb-options-form { border: 1px solid var(--fs-line); border-radius: 16px; background: #0c0d0d; padding: 4px 14px; margin: 24px 0; }
.fs-wiz .hb-options-form .fs-card { grid-template-columns: 84px minmax(0,1fr) 24px; gap: 12px; margin: 0; padding: 14px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.1); border-radius: 0; background: transparent; }
.fs-wiz .hb-options-form .fs-card:last-of-type { border-bottom: 0; }
.fs-wiz .hb-options-form .fs-card.is-selected { background: transparent; }
.fs-wiz .hb-options-form .fs-card__thumb { width: 84px; height: 84px; border-radius: 10px; grid-row: 1; }
.fs-wiz .hb-options-form .fs-card__body { grid-row: 1; gap: 5px; }
.fs-wiz .hb-options-form .fs-card__title { font-size: 16px; font-weight: 600; }
.fs-wiz .hb-options-form .fs-card__desc { font-size: 13px; line-height: 1.4; }
.fs-wiz .hb-options-form .fs-card__price { font-size: 15px; margin-top: 2px; }
.fs-wiz .hb-options-form .fs-check { width: 23px; height: 23px; border-width: 1px; border-radius: 5px; }
.fs-wiz .hb-options-form .fs-check::after { left: 7px; top: 3px; }
.fs-wiz .fs-card--10 .fs-card__thumb { background-position: center 26%; }
.fs-wiz .fs-card--13 .fs-card__thumb--ph { background: #191713; display: grid; place-items: center; }
.fs-wiz .fs-card--13 .fs-card__thumb--ph::after { content: ''; display: block; width: 44px; height: 44px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%23d3a77b'%3E%3Cellipse cx='14' cy='24' rx='6' ry='8' transform='rotate(-24 14 24)'/%3E%3Cellipse cx='27' cy='16' rx='6' ry='8'/%3E%3Cellipse cx='41' cy='17' rx='6' ry='8'/%3E%3Cellipse cx='51' cy='29' rx='6' ry='8' transform='rotate(24 51 29)'/%3E%3Cpath d='M18 44c0-8 7-17 14-17s15 10 15 18c0 10-10 6-15 6s-14 3-14-7z'/%3E%3C/svg%3E") center / contain no-repeat; }
.fs-wiz .fs-stay { display: grid; grid-template-columns: 160px minmax(0,1fr); align-items: center; gap: 20px; padding: 0 0 20px; margin: 0 0 20px; border: 0; border-bottom: 1px solid var(--fs-line); border-radius: 0; background: transparent; }
.fs-wiz .fs-stay__image { display: block; width: 160px; height: 148px; object-fit: cover; object-position: center; border-radius: 12px; }
.fs-wiz .fs-stay__info { min-width: 0; display: grid; gap: 9px; }
.fs-wiz .fs-stay__name { font-size: 20px; line-height: 1.3; margin-bottom: 3px; }
@media (max-width: 600px) {
 .fs-wiz .fs-booking-brand { min-height: 86px; margin-bottom: 16px; }
 .fs-wiz .fs-booking-logo img { width: 152px; }
 .fs-wiz .fs-booking-back { top: 21px; }
 .fs-wiz .fs-stepper { margin-bottom: 36px; }
 .fs-wiz .hb-options-form { padding: 2px 10px; margin-top: 22px; }
 .fs-wiz .hb-options-form .fs-card { grid-template-columns: 74px minmax(0,1fr) 22px; gap: 10px; padding: 13px 0; }
 .fs-wiz .hb-options-form .fs-card__thumb { width: 74px; height: 78px; }
 .fs-wiz .hb-options-form .fs-card__title { font-size: 14px; }
 .fs-wiz .hb-options-form .fs-card__desc { font-size: 12px; }
 .fs-wiz .hb-options-form .fs-card__price { font-size: 14px; }
 .fs-wiz .fs-stay { grid-template-columns: 108px minmax(0,1fr); gap: 14px; }
 .fs-wiz .fs-stay__image { width: 108px; height: 116px; border-radius: 10px; }
 .fs-wiz .fs-stay__name { font-size: 16px; }
 .fs-wiz .fs-stay__row { padding-left: 24px; font-size: 13px; }
 .fs-wiz .fs-stay__row::before { width: 17px; height: 17px; }
}
body.fs-booking-page .front-back1 { padding-top: 0; }
@media (max-width: 600px) {
 .fs-wiz .fs-cal .hb-dp-month-row .hb-dp-month:not(:first-child) { display: none; }
}

.fs-wiz .fs-card--10 .fs-card__thumb { background-size: 200% auto; background-position: center 12%; }
.fs-wiz .fs-head--4 .fs-head__lead { display: none; }
@media (max-width: 600px) {
 .fs-wiz .fs-head--4 .fs-head__title { font-size: 22px; letter-spacing: -.3px; }
}

/* Termin: kalendarz, cena HBook i jedno przejście Dalej na tym samym widoku. */
.fs-wiz.fs-live-dates[data-fs-step="1"] .hb-search-fields-and-submit { display: block !important; height: auto !important; opacity: 1 !important; overflow: visible !important; }
.fs-wiz.fs-live-dates .hb-searched-summary,
.fs-wiz.fs-live-dates .hb-search-submit-wrapper,
.fs-wiz.fs-live-dates .hb-booking-searching,
.fs-wiz.fs-live-dates .hb-accom-step-wrapper { display: none !important; }
.fs-wiz .fs-date-controls { margin-top: 18px; }
.fs-wiz .fs-date-controls .fs-live-price[hidden] { display: none; }
.fs-wiz .fs-quote-status { color: var(--fs-muted); font-size: 14px; margin: 0 0 12px; }
.fs-wiz .fs-quote-status:empty { display: none; }
.fs-wiz .fs-date-next { width: 100%; }
.fs-wiz .fs-date-next:disabled { opacity: .55; cursor: wait; }
.fs-wiz .hb-summary-options-price.fs-itemized { display: none !important; }
.fs-wiz .fs-service-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 6px 0; font-size: 15px; }
.fs-wiz .fs-service-label { min-width: 0; }
.fs-wiz .fs-service-label small { display: block; margin-top: 3px; color: var(--fs-muted); font-size: 12px; }
.fs-wiz .fs-service-row .fs-row-amount { flex: 0 0 auto; white-space: nowrap; }

/* ======================= eid 43138: zajete terminy na czerwono + komunikaty kalendarza ======================= */
/* czerwien z ustawien HBook (occupied-day-bg #dd4242) w wersji pod ciemny motyw; przekreslenie zostaje jako 2. wskaznik */
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > span.hb-day-fully-taken:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out) {
	background: #3a1618 !important;
	box-shadow: inset 0 0 0 1px #dd4242;
	color: #ffb4b4 !important; /* kontrast ok. 9:1 na #3a1618 */
	text-decoration: line-through;
	text-decoration-thickness: 1.5px;
}

/* dni graniczne: lewa/gorna polowa jak dzien dostepny, dolna czerwona; cyfra czytelna */
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > a.hb-day-taken-start:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out),
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > a.hb-day-taken-end:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out),
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > span.hb-day-taken-start:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out),
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > span.hb-day-taken-end:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out) {
	background: linear-gradient(135deg, #151515 50%, #a8343a 50%) !important;
	color: #ffffff !important; /* bialy na #a8343a ok. 6:1, na #151515 ok. 18:1 */
}

.fs-wiz .fs-legend__sw--taken {
	border: 1px solid #dd4242;
	background: #3a1618;
}

/* komunikat i przycisk czyszczenia wyboru */
.fs-wiz .fs-cal-note {
	margin: 12px 0 0;
	padding: 10px 12px;
	border-left: 3px solid var(--fs-error);
	border-radius: 6px;
	background: rgba(255, 155, 138, .08);
	color: var(--fs-error);
	font-size: 14px;
}

.fs-wiz .fs-cal-note:empty {
	display: none;
}

.hbook-wrapper.fs-wiz .fs-cal-reset {
	display: block;
	margin: 10px auto 0;
	padding: 8px 14px;
	border: 1px solid var(--fs-line);
	border-radius: 10px;
	background: transparent;
	color: var(--fs-accent-2);
	font: inherit;
	font-size: 14px;
	cursor: pointer;
}

.hbook-wrapper.fs-wiz .fs-cal-reset[hidden] {
	display: none;
}

.hbook-wrapper.fs-wiz .fs-cal-reset:hover {
	border-color: var(--fs-accent);
}

/* wybrany termin zawsze miedziany - takze na dniu granicznym (np. wymeldowanie w dniu, w ktorym zaczyna sie inna rezerwacja) */
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > a.hb-dp-day-check-in.hb-dp-day-check-in,
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > a.hb-dp-day-check-out.hb-dp-day-check-out,
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > span.hb-dp-day-check-in.hb-dp-day-check-in,
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > span.hb-dp-day-check-out.hb-dp-day-check-out {
	background: var(--fs-accent-2) !important;
	background-image: none !important;
	color: var(--fs-on-accent) !important;
	font-weight: 700;
	text-decoration: none;
	box-shadow: none;
}


/* ======================= eid 43208: dni graniczne jako dwa trojkaty (jak dawniej w HBook) ======================= */
/* taken-end (wyjazd poprzedniego gosc do 12:00)  = zajety GORNY-LEWY trojkat; taken-start (przyjazd od 16:00) = zajety DOLNY-PRAWY trojkat.
   Przekatna "/" (135deg), druga polowa jak dzien wolny (#151515). Wybrany termin (miedz) bez zmian - regula na koncu pliku. */
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > a.hb-day-taken-end:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out),
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > span.hb-day-taken-end:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out) {
	background: linear-gradient(135deg, #c23a3f 50%, #151515 50%) !important;
	color: #ffffff !important;
}

.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > a.hb-day-taken-start:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out),
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > span.hb-day-taken-start:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out) {
	background: linear-gradient(135deg, #151515 50%, #c23a3f 50%) !important;
	color: #ffffff !important;
}

/* dzien zajety w pelni: czerwony (bez zmian), tu tylko zgodny odcien obramowania */
.hbook-wrapper.fs-wiz .fs-cal .hb-dp-day > span.hb-day-fully-taken:not(.hb-dp-day-check-in):not(.hb-dp-day-check-out) {
	box-shadow: inset 0 0 0 1px #dd4242;
}

/* legenda z ikonami-kafelkami */
.fs-wiz .fs-legend {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 14px;
	justify-content: stretch;
	text-align: left;
}

.fs-wiz .fs-legend li {
	align-items: center;
	font-size: 13px;
	line-height: 1.25;
}

.fs-wiz .fs-legend__sw {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border-radius: 6px;
}

.fs-wiz .fs-legend__sw--free { background: #151515; border: 1px solid #555; }
.fs-wiz .fs-legend__sw--taken { background: #3a1618; border: 1px solid #dd4242; }
.fs-wiz .fs-legend__sw--end { background: linear-gradient(135deg, #c23a3f 50%, #151515 50%); border: 1px solid #555; }
.fs-wiz .fs-legend__sw--start { background: linear-gradient(135deg, #151515 50%, #c23a3f 50%); border: 1px solid #555; }
.fs-wiz .fs-legend__sw--sel { background: var(--fs-accent-2); border: 0; }

@media (min-width: 768px) {
	.fs-wiz .fs-legend {
		grid-template-columns: repeat(3, auto);
		justify-content: center;
	}
}
