.public-form-mount { min-width: 0; }
.public-request-form { display: grid; gap: 1.5rem; }
.public-request-form .public-field { min-width: 0; margin: 0 0 1.5rem; }
.public-request-form fieldset { border: 0; padding: 0; }
.public-request-form legend { font-weight: 700; margin-bottom: .75rem; }
.public-request-form .public-choices { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .65rem; }
.public-request-form .choice-tile { min-width: 0; overflow-wrap: anywhere; }
.public-request-form .form-control { width: 100%; max-width: 100%; }
.public-form-status { padding: 1rem; border-left: 3px solid var(--blue, #0877c7); background: #f0f6fa; color: #163342; overflow-wrap: anywhere; }
.public-form-status:focus { outline: 2px solid #0877c7; outline-offset: 3px; }
.public-form-consent { display: grid; gap: .6rem; margin-top: 1.5rem; }
.public-form-consent label { display: flex; gap: .75rem; align-items: flex-start; }
.public-form-consent input { flex: none; margin-top: .25rem; }
.public-form-review dt { font-weight: 700; margin-top: .9rem; }
.public-form-review dd { margin: .2rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.public-quote-calculation { margin-top: 1.5rem; padding: 1.25rem; border: 1px solid #c8d8e2; border-radius: .5rem; }
.public-request-form button:disabled { opacity: .55; cursor: not-allowed; }
.public-request-form [hidden], .public-form-mount[hidden] { display: none !important; }
@media (max-width: 600px) { .public-request-form .public-choices { grid-template-columns: 1fr; } .public-request-form .quote-form-actions { flex-wrap: wrap; } }

/* Reserve the first quote step while its current server definition loads. */
.public-form-mount[data-public-form="quote"]:has(>p[role="status"]){min-height:1560px}
@media(max-width:600px){.public-form-mount[data-public-form="quote"]:has(>p[role="status"]){min-height:2250px}}
@media(max-width:380px){.public-form-mount[data-public-form="quote"]:has(>p[role="status"]){min-height:2390px}}
