/* ---------- tokens ----------
   The forum is tenant-neutral: every colour and face comes through a --forum-* custom
   property with a calm default here. A tenant theme maps its own tokens onto these
   (WIS does so under .shop-wis-theme in shop-wis.css) and the markup never changes. */
:root {
	--forum-cream:#f7f5f1;
	--forum-cream-deep:#ece7dd;
	--forum-paper:#fdfcfa;
	--forum-ink:#25302c;
	--forum-ink-soft:#56605c;
	--forum-muted:#8a918d;
	--forum-amber:#b7803d;
	--forum-amber-deep:#8a5a20;
	--forum-terracotta:#b8603d;
	--forum-forest:#3d5b50;
	--forum-cream-text:#f7f5f1;
	--forum-sage:#9aa89f;
	--forum-line:rgba(37, 48, 44, .14);
	--forum-gold:#c9a24b;
	--forum-shadow:rgba(37, 48, 44, .08);
	--forum-shadow-strong:rgba(37, 48, 44, .18);
	--forum-display:Georgia, "Times New Roman", serif;
	--forum-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.forum,
.forum-bar,
.forum-flash,
.forum-dialog {
	font-family:var(--forum-body);
	color:var(--forum-ink);
	line-height:1.6;
}

.forum {
	max-width:1480px;
	margin:0 auto;
	padding:1.5rem 12px 3.5rem;
}

.forum *,
.forum *::before,
.forum *::after {
	box-sizing:border-box;
}

.forum-narrow {
	max-width:52rem;
}

.forum h1,
.forum h2,
.forum h3 {
	font-family:var(--forum-display);
	color:var(--forum-ink);
	text-transform:none;
}

.forum a {
	color:var(--forum-forest);
}

.forum-sr {
	position:absolute !important;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0, 0, 0, 0);
	white-space:nowrap;
	border:0;
}

/* hero, eyebrow, lead */
.forum-hero {
	max-width:46rem;
	margin-bottom:1.5rem;
}

.forum-hero h1 {
	font-size:clamp(2rem, 4.2vw, 3.2rem);
	line-height:1.08;
	margin:0 0 .8rem;
}

.forum-eyebrow {
	margin:0 0 .6rem;
	color:var(--forum-amber-deep);
	font-size:.76rem;
	font-weight:700;
	letter-spacing:.22em;
	text-transform:uppercase;
}

.forum-eyebrow a {
	color:inherit;
	text-decoration:none;
}

.forum-lead {
	margin:0 0 .9rem;
	color:var(--forum-ink-soft);
	font-size:1.05rem;
	line-height:1.65;
}

.forum-empty {
	color:var(--forum-ink-soft);
}

/* the join box */
.forum-gate {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:1.25rem 2rem;
	margin-bottom:2.25rem;
	padding:1.5rem 1.75rem;
	background:linear-gradient(135deg, var(--forum-paper), var(--forum-cream-deep));
	border:1px solid var(--forum-gold);
	border-radius:18px;
	box-shadow:0 10px 26px var(--forum-shadow);
}

.forum-gate-copy {
	flex:1 1 24rem;
}

.forum-gate h2 {
	margin:0 0 .4rem;
	font-size:clamp(1.25rem, 2.2vw, 1.7rem);
	line-height:1.15;
}

.forum-gate p {
	margin:0;
	color:var(--forum-ink-soft);
}

.forum-gate-actions {
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:.6rem;
}

.forum-join {
	display:inline-block;
	padding:.75rem 1.4rem;
	border-radius:12px;
	background:var(--forum-forest);
	color:var(--forum-cream-text) !important;
	font-weight:600;
	text-decoration:none;
	white-space:nowrap;
}

.forum-join:hover,
.forum-join:focus {
	background:var(--forum-amber);
	color:#fff !important;
}

.forum-link {
	display:inline-flex;
	align-items:center;
	gap:7px;
	color:var(--forum-forest);
	font-size:.9rem;
	font-weight:700;
	text-decoration:none;
}

/* forms */
.forum-card {
	padding:1.5rem 1.6rem;
	background:rgba(255, 255, 255, .7);
	border:1px solid var(--forum-line);
	border-radius:18px;
	box-shadow:0 10px 26px var(--forum-shadow);
}

.forum-label {
	display:block;
	margin:.9rem 0 .35rem;
	color:var(--forum-ink);
	font-size:.8rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.forum-label:first-child {
	margin-top:0;
}

.forum-input {
	display:block;
	width:100%;
	padding:.7rem .9rem;
	border:1px solid var(--forum-line);
	border-radius:10px;
	background:#fff;
	color:var(--forum-ink);
	font:inherit;
}

.forum-input:focus {
	outline:none;
	border-color:var(--forum-gold);
	box-shadow:0 0 0 3px rgba(201, 162, 75, .2);
}

.forum-hint {
	margin:.4rem 0 .9rem;
	color:var(--forum-muted);
	font-size:.85rem;
}

.forum-submit {
	display:inline-block;
	padding:.8rem 1.5rem;
	border:0;
	border-radius:12px;
	background:var(--forum-forest);
	color:var(--forum-cream-text);
	font:inherit;
	font-weight:700;
	cursor:pointer;
}

.forum-submit:hover,
.forum-submit:focus-visible {
	background:var(--forum-amber);
	color:#fff;
}

.forum-cancel {
	margin-left:.75rem;
}

.forum-alert {
	display:none;
	margin:0 0 1rem;
	padding:.8rem 1rem;
	border-radius:10px;
	background:rgba(184, 96, 61, .12);
	border:1px solid rgba(184, 96, 61, .4);
	color:var(--forum-ink);
}

.forum-alert.is-shown {
	display:block;
}

.forum-back {
	margin-top:1.5rem;
	color:var(--forum-ink-soft);
}

.forum-new-block {
	display:flex;
	justify-content:center;
	width:100%;
	margin-top:1rem;
}

.forum-optional {
	color:var(--forum-muted);
	font-weight:400;
	text-transform:none;
	letter-spacing:0;
}

/* ---------- members' forum (/forum/, views/forum/*.cfm) ----------
   Tenant-neutral: colours come through the --forum-* tokens above. */
.forum {
	padding:1.5rem 0 3.5rem;
}

.forum-narrow {
	max-width:52rem;
}

.forum-hero {
	margin-bottom:1.5rem;
}

.forum-hp {
	position:absolute;
	left:-9999px;
	width:1px;
	height:1px;
	opacity:0;
}

/* the strip */
.forum-bar {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.75rem 1.25rem;
	max-width:1480px;
	margin:0 auto;
	padding:.9rem 12px;
	border-bottom:1px solid var(--forum-line);
}

.forum-crumbs {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.4rem;
	flex:1 1 16rem;
	font-size:.9rem;
	color:var(--forum-ink-soft);
}

.forum-crumbs a {
	color:var(--forum-forest);
	font-weight:600;
}

.forum-search {
	display:flex;
	flex:0 1 20rem;
	border:1px solid var(--forum-line);
	border-radius:30px;
	background:var(--forum-paper);
	overflow:hidden;
}

.forum-search input {
	flex:1 1 auto;
	min-width:0;
	border:0;
	background:transparent;
	padding:.5rem 1rem;
	font:inherit;
	color:var(--forum-ink);
}

.forum-search input:focus {
	outline:none;
}

.forum-search button {
	border:0;
	background:transparent;
	padding:0 .9rem;
	color:var(--forum-forest);
	cursor:pointer;
}

.forum-me {
	display:flex;
	align-items:center;
	gap:.75rem;
	margin-left:auto;
}

.forum-bell {
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:2.4rem;
	height:2.4rem;
	border-radius:50%;
	background:var(--forum-paper);
	border:1px solid var(--forum-line);
	color:var(--forum-ink-soft);
}

.forum-bell.has-new {
	color:var(--forum-forest);
	border-color:var(--forum-gold);
}

.forum-bell-count {
	position:absolute;
	top:-.35rem;
	right:-.35rem;
	min-width:1.25rem;
	height:1.25rem;
	padding:0 .3rem;
	border-radius:1rem;
	background:var(--forum-terracotta);
	color:#fff;
	font-size:.7rem;
	font-weight:700;
	line-height:1.25rem;
	text-align:center;
}

.forum-me-link {
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	color:var(--forum-ink);
	font-weight:600;
	text-decoration:none;
}

.forum-new {
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	border:1px solid var(--forum-forest);
	text-decoration:none !important;
	background:var(--forum-forest);
	border-color:var(--forum-forest);
	border-radius:12px;
	color:var(--forum-cream) !important;
	font-weight:600;
	padding:.6rem 1.1rem;
	white-space:nowrap;
}

.forum-new:hover,
.forum-new:focus {
	background:var(--forum-amber);
	border-color:var(--forum-amber);
	color:#fff !important;
}

/* notices */
.forum-flash {
	max-width:1480px;
	margin:1rem auto 0;
	padding:.8rem 1.1rem;
	border-radius:12px;
	background:rgba(86, 107, 74, .12);
	border:1px solid rgba(86, 107, 74, .35);
	color:var(--forum-ink);
}

.forum-flash.is-error {
	background:rgba(194, 104, 63, .12);
	border-color:rgba(194, 104, 63, .4);
}

/* avatars, badges, small type */
.forum-avatar {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:2.6rem;
	height:2.6rem;
	border-radius:50%;
	color:#fff;
	font-family:var(--forum-body);
	font-size:.95rem;
	font-weight:700;
	letter-spacing:.04em;
	flex:0 0 auto;
}

.forum-avatar.is-sm {
	width:1.8rem;
	height:1.8rem;
	font-size:.7rem;
}

.forum-avatar.is-lg {
	width:4.5rem;
	height:4.5rem;
	font-size:1.5rem;
}

.forum-badge {
	display:inline-block;
	vertical-align:middle;
	padding:.15rem .55rem;
	border-radius:30px;
	background:var(--forum-cream-deep);
	color:var(--forum-ink-soft);
	font-family:var(--forum-body);
	font-size:.7rem;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
}

.forum-badge.is-new { background:var(--forum-gold); color:#fff; }
.forum-badge.is-pin { background:var(--forum-amber); color:#fff; }
.forum-badge.is-solved { background:var(--forum-forest); color:#fff; }
.forum-badge.is-mod { background:var(--forum-ink); color:var(--forum-cream); }
.forum-badge.is-error { background:var(--forum-terracotta); color:#fff; }

.forum-stats {
	display:flex;
	flex-wrap:wrap;
	gap:.4rem 1.4rem;
	margin:0;
	color:var(--forum-ink-soft);
	font-size:.9rem;
}

.forum-stats strong {
	color:var(--forum-ink);
}

.forum-h2 {
	margin:1.5rem 0 .9rem;
	font-family:var(--forum-display);
	font-size:1.35rem;
}

.forum-columns {
	display:grid;
	grid-template-columns:minmax(0, 2fr) minmax(0, 1fr);
	gap:2rem;
}

/* boards */
.forum-boards,
.forum-topics,
.forum-recent,
.forum-replies,
.forum-notes {
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	gap:.8rem;
}

.forum-board-link {
	display:flex;
	gap:1rem;
	padding:1.1rem 1.25rem;
	background:rgba(253, 250, 244, .94);
	border:1px solid var(--forum-line);
	border-radius:16px;
	box-shadow:0 8px 22px var(--forum-shadow);
	color:var(--forum-ink);
	text-decoration:none;
	transition:transform .2s ease, border-color .2s ease;
}

.forum-board-link:hover,
.forum-board-link:focus {
	transform:translateY(-3px);
	border-color:var(--forum-gold);
	color:var(--forum-ink);
}

.forum-board.has-unread .forum-board-link {
	border-left:4px solid var(--forum-gold);
}

.forum-board-icon {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:3rem;
	height:3rem;
	border-radius:14px;
	background:var(--forum-cream-deep);
	color:var(--forum-amber-deep);
	font-size:1.25rem;
	flex:0 0 auto;
}

.forum-board-body {
	display:flex;
	flex-direction:column;
	gap:.25rem;
	min-width:0;
}

.forum-board-name {
	font-family:var(--forum-display);
	font-size:1.2rem;
	font-weight:600;
}

.forum-board-desc {
	color:var(--forum-ink-soft);
	font-size:.92rem;
}

.forum-board-meta,
.forum-topic-meta,
.forum-recent small,
.forum-note small {
	display:block;
	color:var(--forum-muted);
	font-size:.8rem;
}

/* recent / sidebar lists */
.forum-recent li {
	display:flex;
	gap:.7rem;
	align-items:flex-start;
	padding:.65rem .8rem;
	background:rgba(253, 250, 244, .7);
	border:1px solid var(--forum-line);
	border-radius:12px;
}

.forum-recent li.is-unread {
	border-left:4px solid var(--forum-gold);
}

.forum-recent a {
	color:var(--forum-ink);
	font-weight:600;
	text-decoration:none;
}

.forum-recent a:hover {
	color:var(--forum-amber-deep);
}

/* board page */
.forum-boardhead {
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:1.5rem;
	margin-bottom:1.25rem;
}

.forum-boardhead h1,
.forum-memberhead h1 {
	font-size:clamp(1.8rem, 3.6vw, 2.8rem);
	margin-bottom:.5rem;
}

.forum-tabs {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.3rem;
	margin:0 0 1rem;
	border-bottom:1px solid var(--forum-line);
}

.forum-tab {
	padding:.55rem .9rem;
	border-bottom:3px solid transparent;
	color:var(--forum-ink-soft);
	font-weight:600;
	text-decoration:none;
}

.forum-tab.is-current {
	border-bottom-color:var(--forum-forest);
	color:var(--forum-ink);
}

.forum-tabs-count {
	margin-left:auto;
	color:var(--forum-muted);
	font-size:.85rem;
}

.forum-topic {
	display:flex;
	gap:1rem;
	align-items:flex-start;
	padding:1rem 1.2rem;
	background:rgba(253, 250, 244, .94);
	border:1px solid var(--forum-line);
	border-radius:16px;
}

.forum-topic.is-unread {
	border-left:4px solid var(--forum-gold);
}

.forum-topic.is-pinned {
	background:linear-gradient(135deg, rgba(253, 250, 244, .98), rgba(239, 230, 214, .9));
}

.forum-topic-body {
	flex:1 1 auto;
	min-width:0;
}

.forum-topic-title {
	display:block;
	color:var(--forum-ink);
	font-family:var(--forum-display);
	font-size:1.15rem;
	font-weight:600;
	line-height:1.3;
	text-decoration:none;
}

.forum-topic-title:hover {
	color:var(--forum-amber-deep);
}

.forum-dot {
	display:inline-block;
	width:.55rem;
	height:.55rem;
	margin-left:.35rem;
	border-radius:50%;
	background:var(--forum-gold);
	vertical-align:middle;
}

.forum-topic-excerpt {
	margin:.3rem 0 .2rem;
	color:var(--forum-ink-soft);
	font-size:.9rem;
}

.forum-topic-counts {
	display:flex;
	flex-direction:column;
	gap:.2rem;
	flex:0 0 auto;
	color:var(--forum-muted);
	font-size:.82rem;
	text-align:right;
	font-variant-numeric:tabular-nums;
}

.forum-topic-counts i {
	width:1.1rem;
	color:var(--forum-sage);
}

/* pager */
.forum-pager {
	display:flex;
	flex-wrap:wrap;
	gap:.4rem;
	margin:1.25rem 0;
}

.forum-page {
	padding:.4rem .8rem;
	border:1px solid var(--forum-line);
	border-radius:10px;
	background:var(--forum-paper);
	color:var(--forum-forest);
	font-weight:600;
	text-decoration:none;
}

.forum-page.is-current {
	background:var(--forum-forest);
	border-color:var(--forum-forest);
	color:var(--forum-cream);
}

/* thread */
.forum-thread-head {
	margin-bottom:1.25rem;
}

.forum-thread-head h1 {
	font-size:clamp(1.7rem, 3.4vw, 2.6rem);
	line-height:1.15;
	margin-bottom:.6rem;
}

.forum-thread-meta,
.forum-post-head {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.4rem .6rem;
	color:var(--forum-muted);
	font-size:.88rem;
}

.forum-who {
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	color:var(--forum-ink);
	font-weight:700;
	text-decoration:none;
}

.forum-post {
	padding:1.25rem 1.4rem;
	background:rgba(253, 250, 244, .94);
	border:1px solid var(--forum-line);
	border-radius:16px;
	box-shadow:0 8px 22px var(--forum-shadow);
}

.forum-post.is-opening {
	border-color:var(--forum-gold);
}

.forum-post.is-answer {
	border-color:var(--forum-forest);
	background:rgba(86, 107, 74, .07);
}

.forum-post.is-deleted,
.forum-thread.is-deleted > .forum-post {
	opacity:.6;
	border-style:dashed;
}

.forum-post-time {
	margin-left:auto;
	color:var(--forum-muted);
	text-decoration:none;
}

.forum-post-body {
	margin:.75rem 0 .5rem;
	color:var(--forum-ink);
	font-size:1rem;
	line-height:1.65;
	overflow-wrap:anywhere;
}

.forum-post-body p { margin:0 0 .85rem; }
.forum-post-body p:last-child { margin-bottom:0; }
.forum-post-body ul { margin:0 0 .85rem 1.2rem; padding:0; }
.forum-post-body code { padding:.1rem .35rem; border-radius:6px; background:var(--forum-cream-deep); font-size:.9em; }
.forum-post-body a { color:var(--forum-forest); text-decoration:underline; }
.forum-post-body a.forum-mention { text-decoration:none; font-weight:700; }

.forum-post-body blockquote,
.forum-quoted {
	margin:.25rem 0 .85rem;
	padding:.6rem 1rem;
	border-left:3px solid var(--forum-gold);
	background:rgba(201, 162, 75, .08);
	border-radius:0 10px 10px 0;
	color:var(--forum-ink-soft);
	font-size:.92rem;
}

.forum-quoted cite {
	display:block;
	font-style:normal;
	font-weight:700;
	font-size:.78rem;
	color:var(--forum-muted);
}

.forum-post-actions {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.3rem .5rem;
	margin-top:.6rem;
}

.forum-inline {
	display:inline;
	margin:0;
}

.forum-act {
	display:inline-flex;
	align-items:center;
	gap:.35rem;
	padding:.35rem .7rem;
	border:1px solid var(--forum-line);
	border-radius:30px;
	background:var(--forum-paper);
	color:var(--forum-forest);
	font-family:var(--forum-body);
	font-size:.82rem;
	font-weight:600;
	text-decoration:none;
	cursor:pointer;
	transition:background .2s ease, color .2s ease, border-color .2s ease;
}

.forum-act:hover,
.forum-act:focus-visible {
	border-color:var(--forum-gold);
	color:var(--forum-amber-deep);
}

.forum-act.is-quiet {
	border-color:transparent;
	background:transparent;
	color:var(--forum-muted);
}

.forum-act.is-on {
	background:var(--forum-forest);
	border-color:var(--forum-forest);
	color:var(--forum-cream);
}

.forum-like.is-on {
	background:var(--forum-terracotta);
	border-color:var(--forum-terracotta);
}

.forum-act:disabled {
	opacity:.55;
	cursor:default;
}

.forum-locked {
	margin:1.5rem 0 0;
	padding:.9rem 1.1rem;
	border-radius:12px;
	background:var(--forum-cream-deep);
	color:var(--forum-ink-soft);
}

.forum-replyform {
	margin-top:1.5rem;
	padding:1.25rem 1.4rem;
	background:rgba(253, 250, 244, .94);
	border:1px solid var(--forum-line);
	border-radius:16px;
}

.forum-replyform .forum-h2 {
	margin-top:0;
}

.forum-textarea {
	min-height:140px;
	resize:vertical;
	font:inherit;
	line-height:1.55;
}

.forum-help {
	margin:.5rem 0 1rem;
	color:var(--forum-ink-soft);
	font-size:.88rem;
}

.forum-help summary {
	cursor:pointer;
	font-weight:600;
	color:var(--forum-forest);
}

.forum-help ul {
	margin:.5rem 0 0 1.2rem;
	padding:0;
}

/* the report dialog */
.forum-dialog {
	max-width:32rem;
	width:calc(100% - 2rem);
	border:1px solid var(--forum-line);
	border-radius:18px;
	padding:1.5rem 1.6rem;
	background:var(--forum-paper);
	color:var(--forum-ink);
	box-shadow:0 24px 60px var(--forum-shadow-strong);
}

.forum-dialog::backdrop {
	background:rgba(42, 33, 24, .45);
}

.forum-dialog h2 {
	font-size:1.3rem;
	margin-bottom:.4rem;
}

.forum-dialog-actions {
	display:flex;
	justify-content:flex-end;
	gap:.6rem;
	margin-top:1rem;
}

/* notifications */
.forum-note {
	display:flex;
	align-items:center;
	gap:.8rem;
	padding:.8rem 1rem;
	background:rgba(253, 250, 244, .8);
	border:1px solid var(--forum-line);
	border-radius:12px;
}

.forum-note.is-new {
	border-left:4px solid var(--forum-gold);
	background:rgba(201, 162, 75, .08);
}

.forum-note-text {
	flex:1 1 auto;
	min-width:0;
}

/* profile and member page */
.forum-profile-row {
	display:flex;
	align-items:flex-start;
	gap:1.25rem;
	margin-bottom:.5rem;
}

.forum-profile-row > div {
	flex:1 1 auto;
}

.forum-optional {
	color:var(--forum-muted);
	font-weight:400;
	text-transform:none;
	letter-spacing:0;
}

.forum-colours {
	display:flex;
	flex-wrap:wrap;
	gap:.6rem;
	margin:0 0 1rem;
	padding:0;
	border:0;
}

.forum-colours legend {
	width:100%;
	margin-bottom:.4rem;
}

.forum-swatch {
	position:relative;
	width:2.2rem;
	height:2.2rem;
	border-radius:50%;
	cursor:pointer;
	border:3px solid transparent;
}

.forum-swatch:has(input:checked) {
	border-color:var(--forum-ink);
}

.forum-swatch input {
	position:absolute;
	opacity:0;
	width:1px;
	height:1px;
}

.forum-check {
	display:flex;
	align-items:center;
	gap:.5rem;
	margin:0 0 1.2rem;
	color:var(--forum-ink);
}

.forum-memberhead {
	display:flex;
	align-items:flex-start;
	gap:1.5rem;
	margin-bottom:1.5rem;
}

/* reports (moderators) */
.forum-report {
	padding:1rem 1.2rem;
	background:rgba(253, 250, 244, .94);
	border:1px solid rgba(194, 104, 63, .4);
	border-radius:14px;
}

.forum-report-actions {
	display:flex;
	flex-wrap:wrap;
	gap:.5rem;
	margin-top:.6rem;
}

@media (max-width: 767.98px) {
	.forum-columns {
		grid-template-columns:1fr;
	}

	.forum-boardhead {
		flex-direction:column;
		align-items:flex-start;
	}

	.forum-topic-counts {
		display:none;
	}

	.forum-me-name {
		display:none;
	}

	.forum-search {
		order:3;
		flex:1 1 100%;
	}
}


/* ---------- second cut: pictures, staff badge, tags, nesting, polls, features ---------- */
.forum-avatar.is-img {
	object-fit:cover;
	background:var(--forum-cream-deep);
}

.forum-badge.is-host {
	background:var(--forum-gold);
	color:#fff;
}

.forum-tags {
	display:inline-flex;
	flex-wrap:wrap;
	gap:.3rem;
	margin-top:.4rem;
}

.forum-tag {
	display:inline-block;
	padding:.15rem .55rem;
	border-radius:30px;
	background:var(--forum-cream-deep);
	color:var(--forum-ink-soft) !important;
	font-size:.76rem;
	font-weight:600;
	text-decoration:none !important;
}

.forum-tag:hover {
	background:var(--forum-gold);
	color:#fff !important;
}

.forum-tagcloud .forum-tag small {
	opacity:.7;
}

.forum-replies.is-nested {
	margin:.6rem 0 0 2.2rem;
	padding-left:1rem;
	border-left:3px solid var(--forum-cream-deep);
	gap:.6rem;
}

.forum-thread-kids {
	list-style:none;
}

.forum-post.is-child {
	padding:1rem 1.1rem;
	box-shadow:none;
}

.forum-replying {
	margin:0 0 .6rem;
	padding:.5rem .8rem;
	border-radius:10px;
	background:var(--forum-cream-deep);
	color:var(--forum-ink-soft);
	font-size:.88rem;
}

.forum-replying span {
	font-weight:700;
	color:var(--forum-ink);
}

/* polls */
.forum-poll {
	margin:1.25rem 0;
	padding:1.25rem 1.4rem;
	background:rgba(255, 255, 255, .8);
	border:1px solid var(--forum-gold);
	border-radius:16px;
}

.forum-poll h2 {
	font-size:1.2rem;
	margin:0 0 .8rem;
}

.forum-poll-options {
	list-style:none;
	margin:0 0 .8rem;
	padding:0;
	display:grid;
	gap:.4rem;
}

.forum-poll-options label {
	display:flex;
	align-items:center;
	gap:.6rem;
	padding:.5rem .8rem;
	border:1px solid var(--forum-line);
	border-radius:10px;
	background:#fff;
	cursor:pointer;
}

.forum-poll-options label:hover {
	border-color:var(--forum-gold);
}

.forum-poll-results {
	list-style:none;
	margin:0 0 .6rem;
	padding:0;
	display:grid;
	gap:.55rem;
}

.forum-poll-results li {
	display:grid;
	grid-template-columns:minmax(0, 1.4fr) minmax(0, 2fr) auto;
	align-items:center;
	gap:.8rem;
	font-size:.92rem;
}

.forum-poll-results li.is-mine .forum-poll-label {
	font-weight:700;
}

.forum-poll-bar {
	display:block;
	height:.7rem;
	border-radius:1rem;
	background:var(--forum-cream-deep);
	overflow:hidden;
}

.forum-poll-bar span {
	display:block;
	height:100%;
	background:var(--forum-forest);
	border-radius:1rem;
}

.forum-poll-num {
	font-variant-numeric:tabular-nums;
	white-space:nowrap;
}

.forum-submit-sm {
	padding:.55rem 1.1rem;
	font-size:.9rem;
}

.forum-pollfields {
	margin:.5rem 0 1rem;
	padding:1rem 1.1rem;
	border:1px dashed var(--forum-line);
	border-radius:12px;
}

.forum-pollrow {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1rem;
}

/* the front page's feature tiles */
.forum-features {
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));
	gap:1rem;
	margin-bottom:1.75rem;
}

.forum-feature {
	display:flex;
	flex-direction:column;
	gap:.35rem;
	padding:1.1rem 1.25rem;
	background:linear-gradient(135deg, var(--forum-paper), var(--forum-cream-deep));
	border:1px solid var(--forum-line);
	border-radius:16px;
	color:var(--forum-ink);
	text-decoration:none !important;
	box-shadow:0 8px 22px var(--forum-shadow);
	transition:transform .2s ease, border-color .2s ease;
}

.forum-feature:hover {
	transform:translateY(-3px);
	border-color:var(--forum-gold);
	color:var(--forum-ink);
}

.forum-feature-icon {
	width:2.4rem;
	height:2.4rem;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:12px;
	background:#fff;
	color:var(--forum-amber-deep);
}

.forum-feature-title {
	font-family:var(--forum-display);
	font-size:1.1rem;
	font-weight:600;
}

.forum-feature-text {
	color:var(--forum-ink-soft);
	font-size:.88rem;
}

.forum-recent-wide li {
	padding:.8rem 1rem;
}

.forum-recent li > .forum-act {
	margin-left:auto;
	flex:0 0 auto;
}

.forum-guidelines .forum-post-body {
	font-size:1.02rem;
}

.forum-h2 i {
	color:var(--forum-amber-deep);
	margin-right:.3rem;
}

@media (max-width: 575.98px) {
	.forum-replies.is-nested {
		margin-left:.8rem;
	}

	.forum-poll-results li {
		grid-template-columns:1fr auto;
	}

	.forum-poll-results .forum-poll-bar {
		grid-column:1 / -1;
	}

	.forum-pollrow {
		grid-template-columns:1fr;
	}
}

/* ---------- board follow + email preferences ---------- */
.forum-boardhead-actions {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.6rem;
}

.forum-emailprefs {
	margin:0 0 1.2rem;
	padding:1rem 1.1rem;
	border:1px dashed var(--forum-line);
	border-radius:12px;
}

.forum-emailprefs legend {
	width:auto;
	padding:0 .4rem;
	margin-bottom:.4rem;
}

.forum-emailprefs .forum-check {
	margin:0 0 .6rem;
	align-items:flex-start;
}

.forum-emailprefs .forum-check input {
	margin-top:.3rem;
}

/* the "Live feed" link in the strip, to the community feed at /community/ (community.css
   styles the feed itself; this is all the forum pages need of it) */
.forum-live-link {
	white-space:nowrap;
}

.forum-live-dot {
	display:inline-block;
	width:.55rem;
	height:.55rem;
	border-radius:50%;
	background:var(--forum-terracotta);
	animation:forum-live-pulse 2s infinite;
	flex:0 0 auto;
}

@keyframes forum-live-pulse {
	0% { box-shadow:0 0 0 0 rgba(184, 96, 61, .5); }
	70% { box-shadow:0 0 0 .45rem rgba(184, 96, 61, 0); }
	100% { box-shadow:0 0 0 0 rgba(184, 96, 61, 0); }
}

@media (max-width: 575.98px) {
	/* just the dot on a phone where the member strip is crowded (bell, bookmarks, avatar),
	   with a finger-sized target around it; a guest's strip has room for the words */
	.forum-bar .forum-me:has(.forum-bell) .forum-live-link {
		font-size:0;
		gap:0;
		padding:.9rem .6rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.forum-live-dot {
		animation:none;
	}
}

/* phones: .forum has no side padding of its own (the desktop container supplies the margin),
   so on a narrow screen the text and cards ran to the very edge of the glass. A tenant sets
   --forum-gutter to match its own page gutter. */
@media (max-width: 767.98px) {
	.forum {
		padding-left:var(--forum-gutter, 16px);
		padding-right:var(--forum-gutter, 16px);
	}
}
