.ny-garland-svg {
    --ny-wire-color: rgb(26, 47, 66);
    --ny-wire-small-color: rgb(63, 34, 26);
}

.ny-grinch {
    --ny-grinch-snow-main-color: rgb(196, 227, 245);
    --ny-grinch-snow-add-color: rgb(229, 245, 255);
    --ny-grinch-line: rgb(22, 20, 18);
}

html.is-dark-mode .ny-garland-svg {
    --ny-wire-color: rgb(53, 53, 53);
    --ny-wire-small-color: rgb(59, 59, 59);
}

html.is-dark-mode .pagination {
    background: rgb(55 55 55 / 31%);
}

html.is-dark-mode .ny-grinch {
    --ny-grinch-snow-main-color: rgb(180, 200, 215);
    --ny-grinch-snow-add-color: rgb(215, 230, 240);
    --ny-grinch-line: rgb(180, 200, 215);
}

html.ny-content-long .ny-grinch-wrapper {
    display: block;
}

html.ny-content-long .ny-three-wrapper svg {
    width: 100%;
}

.snowflakes-box .snowflake {
    pointer-events: none;
}

main.content {
    overflow-x: hidden;
}

main.content .card2 .card-body {
    margin: -0.5rem;
}

header {
    position: relative;
}

.container--nav {
    z-index: 80;
}

.header__bottom {
    z-index: 12;
}

.waves-bgs {
    z-index: 5;
}

.waves-bgs--header {
    z-index: auto;
}

/* Декор новогодней темы */
.ny-header-decorations {
    width: auto;
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    overflow: hidden;
    pointer-events: none;
}
.ny-header-decorations-inner {
    height: 100%;
    margin: 0 -1000px;
}
.ny-header-decoration-container {
    width: 1958px !important;:before
    max-width: 100% !important;
    height: 100%;
    position: relative;
    margin: 0 auto;
}
.ny-header-decoration {
    position: absolute;
    top: 0;
    bottom: 0;
    width: fit-content;
    display: flex;
    align-items: center;
}
.ny-header-decoration::after {
    width: 370px;
    height: 270px;
    content: ' ';
    display: block;
    background: no-repeat 0 0 url(../img/ny-theme/ny-header-decor.png);
    background-size: 100% 100%;
}

.ny-header-decoration--left {
    left: 0;
    top: -65px;
}
.ny-header-decoration--left::before {
    width: 38px;
    height: 70px;
    content: ' ';
    position: absolute;
    left: 200px;
    top: 60px;
    background: no-repeat 0 0 url(../img/ny-theme/ny-header-decor-star.svg);
    background-size: 100% 100%;
}

.ny-header-decoration--right {
    right: 0;
    top: -95px;
}
.ny-header-decoration--right::after {
    transform: scaleX(-1);
}

.ny-header-decor {
    max-height: 100%;
    width: auto;
}

.mobile-panel__logo {
    position: relative;
    flex: none;
    width: 36px;
    height: 36px;
    overflow: visible;
}

.mobile-panel__logo img {
    width: 36px;
    height: 36px;
    display: block;
}

.mobile-panel__logo--ny img {
    width: 42px;
    height: 42px;
    margin-top: -3px;
    margin-left: -3px;
}

/* Контейнер для Санты */
.ny-santa-wrapper {
    position: absolute;
    top: -500px;
    right: 120px;
    pointer-events: none;
    animation: ny-santa-slide 2s cubic-bezier(0.6, 0, 0.4, 1) forwards;
    animation-delay: 3s;
}
.ny-santa-wrapper::after {
    width: 192px;
    height: 504px;
    content: ' ';
    display: block;
    background: no-repeat url(../img/ny-theme/ny-santa.svg);
    background-size: 100% 100%;
}

/* Плавный выезд сверху */
@keyframes ny-santa-slide {
    0% {
        top: -500px;
        opacity: 0;
    }
    60% {
        top: 0;
        opacity: 1;
    }
    75% {
        top: -45px;
    }
    90% {
        top: 0;
    }
    100% {
        top: 0;
    }
}


.ny-container {
    position: relative;
}

.ny-garlands-anchor {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    inset: 0;
}

.ny-garlands {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
}

.ny-garland {
    width: 808px;
    height: 562px;
    position: absolute;
    max-width: 35vw;
    background: no-repeat 0 0 url(../img/ny-theme/ny-garland.svg);
    background-size: 100% 100%;
}

.ny-garland--left {
    left: -29rem;
}

.ny-garland--right {
    right: -29rem;
    transform: scaleX(-1);
}

.ny-garland--level-1 {
    top: 10%;
}

.ny-garland--level-2 {
    top: 40%;
}

.ny-garland--level-3 {
    top: 70%;
}

.card .pagination {
    position: relative;
    z-index: 1;
    overflow: hidden;
    background: rgba(241, 242, 243, 1);
    height: 220px;
}
@media all and (max-width: 972px) {
    .card .pagination {
        height: 160px;
    }
}

.card .pagination::before {
    content: '';
    position: absolute;
    inset: 0;
    background: no-repeat center 0 url(../img/ny-theme/ny-pagination-image.png) !important;
    background-size: cover !important;
    z-index: 0 !important;
    height: 100% !important;
}

.ny-wide-image {
    pointer-events: none;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}
.ny-wide-image::after {
    height: 140px;
    content: "";
    display: block;
    background: repeat-x center 0 url(../img/ny-theme/ny-wide-decor.png);
    background-size: auto 100%;
}
@media all and (max-width: 972px) {
    .ny-wide-image::after {
        height: 90px;
    }
}
@media all and (max-width: 772px) {
    .ny-wide-image::after {
        height: 60px;
    }
}
@media all and (max-width: 572px) {
    .ny-wide-image::after {
        height: 40px;
    }
}

.ny-wide-image img {
    width: 100%;
}

.main-description .text-desc hr {
    width: 100%;
    height: 20px;
    background-image: url('../img/ny-theme/ny-three-line.png') !important;
    background-size: contain !important;
    background-repeat: repeat-x;
    border: 0;
    opacity: 1;
}

.ny-footer-decor {
    position: absolute;
    bottom: 100%;
    height: 0;
    width: 100%;
    pointer-events: none;
    z-index: -1;
}

.ny-three-wrapper {
    position: absolute;
    left: 30px;
    bottom: -7px;
    width: fit-content;
}
.ny-three-wrapper::after {
    width: 314px;
    height: 506px;
    content: ' ';
    display: block;
    background: no-repeat 0 0 url(../img/ny-theme/ny-three.png);
    background-size: 100% 100%;
}

.ny-grinch-wrapper {
    position: absolute;
    right: 0;
    bottom: 0;
    width: fit-content;
    display: none;
}
.ny-grinch-wrapper::after {
    width: 462px;
    height: 313px;
    content: ' ';
    display: block;
    background: no-repeat 0 0 url(../img/ny-theme/ny-grinch.svg);
    background-size: 100% 100%;
}

.is-dark-mode .ny-grinch-wrapper::after {
    background-image: url(../img/ny-theme/ny-grinch-dark.svg);
}


.waves-bgs--footer {
    opacity: 0;
}

@media all and (max-width: 1750px) {
    header .header__inner--nav,
    header .nav-categories-item {
        background-color: rgba(7, 5, 16, 0.65);
    }
}

@media all and (max-width: 1750px) {
    .ny-three-wrapper img {
        height: 300px;
        width: 100%;
    }

    .ny-grinch-wrapper::after {
        width: 369px;
        height: 250px;
    }

    .ny-santa-wrapper {
        right: 15px;
    }
}

@media all and (max-width: 1520px) {
    .ny-three-wrapper::after {
        width: 190px;
        height: 306px;
    }
    .ny-santa-wrapper::after {
        width: 102px;
        height: 304px;
    }
}

@media all and (max-width: 1400px) {
    .ny-santa-wrapper {
        display: none;
    }
}

@media all and (max-width: 1350px) {
    .ny-three-wrapper::after {
        width: 124px;
        height: 200px;
    }

    .ny-grinch-wrapper::after {
        width: 295px;
        height: 200px;
    }
}

@media all and (max-width: 1300px) {
    .ny-garlands-anchor {
        display: none;
    }
}

@media all and (max-width: 773px) {
    .ny-three-wrapper,
    .ny-grinch-wrapper {
        display: none !important;
    }

    .waves-bgs--footer {
        opacity: 1;
    }
}

.footer::before {
    width: 100%;
    height: 15px;
    content: ' ';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: -9px;
    background: repeat-x 0 0 url(../img/ny-theme/ny-show.svg);
    background-size: auto 100%;
}
.is-dark-mode .footer::before{
    filter: contrast(0.1);
}
