:root {
    --ck-color-base-border: #ccced1;
    --ck-color-table-focused-cell-background: #e4e6f3;
    --ck-spacing-small: 5px;
    --ck-spacing-standard: 10px;
    --ck-spacing-large: 1.5em;
}

.ck-content .table {
    margin: var(--ck-spacing-large) auto;
    display: table;
}

.ck-content .table table {
    border-collapse: collapse;
    border-spacing: 0;
    max-width: 100%;
    width: auto;
    border-width: 1px;
    border-style: solid; 
    border-color: var(--ck-color-base-border);
}

.ck-content .table table td,
.ck-content .table table th {
    min-width: 2em;
    padding: var(--ck-spacing-standard);
    border-width: 1px;
    border-style: solid; 
    border-color: var(--ck-color-base-border);
    vertical-align: top;
    position: relative;
}

.ck-content .table table th {
    font-weight: bold;
    background: #fafafa;
    text-align: left;
}

.ck-content .table > figcaption {
    display: table-caption;
    caption-side: top;
    word-break: break-word;
    text-align: center;
    color: #333;
    background-color: #f7f7f7;
    padding: .6em;
    font-size: .75em;
    outline-offset: -1px;
}

@media screen and (max-width: 768px) {
    .ck-content .table {
        display: block;
        overflow-x: auto;
        width: 100%;
    }
}

.ck-content .image-style-side {
    float: right;
    margin-left: var(--ck-spacing-large);
    max-width: 50%;
}

.ck-content .image-style-align-left {
    float: left;
    margin-right: var(--ck-spacing-large);
}

.ck-content .image-style-align-center {
    margin-left: auto;
    margin-right: auto;
}