/*
 * The HighK Community Lounge v2
 * Discussion-first, dark charcoal interface with soft readable text.
 */

body.thk-lounge-v2-feed-page,
body.thk-lounge-v2-submit-page,
body.thk-lounge-v2-single-page {
    --thk-lv2-page: #151915;
    --thk-lv2-card: #1d241e;
    --thk-lv2-card-soft: #232b24;
    --thk-lv2-line: #384338;
    --thk-lv2-line-strong: #556255;
    --thk-lv2-text: #e3dfd2;
    --thk-lv2-muted: #b1b7aa;
    --thk-lv2-green: #95bc6a;
    --thk-lv2-green-dark: #b9dc91;
    --thk-lv2-green-soft: #293627;
    --thk-lv2-yellow: #d6b847;
    --thk-lv2-danger: #f0aaaa;
    --thk-lv2-danger-soft: #3a2222;
    --thk-lv2-input: #121712;
    --thk-lv2-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
    background: var(--thk-lv2-page) !important;
    color: var(--thk-lv2-text) !important;
}

body.thk-lounge-v2-feed-page .site,
body.thk-lounge-v2-submit-page .site,
body.thk-lounge-v2-single-page .site,
body.thk-lounge-v2-feed-page .site-main,
body.thk-lounge-v2-submit-page .site-main,
body.thk-lounge-v2-single-page .site-main,
body.thk-lounge-v2-feed-page main,
body.thk-lounge-v2-submit-page main,
body.thk-lounge-v2-single-page main {
    background: transparent !important;
}

body.thk-lounge-v2-feed-page .entry-header,
body.thk-lounge-v2-submit-page .entry-header {
    display: none !important;
}

body.thk-lounge-v2-feed-page .ct-container-full,
body.thk-lounge-v2-submit-page .ct-container-full,
body.thk-lounge-v2-feed-page .ct-container,
body.thk-lounge-v2-submit-page .ct-container {
    width: 100% !important;
    max-width: none !important;
}

.thk-lv2-shell,
.thk-lv2-shell * {
    box-sizing: border-box;
}

.thk-lv2-shell {
    width: min(1480px, calc(100% - 32px));
    margin: 0 auto;
    padding: 28px 0 48px;
    color: var(--thk-lv2-text);
    font-size: 15px;
    line-height: 1.5;
}

.thk-lv2-shell a {
    color: var(--thk-lv2-green-dark);
}

.thk-lv2-topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(220px, 23vw, 300px);
    gap: clamp(28px, 4vw, 54px);
    align-items: center;
    margin-bottom: 18px;
    padding: clamp(24px, 4vw, 42px);
    background: var(--thk-lv2-card);
    border: 1px solid var(--thk-lv2-line);
    border-radius: 8px;
    box-shadow: var(--thk-lv2-shadow);
}

.thk-lv2-topbar-copy {
    min-width: 0;
}

.thk-lv2-topbar-copy .thk-lv2-primary-button {
    margin-top: 20px;
}

.thk-lv2-topbar-featured {
    width: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--thk-lv2-line-strong);
    border-radius: 12px;
    background: var(--thk-lv2-input);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.34);
}

.thk-lv2-topbar-featured img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.thk-lv2-section-label {
    margin: 0 0 5px;
    color: var(--thk-lv2-green);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.thk-lv2-topbar h1,
.thk-lv2-topbar h2,
.thk-lv2-shell h1,
.thk-lv2-shell h2,
.thk-lv2-shell h3 {
    color: var(--thk-lv2-text) !important;
}

.thk-lv2-topbar h1 {
    margin: 0;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1;
    letter-spacing: -0.035em;
}

.thk-lv2-topbar p:not(.thk-lv2-section-label) {
    max-width: 760px;
    margin: 10px 0 0;
    color: var(--thk-lv2-muted);
    font-size: 16px;
}

.thk-lv2-primary-button,
.thk-lv2-secondary-button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid var(--thk-lv2-green-dark);
    border-radius: 6px;
    font: inherit;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    cursor: pointer;
}

.thk-lv2-primary-button {
    color: #1d251c !important;
    background: var(--thk-lv2-yellow);
    border-color: #9b851f;
}

.thk-lv2-primary-button:hover,
.thk-lv2-primary-button:focus-visible {
    color: #1d251c !important;
    background: #f0d75e;
}

.thk-lv2-secondary-button {
    color: var(--thk-lv2-green-dark) !important;
    background: var(--thk-lv2-card);
}

.thk-lv2-secondary-button:hover,
.thk-lv2-secondary-button:focus-visible {
    background: var(--thk-lv2-green-soft);
}

.thk-lv2-full-button {
    width: 100%;
}

.thk-lv2-notice,
.thk-lv2-error {
    margin: 0 0 16px;
    padding: 13px 16px;
    color: var(--thk-lv2-text);
    background: var(--thk-lv2-green-soft);
    border: 1px solid var(--thk-lv2-line-strong);
    border-left: 5px solid var(--thk-lv2-green);
    border-radius: 6px;
    font-weight: 750;
}

.thk-lv2-error {
    color: var(--thk-lv2-danger);
    background: var(--thk-lv2-danger-soft);
    border-color: #6a4040;
    border-left-color: var(--thk-lv2-danger);
}

.thk-lv2-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) 300px;
    gap: 16px;
    align-items: start;
}

.thk-lv2-sidebar-card,
.thk-lv2-searchbar,
.thk-lv2-sortbar,
.thk-lv2-post-card,
.thk-lv2-empty-state,
.thk-lv2-editor-card,
.thk-lv2-login-required,
.thk-lv2-replies-card {
    color: var(--thk-lv2-text);
    background: var(--thk-lv2-card);
    border: 1px solid var(--thk-lv2-line);
    border-radius: 7px;
    box-shadow: var(--thk-lv2-shadow);
}

.thk-lv2-sticky-card {
    position: sticky;
    top: 92px;
}

.thk-lv2-sidebar-card {
    padding: 15px;
}

.thk-lv2-sidebar-card + .thk-lv2-sidebar-card,
.thk-lv2-sidebar-card + .thk-lv2-back-link {
    margin-top: 14px;
}

.thk-lv2-sidebar-card h2 {
    margin: 0 0 10px;
    font-size: 15px;
    line-height: 1.25;
}

.thk-lv2-sidebar-card p,
.thk-lv2-sidebar-card li,
.thk-lv2-sidebar-card span {
    color: var(--thk-lv2-muted);
}

.thk-lv2-sidebar-divider {
    height: 1px;
    margin: 16px 0;
    background: var(--thk-lv2-line);
}

.thk-lv2-channel-nav {
    display: grid;
    gap: 2px;
}

.thk-lv2-channel-nav a {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    gap: 7px;
    align-items: center;
    min-height: 38px;
    padding: 7px 8px;
    color: var(--thk-lv2-text) !important;
    border-left: 3px solid transparent;
    border-radius: 3px;
    text-decoration: none;
}

.thk-lv2-channel-nav a:hover,
.thk-lv2-channel-nav a:focus-visible {
    background: var(--thk-lv2-card-soft);
}

.thk-lv2-channel-nav a.is-active {
    color: var(--thk-lv2-green-dark) !important;
    background: var(--thk-lv2-green-soft);
    border-left-color: var(--thk-lv2-green);
    font-weight: 800;
}

.thk-lv2-channel-nav small {
    color: var(--thk-lv2-muted);
    font-size: 11px;
}

.thk-lv2-mobile-channels {
    display: none;
    margin-bottom: 14px;
    background: var(--thk-lv2-card);
    border: 1px solid var(--thk-lv2-line);
    border-radius: 7px;
}

.thk-lv2-mobile-channels summary {
    padding: 13px 15px;
    color: var(--thk-lv2-text);
    font-weight: 800;
    cursor: pointer;
}

.thk-lv2-mobile-channels .thk-lv2-channel-nav {
    padding: 0 10px 12px;
}

.thk-lv2-feed-column {
    min-width: 0;
}

.thk-lv2-searchbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 10px;
}

.thk-lv2-searchbar input {
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    color: var(--thk-lv2-text) !important;
    background: var(--thk-lv2-input) !important;
    border: 1px solid var(--thk-lv2-line-strong) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
}

.thk-lv2-searchbar input:focus {
    border-color: var(--thk-lv2-green) !important;
    outline: 3px solid rgba(149, 188, 106, 0.18) !important;
}

.thk-lv2-searchbar button {
    min-height: 42px;
    padding: 8px 15px;
    color: #152110;
    background: var(--thk-lv2-yellow);
    border: 1px solid #8c7729;
    border-radius: 5px;
    font-weight: 800;
    cursor: pointer;
}

.thk-lv2-sortbar {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    margin-top: 10px;
    padding: 9px 11px;
}

.thk-lv2-sortbar > span {
    margin-right: 4px;
    color: var(--thk-lv2-muted);
    font-size: 13px;
    font-weight: 700;
}

.thk-lv2-sortbar a {
    padding: 7px 10px;
    color: var(--thk-lv2-muted) !important;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.thk-lv2-sortbar a:hover,
.thk-lv2-sortbar a:focus-visible,
.thk-lv2-sortbar a.is-active {
    color: var(--thk-lv2-green-dark) !important;
    background: var(--thk-lv2-green-soft);
}

.thk-lv2-results-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    padding: 10px 12px;
    color: var(--thk-lv2-muted);
    background: var(--thk-lv2-card-soft);
    border: 1px solid var(--thk-lv2-line);
    border-radius: 5px;
}

.thk-lv2-post-list {
    display: grid;
    gap: 9px;
    margin-top: 10px;
}

.thk-lv2-post-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    overflow: hidden;
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

.thk-lv2-post-card:hover {
    border-color: var(--thk-lv2-line-strong);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

.thk-lv2-vote-rail {
    padding: 12px 7px;
    background: var(--thk-lv2-card-soft);
    border-right: 1px solid var(--thk-lv2-line);
}

.thk-lv2-vote-rail .thk-lv2-action-form,
.thk-lv2-vote-rail .thk-lv2-action {
    width: 100%;
}

.thk-lv2-vote-button {
    display: grid !important;
    justify-items: center;
    gap: 1px !important;
    padding: 4px !important;
    color: var(--thk-lv2-muted) !important;
    background: transparent !important;
    border: 0 !important;
}

.thk-lv2-vote-button > span:nth-child(2) {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.thk-lv2-vote-button > span:first-child {
    font-size: 18px;
}

.thk-lv2-vote-button.is-active,
.thk-lv2-vote-button:hover,
.thk-lv2-vote-button:focus-visible {
    color: var(--thk-lv2-green-dark) !important;
}

.thk-lv2-action-count {
    color: inherit !important;
    font-size: 12px;
    font-weight: 900;
}

.thk-lv2-post-main {
    min-width: 0;
    padding: 13px 15px 11px;
}

.thk-lv2-post-context {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
    color: var(--thk-lv2-muted);
    font-size: 12px;
}

.thk-lv2-post-context a {
    color: var(--thk-lv2-muted) !important;
    font-weight: 700;
    text-decoration: none;
}

.thk-lv2-post-context a:hover,
.thk-lv2-post-context a:focus-visible,
.thk-lv2-post-context .thk-lv2-channel-link {
    color: var(--thk-lv2-green-dark) !important;
}

.thk-lv2-avatar,
.thk-lv2-post-context .avatar,
.thk-lv2-posting-as .avatar {
    border-radius: 50%;
}

.thk-lv2-post-main h2 {
    margin: 7px 0 0;
    font-size: clamp(18px, 2.3vw, 24px);
    line-height: 1.25;
    letter-spacing: -0.015em;
}

.thk-lv2-post-main h2 a {
    color: var(--thk-lv2-text) !important;
    text-decoration: none;
}

.thk-lv2-post-main h2 a:hover,
.thk-lv2-post-main h2 a:focus-visible {
    color: var(--thk-lv2-green-dark) !important;
    text-decoration: underline;
}

.thk-lv2-post-excerpt {
    margin: 8px 0 0;
    color: var(--thk-lv2-text);
    line-height: 1.55;
}

.thk-lv2-post-actions,
.thk-lv2-single-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    margin-top: 11px;
}

.thk-lv2-action-form {
    display: inline-flex;
    margin: 0;
}

.thk-lv2-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 6px 8px;
    color: var(--thk-lv2-muted) !important;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 4px;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    cursor: pointer;
}

.thk-lv2-action:hover,
.thk-lv2-action:focus-visible,
.thk-lv2-action.is-active {
    color: var(--thk-lv2-green-dark) !important;
    background: var(--thk-lv2-green-soft);
    border-color: var(--thk-lv2-line-strong);
}

.thk-lv2-report-button:hover,
.thk-lv2-report-button:focus-visible {
    color: var(--thk-lv2-danger) !important;
    background: var(--thk-lv2-danger-soft);
    border-color: #6a4040;
}

.thk-lv2-join-action {
    margin-left: auto;
}

.thk-lv2-empty-state,
.thk-lv2-login-required {
    padding: 34px;
    text-align: center;
}

.thk-lv2-empty-state h2,
.thk-lv2-login-required h2 {
    margin: 0;
    font-size: 24px;
}

.thk-lv2-empty-state p,
.thk-lv2-login-required p {
    margin: 8px 0 18px;
    color: var(--thk-lv2-muted);
}

.thk-lv2-about-title {
    display: block;
}

.thk-lv2-about-title p {
    margin: 0;
    color: var(--thk-lv2-green) !important;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.thk-lv2-about-title h2 {
    margin: 2px 0 0;
}

.thk-lv2-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 14px 0;
    padding: 12px 0;
    border-top: 1px solid var(--thk-lv2-line);
    border-bottom: 1px solid var(--thk-lv2-line);
}

.thk-lv2-stats div + div {
    padding-left: 12px;
    border-left: 1px solid var(--thk-lv2-line);
}

.thk-lv2-stats dt {
    color: var(--thk-lv2-text);
    font-size: 19px;
    font-weight: 900;
}

.thk-lv2-stats dd {
    margin: 0;
    color: var(--thk-lv2-muted);
    font-size: 11px;
    text-transform: uppercase;
}

.thk-lv2-rules {
    display: grid;
    gap: 12px;
    margin: 0;
    padding-left: 20px;
}

.thk-lv2-rules strong,
.thk-lv2-rules span {
    display: block;
}

.thk-lv2-rules strong {
    color: var(--thk-lv2-text);
}

.thk-lv2-rules span {
    margin-top: 2px;
    font-size: 12px;
}

.thk-lv2-back-link {
    display: block;
    padding: 8px 3px;
    color: var(--thk-lv2-green-dark) !important;
    font-weight: 750;
    text-decoration: none;
}

.thk-lv2-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

.thk-lv2-pagination a,
.thk-lv2-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 7px 10px;
    color: var(--thk-lv2-text) !important;
    background: var(--thk-lv2-card);
    border: 1px solid var(--thk-lv2-line);
    border-radius: 4px;
    text-decoration: none;
}

.thk-lv2-pagination .current,
.thk-lv2-pagination a:hover,
.thk-lv2-pagination a:focus-visible {
    color: var(--thk-lv2-green-dark) !important;
    background: var(--thk-lv2-green-soft);
    border-color: var(--thk-lv2-line-strong);
}

/* Start a Session */
.thk-lv2-submit-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 16px;
    align-items: start;
}

.thk-lv2-editor-card {
    padding: 20px;
}

.thk-lv2-posting-as {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 18px;
    padding-bottom: 14px;
    color: var(--thk-lv2-muted);
    border-bottom: 1px solid var(--thk-lv2-line);
}

.thk-lv2-posting-as strong {
    color: var(--thk-lv2-text);
}

.thk-lv2-field {
    position: relative;
    display: grid;
    gap: 7px;
    margin-bottom: 17px;
}

.thk-lv2-field label {
    color: var(--thk-lv2-text);
    font-weight: 850;
}

.thk-lv2-field input,
.thk-lv2-field select,
.thk-lv2-field textarea,
.thk-lv2-reply-form textarea,
.thk-lv2-reply-form input[type="text"],
.thk-lv2-reply-form input[type="email"],
.thk-lv2-reply-form input[type="url"] {
    width: 100%;
    padding: 11px 12px;
    color: var(--thk-lv2-text) !important;
    background: var(--thk-lv2-input) !important;
    border: 1px solid var(--thk-lv2-line-strong) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    font: inherit;
}

.thk-lv2-field textarea {
    min-height: 260px;
    resize: vertical;
}

.thk-lv2-field input:focus,
.thk-lv2-field select:focus,
.thk-lv2-field textarea:focus,
.thk-lv2-reply-form textarea:focus,
.thk-lv2-reply-form input:focus {
    border-color: var(--thk-lv2-green) !important;
    outline: 3px solid rgba(149, 188, 106, 0.18) !important;
}

.thk-lv2-character-count {
    justify-self: end;
    color: var(--thk-lv2-muted);
    font-size: 11px;
}

.thk-lv2-submit-footer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    padding-top: 15px;
    border-top: 1px solid var(--thk-lv2-line);
}

.thk-lv2-submit-footer p {
    margin: 0;
    color: var(--thk-lv2-muted);
    font-size: 13px;
}

.thk-lv2-submit-help ul,
.thk-lv2-thread-sidebar ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding-left: 20px;
}

/* Single Session */
body.thk-lounge-v2-single-page .site-main,
body.thk-lounge-v2-single-page main {
    width: min(1220px, calc(100% - 32px));
    margin: 0 auto;
    padding-top: 24px;
    padding-bottom: 48px;
}

body.thk-lounge-v2-single-page article.thk_session,
body.thk-lounge-v2-single-page article.type-thk_session {
    overflow: visible;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--thk-lv2-text) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.thk-lounge-v2-single-page article.thk_session::before,
body.thk-lounge-v2-single-page article.type-thk_session::before {
    display: none !important;
}

body.thk-lounge-v2-single-page .entry-header {
    max-width: none !important;
    margin: 0 0 10px !important;
    padding: 22px 24px !important;
    color: var(--thk-lv2-text) !important;
    background: var(--thk-lv2-card) !important;
    border: 1px solid var(--thk-lv2-line) !important;
    border-radius: 7px !important;
    box-shadow: var(--thk-lv2-shadow) !important;
}

body.thk-lounge-v2-single-page .entry-title,
body.thk-lounge-v2-single-page h1.entry-title {
    margin: 0 !important;
    color: var(--thk-lv2-text) !important;
    font-size: clamp(29px, 5vw, 48px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
    text-shadow: none !important;
}

body.thk-lounge-v2-single-page .entry-title::after {
    display: none !important;
}

body.thk-lounge-v2-single-page .entry-meta,
body.thk-lounge-v2-single-page .post-meta {
    display: none !important;
}

body.thk-lounge-v2-single-page .entry-content {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--thk-lv2-text) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.thk-lv2-single-back {
    width: min(1220px, calc(100% - 32px));
    margin: 0 auto 10px;
}

.thk-lv2-single-back a {
    display: inline-flex;
    padding: 7px 2px;
    color: var(--thk-lv2-green-dark) !important;
    font-weight: 800;
    text-decoration: none;
}

.thk-lv2-single-content {
    color: var(--thk-lv2-text);
}

.thk-lv2-single-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-bottom: 10px;
    padding: 10px 14px;
    color: var(--thk-lv2-muted);
    background: var(--thk-lv2-card-soft);
    border: 1px solid var(--thk-lv2-line);
    border-radius: 5px;
    font-size: 12px;
}

.thk-lv2-single-meta a {
    color: var(--thk-lv2-green-dark) !important;
    font-weight: 800;
}

.thk-lv2-thread-body {
    padding: 22px 24px;
    color: var(--thk-lv2-text);
    background: var(--thk-lv2-card);
    border: 1px solid var(--thk-lv2-line);
    border-radius: 7px;
    box-shadow: var(--thk-lv2-shadow);
}

.thk-lv2-thread-body,
.thk-lv2-thread-body p,
.thk-lv2-thread-body li,
.thk-lv2-thread-body span,
.thk-lv2-thread-body div {
    color: var(--thk-lv2-text) !important;
    font-size: 16px;
    line-height: 1.7;
}

.thk-lv2-thread-body > *:first-child {
    margin-top: 0;
}

.thk-lv2-thread-body > *:last-child {
    margin-bottom: 0;
}

.thk-lv2-single-actions {
    margin: 0;
    padding: 8px 10px;
    background: var(--thk-lv2-card-soft);
    border: 1px solid var(--thk-lv2-line);
    border-top: 0;
    border-radius: 0 0 7px 7px;
}

.thk-lv2-single-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 16px;
    align-items: start;
    margin-top: 16px;
}

.thk-lv2-thread-sidebar {
    display: grid;
    gap: 14px;
    position: sticky;
    top: 92px;
}

.thk-lv2-related-list {
    display: grid;
    gap: 0;
}

.thk-lv2-related-list a {
    display: block;
    padding: 10px 0;
    color: var(--thk-lv2-text) !important;
    border-bottom: 1px solid var(--thk-lv2-line);
    font-weight: 750;
    line-height: 1.35;
    text-decoration: none;
}

.thk-lv2-related-list a:last-child {
    border-bottom: 0;
}

.thk-lv2-related-list a:hover,
.thk-lv2-related-list a:focus-visible {
    color: var(--thk-lv2-green-dark) !important;
    text-decoration: underline;
}

.thk-lv2-replies-card {
    overflow: hidden;
}

.thk-lv2-replies-card > header {
    padding: 15px 18px;
    border-bottom: 1px solid var(--thk-lv2-line);
}

.thk-lv2-replies-card > header h2 {
    margin: 0;
    font-size: 22px;
}

.thk-lv2-comment-tree {
    padding: 4px 18px 8px;
}

.thk-lv2-comment-tree .comment,
.thk-lv2-comment-tree .pingback {
    position: relative;
    margin: 0;
    padding: 14px 0 14px 18px;
    border-left: 2px solid var(--thk-lv2-line);
    border-bottom: 1px solid var(--thk-lv2-line);
}

.thk-lv2-comment-tree .comment:last-child,
.thk-lv2-comment-tree .pingback:last-child {
    border-bottom: 0;
}

.thk-lv2-comment-tree .children {
    margin: 10px 0 0 12px;
    padding: 0;
}

.thk-lv2-comment-tree .comment-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.thk-lv2-comment-tree .comment-author {
    display: flex;
    gap: 8px;
    align-items: center;
}

.thk-lv2-comment-tree .comment-author .fn,
.thk-lv2-comment-tree .comment-author .fn a {
    color: var(--thk-lv2-text) !important;
    font-style: normal;
    font-weight: 850;
}

.thk-lv2-comment-tree .comment-metadata,
.thk-lv2-comment-tree .comment-metadata a,
.thk-lv2-comment-tree .reply a {
    color: var(--thk-lv2-muted) !important;
    font-size: 11px;
}

.thk-lv2-comment-tree .comment-content,
.thk-lv2-comment-tree .comment-content p {
    color: var(--thk-lv2-text) !important;
    line-height: 1.65;
}

.thk-lv2-comment-tree .comment-content p:last-child {
    margin-bottom: 0;
}

.thk-lv2-no-replies {
    margin: 0;
    padding: 18px;
    color: var(--thk-lv2-muted);
}

.thk-lv2-reply-form-wrap {
    padding: 18px;
    background: var(--thk-lv2-card-soft);
    border-top: 1px solid var(--thk-lv2-line);
}

.thk-lv2-reply-form-wrap h3 {
    margin: 0 0 6px;
    font-size: 21px;
}

.thk-lv2-comment-note,
.thk-lv2-reply-form .logged-in-as,
.thk-lv2-reply-form .comment-notes {
    color: var(--thk-lv2-muted) !important;
    font-size: 12px;
}

.thk-lv2-reply-form label {
    display: block;
    margin-bottom: 6px;
    color: var(--thk-lv2-text) !important;
    font-weight: 800;
}

.thk-lv2-reply-form textarea {
    min-height: 150px;
    resize: vertical;
}

.thk-lv2-reply-form .form-submit {
    margin-bottom: 0;
}

.thk-lv2-reply-form input[type="submit"] {
    min-height: 42px;
    padding: 9px 15px;
    color: #1d251c !important;
    background: var(--thk-lv2-yellow) !important;
    border: 1px solid #9b851f !important;
    border-radius: 5px !important;
    font-weight: 850;
    cursor: pointer;
}

/* Hide Blocksy's separate comment box because replies render inside the thread. */
body.thk-lounge-v2-single-page #comments,
body.thk-lounge-v2-single-page .comments-area,
body.thk-lounge-v2-single-page .post-navigation,
body.thk-lounge-v2-single-page .ct-share-box,
body.thk-lounge-v2-single-page .related-posts {
    display: none !important;
}

@media (max-width: 1120px) {
    .thk-lv2-layout {
        grid-template-columns: 200px minmax(0, 1fr);
    }

    .thk-lv2-right-sidebar {
        display: none;
    }

    .thk-lv2-single-layout {
        grid-template-columns: minmax(0, 1fr) 260px;
    }
}

@media (max-width: 820px) {
    .thk-lv2-shell {
        width: min(100% - 20px, 760px);
        padding-top: 14px;
    }

    .thk-lv2-topbar {
        grid-template-columns: 1fr;
        align-items: stretch;
        padding: 18px;
    }

    .thk-lv2-topbar-featured {
        width: min(100%, 360px);
        justify-self: center;
    }

    .thk-lv2-topbar .thk-lv2-primary-button,
    .thk-lv2-topbar .thk-lv2-secondary-button {
        width: 100%;
    }

    .thk-lv2-layout,
    .thk-lv2-submit-layout,
    .thk-lv2-single-layout {
        grid-template-columns: 1fr;
    }

    .thk-lv2-left-sidebar,
    .thk-lv2-right-sidebar,
    .thk-lv2-thread-sidebar {
        display: none;
    }

    .thk-lv2-mobile-channels {
        display: block;
    }

    .thk-lv2-submit-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .thk-lv2-submit-footer .thk-lv2-primary-button {
        width: 100%;
    }

    body.thk-lounge-v2-single-page .site-main,
    body.thk-lounge-v2-single-page main,
    .thk-lv2-single-back {
        width: min(100% - 20px, 760px);
    }
}

@media (max-width: 560px) {
    .thk-lv2-topbar h1 {
        font-size: 32px;
    }

    .thk-lv2-post-card {
        grid-template-columns: 1fr;
    }

    .thk-lv2-vote-rail {
        padding: 5px 10px;
        border-right: 0;
        border-bottom: 1px solid var(--thk-lv2-line);
    }

    .thk-lv2-vote-rail .thk-lv2-action-form {
        width: auto;
    }

    .thk-lv2-vote-button {
        display: inline-flex !important;
        width: auto !important;
        gap: 5px !important;
    }

    .thk-lv2-vote-button > span:nth-child(2) {
        position: static;
        width: auto;
        height: auto;
        overflow: visible;
        clip: auto;
        clip-path: none;
        white-space: normal;
    }

    .thk-lv2-post-main {
        padding: 12px;
    }

    .thk-lv2-post-actions {
        gap: 2px;
    }

    .thk-lv2-join-action {
        width: 100%;
        margin-left: 0;
        border-top: 1px solid var(--thk-lv2-line);
    }

    .thk-lv2-searchbar {
        grid-template-columns: 1fr;
    }

    .thk-lv2-searchbar button {
        width: 100%;
    }

    .thk-lv2-thread-body,
    body.thk-lounge-v2-single-page .entry-header,
    .thk-lv2-editor-card {
        padding: 16px !important;
    }

    .thk-lv2-single-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .thk-lv2-single-actions .thk-lv2-action-form,
    .thk-lv2-single-actions .thk-lv2-action {
        width: 100%;
    }

    .thk-lv2-comment-tree .children {
        margin-left: 5px;
    }
}


/*
 * Dark-theme contrast safeguard.
 * Blocksy can apply its heading color after plugin styles on custom post types.
 * These selectors are intentionally scoped and specific so Lounge headings never
 * inherit a black theme heading color while preserving green links and yellow buttons.
 */
body.thk-lounge-v2-feed-page .thk-lv2-shell h1,
body.thk-lounge-v2-feed-page .thk-lv2-shell h2,
body.thk-lounge-v2-feed-page .thk-lv2-shell h3,
body.thk-lounge-v2-feed-page .thk-lv2-shell h4,
body.thk-lounge-v2-submit-page .thk-lv2-shell h1,
body.thk-lounge-v2-submit-page .thk-lv2-shell h2,
body.thk-lounge-v2-submit-page .thk-lv2-shell h3,
body.thk-lounge-v2-submit-page .thk-lv2-shell h4,
body.thk-lounge-v2-single-page .entry-header .entry-title,
body.thk-lounge-v2-single-page .entry-header .entry-title *,
body.thk-lounge-v2-single-page article.thk_session .entry-title,
body.thk-lounge-v2-single-page article.type-thk_session .entry-title,
body.thk-lounge-v2-single-page .thk-lv2-single-content h1,
body.thk-lounge-v2-single-page .thk-lv2-single-content h2,
body.thk-lounge-v2-single-page .thk-lv2-single-content h3,
body.thk-lounge-v2-single-page .thk-lv2-single-content h4,
body.thk-lounge-v2-single-page .thk-lv2-single-content h5,
body.thk-lounge-v2-single-page .thk-lv2-single-content h6,
body.thk-lounge-v2-single-page .thk-lv2-replies-card > header h2,
body.thk-lounge-v2-single-page .thk-lv2-reply-form-wrap h3,
body.thk-lounge-v2-single-page .thk-lv2-sidebar-card h2,
body.thk-lounge-v2-single-page .thk-lv2-sidebar-card h3 {
    color: var(--thk-lv2-text) !important;
    -webkit-text-fill-color: var(--thk-lv2-text) !important;
}

body.thk-lounge-v2-single-page .thk-lv2-section-label,
body.thk-lounge-v2-feed-page .thk-lv2-section-label,
body.thk-lounge-v2-submit-page .thk-lv2-section-label {
    color: var(--thk-lv2-green) !important;
    -webkit-text-fill-color: var(--thk-lv2-green) !important;
}

body.thk-lounge-v2-single-page .thk-lv2-thread-body,
body.thk-lounge-v2-single-page .thk-lv2-thread-body p,
body.thk-lounge-v2-single-page .thk-lv2-thread-body li,
body.thk-lounge-v2-single-page .thk-lv2-replies-card,
body.thk-lounge-v2-single-page .thk-lv2-replies-card p,
body.thk-lounge-v2-single-page .thk-lv2-sidebar-card,
body.thk-lounge-v2-single-page .thk-lv2-sidebar-card p,
body.thk-lounge-v2-single-page .thk-lv2-sidebar-card li,
body.thk-lounge-v2-single-page .thk-lv2-reply-form label {
    color: var(--thk-lv2-text) !important;
}


/*
 * Session-title contrast lock.
 * Blocksy may use either .entry-title or .page-title on custom post types and
 * may apply heading colors through theme variables. This locks only Session
 * page titles to the Lounge cream color without changing yellow button text.
 */
body.single-thk_session,
body.thk-lounge-v2-single-page {
    --theme-heading-color: var(--thk-lv2-text) !important;
    --theme-headings-color: var(--thk-lv2-text) !important;
}

body.single-thk_session .entry-header h1,
body.single-thk_session .entry-header h1 *,
body.single-thk_session .entry-header .entry-title,
body.single-thk_session .entry-header .entry-title *,
body.single-thk_session .entry-header .page-title,
body.single-thk_session .entry-header .page-title *,
body.single-thk_session article.thk_session h1,
body.single-thk_session article.thk_session h1 *,
body.single-thk_session article.type-thk_session h1,
body.single-thk_session article.type-thk_session h1 *,
body.thk-lounge-v2-single-page .entry-header h1,
body.thk-lounge-v2-single-page .entry-header h1 *,
body.thk-lounge-v2-single-page .entry-header .page-title,
body.thk-lounge-v2-single-page .entry-header .page-title * {
    color: #e3dfd2 !important;
    -webkit-text-fill-color: #e3dfd2 !important;
    text-shadow: none !important;
    opacity: 1 !important;
}

body.single-thk_session .entry-header,
body.thk-lounge-v2-single-page .entry-header {
    background: #1d241e !important;
}
