#cc-main {
    --cc-modal-border-radius: 18px;
    --cc-btn-border-radius: 16px;
    --cc-bg: #ffffff;
    --cc-primary-color: var(--secondary-color);
    --cc-secondary-color: rgba(51, 51, 51, 0.75);
    --cc-link-color: var(--accent-color);
    --cc-btn-primary-bg: var(--accent-color);
    --cc-btn-primary-color: #ffffff;
    --cc-btn-primary-border-color: var(--accent-color);
    --cc-btn-primary-hover-bg: #cf6a1d;
    --cc-btn-primary-hover-color: #ffffff;
    --cc-btn-primary-hover-border-color: #cf6a1d;
    --cc-btn-secondary-bg: var(--light-bg);
    --cc-btn-secondary-color: var(--secondary-color);
    --cc-btn-secondary-border-color: var(--light-bg);
    --cc-btn-secondary-hover-bg: rgba(233, 129, 50, 0.2);
    --cc-btn-secondary-hover-border-color: rgba(233, 129, 50, 0.2);
    --cc-btn-secondary-hover-color: var(--secondary-color);
    --cc-toggle-on-bg: var(--accent-color);
    --cc-toggle-off-bg: rgba(51, 51, 51, 0.45);
    --cc-toggle-on-knob-bg: #ffffff;
    --cc-toggle-off-knob-bg: #ffffff;
    --cc-cookie-category-block-bg: rgba(233, 129, 50, 0.06);
    --cc-cookie-category-block-border: rgba(233, 129, 50, 0.12);
    --cc-cookie-category-block-hover-bg: rgba(233, 129, 50, 0.12);
    --cc-cookie-category-block-hover-border: rgba(233, 129, 50, 0.18);
    --cc-footer-bg: rgba(233, 129, 50, 0.08);
    --cc-footer-color: var(--secondary-color);
    --cc-safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);
}

#cc-main .cm,
#cc-main .pm {
    box-shadow: 0 24px 60px rgba(51, 51, 51, 0.2);
}

#cc-main .cm__title,
#cc-main .pm__title {
    font-weight: 700;
}

#cc-main .cm__desc {
    font-size: 0.95rem;
    line-height: 1.6;
}

#cc-main .cm__btn-group {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

#cc-main .cm__btn,
#cc-main .pm__btn {
    border-radius: 999px;
}

#cc-main .cm__btn[data-role="necessary"],
#cc-main .pm__btn[data-role="necessary"] {
    background: var(--cc-btn-secondary-bg);
    color: var(--cc-btn-secondary-color);
    border-color: var(--cc-btn-secondary-border-color);
}

#cc-main .cm__btn[data-role="necessary"]:hover,
#cc-main .cm__btn[data-role="necessary"]:focus-visible,
#cc-main .pm__btn[data-role="necessary"]:hover,
#cc-main .pm__btn[data-role="necessary"]:focus-visible {
    background: var(--cc-btn-secondary-hover-bg);
    color: var(--cc-btn-secondary-color);
    border-color: var(--cc-btn-secondary-hover-border-color);
}

#cc-main .pm__section {
    border-radius: 16px;
    border: 1px solid rgba(51, 51, 51, 0.08);
    padding: 1.25rem 1.5rem;
    box-shadow: 0 10px 30px rgba(51, 51, 51, 0.08);
    margin-bottom: 1rem;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

#cc-main .pm__section--toggle .pm__section-desc-wrapper {
    border-radius: 16px;
}

#cc-main .pm__section:hover {
    box-shadow: 0 16px 40px rgba(51, 51, 51, 0.12);
    border-color: rgba(233, 129, 50, 0.25);
}

#cc-main .pm__section-title {
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--secondary-color);
}

#cc-main .pm__section-desc {
    color: rgba(51, 51, 51, 0.7);
    line-height: 1.6;
}

#cc-main .pm__section-links a {
    color: var(--accent-color);
    text-decoration: none;
}

#cc-main .pm__section-links a:hover {
    text-decoration: underline;
}

@media (max-width: 575.98px) {
    #cc-main .cm {
        width: calc(100% - 2rem);
        margin: 0 1rem;
    }
}

@media (max-width: 991.98px) {
    #cc-main .cm--bottom {
        bottom: calc(var(--cc-modal-margin) + 6.5rem + var(--cc-safe-area-inset-bottom, 0px));
    }
}

@media (min-width: 992px) {
    #cc-main .cm--box.cm--wide {
        max-width: min(60rem, calc(100vw - 4rem));
    }

    #cc-main .cm--wide .cm__body {
        flex-direction: row;
        align-items: center;
        gap: 1.75rem;
    }

    #cc-main .cm--wide .cm__texts {
        padding: 1.5rem 1.5rem 1.5rem 1.75rem;
    }

    #cc-main .cm--wide .cm__desc {
        padding-bottom: 0;
    }

    #cc-main .cm--wide .cm__btns {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        border-top: none;
        border-left: 1px solid var(--cc-separator-border-color);
        padding: 1.5rem 1.75rem;
        gap: 0.75rem;
    }

    #cc-main .cm--wide .cm__btn-group {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 0.75rem;
    }

    #cc-main .cm--wide .cm__btn-group .cm__btn {
        flex: 0 0 auto;
    }
}
