/* =====================================================================
   Get A Quote page (page-get-a-quote.php). Loaded only on that page.
   ===================================================================== */
.sp-quote { background: #000; }
.sp-quote .sp-h2 { margin-bottom: 1.9rem; }   /* ~30px, matches live */

/* Content links on this page are red + underlined (matches the live site). */
.sp-quote a:not(.btn) { color: var(--primary-color); font-weight: 700;
	text-decoration: underline; text-underline-offset: 3px; background-image: none; }
.sp-quote a:not(.btn):hover { color: #fff; }

/* ---- Form (Squarespace-style: white underline inputs on black) ---- */
.sp-quote-form { max-width: 620px; }
.sp-field { margin-bottom: 1.0rem; }
.sp-field__label { display: block; font-weight: 700; color: #fff; font-size: 1.0625rem; margin-bottom: .2rem; font-family: var(--font-body); }
.sp-field__sub { display: block; color: #fff; font-size: .95rem; margin: .2rem 0; }
.sp-field__req { color: rgba(255,255,255,.5); font-weight: 400; font-size: .9em; }
.sp-field__hint { color: rgba(255,255,255,.5); font-size: .9rem; margin: 0 0 .5rem; }

.sp-input {
	width: 100%; background: transparent; border: 0;
	border-bottom: 1px solid rgba(255,255,255,.35); color: #fff;
	padding: .15rem 0; font-family: var(--font-body); font-size: 1rem; border-radius: 0;
}
.sp-input::placeholder { color: rgba(255,255,255,.4); }
.sp-input:focus { outline: none; border-bottom-color: var(--primary-color); box-shadow: none; }
.sp-textarea { resize: vertical; min-height: 110px; }

.sp-choice { display: flex; gap: 1.25rem; margin-top: .5rem; }
.sp-choice__opt { display: inline-flex; align-items: center; gap: .5rem; color: #fff; cursor: pointer; font-size: 1rem; }
/* Square box matching the live site (not a native radio dot). */
.sp-choice__opt input {
	appearance: none; -webkit-appearance: none; margin: 0;
	width: 18px; height: 18px; border: 1px solid rgba(255,255,255,.55);
	background: transparent; border-radius: 0; cursor: pointer; position: relative; flex: none;
}
.sp-choice__opt input:checked { background: var(--primary-color); border-color: var(--primary-color); }
.sp-choice__opt input:checked::after {
	content: ""; position: absolute; left: 5px; top: 1px; width: 5px; height: 10px;
	border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.sp-choice__opt input:focus-visible { outline: 2px solid rgba(255,255,255,.6); outline-offset: 2px; }

.sp-quote-form__submit { width: 100%; margin-top: 0; }

/* Honeypot — kept out of the layout and off-screen. */
.sp-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.sp-form-status { margin-top: 1rem; font-weight: 600; }
.sp-form-status[data-state="error"]   { color: #ffb4b4; }
.sp-form-status[data-state="success"] { color: #b7f5c0; }

/* Invalid fields flagged by forms.js */
.sp-quote-form [aria-invalid="true"] { border-bottom-color: #ff6b6b; }
