.sego-sidebar-container {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: flex-start;
		padding: 0;
	box-sizing: border-box;
	max-width: 100%;
	margin: 0 auto;
}

.sego-sidebar {
	flex: 0 0 200px;
	max-width: 200px;
	margin-top: 15px;
	position: relative;
	transition: flex 0.3s ease, margin 0.3s ease;
}

.sego-sidebar-inner {
	transition: opacity 0.3s ease;
	width: 100%;
	max-width: 100vw;
}

.sego-sidebar-left {
	margin-right: 15px;
}

.sego-sidebar-right {
	margin-left: 15px;
}

.sego-sidebar-content {
	display: contents;
}

/* Fix for standard phpBB wrap container being inside flex */
.sego-sidebar-content .wrap {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

@media (max-width: 1100px) {
	#sego-sidebar-top,
	#sego-sidebar-bottom,
	#sego-sidebar-left {
		display: none !important;
	}

	.sego-sidebar-container {
		display: flex;
		flex-direction: column;
		padding: 0;
		width: 100%;
	}

	.sego-sidebar-container > .sego-sidebar-content {
		display: block;
		order: 1;
		width: 100%;
		min-width: 0;
	}

	.sego-sidebar-container > #sego-sidebar-right {
		display: block !important;
		order: 2;
		width: 100% !important;
		max-width: none !important;
		margin: 16px 0 0 0 !important;
	}

	#sego-sidebar-right .sego-sidebar-inner {
		display: block !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		width: 100%;
		max-width: none;
	}

	.sego-sidebar-content .wrap {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

.sego-sidebar-block {
	margin-bottom: 20px;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 5px rgb(0 0 0 / 10%);
	background: #f9f9f9;
	border: 1px solid #ced4da;
}

.sego-sidebar-block-header {
	background: #12a3eb; /* Prosilver blue primary */
	background: linear-gradient(135deg, #12a3eb 0%, #0076b1 100%);
	color: #fff;
	padding: 10px 15px;
	font-size: 1.1em;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-bottom: 2px solid rgb(0 0 0 / 10%);
	text-align: center;
}

.sego-sidebar-block-content {
	padding: 10px;
	color: #333;
	font-size: 11px;
	line-height: 1.1;
}

/* Specific item styling for lists */
.sego-sidebar-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sego-sidebar-list-item {
	padding: 8px 0;
	border-bottom: 1px solid #eef0f2;
}

.sego-sidebar-list-item:last-child {
	border-bottom: none;
}

.sego-sidebar-list-link {
	font-weight: 600;
	color: #105289;
	display: block;
	margin-bottom: 3px;
	text-decoration: none;
}

.sego-sidebar-list-link:hover {
	color: #d31141;
}

.sego-sidebar-list-meta {
	font-size: 11px;
	color: #6c757d;
	display: block;
}

/* Avatar styling */
.sidebar-avatar img {
	border-radius: 50%;
	border: 3px solid #fff;
	box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
}

.sidebar-greeting {
	margin-top: 5px;
	font-weight: 500;
}

/* Clock styling */
.sego-sidebar-clock-container {
	text-align: center;
	padding: 15px 0;
}

.sego-sidebar-clock-display {
	font-family: 'Courier New', Courier, monospace;
	font-size: 25px;
	font-weight: bold;
	color: #333;
	letter-spacing: 2px;
	text-shadow: 1px 1px 0 rgb(0 0 0 / 10%);
	display: inline-block;
	background: #f9f9f9;
	padding: 10px 20px;
	border-radius: 8px;
	border: 1px solid #e0e0e0;
	box-shadow: inset 0 1px 3px rgb(0 0 0 / 5%);
}

.sego-sidebar-clock-ampm {
	font-size: 14px;
	margin-left: 5px;
	color: #777;
	font-weight: normal;
	vertical-align: middle;
	display: none;
}

/* Sidebar Calendar Style */
#sego-sidebar-calendar {
	margin: 0 auto;
	width: 100%;
}

#sego_calendar_weekdays div {
	display: inline-block;
	vertical-align: top;
}

#sego_calendar_content, #sego_calendar_weekdays, #sego_calendar_header {
	position: relative;
	width: 100%;
	overflow: hidden;
	float: left;
	z-index: 10;
}

#sego_calendar_weekdays div, #sego_calendar_content div {
	width: 14.2857%;
	height: 38px;
	line-height: 38px;
	overflow: hidden;
	text-align: center;
	background-color: #FFF;
	color: #787878;
	font-size: 10px;
	font-weight: 500;
	box-sizing: border-box;
}

#sego_calendar_content {
	border-radius: 0 0 5px 5px;
	padding-bottom: 5px;
}

#sego_calendar_content div {
	float: left;
}

#sego_calendar_content div:hover:not(.blank) {
	background-color: #F8F8F8;
	cursor: pointer;
}

#sego_calendar_content div.blank {
	background-color: #fff;
}

#sego_calendar_header, #sego_calendar_content div.today {
	zoom: 1;
	opacity: 0.9;
}

#sego_calendar_content div.today {
	color: #FFF;
	font-weight: bold;
	border-radius: 5px;
}

#sego_calendar_header {
	width: 100%;
	height: 40px;
	text-align: center;
	background-color: #FF6860;
	padding: 0;
	border-radius: 5px 5px 0 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
}

#sego_calendar_header h1 {
	font-size: 13px;
	color: #FFF;
	margin: 0;
	padding: 0;
	font-weight: bold;
	text-transform: uppercase;
}

#sego_calendar_header i {
	color: #FFF;
	cursor: pointer;
	padding: 10px 15px;
	font-size: 14px;
}

/* Welcome Block */
.sego-welcome-container { text-align: center; }
.sego-avatar-container { margin-bottom: 12px; }
.sego-welcome-back { display: block; color: #555; margin-bottom: 2px; }
.sego-welcome-name { font-size: 1.1em; display: block; margin-bottom: 5px; }
.sego-welcome-list { margin-top: 15px; text-align: left; }
.sego-pm-count { color: #d31141; }
.sego-guest-msg { text-align: center; margin-bottom: 15px; color: #555; }
.sego-login-fieldset { border: none; padding: 0; margin: 0; font-size: 10px; }
.sego-login-input { width: 100%; box-sizing: border-box; margin-bottom: 8px; padding: 8px; }
.sego-autologin-label { display: block; font-size: 11px; margin-bottom: 8px; color: #555; }
.sego-login-btn { width: 100%; margin-top: 5px; }
.sego-register-container { text-align: center; margin-top: 15px; font-size: 12px; }
.sego-register-link { text-decoration: none; color: #105289; font-weight: bold; }

/* Statistics Block */
.sego-stat-item { display: flex; justify-content: space-between; }

/* Menu Block */
.sego-menu-list-no-margin { margin: 0; padding: 0; }

/* Search Block */
.sego-search-fieldset { border: none; padding: 0; margin: 0; display: flex; width: 100%; box-sizing: border-box; }

.sego-search-input {
	flex: 1; min-width: 0; box-sizing: border-box; padding: 8px; 
	border: 1px solid #ced4da; border-right: none; 
	border-radius: 3px 0 0 3px; font-size: 10px; outline: none; box-shadow: none;
}

.sego-search-btn {
	padding: 5px; border: 1px solid #ced4da; border-radius: 0 3px 3px 0; 
	background-color: #f1f1f1; color: #777; cursor: pointer; 
	display: flex; align-items: center; justify-content: center; outline: none; margin: 0;
}
.sego-search-btn-icon { font-size: 12px; margin: 0; }
.sego-search-links { margin-top: 15px; margin-bottom: 0; }

/* Newest Member Block */
.sego-newest-container { text-align: center; padding: 10px 5px; font-size: 11px; line-height: 1.5; color: #555; }
.sego-newest-name { font-size: 1.15em; display: inline-block; margin-top: 6px; }

/* Gallery block */
.sego-sidebar-gallery-item {
	margin-bottom: 12px;
}

.sego-sidebar-gallery-thumb {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.sego-sidebar-gallery-name {
	margin-top: 4px;
	overflow-wrap: anywhere;
}

.sego-sidebar-gallery-comment {
	margin-top: 4px;
}

.sego-sidebar-gallery-comment-meta {
	font-size: 0.9em;
}

.sego-sidebar-gallery-comment-meta span {
	margin-left: 6px;
}

.sego-sidebar-gallery-comment-text {
	margin-top: 2px;
	overflow-wrap: anywhere;
}


/* =========================================================
   Configurable Menu / nested submenu
   ========================================================= */

.sego-menu-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sego-menu-row {
	display: flex;
	align-items: center;
	width: 100%;
}

.sego-menu-row .sego-menu-link {
	flex: 1 1 auto;
	min-width: 0;
}

.sego-menu-toggle {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	text-align: center;
}

.sego-menu-toggle .icon {
	transition: transform .18s ease;
}

.sego-menu-item.sego-menu-open > .sego-menu-row .sego-menu-toggle .icon {
	transform: rotate(180deg);
}

.sego-menu-children {
	display: none;
}

.sego-menu-item.sego-menu-open > .sego-menu-children {
	display: block;
}

/* Level 1 */
.sego-menu-level-1 > .sego-menu-item > .sego-menu-row {
	padding-left: 22px;
}

/* Level 2 */
.sego-menu-level-2 > .sego-menu-item > .sego-menu-row {
	padding-left: 44px;
}

/* Submenu rows a little more compact */
.sego-menu-level-1 .sego-sidebar-list-link,
.sego-menu-level-2 .sego-sidebar-list-link {
	padding-top: 8px;
	padding-bottom: 8px;
}

/* =========================================================
   Sego native server layout
   Dynamic grid: only existing / visible sidebars reserve space.
   ========================================================= */

@media (min-width: 1101px) {

	.sego-sidebar-container {
		display: grid;
		align-items: start;
		padding: 0;
		width: 100%;
		box-sizing: border-box;
	}

	/* LEFT + CONTENT + RIGHT */
	.sego-sidebar-container.sego-sidebar-has-left.sego-sidebar-has-right {
		grid-template-columns:
			var(--sego-left-width, 200px)
			minmax(0, 1fr)
			var(--sego-right-width, 200px);
		column-gap: 10px;
	}

	.sego-sidebar-has-left.sego-sidebar-has-right > #sego-sidebar-left {
		grid-column: 1;
	}

	.sego-sidebar-has-left.sego-sidebar-has-right > .sego-sidebar-content {
		grid-column: 2;
	}

	.sego-sidebar-has-left.sego-sidebar-has-right > #sego-sidebar-right {
		grid-column: 3;
	}

	/* LEFT + CONTENT */
	.sego-sidebar-container.sego-sidebar-has-left:not(.sego-sidebar-has-right) {
		grid-template-columns:
			var(--sego-left-width, 200px)
			minmax(0, 1fr);
		column-gap: 10px;
	}

	.sego-sidebar-has-left:not(.sego-sidebar-has-right) > #sego-sidebar-left {
		grid-column: 1;
	}

	.sego-sidebar-has-left:not(.sego-sidebar-has-right) > .sego-sidebar-content {
		grid-column: 2;
	}

	/* CONTENT + RIGHT */
	.sego-sidebar-container.sego-sidebar-has-right:not(.sego-sidebar-has-left) {
		grid-template-columns:
			minmax(0, 1fr)
			var(--sego-right-width, 200px);
		column-gap: 10px;
	}

	.sego-sidebar-has-right:not(.sego-sidebar-has-left) > .sego-sidebar-content {
		grid-column: 1;
	}

	.sego-sidebar-has-right:not(.sego-sidebar-has-left) > #sego-sidebar-right {
		grid-column: 2;
	}

	.sego-sidebar-container > #sego-sidebar-left {
		grid-row: 1;
		width: var(--sego-left-width, 200px);
		max-width: var(--sego-left-width, 200px);
		margin: 0;
	}

	.sego-sidebar-container > .sego-sidebar-content {
		display: block;
		grid-row: 1;
		width: 100%;
		min-width: 0;
	}

	.sego-sidebar-container > #sego-sidebar-right {
		grid-row: 1;
		width: var(--sego-right-width, 200px);
		max-width: var(--sego-right-width, 200px);
		margin: 0;
	}


}


/* =========================================================
   Horizontal TOP / BOTTOM cell layout
   Server-rendered 1-4 equal cells
   ========================================================= */

.sego-sidebar-horizontal-grid {
	display: grid;
	grid-template-columns: repeat(var(--sego-horizontal-cells, 1), minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	box-sizing: border-box;
	align-items: stretch;
}

.sego-sidebar-horizontal-cell {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}

.sego-sidebar-horizontal-cell > .sego-sidebar-block:only-child {
	flex: 1 1 auto;
	height: 100%;
}

@media (max-width: 700px) {
	.sego-sidebar-horizontal-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}


/* =========================================================
   Calendar native layout
   Stable geometry without floats
   ========================================================= */

#sego-sidebar-calendar {
	display: block;
	width: 100%;
	margin: 0;
}

#sego_calendar_header {
	float: none !important;
	display: flex;
	width: 100%;
	box-sizing: border-box;
}

#sego_calendar_weekdays {
	float: none !important;
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	width: 100%;
	box-sizing: border-box;
	overflow: visible;
}

#sego_calendar_content {
	float: none !important;
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	width: 100%;
	box-sizing: border-box;
	overflow: visible;
}

#sego_calendar_weekdays div,
#sego_calendar_content div {
	float: none !important;
	display: block;
	width: auto !important;
	min-width: 0;
	box-sizing: border-box;
}


/* =========================================================
   Sego Layout Switcher integration
   Boxed desktop mode: hide LEFT, keep TOP / RIGHT / BOTTOM
   ========================================================= */
@media (min-width: 1101px) {
	html.sego-layout-boxed #sego-sidebar-left {
		display: none !important;
	}

	html.sego-layout-boxed
	.sego-sidebar-container.sego-sidebar-has-left.sego-sidebar-has-right {
		grid-template-columns:
			minmax(0, 1fr)
			var(--sego-right-width, 200px);
		column-gap: 10px;
	}

	html.sego-layout-boxed
	.sego-sidebar-has-left.sego-sidebar-has-right > .sego-sidebar-content {
		grid-column: 1;
	}

	html.sego-layout-boxed
	.sego-sidebar-has-left.sego-sidebar-has-right > #sego-sidebar-right {
		grid-column: 2;
	}

	html.sego-layout-boxed
	.sego-sidebar-container.sego-sidebar-has-left:not(.sego-sidebar-has-right) {
		grid-template-columns: minmax(0, 1fr);
		column-gap: 0;
	}

	html.sego-layout-boxed
	.sego-sidebar-has-left:not(.sego-sidebar-has-right) > .sego-sidebar-content {
		grid-column: 1;
	}
}

/* =========================================================
   Video block
   ========================================================= */
.sego-sidebar-block-video .sego-sidebar-block-content {
	overflow: hidden;
}

.sego-sidebar-block-video .sego-sidebar-block-content iframe {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: auto !important;
	aspect-ratio: 16 / 9;
	border: 0;
}
