/* Blog Carousel Item */
.blog-carousel-item .blog-carousel-image {
   position: relative;
}
.blog-carousel-item .blog-carousel-image a {
   display: block;
   text-decoration: none;
   outline: none;
   overflow: hidden;
}
.blog-carousel-item .blog-carousel-image img {
   display: block;
   width: 100%;
   object-fit: cover;
   position: relative;
   transition: all .40s ease-in-out;
}
.blog-carousel-item:hover .blog-carousel-image img {
   transform: scale(1.05);
}

/* Image aspect ratio */
.redcat-blog-carousel.carousel-blog-news .blog-carousel-image img {
   aspect-ratio: 3/4;
}
.redcat-blog-carousel.carousel-blog-news-alt .blog-carousel-image img {
   aspect-ratio: 5/4;
}
.redcat-blog-carousel.carousel-blog-article .blog-carousel-image img {
   aspect-ratio: 16/18;
}
.redcat-blog-carousel.carousel-blog-article-alt .blog-carousel-image img {
   aspect-ratio: 1/1;
}


/* ===== OVERLAY STYLE ===== */
.redcat-blog-carousel.style-overlay .blog-carousel-item .blog-carousel-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient( to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.8) 100%);
   display: flex;
   align-items: flex-end;
   padding: 20px 20px;
   z-index: 10;
}
.redcat-blog-carousel.style-overlay .blog-carousel-item .overlay-content {
   color: var(--wp--preset--color--white);
   width: 100%;
}
.redcat-blog-carousel.style-overlay .blog-carousel-item .blog-carousel-meta {
   font-size: clamp(14px, 2vw, 15px);
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: 6px 16px;
   margin-bottom: 14px;
}
.redcat-blog-carousel.style-overlay .blog-carousel-item .blog-carousel-title {
   font-size: clamp(18px, 2vw, 20px);
   font-weight: 400;
   line-height: 1.3;
   margin-top: 14px;
}
.redcat-blog-carousel.style-overlay .blog-carousel-item .blog-carousel-title a {
   color: var(--wp--preset--color--white);
   text-decoration: none;
}
.redcat-blog-carousel.style-overlay .blog-carousel-item .blog-carousel-title a:hover {
   color: var(--wp--preset--color--white);
   text-decoration: underline;
}
.redcat-blog-carousel.style-overlay .blog-carousel-item .blog-carousel-excerpt {
   color: var(--wp--preset--color--white);
   margin-top: 14px;
}
.redcat-blog-carousel.style-overlay .blog-carousel-item .blog-carousel-button-group {
   margin-top: 14px;
   display: none;
}






/* ===== BELOW STYLE ===== */
.redcat-blog-carousel.style-below .blog-carousel-item .blog-carousel-image {
   position: relative;
   margin-bottom: 24px;
}
.redcat-blog-carousel.style-below .blog-carousel-item .blog-carousel-content {
   color: var(--wp--preset--color--black);
}
.redcat-blog-carousel.style-below .blog-carousel-item .blog-carousel-meta {
   font-size: clamp(14px, 2vw, 15px);
   color: #8189A9;
   display: flex;
   flex-wrap: wrap;
   margin-bottom: 18px;
}
.redcat-blog-carousel.style-below .blog-carousel-item .blog-carousel-meta .meta-item + .meta-item {
   padding-left: 1rem;
}
.redcat-blog-carousel.style-below .blog-carousel-item .blog-carousel-meta .meta-item + .meta-item:before {
   content: '|';
   padding-right: 1rem;
}
.redcat-blog-carousel.style-below .blog-carousel-item .blog-carousel-title {
   font-size: clamp(18px, 2vw, 20px);
   font-weight: 400;
   line-height: 1.3;
   margin-top: 14px;
}
.redcat-blog-carousel.style-below .blog-carousel-item .blog-carousel-title a {
   color: var(--wp--preset--color--black);
   text-decoration: none;
}
.redcat-blog-carousel.style-below .blog-carousel-item .blog-carousel-title a:hover {
   color: var(--wp--preset--color--primary);
   text-decoration: underline;
}
.redcat-blog-carousel.style-below .blog-carousel-item .blog-carousel-excerpt {
   margin-top: 14px;
}
.redcat-blog-carousel.style-below .blog-carousel-item .blog-carousel-button-group {
   margin-top: 14px;
   display: none;
}

/* Variations */
.redcat-blog-carousel.carousel-blog-article-alt.style-below .blog-carousel-item .blog-carousel-title {
   font-weight: 600;
}

/* =====[CONTROLS]===== */
/* Navigation */
.redcat-blog-carousel .splide__arrows {
   display: flex;
   align-items: center;
   gap: 15px;
}
.redcat-blog-carousel .splide__arrows .splide__arrow {
   color: var(--wp--preset--color--white);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 38px;
   height: 38px;
   border: 1px solid var(--wp--preset--color--primary);
   background: var(--wp--preset--color--primary);
   outline: none;
   cursor: pointer;
	position: relative;
	opacity: 1;
	transform: translate(0);
}
.redcat-blog-carousel .splide__arrows .splide__arrow.splide__arrow--prev {
   left: 0;
   transform: rotate(180deg);
}
.redcat-blog-carousel .splide__arrows .splide__arrow.splide__arrow--next {
   right: 0;
}
.redcat-blog-carousel .splide__arrows .splide__arrow svg {
   width: 24px;
   height: 24px;
}
.single-post .redcat-blog-carousel .splide__arrows .splide__arrow.splide__arrow--prev {
	transform: rotate(0);
}

/* Pagination Dots */
.redcat-blog-carousel .splide__pagination {
   gap: 0.5rem;
	position: relative;
   margin-top: 2rem;
}
.redcat-blog-carousel .splide__pagination .splide__pagination__page {
   background: var(--wp--preset--color--primary);
   border: none;
   border-radius: 50%;
   width: 10px;
   height: 10px;
   cursor: pointer;
   opacity: 0.4;
   transition: all 0.3s ease;
}
.redcat-blog-carousel .splide__pagination .splide__pagination__page.is-active {
   opacity: 1;
	transform: scale(1);
}

/* Carousel Blog Article Alt */
.redcat-blog-carousel.carousel-blog-article-alt .splide__arrows {
   position: absolute;
   top: -90px;
   right: 0;
   z-index: 10;
}

/* Controls for specific carousel */
.redcat-blog-carousel.carousel-blog-news .splide .splide__arrows,
.redcat-blog-carousel.carousel-blog-news-alt .splide .splide__arrows,
.redcat-blog-carousel.carousel-blog-article .splide .splide__arrows {
   display: none;
}
.redcat-blog-carousel.carousel-blog-news .splide .splide__pagination,
.redcat-blog-carousel.carousel-blog-news-alt .splide .splide__pagination,
.redcat-blog-carousel.carousel-blog-article .splide .splide__pagination,
.redcat-blog-carousel.carousel-blog-article-alt .splide .splide__pagination {
   display: none;
}

@media (max-width: 767px) {
   .redcat-blog-carousel.carousel-blog-news .splide .splide__pagination,
   .redcat-blog-carousel.carousel-blog-news-alt .splide .splide__pagination,
   .redcat-blog-carousel.carousel-blog-article .splide .splide__pagination,
   .redcat-blog-carousel.carousel-blog-article-alt .splide .splide__pagination {
      display: flex;
      margin-top: 1.5rem;
   }
}

@media (max-width: 1024px) {
   .redcat-blog-carousel.carousel-blog-article-alt .splide__arrows {
      top: -75px;
   }
}


/* =====[MICS STYLES]===== */
/* Empty State */
.blog-carousel-empty {
   text-align: center;
   padding: 3rem;
   color: #666;
   font-style: italic;
}

/* Wide and Full Width Support */
.wp-block-redcat-blog-carousel.alignwide {
   max-width: 1200px;
   margin-left: auto;
   margin-right: auto;
}
.wp-block-redcat-blog-carousel.alignfull {
   max-width: none;
   width: 100vw;
   margin-left: calc(50% - 50vw);
   margin-right: calc(50% - 50vw);
}
.wp-block-redcat-blog-carousel.alignfull .redcat-blog-carousel {
   max-width: none;
   margin: 2rem 0;
}

.wp-block-redcat-blog-carousel.alignfull .blog-carousel-splide {
   max-width: none;
   margin: 0;
   padding: 0 2rem;
}

/* Ensure full width carousel track spans entire viewport */
.wp-block-redcat-blog-carousel.alignfull .splide__track {
   width: 100%;
}
.wp-block-redcat-blog-carousel.alignfull .splide__list {
   width: 100%;
}

/* Full width with padding (peek effect) support */
.wp-block-redcat-blog-carousel.alignfull .blog-carousel-splide.has-padding {
   padding: 0;
}
.wp-block-redcat-blog-carousel.alignfull .blog-carousel-splide.has-padding .splide__track {
   overflow: visible;
}

/* Dark Background Support */
.redcat-blog-carousel.has-background {
   padding: 2rem;
   border-radius: 8px;
}
.redcat-blog-carousel.has-dark-background.style-below .blog-carousel-title a {
   color: white;
}
.redcat-blog-carousel.has-dark-background.style-below .blog-carousel-excerpt {
   color: rgba(255, 255, 255, 0.8);
}
.redcat-blog-carousel.has-dark-background.style-below .blog-carousel-date {
   color: rgba(255, 255, 255, 0.7);
}

@media (max-width: 767px) {
   .wp-block-columns.alignfull .redcat-blog-carousel {
      padding-left: var(--wp--preset--spacing--30);
      padding-right: var(--wp--preset--spacing--30);
   }
}