.bt-experience-timeline {
	position: relative;
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.bt-experience-timeline__block-header {
	max-width: 1400px;
	margin: 0 auto 2rem auto;
	padding: 0;
}

.bt-experience-timeline__block-title {
	font-family: 'Lexend', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--text-primary, #0f172a);
	margin: 0 0 0.5rem 0;
}

.bt-experience-timeline__block-description {
	margin: 0;
	font-size: 0.95rem;
	color: var(--text-secondary, #64748b);
	max-width: 95%;
	padding-bottom: 30px;
}

.bt-experience-timeline-editor-placeholder {
	border-radius: 1rem;
	padding: 1.5rem 1.75rem;
	border: 1px dashed rgba(148, 163, 184, 0.7);
	background: rgba(15, 23, 42, 0.02);
}

.bt-experience-timeline-editor-title {
	font-weight: 600;
	margin-bottom: 0.35rem;
	color: var(--text-primary, #0f172a);
}

.bt-experience-timeline-editor-text {
	margin: 0.15rem 0;
	font-size: 0.9rem;
	color: var(--text-secondary, #64748b);
}

.bt-experience-timeline__line {
	position: absolute;
	top: -3rem;
	bottom: 0;
	left: 50%;
	width: 0;
	border-left: 1px dashed #c4c4c4;
	transform: translateX(-50%);
	pointer-events: none;
}

.bt-experience-timeline__items {
	position: relative;
	display: grid;
	row-gap: 4rem;
}

.bt-experience-timeline__item {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	column-gap: 1rem;
	align-items: center;
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s ease, transform 0.6s ease;
	padding: 1.5rem 0;
	min-height: 100px;
}

/* Mobile */
@media (max-width: 767px) {
	.bt-experience-timeline__block-header {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
	}

	.bt-experience-timeline__item {
		width: 96%;
		margin: 0 auto;
	}

	.line-l {
		left: -5px;
	}

	.bt-experience-timeline__content {
		width: 98%;
		margin: 0 auto;
	}

	.bt-experience-timeline__item--left .line-r,
	.bt-experience-timeline__item--right .line-r {
		right: -5px;
	}
}

.bt-experience-timeline__line-dot {
	position: absolute;
	left: 50%;
	top: 0;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background-color: #020617;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 0 4px rgba(15, 23, 42, 0.05);
	pointer-events: none;
	z-index: 2;
}

[data-theme="dark"] .bt-experience-timeline__line-dot {
	background-color: #ffffff;
	box-shadow: 0 0 0 4px rgba(15, 23, 42, 0.6);
}

/* Sistema de líneas estilo Flyware - Simplificado para visibilidad */
.line-r,
.line-l,
.line-t,
.line-b {
	position: absolute;
	pointer-events: none;
	z-index: 1;
	opacity: 0.7;
}

/* Líneas verticales (derecha e izquierda) - se extienden un poco más arriba y abajo */
.line-r,
.line-l {
	width: 0;
	border-left: 1px dashed rgb(70, 70, 70);
	top: -8px;
	bottom: -8px;
}

/* Línea derecha: para todos los items, va a la derecha del contenido (hacia el centro) */
.bt-experience-timeline__item--left .line-r,
.bt-experience-timeline__item--right .line-r {
	right: 0;
}

/* Líneas horizontales (arriba y abajo) */
.line-t,
.line-b {
	height: 0;
	border-top: 1px dashed rgb(70, 70, 70);
}

/* Para items de la izquierda: línea desde el borde izquierdo hasta unos píxeles MÁS ALLÁ del centro (hacia la derecha) */
.bt-experience-timeline__item--left .line-t,
.bt-experience-timeline__item--left .line-b {
	left: -11px;
	width: calc(50% + 22px);
}

/* Para items de la derecha: línea desde unos píxeles ANTES del centro (hacia la izquierda) hasta el borde derecho */
.bt-experience-timeline__item--right .line-t,
.bt-experience-timeline__item--right .line-b {
	right: -11px;
	width: calc(50% + 22px);
}

.line-t {
	top: 0;
}

.line-b {
	bottom: 0;
}

@media (min-width: 768px) {
	.bt-experience-timeline__item {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 0.5rem;
	}

	.bt-experience-timeline__item--left .bt-experience-timeline__content {
		grid-column: 1 / 2;
		padding-right: 1.5rem;
		padding-left: 1rem;
	}

	.bt-experience-timeline__item--right .bt-experience-timeline__content {
		grid-column: 2 / 3;
		padding-left: 1.5rem;
		padding-right: 0;
	}
}

.bt-experience-timeline__item.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.bt-experience-timeline__circle-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
}

.bt-experience-timeline__circle {
	width: 110px;
	height: 110px;
	border-radius: 999px;
	background: radial-gradient(circle at 30% 15%, rgba(255, 255, 255, 0.9), rgba(15, 23, 42, 0.03));
	box-shadow:
		0 18px 45px rgba(15, 23, 42, 0.15),
		inset 0 0 0 1px rgba(148, 163, 184, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.bt-experience-timeline__circle::before {
	content: "";
	position: absolute;
	inset: 12px;
	border-radius: inherit;
	border: 2px solid rgba(129, 140, 248, 0.85);
	box-shadow:
		0 0 0 1px rgba(56, 189, 248, 0.35),
		0 0 40px rgba(56, 189, 248, 0.4);
}

.bt-experience-timeline__circle-index {
	position: relative;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	color: var(--accent, #3088eb);
}

.bt-experience-timeline__content {
	position: relative;
	z-index: 2;
	max-width: none;
	margin-inline: 0;
}

@media (min-width: 768px) {
	.bt-experience-timeline__content {
		max-width: 100%;
	}
}

.bt-experience-timeline__header {
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--text-secondary, #64748b);
	margin-bottom: 0.25rem;
}

.bt-experience-timeline__position {
	font-weight: 600;
	color: var(--accent, #3088eb);
}

.bt-experience-timeline__title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-primary, #0f172a);
	margin-top: 0.1rem;
}

.bt-experience-timeline__dates {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--text-secondary, #64748b);
	margin-bottom: 0.75rem;
}

.bt-experience-timeline__date-separator {
	margin-inline: 0.35rem;
}

.bt-experience-timeline__description {
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--text-secondary, #64748b);
	max-width: 32rem;
}

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

