/* =========================================================
   WordPress: páginas internas y Contact Form 7
   ========================================================= */
.page-basic { padding: 80px 0 80px; }
.page-basic h1 { font-family: var(--font-display); font-weight: 400; color: var(--brand-deep); margin-bottom: 24px; }
.page-basic .container > article > * + * { margin-top: 1em; }

.form-wrap .wpcf7 { width: 100%; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7 form.form br { display: none; }
.wpcf7 .field:focus-within label,
.wpcf7 .field:has(input:not(:placeholder-shown)) label,
.wpcf7 .field:has(textarea:not(:placeholder-shown)) label,
.wpcf7 .field:has(select:valid) label {
  transform: translateY(-10px) scale(0.76);
  color: var(--brand);
}
.wpcf7 .field label { z-index: 1; }
.wpcf7-not-valid-tip { display: block; margin: 6px 0 0 4px; font-size: 0.8rem; color: var(--error); }
.wpcf7 .wpcf7-not-valid { border-color: var(--error); }
.wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.wpcf7-acceptance label { display: flex; align-items: flex-start; gap: 12px; font-size: 0.86rem; color: var(--muted); cursor: pointer; }
.wpcf7-acceptance input { margin-top: 3px; accent-color: var(--brand); }
.wpcf7 input[type="submit"].btn { border: 0; cursor: pointer; width: 100%; }
.wpcf7-spinner { position: absolute; right: 16px; bottom: 16px; margin: 0; }
.wpcf7 form .wpcf7-response-output { margin: 0; padding: 12px 16px; border-radius: 14px; font-size: 0.86rem; }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--lime); }
