.aps-878-container {
	display: flex;
	flex-wrap: wrap;
	gap: 40px; /* Default gap, can be overridden by Elementor control */
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	color: #333;
}

.aps-878-left-col {
	flex: 1 1 400px;
	display: flex;
	flex-direction: row; /* Default: Main image left column, info images right column */
	align-items: flex-start;
	gap: 20px; /* Default column gap, overridden by control */
}

/* Image Columns */
.aps-878-main-img-col {
	flex: 1; /* Allow it to grow/shrink based on width control */
	max-width: 100%;
	display: flex;
	flex-direction: column; /* Default */
}

.aps-878-main-img-wrap {
    width: 100%;
}

.aps-878-main-img-wrap img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	display: block;
}

.aps-878-gallery-col {
	flex: 1;
	max-width: 100%;
	display: flex;
	flex-direction: column; /* Default */
	gap: 15px; /* Vertical gap between info images */
}

.aps-878-gallery-item {
    display: flex;
    width: 100%;
    cursor: pointer; /* Indicate it's clickable */
    transition: opacity 0.2s ease;
}

.aps-878-gallery-item:hover {
    opacity: 0.8;
}

.aps-878-gallery-item img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	display: block;
	object-fit: cover;
}

/* Right Content Column */
.aps-878-right-col {
	flex: 2 1 500px;
	display: flex;
	flex-direction: column;
}

/* Tabs Header */
.aps-878-tabs-header {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 2px solid #eaeaea;
	margin-bottom: 30px;
}

.aps-878-tab-nav {
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	padding: 15px 25px; /* Default, overridden by control */
	font-size: 1.1rem;
	font-weight: 500;
	color: #666;
	cursor: pointer;
	transition: all 0.3s ease;
	margin-bottom: -2px; /* Overlap border */
}

.aps-878-tab-nav:hover {
	color: #111;
}

.aps-878-tab-nav.active {
	color: #111;
	background-color: #f6efe8; /* Default active bg, overridden by control */
	border-bottom-color: #d1bfae; /* Subtle active border */
	border-top-left-radius: 8px; /* Default, overridden by control */
	border-top-right-radius: 8px; /* Default, overridden by control */
}

/* Tabs Content */
.aps-878-tab-content {
	display: none;
	font-size: 1.1rem;
	line-height: 1.8;
	color: #444;
	margin-bottom: 40px;
	padding: 0; /* Reset default so control handles it completely */
}

.aps-878-tab-inner p {
	margin-top: 0;
	margin-bottom: 1em; /* Default paragraph gap, overridden by control */
}

.aps-878-tab-inner p:last-child {
	margin-bottom: 0;
}

.aps-878-tab-content.active {
	display: block;
	animation: apsFadeIn 0.4s ease;
}

@keyframes apsFadeIn {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Benefits Grid */
.aps-878-benefits-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px; /* Default, overridden by control */
}

.aps-878-benefit-item {
	background-color: #f1f3f4;
	padding: 18px 24px; /* Default, overridden by control */
	border-radius: 8px; /* Default, overridden by control */
	display: flex;
	align-items: center;
	gap: 12px;
	font-weight: 500;
	font-size: 1.05rem;
	color: #333;
}

.aps-878-benefit-bullet {
	color: #222;
	font-size: 1.2rem;
}

@media (max-width: 768px) {
	.aps-878-left-col {
		flex-direction: column !important; /* Stack main image and gallery vertically on mobile */
	}
	.aps-878-main-img-col,
	.aps-878-gallery-col {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
	.aps-878-tabs-header {
		flex-direction: column;
		border-bottom: none;
	}
	.aps-878-tab-nav {
		border-bottom: none;
		border-left: 3px solid transparent;
		text-align: left;
		margin-bottom: 5px;
	}
	.aps-878-tab-nav.active {
		border-left-color: #d1bfae;
		border-radius: 0 8px 8px 0; /* Default, overridden by control */
	}
}