/* Loaded after Amelia's CSS: a stable modal shell around the native booking form. */
html.pj-booking-is-open { overflow: hidden; }

html.pj-booking-is-open body::before {
	position: fixed;
	z-index: 999;
	inset: 0;
	background: rgb(42 33 64 / 48%);
	content: "";
	backdrop-filter: blur(2px);
}

body.pj-booking-page .pj-booking-dialog {
	position: fixed;
	z-index: 1000;
	inset: 0;
	width: min(1050px, calc(100vw - 40px));
	height: min(760px, calc(100dvh - 40px));
	max-width: none;
	max-height: none;
	margin: auto;
	padding: 0;
	overflow: hidden;
	border: 1px solid #ddd1c3;
	border-radius: 16px;
	background: #fdfaf7;
	color: #2a2140;
	box-shadow: 0 24px 64px rgb(38 16 58 / 28%);
}

body.pj-booking-page .pj-booking-dialog::backdrop {
	background: rgb(42 33 64 / 48%);
	backdrop-filter: blur(2px);
}

body.pj-booking-page .pj-booking-dialog__surface,
body.pj-booking-page .pj-booking-dialog__content {
	width: 100%;
	height: 100%;
}

body.pj-booking-page .pj-booking-dialog__surface { position: relative; }

body.pj-booking-page .pj-booking-dialog__content {
	position: relative;
	overflow: auto;
	overscroll-behavior: contain;
}

body.pj-booking-page .pj-booking-dialog__content.pj-amelia-is-loading::before {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 20;
	width: 44px;
	height: 44px;
	border: 4px solid #e8ddcf;
	border-top-color: #4f2270;
	border-radius: 50%;
	content: "";
	animation: pj-booking-spin 700ms linear infinite;
}

body.pj-booking-page .pj-booking-dialog__content.pj-amelia-has-error::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(420px, calc(100% - 48px));
	transform: translate(-50%, -50%);
	color: #7f1d1d;
	content: "Nie udało się załadować formularza. Odśwież stronę i spróbuj ponownie.";
	font-weight: 600;
	text-align: center;
}

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

body.pj-booking-page .pj-booking-dialog__close {
	position: absolute;
	top: 22px;
	right: 22px;
	z-index: 40;
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #2a2140;
	cursor: pointer;
	font-family: "Hanken Grotesk", sans-serif;
	font-size: 34px;
	font-weight: 300;
	line-height: 1;
}

body.pj-booking-page .pj-booking-dialog__close:hover,
body.pj-booking-page .pj-booking-dialog__close:focus-visible { background: rgb(79 34 112 / 9%); }

body.pj-booking-page .pj-booking-dialog .amelia-v2-booking {
	display: flex !important;
	width: 100%;
	height: 100%;
	min-height: 0;
	flex-direction: column;
}

body.pj-booking-page .pj-booking-dialog #amelia-container.am-fs__wrapper {
	--am-c-primary: #4f2270 !important;
	--am-c-main-bgr: #fdfaf7 !important;
	--am-c-main-heading-text: #2a2140 !important;
	--am-c-main-text: #564e47 !important;
	--am-c-sb-bgr: #26103a !important;
	--am-c-sb-text: #fff !important;
	--am-c-inp-bgr: #fff !important;
	--am-c-inp-border: #ddd1c3 !important;
	--am-c-inp-text: #2a2140 !important;
	--am-c-inp-placeholder: #9a8d80 !important;
	--am-c-drop-bgr: #fff !important;
	--am-c-drop-text: #2a2140 !important;
	--am-c-btn-prim: #4f2270 !important;
	--am-c-btn-prim-text: #fff !important;
	--am-font-family: "Hanken Grotesk", sans-serif !important;
	--am-mw-main: 1050px !important;
	--am-brad-main: 0 !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	flex: 1 1 auto !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fdfaf7 !important;
}

body.pj-booking-page .pj-booking-dialog .am-lite-footer {
	flex: 0 0 auto;
	margin: 0 !important;
}

body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs-sb {
	box-sizing: border-box !important;
	flex: 0 0 328px !important;
	width: 328px !important;
	max-width: 328px !important;
	padding: 40px 24px 32px !important;
}

body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs-sb__step-wrapper { gap: 12px !important; }
body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs-sb__step-inner { min-height: 56px !important; border-radius: 12px !important; padding-inline: 16px !important; }
body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs-sb__step-heading { font-family: "Hanken Grotesk", sans-serif !important; font-size: 16px !important; font-weight: 600 !important; }
body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs-sb__support { display: none !important; }
body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs-sb__footer { padding: 0 24px 32px !important; }

body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs__main {
	min-width: 0 !important;
	max-width: none !important;
	background: #fdfaf7 !important;
}

body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs__main-heading {
	min-height: 108px !important;
	padding: 32px 72px 24px 40px !important;
	border-bottom-color: #eadfd3 !important;
}

body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs__main-heading-inner-title {
	color: #2a2140 !important;
	font-family: "Bricolage Grotesque", "Hanken Grotesk", sans-serif !important;
	font-size: 30px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs__main-content { padding: 40px 48px 32px !important; }

body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs__main-footer {
	min-height: 108px !important;
	padding: 24px 48px !important;
	border-top-color: #eadfd3 !important;
	background: #fdfaf7 !important;
}

body.pj-booking-page .pj-booking-dialog #amelia-container .el-select__wrapper,
body.pj-booking-page .pj-booking-dialog #amelia-container .el-input__wrapper {
	min-height: 62px !important;
	border-radius: 8px !important;
	box-shadow: 0 0 0 1px #ddd1c3 inset !important;
}

body.pj-booking-page .pj-booking-dialog #amelia-container .am-button--primary {
	--am-c-btn-first: #4f2270 !important;
	--am-c-btn-second: #fff !important;
	min-height: 56px !important;
	border-radius: 8px !important;
	font-family: "Hanken Grotesk", sans-serif !important;
	font-weight: 650 !important;
}

@media (max-width: 767.98px) {
	body.pj-booking-page .pj-booking-dialog {
		width: 100vw;
		height: 100dvh;
		border: 0;
		border-radius: 0;
	}

	body.pj-booking-page .pj-booking-dialog__close { top: 12px; right: 10px; }

	body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs-sb {
		flex: 0 0 72px !important;
		width: 72px !important;
		max-width: 72px !important;
		padding: 24px 8px !important;
	}

	body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs-sb__step-heading,
	body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs-sb__footer { display: none !important; }

	body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs__main-heading { min-height: 84px !important; padding: 24px 58px 18px 20px !important; }
	body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs__main-heading-inner-title { font-size: 24px !important; }
	body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs__main-content { padding: 24px 20px !important; }
	body.pj-booking-page .pj-booking-dialog #amelia-container .am-fs__main-footer { min-height: 88px !important; padding: 18px 20px !important; }
}
