/* Foro comunitario (dentro del layout con categorías y banner) - mismas propiedades de .cont_block para ajuste */
.forum-wrap {
	margin: 20px auto !important;
	width: auto !important;
	max-width: 1180px !important;
	display: flow-root !important;
	float: none !important;
	position: relative !important;
	box-sizing: border-box !important;
	color: #e0e6ed;
	background: linear-gradient(145deg, rgba(30, 30, 63, 0.95), rgba(42, 42, 90, 0.9));
	border-radius: 20px;
	border: 1px solid rgba(100, 181, 246, 0.3);
	box-shadow:
		0 20px 60px rgba(0, 0, 0, 0.4),
		0 0 0 1px rgba(100, 181, 246, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(15px);
}

/* Separación con la columna izquierda (solo foro) */
.content .cont_left{
	margin-right: 16px !important;
}

/* Separación con el banner derecho (solo foro) */
.content .bn.cont_right{
	margin-left: 16px !important;
}

@media (max-width: 768px) {
	.forum-wrap {
		margin: 12px !important;
		width: auto !important;
	}
}

.forum-header {
	position: relative;
	margin-bottom: 28px;
	padding: 24px 28px 20px;
	background: linear-gradient(145deg, rgba(30, 41, 59, 0.7), rgba(51, 65, 85, 0.5));
	border: 1px solid rgba(100, 181, 246, 0.2);
	border-radius: 14px;
	border-left: 4px solid #64b5f6;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
.forum-header::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	border-radius: 0 0 12px 12px;
	background: linear-gradient(90deg, rgba(100, 181, 246, 0.5), rgba(100, 181, 246, 0.15));
}
.forum-header h1 {
	font-size: 2em;
	font-weight: 800;
	margin: 0 0 10px 0;
	color: #f8fafc;
	letter-spacing: 0.02em;
	display: flex;
	align-items: center;
	gap: 12px;
}
.forum-header h1 i {
	color: #93c5fd;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(100, 181, 246, 0.2);
	border-radius: 12px;
	font-size: 1.1em;
	margin-right: 0;
}
.forum-desc {
	color: #cbd5e1;
	font-size: 1em;
	line-height: 1.5;
	margin: 0 0 14px 0;
	max-width: 560px;
}
.forum-breadcrumb {
	color: #93c5fd;
	text-decoration: none;
	font-size: 0.9em;
	font-weight: 500;
	transition: color 0.2s;
}
.forum-header a.forum-breadcrumb:hover {
	color: #e0e7ff;
	text-decoration: none;
}
.forum-header .forum-breadcrumb {
	opacity: 0.95;
}
.forum-header span.forum-breadcrumb {
	color: #94a3b8;
	cursor: default;
}

.forum-errors,
.forum-correct {
	padding: 12px 16px;
	margin-bottom: 16px;
	border-radius: 8px;
	position: relative;
}
.forum-errors {
	background: rgba(239, 68, 68, 0.15);
	border: 1px solid rgba(239, 68, 68, 0.4);
	color: #fca5a5;
}
.forum-correct {
	background: rgba(34, 197, 94, 0.15);
	border: 1px solid rgba(34, 197, 94, 0.4);
	color: #86efac;
}
/* Toast centrado: éxito y error */
.forum-toast {
	position: fixed !important;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10000;
	margin: 0 !important;
	padding: 20px 28px !important;
	min-width: 280px;
	max-width: 90vw;
	text-align: center;
	box-shadow: 0 8px 32px rgba(0,0,0,0.4);
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.forum-toast .forum-toast-close {
	position: absolute;
	top: 8px;
	right: 12px;
	width: 24px;
	height: 24px;
	cursor: pointer;
	opacity: 0.8;
}
.forum-toast .forum-toast-close::before,
.forum-toast .forum-toast-close::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 14px;
	height: 2px;
	background: currentColor;
	transform: translate(-50%, -50%) rotate(45deg);
}
.forum-toast .forum-toast-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.forum-toast .forum-toast-close:hover { opacity: 1; }
.forum-toast.forum-toast-hide {
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.95);
	pointer-events: none;
}

/* Toast del editor (enlace, etc.): mismo estilo, sin "localhost dice" */
.forum-editor-toast {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10001;
	padding: 20px 28px;
	min-width: 260px;
	max-width: 90vw;
	text-align: center;
	background: rgba(30, 41, 59, 0.98);
	border: 1px solid rgba(100, 181, 246, 0.5);
	border-radius: 10px;
	color: #e0e6ed;
	font-size: 1em;
	box-shadow: 0 8px 32px rgba(0,0,0,0.4);
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.forum-editor-toast.forum-toast-hide {
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.95);
	pointer-events: none;
}

/* Modal de enlace (sin ventanas del navegador) */
.forum-link-overlay {
	position: fixed;
	inset: 0;
	z-index: 10002;
	background: rgba(0,0,0,0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.forum-link-modal {
	background: rgba(30, 41, 59, 0.98);
	border: 1px solid rgba(100, 181, 246, 0.4);
	border-radius: 12px;
	padding: 24px;
	min-width: 320px;
	max-width: 100%;
	box-shadow: 0 12px 40px rgba(0,0,0,0.5);
}
.forum-link-modal-row {
	margin-bottom: 16px;
}
.forum-link-modal-row label {
	display: block;
	color: #cbd5e1;
	font-size: 0.9em;
	margin-bottom: 6px;
}
.forum-link-modal-row input {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid rgba(100, 181, 246, 0.4);
	border-radius: 8px;
	background: rgba(15, 15, 35, 0.8);
	color: #e0e6ed;
	font-size: 1em;
}
.forum-link-modal-row input:focus {
	outline: none;
	border-color: rgba(100, 181, 246, 0.7);
}
.forum-link-modal-row input[readonly] {
	opacity: 0.9;
}
.forum-link-modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 20px;
}
.forum-link-btn {
	padding: 8px 18px;
	border-radius: 8px;
	font-size: 0.95em;
	cursor: pointer;
	border: 1px solid transparent;
}
.forum-link-btn-cancel {
	background: rgba(100, 116, 139, 0.3);
	color: #cbd5e1;
	border-color: rgba(100, 116, 139, 0.5);
}
.forum-link-btn-cancel:hover { background: rgba(100, 116, 139, 0.4); }
.forum-link-btn-ok {
	background: rgba(100, 181, 246, 0.3);
	color: #93c5fd;
	border-color: rgba(100, 181, 246, 0.5);
}
.forum-link-btn-ok:hover { background: rgba(100, 181, 246, 0.4); }

/* Bloque unificado: título + contenido (Zona General, Categorías, Colaboradores) */
.forum-zone-block {
	background: rgba(30, 41, 59, 0.96);
	border: 1px solid rgba(100, 181, 246, 0.22);
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 24px;
}
.forum-zone-block:last-child {
	margin-bottom: 0;
}
.forum-zone-block .forum-zone {
	margin-bottom: 0;
	padding: 20px 20px 0 20px;
}
.forum-zone-block .forum-zone-line {
	margin-left: -20px;
	margin-right: -20px;
	width: calc(100% + 40px);
}
.forum-zone-block .forum-secciones {
	margin-top: 0;
	background: transparent;
	border: none;
	border-radius: 0;
}
.forum-zone-block-colaboradores {
	border-color: rgba(34, 197, 94, 0.25);
}
.forum-zone-block-colaboradores .forum-colaboradores {
	background: transparent;
	border: none;
	border-radius: 0;
	margin-top: 0;
	padding-top: 20px;
}
.forum-zone-block-juegos {
	margin-top: 32px;
}
.forum-zone-block-colaboradores {
	margin-top: 32px;
}

/* Leyenda de grupos */
.forum-zone-block-leyenda {
	margin-top: 32px;
}
.forum-zone-line-leyenda {
	background: linear-gradient(90deg, #16a34a 0%, #22c55e 100%);
}
.forum-leyenda-content {
	padding: 20px;
}
.forum-leyenda-list {
	margin: 0;
	color: #94a3b8;
	font-size: 0.95em;
	line-height: 1.6;
}
.forum-leyenda-list.forum-leyenda-empty {
	color: #64748b;
}
.forum-leyenda-role {
	font-weight: 600;
	text-decoration: none;
	transition: opacity 0.2s;
}
.forum-leyenda-role:hover {
	opacity: 0.85;
	text-decoration: underline;
}

/* Listado de miembros por rango (desde Leyenda de grupos) */
.forum-miembros-rango-wrap {
	background: rgba(30, 41, 59, 0.96);
	border: 1px solid rgba(100, 181, 246, 0.22);
	border-radius: 10px;
	overflow: hidden;
	padding: 24px;
	margin-bottom: 24px;
}
.forum-miembros-rango-header {
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.forum-miembros-rango-title {
	margin: 0 0 8px 0;
	font-size: 1.5em;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.forum-miembros-rango-count {
	margin: 0;
	color: #94a3b8;
	font-size: 0.95em;
}
.forum-miembros-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 20px;
}
.forum-miembros-pagination-bottom {
	margin-top: 24px;
	margin-bottom: 0;
}
.forum-miembros-page {
	display: inline-block;
	padding: 6px 12px;
	border-radius: 6px;
	background: rgba(51, 65, 85, 0.5);
	color: #e2e8f0;
	text-decoration: none;
	font-weight: 500;
	transition: background 0.2s, color 0.2s;
}
.forum-miembros-page:hover {
	background: rgba(100, 181, 246, 0.3);
	color: #f5f7ff;
}
.forum-miembros-page.active {
	background: rgba(100, 181, 246, 0.5);
	color: #fff;
}
.forum-miembros-page-info {
	color: #94a3b8;
	font-size: 0.9em;
	margin-left: 8px;
}
.forum-miembros-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 16px;
}
.forum-miembro-card {
	background: rgba(30, 41, 59, 0.6);
	border: 1px solid rgba(100, 181, 246, 0.15);
	border-radius: 10px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	transition: background 0.2s, border-color 0.2s;
}
.forum-miembro-card:hover {
	background: rgba(51, 65, 85, 0.5);
	border-color: rgba(100, 181, 246, 0.3);
}
.forum-miembro-avatar-wrap {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	margin-bottom: 10px;
}
.forum-miembro-avatar-wrap img,
.forum-miembro-avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.forum-miembro-avatar-inicial {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.5em;
	color: #fff;
}
.forum-miembro-name {
	color: #f5f7ff;
	font-weight: 600;
	font-size: 1em;
	text-decoration: none;
	margin-bottom: 8px;
	word-break: break-word;
}
.forum-miembro-name:hover {
	color: #64b5f6;
}
.forum-miembro-meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 0.8em;
	color: #94a3b8;
}

/* Estadísticas del foro */
.forum-zone-block-stats {
	margin-top: 32px;
}
.forum-zone-line-stats {
	background: linear-gradient(90deg, #16a34a 0%, #22c55e 100%);
}
.forum-stats-content {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 32px;
	padding: 20px;
}
.forum-stat-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}
.forum-stat-number {
	font-size: 1.75em;
	font-weight: 700;
	color: #f5f7ff;
	letter-spacing: 0.02em;
}
.forum-stat-label {
	font-size: 0.9em;
	color: #94a3b8;
}

/* Zona General (título + línea) */
.forum-zone {
	margin-bottom: 20px;
}
.forum-zone-title {
	margin: 0 0 8px 0;
	font-size: 1.5em;
	font-weight: 700;
	color: #f5f7ff;
	letter-spacing: 0.02em;
}
.forum-zone-line {
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg, #64b5f6 0%, #7c3aed 100%);
	opacity: 0.9;
}
.forum-zone-juegos {
	margin-top: 0;
}
.forum-zone-line-juegos {
	background: linear-gradient(90deg, #2563eb 0%, #7c3aed 100%);
}

/* Colaboradores populares */
.forum-zone-colaboradores {
	margin-top: 0;
}
.forum-zone-line-colaboradores {
	background: linear-gradient(90deg, #16a34a 0%, #22c55e 100%);
}
.forum-colaboradores {
	background: rgba(30, 41, 59, 0.96);
	border: 1px solid rgba(34, 197, 94, 0.25);
	border-radius: 10px;
	padding: 20px;
	margin-top: 16px;
}
.forum-colaboradores-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding-bottom: 12px;
}
.forum-colab-tab {
	color: #94a3b8;
	text-decoration: none;
	font-weight: 500;
	padding: 6px 12px;
	border-radius: 6px;
	transition: color 0.2s, background 0.2s;
}
.forum-colab-tab:hover {
	color: #22c55e;
	background: rgba(34, 197, 94, 0.1);
}
.forum-colab-tab.active {
	color: #22c55e;
	background: rgba(34, 197, 94, 0.15);
	box-shadow: 0 2px 0 0 #22c55e inset;
}
.forum-colaboradores-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 16px;
}
.forum-colab-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 12px;
	background: rgba(51, 65, 85, 0.35);
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.06);
	transition: background 0.2s;
}
.forum-colab-card:hover {
	background: rgba(51, 65, 85, 0.55);
}
.forum-colab-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	font-size: 1.2em;
	flex-shrink: 0;
	overflow: hidden;
}
.forum-colab-avatar-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.forum-colab-name {
	color: #e2e8f0;
	text-decoration: none;
	font-weight: 500;
	font-size: 0.9em;
	text-align: center;
	word-break: break-word;
}
.forum-colab-name:hover {
	color: #22c55e;
}
.forum-colab-count {
	color: #94a3b8;
	font-size: 0.9em;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.forum-colab-icon {
	color: #22c55e;
	font-size: 1em;
	font-weight: 700;
}
.forum-colaboradores-more {
	text-align: center;
	margin: 20px 0 0 0;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.forum-btn-more {
	display: inline-block;
	background: linear-gradient(135deg, #16a34a, #22c55e);
	color: #fff;
	padding: 10px 24px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 600;
	transition: opacity 0.2s, transform 0.2s;
}
.forum-btn-more:hover {
	opacity: 0.95;
	transform: translateY(-1px);
	color: #fff;
}

.forum-seccion-icon.forum-icon-juego {
	background: linear-gradient(145deg, #1e3a5f, #2563eb);
	padding: 4px;
}
.forum-seccion-icon.forum-icon-juego img {
	border-radius: 4px;
	display: block;
}

/* Secciones (índice) - estilo listado con icono y última actividad */
.forum-secciones {
	background: rgba(30, 41, 59, 0.96);
	border: 1px solid rgba(100, 181, 246, 0.22);
	border-radius: 10px;
	overflow: hidden;
	margin-top: 16px;
}
.forum-secciones-head,
.forum-seccion-row {
	display: grid;
	grid-template-columns: 70px 1fr 90px 220px;
	gap: 16px;
	padding: 16px 24px;
	align-items: center;
	min-height: 56px;
}
.forum-secciones-head {
	background: rgba(15, 23, 42, 0.9);
	font-weight: 700;
	color: #94a3b8;
	font-size: 0.8em;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.forum-seccion-row {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	transition: background 0.2s;
	background: rgba(51, 65, 85, 0.35);
}
.forum-seccion-group {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.forum-seccion-group .forum-seccion-row-sin-icono {
	margin-left: 12px;
}
.forum-seccion-group .forum-seccion-row-sin-icono .fs-icon {
	visibility: visible;
	pointer-events: none;
	/* Rellenar la columna: fondo y barra vertical para que no quede vacío */
	background: rgba(30, 41, 59, 0.6);
	border-left: 3px solid rgba(100, 181, 246, 0.35);
	border-radius: 0 6px 6px 0;
	min-width: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.forum-seccion-group .forum-seccion-row-sin-icono .fs-icon .forum-seccion-icon {
	width: 40px;
	height: 40px;
	background: none !important;
	box-shadow: none !important;
	visibility: hidden;
}
.forum-seccion-group .forum-seccion-row-sin-icono:hover .fs-icon {
	background: rgba(30, 41, 59, 0.85);
	border-left-color: rgba(100, 181, 246, 0.5);
}
/* Subsecciones: icono gris discreto, sin recuadro azul */
.forum-seccion-group .forum-seccion-row-subseccion {
	margin-left: 12px;
}
.forum-seccion-group .forum-seccion-row-subseccion .fs-icon {
	background: transparent;
	border-left: 2px solid rgba(148, 163, 184, 0.25);
	border-radius: 0 6px 6px 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.forum-seccion-group .forum-seccion-row-subseccion .fs-icon .forum-seccion-icon {
	background: none !important;
	box-shadow: none !important;
	color: #94a3b8;
	font-size: 1.05em;
}
.forum-seccion-group .forum-seccion-row-subseccion:hover .fs-icon {
	border-left-color: rgba(148, 163, 184, 0.4);
}
.forum-seccion-group .forum-seccion-row-subseccion:hover .fs-icon .forum-seccion-icon {
	color: #b0bcc9;
}
.forum-seccion-icon-empty {
	width: 40px;
	height: 40px;
	display: inline-block;
	background: none !important;
	box-shadow: none !important;
}
/* Desplegable: la fila de la categoría abre/cierra al hacer clic */
.forum-seccion-row-con-toggle {
	cursor: pointer;
}
.forum-seccion-group-subsecciones {
	overflow: hidden;
	transition: max-height 0.25s ease-out;
}
.forum-seccion-group.forum-seccion-group-colapsado .forum-seccion-group-subsecciones {
	max-height: 0 !important;
	opacity: 0;
	pointer-events: none;
}
.forum-seccion-row:hover {
	background: rgba(71, 85, 105, 0.5);
}
.forum-seccion-icon {
	width: 48px;
	height: 48px;
	border-radius: 8px;
	background: linear-gradient(145deg, #2563eb, #4f46e5);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2em;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.forum-seccion-reportes .forum-seccion-icon.forum-icon-reportes {
	background: linear-gradient(145deg, #b91c1c, #dc2626);
}
.fs-info {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.fs-titulo-row {
	display: flex;
	align-items: center;
	gap: 4px;
}
.fs-info .fs-titulo {
	color: #f5f7ff;
	font-weight: 700;
	font-size: 1.05em;
	text-decoration: none;
	display: block;
}
.fs-info .fs-titulo:hover {
	color: #64b5f6;
	text-decoration: underline;
}
.fs-info .fs-desc {
	color: #9ca3af;
	font-size: 0.85em;
	line-height: 1.4;
	margin-top: 2px;
}
.fs-posts {
	color: #e0e6ed;
	font-weight: 600;
	font-size: 0.95em;
	padding-left: 8px;
}
.fs-posts .fs-num {
	color: #94a3b8;
	font-weight: 400;
	font-size: 0.9em;
}
.fs-last {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 0.85em;
	padding-right: 12px;
	padding-left: 8px;
}
.fs-last-titulo {
	color: #93c5fd;
	text-decoration: none;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}
.fs-last-titulo:hover {
	text-decoration: underline;
}
.fs-last-meta {
	color: #9ca3af;
	font-size: 0.9em;
}
.fs-last-meta strong {
	color: #e0e6ed;
	font-weight: 600;
}
.fs-last-empty {
	color: #6b7280;
	font-style: italic;
}
.forum-seccion-row .fs-last.fs-last-with-avatar {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
}
.forum-seccion-row .fs-last-avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.95em;
	color: #fff;
	overflow: hidden;
}
.forum-seccion-row .fs-last-avatar-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.forum-seccion-row .fs-last-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
@media (max-width: 768px) {
	.forum-secciones-head,
	.forum-seccion-row {
		grid-template-columns: 56px 1fr 72px;
	}
	.forum-secciones-head .fs-last {
		display: none;
	}
	.forum-seccion-row .fs-last {
		grid-column: 1 / -1;
		padding-top: 6px;
		border-top: 1px solid rgba(255,255,255,0.06);
		margin-top: 4px;
	}
}

/* Listado de temas (vista categoría) - bloque unificado */
.forum-seccion-wrap {
	background: linear-gradient(145deg, rgba(30, 41, 59, 0.9), rgba(51, 65, 85, 0.9));
	border: 1px solid rgba(100, 181, 246, 0.2);
	border-radius: 14px;
	overflow: hidden;
	margin-bottom: 24px;
}
.forum-seccion-wrap .forum-cat-header {
	margin-bottom: 0;
	border-radius: 0;
	border: none;
	background: transparent;
}
.forum-seccion-wrap .forum-temas-list {
	border-radius: 0;
	border: none;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	margin-bottom: 0;
	background: transparent;
}
.forum-seccion-footer {
	padding: 20px 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	background: rgba(15, 23, 42, 0.4);
}
.forum-seccion-footer .forum-login-required,
.forum-seccion-footer .forum-back {
	margin: 0 0 12px 0;
}
.forum-seccion-footer .forum-back:last-child {
	margin-bottom: 0;
}

.forum-cat-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	padding: 20px 24px;
	background: linear-gradient(145deg, rgba(30, 41, 59, 0.9), rgba(51, 65, 85, 0.9));
	border: 1px solid rgba(100, 181, 246, 0.2);
	border-radius: 12px;
	margin-bottom: 20px;
}
.forum-cat-header-text {
	flex: 1;
	min-width: 0;
}
.forum-cat-title {
	margin: 0 0 8px 0;
	color: #f5f7ff;
	font-size: 1.6em;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.forum-cat-desc {
	margin: 0;
	color: #94a3b8;
	font-size: 0.95em;
	line-height: 1.45;
}
.forum-btn-new {
	display: inline-block;
	flex-shrink: 0;
	padding: 12px 22px;
	background: linear-gradient(135deg, #2563eb, #4f46e5);
	color: #fff !important;
	text-decoration: none;
	border-radius: 10px;
	font-weight: 600;
	transition: transform 0.2s, box-shadow 0.2s;
	box-shadow: 0 2px 10px rgba(100, 181, 246, 0.3);
}
.forum-btn-new:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(100, 181, 246, 0.4);
}

.forum-temas-toolbar {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 10px 20px;
	margin-bottom: 0;
	background: linear-gradient(90deg, rgba(15, 23, 42, 0.95), rgba(30, 41, 59, 0.6));
	border: 1px solid rgba(100, 181, 246, 0.15);
	border-bottom: none;
	border-radius: 10px 10px 0 0;
	font-size: 0.9em;
	color: #94a3b8;
}

.forum-temas-list {
	background: linear-gradient(145deg, rgba(30, 41, 59, 0.85), rgba(51, 65, 85, 0.85));
	border: 1px solid rgba(100, 181, 246, 0.2);
	border-radius: 0 0 12px 12px;
	overflow: hidden;
	margin-bottom: 24px;
}
.forum-temas-head,
.forum-tema-row {
	display: grid;
	grid-template-columns: 56px 1fr 80px 80px 70px 180px;
	gap: 16px;
	padding: 14px 20px;
	align-items: center;
	min-height: 60px;
}
.forum-temas-head {
	background: rgba(15, 23, 42, 0.9);
	font-weight: 700;
	color: #94a3b8;
	font-size: 0.8em;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.forum-tema-row {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	background: rgba(51, 65, 85, 0.2);
	transition: background 0.2s;
}
.forum-tema-row:hover {
	background: rgba(71, 85, 105, 0.35);
}
.forum-tema-icon {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: rgba(100, 181, 246, 0.25);
	color: #64b5f6;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1em;
}
.forum-tema-icon-pinned {
	background: rgba(234, 179, 8, 0.25);
	color: #eab308;
}
.forum-tema-row .ft-tema {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.forum-tema-row .ft-titulo {
	color: #f5f7ff;
	font-weight: 600;
	font-size: 1.05em;
	text-decoration: none;
	display: block;
	line-height: 1.35;
}
.forum-tema-row.forum-tema-pinned .ft-titulo {
	font-weight: 700;
	color: #93c5fd;
}
.forum-tema-row .ft-titulo:hover {
	color: #64b5f6;
	text-decoration: underline;
}
.forum-tema-row .ft-meta {
	color: #94a3b8;
	font-size: 0.85em;
}
.forum-tema-row .ft-meta strong {
	color: #c4b5a0;
	font-weight: 600;
}
.forum-tema-row .ft-respuestas,
.forum-tema-row .ft-visitas,
.forum-tema-row .ft-likes,
.forum-temas-head .ft-respuestas,
.forum-temas-head .ft-visitas,
.forum-temas-head .ft-likes {
	color: #e0e6ed;
	font-size: 0.9em;
	text-align: center;
}
.forum-tema-row .ft-visitas,
.forum-temas-head .ft-visitas {
	color: #94a3b8;
}
.forum-tema-row .ft-visitas i,
.forum-tema-row .ft-likes i {
	margin-right: 4px;
	opacity: 0.9;
}
.forum-tema-row .ft-likes,
.forum-temas-head .ft-likes {
	color: #94a3b8;
}
.forum-tema-row .ft-likes i {
	color: #64b5f6;
}
.forum-tema-row .ft-last-poster {
	display: flex;
	align-items: center;
	gap: 10px;
}
.forum-tema-row .ft-last-avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.95em;
	color: #fff;
	flex-shrink: 0;
	overflow: hidden;
}
.forum-tema-row .ft-last-avatar-img {
	border-radius: 50%;
	overflow: hidden;
}
.forum-tema-row .ft-last-avatar-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.forum-tema-row .ft-last-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.forum-tema-row .ft-last-user {
	color: #e0e6ed;
	font-size: 0.9em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.forum-tema-row .ft-last-date {
	color: #94a3b8;
	font-size: 0.8em;
}
.forum-empty {
	padding: 40px 20px;
	text-align: center;
	color: #94a3b8;
	font-size: 1em;
}
@media (max-width: 768px) {
	.forum-cat-header {
		flex-direction: column;
		align-items: stretch;
	}
	.forum-temas-head,
	.forum-tema-row {
		grid-template-columns: 44px 1fr 50px 50px 48px;
	}
	.forum-temas-head .ft-last-poster,
	.forum-tema-row .ft-last-poster {
		grid-column: 2 / -1;
		grid-column-start: 2;
	}
	.forum-tema-row .ft-respuestas,
	.forum-tema-row .ft-visitas,
	.forum-tema-row .ft-likes {
		text-align: left;
	}
}

/* Tema único + respuestas (layout dos columnas: usuario | contenido) */
.forum-tema-single {
	margin-bottom: 16px;
}
.forum-posts {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.forum-post {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 0;
	min-height: 80px;
	background: linear-gradient(145deg, rgba(30, 41, 59, 0.9), rgba(51, 65, 85, 0.9));
	border: 1px solid rgba(100, 181, 246, 0.2);
	border-radius: 12px;
	margin-bottom: 10px;
	overflow: visible;
}
.forum-post:last-of-type {
	margin-bottom: 0;
}

/* Tema principal: 2 filas (fila 1 = usuario, fila 2 = texto del post). Solo este bloque. */
.forum-post-tema {
	display: flex;
	flex-direction: column;
	background: linear-gradient(145deg, rgba(30, 51, 80, 0.95), rgba(40, 62, 95, 0.95));
	border: 1px solid rgba(100, 181, 246, 0.35);
	border-left: 4px solid #64b5f6;
	border-radius: 14px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
	min-height: 100px;
	position: relative;
}
.forum-post-tema::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(100, 181, 246, 0.25), transparent);
	opacity: 0.8;
}
/* Fila 1: datos del usuario en línea */
.forum-post-tema .forum-post-sidebar {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	background: rgba(15, 28, 48, 0.95);
	border-right: none;
	border-bottom: 1px solid rgba(100, 181, 246, 0.25);
	padding: 16px 24px;
	gap: 14px;
}
.forum-post-tema .forum-post-avatar {
	width: 56px;
	height: 56px;
	font-size: 1.35em;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	flex-shrink: 0;
}
.forum-post-tema .forum-post-user-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}
.forum-post-tema .forum-post-user {
	font-size: 1.05em;
	color: #fbbf24;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.forum-post-tema .forum-post-seccion {
	margin-top: 0;
	margin-left: auto;
}
/* Fila 2: contenido del post */
.forum-post-tema .forum-post-content {
	width: 100%;
	box-sizing: border-box;
	padding: 20px 28px 28px;
	gap: 14px;
}
.forum-post-content-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2px;
	min-height: 0;
	gap: 12px;
	flex-wrap: wrap;
}
.forum-post-visitas {
	color: #94a3b8;
	font-size: 0.85em;
}
.forum-post-visitas i {
	margin-right: 4px;
	opacity: 0.9;
}
.forum-post-date-right {
	color: #94a3b8;
	font-size: 0.8em;
}
.forum-post-tema .forum-post-content-head {
	margin-bottom: 0;
}
.forum-post-tema .forum-post-date-right {
	font-size: 0.85em;
}
.forum-post-tema .forum-post-title {
	font-size: 1.65em;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: #f8fafc;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(100, 181, 246, 0.2);
	margin-bottom: 4px;
}
.forum-post-tema .forum-post-body {
	font-size: 1.02em;
	line-height: 1.75;
	color: #e2e8f0;
}

/* Respuestas (comentarios principales): tamaño normal, avatar más grande */
.forum-post-respuesta {
	margin-left: 32px;
	max-width: calc(100% - 32px);
	grid-template-columns: 120px 1fr;
	min-height: 60px;
	border-radius: 10px;
	border-left: 3px solid rgba(100, 181, 246, 0.35);
	background: linear-gradient(145deg, rgba(30, 41, 59, 0.7), rgba(51, 65, 85, 0.7));
}
/* Solo comentarios principales (no subcomentarios): avatar grande, fecha a la derecha en contenido */
.forum-post-respuesta:not(.forum-post-subreply) .forum-post-sidebar {
	padding: 12px 10px;
	gap: 8px;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.forum-post-respuesta:not(.forum-post-subreply) .forum-post-avatar {
	width: 56px;
	height: 56px;
	font-size: 1.25em;
}
.forum-post-respuesta:not(.forum-post-subreply) .forum-post-user {
	font-size: 0.9em;
	text-align: center;
	width: 100%;
	display: block;
}
.forum-post-respuesta:not(.forum-post-subreply) .forum-post-user .forum-post-user-link {
	display: inline-block;
}
.forum-post-respuesta:not(.forum-post-subreply) .forum-post-content {
	padding: 14px 18px 18px;
	gap: 8px;
	overflow: visible;
}
.forum-post-respuesta:not(.forum-post-subreply) .forum-post-actions {
	margin-bottom: 4px;
}
.forum-post-respuesta:not(.forum-post-subreply) .forum-post-body {
	font-size: 0.95em;
	line-height: 1.6;
}
/* Subrespuestas: más indentación y altura reducida para diferenciar del comentario principal */
.forum-post-subreply {
	margin-left: 56px;
	max-width: calc(100% - 56px);
	min-height: 0;
	padding: 2px 0;
	margin-bottom: 6px;
	align-items: stretch;
	grid-template-columns: 78px 1fr;
}
.forum-post-subreply:last-child {
	margin-bottom: 0;
}
.forum-post-subreply .forum-post-sidebar {
	padding: 6px 6px;
	width: 78px;
	min-width: 78px;
	max-width: 78px;
	gap: 8px;
	justify-content: center;
	align-items: center;
	text-align: center;
	border-radius: 8px 0 0 8px;
	align-self: stretch;
	min-height: 100%;
}
.forum-post-subreply .forum-post-avatar {
	width: 32px;
	height: 32px;
	font-size: 0.85em;
}
.forum-post-subreply .forum-post-user {
	font-size: 0.75em;
	text-align: center;
	width: 100%;
	display: block;
}
.forum-post-subreply .forum-post-user .forum-post-user-link {
	display: inline-block;
}
.forum-post-subreply .forum-post-content-head {
	margin-bottom: 0;
}
.forum-post-subreply .forum-post-date-right {
	font-size: 0.7em;
}
.forum-post-subreply .forum-post-content {
	padding: 5px 10px 6px;
	gap: 4px;
}
.forum-post-subreply .forum-post-body {
	font-size: 0.82em;
	line-height: 1.4;
}
.forum-post-subreply .forum-post-actions {
	margin-top: 6px;
	gap: 6px;
}
.forum-post-subreply .forum-post-actions .forum-btn-action,
.forum-post-subreply .forum-post-actions .forum-btn-reply-to {
	padding: 4px 8px;
	font-size: 0.8em;
}
.forum-post-subreply .forum-reply-to {
	font-size: 0.75em;
	margin-bottom: 2px;
}
.forum-reply-to {
	margin: 0 0 8px 0;
	font-size: 0.85em;
	color: #94a3b8;
}
.forum-reply-to strong {
	color: #64b5f6;
}

/* Acciones bajo cada respuesta: Responder (ancho contenido), Me gusta, Favorito, Compartir */
.forum-post-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}
.forum-btn-reply-to {
	width: auto;
	display: inline-block;
	padding: 6px 14px;
	font-size: 0.85em;
	background: rgba(100, 181, 246, 0.2);
	border: 1px solid rgba(100, 181, 246, 0.4);
	border-radius: 8px;
	color: #93c5fd;
	cursor: pointer;
	font-family: inherit;
	transition: background 0.2s, border-color 0.2s;
}
.forum-btn-reply-to:hover {
	background: rgba(100, 181, 246, 0.35);
	border-color: rgba(100, 181, 246, 0.6);
}
.forum-btn-action {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 10px;
	font-size: 0.85em;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	color: #94a3b8;
	cursor: pointer;
	font-family: inherit;
	transition: color 0.2s, background 0.2s;
}
.forum-btn-action:hover {
	color: #e0e6ed;
	background: rgba(255, 255, 255, 0.1);
}
.forum-btn-like.forum-liked,
.forum-btn-like:hover { color: #64b5f6; }
.forum-btn-fav.forum-faved,
.forum-btn-fav:hover { color: #eab308; }
.forum-btn-fav-tema.forum-faved,
.forum-btn-fav-tema:hover { color: #eab308; }
.forum-ajax-loading { opacity: 0.7; pointer-events: none; }
.forum-post-actions-tema .forum-btn-action { text-decoration: none; }
.forum-post-actions-tema a.forum-btn-action:hover { color: inherit; }
.forum-btn-share:hover { color: #64b5f6; }
.forum-btn-desactivar:hover { color: #ef4444; }
.forum-sr-only {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.forum-mover-tema-wrap { display: inline-block; vertical-align: middle; }
.forum-form-mover-tema { display: inline-flex; align-items: center; gap: 6px; }
.forum-form-mover-tema .forum-select-mover {
	max-width: 140px; padding: 4px 8px; font-size: 0.9em; border-radius: 6px; background: rgba(30, 41, 59, 0.9); border: 1px solid rgba(100, 181, 246, 0.3); color: inherit;
}
.forum-btn-mover-tema { background: none; border: none; cursor: pointer; padding: 4px 8px; color: inherit; }
.forum-btn-mover-tema:hover { color: #64b5f6; }
.forum-btn-editar-tema:hover { color: #64b5f6; }
.forum-editar-tema-wrap {
	margin-bottom: 1.5rem;
	padding: 1.25rem;
	background: rgba(30, 41, 59, 0.5);
	border: 1px solid rgba(100, 181, 246, 0.25);
	border-radius: 10px;
}
.forum-editar-tema-title { margin-top: 0; margin-bottom: 1rem; font-size: 1.1rem; }
.forum-form-editar-tema .forum-input-titulo { width: 100%; max-width: 100%; padding: 8px 12px; margin-bottom: 10px; border-radius: 6px; background: rgba(15, 23, 42, 0.8); border: 1px solid rgba(100, 181, 246, 0.3); color: inherit; box-sizing: border-box; }
.forum-form-editar-tema .forum-textarea-editar { width: 100%; max-width: 100%; padding: 10px 12px; margin-bottom: 12px; border-radius: 6px; background: rgba(15, 23, 42, 0.8); border: 1px solid rgba(100, 181, 246, 0.3); color: inherit; font-family: inherit; font-size: 0.95rem; box-sizing: border-box; resize: vertical; }
.forum-editar-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.forum-editar-actions .forum-btn-guardar { background: rgba(100, 181, 246, 0.2); color: #64b5f6; }
.forum-editar-actions .forum-btn-cancelar { display: inline-block; text-decoration: none; padding: 8px 14px; border-radius: 6px; background: rgba(100, 100, 100, 0.2); color: inherit; }
.forum-share-wrap {
	position: relative;
	display: inline-block;
}
.forum-share-dropdown {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	margin-top: 4px;
	background: rgba(30, 41, 59, 0.98);
	border: 1px solid rgba(100, 181, 246, 0.3);
	border-radius: 8px;
	padding: 6px 8px;
	gap: 6px;
	z-index: 25;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.forum-share-dropdown.forum-share-open {
	display: flex;
}
.forum-share-dropdown a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 6px;
	color: #e0e6ed;
	transition: color 0.2s, background 0.2s;
}
.forum-share-dropdown a:hover { color: #fff; background: rgba(100, 181, 246, 0.25); }
.forum-share-dropdown a:nth-child(1):hover { color: #1877f2; }
.forum-share-dropdown a:nth-child(2):hover { color: #1da1f2; }
.forum-share-dropdown a:nth-child(3):hover { color: #4c75a3; }
.forum-btn-inline {
	padding: 6px 14px;
	font-size: 0.9em;
	width: auto;
}

.forum-post-sidebar {
	padding: 20px 16px;
	background: rgba(15, 23, 42, 0.85);
	border-right: 1px solid rgba(100, 181, 246, 0.15);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
}
.forum-post-avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.4em;
	color: #fff;
	flex-shrink: 0;
	overflow: hidden;
}
.forum-post-avatar-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.forum-post-user {
	font-weight: 700;
	color: #f59e0b;
	font-size: 1em;
	word-break: break-word;
	line-height: 1.3;
}
.forum-post-user-link {
	color: inherit;
	text-decoration: none;
}
.forum-post-user-link:hover {
	text-decoration: underline;
	opacity: 0.95;
}
.forum-post-rango {
	display: inline-block;
	font-size: 0.7em;
	font-weight: 600;
	color: #94a3b8;
	background: rgba(100, 181, 246, 0.15);
	padding: 1px 6px;
	border-radius: 6px;
	margin-left: 6px;
	white-space: nowrap;
}
.forum-post-user,
.forum-tema-row .ft-meta .forum-user-link,
.ft-last-user {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}
.user-status-dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
	vertical-align: middle;
}
.user-status-online {
	background: #22c55e;
	box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.4);
}
.user-status-offline {
	background: #64748b;
	opacity: 0.8;
}
.forum-user-link {
	color: inherit;
	text-decoration: none;
}
.forum-user-link:hover {
	text-decoration: underline;
	color: #64b5f6;
}
.forum-post-rating {
	color: #eab308;
	font-size: 0.9em;
	letter-spacing: 1px;
	margin-top: 2px;
	line-height: 1.2;
}
.forum-post-tema .forum-post-rating {
	font-size: 0.95em;
	margin-top: 4px;
}
.forum-post-subreply .forum-post-rating {
	font-size: 0.75em;
	margin-top: 1px;
	letter-spacing: 0.5px;
}
.forum-post-date {
	color: #94a3b8;
	font-size: 0.8em;
}
.forum-post-seccion {
	color: #64b5f6;
	text-decoration: none;
	font-size: 0.85em;
	margin-top: 4px;
}
.forum-post-seccion:hover {
	text-decoration: underline;
}
.forum-post-content {
	padding: 20px 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}
.forum-post-tema .forum-post-content {
	padding-top: 24px;
}
.forum-post-title {
	margin: 0 0 8px 0;
	color: #f5f7ff;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
}
.forum-post-body {
	line-height: 1.7;
	color: #e0e6ed;
	font-size: 1em;
}
.forum-post-body p {
	margin: 0 0 12px 0;
}
.forum-post-body p:last-child {
	margin-bottom: 0;
}
.forum-post-body strong {
	color: #f5f7ff;
	font-weight: 600;
}
.forum-post-body ul,
.forum-post-body ol {
	margin: 10px 0 14px 0;
	padding-left: 24px;
}
.forum-post-body li {
	margin-bottom: 6px;
}
.forum-post-body a {
	color: #64b5f6;
	text-decoration: none;
}
.forum-post-body a:hover {
	text-decoration: underline;
}

/* Contenedor de respuestas: mismo ancho que el tema, fondo para que no floten */
.forum-respuestas-wrap {
	width: 100%;
	box-sizing: border-box;
	margin-top: 16px;
	padding: 20px 24px 24px;
	background: linear-gradient(145deg, rgba(30, 51, 80, 0.92), rgba(40, 62, 95, 0.92));
	border: 1px solid rgba(100, 181, 246, 0.3);
	border-radius: 14px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
}
.forum-respuestas-wrap .forum-post-respuesta {
	margin-left: 0;
	max-width: 100%;
}
.forum-respuestas-wrap .forum-post-subreply {
	margin-left: 24px;
	max-width: calc(100% - 24px);
}
.forum-respuestas-footer {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid rgba(100, 181, 246, 0.2);
}
.forum-respuestas-footer .forum-login-required,
.forum-respuestas-footer .forum-back {
	margin: 0 0 8px 0;
}
.forum-respuestas-footer .forum-back:last-child {
	margin-bottom: 0;
}

.forum-respuestas-title {
	position: relative;
	font-weight: 700;
	color: #c7d2fe;
	margin: 0 0 14px 0;
	font-size: 1.1em;
	padding-bottom: 10px;
	border-bottom: none;
}
.forum-respuestas-title::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg, rgba(100, 181, 246, 0.6), rgba(100, 181, 246, 0.2));
}
.forum-pagination {
	margin: 20px 0 16px 0;
}
.forum-pagination a,
.forum-pagination .current {
	display: inline-block;
	padding: 8px 14px;
	margin-right: 6px;
	border-radius: 8px;
	text-decoration: none;
	color: #93c5fd;
	background: rgba(100, 181, 246, 0.15);
	font-weight: 500;
}
.forum-pagination a:hover {
	background: rgba(100, 181, 246, 0.3);
}
.forum-pagination .current {
	color: #fff;
	background: rgba(59, 130, 246, 0.5);
	cursor: default;
}

@media (max-width: 768px) {
	.forum-post {
		grid-template-columns: 1fr;
	}
	.forum-post-sidebar {
		flex-direction: row;
		justify-content: flex-start;
		text-align: left;
		padding: 12px 16px;
		border-right: none;
		border-bottom: 1px solid rgba(100, 181, 246, 0.15);
		gap: 12px;
	}
	.forum-post-avatar {
		width: 44px;
		height: 44px;
		font-size: 1.1em;
	}
	.forum-post-user {
		font-size: 0.95em;
	}
	.forum-post-date {
		margin-left: auto;
		font-size: 0.8em;
	}
	.forum-post-seccion {
		width: 100%;
		margin-top: 0;
	}
	.forum-post-content {
		padding: 16px;
	}
	.forum-post-title {
		font-size: 1.25em;
	}
	.forum-post-tema .forum-post-title {
		font-size: 1.35em;
	}
	.forum-post-respuesta {
		margin-left: 16px;
		max-width: calc(100% - 16px);
		grid-template-columns: 1fr;
	}
	.forum-post-subreply {
		margin-left: 24px;
		max-width: calc(100% - 24px);
	}
}

/* Formularios */
.forum-reply-form,
.forum-new-tema {
	background: rgba(30, 41, 59, 0.5);
	border: 1px solid rgba(100, 181, 246, 0.2);
	border-radius: 12px;
	padding: 16px 20px;
	margin: 14px 0;
}
/* Formulario de respuesta inline (al pulsar Responder en un comentario/subcomentario) */
.forum-inline-reply-form {
	background: rgba(30, 41, 59, 0.55);
	border: 1px solid rgba(100, 181, 246, 0.25);
	border-radius: 10px;
	padding: 12px 14px;
	margin-top: 10px;
}
.forum-inline-reply-form textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	margin-bottom: 8px;
	border: 1px solid rgba(100, 181, 246, 0.3);
	border-radius: 8px;
	background: rgba(15, 23, 42, 0.6);
	color: #e0e6ed;
	font-family: inherit;
	font-size: 0.95em;
}
.forum-inline-reply-form textarea::placeholder {
	color: #94a3b8;
}
/* Formulario "Nuevo tema": oculto hasta que se pulse el botón "+ Nuevo tema" */
.forum-new-tema {
	display: none;
}
#nuevo-tema:target {
	display: block;
}
.forum-reply-form h3,
.forum-new-tema h3 {
	margin: 0 0 14px 0;
	color: #f5f7ff;
	font-size: 1.1em;
}
.forum-reply-form textarea,
.forum-new-tema textarea,
.forum-new-tema input[type="text"] {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	margin: 8px 0 14px 0;
	border: 1px solid rgba(100, 181, 246, 0.3);
	border-radius: 8px;
	background: rgba(15, 15, 35, 0.6);
	color: #e0e6ed;
	font-family: inherit;
	font-size: 1em;
}
.forum-new-tema label {
	display: block;
	margin-top: 12px;
	color: #c7d2fe;
	font-size: 0.95em;
}
.forum-new-tema .forum-req {
	font-size: 0.75em;
	color: #94a3b8;
	font-weight: normal;
}
.forum-new-tema .forum-label-contenido { margin-top: 16px; }
.forum-new-tema #forum-tema-contenido { margin-top: 6px; margin-bottom: 12px; }
.forum-quill-editor { min-height: 320px; margin-top: 6px; margin-bottom: 12px; background: rgba(15, 15, 35, 0.6); border-radius: 8px; }
.forum-quill-editor .ql-container { border-color: rgba(100, 181, 246, 0.3); font-size: 1em; }
.forum-quill-editor .ql-toolbar { position: relative; z-index: 100; border-color: rgba(100, 181, 246, 0.3); background: rgba(30, 41, 59, 0.4); }
.forum-quill-editor .ql-editor { min-height: 260px; color: #e0e6ed; }
.forum-quill-editor .ql-stroke { stroke: rgba(100, 181, 246, 0.4); }
.forum-quill-editor .ql-fill { fill: rgba(148, 163, 184, 0.8); }
.forum-quill-editor .ql-picker { color: #94a3b8; }
.forum-quill-editor .ql-editor.ql-blank::before { color: #64748b; }
/* Desplegable de alineación: mismo estilo que modal de tamaño (Normal, H2, H3) */
.forum-quill-editor .ql-align .ql-picker-options {
	background: #1e293b !important;
	border: 1px solid rgba(100, 181, 246, 0.5) !important;
	border-radius: 10px !important;
	box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important;
	padding: 8px !important;
	min-width: 36px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}
.forum-quill-editor .ql-align .ql-picker-item {
	padding: 10px 14px !important;
	border-radius: 6px !important;
	background: transparent !important;
	color: #e0e6ed !important;
	transition: background 0.15s;
}
.forum-quill-editor .ql-align .ql-picker-item:hover {
	background: rgba(100, 181, 246, 0.2) !important;
}
.forum-quill-editor .ql-align .ql-picker-item.ql-selected {
	background: rgba(100, 181, 246, 0.2) !important;
	color: #93c5fd !important;
}
.forum-quill-editor .ql-align .ql-picker-item .ql-stroke {
	stroke: rgba(148, 163, 184, 0.9) !important;
}
.forum-quill-editor .ql-align .ql-picker-item:hover .ql-stroke,
.forum-quill-editor .ql-align .ql-picker-item.ql-selected .ql-stroke {
	stroke: rgba(147, 197, 253, 0.95) !important;
}
.forum-quill-editor .ql-align .ql-picker-item .ql-fill {
	fill: rgba(148, 163, 184, 0.9) !important;
}
.forum-quill-editor .ql-align .ql-picker-item:hover .ql-fill,
.forum-quill-editor .ql-align .ql-picker-item.ql-selected .ql-fill {
	fill: rgba(147, 197, 253, 0.95) !important;
}
/* La B no se muestra activa hasta que el usuario hace clic en el editor */
.forum-quill-editor.forum-bold-inactive-until-click .ql-toolbar .ql-bold {
	color: #94a3b8 !important;
}
.forum-quill-editor.forum-bold-inactive-until-click .ql-toolbar .ql-bold .ql-stroke,
.forum-quill-editor.forum-bold-inactive-until-click .ql-toolbar .ql-bold .ql-stroke-miter {
	stroke: rgba(100, 181, 246, 0.4) !important;
}
.forum-quill-editor.forum-bold-inactive-until-click .ql-toolbar .ql-bold .ql-fill,
.forum-quill-editor.forum-bold-inactive-until-click .ql-toolbar .ql-bold .ql-stroke.ql-fill {
	fill: rgba(148, 163, 184, 0.8) !important;
}
/* Botón emoticonos en toolbar Quill */
.forum-ql-emoji-btn {
	position: relative;
	width: 28px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	font-size: 1.1em;
	line-height: 1;
	vertical-align: middle;
}
.forum-ql-emoji-btn:hover { opacity: 0.9; }
/* Modal de emoticonos: se renderiza en body para quedar siempre encima del editor */
.forum-emoji-modal-wrap {
	position: fixed;
	z-index: 99999;
	left: 0;
	top: 0;
}
.forum-emoji-dropdown-fixed {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	gap: 6px;
	padding: 12px;
	width: 340px;
	min-height: 300px;
	overflow: visible;
	background: #1e293b;
	border: 1px solid rgba(100, 181, 246, 0.5);
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(0,0,0,0.5);
}
.forum-emoji-item {
	width: 34px;
	height: 34px;
	padding: 0;
	border: none;
	background: transparent;
	border-radius: 6px;
	cursor: pointer;
	font-size: 1.2em;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s;
}
.forum-emoji-item:hover {
	background: rgba(100, 181, 246, 0.25);
}
/* Modal de color de texto/fondo: mismo estilo que emoticonos, se abre en body */
.forum-color-modal-wrap {
	position: fixed;
	z-index: 99999;
	left: 0;
	top: 0;
}
.forum-color-dropdown-fixed {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 6px;
	padding: 12px;
	width: 280px;
	overflow: visible;
	background: #1e293b;
	border: 1px solid rgba(100, 181, 246, 0.5);
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(0,0,0,0.5);
}
.forum-color-default-btn {
	grid-column: 1 / -1;
	padding: 8px 12px;
	margin-bottom: 4px;
	border: 1px solid rgba(100, 181, 246, 0.5);
	border-radius: 6px;
	background: rgba(100, 181, 246, 0.15);
	color: #e0e6ed;
	font-size: 0.9em;
	cursor: pointer;
	transition: background 0.15s;
}
.forum-color-default-btn:hover {
	background: rgba(100, 181, 246, 0.25);
}
.forum-color-item {
	width: 28px;
	height: 28px;
	padding: 0;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: transform 0.15s, box-shadow 0.15s;
}
.forum-color-item:hover {
	transform: scale(1.1);
	box-shadow: 0 0 0 2px rgba(100, 181, 246, 0.6);
}
.forum-color-item[data-hex="#ffffff"] {
	border: 1px solid rgba(100, 181, 246, 0.5);
}
/* Botones de color/fondo en toolbar (sustituyen al picker de Quill) */
.forum-color-trigger,
.forum-bg-trigger {
	width: 28px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	font-size: 1em;
	line-height: 1;
	vertical-align: middle;
	color: inherit;
}
.forum-color-trigger:hover,
.forum-bg-trigger:hover { opacity: 0.9; }
.forum-color-trigger .forum-color-trigger-a {
	border-bottom: 2px solid currentColor;
}
.forum-bg-trigger .forum-bg-trigger-a {
	background: linear-gradient(transparent 55%, rgba(255,255,0,0.5) 55%);
	padding: 0 1px;
}
/* Modal de estilo/tamaño (Normal, H2, H3): mismo estilo que color y emoticonos */
.forum-header-modal-wrap {
	position: fixed;
	z-index: 99999;
	left: 0;
	top: 0;
}
.forum-header-dropdown-fixed {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 8px;
	min-width: 160px;
	background: #1e293b;
	border: 1px solid rgba(100, 181, 246, 0.5);
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(0,0,0,0.5);
}
.forum-header-item {
	padding: 10px 14px;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: #e0e6ed;
	font-size: 0.95em;
	text-align: left;
	cursor: pointer;
	transition: background 0.15s;
}
.forum-header-item:hover {
	background: rgba(100, 181, 246, 0.2);
}
.forum-header-trigger {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-width: 28px;
	height: 28px;
	padding: 0 6px;
	border: none;
	background: transparent;
	cursor: pointer;
	color: inherit;
	font-size: 0.9em;
}
.forum-header-trigger:hover { opacity: 0.9; }
.forum-header-trigger-text { white-space: nowrap; }
.forum-header-trigger-arrow { font-size: 0.7em; opacity: 0.8; }
.forum-header-formats { padding-right: 16px; }
.forum-color-formats { padding-left: 8px; }
/* Tooltip de enlace e imagen de Quill: visible y por encima del resto */
.ql-tooltip {
	z-index: 9999 !important;
	background: #1e293b !important;
	border: 1px solid rgba(100, 181, 246, 0.5) !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
	box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
}
.ql-tooltip input[type="text"] {
	background: rgba(15, 15, 35, 0.9) !important;
	color: #e0e6ed !important;
	border: 1px solid rgba(100, 181, 246, 0.4) !important;
	padding: 6px 10px !important;
	border-radius: 6px !important;
	min-width: 220px;
}
.ql-tooltip a.ql-action,
.ql-tooltip a.ql-remove { color: #93c5fd !important; }
.forum-adjuntos-wrap {
	margin: 14px 0 18px 0;
}
.forum-adjuntos-drop {
	border: 2px dashed rgba(100, 181, 246, 0.35);
	border-radius: 10px;
	background: rgba(15, 15, 35, 0.4);
	padding: 20px 24px;
	text-align: center;
	position: relative;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
}
.forum-adjuntos-drop:hover,
.forum-adjuntos-drop.forum-adjuntos-dragover {
	border-color: rgba(100, 181, 246, 0.6);
	background: rgba(100, 181, 246, 0.08);
}
.forum-adjuntos-text {
	margin: 0 0 6px 0;
	color: #cbd5e1;
	font-size: 0.95em;
}
.forum-adjuntos-select-btn {
	background: rgba(100, 181, 246, 0.25);
	color: #93c5fd;
	border: 1px solid rgba(100, 181, 246, 0.5);
	border-radius: 6px;
	padding: 6px 12px;
	cursor: pointer;
	font-size: 0.9em;
	transition: background 0.2s, border-color 0.2s;
}
.forum-adjuntos-select-btn:hover {
	background: rgba(100, 181, 246, 0.35);
	border-color: rgba(100, 181, 246, 0.7);
}
.forum-adjuntos-tipos,
.forum-adjuntos-max {
	margin: 4px 0 0 0;
	font-size: 0.8em;
	color: #94a3b8;
}
.forum-post-body a { color: #93c5fd; text-decoration: none; }
.forum-post-body a:hover { text-decoration: underline; }
.forum-post-body img { max-width: 100%; height: auto; border-radius: 6px; vertical-align: middle; }
.forum-post-body ul, .forum-post-body ol { margin: 0.5em 0; padding-left: 1.5em; }
.forum-post-body blockquote { border-left: 4px solid rgba(100, 181, 246, 0.5); margin: 0.5em 0; padding-left: 1em; color: #94a3b8; }
.forum-btn {
	display: inline-block;
	padding: 10px 20px;
	background: rgba(100, 181, 246, 0.25);
	color: #93c5fd !important;
	border: 1px solid rgba(100, 181, 246, 0.5);
	border-radius: 10px;
	font-weight: 600;
	cursor: pointer;
	font-size: 1em;
	transition: background 0.2s, border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.forum-btn:hover {
	background: rgba(100, 181, 246, 0.4);
	border-color: rgba(100, 181, 246, 0.7);
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(100, 181, 246, 0.25);
}
.forum-btn i {
	margin-right: 6px;
}
.forum-login-required {
	margin: 16px 0;
}
.forum-login-required a {
	color: #64b5f6;
	text-decoration: none;
}
.forum-login-required a:hover {
	text-decoration: underline;
}
.forum-back {
	margin-top: 20px;
}
.forum-back a {
	color: #64b5f6;
	text-decoration: none;
}
.forum-back a:hover {
	text-decoration: underline;
}

@media (max-width: 640px) {
	.forum-secciones-head,
	.forum-seccion-row {
		grid-template-columns: 1fr 80px;
	}
	.forum-seccion-row .fs-desc {
		display: none;
	}
	.forum-secciones-head .fs-desc {
		display: none;
	}
	.forum-temas-head,
	.forum-tema-row {
		grid-template-columns: 40px 1fr 44px 44px 40px 90px;
		font-size: 0.9em;
		gap: 10px;
		padding: 10px 12px;
	}
}
