.outloud-contact-form {
    padding: var(--wp--custom--spacing--card, clamp(1.25rem, 2.5vw, 2rem));
    border-radius: var(--wp--custom--radius--card, 1.75rem);
    background: var(--wp--preset--color--outloud-surface, #edf7ff);
    border: var(--wp--custom--card--border-width, 1px) solid var(--wp--custom--card--border, #c9e3f5);
    color: var(--wp--preset--color--auris-navy, #263c46);
}
.outloud-contact-form *, .outloud-contact-form *::before { box-sizing: border-box; }
.outloud-contact-form .outloud-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.outloud-contact-field { min-width: 0; }
.outloud-contact-field:last-child { grid-column: 1 / -1; }
.outloud-contact-form label { display: block; margin-block-end: .5rem; font-weight: 600; }
.outloud-contact-form label span { font-size: var(--wp--preset--font-size--small, 1rem); font-weight: 400; }
.outloud-contact-form :is(input:not([type="hidden"]), textarea) {
    display: block; width: 100%; min-height: 3rem; padding: .75rem 1rem;
    border: 1px solid #5d7480; border-radius: .5rem;
    font: inherit; background: #fff; color: #263c46;
}
.outloud-contact-form textarea { min-height: 10rem; resize: vertical; }
.outloud-contact-form :is(a, button, input, textarea, [tabindex]):focus-visible,
.outloud-contact-feedback:focus {
    outline: var(--wp--custom--focus--width, 3px) solid var(--wp--custom--focus--color, #24688f);
    outline-offset: var(--wp--custom--focus--offset, 3px); box-shadow: 0 0 0 3px #fff;
}
.outloud-contact-form .outloud-contact-required { margin: 0 0 1.5rem; }
.outloud-contact-form .outloud-contact-error { color: #9f2424; margin: .5rem 0 0; font-weight: 600; }
.outloud-contact-form [aria-invalid="true"] { border: 2px solid #9f2424; }
.outloud-contact-feedback { padding: 1.25rem; margin-block-end: 2rem; border: 2px solid #9f2424; border-radius: .5rem; background: #fff; }
.outloud-contact-feedback.is-success { border-color: #386638; }
.outloud-contact-feedback > :first-child { margin-top: 0; }
.outloud-contact-feedback > :last-child { margin-bottom: 0; }
.outloud-contact-feedback a { color: inherit; text-decoration: underline; }
.outloud-contact-form .outloud-contact-submit {
    margin-block-start: 1.5rem; min-height: var(--wp--custom--button--min-height, 3rem); padding: var(--wp--custom--button--padding-block, .75rem) var(--wp--custom--button--padding-inline, 1.5rem);
    border: var(--wp--custom--button--border-width, 2px) solid var(--wp--custom--button--action--border, #263c46); border-radius: var(--wp--custom--button--radius, 999rem);
    background: var(--wp--custom--button--action--background); color: var(--wp--custom--button--action--text, #fff); font: inherit; font-size: var(--wp--custom--button--action--font-size); font-weight: var(--wp--custom--button--action--weight); line-height: var(--wp--custom--button--line-height, 1.3); cursor: pointer;
}
.outloud-contact-form .outloud-contact-submit:hover { background: var(--wp--custom--button--action--hover); border-color: var(--wp--custom--button--action--hover); }
.outloud-contact-form .outloud-contact-submit:active { background: var(--wp--custom--button--action--active); border-color: var(--wp--custom--button--action--active); }
.outloud-contact-form [aria-disabled="true"] { cursor: wait; }
.outloud-contact-form .outloud-contact-progress:empty { display: none; }
.editor-styles-wrapper .outloud-contact-form { pointer-events: none; }
/* One bounded action panel; guidance belongs beside the relevant field. */
.outloud-product-contact {
    display: block;
    scroll-margin-top: 2rem;
}
.outloud-product-contact[hidden] { display: none !important; }
.outloud-product-contact .outloud-contact-form {
    min-width: 0;
    width: 100%;
    max-width: var(--wp--custom--form--single-column-max-width, 36rem);
    box-sizing: border-box;
    background: var(--wp--custom--card--green--background);
    border-color: var(--wp--custom--card--green--border);
}
.outloud-product-contact .outloud-contact-fields { grid-template-columns: minmax(0, 1fr); }
.outloud-product-contact :is(h2, h3) { margin: 0 0 var(--wp--custom--spacing--heading, 1.5rem); }
.outloud-product-contact p { margin: 0 0 var(--wp--custom--spacing--content, 1.5rem); }
.outloud-product-contact .outloud-contact-hint { margin: 0 0 .75rem; font-size: var(--wp--preset--font-size--small, 1rem); }
.outloud-product-contact a { overflow-wrap: anywhere; }
.outloud-product-contact #product-contact-title:focus:not(:focus-visible) { outline: none; box-shadow: none; }
@media (max-width: 37.5rem) {
    .outloud-contact-form .outloud-contact-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (forced-colors: active) {
    .outloud-contact-form :is(input, textarea, button), .outloud-contact-feedback { border-color: CanvasText; }
}
