.ws-wedding-gift{--ws-gift-card-shadow:0 22px 42px -32px rgba(15,20,30,0.32);--ws-gift-border:rgba(60,60,60,0.55)}.ws-wedding-gift .ws-introduce-couple__grid{align-items:stretch;gap:clamp(.8rem,2.6vw,2.5rem);max-width:960px}.ws-wedding-gift .ws-intro-person{display:flex;flex-direction:column;align-items:center;gap:clamp(.45rem,1.2vw,.9rem);padding:clamp(1.2rem,2.2vw,1.8rem);box-shadow:var(--ws-gift-card-shadow);position:relative;background:#fff;border:1.5px dashed var(--ws-gift-border);text-align:center}.ws-wedding-gift .ws-intro-person__role{letter-spacing:.18em;margin-bottom:.2rem;text-transform:uppercase;font-size:clamp(1rem,1.4vw,1.15rem);color:#1f2a33}.ws-wedding-gift .ws-intro-person__name{margin-top:0;font-family:inherit;font-size:clamp(1.4rem,4.2vw,1.85rem);letter-spacing:.04em;color:#2a343d;font-family:Great Vibes,Times New Roman,serif}.ws-wedding-gift .ws-gift-qr{width:min(68%,16rem);aspect-ratio:1/1;background:#fff;padding:clamp(.55rem,1.2vw,.8rem);box-shadow:unset}.ws-wedding-gift .ws-gift-qr__image{width:100%;height:100%;object-fit:contain;display:block;background:#fff}.ws-wedding-gift .ws-intro-person__bio{max-width:26rem;margin-top:0;color:#000}.ws-wedding-gift .ws-gift-info{list-style:none;padding:0;margin:.4rem 0 0;display:grid;gap:.35rem;font-size:clamp(.95rem,1.2vw,1.05rem);color:#2f3942}.ws-wedding-gift .ws-gift-info li{display:flex;justify-content:center;gap:.45rem;flex-wrap:wrap}.ws-wedding-gift .ws-gift-info__label{font-weight:600;color:#1f2a33}.ws-wedding-gift .ws-gift-info__value{font-weight:400}@media (max-width:980px){.ws-wedding-gift .ws-gift-qr{width:min(80%,18rem)}}.ws-gift-qr-lightbox{display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;background:rgba(0,0,0,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:1.2rem}.ws-gift-qr-lightbox.is-open{display:flex}.ws-gift-qr-lightbox__card{background:#fff;border-radius:1rem;padding:clamp(1.2rem,4vw,2rem);max-width:340px;width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative;box-shadow:0 32px 64px -12px rgba(0,0,0,.45);animation:ws-gift-qr-pop .22s cubic-bezier(.34,1.56,.64,1) both}@keyframes ws-gift-qr-pop{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}.ws-gift-qr-lightbox__close{position:absolute;top:.65rem;right:.75rem;background:none;border:none;cursor:pointer;font-size:1.45rem;line-height:1;color:#555;padding:.2rem .4rem;border-radius:50%;transition:background .15s}.ws-gift-qr-lightbox__close:hover{background:#f0f0f0}.ws-gift-qr-lightbox__name{font-family:Great Vibes,Times New Roman,serif;font-size:clamp(1.5rem,5vw,2rem);color:#2a343d;margin:0;text-align:center}.ws-gift-qr-lightbox__img-wrap{width:100%;max-width:220px}.ws-gift-qr-lightbox__img-wrap img{width:100%;height:auto;display:block;border-radius:.5rem}.ws-gift-qr-lightbox__btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.6rem;border-radius:8px;border:none;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.03em;background:#1f2a33;color:#fff;text-decoration:none;transition:background .18s,transform .12s}.ws-gift-qr-lightbox__btn:hover{background:#2f4050;transform:translateY(-1px)}.ws-gift-qr-lightbox__btn svg{flex-shrink:0}.ws-wedding-gift .ws-gift-qr__image{cursor:zoom-in;transition:transform .18s,box-shadow .18s;border-radius:.25rem}.ws-wedding-gift .ws-gift-qr__image:hover{transform:scale(1.04)}.ws-wedding-gift .ws-intro-person__photo-wrap:after{content:unset}.ws-wedding-gift .bg-main-image-overlay,.ws-wedding-gift .bg-main-image-overlay-2,.ws-wedding-gift .ws-introduce-couple__sparkles,.ws-wedding-gift .ws-introduce-couple__sparkles span{pointer-events:none}