/**
 * Passion Forum Bridge — frontend styles.
 * Neutral, theme-friendly. Override with theme-specific CSS as needed.
 */

/* ---------- Discussion block under articles ---------- */

.pfb-discussion-block {
	margin: 3rem 0 2rem;
	padding: 1.75rem 1.75rem 1.5rem;
	background: #fafafa;
	border: 1px solid #e6e6e6;
	border-radius: 6px;
	font-family: inherit;
}

.pfb-discussion-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	margin-bottom: 1rem;
	padding-bottom: .9rem;
	border-bottom: 1px solid #e6e6e6;
}

.pfb-discussion-title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 600;
	letter-spacing: -0.005em;
	color: #1a1a1a;
}

.pfb-reply-count {
	font-size: .85rem;
	color: #6b7280;
	white-space: nowrap;
}

.pfb-first-post-preview {
	margin: 1rem 0 1.25rem;
	padding-left: 1rem;
	border-left: 3px solid #d4d4d4;
	color: #404040;
	font-size: .96rem;
	line-height: 1.55;
	font-style: italic;
}

.pfb-discussion-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .65rem;
}

.pfb-btn {
	display: inline-block;
	padding: .65rem 1.4rem;
	font-size: .95rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none !important;
	border: 1px solid transparent;
	border-radius: 4px;
	cursor: pointer;
	transition: background .15s ease, transform .15s ease, border-color .15s ease;
}

.pfb-btn-primary {
	background: #1a1a1a;
	color: #fff !important;
	border-color: #1a1a1a;
}

.pfb-btn-primary:hover,
.pfb-btn-primary:focus {
	background: #000;
	border-color: #000;
	transform: translateY(-1px);
}

.pfb-btn-ghost {
	background: transparent;
	color: #1a1a1a !important;
	border-color: #1a1a1a;
}

.pfb-btn-ghost:hover {
	background: #1a1a1a;
	color: #fff !important;
}

.pfb-discussion-hint {
	margin: 0;
	font-size: .85rem;
	color: #6b7280;
}

.pfb-discussion-hint a {
	color: #1a1a1a;
	text-decoration: underline;
}

/* ---------- Community page ---------- */

.pfb-community-wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 1rem 0 3rem;
}

.pfb-community-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 2rem;
}

.pfb-community-title {
	margin: 0;
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.pfb-community-cta {
	margin: 0;
	display: flex;
	gap: .5rem;
}

.pfb-forum-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 1.25rem;
}

.pfb-forum-card {
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 6px;
	padding: 1.25rem 1.4rem 1rem;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.pfb-forum-card:hover {
	border-color: #d4d4d4;
	box-shadow: 0 1px 3px rgba(0,0,0,.04);
}

.pfb-forum-card-header {
	border-bottom: 1px solid #f0f0f0;
	padding-bottom: .75rem;
	margin-bottom: .75rem;
}

.pfb-forum-name {
	margin: 0 0 .25rem;
	font-size: 1.1rem;
	font-weight: 600;
}

.pfb-forum-name a {
	color: #1a1a1a;
	text-decoration: none;
}

.pfb-forum-name a:hover {
	text-decoration: underline;
}

.pfb-forum-meta {
	font-size: .82rem;
	color: #6b7280;
}

.pfb-meta-sep {
	margin: 0 .35rem;
	color: #c0c0c0;
}

.pfb-recent-topics {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pfb-recent-topic {
	padding: .55rem 0;
	border-bottom: 1px solid #f4f4f4;
}

.pfb-recent-topic:last-child {
	border-bottom: 0;
}

.pfb-topic-title {
	display: block;
	color: #1a1a1a;
	text-decoration: none;
	font-weight: 500;
	font-size: .95rem;
	margin-bottom: .15rem;
	line-height: 1.35;
}

.pfb-topic-title:hover {
	text-decoration: underline;
}

.pfb-topic-meta {
	font-size: .78rem;
	color: #888;
}

.pfb-forum-empty {
	margin: 0;
	padding: .75rem 0;
	color: #9ca3af;
	font-size: .9rem;
	font-style: italic;
}

/* ---------- Loading state ---------- */

.pfb-create-topic[disabled] {
	opacity: 0.5;
	cursor: wait;
}
