/* =====================================================================
   Contact Us page (page-contact-us.php). Light section; loaded only there.
   ===================================================================== */
.sp-contact { background: #fff; color: var(--heading-color); padding-block: clamp(2rem, 4vw, 3rem); }
.sp-contact .sp-h3, .sp-contact p, .sp-contact li { color: var(--heading-color); }

/* Content links (quote options) — dark, bold, underlined. */
.sp-contact a:not(.btn) { color: var(--heading-color); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.sp-contact a:not(.btn):hover { color: var(--primary-color); }

/* Contact details */
.sp-contact__details { list-style: none; padding: 0; margin: 1.3rem 0 1.5rem; display: flex; flex-direction: column; gap: .9rem; }
.sp-contact__details li { display: flex; align-items: center; gap: .65rem; font-size: 1.0625rem; }
.sp-contact__details .icon { color: var(--primary-color); flex: none; }
.sp-contact__details a { font-weight: 700; }

/* Map */
.sp-contact__map { margin-top: .5rem; }
.sp-contact__map iframe { width: 100%; height: 430px; border: 0; display: block; }

/* Form (light: dark underline inputs on white) */
.sp-contact__options { line-height: 1.9; }
.sp-contact .sp-field { margin-bottom: 1.1rem; }
.sp-contact .sp-field__label { display: block; font-weight: 700; color: var(--heading-color); font-size: 1.0625rem; margin-bottom: .2rem; }
.sp-contact .sp-field__sub { display: block; color: var(--heading-color); font-size: .95rem; margin: .2rem 0; }
.sp-contact .sp-field__req { color: #9a9a9a; font-weight: 400; font-size: .9em; }
.sp-contact .sp-field__hint { color: #9a9a9a; font-size: .9rem; margin: 0 0 .4rem; }
.sp-contact .sp-input {
	width: 100%; background: transparent; border: 0; border-bottom: 1px solid rgba(0,0,0,.25);
	color: var(--heading-color); padding: .15rem 0; font-family: var(--font-body); font-size: 1rem; border-radius: 0;
}
.sp-contact .sp-input:focus { outline: none; border-bottom-color: var(--primary-color); box-shadow: none; }
.sp-contact .sp-textarea { resize: vertical; min-height: 120px; }
.sp-contact .sp-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sp-contact__submit { width: 100%; margin-top: .5rem; padding: 1.6rem 3.2rem; font-size: .95rem; }
.sp-contact .sp-form-status { margin-top: 1rem; font-weight: 600; }
.sp-contact .sp-form-status[data-state="error"]   { color: #b91c1c; }
.sp-contact .sp-form-status[data-state="success"] { color: #157a3a; }
.sp-contact-form [aria-invalid="true"] { border-bottom-color: #d33; }

@media (max-width: 991.98px) { .sp-contact__map iframe { height: 320px; } }
