body.theme-eco-christmas {
    --eco-navy: #0f6b3a;
    --eco-navy-2: #084426;
    --eco-red: #c41e3a;
    --eco-gold: #d4a017;
    --eco-muted: #4a6b58;
    --eco-bg: #f3f8f4;
}

body.theme-eco-christmas .top-category-nav,
body.theme-eco-christmas .footer,
body.theme-eco-christmas #footer,
body.theme-eco-christmas .footer-top,
body.theme-eco-christmas .footer-bottom,
body.theme-eco-christmas .search-box button[type="submit"],
body.theme-eco-christmas .btn-base-1,
body.theme-eco-christmas #side-filter {
    background: var(--eco-navy) !important;
    border-color: var(--eco-navy) !important;
}

body.theme-eco-christmas .top-category-list > li > a:hover,
body.theme-eco-christmas .top-category-list > li:hover > a {
    background: #c41e3a !important;
    color: #fff !important;
}

body.theme-eco-christmas .christmas-frost {
    pointer-events: none !important;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    height: 90px;
    z-index: 40;
    background:
        radial-gradient(circle at 8% 0, rgba(255,255,255,.9) 0 2px, transparent 3px),
        radial-gradient(circle at 22% 18px, rgba(255,255,255,.75) 0 1.5px, transparent 3px),
        radial-gradient(circle at 40% 6px, rgba(255,255,255,.85) 0 2px, transparent 3px),
        radial-gradient(circle at 63% 14px, rgba(255,255,255,.7) 0 1px, transparent 2px),
        radial-gradient(circle at 81% 4px, rgba(255,255,255,.9) 0 2px, transparent 3px),
        linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.12) 55%, transparent);
    box-shadow: inset 0 18px 28px rgba(255,255,255,.28);
}

body.theme-eco-christmas .christmas-snow {
    pointer-events: none !important;
    position: fixed;
    inset: 0;
    z-index: 45;
    overflow: hidden;
}

body.theme-eco-christmas .christmas-snow span {
    pointer-events: none !important;
    position: absolute;
    top: -40px;
    color: #fff;
    text-shadow: 0 0 8px rgba(255,255,255,.9), 0 0 2px #cdefff;
    animation-name: gm-snow-fall;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

body.theme-eco-christmas .christmas-snow span.is-flake {
    font-size: 14px;
}

body.theme-eco-christmas .christmas-snow span.is-ball {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #fff, #d7eefc 55%, #9ec9e8);
    box-shadow: 0 0 8px rgba(255,255,255,.85);
}

@keyframes gm-snow-fall {
    0% { transform: translate3d(0,-20px,0) rotate(0deg); opacity: .95; }
    100% { transform: translate3d(40px, 110vh, 0) rotate(360deg); opacity: .35; }
}

body.theme-eco-christmas .header,
body.theme-eco-christmas .top-category-nav,
body.theme-eco-christmas .logo-bar-area,
body.theme-eco-christmas .sidebar-box,
body.theme-eco-christmas .filter-wrapper,
body.theme-eco-christmas .footer {
    overflow: visible;
    position: relative;
}

body.theme-eco-christmas .top-category-nav {
    box-shadow: 0 8px 0 #c41e3a, 0 12px 18px rgba(8, 68, 38, .25);
}
body.theme-eco-christmas .top-category-nav .container {
    padding-left: 56px;
    padding-right: 56px;
    position: relative;
}
body.theme-eco-christmas .footer-top > .container {
    position: relative;
    padding-top: 12px;
}

body.theme-eco-christmas .xmas-deco {
    position: absolute;
    z-index: 6;
    pointer-events: none;
    line-height: 1;
    font-size: 33px;
    filter: drop-shadow(0 2px 2px rgba(0,0,0,.25));
    animation: gm-xmas-bob 2.6s ease-in-out infinite;
}

body.theme-eco-christmas .xmas-deco.is-lg {
    font-size: 42px;
}

body.theme-eco-christmas .xmas-deco-nav-left {
    left: 4px;
    top: 50%;
    margin-top: -21px;
}

body.theme-eco-christmas .xmas-deco-nav-right {
    right: 4px;
    top: 50%;
    margin-top: -21px;
}

body.theme-eco-christmas .xmas-deco-box-tl {
    top: -10px;
    left: -4px;
}

body.theme-eco-christmas .xmas-deco-box-tr {
    top: -10px;
    right: -4px;
}

body.theme-eco-christmas .xmas-deco-foot-tl {
    top: 18px;
    left: 8px;
}

body.theme-eco-christmas .xmas-deco-foot-tr {
    top: 18px;
    right: 8px;
}

@keyframes gm-xmas-bob {
    0%, 100% { transform: translateY(0) rotate(-8deg); }
    50% { transform: translateY(-5px) rotate(8deg); }
}

@media (max-width: 991px) {
    body.theme-eco-christmas .xmas-deco-nav-left,
    body.theme-eco-christmas .xmas-deco-nav-right {
        top: 4px;
        margin-top: 0;
        font-size: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.theme-eco-christmas .christmas-snow span,
    body.theme-eco-christmas .xmas-deco {
        animation: none !important;
    }
    body.theme-eco-christmas .christmas-snow span {
        display: none;
    }
}
