/* ======================================================
   FAMILY PRODUCTS
====================================================== */

.ksco-family-products{
    width:100%;
    max-width:1320px;
    margin:90px auto;
}


/* Title */

.ksco-family-products__title{
    text-align:center;
    margin-bottom:60px;
}

.ksco-family-products__title h2{
    color:#24395A;
    font-size:38px;
    font-weight:700;
    margin:0 0 12px;
}

.ksco-family-products__title p{
    color:#6b7280;
    font-size:17px;
}


/* Grid
   Desktop: up to 4 elegant cards per row.
   Flexbox keeps incomplete rows centered automatically. */

.ksco-family-grid{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    align-items:stretch;

    gap:24px;

    width:100%;

}


/* Card */

.ksco-family-card{

    flex:0 1 calc((100% - 72px) / 4);

    width:calc((100% - 72px) / 4);

    max-width:312px;

    min-width:0;

    background:#fff;

    border:1px solid #e7edf5;

    border-radius:18px;

    overflow:hidden;

    display:flex;

    flex-direction:column;

    height:auto;

    transition:.35s ease;

}

.ksco-family-card:hover{

    transform:translateY(-10px);

    border-color:#123B73;

    box-shadow:0 18px 45px rgba(16,38,74,.12);

}


/* Image */

.ksco-family-card__image{

    display:flex;

    align-items:center;

    justify-content:center;

    height:150px;

    padding:12px;

}

.ksco-family-card__image img{

    max-width:90%;

    max-height:112px;

    object-fit:contain;

    transition:.35s ease;

}

.ksco-family-card:hover .ksco-family-card__image img{

    transform:scale(1.06);

}


/* Content */

.ksco-family-card__content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:16px;

}


.ksco-family-card__title{

    margin:0 0 16px;

}

.ksco-family-card__title a{

    color:#24395A;

    font-size:22px;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

.ksco-family-card:hover .ksco-family-card__title a{

    color:#123B73;

}


.ksco-family-card__description{

    color:#616b79;

    font-size:14px;

    line-height:1.9;

    min-height:82px;

}


/* Button */

.ksco-family-card__link{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    width:100%;

    height:38px;

    margin-top:auto;

    background:#24395A;

    color:#fff;

    border-radius:10px;

    font-size:13px;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

.ksco-family-card__link i{

    margin:0;

    transition:.3s;

}

/* RTL */

html[dir="rtl"] .ksco-family-card__link{

    flex-direction:row;

}

html[dir="rtl"] .ksco-family-card__link:hover i{

    transform:translateX(-5px);

}

/* LTR */

html[dir="ltr"] .ksco-family-card__link{

    flex-direction:row;

}

html[dir="ltr"] .ksco-family-card__link:hover i{

    transform:translateX(5px);

}

.ksco-family-card__link:hover{

    background:#123B73;

    color:#fff;

}


/* Responsive product cards */

@media(max-width:1199px){

    .ksco-family-card{
        flex-basis:calc((100% - 48px) / 3);
        width:calc((100% - 48px) / 3);
        max-width:360px;
    }

}

@media(max-width:991px){

    .ksco-family-grid{
        gap:20px;
    }

    .ksco-family-card{
        flex-basis:calc((100% - 20px) / 2);
        width:calc((100% - 20px) / 2);
        max-width:420px;
    }

}

@media(max-width:640px){

    .ksco-family-grid{
        gap:18px;
    }

    .ksco-family-card{
        flex-basis:100%;
        width:100%;
        max-width:420px;
    }

    .ksco-family-card__image{
        height:145px;
    }

}

/* ==========================================================
   KSCO Family Intro
========================================================== */

.ksco-family-intro{
  padding:40px 0 25px;
}

.ksco-family-intro__content{

    max-width:1280px;
    margin:0 auto;

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

    gap:60px;

}

.rtl .ksco-family-intro__content{
    flex-direction:row-reverse;
}

.ksco-family-intro__text{

    flex:0 0 52%;
    max-width:600px;

}

.ksco-family-intro__text h2{
    margin:0 0 18px;
    font-size:40px;
    font-weight:700;
    line-height:1.3;
    color:#123B73;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}

.ksco-family-intro__text p{
    margin:0;
    line-height:2;
    color:#5b6470;
    font-size:16px;
    max-width:620px;
}

.ksco-family-intro__image{

    flex:0 0 39%;

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

    width:100%;
    max-width:500px;

    min-height:260px;

    margin-right:auto;

    background:#f8fafc;

    border:1px solid #e5e7eb;

    border-radius:18px;

    padding:14px;

}

.ksco-family-intro__image img{

    max-width:100%;

    max-height:240px;

    width:auto;

    height:auto;

    object-fit:contain;

}

/* ==========================================================
   Family Features
========================================================== */

.ksco-family-features{

    max-width:1060px;

    margin:35px auto 0;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;

}

.ksco-feature{

    background:#fff;

    border:1px solid #e8edf4;

    border-radius:16px;

    padding:24px 18px;

    transition:.35s ease;

    box-shadow:0 6px 18px rgba(16,38,74,.05);

}

.ksco-feature:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 45px rgba(16,38,74,.12);
    border-color:#123B73;
}

.ksco-feature__icon{
    width:52px;
    height:52px;
    margin:0 auto 14px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    color:#123B73;
    background:#eef4fb;
    transition:.35s;
}

.ksco-feature h4{
    margin:0 0 12px;
    font-size:16px;
    font-weight:700;
    color:#123B73;
        text-align:center;
}

.ksco-feature p{
    margin:0;
    font-size:13px;
    line-height:2;
    color:#666;
    text-align:center;
}

@media (max-width:991px){

    .ksco-family-features{
        grid-template-columns:repeat(2,1fr);
    }

}

@media (max-width:640px){

    .ksco-family-features{
        grid-template-columns:1fr;
    }

}
.ksco-feature:hover .ksco-feature__icon{
    background:#123B73;
    color:#fff;
    transform:rotate(8deg) scale(1.08);
}

/* ==========================================
   Family Intro Title
========================================== */

.ksco-family-intro__text h2,
.ksco-family-intro__text h2.fusion-responsive-typography-calculated{

    all:unset;

    display:block;

    font-family:inherit;
    font-size:38px;
    font-weight:600;
    line-height:1.3;
    color:#123B73;

    margin:0 0 18px;

    text-align:right;
}

.rtl .ksco-family-intro__text h2{
    text-align:right;
}

.ltr .ksco-family-intro__text h2{
    text-align:left;
}



/* ==========================================================
   Family Applications
========================================================== */

.ksco-family-applications{

    max-width:1320px;

    margin:90px auto;

}

.ksco-family-section-title{

    text-align:center;

    margin-bottom:50px;

}

.ksco-family-section-title h2{

    color:#123B73;

    font-size:34px;

    font-weight:700;

    margin-bottom:12px;

}

.ksco-family-section-title p{

    color:#6b7280;

    font-size:16px;

}

.ksco-family-applications__grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.ksco-application{

    background:#fff;

    border:1px solid #e7edf5;

    border-radius:18px;

    padding:35px 25px;

    text-align:center;

    transition:.35s;

}

.ksco-application:hover{

    transform:translateY(-8px);

    border-color:#123B73;

    box-shadow:0 18px 45px rgba(16,38,74,.12);

}

.ksco-application__icon{

    width:70px;

    height:70px;

    margin:0 auto 20px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#eef4fb;

    color:#123B73;

    font-size:28px;

    transition:.35s;

}

.ksco-application:hover .ksco-application__icon{

    background:#123B73;

    color:#fff;

}

.ksco-application h3{

    margin:0 0 12px;

    font-size:20px;

    font-weight:700;

    color:#123B73;

}

.ksco-application p{

    margin:0;

    color:#666;

    font-size:14px;

    line-height:2;

}

@media(max-width:991px){

    .ksco-family-applications__grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:640px){

    .ksco-family-applications__grid{

        grid-template-columns:1fr;

    }

}



/* ==========================================
   Card Header
========================================== */

.ksco-family-card__header{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    margin-bottom:18px;

}

.ksco-family-card__brand{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:4px 12px;

    border-radius:30px;

    background:#eef4fb;

    border:1px solid rgba(18,59,115,.15);

    color:#123B73;

    font-size:11px;

    font-weight:700;

    line-height:1;

}

.ksco-family-card__title{

    margin:0;

}

.ksco-family-card__title a{

    font-size:22px;

    font-weight:700;

    color:#123B73;

    text-decoration:none;

}