/* =====[PUB CAROUSEL ITEM]===== */
.pub-carousel-item {
   position: relative;
}
.pub-carousel-item .pub-carousel-image {
   margin-bottom: 14px;
}
.pub-carousel-item .pub-carousel-image img {
   display: block;
   width: 100%;
   object-fit: cover;
   background: rgba(0, 0, 0, 0.1);
	aspect-ratio: 16/10;
}
.pub-carousel-item .pub-carousel-content {
   position: relative;
}
.pub-carousel-item .pub-carousel-meta {
   margin-bottom: 6px;
}
.pub-carousel-item .pub-carousel-meta .pub-carousel-location {
   font-size: 15px;
   font-weight: 500;
   color: #C2989C;
}
.pub-carousel-item .pub-carousel-meta .pub-carousel-location svg {
   display: none;
}
.pub-carousel-item .pub-carousel-title {
   font-size: clamp(20px, 2vw, 25px);
   font-weight: 400;
   margin-bottom: clamp(18px, 2vw, 22px);
}
.pub-carousel-item .pub-carousel-title a {
   color: var(--wp--preset--color--black);
   display: inline-block;
   text-decoration: none;
   outline: none;
}
.pub-carousel-item .pub-carousel-title a:hover {
   color: var(--wp--preset--color--primary);
   text-decoration: underline;
}
.pub-carousel-item .pub-carousel-title a svg {
   display: inline-block;
   width: 24px;
   height: 24px;
   stroke-width: 1.5px;
   margin-left: 2px;
   position: relative;
   top: 4px
}

/* =====[NAVIGATION]===== */
.redcat-pub-carousel .splide__arrows {
   display: flex;
   justify-content: space-between;
   width: 85px;
   position: absolute;
   left: var(--wp--preset--spacing--30);
   bottom: -60px;
   z-index: 10;
}
.redcat-pub-carousel .splide__arrows .splide__arrow {
   color: var(--wp--preset--color--white);
	position: relative;
   transform: translate(0);
   opacity: 1;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 36px;
   height: 36px;
   border-radius: 6px;
   border: 1px solid var(--wp--preset--color--primary);
   background-color: var(--wp--preset--color--primary);
   cursor: pointer;
}
.redcat-pub-carousel .splide__arrows .splide__arrow.splide__arrow--prev {
   left: 0;
   transform: rotate(180deg);
}
.redcat-pub-carousel .splide__arrows .splide__arrow.splide__arrow--next {
   right: 0
}

@media (max-width: 767px) {
   .redcat-pub-carousel .splide__arrows {
      bottom: -50px;
   }
}

/* =====[ALIGNMENT]===== */
@media (max-width: 767px) {
   .wp-block-columns.alignfull .redcat-pub-carousel {
      padding-left: var(--wp--preset--spacing--30);
      padding-right: var(--wp--preset--spacing--30);
   }
   .wp-block-columns.alignfull .redcat-pub-carousel .splide__arrows {
      left: 0;
   }
}


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

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

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

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

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