/* THEME SETTINGS - MAGNAVITA */

:root, ::after, ::before {
    --_cookiesAccentColor: var(--color-elpida-purple);
    --_cookiesBoxShadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.10);
    --_cookiesBoxHeadingFontSize: 20px;
    --_cookiesBoxHeadingFontWeight: 600;
    --_cookiesBoxHeadingColor: #1e1e1e;
    --_cookiesSettingsHeadingFontSize: 26px;
    --_cookiesSettingsHeadingFontWeight: 600;
    --_cookiesSettingsHeadingColor: #1e1e1e;
    --_cookiesSettingsBorderRadius: 4px;
    --_cookiesSettingsShadow: box-shadow: 0px 5px 40px 0px rgba(0, 0, 0, 0.09);
    --_cookiesBoxTextFontSize: 15px;
    --_cookiesBoxTextFontWeight: 400;
    --_cookiesBoxTextColor: #484848;
    --_cookiesBoxTextLinkColor: #1e1e1e;
    --_cookiesBoxTextLinkColorHover: var(--color-elpida-purple);
    --_cookiesOptionHeadingColor: #1e1e1e;
    --_cookiesOptionHeadingFontSize: 17px;
    --_cookiesOptionHeadingFontWeight: 700;

    /* buttons */
    --_cookiesBtnPadding: 18px 24px 12px;
    --_cookiesBtnBorderRadius: 100px;
    --_cookiesBtnFontSize: 16px;
    --_cookiesBtnFontWeight: 600;
    --_cookiesBtnTextTransform: uppercase;
    --_cookiesBtnPrimaryBackground: var(--color-elpida-purple);
    --_cookiesBtnPrimaryBackgroundHover: var(--color-elpida-purple-light);
    --_cookiesBtnPrimaryColorHover: #fff;
    --_cookiesBtnSecondaryBackground: #F0F3F4;
    --_cookiesBtnSecondaryBackgroundHover: #1e1e1e;
    --_cookiesBtnSecondaryColor: #1e1e1e;
    --_cookiesBtnSecondaryColorHover: #fff;
    
    --_cookiesBtnGhostColor: #1e1e1e;
}

@media screen and (min-width: 920px) {
    :root, ::after, ::before {
        --_cookiesBoxHeadingFontSize: 22px;
        --_cookiesSettingsHeadingFontSize: 30px;
    }
}

/* THEME SETTINGS END */

.cookies-box, .cookies-settings {
    display: none;
    &[open] {
        display: block;
    }
}

.cookies-box {
    width: 100%;
    position: fixed;
    top: unset;
    bottom: 0;
    max-width: 100%;
    /* transform: translateY(-100%); */
    left: 0;
    z-index: 103;
    background: var(--_cookiesBoxBackground, #fff);
    border: var(--_cookiesBoxBorder, none);
    border-radius: var(--_cookiesBoxBorderRadius, 0);
    box-shadow: var(--_cookiesBoxShadow, none);
}
.cookies-box-inner {
    max-width: 650px;
    padding: 24px;
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-inline: auto;
}
.cookies-box__controls {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    width: 100%;
    justify-content: center;
}
.cookies-box__heading {
    text-align: center;
    font-size: var(--_cookiesBoxHeadingFontSize, 20);
    color: var(--_cookiesBoxHeadingColor, #111);
    font-weight: var(--_cookiesBoxHeadingFontWeight, 700);
}
.cookies-box__text {
    text-align: center;
    font-size: var(--_cookiesBoxTextFontSize, 16);
    color: var(--_cookiesBoxTextColor, #333);
    font-weight: var(--_cookiesBoxTextFontWeight, 400);
    margin-top: 16px;
    line-height: 146%;
}
.cookies-box__text-link {
    font-size: var(--_cookiesBoxTextFontSize, 16);
    color: var(--_cookiesBoxTextLinkColor, #111);
    font-weight: var(--_cookiesBoxTextFontWeight, 400);
    /* text-decoration: none; */
    transition: all .2s ease-in-out;

    &:hover, &:focus-visible {
        color: var(--_cookiesAccentColor);
    }
}

.cookies-btn {
    display: block;
    padding: var(--_cookiesBtnPadding, 16px 20px);
    text-align: center;
    font-size: var(--_cookiesBtnFontSize, 16px);
    letter-spacing: var(--_cookiesBtnLetterSpacing, unset);
    font-weight: var(--_cookiesBtnFontWeight, 500);
    text-transform: var(--_cookiesBtnTextTransform, none);
    background: transparent;
    text-decoration: none;
    border: var(--_cookiesBtnBorder, 1px solid transparent);
    border-radius: var(--_cookiesBtnBorderRadius, 100px);
    cursor: pointer;
    transition: all .2s ease-in-out;
}
.cookies-btn--ghost {
    background: var(--_cookiesBtnGhostBackground, transparent);
    color: var(--_cookiesBtnGhostColor, #111);
    &:hover, &:focus-visible {
        background: var(--_cookiesBtnGhostBackgroundHover);
        color: var(--_cookiesAccentColor);
    }
}
.cookies-btn--primary {
    background: var(--_cookiesBtnPrimaryBackground, #79a733);
    color: var(--_cookiesBtnPrimaryColor, #fff);
    &:hover, &:focus-visible {
        background: var(--_cookiesBtnPrimaryBackgroundHover);
        color: var(--_cookiesBtnPrimaryColorHover);
    }
}
.cookies-btn--secondary {
    background: var(--_cookiesBtnSecondaryBackground, #eee);
    color: var(--_cookiesBtnSecondaryColor, #333);
    &:hover, &:focus-visible {
        background: var(--_cookiesBtnSecondaryBackgroundHover);
        color: var(--_cookiesBtnSecondaryColorHover);
    }
}

.cookies-settings {
    background: var(--_cookiesSettingsBackground, #fff);
    border: var(--_cookiesSettingsBorder, none);
    border-radius: var(--_cookiesSettingsBorderRadius, 0);
    box-shadow: var(--_cookiesSettingsShadow, none);
    padding: 40px 24px 24px;
    width: 680px;
    left: 0;
    bottom: 0;
    height: 100%;
    &::backdrop {
        background: var(--_cookiesSettingsBackdrop, rgba(18, 18, 18, 0.5));
    }
}
.cookies-settings__close {
    position: absolute;
    top: 24px;
    right: 24px;
    border: 0;
    padding: 0;
    margin: 0;
    background: none;
    display: grid;
    place-items: center;
    color: var(--_cookiesBoxTextLinkColor, #111);
    transition: all .2s ease-in-out;
    cursor: pointer;

    &:hover, &:focus-visible {
        color: var(--_cookiesAccentColor, #79a733);
    }
}
.cookies-settings__text {
    font-size: var(--_cookiesBoxTextFontSize, 16);
    color: var(--_cookiesBoxTextColor, #333);
    font-weight: var(--_cookiesBoxTextFontWeight, 400);
    line-height: 146%;
}

.cookies-settings__heading {
    font-size: var(--_cookiesSettingsHeadingFontSize, 26);
    color: var(--_cookiesSettingsHeadingColor, #111);
    font-weight: var(--_cookiesSettingsHeadingFontWeight, 700);
    margin-bottom: 12px;
}
.cookies-settings__options {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 100%;
    gap: 24px;
    padding-bottom: 180px;
}
.cookies-settings-option {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    cursor: pointer;

    &.is-disabled {
        pointer-events: none;
        cursor: not-allowed;
    }
}
.cookies-settings-option.is-disabled .cookies-settings-option__checkbox {
    accent-color: #B2B2B2;
}
.cookies-settings-option__checkbox {
    min-width: 24px;
    height: 24px;
    accent-color: var(--_cookiesAccentColor, #79a733);
}
.cookies-settings-option__content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.cookies-settings-option__heading {
    display: block;
    color: var(--_cookiesOptionHeadingColor, #111);
    font-size: var(--_cookiesOptionHeadingFontSize, 17px);
    font-weight: var(--_cookiesOptionHeadingFontWeight, 700);
}
.cookies-settings__controls {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 24px;
    left: 0;
    background: var(--_cookiesSettingsBackground, #fff);
    box-shadow: var(--_cookiesBoxShadow, none);
}

@media screen and (min-width: 920px) {
    .cookies-box {
        padding: 40px;
    }
    .cookies-box__controls {
        margin-top: 32px;
        align-items: center;
        flex-direction: row;
        gap: 16px;
        margin-top: 24px;
        max-width: auto;
    }
    .cookies-settings {
        padding: 40px 60px;
        left: 0;
        top: 50%;
        transform: translate(0, -50%);
        bottom: unset;
        height: auto;
        margin-inline: auto;
    }
    .cookies-settings__controls {
        flex-direction: row;
        justify-content: flex-start;
        gap: 16px;
        margin-top: 32px;
        position: unset;
        padding: 0;
        box-shadow: none;
    }
    .cookies-settings__options {
        padding-bottom: 0;
    }   
}