/**
 * wpForo Forum Overrides
 *
 * Custom styles for the wpForo forum plugin to match the theme design.
 * Includes sidebar, profile pages, navigation, and responsive layouts.
 */

/* Custom Dropdown Menu */
.wpforo-custom-dropdown-menu #wpf-menu li a {
	display: block !important;
	padding: 0.5rem 1rem !important;
	color: var(--foreground) !important;
	text-decoration: none !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	border-radius: 0.5rem !important;
	transition: all 0.2s !important;
}

.wpforo-custom-dropdown-menu #wpf-menu li a:hover {
	background-color: var(--muted) !important;
	color: var(--primary) !important;
}

.wpforo-last-topic-user br {
	display: none !important;
}

.wpforo-custom-dropdown-menu #wpf-menu li.current-menu-item > a,
.wpforo-custom-dropdown-menu #wpf-menu li.current_page_item > a,
.wpforo-custom-dropdown-menu #wpf-menu li.active > a {
	background-color: var(--primary) !important;
	color: var(--primary-foreground) !important;
	text-decoration: none !important;
}

.wpforo-custom-dropdown-menu .wpf-res-menu {
	display: none !important;
}

/* Forum Hero Section */
.forum-hero {
	background: linear-gradient(
		135deg,
		color-mix(in oklch, var(--primary) 8%, transparent),
		color-mix(in oklch, var(--primary) 3%, transparent)
	);
	padding: 3rem 1.5rem;
	margin-top: 1rem;
	border-radius: var(--radius);
}

.forum-hero__container {
	max-width: 42rem;
	margin: 0 auto;
	text-align: center;
}

.forum-hero__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	background: linear-gradient(
		135deg,
		var(--primary),
		color-mix(in oklch, var(--primary) 80%, var(--foreground))
	);
	border-radius: 1rem;
	margin-bottom: 1.5rem;
	box-shadow: 0 8px 24px color-mix(in oklch, var(--primary) 25%, transparent);
}

.forum-hero__icon svg {
	width: 2rem;
	height: 2rem;
	color: var(--primary-foreground);
}

.forum-hero__title {
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--foreground);
	margin: 0 0 0.75rem;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.forum-hero__description {
	font-size: 1.125rem;
	white-space: pre-line;
	color: var(--muted-foreground);
	margin: 0 0 1.5rem;
	line-height: 1.6;
}

.forum-hero__description strong {
	color: var(--foreground);
	font-weight: 600;
}

.forum-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}

.forum-hero__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	font-size: 0.9375rem;
	font-weight: 600;
	border-radius: 0.625rem;
	text-decoration: none;
	transition: all 0.2s ease;
	cursor: pointer;
	border: none;
}

.forum-hero__btn--primary {
	background: var(--primary) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	box-shadow: 0 2px 8px color-mix(in oklch, var(--primary) 30%, transparent);
}

.forum-hero__btn--primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 12px color-mix(in oklch, var(--primary) 35%, transparent);
}

.forum-hero__btn--secondary {
	background: var(--card) !important;
	color: var(--foreground) !important;
	border: 1px solid var(--border) !important;
	text-decoration: none !important;
}

.forum-hero__btn--secondary:hover {
	transform: translateY(-1px);
	background: var(--muted) !important;
	box-shadow: 0 2px 8px color-mix(in oklch, var(--foreground) 10%, transparent);
}

/* Add Topic Modal */
.add-topic-modal__body .wpf-topic-form-extra-wrap {
	display: block !important;
    background: var(--card) !important;
	padding: 0 !important;
}


.wpf-topic-forum-field {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    background: #F7F7F8 !important;
    padding: 0.75rem !important;
    border-radius: var(--radius) !important;
}

.wpf-topic-forum-wrap {
    padding: 0 !important;
    margin: 0 !important;
    padding-bottom: 0.75rem !important;
}

.add-topic-modal__body .wpf-topic-forum-wrap {
	width: 100% !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
}

.add-topic-modal__body .wpf-topic-form-forumid {
	width: 100% !important;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--border);
	border-radius: 0.5rem;
	background: var(--background);
	color: var(--foreground);
	font-size: 0.875rem;
}

.add-topic-modal__body .wpf-topic-form-ajax-wrap {
	margin-top: 0.5rem;
}

.add-topic-modal__body .wpf-topic-create {
	display: block !important;
	padding: 0 !important;
}

.add-topic-modal__body .wpf-form-wrapper {
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.add-topic-modal__body .wpf-topic-form-wrap {
	padding: 0 !important;
}

.add-topic-modal__body .wpf-icon-spinner {
	color: var(--muted-foreground) !important;
}

.forum-hero__online {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 2rem;
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.forum-hero__online strong {
	color: var(--foreground);
	font-weight: 600;
}

.forum-hero__online-dot {
	width: 0.5rem;
	height: 0.5rem;
	background: oklch(0.7 0.2 142);
	border-radius: 50%;
	animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
	0%,
	100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.6;
		transform: scale(1.1);
	}
}

@media (max-width: 640px) {
	.forum-hero {
		padding: 2rem 1rem;
	}

	.forum-hero__icon {
		width: 3.5rem;
		height: 3.5rem;
		margin-bottom: 1rem;
	}

	.forum-hero__icon svg {
		width: 1.75rem;
		height: 1.75rem;
	}

	.forum-hero__title {
		font-size: 1.5rem;
	}

	.forum-hero__description {
		font-size: 1rem;
	}

	.forum-hero__btn {
		width: 100%;
		justify-content: center;
	}
}

/* Category Panel Truncation */
.wpforo-cat-panel .cat-stat-posts {
	max-width: 100px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wpforo-cat-panel .cat-stat-topics {
	max-width: 100px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wpforo-cat-panel {
	padding: 6px 10px 6px 15px !important;
}

/* Footer Box */
.wpf-footer-box {
	white-space: nowrap;
}

.wpf-footer-box ul {
	flex-wrap: wrap;
	gap: 0.5rem;
}

/* Topic Lists */
.wpforo-last-topics-list ul {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.3rem !important;
}

.wpforo-last-topics-list ul li {
	display: flex !important;
	align-items: center !important;
	padding: 0.85rem 1rem !important;
	border-radius: var(--radius) !important;
}

/* Icons */
.wpf-forum-icons {
	flex-wrap: wrap;
}

.wpf-topic-icons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem !important;
}

.wpf-sbtn {
	display: none !important;
}

/* Member Stats */
.wpf-newest-member {
	display: flex !important;
	gap: 0.5rem !important;
	align-items: center !important;
}

.wpf-newest-post {
	display: flex !important;
	gap: 0.5rem !important;
	align-items: center !important;
}

/* Sidebar */
#wpforo #wpforo-wrap .wpforo-right-sidebar {
	padding-left: var(--wpforo-sidebar-gap);
	max-width: 100% !important;
	flex: 1 1 auto !important;
	padding: 0 !important;
	margin-left: 1.5rem;
}

.wpft-member #wpforo #wpforo-wrap .wpforo-right-sidebar,
.wpft-profile #wpforo #wpforo-wrap .wpforo-right-sidebar {
	display: none !important;
}

.wpft-member #wpforo #wpforo-wrap .wpforo-content,
.wpft-profile #wpforo #wpforo-wrap .wpforo-content {
	width: 100% !important;
	max-width: 100% !important;
}

#wpforo #wpforo-wrap .incardoc-wpforo-sidebar {
	display: grid;
	gap: var(--wpforo-sidebar-gap);
}

#wpforo #wpforo-wrap .incardoc-wpforo-card {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--wpforo-sidebar-card-shadow);
}

#wpforo #wpforo-wrap .incardoc-wpforo-card__header {
	margin-bottom: 0.75rem;
	padding: var(--wpforo-sidebar-card-padding);
	border-bottom: 1px solid var(--border);
}

#wpforo #wpforo-wrap .incardoc-wpforo-card__title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--foreground);
	margin: 0;
}

/* Forum Tree Navigation */
#wpforo #wpforo-wrap .incardoc-forum-tree {
	padding: 0.5rem 0.75rem 0.75rem;
	display: grid;
	gap: 0.75rem;
}

#wpforo #wpforo-wrap .incardoc-forum-tree__cat-title {
	display: block;
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--muted-foreground);
	margin-bottom: 0.25rem;
}

#wpforo #wpforo-wrap .incardoc-forum-tree__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.125rem;
}

#wpforo #wpforo-wrap .incardoc-forum-tree__link {
	display: block;
	padding: 0.2rem 0.4rem;
	font-size: 0.825rem;
	color: var(--foreground);
	text-decoration: none;
	border-radius: calc(var(--radius) - 2px);
	transition:
		background-color 0.15s ease,
		color 0.15s ease;
	line-height: 1.4;
}

#wpforo #wpforo-wrap .incardoc-forum-tree__link:hover {
	background: var(--muted);
	color: var(--primary);
}

#wpforo #wpforo-wrap .incardoc-forum-tree__sublist {
	list-style: none;
	padding: 0 0 0 0.75rem;
	margin: 0;
	border-left: 1px solid var(--border);
	margin-left: 0.6rem;
	display: grid;
	gap: 0.0625rem;
}

#wpforo #wpforo-wrap .incardoc-forum-tree__sublist .incardoc-forum-tree__link {
	font-size: 0.775rem;
	color: var(--muted-foreground);
}

#wpforo
	#wpforo-wrap
	.incardoc-forum-tree__sublist
	.incardoc-forum-tree__link:hover {
	color: var(--primary);
}

/* Recent Posts Page */
#wpforo #wpforo-wrap .incardoc-recent__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

#wpforo #wpforo-wrap .incardoc-recent__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--foreground);
	margin: 0;
}

#wpforo #wpforo-wrap .incardoc-recent__filters {
	display: flex;
	gap: 0.25rem;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid var(--border);
	padding-bottom: 0;
}

#wpforo #wpforo-wrap .incardoc-recent__filter {
	padding: 0.5rem 1rem;
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--muted-foreground);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition:
		color 0.15s ease,
		border-color 0.15s ease;
}

#wpforo #wpforo-wrap .incardoc-recent__filter:hover {
	color: var(--foreground);
}

#wpforo #wpforo-wrap .incardoc-recent__filter--active {
	color: var(--primary);
	border-bottom-color: var(--primary);
}

#wpforo #wpforo-wrap .incardoc-recent__list {
	display: grid;
	gap: 0;
}

#wpforo #wpforo-wrap .incardoc-recent__item {
	display: flex;
	gap: 0.75rem;
	padding: 0.875rem 0;
	border-bottom: 1px solid var(--border);
}

#wpforo #wpforo-wrap .incardoc-recent__item:first-child {
	padding-top: 0;
}

#wpforo #wpforo-wrap .incardoc-recent__item:last-child {
	border-bottom: none;
}

#wpforo #wpforo-wrap .incardoc-recent__avatar {
	flex-shrink: 0;
	padding-top: 0.1rem;
}

#wpforo #wpforo-wrap .incardoc-recent__avatar img {
	border-radius: 50%;
	width: 32px;
	height: 32px;
}

#wpforo #wpforo-wrap .incardoc-recent__content {
	display: grid;
	gap: 0.25rem;
	min-width: 0;
}

#wpforo #wpforo-wrap .incardoc-recent__topic-title {
	font-size: 0.925rem;
	font-weight: 600;
	color: var(--foreground);
	text-decoration: none;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.15s ease;
}

#wpforo #wpforo-wrap .incardoc-recent__topic-title:hover {
	color: var(--primary);
}

#wpforo #wpforo-wrap .incardoc-recent__meta {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.8rem;
}

#wpforo #wpforo-wrap .incardoc-recent__author,
#wpforo #wpforo-wrap .incardoc-recent__forum {
	color: var(--muted-foreground);
	text-decoration: none;
	font-weight: 500;
	transition: color 0.15s ease;
}

#wpforo #wpforo-wrap .incardoc-recent__author:hover,
#wpforo #wpforo-wrap .incardoc-recent__forum:hover {
	color: var(--primary);
}

#wpforo #wpforo-wrap .incardoc-recent__stats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.775rem;
	color: var(--muted-foreground);
}

#wpforo #wpforo-wrap .incardoc-recent__last-author {
	color: var(--foreground);
	text-decoration: none;
	font-weight: 500;
	transition: color 0.15s ease;
}

#wpforo #wpforo-wrap .incardoc-recent__last-author:hover {
	color: var(--primary);
}

#wpforo #wpforo-wrap .incardoc-recent__pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 1.25rem 0 0.5rem;
	margin-top: 0.5rem;
	border-top: 1px solid var(--border);
}

#wpforo #wpforo-wrap .incardoc-recent__page-link {
	padding: 0.4rem 0.85rem;
	font-size: 0.825rem;
	font-weight: 500;
	color: var(--foreground);
	text-decoration: none;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	transition: all 0.15s ease;
}

#wpforo #wpforo-wrap .incardoc-recent__page-link:hover {
	background: var(--muted);
	border-color: var(--primary);
	color: var(--primary);
}

#wpforo #wpforo-wrap .incardoc-recent__page-info {
	font-size: 0.8rem;
	color: var(--muted-foreground);
}

#wpforo #wpforo-wrap .incardoc-recent__empty {
	padding: 2rem 1rem;
	text-align: center;
	color: var(--muted-foreground);
	font-size: 0.9rem;
}

/* Base Styles */
#wpforo {
	font-family: "Inter", sans-serif !important;
}

#wpforo-title {
	display: none !important;
}

.wpforo-category {
	border-radius: var(--radius) !important;
	border: 1px solid var(--border) !important;
	background: var(--accent-foreground) !important;
	box-shadow: var(--wpforo-sidebar-card-shadow);
}

.cat-name {
	font-weight: 700 !important;
}

/* Custom List Styles */
#wpforo #wpforo-wrap .incardoc-wpforo-list,
#wpforo #wpforo-wrap .incardoc-wpforo-users {
	list-style: none;
	padding-top: 0 !important;
	padding: var(--wpforo-sidebar-card-padding);
	display: grid;
	gap: 0.75rem;
}

#wpforo #wpforo-wrap .incardoc-wpforo-list__item {
	display: grid;
	gap: 0.4rem;
}

#wpforo #wpforo-wrap .incardoc-wpforo-link {
	color: var(--foreground);
	font-weight: 500;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.2s ease;
}

#wpforo #wpforo-wrap .incardoc-wpforo-link:hover {
	color: var(--primary);
}

#wpforo #wpforo-wrap .incardoc-wpforo-meta {
	font-size: 0.8rem;
	color: var(--muted-foreground);
	margin-top: 0.35rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: center;
}

#wpforo #wpforo-wrap .incardoc-wpforo-dot {
	color: var(--muted-foreground);
}

#wpforo #wpforo-wrap .incardoc-wpforo-submeta {
	font-size: 0.8rem;
	color: var(--muted-foreground);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
}

#wpforo #wpforo-wrap .incardoc-wpforo-submeta__label {
	flex: 1 1 auto;
}

#wpforo #wpforo-wrap .incardoc-wpforo-submeta__value {
	color: var(--foreground);
	font-weight: 500;
	text-decoration: none;
	margin-left: auto;
	max-width: 60%;
	text-align: right;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#wpforo #wpforo-wrap .incardoc-wpforo-submeta__value:hover {
	color: var(--primary);
}

/* Tags */
#wpforo #wpforo-wrap .incardoc-wpforo-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

#wpforo #wpforo-wrap .incardoc-wpforo-tag {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.6rem;
	border-radius: 999px;
	border: 1px solid var(--border);
	background: var(--muted);
	color: var(--foreground);
	font-size: 0.8rem;
	text-decoration: none;
	transition: all 0.2s ease;
}

#wpforo #wpforo-wrap .incardoc-wpforo-tag:hover {
	border-color: var(--primary);
	color: var(--primary);
}

#wpforo #wpforo-wrap .incardoc-wpforo-tag__count {
	color: var(--muted-foreground);
	font-weight: 600;
}

/* User List */
#wpforo #wpforo-wrap .incardoc-wpforo-user {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	padding: 0 !important;
	margin: 0 !important;
}

#wpforo #wpforo-wrap .incardoc-wpforo-user__link {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	text-decoration: none;
	color: var(--foreground);
	font-weight: 500;
	flex: 1 1 auto;
	min-width: 0;
}

#wpforo #wpforo-wrap .incardoc-wpforo-user__name {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#wpforo #wpforo-wrap .incardoc-wpforo-user__link:hover {
	color: var(--primary);
}

#wpforo #wpforo-wrap .incardoc-wpforo-user__avatar img {
	border-radius: 999px;
	border: 1px solid var(--border);
	display: block;
}

#wpforo #wpforo-wrap .incardoc-wpforo-user__meta {
	font-size: 0.75rem;
	color: var(--muted-foreground);
	white-space: nowrap;
	margin-left: auto;
	text-align: right;
}

@media (max-width: 768px) {
	#wpforo #wpforo-wrap .incardoc-wpforo-card {
		padding: 0.85rem;
	}

	#wpforo #wpforo-wrap .incardoc-wpforo-submeta {
		gap: 0.5rem;
	}

	#wpforo #wpforo-wrap .incardoc-wpforo-submeta__value {
		max-width: 65%;
	}

	#wpforo #wpforo-wrap .incardoc-wpforo-user {
		gap: 0.6rem;
	}

	#wpforo #wpforo-wrap .incardoc-wpforo-user__link {
		gap: 0.5rem;
	}
}

#wpforo #wpforo-wrap .incardoc-wpforo-empty {
	color: var(--muted-foreground);
	margin: 0;
	font-size: 0.85rem;
}

/* Profile Page - Full Width */
#wpforo #wpforo-wrap .wpforo-member-page .wpforo-content {
	width: 100% !important;
	max-width: 100% !important;
}

/* Profile Header Right Side */
#wpforo #wpforo-wrap .wpf-profile-head-right {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	align-items: flex-end;
}

/* User Actions */
#wpforo #wpforo-wrap .wpforo-user-actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

#wpforo #wpforo-wrap .wpforo-follow-wrap {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

#wpforo #wpforo-wrap .wpforo-follow-user {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.4rem 0.75rem;
	border-radius: var(--radius);
	color: var(--muted-foreground);
	background: transparent;
	border: 1px solid var(--border);
	cursor: pointer;
	font-size: 0.85rem;
	transition: all 0.2s ease;
}

#wpforo #wpforo-wrap .wpforo-follow-user:hover {
	color: var(--primary);
	border-color: var(--primary);
}

#wpforo #wpforo-wrap .wpforo-follow-user svg {
	width: 1rem;
	height: 1rem;
}

#wpforo #wpforo-wrap .wpforo-follow-user-followers-count,
#wpforo #wpforo-wrap .wpforo-follow-user-following-count {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.85rem;
}

#wpforo #wpforo-wrap .wpforo-follow-user-followers-count a,
#wpforo #wpforo-wrap .wpforo-follow-user-following-count a {
	color: var(--primary);
	text-decoration: none;
	font-weight: 500;
}

#wpforo #wpforo-wrap .wpforo-follow-user-followers-count a:hover,
#wpforo #wpforo-wrap .wpforo-follow-user-following-count a:hover {
	text-decoration: underline;
}

/* User Tools */
#wpforo #wpforo-wrap .wpforo-user-tools {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	flex-wrap: wrap;
}

#wpforo #wpforo-wrap .wpforo-user-tools a,
#wpforo #wpforo-wrap .wpforo-user-tools > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.2rem 0.6rem;
	border-radius: var(--radius);
	color: var(--muted-foreground);
	background: transparent;
	border: 1px solid var(--border);
	transition: all 0.2s ease;
	text-decoration: none;
	cursor: pointer;
}

#wpforo #wpforo-wrap .wpforo-user-tools a:hover,
#wpforo #wpforo-wrap .wpforo-user-tools > span:hover {
	color: var(--primary);
	border-color: var(--primary);
	background: var(--muted);
}

#wpforo #wpforo-wrap .wpforo-user-tools svg {
	width: 0.9rem;
	height: 0.9rem;
}

.wpforo-user-tools {
    flex-wrap: nowrap !important;
}

.wpforo-user-tools a span {
	margin: 0 !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
}

.wpforo-user-tools a {
	margin: 0 !important;
    flex-shrink: 0 !important;
    height: 38px !important;
    width: 44px !important;
}

.wpf-ab-mute_mention i {
    flex-shrink: 0 !important;
    height: 38px !important;
    width: 44px !important;
}

.wpforo-user-tools > span {
    padding: 0 !important;
    height: 38px !important;
    width: 44px !important;
}

.wpforo-user-tools span i {
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.wpforo-profile-menu a {
    width: 100% !important;
    text-align: center !important;
    text-wrap: nowrap !important;
    overflow: hidden !important;
}

.wpforo-profile-head-panel {
    padding-top: 1rem !important;
}

#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel {
    min-height: auto !important;
}

.wpforo-profile-head-bottom {
    @apply pl-0! md:pl-[180px]!;
}

.wpforo-profile-back {
    @apply flex! flex-col! sm:inline! gap-2 text-nowrap!;
}

.wpforo-profile-back span {
    @apply sm:inline! hidden!;
}

.wpforo-profile-head-data {
    @apply lg:pt-0! pt-2! lg:grow! grow-0! min-h-auto!;
}

.wpforo-profile-head-panel .wpf-profile-avatar img {
    @apply md:w-[140px]! md:h-[140px]! sm:w-[100px]! sm:h-[100px]! w-[60px]! h-[60px]! sm:rounded-full! rounded-xl!;
}

.wpf-profile-details {
    @apply sm:px-4! px-2!;
}

.wpf-author-nicename {
    @apply md:inline! hidden!;
}

/* Stat Grid */
.wpf-stat-wrap {
	gap: 0.5rem !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
}

.wpf-statbox {
	margin: 0 !important;
	width: 100% !important;
}

/* Profile Stat Boxes */
#wpforo #wpforo-wrap .wpf-stat-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 0.75rem;
}

#wpforo #wpforo-wrap .wpf-statbox {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
}

#wpforo #wpforo-wrap .wpf-statbox-icon {
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.5rem;
}

#wpforo #wpforo-wrap .wpf-statbox-icon svg {
	width: 1rem;
	height: 1rem;
}

#wpforo #wpforo-wrap .wpf-statbox-data {
	min-width: 0;
}

#wpforo #wpforo-wrap .wpf-statbox-value {
	font-weight: 600;
	font-size: 1rem;
	color: var(--foreground);
	line-height: 1.2;
}

#wpforo #wpforo-wrap .wpf-statbox-title {
	font-size: 0.75rem;
	color: var(--muted-foreground);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Main Layout */
#wpforo #wpforo-wrap .wpforo-main {
	clear: both !important;
	display: flex !important;
	justify-content: space-between !important;
}

/* Follow Tabs */
#wpforo #wpforo-wrap .wpforo-follow-tabs {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.9rem;
	color: var(--muted-foreground);
	font-weight: 500;
}

#wpforo #wpforo-wrap .wpforo-follow-tabs a {
	display: flex;
	gap: 0.35rem;
}

/* Profile Section */
#wpforo #wpforo-wrap .wpf-profile-section {
	margin-bottom: 1.5rem;
}

#wpforo #wpforo-wrap .wpf-profile-section-head {
	margin-bottom: 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--border);
}

/* Profile Info Fields */
#wpforo #wpforo-wrap .wpf-profile-info-wrap {
	display: grid;
	gap: 0.75rem;
}

#wpforo #wpforo-wrap .wpf-profile-field {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: baseline;
}

#wpforo #wpforo-wrap .wpf-profile-field-label {
	font-weight: 500;
	color: var(--muted-foreground);
	min-width: 8rem;
}

#wpforo #wpforo-wrap .wpf-profile-field-value {
	color: var(--foreground);
	word-break: break-word;
}

/* Responsive */
@media (max-width: 768px) {
	#wpforo #wpforo-wrap .wpf-stat-wrap {
		grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	}

	#wpforo #wpforo-wrap .wpf-statbox {
		padding: 0.5rem;
		gap: 0.5rem;
	}

	#wpforo #wpforo-wrap .wpf-statbox-icon {
		width: 2rem;
		height: 2rem;
	}

	#wpforo #wpforo-wrap .wpf-statbox-value {
		font-size: 0.9rem;
	}

	#wpforo #wpforo-wrap .wpf-profile-head-right {
		align-items: flex-start;
		width: 100%;
	}

	#wpforo #wpforo-wrap .wpforo-user-actions {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}

	#wpforo #wpforo-wrap .wpforo-user-tools {
		gap: 0.25rem;
	}

	#wpforo #wpforo-wrap .wpforo-user-tools a,
	#wpforo #wpforo-wrap .wpforo-user-tools > span {
		padding: 0.35rem;
	}
}

@media (max-width: 1280px) {
	#wpforo #wpforo-wrap .wpforo-main {
		display: flex;
		flex-direction: column;
		gap: var(--wpforo-sidebar-gap);
	}

	#wpforo #wpforo-wrap .wpforo-content,
	#wpforo #wpforo-wrap .wpforo-right-sidebar {
		margin: 0 !important;
		width: 100% !important;
	}

	#wpforo #wpforo-wrap .wpf-head-bar,
	#wpforo #wpforo-wrap .wpf-head-top,
	#wpforo #wpforo-wrap .wpf-head-bottom,
	#wpforo #wpforo-wrap .wpf-head-buttons {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		align-items: flex-start;
	}

	#wpforo #wpforo-wrap table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	#wpforo #wpforo-wrap th,
	#wpforo #wpforo-wrap td {
		white-space: normal;
	}
}

.wpforo-last-post-user {
	display: flex !important;
	align-items: center !important;
	gap: 0.4rem !important;
	text-align: right !important;
	width: unset !important;
}

.wpforo-last-posts-list {
	border-radius: var(--radius) !important;
	background: var(--color-secondary) !important;
	border: none !important;
	padding: 0 !important;
}

.wpforo-last-posts-list ul {
	display: flex !important;
	flex-direction: column !important;
}

.wpforo-last-posts-list ul li {
	padding: 0.55rem 0.75rem !important;
	transition: background-color 0.2s ease !important;
}

.wpforo-last-posts-list ul li:hover {
	background-color: var(--muted) !important;
}

.wpforo-last-posts-list ul li:last-child {
	border-radius: 0 0 var(--radius) var(--radius) !important;
}
.wpforo-last-posts-list ul li:first-child {
	border-radius: var(--radius) var(--radius) 0 0 !important;
}

.wpforo-last-posts-list ul li:last-child:first-child {
	border-radius: var(--radius) !important;
}

.wpforo-last-posts-list ul li:not(:last-child) {
	border-bottom: 1px solid var(--border) !important;
}

.head-stat-views {
	max-width: 60px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.head-stat-posts {
	max-width: 100px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wpf-post-create {
	border-radius: var(--radius) !important;
}

.wpf-left {
	border-radius: 0 0 var(--radius) var(--radius) !important;
}

.wpf-post-head-top {
	border-radius: 0 var(--radius) 0 0 !important;
}

.wpf-topic-more-info {
	border-radius: 0 0 var(--radius) var(--radius) !important;
}

.wpf-head-bar {
	border-bottom: none !important;
	border-radius: 0 var(--radius) var(--radius) 0 !important;
	display: flex !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	align-items: center !important;
}

.wpf-head-bar-left {
	width: auto !important;
	padding: 0 !important;
}

.wpf-action-link {
	padding: 0 !important;
	display: flex !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	flex-wrap: wrap-reverse !important;
	margin: 0 !important;
}

.wpf-head-bar .wpf-clear {
	display: none !important;
}

.wpf-head-bar-right {
	display: flex !important;
	width: auto !important;
	float: none !important;
	justify-content: center !important;
	align-items: center !important;
	padding: 0 !important;
    margin-right: 0.75rem !important;
}

.cat-title .wpf-head-bar-right {
    display: inline-flex !important;
    margin-left: 10px !important;
}

.wpf-button {
	border-radius: var(--radius) !important;
}

.wpforo-follow-user {
	display: inline-flex !important;
}

.wpf-form-wrapper {
    border-radius: var(--radius) !important;
}

.add_wpftopic i {
    margin: 0 !important;
    padding: 0 !important;
}


#wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .author-name {
    margin-left: 0 !important;
}

.author-avatar img {
    border-radius: var(--radius) !important;
}

.wpf-field-name-timezone .wpf-field-wrap .wpf-field-icon{
    display: none !important;
}
.wpf-field-name-location .wpf-field-wrap .wpf-field-icon{
    display: none !important;
}
#wpforo #wpforo-wrap .wpforo-post-head .wpf-post-head-top .wpf-post-stat {
    margin-left: 0 !important;
}

.wpforo-action-buttons-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
}

.wpf-newest-member {
    text-wrap: wrap !important;
}

.wpf-forum-icons span {
    text-wrap: wrap !important;
}

.wpf-newest-member {
    display: none !important;
}

/* Post stat box: 2-column grid on mobile, expand btn pinned to the right */
@media (max-width: 640px) {    #wpforo #wpforo-wrap .wpf-post-stat {
        display: grid !important;
        grid-template-columns: 1fr 1fr auto !important;
        align-items: stretch !important;
    }

    #wpforo #wpforo-wrap .wpf-post-stat .wpf-post-stat-box:not(.wpf-pb-more):nth-child(odd) {
        grid-column: 1 !important;
    }

    #wpforo #wpforo-wrap .wpf-post-stat .wpf-post-stat-box:not(.wpf-pb-more):nth-child(even) {
        grid-column: 2 !important;
    }

    #wpforo #wpforo-wrap .wpf-post-stat .wpf-pb-more {
        grid-column: 3 !important;
        grid-row: 1 / 3 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border-left: 1px solid var(--border) !important;
        padding: 0 10px !important;
    }
}

.wpforo-attached-file a.wpforo-default-attachment {
  display: inline-block;
  max-width: 100%;
  word-wrap: break-word;
  overflow-wrap: anywhere;
  word-break: break-all;
}

.wpforo-topic-title,
.wpforo-last-post-title {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wpf-newest-post a {
  display: inline-block;
  max-width: 100%;
  vertical-align: bottom;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Long text overflow: prevent layout break for titles, filenames, and post content without spaces */
#wpforo #wpforo-wrap .wpforo-topic-title,
#wpforo #wpforo-wrap .wpforo-topic-title a,
#wpforo #wpforo-wrap .wpforo-last-topic-title,
#wpforo #wpforo-wrap .wpforo-last-topic-title a,
#wpforo #wpforo-wrap .wpforo-last-post-title,
#wpforo #wpforo-wrap .wpforo-last-post-title a,
#wpforo #wpforo-wrap .wpforo-attached-file,
#wpforo #wpforo-wrap .wpforo-attached-file a,
#wpforo #wpforo-wrap .wpf-field-file-name,
#wpforo #wpforo-wrap .wpf-head-bar-left,
#wpforo #wpforo-wrap .incardoc-wpforo-link {
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    min-width: 0 !important;
}

/* wpforo-footer stat header: fix overflow on narrow screens */
@media (max-width: 640px) {
    #wpforo #wpforo-wrap #wpforo-footer #wpforo-stat-header {
        flex-wrap: wrap !important;
        gap: 4px 0 !important;
    }

    #wpforo #wpforo-wrap #wpforo-footer #wpforo-stat-header .wpf-footer-title {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }

    #wpforo #wpforo-wrap #wpforo-footer #wpforo-stat-header .wpf-footer-buttons span {
        display: none !important;
    }
}