.zn-noel{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;
  background:rgba(20,28,25,.55);opacity:0;transition:opacity .25s ease;font-family:inherit}
.zn-noel.is-on{opacity:1}
.zn-noel__card{position:relative;width:min(92vw,820px);max-height:92vh;padding:7px;border-radius:20px;
  background:repeating-linear-gradient(-45deg,#b3261e 0 11px,#fff 11px 22px);
  box-shadow:0 0 0 2px #e7c46a,0 0 26px rgba(231,196,106,.45),0 24px 60px rgba(0,0,0,.4);
  transform:translateY(14px) scale(.98);transition:transform .25s ease;display:flex;flex-direction:column}
.zn-noel__in{position:relative;background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-height:0}
.zn-noel__lights{position:absolute;top:0;left:0;right:0;height:22px;display:flex;justify-content:space-around;align-items:flex-start;
  padding:0 6px;pointer-events:none;z-index:2;background:linear-gradient(#0b5d4b,#0b5d4b) top/100% 3px no-repeat}
.zn-noel__lights i{display:block;width:9px;height:13px;margin-top:3px;border-radius:50% 50% 55% 55%;background:var(--c);
  box-shadow:0 0 8px 2px var(--c);animation:zn-twinkle 1.8s ease-in-out infinite;animation-delay:var(--d)}
@keyframes zn-twinkle{0%,100%{opacity:1}50%{opacity:.35}}
.zn-snow{position:absolute;top:-24px;color:#fff;pointer-events:none;text-shadow:0 0 4px rgba(255,255,255,.8);
  animation:zn-fall linear infinite;opacity:.85;user-select:none}
@keyframes zn-fall{to{transform:translate3d(var(--dx),110vh,0) rotate(200deg)}}
.zn-noel.is-on .zn-noel__card{transform:none}
.zn-noel__img{display:block;width:100%;height:auto;min-height:0;object-fit:contain;background:#f4f1ea}
.zn-noel__img img{display:block;width:100%;height:auto;max-height:calc(92vh - 90px);object-fit:contain}
.zn-noel__bar{display:flex;align-items:center;justify-content:center;padding:12px 14px;background:#fff}
.zn-noel__cta{display:inline-block;background:#0b5d4b;color:#fff;text-decoration:none;font-weight:600;letter-spacing:.04em;
  padding:12px 28px;border-radius:999px;font-size:16px;line-height:1.2;text-align:center}
.zn-noel__cta:hover,.zn-noel__cta:focus-visible{background:#094a3c;color:#fff}
.zn-noel__x{position:absolute;top:22px;right:22px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.95);color:#26302c;font-size:24px;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.25);
  display:flex;align-items:center;justify-content:center}
.zn-noel__x:hover,.zn-noel__x:focus-visible{background:#fff;outline:2px solid #0b5d4b}
@media (max-width:640px){.zn-noel__card{width:min(94vw,400px)}.zn-noel__img img{max-height:calc(92vh - 86px)}
  .zn-noel__cta{width:100%;padding:13px 16px}}
@media (prefers-reduced-motion:reduce){.zn-noel,.zn-noel__card{transition:none}.zn-snow{display:none}.zn-noel__lights i{animation:none}}

.zn-tab{position:fixed;right:0;top:52%;z-index:99990;display:flex;flex-direction:column;align-items:center;gap:8px;
  width:36px;padding:12px 0 14px;border:0;border-radius:12px 0 0 12px;cursor:pointer;color:#fff;font-family:inherit;font-weight:700;font-size:12px;line-height:1;letter-spacing:.12em;text-transform:uppercase;
  background:repeating-linear-gradient(-45deg,#b3261e 0 9px,#c63a31 9px 18px);box-shadow:-2px 2px 12px rgba(0,0,0,.28),inset 2px 0 0 #e7c46a;
  transform:translateX(110%);opacity:0;transition:transform .35s ease,opacity .35s ease;animation:zn-nudge 7s ease-in-out 3s infinite}
.zn-tab.is-on{transform:none;opacity:1}
.zn-tab span{writing-mode:vertical-rl;white-space:nowrap}
.zn-tab i{position:absolute;top:-4px;left:-4px;width:10px;height:10px;border-radius:50%;background:#f9c846;box-shadow:0 0 8px 3px #f9c846;animation:zn-twinkle 1.6s ease-in-out infinite}
.zn-tab:hover,.zn-tab:focus-visible{transform:translateX(-4px);outline:none;box-shadow:-3px 3px 16px rgba(0,0,0,.35),inset 2px 0 0 #f3d27a}
@keyframes zn-nudge{0%,88%,100%{translate:0}92%{translate:-7px}96%{translate:0}98%{translate:-4px}}
@media (max-width:640px){.zn-tab{top:46%;width:32px;font-size:11px;padding:10px 0 12px}}
@media print{.zn-tab,.zn-noel{display:none!important}}
@media (prefers-reduced-motion:reduce){.zn-tab{animation:none;transition:none}.zn-tab i{animation:none}}
