/*======================================================

            PRODUCT CATEGORY

======================================================*/

.product-category-section{

    position:relative;

    padding:120px 0;

    background:#f5f5f7;

    overflow:hidden;

}

.product-category-section::before{

    content:"";

    position:absolute;

    top:-220px;

    right:-220px;

    width:520px;

    height:520px;

    border-radius:50%;

    background:radial-gradient(circle,
    rgba(255,255,255,.95) 0%,
    rgba(255,255,255,0) 70%);

    pointer-events:none;

}

.product-category-section::after{

    content:"";

    position:absolute;

    left:-180px;

    bottom:-180px;

    width:420px;

    height:420px;

    border-radius:50%;

    background:radial-gradient(circle,
    rgba(255,255,255,.7) 0%,
    rgba(255,255,255,0) 70%);

    pointer-events:none;

}

.product-category-section .container-custom{

    position:relative;

    z-index:2;

}

/*======================================================
                    HEADING
======================================================*/

.category-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.category-header .section-subtitle{

    display:inline-block;

    margin-bottom:18px;

    color:#8e8e93;

    font-size:14px;

    font-weight:700;

    letter-spacing:5px;

    text-transform:uppercase;

}

.category-header h2{

    margin-bottom:24px;

    font-size:64px;

    font-weight:700;

    line-height:1.08;

    color:#111;

    letter-spacing:-2px;

}

.category-header p{

    max-width:660px;

    margin:auto;

    color:#6e6e73;

    font-size:20px;

    line-height:1.9;

}

/*======================================================
                CATEGORY BUTTONS
======================================================*/

.category-buttons{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:80px;

}

.category-btn{

    position:relative;

    display:inline-flex;

    justify-content:center;

    align-items:center;

    min-width:120px;

    height:56px;

    padding:0 32px;

    border:none;

    border-radius:999px;

    background:#ffffff;

    color:#111;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:all .35s ease;

    box-shadow:

    0 10px 30px rgba(0,0,0,.05);

}

.category-btn:hover{

    transform:translateY(-4px);

    background:#111;

    color:#fff;

    box-shadow:

    0 20px 45px rgba(0,0,0,.12);

}

.category-btn.active{

    background:#111;

    color:#fff;

    box-shadow:

    0 18px 40px rgba(0,0,0,.16);

}

/*======================================================

                PRODUCT GRID

======================================================*/

.category-grid{

    display:grid;

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

    gap:35px;

}

/*======================================================

                PRODUCT CARD

======================================================*/

.category-card{

    position:relative;

    display:flex;

    flex-direction:column;

    background:#fff;

    border-radius:32px;

    overflow:hidden;

    transition:all .45s ease;

    box-shadow:

    0 15px 40px rgba(0,0,0,.06);

}

.category-card:hover{

    transform:translateY(-12px);

    box-shadow:

    0 30px 70px rgba(0,0,0,.12);

}

/* Reflection */

.category-card::before{

    content:"";

    position:absolute;

    top:-150%;

    left:-60%;

    width:70%;

    height:320%;

    background:linear-gradient(

        rgba(255,255,255,0),

        rgba(255,255,255,.45),

        rgba(255,255,255,0)

    );

    transform:rotate(25deg);

    transition:1s;

    pointer-events:none;

}

.category-card:hover::before{

    left:170%;

}

/*======================================================

                IMAGE AREA

======================================================*/

.category-image{

    height:300px;

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

    background:linear-gradient(

        180deg,

        #fafafa,

        #f4f4f4

    );

}

.category-image img{

    width:72%;

    max-height:240px;

    object-fit:contain;

    transition:transform .5s ease;

}

.category-card:hover .category-image img{

    transform:

    scale(1.08)

    rotate(-2deg);

}

/*======================================================

                CONTENT

======================================================*/

.category-content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:34px;

}

.category-content span{

    display:inline-block;

    margin-bottom:16px;

    color:#8e8e93;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.category-content h3{

    margin-bottom:18px;

    color:#111;

    font-size:30px;

    font-weight:700;

    line-height:1.2;

    letter-spacing:-.5px;

}

.category-content p{

    flex:1;

    margin-bottom:25px;

    color:#6e6e73;

    font-size:16px;

    line-height:1.8;

}

/*======================================================

                LINK BUTTON

======================================================*/

.category-content a{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:#111;

    font-weight:600;

    transition:.35s;

}

.category-content a i{

    transition:.35s;

}

.category-content a:hover{

    color:#000;

}

.category-content a:hover i{

    transform:translateX(6px);

}
/*======================================================

                RESPONSIVE

======================================================*/

/*=========================
        Laptop
=========================*/

@media (max-width:1200px){

    .product-category-section{

        padding:100px 0;

    }

    .category-header h2{

        font-size:54px;

    }

    .category-header p{

        font-size:18px;

    }

    .category-grid{

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

        gap:30px;

    }

}

/*=========================
        Tablet
=========================*/

@media (max-width:991px){

    .product-category-section{

        padding:90px 0;

    }

    .category-header{

        margin-bottom:55px;

    }

    .category-header h2{

        font-size:46px;

    }

    .category-header p{

        font-size:17px;

        line-height:1.8;

    }

    .category-buttons{

        gap:14px;

        margin-bottom:55px;

    }

    .category-btn{

        min-width:110px;

        height:50px;

        padding:0 24px;

        font-size:15px;

    }

    .category-grid{

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

        gap:25px;

    }

    .category-image{

        height:250px;

    }

    .category-image img{

        width:70%;

    }

    .category-content{

        padding:28px;

    }

    .category-content h3{

        font-size:26px;

    }

}

/*=========================
        Mobile
=========================*/

@media (max-width:767px){

    .product-category-section{

        padding:70px 0;

    }

    .category-header{

        margin-bottom:40px;

        padding:0 15px;

    }

    .category-header h2{

        font-size:34px;

        line-height:1.2;

    }

    .category-header p{

        font-size:16px;

    }

    /* Apple Style Scroll Buttons */

    .category-buttons{

        display:flex;

        flex-wrap:nowrap;

        justify-content:flex-start;

        align-items:center;

        gap:12px;

        overflow-x:auto;

        overflow-y:hidden;

        margin-bottom:40px;

        padding:0 15px 10px;

        -webkit-overflow-scrolling:touch;

        scrollbar-width:none;

    }

    .category-buttons::-webkit-scrollbar{

        display:none;

    }

    .category-btn{

        flex:0 0 auto;

        min-width:max-content;

        height:46px;

        padding:0 22px;

        white-space:nowrap;

        font-size:14px;

    }

    .category-grid{

        grid-template-columns:1fr;

        gap:24px;

    }

    .category-card{

        border-radius:24px;

    }

    .category-image{

        height:220px;

    }

    .category-image img{

        width:68%;

        max-height:180px;

    }

    .category-content{

        padding:24px;

    }

    .category-content h3{

        font-size:24px;

    }

    .category-content p{

        font-size:15px;

    }

}

/*=========================
        Small Mobile
=========================*/

@media (max-width:480px){

    .product-category-section{

        padding:60px 0;

    }

    .category-header{

        padding:0 10px;

    }

    .category-header .section-subtitle{

        font-size:12px;

        letter-spacing:3px;

    }

    .category-header h2{

        font-size:30px;

    }

    .category-header p{

        font-size:15px;

    }

    .category-buttons{

        padding:0 10px 8px;

        gap:10px;

    }

    .category-btn{

        height:42px;

        padding:0 18px;

        font-size:13px;

    }

    .category-image{

        height:200px;

    }

    .category-image img{

        width:65%;

    }

    .category-content{

        padding:20px;

    }

    .category-content h3{

        font-size:22px;

    }

}