/* PF Timeline — estilos del elemento */
.pf-timeline {
	--pf-tl-accent: #3b8beb;
	--pf-tl-line: #e5e5e5;
	--pf-tl-meta-width: 160px;
	--pf-tl-gap: 48px;
	--pf-tl-marker-size: 16px;
	--pf-tl-marker-border: 3px;
	--pf-tl-col-gap: 48px;
	--pf-tl-text-color: #333;
	--pf-tl-muted-color: #a0a0a0;
	--pf-tl-heading-color: #222;
	position: relative;
	padding-left: 0;
	max-width: 100%;
}

.pf-timeline__list {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

/* Línea vertical continua, centrada en la columna del marcador */
.pf-timeline__list::before {
	content: "";
	position: absolute;
	top: 0.6em;
	bottom: 0;
	left: calc(var(--pf-tl-meta-width) + var(--pf-tl-col-gap) + var(--pf-tl-marker-size) / 2);
	width: 1px;
	background: var(--pf-tl-line);
	transform: translateX(-50%);
}

.pf-timeline__item {
	display: grid;
	grid-template-columns: var(--pf-tl-meta-width) var(--pf-tl-marker-size) 1fr;
	column-gap: var(--pf-tl-col-gap);
	align-items: start;
	margin: 0 0 var(--pf-tl-gap);
	padding: 0;
}

.pf-timeline__item:last-child {
	margin-bottom: 0;
}

.pf-timeline__meta {
	text-align: right;
	line-height: 1.5;
}

.pf-timeline__period {
	display: block;
	font-weight: 700;
	font-size: 1.15em;
	color: var(--pf-tl-heading-color);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pf-timeline__company {
	display: block;
	color: var(--pf-tl-muted-color);
	font-size: 1em;
}

.pf-timeline__marker {
	position: relative;
	z-index: 1;
	display: block;
	width: var(--pf-tl-marker-size);
	height: var(--pf-tl-marker-size);
	margin-top: 0.35em;
	border-radius: 50%;
	background: #fff;
	border: var(--pf-tl-marker-border) solid var(--pf-tl-accent);
	box-sizing: border-box;
}

.pf-timeline--marker-filled .pf-timeline__marker {
	background: var(--pf-tl-accent);
}

.pf-timeline__content {
	min-width: 0;
}

.pf-timeline__title {
	margin: 0 0 0.5em;
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1.3;
	color: var(--pf-tl-heading-color);
}

.pf-timeline__title a {
	color: inherit;
	text-decoration: none;
}

.pf-timeline__title a:hover {
	color: var(--pf-tl-accent);
}

.pf-timeline__text {
	color: var(--pf-tl-text-color);
	line-height: 1.8;
}

.pf-timeline__text p:last-child {
	margin-bottom: 0;
}

/* Animación de entrada (solo si está activada) */
.pf-timeline--animate .pf-timeline__item {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .6s ease, transform .6s ease;
}

.pf-timeline--animate .pf-timeline__item.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.pf-timeline--animate .pf-timeline__item {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Móvil: fechas encima del contenido, línea a la izquierda */
@media (max-width: 767px) {
	.pf-timeline {
		--pf-tl-col-gap: 20px;
	}

	.pf-timeline__list::before {
		left: calc(var(--pf-tl-marker-size) / 2);
	}

	.pf-timeline__item {
		grid-template-columns: var(--pf-tl-marker-size) 1fr;
		grid-template-areas:
			"marker meta"
			"marker content";
	}

	.pf-timeline__marker  { grid-area: marker; }
	.pf-timeline__meta    { grid-area: meta; text-align: left; margin-bottom: 0.5em; }
	.pf-timeline__content { grid-area: content; }
}
