form[data-cookieman-form] {
    background-color: #ffffff;
    margin-bottom: 0;
}

.cookiebanner-settings {

    background-color: #ffffff;
    --cookiebanner-height: 100vh;
    --cookiebanner-max-width: 100%;
    --cookiebanner-padding: 24px;
    --cookiebanner-input-padding: 16px 0;
    --cookiebanner-dir: column;
    --cookiebanner-buttons-dir: column;
    --cookiebanner-gap: 12px;
    --cookiebanner-buttons-dir: column;

    --font-size-label: var(--fs-sm);
    --checkbox-size: 24px;

    --content-left-offset: 0;

    position: relative;
    display: flex;
    justify-content: space-between;
    flex-direction: var(--cookiebanner-dir);
    gap:16px;

    max-height: 100vh;
    height: var(--cookiebanner-height);

    width: 100%;
    max-width: var(--cookiebanner-max-width);
    padding: var(--cookiebanner-padding);

    border: 1px solid #333333;
    border-radius: 24px;

    pointer-events: all;
    overflow: hidden;
    z-index: 3001;

    &:after {
        content: "";
        position: absolute;
        inset: 0;
        background: #ffffff;
        z-index: -3;
    }

    &[aria-expanded="false"] {
        display: none;
    }

    .cookiebanner-setting-input {
        position: relative;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap:16px;
        padding: var(--cookiebanner-input-padding);

        [type="checkbox"] {
            -ms-transform: initial;
            -moz-transform: initial;
            -webkit-transform: initial;
            -o-transform: initial;

            margin: 4px;
            width: var(--checkbox-size);
            height: var(--checkbox-size);
            accent-color: #ffffff;
            cursor: pointer;
            opacity: 0;

            &:checked{
                margin-top: 1px;
                opacity: 1;
            }

            &:disabled {
                accent-color: #333333;
            }
        }

        label {
            display: flex;
            width: calc(100% - calc(var(--checkbox-size) + 32px));
            align-items: center;
            cursor: pointer;
            font-weight: 700;
            font-size: 16px;
        }

        [type="checkbox"]:not(:disabled) + label {
            &:before {
                content: "";
                position: absolute;
                left: 4px;
                width: var(--checkbox-size);
                height: var(--checkbox-size);
                border: 1px solid #333333;
                border-radius: 4px;
                z-index: 100;
            }
        }

        p {
            font-size: 16px;
        }

        .level-1 {
            margin-left: var(--content-left-offset);
        }
    }

    .cookiebanner-settings-content {
        --gradient-height: 32px;
        position: relative;
        overflow-y: scroll;
        flex-shrink: 1;

        margin-bottom: var(--gradient-height);

        &:after {
            content: "";
            position: sticky;
            display: block;
            bottom: 0;
            left: 0;
            width: 100%;
            height: var(--gradient-height);
            background: linear-gradient(0deg, #fff 10%, transparent);
            pointer-events: none;
            z-index: 9999;
        }
    }

    .cookiebanner-settings-buttons {
        list-style: none;
        display: flex;
        justify-content: flex-end;
        width: 100%;
        flex-direction: var(--cookiebanner-buttons-dir);
        flex-shrink: 0;

        gap: var(--cookiebanner-gap);

        margin-bottom: 0;

        .btn {
            width: 100%;
        }
    }

    .accordion-item {
        margin-left: var(--content-left-offset);
        .container {
            max-width: 100%;
        }
    }

    .accordion-title {
        font-size: 16px;
    }

    @media (min-width: 320px) {
        --cookiebanner-height: 540px;
    }

    @media (min-width: 768px) {
        --cookiebanner-height: 394px;
        --cookiebanner-max-width: 685px;

        --cookiebanner-buttons-dir: row;
        --cookiebanner-gap:16px;
        --font-size-label: 18px;
        --checkbox-size: 28px;

        .cookiebanner-settings-buttons {
            justify-content: space-between;
        }
    }

    @media (min-width: 1280px) {
        --cookiebanner-height: 557px;
        --cookiebanner-max-width: 820px;

        --cookiebanner-buttons-dir: row;
        --cookiebanner-padding: 32px;
        --cookiebanner-input-padding: 32px 0;

        --content-left-offset: 52px;

        .cookiebanner-setting-input label,
        .accordion-title {
            font-size: 18px;
        }
    }
}
