/* Year link opacity — global so mobile active state works too */
.year-link a {
	opacity: 0.4;
	transition: opacity 0.3s ease;
}

.year-link a.active {
	opacity: 1;
}

/* Dates wrapper sticky behaviour — desktop only */
@media ( min-width: 1025px ) {
	.dates-wrapper.elementor-sticky--active {
		position: sticky !important;
		top: 0 !important;
		height: 100vh !important;
		overflow: hidden !important;
		pointer-events: none !important;
		display: flex !important;
		align-items: flex-start !important;
		z-index: 10 !important;
	}

	.dates-wrapper.elementor-sticky__spacer {
		display: none !important;
	}
}

/* Hide Elementor spacer completely */
.dates-wrapper.elementor-sticky__spacer {
	display: none !important;
}

/* Re-enable clicks on year links */
.year-link a {
	pointer-events: auto !important;
	cursor: pointer !important;
}

/* Dates grid — desktop only, JS controls visibility and position */
@media ( min-width: 1025px ) {
	#dates-grid {
		width: 100%;
		visibility: hidden;
		margin-top: calc( 50vh - 2em );
	}

	#dates-grid.ready {
		visibility: visible;
		transition: transform 0.6s ease-out;
	}
}

/* Bio sections */
.bio-section {
	position: relative;
}

.bio-name {
	scroll-margin-top: calc( 50vh - 0px );
}

/* Pull first bio up and pad last bio — desktop only */
@media ( min-width: 1025px ) {
	.bio-section:first-child {
		margin-top: -25vh;
	}

	.bio-section:last-child {
		padding-bottom: 60vh;
	}
}

/* Prevent sticky container blocking clicks */
.dates-wrapper {
	pointer-events: none;
}

.dates-wrapper .year-link {
	pointer-events: auto;
}

/* Scrollable bio text */
.bio-scroll-text,
.bio-scroll-text .elementor-widget-container {
	display: block;
	max-height: 600px;
	overflow-y: auto;
}

.bio-scroll-text::-webkit-scrollbar,
.bio-scroll-text .elementor-widget-container::-webkit-scrollbar {
	width: 10px;
}

.bio-scroll-text::-webkit-scrollbar-track,
.bio-scroll-text .elementor-widget-container::-webkit-scrollbar-track {
	background: transparent;
	border: 1px solid transparent !important;
}

.bio-scroll-text::-webkit-scrollbar-thumb,
.bio-scroll-text .elementor-widget-container::-webkit-scrollbar-thumb {
	background-color: transparent;
	border-radius: 50px;
}

.bio-scroll-text.bio-scrolling::-webkit-scrollbar-track,
.bio-scroll-text.bio-scrolling .elementor-widget-container::-webkit-scrollbar-track {
	border: 1px solid #000000 !important;
}

.bio-scroll-text.bio-scrolling::-webkit-scrollbar-thumb,
.bio-scroll-text.bio-scrolling .elementor-widget-container::-webkit-scrollbar-thumb {
	background-color: #000000;
}

.bio-scroll-text::-webkit-scrollbar-thumb:hover,
.bio-scroll-text .elementor-widget-container::-webkit-scrollbar-thumb:hover {
	background-color: #333333;
}

@media ( max-width: 1125px ) {
	.bio-scroll-text,
	.bio-scroll-text .elementor-widget-container {
		max-height: none;
	}
}
