/* WordPress and WPForms integration for Specroofs Premium. */
.quote-form .wpforms-container { margin: 0; }
.quote-form .wpforms-form { display: grid; gap: 1rem; }
.quote-form .wpforms-field-container { display: grid; gap: 1rem; }
.quote-form .wpforms-field { padding: 0; }
.quote-form .wpforms-field-label { display: block; margin-bottom: .42rem; color: #334252; font-size: .69rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.quote-form .wpforms-field input,
.quote-form .wpforms-field textarea,
.quote-form .wpforms-field select { width: 100%; border: 1px solid #ccd8e4; border-radius: 0; background: #fbfdff; color: var(--ink); font: inherit; padding: .85rem .9rem; }
.quote-form .wpforms-field input:focus,
.quote-form .wpforms-field textarea:focus,
.quote-form .wpforms-field select:focus { border-color: var(--brand-blue); outline: 0; box-shadow: 0 0 0 3px rgba(7, 82, 173, .12); }
.quote-form .wpforms-field textarea { min-height: 7.7rem; }
.quote-form .wpforms-submit-container { padding-top: .25rem; }
.quote-form button.wpforms-submit { width: 100%; border: 0; border-radius: 0; background: var(--brand-blue); color: var(--white); cursor: pointer; font: inherit; font-size: .75rem; font-weight: 800; letter-spacing: .08em; padding: 1rem 1.2rem; text-transform: uppercase; transition: background .2s var(--ease), transform .2s var(--ease); }
.quote-form button.wpforms-submit:hover,
.quote-form button.wpforms-submit:focus { background: #063f86; transform: translateY(-1px); }
.quote-form .wpforms-confirmation-container-full,
.quote-form .wpforms-confirmation-container { margin: 0; border: 0; background: #eaf4ff; color: var(--ink); padding: 1rem; }
.quote-form .wpforms-error { color: #b42318; font-size: .8rem; }
.quote-form .wpforms-has-error input,
.quote-form .wpforms-has-error textarea { border-color: #b42318; }
.quote-form .wpforms-submit-spinner { margin-left: .7rem; vertical-align: middle; }
.specroofs-form-notice { margin: 0; border-left: 3px solid var(--brand-blue); background: #eef5fd; color: var(--ink); line-height: 1.6; padding: 1rem; }
.contact__detail { grid-template-columns: 1fr; gap: .2rem; padding: .2rem 0; }
.contact__detail-label { margin: 0; }
.contact__detail-value { overflow-wrap: anywhere; }
@media (min-width: 700px) {
  .quote-form .wpforms-field-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quote-form .wpforms-field-textarea { grid-column: 1 / -1; }
}
