/* =========================================================
   FOLLO settings refinements
   Includes BuddyPress Email Notifications preferences.
   ========================================================= */

body.follo-ui .buddypress table.notification-settings,
body.follo-ui #buddypress table.notification-settings,
body.follo-ui .buddypress table.profile-settings,
body.follo-ui #buddypress table.profile-settings {
	width: 100%;
	margin: 14px 0 20px;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--follo-border-light);
	border-radius: var(--follo-radius);
	background: #fff;
	overflow: hidden;
	box-shadow: var(--follo-shadow-sm);
}

body.follo-ui .buddypress table.notification-settings th,
body.follo-ui .buddypress table.notification-settings td,
body.follo-ui #buddypress table.notification-settings th,
body.follo-ui #buddypress table.notification-settings td,
body.follo-ui .buddypress table.profile-settings th,
body.follo-ui .buddypress table.profile-settings td,
body.follo-ui #buddypress table.profile-settings th,
body.follo-ui #buddypress table.profile-settings td {
	padding: 13px 16px;
	border: 0;
	border-bottom: 1px solid var(--follo-border-light);
	vertical-align: middle;
}

body.follo-ui .buddypress table.notification-settings thead th,
body.follo-ui #buddypress table.notification-settings thead th,
body.follo-ui .buddypress table.profile-settings thead th,
body.follo-ui #buddypress table.profile-settings thead th {
	background: var(--follo-surface-soft);
	color: var(--follo-text);
	font-size: 13px;
	font-weight: 700;
	text-align: left;
}

body.follo-ui .buddypress table.notification-settings tbody tr:hover td,
body.follo-ui #buddypress table.notification-settings tbody tr:hover td,
body.follo-ui .buddypress table.profile-settings tbody tr:hover td,
body.follo-ui #buddypress table.profile-settings tbody tr:hover td {
	background: #fbfdff;
}

body.follo-ui .buddypress table.notification-settings tbody tr:last-child td,
body.follo-ui #buddypress table.notification-settings tbody tr:last-child td,
body.follo-ui .buddypress table.profile-settings tbody tr:last-child td,
body.follo-ui #buddypress table.profile-settings tbody tr:last-child td {
	border-bottom: 0;
}

/* Yes / No columns */
body.follo-ui .buddypress table.notification-settings th.yes,
body.follo-ui .buddypress table.notification-settings th.no,
body.follo-ui .buddypress table.notification-settings td.yes,
body.follo-ui .buddypress table.notification-settings td.no,
body.follo-ui #buddypress table.notification-settings th.yes,
body.follo-ui #buddypress table.notification-settings th.no,
body.follo-ui #buddypress table.notification-settings td.yes,
body.follo-ui #buddypress table.notification-settings td.no {
	width: 92px;
	text-align: center;
}

body.follo-ui .buddypress table.notification-settings input[type="radio"],
body.follo-ui #buddypress table.notification-settings input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--follo-primary);
	cursor: pointer;
}

/* BuddyPress group headings such as Activity, Messages, Members, Friends, Groups. */
body.follo-ui .buddypress table.notification-settings tr:first-child th:first-child,
body.follo-ui #buddypress table.notification-settings tr:first-child th:first-child {
	font-weight: 750;
}

/* Mobile converts the preference table into readable cards. */
@media (max-width: 767px) {
	body.follo-ui .buddypress table.notification-settings,
	body.follo-ui #buddypress table.notification-settings {
		border: 0;
		box-shadow: none;
		background: transparent;
	}

	body.follo-ui .buddypress table.notification-settings thead,
	body.follo-ui #buddypress table.notification-settings thead {
		display: none;
	}

	body.follo-ui .buddypress table.notification-settings tbody,
	body.follo-ui .buddypress table.notification-settings tr,
	body.follo-ui .buddypress table.notification-settings td,
	body.follo-ui #buddypress table.notification-settings tbody,
	body.follo-ui #buddypress table.notification-settings tr,
	body.follo-ui #buddypress table.notification-settings td {
		display: block;
		width: 100%;
	}

	body.follo-ui .buddypress table.notification-settings tr,
	body.follo-ui #buddypress table.notification-settings tr {
		margin-bottom: 10px;
		padding: 14px;
		border: 1px solid var(--follo-border-light);
		border-radius: var(--follo-radius);
		background: #fff;
		box-shadow: var(--follo-shadow-sm);
	}

	body.follo-ui .buddypress table.notification-settings td,
	body.follo-ui #buddypress table.notification-settings td {
		padding: 7px 0;
		border: 0;
	}

	body.follo-ui .buddypress table.notification-settings td.yes,
	body.follo-ui .buddypress table.notification-settings td.no,
	body.follo-ui #buddypress table.notification-settings td.yes,
	body.follo-ui #buddypress table.notification-settings td.no {
		display: inline-flex;
		align-items: center;
		justify-content: flex-start;
		width: auto;
		min-width: 86px;
		margin-right: 14px;
		text-align: left;
	}

	body.follo-ui .buddypress table.notification-settings td.yes::before,
	body.follo-ui #buddypress table.notification-settings td.yes::before {
		content: "Yes";
		margin-right: 8px;
		font-weight: 650;
		color: var(--follo-text-muted);
	}

	body.follo-ui .buddypress table.notification-settings td.no::before,
	body.follo-ui #buddypress table.notification-settings td.no::before {
		content: "No";
		margin-right: 8px;
		font-weight: 650;
		color: var(--follo-text-muted);
	}
}


/* =========================================================
   Data Export
   ========================================================= */

/* Keep export actions flush with the left content edge. */
body.follo-ui .buddypress .data-export,
body.follo-ui #buddypress .data-export,
body.follo-ui .buddypress .request-data-export,
body.follo-ui #buddypress .request-data-export {
	margin-left: 0;
	padding-left: 0;
}

/* Add breathing room before the Data Erase heading. */
body.follo-ui .buddypress .request-data-export,
body.follo-ui #buddypress .request-data-export,
body.follo-ui .buddypress input[name="data-export-submit"],
body.follo-ui #buddypress input[name="data-export-submit"],
body.follo-ui .buddypress input[value*="personal data export"],
body.follo-ui #buddypress input[value*="personal data export"] {
	margin-bottom: 28px;
}

/* If BuddyPress wraps the export submit in .submit, don't let its
   generic action-group margins create an unintended left offset. */
body.follo-ui .buddypress .data-export .submit,
body.follo-ui #buddypress .data-export .submit {
	margin-left: 0;
	padding-left: 0;
}

/* =========================================================
   Delete Account
   ========================================================= */

body.follo-ui .buddypress .delete-account,
body.follo-ui #buddypress .delete-account,
body.follo-ui .buddypress form[action*="delete-account"],
body.follo-ui #buddypress form[action*="delete-account"] {
	max-width: 100%;
}

/* Confirmation row */
body.follo-ui .buddypress .delete-account label,
body.follo-ui #buddypress .delete-account label,
body.follo-ui .buddypress form[action*="delete-account"] label,
body.follo-ui #buddypress form[action*="delete-account"] label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 16px 0 20px;
	color: var(--follo-text);
	font-weight: 600;
}

/* Make the destructive button unmistakable once enabled. */
body.follo-ui .buddypress #delete-account-button,
body.follo-ui #buddypress #delete-account-button {
	background: var(--follo-danger);
	border-color: var(--follo-danger);
	color: #fff;
}

body.follo-ui .buddypress #delete-account-button:hover,
body.follo-ui #buddypress #delete-account-button:hover {
	background: var(--follo-danger-hover);
	border-color: var(--follo-danger-hover);
	color: #fff;
}

body.follo-ui .buddypress #delete-account-button:disabled,
body.follo-ui #buddypress #delete-account-button:disabled {
	background: #fca5a5;
	border-color: #fca5a5;
	color: #fff;
	opacity: .8;
}


/* =========================================================
   v1.5 - Data Export spacing
   ========================================================= */

/* Flush-left export button and clear separation from Data Erase. */
body.follo-ui .buddypress .data-export .submit,
body.follo-ui #buddypress .data-export .submit,
body.follo-ui .buddypress .request-data-export,
body.follo-ui #buddypress .request-data-export {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

body.follo-ui .buddypress input[name="data-export-submit"],
body.follo-ui #buddypress input[name="data-export-submit"],
body.follo-ui .buddypress input[value*="personal data export"],
body.follo-ui #buddypress input[value*="personal data export"] {
	margin-left: 0 !important;
	margin-bottom: 34px !important;
}

body.follo-ui .buddypress .data-export h2 + p,
body.follo-ui #buddypress .data-export h2 + p {
	margin-top: 0;
}

/* =========================================================
   v1.5 - Profile Edit
   ========================================================= */

/* Give each edit field a clean card-like block. */
body.follo-ui .buddypress .profile.edit .editfield,
body.follo-ui #buddypress .profile.edit .editfield,
body.follo-ui .buddypress .profile-fields .editfield,
body.follo-ui #buddypress .profile-fields .editfield {
	margin: 0 0 18px;
	padding: 18px;
	border: 1px solid var(--follo-border-light);
	border-radius: var(--follo-radius);
	background: var(--follo-surface-soft);
}

/* Rich text editor spacing: toolbar must not collide with content area. */
body.follo-ui .buddypress .wp-editor-wrap,
body.follo-ui #buddypress .wp-editor-wrap {
	margin-top: 12px;
	margin-bottom: 14px;
}

body.follo-ui .buddypress .wp-editor-tabs,
body.follo-ui #buddypress .wp-editor-tabs {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-bottom: 8px;
}

body.follo-ui .buddypress .wp-editor-tabs button,
body.follo-ui #buddypress .wp-editor-tabs button {
	margin: 0;
}

/* Visual editor toolbar spacing. */
body.follo-ui .buddypress .quicktags-toolbar,
body.follo-ui #buddypress .quicktags-toolbar,
body.follo-ui .buddypress .mce-toolbar-grp,
body.follo-ui #buddypress .mce-toolbar-grp {
	margin-bottom: 10px;
	border-radius: 8px 8px 0 0;
}

/* Visibility sentence and Change button need breathing room. */
body.follo-ui .buddypress .field-visibility-settings-toggle,
body.follo-ui #buddypress .field-visibility-settings-toggle,
body.follo-ui .buddypress .field-visibility-settings-notoggle,
body.follo-ui #buddypress .field-visibility-settings-notoggle {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 12px;
	padding-top: 2px;
}

body.follo-ui .buddypress .field-visibility-settings-toggle .button,
body.follo-ui #buddypress .field-visibility-settings-toggle .button,
body.follo-ui .buddypress .field-visibility-settings-toggle a,
body.follo-ui #buddypress .field-visibility-settings-toggle a {
	margin-left: 8px;
}

/* =========================================================
   v1.5 - Profile Photo / Cover Image
   ========================================================= */

body.follo-ui .buddypress .bp-avatar-nav,
body.follo-ui #buddypress .bp-avatar-nav,
body.follo-ui .buddypress .bp-cover-image-nav,
body.follo-ui #buddypress .bp-cover-image-nav {
	margin: 14px 0 18px;
	border-bottom: 1px solid var(--follo-border-light);
}

body.follo-ui .buddypress .bp-avatar-nav ul,
body.follo-ui #buddypress .bp-avatar-nav ul,
body.follo-ui .buddypress .bp-cover-image-nav ul,
body.follo-ui #buddypress .bp-cover-image-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0 0 10px;
	list-style: none;
}

body.follo-ui .buddypress .bp-avatar-nav li,
body.follo-ui #buddypress .bp-avatar-nav li,
body.follo-ui .buddypress .bp-cover-image-nav li,
body.follo-ui #buddypress .bp-cover-image-nav li {
	margin: 0;
}

/* Upload drop zone */
body.follo-ui .buddypress .drag-drop,
body.follo-ui #buddypress .drag-drop,
body.follo-ui .buddypress .bp-uploader-window,
body.follo-ui #buddypress .bp-uploader-window,
body.follo-ui .buddypress #drag-drop-area,
body.follo-ui #buddypress #drag-drop-area {
	margin: 14px 0;
	padding: 32px 20px;
	border: 2px dashed #cbd5e1;
	border-radius: var(--follo-radius-lg);
	background: #fbfdff;
	text-align: center;
}

body.follo-ui .buddypress .drag-drop:hover,
body.follo-ui #buddypress .drag-drop:hover,
body.follo-ui .buddypress #drag-drop-area:hover,
body.follo-ui #buddypress #drag-drop-area:hover {
	border-color: var(--follo-primary);
	background: var(--follo-primary-soft);
}

/* Legacy yellow helper notices below photo/cover uploaders. */
body.follo-ui .buddypress .bp-avatar-status,
body.follo-ui #buddypress .bp-avatar-status,
body.follo-ui .buddypress .bp-cover-image-status,
body.follo-ui #buddypress .bp-cover-image-status,
body.follo-ui .buddypress .warning,
body.follo-ui #buddypress .warning {
	margin: 14px 0 18px;
	padding: 13px 15px;
	border: 1px solid #fde68a;
	border-left: 4px solid #f59e0b;
	border-radius: 10px;
	background: #fffbeb;
	color: #92400e;
}

/* Delete cover/profile image actions read as destructive secondary actions. */
body.follo-ui .buddypress a[href*="delete-avatar"],
body.follo-ui #buddypress a[href*="delete-avatar"],
body.follo-ui .buddypress a[href*="delete-cover-image"],
body.follo-ui #buddypress a[href*="delete-cover-image"],
body.follo-ui .buddypress .delete-cover-image,
body.follo-ui #buddypress .delete-cover-image {
	border-color: #fecaca;
	background: #fff;
	color: var(--follo-danger);
}

body.follo-ui .buddypress a[href*="delete-avatar"]:hover,
body.follo-ui #buddypress a[href*="delete-avatar"]:hover,
body.follo-ui .buddypress a[href*="delete-cover-image"]:hover,
body.follo-ui #buddypress a[href*="delete-cover-image"]:hover,
body.follo-ui .buddypress .delete-cover-image:hover,
body.follo-ui #buddypress .delete-cover-image:hover {
	border-color: var(--follo-danger);
	background: var(--follo-danger-soft);
	color: var(--follo-danger-hover);
}


/* =========================================================
   v1.6 - Notifications bulk controls
   ========================================================= */

body.follo-ui .buddypress select[name="notification_bulk_action"],
body.follo-ui #buddypress select[name="notification_bulk_action"],
body.follo-ui .buddypress select[name="bulk-action"],
body.follo-ui #buddypress select[name="bulk-action"],
body.follo-ui .buddypress .notifications-options-nav select,
body.follo-ui #buddypress .notifications-options-nav select {
	width: 170px !important;
	min-width: 170px !important;
	max-width: 170px !important;
	padding-right: 38px !important;
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: nowrap !important;
}

body.follo-ui .buddypress .notifications-options-nav input[type="submit"],
body.follo-ui #buddypress .notifications-options-nav input[type="submit"] {
	margin-left: 0 !important;
}

/* =========================================================
   v1.6 - Data Export separation
   ========================================================= */

/* Force extra space below the export action before Data Erase. */
body.follo-ui .buddypress input[name="data-export-submit"],
body.follo-ui #buddypress input[name="data-export-submit"],
body.follo-ui .buddypress input[value*="personal data export"],
body.follo-ui #buddypress input[value*="personal data export"] {
	margin-bottom: 48px !important;
}

/* Common BuddyPress export containers sometimes collapse the button margin. */
body.follo-ui .buddypress .data-export .submit,
body.follo-ui #buddypress .data-export .submit,
body.follo-ui .buddypress .request-data-export,
body.follo-ui #buddypress .request-data-export {
	margin-bottom: 48px !important;
}

/* Avoid double-margin when both wrapper and button receive the rule. */
body.follo-ui .buddypress .data-export .submit input,
body.follo-ui #buddypress .data-export .submit input,
body.follo-ui .buddypress .request-data-export input,
body.follo-ui #buddypress .request-data-export input {
	margin-bottom: 0 !important;
}

/* =========================================================
   v1.6 - Profile editor toolbar
   ========================================================= */

/* More air under Visual / Code before the editor toolbar/content. */
body.follo-ui .buddypress .wp-editor-tabs,
body.follo-ui #buddypress .wp-editor-tabs {
	margin-bottom: 16px !important;
}

/* Make the rich-text toolbar readable with any user theme accent.
   Neutral controls + accent only for hover/active states. */
body.follo-ui .buddypress .quicktags-toolbar,
body.follo-ui #buddypress .quicktags-toolbar,
body.follo-ui .buddypress .mce-toolbar-grp,
body.follo-ui #buddypress .mce-toolbar-grp {
	padding: 8px !important;
	background: #f8fafc !important;
	border-bottom: 1px solid var(--follo-border) !important;
}

body.follo-ui .buddypress .quicktags-toolbar input.button,
body.follo-ui #buddypress .quicktags-toolbar input.button,
body.follo-ui .buddypress .mce-btn button,
body.follo-ui #buddypress .mce-btn button {
	min-width: 36px !important;
	width: auto !important;
	height: 36px !important;
	min-height: 36px !important;
	padding: 0 10px !important;
	border: 1px solid var(--follo-border) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	color: #334155 !important;
	box-shadow: none !important;
}

body.follo-ui .buddypress .quicktags-toolbar input.button:hover,
body.follo-ui #buddypress .quicktags-toolbar input.button:hover,
body.follo-ui .buddypress .mce-btn:hover button,
body.follo-ui #buddypress .mce-btn:hover button,
body.follo-ui .buddypress .mce-btn.mce-active button,
body.follo-ui #buddypress .mce-btn.mce-active button {
	border-color: var(--follo-primary) !important;
	background: var(--follo-primary-soft) !important;
	color: var(--follo-primary) !important;
}

/* Visual / Code tabs themselves also stay readable across accent colors. */
body.follo-ui .buddypress .wp-switch-editor,
body.follo-ui #buddypress .wp-switch-editor {
	min-width: 60px !important;
	height: 34px !important;
	min-height: 34px !important;
	padding: 0 14px !important;
	border: 1px solid var(--follo-border) !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: #334155 !important;
	box-shadow: none !important;
}

body.follo-ui .buddypress .wp-switch-editor:hover,
body.follo-ui #buddypress .wp-switch-editor:hover,
body.follo-ui .buddypress .html-active .switch-html,
body.follo-ui .buddypress .tmce-active .switch-tmce,
body.follo-ui #buddypress .html-active .switch-html,
body.follo-ui #buddypress .tmce-active .switch-tmce {
	border-color: var(--follo-primary) !important;
	background: var(--follo-primary-soft) !important;
	color: var(--follo-primary) !important;
}

/* =========================================================
   v1.6 - Profile Photo / Cover uploader cleanup
   ========================================================= */

/* Remove the nested dashed-border look. Keep one clean dropzone. */
body.follo-ui .buddypress .drag-drop,
body.follo-ui #buddypress .drag-drop,
body.follo-ui .buddypress .bp-uploader-window,
body.follo-ui #buddypress .bp-uploader-window,
body.follo-ui .buddypress #drag-drop-area,
body.follo-ui #buddypress #drag-drop-area {
	border: 0 !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 14px 0 !important;
	box-shadow: none !important;
}

body.follo-ui .buddypress .drag-drop-inside,
body.follo-ui #buddypress .drag-drop-inside,
body.follo-ui .buddypress #drag-drop-area .drag-drop-inside,
body.follo-ui #buddypress #drag-drop-area .drag-drop-inside {
	min-height: 170px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 28px 20px;
	border: 1px solid #d7e0ea !important;
	border-radius: var(--follo-radius-lg);
	background: #fbfdff;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}

/* Some BuddyPress uploader builds add nested wrappers with borders. */
body.follo-ui .buddypress .bp-avatar,
body.follo-ui #buddypress .bp-avatar,
body.follo-ui .buddypress .bp-cover-image,
body.follo-ui #buddypress .bp-cover-image,
body.follo-ui .buddypress .bp-uploader-progress,
body.follo-ui #buddypress .bp-uploader-progress {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

/* Restyle the old yellow helper boxes as subtle advisory cards. */
body.follo-ui .buddypress .bp-avatar-status,
body.follo-ui #buddypress .bp-avatar-status,
body.follo-ui .buddypress .bp-cover-image-status,
body.follo-ui #buddypress .bp-cover-image-status,
body.follo-ui .buddypress .bp-avatar #message,
body.follo-ui #buddypress .bp-avatar #message,
body.follo-ui .buddypress .bp-cover-image #message,
body.follo-ui #buddypress .bp-cover-image #message {
	margin: 16px 0 18px !important;
	padding: 14px 16px !important;
	border: 1px solid #dbe4ee !important;
	border-left: 4px solid #94a3b8 !important;
	border-radius: 10px !important;
	background: #f8fafc !important;
	color: #475569 !important;
	box-shadow: none !important;
}

/* Clear nested colored boxes if BuddyPress wraps the helper text. */
body.follo-ui .buddypress .bp-avatar-status > *,
body.follo-ui #buddypress .bp-avatar-status > *,
body.follo-ui .buddypress .bp-cover-image-status > *,
body.follo-ui #buddypress .bp-cover-image-status > * {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: inherit !important;
}


/* =========================================================
   v1.8 - Profile editor readability
   ========================================================= */

/* Make Visual editor text the same comfortable size as profile inputs. */
body.follo-ui .buddypress .wp-editor-container iframe,
body.follo-ui #buddypress .wp-editor-container iframe,
body.follo-ui .buddypress .wp-editor-container textarea,
body.follo-ui #buddypress .wp-editor-container textarea {
	font-size: 15px !important;
	line-height: 1.6 !important;
}

/* TinyMCE editable body itself is inside an iframe, so use the wrapper
   to keep the editor height and visual scale comfortable. */
body.follo-ui .buddypress .mce-edit-area iframe,
body.follo-ui #buddypress .mce-edit-area iframe {
	min-height: 150px !important;
}

/* =========================================================
   v1.8 - Profile Photo tabs: folder-tab treatment
   ========================================================= */

body.follo-ui .buddypress .bp-avatar-nav,
body.follo-ui #buddypress .bp-avatar-nav {
	margin: 14px 0 20px !important;
	border-bottom: 1px solid var(--follo-border-light) !important;
}

body.follo-ui .buddypress .bp-avatar-nav ul,
body.follo-ui #buddypress .bp-avatar-nav ul {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-end !important;
	gap: 6px !important;
	padding: 0 10px !important;
	margin: 0 !important;
}

body.follo-ui .buddypress .bp-avatar-nav li,
body.follo-ui #buddypress .bp-avatar-nav li {
	position: relative;
	margin: 0 !important;
}

body.follo-ui .buddypress .bp-avatar-nav li a,
body.follo-ui #buddypress .bp-avatar-nav li a {
	position: relative;
	display: inline-flex !important;
	align-items: center !important;
	min-height: 38px !important;
	padding: 9px 16px !important;
	border: 1px solid var(--follo-border) !important;
	border-bottom: 0 !important;
	border-radius: 9px 9px 0 0 !important;
	background: #f8fafc !important;
	color: #475569 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background-color var(--follo-transition), color var(--follo-transition), border-color var(--follo-transition), transform 120ms ease !important;
}

body.follo-ui .buddypress .bp-avatar-nav li a:hover,
body.follo-ui #buddypress .bp-avatar-nav li a:hover {
	background: var(--follo-primary-soft) !important;
	border-color: #bfdcff !important;
	color: var(--follo-primary) !important;
	transform: translateY(-1px);
}

body.follo-ui .buddypress .bp-avatar-nav li.current a,
body.follo-ui .buddypress .bp-avatar-nav li.selected a,
body.follo-ui #buddypress .bp-avatar-nav li.current a,
body.follo-ui #buddypress .bp-avatar-nav li.selected a {
	background: #fff !important;
	border-color: var(--follo-primary) !important;
	color: var(--follo-primary) !important;
	z-index: 2;
}

/* Small accent "folder tab" notch. */
body.follo-ui .buddypress .bp-avatar-nav li.current a::before,
body.follo-ui .buddypress .bp-avatar-nav li.selected a::before,
body.follo-ui #buddypress .bp-avatar-nav li.current a::before,
body.follo-ui #buddypress .bp-avatar-nav li.selected a::before {
	content: "";
	position: absolute;
	left: 14px;
	top: -4px;
	width: 24px;
	height: 4px;
	border-radius: 4px 4px 0 0;
	background: var(--follo-primary);
}

/* =========================================================
   v1.8 - Native select cleanup / duplicate arrow removal
   ========================================================= */

/* Keep only the arrow inside the actual select. */
body.follo-ui .buddypress .select-wrap::after,
body.follo-ui #buddypress .select-wrap::after,
body.follo-ui .buddypress .select-wrap::before,
body.follo-ui #buddypress .select-wrap::before,
body.follo-ui .buddypress .select-wrap span.select-arrow,
body.follo-ui #buddypress .select-wrap span.select-arrow,
body.follo-ui .buddypress .select-wrap .select-arrow,
body.follo-ui #buddypress .select-wrap .select-arrow,
body.follo-ui .buddypress .select-wrap + .select-arrow,
body.follo-ui #buddypress .select-wrap + .select-arrow {
	display: none !important;
	content: none !important;
}

/* Notifications filter / Friends order select: no outer border. */
body.follo-ui .buddypress .select-wrap,
body.follo-ui #buddypress .select-wrap {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
}

/* =========================================================
   v1.8 - Notification action tooltip positioning
   ========================================================= */

/* Let action tooltips render beside the icon instead of over it. */
body.follo-ui .buddypress .notifications .actions,
body.follo-ui #buddypress .notifications .actions,
body.follo-ui .buddypress table.notifications .actions,
body.follo-ui #buddypress table.notifications .actions {
	overflow: visible !important;
	white-space: nowrap;
}

body.follo-ui .buddypress .notifications .actions a,
body.follo-ui #buddypress .notifications .actions a,
body.follo-ui .buddypress table.notifications .actions a,
body.follo-ui #buddypress table.notifications .actions a {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 4px;
}

/* Common tooltip attributes/classes used by BuddyPress/Nouveau. */
body.follo-ui .buddypress [data-bp-tooltip]::after,
body.follo-ui #buddypress [data-bp-tooltip]::after {
	left: auto !important;
	right: calc(100% + 8px) !important;
	top: 50% !important;
	bottom: auto !important;
	transform: translateY(-50%) !important;
	white-space: nowrap !important;
	z-index: 1000 !important;
}

/* =========================================================
   v1.8 - Messages search border cleanup
   ========================================================= */

body.follo-ui .buddypress .bp-messages-search-form,
body.follo-ui #buddypress .bp-messages-search-form,
body.follo-ui .buddypress .message-search,
body.follo-ui #buddypress .message-search,
body.follo-ui .buddypress .message-search-form,
body.follo-ui #buddypress .message-search-form {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

body.follo-ui .buddypress .bp-messages-search-form .select-wrap,
body.follo-ui #buddypress .bp-messages-search-form .select-wrap,
body.follo-ui .buddypress .message-search .select-wrap,
body.follo-ui #buddypress .message-search .select-wrap {
	border: 0 !important;
	box-shadow: none !important;
}


/* =========================================================
   v1.9 - Profile editor text + photo tabs
   ========================================================= */

/* Keep editable profile content dark/readable. */
body.follo-ui .buddypress .wp-editor-container,
body.follo-ui #buddypress .wp-editor-container,
body.follo-ui .buddypress .mce-edit-area,
body.follo-ui #buddypress .mce-edit-area {
	color: #1f2937 !important;
}

body.follo-ui .buddypress .wp-editor-container textarea,
body.follo-ui #buddypress .wp-editor-container textarea {
	color: #1f2937 !important;
	opacity: 1 !important;
}

/* Active Profile Photo tab: selected state without an outline/border box. */
body.follo-ui .buddypress .bp-avatar-nav li.current a,
body.follo-ui .buddypress .bp-avatar-nav li.selected a,
body.follo-ui #buddypress .bp-avatar-nav li.current a,
body.follo-ui #buddypress .bp-avatar-nav li.selected a {
	border-color: transparent !important;
	border-bottom: 0 !important;
	background: var(--follo-primary-soft) !important;
	color: var(--follo-primary) !important;
	box-shadow: inset 0 -3px 0 var(--follo-primary) !important;
}

/* =========================================================
   v1.9 - Notifications bulk actions
   ========================================================= */

/* The actual Apply action must always look like a button, never a select. */
body.follo-ui .buddypress .notifications-options-nav input[type="submit"],
body.follo-ui #buddypress .notifications-options-nav input[type="submit"],
body.follo-ui .buddypress .notifications-options-nav button[type="submit"],
body.follo-ui #buddypress .notifications-options-nav button[type="submit"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: auto !important;
	min-width: 112px !important;
	max-width: none !important;
	padding: 10px 20px !important;
	border: 1px solid var(--follo-primary) !important;
	border-radius: var(--follo-radius) !important;
	background: var(--follo-primary) !important;
	color: #fff !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	box-shadow: var(--follo-shadow-sm) !important;
}

/* No pseudo-arrow may be attached to the submit/button wrapper. */
body.follo-ui .buddypress .notifications-options-nav .follo-submit-clean::before,
body.follo-ui .buddypress .notifications-options-nav .follo-submit-clean::after,
body.follo-ui #buddypress .notifications-options-nav .follo-submit-clean::before,
body.follo-ui #buddypress .notifications-options-nav .follo-submit-clean::after {
	display: none !important;
	content: none !important;
}

/* Delete tooltip belongs to the RIGHT of the delete icon. */
body.follo-ui .buddypress .notifications .actions a:last-child[data-bp-tooltip]::after,
body.follo-ui #buddypress .notifications .actions a:last-child[data-bp-tooltip]::after,
body.follo-ui .buddypress table.notifications .actions a:last-child[data-bp-tooltip]::after,
body.follo-ui #buddypress table.notifications .actions a:last-child[data-bp-tooltip]::after {
	left: calc(100% + 8px) !important;
	right: auto !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
}

/* Give the Actions column enough space for icon + tooltip hover. */
body.follo-ui .buddypress table.notifications th.actions,
body.follo-ui .buddypress table.notifications td.actions,
body.follo-ui #buddypress table.notifications th.actions,
body.follo-ui #buddypress table.notifications td.actions {
	min-width: 155px !important;
	padding-right: 32px !important;
	overflow: visible !important;
}

/* =========================================================
   v1.9 - Messages compose/search
   ========================================================= */

/* Remove any remaining decorative border around the search container. */
body.follo-ui .buddypress .bp-messages-search-form,
body.follo-ui #buddypress .bp-messages-search-form,
body.follo-ui .buddypress .message-search,
body.follo-ui #buddypress .message-search,
body.follo-ui .buddypress .message-search-form,
body.follo-ui #buddypress .message-search-form,
body.follo-ui .buddypress .message-search-form > *,
body.follo-ui #buddypress .message-search-form > * {
	border: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
}

/* Compose fields need breathing room. */
body.follo-ui .buddypress .bp-messages-content #send_message_form label,
body.follo-ui #buddypress #send_message_form label,
body.follo-ui .buddypress form#send_message_form label,
body.follo-ui #buddypress form#send_message_form label {
	margin-bottom: 8px !important;
}

body.follo-ui .buddypress #send_message_form input[name="send-to-input"],
body.follo-ui #buddypress #send_message_form input[name="send-to-input"],
body.follo-ui .buddypress #send_message_form input[name="subject"],
body.follo-ui #buddypress #send_message_form input[name="subject"] {
	margin-bottom: 22px !important;
}

body.follo-ui .buddypress #send_message_form .submit,
body.follo-ui #buddypress #send_message_form .submit {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 12px !important;
	margin-top: 24px !important;
}

/* =========================================================
   v1.9 - Settings sub-navigation
   ========================================================= */

/* Treat Settings sub-tabs as an attached control bar instead of bare text. */
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .item-list-tabs#subnav,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs {
	margin: -1px 0 28px !important;
	padding: 10px 12px !important;
	border: 1px solid var(--follo-border-light) !important;
	border-top: 0 !important;
	border-radius: 0 0 14px 14px !important;
	background: #f8fafc !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .03) !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs ul,
body.follo-ui.settings #buddypress .item-list-tabs#subnav ul,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li a,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li a,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li a {
	min-height: 38px !important;
	padding: 8px 13px !important;
	border: 1px solid transparent !important;
	border-radius: 9px !important;
	background: transparent !important;
	color: #526174 !important;
	font-weight: 650 !important;
	box-shadow: none !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li a:hover,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li a:hover,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li a:hover {
	background: #fff !important;
	border-color: var(--follo-border) !important;
	color: var(--follo-primary) !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li.current a,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li.selected a,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li.current a,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li.selected a,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li.current a,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li.selected a {
	border-color: #bfdcff !important;
	background: var(--follo-primary-soft) !important;
	color: var(--follo-primary) !important;
	box-shadow: none !important;
}


/* =========================================================
   v2.0 - Editor readability
   ========================================================= */

body.follo-ui .buddypress .wp-editor-container textarea,
body.follo-ui #buddypress .wp-editor-container textarea {
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
	opacity: 1 !important;
}

/* =========================================================
   v2.0 - Profile Photo tabs integrated with content panel
   ========================================================= */

body.follo-ui .buddypress .bp-avatar-nav,
body.follo-ui #buddypress .bp-avatar-nav {
	margin: 14px 0 -1px !important;
	padding: 0 !important;
	border: 0 !important;
	position: relative;
	z-index: 3;
}

body.follo-ui .buddypress .bp-avatar-nav ul,
body.follo-ui #buddypress .bp-avatar-nav ul {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: flex-end !important;
	gap: 6px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	overflow-x: auto !important;
	scrollbar-width: none;
}

body.follo-ui .buddypress .bp-avatar-nav ul::-webkit-scrollbar,
body.follo-ui #buddypress .bp-avatar-nav ul::-webkit-scrollbar {
	display: none;
}

body.follo-ui .buddypress .bp-avatar-nav li,
body.follo-ui #buddypress .bp-avatar-nav li {
	flex: 0 0 auto;
	margin: 0 !important;
}

body.follo-ui .buddypress .bp-avatar-nav li a,
body.follo-ui #buddypress .bp-avatar-nav li a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 42px !important;
	padding: 10px 16px !important;
	border: 1px solid var(--follo-border) !important;
	border-bottom-color: var(--follo-border-light) !important;
	border-radius: 10px 10px 0 0 !important;
	background: #f8fafc !important;
	color: #475569 !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
	box-shadow: none !important;
}

body.follo-ui .buddypress .bp-avatar-nav li a:hover,
body.follo-ui #buddypress .bp-avatar-nav li a:hover {
	border-color: #bfdcff !important;
	background: var(--follo-primary-soft) !important;
	color: var(--follo-primary) !important;
}

body.follo-ui .buddypress .bp-avatar-nav li.current a,
body.follo-ui .buddypress .bp-avatar-nav li.selected a,
body.follo-ui #buddypress .bp-avatar-nav li.current a,
body.follo-ui #buddypress .bp-avatar-nav li.selected a {
	border: 1px solid var(--follo-primary) !important;
	border-bottom-color: #ffffff !important;
	border-radius: 10px 10px 0 0 !important;
	background: #ffffff !important;
	color: var(--follo-primary) !important;
	box-shadow: inset 0 3px 0 var(--follo-primary) !important;
}

body.follo-ui .buddypress .bp-avatar-nav li.current a::before,
body.follo-ui .buddypress .bp-avatar-nav li.selected a::before,
body.follo-ui #buddypress .bp-avatar-nav li.current a::before,
body.follo-ui #buddypress .bp-avatar-nav li.selected a::before {
	display: none !important;
	content: none !important;
}

/* Make the active tab visually belong to the panel below. */
body.follo-ui .buddypress .bp-avatar-nav + .bp-avatar,
body.follo-ui #buddypress .bp-avatar-nav + .bp-avatar,
body.follo-ui .buddypress .bp-avatar-nav + div,
body.follo-ui #buddypress .bp-avatar-nav + div {
	border-top-left-radius: 14px;
	border-top-right-radius: 14px;
}

/* Recycle view */
body.follo-ui .buddypress .bp-avatar .profile-photo-history,
body.follo-ui #buddypress .bp-avatar .profile-photo-history,
body.follo-ui .buddypress .bp-avatar table,
body.follo-ui #buddypress .bp-avatar table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--follo-border-light);
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
	box-shadow: var(--follo-shadow-sm);
}

body.follo-ui .buddypress .bp-avatar table th,
body.follo-ui .buddypress .bp-avatar table td,
body.follo-ui #buddypress .bp-avatar table th,
body.follo-ui #buddypress .bp-avatar table td {
	padding: 14px 16px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--follo-border-light) !important;
	vertical-align: middle;
}

body.follo-ui .buddypress .bp-avatar table th,
body.follo-ui #buddypress .bp-avatar table th {
	background: #f8fafc;
	color: var(--follo-text);
	font-weight: 700;
}

body.follo-ui .buddypress .bp-avatar table tr:last-child td,
body.follo-ui #buddypress .bp-avatar table tr:last-child td {
	border-bottom: 0 !important;
}

body.follo-ui .buddypress .bp-avatar .recycle-actions,
body.follo-ui #buddypress .bp-avatar .recycle-actions,
body.follo-ui .buddypress .bp-avatar .avatar-history-actions,
body.follo-ui #buddypress .bp-avatar .avatar-history-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

/* Delete tab spacing */
body.follo-ui .buddypress .bp-avatar p + a.button,
body.follo-ui #buddypress .bp-avatar p + a.button,
body.follo-ui .buddypress .bp-avatar p + button,
body.follo-ui #buddypress .bp-avatar p + button,
body.follo-ui .buddypress .bp-avatar p + input[type="submit"],
body.follo-ui #buddypress .bp-avatar p + input[type="submit"] {
	margin-top: 12px !important;
}

body.follo-ui .buddypress .bp-avatar .delete-avatar,
body.follo-ui #buddypress .bp-avatar .delete-avatar,
body.follo-ui .buddypress .bp-avatar a[href*="delete-avatar"],
body.follo-ui #buddypress .bp-avatar a[href*="delete-avatar"] {
	margin-top: 10px !important;
}

/* Hide FOLLO-detected empty avatar/status rows. */
body.follo-ui .follo-hide-empty {
	display: none !important;
}

/* =========================================================
   v2.0 - Notification action tooltips
   ========================================================= */

body.follo-ui .buddypress table.notifications .actions,
body.follo-ui #buddypress table.notifications .actions,
body.follo-ui .buddypress .notifications .actions,
body.follo-ui #buddypress .notifications .actions {
	overflow: visible !important;
	white-space: nowrap !important;
}

body.follo-ui .buddypress table.notifications .actions a,
body.follo-ui #buddypress table.notifications .actions a,
body.follo-ui .buddypress .notifications .actions a,
body.follo-ui #buddypress .notifications .actions a {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 2px !important;
	overflow: visible !important;
}

/* Custom tooltip replaces the browser/native title tooltip. */
body.follo-ui .follo-action-tooltip::after {
	content: attr(data-follo-tooltip);
	position: absolute;
	top: 50%;
	left: calc(100% + 7px);
	transform: translateY(-50%);
	padding: 5px 8px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	background: #fff;
	color: #1f2937;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	box-shadow: 0 4px 12px rgba(15, 23, 42, .12);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 9999;
}

body.follo-ui .follo-action-tooltip:hover::after,
body.follo-ui .follo-action-tooltip:focus-visible::after {
	opacity: 1;
	visibility: visible;
}

/* Mark-read label sits close to the eye; delete label sits to the right of X. */
body.follo-ui .follo-action-tooltip.follo-action-markread::after {
	left: calc(100% + 5px);
}

body.follo-ui .follo-action-tooltip.follo-action-delete::after {
	left: calc(100% + 6px);
	right: auto;
}

/* Keep icon spacing compact. */
body.follo-ui .buddypress table.notifications td.actions,
body.follo-ui #buddypress table.notifications td.actions {
	min-width: 135px !important;
	padding-right: 22px !important;
}

/* =========================================================
   v2.0 - GLOBAL BuddyPress subtabs
   Applies to Settings, Friends, Messages, Notifications,
   Profile, Groups, Invitations, etc.
   ========================================================= */

body.follo-ui .buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .item-list-tabs#subnav,
body.follo-ui .buddypress .item-list-tabs#subnav {
	margin: 0 0 26px !important;
	padding: 8px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: #f6f8fb !important;
	box-shadow: inset 0 0 0 1px var(--follo-border-light) !important;
	overflow: hidden !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs ul,
body.follo-ui #buddypress .bp-navs.bp-subnavs ul,
body.follo-ui #buddypress .item-list-tabs#subnav ul,
body.follo-ui .buddypress .item-list-tabs#subnav ul {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs ul::-webkit-scrollbar,
body.follo-ui #buddypress .bp-navs.bp-subnavs ul::-webkit-scrollbar,
body.follo-ui #buddypress .item-list-tabs#subnav ul::-webkit-scrollbar,
body.follo-ui .buddypress .item-list-tabs#subnav ul::-webkit-scrollbar {
	display: none;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li,
body.follo-ui #buddypress .bp-navs.bp-subnavs li,
body.follo-ui #buddypress .item-list-tabs#subnav li,
body.follo-ui .buddypress .item-list-tabs#subnav li {
	flex: 0 0 auto !important;
	margin: 0 !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li a,
body.follo-ui #buddypress .item-list-tabs#subnav li a,
body.follo-ui .buddypress .item-list-tabs#subnav li a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 40px !important;
	padding: 9px 14px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: transparent !important;
	color: #526174 !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
	box-shadow: none !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li a:hover,
body.follo-ui #buddypress .bp-navs.bp-subnavs li a:hover,
body.follo-ui #buddypress .item-list-tabs#subnav li a:hover,
body.follo-ui .buddypress .item-list-tabs#subnav li a:hover {
	background: #ffffff !important;
	color: var(--follo-primary) !important;
	box-shadow: var(--follo-shadow-sm) !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li.current a,
body.follo-ui .buddypress .bp-navs.bp-subnavs li.selected a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li.current a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li.selected a,
body.follo-ui #buddypress .item-list-tabs#subnav li.current a,
body.follo-ui #buddypress .item-list-tabs#subnav li.selected a,
body.follo-ui .buddypress .item-list-tabs#subnav li.current a,
body.follo-ui .buddypress .item-list-tabs#subnav li.selected a {
	background: #ffffff !important;
	color: var(--follo-primary) !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, .10), inset 0 -2px 0 var(--follo-primary) !important;
}


/* =========================================================
   v2.1 - Profile Photo selected tab + Delete spacing
   ========================================================= */

/* Selected photo tab: rounded, clean, no visible border. */
body.follo-ui .buddypress .bp-avatar-nav li.current a,
body.follo-ui .buddypress .bp-avatar-nav li.selected a,
body.follo-ui #buddypress .bp-avatar-nav li.current a,
body.follo-ui #buddypress .bp-avatar-nav li.selected a {
	border-color: transparent !important;
	border-bottom-color: transparent !important;
	border-radius: 10px 10px 0 0 !important;
	background: #ffffff !important;
	color: var(--follo-primary) !important;
	box-shadow: inset 0 3px 0 var(--follo-primary) !important;
}

/* Delete tab: create a calmer transition from the tab bar to the explanation. */
body.follo-ui .buddypress .bp-avatar .follo-avatar-delete-copy,
body.follo-ui #buddypress .bp-avatar .follo-avatar-delete-copy {
	margin: 0 !important;
	padding: 20px 4px 0 !important;
	border-top: 1px solid var(--follo-border-light);
	color: var(--follo-text-muted);
	line-height: 1.6;
}

body.follo-ui .buddypress .bp-avatar .follo-avatar-delete-copy + .button,
body.follo-ui #buddypress .bp-avatar .follo-avatar-delete-copy + .button,
body.follo-ui .buddypress .bp-avatar .follo-avatar-delete-copy + a,
body.follo-ui #buddypress .bp-avatar .follo-avatar-delete-copy + a,
body.follo-ui .buddypress .bp-avatar .follo-avatar-delete-copy + input[type="submit"],
body.follo-ui #buddypress .bp-avatar .follo-avatar-delete-copy + input[type="submit"] {
	margin-top: 14px !important;
}

/* =========================================================
   v2.1 - Global full-width segmented subnavigation
   ========================================================= */

/*
 * The subnav is one full-width rail. Each tab is clearly separated.
 * A small pointer on the rail points toward the currently selected
 * primary BuddyPress tab (Profile, Notifications, Messages, Friends,
 * Settings, etc.). JS sets --follo-subnav-pointer-x.
 */
body.follo-ui .buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .item-list-tabs#subnav,
body.follo-ui .buddypress .item-list-tabs#subnav {
	--follo-subnav-pointer-x: 50%;
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 14px 0 28px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #f7f9fc !important;
	box-shadow: inset 0 0 0 1px var(--follo-border-light) !important;
	overflow: visible !important;
}

/* Pointer toward the active primary BuddyPress tab. */
body.follo-ui .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .item-list-tabs#subnav::before,
body.follo-ui .buddypress .item-list-tabs#subnav::before {
	content: "";
	position: absolute;
	top: -8px;
	left: var(--follo-subnav-pointer-x);
	width: 16px;
	height: 16px;
	background: #f7f9fc;
	border-left: 1px solid var(--follo-border-light);
	border-top: 1px solid var(--follo-border-light);
	transform: translateX(-50%) rotate(45deg);
	z-index: 1;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs ul,
body.follo-ui #buddypress .bp-navs.bp-subnavs ul,
body.follo-ui #buddypress .item-list-tabs#subnav ul,
body.follo-ui .buddypress .item-list-tabs#subnav ul {
	position: relative;
	z-index: 2;
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs ul::-webkit-scrollbar,
body.follo-ui #buddypress .bp-navs.bp-subnavs ul::-webkit-scrollbar,
body.follo-ui #buddypress .item-list-tabs#subnav ul::-webkit-scrollbar,
body.follo-ui .buddypress .item-list-tabs#subnav ul::-webkit-scrollbar {
	display: none;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li,
body.follo-ui #buddypress .bp-navs.bp-subnavs li,
body.follo-ui #buddypress .item-list-tabs#subnav li,
body.follo-ui .buddypress .item-list-tabs#subnav li {
	flex: 1 1 0 !important;
	min-width: max-content !important;
	margin: 0 !important;
	border-right: 1px solid var(--follo-border-light);
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li:last-child,
body.follo-ui #buddypress .bp-navs.bp-subnavs li:last-child,
body.follo-ui #buddypress .item-list-tabs#subnav li:last-child,
body.follo-ui .buddypress .item-list-tabs#subnav li:last-child {
	border-right: 0;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li a,
body.follo-ui #buddypress .item-list-tabs#subnav li a,
body.follo-ui .buddypress .item-list-tabs#subnav li a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 44px !important;
	padding: 10px 14px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #526174 !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	transition: background-color var(--follo-transition), color var(--follo-transition) !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li:first-child a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li:first-child a,
body.follo-ui #buddypress .item-list-tabs#subnav li:first-child a,
body.follo-ui .buddypress .item-list-tabs#subnav li:first-child a {
	border-radius: 10px 0 0 10px !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li:last-child a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li:last-child a,
body.follo-ui #buddypress .item-list-tabs#subnav li:last-child a,
body.follo-ui .buddypress .item-list-tabs#subnav li:last-child a {
	border-radius: 0 10px 10px 0 !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li a:hover,
body.follo-ui #buddypress .bp-navs.bp-subnavs li a:hover,
body.follo-ui #buddypress .item-list-tabs#subnav li a:hover,
body.follo-ui .buddypress .item-list-tabs#subnav li a:hover {
	background: #ffffff !important;
	color: var(--follo-primary) !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li.current a,
body.follo-ui .buddypress .bp-navs.bp-subnavs li.selected a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li.current a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li.selected a,
body.follo-ui #buddypress .item-list-tabs#subnav li.current a,
body.follo-ui #buddypress .item-list-tabs#subnav li.selected a,
body.follo-ui .buddypress .item-list-tabs#subnav li.current a,
body.follo-ui .buddypress .item-list-tabs#subnav li.selected a {
	background: var(--follo-primary-soft) !important;
	color: var(--follo-primary) !important;
	box-shadow: inset 0 -3px 0 var(--follo-primary) !important;
}


/* =========================================================
   v2.2 - Settings subnav: single-row compact "puzzle" rail
   ========================================================= */

/* Settings has many subtabs, so make the rail tighter and keep it on one row. */
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .item-list-tabs#subnav,
body.follo-ui.settings .buddypress .item-list-tabs#subnav {
	margin-top: 8px !important;
}

/* Matching puzzle-joint effect: primary Settings tab points down,
   subnav rail has a small matching notch toward it. */
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui.settings #buddypress .item-list-tabs#subnav::before,
body.follo-ui.settings .buddypress .item-list-tabs#subnav::before {
	top: -6px !important;
	width: 12px !important;
	height: 12px !important;
	background: #f7f9fc !important;
	border-left: 1px solid var(--follo-border-light) !important;
	border-top: 1px solid var(--follo-border-light) !important;
	transform: translateX(-50%) rotate(45deg) !important;
}

/* Add the matching downward tab from the active primary nav item.
   It stops short of touching the subnav point, creating the puzzle effect. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected {
	position: relative;
}

body.follo-ui .bp-navs:not(.bp-subnavs) li.current::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -8px;
	width: 12px;
	height: 12px;
	background: #fff;
	border-right: 1px solid var(--follo-border-light);
	border-bottom: 1px solid var(--follo-border-light);
	transform: translateX(-50%) rotate(45deg);
	z-index: 4;
	pointer-events: none;
}

/* Settings subtab typography and spacing tuned to keep everything on one line. */
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li {
	flex: 1 1 0 !important;
	min-width: 0 !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li a,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li a,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li a,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li a {
	min-height: 42px !important;
	padding: 9px 8px !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
	text-align: center !important;
	white-space: nowrap !important;
}

/* =========================================================
   v2.2 - Profile Photo tabs visually attached to uploader
   ========================================================= */

/* Lower the tab rail so it sits directly on the uploader panel. */
body.follo-ui .buddypress .bp-avatar-nav,
body.follo-ui #buddypress .bp-avatar-nav {
	margin: 14px 0 -1px !important;
	padding: 0 0 0 8px !important;
	border: 0 !important;
}

/* Remove the old horizontal bottom border from the tab rail. */
body.follo-ui .buddypress .bp-avatar-nav::after,
body.follo-ui #buddypress .bp-avatar-nav::after {
	display: none !important;
	content: none !important;
}

/* Selected tab: no outline/border, just a rounded cap that merges with panel below. */
body.follo-ui .buddypress .bp-avatar-nav li.current a,
body.follo-ui .buddypress .bp-avatar-nav li.selected a,
body.follo-ui #buddypress .bp-avatar-nav li.current a,
body.follo-ui #buddypress .bp-avatar-nav li.selected a {
	border: 0 !important;
	border-radius: 10px 10px 0 0 !important;
	background: #ffffff !important;
	color: var(--follo-primary) !important;
	box-shadow: inset 0 3px 0 var(--follo-primary) !important;
	position: relative;
	z-index: 4;
}

/* Unselected tabs keep separation but no bottom line. */
body.follo-ui .buddypress .bp-avatar-nav li a,
body.follo-ui #buddypress .bp-avatar-nav li a {
	border-bottom: 0 !important;
}

/* Make the upload panel touch the tab rail cleanly. */
body.follo-ui .buddypress .bp-avatar .drag-drop-inside,
body.follo-ui #buddypress .bp-avatar .drag-drop-inside,
body.follo-ui .buddypress .bp-avatar #drag-drop-area .drag-drop-inside,
body.follo-ui #buddypress .bp-avatar #drag-drop-area .drag-drop-inside {
	border-radius: 0 14px 14px 14px !important;
}

/* If a different tab is active, allow a regular rounded panel fallback. */
body.follo-ui .buddypress .bp-avatar:not(:has(#drag-drop-area)) .drag-drop-inside,
body.follo-ui #buddypress .bp-avatar:not(:has(#drag-drop-area)) .drag-drop-inside {
	border-radius: 14px !important;
}


/* =========================================================
   v2.3 - Exact Profile Photo tab attachment
   ========================================================= */

/* Remove EVERY visible rail/bottom border around the photo tabs. */
body.follo-ui .buddypress .bp-avatar-nav,
body.follo-ui #buddypress .bp-avatar-nav,
body.follo-ui .buddypress .bp-avatar-nav ul,
body.follo-ui #buddypress .bp-avatar-nav ul,
body.follo-ui .buddypress .bp-avatar-nav li,
body.follo-ui #buddypress .bp-avatar-nav li {
	border-bottom: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
}

/* Pull the tabs down onto the uploader panel. */
body.follo-ui .buddypress .bp-avatar-nav,
body.follo-ui #buddypress .bp-avatar-nav {
	margin: 14px 0 0 !important;
	padding: 0 0 0 14px !important;
}

body.follo-ui .buddypress .bp-avatar-nav ul,
body.follo-ui #buddypress .bp-avatar-nav ul {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* Selected tab: NO border and NO blue top rule. */
body.follo-ui .buddypress .bp-avatar-nav li.current,
body.follo-ui .buddypress .bp-avatar-nav li.selected,
body.follo-ui #buddypress .bp-avatar-nav li.current,
body.follo-ui #buddypress .bp-avatar-nav li.selected,
body.follo-ui .buddypress .bp-avatar-nav li.current a,
body.follo-ui .buddypress .bp-avatar-nav li.selected a,
body.follo-ui #buddypress .bp-avatar-nav li.current a,
body.follo-ui #buddypress .bp-avatar-nav li.selected a {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

body.follo-ui .buddypress .bp-avatar-nav li.current a,
body.follo-ui .buddypress .bp-avatar-nav li.selected a,
body.follo-ui #buddypress .bp-avatar-nav li.current a,
body.follo-ui #buddypress .bp-avatar-nav li.selected a {
	border-radius: 10px 10px 0 0 !important;
	background: #ffffff !important;
	color: var(--follo-primary) !important;
}

/* Remove any default pseudo decoration on the active tab. */
body.follo-ui .buddypress .bp-avatar-nav li.current a::before,
body.follo-ui .buddypress .bp-avatar-nav li.current a::after,
body.follo-ui .buddypress .bp-avatar-nav li.selected a::before,
body.follo-ui .buddypress .bp-avatar-nav li.selected a::after,
body.follo-ui #buddypress .bp-avatar-nav li.current a::before,
body.follo-ui #buddypress .bp-avatar-nav li.current a::after,
body.follo-ui #buddypress .bp-avatar-nav li.selected a::before,
body.follo-ui #buddypress .bp-avatar-nav li.selected a::after {
	display: none !important;
	content: none !important;
}

/* Remove the outer uploader margin that was creating the visible gap. */
body.follo-ui .buddypress .bp-avatar #drag-drop-area,
body.follo-ui #buddypress .bp-avatar #drag-drop-area,
body.follo-ui .buddypress .bp-avatar .drag-drop,
body.follo-ui #buddypress .bp-avatar .drag-drop,
body.follo-ui .buddypress .bp-avatar .bp-uploader-window,
body.follo-ui #buddypress .bp-avatar .bp-uploader-window {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Uploader panel starts immediately under the tabs. */
body.follo-ui .buddypress .bp-avatar .drag-drop-inside,
body.follo-ui #buddypress .bp-avatar .drag-drop-inside,
body.follo-ui .buddypress .bp-avatar #drag-drop-area .drag-drop-inside,
body.follo-ui #buddypress .bp-avatar #drag-drop-area .drag-drop-inside {
	margin-top: 0 !important;
	border-radius: 0 14px 14px 14px !important;
}

/* =========================================================
   v2.3 - Parent/subnav puzzle-tip correction
   ========================================================= */

/* Bring the full-width subnav rail much closer to its parent primary nav. */
body.follo-ui .buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .item-list-tabs#subnav,
body.follo-ui .buddypress .item-list-tabs#subnav {
	margin-top: 4px !important;
}

/*
 * Turn the PRIMARY tip "up":
 * previous rule showed the right/bottom edges (a downward V).
 * Showing left/top edges creates the upward matching notch requested.
 */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected::after {
	bottom: -7px !important;
	width: 12px !important;
	height: 12px !important;
	background: #ffffff !important;
	border: 0 !important;
	border-left: 1px solid var(--follo-border-light) !important;
	border-top: 1px solid var(--follo-border-light) !important;
	transform: translateX(-50%) rotate(45deg) !important;
}

/* Lift the subnav matching tip so the two pieces almost meet. */
body.follo-ui .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .item-list-tabs#subnav::before,
body.follo-ui .buddypress .item-list-tabs#subnav::before {
	top: -7px !important;
	width: 12px !important;
	height: 12px !important;
}

/* Settings keeps the same corrected geometry. */
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .item-list-tabs#subnav,
body.follo-ui.settings .buddypress .item-list-tabs#subnav {
	margin-top: 4px !important;
}


/* =========================================================
   v2.4 - Parent/subnav near-connection refinement
   ========================================================= */

/*
 * Pull the subnav rail very close to the primary nav so the two
 * matching tips almost connect, while still leaving a hairline gap.
 */
body.follo-ui .buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .item-list-tabs#subnav,
body.follo-ui .buddypress .item-list-tabs#subnav {
	margin-top: 1px !important;
}

/* Mask the primary-nav bottom rule directly beneath the active tip.
   This creates the "missing puzzle piece" opening the user requested. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current::before,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -2px;
	width: 26px;
	height: 5px;
	background: #fff;
	transform: translateX(-50%);
	z-index: 3;
	pointer-events: none;
}

/* Keep the upward primary tip centered inside that opening. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected::after {
	bottom: -6px !important;
	z-index: 5 !important;
}

/* Raise the matching subnav tip so the two pieces almost meet. */
body.follo-ui .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .item-list-tabs#subnav::before,
body.follo-ui .buddypress .item-list-tabs#subnav::before {
	top: -6px !important;
	z-index: 4 !important;
}

/* =========================================================
   v2.4 - Settings subtabs match every other BuddyPress subnav
   ========================================================= */

/* Remove the older Settings-only compact treatment. */
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .item-list-tabs#subnav,
body.follo-ui.settings .buddypress .item-list-tabs#subnav {
	margin: 1px 0 28px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #f7f9fc !important;
	box-shadow: inset 0 0 0 1px var(--follo-border-light) !important;
}

/* Same segmented rail geometry as Profile/Friends/Messages/etc. */
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs ul,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs ul,
body.follo-ui.settings #buddypress .item-list-tabs#subnav ul,
body.follo-ui.settings .buddypress .item-list-tabs#subnav ul {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	margin: 0 !important;
	border-right: 1px solid var(--follo-border-light) !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li:last-child,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li:last-child,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li:last-child,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li:last-child {
	border-right: 0 !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li a,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li a,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li a,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 44px !important;
	padding: 9px 7px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #526174 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	white-space: nowrap !important;
	box-shadow: none !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li:first-child a,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li:first-child a,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li:first-child a,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li:first-child a {
	border-radius: 10px 0 0 10px !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li:last-child a,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li:last-child a,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li:last-child a,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li:last-child a {
	border-radius: 0 10px 10px 0 !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li a:hover,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li a:hover,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li a:hover,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li a:hover {
	background: #fff !important;
	color: var(--follo-primary) !important;
}

body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li.current a,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li.selected a,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li.current a,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li.selected a,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li.current a,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li.selected a,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li.current a,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li.selected a {
	background: var(--follo-primary-soft) !important;
	color: var(--follo-primary) !important;
	box-shadow: inset 0 -3px 0 var(--follo-primary) !important;
}


/* =========================================================
   v2.5 - One synchronized BuddyPress subnav system
   ========================================================= */

/*
 * Final normalization: every BuddyPress subnav uses the exact same
 * rail, separator, active-state, pointer, typography and spacing.
 * This includes Profile, Notifications, Messages, Friends, Groups,
 * Invitations and Settings.
 */
body.follo-ui .buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .item-list-tabs#subnav,
body.follo-ui .buddypress .item-list-tabs#subnav,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .item-list-tabs#subnav,
body.follo-ui.settings .buddypress .item-list-tabs#subnav {
	--follo-subnav-pointer-x: 50%;
	position: relative !important;
	display: block !important;
	width: calc(100% - 32px) !important;
	max-width: calc(100% - 32px) !important;
	margin: 2px 16px 28px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: #f7f9fc !important;
	box-shadow: inset 0 0 0 1px var(--follo-border-light) !important;
	overflow: visible !important;
}

/* Matching upper notch on every subnav rail. */
body.follo-ui .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .item-list-tabs#subnav::before,
body.follo-ui .buddypress .item-list-tabs#subnav::before,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui.settings #buddypress .item-list-tabs#subnav::before,
body.follo-ui.settings .buddypress .item-list-tabs#subnav::before {
	content: "" !important;
	position: absolute !important;
	top: -7px !important;
	left: var(--follo-subnav-pointer-x) !important;
	width: 13px !important;
	height: 13px !important;
	background: #f7f9fc !important;
	border: 0 !important;
	border-left: 1px solid var(--follo-border-light) !important;
	border-top: 1px solid var(--follo-border-light) !important;
	transform: translateX(-50%) rotate(45deg) !important;
	z-index: 4 !important;
	pointer-events: none !important;
}

/* Universal rail list. */
body.follo-ui .buddypress .bp-navs.bp-subnavs ul,
body.follo-ui #buddypress .bp-navs.bp-subnavs ul,
body.follo-ui #buddypress .item-list-tabs#subnav ul,
body.follo-ui .buddypress .item-list-tabs#subnav ul,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs ul,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs ul,
body.follo-ui.settings #buddypress .item-list-tabs#subnav ul,
body.follo-ui.settings .buddypress .item-list-tabs#subnav ul {
	position: relative !important;
	z-index: 5 !important;
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs ul::-webkit-scrollbar,
body.follo-ui #buddypress .bp-navs.bp-subnavs ul::-webkit-scrollbar,
body.follo-ui #buddypress .item-list-tabs#subnav ul::-webkit-scrollbar,
body.follo-ui .buddypress .item-list-tabs#subnav ul::-webkit-scrollbar {
	display: none !important;
}

/* Universal tab cells. */
body.follo-ui .buddypress .bp-navs.bp-subnavs li,
body.follo-ui #buddypress .bp-navs.bp-subnavs li,
body.follo-ui #buddypress .item-list-tabs#subnav li,
body.follo-ui .buddypress .item-list-tabs#subnav li,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li {
	flex: 1 1 0 !important;
	min-width: max-content !important;
	margin: 0 !important;
	border: 0 !important;
	border-right: 1px solid var(--follo-border-light) !important;
	background: transparent !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li:last-child,
body.follo-ui #buddypress .bp-navs.bp-subnavs li:last-child,
body.follo-ui #buddypress .item-list-tabs#subnav li:last-child,
body.follo-ui .buddypress .item-list-tabs#subnav li:last-child {
	border-right: 0 !important;
}

/* Universal tab links. */
body.follo-ui .buddypress .bp-navs.bp-subnavs li a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li a,
body.follo-ui #buddypress .item-list-tabs#subnav li a,
body.follo-ui .buddypress .item-list-tabs#subnav li a,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs li a,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs li a,
body.follo-ui.settings #buddypress .item-list-tabs#subnav li a,
body.follo-ui.settings .buddypress .item-list-tabs#subnav li a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 44px !important;
	padding: 9px 12px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #526174 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

/* Rounded rail ends only. */
body.follo-ui .buddypress .bp-navs.bp-subnavs li:first-child a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li:first-child a,
body.follo-ui #buddypress .item-list-tabs#subnav li:first-child a,
body.follo-ui .buddypress .item-list-tabs#subnav li:first-child a {
	border-radius: 11px 0 0 11px !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li:last-child a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li:last-child a,
body.follo-ui #buddypress .item-list-tabs#subnav li:last-child a,
body.follo-ui .buddypress .item-list-tabs#subnav li:last-child a {
	border-radius: 0 11px 11px 0 !important;
}

/* Hover and active states are identical everywhere. */
body.follo-ui .buddypress .bp-navs.bp-subnavs li a:hover,
body.follo-ui #buddypress .bp-navs.bp-subnavs li a:hover,
body.follo-ui #buddypress .item-list-tabs#subnav li a:hover,
body.follo-ui .buddypress .item-list-tabs#subnav li a:hover {
	background: #ffffff !important;
	color: var(--follo-primary) !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs li.current a,
body.follo-ui .buddypress .bp-navs.bp-subnavs li.selected a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li.current a,
body.follo-ui #buddypress .bp-navs.bp-subnavs li.selected a,
body.follo-ui #buddypress .item-list-tabs#subnav li.current a,
body.follo-ui #buddypress .item-list-tabs#subnav li.selected a,
body.follo-ui .buddypress .item-list-tabs#subnav li.current a,
body.follo-ui .buddypress .item-list-tabs#subnav li.selected a {
	background: var(--follo-primary-soft) !important;
	color: var(--follo-primary) !important;
	box-shadow: inset 0 -3px 0 var(--follo-primary) !important;
}

/* Parent-tab puzzle gap is also identical for every primary section. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current::before,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected::before {
	width: 24px !important;
	height: 6px !important;
	bottom: -3px !important;
	background: #fff !important;
}

/* Keep the active parent tip centered and visually matched. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected::after {
	width: 13px !important;
	height: 13px !important;
	bottom: -7px !important;
	background: #fff !important;
	border: 0 !important;
	border-left: 1px solid var(--follo-border-light) !important;
	border-top: 1px solid var(--follo-border-light) !important;
	transform: translateX(-50%) rotate(45deg) !important;
	z-index: 5 !important;
}


/* =========================================================
   v2.6 - Exact parent/subnav notch treatment
   ========================================================= */

/*
 * Target visual:
 *
 *        Settings
 *     ━━━   ^   ━━━
 *  ┌────────┴────────┐
 *  │   sub navigation │
 *
 * The subnav itself owns the upward notch. The active primary
 * underline is simply opened in the middle so the notch can rise
 * through it. No second/downward triangle is rendered.
 */

/* Remove every older primary-tab triangle/tip. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected::after {
	display: none !important;
	content: none !important;
}

/* Open a clean gap in the center of the active primary underline. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current::before,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected::before {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	bottom: -2px !important;
	width: 34px !important;
	height: 7px !important;
	background: #ffffff !important;
	border: 0 !important;
	transform: translateX(-50%) !important;
	z-index: 7 !important;
	pointer-events: none !important;
}

/* Bring the rail up so its notch visually sits inside that underline gap. */
body.follo-ui .buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .item-list-tabs#subnav,
body.follo-ui .buddypress .item-list-tabs#subnav,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .item-list-tabs#subnav,
body.follo-ui.settings .buddypress .item-list-tabs#subnav {
	margin-top: 7px !important;
}

/* One single upward "missing-piece" notch, owned by the subnav rail. */
body.follo-ui .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .item-list-tabs#subnav::before,
body.follo-ui .buddypress .item-list-tabs#subnav::before,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui.settings #buddypress .item-list-tabs#subnav::before,
body.follo-ui.settings .buddypress .item-list-tabs#subnav::before {
	content: "" !important;
	position: absolute !important;
	left: var(--follo-subnav-pointer-x) !important;
	top: -10px !important;
	width: 18px !important;
	height: 18px !important;
	background: #f7f9fc !important;
	border: 0 !important;
	border-left: 1px solid var(--follo-border-light) !important;
	border-top: 1px solid var(--follo-border-light) !important;
	transform: translateX(-50%) rotate(45deg) !important;
	z-index: 6 !important;
	pointer-events: none !important;
}

/* Cover the lower half of the rotated square so it reads as a neat roof/notch,
   not as a diamond inside the subnav. */
body.follo-ui .buddypress .bp-navs.bp-subnavs::after,
body.follo-ui #buddypress .bp-navs.bp-subnavs::after,
body.follo-ui #buddypress .item-list-tabs#subnav::after,
body.follo-ui .buddypress .item-list-tabs#subnav::after,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs::after,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs::after,
body.follo-ui.settings #buddypress .item-list-tabs#subnav::after,
body.follo-ui.settings .buddypress .item-list-tabs#subnav::after {
	content: "" !important;
	position: absolute !important;
	left: calc(var(--follo-subnav-pointer-x) - 18px) !important;
	top: 0 !important;
	width: 36px !important;
	height: 11px !important;
	background: #f7f9fc !important;
	z-index: 7 !important;
	pointer-events: none !important;
}

/* Keep actual subnav items above the notch cover. */
body.follo-ui .buddypress .bp-navs.bp-subnavs ul,
body.follo-ui #buddypress .bp-navs.bp-subnavs ul,
body.follo-ui #buddypress .item-list-tabs#subnav ul,
body.follo-ui .buddypress .item-list-tabs#subnav ul {
	position: relative !important;
	z-index: 8 !important;
}


/* =========================================================
   v2.7 - Correct parent/subnav puzzle connection
   ========================================================= */

/*
 * This replaces the previous detached-arrow treatment.
 *
 * Primary tab:
 *   - keeps its normal underline
 *   - has a small V-shaped socket cut from the center
 *
 * Subnav:
 *   - is physically pulled upward
 *   - has one upward tip aligned to that socket
 *   - leaves only a tiny visual gap, so the two pieces look
 *     like they are made to connect without actually touching
 */

/* Remove previous parent pseudo tips/masks completely. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current::before,
body.follo-ui .bp-navs:not(.bp-subnavs) li.current::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected::before,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected::after {
	display: none !important;
	content: none !important;
}

/* Draw the active primary underline ourselves, with a center socket. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current > a,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected > a,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current > a,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected > a {
	position: relative !important;
	box-shadow: none !important;
	border-bottom: 0 !important;
}

/* Two underline segments with a center gap. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current > a::before,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected > a::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current > a::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected > a::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: -2px !important;
	height: 3px !important;
	background:
		linear-gradient(
			to right,
			var(--follo-primary) 0,
			var(--follo-primary) calc(50% - 13px),
			transparent calc(50% - 13px),
			transparent calc(50% + 13px),
			var(--follo-primary) calc(50% + 13px),
			var(--follo-primary) 100%
		) !important;
	z-index: 8 !important;
	pointer-events: none !important;
}

/* White downward socket cut into the underline. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current > a::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected > a::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 50% !important;
	bottom: -10px !important;
	width: 18px !important;
	height: 18px !important;
	background: #fff !important;
	border: 0 !important;
	transform: translateX(-50%) rotate(45deg) !important;
	z-index: 7 !important;
	pointer-events: none !important;
}

/* Pull every BuddyPress subnav substantially upward.
   This is the key change that removes the large detached gap. */
body.follo-ui .buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .item-list-tabs#subnav,
body.follo-ui .buddypress .item-list-tabs#subnav,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs,
body.follo-ui.settings #buddypress .item-list-tabs#subnav,
body.follo-ui.settings .buddypress .item-list-tabs#subnav {
	margin-top: 0 !important;
	transform: translateY(-17px) !important;
	margin-bottom: 11px !important;
}

/* One upward point from the subnav rail. */
body.follo-ui .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .item-list-tabs#subnav::before,
body.follo-ui .buddypress .item-list-tabs#subnav::before,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui.settings #buddypress .item-list-tabs#subnav::before,
body.follo-ui.settings .buddypress .item-list-tabs#subnav::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: var(--follo-subnav-pointer-x) !important;
	top: -9px !important;
	width: 16px !important;
	height: 16px !important;
	background: #f7f9fc !important;
	border: 0 !important;
	border-left: 1px solid var(--follo-border-light) !important;
	border-top: 1px solid var(--follo-border-light) !important;
	transform: translateX(-50%) rotate(45deg) !important;
	z-index: 6 !important;
	pointer-events: none !important;
}

/* Remove the old lower-half cover that made the notch look detached. */
body.follo-ui .buddypress .bp-navs.bp-subnavs::after,
body.follo-ui #buddypress .bp-navs.bp-subnavs::after,
body.follo-ui #buddypress .item-list-tabs#subnav::after,
body.follo-ui .buddypress .item-list-tabs#subnav::after,
body.follo-ui.settings .buddypress .bp-navs.bp-subnavs::after,
body.follo-ui.settings #buddypress .bp-navs.bp-subnavs::after,
body.follo-ui.settings .buddypress .item-list-tabs#subnav::after {
	display: none !important;
	content: none !important;
}


/* =========================================================
   v2.8 - Subnav must layer ABOVE primary navigation
   ========================================================= */

/* Keep the overall BuddyPress navigation stacking predictable. */
body.follo-ui .bp-navs:not(.bp-subnavs),
body.follo-ui #buddypress .item-list-tabs:not(#subnav) {
	position: relative !important;
	z-index: 20 !important;
}

/* The subnav rail must sit above the primary tab underline/socket. */
body.follo-ui .buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .item-list-tabs#subnav,
body.follo-ui .buddypress .item-list-tabs#subnav {
	position: relative !important;
	z-index: 50 !important;
	isolation: isolate;
}

/* Subnav notch/pointer sits above the primary menu. */
body.follo-ui .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .item-list-tabs#subnav::before,
body.follo-ui .buddypress .item-list-tabs#subnav::before {
	z-index: 60 !important;
}

/* Actual subnav cells/links remain above the rail and pointer. */
body.follo-ui .buddypress .bp-navs.bp-subnavs ul,
body.follo-ui #buddypress .bp-navs.bp-subnavs ul,
body.follo-ui #buddypress .item-list-tabs#subnav ul,
body.follo-ui .buddypress .item-list-tabs#subnav ul {
	position: relative !important;
	z-index: 70 !important;
}

/* The primary active-tab socket remains below the subnav pointer. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current > a::before,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected > a::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current > a::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected > a::before,
body.follo-ui .bp-navs:not(.bp-subnavs) li.current > a::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected > a::after {
	z-index: 25 !important;
}


/* =========================================================
   v2.9 - Restore the primary-tab downward tip/socket
   The raised subnav pointer now visually plugs into this tip.
   ========================================================= */

body.follo-ui .bp-navs:not(.bp-subnavs) li.current > a,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected > a,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current > a,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected > a {
	position: relative !important;
	overflow: visible !important;
}

/* Small white downward tip directly beneath the selected primary tab. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current > a::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected > a::after {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	bottom: -9px !important;
	width: 16px !important;
	height: 16px !important;
	background: #fff !important;
	border-right: 1px solid #e4e9ef !important;
	border-bottom: 1px solid #e4e9ef !important;
	border-top: 0 !important;
	border-left: 0 !important;
	border-radius: 0 0 2px 0 !important;
	transform: translateX(-50%) rotate(45deg) !important;
	z-index: 45 !important;
	pointer-events: none !important;
}

/* Keep the subnav connector above the restored primary tip. */
body.follo-ui .buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .item-list-tabs#subnav,
body.follo-ui .buddypress .item-list-tabs#subnav {
	z-index: 50 !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .item-list-tabs#subnav::before,
body.follo-ui .buddypress .item-list-tabs#subnav::before {
	z-index: 60 !important;
}


/* =========================================================
   v3.0 - Make the active PRIMARY tip visible above subnav
   ========================================================= */

/*
 * v2.9 restored the primary tip, but the subnav pointer/rail was
 * still painting over it. The active primary tip now gets the
 * highest decorative z-index so it is visibly "on Settings/Profile"
 * while the subnav rail remains underneath.
 */

/* Keep active primary tab itself above the rail. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected {
	position: relative !important;
	z-index: 90 !important;
	overflow: visible !important;
}

body.follo-ui .bp-navs:not(.bp-subnavs) li.current > a,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected > a,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current > a,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected > a {
	position: relative !important;
	z-index: 91 !important;
	overflow: visible !important;
}

/* Primary "down socket" tip: sits ON TOP of the subnav connector. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current > a::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected > a::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 50% !important;
	bottom: -10px !important;
	width: 16px !important;
	height: 16px !important;
	background: #ffffff !important;
	border: 0 !important;
	border-right: 1px solid var(--follo-border-light) !important;
	border-bottom: 1px solid var(--follo-border-light) !important;
	transform: translateX(-50%) rotate(45deg) !important;
	z-index: 100 !important;
	pointer-events: none !important;
}

/* Keep the split underline visible, but below the white tip. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current > a::before,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected > a::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current > a::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected > a::before {
	z-index: 95 !important;
}

/* Subnav stays above general page content, but below the active primary tip. */
body.follo-ui .buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .bp-navs.bp-subnavs,
body.follo-ui #buddypress .item-list-tabs#subnav,
body.follo-ui .buddypress .item-list-tabs#subnav {
	z-index: 50 !important;
}

body.follo-ui .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .item-list-tabs#subnav::before,
body.follo-ui .buddypress .item-list-tabs#subnav::before {
	z-index: 60 !important;
}

/* Slightly lower the subnav connector so the primary tip is clearly visible. */
body.follo-ui .buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .bp-navs.bp-subnavs::before,
body.follo-ui #buddypress .item-list-tabs#subnav::before,
body.follo-ui .buddypress .item-list-tabs#subnav::before {
	top: -7px !important;
}


/* =========================================================
   v3.1 - ACTIVE PRIMARY TAB TIP POINTS UP
   ========================================================= */

/*
 * The selected primary tab (Settings, Profile, Friends, etc.)
 * needs an UPWARD-pointing white notch, not a downward one.
 *
 * This overrides the v3.0 diamond orientation by using a
 * top/right bordered square rotated -45deg.
 */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current > a::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected > a::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 50% !important;
	bottom: -14px !important;
	width: 16px !important;
	height: 16px !important;
	background: #fff !important;
	border: 0 !important;
	border-top: 1px solid var(--follo-border-light) !important;
	border-right: 1px solid var(--follo-border-light) !important;
	border-bottom: 0 !important;
	border-left: 0 !important;
	transform: translateX(-50%) rotate(-45deg) !important;
	transform-origin: center !important;
	z-index: 100 !important;
	pointer-events: none !important;
}


/* =========================================================
   v3.1.1 - Fix broken primary tabs without real subnavigation
   ========================================================= */

/*
 * The connector/puzzle decoration must ONLY appear on a primary
 * BuddyPress tab when that page actually has a visible subnav.
 * This prevents tabs such as Activity or standalone/custom tabs
 * from getting a split underline or floating diamond/notch.
 */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current:not(.follo-parent-with-subnav) > a::before,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected:not(.follo-parent-with-subnav) > a::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current:not(.follo-parent-with-subnav) > a::before,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected:not(.follo-parent-with-subnav) > a::before,
body.follo-ui .bp-navs:not(.bp-subnavs) li.current:not(.follo-parent-with-subnav) > a::after,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected:not(.follo-parent-with-subnav) > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current:not(.follo-parent-with-subnav) > a::after,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected:not(.follo-parent-with-subnav) > a::after {
    display: none !important;
    content: none !important;
}

/* Standalone active tabs keep one normal uninterrupted underline. */
body.follo-ui .bp-navs:not(.bp-subnavs) li.current:not(.follo-parent-with-subnav) > a,
body.follo-ui .bp-navs:not(.bp-subnavs) li.selected:not(.follo-parent-with-subnav) > a,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.current:not(.follo-parent-with-subnav) > a,
body.follo-ui #buddypress .item-list-tabs:not(#subnav) li.selected:not(.follo-parent-with-subnav) > a {
    box-shadow: inset 0 -2px 0 var(--follo-primary) !important;
    border-bottom: 0 !important;
}

/* Hide decorative subnav pointer when the subnav has no usable items. */
body.follo-ui .follo-subnav-empty::before,
body.follo-ui .follo-subnav-empty::after {
    display: none !important;
    content: none !important;
}


/* =========================================================
   FOLLO GLOBAL STYLING v3.1.10
   Unified primary member-nav surface (all viewport sizes)
   ========================================================= */

html body.follo-ui.buddypress.bp-user #object-nav,
html body.follo-ui.buddypress.bp-user .bp-navs.main-navs,
html body.follo-ui.buddypress.bp-user nav#object-nav {
	background: #f1f2f4 !important;
}

html body.follo-ui.buddypress.bp-user #object-nav > ul,
html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul,
html body.follo-ui.buddypress.bp-user nav#object-nav > ul {
	background: #f1f2f4 !important;
}

html body.follo-ui.buddypress.bp-user #object-nav > ul > li,
html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li,
html body.follo-ui.buddypress.bp-user nav#object-nav > ul > li {
	background: #eceef0 !important;
	border-right: 1px solid #ffffff !important;
	box-sizing: border-box !important;
}

html body.follo-ui.buddypress.bp-user #object-nav > ul > li:last-child,
html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li:last-child,
html body.follo-ui.buddypress.bp-user nav#object-nav > ul > li:last-child {
	border-right: 0 !important;
}

html body.follo-ui.buddypress.bp-user #object-nav > ul > li > a,
html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li > a,
html body.follo-ui.buddypress.bp-user nav#object-nav > ul > li > a {
	background: transparent !important;
}

html body.follo-ui.buddypress.bp-user #object-nav > ul > li > a:hover,
html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li > a:hover,
html body.follo-ui.buddypress.bp-user nav#object-nav > ul > li > a:hover {
	background: #f7f8f9 !important;
}

html body.follo-ui.buddypress.bp-user #object-nav > ul > li.current,
html body.follo-ui.buddypress.bp-user #object-nav > ul > li.selected,
html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li.current,
html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li.selected,
html body.follo-ui.buddypress.bp-user nav#object-nav > ul > li.current,
html body.follo-ui.buddypress.bp-user nav#object-nav > ul > li.selected {
	background: #f7f8f9 !important;
}


/* =========================================================
   FOLLO GLOBAL STYLING v3.1.11
   Balanced full-width desktop member navigation
   ========================================================= */

/*
 * Desktop/tablet member navigation should use the same visual logic as
 * the compact view: every primary tab owns an equal share of the rail
 * and its label is centered inside that share.
 */
@media (min-width: 768px) {

	html body.follo-ui.buddypress.bp-user #object-nav,
	html body.follo-ui.buddypress.bp-user .bp-navs.main-navs,
	html body.follo-ui.buddypress.bp-user nav#object-nav {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	html body.follo-ui.buddypress.bp-user #object-nav > ul,
	html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul,
	html body.follo-ui.buddypress.bp-user nav#object-nav > ul {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: stretch !important;

		width: 100% !important;
		max-width: 100% !important;

		margin: 0 !important;
		padding: 0 !important;
		gap: 0 !important;

		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	html body.follo-ui.buddypress.bp-user #object-nav > ul > li,
	html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li,
	html body.follo-ui.buddypress.bp-user nav#object-nav > ul > li {
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;

		margin: 0 !important;
		padding: 0 !important;

		box-sizing: border-box !important;
	}

	html body.follo-ui.buddypress.bp-user #object-nav > ul > li > a,
	html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li > a,
	html body.follo-ui.buddypress.bp-user nav#object-nav > ul > li > a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		min-width: 0 !important;
		min-height: 54px !important;

		margin: 0 !important;
		padding: 12px 8px !important;

		text-align: center !important;
		white-space: nowrap !important;

		font-size: 13px !important;
		line-height: 1.15 !important;

		box-sizing: border-box !important;
	}

	/* Remove the old Activity-only left alignment. */
	html body.follo-ui.buddypress.bp-user #object-nav > ul > li:first-child > a,
	html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li:first-child > a {
		padding-left: 8px !important;
		padding-right: 8px !important;
		justify-content: center !important;
		text-align: center !important;
	}

	/* Keep count badges centered together with their labels. */
	html body.follo-ui.buddypress.bp-user #object-nav > ul > li > a .count,
	html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li > a .count {
		position: static !important;
		inset: auto !important;
		transform: none !important;

		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;

		flex: 0 0 auto !important;
		margin-left: 5px !important;
	}

	/* Active underline spans the centered tab cell, not a left-biased label. */
	html body.follo-ui.buddypress.bp-user #object-nav > ul > li.current > a::after,
	html body.follo-ui.buddypress.bp-user #object-nav > ul > li.selected > a::after,
	html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li.current > a::after,
	html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li.selected > a::after {
		left: 14% !important;
		right: 14% !important;
		width: auto !important;
	}
}

/* Slightly tighter desktop labels when the browser is not very wide. */
@media (min-width: 768px) and (max-width: 1180px) {
	html body.follo-ui.buddypress.bp-user #object-nav > ul > li > a,
	html body.follo-ui.buddypress.bp-user .bp-navs.main-navs > ul > li > a {
		padding-left: 5px !important;
		padding-right: 5px !important;
		font-size: 12px !important;
	}
}


/* =========================================================
   FOLLO GLOBAL STYLING v3.1.13
   Remove stray Activity subnav puzzle pointer
   ========================================================= */

/*
 * The pale diamond above Personal / Mentions / Favorites / Friends / Groups
 * is the old matching "puzzle tip" pseudo-element on #subnav.
 * Once the activity layout gained real vertical spacing, that pointer became
 * visually detached and looked like a floating tooltip/shadow.
 *
 * Hide only the Activity member subnav pointer. This does NOT remove the
 * primary member-nav active underline/tip or the intentional Settings/Profile
 * subnav styling elsewhere.
 */
html body.follo-ui.buddypress.bp-user.activity
#buddypress .bp-navs.bp-subnavs::before,
html body.follo-ui.buddypress.bp-user.activity
#buddypress .item-list-tabs#subnav::before,
html body.follo-ui.buddypress.bp-user.activity
.bp-navs.bp-subnavs::before,
html body.follo-ui.buddypress.bp-user.activity
.item-list-tabs#subnav::before {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}
