:root {
    --ccq-blue: #0f1e64;
    --blue-80: #4C5394;
    --blue-20: #D2D4E4;
    --blue-10: #E8E9F0;
    --blue-06: #F1F1F6;
    --blue-light: #0099DA;
    --blue-light-20: #0C377C;
    --grey-80: #333333;
    --grey-60: #666666;
    --grey-20: #CCCCCC;
    --grey-light: #f0f0f0;
}

.ccq-chat-wrapper, .ccq-callback-wrapper {
    color: var(--grey-80);
}

.ccq-callback-wrapper {
    margin-top: 24px;
    fieldset {
        border: 1px solid var(--grey-20);
        border-radius: 4px;
        margin-top: 16px;
        > p:first-of-type {
            margin-top: 0;
        }
        > p {
            margin-bottom: 0;
        }
        .radio-group {
            display: flex;
            gap: 16px;
            align-items: center;
        }
    }
    @media (min-width: 1366px) {
        margin-top: 32px;
        fieldset {
            margin-top: 24px;
        }
    }
}
.ccq-checkbox-label, .ccq-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
}
.ccq-input-group {
    margin-bottom: 16px;
}

.ccq-chat-title {
    color: var(--ccq-blue);
    margin-bottom: 16px;
    @media (min-width: 1366px) {
        margin-bottom: 24px;
    }
}

.callback-grid {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    @media (min-width: 1366px) {
        gap: 24px;
    }
}

.callback-grid>div {
    flex: 1 1 45%;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="datetime-local"] {
    width: 100%;
    padding: 8px;
    margin-top: 4px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.status_busy{
    font-weight: bold;
    margin-bottom: 0;
    color: var(--ccq-blue);
    a {
        text-decoration: underline;
    }
}
.status_unknown {
    font-weight: bold;
}

.data_collection_description {
    display: inline-block;
    margin: 16px 0;
    @media (min-width: 1366px) {
        margin: 24px 0;
    }
}

.agreement_description {
    display: inline-block;      
    margin-top: 16px !important;
    margin-bottom: 0 !important;
    @media (min-width: 1366px) {
        margin-top: 24px !important;
    }
}

.agreement_description, .data_collection_description, .agreement_accept_button {
    a {
        text-decoration: underline;
        cursor: pointer;
    }
}

.ccq-info-box p {
    display: inline-block;
    margin-top: 16px;
    @media (min-width: 1366px) {
        margin-top: 24px;
    }
}

.purecloud-chat-frame {
    width: 100%;
    height: 500px;
    margin: 40px auto;
    border: 1px solid #ccc;
    border-radius: 10px;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.purecloud-chat-wrapper {
    width: 100%;
    margin: 40px auto;
    padding: 20px;
    background: #fff;
}

.purecloud-chat-frame {
    width: 100%;
    height: 500px;
    border: 1px solid #ccc;
    border-radius: 10px;
    margin-top: 20px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

.hidden {
    display: none;
}
.ccq-chat-button.disabled {
    background-color: #d0e7ea !important; 
    color: #888 !important;
    cursor: not-allowed;
}

#user-info-form-container {
    margin-top: 24px;
    @media (min-width: 1366px) {
        margin-top: 32px;
    }
}

.ccq-chat-wrapper {
    .ccq-button {
        outline: none;
        border: none;
        padding: 0;
    }
    .agreement_accept_button {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: 16px;
        p {
            margin: 0;
        }
        @media (min-width: 1366px) {
            margin-top: 24px;
        }
    }
    .agreement-form {
        .ccq-button {
            margin-top: 24px;
        }
        @media (min-width: 1366px) {
            .ccq-button {
                margin-top: 32px;
            }
        }
    }
    input[type='checkbox'] {
        -webkit-appearance: none;
        appearance: none;
        border-radius: 3px;
        width: 20px;
        height: 20px;
        padding: 2px;
        display: flex;
        border: 1px solid var(--grey-20);
        align-items: center;
        justify-content: center;
        cursor: pointer;
        border-color:;
    }
    
    input[type='checkbox']::before {
        display: block;
        content: '';
        width: 10px;
        height: 10px;
        transition: 120ms transform ease-in-out;
        box-shadow: inset 10px 10px;
    }
    
    input[type='checkbox']::before {
        transform-origin: center;
        clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
        transform: scale(0);
    }
    
    input[type='checkbox']::before {
        box-shadow: inset 10px 10px var(--ccq-blue);
    }
    
    input[type='checkbox']:checked::before {
        transform: scale(1);
    }

    input[type='radio'] {
        -webkit-appearance: none;
        appearance: none;
        border-radius: 50%;
        width: 20px;
        height: 20px;
        padding: 2px;
        display: flex;
        border: 1px solid var(--grey-20);
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    input[type='radio']::before {
        display: block;
        content: '';
        width: 10px;
        height: 10px;
        border-radius: 50%;
        transition: 120ms transform ease-in-out;
        transform: scale(0);
        background-color: var(--ccq-blue);
    }

    input[type='radio']:checked::before {
        transform: scale(1);
    }
    .callback-submit-button {
        margin-top: 24px;
    }
    .ccq-checkbox-group {
        margin: 16px 0;
        display: flex;
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
    }
    .ccq-buttons-container {
        display: flex;
        gap: 16px;
        margin-top: 24px;
        align-items: center;
    }
    @media (min-width: 1366px) {
        .ccq-checkbox-group {
            margin: 24px 0;
        }
        .ccq-buttons-container {
            margin-top: 32px;
        }
        .callback-submit-button {
            margin-top: 32px;
        }
    }
}