.photo-share { align-self: flex-start; margin-top: 14px; padding: 4px 0; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: .8rem; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; min-height: 44px; }
.share-dialog { box-sizing: border-box; width: min(520px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 28px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); border-radius: 8px; box-shadow: 0 20px 80px #0004; }
.share-dialog::backdrop { background: #10121a99; }
.share-dialog__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.share-dialog h2 { font-size: 2rem; margin: 0; }
.share-dialog__heading button { border: 0; background: transparent; color: inherit; font-size: 1.6rem; min-width: 44px; min-height: 44px; cursor: pointer; }
.share-dialog p { font-size: .9rem; line-height: 1.6; }
.share-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 24px 0 0; }
.share-options a,.share-options button { display: flex; align-items: center; justify-content: flex-start; gap: 12px; min-height: 56px; padding: 10px; border: 1px solid var(--line); background: white; color: var(--ink); font: inherit; font-size: .85rem; text-decoration: none; cursor: pointer; }
.share-options a:hover,.share-options button:hover { border-color: var(--navy); background: var(--cream); }
.share-status { margin: 14px 0 0; }
.share-status:empty { display: none; }
.share-options svg { width: 24px; height: 24px; flex: 0 0 24px; }
.share-options [data-share-native] { grid-column: 1 / -1; justify-content: center; }
.share-copy-fallback { width: 100%; padding: 12px; margin-top: 14px; border: 1px solid var(--line); background: white; font: inherit; }
.share-instagram { padding: 12px; background: var(--cream); }
.share-instagram p { margin-top: 0; }.share-instagram a { font-size: .85rem; }
body.sharing-open { overflow: hidden; }
@media(max-width:520px) { .share-dialog { padding: 20px; }.share-dialog h2 { font-size: 1.6rem; } }
