.isf-form-container {
    max-width: 760px;
    margin: 24px 0;
}

.isf-form-title {
    margin-bottom: 8px;
}

.isf-form-description {
    color: #555;
    margin-bottom: 20px;
}

.isf-form {
    display: grid;
    gap: 18px;
}

.isf-field-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.isf-field {
    width: 100%;
}

.isf-field.half,
.isf-field.isf-width-half {
    width: calc(50% - 9px);
}

.isf-field.third,
.isf-field.isf-width-third {
    width: calc(33.333% - 12px);
}

.isf-field label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
}

.isf-field input[type="text"],
.isf-field input[type="email"],
.isf-field input[type="number"],
.isf-field input[type="url"],
.isf-field input[type="password"],
.isf-field input[type="tel"],
.isf-field input[type="date"],
.isf-field input[type="time"],
.isf-field input[type="datetime-local"],
.isf-field input[type="file"],
.isf-field select,
.isf-field textarea {
    width: 100%;
    max-width: 100%;
    border: 1px solid #c8c8c8;
    border-radius: 6px;
    padding: 10px 12px;
}

.isf-field textarea {
    min-height: 120px;
}

.isf-field .description {
    color: #666;
    font-size: 0.92em;
    margin: 6px 0 0;
}

.isf-required,
.isf-field-error {
    color: #b42318;
}

.isf-field-error,
.isf-form-error {
    margin: 8px 0 0;
}

.isf-form-error,
.isf-form-success {
    border-radius: 6px;
    padding: 12px 14px;
}

.isf-form-error {
    background: #fff2f0;
    border: 1px solid #ffccc7;
}

.isf-form-success {
    background: #f0fff4;
    border: 1px solid #abefc6;
}

.isf-hidden-label,
.isf-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.isf-submit-button[disabled] {
    opacity: 0.7;
    cursor: wait;
}

.isf-conditionally-hidden {
    display: none !important;
}

@media (max-width: 640px) {
    .isf-field.half,
    .isf-field.third,
    .isf-field.isf-width-half,
    .isf-field.isf-width-third {
        width: 100%;
    }
}

.isf-preview-body {
    background: #f6f7f7;
    margin: 0;
}

.isf-preview-shell {
    max-width: 860px;
    margin: 32px auto;
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 8px;
    padding: 24px;
}

.isf-preview-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid #dcdcde;
    margin-bottom: 20px;
    padding-bottom: 14px;
}
