/**
 * =========================================================
 * Testimonials Module
 * File: assets/css/tk-testimonials.css
 * =========================================================
 */

/* =========================================================
   SECTION
========================================================= */

.tkts{
    position:relative;
    padding:80px 0 35px;
    background:#ffffff;
    overflow:hidden;
}

.tkts *{
    box-sizing:border-box;
}

.tkts .container{
    max-width:1200px;
    margin:0 auto;
    padding:0 15px;
}


/* =========================================================
   HEADER
========================================================= */

.tkts-header{
    text-align:center;
    max-width:1200px;
    margin:0 auto 60px;
}

.tkts-heading{
    margin:0;
    font-size:34px;
    font-weight:700;
    line-height:1.3;
    color:#111827;
}

.tkts-subheading{
    margin:20px auto 0;
    font-size:18px;
    line-height:1.8;
    color:#64748b;
}


/* =========================================================
   STATISTICS
========================================================= */

.tkts-stats{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-bottom:70px;

}

.tkts-stat{

    background:#ffffff;

    border:1px solid #e2e8f0;

    border-radius:20px;

    padding:32px 20px;

    text-align:center;

    transition:all .35s ease;

}

.tkts-stat:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 40px rgba(15,23,42,.08);

}

.tkts-stat-number{

    display:block;

    margin-bottom:10px;

    font-size:40px;

    font-weight:700;

    color:#0f766e;

    line-height:1;

}

.tkts-stat-label{

    display:block;

    font-size:16px;

    color:#64748b;

    line-height:1.7;

}


/* =========================================================
   SLIDER
========================================================= */

.tkts-slider{

    position:relative;

    overflow:hidden;

}

.tkts-slider .swiper-wrapper{

    align-items:stretch;

}

.tkts-slider .swiper-slide{

    height:auto;

    display:flex;

}

.tkts-content{
    font-size:16px;
    line-height:1.9;
    color:#475569;
    margin-bottom:24px;
    flex:1;
}

/* =========================================================
   CARD
========================================================= */

.tkts-card{
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
    padding:32px;
    border-radius:20px;
    background:#fff;
    border:1px solid #E5E7EB;
    box-shadow:0 8px 24px rgba(15,23,42,.05);
    transition:all .3s ease;
}
.tkts-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(15,23,42,.10);
}

/* =========================================================
   RATING
========================================================= */

.tkts-rating{

    display:flex;

    align-items:center;
    
    margin-bottom:18px;
    color:#F59E0B;
    letter-spacing:2px;
    gap:4px;

}

.tkts-rating svg{

    width:20px;

    height:20px;

    fill:#fbbf24;

}


/* =========================================================
   QUOTE
========================================================= */

.tkts-quote{

    flex:1;

    font-size:17px;

    line-height:1.9;

    color:#475569;

    margin:0 0 32px;

    position:relative;

}

.tkts-quote::before{

    content:"“";

    position:absolute;

    top:-24px;

    left:-6px;

    font-size:64px;

    line-height:1;

    color:#cbd5e1;

    font-family:Georgia, serif;

    opacity:.7;

}
/* =========================================================
   FOOTER
========================================================= */

.tkts-footer{

    display:flex;

    align-items:center;

    gap:18px;

    margin-top:auto;

    padding-top:24px;

    border-top:1px solid #e5e7eb;

}


/* =========================================================
   AVATAR
========================================================= */

.tkts-avatar{

    flex:0 0 68px;

    width:68px;

    height:68px;

    border-radius:50%;

    overflow:hidden;

    border:3px solid #ecfeff;

    box-shadow:0 8px 20px rgba(15,118,110,.15);

    background:#f8fafc;

}

.tkts-avatar img{
    width:72px;
    height:72px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid #fff;
    box-shadow:0 4px 14px rgba(15,23,42,.10);
}


/* =========================================================
   AUTHOR
========================================================= */

.tkts-author{

    flex:1;

    min-width:0;

}

.tkts-name{

    margin:0;

    font-size:18px;

    font-weight:700;

    color:#0f172a;

    line-height:1.4;

}

.tkts-position{

    margin:6px 0 0;

    font-size:15px;

    color:#0f766e;

    font-weight:600;

    line-height:1.5;

}

.tkts-company{

    margin:4px 0 0;

    font-size:14px;

    color:#64748b;

    line-height:1.6;

}


/* =========================================================
   CARD EFFECT
========================================================= */

.tkts-card{

    position:relative;

    overflow:hidden;

}

.tkts-card::before{

    content:"“";
    
    top:18px;
    left:24px;
    font-size:68px;
    line-height:1;
    color:#E2E8F0;
    font-family:Georgia, serif;
    z-index:0;
    position:absolute;
    inset:0;
    background:linear-gradient(
        135deg,
        rgba(15,118,110,.05),
        transparent 40%
    );

    opacity:0;

    transition:opacity .35s ease;

    pointer-events:none;

}

.tkts-card:hover::before{

    opacity:1;

}

.tkts-card::after{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:5px;

    height:0;

    background:#0f766e;

    transition:height .35s ease;

}

.tkts-card:hover::after{

    height:100%;

}


/* =========================================================
   PAGINATION
========================================================= */

.tkts-pagination{

    position:relative;

    margin-top:34px;

    text-align:center;

}

.tkts-pagination .swiper-pagination-bullet{

    width:10px;

    height:10px;

    background:#cbd5e1;

    opacity:1;

    margin:0 6px !important;

    transition:all .3s ease;

}

.tkts-pagination .swiper-pagination-bullet-active{

    width:30px;

    border-radius:999px;

    background:#0f766e;

}


/* =========================================================
   OPTIONAL NAVIGATION
========================================================= */

.tkts-slider .swiper-button-prev,
.tkts-slider .swiper-button-next{

    width:52px;

    height:52px;

    border-radius:50%;

    background:#ffffff;

    border:1px solid #e2e8f0;

    box-shadow:0 10px 25px rgba(15,23,42,.08);

    transition:all .3s ease;

}

.tkts-slider .swiper-button-prev:hover,
.tkts-slider .swiper-button-next:hover{

    background:#0f766e;

    border-color:#0f766e;

}

.tkts-slider .swiper-button-prev::after,
.tkts-slider .swiper-button-next::after{

    font-size:18px;

    font-weight:700;

    color:#0f172a;

    transition:color .3s ease;

}

.tkts-slider .swiper-button-prev:hover::after,
.tkts-slider .swiper-button-next:hover::after{

    color:#ffffff;

}


/* =========================================================
   SLIDE ANIMATION
========================================================= */

.tkts-slider .swiper-slide{
    opacity:1;
    transition:transform .35s ease;
}

/* =========================================================
   ACCESSIBILITY
========================================================= */

.tkts-card:focus-within{

    outline:3px solid rgba(15,118,110,.25);

    outline-offset:4px;

}

.tkts-slider img{

    user-select:none;

    -webkit-user-drag:none;

}
/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1400px){

    .tkts .container{
        max-width:1280px;
    }

    .tkts-heading{
        font-size:44px;
    }

    .tkts-subheading{
        font-size:19px;
    }

    .tkts-card{
        padding:40px;
    }

}


/* =========================================================
   DESKTOP
========================================================= */

@media (max-width:1199px){

    .tkts{
        padding:90px 0;
    }

    .tkts-header{
        margin-bottom:60px;
    }

    .tkts-heading{
        font-size:34px;
    }

    .tkts-stat-number{
        font-size:36px;
    }

    .tkts-card{
        padding:30px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:991px){

    .tkts{

        padding:70px 0;

    }

    .tkts-header{

        margin-bottom:45px;

    }

    .tkts-heading{

        font-size:32px;

    }

    .tkts-subheading{

        font-size:17px;

    }

    .tkts-stats{

        grid-template-columns:repeat(3,1fr);

        gap:20px;

        margin-bottom:50px;

    }

    .tkts-stat{

        padding:24px 15px;

    }

    .tkts-stat-number{

        font-size:32px;

    }

    .tkts-stat-label{

        font-size:15px;

    }

    .tkts-card{

        padding:28px;

    }

    .tkts-quote{

        font-size:16px;

    }

    .tkts-avatar{

        width:60px;
        height:60px;
        flex-basis:60px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767px){

    .tkts{

        padding:60px 0;

    }

    .tkts-header{

        margin-bottom:35px;

    }

    .tkts-heading{

        font-size:28px;

        line-height:1.4;

    }

    .tkts-subheading{

        margin-top:15px;

        font-size:16px;

        line-height:1.7;

    }

    .tkts-stats{

        grid-template-columns:1fr;

        gap:15px;

        margin-bottom:35px;

    }

    .tkts-stat{

        padding:20px;

    }

    .tkts-stat-number{

        font-size:30px;

    }

    .tkts-card{

        padding:24px;

        border-radius:20px;

    }

    .tkts-rating{

        margin-bottom:20px;

    }

    .tkts-rating svg{

        width:18px;

        height:18px;

    }

    .tkts-quote{

        font-size:15px;

        line-height:1.8;

        margin-bottom:24px;

    }

    .tkts-quote::before{

        font-size:48px;

        top:-18px;

    }

    .tkts-footer{

        gap:15px;

        padding-top:20px;

    }

    .tkts-avatar{

        width:56px;

        height:56px;

        flex-basis:56px;

    }

    .tkts-name{

        font-size:17px;

    }

    .tkts-position{

        font-size:14px;

    }

    .tkts-company{

        font-size:13px;

    }

    .tkts-pagination{

        margin-top:30px;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:480px){

    .tkts{

        padding:50px 0;

    }

    .tkts-heading{

        font-size:24px;

    }

    .tkts-subheading{

        font-size:15px;

    }

    .tkts-card{

        padding:20px;

    }

    .tkts-stat{

        border-radius:16px;

    }

    .tkts-stat-number{

        font-size:28px;

    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce){

    .tkts *{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}