#adt-survey-form-container {
    max-width: 1000px;
    margin: 20px auto;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #f9f9f9
}

.adt-form-group {
    margin-bottom: 20px
}

.adt-form-group:last-child {
    margin: 0
}

.adt-form-group label {
    display: block;
    font-size: 16px;
    margin-bottom: 8px;
    font-weight: 700;
    color: #333
}

.adt-form-group input,
.adt-form-group select,
.adt-form-group textarea {
    box-sizing: border-box !important;
    width: 100%;
    padding: 10px 15px !important;
    background: #fff !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    font-size: 16px;
    box-sizing: border-box !important;
    height: auto !important;
    margin-bottom: 0 !important;
}

.adt-form-group input {
    height: 42px
}

.adt-form-group input:focus,
.adt-form-group textarea:focus {
    border-color: #004a8f !important
}

.adt-form-group textarea {
    resize: vertical;
    min-height: 100px
}

.question-group {
    background: #fff;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 15px
}

.question-group label {
    font-size: 16px;
    margin-bottom: 15px
}

.required {
    color: #d63638;
    font-weight: 700
}

.checkbox-option,
.radio-option {
    display: block !important;
    font-weight: 400 !important;
    margin: 8px 0;
    cursor: pointer
}

.checkbox-option input,
.radio-option input {
    width: auto !important;
    margin-right: 8px;
    vertical-align: middle
}

.question-additional-answers {
    margin-top: 15px
}

.question-main-answer {
    margin-bottom: 0;
    padding: 10px 15px;
    background: #f9f9f9;
    border-radius: 5px;
    border-left: 3px solid #004a8f
}

.question-main-answer label {
    font-size: 14px;
    font-weight: 600;
    color: #004a8f;
    margin-bottom: 8px
}

.question-main-answer textarea {
    width: 100%;
    min-height: 80px;
    resize: vertical
}

.additional-audio-answer {
    margin-top: 10px
}

.captcha-group {
    background: #fff;
    padding: 15px;
    border: 2px solid #004a8f;
    border-radius: 5px;
    margin-bottom: 20px
}

.captcha-group label {
    font-size: 16px;
    margin-bottom: 10px;
    color: #004a8f
}

.captcha-question {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #333;
    background: #f0f8ff;
    padding: 6px 10px;
    border-radius: 4px;
    text-align: center;
    border: 1px solid #004a8f;
    height: 42px
}

.captcha-input-group {
    display: flex;
    align-items: center;
    gap: 10px
}

.captcha-input-group input {
    flex: 1;
    max-width: 150px
}

.button-refresh {
    background: #004a8f;
    color: #fff;
    border: none;
    padding: 10px;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    height: 46px
}

.button-refresh svg {
    width: 20px;
    height: 20px
}

.button-refresh:hover {
    background: #005a87
}

.button-refresh .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px
}

.captcha-error {
    color: #d63638;
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    padding: 8px 12px;
    border-radius: 4px;
    margin-top: 10px;
    font-weight: 700
}

.captcha-group .description {
    font-size: 14px;
    color: #666;
    margin: 6px 0 10px
}

.audio-recorder {
    position: relative
}

.audio-recorder button {
    display: inline-flex;
    align-items: center;
    margin: 0 10px 0 0;
    padding: 8px 10px;
    background: #004a8f;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    min-height: 32px;
    font-size: 12px
}

.audio-recorder button span.icon {
    display: inline-flex;
    margin-right: 5px
}

.audio-recorder button span.icon svg {
    width: 16px;
    height: 16px
}

.audio-recorder button:disabled {
    background: #ccc;
    cursor: not-allowed
}

.audio-recorder button:hover:not(:disabled) {
    background: #005a87
}

.audio-recorder small {
    display: block;
    font-size: 14px;
    margin-top: 10px
}

.delete-recording {
    background: #dc3545 !important
}

.delete-recording:hover:not(:disabled) {
    background: #c82333 !important
}

.clear-file {
    background: #6c757d !important;
    color: #fff;
    padding: 5px 10px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-left: 10px;
    font-size: 12px
}

.clear-file:hover {
    background: #5a6268 !important
}

.audio-status {
    margin-top: 10px;
    font-size: 14px
}

.recording-status {
    color: #dc3545;
    font-weight: 700
}

.audio-info {
    color: #28a745;
    font-weight: 700
}

.audio-deleted {
    color: #6c757d
}

.audio-playback {
    margin-top: 10px;
    width: 100%
}

.audio-file-input {
    display: none;
    margin-top: 10px;
    width: 100%
}

#submit-survey {
    background: #004a8f;
    color: #fff;
    padding: 12px 30px;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    height: 46px;
    cursor: pointer;
    width: 100%
}

#submit-survey:hover {
    background: #0061bb
}

#submit-survey:disabled {
    background: #ccc;
    cursor: not-allowed
}

.success-message {
    padding: 10px;
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
    border-radius: 4px;
    margin-top: 15px
}

.error-message {
    padding: 10px;
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    border-radius: 4px;
    margin-top: 15px
}

@media (max-width:768px) {
    #adt-survey-form-container {
        margin: 10px;
        padding: 15px
    }

    .question-group {
        padding: 15px
    }

    .audio-recorder button {
        margin: 5px 5px 5px 0;
        padding: 6px 12px;
        font-size: 11px
    }

    .captcha-input-group {
        flex-direction: column;
        align-items: stretch
    }

    .captcha-input-group input {
        max-width: none;
        margin-bottom: 10px
    }

    .button-refresh {
        align-self: center;
        width: 60px
    }
}

@media (max-width:480px) {
    .audio-recorder button {
        font-size: 0
    }

    .audio-recorder button span.icon {
        margin: 0
    }
}