/* Functional form layout. Colours come from the active visual-style tokens. */
.rituais-form-section h2 { margin: .35rem 0 1rem; }
.rituais-form-intro, .rituais-form-privacy { max-width: 38rem; color: var(--rituais-text-muted); }
.rituais-form-privacy { margin: 1rem 0; }
.rituais-form-privacy a { color: var(--rituais-link); text-decoration: underline; text-underline-offset: .2em; }
.rituais-form { max-width: 42rem; }
.rituais-form-grid { display: grid; gap: 1rem; }
.rituais-form-field label, .rituais-form-consent label span { display: block; margin-bottom: .35rem; color: var(--rituais-heading); font-size: .92rem; }
.rituais-form input[type="text"],
.rituais-form input[type="email"],
.rituais-form input[type="tel"],
.rituais-form textarea {
 width: 100%;
 padding: .8rem .9rem;
 border: 1px solid color-mix(in srgb, var(--rituais-text-muted) 80%, var(--rituais-surface));
 border-radius: var(--rituais-radius, 0);
 background: var(--rituais-surface);
 color: var(--rituais-text);
}
.rituais-form textarea { min-height: 9rem; resize: vertical; }
.rituais-form-consent { margin-top: .9rem; }
.rituais-form-consent label { display: flex; gap: .7rem; align-items: flex-start; }
.rituais-form-consent input { width: 1.15rem; height: 1.15rem; margin-top: .2rem; flex: none; }
.rituais-form .button { margin-top: .4rem; }
.rituais-form-error, .rituais-form-alert { margin: .35rem 0 0; color: var(--rituais-heading); font-weight: 500; }
.rituais-form-success { margin: 0 0 1rem; padding: .8rem 1rem; border: 1px solid var(--rituais-border); background: var(--rituais-bg-alt); color: var(--rituais-heading); }
.rituais-form [aria-invalid="true"] { border-color: var(--rituais-heading); }
.rituais-form-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rituais-form .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
.rituais-form.is-busy [type="submit"] { opacity: .72; }
.contact-with-form {
 display: flex;
 gap: clamp(1.5rem, 4vw, 3.5rem);
 width: min(var(--container), calc(100% - var(--gutter) * 2));
 margin-inline: auto;
 padding-block: var(--space-section);
 align-items: start;
}
.contact-with-form > .wp-block-column { flex: 1 1 0; min-width: 0; }
.contact-with-form .contact-details,
.contact-with-form .rituais-form-section { padding: 0; }
.contact-with-form .container { width: 100%; }
@media (min-width: 768px) {
 .rituais-form-grid.is-split { grid-template-columns: 1fr 1fr; }
 .rituais-form-field.is-wide { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
 .contact-with-form { flex-direction: column; }
 .rituais-form .button { width: 100%; justify-content: center; }
}
