/* Booking-form styling the theme does not already carry.

   The theme's layout.css grounds `.modal .field input` for the modal's white surface
   but never had a checkbox or a honeypot to ground, because until this release the
   modal only asked for a name and a phone. Those rules live here rather than in the
   theme because the plugin is what added the fields — a theme switch must not leave
   the booking form unstyled, for the same reason a theme switch must not delete a
   paid reservation.

   The vehicle-class select is gone from the modal: it was derived from the passenger
   count rather than answered, and the derivation moved to Public_REST::class_for().
   Its two rules went with it — a selector matching nothing is a reader's dead end.

   Everything below reads the theme's own tokens with a literal fallback, so the form
   is still legible under a theme that never defined them. */

/* The consent row is a checkbox beside its label, not a stacked label-over-control
   like every other .field, so it opts out of the column direction. */
.field--check {
	flex-direction: row;
	align-items: flex-start;
	gap: var( --ss-space-2, .5rem );
}

.field--check input[type="checkbox"] {
	inline-size: 18px;
	block-size: 18px;
	min-block-size: 0;
	margin-block-start: 2px;
	flex: 0 0 auto;
	accent-color: var( --ss-color-gold-500, #eac17e );
}

.field--check span {
	font-size: var( --ss-font-body-sm-size, .9375rem );
	line-height: 1.45;
}

/* The promise that makes this flow work (§8.2): no payment now, we check and come
   back, and only an approval leads to a deposit link. It sits directly above the
   submit button because that is the moment the hesitation happens.

   It used to draw its own tinted, bordered box. Now that the theme pins it inside a
   bordered sticky footer, that box was a frame inside a frame and cost ~40px of the
   height the footer has to earn back. Plain text on the footer's own ground; the
   bolded first clause carries the emphasis on its own. A theme with no footer bar
   still renders it as legible small print. */
.modal__promise {
	margin: 0;
	font-size: var( --ss-font-body-sm-size, .9375rem );
	line-height: 1.45;
	color: var( --ss-color-ink-800, #1a1613 );
}

.modal__promise strong {
	font-weight: 700;
}

/* The reference in the success state. LTR inside Hebrew running text, and monospaced
   enough to be read out over the phone without a digit being mistaken. */
.ss-ref {
	font-weight: 700;
	letter-spacing: .04em;
	white-space: nowrap;
}

/* The honeypot. Off-canvas rather than display:none, because the better form-fillers
   skip anything with display:none and this field only earns its keep if a bot fills
   it. aria-hidden and tabindex="-1" in the markup keep it away from a screen reader
   and away from the tab order, which is what makes it invisible to a human. */
.ss-hp {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip-path: inset( 50% );
	white-space: nowrap;
	margin: -1px;
	padding: 0;
	border: 0;
}
