/* Seasonal collection. Scoped to keep the rest of STOLIK unchanged. */
.new-year-page{max-width:1240px;padding-top:22px;padding-bottom:80px}
.new-year-page .ny-back{display:inline-block;margin-bottom:22px;color:var(--text-muted);font-size:14px;text-decoration:none}
.new-year-page .new-year-head{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;padding:64px 52px;min-height:420px;background:#1c211c url('/static/img/new-year-friends.webp') center 55%/cover;color:#fff9ef}
.new-year-head:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,23,19,.96),rgba(15,23,19,.76) 42%,rgba(15,23,19,.12))}
.new-year-page .ny-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--text-muted);margin:0 0 18px}
.new-year-head .ny-kicker{color:#e4bd8d}
.new-year-page .new-year-head h1{color:inherit;font-size:clamp(40px,5.6vw,72px);line-height:1.06;letter-spacing:-.055em;margin:0 0 22px;font-weight:800;max-width:650px}
.new-year-head h1 span{color:#e9c49a;display:block}
.new-year-page .ny-lead{color:#e2ddd3;max-width:340px;font-size:17px;line-height:1.65;margin:0 0 28px}
.new-year-page .btn{border-radius:999px;min-height:46px;font-weight:600;letter-spacing:normal}
.ny-caption{position:absolute;right:26px;bottom:22px;color:#eee9df;font-size:11px;letter-spacing:.04em}
.ny-selection{padding-top:44px;scroll-margin-top:30px}
.ny-section-title h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.04em;margin:0 0 8px}
.ny-section-title p{color:var(--text-muted);margin:0 0 24px;font-size:15px}
.new-year-page .new-year-filters{display:grid;grid-template-columns:1fr .65fr 1.15fr auto;gap:18px;align-items:end;padding:0 0 26px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none}
.new-year-filters label{display:grid;gap:8px;font-size:12px;font-weight:600;color:var(--text-muted);min-width:0}
.new-year-page .new-year-filters input,.new-year-page .new-year-filters select{width:100%;box-sizing:border-box;min-height:50px;border-radius:12px;background:var(--surface);color:var(--text);border:1px solid var(--border);padding:12px 14px;font:inherit;font-size:16px}
.new-year-page .new-year-filters .btn{min-height:50px;padding-inline:28px}
.new-year-count{color:var(--text-muted);font-size:13px;margin:22px 0}
.new-year-grid{display:grid;gap:24px}
.new-year-card{display:grid;grid-template-columns:minmax(220px,34%) minmax(0,1fr);overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:22px}
.new-year-card__media{display:block;min-height:290px;overflow:hidden;background:var(--surface-2)}
.new-year-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.new-year-card__body{padding:28px;min-width:0;overflow-wrap:anywhere}
.new-year-page .new-year-card h2{font-size:26px;letter-spacing:-.035em;margin:0 0 8px}
.new-year-card h2 a{color:inherit;text-decoration:none}
.new-year-card__body .ny-kicker{margin-bottom:10px}
.new-year-card__body .muted,.new-year-card__facts{color:var(--text-muted);font-size:13px}
.ny-program{font-size:15px;line-height:1.65;white-space:pre-line}
.new-year-card__facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0}
.new-year-card__price{display:block;font-size:19px;margin:20px 0}
.new-year-card__actions{display:flex;flex-wrap:wrap;gap:10px}
.ny-details{font-size:14px;line-height:1.6;border-top:1px solid var(--border);padding-top:14px}
.ny-details summary{cursor:pointer;font-weight:600;padding:8px 0}.ny-details p{white-space:pre-line}.ny-details h3{font-size:14px}
.ny-no-photo{height:100%;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);font-size:24px;letter-spacing:.08em}.ny-no-photo span{font-size:12px;letter-spacing:0}
.ny-empty{padding:48px 24px 32px;max-width:580px;margin:auto;text-align:center}
.ny-empty-label{color:var(--text-muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.ny-empty h3{font-size:clamp(23px,3vw,30px);line-height:1.25;letter-spacing:-.035em;margin:14px 0}
.ny-empty p{color:var(--text-muted);font-size:15px;line-height:1.7;margin:0 0 24px}
@media(max-width:700px){.new-year-page{padding-top:16px;padding-bottom:44px}.new-year-page .new-year-head{padding:34px 24px 48px;min-height:380px;border-radius:22px;background-position:65% center}.new-year-head:before{background:linear-gradient(90deg,rgba(15,23,19,.94),rgba(15,23,19,.5))}.new-year-page .ny-lead{font-size:16px;max-width:260px}.ny-caption{right:auto;left:24px;font-size:10px;bottom:16px}.ny-selection{padding-top:32px}.new-year-page .new-year-filters{grid-template-columns:1fr 1fr;gap:14px}.new-year-filters label:last-of-type{grid-column:1/-1}.new-year-filters .btn{grid-column:1/-1;width:100%}.new-year-card{grid-template-columns:1fr}.new-year-card__media{min-height:0;height:220px}.new-year-card__body{padding:22px}.new-year-card__actions .btn{flex:1}.ny-empty{padding:30px 4px}.new-year-page .new-year-head h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){.new-year-page *{scroll-behavior:auto}}

/* Snow stays in the photographic header, away from forms and programme text. */
.new-year-head .ny-intro{position:relative;z-index:2}
.ny-snow{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;perspective:500px}
.ny-flake{position:absolute;top:-44px;width:18px;height:18px;color:#f2faff;opacity:0;filter:drop-shadow(1px 2px 1px #7891a099) drop-shadow(-1px -1px 1px #fff);animation:ny-snowfall 15s linear infinite;pointer-events:none}
.ny-flake svg{width:100%;height:100%;animation:ny-turn 8s ease-in-out infinite}
@keyframes ny-snowfall{0%{transform:translate3d(0,-30px,0);opacity:0}10%{opacity:.72}85%{opacity:.6}100%{transform:translate3d(38px,600px,0);opacity:0}}
@keyframes ny-turn{0%,100%{transform:rotateY(0deg) rotateZ(0deg)}50%{transform:rotateY(65deg) rotateZ(100deg)}}
.ny-snow-toggle{position:absolute;z-index:3;right:20px;top:18px;border:1px solid #ffffff50;border-radius:99px;background:#14211999;color:#fff;font:inherit;font-size:11px;min-height:44px;padding:8px 14px;cursor:pointer}
.ny-snow-toggle:focus-visible{outline:2px solid white;outline-offset:3px}
.ny-snow-paused .ny-flake,.ny-snow-paused .ny-flake svg{animation-play-state:paused}
@media(max-width:700px){.ny-flake:nth-child(n+11){display:none}.ny-snow-toggle{top:auto;bottom:9px;right:10px;font-size:10px;min-height:36px}.ny-caption{max-width:150px}.new-year-page .new-year-head{background-position:62% center}}
@media(prefers-reduced-motion:reduce){.ny-snow,.ny-snow-toggle{display:none}.ny-flake,.ny-flake svg{animation:none}}
.ny-flake:nth-child(1){left:37%;animation-duration:14s;animation-delay:-1.7s;width:17px;height:17px}
.ny-flake:nth-child(2){left:74%;animation-duration:16s;animation-delay:-3.4s;width:22px;height:22px}
.ny-flake:nth-child(3){left:14%;animation-duration:18s;animation-delay:-5.1s;width:27px;height:27px}
.ny-flake:nth-child(4){left:51%;animation-duration:20s;animation-delay:-6.8s;width:12px;height:12px}
.ny-flake:nth-child(5){left:88%;animation-duration:22s;animation-delay:-8.5s;width:17px;height:17px}
.ny-flake:nth-child(6){left:28%;animation-duration:24s;animation-delay:-10.2s;width:22px;height:22px}
.ny-flake:nth-child(7){left:65%;animation-duration:12s;animation-delay:-11.9s;width:27px;height:27px}
.ny-flake:nth-child(8){left:5%;animation-duration:14s;animation-delay:-13.6s;width:12px;height:12px}
.ny-flake:nth-child(9){left:42%;animation-duration:16s;animation-delay:-15.299999999999999s;width:17px;height:17px}
.ny-flake:nth-child(10){left:79%;animation-duration:18s;animation-delay:-17.0s;width:22px;height:22px}
.ny-flake:nth-child(11){left:19%;animation-duration:20s;animation-delay:-18.7s;width:27px;height:27px}
.ny-flake:nth-child(12){left:56%;animation-duration:22s;animation-delay:-20.4s;width:12px;height:12px}
.ny-flake:nth-child(13){left:93%;animation-duration:24s;animation-delay:-22.099999999999998s;width:17px;height:17px}
.ny-flake:nth-child(14){left:33%;animation-duration:12s;animation-delay:-23.8s;width:22px;height:22px}
.ny-flake:nth-child(15){left:70%;animation-duration:14s;animation-delay:-25.5s;width:27px;height:27px}
.ny-flake:nth-child(16){left:10%;animation-duration:16s;animation-delay:-27.2s;width:12px;height:12px}
.ny-flake:nth-child(17){left:47%;animation-duration:18s;animation-delay:-28.9s;width:17px;height:17px}
.ny-flake:nth-child(18){left:84%;animation-duration:20s;animation-delay:-30.599999999999998s;width:22px;height:22px}

/* Festive atmosphere belongs to the page, without a separate photo panel. */
body:has(.new-year-page){position:relative;isolation:isolate}
body:has(.new-year-page)::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:85px 0 auto;height:640px;background:linear-gradient(90deg,var(--bg) 2%,transparent 78%),linear-gradient(0deg,var(--bg) 0%,transparent 65%),url('/static/img/new-year-friends.webp') right center/cover no-repeat;opacity:.48}
.new-year-page .new-year-head{background:none!important;border-radius:0;overflow:visible;isolation:auto;min-height:340px;padding:50px 0 36px;color:var(--text)}
.new-year-page .new-year-head::before{display:none}
.new-year-page .new-year-head h1{max-width:900px;font-size:clamp(44px,6vw,76px)}
.new-year-page .new-year-head h1 span{display:inline;color:var(--accent)}
.new-year-page .new-year-head .ny-kicker{color:var(--text-muted)}
.new-year-page .ny-lead{color:var(--text-muted);max-width:390px}
.new-year-page .ny-caption{display:none}
.ny-snow{position:fixed;inset:0;z-index:12;pointer-events:none;height:100dvh}
.ny-flake{color:#d9e6ec;filter:drop-shadow(1px 2px 1px #61798960) drop-shadow(-1px -1px 1px #fff9)}
@keyframes ny-snowfall{0%{transform:translate3d(0,-40px,0);opacity:0}10%{opacity:.5}85%{opacity:.4}100%{transform:translate3d(38px,calc(100dvh + 60px),0);opacity:0}}
.ny-snow-toggle{position:fixed;top:auto;bottom:18px;left:18px;right:auto;z-index:13;background:var(--surface);color:var(--text-muted);border-color:var(--border);box-shadow:none}
.ny-selection{position:relative;padding-top:20px}
@media(max-width:700px){body:has(.new-year-page)::before{height:530px;opacity:.32;background-position:center}.new-year-page .new-year-head{padding:30px 0;min-height:290px}.new-year-page .new-year-head h1{font-size:48px;max-width:320px}.ny-snow-toggle{left:12px;bottom:12px;right:auto;min-height:44px}.ny-snow{height:100dvh}}
