/* ================================================================
   ELS Fleet Services — Contact Form 7 markup overlay
   Maps CF7's .wpcf7-* wrappers onto the theme's form vocabulary
   (.form-grid, .field, .check-row, .subscription-consents, .form-feedback).
   Loaded only when CF7 is active, AFTER base.css.
   ================================================================ */

/* Inputs inherit `.field input` (element selectors); make CF7's wrapper block. */
.wpcf7-form .field .wpcf7-form-control-wrap { display: block; width: 100%; }
.wpcf7-form .field input.wpcf7-form-control { width: 100%; }

/* Topics checkbox group → keep the theme's fieldset layout. */
.subscription-topics .wpcf7-checkbox { display: grid; gap: 8px; }
.subscription-topics .wpcf7-list-item { display: block; margin: 0; }
.subscription-topics .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 8px; }

/* Consent rows: each CF7 [acceptance] sits in a .check-row (22px + text grid). */
.check-row .wpcf7-form-control-wrap,
.check-row .wpcf7-acceptance,
.check-row .wpcf7-acceptance .wpcf7-list-item { display: block; margin: 0; width: 100%; }
.check-row .wpcf7-list-item label { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; margin: 0; font-weight: 400; line-height: 1.45; cursor: pointer; }
.check-row .wpcf7-list-item input[type="checkbox"] { width: 19px; height: 19px; margin: 2px 0 0; }
.check-row .wpcf7-list-item-label strong { display: block; font-size: 20px; color: #111411; margin-bottom: 4px; }
.check-row .wpcf7-list-item-label a { text-decoration: underline; }

/* Validation tips → theme's .error red note. */
.wpcf7-form .wpcf7-not-valid-tip { display: block; margin-top: 4px; color: #a52e24; font-size: 13px; }

/* CF7 response banner → align with the theme's .form-feedback. */
.wpcf7-form .wpcf7-response-output { min-height: 24px; margin: 16px 0 0; padding: 12px 16px; border-radius: 8px; border: 1px solid rgba(0,0,0,.18); font-size: 14px; }
.wpcf7-form.sent .wpcf7-response-output { border-color: #245f3a; color: #245f3a; }
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output { border-color: #a52e24; color: #a52e24; }

.wpcf7-form .wpcf7-spinner { margin: 0 0 0 10px; }
.wpcf7-form.submitting .button { opacity: .6; pointer-events: none; }
