/* Quote form layout (Main quote view). Field, choice, upload and alert styles live in components.css. Token-bound.
   Without JS every step shows in sequence; quote-form.js adds .is-stepped. */
.casa-quote-form { display: grid; gap: var(--size-32); }
.casa-quote-step { display: grid; gap: 0; min-width: 0; }
.casa-quote-step + .casa-quote-step { padding-top: var(--size-48); border-top: var(--size-1) solid var(--color-tint); }
.casa-quote-form.is-stepped { gap: 0; }
.casa-quote-form.is-stepped .casa-quote-step + .casa-quote-step { padding-top: 0; border-top: 0; }
.casa-quote-form.is-stepped .casa-quote-step:not(.is-current) { display: none; }
.casa-form-h { margin: 0 0 var(--size-28); font: var(--font-weight-regular) var(--size-35)/var(--size-42) var(--font-display); color: var(--color-text); }
.casa-form-h:focus { outline: none; }
.casa-form-h:focus-visible { outline: var(--focus-width) solid var(--color-focus); outline-offset: var(--focus-offset); }
.casa-form-intro { margin: 0; }
.casa-errsum { margin: 0; }
.casa-quote-form.is-stepped .casa-errsum { margin: 0 0 var(--size-32); }
.casa-privacy { margin: 0; padding: var(--size-16) var(--size-20); border-radius: var(--radius-8); background: var(--color-info-soft); font-size: var(--size-14); line-height: var(--size-22); color: var(--color-text); }
.casa-privacy a { color: var(--color-info); font-weight: var(--font-weight-semibold); }
.casa-form-reassure { margin: 0; font-size: var(--size-17); line-height: var(--size-27); font-weight: var(--font-weight-medium); color: var(--color-primary); }
.casa-form-reassure .casa-icon { display: none; }
.casa-form-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--size-16); margin-top: var(--size-40); }
.casa-form-nav-r { display: flex; flex-wrap: wrap; align-items: center; gap: var(--size-12); margin-left: auto; }
.casa-quote-form:not(.is-stepped) .casa-quote-step:not(:last-child) .casa-form-nav { display: none; }
.casa-hp { position: absolute !important; left: calc(-1 * var(--size-9999)); width: 1px; height: 1px; overflow: hidden; } /* allow-raw: honeypot off-screen */
@media (max-width: 767px) {
	.casa-form-h { font-size: var(--size-28); line-height: var(--size-35); }
	.casa-form-nav-r { width: 100%; margin-left: 0; }
	.casa-form-nav .casa-btn { width: 100%; }
}
