/* Portafolio + detalle de trabajo — específicos (prefijo .portafolio- / .trabajo-) */

/* ---- Índice ------------------------------------------------------------- */
.portafolio-cabecera { padding-bottom: clamp(2rem, 4vw, 3rem); }
.portafolio-conteo { color: var(--tenue); pointer-events: none; }

.portafolio-filtros { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 2.75rem; }
.portafolio-filtro {
	font-family: var(--f-mono); font-size: .7rem; font-weight: 500;
	letter-spacing: .14em; text-transform: uppercase;
	color: var(--fg-70); background: transparent;
	border: 1px solid var(--borde); border-radius: 999px; padding: .6em 1.1em;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.portafolio-filtro:hover { border-color: var(--fg); color: var(--fg); }
.portafolio-filtro.es-activo { background: var(--fg); color: var(--bg); border-color: var(--fg); }

.portafolio-vacio {
	border: 1px solid var(--borde); background: var(--superficie);
	padding: clamp(2.25rem, 6vw, 4.5rem); text-align: center;
}
.portafolio-vacio__titulo {
	font-family: var(--f-display); font-weight: 600;
	font-size: clamp(1.6rem, 3.4vw, 2.4rem);
}
.portafolio-vacio__titulo em { font-style: italic; color: var(--rojo); }
.portafolio-vacio__texto { margin: 1rem auto 0; max-width: 44ch; color: var(--fg-70); }

/* ---- Detalle (single-trabajo) ------------------------------------------ */
.trabajo-cabecera__interno { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.trabajo-cabecera__texto { max-width: 20ch; }
.trabajo-titulo {
	font-family: var(--f-display); font-weight: 600;
	font-size: clamp(2.2rem, 5.6vw, 4.4rem); line-height: 1.01; letter-spacing: -0.02em;
	max-width: 22ch; margin-top: 1rem;
}
.trabajo-meta { margin-top: 1.4rem; }

.trabajo-imagen { margin-block: clamp(1.5rem, 4vw, 3rem); }
.trabajo-imagen img { width: 100%; }

.trabajo-cuerpo__rejilla {
	display: grid; grid-template-columns: minmax(0, 1fr) 300px;
	gap: clamp(2rem, 5vw, 4rem); align-items: start;
}
.trabajo-original { margin-top: 2rem; }

/* Ficha técnica (eco del panel forense de la referencia) */
.trabajo-ficha { position: sticky; top: 1.5rem; }
.trabajo-ficha__titulo { margin-bottom: 1.25rem; }
.trabajo-ficha__lista { display: grid; gap: 1rem; }
.trabajo-ficha__dato { display: grid; gap: .2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--linea-negro); }
.trabajo-ficha__dato:last-child { border-bottom: 0; padding-bottom: 0; }
.trabajo-ficha__dato dt {
	font-family: var(--f-mono); font-size: .66rem; letter-spacing: .14em;
	text-transform: uppercase; color: var(--naranja);
}
.trabajo-ficha__dato dd { font-family: var(--f-display); font-size: 1.05rem; color: var(--crema); }

.trabajo-compartir { margin-top: 2.5rem; }

/* Navegación entre trabajos */
.trabajo-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.trabajo-nav__enlace {
	display: grid; gap: .5rem; padding: 1.4rem 1.5rem;
	border: 1px solid var(--borde); border-radius: var(--radio);
	transition: border-color .18s ease, background .18s ease;
}
.trabajo-nav__enlace:hover { border-color: var(--fg); background: var(--superficie); }
.trabajo-nav__enlace--sig { text-align: right; }
.trabajo-nav__etiqueta {
	font-family: var(--f-mono); font-size: .68rem; letter-spacing: .12em;
	text-transform: uppercase; color: var(--rojo);
}
.trabajo-nav__titulo { font-family: var(--f-display); font-weight: 600; font-size: 1.15rem; line-height: 1.15; }
.trabajo-nav__vacio { color: var(--fg-70); }
.trabajo-volver { margin-top: 2rem; }

@media (max-width: 900px) {
	.trabajo-cuerpo__rejilla { grid-template-columns: 1fr; }
	.trabajo-ficha { position: static; order: -1; }
}
@media (max-width: 640px) {
	.trabajo-cabecera__interno { flex-direction: column; gap: 1rem; }
	.trabajo-nav { grid-template-columns: 1fr; }
	.trabajo-nav__enlace--sig { text-align: left; }
}
