.oak-row:not(.oak-row-2-col-50-50):has(.oak-form) {
    overflow: visible;
}

.oak-form {
    width: 100%;
    padding: var(--oak-spacing-xl);
}

.oak-row-2-col-50-50 .oak-form {
    max-width: 50%;
}

.oak-form .umbraco-forms-page {
    display: flex;
    flex-direction: column;
    gap: var(--oak-spacing-xl);
}

.oak-form .umbraco-forms-fieldset {
    display: flex;
    flex-direction: column;
    gap: var(--oak-spacing-xl);
}

.oak-form .row-fluid {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: var(--oak-spacing-xl);
}

.oak-form .umbraco-forms-container {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--oak-spacing-xl);
}

.oak-form .umbraco-forms-container.col-md-4 {
    max-width: calc((100% - (var(--oak-spacing-xl) * 2)) / 3);
}

.oak-form .umbraco-forms-container.col-md-6 {
    max-width: calc((100% - var(--oak-spacing-xl)) / 2);
}

.oak-form .umbraco-forms-field {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--oak-spacing-s);
}

.oak-form .umbraco-forms-field.checkbox {
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    gap: var(--oak-spacing-xs);
}

.oak-form .checkboxlist-vertical {
    display: flex;
    flex-direction: column;
    gap: var(--oak-spacing-xs);
}

.oak-form .checkboxlist-vertical > div {
    display: flex;
    align-items: center;
    gap: var(--oak-spacing-xs);
}

.oak-form legend {
    margin-bottom: var(--oak-spacing-s);
}

.oak-form .field-validation-error {
    display: block;
    color: var(--oak-red-500);
    font-size: 0.8em;
}

.oak-form .umbraco-forms-hidden {
    display: none;
}

.oak-form .umbraco-forms-container:empty,
.oak-form .umbraco-forms-container:not(:has(*)) {
    display: none;
}

@media (max-width: 1440px) {
    .oak-row-2-col-50-50 .oak-form {
        padding: var(--oak-spacing-m);
    }

    .oak-row-2-col-50-50 .oak-form .row-fluid {
        gap: var(--oak-spacing-m);
    }

    .oak-row-2-col-50-50 .oak-form .umbraco-forms-container.col-md-4,
    .oak-row-2-col-50-50 .oak-form .umbraco-forms-container.col-md-6 {
        max-width: calc((100% - var(--oak-spacing-m)) / 2);
    }
}

@media (max-width: 1024px) {
    .oak-form,
    .oak-row-2-col-50-50 .oak-form {
        padding: var(--oak-spacing-m) 0;
    }

    .oak-form .row-fluid {
        gap: var(--oak-spacing-m);
    }

    .oak-form .umbraco-forms-container.col-md-4,
    .oak-form .umbraco-forms-container.col-md-6 {
        max-width: calc((100% - var(--oak-spacing-m)) / 2);
    }

    .oak-row-2-col-50-50 .oak-form {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .oak-form .umbraco-forms-page {
        gap: var(--oak-spacing-m);
    }

    .oak-form .umbraco-forms-container {
        gap: var(--oak-spacing-m);
    }

    .oak-form .umbraco-forms-field {
        gap: var(--oak-spacing-xs);
    }
}

@media (max-width: 512px) {
    .oak-form .umbraco-forms-container.col-md-4,
    .oak-form .umbraco-forms-container.col-md-6,
    .oak-row-2-col-50-50 .oak-form .umbraco-forms-container.col-md-4,
    .oak-row-2-col-50-50 .oak-form .umbraco-forms-container.col-md-6 {
        max-width: 100%;
    }
}
