/* Sepo Bridge — share buttons and contents box. Flat, and drawn from the text colour so it reads on light and dark themes. */
.sepo-share { --sepo-share-gap: 8px; display: flex; flex-wrap: wrap; align-items: center; gap: var(--sepo-share-gap) 12px; margin: 1.6em 0; clear: both; font-size: 15px; line-height: 1.3; }
.sepo-share__label { font-weight: 700; }
.sepo-share__list { display: flex; flex-wrap: wrap; gap: var(--sepo-share-gap); margin: 0 !important; padding: 0 !important; list-style: none !important; }
.sepo-share__list > li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.sepo-share__list > li::before, .sepo-share__list > li::marker { content: none; }
.sepo-share__btn { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--sepo-share-c, currentColor); background: var(--sepo-share-c, #3c434a); color: #fff !important; font: inherit; font-size: 14px; font-weight: 600; text-decoration: none !important; cursor: pointer; transition: filter .15s; }
.sepo-share__btn:hover { filter: brightness(1.12); }
.sepo-share__btn:focus-visible { outline: 3px solid var(--sd-focus, #2271b1); outline-offset: 2px; }
.sepo-share--outline .sepo-share__btn { background: transparent; color: inherit !important; border-color: color-mix(in srgb, currentColor 35%, transparent); }
.sepo-share--outline .sepo-share__btn:hover { background: color-mix(in srgb, currentColor 8%, transparent); filter: none; }
.sepo-share__icon { flex: none; }
.sepo-share__status { font-size: 14px; }
.sepo-share__status:empty { display: none; }
.sepo-share [hidden] { display: none !important; }

.sepo-toc { --sepo-toc-line: color-mix(in srgb, currentColor 18%, transparent); box-sizing: border-box; width: 100%; margin: 0 0 1.5em; padding: 14px 18px; border: 1px solid var(--sepo-toc-line); border-radius: 10px; background: color-mix(in srgb, currentColor 4%, transparent); font-size: 15px; line-height: 1.45; }
.sepo-toc__title { cursor: pointer; font-weight: 700; font-size: 1.05em; list-style-position: inside; }
.sepo-toc__title:focus-visible { outline: 3px solid var(--sd-focus, #2271b1); outline-offset: 3px; border-radius: 4px; }
.sepo-toc[open] .sepo-toc__title { margin-bottom: 8px; }
.sepo-toc__list { margin: 0 !important; padding: 0 0 0 1.25em !important; }
.sepo-toc__list .sepo-toc__list { margin-top: 4px !important; }
.sepo-toc__list li { margin: 0 0 5px !important; padding: 0 !important; }
.sepo-toc__list a { text-decoration: none; color: inherit; border-bottom: 1px solid transparent; }
.sepo-toc__list a:hover, .sepo-toc__list a:focus-visible { border-bottom-color: currentColor; }
.sepo-toc__list a.is-current { font-weight: 700; color: var(--sd-accent, inherit); }
@media (min-width: 782px) {
  .sepo-toc--left, .sepo-toc--right { width: 280px; max-width: 42%; }
  .sepo-toc--left { float: left; margin: 0.3em 2em 1.2em 0; }
  .sepo-toc--right { float: right; margin: 0.3em 0 1.2em 2em; }
}
:where(.entry-content, .wp-block-post-content, .post-content) :is(h2, h3, h4)[id] { scroll-margin-top: 90px; }
@media (prefers-reduced-motion: no-preference) { html:has(.sepo-toc) { scroll-behavior: smooth; } }
