/* Base Wrapper */
.dpc-289-carousel-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden; /* Hide overflow for basic JS sliding */
}

/* Carousel Container */
.dpc-289-carousel {
    display: flex;
    transition: transform 0.5s ease-in-out; /* Smooth slide transition */
    width: 100%;
}

/* Individual Slide */
.dpc-289-slide {
    min-width: 100%;
    flex: 0 0 100%;
    box-sizing: border-box;
}

/* Slide Inner Layout (50/50 Split) */
.dpc-289-slide-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center; /* Center content vertically */
    width: 100%;
}

.dpc-289-message-col {
    width: 50%;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dpc-289-image-col {
    width: 50%;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end; /* Align image box to the right */
    align-items: center;
}

.dpc-289-image-wrapper {
    width: 420px;
    height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible; /* Allow image to break out */
    position: relative;
}

.dpc-289-product-image {
    max-width: none;
    max-height: none;
    width: 120%; /* Scale up to match old banner prominence */
    height: auto;
    object-fit: contain;
    position: relative;
    left: -10%; /* Center the scaled up image */
}

.dpc-289-message {
    margin-bottom: 15px;
}

.dpc-289-price {
    font-size: 1.2em;
    font-weight: bold;
    color: #e63946; /* Matching the button color from context */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .dpc-289-message-col,
    .dpc-289-image-col {
        width: 100%;
    }
    .dpc-289-image-col {
        justify-content: center;
    }
    .dpc-289-image-wrapper {
        width: 100%;
        height: auto;
        max-height: 350px;
        overflow: hidden;
    }
    .dpc-289-product-image {
        width: 100%;
        left: 0;
    }
}