/* Single post: the exact compact thread-card language used throughout the feed.
   WP comment form is replaced by the regular FediPress composer. */
.afv-single-discussion { width: 100%; max-width: 100%; min-width: 0; margin-top: 1.25rem; box-sizing: border-box; }
.afv-single-discussion__header { display: flex; justify-content: space-between; gap: .75rem; align-items: center; border-top: 1px solid var(--afv-c-line); padding: .8rem 1rem; }
.afv-single-discussion__header h2 { margin: 0; font-size: 1.0625rem; line-height: 1.4; }
.afv-single-discussion__list, .afv-single-discussion__list ol, .afv-single-discussion__list ul { list-style: none; margin: 0; padding: 0; width: 100%; min-width: 0; box-sizing: border-box; }
.afv-single-discussion__list > li, .afv-single-discussion__list li, .afv-bsky-replies__restricted-item { display: block; width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; flex: 0 0 auto; }
.afv-single-discussion .afv-thread__item { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; gap: .75rem; }
.afv-single-discussion .afv-thread__body, .afv-single-discussion .afv-post__content { min-width: 0; overflow-wrap: anywhere; word-break: normal; }
.afv-single-discussion .afv-thread__replies .afv-thread__replies { width: auto; margin-inline-start: 1.5rem; border-inline-start: 2px solid var(--afv-c-line); }
.afv-single-discussion .afv-bsky-replies { margin: 0; }
.afv-single-discussion .afv-bsky-replies__note { margin: 0; }
.afv-single-discussion .afv-bsky-replies__restricted-item .afv-thread__body { min-width: 0; }
.afv-unified-single-discussion #respond,
.afv-unified-single-discussion .comment-respond,
.afv-unified-single-discussion .wp-block-post-comments-form,
.afv-unified-single-discussion .wp-block-comment-form { display: none !important; }
@media (max-width: 30rem) { .afv-single-discussion .afv-thread__replies .afv-thread__replies { margin-inline-start: .5rem; } }

/* 0.0.0.157 — a single conversation AFTER the post action bar.
   These rules must win over block-theme/grid comment styles. */
body.afv-unified-single-discussion .afv-single-discussion {
    display: block; clear: both; width: 100%; min-width: 0; max-width: 100%;
    flex: 0 0 100%; grid-column: 1 / -1; margin: 0; padding: 0;
    border-top: 1px solid var(--afv-c-line, #dcdce4); box-sizing: border-box;
}
body.afv-unified-single-discussion .afv-single-discussion__list {
    display: block; width: 100%; max-width: 100%; margin: 0; padding: 0;
}
body.afv-unified-single-discussion .afv-single-discussion__list > li {
    display: block; width: 100%; max-width: 100%; min-width: 0;
    margin: 0; padding: .9rem 1rem; border-bottom: 1px solid var(--afv-c-line, #dcdce4);
    list-style: none; box-sizing: border-box;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-thread__item {
    display: grid; grid-template-columns: 44px minmax(0, 1fr);
    align-items: start; gap: .75rem; width: 100%; max-width: 100%;
    padding: 0; margin: 0; border: 0; box-sizing: border-box;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-thread__avatar {
    display: block; width: 44px; height: 44px; padding: 0; margin: 0;
    align-self: start; flex: none;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-thread__avatar img {
    width: 44px; height: 44px; aspect-ratio: 1; object-fit: cover; border-radius: 50%;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-thread__body,
body.afv-unified-single-discussion .afv-single-discussion .afv-post__content {
    display: block; min-width: 0; max-width: 100%; overflow-wrap: break-word;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-post__meta {
    display: flex; flex-wrap: wrap; gap: .15rem .35rem; align-items: center;
    min-width: 0; margin: 0 0 .45rem; line-height: 1.45;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-thread__name { font-weight: 700; }
body.afv-unified-single-discussion .afv-single-discussion .afv-bsky-foot { width: 100%; margin: .55rem 0 0; }
body.afv-unified-single-discussion .afv-single-discussion .afv-bsky-foot :is(.afv-actions--comment, .afv-at-acts) {
    display: flex; width: 100%; max-width: 100%; justify-content: space-between;
    align-items: center; gap: .5rem; margin: 0;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-thread__replies .afv-thread__replies {
    margin-inline-start: min(1.5rem, 5%); padding-inline-start: .5rem;
}
/* Classic and Gutenberg WP form/comment markup must not generate a second
   `Svar` section below the unified conversation. The composer stays in its
   normal dialog; we are not hiding the FediPress reply action buttons. */
body.afv-unified-single-discussion :is(
    .wp-block-comments, .wp-block-post-comments, .wp-block-comments-title,
    .wp-block-post-comments-form, .wp-block-comment-form, .comment-respond,
    #respond, .comments-area:not(.afv-single-discussion),
    #comments:not(.afv-single-discussion)
) { display: none !important; }
@media (max-width: 36rem) {
    body.afv-unified-single-discussion .afv-single-discussion__list > li { padding: .75rem; }
    body.afv-unified-single-discussion .afv-single-discussion .afv-thread__item {
        grid-template-columns: 40px minmax(0, 1fr); gap: .6rem;
    }
    body.afv-unified-single-discussion .afv-single-discussion .afv-thread__avatar,
    body.afv-unified-single-discussion .afv-single-discussion .afv-thread__avatar img {
        width: 40px; height: 40px;
    }
}

/* 0.0.0.158 – one Mastodon/X-like reply anatomy for WP, ActivityPub and AT.
   Scope to the discussion and AT thread so feed card composition stays intact. */
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card,
.afv-bsky-thread .afv-discussion-card {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 12px !important; align-items: start !important;
    width: 100% !important; max-width: 100% !important;
    margin: 0 !important; padding: 0 !important;
    text-align: start !important; box-sizing: border-box;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card > .afv-thread__body,
.afv-bsky-thread .afv-discussion-card > .afv-thread__body {
    min-width: 0 !important; width: 100% !important;
    display: block !important; text-align: start !important;
    align-self: start !important; justify-self: stretch !important;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card > .afv-thread__avatar,
.afv-bsky-thread .afv-discussion-card > .afv-thread__avatar {
    display: block !important; width: 44px !important; height: 44px !important;
    margin: 0 !important; align-self: start !important; justify-self: start !important;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card > .afv-thread__avatar img,
.afv-bsky-thread .afv-discussion-card > .afv-thread__avatar img {
    display: block !important; width: 44px !important; height: 44px !important;
    object-fit: cover; border-radius: 50%;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-meta,
.afv-bsky-thread .afv-discussion-meta {
    display: flex !important; flex-flow: row wrap !important;
    align-items: baseline !important; justify-content: flex-start !important;
    gap: 2px 6px !important;
    width: 100%; min-width: 0; max-width: 100%;
    margin: 0 0 5px !important;
    padding: 0 !important; padding-inline-end: 2.25rem !important;
    box-sizing: border-box;
    text-align: start !important; font-size: .875rem; line-height: 1.45;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-meta :is(.afv-thread__name,.afv-handle,.afv-thread__date),
.afv-bsky-thread .afv-discussion-meta :is(.afv-thread__name,.afv-handle,.afv-thread__date) {
    display: inline !important; width: auto !important; max-width: 100%;
    margin: 0 !important; padding: 0 !important;
    line-height: inherit !important; text-align: start !important;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-meta .afv-thread__name,
.afv-bsky-thread .afv-discussion-meta .afv-thread__name { font-weight: 700 !important; }
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-meta .afv-handle,
.afv-bsky-thread .afv-discussion-meta .afv-handle { overflow-wrap: anywhere; }
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card .afv-post__content,
.afv-bsky-thread .afv-discussion-card .afv-post__content {
    margin: 4px 0 0 !important; padding: 0 !important;
    font-size: 1rem !important; line-height: 1.5 !important;
    text-align: start !important; overflow-wrap: break-word;
}
/* Three identical positions, regardless of network or OAuth status. */
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card .afv-bsky-foot,
.afv-bsky-thread .afv-discussion-card .afv-bsky-foot {
    display: block !important; width: 100%; max-width: 100%;
    margin: 8px 0 0 !important; padding: 0 !important;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card :is(.afv-actions--comment,.afv-at-acts,.afv-discussion-counts),
.afv-bsky-thread .afv-discussion-card :is(.afv-actions--comment,.afv-at-acts,.afv-discussion-counts) {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important; justify-content: stretch !important;
    align-items: center !important; width: 100% !important;
    max-width: none !important; margin: 0 !important; padding: 0 !important;
    border: none !important;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card :is(.afv-actions--comment,.afv-at-acts,.afv-discussion-counts) > *,
.afv-bsky-thread .afv-discussion-card :is(.afv-actions--comment,.afv-at-acts,.afv-discussion-counts) > * {
    display: inline-flex !important; min-width: 0 !important;
    width: fit-content !important; min-height: 30px !important;
    justify-content: flex-start !important; align-items: center !important;
    gap: 5px !important; margin: 0 !important; padding: 2px 8px 2px 0 !important;
    background: transparent; border: none !important;
    border-radius: 6px; font-size: .82rem !important;
    line-height: 1.4 !important; color: var(--afv-c-muted);
    text-align: start !important; box-shadow: none !important;
}
body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card :is(.afv-actions--comment,.afv-at-acts,.afv-discussion-counts) svg,
.afv-bsky-thread .afv-discussion-card :is(.afv-actions--comment,.afv-at-acts,.afv-discussion-counts) svg {
    width: 17px !important; height: 17px !important; flex: 0 0 17px;
}
.afv-bsky-show-thread { display: inline-flex; align-items: center; padding: .15rem .5rem;
    margin: .2rem 0 0 .25rem; font-size: .8125rem; color: var(--afv-c-muted); text-decoration: none; }
.afv-bsky-show-thread:hover, .afv-bsky-show-thread:focus-visible { color: var(--afv-c-iris); text-decoration: underline; }
@media (max-width: 36rem) {
    body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card,
    .afv-bsky-thread .afv-discussion-card { grid-template-columns: 40px minmax(0,1fr) !important; gap: 9px !important; }
    body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card > .afv-thread__avatar,
    body.afv-unified-single-discussion .afv-single-discussion .afv-discussion-card > .afv-thread__avatar img,
    .afv-bsky-thread .afv-discussion-card > .afv-thread__avatar,
    .afv-bsky-thread .afv-discussion-card > .afv-thread__avatar img { width: 40px !important; height: 40px !important; }
}

/* Focused conversation in the AT timeline (same post/reply cards as the AT post page). */
.afv-at-timeline--thread { min-width: 0; }
.afv-at-timeline__back { margin: 0 0 1rem; padding: .4rem .8rem; }
.afv-at-timeline__back a { display: inline-flex; align-items: center; color: var(--afv-c-iris, #5142ce); font-weight: 600; text-decoration: none; }
.afv-at-timeline__back a::before { content: '‹'; margin-right: .5rem; font-size: 1.5em; line-height: 1; }
.afv-at-timeline__back a:hover { text-decoration: underline; }

/* Active likes from the linked AT account: visible red heart on every AT
 * reply layout, even where generic discussion styles use !important. */
.afv-single-discussion .afv-discussion-card :is(.afv-at-act--like.is-on,.afv-action--like.is-active,.afv-bsky-count--like.is-on),
.afv-bsky-thread .afv-discussion-card :is(.afv-at-act--like.is-on,.afv-action--like.is-active,.afv-bsky-count--like.is-on) {
    color: #d92345 !important;
}
.afv-single-discussion .afv-discussion-card :is(.afv-at-act--like.is-on,.afv-action--like.is-active,.afv-bsky-count--like.is-on) svg,
.afv-bsky-thread .afv-discussion-card :is(.afv-at-act--like.is-on,.afv-action--like.is-active,.afv-bsky-count--like.is-on) svg {
    fill: currentColor !important;
}
.afv-single-discussion__card[data-afv-at-thread-url],
.afv-bsky-post.is-reply[data-afv-at-thread-url] { cursor: pointer; }
.afv-single-discussion__card[data-afv-at-thread-url]:focus-visible,
.afv-bsky-post.is-reply[data-afv-at-thread-url]:focus-visible { outline: 2px solid var(--afv-c-iris); outline-offset: -2px; }
/* The outline/solid variants are both present in the SVG returned for 'like'. */
.afv-at-act--like .afv-icon-solid,
.afv-bsky-count--like .afv-icon-solid { display: none; }
.afv-at-act--like.is-on .afv-icon-outline,
.afv-bsky-count--like.is-on .afv-icon-outline { display: none; }
.afv-at-act--like.is-on .afv-icon-solid,
.afv-bsky-count--like.is-on .afv-icon-solid { display: inline; }

