/* Forum presentation (forum.php, inc/forum-presentation.php). Shared tokens only. */

.fota-forum-shell { display: grid; gap: 1.25rem; }
.fota-forum-shell > * { min-width: 0; }
.fota-forum-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem 2rem; max-width: none; }
.fota-forum-head > div { max-width: 48rem; }
.fota-forum-head h1 { margin: .1rem 0 .5rem; }
.fota-forum-eyebrow { margin: 0; font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fota-link); }
.fota-forum-eyebrow a { color: inherit; }
.fota-forum-hint, .fota-forum-muted { color: var(--fota-muted); font-size: .9rem; }
.fota-forum-gate { margin: 0; }

/* Landing: categories beside recent activity. */
.fota-forum-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem); gap: 1.5rem; align-items: start; }
.fota-forum-section h2 { margin: 0 0 .75rem; }
.fota-forum-section + .fota-forum-section { margin-top: 1.5rem; }
ul.fota-forum-boards { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: 1fr; }
.fota-forum-board .fota-card__title a { color: var(--fota-text); text-decoration: none; }
.fota-forum-board .fota-card__title a:hover { color: var(--fota-link); text-decoration: underline; }
.fota-forum-board p { margin: .35rem 0 0; }
.fota-forum-board__meta { display: flex; flex-wrap: wrap; gap: .35rem 1.25rem; font-size: .9rem; color: var(--fota-muted); }
.fota-forum-aside { display: grid; gap: 1rem; }
.fota-forum-aside h2 { margin: 0 0 .5rem; font-size: 1.15rem; }
.fota-forum-recent { list-style: none; margin: 0 0 .75rem; padding: 0; display: grid; gap: .75rem; }
.fota-forum-recent li { display: grid; gap: .15rem; }
.fota-forum-recent .fota-forum-muted { font-size: .82rem; }
@media (max-width: 56rem) { .fota-forum-layout { grid-template-columns: 1fr; } }

/* Category: discussion rows. */
.fota-forum-filter { display: grid; gap: .35rem; max-width: 32rem; }
.fota-forum-filter label { font-weight: 600; }
.fota-forum-filter p { margin: 0; min-height: 1.2em; }
.fota-forum-topic-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.fota-forum-topic-row__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 1.5rem; align-items: center; }
.fota-forum-topic-row .fota-card__title { margin: 0; font-size: 1.1rem; }
.fota-forum-topic-row .fota-card__title a { color: var(--fota-text); }
.fota-forum-topic-row .fota-card__title a:hover { color: var(--fota-link); }
.fota-forum-topic-row .fota-card__meta { margin: .25rem 0 0; }
.fota-forum-topic-row__stats { display: grid; justify-items: end; gap: .1rem; margin: 0; font-size: .88rem; text-align: right; }
@media (max-width: 40rem) { .fota-forum-topic-row__body { grid-template-columns: 1fr; } .fota-forum-topic-row__stats { justify-items: start; text-align: left; display: flex; flex-wrap: wrap; gap: .25rem 1rem; } }
.fota-forum-chips { display: inline-flex; flex-wrap: wrap; gap: .3rem; margin: .3rem 0 0; }
.fota-forum-chip { display: inline-flex; align-items: center; padding: .1rem .5rem; border: 1px solid currentColor; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.fota-forum-chip--pinned { color: var(--fota-link); }
.fota-forum-chip--closed { color: var(--fota-muted); }
.fota-forum-chip--hidden { color: var(--fota-warning-text); background: var(--fota-warning-surface); }

/* Topic: readable posts on desktop and phones. */
.fota-forum-shell .fota-entry-content, .fota-forum-reply .fota-card__body > p:not(.fota-card__meta) { max-width: 72ch; line-height: 1.65; overflow-wrap: anywhere; }
.fota-forum-shell article.fota-card h1 { margin: .1rem 0 .4rem; font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.3rem); line-height: 1.15; }
.fota-forum-replies-head { margin: .5rem 0 0; font-size: 1.15rem; }
.fota-forum-reply { border-left: 3px solid var(--fota-border); }
.fota-forum-reply:target { border-left-color: var(--fota-action); box-shadow: 0 0 0 2px var(--fota-focus); }
.fota-forum-reply-link { color: inherit; }
.fota-forum-post-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .75rem; }
.fota-forum-reply-form { display: grid; gap: .75rem; }
.fota-forum-reply-form__title { margin: 0; font-size: 1.15rem; }
@media (max-width: 40rem) { .fota-forum-shell .fota-card__body { padding: 1rem; } }
