/* Новогоднее оформление: снегопад, сугробы, сосульки, гирлянда, шапка на логотипе. Включается классом html.winter. */
.wn-snow { position: fixed; inset: 0; z-index: 2; pointer-events: none; display: none; }
html.winter:not(.winter-off) .wn-snow { display: block; }
.wn-toggle { position: fixed; left: 14px; bottom: 54px; z-index: 9998; width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer; font-size: 20px; line-height: 1; color: #3f78b5;
  background: rgba(255, 255, 255, .92); box-shadow: 0 10px 22px -10px rgba(59, 36, 24, .5); display: none; transition: transform .2s; }
html.winter .wn-toggle { display: grid; place-items: center; }
.wn-toggle:hover { transform: rotate(40deg) scale(1.08); }
html.winter.winter-off .wn-toggle { opacity: .6; }

/* сугроб внизу экрана */
.wn-drift { position: fixed; left: 0; right: 0; bottom: 0; height: 46px; z-index: 0; pointer-events: none; display: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V34C60 14 120 12 190 26 260 40 300 14 380 10 470 6 520 30 600 34 690 38 740 12 830 12 910 12 960 36 1040 32 1110 28 1150 14 1200 22V60Z' fill='%23fff'/%3E%3Cpath d='M0 60V44C80 30 150 34 230 42 320 50 380 30 470 30 560 30 620 48 710 46 800 44 860 26 950 28 1040 30 1110 46 1200 40V60Z' fill='%23eaf2fb'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
  filter: drop-shadow(0 -4px 10px rgba(63, 120, 181, .18)); }
html.winter:not(.winter-off) .wn-drift { display: block; }

/* сугроб над подвалом */
html.winter:not(.winter-off) .site-foot { position: relative; margin-top: 40px; }
html.winter:not(.winter-off) .site-foot::before { content: ''; position: absolute; left: 0; right: 0; top: -38px; height: 40px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V30C70 8 140 6 220 22 300 38 350 8 440 8 530 8 590 36 680 34 770 32 830 6 930 10 1020 14 1080 36 1150 28 1180 24 1195 20 1200 22V60Z' fill='%23fff'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat; }

/* шапка: гирлянда и сосульки */
html.winter:not(.winter-off) .site-head { overflow: visible; }
html.winter:not(.winter-off) .site-head::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 14px; pointer-events: none; z-index: 1;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'%3E%3Cpath d='M0 2C15 10 45 10 60 2 75 10 105 10 120 2' fill='none' stroke='%233b2418' stroke-opacity='.45' stroke-width='1.2'/%3E%3Ccircle cx='15' cy='8' r='3.4' fill='%23e8a04a'/%3E%3Ccircle cx='45' cy='8' r='3.4' fill='%234a86c5'/%3E%3Ccircle cx='75' cy='8' r='3.4' fill='%23c94f4f'/%3E%3Ccircle cx='105' cy='8' r='3.4' fill='%235fa86a'/%3E%3C/svg%3E") 0 0 / 120px 14px repeat-x; animation: wn-lights 2.6s steps(1) infinite; }
@keyframes wn-lights { 0% { filter: brightness(1.25); } 50% { filter: brightness(.7) saturate(1.2); } }
html.winter:not(.winter-off) .site-head::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 26px; pointer-events: none; z-index: 1;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='26' viewBox='0 0 140 26'%3E%3Cpath d='M0 0H140V3C132 3 130 22 126 22 122 22 120 3 112 3 104 3 102 12 99 12 96 12 94 3 86 3 78 3 76 18 72 18 68 18 66 3 58 3 50 3 48 10 45 10 42 10 40 3 32 3 24 3 22 20 18 20 14 20 12 3 4 3H0Z' fill='%23fff' fill-opacity='.95'/%3E%3C/svg%3E") 0 0 / 140px 26px repeat-x; filter: drop-shadow(0 3px 4px rgba(63, 120, 181, .25)); }
.site-head .wrap { position: relative; z-index: 2; }
@media (max-width: 720px) { html.winter:not(.winter-off) .site-head::after { height: 18px; background-size: 100px 18px; } }

/* шапка Деда Мороза на логотипе */
html.winter:not(.winter-off) .site-head .logo { position: relative; padding-left: 2px; }
html.winter:not(.winter-off) .site-head .logo::before { content: ''; position: absolute; left: -9px; top: -14px; width: 28px; height: 24px; transform: rotate(-16deg); pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 24'%3E%3Cpath d='M3 20C4 9 11 2 21 3 22 9 24 14 26 19Z' fill='%23d94a4a'/%3E%3Crect x='1' y='17' width='26' height='6' rx='3' fill='%23fff'/%3E%3Ccircle cx='22' cy='4' r='3.6' fill='%23fff'/%3E%3C/svg%3E") center / contain no-repeat; }

/* лёгкий иней в углах экрана */
html.winter:not(.winter-off) body::after { content: ''; position: fixed; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(420px 300px at 0 0, rgba(255, 255, 255, .65), transparent 70%), radial-gradient(420px 300px at 100% 0, rgba(220, 234, 247, .7), transparent 70%); }

/* снежные шапки на блоках */
html.winter:not(.winter-off) .promo .wrap, html.winter:not(.winter-off) .cab-test, html.winter:not(.winter-off) .kaspi-band .wrap { position: relative; }
html.winter:not(.winter-off) .arch-wrap::before { content: '❄'; position: absolute; right: -6px; top: -14px; font-size: 34px; color: #fff; text-shadow: 0 0 14px #8db7e3, 0 0 30px #6fa3d8; z-index: 3; animation: mv-bob 4s ease-in-out infinite; }
html.winter:not(.winter-off) .arch-wrap { position: relative; }
html.winter:not(.winter-off) .final::after { content: '❄  ❅  ❆  ❄  ❅'; position: absolute; left: 0; right: 0; bottom: 14px; text-align: center; letter-spacing: .6em; color: rgba(255, 255, 255, .55); font-size: 22px; pointer-events: none; }

@media (prefers-reduced-motion: reduce) { .wn-snow { display: none !important; } html.winter .site-head::before { animation: none; } }
@media (max-width: 720px) { .wn-drift { height: 30px; } .wn-toggle { bottom: 40px; left: 10px; width: 36px; height: 36px; } }
