/* A fixed, transparent celebration layer leaves the page geometry untouched. */
.gift-fireworks{position:fixed;inset:0;z-index:170;pointer-events:none;isolation:isolate;font-family:Arial,'Malgun Gothic',sans-serif}
.gift-fireworks-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gift-fireworks-banner{box-sizing:border-box;position:absolute;top:calc(79px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;width:max-content;max-width:calc(100vw - 32px);min-width:310px;padding:14px 48px 14px 17px;border:1px solid #cbd8f4;border-radius:13px;background:linear-gradient(110deg,#f7faff 0%,#fff 68%,#fffcf5 100%);box-shadow:0 8px 28px #213c7b1a,0 2px 5px #213c7b08;color:#25344d;pointer-events:none;animation:gift-fireworks-reveal 4s ease both}
.gift-fireworks-emblem{display:grid;place-items:center;flex:none;width:36px;height:40px;color:#b78a32}
.gift-fireworks-emblem svg{display:block;width:34px;height:34px}
.gift-fireworks-copy{min-width:0;max-width:360px}
.gift-fireworks-eyebrow{display:block;margin-bottom:5px;color:#6f82a4;font-size:9px;font-weight:600;line-height:1.35;letter-spacing:.5px}
.gift-fireworks-people{display:flex;align-items:center;gap:9px;min-width:0;font-size:14px;line-height:1.4;letter-spacing:-.3px}
.gift-fireworks-people strong{min-width:0;max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.gift-fireworks-arrow{flex:none;color:#8a9dc5;font-size:15px;line-height:1}
.gift-fireworks-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;color:#3164ef;font-size:11px;font-weight:700;line-height:1.5;font-variant-numeric:tabular-nums}
.gift-fireworks-close{box-sizing:border-box;position:absolute;right:8px;top:8px;display:grid;place-items:center;width:32px;height:32px;padding:6px;border:0;border-radius:8px;background:transparent;color:#8796af;cursor:pointer;pointer-events:auto;touch-action:manipulation}
.gift-fireworks-close svg{display:block;width:20px;height:20px}
.gift-fireworks-close:hover{background:#edf2fc;color:#3164ef}
.gift-fireworks-close:focus-visible{outline:2px solid #3164ef;outline-offset:2px}
.gift-fireworks-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes gift-fireworks-reveal{0%{opacity:0;transform:translate(-50%,-8px)}8%,90%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-4px)}}
@media(max-width:600px){
  .gift-fireworks-banner{top:calc(73px + env(safe-area-inset-top,0px));width:calc(100vw - 24px);max-width:390px;min-width:0;gap:10px;padding:12px 44px 12px 12px;border-radius:11px}
  .gift-fireworks-emblem{width:28px;height:34px}
  .gift-fireworks-emblem svg{width:28px;height:28px}
  .gift-fireworks-copy{flex:1;max-width:none}
  .gift-fireworks-people{gap:7px;font-size:12px}
  .gift-fireworks-people strong{flex:0 1 auto;max-width:calc((100% - 22px)/2)}
  .gift-fireworks-eyebrow{font-size:8px;margin-bottom:4px}
  .gift-fireworks-detail{font-size:10px;margin-top:4px}
  .gift-fireworks-close{right:6px;top:6px}
}
@media(prefers-reduced-motion:reduce){.gift-fireworks-banner{animation:none}.gift-fireworks-canvas{display:none}}
