/* Cineteca Base: fichas públicas. Toma tipografía y colores del tema. */
.ctb-ficha { margin: 0 0 2em; }
.ctb-ficha h2 { margin-top: 1.6em; }
.ctb-ficha h3 { margin-top: 1.2em; font-size: 1.05em; }

.ctb-datos { margin: 0 0 1.5em; padding: 0; border-top: 1px solid rgba(0, 0, 0, .1); }
.ctb-dato { display: flex; gap: 1em; padding: .55em 0; border-bottom: 1px solid rgba(0, 0, 0, .1); }
.ctb-dato dt { flex: 0 0 34%; max-width: 220px; margin: 0; font-weight: 600; }
.ctb-dato dd { flex: 1; margin: 0; }

.ctb-reparto, .ctb-filmografia, .ctb-notas ul, .ctb-recuadro ul { list-style: none; margin: 0 0 1em; padding: 0; }
.ctb-reparto li, .ctb-filmografia li, .ctb-notas li { padding: .35em 0; border-bottom: 1px solid rgba(0, 0, 0, .06); }
.ctb-reparto li { display: flex; justify-content: space-between; gap: 1em; }
.ctb-personaje, .ctb-anio, .ctb-tipo, .ctb-fecha { opacity: .75; }
.ctb-tipo { font-size: .85em; text-transform: lowercase; }

.ctb-trailer { margin: 0 0 1.5em; }
.ctb-trailer iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; }

.ctb-fuentes { margin-top: 2em; font-size: .85em; opacity: .75; }

.ctb-recuadro { margin: 2em 0; padding: 1em 1.2em; border: 1px solid rgba(0, 0, 0, .12); border-radius: 6px; }
.ctb-recuadro h2 { margin: 0 0 .6em; font-size: 1.1em; }
.ctb-recuadro ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .8em; margin: 0; }
.ctb-recuadro a { display: flex; align-items: center; gap: .7em; text-decoration: none; }
.ctb-recuadro .ctb-miniatura { width: 52px; height: 52px; object-fit: cover; border-radius: 50%; flex: 0 0 52px; }
.ctb-recuadro .ctb-nombre { display: block; }
.ctb-recuadro .ctb-detalle { display: block; font-size: .85em; opacity: .7; }

@media (max-width: 600px) {
	.ctb-dato { flex-direction: column; gap: .2em; }
	.ctb-dato dt { max-width: none; }
	.ctb-reparto li { flex-direction: column; gap: 0; }
}
