.fnc-wall { --wall-radius: 14px; --wall-gap: 14px; }

.fnc-wall h2 i { margin-right: 8px; opacity: .8; }

/* Compose */
.fnc-wall__compose {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 18px;
	padding: 16px;
	border: 1px solid rgba(138, 99, 255, .18);
	border-radius: 18px;
	background:
		linear-gradient(180deg, rgba(138, 99, 255, .06), rgba(138, 99, 255, 0)),
		rgba(127, 127, 127, .04);
}

.fnc-wall__compose-id { display: flex; align-items: center; gap: 12px; }

.fnc-wall__compose-avatar {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #6d8bff, #b063ff);
	color: #fff;
	font-weight: 700;
	box-shadow: 0 0 0 2px rgba(138, 99, 255, .35);
}
.fnc-wall__compose-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fnc-wall__compose-avatar-initial { font-size: 1.05em; }

.fnc-wall__compose-id-meta { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.fnc-wall__compose-name { font-weight: 700; display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.fnc-wall__compose-badges { display: inline-flex; align-items: center; gap: 4px; }
.fnc-wall__compose-badges img { height: 16px; width: auto; vertical-align: middle; }

.fnc-wall__compose-body {
	width: 100%;
	resize: vertical;
	min-height: 70px;
	padding: 12px 14px;
	border: 1px solid rgba(128, 128, 128, .22);
	border-radius: 14px;
	font: inherit;
	line-height: 1.5;
	color: inherit;
	background: rgba(0, 0, 0, .18);
	box-sizing: border-box;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.fnc-wall__compose-body::placeholder { opacity: .55; }
.fnc-wall__compose-body:focus {
	outline: none;
	border-color: rgba(138, 99, 255, .7);
	box-shadow: 0 0 0 3px rgba(138, 99, 255, .18);
}

.fnc-wall__compose-previews { display: flex; flex-wrap: wrap; gap: 8px; }

.fnc-wall__preview {
	position: relative;
	width: 76px;
	height: 76px;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid rgba(138, 99, 255, .25);
	cursor: grab;
	transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.fnc-wall__preview:active { cursor: grabbing; }
.fnc-wall__preview.is-dragging { opacity: .5; transform: scale(.96); }
.fnc-wall__preview:hover { box-shadow: 0 4px 14px rgba(0, 0, 0, .35); }

.fnc-wall__preview-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
}

.fnc-wall__preview-remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(0, 0, 0, .6);
	color: #fff;
	font-size: .72em;
	line-height: 1;
	cursor: pointer;
	opacity: 0;
	transition: opacity .12s ease, background .12s ease, transform .12s ease;
}
.fnc-wall__preview:hover .fnc-wall__preview-remove,
.fnc-wall__preview-remove:focus { opacity: 1; }
.fnc-wall__preview-remove:hover { background: rgba(220, 70, 70, .9); transform: scale(1.08); }

/* Flechas de reordenamiento (alternativa táctil al drag & drop) */
.fnc-wall__preview-moves {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: space-between;
	padding: 4px;
	opacity: 0;
	transition: opacity .12s ease;
	background: linear-gradient(0deg, rgba(0, 0, 0, .55), transparent);
}
.fnc-wall__preview:hover .fnc-wall__preview-moves,
.fnc-wall__preview:focus-within .fnc-wall__preview-moves { opacity: 1; }

.fnc-wall__preview-move {
	width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(0, 0, 0, .6);
	color: #fff;
	font-size: .7em;
	line-height: 1;
	cursor: pointer;
	transition: background .12s ease, opacity .12s ease;
}
.fnc-wall__preview-move:hover { background: rgba(138, 99, 255, .9); }
.fnc-wall__preview-move:disabled { opacity: .25; cursor: default; pointer-events: none; }

/* En pantallas táctiles (sin hover) las flechas se quedan siempre visibles */
@media (hover: none) {
	.fnc-wall__preview-moves { opacity: 1; }
	.fnc-wall__preview-remove { opacity: 1; }
}

.fnc-wall__compose-bar { display: flex; align-items: center; gap: 10px; }
.fnc-wall__compose-tools { display: flex; align-items: center; gap: 4px; }
.fnc-wall__compose-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }

/* Boton emoji del compositor: iguala el tamaño del de fotos */
.fnc-wall__compose-emoji { width: 48px; height: 48px; font-size: 1.35em; }

/* Añadir fotos: icono moderno sin silueta de botón */
.fnc-wall__compose-photo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	cursor: pointer;
	color: #b9a4ff;
	font-size: 1.35em;
	background: transparent;
	transition: background .15s ease, color .15s ease, transform .05s ease;
	user-select: none;
}
.fnc-wall__compose-photo:hover { background: rgba(138, 99, 255, .15); color: #cbb8ff; }
.fnc-wall__compose-photo:active { transform: scale(.94); }
.fnc-wall__compose-photo.is-disabled {
	color: #6b6b72;
	background: transparent;
	cursor: not-allowed;
	pointer-events: none;
	opacity: .55;
	transform: none;
}
.fnc-wall__compose-photo .screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.fnc-wall__compose-video {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	cursor: pointer;
	color: #8ecae6;
	font-size: 1.25em;
	background: transparent;
	transition: background .15s ease, color .15s ease, transform .05s ease;
	user-select: none;
}
.fnc-wall__compose-video:hover { background: rgba(142, 202, 230, .15); color: #bde0fe; }
.fnc-wall__compose-video:active { transform: scale(.94); }
.fnc-wall__compose-video .screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.fnc-wall__video-compose-status {
	display: flex;
	align-items: center;
	gap: .45rem;
	padding: .55rem .75rem;
	border-radius: .45rem;
	margin-top: .55rem;
	font-size: .88rem;
	font-weight: 700;
	letter-spacing: .01em;
	border: 1px solid transparent;
}

.fnc-wall__video-compose-status::before {
	content: "";
	width: .7rem;
	height: .7rem;
	border-radius: 999px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	flex: none;
	animation: fnc-wall-video-status-spin .7s linear infinite;
}

.fnc-wall__video-compose-status.is-uploading {
	color: #ffe08a;
	background: rgba(255, 196, 72, .14);
	border-color: rgba(255, 196, 72, .45);
	text-shadow: 0 0 12px rgba(255, 196, 72, .25);
}

.fnc-wall__video-compose-status.is-processing {
	color: #c4b5ff;
	background: rgba(138, 99, 255, .16);
	border-color: rgba(168, 140, 255, .5);
	text-shadow: 0 0 12px rgba(138, 99, 255, .28);
}

.fnc-wall__video-compose-status.is-error {
	color: #ffb4b4;
	background: rgba(220, 70, 70, .16);
	border-color: rgba(220, 70, 70, .45);
	text-shadow: none;
}

.fnc-wall__video-compose-status.is-error::before {
	display: none;
}

@keyframes fnc-wall-video-status-spin {
	to { transform: rotate(360deg); }
}

.fnc-wall__video-meta {
	display: grid;
	gap: .65rem;
	margin: .55rem 0 .15rem;
	padding: .75rem .8rem;
	border-radius: .65rem;
	background: rgba(0, 0, 0, .28);
	border: 1px solid rgba(255, 255, 255, .08);
}

.fnc-wall__video-meta[hidden] {
	display: none;
}

.fnc-wall__video-meta-file {
	display: grid;
	grid-template-columns: 3.4rem minmax(0, 1fr) auto;
	gap: .65rem;
	align-items: center;
}

.fnc-wall__video-meta-thumb {
	position: relative;
	width: 3.4rem;
	height: 3.4rem;
	border-radius: .45rem;
	overflow: hidden;
	background: #0a0c12;
	display: block;
}

.fnc-wall__video-meta-thumb video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	background: #0a0c12;
	pointer-events: none;
}

.fnc-wall__video-meta-file-copy {
	min-width: 0;
	display: grid;
	gap: .15rem;
}

.fnc-wall__video-meta-file-copy strong {
	font-size: .9rem;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fnc-wall__video-meta-file-copy small {
	font-size: .75rem;
	opacity: .72;
	line-height: 1.3;
}

/* Botón quitar a la derecha: sin estilo .button del tema base. */
.fnc-wall__compose button.fnc-wall__video-meta-remove,
.fnc-wall__video-meta-remove {
	position: static !important;
	top: auto;
	right: auto;
	z-index: auto;
	width: 2rem !important;
	height: 2rem !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: none !important;
	align-self: center;
	cursor: pointer;
	color: rgba(255, 255, 255, .85) !important;
	font-size: .85rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	background: rgba(255, 255, 255, .08) !important;
	box-shadow: none !important;
	text-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.fnc-wall__compose button.fnc-wall__video-meta-remove:hover,
.fnc-wall__compose button.fnc-wall__video-meta-remove:focus,
.fnc-wall__video-meta-remove:hover,
.fnc-wall__video-meta-remove:focus {
	background: rgba(220, 70, 70, .85) !important;
	color: #fff !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	filter: none !important;
	transform: none !important;
}

.fnc-wall__video-meta-field {
	display: grid;
	gap: .3rem;
	font-size: .82rem;
}

.fnc-wall__video-meta-field > span {
	opacity: .8;
	font-weight: 600;
}

.fnc-wall__compose .fnc-wall__video-meta-field input,
.fnc-wall__compose .fnc-wall__video-meta-field select {
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: .55rem .65rem !important;
	border-radius: .45rem !important;
	border: 1px solid rgba(255, 255, 255, .12) !important;
	background: rgba(0, 0, 0, .35) !important;
	color: inherit !important;
	font: inherit !important;
	box-shadow: none !important;
	flex: none !important;
}

.fnc-wall__compose .fnc-wall__video-meta-field input:focus,
.fnc-wall__compose .fnc-wall__video-meta-field select:focus {
	outline: none !important;
	border-color: rgba(139, 108, 255, .55) !important;
	box-shadow: none !important;
}

.fnc-wall__video-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem;
	min-height: 2.4rem;
	padding: .35rem .55rem;
	border-radius: .45rem;
	border: 1px solid rgba(255, 255, 255, .12);
	background: rgba(0, 0, 0, .35);
	cursor: text;
}

.fnc-wall__video-tags:focus-within {
	border-color: rgba(139, 108, 255, .55);
}

.fnc-wall__video-tags-chips {
	display: contents;
}

.fnc-wall__video-tags-chip {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	padding: .15rem .35rem .15rem .5rem;
	border-radius: 999px;
	background: rgba(139, 108, 255, .22);
	font-size: .78rem;
	font-weight: 600;
}

.fnc-wall__compose button.fnc-wall__video-tags-chip-remove,
.fnc-wall__video-tags-chip-remove {
	width: 1.1rem !important;
	height: 1.1rem !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: none !important;
	cursor: pointer;
	color: inherit !important;
	font-size: .85rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.fnc-wall__compose button.fnc-wall__video-tags-chip-remove:hover,
.fnc-wall__video-tags-chip-remove:hover {
	background: rgba(255, 255, 255, .12) !important;
	box-shadow: none !important;
	filter: none !important;
}

.fnc-wall__compose .fnc-wall__video-tags-input,
.fnc-wall__video-tags-input {
	flex: 1 1 7rem;
	min-width: 5rem;
	width: auto !important;
	margin: 0 !important;
	padding: .2rem .15rem !important;
	border: 0 !important;
	background: transparent !important;
	color: inherit !important;
	font: inherit !important;
	box-shadow: none !important;
}

.fnc-wall__video-tags-hint {
	display: block;
	margin-top: .15rem;
	font-size: .72rem;
	opacity: .65;
}

.fnc-wall__video {
	margin-top: .75rem;
	position: relative;
	min-height: 200px;
	border-radius: .55rem;
	overflow: hidden;
	background:
		radial-gradient(120% 80% at 50% 20%, rgba(139, 92, 246, .18), transparent 55%),
		linear-gradient(160deg, #141824 0%, #0a0c12 55%, #12101c 100%);
}
.fnc-wall__video video {
	width: 100%;
	max-height: 420px;
	min-height: 200px;
	background: transparent;
	border-radius: .35rem;
	display: block;
}
.fnc-wall__video--feed {
	cursor: pointer;
	overflow: hidden;
	border-radius: .55rem;
	background:
		radial-gradient(120% 80% at 50% 20%, rgba(139, 92, 246, .18), transparent 55%),
		linear-gradient(160deg, #141824 0%, #0a0c12 55%, #12101c 100%);
}
.fnc-wall__video--feed[data-fnc-wall-video-view] {
	cursor: pointer;
}
.fnc-wall__video--feed .fnc-wall__video-preview,
.fnc-wall__video--feed video {
	/* El <video> no debe comerse el clic (si no, el 1.er click pausa y el 2.º abre). */
	pointer-events: none !important;
	max-height: 480px;
	min-height: 220px;
	object-fit: contain;
	opacity: 0;
	transition: opacity .35s ease;
}
.fnc-wall__video--feed.is-ready .fnc-wall__video-preview,
.fnc-wall__video.is-ready > video {
	opacity: 1;
}
/* Capa transparente sobre el preview: un solo clic abre el visor. */
.fnc-wall__video-open {
	position: absolute;
	inset: 0;
	z-index: 4;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: inherit;
	background: transparent;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}
.fnc-wall__video-open:focus-visible {
	outline: 2px solid var(--fnc-accent, #8b5cf6);
	outline-offset: -2px;
}
.fnc-wall__video--reel video {
	max-width: min(360px, 100%);
	max-height: 640px;
	margin-inline: auto;
	aspect-ratio: 9 / 16;
	object-fit: contain;
}
.fnc-wall__video-badge {
	position: absolute;
	top: .5rem;
	left: .5rem;
	z-index: 3;
	padding: .2rem .45rem;
	border-radius: .3rem;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #fff;
	background: linear-gradient(135deg, #8b6cff, #5b8def);
}
.fnc-wall__video-link {
	display: inline-block;
	margin-top: .35rem;
	font-size: .85rem;
}
.fnc-wall__video-loader {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .65rem;
	pointer-events: none;
	background:
		radial-gradient(circle at 50% 42%, rgba(139, 92, 246, .2), transparent 42%),
		rgba(8, 10, 16, .35);
}
.fnc-wall__video.is-ready .fnc-wall__video-loader:not([data-persistent]),
.fnc-wall__video-loader[hidden] {
	display: none !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.fnc-wall__video-loader-stack {
	position: relative;
	width: 4.6rem;
	height: 4.6rem;
	flex: 0 0 auto;
	display: grid;
	place-items: center;
}
.fnc-wall__video-loader-ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid rgba(167, 139, 250, .22);
	border-top-color: var(--fnc-accent, #8b5cf6);
	animation: fnc-wall-video-spin 0.9s linear infinite;
}
.fnc-wall__video-loader-icon {
	position: relative;
	z-index: 1;
	width: 3.1rem;
	height: 3.1rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #efe8ff;
	font-size: 1.2rem;
	background: rgba(20, 16, 36, .72);
	border: 1px solid rgba(196, 181, 253, .35);
	box-shadow: 0 0 0 6px rgba(139, 92, 246, .08);
	animation: fnc-wall-video-pulse 1.6s ease-in-out infinite;
}
.fnc-wall__video-loader-label {
	position: relative;
	z-index: 1;
	font-size: .86rem;
	font-weight: 650;
	letter-spacing: .02em;
	color: rgba(236, 232, 255, .9);
	text-align: center;
}
@keyframes fnc-wall-video-spin {
	to { transform: rotate(360deg); }
}
@keyframes fnc-wall-video-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.06); }
}
.fnc-wall__video-processing {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	min-height: 200px;
	color: #ccc;
	border-radius: .35rem;
}

/* Dropdown de privacidad */
.fnc-wall__vis { position: relative; }
.fnc-wall__vis[hidden] { display: none; }

/* --- Clasificación SFW / NSFW (sender) --- */
.fnc-wall__filter { position: relative; }
.fnc-wall__filter-trigger {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .42rem .72rem;
	border-radius: 999px;
	border: 1px solid rgba(120, 180, 130, .45);
	background: linear-gradient(135deg, rgba(70, 140, 95, .18), rgba(90, 160, 120, .1));
	color: inherit;
	font: inherit;
	font-size: .86rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.fnc-wall__filter-trigger:hover:not(:disabled),
.fnc-wall__filter-trigger:focus-visible:not(:disabled) {
	border-color: rgba(90, 170, 110, .7);
	box-shadow: 0 0 0 3px rgba(70, 140, 95, .18);
}
.fnc-wall__filter-trigger:disabled {
	cursor: default;
	opacity: .92;
}
.fnc-wall__filter-dot {
	width: .55rem;
	height: .55rem;
	border-radius: 50%;
	background: #4caf75;
	box-shadow: 0 0 0 3px rgba(76, 175, 117, .25);
	flex-shrink: 0;
}
.fnc-wall__filter[data-level="2"] .fnc-wall__filter-trigger {
	border-color: rgba(90, 130, 190, .5);
	background: linear-gradient(135deg, rgba(70, 110, 180, .2), rgba(90, 130, 190, .08));
}
.fnc-wall__filter[data-level="2"] .fnc-wall__filter-dot {
	background: #6b8fd4;
	box-shadow: 0 0 0 3px rgba(107, 143, 212, .28);
}
.fnc-wall__filter[data-level="1"] .fnc-wall__filter-trigger {
	border-color: rgba(210, 140, 60, .55);
	background: linear-gradient(135deg, rgba(200, 120, 40, .22), rgba(210, 140, 60, .1));
}
.fnc-wall__filter[data-level="1"] .fnc-wall__filter-dot {
	background: #e09a3a;
	box-shadow: 0 0 0 3px rgba(224, 154, 58, .28);
}
.fnc-wall__filter[data-level="0"] .fnc-wall__filter-trigger {
	border-color: rgba(200, 70, 90, .55);
	background: linear-gradient(135deg, rgba(180, 50, 70, .24), rgba(200, 70, 90, .1));
}
.fnc-wall__filter[data-level="0"] .fnc-wall__filter-dot {
	background: #d6455d;
	box-shadow: 0 0 0 3px rgba(214, 69, 93, .28);
}
.fnc-wall__filter-caret { font-size: .72em; opacity: .7; transition: transform .15s ease; }
.fnc-wall__filter.is-open .fnc-wall__filter-caret { transform: rotate(180deg); }

.fnc-wall__filter-menu {
	position: absolute;
	right: 0;
	bottom: calc(100% + 8px);
	z-index: 40;
	min-width: 240px;
	padding: .4rem;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, .1);
	background: rgba(22, 24, 32, .96);
	backdrop-filter: blur(10px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .35);
}
.fnc-wall__filter-menu[hidden] { display: none; }
.fnc-wall__filter-menu::after {
	content: '';
	position: absolute;
	right: 1.2rem;
	bottom: -6px;
	width: 10px;
	height: 10px;
	background: inherit;
	border-right: 1px solid rgba(255, 255, 255, .1);
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	transform: rotate(45deg);
}

.fnc-wall__filter-opt {
	display: flex;
	align-items: center;
	gap: .7rem;
	width: 100%;
	padding: .55rem .6rem;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.fnc-wall__filter-opt:hover { background: rgba(255, 255, 255, .06); }
.fnc-wall__filter-opt-icon {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 10px;
	background: rgba(76, 175, 117, .2);
	color: #6fd49a;
	flex-shrink: 0;
}
.fnc-wall__filter-opt-icon[data-level="2"] { background: rgba(107, 143, 212, .22); color: #8eb0ef; }
.fnc-wall__filter-opt-icon[data-level="1"] { background: rgba(224, 154, 58, .22); color: #f0b45a; }
.fnc-wall__filter-opt-icon[data-level="0"] { background: rgba(214, 69, 93, .22); color: #f07a8e; }
.fnc-wall__filter-opt-text { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.fnc-wall__filter-opt-title { font-weight: 600; }
.fnc-wall__filter-opt-hint { font-size: .78em; opacity: .6; }
.fnc-wall__filter-opt-check { margin-left: auto; color: #6fd49a; opacity: 0; font-size: .9em; }
.fnc-wall__filter-opt.is-selected { background: rgba(255, 255, 255, .08); }
.fnc-wall__filter-opt.is-selected .fnc-wall__filter-opt-check { opacity: 1; }

.fnc-wall__post-filter {
	display: inline-flex;
	align-items: center;
	padding: .1rem .45rem;
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.3;
	background: rgba(76, 175, 117, .18);
	color: #6fd49a;
}
.fnc-wall__post-filter[data-level="2"] { background: rgba(107, 143, 212, .2); color: #8eb0ef; }
.fnc-wall__post-filter[data-level="1"] { background: rgba(224, 154, 58, .2); color: #f0b45a; }
.fnc-wall__post-filter[data-level="0"] { background: rgba(214, 69, 93, .2); color: #f07a8e; }

.fnc-wall__vis-trigger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border: 1px solid rgba(138, 99, 255, .35);
	border-radius: 999px;
	background: rgba(138, 99, 255, .08);
	color: inherit;
	font: inherit;
	font-size: .9em;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.fnc-wall__vis-trigger:hover { background: rgba(138, 99, 255, .16); border-color: rgba(138, 99, 255, .5); }
.fnc-wall__vis-caret { font-size: .72em; opacity: .7; transition: transform .15s ease; }
.fnc-wall__vis.is-open .fnc-wall__vis-caret { transform: rotate(180deg); }

.fnc-wall__vis-menu {
	position: absolute;
	z-index: 30;
	right: 0;
	bottom: calc(100% + 10px);
	min-width: 270px;
	padding: 7px;
	border: 1px solid rgba(138, 99, 255, .3);
	border-radius: 16px;
	background: linear-gradient(180deg, #221a30, #1a1422);
	box-shadow: 0 18px 44px rgba(0, 0, 0, .55);
}
.fnc-wall__vis-menu[hidden] { display: none; }
.fnc-wall__vis-menu::after {
	content: '';
	position: absolute;
	right: 22px;
	bottom: -6px;
	width: 12px;
	height: 12px;
	background: #1a1422;
	border-right: 1px solid rgba(138, 99, 255, .3);
	border-bottom: 1px solid rgba(138, 99, 255, .3);
	transform: rotate(45deg);
}

.fnc-wall__vis-opt {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 10px 12px;
	border: none;
	border-radius: 12px;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: background .14s ease;
}
.fnc-wall__vis-opt[hidden] { display: none; }
.fnc-wall__vis-opt:hover { background: rgba(138, 99, 255, .14); }

.fnc-wall__vis-opt-icon {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: rgba(138, 99, 255, .16);
	color: #c6b3ff;
}

.fnc-wall__vis-opt-text { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.fnc-wall__vis-opt-title { font-weight: 600; }
.fnc-wall__vis-opt-hint { font-size: .78em; opacity: .6; }

.fnc-wall__vis-opt-check { margin-left: auto; color: #9d7bff; opacity: 0; font-size: .9em; }

.fnc-wall__vis-opt.is-selected { background: rgba(138, 99, 255, .2); }
.fnc-wall__vis-opt.is-selected .fnc-wall__vis-opt-icon { background: linear-gradient(135deg, #6d8bff, #8a63ff); color: #fff; }
.fnc-wall__vis-opt.is-selected .fnc-wall__vis-opt-check { opacity: 1; }

/* Botón publicar */
.fnc-wall__compose-submit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 22px;
	border: none;
	border-radius: 999px;
	background: linear-gradient(135deg, #6d8bff, #8a63ff);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(138, 99, 255, .35);
	transition: filter .15s ease, transform .05s ease, box-shadow .15s ease;
}
.fnc-wall__compose-submit > i { font-size: .95em; }
.fnc-wall__compose-submit:hover { filter: brightness(1.07); box-shadow: 0 8px 22px rgba(138, 99, 255, .45); }
.fnc-wall__compose-submit:active { transform: translateY(1px); }
.fnc-wall__compose-submit:disabled { opacity: .55; cursor: default; box-shadow: none; }

/* Feed */
.fnc-wall__feed { display: flex; flex-direction: column; gap: var(--wall-gap); }

/* Skeleton de carga del feed (cambio de pestaña, publicar, cargar más) */
.fnc-wall__skeleton {
	padding: 14px 16px;
	border: 1px solid rgba(128, 128, 128, .2);
	border-radius: var(--wall-radius);
	background: rgba(127, 127, 127, .04);
}

.fnc-wall__skeleton--1 { opacity: 1; }
.fnc-wall__skeleton--2 { opacity: .6; }
.fnc-wall__skeleton--3 { opacity: .3; }

.fnc-wall__skeleton-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.fnc-wall__skeleton-avatar {
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 50%;
}

.fnc-wall__skeleton-meta {
	display: flex;
	flex-direction: column;
	gap: 7px;
	flex: 1;
	min-width: 0;
}

.fnc-wall__skeleton-line {
	display: block;
	height: .72rem;
	border-radius: 999px;
}

.fnc-wall__skeleton-line + .fnc-wall__skeleton-line { margin-top: 9px; }
.fnc-wall__skeleton-head .fnc-wall__skeleton-line + .fnc-wall__skeleton-line { margin-top: 0; }

.fnc-wall__skeleton-line--name { width: 38%; }
.fnc-wall__skeleton-line--date { width: 22%; height: .58rem; opacity: .7; }
.fnc-wall__skeleton-line--full { width: 96%; }
.fnc-wall__skeleton-line--half { width: 60%; }

.fnc-wall__skeleton-media {
	display: block;
	margin-top: 14px;
	width: 100%;
	height: 150px;
	border-radius: 12px;
}

.fnc-wall__skeleton-avatar,
.fnc-wall__skeleton-line,
.fnc-wall__skeleton-media {
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, .05) 0%,
		rgba(255, 255, 255, .12) 50%,
		rgba(255, 255, 255, .05) 100%
	);
	background-size: 200% 100%;
	animation: fnc-wall-shimmer 1.2s ease-in-out infinite;
}

@keyframes fnc-wall-shimmer {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
	.fnc-wall__skeleton-avatar,
	.fnc-wall__skeleton-line,
	.fnc-wall__skeleton-media { animation: none; }
}

.fnc-wall__post {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 0;
	border: 1px solid rgba(128, 128, 128, .22);
	border-radius: var(--wall-radius);
	background: rgba(18, 18, 24, .55);
	overflow: hidden;
}

.fnc-wall__post-head {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px 10px;
}

.fnc-wall__avatar {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	overflow: hidden;
	background: linear-gradient(135deg, #6d8bff, #b063ff);
	box-shadow: 0 2px 8px rgba(109, 139, 255, .25);
}

.fnc-wall__avatar--photo { background: rgba(127, 127, 127, .12); }
.fnc-wall__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }

.fnc-wall__post-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	line-height: 1.3;
	flex: 1 1 auto;
}

.fnc-wall__post-identity { display: flex; align-items: center; gap: 6px; min-width: 0; }

.fnc-wall__post-author {
	font-weight: 700;
	font-size: 1.02em;
	text-decoration: none;
	color: inherit;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fnc-wall__post-author:hover { text-decoration: underline; }

.fnc-wall__post-badges { display: inline-flex; align-items: center; gap: 3px; flex: 0 0 auto; }
.fnc-wall__post-badges img,
.fnc-wall__post-badges svg { width: 16px; height: 16px; display: block; }

.fnc-wall__group-role {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	padding: 1px 8px;
	border-radius: 999px;
	font-size: .72em;
	font-weight: 650;
	letter-spacing: .01em;
	line-height: 1.4;
	border: 1px solid transparent;
	white-space: nowrap;
}

.fnc-wall__group-role--owner {
	color: #c9a227;
	background: rgba(201, 162, 39, .14);
	border-color: rgba(201, 162, 39, .35);
}

.fnc-wall__group-role--admin {
	color: #6d8bff;
	background: rgba(109, 139, 255, .14);
	border-color: rgba(109, 139, 255, .35);
}

.fnc-wall__post-sub {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: .8em;
	opacity: .7;
	min-width: 0;
}

.fnc-wall__post-time { color: inherit; text-decoration: none; }
.fnc-wall__post-time:hover { text-decoration: underline; }

.fnc-wall__post-status {
	position: relative;
	padding-left: 12px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 60%;
	font-style: italic;
}

.fnc-wall__post-status::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 50%;
	width: 3px;
	height: 3px;
	margin-top: -1px;
	border-radius: 50%;
	background: currentColor;
	opacity: .6;
}

/* Menú kebab de opciones por publicación */
.fnc-wall__post-menu { position: relative; margin-left: auto; flex: 0 0 auto; }

.fnc-wall__post-menu-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	opacity: .55;
	cursor: pointer;
	transition: background .15s ease, opacity .15s ease;
}

.fnc-wall__post-menu-trigger:hover,
.fnc-wall__post-menu.is-open .fnc-wall__post-menu-trigger {
	opacity: 1;
	background: rgba(127, 127, 127, .14);
}

.fnc-wall__post-menu-pop {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 30;
	min-width: 180px;
	padding: 6px;
	border-radius: 12px;
	background: var(--wall-surface, #14141b);
	border: 1px solid rgba(127, 127, 127, .18);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .35);
	display: flex;
	flex-direction: column;
	gap: 2px;
	animation: fnc-wall-pop-in .12s ease;
}

/* El atributo hidden debe ganar sobre el display:flex de arriba */
.fnc-wall__post-menu-pop[hidden] { display: none; }

@keyframes fnc-wall-pop-in {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: translateY(0); }
}

.fnc-wall__post-menu-item {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 9px 12px;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: inherit;
	font-size: .92em;
	text-align: left;
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
	transition: background .12s ease, color .12s ease;
}

a.fnc-wall__post-menu-item { color: inherit; }

.fnc-wall__post-menu-item i { width: 16px; text-align: center; opacity: .75; }
.fnc-wall__post-menu-item:hover { background: rgba(127, 127, 127, .12); }

.fnc-wall__post-menu-item--danger { color: #ec5b5b; }
.fnc-wall__post-menu-item--danger i { opacity: .9; }
.fnc-wall__post-menu-item--danger:hover { background: rgba(220, 70, 70, .14); color: #ff6b6b; }

/* Cuerpo del post */
.fnc-wall__post-body {
	position: relative;
	margin: 0;
	padding: 4px 16px 12px;
	/* nl2br ya inserta <br>; pre-wrap duplicaba el espacio entre líneas */
	white-space: normal;
	word-break: break-word;
	font-size: 1.02em;
	line-height: 1.45;
	color: var(--wall-text, inherit);
}

/* Recorte "ver más" para posts largos */
.fnc-wall__post-body.is-clamped {
	max-height: 18em;
	overflow: hidden;
}

.fnc-wall__post-body.is-clamped::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 5em;
	background: linear-gradient(to bottom, rgba(13, 13, 18, 0), rgba(13, 13, 18, .9));
	pointer-events: none;
}

.fnc-wall__post-more-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 16px 10px;
	padding: 2px 0;
	border: none;
	background: transparent;
	color: #8a8ad6;
	font-weight: 600;
	font-size: .9em;
	cursor: pointer;
}

.fnc-wall__post-more-toggle:hover { color: #a8a8ff; text-decoration: underline; }
.fnc-wall__post-more-toggle i { font-size: .85em; transition: transform .15s ease; }
.fnc-wall__post-more-toggle.is-expanded i { transform: rotate(180deg); }

/* Aparición suave (fade-in) de publicaciones recién insertadas */
@keyframes fnc-wall-fadein {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: none; }
}

.fnc-wall__post--enter { animation: fnc-wall-fadein .5s ease both; }

@media (prefers-reduced-motion: reduce) {
	.fnc-wall__post--enter { animation: none; }
}

/* Contador de caracteres del compositor */
.fnc-wall__compose-count {
	margin: 4px 4px 0;
	text-align: right;
	font-size: .76em;
	opacity: .55;
	font-variant-numeric: tabular-nums;
}

.fnc-wall__compose-count.is-near { color: #e0a44a; opacity: .9; }

/* Media grid — sección visual propia */
.fnc-wall__media {
	margin: 0;
	display: grid;
	gap: 3px;
	border-radius: 0;
	overflow: hidden;
	border-top: 1px solid rgba(255, 255, 255, .06);
	border-bottom: 1px solid rgba(255, 255, 255, .06);
	background: rgba(0, 0, 0, .35);
}

.fnc-wall__media--1 { grid-template-columns: 1fr; }
.fnc-wall__media--2 { grid-template-columns: 1fr 1fr; }
.fnc-wall__media--3 { grid-template-columns: 1fr 1fr 1fr; }
.fnc-wall__media--4 { grid-template-columns: 1fr 1fr; }

/* 5 o más fotos: mosaico de 3 columnas con miniaturas cuadradas. */
.fnc-wall__media--grid { grid-template-columns: repeat(3, 1fr); }
.fnc-wall__media--grid .fnc-wall__media-item { aspect-ratio: 1 / 1; }
.fnc-wall__media--grid .fnc-wall__media-item img { max-height: none; }

/* Layouts 1–4: reservan alto para que el skeleton (shimmer) tenga caja antes de
   cargar la imagen; sin esto el item colapsa a 0 y el loader no se ve. */
.fnc-wall__media:not(.fnc-wall__media--grid) .fnc-wall__media-item { min-height: 200px; }

.fnc-wall__media-item {
	display: block;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	background: rgba(127, 127, 127, .08);
}
.fnc-wall__media-item img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 420px;
	object-fit: cover;
	opacity: 0;
	transition: opacity .25s ease, transform .2s ease;
}
.fnc-wall__media-item.is-loaded img { opacity: 1; }
.fnc-wall__media-item:hover img { transform: scale(1.02); }
.fnc-wall__media-item--pending img { filter: saturate(.4) brightness(.9); }

.fnc-wall__media-more {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, .48);
	color: #fff;
	font-size: clamp(1.5rem, 4vw, 2.25rem);
	font-weight: 700;
	letter-spacing: .02em;
	pointer-events: none;
	z-index: 2;
}

/* Skeleton de carga (shimmer) mientras la miniatura no ha cargado. */
.fnc-wall__media-item::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg,
		rgba(127, 127, 127, .10) 30%,
		rgba(127, 127, 127, .20) 50%,
		rgba(127, 127, 127, .10) 70%);
	background-size: 200% 100%;
	animation: fnc-wall-shimmer 1.2s ease-in-out infinite;
	opacity: 1;
	transition: opacity .25s ease;
	pointer-events: none;
}
.fnc-wall__media-item.is-loaded::before { opacity: 0; }

@keyframes fnc-wall-shimmer {
	0%   { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* ==========================================================================
   Visor de fotos (modal tipo FB): carrusel + panel lateral con comentarios.
   ========================================================================== */
html.fnc-wall-viewer-open { overflow: hidden; }

/* Pickers de comentarios viven en body con z-index 9999; el visor está a ~999990.
   Sin esto, emoji/stickers quedan debajo del modal y “no funcionan”. */
html.fnc-wall-viewer-open .fnc-emoji-pop,
html.fnc-wall-viewer-open .fnc-sticker-pop,
html.fnc-wall-viewer-open .fnc-stickers--pack-host,
html.fnc-wall-viewer-open .fnc-stickers__modal,
html.fnc-wall-viewer-open #fnc-mentions-hovercard {
	z-index: 1000010 !important;
}

.fnc-wall__viewer {
	position: fixed;
	/* Arranca debajo del header (su alto real lo fija base.js en la variable). */
	top: var(--fnc-header-height, 5rem);
	left: 0;
	right: 0;
	bottom: 0;
	/* Debajo del header del sitio (z-index 1000000) para que siga visible. */
	z-index: 999990;
	display: flex;
	opacity: 0;
	transition: opacity .2s ease;
}
.fnc-wall__viewer.is-open { opacity: 1; }
.fnc-wall__viewer[hidden] { display: none; }

.fnc-wall__viewer-backdrop {
	position: absolute;
	inset: 0;
	/* Opaco: oculta header y widgets de detrás por completo. */
	background: radial-gradient(130% 130% at 28% 18%, rgba(22, 22, 33, .97), rgba(6, 6, 10, .99));
	backdrop-filter: blur(8px);
}

/* Diálogo: ocupa el área disponible bajo el header (lienzo + panel lateral). */
.fnc-wall__viewer-dialog {
	position: relative;
	z-index: 1;
	display: flex;
	width: 100%;
	height: 100%;
	background: transparent;
	transform: scale(1.015);
	transition: transform .2s ease;
}
.fnc-wall__viewer.is-open .fnc-wall__viewer-dialog { transform: scale(1); }

/* Botón cerrar (X): estilo propio, glass oscuro que invierte a blanco al hover. */
.fnc-wall__viewer-close {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 6;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 50%;
	background: rgba(18, 18, 26, .58);
	color: #fff;
	font-size: 18px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(6px);
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
.fnc-wall__viewer-close:hover {
	background: #fff;
	color: #14141b;
	transform: scale(1.08);
}
.fnc-wall__viewer-close:active { transform: scale(.96); }

.fnc-wall__viewer-stage {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	padding: 28px 52px;
}
.fnc-wall__viewer-img-wrap {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.fnc-wall__viewer-img-wrap img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
	border-radius: 10px;
	box-shadow: 0 26px 70px rgba(0, 0, 0, .6);
	transition: filter .18s ease, transform .18s ease, opacity .18s ease;
}
.fnc-wall__viewer-img-wrap.is-img-loading img {
	opacity: .28;
	filter: brightness(.45) saturate(.75);
}
.fnc-wall__viewer-img-wrap.is-img-loading::after {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .18);
	border-top-color: rgba(255, 255, 255, .92);
	pointer-events: none;
	animation: fnc-wall-viewer-spin .7s linear infinite;
}
@keyframes fnc-wall-viewer-spin {
	to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
	.fnc-wall__viewer-img-wrap.is-img-loading::after { animation: none; opacity: .7; }
}
.fnc-wall__viewer-img-wrap.is-gated img {
	filter: blur(22px) saturate(.55) brightness(.85);
	transform: scale(1.06);
}
.fnc-wall__viewer-gate {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .85rem;
	padding: 1rem 0;
}
.fnc-wall__viewer-gate p {
	margin: 0;
	line-height: 1.45;
	opacity: .92;
}
.fnc-wall__viewer-gate-cta {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .55rem 1rem;
	border-radius: 999px;
	background: var(--fnc-color-primary, #7c5cff);
	color: #fff;
	text-decoration: none;
	font-weight: 600;
}
.fnc-wall__viewer-gate-cta:hover { filter: brightness(1.06); }
.fnc-wall__viewer-photo-social .fnc-wall__post-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin: .75rem 0 .35rem;
}
.fnc-wall__viewer-stage--video {
	background: #000;
}
.fnc-wall__viewer-video-wrap {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
}
.fnc-wall__viewer-video-wrap video {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	background: #000;
	display: block;
	accent-color: var(--fnc-accent, #8b5cf6);
}

.fnc-wall__viewer-video-wrap video::-webkit-media-controls-panel {
	background-image: linear-gradient(transparent, rgba(88, 28, 160, 0.55));
}

/* Reel desde wall: mismo visor que video, columna vertical + fondo semiopaco. */
.fnc-wall__viewer--reel .fnc-wall__viewer-backdrop {
	background: rgba(0, 0, 0, .62);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.fnc-wall__viewer--reel .fnc-wall__viewer-dialog {
	justify-content: center;
	gap: 0;
	max-width: 960px;
	margin: 0 auto;
}
.fnc-wall__viewer--reel .fnc-wall__viewer-stage--video {
	flex: 1 1 auto;
	max-width: 420px;
	width: min(420px, 100%);
	padding: 12px 0;
	background: transparent;
}
.fnc-wall__viewer--reel .fnc-wall__viewer-video-wrap {
	width: 100%;
	height: 100%;
	border-radius: 14px;
	overflow: hidden;
	background: #000;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 12px 40px rgba(0, 0, 0, .35);
}
.fnc-wall__viewer--reel .fnc-wall__viewer-video-wrap video {
	width: 100%;
	height: 100%;
	max-height: calc(100vh - var(--fnc-header-height, 5rem) - 24px);
	object-fit: contain;
	background: #000;
}
.fnc-wall__viewer--reel .fnc-wall__viewer-side {
	flex: 0 0 min(360px, 38vw);
	max-width: 380px;
	background: rgba(20, 20, 27, .92);
}

@media (max-width: 820px) {
	.fnc-wall__viewer--reel .fnc-wall__viewer-dialog {
		flex-direction: column;
		max-width: none;
	}
	.fnc-wall__viewer--reel .fnc-wall__viewer-stage--video {
		flex: 0 0 58%;
		max-width: none;
		width: 100%;
		padding: 8px 12px 0;
	}
	.fnc-wall__viewer--reel .fnc-wall__viewer-side {
		flex: 1 1 auto;
		max-width: none;
		border-top: 1px solid rgba(255, 255, 255, .08);
	}
}

/* Flechas: chevrons grandes y neutros; al seleccionar se empujan hacia abajo. */
.fnc-wall__viewer-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 58px;
	height: 58px;
	border: none;
	border-radius: 50%;
	background: rgba(0, 0, 0, .3);
	color: #fff;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: .8;
	text-shadow: 0 1px 6px rgba(0, 0, 0, .5);
	transition: opacity .15s ease, background .15s ease, transform .1s ease;
}
.fnc-wall__viewer-nav:hover {
	opacity: 1;
	background: rgba(0, 0, 0, .5);
}
.fnc-wall__viewer-nav:active { transform: translateY(calc(-50% + 5px)); }
.fnc-wall__viewer-nav[hidden] { display: none; }
.fnc-wall__viewer-nav--prev { left: 20px; }
.fnc-wall__viewer-nav--next { right: 20px; }

.fnc-wall__viewer-counter {
	position: absolute;
	bottom: 22px;
	left: 50%;
	transform: translateX(-50%);
	padding: 5px 15px;
	border-radius: 999px;
	background: rgba(0, 0, 0, .5);
	border: 1px solid rgba(255, 255, 255, .1);
	color: #fff;
	font-size: .82em;
	letter-spacing: .4px;
}
.fnc-wall__viewer-counter[hidden] { display: none; }

/* Panel lateral (info del autor + cuerpo + comentarios en vivo). */
.fnc-wall__viewer-side {
	flex: 0 0 min(420px, 36vw);
	max-width: 440px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 10px 8px 12px;
	gap: 8px;
	background: var(--wall-surface, #14141b);
	box-shadow: -14px 0 44px rgba(0, 0, 0, .45);
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.22) transparent;
}
.fnc-wall__viewer-side::-webkit-scrollbar {
	width: 8px;
}
.fnc-wall__viewer-side::-webkit-scrollbar-track {
	background: transparent;
	margin: 10px 0;
}
.fnc-wall__viewer-side::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	border: 2px solid transparent;
	background-clip: padding-box;
}
.fnc-wall__viewer-side:hover::-webkit-scrollbar-thumb,
.fnc-wall__viewer-side:focus-within::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.3);
	border: 2px solid transparent;
	background-clip: padding-box;
}
.fnc-wall__viewer-side > * {
	min-width: 0;
	max-width: 100%;
	flex: 0 0 auto;
}
.fnc-wall__viewer-side .fnc-wall__post-head {
	position: sticky;
	top: -10px;
	z-index: 6;
	margin: -10px -8px 2px;
	padding: 10px 8px 8px;
	background: linear-gradient(
		180deg,
		var(--wall-surface, #14141b) 0%,
		var(--wall-surface, #14141b) 78%,
		rgba(20, 20, 27, 0) 100%
	);
}
.fnc-wall__viewer-side .fnc-wall__post-body { margin: 0; }
.fnc-wall__viewer-side .fnc-wall__post-actions {
	margin: 2px 0;
	padding: 6px 0;
	overflow: visible;
	position: relative;
	z-index: 20;
}
.fnc-wall__viewer-side .fnc-wall__viewer-photo-social {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}
.fnc-wall__viewer-side .fnc-wall__post-comments {
	margin: 0;
	padding: 0 0 4px;
	border: none;
	background: transparent;
	min-width: 0;
	max-width: 100%;
	overflow: visible;
}
.fnc-wall__viewer-side .fnc-comments,
.fnc-wall__viewer-side .fnc-comments__form,
.fnc-wall__viewer-side .fnc-comments__field,
.fnc-wall__viewer-side .fnc-comments__form-toolbar {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.fnc-wall__viewer-side .fnc-wall__post-comments .fnc-comments__title {
	margin: 0 0 6px;
	padding-bottom: 6px;
}
.fnc-wall__viewer-side .fnc-comments__head {
	margin-bottom: 0.5rem;
	gap: 0.5rem;
	min-width: 0;
}
.fnc-wall__viewer-side .fnc-comments__form {
	gap: 0.4rem;
	margin-bottom: 0.7rem;
}
.fnc-wall__viewer-side .fnc-comments__field textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 3.1rem;
	padding: 0.5rem 0.7rem;
	border-radius: 10px;
	box-sizing: border-box;
}
.fnc-wall__viewer-side .fnc-comments button.fnc-comments__submit {
	padding: 0.45rem 0.85rem !important;
}
.fnc-wall__viewer-side .fnc-comments__skeleton {
	padding: 0.55rem 0;
}
.fnc-wall__viewer-side .fnc-comments__item {
	padding-top: 0.45rem;
	padding-bottom: 0.45rem;
}
.fnc-wall__viewer-side .fnc-comments__item + .fnc-comments__item {
	margin-top: 0;
}
.fnc-wall__viewer-side .fnc-comments__item-layout {
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 0.55rem;
}
.fnc-wall__viewer-side .fnc-comments__avatar,
.fnc-wall__viewer-side .fnc-comments__avatar--fallback {
	width: 34px;
	height: 34px;
}
.fnc-wall__viewer-photo-meta .fnc-wall__post-filter,
.fnc-wall__post-caption > .fnc-wall__post-filter {
	margin-top: 0.15rem;
	align-self: flex-start;
}

.fnc-wall__viewer-skel {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	padding: 2px 0 6px;
}

.fnc-wall__viewer-skel-line,
.fnc-wall__viewer-skel-chip,
.fnc-wall__viewer-skel-btn,
.fnc-wall__viewer-skel-box {
	display: block;
	border-radius: 8px;
	background: linear-gradient(90deg,
		rgba(255, 255, 255, .06) 0%,
		rgba(255, 255, 255, .12) 45%,
		rgba(255, 255, 255, .06) 100%);
	background-size: 200% 100%;
	animation: fnc-wall-skel 1.1s ease-in-out infinite;
}

.fnc-wall__viewer-skel-line { height: 0.72rem; width: 92%; }
.fnc-wall__viewer-skel-line--title { height: 1.05rem; width: 70%; border-radius: 6px; }
.fnc-wall__viewer-skel-line--full { width: 96%; }
.fnc-wall__viewer-skel-line--half { width: 58%; }

.fnc-wall__viewer-skel-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.15rem;
}

.fnc-wall__viewer-skel-chip {
	width: 4.2rem;
	height: 1.35rem;
	border-radius: 999px;
}

.fnc-wall__viewer-skel-actions {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0.15rem 0 0.35rem;
}

.fnc-wall__viewer-skel-btn {
	width: 2.15rem;
	height: 2.15rem;
	border-radius: 999px;
}

.fnc-wall__viewer-skel-box {
	height: 4.5rem;
	width: 100%;
	border-radius: 12px;
	margin-top: 0.25rem;
}

@keyframes fnc-wall-skel {
	0% { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}

@media (prefers-reduced-motion: reduce) {
	.fnc-wall__viewer-skel-line,
	.fnc-wall__viewer-skel-chip,
	.fnc-wall__viewer-skel-btn,
	.fnc-wall__viewer-skel-box { animation: none; }
}

.fnc-wall__viewer-tax {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
}
.fnc-wall__viewer-tax-label {
	flex: 0 0 100%;
	margin: 0;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
	opacity: .62;
}
.fnc-wall__viewer-tax-chip {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .12);
	background: rgba(255, 255, 255, .05);
	color: inherit;
	font-size: 0.8rem;
	line-height: 1.35;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.fnc-wall__viewer-tax-chip:hover {
	background: rgba(255, 255, 255, .1);
	border-color: rgba(255, 255, 255, .22);
}
.fnc-wall__viewer-tax--character .fnc-wall__viewer-tax-chip {
	border-color: rgba(130, 190, 255, .28);
	background: rgba(90, 150, 230, .12);
}
.fnc-wall__viewer-tax--species .fnc-wall__viewer-tax-chip {
	border-color: rgba(130, 220, 160, .28);
	background: rgba(70, 180, 120, .12);
}
.fnc-wall__viewer-tax--copyright .fnc-wall__viewer-tax-chip {
	border-color: rgba(230, 180, 110, .28);
	background: rgba(200, 140, 60, .12);
}
.fnc-wall__viewer-tax--general .fnc-wall__viewer-tax-chip {
	border-color: rgba(170, 150, 255, .28);
	background: rgba(120, 100, 220, .12);
}
/* El menú (3 puntos) y su popover no deben recortarse por el scroll del panel. */
.fnc-wall__viewer-side .fnc-wall__post-menu {
	flex: 0 0 auto;
	align-self: flex-start;
	z-index: 5;
}
.fnc-wall__viewer-side .fnc-wall__post-menu-pop { z-index: 10; }
/* Compartir: menú hacia arriba para no quedar bajo comentarios / overflow. */
.fnc-wall__viewer-side .fnc-wall__post-share,
.fnc-wall__viewer-side .fnc-share {
	position: relative;
	overflow: visible;
	z-index: 30;
}
.fnc-wall__viewer-side .fnc-share__menu {
	top: auto;
	bottom: calc(100% + 0.45rem);
	z-index: 50;
}

@media (max-width: 820px) {
	.fnc-wall__viewer-dialog { flex-direction: column; }
	.fnc-wall__viewer-stage {
		flex: 0 0 52%;
		min-height: 42vh;
		padding: 16px 14px;
	}
	.fnc-wall__viewer-side {
		flex: 1 1 auto;
		min-height: 0;
		max-width: none;
		box-shadow: 0 -14px 34px rgba(0, 0, 0, .45);
		border-top: 1px solid rgba(255, 255, 255, .08);
	}
	.fnc-wall__viewer-close { top: 12px; left: 12px; width: 40px; height: 40px; border-radius: 12px; }
	.fnc-wall__viewer-nav { width: 42px; height: 42px; font-size: 17px; }
	.fnc-wall__viewer-nav--prev { left: 8px; }
	.fnc-wall__viewer-nav--next { right: 8px; }
}

/* Reels híbrido: puente local (video) + iframe UI. */
html.fnc-wall-reel-overlay-open {
	overflow: hidden;
}

.fnc-wall__reel-overlay {
	position: fixed;
	top: var(--fnc-header-height, 5rem);
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999990;
	display: flex;
	justify-content: center;
	align-items: stretch;
	background: transparent;
	opacity: 0;
	transition: opacity .2s ease;
}

.fnc-wall__reel-overlay.is-open { opacity: 1; }
.fnc-wall__reel-overlay[hidden] { display: none; }

.fnc-wall__reel-overlay-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .62);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.fnc-wall__reel-overlay-stage {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 420px;
	height: 100%;
	margin: 0 auto;
	overflow: hidden;
	background: #000;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 12px 40px rgba(0, 0, 0, .35);
}

@media (max-width: 820px) {
	.fnc-wall__reel-overlay-stage {
		max-width: none;
		width: 100%;
		box-shadow: none;
	}
}

.fnc-wall__reel-bridge {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #000;
	opacity: 1;
	transition: opacity .28s ease;
	pointer-events: none;
}

/* UI lista: el puente SIGUE visible (mismo video); el iframe solo encima chrome. */
.fnc-wall__reel-overlay.is-ui-ready .fnc-wall__reel-bridge {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

/* Otro reel / handoff: ocultar puente (si no → parallax fijo detrás del scroll). */
.fnc-wall__reel-overlay.is-iframe-driving .fnc-wall__reel-bridge {
	opacity: 0 !important;
	visibility: hidden;
	pointer-events: none;
}

.fnc-wall__reel-bridge-video {
	width: 100%;
	height: 100%;
	/* Igual que .fnc-reels__video: si no, letterbox vs rail → “máscara” descuadrada. */
	object-fit: cover;
	background: #000;
	display: block;
}

.fnc-wall__reel-bridge-hint {
	position: absolute;
	left: 50%;
	bottom: 1.25rem;
	transform: translateX(-50%);
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.4rem 0.75rem;
	border-radius: 999px;
	background: rgba(0, 0, 0, .55);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	white-space: nowrap;
	pointer-events: none;
	text-shadow: 0 1px 6px rgba(0, 0, 0, .4);
}

.fnc-wall__reel-bridge-hint[hidden] { display: none; }

.fnc-wall__reel-bridge-hint i {
	font-size: 0.9rem;
	opacity: .95;
}

.fnc-wall__reel-overlay-frame {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	border: 0;
	background: transparent;
	opacity: 0;
	transition: opacity .28s ease, background .2s ease;
	pointer-events: none;
	color-scheme: normal;
}

.fnc-wall__reel-overlay.is-ui-ready .fnc-wall__reel-overlay-frame {
	opacity: 1;
	pointer-events: auto;
	background: transparent;
}

.fnc-wall__reel-overlay.is-iframe-driving .fnc-wall__reel-overlay-frame {
	background: #000;
}

.fnc-wall__reel-overlay-frame.is-loading {
	/* Precarga bajo el puente; chrome aún no visible. */
}

.fnc-wall__post-pending {
	margin: 0 16px 12px;
	font-size: .85em;
	opacity: .8;
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 8px 10px;
	border-radius: 10px;
	background: rgba(240, 180, 60, .12);
}

.fnc-wall__post-pending--group {
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}

.fnc-wall__post-pending-msg {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 7px;
}

.fnc-wall__post-mod {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* Tema base pinta todo <button> como CTA; estos son acciones locales del post. */
button.fnc-wall__post-mod-btn {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	margin: 0;
	padding: 0.4rem 0.85rem !important;
	min-height: 0 !important;
	border-radius: 8px !important;
	border: 1px solid rgba(160, 160, 160, .35) !important;
	background: rgba(255, 255, 255, .04) !important;
	box-shadow: none !important;
	color: inherit !important;
	font: inherit !important;
	font-size: .88em !important;
	font-weight: 600 !important;
	letter-spacing: normal !important;
	line-height: 1.2 !important;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}

button.fnc-wall__post-mod-btn:hover {
	background: rgba(255, 255, 255, .08) !important;
}

button.fnc-wall__post-mod-btn:disabled {
	opacity: .55;
	cursor: default;
}

button.fnc-wall__post-mod-btn--approve {
	border-color: rgba(90, 190, 130, .55) !important;
	background: rgba(70, 170, 110, .14) !important;
	color: #9ee0b8 !important;
}

button.fnc-wall__post-mod-btn--approve:hover {
	background: rgba(70, 170, 110, .22) !important;
	border-color: rgba(90, 190, 130, .75) !important;
}

button.fnc-wall__post-mod-btn--reject {
	border-color: rgba(210, 100, 100, .5) !important;
	background: rgba(190, 70, 70, .12) !important;
	color: #efb0b0 !important;
}

button.fnc-wall__post-mod-btn--reject:hover {
	background: rgba(190, 70, 70, .2) !important;
	border-color: rgba(210, 100, 100, .7) !important;
}

/* Cola de revisión (manage): preview compacta sin likes/comentarios */
.fnc-wall__post--review {
	padding: 0.85rem 0.9rem;
	border: 1px solid rgba(127, 127, 127, 0.28);
	border-radius: 12px;
	background: rgba(0, 0, 0, 0.12);
}

.fnc-wall__review-head {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 0.7rem;
}

.fnc-wall__review-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
}

.fnc-wall__review-avatar--fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.08);
	font-weight: 700;
}

.fnc-wall__review-meta {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.fnc-wall__review-user {
	font-weight: 650;
	color: inherit;
	text-decoration: none;
}

.fnc-wall__review-hint {
	font-size: 0.82em;
	opacity: 0.75;
}

.fnc-wall__post--review .fnc-wall__media {
	margin: 0 0 0.75rem;
	max-width: 100%;
}

.fnc-wall__post--review .fnc-wall__media-item {
	min-height: 120px;
	max-height: 280px;
}

.fnc-wall__post--review .fnc-wall__media-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fnc-groups-manage__review-feed .fnc-wall__post--review {
	max-width: 640px;
}

.fnc-wall__review-body {
	margin: 0 0 0.75rem;
	font-size: 0.92em;
	line-height: 1.4;
	white-space: pre-wrap;
	word-break: break-word;
}

.fnc-wall__review-body--empty {
	opacity: 0.7;
	font-style: italic;
}

.fnc-wall__post-mod--review {
	margin-top: 0.25rem;
}

/* Empty + load more */
.fnc-wall__empty {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 26px 10px;
	text-align: center;
	opacity: .7;
	width: 100%;
	box-sizing: border-box;
}

/* Evita que display:flex pise el atributo HTML hidden del navegador. */
.fnc-wall__empty[hidden] {
	display: none !important;
}

.fnc-wall__empty p {
	margin: 0;
	text-align: center;
	width: 100%;
}

.fnc-wall__more { text-align: center; margin-top: 16px; }
.fnc-wall__more-btn {
	padding: 9px 26px;
	border: 1px solid rgba(128, 128, 128, .3);
	border-radius: 999px;
	background: transparent;
	cursor: pointer;
	font: inherit;
	color: inherit;
}
.fnc-wall__more-btn:hover { background: rgba(127, 127, 127, .1); }
.fnc-wall__more-btn:disabled { opacity: .55; cursor: default; }

/* Tabs (General / Mi entorno) — switch segmentado */
.fnc-wall__tabs {
	position: relative;
	display: inline-flex;
	margin: 0 0 18px;
	padding: 4px;
	border-radius: 999px;
	background: rgba(0, 0, 0, .3);
	border: 1px solid rgba(138, 99, 255, .14);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, .4);
}

.fnc-wall__tabs-indicator { display: none; }

.fnc-wall__tab {
	position: relative;
	z-index: 1;
	appearance: none;
	border: none;
	background: none;
	font: inherit;
	font-weight: 600;
	white-space: nowrap;
	color: rgba(255, 255, 255, .6);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 9px 22px;
	border-radius: 999px;
	transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .05s ease;
}
.fnc-wall__tab > i { font-size: .9em; opacity: .9; }
.fnc-wall__tab:hover { color: rgba(255, 255, 255, .92); }
.fnc-wall__tab:active { transform: translateY(1px); }

.fnc-wall__tab.is-active {
	color: #fff;
	background: linear-gradient(135deg, #6d8bff, #8a63ff);
	box-shadow: 0 4px 14px rgba(138, 99, 255, .45);
}

.fnc-wall__guest {
	margin: 10px 0 4px;
	padding: 12px 14px;
	border-radius: var(--wall-radius);
	background: rgba(127, 127, 127, .08);
	opacity: .85;
	text-align: center;
}

/* Acciones (like) y comentarios por publicación */
.fnc-wall__post-activity {
	display: block;
	margin: 4px 16px 10px;
	padding: 0;
	border: none;
	border-radius: 0;
	font-size: .88em;
	line-height: 1.35;
	font-weight: 500;
	letter-spacing: .01em;
	color: rgba(190, 196, 214, .82);
	background: transparent;
	max-width: none;
	box-sizing: border-box;
}

.fnc-wall__post-caption {
	margin: 10px 16px 6px;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	min-width: 0;
}

.fnc-wall__post-caption-title {
	margin: 0;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .01em;
	color: inherit;
}

.fnc-wall__post-caption-desc {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.45;
	opacity: .9;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.fnc-wall__post-caption-desc p { margin: 0 0 0.4em; }
.fnc-wall__post-caption-desc p:last-child { margin-bottom: 0; }

.fnc-wall__post-caption-desc .fnc-mention {
	color: #c4b5fd;
	font-weight: 600;
	text-decoration: none;
}

.fnc-wall__post-caption-desc .fnc-mention:hover { text-decoration: underline; }

.fnc-wall__viewer-side .fnc-wall__post-caption {
	margin: 0;
	padding: 2px 0 4px;
}

.fnc-wall__post-taxonomy {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 8px 16px 4px;
}

.fnc-wall__post-caption .fnc-wall__post-taxonomy {
	margin: 0.15rem 0 0;
}

.fnc-wall__post-tax {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
}

.fnc-wall__post-tax-label {
	flex: 0 0 auto;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
	opacity: .55;
	margin: 0;
}

.fnc-wall__post-tax-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	min-width: 0;
	max-width: 100%;
}

.fnc-wall__post-tax-chip {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .12);
	background: rgba(255, 255, 255, .05);
	color: inherit;
	font-size: 0.78rem;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* display:inline-flex arriba pisa el [hidden] del UA → hay que forzar el ocultado. */
.fnc-wall__post-tax:not(.is-expanded) .fnc-wall__post-tax-chip.is-extra,
.fnc-wall__post-tax-chip.is-extra[hidden] {
	display: none !important;
}

.fnc-wall__post-tax.is-expanded .fnc-wall__post-tax-chip.is-extra {
	display: inline-flex !important;
}

a.fnc-wall__post-tax-chip:hover {
	background: rgba(255, 255, 255, .1);
	border-color: rgba(255, 255, 255, .22);
}

.fnc-wall__post-tax-more {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	opacity: .62;
	font-size: 0.78rem;
	font-weight: 600;
	padding: 0.1rem 0.15rem !important;
	margin: 0;
	min-height: 0;
	line-height: 1.3;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
	border-radius: 0 !important;
	white-space: nowrap;
}

.fnc-wall__post-tax-more:hover {
	opacity: .95;
	background: transparent !important;
	filter: none !important;
}

.fnc-wall__post-tax--character .fnc-wall__post-tax-chip {
	border-color: rgba(130, 190, 255, .28);
	background: rgba(90, 150, 230, .12);
}

.fnc-wall__post-tax--species .fnc-wall__post-tax-chip {
	border-color: rgba(130, 220, 160, .28);
	background: rgba(70, 180, 120, .12);
}

.fnc-wall__post-tax--copyright .fnc-wall__post-tax-chip {
	border-color: rgba(230, 180, 110, .28);
	background: rgba(200, 140, 60, .12);
}

.fnc-wall__post-tax--general .fnc-wall__post-tax-chip {
	border-color: rgba(170, 150, 255, .28);
	background: rgba(120, 100, 220, .12);
}

.fnc-wall__gallery-ref {
	display: block;
	margin: 0;
	border: none;
	border-top: 1px solid rgba(255, 255, 255, .06);
	border-bottom: 1px solid rgba(255, 255, 255, .06);
	border-radius: 0;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background: rgba(0, 0, 0, .35);
	transition: background .15s ease;
}

.fnc-wall__gallery-ref:hover,
.fnc-wall__gallery-ref:focus-visible {
	background: rgba(0, 0, 0, .42);
	outline: none;
}

.fnc-wall__gallery-ref-media {
	margin: 0;
	display: block;
	position: relative;
	overflow: hidden;
	min-height: 200px;
	background: rgba(127, 127, 127, .08);
}

.fnc-wall__gallery-ref-media img {
	display: block;
	width: 100%;
	max-height: 420px;
	object-fit: cover;
	opacity: 0;
	transition: opacity .25s ease, transform .2s ease;
}

.fnc-wall__gallery-ref-media.is-loaded img {
	opacity: 1;
}

.fnc-wall__gallery-ref:hover .fnc-wall__gallery-ref-media.is-loaded img,
.fnc-wall__gallery-ref:focus-visible .fnc-wall__gallery-ref-media.is-loaded img {
	transform: scale(1.01);
}

.fnc-wall__gallery-ref-media::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg,
		rgba(127, 127, 127, .10) 30%,
		rgba(127, 127, 127, .20) 50%,
		rgba(127, 127, 127, .10) 70%);
	background-size: 200% 100%;
	animation: fnc-wall-shimmer 1.2s ease-in-out infinite;
	opacity: 1;
	transition: opacity .25s ease;
	pointer-events: none;
}

.fnc-wall__gallery-ref-media.is-loaded::before {
	opacity: 0;
}

.fnc-wall__gallery-ref--album .fnc-wall__gallery-ref-grid {
	margin: 0;
	border: none;
	border-radius: 0;
}

.fnc-wall__gallery-ref-grid .fnc-wall__media-item {
	display: block;
	aspect-ratio: 1 / 1;
	min-height: 0;
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}

.fnc-wall__gallery-ref-grid .fnc-wall__media-item img {
	max-height: none;
	height: 100%;
	object-fit: cover;
}

/* Una sola foto de álbum: archivo completo, sin recorte cuadrado tipo portada */
.fnc-wall__gallery-ref--album .fnc-wall__gallery-ref-single {
	display: block;
	text-decoration: none;
	color: inherit;
}

.fnc-wall__gallery-ref-media--contain {
	min-height: 0;
	background: rgba(0, 0, 0, .28);
}

.fnc-wall__gallery-ref-media--contain img {
	width: 100%;
	height: auto;
	max-height: 560px;
	object-fit: contain;
	object-position: center center;
}

.fnc-wall__gallery-ref--album .fnc-wall__gallery-ref-single:hover .fnc-wall__gallery-ref-media--contain.is-loaded img,
.fnc-wall__gallery-ref--album .fnc-wall__gallery-ref-single:focus-visible .fnc-wall__gallery-ref-media--contain.is-loaded img {
	transform: none;
}

/* Foto de gallery en el muro (no álbum): una sola, sin recorte agresivo */
.fnc-wall__media--1 .fnc-wall__media-item[data-fnc-wall-photo-view] {
	min-height: 240px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0a0b12;
}

.fnc-wall__media--1 .fnc-wall__media-item[data-fnc-wall-photo-view] img {
	width: 100%;
	height: auto;
	max-height: 520px;
	object-fit: contain;
	object-position: center center;
	background: transparent;
}

.fnc-wall__media-item--more::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .55);
	pointer-events: none;
	z-index: 1;
}

.fnc-wall__media-item-more-label {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.35em;
	line-height: 1;
	color: #fff;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .45);
	z-index: 2;
	pointer-events: none;
}

.fnc-wall__gallery-ref-title {
	display: block;
	padding: 10px 16px 12px;
	font-size: .95em;
	font-weight: 650;
	line-height: 1.35;
	letter-spacing: .01em;
	color: var(--wall-text, #e8e8ef);
	opacity: .92;
	text-decoration: none;
}

a.fnc-wall__gallery-ref-title:hover,
a.fnc-wall__gallery-ref-title:focus-visible {
	opacity: 1;
	outline: none;
	text-decoration: underline;
}

.fnc-wall__post-actions {
	margin: 0;
	padding: 8px 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	border-top: 1px solid rgba(255, 255, 255, .07);
	background: rgba(255, 255, 255, .02);
}

.fnc-wall__post-comments {
	margin: 0;
	padding: 12px 14px 14px;
	border-top: 1px solid rgba(255, 255, 255, .07);
	background: rgba(0, 0, 0, .18);
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.fnc-wall__post-comments .fnc-comments,
.fnc-wall__post-comments .fnc-comments__form,
.fnc-wall__post-comments .fnc-comments__field {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.fnc-wall__post-comments .fnc-comments__field textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Like estilo "wall": corazón + conteo sin silueta de botón */
.fnc-wall__post-actions .fnc-like-group--wall {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 6px;
	border-radius: 999px;
}

.fnc-wall__post-actions .fnc-like-group--wall .fnc-likes__wall-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 38px;
	height: 38px;
	min-width: 38px;
	min-height: 38px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: var(--wall-text, #c9c9d4);
	font-size: 1.15em;
	line-height: 1;
	aspect-ratio: 1 / 1;
	cursor: pointer;
	transition: background .15s ease, color .15s ease, transform .12s ease;
}

.fnc-wall__post-actions .fnc-likes__wall-btn:hover {
	background: rgba(236, 91, 123, .14);
	color: #ec5b7b;
}

.fnc-wall__post-actions .fnc-likes__wall-btn:active { transform: scale(.9); }

.fnc-wall__post-actions .fnc-like-group--wall.is-liked .fnc-likes__wall-btn,
.fnc-wall__post-actions .fnc-likes__wall-btn[data-liked="1"] {
	background: rgba(236, 91, 123, .16);
	color: #ec5b7b;
}

/* Latido al dar me gusta */
.fnc-wall__post-actions .fnc-likes__wall-btn[data-liked="1"] i { animation: fnc-wall-heart .35s ease; }

@keyframes fnc-wall-heart {
	0%   { transform: scale(1); }
	35%  { transform: scale(1.35); }
	70%  { transform: scale(.9); }
	100% { transform: scale(1); }
}

.fnc-wall__post-actions .fnc-like-group__sep { display: none; }

.fnc-wall__post-actions .fnc-likes__wall-count {
	border: none;
	background: transparent;
	color: inherit;
	font-weight: 600;
	font-size: .95em;
	opacity: .8;
	cursor: pointer;
	padding: 0 2px;
}

.fnc-wall__post-actions .fnc-likes__wall-count:hover { opacity: 1; text-decoration: underline; }

/* Favorito en muro: solo estrella (mismo peso visual que el corazón) */
.fnc-wall__post-actions .fnc-favorite-group--wall {
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
	vertical-align: middle;
}

.fnc-wall__post-actions .fnc-favorite-group--wall .fnc-favorites__star-btn--wall,
.fnc-wall__post-actions .fnc-favorites__star-btn--wall {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.15rem;
	height: 2.15rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: inherit;
	cursor: pointer;
	line-height: 1;
	transition: background .15s ease, color .15s ease, transform .12s ease;
}

.fnc-wall__post-actions .fnc-favorites__star-btn--wall:hover {
	background: rgba(255, 201, 64, .14);
	color: #ffc940;
}

.fnc-wall__post-actions .fnc-favorites__star-btn--wall:active { transform: scale(.9); }

.fnc-wall__post-actions .fnc-favorites__star-btn--wall.is-favorited,
.fnc-wall__post-actions .fnc-favorites__star-btn--wall.is-favorited .fnc-favorites__star-icon {
	color: #ffc940;
}

.fnc-wall__post-actions .fnc-favorite-group--wall .fnc-favorites__star-label,
.fnc-wall__post-actions .fnc-favorite-group--wall .fnc-favorites__label,
.fnc-wall__post-actions .fnc-favorites__star-btn--wall .fnc-favorites__star-label,
.fnc-wall__post-actions .fnc-favorites__star-btn--wall .fnc-favorites__label {
	display: none !important;
}

.fnc-wall__post-actions .fnc-favorite-group--wall .fnc-favorite-group__sep {
	display: none;
}

.fnc-wall__post-actions .fnc-favorite-group--wall .fnc-favorite-group__count {
	border: none;
	background: transparent;
	color: inherit;
	font-weight: 600;
	font-size: .95em;
	opacity: .8;
	padding: 0 2px;
}

.fnc-wall__post-actions .fnc-favorite-group--wall .fnc-favorites__star-icon,
.fnc-wall__post-actions .fnc-favorites__star-btn--wall .fnc-favorites__star-icon {
	display: inline-flex;
	width: 18px;
	height: 18px;
}

.fnc-wall__post-actions .fnc-favorite-group--wall .fnc-favorites__star-icon svg,
.fnc-wall__post-actions .fnc-favorites__star-btn--wall .fnc-favorites__star-icon svg {
	width: 18px;
	height: 18px;
}

/* Favoritos del clip (bookmark) en feed / visor flotante */
.fnc-wall__post-actions .fnc-favorite-group--video {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.fnc-wall__post-actions .fnc-favorite-group--video .fnc-video__pill--favorite {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	box-sizing: border-box;
	width: 38px;
	height: 38px;
	min-width: 38px;
	min-height: 38px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: var(--wall-text, #c9c9d4);
	cursor: pointer;
	transition: background .15s ease, color .15s ease, transform .12s ease;
}
.fnc-wall__post-actions .fnc-favorite-group--video .fnc-video__pill--favorite:hover {
	background: rgba(139, 92, 246, .14);
	color: #c4b5fd;
}
.fnc-wall__post-actions .fnc-favorite-group--video .fnc-video__pill--favorite.is-favorited,
.fnc-wall__post-actions .fnc-favorite-group--video .fnc-video__pill--favorite.is-favorited .fnc-video__pill-icon {
	color: #a78bfa;
	background: rgba(139, 92, 246, .16);
}
.fnc-wall__post-actions .fnc-favorite-group--video .fnc-video__pill-label,
.fnc-wall__post-actions .fnc-favorite-group--video .fnc-favorites__label {
	display: none;
}
.fnc-wall__post-actions .fnc-favorite-group--video .fnc-favorite-group__sep,
.fnc-wall__post-actions .fnc-favorite-group--video .fnc-favorite-group__count {
	display: none;
}
.fnc-wall__post-actions .fnc-favorite-group--video .fnc-video__pill-icon {
	display: inline-flex;
	width: 20px;
	height: 20px;
}
.fnc-wall__post-actions .fnc-favorite-group--video .fnc-video__pill-icon svg {
	width: 20px;
	height: 20px;
}

/* Compartir publicación (menú de la app share) */
.fnc-wall__post-share { display: inline-flex; }
.fnc-wall__post-share .fnc-share { display: inline-flex; }

.fnc-wall__post-actions .fnc-wall__post-share .fnc-share__trigger {
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background: transparent;
	border: 1px solid transparent;
	color: var(--fnc-text-soft, #b9b9c4);
	font-weight: 600;
	font-size: .95em;
	transition: background .15s ease, color .15s ease;
}

.fnc-wall__post-actions .fnc-wall__post-share .fnc-share__trigger:hover,
.fnc-wall__post-actions .fnc-wall__post-share .fnc-share__trigger:focus-visible {
	background: rgba(124, 58, 237, .12);
	color: var(--fnc-text, #f2f2f7);
	border-color: transparent;
}

.fnc-wall__post-actions .fnc-wall__post-share .fnc-share__trigger-icon { display: inline-flex; }
.fnc-wall__post-actions .fnc-wall__post-share .fnc-share__trigger-icon svg { width: 18px; height: 18px; }

/* Publicación restringida (existe pero no visible para el viewer) */
.fnc-wall--restricted { text-align: center; }

.fnc-wall__restricted {
	max-width: 460px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding: 2.5rem 1.75rem;
}

.fnc-wall__restricted-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin-bottom: 1.1rem;
	border-radius: 50%;
	background: rgba(148, 163, 184, .14);
	color: rgba(148, 163, 184, .95);
	font-size: 1.6rem;
}

.fnc-wall__restricted-title {
	margin: 0 0 .6rem;
	font-size: 1.4rem;
	font-weight: 700;
}

.fnc-wall__restricted-text {
	margin: 0 0 1.5rem;
	color: rgba(148, 163, 184, .95);
	line-height: 1.55;
}

.fnc-wall__restricted-back {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .65rem 1.25rem;
	border-radius: 999px;
	background: var(--fnc-accent, #6366f1);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.fnc-wall__restricted-back:hover { filter: brightness(1.08); }

/* Enlace de regreso al muro (página de permalink de un post) */
.fnc-wall__back {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 18px;
	padding: 12px 18px;
	border-radius: 14px;
	font-weight: 600;
	font-size: .95rem;
	color: var(--wall-text, #c9c9d4);
	background: rgba(255, 255, 255, .04);
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}

.fnc-wall__back:hover {
	background: rgba(124, 58, 237, .18);
	color: #cbb6ff;
}

.fnc-wall__back i {
	transition: transform .12s ease;
}

.fnc-wall__back:hover i {
	transform: translateX(-3px);
}

/* Scroll infinito: sentinel invisible al final + ocultar el botón manual */
.fnc-wall__sentinel {
	width: 100%;
	height: 1px;
	margin: 0;
	pointer-events: none;
}

.fnc-wall--autoscroll .fnc-wall__more {
	display: none;
}

.fnc-wall--profile-embed {
	margin-top: 24px;
}

.fnc-wall__profile-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	font-size: 1.15rem;
}

/* Título de comentarios más discreto dentro del muro */
.fnc-wall__post-comments .fnc-comments__title {
	font-size: 1em;
	margin: 0 0 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255, 255, 255, .06);
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	opacity: .92;
}

/* Menciones dentro del cuerpo */
.fnc-wall__post-body .fnc-mention {
	font-weight: 600;
	text-decoration: none;
	color: #7d6bff;
}
.fnc-wall__post-body .fnc-mention:hover { text-decoration: underline; }

/* Enlaces autodetectados en el cuerpo */
.fnc-wall__post-body .fnc-link {
	color: #6ea8fe;
	text-decoration: none;
	word-break: break-all;
}
.fnc-wall__post-body .fnc-link:hover { text-decoration: underline; }

@media (max-width: 520px) {
	.fnc-wall__compose-bar { flex-wrap: wrap; }
	.fnc-wall__compose-actions { margin-left: auto; flex-wrap: wrap; gap: 8px; }
	.fnc-wall__vis-menu { min-width: 200px; }
	.fnc-wall__media--3 { grid-template-columns: 1fr 1fr; }

	/* El kebab queda pegado al borde derecho; en móvil el popover debe abrir
	   hacia la izquierda y no exceder el viewport. */
	.fnc-wall__post-menu-pop {
		right: 0;
		left: auto;
		min-width: 0;
		width: max-content;
		max-width: calc(100vw - 28px);
	}
}

/* ==========================================================================
   Vista de post (/wall/post/{id}) con espacios laterales (A B / C D / E F)
   El aside replica el efecto sticky del muro principal.
   ========================================================================== */
.fnc-wall--post-v2 {
	align-items: flex-start;
}

.fnc-wall__post-layout {
	display: grid;
	grid-template-columns: minmax(0, 25%) minmax(0, 1fr) minmax(0, 25%);
	grid-template-areas: "left main right";
	gap: 1.25rem;
	align-items: start;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}

.fnc-wall__post-aside--left  { grid-area: left; }
.fnc-wall__post-main         { grid-area: main; }
.fnc-wall__post-aside--right { grid-area: right; }

.fnc-wall__post-main {
	min-width: 0;
	width: auto;
}

.fnc-wall__post-aside {
	min-width: 0;
}

.fnc-wall__post-aside-inner {
	position: sticky;
	top: calc(var(--fnc-header-h, 0px) + 1rem);
	max-height: calc(100vh - var(--fnc-header-h, 0px) - 2rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

/* Cada espacio (widget) */
.fnc-wall__slot {
	min-width: 0;
	padding: 14px;
	border-radius: 16px;
	background: rgba(255, 255, 255, .035);
	border: 1px solid rgba(255, 255, 255, .07);
	box-sizing: border-box;
}

.fnc-wgt__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	font-size: .92rem;
	font-weight: 700;
	color: var(--wall-text, #c9c9d4);
}

.fnc-wgt__title i { color: #8b7bff; font-size: .9em; }

.fnc-wgt__body { min-width: 0; }

/* Lista de miembros / artistas */
.fnc-wgt__members {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.fnc-wgt__member-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 6px;
	border-radius: 10px;
	text-decoration: none;
	color: var(--wall-text, #d6d6e0);
	transition: background .15s ease;
}

.fnc-wgt__member-link:hover { background: rgba(124, 58, 237, .14); }

.fnc-wgt__avatar {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	background: rgba(255, 255, 255, .08);
}

.fnc-wgt__avatar--empty {
	display: inline-block;
	background: linear-gradient(135deg, rgba(124, 58, 237, .35), rgba(255, 255, 255, .08));
}

.fnc-wgt__member-meta { min-width: 0; display: flex; flex-direction: column; }

.fnc-wgt__member-name {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-weight: 600;
	font-size: .9rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fnc-wgt__badges { display: inline-flex; align-items: center; gap: 2px; }
.fnc-wgt__badges .profile-app-badge { transform: scale(.8); transform-origin: left center; }

.fnc-wgt__member-status {
	font-size: .76rem;
	opacity: .7;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Mosaico de artistas (sugeridos / IA): rejilla de avatares + nombre */
.fnc-wgt__artists {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.fnc-wgt__artist {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 8px 4px;
	border-radius: 12px;
	text-decoration: none;
	color: var(--wall-text, #d6d6e0);
	transition: background .15s ease, transform .15s ease;
}

.fnc-wgt__artist:hover {
	background: rgba(124, 58, 237, .14);
	transform: translateY(-2px);
}

.fnc-wgt__artist-ava {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
	background: rgba(255, 255, 255, .08);
	border: 2px solid rgba(255, 255, 255, .08);
}

.fnc-wgt__artist-ava--empty {
	display: inline-block;
	background: linear-gradient(135deg, rgba(124, 58, 237, .35), rgba(255, 255, 255, .08));
}

.fnc-wgt__artist-name {
	display: flex;
	align-items: center;
	gap: 3px;
	max-width: 100%;
	font-size: .76rem;
	font-weight: 600;
	line-height: 1.1;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fnc-wgt__artist-name .fnc-wgt__badges { flex: 0 0 auto; }

/* Rejilla de miniaturas (recientes): 3x3 = 9 fotos */
.fnc-wgt__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 5px;
}

.fnc-wgt__thumb {
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	overflow: hidden;
	background: rgba(255, 255, 255, .06);
}

.fnc-wgt__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .2s ease;
}

.fnc-wgt__thumb:hover img { transform: scale(1.05); }

/* Tablet: una sola columna; el post arriba y los widgets debajo (izq. y luego der.) */
@media (max-width: 1024px) {
	.fnc-wall__post-layout {
		grid-template-columns: 1fr;
		grid-template-areas:
			"main"
			"left"
			"right";
		max-width: 720px;
	}
	.fnc-wall__post-aside-inner {
		position: static;
		max-height: none;
		overflow: visible;
	}
}
