.article-meta-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0.5rem 1.5rem; margin-top:1.25rem; }
.article-heading .article-meta-row .story-meta { margin:0; min-width:0; }
.article-share-trigger { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; gap:7px; min-height:44px; padding:7px 12px; border:1px solid var(--editorial-rule); border-radius:4px; background:transparent; color:var(--paper-ink); font:400 0.95rem/1.3 var(--display-font); cursor:pointer; }
.article-share-trigger svg { width:18px; height:18px; }
.article-share-trigger:hover { border-color:var(--accent); color:var(--accent); background:rgba(118,46,38,0.04); }
.article-share-trigger:focus-visible,.share-dialog button:focus-visible,.share-dialog a:focus-visible,.share-link-input:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.share-dialog { box-sizing:border-box; width:min(620px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 40px); overflow:auto; overscroll-behavior:contain; margin:auto; padding:26px; border:1px solid var(--editorial-rule); border-radius:8px; color:var(--paper-ink); background:var(--paper); box-shadow:0 18px 60px rgba(20,12,7,0.2); font-family:var(--text-font); }
.share-dialog::backdrop { background:rgba(20,12,7,0.46); }
body:has(.share-dialog[open]) { overflow:hidden; }
.share-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:20px; }
.share-dialog-header h2 { margin:0; font:700 clamp(1.6rem,4vw,2rem)/1.2 var(--display-font); letter-spacing:-0.02em; }
.share-close { flex-shrink:0; display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; border-radius:4px; background:transparent; color:var(--paper-ink); cursor:pointer; }
.share-close svg { width:22px; height:22px; }
.share-close:hover { background:rgba(57,36,27,0.07); }
.share-story-preview { display:flex; align-items:center; gap:16px; padding-bottom:20px; border-bottom:1px solid var(--editorial-rule); }
.share-story-photo { flex-shrink:0; width:104px; height:72px; object-fit:contain; background:rgba(57,36,27,0.04); }
.share-story-title { margin:0 0 5px; font:700 1.22rem/1.2 var(--display-font); overflow-wrap:anywhere; }
.share-story-byline { margin:0; color:var(--quiet-ink); font-size:0.8rem; line-height:1.5; }
.share-link-label { display:block; margin:19px 0 7px; font-size:0.8rem; color:var(--quiet-ink); }
.share-link-row { display:flex; align-items:stretch; gap:10px; }
.share-link-input { box-sizing:border-box; min-width:0; width:100%; padding:11px 10px; border:1px solid var(--editorial-rule); border-radius:4px; background:#fff9ef; color:var(--paper-ink); font:400 0.85rem/1.3 var(--text-font); }
.share-copy { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; gap:7px; min-height:44px; padding:10px 14px; border:1px solid var(--accent); border-radius:4px; background:var(--accent); color:#fff7e8; font:400 0.95rem/1.3 var(--display-font); cursor:pointer; }
.share-copy svg { width:17px; height:17px; }
.share-copy:hover { filter:brightness(1.1); }
.share-status { min-height:1.5em; margin:7px 0 10px; color:var(--quiet-ink); font-size:0.8rem; line-height:1.5; }
.share-options { display:grid; grid-template-columns:180px minmax(0,1fr); gap:30px; align-items:center; padding-top:20px; border-top:1px solid var(--editorial-rule); }
.share-qr { margin:0; text-align:center; }
.share-qr-image { display:flex; align-items:center; justify-content:center; min-height:160px; }
.share-qr-image svg { display:block; width:160px; height:160px; max-width:100%; background:#fff; }
.share-qr figcaption { margin:7px 0 0; color:var(--quiet-ink); font-size:0.8rem; line-height:1.4; }
.share-qr-image p { font-size:0.85rem; line-height:1.5; }
.share-email { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--accent); text-underline-offset:4px; font:400 1rem/1.5 var(--display-font); }
.share-email svg { width:21px; height:21px; }
.share-email-hint { margin:6px 0 0; color:var(--quiet-ink); font-size:0.8rem; line-height:1.5; }
.share-dialog [hidden] { display:none !important; }
@media(max-width:520px) {
 .article-meta-row { gap:8px 16px; }
 .article-share-trigger { font-size:0.9rem; }
 .share-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); padding:18px; }
 .share-dialog-header { margin-bottom:14px; }
 .share-story-preview { gap:12px; padding-bottom:16px; }
 .share-story-photo { width:82px; height:62px; }
 .share-story-title { font-size:1.1rem; }
 .share-link-row { flex-wrap:wrap; }
 .share-link-input { width:100%; font-size:16px; }
 .share-copy { width:100%; }
 .share-options { grid-template-columns:140px minmax(0,1fr); gap:14px; padding-top:16px; }
 .share-qr-image { min-height:140px; }
 .share-qr-image svg { width:140px; height:140px; }
}
@media(max-height:500px) and (min-width:521px) {
 .share-dialog { padding:16px 24px; }
 .share-dialog-header { margin-bottom:8px; }
 .share-story-preview { padding-bottom:10px; }
 .share-link-label { margin-top:10px; }
 .share-options { padding-top:10px; grid-template-columns:130px minmax(0,1fr); }
 .share-qr-image { min-height:110px; }
 .share-qr-image svg { width:110px; height:110px; }
}

.share-copy-icons,.share-copy-labels { display:inline-grid; align-items:center; justify-items:center; }
.share-copy-icons > svg,.share-copy-labels > span { grid-area:1 / 1; }
.share-copied-icon,.share-copy-done { visibility:hidden; }
.share-copy.is-copied .share-copy-icon,.share-copy.is-copied .share-copy-idle { visibility:hidden; }
.share-copy.is-copied .share-copied-icon,.share-copy.is-copied .share-copy-done { visibility:visible; animation:copy-confirm 160ms ease-out; }
@keyframes copy-confirm { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .share-copy.is-copied .share-copied-icon,.share-copy.is-copied .share-copy-done { animation:none; } }
