

/* =========================================================
   KANGDE — WHAT WE MAKE / PRODUCTS
   WIDTH + RESPONSIVE SYSTEM
   ========================================================= */


/* =========================================================
   SECTION
   ========================================================= */

#kd-products-section {

    width: 100%;
    max-width: 100%;

    padding:
        65px 20px
        70px;

    background:
        #F7F8FA;

    box-sizing:
        border-box;

    overflow:
        hidden;
}


/* =========================================================
   CONTAINER

   IMPORTANT:
   Same desktop width as other homepage sections:
   MAX = 1320px
   ========================================================= */

#kd-products-section .kd-products-container {

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

    margin:
        0 auto;

    box-sizing:
        border-box;
}


/* =========================================================
   SECTION HEADER
   ========================================================= */

#kd-products-section .kd-products-header {

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

    margin:
        0 auto 55px;

    text-align:
        center;

    box-sizing:
        border-box;
}


/* =========================================================
   EYEBROW
   ========================================================= */

#kd-products-section .kd-products-eyebrow {

    margin:
        0 0 15px;

    color:
        #159A9C;

    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        13px;

    line-height:
        1.4;

    font-weight:
        700;

    letter-spacing:
        2px;

    text-transform:
        uppercase;
}


/* =========================================================
   TITLE
   ========================================================= */

#kd-products-section .kd-products-title {

    width:
        100%;

    max-width:
        100%;

    margin:
        0 0 18px;

    color:
        #14213D;

    font-family:
        Manrope,
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        46px;

    line-height:
        1.15;

    font-weight:
        700;

    letter-spacing:
        -1px;

    overflow-wrap:
        break-word;

    box-sizing:
        border-box;
}


/* =========================================================
   SUBTITLE
   ========================================================= */

#kd-products-section .kd-products-subtitle {

    width:
        100%;

    max-width:
        760px;

    margin:
        0 auto;

    color:
        #69757E;

    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        18px;

    line-height:
        1.7;

    overflow-wrap:
        break-word;
}


/* =========================================================
   CATEGORY GRID
   DESKTOP = 4 COLUMNS
   ========================================================= */

#kd-products-section .kd-category-grid {

    width:
        100%;

    max-width:
        100%;

    display:
        grid;

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

    gap:
        20px;

    min-width:
        0;

    box-sizing:
        border-box;
}


/* =========================================================
   CARD
   ========================================================= */

#kd-products-section .kd-category-card {

    width:
        100%;

    max-width:
        100%;

    min-width:
        0;

    display:
        flex;

    flex-direction:
        column;

    background:
        #FFFFFF;

    border:
        1px solid #E1E6EA;

    border-radius:
        10px;

    overflow:
        hidden;

    box-sizing:
        border-box;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


#kd-products-section .kd-category-card:hover {

    transform:
        translateY(-5px);

    border-color:
        rgba(21,154,156,.28);

    box-shadow:
        0 14px 34px rgba(20,33,61,.09);
}


/* =========================================================
   IMAGE
   ========================================================= */

#kd-products-section .kd-category-image {

    width:
        100%;

    max-width:
        100%;

    aspect-ratio:
        1 / 0.92;

    overflow:
        hidden;

    background:
        #F0F3F5;

    box-sizing:
        border-box;
}


#kd-products-section .kd-category-image img {

    display:
        block;

    width:
        100%;

    max-width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform .45s ease;

    box-sizing:
        border-box;
}


#kd-products-section .kd-category-card:hover
.kd-category-image img {

    transform:
        scale(1.04);
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

#kd-products-section .kd-category-content {

    width:
        100%;

    max-width:
        100%;

    min-width:
        0;

    display:
        flex;

    flex-direction:
        column;

    flex:
        1;

    padding:
        26px 22px 28px;

    box-sizing:
        border-box;
}


/* =========================================================
   CATEGORY NUMBER
   ========================================================= */

#kd-products-section .kd-category-number {

    margin:
        0 0 10px;

    color:
        #159A9C;

    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        11px;

    font-weight:
        800;

    line-height:
        1.4;

    letter-spacing:
        1.3px;

    text-transform:
        uppercase;
}


/* =========================================================
   CATEGORY TITLE
   ========================================================= */

#kd-products-section .kd-category-title {

    width:
        100%;

    max-width:
        100%;

    margin:
        0 0 12px;

    color:
        #14213D;

    font-family:
        Manrope,
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        22px;

    line-height:
        1.28;

    font-weight:
        700;

    letter-spacing:
        -.2px;

    overflow-wrap:
        break-word;

    box-sizing:
        border-box;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

#kd-products-section .kd-category-description {

    width:
        100%;

    max-width:
        100%;

    margin:
        0 0 16px;

    color:
        #69757E;

    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        13.5px;

    line-height:
        1.65;

    overflow-wrap:
        break-word;
}


/* =========================================================
   TAGS
   ========================================================= */

#kd-products-section .kd-category-tags {

    width:
        100%;

    max-width:
        100%;

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        6px;

    margin:
        0 0 21px;

    box-sizing:
        border-box;
}


#kd-products-section .kd-category-tags span {

    display:
        inline-flex;

    align-items:
        center;

    max-width:
        100%;

    min-height:
        25px;

    padding:
        0 8px;

    background:
        #EAF4F4;

    color:
        #14213D;

    border-radius:
        4px;

    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        10px;

    line-height:
        1;

    font-weight:
        700;

    white-space:
        normal;

    overflow-wrap:
        break-word;

    box-sizing:
        border-box;
}


/* =========================================================
   LINK
   ========================================================= */

#kd-products-section .kd-category-link {

    display:
        inline-flex;

    align-items:
        center;

    align-self:
        flex-start;

    max-width:
        100%;

    margin-top:
        auto;

    color:
        #14213D;

    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        13px;

    line-height:
        1.4;

    font-weight:
        800;

    text-decoration:
        none;

    white-space:
        normal;

    overflow-wrap:
        anywhere;

    box-sizing:
        border-box;

    transition:
        color .2s ease;
}


#kd-products-section .kd-category-link:hover {

    color:
        #159A9C;
}


#kd-products-section .kd-category-link-arrow {

    margin-left:
        8px;

    font-size:
        17px;

    line-height:
        1;

    flex:
        0 0 auto;

    transition:
        transform .2s ease;
}


#kd-products-section .kd-category-link:hover
.kd-category-link-arrow {

    transform:
        translateX(4px);
}


/* =========================================================
   BOTTOM CTA
   ========================================================= */

#kd-products-section .kd-products-bottom {

    width:
        100%;

    margin-top:
        45px;

    text-align:
        center;

    box-sizing:
        border-box;
}


#kd-products-section .kd-products-bottom-text {

    width:
        100%;

    max-width:
        700px;

    margin:
        0 auto 20px;

    color:
        #69757E;

    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        15px;

    line-height:
        1.6;

    overflow-wrap:
        break-word;
}


#kd-products-section .kd-products-button {

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        auto;

    max-width:
        100%;

    min-width:
        0;

    min-height:
        50px;

    padding:
        0 25px;

    background:
        #14213D;

    color:
        #FFFFFF;

    border:
        1px solid #14213D;

    border-radius:
        5px;

    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        13px;

    line-height:
        1.3;

    font-weight:
        700;

    text-decoration:
        none;

    text-align:
        center;

    white-space:
        normal;

    overflow-wrap:
        anywhere;

    box-sizing:
        border-box;

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


#kd-products-section .kd-products-button:hover {

    background:
        #0B1528;

    border-color:
        #0B1528;

    color:
        #FFFFFF;

    transform:
        translateY(-2px);
}


#kd-products-section .kd-products-button-arrow {

    margin-left:
        9px;

    font-size:
        17px;

    line-height:
        1;
}


/* =========================================================
   TABLET
   MAX 1050px
   ========================================================= */

@media (max-width: 1050px) {

    #kd-products-section {

        padding:
            70px 20px 75px;
    }


    /* Same tablet width as other sections */

    #kd-products-section .kd-products-container {

        width:
            100%;

        max-width:
            900px;
    }


    #kd-products-section .kd-category-grid {

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

        gap:
            18px;
    }


    #kd-products-section .kd-category-image {

        aspect-ratio:
            16 / 11;
    }

}


/* =========================================================
   MOBILE
   MAX 640px
   ========================================================= */

@media (max-width: 640px) {

    #kd-products-section {

        padding:
            50px 16px 55px;
    }


    #kd-products-section .kd-products-container {

        width:
            100%;

        max-width:
            100%;
    }


    #kd-products-section .kd-products-header {

        margin-bottom:
            38px;
    }


    #kd-products-section .kd-products-eyebrow {

        margin-bottom:
            13px;

        font-size:
            11px;

        letter-spacing:
            1.7px;
    }


    #kd-products-section .kd-products-title {

        margin-bottom:
            14px;

        font-size:
            33px;

        line-height:
            1.18;

        letter-spacing:
            -.5px;
    }


    #kd-products-section .kd-products-subtitle {

        font-size:
            15px;

        line-height:
            1.7;
    }


    /* One column */

    #kd-products-section .kd-category-grid {

        grid-template-columns:
            minmax(0,1fr);

        gap:
            16px;

        width:
            100%;

        max-width:
            100%;
    }


    #kd-products-section .kd-category-card {

        width:
            100%;

        max-width:
            100%;

        min-width:
            0;
    }


    #kd-products-section .kd-category-image {

        width:
            100%;

        max-width:
            100%;

        aspect-ratio:
            16 / 10;
    }


    #kd-products-section .kd-category-content {

        width:
            100%;

        max-width:
            100%;

        padding:
            27px 22px 29px;
    }


    #kd-products-section .kd-category-title {

        font-size:
            23px;
    }


    #kd-products-section .kd-category-description {

        font-size:
            14px;

        line-height:
            1.7;
    }


    #kd-products-section .kd-category-link {

        font-size:
            13px;

        max-width:
            100%;
    }


    #kd-products-section .kd-products-bottom {

        margin-top:
            38px;
    }


    #kd-products-section .kd-products-bottom-text {

        font-size:
            14px;
    }


    #kd-products-section .kd-products-button {

        display:
            flex;

        width:
            100%;

        max-width:
            100%;

        min-width:
            0;

        min-height:
            50px;

        padding:
            0 16px;

        white-space:
            normal;

        overflow-wrap:
            anywhere;
    }

}


/* =========================================================
   SMALL MOBILE
   MAX 380px
   ========================================================= */

@media (max-width: 380px) {

    #kd-products-section .kd-category-content {

        padding:
            25px 20px 27px;
    }


    #kd-products-section .kd-category-title {

        font-size:
            21px;
    }


    #kd-products-section .kd-category-tags span {

        font-size:
            9px;
    }

}

