/* Standalone form surface — flat + compact, aligned to the V2 record-form
   rhythm. Keeps a subtle bordered boundary (standalone forms are contained
   blocks) but drops the legacy card shadow and heavy spacing. */
.cx-form {
    display: flex;
    flex-direction: column;
    gap: var(--cx-space-4);
    padding: var(--cx-space-5);
    color: var(--cx-color-text);
    background: var(--cx-color-surface);
    border: 1px solid var(--cx-color-border);
    border-radius: var(--cx-radius-md);
    box-shadow: none;
    font-family: var(--cx-font-family);
}

.cx-form-section + .cx-form-section {
    padding-block-start: var(--cx-space-4);
    border-block-start: 1px solid var(--cx-color-border);
}

.cx-form-section__header {
    margin-block-end: var(--cx-space-2);
}

.cx-form-section__title {
    margin: 0;
    color: var(--cx-color-text);
    font-size: var(--cx-font-size-lg);
    font-weight: var(--cx-font-weight-semibold);
    line-height: 1.35;
}

.cx-form-section__description {
    max-width: 70ch;
    margin: var(--cx-space-1) 0 0;
    color: var(--cx-color-text-muted);
    font-size: var(--cx-font-size-sm);
    line-height: 1.5;
}

.cx-form-section__content {
    min-width: 0;
}

.cx-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--cx-space-3) var(--cx-space-5);
    min-width: 0;
}

.cx-form-grid--columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cx-form-grid--columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 48rem) {
    .cx-form {
        gap: var(--cx-space-4);
        padding: var(--cx-space-4);
    }

    .cx-form-section + .cx-form-section {
        padding-block-start: var(--cx-space-4);
    }

    .cx-form-grid--columns-2,
    .cx-form-grid--columns-3 {
        grid-template-columns: minmax(0, 1fr);
    }
}
