/* ═══ ARC Forums — public styles ════════════════════════════════════ */
:root {
	--arc-forums-primary:        #0d404a;
	--arc-forums-primary-hover:  #0a3239;
	--arc-forums-accent:         #2b8a99;
	--arc-forums-text:           #2c3e44;
	--arc-forums-muted:          #6c757d;
	--arc-forums-border:         #e3e8eb;
	--arc-forums-border-strong:  #cdd6db;
	--arc-forums-bg:             #ffffff;
	--arc-forums-bg-soft:        #f6f9fa;
	--arc-forums-bg-hover:       #eef4f6;
	--arc-forums-shadow-sm:      0 1px 2px rgba(13,64,74,.06);
	--arc-forums-shadow:         0 4px 12px rgba(13,64,74,.08);
	--arc-forums-radius:         10px;
	--arc-forums-radius-sm:      6px;
	--arc-forums-font:           -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ── Scope: only style inside .arc-forums to avoid theme bleed ───── */
#bbpress-forums.arc-forums {
	font-family: var(--arc-forums-font);
	color: var(--arc-forums-text);
	font-size: 15px;
	line-height: 1.55;
	margin: 0 auto;
	max-width: 1080px;
}

.arc-forums a {
	color: var(--arc-forums-primary);
	text-decoration: none;
	transition: color .15s ease;
}
.arc-forums a:hover { color: var(--arc-forums-primary-hover); text-decoration: underline; }

/* ── Header ──────────────────────────────────────────────────────── */
.arc-forums-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 2rem;
	margin: 0 0 1.75rem;
	flex-wrap: wrap;
}
.arc-forums-header__title h1 {
	margin: 0 0 .35rem;
	font-size: 1.85rem;
	font-weight: 600;
	color: var(--arc-forums-primary);
	letter-spacing: -.01em;
}
.arc-forums-subtitle {
	margin: 0;
	color: var(--arc-forums-muted);
	font-size: .95rem;
}
.arc-forums-header__search { flex: 0 1 320px; min-width: 220px; }
.arc-forums-header__search input[type="text"],
.arc-forums-header__search input[type="search"] {
	width: 100%;
	padding: .55rem .85rem;
	border: 1px solid var(--arc-forums-border);
	border-radius: var(--arc-forums-radius-sm);
	font: inherit;
	background: var(--arc-forums-bg);
}

/* ── Forum / Topic / Reply head ──────────────────────────────────── */
.arc-forum-head, .arc-topic-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--arc-forums-border);
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}
.arc-forum-head__title, .arc-topic-head__title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--arc-forums-primary);
	flex: 1 1 auto;
}
.arc-forum-head__actions, .arc-topic-head__actions {
	display: flex;
	gap: .5rem;
	flex-wrap: wrap;
}
.arc-forum-description {
	margin: 0 0 1.5rem;
	color: var(--arc-forums-muted);
}

/* ── Forum list (cards) ──────────────────────────────────────────── */
.arc-forum-list { display: flex; flex-direction: column; gap: .75rem; margin: 0 0 2rem; }
.arc-forum-card {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 1.25rem;
	align-items: center;
	padding: 1.1rem 1.25rem;
	background: var(--arc-forums-bg);
	border: 1px solid var(--arc-forums-border);
	border-radius: var(--arc-forums-radius);
	box-shadow: var(--arc-forums-shadow-sm);
	transition: box-shadow .15s ease, border-color .15s ease;
}
.arc-forum-card:hover {
	border-color: var(--arc-forums-border-strong);
	box-shadow: var(--arc-forums-shadow);
}
.arc-forum-card__title {
	margin: 0 0 .25rem;
	font-size: 1.05rem;
	font-weight: 600;
}
.arc-forum-card__title a { color: var(--arc-forums-primary); }
.arc-forum-card__desc { font-size: .9rem; color: var(--arc-forums-muted); }
.arc-forum-card__stats { display: flex; gap: 1.25rem; align-items: center; }
.arc-stat { text-align: center; min-width: 56px; }
.arc-stat__value {
	display: block; font-weight: 600; font-size: 1.05rem; color: var(--arc-forums-text);
}
.arc-stat__label {
	display: block; font-size: .72rem; text-transform: uppercase;
	letter-spacing: .04em; color: var(--arc-forums-muted);
}
.arc-forum-card__freshness {
	display: flex; flex-direction: column; align-items: flex-end; gap: .15rem;
	font-size: .85rem; color: var(--arc-forums-muted); min-width: 160px;
}
.arc-freshness__label { font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; }
.arc-freshness__author img { vertical-align: middle; border-radius: 50%; margin-right: .35rem; }

/* ── Topic list (cards) ──────────────────────────────────────────── */
.arc-topic-list { display: flex; flex-direction: column; gap: .5rem; margin: 0 0 2rem; }
.arc-topic-card {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	gap: 1rem;
	align-items: center;
	padding: .9rem 1.1rem;
	background: var(--arc-forums-bg);
	border: 1px solid var(--arc-forums-border);
	border-radius: var(--arc-forums-radius);
	transition: background .15s ease, border-color .15s ease;
}
.arc-topic-card:hover { background: var(--arc-forums-bg-hover); border-color: var(--arc-forums-border-strong); }
.arc-topic-card__avatar img { display: block; border-radius: 50%; }
.arc-topic-card__title { margin: 0 0 .15rem; font-size: 1rem; font-weight: 600; }
.arc-topic-card__title a { color: var(--arc-forums-primary); }
.arc-topic-card__meta {
	margin: 0; font-size: .82rem; color: var(--arc-forums-muted);
}
.arc-topic-card__meta a { color: var(--arc-forums-accent); }
.arc-topic-card__freshness {
	display: flex; flex-direction: column; align-items: flex-end; gap: .1rem;
	font-size: .8rem; color: var(--arc-forums-muted); min-width: 150px;
}

/* ── Replies (thread) ────────────────────────────────────────────── */
.arc-reply-list { display: flex; flex-direction: column; gap: 1rem; margin: 1rem 0 2rem; }
.arc-reply {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 1.25rem;
	background: var(--arc-forums-bg);
	border: 1px solid var(--arc-forums-border);
	border-radius: var(--arc-forums-radius);
	overflow: hidden;
}
.arc-reply__author {
	padding: 1.1rem 1rem;
	background: var(--arc-forums-bg-soft);
	border-right: 1px solid var(--arc-forums-border);
	text-align: center;
	font-size: .85rem;
}
.arc-reply__author img { display: block; margin: 0 auto .6rem; border-radius: 50%; }
.arc-reply__author .bbp-author-name { font-weight: 600; color: var(--arc-forums-primary); display: block; margin-bottom: .15rem; }
.arc-reply__author .bbp-author-role {
	display: inline-block; font-size: .68rem;
	color: var(--arc-forums-muted); text-transform: uppercase; letter-spacing: .04em;
}
.arc-reply__ip { margin-top: .5rem; font-size: .7rem; color: var(--arc-forums-muted); }
.arc-reply__body { padding: 1.1rem 1.25rem; min-width: 0; }
.arc-reply__meta {
	display: flex; gap: .75rem; align-items: center; flex-wrap: wrap;
	font-size: .78rem; color: var(--arc-forums-muted);
	padding-bottom: .65rem; margin-bottom: .85rem;
	border-bottom: 1px solid var(--arc-forums-border);
}
.arc-reply__permalink { color: var(--arc-forums-muted); font-weight: 600; }
.arc-reply__content { font-size: .95rem; line-height: 1.7; }
.arc-reply__content p:first-child { margin-top: 0; }
.arc-reply__content p:last-child  { margin-bottom: 0; }
.arc-reply__content a { color: var(--arc-forums-accent); text-decoration: underline; }
.arc-reply__admin-links { margin-left: auto; }

/* ── Forms (topic / reply) ───────────────────────────────────────── */
.arc-forums .bbp-topic-form,
.arc-forums .bbp-reply-form {
	margin: 1.5rem 0;
	padding: 1.25rem 1.5rem;
	background: var(--arc-forums-bg);
	border: 1px solid var(--arc-forums-border);
	border-radius: var(--arc-forums-radius);
	box-shadow: var(--arc-forums-shadow-sm);
}
.arc-forums .bbp-form fieldset { border: 0; padding: 0; margin: 0; }
.arc-forums .bbp-form legend {
	font-size: 1.1rem; font-weight: 600; color: var(--arc-forums-primary);
	padding: 0 0 .85rem; margin-bottom: .85rem;
	border-bottom: 1px solid var(--arc-forums-border);
	width: 100%;
}
.arc-forums .bbp-form p { margin: 0 0 1rem; }
.arc-forums .bbp-form label {
	display: block; margin-bottom: .3rem;
	font-weight: 500; font-size: .85rem; color: var(--arc-forums-text);
}
.arc-forums .bbp-form input[type="text"],
.arc-forums .bbp-form input[type="email"],
.arc-forums .bbp-form input[type="url"],
.arc-forums .bbp-form select,
.arc-forums .bbp-form textarea {
	width: 100%; max-width: 100%;
	padding: .55rem .8rem;
	border: 1px solid var(--arc-forums-border);
	border-radius: var(--arc-forums-radius-sm);
	font: inherit; background: var(--arc-forums-bg); color: var(--arc-forums-text);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.arc-forums .bbp-form input:focus,
.arc-forums .bbp-form select:focus,
.arc-forums .bbp-form textarea:focus {
	outline: none;
	border-color: var(--arc-forums-primary);
	box-shadow: 0 0 0 3px rgba(13,64,74,.12);
}
.arc-forums .bbp-submit-wrapper { margin-top: 1rem; display: flex; gap: .75rem; justify-content: flex-end; }
.arc-forums .bbp-submit-wrapper .button,
.arc-forums button.submit {
	background: var(--arc-forums-primary);
	color: #fff;
	border: 1px solid var(--arc-forums-primary);
	padding: .6rem 1.4rem;
	border-radius: var(--arc-forums-radius-sm);
	font-weight: 500; font-size: .92rem; cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.arc-forums .bbp-submit-wrapper .button:hover,
.arc-forums button.submit:hover {
	background: var(--arc-forums-primary-hover);
	border-color: var(--arc-forums-primary-hover);
}

/* ── Notices ─────────────────────────────────────────────────────── */
.arc-forums .bbp-template-notice {
	padding: .75rem 1rem;
	border-left: 3px solid var(--arc-forums-accent);
	background: var(--arc-forums-bg-soft);
	border-radius: var(--arc-forums-radius-sm);
	margin: 0 0 1rem;
	font-size: .9rem;
	color: var(--arc-forums-text);
}
.arc-forums .bbp-template-notice.error  { border-left-color: #d97757; }
.arc-forums .bbp-template-notice ul { margin: 0; padding-left: 1.1rem; }

/* ── Breadcrumb & pagination ─────────────────────────────────────── */
.arc-forums .bbp-breadcrumb {
	margin: 0 0 1rem;
	font-size: .82rem;
	color: var(--arc-forums-muted);
}
.arc-forums .bbp-breadcrumb a { color: var(--arc-forums-accent); }
.arc-forums .bbp-pagination {
	margin: 1rem 0; font-size: .85rem;
	display: flex; align-items: center; gap: .85rem; flex-wrap: wrap;
}
.arc-forums .bbp-pagination-links a,
.arc-forums .bbp-pagination-links span.page-numbers {
	display: inline-block;
	padding: .3rem .6rem;
	border: 1px solid var(--arc-forums-border);
	border-radius: var(--arc-forums-radius-sm);
	margin-right: .2rem;
	color: var(--arc-forums-text);
}
.arc-forums .bbp-pagination-links span.current {
	background: var(--arc-forums-primary);
	color: #fff; border-color: var(--arc-forums-primary);
}

/* ── Subscription / favorite links (action chips) ────────────────── */
.arc-forums .subscription-toggle,
.arc-forums .favorite-toggle {
	display: inline-block;
	padding: .35rem .75rem;
	background: var(--arc-forums-bg-soft);
	border: 1px solid var(--arc-forums-border);
	border-radius: 999px;
	font-size: .78rem;
	color: var(--arc-forums-primary);
	transition: background .15s ease;
}
.arc-forums .subscription-toggle:hover,
.arc-forums .favorite-toggle:hover { background: var(--arc-forums-bg-hover); }

/* ── ARC profile chip override (when integration is on) ──────────── */
.arc-forums .arc-author-link {
	display: inline-flex; align-items: center; gap: .35rem;
	color: var(--arc-forums-primary); font-weight: 500;
}
.arc-forums .arc-author-link__badge {
	font-size: .65rem; text-transform: uppercase;
	background: var(--arc-forums-accent); color: #fff;
	padding: .1rem .4rem; border-radius: 999px; letter-spacing: .05em;
}

/* ── Shortcode: recent / activity widgets ────────────────────────── */
.arc-forum-recent, .arc-forum-user-activity {
	display: flex; flex-direction: column; gap: .5rem;
	font-family: var(--arc-forums-font);
}
.arc-forum-recent__item, .arc-forum-user-activity__item {
	padding: .65rem .85rem;
	background: var(--arc-forums-bg);
	border: 1px solid var(--arc-forums-border);
	border-radius: var(--arc-forums-radius-sm);
	font-size: .9rem;
}
.arc-forum-recent__item a { color: var(--arc-forums-primary); font-weight: 500; }
.arc-forum-recent__meta, .arc-forum-user-activity__meta {
	display: block; font-size: .78rem; color: var(--arc-forums-muted); margin-top: .2rem;
}
.arc-forum-recent__empty, .arc-forum-user-activity__empty {
	padding: 1rem; text-align: center; color: var(--arc-forums-muted);
	border: 1px dashed var(--arc-forums-border); border-radius: var(--arc-forums-radius-sm);
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 720px) {
	.arc-forum-card { grid-template-columns: 1fr; gap: .75rem; }
	.arc-forum-card__stats, .arc-forum-card__freshness { justify-content: flex-start; align-items: flex-start; }
	.arc-topic-card {
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"avatar body"
			"stats stats"
			"fresh fresh";
	}
	.arc-topic-card__avatar    { grid-area: avatar; }
	.arc-topic-card__body      { grid-area: body; }
	.arc-topic-card__stats     { grid-area: stats; }
	.arc-topic-card__freshness { grid-area: fresh; align-items: flex-start; }
	.arc-reply { grid-template-columns: 1fr; }
	.arc-reply__author {
		border-right: 0; border-bottom: 1px solid var(--arc-forums-border);
		display: flex; align-items: center; gap: .75rem; text-align: left;
	}
	.arc-reply__author img { margin: 0; }
}
