.ts-appointment {
	box-sizing: border-box;
	width: min(520px, calc(100% - 32px));
	max-height: calc(100dvh - 32px);
	margin: auto;
	padding: 36px;
	overflow: auto;
	border: 0;
	border-radius: 24px;
	background: #e4f6fc;
	color: #202a30;
	font-family: var(--ts-font, sans-serif);
}
.ts-appointment::backdrop { background: rgba(0, 0, 0, .55); }
.ts-appointment h2 { margin: 0 0 12px; padding-inline-end: 36px; font-size: 28px; line-height: 1.2; }
.ts-appointment p { margin: 0 0 24px; font-size: 16px; line-height: 1.5; }
.ts-appointment__close {
	position: absolute;
	top: 12px;
	inset-inline-end: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #202a30;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
}
.ts-appointment__close:hover { background: #cbeaf5; color: #202a30; }
.ts-appointment__form .jet-form-builder { margin: 0; }
.ts-appointment__form .wp-block-group.is-layout-grid {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px;
	margin: 0 !important;
	padding: 0 !important;
}
.ts-appointment__form .jet-form-builder-row { margin: 0; padding: 0; width: 100%; }
.ts-appointment__form .jet-form-builder__field.text-field,
.ts-appointment__form .jet-form-builder__field.select-field {
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 12px 18px;
	border: 1px solid #b6dce9;
	border-radius: 26px;
	background: #fff;
	color: #202a30;
	font: inherit;
	font-size: 16px;
}
.ts-appointment__form .jet-form-builder__field-label.for-checkbox { color: #202a30; font-size: 14px; line-height: 1.4; }
.ts-appointment__form .jet-form-builder__field-label.for-checkbox a { color: #126b8d; text-decoration: underline; }
.ts-appointment__form .jet-form-builder__action-button {
	display: flex !important;
	align-items: center;
	justify-content: center !important;
	width: 100%;
	min-height: 54px;
	padding: 12px 20px;
	border: 0;
	border-radius: 28px;
	background: #199dcc;
	color: #fff;
	font: inherit;
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
}
.ts-appointment__form .jet-form-builder__action-button:hover { background: #147fa6; }
.ts-appointment :focus-visible { outline: 2px solid #126b8d; outline-offset: 3px; }
@media (max-width: 480px) {
	.ts-appointment { padding: 30px 20px 24px; }
	.ts-appointment h2 { font-size: 24px; }
}
