/* Тема «Ёлка»: ночное небо, гирлянда и снег, пожелания на подарочных бирках */
*{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#22303f;--gold:#e6b84a;--paper:#fffaf0}
body{position:relative;font:400 17px/1.55 'PT Serif',Georgia,serif;color:var(--ink);overflow-x:hidden;min-height:100vh;background-color:#0b1830;
  background-image:radial-gradient(ellipse 80% 50% at 50% 0,#22457f 0,transparent 70%),linear-gradient(180deg,#0b1830 0,#10244a 60%,#173363 100%);background-attachment:fixed}
/* снег: хлопья разбросаны по плиткам 240 и 480 px, сдвиг на 480 px — цикл анимации без скачка */
body::before{content:"";position:fixed;left:0;right:0;top:-480px;bottom:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(circle at 20px 30px,#fff 0 1.8px,transparent 2.6px),radial-gradient(circle at 75px 110px,rgba(255,255,255,.7) 0 1.3px,transparent 2px),radial-gradient(circle at 130px 60px,rgba(255,255,255,.85) 0 2.2px,transparent 3px),radial-gradient(circle at 190px 150px,rgba(255,255,255,.6) 0 1.2px,transparent 2px),radial-gradient(circle at 50px 190px,rgba(255,255,255,.8) 0 1.6px,transparent 2.4px),radial-gradient(circle at 160px 222px,rgba(255,255,255,.9) 0 2px,transparent 2.8px),radial-gradient(circle at 222px 18px,rgba(255,255,255,.55) 0 1.1px,transparent 1.8px),radial-gradient(circle at 105px 172px,rgba(255,255,255,.7) 0 1.4px,transparent 2.2px),
    radial-gradient(circle at 300px 70px,rgba(255,255,255,.8) 0 2.4px,transparent 3.2px),radial-gradient(circle at 410px 300px,rgba(255,255,255,.6) 0 1.5px,transparent 2.3px),radial-gradient(circle at 270px 400px,rgba(255,255,255,.75) 0 1.9px,transparent 2.7px),radial-gradient(circle at 380px 160px,rgba(255,255,255,.5) 0 1.1px,transparent 1.8px),radial-gradient(circle at 455px 445px,rgba(255,255,255,.85) 0 2.1px,transparent 2.9px),radial-gradient(circle at 330px 260px,rgba(255,255,255,.65) 0 1.3px,transparent 2px);
  background-size:240px 240px,240px 240px,240px 240px,240px 240px,240px 240px,240px 240px,240px 240px,240px 240px,480px 480px,480px 480px,480px 480px,480px 480px,480px 480px,480px 480px;animation:snow 52s linear infinite}
@keyframes snow{to{transform:translateY(480px)}}
.garland{position:absolute;left:0;top:0;z-index:1;display:block;width:100%;height:90px;pointer-events:none}
.garland .wire{fill:none;stroke:#39414f;stroke-width:2.5}
.bulb{animation:tw 2.6s ease-in-out infinite}
.b0{color:#ff5a5a}.b1{color:#ffd23f;animation-delay:-.5s}.b2{color:#3ddc84;animation-delay:-1.1s}.b3{color:#4dabff;animation-delay:-1.7s}.b4{color:#ff7ad9;animation-delay:-2.2s}
@keyframes tw{50%{opacity:.4}}
.el-wrap{position:relative;z-index:1;max-width:1260px;margin:0 auto;padding:clamp(100px,8vw,120px) clamp(16px,4vw,48px) 150px}
.el-head{position:relative;text-align:center;color:#fff6e0;padding:0 clamp(0px,14vw,210px);margin-bottom:clamp(70px,7vw,96px)}
.el-kicker{font:700 clamp(12px,1vw,14px)/1.3 'PT Serif',serif;letter-spacing:.34em;color:var(--gold);margin-bottom:16px}
.el-head h1{font:400 clamp(40px,6vw,84px)/1.08 'Yeseva One',Georgia,serif;text-shadow:0 0 26px rgba(255,214,120,.35),0 3px 0 rgba(0,0,0,.25);overflow-wrap:anywhere}
.from{margin-top:16px;font:italic 400 clamp(17px,1.4vw,20px)/1.4 'PT Serif',serif;color:rgba(255,246,224,.85)}
.el-tree{position:absolute;left:0;top:-36px;width:clamp(100px,11vw,160px)}
.el-gift{position:absolute;right:0;top:30px;width:clamp(110px,12vw,170px)}
/* бирки висят на золотых нитках: нитка уходит вверх в промежуток между рядами */
.el-tags{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:60px 30px;align-items:start}
.tag{position:relative;min-width:0;background:var(--paper);border-top:12px solid var(--band);border-radius:12px;padding:26px 20px 14px;box-shadow:0 22px 36px -18px rgba(0,0,0,.75);transform:rotate(var(--r));transform-origin:50% -40px}
.tag::before{content:"";position:absolute;left:50%;top:-8px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:#10244a;box-shadow:0 0 0 3px var(--gold)}
.tag::after{content:"";position:absolute;left:50%;top:-46px;width:2px;height:40px;margin-left:-1px;background:linear-gradient(#b8862b,var(--gold))}
.t0{--r:-1.4deg;--band:#d62e3b}.t1{--r:1deg;--band:#1f8a4c}.t2{--r:-.6deg;--band:#e0a526}.t3{--r:1.3deg;--band:#2f6fd6}
.tag p{overflow-wrap:anywhere}
.tag.short p{font:400 23px/1.3 'Yeseva One',Georgia,serif;text-align:center;padding:6px 0}
.tag .media{display:block;width:100%;height:auto;border-radius:6px;margin-bottom:14px}
.tag-foot{display:flex;align-items:flex-end;gap:8px;margin-top:10px}
.tag-foot .sig{margin-left:auto;font:700 25px/1.1 'Caveat',cursive;color:#b3202e;text-align:right}
.tag-foot .stk{width:72px;height:72px;flex:none}
.tag .own{margin-top:8px}
.el-empty{text-align:center;font-size:20px;background:var(--paper);max-width:520px;margin:0 auto;padding:22px;border-radius:12px}
@media (max-width:760px){.el-tree,.el-gift{display:none}.el-head{padding:0}}
@media (prefers-reduced-motion:reduce){body::before,.bulb{animation:none}}
