﻿@keyframes slideUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes modalSlideIn {
    from {
        transform: translateY(-20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.cookies-banner {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 24px 20px;
    background: #fff;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08), 0 3px 4px 0 rgba(0, 0, 0, 0.04), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    z-index: 10000;
    font-family: inherit;
}

.cookies-banner.visible {
    display: block;
}

.cookies-banner__container {
    max-width: 1200px;
    margin: 0 auto;
    font-size: 20px;
}

.cookies-banner__view {
    animation: slideUp 0.3s ease;
}

.cookies-banner__label {
    font-family: 'open_sanssemibold';
    font-size: 15px;
    line-height: 20px;
    font-weight: 600;
    margin-bottom: 8px;
}

.cookies-banner__text {
    margin-bottom: 24px;
}

.cookies-banner__link {
    display: inline;
    padding: 0;
    margin: 0;
    background: none;
    border: none;
    color: #6287A9;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-skip-ink: none;
    cursor: pointer;
}

.cookies-banner__text button,
.cookies-banner__text span {
    font-family: 'open_sanslight';
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    color: #6287A9;
}

.cookies-banner__link:hover {
    color: #6287A9;
}

.cookies-banner__link:active {
    color: #6287A9;
}

.cookies-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.cookies-banner__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 200px;
    gap: 8px;
    font-family: 'open_sansregular';
    padding: 16px;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-transform: uppercase;
}

.cookies-banner__btn_accept {
    background-color: #6287A9;
    color: #fff;
}

.cookies-banner__btn_accept:hover {
    background-color: #6287A9;
}

.cookies-banner__btn_decline {
    background-color: #EEEEEF;
    color: #6287A9;
}

.cookies-banner__btn_decline:hover {
    background-color: #EEEEEF;
}

.cookies-banner__btn-icon, .cookies-modal__btn-icon {
    width: 24px;
    height: 24px;
}

.cookies-modal-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 10001;
    justify-content: center;
    align-items: center;
    padding: 20px;
    animation: fadeIn 0.2s ease;
}

.cookies-modal-backdrop.visible {
    display: flex;
}

.cookies-modal {
    background: #fff;
    border-radius: 4px;
    padding: 24px 24px 48px 48px;
    width: 100%;
    max-width: 716px;
    max-height: 386px;
    overflow-y: auto;
    position: relative;
    animation: modalSlideIn 0.3s ease;
    box-shadow: 0px 103px 80px rgba(0, 0, 0, 0.05), 0px 46.4634px 37.6034px rgba(0, 0, 0, 0.0485509), 0px 21.7166px 20.8768px rgba(0, 0, 0, 0.0434331), 0px 8.8537px 10.8365px rgba(0, 0, 0, 0.0352711), 0px 2.43723px 4.31793px rgba(0, 0, 0, 0.0227379);
}

.cookies-modal__close {
    position: absolute;
    top: 24px;
    right: 24px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cookies-modal__close-icon {
    display: block;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.cookies-modal__title {
    font-family: 'open_sansregular';
    font-size: 20px;
    line-height: 24px;
    font-weight: 400;
    margin-bottom: 26px;
    color: #000;
    letter-spacing: -0.17px;
}

.cookies-modal__categories {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 24px;
}

.cookies-modal__category {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    cursor: pointer;
}

.cookies-modal__category_required {
    cursor: default;
}

.cookies-modal__category-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    pointer-events: none;
}

.cookies-modal__category-name {
    font-family: "open_sanssemibold";
    font-weight: 600;
    color: #000;
    font-size: 15px;
    line-height: 20px;
    letter-spacing: 0.1px;
}

.cookies-modal__category-desc {
    font-family: "open_sanslight";
    font-weight: 300;
    color: #666666;
    font-size: 15px;
    font-style: normal;
    line-height: normal;
    letter-spacing: 0.1px;
}

.cookies-modal__checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
}

.cookies-modal__checkbox-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.checkbox-svg {
    display: block;
    width: 24px;
    height: 24px;
    pointer-events: none;
}

.checkbox-bg,
.checkbox-check {
    transition: fill 0.15s ease;
}

.checkbox-bg {
    fill: #BABBC0;
}

.checkbox-check {
    fill: transparent;
}

.cookies-modal__checkbox:checked ~ .cookies-modal__checkbox-icon .checkbox-bg {
    fill: #6287A9;
}

.cookies-modal__checkbox:checked ~ .cookies-modal__checkbox-icon .checkbox-check {
    fill: #6287A9;
}

.cookies-modal__checkbox:disabled ~ .cookies-modal__checkbox-icon .checkbox-bg {
    fill: #646572;
}

.cookies-modal__checkbox:disabled ~ .cookies-modal__checkbox-icon .checkbox-check {
    fill: #646572;
}

.cookies-modal__checkbox:disabled ~ .cookies-modal__checkbox-icon {
    cursor: not-allowed;
}

.cookies-modal__category_required .cookies-modal__checkbox {
    cursor: not-allowed;
}

.cookies-modal__actions {
    display: flex;
    justify-content: flex-start;
}

.cookies-modal__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 200px;
    padding: 16px;
    font-family: "open_sansregular";
    font-size: 15px;
    line-height: 20px;
    font-weight: 400;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    background: #6287A9;
    color: white;
    text-transform: uppercase;
}

.cookies-modal__btn:hover {
    background: #6287A9;
}

@media (max-width: 640px) {
    .cookies-banner__actions {
        flex-direction: column;
    }

    .cookies-banner__btn, .cookies-modal__btn {
        width: 100%;
        min-width: auto;
        justify-content: center;
    }

    .cookies-modal {
        max-width: 100%;
        margin: 10px;
        max-height: none;
    }
}

.cookie-settings-link {
    display: inline;
    cursor: pointer;
    padding: 0;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    background: transparent;
    border: none;
    text-align: left;
    font-family: open_sansregular;
    font-size: 0.92em;
    color: #787878;
}

.cookie-settings-link:hover {
    color: #787878;
    text-decoration: underline;
}

.cookie-settings-link:active {
    color: #787878;
}

@media (min-width: 760px)and (max-width: 991px) {
    .cookie-settings-link {
        font-size: 1.02em;
    }
}
