/*====================================================
BOOKS PAGE
PART-1
Hero Section
====================================================*/


/*====================================================
HERO
====================================================*/

.books-hero{

    position:relative;

    overflow:hidden;

}


/*----------------------------------
Breadcrumb
-----------------------------------*/

.books-hero .breadcrumb{

    font-size:15px;

}

.books-hero .breadcrumb-item a{

    color:var(--body);

    font-weight:500;

}

.books-hero .breadcrumb-item.active{

    color:var(--primary-dark);

    font-weight:700;

}


/*----------------------------------
Content
-----------------------------------*/

.books-hero .section-title{

    max-width:650px;

}

.books-hero .section-description{

    max-width:620px;

    margin:0;

}


/*----------------------------------
Buttons
-----------------------------------*/

.books-hero .btn-primary-custom,

.books-hero .btn-outline-custom{

    min-width:220px;

}


/*====================================================
HERO IMAGE
====================================================*/

.books-hero-image{

    position:relative;

    overflow:hidden;

    background:#ffffff;

    padding:0px;

    border-radius:var(--radius-xl);

    box-shadow:var(--shadow-lg);

}

.books-hero-image::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(

        135deg,

        rgba(255,140,0,.05),

        transparent,

        rgba(255,94,98,.05)

    );

    pointer-events:none;

}

.books-hero-image img{

    position:relative;

    z-index:2;

    transition:.55s ease;

}

.books-hero-image:hover img{

    transform:translateY(-10px) scale(1.03);

}


/*====================================================
HERO STATS
====================================================*/

.books-hero-stats{

    display:flex;

    gap:22px;

    flex-wrap:wrap;

}

.hero-stat-card{

    flex:1;

    min-width:170px;

    padding:24px;

    border-radius:22px;

    background:#ffffff;

    border:1px solid var(--border);

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.hero-stat-card:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-lg);

}

.hero-stat-card h3{

    margin:0 0 8px;

    font-size:34px;

    font-weight:800;

    color:var(--primary-dark);

}

.hero-stat-card span{

    display:block;

    font-size:15px;

    color:var(--body);

    line-height:1.6;

}


/*====================================================
BACKGROUND DECORATION
====================================================*/

.books-hero::before{

    content:"";

    position:absolute;

    width:280px;

    height:280px;

    top:-140px;

    right:-140px;

    border-radius:50%;

    background:rgba(255,140,0,.05);

}

.books-hero::after{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    bottom:-110px;

    left:-110px;

    border-radius:50%;

    background:rgba(255,94,98,.05);

}


/*====================================================
ANIMATION
====================================================*/

.books-hero .section-badge{

    animation:fadeUp .45s ease both;

}

.books-hero .section-title{

    animation:fadeUp .65s ease both;

}

.books-hero .section-description{

    animation:fadeUp .85s ease both;

}

.books-hero .d-flex{

    animation:fadeUp 1s ease both;

}

.books-hero-stats{

    animation:fadeUp 1.15s ease both;

}

.books-hero-image{

    animation:zoomIn .8s ease both;

}


/*====================================================
RESPONSIVE
====================================================*/

@media(max-width:991px){

    .books-hero{

        text-align:center;

    }

    .books-hero .section-description{

        margin:auto;

    }

    .books-hero .d-flex{

        justify-content:center;

    }

    .books-hero-image{

        margin-top:45px;

    }

    .books-hero-stats{

        justify-content:center;

    }

}


@media(max-width:767px){

    .books-hero-image{

        padding:20px;

        border-radius:24px;

    }

    .books-hero .btn-primary-custom,

    .books-hero .btn-outline-custom{

        width:100%;

    }

    .books-hero .d-flex{

        flex-direction:column;

    }

    .hero-stat-card{

        min-width:100%;

    }

    .hero-stat-card h3{

        font-size:30px;

    }

}

/*====================================================
BOOKS PAGE
PART-2
Search + Filter
====================================================*/


/*====================================================
FILTER SECTION
====================================================*/

.books-filter-section{

    position:relative;

    margin-top:-60px;

    z-index:10;

}

.books-filter-card{

    border:none;

    border-radius:30px;

    background:#ffffff;

    box-shadow:0 20px 60px rgba(15,23,42,.08);

}


/*----------------------------------
Labels
-----------------------------------*/

.books-filter-card .form-label{

    margin-bottom:10px;

    font-size:14px;

    font-weight:700;

    color:var(--dark);

}


/*====================================================
SEARCH BOX
====================================================*/

.books-search-box{

    position:relative;

}

.books-search-box i{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:var(--primary);

    font-size:18px;

}

.books-search-box .form-control{

    height:58px;

    padding-left:50px;

    border-radius:16px;

    border:1px solid var(--border);

    background:#fff;

}

.books-search-box .form-control:focus{

    border-color:var(--primary);

}


/*====================================================
SELECT BOX
====================================================*/

.books-filter-card .form-select{

    height:58px;

    border-radius:16px;

    border:1px solid var(--border);

    cursor:pointer;

    transition:var(--transition);

}

.books-filter-card .form-select:focus{

    border-color:var(--primary);

}


/*====================================================
FILTER BUTTON
====================================================*/

.books-filter-card .btn-primary-custom{

    height:58px;

    border-radius:16px;

}


/*====================================================
FILTER FOOTER
====================================================*/

.books-filter-footer{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-top:35px;

    padding-top:25px;

    border-top:1px solid var(--border);

}


/*----------------------------------
Books Counter
-----------------------------------*/

.books-found{

    font-size:16px;

    color:var(--body);

}

.books-found strong{

    color:var(--primary-dark);

    font-size:22px;

    font-weight:800;

}


/*====================================================
GRID / LIST BUTTONS
====================================================*/

.books-view{

    display:flex;

    gap:10px;

}

.view-btn{

    width:48px;

    height:48px;

    border:none;

    border-radius:14px;

    background:#f8f9fb;

    color:var(--body);

    transition:var(--transition);

}

.view-btn:hover{

    background:var(--gradient-primary);

    color:#ffffff;

    transform:translateY(-3px);

}

.view-btn.active{

    background:var(--gradient-primary);

    color:#ffffff;

    box-shadow:var(--shadow-primary);

}


/*====================================================
RESPONSIVE
====================================================*/

@media(max-width:991px){

    .books-filter-section{

        margin-top:0;

    }

    .books-filter-footer{

        flex-direction:column;

        gap:20px;

    }

}


@media(max-width:767px){

    .books-filter-card{

        padding:24px;

        border-radius:22px;

    }

    .books-filter-footer{

        text-align:center;

    }

}

/*====================================================
BOOKS PAGE
PART-3
Premium Book Cards
====================================================*/


/*====================================================
BOOK GRID
====================================================*/

.books-grid-section{

    background:var(--gradient-light);

}


/*====================================================
BOOK CARD
====================================================*/

.book-card{

    position:relative;

    overflow:hidden;

    display:flex;

    flex-direction:column;

    height:100%;

    background:#ffffff;

    border:1px solid var(--border);

    border-radius:28px;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.book-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}


/*====================================================
BOOK COVER
====================================================*/

.book-cover{

    position:relative;

    overflow:hidden;

    background:#fff8f3;

    padding:24px;

    text-align:center;

}

.book-cover img{

    width:100%;

    aspect-ratio:2/3;

    object-fit:cover;

    border-radius:16px;

    transition:.45s ease;

    box-shadow:

    0 12px 35px rgba(0,0,0,.12);

}

.book-card:hover .book-cover img{

    transform:scale(1.06);

}


/*====================================================
BADGES
====================================================*/

.discount-badge{

    position:absolute;

    top:18px;

    left:18px;

    padding:7px 14px;

    border-radius:999px;

    background:#ef4444;

    color:#ffffff;

    font-size:12px;

    font-weight:700;

    box-shadow:0 8px 18px rgba(239,68,68,.28);

}

.category-badge{

    position:absolute;

    right:18px;

    top:18px;

    padding:7px 14px;

    border-radius:999px;

    background:#ffffff;

    color:var(--primary-dark);

    font-size:12px;

    font-weight:700;

    box-shadow:var(--shadow-sm);

}


/*====================================================
CONTENT
====================================================*/

.book-content{

    flex:1;

    padding:28px;

}

.book-content h3{

    margin-bottom:14px;

    font-size:22px;

    line-height:1.45;

}

.book-content h3 a{

    color:var(--dark);

    text-decoration:none;

    transition:var(--transition);

}

.book-content h3 a:hover{

    color:var(--primary-dark);

}


/*====================================================
AUTHOR
====================================================*/

.book-author{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:18px;

    color:var(--body);

    font-size:15px;

}

.book-author i{

    color:var(--primary);

}


/*====================================================
RATING
====================================================*/

.book-rating{

    display:flex;

    gap:4px;

    margin-bottom:20px;

    color:#fbbf24;

}


/*====================================================
PRICE
====================================================*/

.book-price{

    display:flex;

    align-items:center;

    gap:12px;

    margin-top:auto;

}

.sale-price{

    font-size:28px;

    font-weight:800;

    color:var(--primary-dark);

}

.mrp-price{

    color:#9ca3af;

    text-decoration:line-through;

    font-size:17px;

}


/*====================================================
FOOTER
====================================================*/

.book-footer{

    display:grid;

    grid-template-columns:1fr 1fr 1fr;

    gap:10px;

    padding:0 28px 28px;

}


/*====================================================
BUTTONS
====================================================*/

.book-footer a{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    height:48px;

    border-radius:14px;

    text-decoration:none;

    font-size:14px;

    font-weight:700;

    transition:var(--transition);

}

/* View */

.book-footer .btn-outline-custom{

    border:1px solid var(--border);

    color:var(--dark);

    background:#ffffff;

}

.book-footer .btn-outline-custom:hover{

    background:#f8f8f8;

}


/* Cart */

.btn-cart{

    background:#fff3e6;

    color:var(--primary-dark);

}

.btn-cart:hover{

    background:var(--primary);

    color:#ffffff;

}


/* Buy */

.btn-buy{

    background:var(--gradient-primary);

    color:#ffffff;

    box-shadow:var(--shadow-primary);

}

.btn-buy:hover{

    transform:translateY(-3px);

    color:#ffffff;

}


/*====================================================
EMPTY STATE
====================================================*/

.books-grid-section .card-custom{

    max-width:700px;

    margin:auto;

}


/*====================================================
RESPONSIVE
====================================================*/

@media(max-width:991px){

    .book-content{

        padding:24px;

    }

    .book-footer{

        padding:0 24px 24px;

    }

}


@media(max-width:767px){

    .book-card{

        border-radius:22px;

    }

    .book-cover{

        padding:18px;

    }

    .book-content{

        padding:20px;

    }

    .book-content h3{

        font-size:19px;

    }

    .sale-price{

        font-size:24px;

    }

    .book-footer{

        grid-template-columns:1fr;

        gap:12px;

        padding:0 20px 20px;

    }

}

/*====================================================
BOOKS PAGE
PART-4
Pagination + CTA + Final Polish
====================================================*/


/*====================================================
PAGINATION
====================================================*/

.books-pagination-section{

    background:var(--gradient-light);

}

.books-pagination .pagination{

    gap:10px;

}

.books-pagination .page-item{

    margin:0;

}

.books-pagination .page-link{

    width:48px;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:none;

    border-radius:14px;

    background:#ffffff;

    color:var(--dark);

    font-weight:600;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.books-pagination .page-link:hover{

    background:var(--gradient-primary);

    color:#ffffff;

    transform:translateY(-3px);

}

.books-pagination .page-item.active .page-link{

    background:var(--gradient-primary);

    color:#ffffff;

    box-shadow:var(--shadow-primary);

}

.books-pagination .page-item.disabled .page-link{

    opacity:.45;

    pointer-events:none;

}



/*====================================================
CTA SECTION
====================================================*/

.books-cta-section{

    position:relative;

    overflow:hidden;

    background:var(--gradient-light);

}


/*----------------------------------
CTA BOX
-----------------------------------*/

.books-cta-box{

    position:relative;

    overflow:hidden;

    padding:70px;

    border-radius:36px;

    background:var(--gradient-primary);

    box-shadow:var(--shadow-primary);

}


/*----------------------------------
Heading
-----------------------------------*/

.books-cta-box .section-title{

    color:#ffffff;

    margin-bottom:22px;

}

.books-cta-box .section-title span{

    color:#ffffff;

    background:none;

    -webkit-text-fill-color:#ffffff;

}


/*----------------------------------
Paragraph
-----------------------------------*/

.books-cta-box p{

    max-width:700px;

    color:rgba(255,255,255,.95);

    line-height:1.9;

}


/*====================================================
BENEFITS
====================================================*/

.books-cta-box .publishing-benefits{

    list-style:none;

    margin:30px 0 0;

    padding:0;

}

.books-cta-box .publishing-benefits li{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:16px;

    color:#ffffff;

    font-size:16px;

    font-weight:600;

}

.books-cta-box .publishing-benefits li:last-child{

    margin-bottom:0;

}

.books-cta-box .publishing-benefits i{

    color:#ffffff;

    font-size:18px;

}


/*====================================================
BUTTON AREA
====================================================*/

.publishing-cta-action{

    display:flex;

    flex-direction:column;

    gap:18px;

    align-items:flex-end;

}

.publishing-cta-action a{

    width:240px;

    justify-content:center;

}


/*====================================================
BUTTON HOVER
====================================================*/

.publishing-cta-action .btn-white-custom:hover,

.publishing-cta-action .btn-outline-light-custom:hover{

    transform:translateY(-4px);

}


/*====================================================
DECORATION
====================================================*/

.books-cta-box .circle{

    opacity:.45;

}


/*====================================================
ANIMATION
====================================================*/

.books-grid-section .book-card{

    animation:fadeUp .55s ease both;

}

.books-cta-box{

    animation:fadeUp .8s ease both;

}


/*====================================================
RESPONSIVE
====================================================*/

@media(max-width:991px){

    .books-cta-box{

        padding:50px 35px;

        text-align:center;

    }

    .books-cta-box .publishing-benefits{

        display:inline-block;

        text-align:left;

    }

    .publishing-cta-action{

        align-items:center;

        margin-top:35px;

    }

}


@media(max-width:767px){

    .books-pagination .page-link{

        width:42px;

        height:42px;

        font-size:14px;

    }

    .books-cta-box{

        padding:35px 24px;

        border-radius:24px;

    }

    .books-cta-box .section-title{

        font-size:30px;

    }

    .publishing-cta-action{

        width:100%;

    }

    .publishing-cta-action a{

        width:100%;

    }

}


.books-hero.section-wrapper .section-title,
.books-cta-section.section-padding-sm .section-title{
text-align:left;
}