/* Article sharing (theme/share.js, assets/share.js) */
.byline { border: 0; padding: 0; margin-top: 16px; }

/* reading progress under the sticky header */
.sh-progress { position: fixed; left: 0; right: 0; top: 0; z-index: 25; height: 3px; pointer-events: none; }
.sh-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--red), var(--amber)); transform-origin: 0 50%; transform: scaleX(0); }

/* side rail (wide screens) */
.sh-rail { position: fixed; z-index: 24; left: max(14px, calc((100vw - 1280px) / 2 - 62px)); top: 50%; display: none; flex-direction: column; align-items: center; gap: 8px; padding: 10px 7px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 18px 40px -22px rgba(0,0,0,.45); opacity: 0; transform: translate(-8px, -50%); transition: opacity .3s, transform .3s; pointer-events: none; }
.sh-rail.is-on { opacity: 1; transform: translate(0, -50%); pointer-events: auto; }
.sh-rail-label { writing-mode: vertical-rl; transform: rotate(180deg); font: 700 10px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); padding: 4px 0 6px; }
.sh-btn { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 999px; border: 0; background: transparent; color: var(--ink); cursor: pointer; transition: background .2s, color .2s, transform .2s; }
.sh-btn svg { width: 19px; height: 19px; }
.sh-btn:hover, .sh-btn:focus-visible { transform: scale(1.08); color: #fff; }
.sh-btn.sh-whatsapp:hover { background: #25D366; }
.sh-btn.sh-facebook:hover { background: #1877F2; }
.sh-btn.sh-x:hover { background: #111; }
.sh-btn.sh-linkedin:hover { background: #0A66C2; }
.sh-btn.sh-native:hover, .sh-btn[data-sh-copy]:hover { background: var(--red); }
@media (min-width: 1400px) { .sh-rail { display: flex; } }

/* phone / small screens: one floating button */
.sh-fab { position: fixed; z-index: 24; left: 16px; bottom: calc(80px + env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px 0 13px; border-radius: 999px; border: 0; background: var(--ink); color: var(--paper); font: 700 14px/1 var(--sans); box-shadow: 0 14px 30px -14px rgba(0,0,0,.6); cursor: pointer; opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .3s, transform .3s; }
.sh-fab svg { width: 18px; height: 18px; }
.sh-fab.is-on { opacity: 1; transform: none; pointer-events: auto; }
@media (min-width: 1024px) { .sh-fab { bottom: 24px; } }
@media (min-width: 1400px) { .sh-fab { display: none; } }
/* no native sheet: the rail opens as a bottom sheet */
.sh-rail.is-sheet { display: flex; flex-direction: row; left: 16px; right: 16px; top: auto; bottom: calc(132px + env(safe-area-inset-bottom)); justify-content: space-around; border-radius: 20px; padding: 10px; transform: none; opacity: 1; pointer-events: auto; }
.sh-rail.is-sheet .sh-rail-label { display: none; }

/* quote bubble */
.sh-quote { position: fixed; z-index: 60; display: flex; align-items: center; gap: 2px; padding: 5px 6px 5px 12px; border-radius: 999px; background: #141210; color: #fff; box-shadow: 0 14px 30px -12px rgba(0,0,0,.7); }
.sh-quote[hidden] { display: none; }
.sh-quote-label { font: 700 11px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: #FFB32C; margin-right: 6px; }
.sh-quote button { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 999px; background: transparent; color: #fff; cursor: pointer; }
.sh-quote button:hover { background: rgba(255,255,255,.15); }
.sh-quote svg { width: 16px; height: 16px; }

/* toast */
.sh-toast { position: fixed; z-index: 70; left: 50%; bottom: calc(90px + env(safe-area-inset-bottom)); transform: translateX(-50%); padding: 10px 16px; border-radius: 999px; background: #141210; color: #fff; font: 700 13px/1 var(--sans); box-shadow: 0 14px 30px -12px rgba(0,0,0,.6); }
.sh-toast[hidden] { display: none; }

/* end of article */
.sh-end { margin: 40px 0 8px; padding: 22px; border-radius: 20px; background: var(--surface); border: 1px solid var(--line); text-align: center; }
.sh-end-k { margin: 0; font: 700 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.sh-end-t { margin: 8px 0 16px; font: 700 22px/1.15 var(--display); color: var(--ink); }
.sh-end-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.prose .sh-pill, .sh-pill { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--paper); color: var(--ink); font: 700 14px/1 var(--sans); text-decoration: none; cursor: pointer; transition: border-color .2s, color .2s, transform .2s; }
.sh-pill svg { width: 17px; height: 17px; }
.sh-pill:hover { transform: translateY(-2px); }
.sh-pill.sh-whatsapp:hover { border-color: #25D366; color: #128C4B; }
.sh-pill.sh-facebook:hover { border-color: #1877F2; color: #1877F2; }
.sh-pill.sh-x:hover { border-color: var(--ink); }
.sh-pill.sh-linkedin:hover { border-color: #0A66C2; color: #0A66C2; }
.sh-pill.sh-native { background: var(--red); border-color: var(--red); color: #fff; }
.sh-pill[hidden] { display: none; }
html[data-theme="dark"] .sh-pill.sh-whatsapp:hover { color: #25D366; }
@media (max-width: 599px) {
  .sh-end { padding: 18px 14px; }
  .sh-end-t { font-size: 19px; }
  .sh-pill span { display: none; }
  .sh-pill { width: 46px; padding: 0; justify-content: center; }
  .sh-pill.sh-native { width: auto; padding: 0 16px; }
  .sh-pill.sh-native span { display: inline; }
}
@media (prefers-reduced-motion: reduce) { .sh-rail, .sh-fab, .sh-btn, .sh-pill { transition: none; } }
