.xts-tour-request {
	box-sizing: border-box;
	width: min(584px, calc(100% - 32px));
	max-height: calc(100dvh - 48px - var(--wp-admin--admin-bar--height, 0px));
	margin: auto;
	padding: 20px;
	border: 0;
	background: var(--wp--preset--color--base, #fff);
	color: #4b4b4b;
	font-family: inherit;
	font-size: 14px;
	line-height: 1.4;
	overflow-y: auto;
}
.xts-tour-request::backdrop { background: rgb(0 0 0 / 70%); }
.xts-tour-request-open { overflow: hidden; }
.xts-tour-request h2 { margin: 0 32px 10px; text-align: center; font-size: 24px; font-weight: 400; line-height: 1.3; }
.xts-tour-request-intro { margin: 0 0 12px; }
.xts-tour-request-close { position: absolute; inset-block-start: 0; inset-inline-end: 0; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #111; font-size: 28px; cursor: pointer; }
/* Native autofocus may match :focus-visible even after a touch or mouse click. */
.xts-tour-request.xts-tour-request-pointer-open .xts-tour-request-close:focus { box-shadow: none; }
.xts-tour-request-fields { display: grid; gap: 14px; }
.xts-tour-request-fields p { margin: 0; }
.xts-tour-request-fields label, .xts-tour-request-fields .wpcf7-form-control-wrap { display: block; }
/* Keep editable text at least 16px to prevent iOS zoom when a field receives focus. */
.xts-tour-request-fields input:not([type="checkbox"]):not([type="submit"]),
.xts-tour-request-fields textarea { box-sizing: border-box; width: 100%; min-height: 44px; padding: 11px; border: 1px solid #c7ced8; border-radius: 0; background: #fff; color: #333; font: inherit; font-size: max(16px, 1rem); }
.xts-tour-request-fields textarea { resize: vertical; }
.xts-tour-request-fields input::placeholder, .xts-tour-request-fields textarea::placeholder { color: #66717e; opacity: 1; }
.xts-tour-request-fields .xts-tour-request-floating-field { position: relative; }
.xts-tour-request-floating-caption {
	position: absolute;
	inset-block-start: 12px;
	inset-inline: 12px;
	color: #66717e;
	font-size: 14px;
	line-height: 1.2;
	pointer-events: none;
	transition: inset-block-start 150ms ease, font-size 150ms ease;
}
.xts-tour-request-floating-field input::placeholder,
.xts-tour-request-floating-field textarea::placeholder { opacity: 0; }
.xts-tour-request-fields .xts-tour-request-floating-field input,
.xts-tour-request-fields .xts-tour-request-floating-field textarea { padding-block: 19px 5px; }
.xts-tour-request-floating-field:focus-within .xts-tour-request-floating-caption,
.xts-tour-request-floating-field:has(input:not(:placeholder-shown), textarea:not(:placeholder-shown)) .xts-tour-request-floating-caption {
	inset-block-start: 4px;
	font-size: 10px;
}
.xts-tour-request-consent .wpcf7-list-item { margin: 0; }
.xts-tour-request-consent label { display: flex; align-items: flex-start; gap: 8px; min-height: 32px; cursor: pointer; }
.xts-tour-request-consent input { flex-shrink: 0; width: 16px; height: 16px; margin: 2px 0 0; }
.xts-tour-request .wpcf7-submit { display: block; width: 100%; min-height: 44px; padding: 1rem 2.25rem; border: 0; border-radius: 0; background: var(--wp--preset--color--accent-1, #f26326); color: var(--wp--preset--color--base, #fff); font: inherit; font-size: var(--wp--preset--font-size--medium, 1rem); font-weight: 700; cursor: pointer; transition: background-color 150ms ease; }
.xts-tour-request .wpcf7-submit:hover { background: var(--wp--preset--color--accent-2, #dd5411); color: var(--wp--preset--color--base, #fff); }
/* Fields use an interior focus cue instead of the theme's outer focus shadow. */
.xts-tour-request-fields input[placeholder]:focus,
.xts-tour-request-fields textarea[placeholder]:focus {
	box-shadow: none;
	background-color: #fffdf5;
}
.xts-tour-request-fields input[placeholder]:not(:placeholder-shown),
.xts-tour-request-fields textarea[placeholder]:not(:placeholder-shown) {
	border-color: #278044;
}
/* CF7 errors take priority over filled fields; browser validation handles malformed email. */
.xts-tour-request-fields input[placeholder]:is(.wpcf7-not-valid, [aria-invalid="true"], :user-invalid),
.xts-tour-request-fields textarea[placeholder]:is(.wpcf7-not-valid, [aria-invalid="true"], :user-invalid) {
	border-color: #c62828;
}
.xts-tour-request-privacy { margin: 8px 0 0; color: #606a78; font-size: 12px; }
.xts-tour-request-privacy a { color: #005ea8; text-decoration: underline; }
.xts-tour-request-consent .xts-privacy-policy-link { color: #005ea8; text-decoration: underline; }
.xts-tour-request-consent .xts-privacy-policy-link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.xts-tour-request .wpcf7-response-output { margin: 12px 0 0; }
.xts-tour-request .wpcf7-spinner { display: block; margin: 8px auto 0; }
/* A zero-height spinner still has a rotating pseudo-element that can cause overflow. */
.xts-tour-request form:not(.submitting) .wpcf7-spinner { display: none; }
.xts-tour-request .submitting .wpcf7-spinner { height: 24px; margin-block: 8px; }
@media (min-width: 600px) {
	.xts-tour-request .wpcf7-submit { width: 76%; margin-inline: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.xts-tour-request-floating-caption, .xts-tour-request .wpcf7-submit { transition: none; }
}
