/**
* Text slider CSS
*/

.ry-elementor-switcher-text-slider-item {
    display: none;
}

.ry-elementor-switcher-text-slider-item.active {
    display: block;
    animation: fade_in_show 1.5s
}

@keyframes fade_in_show {
     0% {
          opacity: 0;
     }

     100% {
          opacity: 1;
     }
}

.ry-elementor-switcher-text-margin {
 margin: 0 0 20px 0;
}

.ry-elementor-switcher-dots {
     margin-top: 20px;
}
 
.ry-elementor-switcher-dot {
     display: inline-block;
     width: 10px;
     height: 10px;
     background-color: #fff;
     border-radius: 50%;
     margin: 0 5px 0 0;
     cursor: pointer;
}
 
.ry-elementor-switcher-dot.active {
     background-color: #0E8CD4;
}


/**
* Product showcase
*/
.ry-elementor-product-carousel {
  overflow: hidden;
}

.ry-elementor-product-carousel .swiper-wrapper {
  display: flex;
}

.ry-elementor-product-carousel .swiper-slide {
  flex: 0 0 auto;
  width: auto;
  box-sizing: border-box;
}

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: unset;
}

.ry-elementor-custom-selected-products-style1 {
    display: flex; 
    flex-wrap: wrap; 
    justify-content: space-evenly;
}
.ry-elementor-custom-selected-products-style1 .ry-elementor-custom-product-item a img {
    height: 300px;
    object-fit: cover;
}

.ry-elementor-custom-selected-products-style2 .ry-elementor-custom-product-block {
    display: flex;
    margin-right: auto;
    margin-left: auto;
    position: relative;
}

.ry-elementor-custom-selected-products-style2 .ry-elementor-custom-selected-products-style2 .ry-elementor-custom-product-block a img {
    height: auto;
    max-width: 100%;
    border: none;
    border-radius: 0;
    box-shadow: none;  
}

.ry-elementor-custom-selected-products-style2 .ry-elementor-custom-product-item {
    position: relative;
    min-height: 1px;
    display: flex;
    width: 50%;
}

.ry-elementor-custom-selected-products-style2 .ry-elementor-custom-product-item .ry-elementor-custom-product-item-container{
    align-content: center;
    align-items: center;
}

.ry-elementor-image-box,
.ry-elementor-image-box img {
    width: 100%;
}

@media only screen and (max-width: 900px) {
    .ry-elementor-custom-selected-products-style2 .ry-elementor-custom-product-block {
        display: flex;
        flex-wrap: wrap;
    }
    .ry-elementor-custom-selected-products-style2 .ry-elementor-custom-product-item {
        width: 100%;
    }
    .ry-elementor-custom-selected-products-style2 .ry-reverse-wrap {
        flex-wrap: wrap-reverse!important;
    }
}

/**
* Post grid
*/

.ry-elementor-pagination {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.ry-elementor-pagination .page-numbers {
    padding: 10px;
    color: #2241A8;
    text-decoration: none;
    margin: 0 5px;
}

.ry-elementor-pagination .page-numbers.current {
    font-weight: bold;
    color: #fff;
    background-color: #2241A8;
    border-radius: 3px;
}

.ry-elementor-post-grid.ry-disable-overlay .ry-elementor-post-inner,
.ry-elementor-post-grid.ry-disable-overlay .ry-elementor-post-thumbnail {
    /* If the overlay is a background color */
    background: none !important; 
    /* Or if it's a pseudo-element overlay on the thumbnail or inner container */
    overflow: visible !important; /* Ensure no clipping if overflow is causing the grey area */
}

.ry-elementor-post-grid.ry-disable-overlay .ry-elementor-post-inner::before,
.ry-elementor-post-grid.ry-disable-overlay .ry-elementor-post-inner::after,
.ry-elementor-post-grid.ry-disable-overlay .ry-elementor-post-thumbnail::before,
.ry-elementor-post-grid.ry-disable-overlay .ry-elementor-post-thumbnail::after {
    /* This is the most common fix for overlays */
    content: none !important;
    background: none !important;
}

/* Also ensure the date element doesn't have a background if it's the issue */
.ry-elementor-post-grid.ry-disable-overlay .ry-elementor-post-date {
    background-color: transparent !important;
}