@use '@tokens' as tokens;
@use '../settings/settings';
@use '../tools/units';

#cm {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    max-width: settings.$consent-box-max-width;
    max-height: calc(100vh - #{units.convert2em(tokens.$space-800)});
    padding: units.convert2em(tokens.$space-800);
    box-shadow: tokens.$shadow-100;
}

#cm.box,
#cm.bar {
    padding: units.convert2em(tokens.$space-900);
}

#cm.bar {
    max-height: 100vh;
}

#cm.bar #c-inr {
    display: flex;
    align-items: flex-end;
    max-width: none;
}

#cm.bar #c-inr-i {
    flex-grow: 1;
    margin-right: units.convert2em(tokens.$space-1000);
}

#cm.bar #c-bns {
    flex-shrink: 0;
    align-items: baseline;
    max-width: none;
    margin-top: 0;
}

#cm.box #c-bns {
    justify-content: flex-end;
}

#cm.box #c-bns .c-bn,
#cm.bar #c-bns .c-bn {
    width: auto;
    flex: none;
}

#cm.cloud {
    overflow-y: auto;
    max-width: settings.$consent-cloud-max-width;
    padding: units.convert2em(tokens.$space-900) units.convert2em(tokens.$space-1000);
}

.cc_div #c-bns {
    margin-top: units.convert2em(tokens.$space-800);
}

@media screen and (max-width: settings.$breakpoint-desktop-down) {
    #cm.bar #c-inr {
        flex-flow: column;
        align-items: stretch;
    }

    #cm.bar #c-inr-i {
        margin-right: 0;
        margin-bottom: units.convert2em(tokens.$space-800);
    }

    #cm.bar #c-bns {
        align-self: flex-end;
    }
}

@media screen and (max-width: settings.$breakpoint-tablet-down) {
    #cm,
    #cm.cloud,
    #cm.left,
    #cm.right {
        // stylelint-disable-next-line declaration-no-important -- Override original styles.
        padding: units.convert2em(tokens.$space-700) !important;
    }

    .cc_div #c-bns {
        margin-top: units.convert2em(tokens.$space-700);
    }

    #cm.bar #c-inr-i {
        margin-bottom: units.convert2em(tokens.$space-700);
    }

    #cm.bar #c-bns {
        align-self: stretch;
    }

    .cc_div .c-bn,
    #cm .c-bn,
    #cm.bar #c-bns .c-bn {
        width: 100%;
    }
}
