.forminator-ui {
    width: 98% !important;
}

/* Forminator Form Font Family - Applied to all elements */
.forminator-ui *,
.forminator-custom-form * {
    font-family: "Instrument Sans", sans-serif !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* === FORMINATOR FIELD SPACING CONFIGURATION === */
/* Control spacing between form rows */
.forminator-row {
    margin-bottom: 24px !important;
}

/* Control spacing within each field wrapper */
.forminator-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important; /* Space between label, description, and input */
}

/* === TEXT INPUT FIELDS === */
.forminator-field-text .forminator-field,
.forminator-field-email .forminator-field {
    gap: 8px !important;
}

.forminator-field-text .forminator-label,
.forminator-field-email .forminator-label {
    display: block !important;
    width: 100% !important;
    font-size: 18px !important;
    line-height: 120% !important;
    font-weight: 600 !important;
}

.forminator-field-text .forminator-description,
.forminator-field-email .forminator-description {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* === TEXTAREA FIELDS === */
.forminator-field-textarea .forminator-field {
    gap: 8px !important;
}

.forminator-field-textarea .forminator-label {
    display: block !important;
    width: 100% !important;
    font-size: 18px !important;
    line-height: 120% !important;
    font-weight: 600 !important;
}

.forminator-field-textarea .forminator-description {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* === CHECKBOX FIELDS === */
.forminator-field-checkbox .forminator-field {
    gap: 12px !important;
}

.forminator-field-checkbox .forminator-label {
    display: block !important;
    width: 100% !important;
    font-size: 18px !important;
    line-height: 120% !important;
    font-weight: 600 !important;
}

.forminator-field-checkbox .forminator-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.forminator-field-checkbox .forminator-checkbox-label {
    font-size: 16px !important;
    display: inline !important;
    margin-left: 12px !important;
}

/* Spacing between individual checkbox items */
.forminator-field-checkbox .forminator-checkbox:not(:last-child) {
    margin-bottom: 8px !important;
}

/* === RADIO FIELDS === */
.forminator-field-radio .forminator-field {
    gap: 12px !important;
}

.forminator-field-radio .forminator-label {
    display: block !important;
    width: 100% !important;
    font-size: 18px !important;
    line-height: 120% !important;
    font-weight: 600 !important;
}

.forminator-field-radio .forminator-radio {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.forminator-field-radio .forminator-radio-label {
    font-size: 16px !important;
}

/* Spacing between individual radio items */
.forminator-field-radio .forminator-radio:not(:last-child) {
    margin-bottom: 8px !important;
}

/* === UPLOAD FIELDS === */
.forminator-field-upload .forminator-field {
    gap: 8px !important;
}

.forminator-field-upload .forminator-label {
    display: block !important;
    width: 100% !important;
    font-size: 18px !important;
    line-height: 120% !important;
    font-weight: 600 !important;
}

.forminator-field-upload .forminator-description {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Description limit text - right aligned */
.forminator-description span[data-limit] {
    margin-left: auto !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Forminator Text Inputs and Textareas */
.forminator-input,
.forminator-textarea {
    display: block !important;
    width: 100% !important;
    border: 1px solid #d1e0ea !important;
    border-radius: 0 !important;
    background-color: #edf8ff !important;
    font-size: 16px !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

.forminator-input:focus,
.forminator-textarea:focus,
.forminator-input:hover,
.forminator-textarea:hover,
.forminator-input:active,
.forminator-textarea:active {
    padding: 12px 16px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Forminator Error Messages */
.forminator-error-message {
    color: #ff792b !important;
    font-size: 16px !important;
    display: block !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Prevent error states from changing input size */
.forminator-field-error .forminator-input,
.forminator-field-error .forminator-textarea,
.forminator-input.forminator-has_error,
.forminator-textarea.forminator-has_error {
    padding: 12px 16px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Forminator Submit Button */
.forminator-button,
.forminator-button-submit {
    display: inline-block !important;
    background-color: #3fa9f5 !important;
    color: #fff !important;
    padding: 16px 50px !important;
    border-radius: 50px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 100% !important;
    text-decoration: none !important;
    width: max-content !important;
    text-transform: uppercase !important;
    border: 1px solid #3fa9f5 !important;
    cursor: pointer !important;
    -webkit-transition: all 0.25s ease !important;
    transition: all 0.25s ease !important;
    position: relative !important;
    overflow: hidden !important;
    text-align: center !important;
}

.forminator-button:hover,
.forminator-button-submit:hover {
    background-color: rgb(14.5247524752, 147.2871287129, 242.4752475248) !important;
}

/* Override page-level :last-child padding reset for buttons */
#main.normal-page .container .normal-page-content .forminator-button,
#main.normal-page .container .normal-page-content .forminator-button-submit {
    padding: 16px 50px !important;
}

/* === UPLOADED FILES LIST === */
.forminator-uploaded-files {
    list-style: none !important;
    margin: 12px 0 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.forminator-uploaded-file {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    margin: 0 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.forminator-uploaded-file:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.forminator-uploaded-file--content {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
}

.forminator-uploaded-file--preview {
    flex-shrink: 0 !important;
    width: 40px !important;
    height: 40px !important;
    background: #edf8ff !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.forminator-uploaded-file--preview .forminator-icon-file,
.forminator-uploaded-file--preview span[class*="forminator-icon"] {
    font-size: 18px !important;
    color: #3fa9f5 !important;
}

.forminator-uploaded-file--text {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.forminator-uploaded-file--title {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.4 !important;
}

.forminator-uploaded-file--size {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #64748b !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

.forminator-uploaded-file--delete,
.forminator-button-delete {
    flex-shrink: 0 !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.forminator-uploaded-file--delete:hover,
.forminator-button-delete:hover {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
}

.forminator-uploaded-file--delete .forminator-icon-close,
.forminator-button-delete .forminator-icon-close {
    font-size: 14px !important;
    color: #94a3b8 !important;
    transition: color 0.2s ease !important;
}

.forminator-uploaded-file--delete:hover .forminator-icon-close,
.forminator-button-delete:hover .forminator-icon-close {
    color: #ef4444 !important;
}

.forminator-uploaded-file--delete:disabled,
.forminator-button-delete:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

.forminator-uploaded-file--delete:disabled:hover,
.forminator-button-delete:disabled:hover {
    background: transparent !important;
    border-color: transparent !important;
}

/* Screen reader text - hide visually but keep accessible */
.forminator-screen-reader-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
