/*
 * SPDX-FileCopyrightText: 2010-2024 the Friendica project
 *
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */

/*
    Created on : 17.02.2016, 23:55:45
    Author     : rabuzarus and contributors
    Updated    : 2025 Modernization - Enhanced color system and design
*/

/* Modern CSS Custom Properties for 2025 Design System */
:root {
  /* Color system variables for better theming support */
  --accent-color: #3b82f6;
  --nav-background: #334155;
  --background-primary: #f8fafc;
  --text-primary: #1e293b;
  --text-secondary: #475569;
  --border-color: rgba(0, 0, 0, 0.1);
  /* Optimized single-layer shadows for visual depth */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.15);
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  /* Simple transitions like original frio - no forced GPU */
  --transition: all 0.1s ease-in-out;
  --transition-fast: all 0.15s ease-in-out;
  
  /* Modern spacing scale for consistent hierarchy */
  --space-xs: 0.25rem;   /* 4px */
  --space-sm: 0.5rem;    /* 8px */
  --space-md: 1rem;      /* 16px */
  --space-lg: 1.5rem;    /* 24px */
  --space-xl: 2rem;      /* 32px */
  --space-2xl: 3rem;     /* 48px */
  --space-3xl: 4rem;     /* 64px */
  
  /* Typography scale for better visual hierarchy */
  --font-size-xs: 0.75rem;   /* 12px */
  --font-size-sm: 0.875rem;  /* 14px */
  --font-size-base: 1rem;    /* 16px */
  --font-size-lg: 1.125rem;  /* 18px */
  --font-size-xl: 1.25rem;   /* 20px */
  --font-size-2xl: 1.5rem;   /* 24px */
  --font-size-3xl: 1.875rem; /* 30px */
  --font-size-4xl: 2.25rem;  /* 36px */
  
  /* Line height scale */
  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;
}

body {
	padding-top: 110px;
	background-color: #f8fafc;
	background-image: url("");
	background-size: auto;
	background-repeat: no-repeat;
	background-attachment: fixed;
	color: #1e293b;
	font-family: "Inter", "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: -0.01em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.minimal {
	padding: 15px;
}

body a {
	color: #3b82f6;
	text-decoration: none;
	transition: color 0.15s ease-in-out;
}
/* Anchors incorrectly display with a fixed top menu. This global rule offsets all
 * anchors so that accessing them with a # link will actually scroll the associated
 * content in the visible part of the page.
 *
 * anchor.top should be the opposite of body.padding-top
 */
body a[name]:not([href]) {
	display: block;
	position: relative;
	top: -110px;
	visibility: hidden;
}

body a:hover,
.btn-link:hover,
body a:focus,
.btn-link:focus,
body a:active,
.btn-link:active,
body a.active,
.btn-link.active {
	color: #2372f5;
	outline-color: #2372f5;
	text-decoration: none;
}

/* Removed hover effect
.wall-item-container a:hover {
	text-decoration: underline;
}
*/

hr {
	margin-top: var(--space-md);
	margin-bottom: var(--space-md);
}
aside hr,
section hr {
	border-color: rgba(238, 238, 238, 0.95);
}
iframe,
img,
video {
	max-width: 100%;
}
blockquote {
	font-size: inherit;
}
.clear {
	clear: both;
}
.no-padding {
	padding: 0;
}
.fakelink {
	cursor: pointer;
}
.btn.btn-link.fakelink {
	box-shadow: none;
	padding: 0 2px;
	vertical-align: baseline;
	outline-offset: 0;
	font-size: inherit; /* Ensure it inherits the parent font size */
}

.hidden {
	display: none !important;
}
.minimize {
	max-height: 0px !important;
	overflow: hidden !important;
}
.inflated {
	display: none;
}

/**
 * details tag
 */
details {
	padding: .5em .5em 0;
}
details details {
	padding-left: .5em;
}
details summary {
	font-weight: bold;
	display: list-item;
}

/**
 * clickable table rows
 */
.table > tbody > td[role="button"] {
	cursor: pointer;
}

/**
 * mobile aside
 */
@media screen and (max-width: 990px) {
	body {
		padding-top: 105px;
	}
	aside {
		position: fixed !important;
		top: 0 !important;
		background-color: #f8fafc;
		width: 100%;
		max-width: 300px;
		height: 100%;
		padding-top: 100px;
		z-index: var(--z-comments, 15);
		overflow: auto;
		padding-left: 6px !important;
		padding-right: 6px !important;
	}
	aside::before {
		content: " ";
		position: fixed;
		display: block;
		top: 0;
		left: 300px;
		right: 0;
		bottom: 0;
		background-color: rgba(0, 0, 0, 0.4);
		opacity: 0;
		transition: opacity 0.5s;
	}
	aside.canvas-slid::before {
		opacity: 1;
	}

	/* prevent page scroll when the aside is opened **/
	body.aside-out {
		overflow: hidden;
	}
}
/*
* standard page elements
*/

#back-to-top {
	display: none;
	cursor: pointer;
	color: #ffffff;
	position: fixed;
	z-index: 49;
	right: 20px;
	bottom: 20px;
	opacity: 1;
	font-size: 2.9em;
	padding: 0 12px 0 12px;
	border-radius: 10px;
	background-color: #334155;
	line-height: 1.5;
}

#item-delete-selected {
	cursor: pointer;
	color: white;
	position: fixed;
	z-index: 49;
	right: 20px;
	top: 100px;
	opacity: 0.8;
	font-size: 2.9em;
	padding: 0 12px 0 12px;
	border-radius: 10px;
	background-color: #3b82f6;
	line-height: 1.5;
	display: none;
}

#toggle_mobile_link {
	display: none;
}

/*
* Overwriting and Extend Bootstrap
*/
.label,
.label a {
	color: #3b82f6;
}

/* Buttons */

.btn {
	float: none;
	border: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	-moz-box-shadow: none;
	background-image: none;
	text-shadow: none;
	border-radius: 4px;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: normal;
	padding: 6px 12px;
	line-height: 1.42857143;
	color: inherit;
	transition: var(--transition);
	border: 1px solid transparent;
}
.btn:focus {
	outline-color: #2372f5;
}

.btn-default {
	background: linear-gradient(135deg, #fafafa 0%, #e0e0e0 100%);
	color: #333333;
	border: 1px solid rgba(0, 0, 0, 0.1);
	box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.08);
	font-weight: 500;
	letter-spacing: 0.3px;
	transition: all 0.3s ease;
}
.btn-default:hover {
	background: linear-gradient(135deg, #ffffff 0%, #eeeeee 100%);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.12);
	color: #333333;
}
.btn-sm {
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}
.btn-small {
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}
.btn-xs {
	padding: 1px 5px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}
.btn-lg {
	padding: 10px 16px;
	font-size: 18px;
	line-height: 1.3333333;
	border-radius: 6px;
}
.btn.btn-danger {
	color: #ffffff;
	background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
	border: none;
	box-shadow: 0 4px 15px 0 rgba(245, 87, 108, 0.4);
	font-weight: 500;
	letter-spacing: 0.3px;
	transition: all 0.3s ease;
}
.btn.btn-danger:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 20px 0 rgba(245, 87, 108, 0.5);
	color: #ffffff;
}

.btn.btn-success {
	color: #ffffff;
	background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
	border: none;
	box-shadow: 0 4px 15px 0 rgba(56, 239, 125, 0.4);
	font-weight: 500;
	letter-spacing: 0.3px;
	transition: all 0.3s ease;
}
.btn.btn-success:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 20px 0 rgba(56, 239, 125, 0.5);
	color: #ffffff;
}

.btn.btn-info {
	color: #ffffff;
	background: linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%);
	border: none;
	box-shadow: 0 4px 15px 0 rgba(102, 166, 255, 0.4);
	font-weight: 500;
	letter-spacing: 0.3px;
	transition: all 0.3s ease;
}
.btn.btn-info:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 20px 0 rgba(102, 166, 255, 0.5);
	color: #ffffff;
}

.btn.btn-warning {
	color: #ffffff;
	background: linear-gradient(135deg, #f6d365 0%, #fda085 100%);
	border: none;
	box-shadow: 0 4px 15px 0 rgba(253, 160, 133, 0.4);
	font-weight: 500;
	letter-spacing: 0.3px;
	transition: all 0.3s ease;
}
.btn.btn-warning:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 20px 0 rgba(253, 160, 133, 0.5);
	color: #ffffff;
}

.btn.btn-primary {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: #ffffff;
	border: none;
	box-shadow: 0 4px 15px 0 rgba(102, 126, 234, 0.4);
	font-weight: 500;
	font-size: 13px;
	padding: 5px 11px;
	letter-spacing: 0.3px;
	position: relative;
	overflow: hidden;
	transition: all 0.3s ease;
}
.btn.btn-primary:before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
	transition: left 0.5s ease;
	z-index: 0;
}
.btn.btn-primary span,
.btn.btn-primary i {
	position: relative;
	z-index: var(--z-thread-spine, 1);
}
.btn.btn-primary:hover,
.btn.btn-primary:focus {
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 7px 20px 0 rgba(102, 126, 234, 0.5);
	text-decoration: none;
}
.btn.btn-primary:hover:before {
	left: 0;
}
.btn.btn-primary:active,
.btn.btn-primary.active {
	transform: translateY(0);
	box-shadow: 0 3px 10px 0 rgba(102, 126, 234, 0.4);
}

.btn-primary.active.focus,
.btn-primary.active:focus,
.btn-primary.active:hover,
.btn-primary:active.focus,
.btn-primary:active:focus,
.btn-primary:active:hover,
.open > .dropdown-toggle.btn-primary.focus,
.open > .dropdown-toggle.btn-primary:focus,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary.active,
.btn-primary:active,
.open > .dropdown-toggle.btn-primary {
	background: #2776f5;
	border-color: none;
}

.btn-link {
	border: 0;
	color: #3b82f6;
	padding-left: 0;
	padding-right: 0;
}
.btn-clear,
.btn-clear:active {
	border: 0;
	background: transparent;
	box-shadow: none;
}

/* Modern form controls */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="search"],
textarea,
select {
	border-radius: var(--radius-md);
	border: 1px solid var(--border-color);
	transition: var(--transition);
	font-family: inherit;
	padding: var(--space-sm) var(--space-md);
	font-size: var(--font-size-base);
	line-height: var(--leading-normal);
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
	border-color: var(--accent-color);
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
	outline: none;
}
.btn-eventnav,
btn-eventnav:hover {
	font-size: 16px;
	background: none;
	background-color: transparent;
	padding: 0 14px;
}
.btn-separator {
	border-left: 1px solid #777;
}

.toggle.btn {
	border: 1px solid transparent;
}
.toggle.btn-xs {
	min-width: 45px;
}
.toggle.off {
	border-color: #ccc;
}
.toggle .toggle-off,
.toggle .toggle-off:hover {
	color: #ccc;
	background-color: #eee;
	box-shadow: none;
}
.toggle.off .toggle-handle {
	background-color: #eee;
}
.toggle-handle {
	background-color: #fff;
	border-width: 0 1px;
	border: 1px solid transparent;
	border-color: #ccc;
}
.form-control-sm,
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
	padding: 0.275rem 0.75rem;
	line-height: 1.5;
	height: 30px;
	border-radius: 0.2rem;
}
/* Bootstrap media class fix/hack
 * This is a test. I thought it does have some
 * issues in some corner cases. Maybe we remove
 * once more
 * https://github.com/twbs/bootstrap/issues/6053
 */
.media,
.media-body {
	overflow: visible;
}
.media .media-body {
	display: table-cell;
	width: 10000px;
	*width: auto;
	*zoom: 1;
}
.media:before,
.media:after {
	content: "";
	display: table;
}
.media:after {
	clear: both;
}

/* Badges */
.badge {
	vertical-align: baseline;
	background-color: #3b82f6;
	border-radius: 4px;
	z-index: 1;
}
aside .badge {
	opacity: 0.7;
}
.group-widget-entry .badge,
.sidebar-circle-li .badge {
	margin-top: 6px;
}

/* disabled elements */
.community-content-wrapper > h3,
.network-content-wrapper > .section-title-wrapper {
	display: none;
}

header #site-location {
	display: none;
}
header #banner {
	position: fixed;
	top: 0px;
	left: 49%;
	right: 49%;
	z-index: 1040;
	margin-top: 12.5px;
	text-align: center;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
	font-size: 14px;
	font-family: tahoma, "Lucida Sans", sans;
	color: #fff;
	font-weight: bold;
	white-space: nowrap;
	padding-left: 55px;
}
header #banner #logo-img,
.navbar-brand #logo-img {
	-webkit-mask-image: url("img/friendica-25.png");
	background-color: #ffffff;
	height: 25px;
	width: 25px;
	margin-left: auto;
	margin-right: auto;
}

#navbrand-container {
	display: flex;
}
#navbrand-container #navbar-brand-text {
	padding-left: 5px;
	color: #ffffff;
}

/* offcanvas section */

/* Right offcanvas uses: #offcanvasUsermenu, .offcanvas-right-active
   .offcanvas-right and .offcanvas-right-overlay */
.off-canvas {
	width: 300px;
	position: fixed;
	left: 0;
	top: 0;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	background-color: #333;
	transform: translateX(-100%);
	transition: 0.4s ease-in-out;
	z-index: 1060;
}
#offcanvasUsermenu {
	width: 300px;
	position: fixed;
	right: 0px;
	top: 50px;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	background-color: #333;
	transform: translateX(100%);
	transition: 0.4s ease-in-out;
	z-index: 1060;
}
.offcanvas-active .off-canvas {
	transform: translateX(0);
}
.offcanvas-right-active #offcanvasUsermenu {
	transform: translateX(0);
}
.navbar-fixed-top {
	transition: 0.4s ease-in-out;
	width: 100%;
}
.page-wrapper {
	padding-top: 50px;
	transition: 0.4s ease-in-out;
}
.offcanvas-active .page-wrapper,
.offcanvas-active .navbar-fixed-top {
	transform: translateX(300px);
}

.offcanvas-overlay {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1050;
	visibility: hidden;
	opacity: 0;
	transition: 0.4s ease-in-out;
}
.offcanvas-right-overlay {
	position: fixed;
	right: 0;
	top: 50px;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1050;
	visibility: hidden;
	opacity: 0;
	transition: 0.4s ease-in-out;
}
.offcanvas-active .offcanvas-overlay,
.offcanvas-right-active .offcanvas-right-overlay {
	opacity: 1;
	visibility: visible;
}
/* offcanvas section ends */

/* NavBar */
.topbar {
	position: fixed;
	display: block;
	height: 50px;
	width: 100%;
	padding-left: 15px;
	padding-right: 15px;
}
.topbar ul.nav {
	float: left;
}
.topbar ul.nav > li {
	float: left;
}
@media (min-width: 992px) {
	.topbar ul.nav > li > a,
	.topbar ul.nav > li > button {
		padding-top: 15px;
		padding-bottom: 15px;
		line-height: 20px;
		font-size: 14px;
	}
}
@media (max-width: 991px) {
	.topbar ul.nav > li > a,
	.topbar ul.nav > li > button {
		padding: 15px 10px;
	}
}
.topbar .dropdown-footer {
	margin: 10px;
}
.topbar .dropdown-header {
	font-size: 16px;
	padding: 3px 10px;
	margin-bottom: 10px;
	font-weight: 300;
	color: #bebebe;
}
.topbar .dropdown-header .dropdown-header-link {
	position: absolute;
	top: 2px;
	right: 10px;
}
.topbar .dropdown-header .dropdown-header-link a,
.topbar .dropdown-header .dropdown-header-link .btn-link {
	color: #3b82f6 !important;
	font-size: 12px;
	font-weight: 400;
}
.topbar .dropdown-header:hover {
	color: #bebebe;
}
#topbar-first,
nav.navbar {
	background-color: #334155;
	top: 0;
	z-index: 1030;
	color: #ffffff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
@media screen and (max-width: 767px) {
	#topbar-first,
	nav.navbar {
		padding: 0 2px;
	}
}

#topbar-first .navbar-toggle {
	margin-top: 5px;
	margin-bottom: 0;
	margin-right: 0;
}
#topbar-first .nav > li > a,
#topbar-first .nav > li > button,
nav.navbar .nav > li > a,
nav.navbar .nav > li > button {
	color: #ffffff;
}
#topbar-first .nav > .open > a,
#topbar-first .nav > .open > button {
	background-color: #334155;
}
#topbar-first .nav > li > a:hover,
#topbar-first .nav > li > a:focus,
#topbar-first .nav > li > button:not(#main-menu):hover,
#topbar-first .nav > li > button:not(#main-menu):focus,
nav.navbar .nav > li > a:hover,
nav.navbar .nav > li > a:focus,
nav.navbar .nav > li > button:hover,
nav.navbar .nav > li > button:focus {
	background-color: #597295;
}
#topbar-first .nav > .account {
	height: 50px;
	margin-left: 20px;
}
#topbar-first .nav > .account img {
	margin-left: 10px;
	height: 32px;
	width: 32px;
	border-radius: 3px;
}
#topbar-first .nav > .account .dropdown-toggle {
	padding: 8px 5px 0px;
	line-height: 1.1em;
	text-align: left;
	position: relative;
	z-index: 10;
	cursor: pointer;
}
#topbar-first .nav > .account .dropdown-toggle span {
	font-size: 12px;
}

/* Ensure main menu button is clickable and functional */
#main-menu {
	position: relative;
	z-index: 10 !important;
	pointer-events: auto !important;
	cursor: pointer;
	background: transparent;
	border: none;
}

#main-menu:hover,
#main-menu:focus {
	background-color: #597295;
	outline: none;
}

/* Fix any potential interference with dropdown functionality */
.account .dropdown-menu {
	z-index: 1000 !important;
}

/* Ensure account dropdown container doesn't block clicks */
#nav-user-linkmenu.dropdown.account {
	position: relative;
	z-index: 10;
}

/* Debug styling to make main menu more visible (remove if working) */
#main-menu {
	min-height: 32px;
	min-width: 32px;
}

/* Ensure dropdown toggle functionality is preserved */
.dropdown-toggle {
	background: transparent !important;
	border: none !important;
}
#topbar-first .topbar-brand {
	position: relative;
	z-index: 2;
}
#topbar-first .topbar-actions {
	position: relative;
	z-index: 3;
}
#topbar-first .topbar-nav {
	left: 0;
	right: 0;
	text-align: center;
	z-index: 1;
}
#topbar-first .topbar-nav .nav-segment {
	position: relative;
	text-align: left;
}
#topbar-first .topbar-nav .nav-segment > a {
	display: inline-block;
	text-decoration: none;
	text-align: left;
}
#topbar-first .topbar-nav .nav-segment .nav-notification {
	position: absolute;
	top: 4px;
	right: -2px;
	background-color: #ff3535;
}
#topbar-first #intro-update {
	cursor: pointer;
}
#topbar-first .topbar-nav .arrow:after {
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-color: transparent;
	border-style: solid;
	border-width: 10px;
	content: " ";
	top: 1px;
	margin-left: -10px;
	border-top-width: 0;
	border-bottom-color: #fff;
	z-index: 1035;
}
#topbar-first .topbar-nav .arrow {
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-color: transparent;
	border-style: solid;
	z-index: 1001;
	border-width: 11px;
	left: 50%;
	margin-left: -18px;
	border-top-width: 0;
	border-bottom-color: rgba(0, 0, 0, 0.15);
	top: -19px;
	z-index: 1035;
}
#topbar-first .topbar-nav .dropdown-menu {
	width: 380px;
	margin-left: -148px;
	background: linear-gradient(145deg, #ffffff, #fafbfc);
	border-radius: 12px !important;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	border: 1px solid rgba(0, 0, 0, 0.06);
	margin-top: 8px;
	padding: 8px 0;
}
#topbar-first .topbar-nav .dropdown-menu ul.media-list {
	max-height: 400px;
	overflow: auto;
}

#topbar-first .topbar-nav .dropdown-menu li {
	position: relative;
}
#topbar-first .topbar-nav .dropdown-menu li i.approval {
	position: absolute;
	left: 2px;
	top: 36px;
	font-size: 14px;
}
#topbar-first .topbar-nav .dropdown-menu li i.accepted {
	color: #5cb85c;
}
#topbar-first .topbar-nav .dropdown-menu li i.declined {
	color: #d9534f;
}
#topbar-first .topbar-nav .dropdown-menu li .media {
	position: relative;
}
#topbar-first .topbar-nav .dropdown-menu li .media .img-space {
	position: absolute;
	top: 14px;
	left: 14px;
}
#topbar-first .dropdown-footer {
	margin: 0;
	padding: 12px 16px;
	background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.02));
	border-top: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 0 0 12px 12px;
	text-align: center;
}

#topbar-first .dropdown-footer a {
	color: #667eea;
	font-weight: 500;
	font-size: 13px;
	text-decoration: none;
	transition: all 0.1s ease;
}

#topbar-first .dropdown-footer a:hover {
	color: #764ba2;
	transform: translateX(2px);
}

.dark #topbar-first .dropdown-footer,
.black #topbar-first .dropdown-footer {
	background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.02));
	border-top-color: rgba(255, 255, 255, 0.08);
}
#topbar-first .caret {
	border-top-color: #bebebe;
}
#topbar-first .btn-group > a {
	background-color: #7f9baa;
}
#topbar-first .btn-enter {
	background-color: #7f9baa;
	margin: 6px 0;
}
#topbar-first .btn-enter:hover {
	background-color: #89a2b0;
}
.navbar-fixed-top ul.nav.navbar-nav.navbar-right {
	display: flex;
}

#friendica-logo-mask {
	display: block;
}

/* Notification Menu - Discord Style */
#topbar-first #nav-notifications-menu {
	max-height: 480px;
	overflow-y: auto;
	overflow-x: hidden;
	background: linear-gradient(145deg, #ffffff, #fafbfc);
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	border: 1px solid rgba(0, 0, 0, 0.06);
	padding: 8px 0;
	margin-top: 8px;
	animation: slideDown 0.1s ease;
}

#topbar-first #nav-notifications-menu::-webkit-scrollbar {
	width: 8px;
}

#topbar-first #nav-notifications-menu::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.04);
	border-radius: 4px;
}

#topbar-first #nav-notifications-menu::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, 0.2);
	border-radius: 4px;
}

#topbar-first #nav-notifications-menu::-webkit-scrollbar-thumb:hover {
	background: rgba(0, 0, 0, 0.3);
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

#topbar-first #nav-notifications-menu a {
	color: #2e3338;
	padding: 0;
	text-decoration: none;
}

#topbar-first #nav-notifications-menu li.notif-entry {
	color: #2e3338;
	padding: 12px 16px;
	margin: 0 8px;
	border-radius: 8px;
	position: relative;
	border-left: 3px solid transparent;
	font-size: 13px;
	transition: all 0.1s ease;
	background: transparent;
	border-bottom: none;
}

#topbar-first #nav-notifications-menu li.notification-unseen {
	background: linear-gradient(90deg, rgba(102, 126, 234, 0.08) 0%, transparent 100%);
	border-left-color: #667eea;
	font-weight: 500;
}

#topbar-first #nav-notifications-menu li.notification-unseen::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background: #667eea;
	border-radius: 50%;
	margin-left: -5px;
	animation: pulse 2s infinite;
}

@keyframes pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(102, 126, 234, 0.7);
	}
	70% {
		box-shadow: 0 0 0 6px rgba(102, 126, 234, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(102, 126, 234, 0);
	}
}

#topbar-first #nav-notifications-menu li.notif-entry:hover {
	background: rgba(102, 126, 234, 0.05);
	transform: translateX(2px);
	border-left-color: #667eea;
}

#topbar-first #nav-notifications-menu li.placeholder {
	padding: 20px;
	text-align: center;
	color: #94a3b8;
	font-style: italic;
	margin: 0;
}

#topbar-first #nav-notifications-menu .media {
	margin: 0;
	align-items: center;
}

#topbar-first #nav-notifications-menu .media .media-body {
	line-height: 1.5;
}

#topbar-first #nav-notifications-menu .media .media-body .contactname {
	font-weight: 600;
	color: #1e293b;
	margin-bottom: 2px;
}

#topbar-first #nav-notifications-menu .media .media-body .label {
	padding: 2px 8px;
	font-size: 11px;
	border-radius: 12px;
	font-weight: 500;
	background: linear-gradient(135deg, #667eea, #764ba2);
	color: #ffffff;
	display: inline-block;
	margin-top: 4px;
}

#topbar-first #nav-notifications-menu li.notif-entry .media-object a img {
	height: 40px;
	width: 40px;
	border-radius: 50%;
	border: 2px solid #ffffff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: transform 0.1s ease;
}

#topbar-first #nav-notifications-menu li.notif-entry:hover .media-object a img {
	transform: scale(1.05);
}
/* The Top Nav Bar user menu */
#topbar-first .account .user-title {
	text-align: right;
	margin-top: 7px;
}
#topbar-first .account .user-title span {
	color: #ffffff;
}
#topbar-first .account #main-menu .nav-notification {
	position: absolute;
	top: 4px;
	right: -2px;
	background-color: #ff8989;
}
#offcanvasUsermenu {
	top: 50px;
	background-color: #f8fafc;
	border-top: 0;
	border-right: 0;
	border-bottom: 0;
	border-left-color: #ffffff;
	box-shadow: -3px 0 3px -3px black;
}
#offcanvasUsermenu .nav-container {
	/* required to compensate for moving the container below the topnav bar */
	margin-bottom: 50px;
}
#offcanvasUsermenu li.divider {
	background-color: transparent;
	height: 3px;
}

#offcanvasUsermenu ul,
#offcanvasUsermenu ul li:first-child,
#offcanvasUsermenu ul,
#offcanvasUsermenu ul li:last-child {
	border-radius: 0;
}
#offcanvasUsermenu li,
#offcanvasUsermenu a {
	background-color: #334155;
	color: #ffffff;
}

#offcanvasUsermenu li.list-group-item {
	border-color: #f8fafc;
}
#offcanvasUsermenu a {
	display: block;
	margin: -10px -15px;
	padding: 10px 15px;
}
#offcanvasUsermenu li.nav-sitename {
	font-weight: bold;
}
#topbar-first .dropdown.account li#nav-sitename {
	padding-left: 20px;
	padding-right: 20px;
	font-weight: bold;
	word-break: break-word;
}
#topbar-first .dropdown.account li#nav-sitename:hover {
	border: none;
	background-color: #334155;
}
/* Nav Search */
.menu-popup {
	max-height: calc(100vh - 55px);
	overflow-y: auto;
}
#topbar-first #search-box .navbar-form {
	margin: 0px;
	padding: 12px 12px;
}
/* Fix search button positioning in navbar */
#topbar-first #search-box .form-group-search {
	position: relative;
}
#search-mobile {
	position: fixed;
	top: 90px;
	left: 0;
	right: 0;
	z-index: 2;

	background-color: #f8fafc;

	/* fix bootstrap .well class not playing well with data-target slide animation */
	margin: 0;
	padding: 0;
	min-height: 0;
	border-radius: 0;
}
#search-mobile .navbar-form {
	margin: 0;
}
/* Fix mobile search button positioning */
#search-mobile .form-group-search {
	position: relative;
}
#search-mobile .form-group-search .btn.form-button-search {
	position: absolute;
	top: 2px;
	right: 2px;
	bottom: 2px;
	height: auto;
}
#topbar-first #search-box .form-search {
	height: 32px;
	font-size: 13px;
	background-position: 8px 4px;
	padding-right: 70px; /* Make room for the search button */
	padding-left: 10px;
	border-radius: 20px;
	border: 1px solid rgba(0, 0, 0, 0.15);
}
/* Consolidated search button styles for navbar - highest specificity to override conflicts */
#topbar-first #search-box .form-group-search .btn.btn-default.form-button-search {
	position: absolute !important;
	top: 2px !important;
	right: 2px !important;
	bottom: 2px !important;
	height: auto !important;
	padding: 4px 12px !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
	border-radius: 15px !important;
	z-index: 2 !important;
}

/* second topbar */
#topbar-second {
	height: 40px;
	top: 50px;
	background-color: #fff;
	z-index: 1029;
	background-image: none;
	-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid #d4d4d4;
}
#topbar-second > .container {
	height: 100%;
}
@media screen and (max-width: 767px) {
	#topbar-second > .container,
	#topbar-second #navbar-button {
		padding: 0;
	}
}
#topbar-second .dropdown-menu {
	padding-top: 0;
	padding-bottom: 0;
}
#topbar-second .dropdown-menu .divider {
	margin: 0;
}
#topbar-second #space-menu-dropdown,
#topbar-second #search-menu-dropdown {
	width: 400px;
}
#topbar-second #space-menu-dropdown .media-list,
#topbar-second #search-menu-dropdown .media-list {
	max-height: 400px;
	overflow: auto;
}
.intro-actions {
	font-size: 2em;
	padding: 1em;
}
.intro-wrapper button.intro-action-link {
	padding-left: 10px;
	padding-right: 10px;
}
ul li .intro-wrapper button.intro-action-link {
	opacity: 0.7;
}
@media screen and (max-width: 768px) {
	#topbar-second #space-menu-dropdown .media-list,
	#topbar-second #search-menu-dropdown .media-list {
		max-height: 200px;
	}
}
#topbar-second #space-menu-dropdown form,
#topbar-second #search-menu-dropdown form {
	margin: 10px;
}
#topbar-second #space-menu-dropdown .search-reset,
#topbar-second #search-menu-dropdown .search-reset {
	position: absolute;
	color: #999;
	margin: 10px;
	top: 8px;
	right: 10px;
	display: none;
	cursor: pointer;
}
#topbar-second #space-menu-dropdown li > ul > li > a > .media .media-body p {
	color: #bebebe;
	font-size: 11px;
	margin: 0;
	font-weight: 400;
}
#topbar-second #nav-short-info .heading {
	margin-left: -14px;
	overflow: hidden;
	white-space: nowrap;
	padding-right: 20px;
	text-overflow: ellipsis;
}
#topbar-second #tabmenu .heading {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #3b82f6;
	text-align: center;
}

/* Dropdown Menus */
.nav > li > .btn-link {
	position: relative;
	display: block;
	padding: 10px 15px;
}
.nav .open > .btn-link {
	background-color: #eee;
	border-color: #337ab7;
}
.nav-pills > li > .btn-link {
	border-radius: 4px;
}
.nav-pills .dropdown-menu,
.nav-tabs .dropdown-menu,
.account .dropdown-menu,
.contact-photo-wrapper .dropdown-menu {
	background-color: #334155;
	border: none;
}
.dropdown-menu .divider {
	margin: 5px 0;
}
.nav-pills .dropdown-menu li.divider,
.nav-tabs .dropdown-menu li.divider,
.account .dropdown-menu li.divider,
.contact-photo-wrapper .dropdown-menu li.divider {
	background-color: #2776f5;
	border-bottom: none;
}
.nav-pills .dropdown-menu li > a,
.nav-tabs .dropdown-menu li > a,
.account .dropdown-menu li > a,
.contact-photo-wrapper .dropdown-menu li > a {
	border-left: 3px solid #334155;
}
.nav-pills .dropdown-menu li a,
.nav-pills .dropdown-menu li .btn-link,
.nav-tabs .dropdown-menu li a,
.nav-tabs .dropdown-menu li .btn-link,
.account .dropdown-menu li a,
.account .dropdown-menu li .btn-link,
.contact-photo-wrapper .dropdown-menu li a,
.contact-photo-wrapper .dropdown-menu li .btn-link {
	color: #ffffff;
	font-weight: 400;
	width: 100%;
	text-align: left;
}
.nav-pills .dropdown-menu li a i,
.nav-pills .dropdown-menu li .btn-link i,
.nav-tabs .dropdown-menu li a i,
.nav-tabs .dropdown-menu li .btn-link i,
.account .dropdown-menu li a i,
.account .dropdown-menu li .btn-link i,
.contact-photo-wrapper .dropdown-menu li a i,
.contact-photo-wrapper .dropdown-menu li .btn-link i {
	margin-right: 5px;
	font-size: 14px;
	display: inline-block;
	width: 14px;
}
.nav-pills .dropdown-menu li > a:hover,
.nav-tabs .dropdown-menu li > a:hover,
.account .dropdown-menu li > a:hover,
.contact-photo-wrapper .dropdown-menu li > a:hover,
.nav-pills .dropdown-menu li.selected a,
.nav-tabs .dropdown-menu li.selected a,
.account .dropdown-menu li.selected a,
.contact-photo-wrapper .dropdown-menu li.selected a {
	border-left: 3px solid #3b82f6;
	color: #fff;
	background: #2776f5;
}
#photo-edit-link-wrap {
	color: #0f172a;
	margin-bottom: 15px;
}

#newmember-tab > a {
	font-size: 1.2em;
	font-weight: 800;
}

/*
 * Aside
 *
 */

aside .widget,
.nav-container .widget {
	border: none;
	color: #1e293b;
	background-color: rgba(255, 255, 255, 0.95);
	box-shadow: var(--shadow-sm);
	border-radius: var(--radius-lg);
	transition: box-shadow 0.1s ease-in-out, transform 0.1s ease-in-out;
	position: relative;
	margin-bottom: var(--space-lg);
	padding: var(--space-lg);
	overflow: auto;
}

aside .widget:hover,
.nav-container .widget:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-2px);
}

aside .widget h3,
.nav-container .widget h3 {
	font-weight: 600;
	font-size: var(--font-size-lg);
	line-height: var(--leading-tight);
	margin: 0;
	padding-bottom: var(--space-md);
}

aside .widget ul,
.nav-container .widget ul {
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: calc(-1 * var(--space-md));
	margin-right: calc(-1 * var(--space-md));
	list-style: none;
}

aside .widget li .label {
	float: left;
}
aside .widget li,
.nav-container .widget li {
	padding-left: var(--space-lg);
	padding-right: var(--space-md);
	padding-top: var(--space-sm);
	padding-bottom: var(--space-sm);
}
aside .widget li:hover,
aside .widget li.selected,
.nav-container .widget li:hover {
	z-index: 2;
	color: #0f172a;
	background-color: rgba(247, 247, 247, 0.95);
	border-left: 3px solid #3b82f6 !important;
	padding-left: 17px;
}
.side-link-link,
aside .widget li a {
	display: block;
	padding-top: 6px;
	padding-bottom: 6px;
}
aside .widget li a,
aside .widget li a:hover {
	color: #0f172a;
}

/* group-list widget */
aside > #datebrowse-sidebar li.posted-date-selector-months {
	margin-bottom: 10px;
	padding: 0;
	width: 100%;
}
aside > #datebrowse-sidebar li.posted-date-selector-months:hover {
	border-left: none !important;
	background-color: transparent !important;
}
aside > #datebrowse-sidebar .posted-date-selector-months > ul {
	margin: 0;
}
aside > #datebrowse-sidebar .posted-date-selector-months > ul > li {
	padding-left: 30px;
}
aside > #datebrowse-sidebar .posted-date-selector-months > ul > li:hover {
	padding-left: 27px;
}

.group-list-img {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	opacity: 0.5;
	filter: alpha(opacity=50); /* For IE8 and earlier */
	-webkit-transition: all 0.1s ease-in-out;
	-moz-transition: all 0.1s ease-in-out;
	-o-transition: all 0.1s ease-in-out;
	-ms-transition: all 0.1s ease-in-out;
	transition: all 0.1s ease-in-out;
}
#group-list-sidebar-ul li:hover a > .group-list-img {
	-webkit-filter: unset;
	filter: unset;
	opacity: unset;
}

/* help page widget */
aside > .help-aside-wrapper p strong:first-child {
	display: block;
	margin: 1em 0 0em;
}
aside > .help-aside-wrapper h1 {
	font-weight: bold;
	font-size: 16px;
	margin: 0;
	padding: 20px 0 10px;
}
aside > .help-aside-wrapper h2 {
	font-weight: bold;
	font-size: 14px;
}

/* vcard / h-card */
aside .vcard #profile-photo-wrapper {
	margin: 0;
}
aside .vcard img.u-photo,
aside img.vcard-photo {
	width: 100%;
	border-radius: 8px;
}
aside .vcard .tool .action {
	position: absolute;
	top: 20px;
	right: 20px;
	font-size: 32px;
	width: 45px;
	height: 45px;
	background: rgba(0, 0, 0, 0.5);
	text-align: center;
	border-radius: 3px;
	opacity: 0;
	/* Fixed: Specific transitions only to prevent image flickering */
	-webkit-transition: color 0.25s ease-in-out, opacity 0.25s ease-in-out;
	-moz-transition: color 0.25s ease-in-out, opacity 0.25s ease-in-out;
	-o-transition: color 0.25s ease-in-out, opacity 0.25s ease-in-out;
	-ms-transition: color 0.25s ease-in-out, opacity 0.25s ease-in-out;
	transition: color 0.25s ease-in-out, opacity 0.25s ease-in-out;
}
aside .vcard .tool a {
	color: rgba(255, 255, 255, 0.85);
}
aside .vcard #profile-photo-wrapper:hover .tool .action {
	opacity: 1;
}
aside .vcard #profile-photo-wrapper.crop-preview {
	padding: 0;
}
aside .vcard .profile-header {
	padding: 5px 0px 20px 0px;
}
aside .vcard .fn {
	font-weight: bold;
	padding: 5px 0px 5px 0px;
}
aside .vcard .p-addr {
	font-style: italic;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding-bottom: 2px;
}
aside .vcard .title {
	margin-top: 10px;
}
aside .vcard .detail {
	display: table;
	padding: 2px 0;
}
aside .xmpp, aside .matrix {
	display: table;
}
aside .vcard .icon {
	display: table-cell;
	padding-right: 10px;
	width: 30px;
}
#profile-extra-links {
	overflow: auto;
	margin-bottom: 10px;
}
aside .vcard #subscribe-feed-link-button,
aside .vcard #dfrn-request-link-button,
aside .vcard #wallmessage-link-button {
	width: 50%;
	margin: 0 0 0 -5px;
	float: left;
	padding: 0 5px;
}
aside .vcard #subscribe-feed-link,
aside .vcard #dfrn-request-link,
aside .vcard #wallmessage-link {
	width: 100%;
}
/* vcard-short-info */
#vcard-short-info,
#nav-short-info .contact-wrapper {
	margin-top: 2px;
	height: 40px;
	white-space: nowrap;
	overflow: hidden;
	padding-right: 20px;
	margin-left: -14px;
}
#nav-short-info .contact-photo-wrapper.media-left {
	float: left;
}
#vcard-short-photo-wrapper img,
#nav-short-info .contact-wrapper img {
	height: 34px;
	width: 34px;
	border-radius: 3px;
}
#vcard-short-desc,
#nav-short-info .contact-wrapper .media-body {
	display: block;
	height: 34px;
	width: 100%;
	text-overflow: ellipsis;
}
#vcard-short-desc > .media-heading,
#vcard-short-desc > .vcard-short-addr,
#nav-short-info .contact-wrapper .media-heading,
#nav-short-info .contact-wrapper #contact-entry-url-network {
	text-overflow: ellipsis;
	overflow: hidden;
}
#vcard-short-desc > .media-heading,
#nav-short-info .contact-wrapper .media-heading {
	margin-bottom: 1px;
	font-weight: bold;
}
#nav-short-info .contact-wrapper .media-heading a {
	color: #0f172a;
	font-size: 14px !important;
}
#vcard-short-desc > .vcard-short-addr,
#nav-short-info .contact-wrapper #contact-entry-url-network {
	color: #1e293b;
	font-size: 12px;
}
.network-content-wrapper > .generic-page-wrapper,
#nav-short-info .contact-wrapper .contact-photo-overlay,
#nav-short-info .contact-wrapper .contact-actions {
	display: none;
}

aside #peoplefind-sidebar input,
aside #follow-sidebar input {
	height: 30px;
	background-position: 10px 5px;
}
aside #peoplefind-sidebar label,
aside #follow-sidebar label {
	font-weight: normal;
}
aside #peoplefind-sidebar .form-group-search .form-button-search,
aside #follow-sidebar .form-group-search .form-button-search {
	padding: 2px 8px;
}

div#sidebar-circle-header h3,
div#sidebar-group-header h3 {
	float: left;
}

div#sidebar-circle-list,
div#sidebar-group-list {
	clear: both;
}

.circle-new-form {
	clear: both;
}

.circle-edit-tool,
.group-new-tool {
	padding-top: 0;
	color: #0f172a;
}
.sidebar-widget-header .circle-edit-tool,
.group-new-tool {
	margin-top: -5px;
}

.faded-icon {
	color: #0f172a;
	opacity: 0.3;
	transition: all 0.1s ease-in-out;
}
.faded-icon:hover {
	color: #0f172a;
	opacity: 1;
}
.icon-padding {
	margin-left: 20px;
}

aside .widget-action {
	padding: 5px 10px;
}
aside #circle-sidebar .sidebar-circle-li .circle-edit-tool.faded-icon:hover,
aside #group-sidebar .group-new-tool.faded-icon:hover,
aside #saved-search-list .saved-search-li .savedsearchdrop.faded-icon:hover,
aside .widget.widget-action.faded-icon:hover {
	opacity: 0.8;
	transition: all 0.25s ease-in-out;
}
aside #circle-sidebar .sidebar-circle-li .circle-edit-tool.faded-icon:hover,
aside #group-sidebar .group-new-tool.faded-icon:hover,
aside #saved-search-list .saved-search-li .savedsearchdrop.faded-icon:hover,
aside .widget .widget-action.faded-icon:hover {
	opacity: 1;
}
aside #circle-sidebar li .circle-checkbox {
	margin: 6px 0 0;
}
aside #circle-sidebar li .circle-edit-tool {
	padding-right: 10px;
}
aside #circle-sidebar li .circle-edit-tool:first-child {
	padding-right: 0px;
}

/* contact block widget */
.contact-block-content {
	clear: both;
	overflow: auto;
	height: auto;
}
.contact-block-div {
	float: left;
	margin: 0px 5px 5px 0px;
}
.contact-block-link {
}
.contact-block-img {
	height: 75px;
	width: 75px;
	border-radius: 4px;
}

/* Tag cloud widget */
.tagblock.widget > .tag-cloud {
	text-align: center;
}
/* Section */
section ul.tabs {
	display: none !important;
}

/* Jot */
section #jotOpen {
	display: none;
}
#jotOpen {
	margin-top: 3px;
	float: right;
}
#jot-content {
	display: none;
}
.modal #jot-sections {
	max-height: calc(100vh - 22px);
}
@media (min-width: 768px) {
	.modal #jot-sections {
		max-height: calc(100vh - 62px);
	}
}
#jot-modal #jot-modal-body {
	overflow: auto;
}
#jot-modal #jot-sections,
#jot-modal #jot-modal-body,
#jot-modal #profile-jot-form,
#jot-modal #profile-jot-wrapper,
#jot-modal #jot-text-wrap,
#jot-modal #jot-preview-content,
#jot-modal #tread-wrapper--1,
#jot-modal #item-Q0,
#jot-modal #profile-jot-acl-wrapper,
#jot-modal #acl-wrapper {
	display: flex;
	flex: auto;
	flex-direction: column;
}
#jot-modal .modal-header a,
#jot-modal .modal-header .btn-link,
#profile-jot-submit-wrapper a,
#profile-jot-submit-wrapper .btn-link {
	color: #0f172a;
}
#jot-modal .modal-header {
	border-bottom: none;
}
#jot-modal .modal-header .compose-link {
	float: right;
	margin-right: 20px;
}
#jot-title-wrap,
#jot-category-wrap {
	margin-bottom: 5px;
}
#jot-text-wrap {
	margin-top: 20px;
}
#jot-text-wrap textarea {
	min-height: 100px;
	overflow-y: auto !important;
	overflow-y: overlay !important;
}
#jot-text-wrap .preview textarea {
	width: 100%;
}
#preview_profile-jot-text,
.comment-edit-form .preview {
	position: relative;
	padding: 0px 10px;
	margin-top: -2px;
	border: 2px solid #ededed;
	border-top: none;
	box-shadow: none;
	border-radius: 0 0 4px 4px;
	background: #fff;
	color: #0f172a;
}
textarea#profile-jot-text:focus + #preview_profile-jot-text,
textarea.comment-edit-text:focus + .comment-edit-form .preview {
	border: 2px solid #6fdbe8;
	border-top: none;
}
.preview hr.previewseparator {
	margin-top: 0px;
	border-color: #d2d2d2;
}
#previewImgBtn_profile-jot-text,
.closePreview {
	position: absolute;
	top: 15px;
}
.closePreview {
	right: 15px;
	z-index: 1;
}
.previewImgBtn {
	left: 15px;
}
.preview button.previewActionBtn {
	display: block;
	height: 25px;
	width: 25px;
	border-radius: 50%;
	color: #fff;
	border: 2px solid #fff;
	box-shadow: 0 0 3px gray;
	background: #777;
	text-align: center;
	line-height: 2px;
	text-decoration: none;
	padding: 0 0 1px 1px;
	opacity: 0.7;
}
.preview button.previewActionBtn:hover {
	opacity: 1;
}
.preview .closePreview button.previewActionBtn {
	font-size: 25px;
}
#previewInputTitle_profile-jot-text {
	width: 100%;
}
#profile-jot-wrapper button#profile-jot-submit {
	margin-top: 5px;
}
#profile-jot-wrapper #character-counter {
	padding: 10px 15px;
}
.modal .wall-item-container.preview {
	overflow-y: auto;
	overflow-y: overlay;
}
/* ACL */
.fa.lock:before {
	font-family: ForkAwesome;
	content: "\f023";
}
.fa.unlock:before {
	font-family: ForkAwesome;
	content: "\f09c";
}

#acl-wrapper label.panel-heading {
	display: block;
	margin-bottom: 0;
	cursor: pointer;
}

/* Filebrowser */
.fbrowser .breadcrumb {
	margin-bottom: 0px;
}
.fbrowser .path a:before {
	content: "";
	padding: 0;
}
.fbrowser .breadcrumb > li:last-of-type a {
	color: #1e293b;
	pointer-events: none;
	cursor: default;
}
.fbrowser .folders {
	box-shadow: -1.5px 0 0 0 rgba(0, 0, 0, 0.1) inset;
	padding-right: 1px;
}
.fbrowser .folders ul {
	padding: 0px;
	margin-left: -15px;
	margin-bottom: 0px;
	overflow-y: auto;
	min-width: 100px;
	max-height: calc(100vh - 210px);
	line-height: 1.3;
}
@media (min-width: 768px) {
	.fbrowser .folders ul {
		max-height: calc(100vh - 255px);
	}
}
.fbrowser .folders li {
	padding-left: 20px;
	padding-right: 10px;
	padding-top: 3px;
	padding-bottom: 3px;
}
.fbrowser .folders li:hover {
	z-index: 2;
	color: #0f172a;
	background-color: rgba(247, 247, 247, 0.95);
	border-left: 3px solid #3b82f6;
	padding-left: 17px;
}
.fbrowser .folders li a,
.fbrowser .folders li a:hover {
	color: #0f172a;
	font-size: 13px;
}
.fbrowser .folders + .list {
	padding-left: 10px;
}
.fbrowser .fbrowser-content-container {
	overflow-y: auto;
	max-height: calc(100vh - 233px);
}
@media (min-width: 768px) {
	.fbrowser .fbrowser-content-container {
		max-height: calc(100vh - 277px);
	}
}
.fbrowser.photo .photo-album-image-wrapper {
	box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.2);
}
.fbrowser.photo .photo-album-image-wrapper .caption {
	pointer-events: none;
}
.fbrowser.photo .photo-album-image-wrapper .jg-caption {
	pointer-events: none;
}
.fbrowser .profile-rotator-wrapper {
	min-height: 200px;
}
.fbrowser .fa-spin {
	position: absolute;
	left: 45%;
	top: 40%;
	font-size: 48px;
	margin: 0px auto;
}

/* Stream */
/* Simplified panel for cleaner hierarchy */
.panel {
	border: none;
	background-color: transparent;
	box-shadow: none;
	border-radius: 0;
	position: relative;
	margin-bottom: 0;
}

/* Main post container - only the top level gets the card treatment */
.toplevel_item > .panel,
.wall-item-container.thread-wrapper > .panel {
	background-color: rgba(255, 255, 255, 0.98);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	border-radius: 12px;
	border: 1px solid rgba(0, 0, 0, 0.04);
	margin-bottom: 16px;
	overflow: hidden;
}

/* Remove card styling from nested panels */
.wall-item-container .panel .panel,
.comment-container .panel,
.wall-item-comment-wrapper .panel {
	background: transparent;
	box-shadow: none;
	border: none;
	border-radius: 0;
	margin: 0;
}
.panel.panel-inline {
	margin-left: -15px;
	margin-right: -15px;
	margin-top: 15px;
	padding: 15px;
}
.panel .panel-body {
	word-wrap: break-word;
	border-radius: 15px;
}
.tread-wrapper .media {
	overflow: visible;
	word-wrap: break-word;
}
aside .panel-body {
	padding: 0px;
}

/* Thread hover effects */
.desktop-view .wall-item-container .wall-item-content a,
.desktop-view .wall-item-name,
.desktop-view .wall-item-container .fakelink,
.desktop-view .toplevel_item .fakelink,
.desktop-view .toplevel_item .wall-item-container .wall-item-responses a {
	color: #1e293b;
	/* PERFORMANCE: No transitions on hover for better scrolling */
	/* transition: none; */
}

/* Removed hover effects */
/* Hover effects for interactive elements - Modern approach with better contrast */
/*
.toplevel_item:hover .fakelink,
.wall-item-container:hover .fakelink {
	color: #2563eb;
	text-decoration: underline;
	text-decoration-color: rgba(37, 99, 235, 0.3);
	text-underline-offset: 2px;
	-webkit-transition: color 0.1s ease-in-out, text-decoration-color 0.1s ease-in-out;
	-moz-transition: color 0.1s ease-in-out, text-decoration-color 0.1s ease-in-out;
	-o-transition: color 0.1s ease-in-out, text-decoration-color 0.1s ease-in-out;
	-ms-transition: color 0.1s ease-in-out, text-decoration-color 0.1s ease-in-out;
	transition: color 0.1s ease-in-out, text-decoration-color 0.1s ease-in-out;
}
*/

/* Removed hover effects */
/*
.toplevel_item:hover .wall-item-content a,
.wall-item-container:hover .wall-item-content a {
	color: #1e40af;
	-webkit-transition: color 0.1s ease-in-out;
	-moz-transition: color 0.1s ease-in-out;
	-o-transition: color 0.1s ease-in-out;
	-ms-transition: color 0.1s ease-in-out;
	transition: color 0.1s ease-in-out;
}
*/

/* Removed hover effects */
/*
.toplevel_item:hover .wall-item-name,
.wall-item-container:hover .wall-item-name,
.wall-item-container:hover .wall-item-location a {
	color: #1e293b;
	-webkit-transition: color 0.1s ease-in-out;
	-moz-transition: color 0.1s ease-in-out;
	-o-transition: color 0.1s ease-in-out;
	-ms-transition: color 0.1s ease-in-out;
	transition: color 0.1s ease-in-out;
}
*/

/* Removed hover effects */
/* Ensure responses maintain readability on hover */
/*
.toplevel_item:hover .wall-item-responses a,
.wall-item-container:hover .wall-item-responses a {
	color: inherit;
}
*/

/* Special handling for shared content to ensure readability */
.shared_header .shared-author {
	color: #475569;
	font-weight: 600;
}

.shared_header:hover .shared-author,
.shared_header:hover .shared-wall-item-name {
	color: #1e293b;
	text-decoration: none;
}

.shared_header a.shared-wall-item-name {
	color: #334155;
}

.shared_header a.shared-wall-item-name:hover {
	color: #2563eb;
	text-decoration: underline;
	text-decoration-color: rgba(37, 99, 235, 0.3);
	text-underline-offset: 2px;
}

/* wall items - Modern visual hierarchy system */

/* Main post styling - distinctive card appearance */
.wall-item-container.thread_level_1 {
	border: none;
	margin-bottom: var(--space-lg);
}

.wall-item-container.thread_level_1 .media {
	margin-top: 0;
	padding: var(--space-lg);
	background-color: rgba(255, 255, 255, 0.98);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
	border: 1px solid rgba(0, 0, 0, 0.08);
	transition: box-shadow 0.1s ease-in-out, transform 0.1s ease-in-out;
}

/* Removed hover effect
.wall-item-container.thread_level_1 .media:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-1px);
}
*/

/* ========================================================================
   REFINED THREADING SYSTEM V4 - Balanced & Elegant
   Clear Visibility Without Visual Overwhelm
   ======================================================================== */

/* Balanced Threading Variables */
:root {
	/* Spacing and Sizing - Refined for Desktop */
	--thread-indent-base: 32px;          /* Clean indent for replies */
	--thread-indent-nested: 24px;        /* Clear but balanced nested indents */
	--thread-line-width: 3px;            /* Visible but not overwhelming thread lines */
	--thread-line-nested: 2px;           /* Subtle nested thread lines */
	--thread-dot-size: 12px;             /* Clear connection nodes */
	--thread-curve-radius: 12px;         /* Moderate curves */
	--thread-line-position: 12px;        /* Position for subtle thread line */
	
	/* Refined Color System - Subtle but Clear */
	--thread-color-primary: #6366f1;     /* Balanced indigo for main thread */
	--thread-color-l2: #3b82f6;          /* Blue for level 2 */
	--thread-color-l3: #8b5cf6;          /* Purple for level 3 */
	--thread-color-l4: #ec4899;          /* Pink for level 4 */
	--thread-color-l5: #06b6d4;          /* Cyan for level 5 */
	--thread-color-l6: #10b981;          /* Emerald for level 6 */
	--thread-color-l7: #f59e0b;          /* Amber for level 7+ */
	
	/* Moderate border radius */
	--thread-border-radius: 12px;        /* Moderate radius for comments */
	--thread-border-radius-small: 4px;   /* Small radius for thread side */
	
	/* Refined Reply Indicators - Clear but Moderate */
	--reply-badge-bg: rgba(99, 102, 241, 0.1);
	--reply-badge-color: #6366f1;
	--reply-badge-height: 24px;
	--reply-arrow-size: 16px;
	
	/* Parent Reference System - NEW */
	--parent-ref-bg: rgba(59, 130, 246, 0.08);
	--parent-ref-border: rgba(59, 130, 246, 0.2);
	--parent-ref-color: #1e40af;
	
	/* Thread Navigation - NEW */
	--thread-nav-size: 32px;
	--thread-nav-hover: rgba(79, 70, 229, 0.12);
	
	/* Conversation Bubble System - NEW */
	--bubble-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	--bubble-shadow-hover: 0 6px 24px rgba(79, 70, 229, 0.15);
	--bubble-border: 1px solid rgba(0, 0, 0, 0.06);
	
	/* Animation System - Enhanced */
	--thread-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	--thread-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
	
	/* Dynamic connector properties */
	--connector-height: 8px;
	--connector-bottom: -8px;
	
	/* Z-index layer system */
	--z-thread-spine: 1;
	--z-connectors: 5;
	--z-connection-nodes: 10;
	--z-comments: 15;
	--z-hover-effects: 20;
	--z-navigation: 25;
	--z-modals: 100;
}

/* ==== LEVEL 1: Main Posts ==== */
.wall-item-container.thread_level_1 {
	position: relative;
	z-index: var(--z-comments, 15);
	background: var(--background-color, #ffffff);
	margin-bottom: 24px;
	border-radius: 12px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.wall-item-container.thread_level_1 .media,
.wall-item-container.thread_level_1 .media.shiny {
	position: relative;
	z-index: 101;
	background: inherit;
	border-radius: 12px;
}

/* ==== COMMENT CONTAINER: Ultra-Enhanced Thread Branch System ==== */
.comment-container {
	margin: 0;
	padding: 0 0 24px 0;
	position: relative;
	/* Enhanced visual separation */
}

/* SIMPLIFIED THREAD INDICATOR - Subtle left line for the comment section */
.comment-container::before {
	content: '';
	position: absolute;
	left: 12px;
	top: 0;
	bottom: 0;
	width: 2px;
	z-index: 1;
	/* Subtle gradient line */
	background: linear-gradient(to bottom,
		transparent 0%,
		var(--thread-color-primary) 10%,
		var(--thread-color-primary) 90%,
		transparent 100%);
	opacity: 0.2;
	transition: all 0.2s ease;
}

/* Thread spine gentle hover effect */
.comment-container:hover::before {
	box-shadow: 0 0 4px rgba(99, 102, 241, 0.15);
}

/* When preceded by hide-comments button, adjust positioning */
.hide-comments-outer ~ .comment-container::before {
	top: 32px; /* Provide better spacing */
}

/* Styling for repositioned load more button */
.hide-comments-outer.repositioned-load-more {
	margin-top: 12px;
	margin-bottom: 12px;
	margin-left: 24px; /* Align with comments indentation */
}

/* Ensure proper spacing when button is between comments */
.wall-item-container + .hide-comments-outer.repositioned-load-more {
	margin-top: 16px;
}

.hide-comments-outer.repositioned-load-more + #collapsed-comments-[id] {
	margin-top: 0;
}

/* Collapsed comments - match wall-item-container styling */
.collapsed-comments {
	position: relative;
	z-index: 20;
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
	box-shadow: none;
	transition: all 0.2s ease;
}

/* Make any collapsed comments container blend with thread styling */
.collapsed-comments[id^="collapsed-comments-"] {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}

/* Ensure wall-item-containers inside collapsed-comments follow the same rules */
.collapsed-comments .wall-item-container {
	/* Inherits the standard thread level styling */
}

/* ============================================
   REDESIGNED THREADING SYSTEM
   - Collapsed deep threading after level 3
   - Visual depth indicators instead of excessive indentation
   - Better readability and mobile support
   ============================================ */

/* ==== LEVEL 2: Direct Replies to Main Post ==== */
.wall-item-container.thread_level_2 {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	padding: 16px;
	margin: 12px 0 12px 24px; /* Reduced indent */
	position: relative;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: all 0.2s ease;
}

/* Visual connector line from main post */
.comment-container {
	position: relative;
}

.comment-container::before {
	content: '';
	position: absolute;
	left: 12px;
	top: -8px;
	bottom: 8px;
	width: 1px;
	background: linear-gradient(to bottom, 
		rgba(0, 0, 0, 0.15) 0%,
		rgba(0, 0, 0, 0.05) 100%);
	pointer-events: none;
}

/* First comment spacing */
.hide-comments-outer + .comment-container .wall-item-container.thread_level_2:first-child {
	margin-top: 16px;
}

/* Level 2 depth indicator */
.wall-item-container.thread_level_2::before {
	content: '';
	position: absolute;
	left: -12px;
	top: 20px;
	width: 8px;
	height: 8px;
	background: #6366f1;
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
}

/* ==== LEVELS 3-9: Clean Non-Boxy Threading ==== */
/* Minimal visual style with left border and depth indicators */

/* Level 3 - moderate indent */
.wall-item-container.thread_level_3 {
	background: transparent;
	border: none;
	border-left: 2px solid rgba(0, 0, 0, 0.08);
	border-radius: 0;
	padding: 12px 0 12px 14px;
	margin: 10px 0 10px 48px; /* Moderate indent */
	position: relative;
	box-shadow: none;
	transition: all 0.2s ease;
}

/* Levels 4-9 - fixed indent to prevent excessive nesting */
.wall-item-container.thread_level_4,
.wall-item-container.thread_level_5,
.wall-item-container.thread_level_6,
.wall-item-container.thread_level_7,
.wall-item-container.thread_level_8,
.wall-item-container.thread_level_9 {
	background: transparent;
	border: none;
	border-left: 2px solid rgba(0, 0, 0, 0.08);
	border-radius: 0;
	padding: 12px 0 12px 14px;
	margin: 8px 0 8px 60px; /* Fixed indent - no more deep nesting */
	position: relative;
	box-shadow: none;
	transition: all 0.2s ease;
}

/* Depth indicator dots for all sub-threads */
.wall-item-container.thread_level_3::before,
.wall-item-container.thread_level_4::before,
.wall-item-container.thread_level_5::before,
.wall-item-container.thread_level_6::before,
.wall-item-container.thread_level_7::before,
.wall-item-container.thread_level_8::before,
.wall-item-container.thread_level_9::before {
	content: attr(data-level);
	position: absolute;
	left: -8px;
	top: 12px;
	width: 6px;
	height: 6px;
	background: #a855f7;
	border-radius: 50%;
	box-shadow: 0 0 0 2px rgba(168, 85, 247, 0.2);
}

/* Specific colors for different depth levels */
.wall-item-container.thread_level_3::before {
	background: #8b5cf6;
	box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2);
}

.wall-item-container.thread_level_4::before {
	background: #a855f7;
	box-shadow: 0 0 0 2px rgba(168, 85, 247, 0.2);
}

.wall-item-container.thread_level_5::before {
	background: #ec4899;
	box-shadow: 0 0 0 2px rgba(236, 72, 153, 0.2);
}

.wall-item-container.thread_level_6::before {
	background: #f97316;
	box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.2);
}

.wall-item-container.thread_level_7::before,
.wall-item-container.thread_level_8::before,
.wall-item-container.thread_level_9::before {
	background: #dc2626;
	box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.2);
}

/* Add depth context labels for all sub-threads */
.wall-item-container.thread_level_3::after,
.wall-item-container.thread_level_4::after,
.wall-item-container.thread_level_5::after,
.wall-item-container.thread_level_6::after,
.wall-item-container.thread_level_7::after,
.wall-item-container.thread_level_8::after,
.wall-item-container.thread_level_9::after {
	content: 'L' attr(data-level);
	position: absolute;
	top: 4px;
	right: 8px;
	font-size: 9px;
	color: rgba(0, 0, 0, 0.3);
	font-weight: 600;
	padding: 2px 4px;
	background: rgba(0, 0, 0, 0.03);
	border-radius: 3px;
	pointer-events: none;
}

/* Specific labels */
.wall-item-container.thread_level_3::after { content: 'L3'; }
.wall-item-container.thread_level_4::after { content: 'L4'; }
.wall-item-container.thread_level_5::after { content: 'L5'; }
.wall-item-container.thread_level_6::after { content: 'L6'; }
.wall-item-container.thread_level_7::after { content: 'L7'; }
.wall-item-container.thread_level_8::after { content: 'L8'; }
.wall-item-container.thread_level_9::after { content: 'L9 (Max)'; color: rgba(220, 38, 38, 0.5); }

/* ==== Dark Mode Adjustments ==== */
.modal-backdrop.in ~ .wall-item-container.thread_level_2,
[data-bs-theme="dark"] .wall-item-container.thread_level_2 {
	background: var(--bs-body-bg, #1a1a1a);
	border-color: rgba(255, 255, 255, 0.1);
}

.modal-backdrop.in ~ .wall-item-container[class*="thread_level_"]:is(.thread_level_3, .thread_level_4, .thread_level_5, .thread_level_6, .thread_level_7, .thread_level_8, .thread_level_9),
[data-bs-theme="dark"] .wall-item-container[class*="thread_level_"]:is(.thread_level_3, .thread_level_4, .thread_level_5, .thread_level_6, .thread_level_7, .thread_level_8, .thread_level_9) {
	background: transparent;
	border: none;
	border-left: 2px solid rgba(255, 255, 255, 0.08);
}

[data-bs-theme="dark"] .comment-container::before {
	background: linear-gradient(to bottom, 
		rgba(255, 255, 255, 0.15) 0%,
		rgba(255, 255, 255, 0.05) 100%);
}

[data-bs-theme="dark"] .wall-item-container[class*="thread_level_"]::after {
	color: rgba(255, 255, 255, 0.3);
	background: rgba(255, 255, 255, 0.05);
}

/* ==== Mobile Responsive Adjustments ==== */
@media (max-width: 768px) {
	/* Reduce indentation on mobile */
	.wall-item-container.thread_level_2 {
		margin-left: 16px;
		padding: 14px;
	}
	
	.wall-item-container.thread_level_3 {
		margin-left: 32px;
		padding: 10px 0 10px 12px;
	}
	
	.wall-item-container.thread_level_4,
	.wall-item-container.thread_level_5,
	.wall-item-container.thread_level_6,
	.wall-item-container.thread_level_7,
	.wall-item-container.thread_level_8,
	.wall-item-container.thread_level_9 {
		margin-left: 40px;
		padding: 10px;
	}
	
	/* Hide connector line on mobile */
	.comment-container::before {
		display: none;
	}
	
	/* Simplify depth indicators on mobile */
	.wall-item-container[class*="thread_level_"]::before {
		width: 4px;
		height: 4px;
		left: -6px;
	}
}

/* ==== Hover Effects ==== */
/* Only apply hover shadow to level 2 which has background */
.wall-item-container.thread_level_2:hover {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transform: translateY(-1px);
}

/* Highlight depth indicators on hover for levels 3-9 */
.wall-item-container.thread_level_3:hover,
.wall-item-container.thread_level_4:hover,
.wall-item-container.thread_level_5:hover,
.wall-item-container.thread_level_6:hover,
.wall-item-container.thread_level_7:hover,
.wall-item-container.thread_level_8:hover,
.wall-item-container.thread_level_9:hover {
	border-left-color: rgba(0, 0, 0, 0.2);
}

/* Highlight parent-child relationships on hover */
.wall-item-container[class*="thread_level_"]:hover::before {
	transform: scale(1.3);
}

/* ==== Deep Thread Warning ==== */
.wall-item-container.thread_level_9 {
	border-left-color: rgba(220, 38, 38, 0.3);
}

.wall-item-container.thread_level_9::after {
	background: rgba(220, 38, 38, 0.08);
	color: rgba(220, 38, 38, 0.6);
}

/* Optional: Add a warning message for maximum depth */
.wall-item-container.thread_level_9 .media::after {
	content: 'Maximum thread depth reached';
	display: block;
	font-size: 11px;
	color: rgba(220, 38, 38, 0.7);
	margin-top: 8px;
	font-style: italic;
}

/* ==== Clean up old unused styles ==== */
/* Remove any conflicting horizontal connectors that don't work with HTML structure */
.wall-item-container[class*="thread_level_"] .media-body::after,
/* Removed - these horizontal connectors don't work with the HTML structure */
.wall-item-container[class*="thread_level_"] .media-body::after {
	display: none;
}

/* ==== SUBTLE Hover Effects ==== */

/* Removed hover effect */
/* Level 2 hover - Gentle highlight */
/*
.wall-item-container.thread_level_2:hover {
	background: #f8f9ff;
	border-left-width: 4px;
	box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
	transform: translateX(2px);
}
*/

/* Removed hover effect */
/* Connection node gentle hover */
/*
.wall-item-container.thread_level_2:hover::before {
	transform: scale(1.1);
	box-shadow: 0 0 0 3px var(--thread-color-l2),
	            0 2px 8px rgba(59, 130, 246, 0.2);
}
*/

/* Removed hover effects */
/* Nested comments gentle hover effects */
/*
.wall-item-container.thread_level_3:hover,
.wall-item-container.thread_level_4:hover,
.wall-item-container.thread_level_5:hover,
.wall-item-container.thread_level_6:hover,
.wall-item-container.thread_level_7:hover,
.wall-item-container.thread_level_8:hover,
.wall-item-container.thread_level_9:hover {
	background: #f8f9ff;
	border-left-width: 4px;
	transform: translateX(2px);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}
*/

/* ==== THREAD NAVIGATION CONTROLS - New Feature ==== */

/* Thread navigation button */
.thread-nav-btn {
	position: absolute;
	left: -16px;
	top: 50%;
	transform: translateY(-50%);
	width: var(--thread-nav-size);
	height: var(--thread-nav-size);
	background: var(--thread-nav-hover);
	border: 2px solid currentColor;
	border-radius: 50%;
	color: var(--thread-color-primary);
	cursor: pointer;
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	transition: var(--thread-transition);
	opacity: 0;
	pointer-events: none;
}

/* Show navigation button on hover */
/* Removed hover effect
.wall-item-container[class*="thread_level_"]:hover .thread-nav-btn {
	opacity: 1;
	pointer-events: all;
	transform: translateY(-50%) scale(1.1);
}
*/

.thread-nav-btn:hover {
	background: var(--thread-color-primary);
	color: white;
	box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}

/* Branch highlighting system - Enhanced */
.wall-item-container.thread-branch-fade {
	opacity: 0.4 !important;
	transition: opacity 0.3s ease;
	filter: blur(0.5px);
}

/* Thread branch highlighting - DISABLED
.wall-item-container.thread-branch-highlight {
	opacity: 1 !important;
	transform: scale(1.005) !important;
	z-index: 100 !important;
} */

/* Thread focus mode - dims everything except active branch - DISABLED */
/* .thread-focus-mode .wall-item-container:not(.thread-branch-highlight) {
	opacity: 0.3;
	filter: grayscale(20%);
	transition: all 0.4s ease;
}

.thread-focus-mode .wall-item-container.thread-branch-highlight {
	opacity: 1;
	filter: none;
	box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.2) !important;
} */

/* ==== Thread Branch Visual Hierarchy ==== */

/* Active thread path indicator - DISABLED */
/* .wall-item-container[data-thread-active="true"] {
	background: #f0f4ff !important;
	border-left-color: var(--thread-color-primary) !important;
	border-left-width: 4px !important;
} */

/* Thread depth indicators */
.wall-item-container.thread_level_3 .media-body::before,
.wall-item-container.thread_level_4 .media-body::before,
.wall-item-container.thread_level_5 .media-body::before,
.wall-item-container.thread_level_6 .media-body::before,
.wall-item-container.thread_level_7 .media-body::before {
	content: attr(data-thread-depth);
	position: absolute;
	right: 12px;
	top: 12px;
	padding: 2px 6px;
	background: rgba(0, 0, 0, 0.05);
	color: rgba(0, 0, 0, 0.4);
	font-size: 10px;
	font-weight: 600;
	border-radius: 10px;
}

/* Media elements in comments with inherited rounded corners */
.wall-item-container[class*="thread_level_"] .media {
	margin: 0;
	padding: 0;
	background: transparent;
	border-radius: inherit; /* Inherit parent's rounded corners */
	box-shadow: none;
	border: none;
}

/* ==== MOBILE-FIRST RESPONSIVE DESIGN - Enhanced for All Devices ==== */

/* Tablet Optimization - Maintain Threading Visibility */
@media (max-width: 992px) {
	:root {
		--thread-indent-base: 56px;      /* Slightly reduced but still prominent */
		--thread-indent-nested: 32px;    /* Maintain clear hierarchy */
		--thread-line-width: 5px;        /* Keep thick lines */
		--thread-dot-size: 18px;         /* Large connection nodes */
		--thread-nav-size: 26px;         /* Touch-friendly navigation */
	}
	
	/* Maintain thread spine prominence */
	.comment-container::before {
		left: 28px;
		box-shadow: 0 0 6px rgba(79, 70, 229, 0.2);
	}
	
	/* Adjust connection node positions */
	.wall-item-container.thread_level_2::before {
		left: calc(-1 * (var(--thread-indent-base) - 28px) - var(--thread-dot-size) / 2);
	}
	
	/* Enhance reply badges for touch */
	.wall-item-container[class*="thread_level_"]::before {
		padding: 6px 12px;
		font-size: 11px;
		min-height: 28px;
		display: flex;
		align-items: center;
	}
}

/* Mobile Optimization - Keep Threading But Optimize Space */
@media (max-width: 768px) {
	:root {
		--thread-indent-base: 40px;      /* Reduced but still visible */
		--thread-indent-nested: 20px;    /* Compact but clear */
		--thread-line-width: 4px;        /* Still prominent */
		--thread-dot-size: 16px;         /* Touch-friendly size */
	}
	
	/* Enhanced mobile thread spine */
	.comment-container::before {
		left: 20px;
		width: var(--thread-line-width);
		background: linear-gradient(180deg,
			transparent 0%,
			var(--thread-color-primary) 8%,
			var(--thread-color-primary) 85%,
			transparent 100%);
		box-shadow: 0 0 8px rgba(79, 70, 229, 0.3);
	}
	
	/* Keep connection nodes visible on mobile */
	.wall-item-container.thread_level_2::before {
		left: calc(-1 * (var(--thread-indent-base) - 20px) - var(--thread-dot-size) / 2);
		box-shadow: 0 0 0 2px var(--background-color, #ffffff),
		            0 0 0 4px var(--thread-color-l2),
		            0 2px 8px rgba(59, 130, 246, 0.3);
	}
	
	/* Mobile reply badges - Keep visible but compact */
	.wall-item-container[class*="thread_level_"]::before {
		content: '↳ REPLY';
		padding: 4px 8px;
		font-size: 10px;
		left: 4px;
		right: 4px;
		border-radius: 8px;
	}
	
	/* Adjust padding for mobile */
	.wall-item-container.thread_level_3,
	.wall-item-container.thread_level_4,
	.wall-item-container.thread_level_5,
	.wall-item-container.thread_level_6,
	.wall-item-container.thread_level_7,
	.wall-item-container.thread_level_8,
	.wall-item-container.thread_level_9 {
		padding: 16px 20px;
		padding-top: 40px;
		margin: 12px 0;
	}
	
	/* Mobile thread navigation */
	.thread-nav-btn {
		left: -12px;
		width: 24px;
		height: 24px;
		font-size: 10px;
	}
	
	/* Mobile hover effects - Enhanced for touch */
	/* Removed hover effects
	.wall-item-container[class*="thread_level_"]:hover,
	.wall-item-container[class*="thread_level_"]:active {
		transform: translateX(3px) scale(1.005);
		box-shadow: var(--bubble-shadow-hover);
	}
	*/
}

/* Small Mobile - Maintain Threading Visibility */
@media (max-width: 480px) {
	:root {
		--thread-indent-base: 24px;      /* Minimal but still clear */
		--thread-indent-nested: 12px;    /* Compact threading */
		--thread-line-width: 3px;        /* Visible lines */
		--thread-dot-size: 12px;         /* Small but visible nodes */
	}
	
	/* Small mobile thread spine */
	.comment-container::before {
		left: 12px;
		width: var(--thread-line-width);
		box-shadow: 0 0 4px rgba(79, 70, 229, 0.4);
	}
	
	/* Compact but visible connection nodes */
	.wall-item-container.thread_level_2::before {
		left: calc(-1 * (var(--thread-indent-base) - 12px) - var(--thread-dot-size) / 2);
		width: var(--thread-dot-size);
		height: var(--thread-dot-size);
	}
	
	/* Compact reply badges */
	.wall-item-container[class*="thread_level_"]::before {
		content: '↳';
		padding: 2px 6px;
		font-size: 12px;
		left: 2px;
		right: auto;
		width: auto;
		border-radius: 6px;
	}
	
	/* Touch-optimized spacing */
	.wall-item-container[class*="thread_level_"] {
		padding: 12px 16px;
		padding-top: 32px;
		min-height: 80px;
		margin: 8px 0;
		tap-highlight-color: rgba(79, 70, 229, 0.1);
	}
	
	/* Ensure deep nesting is still manageable */
	.wall-item-container.thread_level_7,
	.wall-item-container.thread_level_8,
	.wall-item-container.thread_level_9 {
		margin-left: calc(var(--thread-indent-base) + 4 * var(--thread-indent-nested)) !important;
	}
	
	/* Mobile gestures support */
	.wall-item-container[class*="thread_level_"] {
		touch-action: pan-y;
		-webkit-touch-callout: none;
		-webkit-user-select: text;
		user-select: text;
	}
	
	/* Hide thread navigation on very small screens */
	.thread-nav-btn {
		display: none;
	}
}

/* Comment form with rounded corners */
.wall-item-comment-wrapper.well {
	margin-top: 16px !important;
	position: relative;
	z-index: 90;
	border-radius: 12px;
	overflow: hidden;
}

/* Comment form threading integration with smooth corners */
.comment-wwedit-wrapper {
	transition: all 0.2s ease;
	border-radius: 8px;
}

.comment-wwedit-wrapper.threaded {
	position: relative;
	padding-left: 20px;
	border-radius: 8px;
}

/* Threaded comment form indicator */
.comment-wwedit-wrapper.threaded::before {
	content: '↳';
	position: absolute;
	left: 0;
	top: 15px;
	color: var(--thread-color-main);
	font-size: 16px;
	opacity: 0.6;
}

/* Ensure comment forms respect thread levels */
.thread_level_2 .comment-wwedit-wrapper {
	margin-left: var(--thread-indent-nested);
}

.thread_level_3 .comment-wwedit-wrapper {
	margin-left: calc(var(--thread-indent-nested) * 2);
}

.thread_level_4 .comment-wwedit-wrapper {
	margin-left: calc(var(--thread-indent-nested) * 3);
}

.thread_level_5 .comment-wwedit-wrapper,
.thread_level_6 .comment-wwedit-wrapper,
.thread_level_7 .comment-wwedit-wrapper,
.thread_level_8 .comment-wwedit-wrapper,
.thread_level_9 .comment-wwedit-wrapper {
	margin-left: calc(var(--thread-indent-nested) * 4); /* Cap at level 5 indent */
}

/* ==== DARK MODE SUPPORT FOR MODERN THREADING ==== */

/* Dark mode variables override */
.theme-dark,
.theme-black {
	--thread-color-primary: #889aff;
	--thread-color-l2: #889aff;
	--thread-color-l3: #b794f4;
	--thread-color-l4: #f687b3;
	--thread-color-l5: #4fc3f7;
	--thread-color-l6: #4ade80;
	--thread-color-l7: #fbbf24;
	--reply-badge-bg: rgba(136, 154, 255, 0.15);
	--reply-badge-color: #889aff;
}

/* Dark mode thread line with fade in/out */
.theme-dark .comment-container::before,
.theme-black .comment-container::before {
	background: linear-gradient(180deg,
		transparent 0%,
		var(--thread-color-primary) 10%,
		var(--thread-color-primary) 85%,
		transparent 100%);
	opacity: 0.4;
}

/* Dark mode main post */
.theme-dark .wall-item-container.thread_level_1,
.theme-black .wall-item-container.thread_level_1 {
	background: var(--background-color, #1a1a1a);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* Dark mode all comment levels - clean backgrounds */
.theme-dark .wall-item-container[class*="thread_level_"],
.theme-black .wall-item-container[class*="thread_level_"] {
	background: var(--background-color, #1a1a1a);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Dark mode Level 2 reply indicator */
.theme-dark .wall-item-container.thread_level_2::before,
.theme-black .wall-item-container.thread_level_2::before {
	color: var(--thread-color-l2);
	opacity: 0.4;
}

/* Dark mode reply badges */
.theme-dark .wall-item-container[class*="thread_level_"]::before,
.theme-black .wall-item-container[class*="thread_level_"]::before {
	background: rgba(136, 154, 255, 0.2);
	color: #889aff;
}

/* Dark mode hover effects */
/* Removed hover effects
.theme-dark .wall-item-container[class*="thread_level_"]:hover,
.theme-black .wall-item-container[class*="thread_level_"]:hover {
	background: #242424;
	border-left-width: 5px;
	box-shadow: 0 2px 8px rgba(136, 154, 255, 0.1);
}
*/

/* Dark mode thread continuation lines */
.theme-dark .wall-item-container[class*="thread_level_"]::after,
.theme-black .wall-item-container[class*="thread_level_"]::after {
	opacity: 0.3;
}

/* Dark mode comment form */
.theme-dark .comment-wwedit-wrapper.threaded::before,
.theme-black .comment-wwedit-wrapper.threaded::before {
	color: var(--thread-color-primary);
	opacity: 0.5;
}

/* ==== JavaScript Enhancement Styles ==== */

/* Thread highlighting classes - DISABLED */
/* .wall-item-container.thread-highlighted {
	background: #f0f7ff !important;
	border-left-width: 5px !important;
	transition: all 0.2s ease;
} */

.wall-item-container.thread-parent {
	background: #f8fcff !important;
	opacity: 0.95;
}

/* Thread pulse animation */
.wall-item-container.thread-pulse {
	animation: threadPulse 1s ease;
}

@keyframes threadPulse {
	0%, 100% { 
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 
	}
	50% { 
		box-shadow: 0 0 20px rgba(102, 126, 234, 0.4),
		            0 2px 8px rgba(102, 126, 234, 0.2);
		transform: scale(1.02);
	}
}

/* Dark mode thread highlighting - DISABLED */
/* .theme-dark .wall-item-container.thread-highlighted,
.theme-black .wall-item-container.thread-highlighted {
	background: #2a2a3a !important;
} */

.theme-dark .wall-item-container.thread-parent,
.theme-black .wall-item-container.thread-parent {
	background: #262632 !important;
}

/* Cursor hint for Ctrl+click navigation */
.wall-item-container[class*="thread_level_"] .wall-item-name {
	cursor: pointer;
	position: relative;
}

.wall-item-container[class*="thread_level_"] .wall-item-name:hover::after {
	content: "Ctrl+click to jump to parent";
	position: absolute;
	bottom: -20px;
	left: 0;
	padding: 2px 6px;
	background: rgba(0, 0, 0, 0.8);
	color: white;
	font-size: 10px;
	border-radius: 3px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	animation: tooltipFade 0.3s ease 1s forwards;
}

@keyframes tooltipFade {
	to { opacity: 1; }
}

.theme-dark .wall-item-container.thread_level_2:hover::before,
.theme-black .wall-item-container.thread_level_2:hover::before {
	background: #a89aff;
	transform: scale(1.2);
}

.theme-dark .wall-item-container.thread_level_3:hover,
.theme-dark .wall-item-container.thread_level_4:hover,
.theme-dark .wall-item-container.thread_level_5:hover,
.theme-dark .wall-item-container.thread_level_6:hover,
.theme-dark .wall-item-container.thread_level_7:hover,
.theme-black .wall-item-container.thread_level_3:hover,
.theme-black .wall-item-container.thread_level_4:hover,
.theme-black .wall-item-container.thread_level_5:hover,
.theme-black .wall-item-container.thread_level_6:hover,
.theme-black .wall-item-container.thread_level_7:hover {
	background: rgba(40, 40, 40, 1);
	border-left-width: 4px;
}

/* Dark mode reply indicators */
.theme-dark .wall-item-container.thread_level_3::before,
.theme-dark .wall-item-container.thread_level_4::before,
.theme-dark .wall-item-container.thread_level_5::before,
.theme-dark .wall-item-container.thread_level_6::before,
.theme-dark .wall-item-container.thread_level_7::before,
.theme-black .wall-item-container.thread_level_3::before,
.theme-black .wall-item-container.thread_level_4::before,
.theme-black .wall-item-container.thread_level_5::before,
.theme-black .wall-item-container.thread_level_6::before,
.theme-black .wall-item-container.thread_level_7::before {
	color: rgba(255, 255, 255, 0.3);
}

/* Dark mode connecting lines for deep nesting */
.theme-dark .wall-item-container.thread_level_4::after,
.theme-dark .wall-item-container.thread_level_5::after,
.theme-dark .wall-item-container.thread_level_6::after,
.theme-dark .wall-item-container.thread_level_7::after,
.theme-black .wall-item-container.thread_level_4::after,
.theme-black .wall-item-container.thread_level_5::after,
.theme-black .wall-item-container.thread_level_6::after,
.theme-black .wall-item-container.thread_level_7::after {
	background: linear-gradient(180deg,
		transparent 0%,
		rgba(255, 255, 255, 0.05) 20%,
		rgba(255, 255, 255, 0.05) 80%,
		transparent 100%);
}

/* Legacy panel styling for compatibility */
.wall-item-container.panel-body {
	padding: 0;
	border-top: none;
}

.comment-edit-preview {
	margin-top: 12px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	border: 1px solid rgba(102, 126, 234, 0.2);
	background: linear-gradient(145deg, #fafbff, #ffffff);
	animation: slideIn 0.3s ease;
}

.comment-edit-preview .wall-item-container.panel-body.preview {
	margin-top: 0;
	border: none;
	background: transparent;
	padding: 12px;
}

.comment-edit-preview .panel {
	margin-bottom: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}

/* wall items contact photo */
.contact-photo {
	height: 48px;
	width: 48px;
	border-radius: 3px;
	/*maybe some adional stuff is needed for the different screen sizes */
}
.contact-photo-image-wrapper {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
	text-align: center;
}
.contact-photo-overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	overflow: hidden;
	top: 0;
	left: 0;
	border-radius: 3px;
	background: rgba(0, 0, 0, 0.5);
	text-align: center;
	opacity: 0;
	-webkit-transition: opacity 0.25s ease;
	-moz-transition: opacity 0.25s ease;
}
.contact-photo-overlay:hover {
	opacity: 1;
}
.contact-photo-overlay-content {
	font-size: 26px;
	text-shadow: 1px 1px 1px #ccc;
	color: rgba(255, 255, 255, 0.85);
	height: 100%;
	vertical-align: bottom;
}
.contact-photo-xs {
	height: 38px;
	width: 38px;
	border-radius: 3px;
}
.wwto .contact-photo {
	width: auto;
	height: 25px;
	font-size: 8.8px;
	border-radius: 2px;
	position: absolute;
	top: 28px;
	left: 28px;
	display: inline-block;
}

/* wall items action dropdown menu */
.media .contact-info {
	position: relative;
}

/* Workaround for Firefox where the post heading covers the avatar, preventing hovercard interaction,
 48px is the width of the avatar image and should be adjusted accordingly if it ever changes. */
.media .dropdown.pull-left + .contact-info {
	margin-left: 48px;
}

.preferences {
	position: absolute;
	right: 0;
	top: 0;
}
.shared_header {
	margin-left: 0px;
	margin-top: 0px;
	padding-top: 0px;
	margin-bottom: 10px;
	border-top: none;
	color: inherit;
}
.preferences .plink {
	margin-left: 5px;
}

blockquote.shared_content {
	padding: 0px;
	margin-inline-start: 0px;
	color: inherit;
}

.wall-item-network {
	font-size: 13px;
	display: inline-block; /* Ensure proper containment */
	line-height: 1; /* Prevent line-height from affecting image */
}

/* Ensure the network container doesn't stretch its contents */
.wall-item-network a {
	display: inline-block;
	line-height: 0; /* Remove line-height effect on images */
}

/* wall items contact info */
.media .media-body h4.media-heading {
	font-size: var(--font-size-base);
	font-weight: 600;
	line-height: var(--leading-tight);
	color: #0f172a;
	margin-bottom: var(--space-xs);
}
.media .contact-info-comment {
	display: table-cell;
}
.media .contact-info-xs h5,
.media .contact-info-comment {
	margin: 0 0 5px;
}
.media-heading {
	margin: 0;
	line-height: var(--leading-normal);
}
.wall-item-name,
.shared-author {
	font-size: 15px;
	font-weight: 600;
	line-height: var(--leading-tight);
}
.wall-item-name.xs {
	font-weight: 700;
	font-size: 14px;
}

/* Contact avatar click card */
.userinfo.click-card {
	position: relative;
}

.userinfo.click-card > *:hover:after {
	content: "⌄";
	color: #bebebe;
	font-size: 1em;
	font-weight: bold;
	background-color: #ffffff;
	text-align: center;
	line-height: 40%;
	position: absolute;
	top: 0;
	left: 0;
	width: 33%;
	height: 33%;
	opacity: 0.8;
	border-radius: 0 0 40% 0;
}

/* The lock symbol popup */
#panel {
	position: absolute;
	list-style: none;
	background-color: #334155;
	border: none;
	border-radius: 3px;
	float: left;
	min-width: 160px;
	max-width: 220px;
	padding: 10px;
	margin: 2px 0 0;
	font-size: 14px;
	text-align: left;
	color: #ffffff;
	z-index: 1000;
}

/* Space between content and head */
.wall-spacer {
	height: 10px;
}

/* wall items content */
.wall-item-content {
	word-break: break-word;
}
.wall-item-content img {
	object-fit: contain;
	/* Prevent image transitions that cause flickering */
	transition: none !important;
}
.wall-item-body > img,
.wall-item-body > a > img {
	border-radius: 3px;
	/* Prevent image transitions that cause flickering */
	transition: none !important;
}
/* CRITICAL FIX: Prevent ALL images from transitioning to fix flickering bug */
/* Images should NEVER have transitions as it causes placeholder/actual image flickering */
/* This comprehensive rule blocks ALL transitions on ANY image element */
img,
.wall-item-container img,
.wall-item-container .media img,
.media-body img,
.wall-item-body img,
.wall-item-content img,
.wall-item-container a img,
.contact-photo img,
.media img,
.toplevel_item img,
a > img,
* img {
	transition: none !important;
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-o-transition: none !important;
	-ms-transition: none !important;
	background-transition: none !important;
	transition-property: none !important;
	transition-duration: 0s !important;
	transition-delay: 0s !important;
}

.wall-item-body .body-attach > a {
	color: #0f172a;
	display: inline-block;
	line-height: 0; /* Prevent extra height from line-height */
	vertical-align: top; /* Align properly */
}
.wall-item-body .body-attach > a div {
	color: #0f172a;
	width: 20px;
}

/* wall-item content elements */
.shared-wrapper {
	position: relative;
	margin-top: 10px;
	margin-bottom: 0;
}
.vevent {
	padding: 10px;
	box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.1) inset, 0 1px 1px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 767px) {
	.vevent {
		margin-left: 0px;
		margin-right: 0px;
	}
	.shared-wrapper {
		margin: 5px -10px 0;
	}
}
.vevent:hover {
	box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.15) inset, 0 1px 1px rgba(0, 0, 0, 0.05);
}
code > .hl-main {
	padding: 10px 10px 1px 0;
}
.hl-main ol {
	line-height: 1.7;
}
.type-link img.attachment-image {
	width: 100%;
}
.type-link blockquote,
.type-video blockquote {
	margin: 0;
	padding: 10px 0;
}
.oembed.video .embed_video > div::before {
	font-family: ForkAwesome;
	font-weight: normal;
	font-style: normal;
	display: inline-block;
	text-decoration: inherit;
	vertical-align: top;
	font-size: 3em;
	content: "\f01d";
	color: #fff;
	bottom: 0px;
	right: 10px;
	position: absolute;
}
.oembed.video .embed_video > div {
	background-color: rgba(0, 0, 0, 0.2);
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	-ms-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
}
.oembed.video .embed_video > div:hover {
	background-color: rgba(0, 0, 0, 0);
}
.oembed.video .embed_video.active {
	margin: 1em 0;
}
.oembed.video .embed_video.active iframe {
	width: 100% !important;
}
.wall-item-tags,
.itemedited {
	margin: 10px 0;
	font-size: 13px;
}
.wall-item-tags:empty {
	margin: 0;
}

.wall-item-tags a {
	text-decoration: none;
}

.wall-item-tags a:hover {
	text-decoration: none;
}
.wall-item-tags .category,
.wall-item-tags .folder {
	margin-right: 3px;
}

/* Modern tag styling */
.wall-item-tags .label,
.wall-item-tags .tag,
.wall-item-bottom .label {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	margin: 2px 3px 2px 0;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.01em;
	transition: all 0.1s ease;
	border: 1px solid transparent;
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(147, 51, 234, 0.1) 100%);
	color: #4c51bf;
	vertical-align: middle;
	white-space: nowrap;
}

/* Ensure links within tags inherit the tag color */
.wall-item-tags .label a,
.wall-item-tags .tag a,
.wall-item-bottom .label a {
	color: inherit;
}

/* Removed hash symbol - already included in tag content */

.wall-item-tags .label:hover,
.wall-item-tags .tag:hover,
.wall-item-bottom .label:hover {
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(147, 51, 234, 0.15) 100%);
	border-color: rgba(59, 130, 246, 0.2);
	transform: translateY(-1px);
	box-shadow: 0 2px 4px rgba(59, 130, 246, 0.1);
}

/* Different tag types with modern colors */
.wall-item-tags .label-info,
.wall-item-tags .category {
	background: linear-gradient(135deg, rgba(14, 165, 233, 0.1) 0%, rgba(6, 182, 212, 0.1) 100%);
	color: #0891b2;
}

.wall-item-tags .label-info:hover,
.wall-item-tags .category:hover {
	background: linear-gradient(135deg, rgba(14, 165, 233, 0.15) 0%, rgba(6, 182, 212, 0.15) 100%);
	border-color: rgba(14, 165, 233, 0.2);
}

.wall-item-tags .folder {
	background: linear-gradient(135deg, rgba(34, 197, 94, 0.1) 0%, rgba(16, 185, 129, 0.1) 100%);
	color: #059669;
}

.wall-item-tags .folder:before {
	content: "📁";
	margin-right: 4px;
	font-size: 11px;
}

.wall-item-tags .folder:hover {
	background: linear-gradient(135deg, rgba(34, 197, 94, 0.15) 0%, rgba(16, 185, 129, 0.15) 100%);
	border-color: rgba(34, 197, 94, 0.2);
}

.wall-item-tags .mention {
	background: linear-gradient(135deg, rgba(251, 146, 60, 0.1) 0%, rgba(245, 158, 11, 0.1) 100%);
	color: #d97706;
}

.wall-item-tags .mention:hover {
	background: linear-gradient(135deg, rgba(251, 146, 60, 0.15) 0%, rgba(245, 158, 11, 0.15) 100%);
	border-color: rgba(251, 146, 60, 0.2);
}

/* item social action buttons */
.wall-item-actions {
	display: flex;
	margin: 0;
	justify-content: space-between;
}
.wall-item-actions .btn,
.wall-item-actions a,
.wall-item-actions button {
	color: #0f172a;
	background-color: transparent;
	padding-left: 5px;
	padding-right: 5px;
}
.wall-item-actions button:disabled,
button[disabled] {
  	color: #475569;
}
.wall-item-actions .active {
	font-weight: bold;
	color: #3b82f6;
	box-shadow: none;
}
.wall-item-actions-left {
	display: table-cell;
	vertical-align: middle;
}
.wall-item-actions-right {
	display: flex;
}
.wall-item-actions-items {
	flex-grow: 1;
}
.wall-item-actions-row {
	display: flex;
}
.wall-item-actions-row .btn {
	width: 100%;
}
.wall-item-actions-row > * {
	flex: 1 1 0;
}
.wall-item-actions .checkbox {
	margin: 0 0 0 15px;
}
@media screen and (max-width: 767px) {
	.wall-item-actions .btn,
	.wall-item-actions a,
	.wall-item-actions button {
		padding-right: 0;
		padding-left: 0;
	}
	.wall-item-actions .checkbox {
		margin-top: 8px;
		flex: 0 1 auto;
	}
	.wall-item-actions .like-rotator {
		position: absolute;
		top: 8px;
		right: 0;
	}
}
.wall-item-actions button:hover {
	text-decoration: underline;
}
.wall-item-actions .separator {
	margin: 0 0.3em;
}
.wall-item-responses {
	margin-top: .3em;
}
.wall-item-responses > div > p {
	margin: 0;
}

/* Fix font size for like/share count buttons */
.wall-item-responses .wall-item-like,
.wall-item-responses .wall-item-dislike,
.wall-item-responses .wall-item-attend,
.wall-item-responses .wall-item-announce {
	font-size: 14px; /* Default size, not smaller */
}

.wall-item-responses .btn-link.fakelink {
	font-size: 14px; /* Match the original frio theme */
	padding: 2px 4px;
}
.btn-group-event {
	display: flex;
	flex-basis: auto;
}
/* wall item hover effects */

@media (min-width: 768px) {
	/* Tags and mentions - modern fade effect */
	.wall-item-container .wall-item-bottom .wall-item-tags span.label {
		opacity: 0.85;

		/* Fixed: Specific transitions to prevent image flickering */
		-webkit-transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
		-moz-transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
		-o-transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
		-ms-transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
		transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
	}

	/* Removed hover effect
	.wall-item-container:hover .wall-item-bottom .wall-item-tags span.label {
		opacity: 1;

		-webkit-transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
		-moz-transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
		-o-transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
		-ms-transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
		transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
	}
	*/
	/* Like/Comment/etc buttons */
	.wall-item-container .wall-item-links,
	.wall-item-container .wall-item-actions button > a {
		opacity: 0.4;

		-webkit-transition: opacity 0.25s ease-in-out;
		-moz-transition: opacity 0.25s ease-in-out;
		-o-transition: opacity 0.25s ease-in-out;
		-ms-transition: opacity 0.25s ease-in-out;
		transition: opacity 0.25s ease-in-out;
	}
	/* Removed hover effects
	.wall-item-container:hover .wall-item-links,
	.wall-item-container:hover .wall-item-actions button > a {
		opacity: 1;

		-webkit-transition: opacity 0.25s ease-in-out;
		-moz-transition: opacity 0.25s ease-in-out;
		-o-transition: opacity 0.25s ease-in-out;
		-ms-transition: opacity 0.25s ease-in-out;
		transition: opacity 0.25s ease-in-out;
	}
	*/
	/* Removed hover effect
	.wall-item-container .wall-item-body .body-attach > a:hover {
		opacity: 1;
	}
	*/
	
	/* Prevent any transitions on images within body-attach */
	.body-attach img,
	.body-attach .attachment-preview,
	.body-attach .attachment-image,
	.wall-item-body .body-attach img {
		transition: none !important;
		-webkit-transition: none !important;
		-moz-transition: none !important;
		-o-transition: none !important;
		-ms-transition: none !important;
		pointer-events: auto !important;
		position: relative !important;
		z-index: 1 !important;
	}
	
	/* Fix double image issue - ensure attachment links don't have backgrounds */
	.body-attach a {
		background: none !important;
		background-image: none !important;
	}
	
	/* Ensure attachment preview images display correctly without duplication */
	.body-attach .attachment-preview,
	.body-attach .attachment-image {
		display: block;
		background: none !important;
	}
	
	/* Remove any pseudo-elements that might create placeholder images */
	.body-attach a::before,
	.body-attach a::after {
		content: none !important;
		display: none !important;
	}
	
	/* Fix the img-allocated-height placeholder issue */
	.body-attach figure.img-allocated-height {
		position: relative !important;
		background: none !important; /* Remove the placeholder background image */
		padding-bottom: 0 !important; /* Remove padding once image loads */
		height: auto !important;
	}
	
	.body-attach figure.img-allocated-height img {
		position: static !important; /* Change from absolute to static */
		width: 100% !important;
		height: auto !important;
		display: block !important;
	}
	
	/* Ensure the wrapper doesn't create extra space */
	.body-attach .img-allocated-max-width {
		line-height: 0 !important;
		font-size: 0 !important;
	}
}

/*
* Comments
*/
.wall-item-comment-wrapper.well {
	border: none !important;
	box-shadow: none !important;
	background-color: transparent !important;
	background-image: none !important;
	margin-bottom: 1px;
	padding: 0;
}
.wall-item-comment-wrapper.well-small {
	padding: 0;
	border-radius: 0;
	background-color: transparent !important;
}
.wall-item-comment-wrapper.well hr {
	border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.wall-entry .wall-item-comment-wrapper.well {
	margin-bottom: 0;
	background-color: transparent !important;
}
/* Removed - replaced with modern hierarchy system above */
.comment .media {
	position: relative !important;
	margin-top: 0;
}
.hide-comments-outer {
	display: block;
	background-color: transparent;
	padding: 8px 12px;
	width: auto;
	border: 1px solid rgba(0, 0, 0, 0.1);
	text-align: left;
	position: relative;
	z-index: 20;
	border-radius: 6px;
	transition: all 0.2s ease;
	background-clip: padding-box;
	margin: 8px 0 8px 24px; /* Match level 2 indent */
	font-size: 13px;
	color: rgba(0, 0, 0, 0.6);
	cursor: pointer;
}

.hide-comments-outer:hover {
	background-color: rgba(0, 0, 0, 0.04);
	border-color: rgba(0, 0, 0, 0.15);
	color: rgba(0, 0, 0, 0.8);
}

/* Dark mode adjustments for hide-comments button */
[data-bs-theme="dark"] .hide-comments-outer {
	border-color: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.6);
}

[data-bs-theme="dark"] .hide-comments-outer:hover {
	background-color: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.15);
	color: rgba(255, 255, 255, 0.8);
}

/* Network/Platform Icons - Fixed sizing with defensive CSS */
.network-svg,
.wall-item-network img.network-svg,
.wall-item-network a img.network-svg,
.preferences .wall-item-network img.network-svg,
.preferences .wall-item-network a img.network-svg,
span.wall-item-network img.network-svg {
	width: 18px !important;
	height: 18px !important;
	max-width: 18px !important;
	max-height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	border-radius: 4px;
	padding: 2px;
	display: inline-block !important;
	vertical-align: middle;
	box-sizing: content-box !important; /* Ensures padding is added to the 18px, not included */
	object-fit: contain !important;
	flex-shrink: 0 !important;
	flex-grow: 0 !important;
}

/*
* Comment Box
*/

/* Modern comment-fake-form styling - aligned with theme design language */
.comment-fake-form {
	margin-top: var(--space-md);
	margin-bottom: var(--space-sm);
	padding: var(--space-md);
	background-color: rgba(0, 0, 0, 0.8);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	transition: var(--transition);
	position: relative;
}

.comment-fake-form:hover {
	box-shadow: var(--shadow-md);
	background-color: rgba(0, 0, 0, 0.9);
	transform: translateY(-1px);
}

.comment-fake-form textarea {
	resize: none;
	border: none;
	background: transparent;
	box-shadow: none;
	padding: var(--space-sm);
	font-size: var(--font-size-base);
	line-height: var(--leading-normal);
	color: rgba(255, 255, 255, 0.8);
	border-radius: var(--radius-sm);
	transition: var(--transition);
	width: 100%;
}

.comment-fake-form textarea:focus {
	outline: none;
	background: rgba(0, 0, 0, 0.3);
	color: rgba(255, 255, 255, 0.9);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.comment-fake-form textarea::placeholder {
	color: rgba(255, 255, 255, 0.5);
	font-style: normal;
}

/* Add a subtle connecting visual cue */
.comment-fake-form::before {
	content: '';
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 24px;
	height: 3px;
	background: rgba(0, 0, 0, 0.1);
	border-radius: 2px;
}

.wall-item-comment-wrapper {
	padding: 10px;
	border-top: 1px solid rgba(255, 255, 255, 0.8);
	background-color: rgba(0, 0, 0, 0.03);
	border-radius: 0 0 4px 4px;
	margin-bottom: 0;
}

.comment-container .wall-item-comment-wrapper {
	margin-top: 0.5em;
}

.comment-edit-form {
	background: rgba(255, 255, 255, 0.98);
	border-radius: 12px;
	padding: 12px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.04);
	margin-top: 12px;
	transition: all 0.3s ease;
}

.comment-edit-form:focus-within {
	box-shadow: 0 4px 16px rgba(102, 126, 234, 0.15);
	border-color: rgba(102, 126, 234, 0.3);
	transform: translateY(-1px);
}

.comment-edit-form textarea {
	resize: vertical;
	background: rgba(248, 249, 250, 0.5);
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 8px;
	padding: 10px 12px;
	font-size: 14px;
	line-height: 1.6;
	transition: all 0.1s ease;
	min-height: 80px;
}

.comment-edit-form textarea:focus {
	background: #ffffff;
	border-color: rgba(102, 126, 234, 0.3);
	box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.08);
	outline: none;
}

.comment-edit-form textarea::placeholder {
	color: rgba(0, 0, 0, 0.4);
	font-style: italic;
}

.comment-edit-submit-wrapper {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 8px;
	margin-bottom: 0;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.comment-edit-submit-wrapper .comment-edit-preview {
	margin-right: auto;
}

.comment-edit-submit-wrapper .btn {
	transition: all 0.3s ease;
}

.comment-edit-submit,
.comment-edit-preview-link {
	font-weight: 500;
	letter-spacing: 0.3px;
}

.comment-icon-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: transparent;
	border-radius: 8px;
	padding: 6px 0;
	margin-bottom: 10px;
	border: none;
}

.comment-icon-list > span {
	display: flex;
	align-items: center;
	gap: 4px;
}

.comment-icon-list .btn {
	background: transparent;
	border: none;
	color: #6c757d;
	padding: 6px 8px;
	margin: 0 2px;
	border-radius: 6px;
	transition: all 0.1s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
}

.comment-icon-list .btn:hover {
	background: rgba(102, 126, 234, 0.1);
	color: #667eea;
	transform: scale(1.05);
}

.comment-icon-list .btn i {
	font-size: 14px;
	margin: 0;
	padding: 0;
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
}

.comment-icon-list .btn i.fa {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.comment-wwedit-wrapper {
	margin-top: 12px;
	padding: 0;
	animation: slideIn 0.3s ease;
}

.comment-wwedit-wrapper.threaded {
	margin-left: 48px;
	position: relative;
}

.comment-wwedit-wrapper.threaded::before {
	content: '';
	position: absolute;
	left: -24px;
	top: 20px;
	width: 2px;
	height: calc(100% - 40px);
	background: linear-gradient(180deg, rgba(102, 126, 234, 0.2), transparent);
}

@keyframes slideIn {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Override Bootstrap well styles for comment forms */
.well.well-small .comment-edit-form {
	margin-top: 0;
}

.well {
	background-color: transparent;
	border: none;
	box-shadow: none;
}

/* Modern Tooltips - Discord Style */
.tooltip {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2px;
	filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
	animation: tooltipFadeIn 0.1s ease;
}

@keyframes tooltipFadeIn {
	from {
		opacity: 0;
		transform: scale(0.95);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

.tooltip.in {
	opacity: 1;
}

.tooltip-inner {
	background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
	color: #ffffff;
	padding: 8px 12px;
	border-radius: 8px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
	max-width: 280px;
	text-align: center;
	border: 1px solid rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(10px);
}

.tooltip.top .tooltip-arrow {
	border-top-color: #2d2d2d;
	bottom: -5px;
	margin-left: -5px;
	border-width: 5px 5px 0;
}

.tooltip.bottom .tooltip-arrow {
	border-bottom-color: #2d2d2d;
	top: -5px;
	margin-left: -5px;
	border-width: 0 5px 5px;
}

.tooltip.left .tooltip-arrow {
	border-left-color: #2d2d2d;
	right: -5px;
	margin-top: -5px;
	border-width: 5px 0 5px 5px;
}

.tooltip.right .tooltip-arrow {
	border-right-color: #2d2d2d;
	left: -5px;
	margin-top: -5px;
	border-width: 5px 5px 5px 0;
}

/* Light theme tooltip variant */
.light-tooltip .tooltip-inner {
	background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
	color: #1a1a1a;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.light-tooltip.tooltip.top .tooltip-arrow {
	border-top-color: #f8f9fa;
}

.light-tooltip.tooltip.bottom .tooltip-arrow {
	border-bottom-color: #f8f9fa;
}

.light-tooltip.tooltip.left .tooltip-arrow {
	border-left-color: #f8f9fa;
}

.light-tooltip.tooltip.right .tooltip-arrow {
	border-right-color: #f8f9fa;
}

/* Hover effect for trigger elements */
[data-toggle="tooltip"] {
	cursor: help;
	position: relative;
}

[data-toggle="tooltip"]:hover {
	opacity: 0.9;
}

/* Special tooltip for notification badges */
.nav-notification .tooltip-inner {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	font-weight: 600;
	padding: 6px 10px;
	font-size: 12px;
}

.nav-notification .tooltip.top .tooltip-arrow {
	border-top-color: #764ba2;
}

/* Special tooltip for buttons */
.btn .tooltip-inner,
.btn-primary .tooltip-inner {
	font-size: 13px;
	padding: 6px 10px;
}

/* Animated pulse for important tooltips */
.tooltip-important .tooltip-inner {
	animation: tooltipPulse 2s infinite;
}

@keyframes tooltipPulse {
	0%, 100% {
		box-shadow: 0 4px 16px rgba(102, 126, 234, 0.3);
	}
	50% {
		box-shadow: 0 4px 20px rgba(102, 126, 234, 0.5);
	}
}

/* Multiline tooltip support */
.tooltip-inner {
	white-space: normal;
	text-align: left;
}

.tooltip-inner.text-center {
	text-align: center;
}

/* Modern Popovers - Discord Style */
.popover {
	background: linear-gradient(145deg, #ffffff, #fafbfc);
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	animation: tooltipFadeIn 0.1s ease;
}

.popover-title {
	background: linear-gradient(180deg, #fafbfc, #f0f1f3);
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px 12px 0 0;
	padding: 10px 14px;
	font-size: 14px;
	font-weight: 600;
	color: #1a1a1a;
}

.popover-content {
	padding: 12px 14px;
	color: #4a5568;
	font-size: 13px;
	line-height: 1.5;
}

.popover.top > .arrow:after {
	border-top-color: #ffffff;
}

.popover.bottom > .arrow:after {
	border-bottom-color: #f0f1f3;
}

.popover.left > .arrow:after {
	border-left-color: #ffffff;
}

.popover.right > .arrow:after {
	border-right-color: #ffffff;
}

/* Dark theme popovers */
.dark .popover,
.black .popover {
	background: linear-gradient(145deg, #1a1a1a, #242424);
	border-color: rgba(255, 255, 255, 0.1);
}

.dark .popover-title,
.black .popover-title {
	background: linear-gradient(180deg, #242424, #1a1a1a);
	border-bottom-color: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}

.dark .popover-content,
.black .popover-content {
	color: #e0e0e0;
}

/* acpopup  + textcompletion*/
.acpopup {
	background-color: #ffffff;
	border-radius: 4px;
	overflow: auto;
	z-index: 100000;
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
nav .acpopup {
	margin-left: -23px;
}
/** @todo: we should consider the possibility to overwrite bootstrap dropdowns
 at the beginning of this file to get rid of the !important */
.textcomplete-item > a {
	color: #0f172a !important;
	padding: 5px 20px !important;
}
.textcomplete-item.active > a {
	background-color: rgb(247, 247, 247) !important;
	background-image: none !important;
	border-left: 3px solid #3b82f6;
	padding-left: 17px !important;
}
.textcomplete-item a .group {
	color: #3b82f6;
}
img.acpopup-img {
	border-radius: 4px;
}

/* Removed old conflicting threading implementation - see unified system above */

/* Birthday and Event Reminders  */
#birthday-notice,
#birthday-wrapper,
#rfic-desc,
#remote-friends-in-common,
#event-notice,
#event-wrapper {
	margin-bottom: 5px;
	padding: 10px;
	border: none;
	background-color: rgba(247, 247, 247, 0.95);
	box-shadow: 0 0 3px #dadada;
	-webkit-box-shadow: 0 0 3px #dadada;
	-moz-box-shadow: 0 0 3px #dadada;
	border-radius: 4px;
	cursor: pointer;
}
#remote-friends-in-common {
	background-color: rgba(247, 247, 247, 0.95)
	border-radius: 4px;
	color: #444;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 10px;
	margin-bottom: 15px;
	padding: 10px;
}
#remote-friends-in-common-wrapper{
	display: none;
}

/* Menubar Tabs */
section > .tabbar-wrapper {
	/* The tabbar shouldn't' be visible inside
the section element. Only after we have
moved it to the nav through js */
	display: none !important;
}
.tabbar-wrapper__link {
	padding-right: 10px;
	padding-left: 10px;
}
#tabmenu,
.tabbar-wrapper,
.tabbar,
.tabbar > li {
	height: 100%;
	padding: 0;
}
#tabmenu .search-heading {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ul.tabs {
	list-style: none;
	height: 100%;
	padding: 0;
	margin: 0;
}
ul.tabs li {
	float: left;
	margin: 0;
	padding: 0;
	border-bottom: 0 solid #3b82f6;
	font-size: 13px;
	height: 102%;
	transition: all 0.15s ease;
}
ul.tabs li a {
	display: block;
	padding-top: 11px;
	padding-bottom: 11px;
}
ul.tabs li:hover,
ul.tabs li.active {
	border-bottom-width: 4px;
}
.tabbar.visible-xs .tabs-extended {
	padding-top: 0;
}
#dropdownMenuTools-xs {
	padding: 9px 15px;
}
ul.tabbar ul.tabs-extended:hover li.dropdown {
	border-bottom: 0;
}

ul.tabbar ul.tabs-extended li.active {
	width: 100%;
	border-bottom-width: 2px;
}
ul.tabbar ul.tabs-extended li.active a {
	background: none;
}
ul.dropdown-menu li:hover {
	border-bottom: 0;
}
.dropdown-menu li {
	display: block;
	width: 100%;
	box-sizing: border-box;
}
/* Dropdown Menu */
.dropdown-menu li .btn-link,
.dropdown-menu li a,
.tabs .dropdown-menu li a {
	padding: 6px 20px;
	font-size: 14px;
}
.dropdown-menu li a,
.dropdown-menu li .btn-link {
	color: #0f172a;
}
.dropdown-menu li > :hover,
.dropdown-menu li > :visited,
.dropdown-menu li > :focus {
	background: 0 0;
}

.dropdown-menu li:first-child {
	margin-top: 3px;
}

/* Notification badges */
#mail-update-li.show {
	display: inline-block !important;
}

/* Media Classes */
p.wall-item-announce,
.media .time,
.media .shared-time,
.media .delivery,
.media .location,
.media .location a {
	font-size: 11px;
	color: #0f172a;
}
.media-list > li {
	padding: 10px;
	border-bottom: 1px solid rgba(238, 238, 238, 0.95);
	position: relative;
	border-left: 3px solid rgba(255, 255, 255, 0);
	font-size: 12px;
}
.media-list > li:hover,
.media-list > li.selected,
.media-list > li.active {
	border-left: 3px solid #3b82f6;
	background-color: rgba(247, 247, 247, 0.95);
}

/* Forms */
.form-control {
	box-shadow: none;
}
.form-control:focus {
	border: 2px solid #3b82f6;
	box-shadow: none;
}

.radio label::before,
.checkbox label::before {
	background-color: rgba(255, 255, 255, 0.95);
}
.radio label::after {
	background-color: #3b82f6;
}
.checkbox label::after {
	color: #3b82f6;
}

.checkbox input[type="checkbox"]:focus + label::before,
.radio input[type="radio"]:focus + label::before {
	outline-color: #2372f5;
}

.help-block {
	color: #0f172a;
}

input[type="range"].form-control {
	padding-left: 0;
	padding-right: 0;
}

/* Search form */
.form-control.form-search {
	border-radius: 30px;
	background-image: url(img/icon_search16x16.png);
	background-repeat: no-repeat;
	background-position: 10px 8px;
	padding-left: 34px;
}
.form-group-search {
	position: relative;
	width: 100%;
}

/* General search button positioning - but navbar overrides this */
.form-group-search .form-button-search {
	position: absolute;
	top: 4px;
	right: 4px;
	border-radius: 30px;
}
/* Ensure navbar search overrides the general rule */
#search-box .form-group-search .form-button-search,
#topbar-first .form-group-search .form-button-search {
	top: 2px;
	right: 2px;
	bottom: 2px;
	height: auto;
}
.search-input.form-control.form-search {
	width: 100%;
}
.search-heading {
	text-align: center;
	color: #3b82f6;
	font-size: 20px;
}
.search-content-wrapper > #search-header-wrapper {
	display: none;
}
.search-content-wrapper > .section-title-wrapper {
	display: none;
}
#navbar-button > #search-save {
	margin-top: 3px;
}
/* Section-Content-Wrapper */
#search-header-wrapper {
	padding: 15px;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border: none;
	background-color: rgba(255, 255, 255, 0.95);
	border-radius: 4px;
	position: relative;
	color: #0f172a;
	box-shadow: 0 0 3px #dadada;
	-webkit-box-shadow: 0 0 3px #dadada;
	-moz-box-shadow: 0 0 3px #dadada;
}

/* *******
 * PAGES
 *********/

section > .generic-page-wrapper,
.videos-content-wrapper,
.suggest-content-wrapper,
.help-content-wrapper,
.match-content-wrapper,
.dirfind-content-wrapper,
.delegation-content-wrapper,
.notes-content-wrapper,
.message-content-wrapper,
.apps-content-wrapper,
#adminpage,
.delegate-content-wrapper,
.uexport-content-wrapper,
.dfrn_request-content-wrapper,
.friendica-content-wrapper,
.credits-content-wrapper,
.nocircle-content-wrapper,
.profperm-content-wrapper,
.invite-content-wrapper,
.tos-content-wrapper,
.fsuggest-content-wrapper {
	min-height: calc(100vh - 150px);
	padding: 15px;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border: none;
	background-color: rgba(255, 255, 255, 0.95);
	border-radius: 4px;
	position: relative;
	color: #0f172a;
	box-shadow: 0 0 3px #dadada;
	-webkit-box-shadow: 0 0 3px #dadada;
	-moz-box-shadow: 0 0 3px #dadada;
}
#content:hover .page-action.faded-icon {
	opacity: 0.8;
	transition: all 0.25s ease-in-out;
}
#content .page-action.faded-icon:hover {
	opacity: 1;
}

.section-title-wrapper {
	overflow: hidden;
}
/* Home and Login Page */
body.mod-home nav.navbar .nav > li > a:hover {
	background-color: rgba(255, 255, 255, 0.2);
}
body.mod-home .navbar #nav-login,
body.mod-login .navbar #nav-login {
	display: none;
}
/* Profile-page */
#profile-content-standard,
#profile-content-advanced {
	overflow: hidden;
}
#profile-menu {
	margin-top: 20px;
	margin-bottom: 20px;
}
.contact-block-div.group-list-profile-advanced {
	float: left;
}

/* contacts page */
ul.viewcontact_wrapper {
	margin-left: -15px;
	margin-right: -15px;
}
ul.viewcontact_wrapper > li {
	padding-left: 15px;
}
.contact-wrapper .contact-photo-wrapper button {
	padding: 0;
}
.contact-wrapper.media {
	overflow: visible;
	word-wrap: break-word;
	margin-top: 0;
}
/* bootstrap hack for .media */
.contact-wrapper.media .media-body {
	display: table-cell;
	width: 10000px;
	*width: auto;
	*zoom: 1;
}
.contact-wrapper.media:before,
.media:after {
	content: "";
	display: table;
}
.contact-wrapper.media:after {
	clear: both;
}
.contact-wrapper .contact-photo-image-wrapper img.contact-photo.xl {
	height: 80px;
	width: 80px;
}
.contact-wrapper .contact-photo-image-wrapper img.contact-photo-xs {
	height: 48px;
	width: 48px;
}
.contact-wrapper .contact-photo-overlay-content.xl {
	font-size: 48px;
}
.contact-wrapper .contact-photo-menu {
	top: auto;
}

.contact-entry-desc {
	color: #0f172a;
}
.contact-entry-checkbox {
	margin-top: -20px;
}
.contact-wrapper .media-body .contact-entry-name h4.media-heading a {
	font-weight: bold !important;
	color: #3b82f6;
	font-size: 15px !important;
}
.contact-wrapper .contact-actions {
	display: flex;
	position: relative;
	margin: -8px -8px 0 0;
}
.contact-wrapper .contact-action-link,
.contact-wrapper .contact-action-link:hover,
.textcomplete-item .contact-wrapper .contact-action-link {
	color: #0f172a;
	border: 0;
}
.contact-wrapper .contact-action-link {
	background-color: transparent;
	opacity: 0.3;
	transition: all 0.25s ease-in-out;
}
ul li:hover .contact-wrapper .contact-action-link:hover {
	opacity: 1;
}
#contacts-search-wrapper,
#directory-search-wrapper {
	padding: 10px 0;
}

/* contact-edit */
#contact-edit-actions {
	position: absolute;
}
#contact-edit-status-wrapper {
	border: none;
	background-color: rgba(225, 245, 254, 0.95);
	margin: 15px -15px;
}
#contact-edit-settings {
	display: block;
}

/* directory page */
#directory-search-heading {
	padding-top: 10px;
}

/* circle edit page */
.circle-actions {
	margin-top: 4px;
	margin-bottom: 10px;
	font-size: 30px;
}
.circle-actions button,
.circle-actions a {
	font-size: 18px;
}

.contact-circle-actions .fa-times-circle {
	color: #d00000;
}
.contact-circle-actions .fa-plus-circle {
	color: #008000;
}

#circle-edit-wrapper {
	margin-top: 14px;
	display: none;
}
#circle-edit-header {
	display: block;
}
#circle-update-wrapper .contact-photo-overlay {
	display: none;
}
#circle-update-wrapper .viewcontact_wrapper .contact-circle-actions {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
#circle-update-wrapper .viewcontact_wrapper .contact-circle-link {
	opacity: 0.8;
	font-size: 15px;
}
#circle-update-wrapper .viewcontact_wrapper .contact-action-link:hover {
	opacity: 1;
}
#circle-update-wrapper .shortmode {
	height: 53px;
	overflow: hidden;
}
#circle-update-wrapper .shortmode .contact-photo {
	height: 32px;
	width: 32px;
}
#circle-update-wrapper .shortmode .media {
	overflow: hidden;
}
#circle-update-wrapper .shortmode .contact-entry-desc {
	font-size: 12px !important;
}
#circle-update-wrapper .shortmode .contact-entry-desc h4.media-heading {
	margin: 0;
}
#circle-update-wrapper .shortmode .contact-entry-desc h4.media-heading a {
	font-size: 13px !important;
	white-space: nowrap;
}
#circle-update-wrapper .shortmode .contact-entry-desc .contact-entry-rel,
#circle-update-wrapper .shortmode .contact-entry-desc .contact-entry-network {
	display: none;
}

/* private mail */
.message-content-wrapper > li {
	/* we need this overwriting because we have no template file
   for the general mail page /message
*/
	list-style-type: none;
}
.mail-thread {
	max-height: calc(100vh - 200px);
}
#mail-conversation {
	overflow-y: auto;
	max-height: calc(100vh - 400px);
	max-height: auto;
	margin-bottom: 0px;
	padding: 0 15px;
}
.mail-conv-wrapper .media .contact-photo-wrapper img {
	height: 48px;
	width: 48px;
}
.mail-thread #prvmail-to-label,
.mail-thread #prvmail-subject-label {
	display: none;
}
.mail-thread #prvmail-message-label > label {
	display: none;
}
.mail-thread #prvmail-message-label textarea {
	max-height: 120px;
}
.mail-conv-wrapper {
	padding: 15px 0;
	border-bottom: 1px solid rgba(238, 238, 238, 0.95);
}
#message-sidebar {
	height: calc(100vh - 150px);
}
#message-preview {
	height: calc(100% - 20px);
}
#message-preview ul {
	margin: 0px;
}
#message-preview .media-list li {
	padding: 0px 10px;
	border: none;
}
#message-preview .media-list li:hover {
	border-left: none !important;
}
#message-preview .media-list li a {
	color: #3b82f6;
}
.mail-list-outside-wrapper {
	padding: 5px 0;
	border-bottom: 1px solid rgba(238, 238, 238, 0.95);
}
.mail-list-outside-wrapper .contact-photo-wrapper img {
	height: 48px;
	width: 48px;
}
#prvmail-end {
	clear: both;
}
#modal #prvmail-text-edit-bb .bb-img {
	display: none;
}

/* photos */
#photo-album-edit-name-label {
	width: 100%;
}
.photo-album-edit-name {
	width: 60%;
}

.photo-album-actions {
	margin-bottom: 10px;
}
.photo-album-actions .photos-order-link {
	float: right;
}

#photo-edit-submit-button {
	margin-top: 15px;
}

/* Events page */

.fc .fc-month-view .fc-content .fc-title .item-desc:hover {
	color: #2372f5;
}
.fc .fc-list-item-title a {
	color: #3b82f6;
}
.fc .fc-list-item-title a[href]:hover {
	color: #2372f5;
	text-decoration: none;
}
.event-wrapper .event-owner {
	margin-bottom: 15px;
	word-break: break-all;
}
.event-wrapper .event-owner img {
	display: block;
}
.event-owner img {
	height: 48px;
	width: 48px;
	max-width: 48px;
	border-radius: 3px;
}
.event-wrapper .vevent {
	margin-left: 0;
	margin-right: 0;
	box-shadow: 1.5px 0 0 0 rgba(0, 0, 0, 0.1) inset;
}
.event-wrapper .event-buttons {
	margin-top: 15px;
}
#event-form-wrapper {
	padding-top: 5px;
}
#event-edit-form-wrapper {
	padding-top: 15px;
}
#event-nav a {
	color: #0f172a;
}
#event-edit-form-wrapper #event-edit-time {
	padding: 10px 0;
}
.event-buttons .plink-event-link {
	margin-left: 20px;
}
.vevent .event-summary {
	font-size: 16px;
}
.vevent .event-description {
	padding: 10px 0;
}
.vevent .event-location .location {
	font-size: inherit;
	color: inherit;
}
.modal-body .vevent .event-summary {
	display: none;
}
#event-preview .vevent .event-summary {
	display: block;
}

/* Event Cards */
.event-card-details,
.event-card-header {
	width: 100%;
}
.event-card-header,
.event-card-left-date {
	float: left;
}
.vevent .event-card-header {
	display: table;
}
.event-card-left-date {
	width: 60px; /* Das muss wahrscheinlich unterschiedlich sein zwischen calendar und stream */
}
.event-card .event-date-wrapper > span {
	display: block;
	overflow: hidden;
	text-align: center;
	white-space: nowrap;
}
.event-card .event-date-wrapper .event-card-short-month {
	font-size: 13px;
	text-transform: uppercase;
}
.event-card .event-date-wrapper.medium .event-card-short-date {
	font-size: 24px;
	line-height: 28px;
	margin-top: 2px;
}
.event-card .event-card-content {
	width: 100%;
	padding: 0 5px 0 15px;
	box-shadow: 1.5px 0 0 0 rgba(0, 0, 0, 0.1) inset;
	color: #1e293b;
	position: relative;
}
.event-card .event-card-content .event-map-btn {
	position: absolute;
	right: 0;
	top: 0;
	line-height: 15px;
}
.event-card .event-card-title {
	font-size: 14px;
	color: #0f172a;
	line-height: 15px;
	font-weight: bold;
	margin: 0;
}
.event-card .event-card-location {
	margin-top: 10px;
	font-size: 13px;
}
.event-card .event-card-location br {
	content: " ";
}
.event-card .event-card-location br::after {
	content: " ";
}
.event-card-profile-name a {
	color: #3b82f6;
}
.event-card-profile-name a:hover {
	color: #2372f5;
}
.event-card .event-card-content .event-location-map {
	position: absolute;
	left: -9999px;
	top: -9999px;
}
.event-card .event-card-content .event-location-map .map {
	margin-top: 10px;
}
.event-card .description {
	margin-top: 10px;
	box-shadow: 0 1.5px 0 0 rgba(0, 0, 0, 0.1) inset;
}
/* Photos Pages */
#photo-photo {
	position: relative;
}
.photo-next-link,
.photo-prev-link {
	height: 64px;
	margin-top: -32px;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateZ(0);
	transition: opacity 0.1s;
	width: 100px;
	z-index: 11;
	font-size: 64px;
	color: #fff;
	text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
.photo-next-link > i,
.photo-prev-link > i {
	vertical-align: super;
}
.photo-next-link > i {
	float: right;
}
.photo-prev-link {
	left: 20px;
}
.photo-next-link {
	right: 20px;
}
#photo-photo:hover .photo-next-link,
#photo-photo:hover .photo-prev-link {
	opacity: 0.4;
}
#photo-photo .photo-next-link:hover,
#photo-photo .photo-prev-link:hover {
	opacity: 1;
	color: #fff;
}
.photo-comment-wrapper .comment {
	position: relative;
}
.photo-comment-wrapper .wall-item-content {
	color: #0f172a;
	font-size: 13px;
}
.photo-comment-wrapper .comment-wwedit-wrapper,
.photo-comment-wrapper .wall-item-outside-wrapper.media:first-child {
	margin-top: 15px;
}

/* Profiles Page */
.profile-listing-table {
	display: table;
	width: 100%;
}
.profile-listing-row {
	display: table-row;
}
.profile-listing-cell {
	display: table-cell;
}
.profile-listing-photo {
	width: 48px;
	height: 48px;
	margin: 10px 0px;
}
#profile-listing-new-link-wrapper {
	margin-bottom: 20px;
}

#profile-photo-upload-section {
	display: none;
	padding: 10px;
}
#profile-photo-upload-close {
	font-size: 14px;
}

/* Settings */
.section-subtitle-wrapper {
	padding: var(--space-xs) var(--space-md);
}
.accordion-toggle {
	width: 100%;
    text-align: left;
}
details.profile-jot-net[open] summary:before,
.panel .section-subtitle-wrapper .accordion-toggle:before {
	font-family: ForkAwesome;
	content: "\f0d7";
	padding-right: 5px;
}
details.profile-jot-net summary:before,
.panel .section-subtitle-wrapper .accordion-toggle.collapsed:before {
	font-family: ForkAwesome;
	content: "\f0da";
}
details.profile-jot-net summary:before {
	padding-right: 5px;
	padding-left: 3px;
}
details.profile-jot-net[open] summary:before {
	padding-right: 5px;
	padding-left: 0px;
}
#settings-nick-wrapper {
	margin-bottom: 20px;
}
.group {
	margin-left: 20px;
}

/* Emulates Bootstrap display */
.settings-block {
	margin: 0 0 var(--space-md);
	background-color: rgba(255, 255, 255, 0.95);
	border-radius: var(--radius-md);
	padding: var(--space-md) var(--space-lg);
	box-shadow: var(--shadow-sm);
	-webkit-box-shadow: 0 0 3px #dadada;
	-moz-box-shadow: 0 0 3px #dadada;
}

.settings-block.fakelink,
.settings-block > .fakelink {
	padding: 10px 25px;
	display: block;
}
.settings-block > .fakelink {
	margin: -10px -15px 10px -15px;
	border-radius: 4px 4px 0 0;
}

.settings-block.fakelink:hover,
.settings-block > .fakelink:hover {
	color: #2372f5;
}
.settings-block.fakelink > h3,
.settings-block > .fakelink > h3 {
	margin: 0;
	padding: 0;
	color: #3b82f6;
	font-size: 18px;
}

.section-subtitle-wrapper > h2 {
	font-size: var(--font-size-xl);
	font-weight: 600;
	line-height: var(--leading-tight);
	margin-top: var(--space-lg);
	margin-bottom: var(--space-md);
}
.section-subtitle-wrapper > h2 .accordion-toggle {
	margin-top: calc(-1 * var(--space-md));
	margin-bottom: calc(-1 * var(--space-md));
	padding-top: var(--space-md);
	padding-bottom: var(--space-md);
}

.section-subtitle-wrapper > h3 {
	font-size: var(--font-size-lg);
	font-weight: 600;
	line-height: var(--leading-tight);
	margin-top: var(--space-md);
	margin-bottom: var(--space-sm);
}

.fakelink > h3:before {
	padding-right: 10px;
}
.widget.fakelink > h3:before {
	font-family: ForkAwesome;
	content: "\f0da"; /* Right Plain Pointer */
}
.widget > .fakelink > h3:before,
#sidebar-circle-header > .fakelink > h3:before,
#sidebar-group-header > .fakelink > h3:before {
	font-family: ForkAwesome;
	content: "\f0d7"; /* Bottom Plain Pointer */
}

h3.connector {
	line-height: 40px;
}

/* Intro Notifications */
ul.notif-network-list {
	margin-left: -15px;
	margin-right: -15px;
}
ul.notif-network-list > li {
	padding-left: 15px;
	padding-right: 15px;
}
.intro-wrapper.media {
	overflow: visible;
	word-wrap: break-word;
	margin-top: 0;
}
.intro-photo-wrapper img.intro-photo {
	height: 80px;
	width: 80px;
	border-radius: 4px;
}
.intro-actions {
	display: flex;
}
.intro-enty-name h4 {
	font-size: 15px !important;
}
.intro-wrapper button.intro-action-link {
	opacity: 0.1;
	transition: all 0.25s ease-in-out;
}
.intro-wrapper button.intro-action-link,
.intro-wrapper button.intro-action-link:hover {
	padding-right: 5px;
	padding-left: 5px;
	color: #0f172a;
}
ul li:hover .intro-wrapper button.intro-action-link {
	opacity: 0.8;
	transition: all 0.25s ease-in-out;
}
ul li:hover .intro-wrapper button.intro-action-link:hover {
	opacity: 1;
}
.intro-action-buttons {
	margin-top: 15px;
	max-height: 0px;
	overflow: hidden;
	transition: max-height 0.1s ease-out;
}
ul.notif-network-list > li:hover .intro-action-buttons {
	max-height: 30px;
	transition: max-height 0.1s ease-in;
}
.intro-desc-label,
.intro-url-label,
.intro-network-label,
.intro-location-label,
.intro-keywords-label,
.intro-about-label,
.intro-knowyou-label,
.intro-madeby-label {
	font-weight: bold;
}
.intro-contact-info.xs .intro-url-label,
.intro-contact-info.xs .intro-network-label,
.intro-contact-info.xs .intro-location-label,
.intro-contact-info.xs .intro-keywords-label,
.intro-contact-info.xs .intro-about-label,
.intro-contact-info.xs .intro-knowyou-label {
	display: block;
	margin-top: 5px;
}

/* Notifications Page */
ul.notif-network-list li.unseen {
	background-color: #e3eff3;
}
.notif-item img.notif-image {
	height: 48px;
	width: 48px;
	border-radius: 4px;
}
.notif-item .notif-desc-wrapper {
	height: 48px;
}
.notif-item .notif-desc-wrapper a {
	height: 100%;
	display: block;
	color: #0f172a;
	font-size: 13px;
	font-weight: 600;
}

/* Search Page */

/* This is a little bit hacky. Since the search page is used for different
content types we can't apply the generic-page-wrapper class.
So we apply the css of the generic-page-wrapper class to the ul element with some
little modifications to emulate a standard page template */
.search-content-wrapper > ul.viewcontact_wrapper {
	min-height: calc(100vh - 150px);
	padding-top: 15px;
	padding-bottom: 20px;
	margin: 0;
	margin-bottom: 20px;
	border: none;
	background-color: rgba(255, 255, 255, 0.95);
	border-radius: 4px;
	position: relative;
	color: #0f172a;
	box-shadow: 0 0 3px #dadada;
	-webkit-box-shadow: 0 0 3px #dadada;
	-moz-box-shadow: 0 0 3px #dadada;
}

/* Help Page */
section.help-content-wrapper h1 {
	padding-bottom: 0.3em;
	font-size: 1.8em;
	border-bottom: 1px solid #ddd;
}
section.help-content-wrapper h2 {
	padding-bottom: 0.3em;
	font-size: 1.5em;
	border-bottom: 1px solid #ddd;
}
section.help-content-wrapper h3 {
	font-size: 1.2em;
}
section.help-content-wrapper h4 {
	font-size: 1em;
}
section.help-content-wrapper h1,
section.help-content-wrapper h2,
section.help-content-wrapper h3,
section.help-content-wrapper h4,
section.help-content-wrapper h5,
section.help-content-wrapper h6 {
	margin-top: 24px;
	margin-bottom: 16px;
	font-weight: 600;
	line-height: 1.25;
}
section.help-content-wrapper p {
	margin: 0.4em 0;
}
section.help-content-wrapper p,
section.help-content-wrapper a,
section.help-content-wrapper li {
	line-height: 1.6;
	font-size: 0.96em;
}

/*Admin Page*/
#adminpage #frio_background_image .image-select {
	display: none;
}
#adminpage #frio_background_image.input-group {
	display: block;
}
#admin-summary-wrapper {
	padding-top: 10px;
}
#adminpage ul#addonslist,
li.addon {
	list-style: none;
}
#adminpage li .icon {
	display: inline-block;
	vertical-align: text-top;
	position: relative;
	padding-left: 5px;
}
#adminpage li .icon:before {
	content: "";
	display: inline-block;
	position: absolute;
	width: 17px;
	height: 17px;
	left: 0;
	margin-left: -20px;
	margin-top: 2px;
	border: 1px solid #cccccc;
	border-radius: 3px;
	background-color: #f8fafc;
	-webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
	-o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
	transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}
#adminpage li .icon.on:after {
	font-family: "ForkAwesome";
	content: "\f00c";
	display: inline-block;
	position: absolute;
	width: 16px;
	height: 16px;
	left: 0;
	top: 0;
	margin-left: -20px;
	margin-top: 2px;
	padding-left: 3px;
	padding-top: 1px;
	font-size: 11px;
	color: #3b82f6;
}
#adminpage .addon .desc {
	padding-left: 10px;
}
#adminpage h2 {
	word-break: break-all;
}
#adminpage .table-logs thead tr {
	display: grid;
	grid-auto-flow: row;
}
#adminpage .table-logs tbody {
	display: table;
	width: 100%;
	table-layout: fixed;
}
#adminpage .table-logs td {
	word-break: break-word;
}
#adminpage .table-logs td.log-message {
	width: 40%;
}
#logdetail td.log-message {
	width: 80%;
}
@media (min-width: 600px) {
	#adminpage .table-logs thead tr {
		grid-auto-flow: column;
	}
	#adminpage .table-logs td.log-message {
		width: 60%;
	}
}
#admin-users #users tr.blocked {
	background-color: #f8efc0;
}
.adminpage .table-hover > tbody > tr:hover + tr.details {
	background-color: #f5f5f5;
}
.offset-anchor::before {
	display: block;
	content: " ";
	margin-top: -100px;
	height: 100px;
	visibility: hidden;
	pointer-events: none;
}

#relocate-form {
	margin-top: 5px;
}

/* Manage Page */
#identity-selector-wrapper {
	width: auto;
	height: auto;
	margin-top: 20px;
}
#identity-selector-wrapper .identity-match-photo {
	width: auto;
	float: none;
}
#identity-selector-wrapper .identity-match-photo button {
	position: relative;
}
#identity-selector-wrapper .identity-match-photo .badge {
	position: absolute;
	top: -8px;
	right: -8px;
}
#identity-selector-wrapper .identity-match-name {
	text-align: center;
}
#identity-selector-wrapper .identity-match-details {
	width: auto;
	float: none;
}

/* Register Page */
#register-openid-wrapper,
#register-name-wrapper,
#register-invite-wrapper,
#profile-publish-wrapper {
	margin-top: 20px;
}
#register-openid-end,
#register-nickname-end {
	margin-top: 40px;
}

/*
* Overwriting for transparency and other colors
*/
main .nav-tabs > li.active > a,
main .nav-tabs > li.active > a:focus,
main .nav-tabs > li.active > a:hover {
	background-color: rgba(255, 255, 255, 0.95);
}

/*
 * Modal
 */
.modal hr {
	border-color: #eee;
}

@media (min-width: 768px) {
	.modal-dialog {
		width: 650px;
	}
}

/*
 * Framework overwrite
 */

/* textcomplete for contact filtering*/
#contact-list ul.dropdown-menu.textcomplete-dropdown.media-list {
	position: relative !important;
	top: inherit !important;
	bottom: inherit !important;
	left: inherit !important;
	padding: 0;
	margin-left: -15px;
	margin-right: -15px;
	background-color: transparent;
	box-shadow: none;
	border: none;
}
#contact-list ul.dropdown-menu.textcomplete-dropdown.media-list > li {
	padding-left: 15px;
	border-bottom: 1px solid rgba(238, 238, 238, 0.95);
}
#contact-list ul.dropdown-menu.textcomplete-dropdown.media-list > li:first-child {
	display: none;
}
#contact-list ul.dropdown-menu.textcomplete-dropdown.media-list .textcomplete-item > a {
	padding: 0 !important;
	border-left: none;
	background-color: transparent !important;
}
/* this is a little hack for texcomplete contact filter
There are for some reasons empty <a> tags. I don't know why */
.textcomplete-item .contact-wrapper a {
	padding: 0;
}

/* hovercard fix - updated for modern theme */
body .tread-wrapper .hovercard a,
body .tread-wrapper .hovercard a:hover {
	color: #4f46e5;
}
body .tread-wrapper .hovercard:hover .hover-card-content a {
	color: #6366f1 !important;
}

/* Pagination improvements */
.pagination {
	text-align: center;
	display: block;
}
.pagination > li > a,
.pagination > li > span {
	color: #3b82f6;
	float: none;
}
.pagination > li > a:hover,
.pagination > li > span:hover {
	color: #2372f5;
}
.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
	background-color: #3b82f6;
	border-color: #3b82f6;
	border-radius: 3px;
}
.pagination li.pager_n a {
	margin-left: 3px;
	border-radius: 3px;
}
.pagination .pager_prev a {
	margin-left: -5px;
	margin-right: 4px;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}
.pagination .pager_next a {
	margin-left: 4px;
	margin-right: -5px;
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
}
.pager .next > a,
.pager .previous > a {
	float: none;
	border-radius: 3px;
}
.pagination .disabled > a,
.pager .disabled > a {
	display: none;
}

.pagination li > a,
.pager li > a {
	background-color: rgba(255, 255, 255, 0.95);
}

/*
 * some temporary workarounds until this will solved
 * elsewhere (e.g. new templates)
 */

section .profile-match-wrapper {
	float: left;
}

.profile-match-photo {
	align-items: center;
	display: flex;
	justify-content: center;
}

.profile-match-name {
	align-items: center;
	display: flex;
	justify-content: center;
	text-align: center;
}

.profile-match-break {
	display: none;
}

.profile-match-end {
	display: none;
}

/**
 * Login page
 */
#login-submit-wrapper {
	float: right;
}
#lost-password-link {
	flex-grow: 2;
}
#login-lost-password-link {
	margin-bottom: 10px;
	float: right;
}
#div_id_remember {
	float: left;
}
#id_password_wrapper {
	margin-bottom: unset;
}
#login_openid {
	clear: both;
}
#register-link {
	color: white;
	background: #8ad0a1;
	width: 100%;
}
#login-end {
	clear: both;
}

.mod-home.is-not-singleuser,
.mod-login {
	background-color: #f1f5f9;
	/* Modern 2025 gradient overlay for better visual hierarchy */
	background-image: 
		linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%),
		linear-gradient(to right, rgba(15, 23, 42, 0.8), rgba(30, 41, 59, 0.6)), 
		url(img/login_bg.jpg);
	background-size: cover;
	background-attachment: fixed;
	background-position: center;
	padding-top: 0;
	/* Add subtle texture for depth */
	position: relative;
}
.mod-home.is-not-singleuser nav.navbar,
.mod-login nav.navbar {
	background-color: transparent;
	position: inherit;
}
.mod-home.is-not-singleuser #topbar-second,
.mod-login #topbar-second {
	background-color: transparent;
	box-shadow: unset;
	border: 0;
}
.mod-home.is-not-singleuser .login-content,
.mod-login .login-content {
	color: #eee;
	margin-top: 2.5%;
}

.mod-home.is-not-singleuser .login-form > #login-extra-links {
	margin-top: 4em;
}

.mod-home.is-not-singleuser .login-form > #login-form label,
.mod-login #content #login-form label {
	color: #eee;
}

.mod-home.is-not-singleuser .login-panel-content,
.mod-login .login-panel-content {
	/* Modern glass-morphism effect for 2025 */
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	transition: all 0.3s ease;
}

.mod-home.is-not-singleuser .login-panel-content:hover,
.mod-login .login-panel-content:hover {
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
	transform: translateY(-2px);
}

.qq-upload-button {
	background: #334155 !important;
	color: #ffffff !important;
	float: none;
	border: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	-moz-box-shadow: none;
	background-image: none;
	text-shadow: none;
	border-radius: 3px;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: 600;
	padding: 8px 16px;
	color: inherit;
	width: 100% !important;
}

.qq-upload-drop-area {
	background: white !important;
	float: none;
	border: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	-moz-box-shadow: none;
	background-image: none;
	text-shadow: none;
	border-radius: 3px;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: 600;
	padding: 8px 16px;
	color: inherit;
	width: 100% !important;
	display: block !important;
	position: relative !important;
	border: black 1px dashed !important;
	margin-bottom: 5px !important;
	margin-top: 15px !important;
}

/**
 * The different views of js fullcalendar
 */
#fc-header {
	margin-top: 20px;
	margin-bottom: 10px;
}
#fc-header-left,
#fc-header-right,
#event-calendar-title {
	display: inline-block;
}
#fc-title {
	margin: 0;
	padding-left: 20px;
}
#fc-header-right {
	margin-top: -4px;
}
#fc-header-right .dropdown > button {
	color: inherit;
}
#event-calendar-title {
	vertical-align: middle;
}
#event-calendar-views {
	padding: 6px 9px;
	font-size: 14px;
}
.fc .fc-toolbar {
	display: none;
}
.fc .fc-month-view td.fc-widget-content,
.fc .fc-list-view,
.fc .fc-list-view .fc-list-table td,
.fc .fc-body td {
	border-style: none;
}
.fc td.fc-widget-header,
.fc th.fc-widget-header {
	border-left: none;
	border-right: none;
	border-top: none;
}
.fc .fc-month-view td.fc-day {
	border-left: none;
	border-right: none;
	border-bottom: 1px solid;
	padding: 0 6px;
}
.fc .fc-day-grid-container .fc-row {
	border-bottom: 1px solid;
	border-color: #ddd;
}
.fc tr td.fc-today {
	border-style: none;
}
.fc .fc-month-view .fc-content .fc-title .item-desc {
	font-size: 11px;
}
.fc .fc-view-container {
	margin-top: 25px;
}
.fc .fc-list-view td {
	padding: 0;
}
#events-calendar.fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
	float: left;
	font-size: 12px;
}
.fc .fc-event {
	background-color: #e3f2fd;
	border: 1px solid #bbdefb;
	color: #0f172a;
}
.fc .fc-month-view .fc-time,
.fc .fc-listMonth-view .fc-list-item-time,
.fc .fc-listMonth-view .fc-list-item-marker,
.fc .fc-listMonth-view .fc-widget-header {
	display: none;
}
.fc .fc-listMonth-view .fc-list-item:hover td {
	background: transparent;
	cursor: pointer;
}
.fc .fc-listMonth-view .separator {
	margin-left: 30px;
	width: 60px;
}

/**
 * The event-card
 */
.event-card {
	width: auto;
}
.event-card .event-label,
.event-card .location-label {
	font-weight: bold;
}
.popover.event-card .event-card-basic-content {
	margin-top: 0;
	padding: 9px;
	padding-left: 0px;
}
.event-card .event-hover-location .location {
	color: #1e293b;
	font-size: 13px;
}

.generic-page-wrapper.contact-follow-wrapper {
	min-height: auto;
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.mod-home.is-not-singleuser #content,
	.mod-login #content {
		margin-top: 100px !important;
	}

	.mod-home.is-not-singleuser .login-form > #login-form,
	.mod-home.is-not-singleuser .login-form > #login-extra-links,
	.mod-login #content #login-form {
		background-color: #fff;
		padding: 1em;
		position: relative;
	}
	.mod-home.is-not-singleuser .login-form > #login-extra-links {
		margin-top: unset;
		background-color: white;
	}

	.mod-home.is-not-singleuser .login-form > #login-form label,
	.mod-login #content #login-form label {
		color: #444;
	}

	.mod-home.is-not-singleuser .login-form::before,
	.mod-login #content #login-form::before {
		display: block;
		position: absolute;
		content: " ";
		background-color: rgba(255, 255, 255, 0.1);
		width: 90%;
		height: 110%;
		top: -5%;
		left: 5%;
		z-index: -1;
	}

	.mod-home.is-not-singleuser .login-form::after,
	.mod-login #content #login-form::after {
		display: block;
		position: absolute;
		content: " ";
		background-color: rgba(255, 255, 255, 0.2);
		width: 80%;
		height: 120%;
		top: -10%;
		left: 10%;
		z-index: -1;
	}
}

/* Mobile display */
@media (max-width: 600px) {
	body {
		padding-top: 95px;
	}
	body.minimal {
		padding: 15px;
	}

	#friendica-logo-mask {
		display: none;
	}

	.container {
		padding-right: 0;
		padding-left: 0;
	}

	.panel {
		border-radius: 0;
		margin-bottom: 5px;
	}

	.toplevel_item > .wall-item-container {
		padding: 0;
	}

	.wall-spacer {
		height: 0px;
	}

	.wall-item-actions {
		margin-top: 10px;
	}

	.media {
		margin-top: 0;
	}

	.mod-home.is-not-singleuser,
	.mod-login {
		padding-left: 10px;
		padding-right: 10px;
	}

	.generic-page-wrapper,
	.videos-content-wrapper,
	.suggest-content-wrapper,
	.help-content-wrapper,
	.match-content-wrapper,
	.dirfind-content-wrapper,
	.directory-content-wrapper,
	.delegation-content-wrapper,
	.notes-content-wrapper,
	.message-content-wrapper,
	.apps-content-wrapper,
	#adminpage,
	.delegate-content-wrapper,
	.uexport-content-wrapper,
	.dfrn_request-content-wrapper,
	.friendica-content-wrapper,
	.credits-content-wrapper,
	.nocircle-content-wrapper,
	.profperm-content-wrapper,
	.invite-content-wrapper,
	.tos-content-wrapper,
	.fsuggest-content-wrapper {
		border-radius: 0;
		padding: 10px;
	}

	.row {
		margin-right: 0;
	}

	.col-lg-1,
	.col-lg-10,
	.col-lg-11,
	.col-lg-12,
	.col-lg-2,
	.col-lg-3,
	.col-lg-4,
	.col-lg-5,
	.col-lg-6,
	.col-lg-7,
	.col-lg-8,
	.col-lg-9,
	.col-md-1,
	.col-md-10,
	.col-md-11,
	.col-md-12,
	.col-md-2,
	.col-md-3,
	.col-md-4,
	.col-md-5,
	.col-md-6,
	.col-md-7,
	.col-md-8,
	.col-md-9,
	.col-sm-1,
	.col-sm-10,
	.col-sm-11,
	.col-sm-12,
	.col-sm-2,
	.col-sm-3,
	.col-sm-4,
	.col-sm-5,
	.col-sm-6,
	.col-sm-7,
	.col-sm-8,
	.col-sm-9,
	.col-xs-1,
	.col-xs-10,
	.col-xs-11,
	.col-xs-12,
	.col-xs-2,
	.col-xs-3,
	.col-xs-4,
	.col-xs-5,
	.col-xs-6,
	.col-xs-7,
	.col-xs-8,
	.col-xs-9 {
		padding-right: 0;
	}

	.wwto .contact-photo {
		height: 19px;
		padding: 0;
		top: 24px;
		left: 24px;
	}

	/*
		Prevent automatic zoom on input focus on iOS
		see https://stackoverflow.com/a/16255670
	*/
	.form-control {
		font-size: 16px;
	}

	/* Mobile threading handled by unified system above */
	
	/* Mobile comment-fake-form optimization */
	.comment-fake-form {
		padding: var(--space-sm);
		margin: var(--space-sm) 0;
		border-radius: var(--radius-md);
	}
	
	.comment-fake-form::before {
		width: 16px;
		height: 2px;
	}
	
	.comment-fake-form textarea {
		padding: var(--space-xs);
		font-size: 16px; /* Prevent zoom on iOS */
	}
}

/* Icon sizing to match original frio theme */
.navbar .nav > li > a i,
.navbar .nav > li > button i,
.topbar .nav > li > a i,
.topbar .nav > li > button i,
#topbar-first .nav > li > a i,
#topbar-first .nav > li > button i {
	font-size: 16px;
	margin-right: 4px;
}

/* Dropdown menu sizing to match frio */
.navbar .dropdown-menu,
.topbar .dropdown-menu,
#topbar-first .dropdown-menu {
	font-size: 14px;
	padding: 5px 0;
}

.navbar .dropdown-menu li > a,
.topbar .dropdown-menu li > a,
#topbar-first .dropdown-menu li > a {
	padding: 8px 20px;
	font-size: 14px;
	line-height: 1.42857143;
}

/* Improved text contrast for better readability */
.text-muted,
.text-secondary,
small,
.small {
	color: #475569 !important; /* Darker muted text */
}

/* Better contrast for content areas */
.panel-body,
.wall-item-body,
.comment-wrapper,
.section-content-wrapper {
	color: #1e293b;
}

/* Enhanced contrast for light text on white backgrounds */
.wall-item-container .wall-item-content,
.comment-edit-wrapper,
.generic-page-wrapper {
	color: #1e293b;
}

/* Ensure links have enough contrast */
a {
	color: var(--accent-color);
	font-weight: 500;
}

a:hover {
	color: var(--accent-color);
	filter: brightness(0.8);
}

/* Navbar elements sized to match original frio */
#topbar-first .nav > li > a,
#topbar-first .nav > li > button,
nav.navbar .nav > li > a,
nav.navbar .nav > li > button {
	font-size: 14px;
	font-weight: normal;
	transition: var(--transition);
}

/* Notification badges sized like original frio */
.badge,
.label {
	font-size: 11px;
	padding: 3px 8px;
	line-height: 1.2;
	border-radius: 10px;
	font-weight: 500;
}

/* Mobile menu button to match frio */
.navbar-toggle {
	padding: 9px 10px;
	font-size: 14px;
}

/* Phase 2C: Modern Content Area Improvements */

/* Enhanced post cards with modern styling - maintaining original dimensions */
/* Removed - replaced with specific thread level styling above */

/* Modern panel styling */
/* Removed - panel styling now defined above with proper hierarchy */

.panel .panel-body {
	padding: 15px; /* Keep original frio padding */
	background-color: rgba(255, 255, 255, 0.98);
	border-radius: 15px;
}

/* Enhanced contact photo with modern styling - same 48px size */
.contact-photo {
	height: 48px;
	width: 48px;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
	transition: var(--transition);
	border: 2px solid rgba(255, 255, 255, 0.9);
}

.contact-photo:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-1px);
}

/* Modern contact photo overlay */
.contact-photo-overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	overflow: hidden;
	top: 0;
	left: 0;
	border-radius: var(--radius-lg);
	background: rgba(0, 0, 0, 0.6);
	text-align: center;
	opacity: 0;
	transition: var(--transition);
	backdrop-filter: blur(4px);
}

.contact-photo-overlay:hover {
	opacity: 1;
}

/* Enhanced comment threading visual hierarchy */
.comment-wrapper {
	background-color: rgba(0, 0, 0, 0.02);
	border-radius: var(--radius-md);
	padding: 8px;
	margin: 4px 0;
	border-left: 3px solid var(--accent-color);
	transition: var(--transition);
}

.comment-wrapper:hover {
	background-color: rgba(0, 0, 0, 0.04);
	border-left-color: var(--accent-color);
	box-shadow: var(--shadow-sm);
}

/* Modern action buttons (like/share/comment) */
.wall-item-actions,
.wall-item-responses {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.wall-item-actions a {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	margin-right: 8px;
	border-radius: var(--radius-md);
	font-size: 14px;
	font-weight: 500;
	transition: var(--transition);
	background-color: rgba(0, 0, 0, 0.04);
	color: #64748b;
	text-decoration: none;
}

/* Keep wall-item-responses separate to preserve proper font sizing */
.wall-item-responses a:not(.btn-link) {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	margin-right: 8px;
	border-radius: var(--radius-md);
	font-size: 14px;
	font-weight: 500;
	transition: var(--transition);
	background-color: rgba(0, 0, 0, 0.04);
	color: #64748b;
	text-decoration: none;
}

.wall-item-actions a:hover {
	background-color: var(--accent-color);
	color: white;
	transform: translateY(-1px);
	box-shadow: var(--shadow-sm);
}

.wall-item-responses a:not(.btn-link):hover {
	background-color: var(--accent-color);
	color: white;
	transform: translateY(-1px);
	box-shadow: var(--shadow-sm);
}

.wall-item-actions a i,
.wall-item-responses a i {
	margin-right: 4px;
	font-size: 12px;
}

/* Enhanced content readability */
.wall-item-body {
	padding: 10px 0;
	line-height: var(--leading-relaxed);
	color: #1e293b;
}

.wall-item-content {
	font-size: 14px;
	color: #334155;
}

/* Modern metadata styling */
.wall-item-date,
.wall-item-location {
	font-size: 12px;
	color: #64748b;
	margin-top: 8px;
}

.wall-item-date a,
.wall-item-location a {
	color: #64748b;
	text-decoration: none;
}

.wall-item-date a:hover,
.wall-item-location a:hover {
	color: var(--accent-color);
}

/* Phase 2E: Mobile Responsiveness Enhancements */

/* Enhanced touch targets for mobile */
@media screen and (max-width: 768px) {
	/* Larger touch targets for action buttons */
	.wall-item-actions a,
	.wall-item-responses a {
		padding: 12px 16px;
		margin: 4px 4px 4px 0;
		min-height: 44px;
		font-size: 15px;
	}
	
	/* Better mobile navigation */
	.topbar ul.nav > li > a,
	.topbar ul.nav > li > button {
		padding: 18px 12px;
		font-size: 16px;
	}
	
	/* Enhanced contact photos for easier tapping */
	.contact-photo {
		height: 52px;
		width: 52px;
		border-radius: var(--radius-lg);
	}
	
	/* Improved mobile panels */
	.panel .panel-body {
		padding: 16px;
	}
	
	/* Better mobile comment spacing */
	.comment-wrapper {
		padding: 12px;
		margin: 8px 0;
	}
	
	/* Enhanced mobile typography */
	.wall-item-content {
		font-size: 16px;
		line-height: var(--leading-relaxed);
	}
	
	.wall-item-body {
		padding: 12px 0;
	}
}

/* Ultra-mobile optimizations for very small screens */
@media screen and (max-width: 480px) {
	/* Even larger touch targets */
	.wall-item-actions a,
	.wall-item-responses a {
		padding: 14px 18px;
		font-size: 15px;
		width: 100%;
		margin: 4px 0;
		text-align: center;
		justify-content: center;
	}
	
	/* Full-width mobile panels */
	/* Mobile media styling for both posts and comments */
	.wall-item-container.thread_level_1 .media {
		padding: var(--space-md);
		border-radius: var(--radius-md);
	}
	
	.comment-container .wall-item-container .media {
		padding: var(--space-sm);
		border-radius: var(--radius-sm);
	}
	
	/* Improved mobile content readability */
	.wall-item-content {
		font-size: 17px;
		line-height: 1.7;
	}
	
	/* Better mobile metadata */
	.wall-item-date,
	.wall-item-location {
		font-size: 14px;
		margin-top: 12px;
	}
}

/* Phase 3: Advanced Micro-Interactions */

/* Smooth loading states with skeleton animations */
@keyframes skeleton-loading {
	0% { background-position: -200px 0; }
	100% { background-position: calc(200px + 100%) 0; }
}

.skeleton-loading {
	background: linear-gradient(90deg, rgba(0,0,0,0.06) 25%, rgba(0,0,0,0.03) 50%, rgba(0,0,0,0.06) 75%);
	background-size: 200px 100%;
	animation: skeleton-loading 1.5s infinite;
}

/* Enhanced focus management for better keyboard navigation */
*:focus {
	outline: 2px solid var(--accent-color);
	outline-offset: 2px;
	border-radius: var(--radius-sm);
}

/* Smooth page transitions */
.page-content {
	animation: fadeInUp 0.3s ease-out;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Advanced button micro-interactions */
.btn,
.wall-item-actions a,
.wall-item-responses a {
	position: relative;
	overflow: hidden;
}

.btn::before,
.wall-item-actions a::before,
.wall-item-responses a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.3);
	transition: width 0.3s, height 0.3s, top 0.3s, left 0.3s;
	transform: translate(-50%, -50%);
}

.btn:active::before,
.wall-item-actions a:active::before,
.wall-item-responses a:active::before {
	width: 300px;
	height: 300px;
}

/* Scroll progress indicator */
.scroll-progress {
	position: fixed;
	top: 0;
	left: 0;
	width: 0%;
	height: 3px;
	background: linear-gradient(90deg, var(--accent-color), var(--accent-color));
	z-index: 1031;
	transition: width 0.1s ease-out;
}

/* Enhanced notification animations */
.notification {
	transform: translateX(100%);
	animation: slideInRight 0.3s ease-out forwards;
}

@keyframes slideInRight {
	to {
		transform: translateX(0);
	}
}

/* Improved dropdown animations - fixed for Bootstrap 3 */
.dropdown-menu {
	transform: translateY(-10px) scale(0.95);
	opacity: 0;
	transition: all 0.15s ease-out;
	display: block !important;
	visibility: hidden;
}

.dropdown-menu.show,
.open > .dropdown-menu {
	transform: translateY(0) scale(1);
	opacity: 1;
	visibility: visible;
}

/* Modern loading spinner */
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.loading-spinner {
	width: 20px;
	height: 20px;
	border: 2px solid rgba(0,0,0,0.1);
	border-left: 2px solid var(--accent-color);
	border-radius: 50%;
	animation: spin 1s linear infinite;
	display: inline-block;
	margin-right: 8px;
}

/* Safe hover effects without problematic scaling */
@media (prefers-reduced-motion: no-preference) {
	/* Removed problematic parallax effect that caused image flickering and click issues */
	/* Original hover effects are already defined above for thread_level_1 and comments */
	/* This section now intentionally left minimal to avoid conflicts */
}

/* Accessibility and dark mode support for visual hierarchy */

/* High contrast mode adjustments */
@media (prefers-contrast: high) {
	.comment-container {
		border-left-width: 4px;
		background: rgba(0, 0, 0, 0.05);
	}
	
	.wall-item-container.thread_level_1 .media {
		border-width: 2px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	}
	
	.wall-item-container.thread_level_3::before,
	.wall-item-container.thread_level_4::before,
	.wall-item-container.thread_level_5::before,
	.wall-item-container.thread_level_6::before {
		width: 3px;
		background: rgba(0, 0, 0, 0.3);
	}
}

/* Dark mode adaptations - using neutral colors */
@media (prefers-color-scheme: dark) {
	.comment-container {
		background: rgba(255, 255, 255, 0.02);
		border-left-color: rgba(255, 255, 255, 0.1);
	}
	
	.comment-container::before {
		border-bottom-color: rgba(255, 255, 255, 0.02);
	}
	
	.wall-item-container.thread_level_3::before,
	.wall-item-container.thread_level_4::before,
	.wall-item-container.thread_level_5::before,
	.wall-item-container.thread_level_6::before,
	.wall-item-container.thread_level_7::before,
	.wall-item-container.thread_level_8::before,
	.wall-item-container.thread_level_9::before {
		background: linear-gradient(to bottom, 
			rgba(255, 255, 255, 0.2) 0%, 
			rgba(255, 255, 255, 0.1) 50%, 
			transparent 100%);
	}
	
	/* Dark mode comment-fake-form - aligned with theme design language */
	.comment-fake-form {
		background-color: rgba(255, 255, 255, 0.8);
		border-color: rgba(0, 0, 0, 0.06);
	}
	
	.comment-fake-form:hover {
		background-color: rgba(255, 255, 255, 0.9);
		transform: translateY(-1px);
	}
	
	.comment-fake-form textarea {
		border: none;
		background: transparent;
		color: rgba(0, 0, 0, 0.8);
	}
	
	.comment-fake-form textarea:focus {
		background: rgba(255, 255, 255, 0.3);
		color: rgba(0, 0, 0, 0.9);
		box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
	}
	
	.comment-fake-form textarea::placeholder {
		color: rgba(0, 0, 0, 0.5);
	}
	
	.comment-fake-form::before {
		background: rgba(255, 255, 255, 0.2);
	}

	/* Dark mode comment form adjustments */
	.dark .comment-edit-form,
	.black .comment-edit-form {
		background: rgba(30, 30, 30, 0.5);
		border-color: rgba(255, 255, 255, 0.05);
	}

	.dark .comment-edit-form textarea,
	.black .comment-edit-form textarea {
		background: rgba(0, 0, 0, 0.3);
		border-color: rgba(255, 255, 255, 0.08);
		color: #e0e0e0;
	}

	.dark .comment-edit-form textarea:focus,
	.black .comment-edit-form textarea:focus {
		background: rgba(0, 0, 0, 0.5);
		border-color: rgba(102, 126, 234, 0.4);
		box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.15);
	}

	.dark .comment-icon-list,
	.black .comment-icon-list {
		background: transparent;
		border: none;
	}

	.dark .comment-icon-list .btn,
	.black .comment-icon-list .btn {
		color: #a0a0a0;
	}

	.dark .comment-icon-list .btn:hover,
	.black .comment-icon-list .btn:hover {
		background: rgba(102, 126, 234, 0.2);
		color: #889aff;
	}

	.dark .comment-edit-submit-wrapper,
	.black .comment-edit-submit-wrapper {
		border-top-color: rgba(255, 255, 255, 0.08);
	}

	.dark .comment-wwedit-wrapper.threaded::before,
	.black .comment-wwedit-wrapper.threaded::before {
		background: linear-gradient(180deg, rgba(102, 126, 234, 0.3), transparent);
	}

	/* Dark mode notification menu */
	.dark #topbar-first #nav-notifications-menu,
	.black #topbar-first #nav-notifications-menu {
		background: linear-gradient(145deg, #1a1a1a, #242424);
		border-color: rgba(255, 255, 255, 0.1);
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
	}

	.dark #topbar-first #nav-notifications-menu a,
	.black #topbar-first #nav-notifications-menu a {
		color: #e0e0e0;
	}

	.dark #topbar-first #nav-notifications-menu li.notif-entry,
	.black #topbar-first #nav-notifications-menu li.notif-entry {
		color: #e0e0e0;
	}

	.dark #topbar-first #nav-notifications-menu li.notification-unseen,
	.black #topbar-first #nav-notifications-menu li.notification-unseen {
		background: linear-gradient(90deg, rgba(102, 126, 234, 0.2) 0%, transparent 100%);
	}

	.dark #topbar-first #nav-notifications-menu li.notif-entry:hover,
	.black #topbar-first #nav-notifications-menu li.notif-entry:hover {
		background: rgba(102, 126, 234, 0.15);
	}

	.dark #topbar-first #nav-notifications-menu .media .media-body .contactname,
	.black #topbar-first #nav-notifications-menu .media .media-body .contactname {
		color: #ffffff;
	}

	.dark #topbar-first .topbar-nav .dropdown-menu,
	.black #topbar-first .topbar-nav .dropdown-menu {
		background: linear-gradient(145deg, #1a1a1a, #242424);
		border-color: rgba(255, 255, 255, 0.1);
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
	}

	/* Dark mode post and comment hierarchy */
	.dark .toplevel_item > .panel,
	.dark .wall-item-container.thread-wrapper > .panel,
	.black .toplevel_item > .panel,
	.black .wall-item-container.thread-wrapper > .panel {
		background-color: rgba(30, 30, 30, 0.98);
		border-color: rgba(255, 255, 255, 0.05);
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	}

	/* Dark mode comment boxes */
	.dark .comment-container .wall-item-container,
	.black .comment-container .wall-item-container {
		background: rgba(40, 40, 40, 0.98);
		border-color: rgba(255, 255, 255, 0.08);
		box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	}

	/* Removed hover effects
	.dark .comment-container .wall-item-container:hover,
	.black .comment-container .wall-item-container:hover {
		background: rgba(45, 45, 45, 1);
		border-color: rgba(102, 126, 234, 0.3);
		box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
	}
	*/

	/* Dark mode thread styling */
	.dark .comment-container::before,
	.black .comment-container::before {
		background: linear-gradient(180deg, rgba(102, 126, 234, 0.4), rgba(102, 126, 234, 0.25));
	}

	.dark .comment-container:first-of-type::before,
	.black .comment-container:first-of-type::before {
		background: linear-gradient(180deg, rgba(102, 126, 234, 0), rgba(102, 126, 234, 0.4) 50%);
	}

	.dark .comment-container:last-of-type::before,
	.black .comment-container:last-of-type::before {
		background: linear-gradient(180deg, rgba(102, 126, 234, 0.4), transparent);
	}

	/* Dark mode connection dots */
	.dark .comment-container::after,
	.black .comment-container::after {
		background: #889aff;
		border-color: #2a2a2a;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	}

	.dark .comment-container:hover::after,
	.black .comment-container:hover::after {
		background: #a89aff;
		transform: scale(1.2);
	}

	/* Dark mode horizontal connectors */
	.dark .comment-container .wall-item-container::before,
	.black .comment-container .wall-item-container::before {
		background: rgba(102, 126, 234, 0.3);
	}

	/* Dark mode panel-body */
	.dark .panel .panel-body,
	.black .panel .panel-body {
		background-color: rgba(30, 30, 30, 0.98);
		border-radius: 15px;
	}

	/* Light theme tooltips */
	body:not(.dark):not(.black) .tooltip-inner {
		background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
		color: #ffffff;
		border: 1px solid rgba(255, 255, 255, 0.1);
	}

	body:not(.dark):not(.black) .tooltip.top .tooltip-arrow {
		border-top-color: #1a1a1a;
	}

	body:not(.dark):not(.black) .tooltip.bottom .tooltip-arrow {
		border-bottom-color: #1a1a1a;
	}

	body:not(.dark):not(.black) .tooltip.left .tooltip-arrow {
		border-left-color: #1a1a1a;
	}

	body:not(.dark):not(.black) .tooltip.right .tooltip-arrow {
		border-right-color: #1a1a1a;
	}
}

/* Respect user's motion preferences */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ULTIMATE FIX: Absolutely prevent image flickering - must be at end of file */
/* This is the nuclear option to stop all image transitions */
img {
	transition: none !important;
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-o-transition: none !important;
	-ms-transition: none !important;
	transition-property: none !important;
	transition-duration: 0s !important;
	transition-delay: 0s !important;
}

/* Ensure wall item images specifically have no transitions */
.wall-item-body img,
.wall-item-content img,
.media img,
.media-body img {
	transition: none !important;
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-o-transition: none !important;
	-ms-transition: none !important;
}

/* ========================================================================
   MODERN PERFORMANCE OPTIMIZATIONS
   ======================================================================== */

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
	
	/* Removed hover effect
	.wall-item-container .media:hover {
		transform: none !important;
	}
	*/
}

/* ==== QUALITY OF LIFE FEATURES & ACCESSIBILITY ==== */

/* Thread depth indicators */
.thread-depth-indicator {
	position: absolute;
	top: 8px;
	right: 8px;
	padding: 2px 6px;
	background: rgba(0, 0, 0, 0.05);
	color: rgba(0, 0, 0, 0.4);
	font-size: 9px;
	font-weight: 700;
	border-radius: 4px;
	z-index: 25;
	pointer-events: none;
	transition: var(--thread-transition);
}

/* Thread connection active state - DISABLED */
/* .wall-item-container.thread-connection-active::before {
	transform: scale(1.3);
	box-shadow: 0 0 0 4px currentColor,
	            0 4px 12px rgba(0, 0, 0, 0.2);
}

.wall-item-container.thread-connection-active::after {
	opacity: 1;
	background: currentColor;
} */

/* Reply context styling */
.reply-context {
	background: var(--parent-ref-bg, rgba(59, 130, 246, 0.08));
	border: 1px solid var(--parent-ref-border, rgba(59, 130, 246, 0.2));
	border-radius: 6px;
	padding: 6px 10px;
	margin: 0 0 10px 0;
	font-size: 13px;
	color: #666;
	transition: all 0.2s ease;
	cursor: pointer;
	display: flex;
	align-items: baseline;
	gap: 4px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.reply-context:hover {
	background: rgba(59, 130, 246, 0.12);
	border-color: rgba(59, 130, 246, 0.3);
	transform: translateX(2px);
}

.reply-context-arrow {
	color: var(--thread-color-primary, #3b82f6);
	font-weight: bold;
	flex-shrink: 0;
}

.reply-context-label {
	color: #999;
	font-size: 11px;
	flex-shrink: 0;
}

.reply-context-author {
	color: var(--thread-color-primary, #3b82f6);
	font-weight: 600;
	flex-shrink: 0;
}

.reply-context-snippet {
	color: #666;
	font-style: italic;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Thread controls styling */
.thread-controls {
	position: sticky;
	top: 60px;
	z-index: var(--z-navigation, 25);
	background: rgba(255, 255, 255, 0.95);
	padding: 8px 12px;
	margin: 12px 0;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	backdrop-filter: blur(10px);
}

.thread-controls button {
	padding: 4px 12px;
	font-size: 13px;
	border-radius: 6px;
	transition: all 0.2s ease;
}

.thread-controls button:hover {
	transform: translateY(-1px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Thread collapse state styling */
.wall-item-container.thread-collapsed {
	opacity: 0.6;
	filter: grayscale(30%);
	transform: scale(0.98);
}

.wall-item-container.auto-collapsed {
	opacity: 0.5;
}

.wall-item-container.thread-hidden {
	display: none !important;
}

/* Keyboard navigation indicators - DISABLED */
/* .wall-item-container:focus,
.wall-item-container.thread-keyboard-focus {
	outline: 3px solid var(--thread-color-primary);
	outline-offset: 2px;
	box-shadow: 0 0 0 6px rgba(79, 70, 229, 0.1);
} */

/* Explicitly disable focus outline on wall-item-container */
.wall-item-container:focus {
	outline: none !important;
}

.thread-wrapper:focus {
	outline: none !important;
}

/* Thread help modal */
#thread-help-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.7);
	z-index: var(--z-modals, 100);
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(5px);
}

.thread-help-modal {
	background: white;
	padding: 24px;
	border-radius: 12px;
	max-width: 500px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.thread-help-modal h4 {
	margin: 0 0 16px 0;
	color: var(--thread-color-primary);
}

.thread-help-modal dl {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 8px;
	margin: 0 0 20px 0;
}

.thread-help-modal dt {
	font-weight: bold;
	padding: 4px 8px;
	background: var(--thread-color-primary);
	color: white;
	border-radius: 4px;
	text-align: center;
	font-family: monospace;
}

.thread-help-modal dd {
	margin: 0;
	padding: 4px 0;
}

.thread-help-modal button {
	width: 100%;
	padding: 8px;
	background: var(--thread-color-primary);
	color: white;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.thread-help-modal button:hover {
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Thread navigation hint */
.thread-nav-hint {
	margin-left: 12px;
	opacity: 0.6;
	cursor: help;
	transition: opacity 0.2s ease;
}

.thread-nav-hint:hover {
	opacity: 1;
}

/* Mobile Touch Threading Styles */
.mobile-thread-handle {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 44px;
	display: none;
	align-items: center;
	justify-content: center;
	background: linear-gradient(90deg, 
		rgba(var(--thread-color-primary), 0.05) 0%,
		transparent 100%);
	cursor: move;
	touch-action: pan-y;
}

.mobile-threading .mobile-thread-handle {
	display: flex;
}

.handle-icon {
	font-size: 20px;
	color: var(--thread-color-primary);
	opacity: 0.4;
	transition: opacity 0.2s ease;
}

.mobile-thread-handle:active .handle-icon {
	opacity: 1;
}

/* Mobile thread menu */
.mobile-thread-menu {
	position: fixed;
	background: white;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	padding: 8px;
	z-index: var(--z-modals, 100);
	min-width: 150px;
}

.mobile-thread-menu .menu-item {
	display: block;
	width: 100%;
	padding: 12px;
	margin: 4px 0;
	background: transparent;
	border: none;
	text-align: left;
	font-size: 14px;
	border-radius: 8px;
	transition: background 0.2s ease;
}

.mobile-thread-menu .menu-item:active {
	background: var(--thread-color-primary);
	color: white;
}

/* Touch feedback */
.touch-feedback {
	background: rgba(var(--thread-color-primary), 0.1) !important;
	transition: background 0.3s ease;
}

/* Deep mobile thread optimization */
.deep-mobile-thread {
	margin-left: calc(var(--thread-indent-base) + 3 * var(--thread-indent-nested)) !important;
}

/* Mobile-specific thread adjustments */
@media (max-width: 768px) {
	.mobile-threading .wall-item-container {
		padding-left: 48px;
		min-height: 80px;
	}
	
	.mobile-threading .thread-controls {
		position: fixed;
		bottom: 20px;
		right: 20px;
		left: auto;
		top: auto;
		flex-direction: column;
		gap: 4px;
		padding: 4px;
		background: rgba(255, 255, 255, 0.98);
		border-radius: 24px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	}
	
	.mobile-threading .thread-controls button {
		padding: 8px;
		font-size: 11px;
	}
	
	/* Optimize swipe areas */
	.mobile-threading .wall-item-container {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		user-select: none;
		tap-highlight-color: transparent;
	}
	
	/* Better touch targets */
	.mobile-threading .wall-item-container .media {
		min-height: 60px;
	}
	
	/* Mobile reply context */
	.mobile-threading .reply-context {
		font-size: 11px;
		padding: 4px 8px;
	}
	
	/* Optimize thread spine for mobile */
	.mobile-threading .comment-container::before {
		width: 2px;
		opacity: 0.3;
	}
	
	/* Simplify connection nodes on mobile */
	.mobile-threading .wall-item-container::before {
		width: 10px;
		height: 10px;
	}
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
	.wall-item-container,
	.comment-container::before,
	.wall-item-container[class*="thread_level_"]::before,
	.thread-nav-btn {
		transition: none;
		animation: none;
	}
	
	@keyframes threadNodePulse,
	@keyframes connectionPulse,
	@keyframes threadPulse {
		from, to { transform: none; }
	}
}

/* High contrast mode support */
@media (prefers-contrast: high) {
	:root {
		--thread-line-width: 4px;
		--thread-color-primary: #000000;
		--thread-color-l2: #000000;
		--thread-color-l3: #333333;
		--thread-color-l4: #000000;
		--thread-color-l5: #333333;
		--thread-color-l6: #000000;
		--thread-color-l7: #333333;
		--bubble-border: 2px solid #000000;
	}
	
	.wall-item-container[class*="thread_level_"] {
		border-left-width: 4px !important;
	}
	
	.wall-item-container[class*="thread_level_"]::before {
		border: 2px solid #000000 !important;
		color: #000000 !important;
		background: #ffffff !important;
	}
}

/* Print styles for threading */
@media print {
	.comment-container::before,
	.wall-item-container[class*="thread_level_"]::before,
	.wall-item-container[class*="thread_level_"]::after,
	.thread-nav-btn,
	.thread-mini-map,
	#thread-map-toggle {
		display: none !important;
	}
	
	.wall-item-container[class*="thread_level_"] {
		margin-left: calc(var(--thread-level, 1) * 20px) !important;
		border-left: 2px solid #000000 !important;
		box-shadow: none !important;
		page-break-inside: avoid;
	}
}

/* ==== CONTINUOUS THREADING ENHANCEMENTS ==== */

/* Thread spine highlighting on hover */
.comment-container.thread-spine-highlight::before {
	background: var(--thread-color-primary) !important;
	box-shadow: 0 0 6px rgba(99, 102, 241, 0.3) !important;
	opacity: 1 !important;
}

/* Connection active states - DISABLED */
/* .wall-item-container.thread-connection-active {
	border-left-color: var(--thread-color-primary) !important;
	border-left-width: 4px !important;
} */

/* Connection active pseudo-elements - DISABLED
.wall-item-container.thread-connection-active::before {
	background: var(--thread-color-primary) !important;
	transform: scale(1.2) !important;
	box-shadow: 0 0 8px rgba(99, 102, 241, 0.4) !important;
}

.wall-item-container.thread-connection-active::after {
	background: var(--thread-color-primary) !important;
	opacity: 1 !important;
} */

/* Thread path highlighting - DISABLED */
/* .wall-item-container.thread-path-highlight {
	background: rgba(99, 102, 241, 0.05) !important;
	border-left-color: var(--thread-color-primary) !important;
	border-left-width: 4px !important;
	transform: translateX(2px);
	box-shadow: 0 2px 8px rgba(99, 102, 241, 0.15) !important;
} */

/* Action feedback animation */
.wall-item-container.thread-action-feedback {
	transform: scale(1.02);
	transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* In viewport indicator */
.wall-item-container.thread-in-viewport {
	/* Could add subtle visual indicator for viewport awareness */
}

/* Thread pulse animation for enhanced feedback */
.wall-item-container.thread-pulse {
	animation: threadPulse 1s ease-in-out;
}

@keyframes threadPulse {
	0% { 
		background-color: rgba(99, 102, 241, 0.1);
		transform: scale(1);
	}
	50% { 
		background-color: rgba(99, 102, 241, 0.2);
		transform: scale(1.005);
	}
	100% { 
		background-color: transparent;
		transform: scale(1);
	}
}

/* Enhanced thread branch highlighting - DISABLED */
/* .thread-focus-mode .wall-item-container:not(.thread-branch-highlight) {
	opacity: 0.4;
	filter: grayscale(30%);
	transition: all 0.3s ease;
}

.thread-focus-mode .wall-item-container.thread-branch-highlight {
	opacity: 1;
	filter: none;
	box-shadow: 0 4px 12px rgba(99, 102, 241, 0.2) !important;
} */

/* Smooth transitions for all thread elements */
.wall-item-container[class*="thread_level_"] {
	transition: var(--transition);
}

.wall-item-container[class*="thread_level_"]::before,
.wall-item-container[class*="thread_level_"]::after {
	transition: var(--transition);
}

/*
 * SPDX-FileCopyrightText: 2010-2024 the Friendica project
 *
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */

@-webkit-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%,70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-moz-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%,70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%,70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-webkit-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-moz-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@-moz-keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}.dropzone,.dropzone .dz-default *{box-sizing:border-box;overflow:auto;cursor:default}.dropzone:not(textarea){border:1px solid rgba(0,0,0,.3);padding:0px 0px 5px 0px;color: #999;}.dropzone.dz-clickable{cursor:pointer;border-radius: 4px;background-color: #f8fafc; margin-bottom: 10px;}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.dropzone .dz-message{text-align:center}.dropzone .dz-message .dz-button{background:none;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom, #eee, #ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:#fff}.dropzone .dz-preview.dz-image-preview .dz-details{-webkit-transition:opacity 0.2s linear;-moz-transition:opacity 0.2s linear;-ms-transition:opacity 0.2s linear;-o-transition:opacity 0.2s linear;transition:opacity 0.2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:rgba(0,0,0,.9);line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,.8);background-color:rgba(255,255,255,.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:rgba(255,255,255,.4);padding:0 .4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{-webkit-transform:scale(1.05, 1.05);-moz-transform:scale(1.05, 1.05);-ms-transform:scale(1.05, 1.05);-o-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05);-webkit-filter:blur(8px);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{-webkit-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-moz-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-ms-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-o-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;-webkit-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-moz-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-ms-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-o-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;-webkit-transition:opacity 0.4s ease-in;-moz-transition:opacity 0.4s ease-in;-ms-transition:opacity 0.4s ease-in;-o-transition:opacity 0.4s ease-in;transition:opacity 0.4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{-webkit-animation:pulse 6s ease infinite;-moz-animation:pulse 6s ease infinite;-ms-animation:pulse 6s ease infinite;-o-animation:pulse 6s ease infinite;animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:16px;left:50%;top:50%;margin-top:-8px;width:80px;margin-left:-40px;background:rgba(255,255,255,.9);-webkit-transform:scale(1);border-radius:8px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#333;background:linear-gradient(to bottom, #666, #444);position:absolute;top:0;left:0;bottom:0;width:0;-webkit-transition:width 300ms ease-in-out;-moz-transition:width 300ms ease-in-out;-ms-transition:width 300ms ease-in-out;-o-transition:width 300ms ease-in-out;transition:width 300ms ease-in-out}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;-webkit-transition:opacity 0.3s ease;-moz-transition:opacity 0.3s ease;-ms-transition:opacity 0.3s ease;-o-transition:opacity 0.3s ease;transition:opacity 0.3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#be2626;background:linear-gradient(to bottom, #be2626, #a92222);padding:.5em 1.2em;color:#fff}.dropzone .dz-preview .dz-error-message:after{content:"";position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #be2626}
