/* =================================
   Wrapper
================================= */

.finep-tfc-wrap{
    position:relative;
    width:100%;
}

/* =================================
   Filter Buttons
================================= */

.finep-tfc-filters{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;

    gap:18px 26px;
    margin-bottom:34px;
}

.finep-tfc-filter{

    appearance:none;
    -webkit-appearance:none;

    border:1px solid #9fb53d;
    background:#ffffff;

    color:#6b7280;

    padding:14px 30px;

    border-radius:999px;

    cursor:pointer;

    font-size:18px;
    font-weight:600;

    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .15s ease;

}

.finep-tfc-filter:hover{

    transform:translateY(-1px);

    background:#f7faef;

}

.finep-tfc-filter.is-active{

    background:#9fb53d;
    border-color:#9fb53d;
    color:#ffffff;

}


/* =================================
   Carousel Area
================================= */

.finep-tfc-carousel-area{

    position:relative;
    width:100%;

    padding:0 70px; /* Platz für Pfeile */

    min-height:220px;

}


/* =================================
   Overlay Loader
================================= */

.finep-tfc-loading-overlay{

    position:absolute;
    inset:0;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(255,255,255,0.75);

    opacity:0;
    visibility:hidden;

    z-index:20;

    transition:opacity .25s ease;

}

.finep-tfc-wrap.is-loading .finep-tfc-loading-overlay{

    opacity:1;
    visibility:visible;

}

/* Spinner */

.finep-tfc-spinner{

    width:68px;
    height:68px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    box-shadow:0 8px 26px rgba(0,0,0,0.08);

}

.finep-tfc-spinner span{

    width:32px;
    height:32px;

    border-radius:50%;

    border:3px solid rgba(159,181,61,0.25);
    border-top-color:#9fb53d;

    animation:finep-spin .8s linear infinite;

}

@keyframes finep-spin{
    to{
        transform:rotate(360deg);
    }
}


/* =================================
   Results Animation
================================= */

.finep-tfc-results{

    width:100%;

    opacity:1;
    transform:translateY(0);

    transition:
        opacity .35s ease,
        transform .35s ease;

}

.finep-tfc-results.is-animating-out{

    opacity:0;
    transform:translateY(20px);

}

.finep-tfc-results.is-animating-in{

    opacity:1;
    transform:translateY(0);

}


/* =================================
   Swiper
================================= */

.finep-tfc-swiper{

    width:100%;
    overflow:hidden;

}

.finep-tfc-swiper .swiper-wrapper{

    align-items:stretch;

}

.finep-tfc-swiper .swiper-slide{

    height:auto;

}


/* =================================
   Navigation Buttons
================================= */

.finep-tfc-prev,
.finep-tfc-next{

    position:absolute;

    top:50%;
    transform:translateY(-50%);

    z-index:30;

    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    border:1px solid #d6dcc2;

    background:#ffffff;

    color:#6b7280;

    font-size:20px;
    font-weight:600;

    cursor:pointer;

    box-shadow:0 6px 18px rgba(0,0,0,0.08);

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;

}

.finep-tfc-prev{

    left:-26px;

}

.finep-tfc-next{

    right:-26px;

}

.finep-tfc-prev:hover,
.finep-tfc-next:hover{

    transform:translateY(-50%) scale(1.05);

    border-color:#9fb53d;
    color:#9fb53d;

}


/* =================================
   Pagination Dots
================================= */

.finep-tfc-pagination{

    width:100%;

    display:flex;
    justify-content:center;
    align-items:center;

    margin-top:28px;

}

.finep-tfc-pagination .swiper-pagination-bullet{

    width:10px;
    height:10px;

    background:#cfd6b8;

    margin:0 6px !important;

    opacity:1;

    transition:
        transform .2s ease,
        background .2s ease;

}

.finep-tfc-pagination .swiper-pagination-bullet-active{

    background:#9fb53d;

    transform:scale(1.25);

}


/* =================================
   Default Card
================================= */

.finep-tfc-default-card{

    border:1px solid #e5e7eb;

    border-radius:22px;

    overflow:hidden;

    background:#ffffff;

    height:100%;

    display:flex;
    flex-direction:column;

    box-shadow:0 8px 24px rgba(17,24,39,0.05);

}

.finep-tfc-default-thumb img{

    width:100%;
    height:260px;

    object-fit:cover;

}

.finep-tfc-default-content{

    padding:18px;

}

.finep-tfc-default-title{

    margin-bottom:10px;

    font-size:20px;
    line-height:1.2;

}

.finep-tfc-default-title a{

    text-decoration:none;
    color:inherit;

}

.finep-tfc-default-excerpt{

    font-size:15px;
    line-height:1.55;

    color:#4b5563;

}


/* =================================
   Empty / Error
================================= */

.finep-tfc-empty{

    padding:32px 0;

    text-align:center;

    color:#6b7280;

}

.finep-tfc-error{

    padding:16px;

    border:1px solid #f1c40f;

    background:#fff8db;

}


/* =================================
   Responsive
================================= */

@media (max-width:1024px){

    .finep-tfc-carousel-area{
        padding:0 50px;
    }

    .finep-tfc-filter{
        font-size:17px;
        padding:12px 24px;
    }

}

@media (max-width:767px){

    .finep-tfc-carousel-area{
        padding:0 30px;
    }

    .finep-tfc-filter{

        font-size:16px;

        padding:11px 18px;

    }

}