/* =========================================================== */
/* 00. Widget - Elementor Posts
/* =========================================================== */
.elementor-widget-dplf_posts_carousel .dplf-posts {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.dplf-posts-carousel .swiper {
    width: 100%;
    height: auto;
    overflow: visible;
}

.dplf-posts-carousel .swiper-wrapper {
    display: flex;
    width: 100%;
}

.dplf-posts-carousel .swiper-slide {
    width: auto;
    flex: 0 0 auto;
    height: auto;
    display: flex;
    align-items: stretch;
}

.dplf-posts-carousel .dplf-post-inner {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.dplf-post-inner-wrapper {
  overflow: hidden;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  margin-bottom: 30px;
}

.dplf-post-carousel-wrapper .dplf-post-inner-wrapper {
  margin-bottom: 0;
}

.dplf-post-wrapper .dplf-post-inner{
  position: relative;
  overflow: hidden;
}

.dplf-post-wrapper .dplf-post-thumbnail{
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  z-index: 1;
}

.dplf-post-wrapper .dplf-post-thumbnail img {
  width: 100%;
  object-fit: cover;
  vertical-align: middle;
  transform: scale(1);
  transition: transform 2.5s cubic-bezier(.17, .05, .13, .85);
}

.dplf-post-wrapper .dplf-post-thumbnail a:hover img {
  transform: scale(1.05)
}

.dplf-post-wrapper .dplf-post-overlay-category{
  position: absolute;
  z-index: 2;
  top: 20px;
  left: 20px;
}

.dplf-post-wrapper .dplf-post-overlay-category a{
  color: var(--dplf-color-text-heading);
  background-color: var(--dplf-color-primary);
  padding: 6px 14px;
  font-size: 14px;
  margin: 0;
  text-align: center;
  vertical-align: middle;
}

.dplf-post-wrapper .dplf-post-overlay-category {
  -webkit-transform: translate(var(--dplf-post-category-x-offset, 0), var(--dplf-post-category-y-offset, 0)) rotate(var(--dplf-post-category-rotate, 0));
  transform: translate(var(--dplf-post-category-x-offset, 0), var(--dplf-post-category-y-offset, 0)) rotate(var(--dplf-post-category-rotate, 0))
}

.dplf-post-wrapper .dplf-post-content{
  position: relative;
  z-index: 2;
  padding-top: 25px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.dplf-post-wrapper .dplf-post-content .dplf-post-title,
.dplf-post-wrapper .dplf-post-content .dplf-post-title a{
  margin: 0 0 5px;
}

.dplf-post-wrapper .dplf-post-content .dplf-post-meta{
  margin: 10px 0; 
}

.dplf-post-wrapper .dplf-post-content .dplf-post-meta span,
.dplf-post-wrapper .dplf-post-content .dplf-post-meta a{
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  text-transform: uppercase;
  color: var(--dplf-color-gray);
}

.dplf-post-wrapper .dplf-post-meta span + span:before{
  margin: 0 2px;
}

.dplf-post-wrapper .dplf-post-content .dplf-post-excerpt p{
  margin: 0;
}

.dplf-post-wrapper .dplf-post-content .dplf-post-readmore-button{
  margin-top: 20px;
}

.dplf-post-wrapper .dplf-post-content .dplf-button-icon {
  vertical-align: middle;
}

.dplf-post-wrapper .dplf-post-content .dplf-button-icon i{
  width: auto;
}

.dplf-post-wrapper .dplf-post-content .dplf-button-icon svg{
  width: 14px;
}

/*Post List*/
@media (min-width: 768px) {
  .elementor-position-left .dplf-post-wrapper.dplf-post-style--list .dplf-post-inner,
  .elementor-position-right .dplf-post-wrapper.dplf-post-style--list .dplf-post-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .elementor-position-right .dplf-post-wrapper.dplf-post-style--list .dplf-post-inner {
    text-align: right;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .elementor-position-right .dplf-post-wrapper.dplf-post-style--list .dplf-post-content {
    padding-top: 0;
    padding-right: 30px;
  }

  .elementor-position-left .dplf-post-wrapper.dplf-post-style--list .dplf-post-inner {
    text-align: left;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .elementor-position-left .dplf-post-wrapper.dplf-post-style--list .dplf-post-content {
    padding-top: 0;
    padding-left: 30px;
  }

  .elementor-position-top .dplf-post-wrapper.dplf-post-style--list .dplf-post-inner {
    margin: auto;
  }

  .elementor-vertical-align-top .dplf-post-wrapper.dplf-post-style--list .dplf-post-inner {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .elementor-vertical-align-middle .dplf-post-wrapper.dplf-post-style--list .dplf-post-inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .elementor-vertical-align-bottom .dplf-post-wrapper.dplf-post-style--list .dplf-post-inner {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}

/*Post Card*/
.dplf-post-wrapper.dplf-post-style--card .dplf-post-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: flex-end;
  -ms-flex-align: stretch;
  align-items: stretch;
  text-align: left;
  max-width: 100%;
  padding: 30px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.45) 70%);
}

.dplf-post-wrapper.dplf-post-style--card .dplf-post-thumbnail {
  margin-bottom: 0;
}

.dplf-post-wrapper.dplf-post-style--card .dplf-post-content .dplf-post-title a{
  color: #fff;
}

.dplf-post-wrapper.dplf-post-style--card .dplf-post-content .dplf-post-meta span:not(:first-child){
  margin-left: 5px;
}

.dplf-post-wrapper.dplf-post-style--card .dplf-post-content .dplf-post-meta span a,
.dplf-post-wrapper.dplf-post-style--card .dplf-post-content .dplf-post-meta span:before{
  color: #fff;
}

.dplf-post-wrapper.dplf-post-style--card .dplf-post-content .dplf-post-excerpt p{
  color: #fff;
  margin: 0;
}

.dplf-post-wrapper.dplf-post-style--card .dplf-post-content .dplf-post-readmore{
  margin-top: 20px;
}

/* Enhanced transition effects */
.dplf-posts-carousel.slide-transitioning .swiper-slide {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Effect-specific styles */
.dplf-posts-carousel .swiper-slide.swiper-slide-duplicate {
    opacity: 1;
}

/*Arrow Offset*/
.dplf-posts-carousel .dplf-navigation-next {
  transition: all .3s ease-out;
  -webkit-transform: translate(var(--dplf-posts-carousel-right-arrow-x-offset, 0), var(--dplf-posts-carousel-arrow-y-offset, 0)) rotate(var(--dplf-posts-carousel-arrow-rotate, 0));
  transform: translate(var(--dplf-posts-carousel-right-arrow-x-offset, 0), var(--dplf-posts-carousel-arrow-y-offset, 0)) rotate(var(--dplf-posts-carousel-arrow-rotate, 0));
}

.dplf-posts-carousel .dplf-navigation-prev {
  transition: all .3s ease-out;
  -webkit-transform: translate(var(--dplf-posts-carousel-left-arrow-x-offset, 0), var(--dplf-posts-carousel-arrow-y-offset, 0)) rotate(var(--dplf-posts-carousel-arrow-rotate, 0));
  transform: translate(var(--dplf-posts-carousel-left-arrow-x-offset, 0), var(--dplf-posts-carousel-arrow-y-offset, 0)) rotate(var(--dplf-posts-carousel-arrow-rotate, 0));
}

/*Arrows Position Outside*/
.dplf-arrows-position--outside .dplf-posts-carousel {
    padding: 0 50px;
}

@media (max-width: 1200px) {
    .dplf-arrows-position--outside .dplf-posts-carousel {
        padding: 0 25px;
    }
}

.dplf-arrows-position--outside .dplf-posts-carousel .swiper {
    overflow: hidden;
}

/*Pagination Position Outside*/
.dplf-pagination-position--outside .dplf-pagination {
  position: relative;
  top: 30px;
  padding-bottom: 33px;
}

/*Scrollbar Position Outside*/
.dplf-scrollbar-position--outside .dplf-posts-carousel {
    padding-bottom: 40px;
}

/*Scrollbar Position Outside*/
.dplf-scrollbar-position--outside .dplf-posts-carousel {
    padding-bottom: 50px;
}
