/* Visual Builder Placeholder for Child Items */
.et-fb-root .et_pb_ptd_achievements_showcase_item.et_pb_is_empty:before {
    content: 'Achievement Item: Add content in settings';
    display: block;
    padding: 20px;
    background: #f2f2f2;
    border: 2px dashed #ccc;
    text-align: center;
    color: #999;
    font-weight: bold;
}

.ptd-achievements-showcase .swiper-container {
    width: 100%;
    height: 100%;
    max-width: 100%;
    overflow: hidden; /* prevent wrapper from bleeding outside */
    margin-left: auto;
    margin-right: auto;
}

/* Ensure the module never overflows the Divi row width */
.et_pb_row.et_pb_row_4 .ptd-achievements-showcase,
.et_pb_row .ptd-achievements-showcase {
    max-width: 100%;
    overflow: hidden;
}

.ptd-achievements-showcase .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    box-sizing: border-box;
    overflow: hidden;

    /* Center slide content vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    flex-direction: column;
}

/* Make the whole slide clickable when wrapped with .ptd-slide-link */
.ptd-achievements-showcase .ptd-slide-link {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.ptd-achievements-showcase .ptd-slide-link:focus {
    outline: none;
}

.ptd-achievements-showcase .ptd-media-container {
    width: 100%;
    height: 250px; /* Default height */
    overflow: hidden;
}

.ptd-achievements-showcase .ptd-media-container img,
.ptd-achievements-showcase .ptd-media-container iframe,
.ptd-achievements-showcase .ptd-media-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ptd-achievements-showcase .ptd-content {
    padding: 20px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.ptd-achievements-showcase .ptd-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.ptd-achievements-showcase .ptd-description {
    font-size: 16px;
    color: #666;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    max-width: 100%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* show only 3 lines */
    -webkit-box-orient: vertical;
    line-clamp: 3;
}

/* Navigation */
.ptd-achievements-showcase .swiper-button-next, 
.ptd-achievements-showcase .swiper-button-prev {
    color: #007aff;
}

.ptd-achievements-showcase .swiper-pagination-bullet-active {
    background: #007aff;
}

/* Dark Text */
.et_pb_bg_layout_light .ptd-title {
    color: #333;
}
.et_pb_bg_layout_light .ptd-description {
    color: #666;
}

/* Light Text */
.et_pb_bg_layout_dark .ptd-content {
    background-color: rgba(0,0,0,0.5);
}
.et_pb_bg_layout_dark .ptd-title {
    color: #fff;
}
.et_pb_bg_layout_dark .ptd-description {
    color: #eee;
}
.et_pb_bg_layout_dark .swiper-button-next, 
.et_pb_bg_layout_dark .swiper-button-prev {
    color: #fff;
}
.et_pb_bg_layout_dark .swiper-pagination-bullet {
    background: #fff;
}
.et_pb_bg_layout_dark .swiper-pagination-bullet-active {
    background: #007aff;
}

/* Responsive */
@media (max-width: 767px) {
    .ptd-achievements-showcase .ptd-media-container {
        height: 200px;
    }
    .ptd-achievements-showcase .ptd-title {
        font-size: 20px;
    }
    .ptd-achievements-showcase .ptd-description {
        font-size: 14px;
    }
}
