/* ==================================
   Archive Pages
   Shop / Category / Author / Publisher
================================== */


/* Container */

.custom-product-container {

    width:100%;

    max-width:100%;

    overflow-x:hidden;

}


/* WooCommerce Default Grid */

ul.products {

    display:grid;

    grid-template-columns:repeat(5,minmax(0,1fr));

    gap:43px 16px;

    list-style:none;

    padding:0;

    margin:0;

    width:100%;

    max-width:100%;

    align-items:stretch;

}


ul.products li.product {

    list-style:none;

}


/* Custom Archive Grid */

.products-grid {

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:24px;

}


/* Empty */

.out-of-stock {

    width:100%;

    text-align:center;

    font-size:14px;

    color:#888;

}


/* Slider Layout */

.products-slider {

    display:flex;

    gap:16px;

    overflow-x:auto;

}



/* Responsive */

@media(max-width:992px){

    ul.products {

        grid-template-columns:repeat(3,1fr);

    }

}



@media(max-width:768px){


    ul.products {

        grid-template-columns:repeat(2,minmax(0,1fr));

        display:grid;

    }


    ul.products li.product {

        width:100%;

        margin:0;

    }


    .products-grid {

        grid-template-columns:repeat(2,1fr);

    }

}

/* ==================================
   Profile Archive
   Author / Translator Profile
================================== */


/* Main */

.profile-page {
    padding:40px 0 70px;
}


/* Hero */

.profile-hero {
    display:flex;
    gap:40px;
    align-items:center;
    padding:35px;
    margin:30px 0 45px;
    background:#fff;
    border:1px solid #ececec;
    border-radius:18px;
    box-shadow:0 8px 30px rgba(0,0,0,.04);
}


.profile-hero-image {
    flex-shrink:0;
}


.profile-hero-image img {

    width:180px;

    height:180px;

    border-radius:50%;

    object-fit:cover;

    border:6px solid #f5f5f5;

    display:block;

}


.profile-hero-content {
    flex:1;
}


.profile-hero h1 {

    margin:0;

    font-size:34px;

    font-weight:700;

    line-height:1.4;

}


.profile-hero p {

    margin-top:15px;

    color:#666;

    line-height:2;

}


/* Profile Content */

.profile-content {

    margin-top:55px;

}


.profile-description {

    background:#fff;

    border:1px solid #eee;

    border-radius:16px;

    padding:30px;

    line-height:2.2;

    color:#444;

}


.profile-description p:last-child {

    margin-bottom:0;

}


/* Responsive */

@media(max-width:768px){

    .profile-hero {

        flex-direction:column;

        text-align:center;

        padding:25px;

        gap:25px;

    }


    .profile-hero-image img {

        width:140px;

        height:140px;

    }


    .profile-hero h1 {

        font-size:28px;

    }


    .profile-description {

        padding:22px;

    }

}

/* ==================================
   Archive Pagination
================================== */

.archive-pagination {

    margin-top:50px;

    display:flex;

    justify-content:center;

    align-items:center;

}


.archive-pagination .page-numbers {

    display:flex;

    align-items:center;

    justify-content:center;

    min-width:42px;

    height:42px;

    padding:0 12px;

    margin:0 5px;

    border-radius:12px;

    background:#fff;

    border:1px solid #e8e8e8;

    color:#444;

    text-decoration:none;

    font-size:14px;

    font-weight:600;

    transition:all .25s ease;

}


/* Hover */

.archive-pagination a.page-numbers:hover {

    background:#ff4d4f;

    color:#fff;

    border-color:#ff4d4f;

}


/* Current Page */

.archive-pagination .current {

    background:#ff4d4f;

    color:#fff;

    border-color:#ff4d4f;

}


/* Previous / Next */

.archive-pagination .prev,
.archive-pagination .next {

    padding:0 18px;

}


/* Dots */

.archive-pagination .dots {

    background:transparent;

    border:none;

}


/* Mobile */

@media(max-width:768px){

    .archive-pagination {

        margin-top:35px;

        flex-wrap:wrap;

    }


    .archive-pagination .page-numbers {

        min-width:36px;

        height:36px;

        font-size:13px;

        margin:3px;

    }

}
