/* Filterable Carousel Widget Styles */

.efc-widget {

    width: 100%;

    position: relative;

}



/* Filter Buttons */

.efc-filter-buttons {

    display: flex;

    flex-wrap: wrap;

    /* justify-content: center; */

    margin-bottom: 30px;

}



.efc-filter-btn {

    cursor: pointer;

    border: none;

    transition: all 0.3s ease;

    font-family: inherit;

    font-size: 16px;

    outline: none;

}







.efc-filter-btn:focus {

    outline: 2px solid currentColor;

    outline-offset: 2px;

}



/* Carousel */

.efc-widget .swiper {

    width: 100%;

    position: relative;

    overflow: hidden;

}



.efc-widget .swiper-slide {

    height: auto;

    display: flex;

}

.efc-widget .swiper-slide .custom_product {
    width: 100%;
}


/* Default Template Styles */

.efc-default-item {

    background: #fff;

    border-radius: 8px;

    overflow: hidden;

    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);

    transition: transform 0.3s ease, box-shadow 0.3s ease;

    height: 100%;

    display: flex;

    flex-direction: column;

}



.efc-default-item:hover {

    /* transform: translateY(-5px); */

    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);

}



.efc-thumbnail {

    overflow: hidden;

    position: relative;

}



.efc-thumbnail img {

    width: 100%;

    height: 250px;

    object-fit: cover;

    display: block;

    transition: transform 0.3s ease;

}



.efc-thumbnail a:hover img {

    /* transform: scale(1.05); */

}



.efc-content {

    padding: 20px;

    flex: 1;

    display: flex;

    flex-direction: column;

}



.efc-title {

    margin: 0 0 10px;

    font-size: 20px;

    line-height: 1.4;

}



.efc-title a {

    text-decoration: none;

    color: #333;

    transition: color 0.3s ease;

}



.efc-title a:hover {

    color: #0073e6;

}



.efc-excerpt {

    color: #666;

    line-height: 1.6;

    margin-bottom: 15px;

    flex: 1;

}



.efc-read-more {

    display: inline-block;

    padding: 8px 20px;

    background: #0073e6;

    color: #fff;

    text-decoration: none;

    border-radius: 4px;

    transition: background 0.3s ease;

    align-self: flex-start;

}



.efc-read-more:hover {

    background: #005bb5;

}



/* Navigation Arrows */

.efc-widget .swiper-button-next,

.efc-widget .swiper-button-prev {

    color: #333;

    transition: color 0.3s ease;

}



.efc-widget .swiper-button-next:hover,

.efc-widget .swiper-button-prev:hover {

    color: #0073e6;

}



/* Pagination */

.efc-widget .swiper-pagination {
    position: static !important;
}



.efc-widget .swiper-pagination-bullet {

    width: 10px;

    height: 10px;

    opacity: 0.5;

    transition: all 0.3s ease;

}



.efc-widget .swiper-pagination-bullet-active {

    opacity: 1;

    transform: scale(1.2);

}






/* Notice Styles */

.efc-notice,

.efc-no-posts {

    padding: 20px;

    background: #f8f9fa;

    border-left: 4px solid #0073e6;

    color: #333;

    margin: 20px 0;

}






/* Loading Animation */

.efc-loading {

    text-align: center;

    padding: 40px;

}



.efc-loading:after {

    content: "";

    display: inline-block;

    width: 40px;

    height: 40px;

    border: 4px solid #f3f3f3;

    border-top: 4px solid #0073e6;

    border-radius: 50%;

    animation: spin 1s linear infinite;

}



@keyframes spin {

    0% {

        transform: rotate(0deg);

    }



    100% {

        transform: rotate(360deg);

    }

}