.dtc2-wrapper {
	position: relative;
	width: 100%;
}

/* Timeline Swiper */
.dtc2-timeline-slider {
	width: 100%;
	margin-bottom: 30px;
	padding-bottom: 10px;
}
/* Strict Timeline Width Fix */
.dtc2-timeline-slider .swiper-slide {
	width: auto !important;
	flex-shrink: 0 !important;
	white-space: nowrap !important;
	box-sizing: border-box;
	display: inline-block;
}
.dtc2-timeline-item {
	cursor: pointer;
	padding: 10px 20px;
	text-align: center;
	transition: color 0.3s ease;
	opacity: 0.6;
}
.dtc2-timeline-item.swiper-slide-thumb-active {
	opacity: 1;
}

/* Main Slider Container */
.dtc2-main-container {
    display: flex;
    flex-direction: column;
    position: relative; /* Stable parent for arrows */
}

/* Main Slider */
.dtc2-main-slider {
	width: 100%;
	overflow: hidden !important;
}

/* Force equal height for all slides */
.dtc2-main-slider .swiper-wrapper {
    display: flex;
    align-items: stretch; /* Make all slides the same height as the tallest one */
}

.dtc2-main-slider .swiper-slide {
    height: auto !important; /* Override Swiper's autoHeight inline styles */
    display: flex;
    flex-direction: column;
}

/* Slide Inner Layout (Flexbox) */
.dtc2-slide-inner {
	display: flex;
	width: 100%;
	flex: 1; /* Take up available height */
}

/* Columns */
.dtc2-image-col {
	width: 50%;
	flex: 0 0 auto;
}
.dtc2-content-col {
	width: 50%;
	flex: 1 1 0%;
	display: flex;
	flex-direction: column;
    height: 100%; /* Ensure it spans full inner height */
}

/* Inner Content Group */
.dtc2-content-group {
    display: flex;
    flex-direction: column;
    gap: 0; /* Let margins handle spacing or add specific gap if needed */
}

/* Image Wrapper */
.dtc2-image-wrapper {
	position: relative;
	width: 100%;
	height: 100%; /* Fill column */
}

.dtc2-title {
	margin-top: 0;
	margin-bottom: 15px;
}

.dtc2-description {
	margin-bottom: 25px;
}

/* Button Styling */
.dtc2-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.3s ease-in-out;
	text-decoration: none;
	border: none;
	width: fit-content;
    /* margin-top removed to allow natural flow below description */
}

.dtc2-button-icon {
	display: inline-flex;
	transition: transform 0.3s ease-in-out;
}

.dtc2-button svg {
	width: 1em;
	height: 1em;
	transition: fill 0.3s ease-in-out;
}

/* Button Hover Animation */
.dtc2-button:hover .dtc2-button-icon {
	transform: translateX(5px);
}

/* Arrows Navigation */
.dtc2-nav-container {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 20px;
	z-index: 10;
}

/* Position arrows absolutely relative to dtc2-main-container if requested, else static */
.dtc2-nav-button {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	pointer-events: auto;
}
.dtc2-nav-button.swiper-button-disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

/* Responsive Layout */
@media (max-width: 768px) {
	.dtc2-slide-inner {
		flex-direction: column;
	}
	.dtc2-image-col, 
	.dtc2-content-col {
		width: 100%;
	}
	.dtc2-content-col {
		padding: 20px !important;
	}
}