/* LC Forum — Facebook-style feed */
.lc-forum {
	--lc-forum-bg: #f0f2f5;
	--lc-forum-card: #fff;
	--lc-forum-text: #050505;
	--lc-forum-muted: #65676b;
	--lc-forum-border: #e4e6eb;
	--lc-forum-primary: #1877f2;
	--lc-forum-radius: 12px;
	max-width: 680px;
	margin: 0 auto;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--lc-forum-text);
}

.lc-forum-header,
.lc-forum-group-header {
	margin-bottom: 16px;
}

.lc-forum-title,
.lc-forum-group-name {
	margin: 0 0 6px;
	font-size: 1.5rem;
	font-weight: 700;
}

.lc-forum-subtitle,
.lc-forum-group-desc,
.lc-forum-time {
	color: var(--lc-forum-muted);
	font-size: 0.875rem;
}

.lc-forum-back {
	display: inline-block;
	margin-bottom: 12px;
	color: var(--lc-forum-primary);
	text-decoration: none;
	font-size: 0.9rem;
}

.lc-forum-back:hover {
	text-decoration: underline;
}

.lc-forum-group-hero {
	display: flex;
	gap: 16px;
	align-items: center;
	background: var(--lc-forum-card);
	border: 1px solid var(--lc-forum-border);
	border-radius: var(--lc-forum-radius);
	padding: 16px;
}

.lc-forum-group-hero-icon img,
.lc-forum-group-card-icon img {
	width: 72px;
	height: 72px;
	border-radius: 12px;
	object-fit: cover;
}

.lc-forum-group-hero-icon span,
.lc-forum-group-card-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 12px;
	background: var(--lc-forum-bg);
	font-size: 2rem;
}

.lc-forum-groups {
	max-width: 100%;
}

.lc-forum-group-grid {
	display: flex;
	flex-wrap: nowrap;
	gap: 16px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 2px 2px 12px;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
}

.lc-forum-group-card {
	display: flex;
	flex: 0 0 clamp(260px, 28vw, 340px);
	scroll-snap-align: start;
	gap: 14px;
	padding: 16px;
	background: var(--lc-forum-card);
	border: 1px solid var(--lc-forum-border);
	border-radius: var(--lc-forum-radius);
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s ease;
}

.lc-forum-group-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.lc-forum-group-card-name {
	margin: 0 0 6px;
	font-size: 1.05rem;
}

.lc-forum-group-card-desc {
	margin: 0;
	color: var(--lc-forum-muted);
	font-size: 0.875rem;
	line-height: 1.4;
}

.lc-forum-composer,
.lc-forum-post {
	background: var(--lc-forum-card);
	border: 1px solid var(--lc-forum-border);
	border-radius: var(--lc-forum-radius);
	padding: 12px 16px 16px;
	margin-bottom: 16px;
}

.lc-forum-composer-top,
.lc-forum-post-header,
.lc-forum-comment-form {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.lc-forum-author-avatar img,
.lc-forum-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.lc-forum-author-avatar--sm img {
	width: 32px;
	height: 32px;
}

.lc-forum-post-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.lc-forum-author-name {
	font-size: 0.9375rem;
	line-height: 1.2;
}

.lc-forum-composer-input,
.lc-forum-comment-input {
	width: 100%;
	border: none;
	background: var(--lc-forum-bg);
	border-radius: 20px;
	padding: 10px 14px;
	font-size: 0.95rem;
	resize: vertical;
	font-family: inherit;
	box-sizing: border-box;
}

.lc-forum-composer-input:focus,
.lc-forum-comment-input:focus {
	outline: 2px solid var(--lc-forum-primary);
	outline-offset: 0;
}

.lc-forum-composer-fields,
.lc-forum-comment-form-body {
	flex: 1;
	min-width: 0;
}

.lc-forum-comment-form-body {
	display: flex;
	gap: 8px;
	align-items: center;
}

.lc-forum-composer-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--lc-forum-border);
}

.lc-forum-btn {
	border: none;
	border-radius: 8px;
	padding: 8px 16px;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
}

.lc-forum-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.lc-forum-btn--primary {
	background: var(--lc-forum-primary);
	color: #fff;
}

.lc-forum-btn--secondary {
	background: var(--lc-forum-bg);
	color: var(--lc-forum-text);
}

.lc-forum-btn--ghost {
	background: transparent;
	color: var(--lc-forum-primary);
	padding: 8px 10px;
}

.lc-forum-file-label {
	cursor: pointer;
}

.lc-forum-post-content {
	margin: 10px 0 0 50px;
	font-size: 0.95rem;
	line-height: 1.45;
}

.lc-forum-post-content p {
	margin: 0 0 8px;
}

.lc-forum-post-attachments {
	margin: 12px 0 0 50px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lc-forum-attach--image img {
	max-width: 100%;
	border-radius: 8px;
	display: block;
}

.lc-forum-attach--file {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	background: var(--lc-forum-bg);
	border-radius: 8px;
	text-decoration: none;
	color: inherit;
	font-size: 0.875rem;
}

.lc-forum-comments {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--lc-forum-border);
}

.lc-forum-comment {
	display: flex;
	gap: 8px;
	margin-bottom: 8px;
}

.lc-forum-comment-bubble {
	background: var(--lc-forum-bg);
	border-radius: 16px;
	padding: 8px 12px;
	max-width: calc(100% - 48px);
}

.lc-forum-comment-text {
	margin: 4px 0 2px;
	font-size: 0.9rem;
	line-height: 1.35;
}

.lc-forum-comment-form {
	margin-top: 8px;
}

.lc-forum-login-notice,
.lc-forum-empty,
.lc-forum-error {
	background: var(--lc-forum-card);
	border: 1px solid var(--lc-forum-border);
	border-radius: var(--lc-forum-radius);
	padding: 16px;
	margin-bottom: 16px;
	text-align: center;
	color: var(--lc-forum-muted);
}

.lc-forum-composer-attachments {
	margin-top: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lc-forum-pending-file {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	background: var(--lc-forum-bg);
	border-radius: 8px;
	font-size: 0.8rem;
}

.lc-forum-pending-file button {
	border: none;
	background: none;
	cursor: pointer;
	color: var(--lc-forum-muted);
	font-size: 1rem;
	line-height: 1;
}

.lc-forum-composer-status {
	margin-top: 8px;
	font-size: 0.85rem;
	color: var(--lc-forum-muted);
}

.lc-forum-composer-status.is-error {
	color: #b42318;
}

.lc-forum-load-more-wrap {
	text-align: center;
	margin: 8px 0 24px;
}

.lc-forum-post--new {
	animation: lc-forum-fade-in 0.4s ease;
}

@keyframes lc-forum-fade-in {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 600px) {
	.lc-forum-post-content,
	.lc-forum-post-attachments {
		margin-left: 0;
	}

	.lc-forum-comment-form-body {
		flex-direction: column;
		align-items: stretch;
	}

	.lc-forum-comment-form-body .lc-forum-btn {
		align-self: flex-end;
	}
}


.lc-forum-item-actions,
.lc-forum-comment-actions {
	margin-left: auto;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}

.lc-forum-link-btn {
	border: 0;
	background: transparent;
	color: var(--lc-forum-muted);
	font-size: 12px;
	cursor: pointer;
	padding: 2px 4px;
}

.lc-forum-link-btn:hover {
	color: var(--lc-forum-primary);
	text-decoration: underline;
}

.lc-forum-edit-panel {
	margin: 10px 0;
}

.lc-forum-edit-panel textarea {
	width: 100%;
	border: 1px solid var(--lc-forum-border);
	border-radius: 10px;
	padding: 10px;
}

.lc-forum-load-comments {
	margin: 8px 0 12px 48px;
	border: 0;
	background: transparent;
	color: var(--lc-forum-primary);
	font-weight: 600;
	cursor: pointer;
}

.lc-forum-status--error {
	color: #b42318;
}

.lc-forum-post-header {
	align-items: flex-start;
}

@media (max-width: 600px) {
	.lc-forum-item-actions {
		width: 100%;
		margin-left: 48px;
	}
}


/* Production polish: accessibility, mobile, RTL, and upload previews */
.lc-forum * {
	box-sizing: border-box;
}

.lc-forum a:focus-visible,
.lc-forum button:focus-visible,
.lc-forum textarea:focus-visible,
.lc-forum input:focus-visible {
	outline: 3px solid rgba(24, 119, 242, 0.35);
	outline-offset: 2px;
}

.lc-forum-attachment-preview {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: 7px 10px;
	border-radius: 999px;
	background: var(--lc-forum-bg);
	color: var(--lc-forum-muted);
	font-size: 0.82rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lc-forum-attach--image {
	display: inline-block;
	max-width: min(100%, 320px);
}

.lc-forum-attach--image img {
	max-height: 360px;
	object-fit: cover;
}

.lc-forum-attach-name {
	max-width: 260px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lc-forum-post-content {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.lc-forum-comment-bubble {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.lc-forum[dir="rtl"],
html[dir="rtl"] .lc-forum {
	direction: rtl;
	text-align: right;
}

html[dir="rtl"] .lc-forum-item-actions,
html[dir="rtl"] .lc-forum-comment-actions {
	margin-left: 0;
	margin-right: auto;
}

@media (max-width: 480px) {
	.lc-forum {
		max-width: 100%;
		padding: 0 10px;
	}

	.lc-forum-group-grid {
		gap: 12px;
		padding-bottom: 10px;
	}

	.lc-forum-group-card {
		flex: 0 0 calc((100% - 12px) / 2);
		min-width: calc((100% - 12px) / 2);
		flex-direction: column;
		padding: 12px;
		gap: 10px;
	}

	.lc-forum-group-hero {
		padding: 12px;
		gap: 12px;
	}

	.lc-forum-group-hero-icon img,
	.lc-forum-group-card-icon img,
	.lc-forum-group-hero-icon span,
	.lc-forum-group-card-placeholder {
		width: 56px;
		height: 56px;
	}

	.lc-forum-group-card-name {
		font-size: 0.95rem;
	}

	.lc-forum-group-card-desc {
		font-size: 0.8rem;
		line-height: 1.35;
	}

	.lc-forum-composer,
	.lc-forum-post {
		padding: 12px;
		border-radius: 14px;
	}

	.lc-forum-composer-actions {
		gap: 8px;
	}

	.lc-forum-btn {
		padding: 9px 12px;
		min-height: 40px;
	}

	.lc-forum-post-header {
		flex-wrap: wrap;
	}

	.lc-forum-item-actions {
		width: auto;
		margin-left: 50px;
	}

	.lc-forum-post-attachments {
		margin-left: 0;
	}

	.lc-forum-attach--image {
		max-width: 100%;
	}

	.lc-forum-attach--image img {
		width: 100%;
		max-height: none;
	}

	.lc-forum-comment-bubble {
		max-width: calc(100% - 40px);
	}
}


/* LC Forum update: Facebook-style comment paging, infinite post loading, and attachment previews/downloads. */
.lc-forum-load-more {
	min-width: 180px;
}

.lc-forum-attachment-preview {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	padding: 8px 34px 8px 10px;
	border: 1px solid var(--lc-forum-border);
	border-radius: 12px;
	background: var(--lc-forum-bg);
	color: var(--lc-forum-text);
	font-size: 0.84rem;
	overflow: hidden;
}

.lc-forum-attachment-preview--image {
	align-items: center;
	min-height: 62px;
}

.lc-forum-attachment-preview--image img {
	width: 54px;
	height: 54px;
	object-fit: cover;
	border-radius: 10px;
	flex: 0 0 auto;
	background: #fff;
}

.lc-forum-attachment-preview-meta {
	display: block;
	max-width: 260px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--lc-forum-muted);
}

.lc-forum-attachment-remove {
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 0;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.08);
	color: var(--lc-forum-text);
	cursor: pointer;
	font-size: 18px;
	line-height: 1;
}

.lc-forum-attachment-remove:hover {
	background: rgba(0, 0, 0, 0.14);
}

.lc-forum-attach--file {
	border: 1px solid var(--lc-forum-border);
	transition: background 0.15s ease, border-color 0.15s ease;
}

.lc-forum-attach--file:hover {
	background: #eef4ff;
	border-color: rgba(24, 119, 242, 0.3);
}

.lc-forum-attach-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: var(--lc-forum-primary);
	color: #fff;
	font-size: 14px;
	flex: 0 0 auto;
}

.lc-forum-attach-type {
	color: var(--lc-forum-muted);
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.lc-forum-load-comments {
	display: inline-flex;
	align-items: center;
	margin: 6px 0 12px 48px;
	padding: 4px 0;
}

html[dir="rtl"] .lc-forum-attachment-remove {
	right: auto;
	left: 8px;
}

html[dir="rtl"] .lc-forum-attachment-preview {
	padding-right: 10px;
	padding-left: 34px;
}

@media (max-width: 480px) {
	.lc-forum-composer-attachments {
		display: grid;
		grid-template-columns: 1fr;
	}

	.lc-forum-attachment-preview,
	.lc-forum-attachment-preview-meta {
		width: 100%;
		max-width: 100%;
	}

	.lc-forum-attach--file {
		width: 100%;
	}

	.lc-forum-load-more {
		width: 100%;
	}
}


/* LC Forum emoji picker: Facebook-style quick reactions for posts and comments. */
.lc-forum-emoji-panel {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	max-width: 100%;
	margin: 8px 0;
	padding: 10px;
	border: 1px solid var(--lc-forum-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.lc-forum-emoji-panel[hidden] {
	display: none !important;
}

.lc-forum-emoji-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	cursor: pointer;
	font-size: 20px;
	line-height: 1;
	transition: background 0.15s ease, transform 0.15s ease;
}

.lc-forum-emoji-btn:hover,
.lc-forum-emoji-btn:focus-visible {
	background: #eef4ff;
	transform: translateY(-1px);
	outline: none;
}

.lc-forum-comment-input-row {
	display: flex;
	align-items: center;
	gap: 6px;
	width: 100%;
}

.lc-forum-comment-input-row .lc-forum-comment-input {
	flex: 1 1 auto;
	min-width: 0;
}

.lc-forum-emoji-toggle--comment {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--lc-forum-border);
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
	font-size: 18px;
	flex: 0 0 auto;
}

.lc-forum-emoji-toggle--comment:hover,
.lc-forum-emoji-toggle--comment[aria-expanded="true"] {
	background: #eef4ff;
	border-color: rgba(24, 119, 242, 0.35);
}

.lc-forum-emoji-panel--comment {
	margin-top: 6px;
	margin-bottom: 8px;
	max-width: 360px;
}

html[dir="rtl"] .lc-forum-emoji-panel {
	direction: rtl;
}

@media (max-width: 480px) {
	.lc-forum-emoji-panel {
		gap: 5px;
		padding: 8px;
	}

	.lc-forum-emoji-btn {
		width: 32px;
		height: 32px;
		font-size: 19px;
	}

	.lc-forum-emoji-panel--comment {
		max-width: 100%;
	}
}


/* LC Forum v4: Facebook-style photo grids and click-to-open comments. */
.lc-forum-post-gallery {
	margin: 12px 0 0 50px;
	display: grid;
	gap: 4px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--lc-forum-border);
}

.lc-forum-post-gallery .lc-forum-attach--image {
	display: block;
	width: 100%;
	max-width: none;
	min-width: 0;
	background: #f8f9fa;
}

.lc-forum-post-gallery .lc-forum-attach--image img {
	width: 100%;
	height: 100%;
	min-height: 180px;
	max-height: none;
	object-fit: cover;
	border-radius: 0;
	display: block;
}

.lc-forum-post-gallery--count-1 {
	display: block;
	background: transparent;
}

.lc-forum-post-gallery--count-1 .lc-forum-attach--image img {
	height: auto;
	max-height: 520px;
	border-radius: 12px;
	object-fit: contain;
	background: #f8f9fa;
}

.lc-forum-post-gallery--count-2,
.lc-forum-post-gallery--count-4,
.lc-forum-post-gallery--count-5 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lc-forum-post-gallery--count-2 .lc-forum-attach--image img {
	height: 280px;
}

.lc-forum-post-gallery--count-3 {
	grid-template-columns: 1.2fr 1fr;
	grid-template-rows: repeat(2, 140px);
}

.lc-forum-post-gallery--count-3 .lc-forum-attach--image:first-child {
	grid-row: 1 / span 2;
}

.lc-forum-post-gallery--count-3 .lc-forum-attach--image img,
.lc-forum-post-gallery--count-4 .lc-forum-attach--image img,
.lc-forum-post-gallery--count-5 .lc-forum-attach--image img {
	height: 140px;
	min-height: 140px;
}

.lc-forum-post-gallery--count-5 .lc-forum-attach--image:first-child,
.lc-forum-post-gallery--count-5 .lc-forum-attach--image:nth-child(2) {
	grid-column: span 1;
}

.lc-forum-post-files {
	margin: 10px 0 0 50px;
	display: grid;
	gap: 8px;
}

.lc-forum-post-stats {
	display: flex;
	justify-content: flex-end;
	min-height: 20px;
	margin-bottom: 6px;
}

.lc-forum-comment-count {
	border: 0;
	background: transparent;
	color: var(--lc-forum-muted);
	cursor: pointer;
	font-size: 0.875rem;
	padding: 0;
}

.lc-forum-comment-count:hover {
	color: var(--lc-forum-primary);
	text-decoration: underline;
}

.lc-forum-post-actions-row {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1px solid var(--lc-forum-border);
	border-bottom: 1px solid var(--lc-forum-border);
	padding: 4px 0;
	margin-bottom: 8px;
}

.lc-forum-post-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 36px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--lc-forum-muted);
	cursor: pointer;
	font-weight: 700;
	font-size: 0.92rem;
	font-family: inherit;
}

.lc-forum-post-action:hover,
.lc-forum-post-action[aria-expanded="true"] {
	background: var(--lc-forum-bg);
	color: var(--lc-forum-text);
}

.lc-forum-post-action-icon {
	font-size: 1.05rem;
	line-height: 1;
}

.lc-forum-comments-wrap[hidden],
.lc-forum-load-comments[hidden],
.lc-forum-comment-count[hidden] {
	display: none !important;
}

.lc-forum-comments-list {
	margin-bottom: 8px;
}

@media (max-width: 600px) {
	.lc-forum-post-gallery,
	.lc-forum-post-files {
		margin-left: 0;
	}

	.lc-forum-post-gallery--count-2 .lc-forum-attach--image img {
		height: 210px;
	}

	.lc-forum-post-gallery--count-3 {
		grid-template-rows: repeat(2, 110px);
	}

	.lc-forum-post-gallery--count-3 .lc-forum-attach--image img,
	.lc-forum-post-gallery--count-4 .lc-forum-attach--image img,
	.lc-forum-post-gallery--count-5 .lc-forum-attach--image img {
		height: 110px;
		min-height: 110px;
	}
}

@media (max-width: 420px) {
	.lc-forum-post-gallery--count-2 .lc-forum-attach--image img {
		height: 180px;
	}

	.lc-forum-post-gallery--count-3,
	.lc-forum-post-gallery--count-4,
	.lc-forum-post-gallery--count-5 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


/* ===== LC Forum Groups — horizontal Facebook-style cards ===== */
.lc-forum.lc-forum-groups {
	--lc-forum-bg: #f0f2f5;
	--lc-forum-card: #f0e6e6;
	--lc-forum-text: #1b1f2b;
	--lc-forum-muted: #65676b;
	--lc-forum-border: #e4e6eb;
	--lc-forum-primary: #c97935;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	background: transparent;
}

.lc-forum-groups .lc-forum-groups-header,
.lc-forum-groups .lc-forum-header {
	max-width: 1200px;
	width: 100%;
	margin: 0 0 24px;
	text-align: left;
}

.lc-forum-groups .lc-forum-title {
	margin: 0 0 2px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--lc-forum-text);
}

.lc-forum-groups .lc-forum-title span,
.lc-forum-groups .lc-forum-title strong {
	color: var(--lc-forum-primary);
}

.lc-forum-groups .lc-forum-subtitle {
	color: var(--lc-forum-muted);
	font-size: 15px;
	line-height: 1.45;
	margin: 0;
}

.lc-forum-groups-scroll-wrapper {
	max-width: 1200px;
	width: 100%;
	position: relative;
	overflow: hidden;
}

.lc-forum-groups .lc-forum-group-grid {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 16px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	padding: 8px 4px 16px !important;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
}

.lc-forum-groups .lc-forum-group-grid::-webkit-scrollbar {
	height: 6px;
}

.lc-forum-groups .lc-forum-group-grid::-webkit-scrollbar-track {
	background: #e4e6eb;
	border-radius: 999px;
}

.lc-forum-groups .lc-forum-group-grid::-webkit-scrollbar-thumb {
	background: var(--lc-forum-primary);
	border-radius: 999px;
}

.lc-forum-groups .lc-forum-group-grid::-webkit-scrollbar-thumb:hover {
	background: #b86a2a;
}

.lc-forum-groups .lc-forum-group-card {
	flex: 0 0 260px !important;
	min-width: 220px !important;
	max-width: 300px !important;
	display: block !important;
	padding: 0 !important;
	gap: 0 !important;
	overflow: hidden;
	background: var(--lc-forum-card) !important;
	border: 1px solid var(--lc-forum-border) !important;
	border-radius: 12px !important;
	color: inherit !important;
	text-decoration: none !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	scroll-snap-align: start;
}

.lc-forum-groups .lc-forum-group-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.lc-forum-groups .lc-forum-group-card:active {
	transform: scale(0.97);
}

.lc-forum-group-card-image {
	width: 100%;
	height: 170px;
	display: block;
	background: #e4e6eb;
	overflow: hidden;
}

.lc-forum-group-card-image img {
	width: 100% !important;
	height: 100% !important;
	display: block;
	object-fit: cover;
	border-radius: 0 !important;
}

.lc-forum-group-card-image .lc-forum-group-card-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3rem;
	border-radius: 0;
	background: linear-gradient(135deg, #f6efe4 0%, #dec4a4 100%);
}

.lc-forum-groups .lc-forum-group-card-body {
	padding: 14px 16px 10px;
	text-align: center;
}

.lc-forum-groups .lc-forum-group-card-name {
	margin: 0 0 4px !important;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--lc-forum-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lc-forum-groups .lc-forum-group-card-desc {
	margin: 0 !important;
	font-size: 13px;
	line-height: 1.4;
	color: var(--lc-forum-muted);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lc-forum-group-card-footer {
	padding: 10px 16px 16px;
	display: flex;
	justify-content: center;
}

.lc-forum-group-btn {
	width: 50%;
	padding: 8px 0;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	color: #ffffff;
	background: var(--lc-forum-primary);
	border: 1px solid var(--lc-forum-primary);
	cursor: pointer;
	transition: all 0.2s ease;
	text-decoration: none;
	text-align: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.lc-forum-group-card:hover .lc-forum-group-btn {
	background: #b86a2a;
	border-color: #b86a2a;
	color: #fff;
}

.lc-forum-scroll-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #ffffff;
	border: 1px solid var(--lc-forum-border);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	color: var(--lc-forum-text);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.lc-forum-scroll-btn:hover {
	background: var(--lc-forum-primary);
	color: #fff;
	border-color: var(--lc-forum-primary);
	box-shadow: 0 4px 12px rgba(201, 121, 53, 0.25);
}

.lc-forum-scroll-btn:active {
	transform: translateY(-50%) scale(0.92);
}

.lc-forum-scroll-btn-left {
	left: -14px;
}

.lc-forum-scroll-btn-right {
	right: -14px;
}

.lc-forum-scroll-btn:focus-visible,
.lc-forum-group-card:focus-visible {
	outline: 3px solid var(--lc-forum-primary);
	outline-offset: 2px;
}

@media (max-width: 1024px) {
	.lc-forum-groups .lc-forum-group-card {
		flex-basis: 230px !important;
		min-width: 190px !important;
	}
}

@media (max-width: 768px) {
	.lc-forum-groups .lc-forum-groups-header,
	.lc-forum-groups .lc-forum-header {
		margin-bottom: 14px;
	}

	.lc-forum-groups .lc-forum-title {
		font-size: 20px;
	}

	.lc-forum-groups .lc-forum-subtitle {
		font-size: 14px;
	}

	.lc-forum-groups .lc-forum-group-grid {
		gap: 12px !important;
		padding: 6px 2px 14px !important;
	}

	.lc-forum-groups .lc-forum-group-card {
		flex: 0 0 200px !important;
		min-width: 170px !important;
		border-radius: 10px !important;
	}

	.lc-forum-group-card-image {
		height: 130px;
	}

	.lc-forum-groups .lc-forum-group-card-body {
		padding: 12px 14px 8px;
	}

	.lc-forum-groups .lc-forum-group-card-name {
		font-size: 14px;
	}

	.lc-forum-groups .lc-forum-group-card-desc {
		font-size: 12px;
	}

	.lc-forum-group-card-footer {
		padding: 8px 14px 14px;
	}

	.lc-forum-group-btn {
		font-size: 12px;
		padding: 6px 0;
		width: 55%;
	}

	.lc-forum-groups .lc-forum-group-grid::-webkit-scrollbar {
		height: 4px;
	}

	.lc-forum-scroll-btn {
		display: none !important;
	}
}

@media (max-width: 480px) {
	.lc-forum-groups .lc-forum-title {
		font-size: 18px;
	}

	.lc-forum-groups .lc-forum-subtitle {
		font-size: 13px;
	}

	.lc-forum-groups .lc-forum-group-grid {
		gap: 10px !important;
		padding: 4px 2px 12px !important;
	}

	.lc-forum-groups .lc-forum-group-card {
		flex: 0 0 170px !important;
		min-width: 150px !important;
		border-radius: 8px !important;
	}

	.lc-forum-group-card-image {
		height: 110px;
	}

	.lc-forum-groups .lc-forum-group-card-body {
		padding: 10px 12px 6px;
	}

	.lc-forum-groups .lc-forum-group-card-name {
		font-size: 13px;
	}

	.lc-forum-groups .lc-forum-group-card-desc {
		font-size: 11px;
		-webkit-line-clamp: 1;
	}

	.lc-forum-group-card-footer {
		padding: 6px 12px 12px;
	}

	.lc-forum-group-btn {
		font-size: 11px;
		padding: 5px 0;
		width: 60%;
	}
}

@media (max-width: 380px) {
	.lc-forum-groups .lc-forum-group-card {
		flex: 0 0 150px !important;
		min-width: 130px !important;
	}

	.lc-forum-group-card-image {
		height: 95px;
	}

	.lc-forum-groups .lc-forum-group-card-body {
		padding: 8px 10px 4px;
	}

	.lc-forum-groups .lc-forum-group-card-name {
		font-size: 12px;
	}

	.lc-forum-groups .lc-forum-group-card-desc {
		font-size: 10px;
	}

	.lc-forum-group-card-footer {
		padding: 4px 10px 10px;
	}

	.lc-forum-group-btn {
		font-size: 10px;
		padding: 4px 0;
		width: 65%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lc-forum-groups .lc-forum-group-card,
	.lc-forum-groups .lc-forum-group-grid,
	.lc-forum-scroll-btn {
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

.lc-forum-groups .lc-forum-group-grid.is-dragging { cursor: grabbing; user-select: none; }
