/* Share popup (public pages). Deliberately theme-neutral: white card, dark text. */
.share-modal {
    width: min(92vw, 380px); max-height: 92vh; overflow: auto; margin: auto; padding: 1.5rem 1.25rem 1.5rem;
    border: 3px solid #111; border-radius: 18px; background: var(--neo-cream); color: #111; text-align: center;
    box-shadow: var(--tb-shadow-sm); font-family: inherit;
}
.share-modal::backdrop { background: rgba(15, 23, 42, .55); }
.share-modal__close {
    position: absolute; top: .5rem; right: .75rem; width: 2.25rem; height: 2.25rem; border: 0; background: none;
    font-size: 1.9rem; line-height: 1; cursor: pointer; color: #111;
}
.share-modal__heading { margin: 0 0 .9rem; font-size: .95rem; font-weight: 700; }
.share-modal__heading--sub { margin-top: 1.1rem; }
.share-modal__qr { display: flex; justify-content: center; }
.share-modal__qr canvas { max-width: 100%; height: auto; }
.share-modal__link { margin-top: .6rem; border: 0; background: none; color: var(--neo-ink); font: inherit; font-size: .85rem; text-decoration: underline; cursor: pointer; }
.share-modal__socials { display: flex; justify-content: center; gap: 1.1rem; }
.share-modal__social { display: inline-flex; padding: .35rem; color: #111; }
.share-modal__social:hover { color: var(--neo-ink); }
.share-modal__btn {
    display: block; width: 100%; padding: .8rem 1rem; border: 3px solid #111; border-radius: 10px; background: var(--neo-lime);
    color: #111; font: inherit; font-weight: 600; cursor: pointer;
}
.share-modal__btn:hover { background: var(--neo-yellow); }
.share-modal__wallet {
    position: relative; display: flex; flex-direction: column; align-items: flex-start; width: 100%; margin-top: .9rem;
    padding: .6rem 1rem; border: 0; border-radius: 12px; background: #111; color: #fff; text-align: left; opacity: .55; cursor: not-allowed;
}
.share-modal__wallet-top { font-size: .72rem; }
.share-modal__wallet-main { font-size: 1.15rem; font-weight: 600; }
.share-modal__soon { position: absolute; right: .75rem; top: 50%; transform: translateY(-50%); padding: .15rem .5rem; border-radius: 999px; background: #fff; color: #111; font-size: .7rem; font-weight: 700; }
.share-modal__status { margin: .75rem 0 0; font-size: .85rem; color: #047857; }
.share-modal[hidden], .share-modal [hidden] { display: none; }
.share-open-row { display: flex; justify-content: center; margin: 1.25rem 0; }
.share-open-btn {
    padding: .65rem 1.4rem; border: 2px solid var(--tb-primary, #111); border-radius: 999px; background: transparent;
    color: var(--tb-primary, #111); font: inherit; font-weight: 600; cursor: pointer;
}
.share-open-btn:hover { background: var(--tb-primary, #111); color: #fff; }

.share-modal__qrimg { display: block; width: 240px; height: 240px; max-width: 100%; object-fit: contain; border-radius: 8px; background: #fff; }
