/* Contact only: preserve the shared shell and all completed page styling. */
.iq-contact-page { max-width: 900px; margin-inline: auto; font-family: var(--iq-body); color: #3a2b22; font-size: 1rem; line-height: 1.75; overflow-wrap: anywhere; }
.entry-content > .iq-contact-page { max-width: 900px; }
.iq-contact-page > * { margin-block: 0; }
.iq-contact-page > * + * { margin-block-start: 1.5rem; }
.iq-contact-page h1 { font-family: var(--iq-heading); font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 600; line-height: 1.25; color: #4a3428; }
.iq-contact-page h2 { font-family: var(--iq-body); font-size: clamp(1.25rem, 2.5vw, 1.65rem); font-weight: 700; line-height: 1.4; }
.iq-contact-page > p { max-width: 70ch; }
.iq-contact-page .iq-contact-form { margin-block-start: 2.5rem; padding: clamp(1rem, 3vw, 2.5rem); border: 1px solid #a77f5c; border-radius: 8px; background: #4a3428; color: #faf4ea; box-shadow: 0 3px 8px #3a2b2226; }
.iq-contact-page .iq-contact-hint { margin: 0 0 1.75rem; font-size: .9rem; }
.iq-contact-page .iq-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.iq-contact-page .iq-contact-field { min-width: 0; }
.iq-contact-page .iq-contact-wide { grid-column: 1 / -1; }
.iq-contact-page label { display: block; font-weight: 700; margin-bottom: .5rem; }
.iq-contact-page label span { font-weight: 400; font-size: .85rem; color: #d6ae8e; }
.iq-contact-page input, .iq-contact-page select, .iq-contact-page textarea { display: block; width: 100%; min-width: 0; min-height: 48px; border: 1px solid #5b4133; border-radius: 3px; padding: .75rem; background: #faf4ea; color: #3a2b22; font: inherit; line-height: 1.5; }
.iq-contact-page textarea { resize: vertical; }
.iq-contact-page .iq-contact-trap { display: none; }
.iq-contact-page .iq-contact-acknowledgement { font-size: .875rem; margin-block: 1.75rem 1.25rem; color: #f3e7d5; }
.iq-contact-page .iq-contact-acknowledgement a { color: #d6ae8e; }
.iq-contact-page button { max-width: 100%; min-height: 48px; padding: .9rem 1.5rem; font-family: var(--iq-body); border: 1px solid #d6ae8e; border-radius: 6px; background: #2b2e31; color: #faf4ea; box-shadow: 0 2px 3px #3a2b2226; }
.iq-contact-page button:is(:hover, :focus-visible) { background: linear-gradient(#2b2e3173, #2b2e3173), linear-gradient(180deg, #2b2e31 19%, #c46a2d); color: #f2f2f0; border-color: #c46a2d; }
.iq-contact-page :is(input, select, textarea, button, a, [tabindex]):focus-visible { outline: 3px solid #3a2b22; outline-offset: 4px; }
.iq-contact-page .iq-contact-form :is(input, select, textarea, button, a, [tabindex]):focus-visible { outline-color: #d6ae8e; }
.iq-contact-page .iq-contact-feedback { padding: 1rem; border: 2px solid #a77f5c; margin-bottom: 1.5rem; background: #faf4ea; color: #3a2b22; }
.iq-contact-page .iq-contact-feedback a:focus-visible { outline-color: #3a2b22; }
.iq-contact-page .iq-contact-feedback h2 { margin-top: 0; }
.iq-contact-page .iq-contact-error { color: #faf4ea; font-weight: 700; font-size: .9rem; margin: .5rem 0 0; }
.iq-contact-page [aria-invalid="true"] { border: 2px solid #743421; }
.editor-styles-wrapper .iq-contact-page.wp-block { max-width: 900px; }
.editor-styles-wrapper .iq-contact-page .wp-block { max-width: none; }
@media (max-width: 40rem) { .iq-contact-page .iq-contact-fields { grid-template-columns: minmax(0, 1fr); } }
