/* ---------- Share sheet (public/share-sheet.js) ----------
   Big and thumb-first: the photo and title up top, four one-tap channels
   in a 2x2 grid, the phone's own share below, "open it first" last. A
   bottom sheet on phones, a centred card on desktop. */
html.share-sheet-open { overflow: hidden; }
.share-sheet { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: flex-end; justify-content: center; }
.share-sheet[hidden] { display: none; }
.share-sheet-backdrop { position: absolute; inset: 0; background: rgba(16, 42, 46, 0.5); opacity: 0; transition: opacity .18s ease; }
.share-sheet.in .share-sheet-backdrop { opacity: 1; }
.share-sheet-panel {
  position: relative; width: 100%; max-width: 480px; max-height: 92vh; overflow-y: auto;
  background: var(--paper); border-radius: 22px 22px 0 0; padding: 18px 18px max(18px, env(safe-area-inset-bottom));
  box-shadow: var(--shadow-lg); transform: translateY(24px); opacity: 0; transition: transform .2s ease, opacity .2s ease;
}
.share-sheet.in .share-sheet-panel { transform: none; opacity: 1; }
.share-sheet-x { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; font-size: 18px; color: var(--ink-soft); cursor: pointer; }
.share-sheet-hero { display: flex; gap: 14px; align-items: center; margin: 4px 36px 16px 0; }
.share-sheet-thumb { flex: 0 0 auto; width: 92px; height: 92px; object-fit: cover; border-radius: 16px; background: var(--paper-dim); }
.share-sheet-kicker { margin: 0 0 2px; font-family: var(--mono, 'Space Grotesk', monospace); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--coral-dark); }
.share-sheet-title { margin: 0; font-family: var(--display, 'Satoshi', system-ui, sans-serif); font-size: 1.3rem; line-height: 1.2; }
.share-sheet-lede { margin: 4px 0 0; font-size: 0.88rem; color: var(--ink-soft); }
.share-sheet-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.share-ch {
  display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; border: 0; border-radius: 14px;
  font: inherit; font-weight: 700; font-size: 1rem; color: #fff; cursor: pointer;
}
.share-ch span { font-size: 1.2rem; }
.share-ch--wa { background: #1DA851; }
.share-ch--sms { background: #2B7BE4; }
.share-ch--fb { background: #1877F2; }
.share-ch--copy { background: var(--ink); }
.share-ch:focus-visible, .share-native:focus-visible, .share-open:focus-visible { outline: 3px solid var(--marigold); outline-offset: 2px; }
.share-native { display: block; width: 100%; min-height: 48px; margin-top: 10px; border: 1.5px solid var(--ink); border-radius: 14px; background: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.share-open { display: block; text-align: center; margin: 14px 0 2px; min-height: 44px; line-height: 44px; font-weight: 700; color: var(--coral-dark); }
@media (min-width: 700px) {
  .share-sheet { align-items: center; }
  .share-sheet-panel { border-radius: 22px; }
}
@media (prefers-reduced-motion: reduce) { .share-sheet-panel, .share-sheet-backdrop { transition: none; } }
