/*
 * Forms: Contact Form 7, comments, search fields inside content. Loaded on pages and posts.
 */
.feu-page { max-width: 780px; margin-inline: auto; }
.feu-page__title { margin: 0 0 1.5rem; font-size: clamp(2.2rem, 1.5rem + 2.6vw, 3.4rem); font-weight: 600; line-height: 1.05; }

.wpcf7 { max-width: 640px; margin: 2rem 0; padding: 1.8rem 2rem; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-top: 3px solid var(--wp--preset--color--gold); border-radius: var(--feu-radius-xl); box-shadow: 0 14px 34px var(--feu-shadow); font-size: 1rem; line-height: 1.5; }
.wpcf7 form > p { margin: 0 0 .4rem; font-size: var(--wp--preset--font-size--sm); font-weight: 600; color: var(--wp--preset--color--text); }
.wpcf7 form > p:has(.wpcf7-form-control-wrap), .wpcf7 form > p:has(.wpcf7-submit) { margin-bottom: 1.2rem; font-weight: 400; }
.wpcf7 label { display: inline-block; margin-bottom: .4rem; font-size: var(--wp--preset--font-size--sm); font-weight: 600; color: var(--wp--preset--color--text); cursor: pointer; }
.wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], textarea) {
	width: 100%; padding: .8rem 1rem; border: 1px solid var(--feu-border-strong); border-radius: var(--feu-radius); background: var(--wp--preset--color--bg); color: var(--wp--preset--color--text); font: inherit;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.wpcf7 :is(input, textarea):not([type="submit"]):focus { outline: none; background: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--gold); box-shadow: 0 0 0 3px rgb(201 162 74 / .25); }
.wpcf7 textarea { min-height: 170px; resize: vertical; }
.wpcf7 .wpcf7-submit { display: inline-flex; padding: .8rem 1.6rem; border: 0; border-radius: 999px; background: var(--wp--preset--color--brand); color: var(--feu-on-brand); font: 600 1rem/1 var(--wp--preset--font-family--body); cursor: pointer; transition: background-color .2s ease, transform .2s var(--feu-ease); }
.wpcf7 .wpcf7-submit:hover { background: var(--wp--preset--color--burgundy-deep); transform: translateY(-1px); }
.wpcf7 .wpcf7-form-control.wpcf7-not-valid { border-color: #b3261e; }
.wpcf7 .wpcf7-not-valid-tip { display: block; margin-top: .35rem; font-size: var(--wp--preset--font-size--sm); color: #b3261e; }
/* .feu-prose: Contact Form 7's own sheet loads after this one, with selectors as specific */
.feu-prose .wpcf7 form .wpcf7-response-output { margin: 1rem 0 0; padding: .8rem 1rem; border: 0; border-radius: var(--feu-radius); font-size: var(--wp--preset--font-size--sm); }
.feu-prose .wpcf7 form.sent .wpcf7-response-output { background: #e6f2e8; color: #1f5a33; }
.feu-prose .wpcf7 form:is(.invalid, .unaccepted, .failed, .spam, .aborted) .wpcf7-response-output { background: #fbe9e7; color: #8c1d18; }
@media (prefers-color-scheme: dark) { :root:not(.theme-light) .feu-prose .wpcf7 form.sent .wpcf7-response-output { background: #1f3326; color: #bfe3c9; } :root:not(.theme-light) .feu-prose .wpcf7 form:is(.invalid, .unaccepted, .failed, .spam, .aborted) .wpcf7-response-output { background: #3a1a18; color: #f5c7c2; } }
:root.theme-dark .feu-prose .wpcf7 form.sent .wpcf7-response-output { background: #1f3326; color: #bfe3c9; }
:root.theme-dark .feu-prose .wpcf7 form:is(.invalid, .unaccepted, .failed, .spam, .aborted) .wpcf7-response-output { background: #3a1a18; color: #f5c7c2; }
@media (max-width: 640px) { .wpcf7 { padding: 1.3rem 1.2rem; } }
