/* Boobit Timeline — gold #F4C903, black #000, Poppins titles, Inter body */

.boobit-timeline-section {
	--bt-gold: #f4c903;
	--bt-black: #000;
	--bt-img: clamp(72px, 13vw, 190px);
	--bt-stem: 32px;
	--bt-axis-y: calc(1.75rem + var(--bt-img) + var(--bt-stem) - 1px);
	box-sizing: border-box;
	position: relative;
	margin: 0 auto;
	max-width: 100%;
	padding: 2.5rem 3.25rem 3.5rem;
	font-family: "Inter", system-ui, -apple-system, sans-serif;
	color: var(--bt-black);
	background-color: #faf7f0;
	background-image:
		radial-gradient(rgba(0, 0, 0, 0.028) 1px, transparent 1px),
		linear-gradient(180deg, #fdfbf6 0%, #f6f1e8 100%);
	background-size: 10px 10px, 100% 100%;
	overflow: hidden;
}

.boobit-timeline-section *,
.boobit-timeline-section *::before,
.boobit-timeline-section *::after {
	box-sizing: border-box;
}

.boobit-timeline-axis {
	position: absolute;
	left: 0;
	right: 0;
	top: var(--bt-axis-y);
	height: 2px;
	background: var(--bt-gold);
	z-index: 1;
	pointer-events: none;
}

.boobit-timeline-swiper {
	position: relative;
	z-index: 2;
	padding: 0 calc(var(--bt-arrow-size, 44px) + 12px);
	overflow: visible;
}

.boobit-timeline-swiper .swiper-slide {
	height: auto;
	display: flex;
	justify-content: center;
}

.boobit-timeline-card {
	width: 100%;
	max-width: 320px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.boobit-timeline-card__top {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.boobit-timeline-card__media {
	line-height: 0;
	margin-bottom: 0;
}

.boobit-timeline-card__media img {
	display: block;
	width: clamp(72px, 13vw, 190px);
	height: var(--bt-img);
	border-radius: 50%;
	object-fit: cover;
	box-sizing: border-box;
}

.boobit-timeline-card__media.is-gray img {
	filter: grayscale(1);
}

.boobit-timeline-card__media--placeholder {
	width: var(--bt-img);
	height: var(--bt-img);
	border-radius: 50%;
	background: linear-gradient(145deg, #e8e4dc, #d8d3c8);
}

.boobit-timeline-card__stem {
	width: 2px;
	height: var(--bt-stem);
	background: var(--bt-gold);
	flex-shrink: 0;
}

.boobit-timeline-card__node {
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-radius: 50%;
	background: var(--bt-black);
	flex-shrink: 0;
	position: relative;
	z-index: 3;
}

.boobit-timeline-card__date {
	margin: 0.85rem 0 0.35rem;
	font-family: "Poppins", system-ui, sans-serif;
	font-weight: 700;
	font-size: clamp(1.35rem, 2.6vw, 1.85rem);
	line-height: 1.15;
	color: var(--bt-gold);
}

.boobit-timeline-card__title {
	margin: 0 0 0.5rem;
	font-family: "Poppins", system-ui, sans-serif;
	font-weight: 700;
	font-size: clamp(1rem, 1.6vw, 1.125rem);
	line-height: 1.35;
	color: var(--bt-black);
}

.boobit-timeline-card__body {
	font-family: "Inter", system-ui, sans-serif;
	font-weight: 400;
	font-size: clamp(0.875rem, 1.25vw, 0.95rem);
	line-height: 1.55;
	color: var(--bt-black);
	text-align: center;
}

.boobit-timeline-card__body p {
	margin: 0 0 0.65em;
}

.boobit-timeline-card__body p:last-child {
	margin-bottom: 0;
}

.boobit-timeline-nav {
	position: absolute;
	top: var(--bt-axis-y);
	transform: translateY(-50%);
	z-index: 5;
	width: var(--bt-arrow-size, 44px);
	height: var(--bt-arrow-size, 44px);
	border: none;
	border-radius: var(--bt-arrow-radius, 50%);
	background: var(--bt-arrow-bg, var(--bt-gold));
	color: var(--bt-arrow-color, var(--bt-black));
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: calc(var(--bt-arrow-size, 44px) * 0.42);
	line-height: 1;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

.boobit-timeline-nav:hover {
	transform: translateY(-50%) scale(1.04);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.boobit-timeline-nav:focus-visible {
	outline: 2px solid var(--bt-black);
	outline-offset: 2px;
}

.boobit-timeline-prev {
	left: 0;
}

.boobit-timeline-next {
	right: 0;
}

.boobit-timeline-empty {
	text-align: center;
	padding: 1rem;
	font-family: "Inter", system-ui, sans-serif;
}

.swiper-button-disabled.boobit-timeline-nav {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

@media (max-width: 767px) {
	.boobit-timeline-section {
		padding: 2rem 1rem 2.5rem;
	}

	.boobit-timeline-swiper {
		padding: 0 calc(var(--bt-arrow-size, 44px) + 4px);
	}
}
