.dc-share-boundary {
    display: block;
    width: 0;
    height: 0;
    overflow: hidden;
}

.dc-share {
    --dc-share-ink: #111419;
    --dc-share-paper: #eee7dc;
    --dc-share-paper-soft: #f8f4ed;
    --dc-share-gold: #c6a767;
    position: relative;
    z-index: 1;
    width: fit-content;
    max-width: 100%;
    margin: 25px 0 34px auto;
    color: var(--dc-share-ink);
    font: 750 11px/1.2 Manrope, Arial, sans-serif;
    letter-spacing: .015em;
}

.dc-share[hidden],
.dc-share [hidden] {
    display: none !important;
}

.dc-share__trigger,
.dc-share__fallback > summary {
    display: inline-flex;
    min-height: 44px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 15px;
    color: var(--dc-share-ink);
    background: var(--dc-share-paper);
    border: 1px solid rgba(128, 103, 47, .66);
    border-radius: 999px;
    box-shadow: 0 7px 22px rgba(9, 11, 13, .18);
    cursor: pointer;
    font: inherit;
    letter-spacing: .025em;
    list-style: none;
    text-decoration: none;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease;
}

.dc-share__fallback > summary::-webkit-details-marker {
    display: none;
}

.dc-share__icon {
    flex: 0 0 16px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.75;
}

.dc-share__fallback[open] {
    width: min(304px, calc(100vw - 44px));
}

.dc-share__fallback[open] > summary {
    margin-left: auto;
    color: var(--dc-share-paper-soft);
    background: var(--dc-share-ink);
    border-color: var(--dc-share-ink);
}

.dc-share__popover {
    box-sizing: border-box;
    width: min(304px, calc(100vw - 44px));
    margin-top: 9px;
    padding: 13px;
    color: var(--dc-share-paper-soft);
    background: #0d1014;
    border: 1px solid rgba(198, 167, 103, .72);
    border-radius: 13px;
    box-shadow: 0 18px 46px rgba(9, 11, 13, .28);
}

.dc-share__popover-head {
    display: flex;
    min-height: 28px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.dc-share__popover-head strong {
    color: var(--dc-share-paper-soft);
    font-size: 11px;
    letter-spacing: .045em;
}

.dc-share__close {
    display: inline-flex;
    width: 44px;
    min-width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    margin: -8px -7px -8px 0;
    padding: 0;
    color: rgba(248, 244, 237, .76);
    background: transparent;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    font: 400 24px/1 Arial, sans-serif;
}

.dc-share__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

body.single .dc-article-body .dc-share__links a,
.dc-share__links button {
    display: inline-flex;
    min-width: 0;
    min-height: 44px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    color: var(--dc-share-paper-soft) !important;
    background: rgba(248, 244, 237, .045);
    border: 1px solid rgba(248, 244, 237, .2);
    border-radius: 8px;
    cursor: pointer;
    font: 750 10px/1.2 Manrope, Arial, sans-serif;
    letter-spacing: .018em;
    text-align: center;
    text-decoration: none !important;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}

.dc-share__status {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* JavaScript removes the inline fallback from the layout. Outside the reading
   bounds the enhanced root is hidden, so it keeps no phantom margin or height. */
.dc-share--enhanced {
    display: none;
    z-index: 80;
    width: auto;
    max-width: none;
    margin: 0;
    pointer-events: none;
}

.dc-share--enhanced.dc-share--floating {
    position: fixed;
    top: max(
        calc(var(--dc-share-header-bottom, 0px) + 12px),
        calc(env(safe-area-inset-top) + 12px)
    );
    right: max(6px, env(safe-area-inset-right));
    bottom: auto;
    left: auto;
    display: block;
    transform: none;
    pointer-events: auto;
}

/* When keyboard focus is still inside at the reading boundary, keep the
   compact control in its original DOM position (immediately after the marker).
   It then occupies normal flow and cannot cover the related-content block. */
.dc-share--enhanced.dc-share--docked {
    position: static;
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 18px 0 24px auto;
    transform: none;
    pointer-events: auto;
}

.dc-share--enhanced.dc-share--docked .dc-share__popover {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: min(304px, calc(100vw - 44px));
    max-height: min(330px, 58svh);
    margin-top: 9px;
    transform: none;
}

.dc-share--enhanced .dc-share__trigger {
    background: rgba(238, 231, 220, .98);
    box-shadow: 0 0 0 6px rgba(9, 11, 13, .16), 0 9px 28px rgba(9, 11, 13, .26);
}

.dc-share--enhanced .dc-share__popover {
    position: absolute;
    top: calc(100% + 11px);
    right: 0;
    bottom: auto;
    left: auto;
    max-height: 330px;
    max-height: min(330px, 58svh);
    margin: 0;
    overflow: auto;
    overscroll-behavior: contain;
    transform: none;
}

.dc-share--enhanced.dc-share--popover-up .dc-share__popover {
    top: auto;
    bottom: calc(100% + 11px);
}

@media (min-width: 1360px) {
    .dc-share--enhanced.dc-share--floating {
        right: max(18px, calc((100vw - 1320px) / 2 + 18px));
    }
}

/* Up to a wide-desktop layout, keep the persistent control to one compact
   44px icon. The text stays in the accessibility tree and still reflects the
   temporary copy-success label. */
@media (max-width: 1359px) {
    .dc-share--enhanced .dc-share__trigger {
        width: 44px;
        min-width: 44px;
        height: 44px;
        padding: 0;
        gap: 0;
    }

    .dc-share--enhanced .dc-share__trigger [data-dc-share-label] {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    .dc-share--enhanced.dc-share--confirmed .dc-share__trigger .dc-share__icon {
        display: none;
    }

    .dc-share--enhanced.dc-share--confirmed .dc-share__trigger::after {
        content: "✓";
        font: 800 18px/1 Manrope, Arial, sans-serif;
    }
}

@media (hover: hover) and (pointer: fine) {
    .dc-share__trigger:hover,
    .dc-share__fallback > summary:hover {
        color: var(--dc-share-paper-soft);
        background: var(--dc-share-ink);
        border-color: var(--dc-share-ink);
    }

    body.single .dc-article-body .dc-share__links a:hover,
    .dc-share__links button:hover,
    .dc-share__close:hover {
        color: var(--dc-share-ink) !important;
        background: var(--dc-share-gold);
        border-color: var(--dc-share-gold);
    }
}

.dc-share__trigger:focus-visible,
.dc-share__fallback > summary:focus-visible {
    outline: 3px solid #111419;
    outline-offset: 3px;
}

.dc-share__links a:focus-visible,
.dc-share__links button:focus-visible,
.dc-share__close:focus-visible {
    outline: 3px solid var(--dc-share-gold);
    outline-offset: 3px;
}

.dc-share__notice {
    display: block;
    margin-top: 9px;
    padding: 8px 9px;
    color: var(--dc-share-paper-soft);
    background: rgba(198, 167, 103, .13);
    border-left: 3px solid var(--dc-share-gold);
    border-radius: 4px;
    font: 650 10px/1.45 Manrope, Arial, sans-serif;
    letter-spacing: .01em;
}

.dc-share--confirmed .dc-share__trigger {
    border-color: var(--dc-share-gold);
    box-shadow: 0 0 0 6px rgba(198, 167, 103, .16), 0 9px 28px rgba(9, 11, 13, .26);
}

@media (max-width: 380px) {
    .dc-share__popover,
    .dc-share__fallback[open] {
        width: calc(100vw - 24px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dc-share__trigger,
    .dc-share__fallback > summary,
    .dc-share__links a,
    .dc-share__links button {
        scroll-behavior: auto;
        transition: none;
    }
}

@media print {
    .dc-share,
    .dc-share-boundary {
        display: none !important;
    }
}
