/* CF7 component: scoped to the FGLaw contact form. */
.fg-contact-form { width: 100%; max-width: 100%; }
.fg-contact-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); }
.fg-contact-form__field { min-width: 0; margin-bottom: 1.5rem; }
.fg-contact-form__field > label, .fg-contact-form__consent legend { display: block; margin-bottom: .4rem; font-size: .95rem; font-weight: 600; color: var(--fg-color-wine, #512526); }
.fg-contact-form__help { margin: 0 0 .7rem; font-size: .875rem; line-height: 1.6; color: #5D5550; }
.fg-contact-form__optional { font-size: .82rem; font-weight: 400; }
.fg-contact-form :is(input:not([type="checkbox"]), select, textarea) { box-sizing: border-box; display: block; width: 100%; min-height: 48px; padding: .75rem 1rem; background: transparent; border: 1px solid rgba(81,37,38,.4); border-radius: 0; color: var(--fg-color-ink, #2A2422); font: inherit; }
.fg-contact-form textarea { min-height: 10rem; resize: vertical; }
.fg-contact-form :is(input, select, textarea, a):focus-visible { outline: 3px solid var(--fg-color-wine, #512526); outline-offset: 3px; }
.fg-contact-form__consent { border: 0; border-block: 1px solid rgba(81,37,38,.25); margin: 1.5rem 0; padding: 1.5rem 0; }
.fg-contact-form__consent .wpcf7-list-item { margin: 0; }
.fg-contact-form__consent input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--fg-color-wine, #512526); }
.fg-contact-form__notice { font-size: .875rem; line-height: 1.65; }
.fg-contact-form input[type="submit"] { cursor: pointer; border: 1px solid var(--fg-color-wine, #512526); background: var(--fg-color-wine, #512526); color: var(--fg-color-paper, #EDE8DF); width: auto; min-height: 48px; padding: .85rem 1.5rem; }
.fg-contact-form .wpcf7-not-valid { border-color: #981F25; }
.fg-contact-form .wpcf7-not-valid-tip { color: #83181E; font-size: .875rem; }
.fg-contact-form .wpcf7-response-output { padding: 1rem; }
@media(max-width: 650px) { .fg-contact-form__row { grid-template-columns: minmax(0, 1fr); gap: 0; } .fg-contact-form :is(input, select, textarea) { font-size: 16px; } .fg-contact-form input[type="submit"] { width: 100%; } }
