/*==================================================
CART PAGE
Layout + Breadcrumb + Empty Cart
==================================================*/


/*=========================================
Page Layout
=========================================*/

.cart-page{

    position:relative;

    background:#ffffff;

    overflow:hidden;

}


/*=========================================
Breadcrumb
=========================================*/

.cart-page .breadcrumb{

    margin:0;

    background:transparent;

}

.cart-page .breadcrumb-item{

    font-size:.95rem;

    font-weight:500;

}

.cart-page .breadcrumb-item a{

    color:#ff7a18;

    text-decoration:none;

    transition:.3s;

}

.cart-page .breadcrumb-item a:hover{

    color:#ff5722;

}

.cart-page .breadcrumb-item.active{

    color:#6b7280;

}


/*=========================================
Empty Cart
=========================================*/

.cart-empty-card{

    max-width:760px;

    margin:40px auto;

    padding:70px 60px;

    text-align:center;

    background:#ffffff;

    border-radius:30px;

    border:1px solid rgba(255,140,0,.08);

    box-shadow:

        0 25px 60px rgba(0,0,0,.06);

    transition:.35s;

}

.cart-empty-card:hover{

    transform:translateY(-8px);

    box-shadow:

        0 35px 70px rgba(255,120,0,.12);

}


/*=========================================
Icon
=========================================*/

.empty-icon{

    width:130px;

    height:130px;

    margin:0 auto 30px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(
        135deg,
        #ff7a18,
        #ff5f6d
    );

    color:#ffffff;

    font-size:3rem;

    box-shadow:

        0 20px 45px rgba(255,120,0,.28);

}


/*=========================================
Heading
=========================================*/

.cart-empty-card h2{

    margin-bottom:20px;

    color:#16213e;

    font-size:2.3rem;

    font-weight:800;

}


/*=========================================
Description
=========================================*/

.cart-empty-card p{

    max-width:560px;

    margin:0 auto 35px;

    color:#6b7280;

    line-height:1.9;

    font-size:1rem;

}


/*=========================================
Button
=========================================*/

.cart-empty-card .btn-primary-custom{

    min-width:240px;

    height:56px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

}


/*=========================================
Section Spacing
=========================================*/

.cart-page .section-heading{

    margin-bottom:50px;

}


/*=========================================
Animations
=========================================*/

.cart-empty-card{

    animation:

        cartFade .6s ease;

}

@keyframes cartFade{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:none;

    }

}


/*=========================================
Responsive
=========================================*/

@media(max-width:991px){

    .cart-empty-card{

        padding:55px 40px;

    }

    .cart-empty-card h2{

        font-size:2rem;

    }

}

@media(max-width:767px){

    .cart-empty-card{

        padding:45px 30px;

    }

    .empty-icon{

        width:105px;

        height:105px;

        font-size:2.5rem;

    }

    .cart-empty-card h2{

        font-size:1.75rem;

    }

}

@media(max-width:576px){

    .cart-empty-card{

        margin:20px auto;

        padding:35px 22px;

        border-radius:22px;

    }

    .empty-icon{

        width:90px;

        height:90px;

        font-size:2rem;

    }

    .cart-empty-card h2{

        font-size:1.5rem;

    }

    .cart-empty-card p{

        font-size:.95rem;

    }

    .cart-empty-card .btn-primary-custom{

        width:100%;

        min-width:100%;

    }

}

/*==================================================
CART ITEMS
==================================================*/

.cart-items-wrapper{

    position:relative;

}


/*=========================================
Header
=========================================*/

.cart-header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-bottom:30px;

}

.cart-header h2{

    margin:0;

    font-size:2rem;

    font-weight:800;

    color:#16213e;

}

.cart-header span{

    padding:10px 18px;

    border-radius:50px;

    background:#fff8f2;

    color:#ff7a18;

    font-size:.90rem;

    font-weight:700;

}


/*=========================================
Cart Item
=========================================*/

.cart-item-card{

    display:grid;

    grid-template-columns:

        120px
        1fr
        150px
        120px
        120px
        70px;

    align-items:center;

    gap:25px;

    padding:25px;

    margin-bottom:25px;

    background:#ffffff;

    border:1px solid rgba(255,140,0,.08);

    border-radius:26px;

    box-shadow:

        0 18px 45px rgba(0,0,0,.05);

    transition:.35s;

}

.cart-item-card:hover{

    transform:translateY(-5px);

    box-shadow:

        0 30px 70px rgba(255,120,0,.12);

}


/*=========================================
Book Image
=========================================*/

.cart-book-image img{

    width:100%;

    border-radius:16px;

    transition:.35s;

}

.cart-item-card:hover .cart-book-image img{

    transform:scale(1.04);

}


/*=========================================
Book Content
=========================================*/

.cart-book-content h3{

    margin:0 0 12px;

    font-size:1.25rem;

    line-height:1.5;

    font-weight:700;

}

.cart-book-content h3 a{

    color:#16213e;

    text-decoration:none;

    transition:.30s;

}

.cart-book-content h3 a:hover{

    color:#ff7a18;

}

.cart-author{

    margin-bottom:12px;

    color:#6b7280;

    font-size:.92rem;

}

.cart-author i{

    margin-right:6px;

    color:#ff7a18;

}

.cart-meta{

    margin-bottom:6px;

    color:#9ca3af;

    font-size:.88rem;

}


/*=========================================
Quantity
=========================================*/

.cart-quantity{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

}

.qty-btn{

    width:40px;

    height:40px;

    border:none;

    border-radius:50%;

    background:#fff8f2;

    color:#ff7a18;

    cursor:pointer;

    transition:.30s;

}

.qty-btn:hover{

    background:#ff7a18;

    color:#ffffff;

}

.cart-quantity input{

    width:55px;

    height:40px;

    border:1px solid rgba(255,140,0,.10);

    border-radius:10px;

    background:#fff;

    text-align:center;

    font-weight:700;

}


/*=========================================
Price
=========================================*/

.cart-price,
.cart-total{

    text-align:center;

}

.cart-price span,
.cart-total span{

    display:block;

    margin-bottom:8px;

    color:#6b7280;

    font-size:.85rem;

}

.cart-price strong{

    color:#16213e;

    font-size:1.05rem;

}

.cart-total strong{

    color:#ff6a00;

    font-size:1.2rem;

    font-weight:800;

}


/*=========================================
Remove
=========================================*/

.cart-remove{

    text-align:center;

}

.remove-item{

    width:46px;

    height:46px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#fff4f4;

    color:#ef4444;

    text-decoration:none;

    transition:.30s;

}

.remove-item:hover{

    background:#ef4444;

    color:#ffffff;

    transform:rotate(-8deg);

}


/*=========================================
Bottom Actions
=========================================*/

.cart-bottom-actions{

    display:flex;

    justify-content:space-between;

    gap:20px;

    margin-top:35px;

}

.cart-bottom-actions .btn-primary-custom,

.cart-bottom-actions .btn-outline-custom{

    min-width:220px;

    justify-content:center;

}


/*=========================================
Responsive
=========================================*/

@media(max-width:1199px){

    .cart-item-card{

        grid-template-columns:

            100px
            1fr;

    }

    .cart-quantity,

    .cart-price,

    .cart-total,

    .cart-remove{

        grid-column:2;

        justify-content:flex-start;

        text-align:left;

    }

}

@media(max-width:767px){

    .cart-header{

        flex-direction:column;

        align-items:flex-start;

        gap:15px;

    }

    .cart-item-card{

        padding:20px;

    }

    .cart-bottom-actions{

        flex-direction:column;

    }

    .cart-bottom-actions .btn-primary-custom,

    .cart-bottom-actions .btn-outline-custom{

        width:100%;

    }

}

@media(max-width:576px){

    .cart-item-card{

        grid-template-columns:1fr;

        text-align:center;

    }

    .cart-book-image{

        max-width:180px;

        margin:auto;

    }

    .cart-quantity,

    .cart-price,

    .cart-total,

    .cart-remove{

        grid-column:auto;

        justify-content:center;

        text-align:center;

    }

}

/*==================================================
ORDER SUMMARY
==================================================*/

.cart-summary-card{

    position:sticky;

    top:110px;

    background:#ffffff;

    border:1px solid rgba(255,140,0,.08);

    border-radius:28px;

    padding:35px;

    box-shadow:

        0 20px 55px rgba(0,0,0,.06);

}


/*=========================================
Header
=========================================*/

.summary-header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-bottom:30px;

    padding-bottom:20px;

    border-bottom:1px solid rgba(0,0,0,.08);

}

.summary-header h3{

    margin:0;

    color:#16213e;

    font-size:1.45rem;

    font-weight:800;

}

.summary-header span{

    background:#fff8f2;

    color:#ff7a18;

    padding:8px 15px;

    border-radius:50px;

    font-size:.85rem;

    font-weight:700;

}


/*=========================================
Summary Body
=========================================*/

.summary-body{

    margin-bottom:25px;

}

.summary-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;

    font-size:.97rem;

}

.summary-row:last-child{

    margin-bottom:0;

}

.summary-row span{

    color:#6b7280;

}

.summary-row strong{

    color:#16213e;

    font-weight:700;

}


/*=========================================
Grand Total
=========================================*/

.summary-total{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin:28px 0;

    padding:22px 0;

    border-top:2px dashed rgba(255,140,0,.15);

    border-bottom:2px dashed rgba(255,140,0,.15);

}

.summary-total span{

    color:#16213e;

    font-size:1.05rem;

    font-weight:700;

}

.summary-total strong{

    color:#ff6a00;

    font-size:2rem;

    font-weight:800;

}


/*=========================================
Checkout Buttons
=========================================*/

.cart-summary-card .btn-primary-custom,

.cart-summary-card .btn-outline-custom{

    width:100%;

    justify-content:center;

    height:56px;

}


/*=========================================
Security
=========================================*/

.payment-security{

    margin-top:35px;

    padding-top:30px;

    border-top:1px solid rgba(0,0,0,.08);

}

.security-item{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:18px;

}

.security-item:last-child{

    margin-bottom:0;

}

.security-item i{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(
        135deg,
        #ff7a18,
        #ff5f6d
    );

    color:#ffffff;

    font-size:.95rem;

    flex-shrink:0;

}

.security-item span{

    color:#555;

    font-size:.92rem;

    line-height:1.5;

}


/*=========================================
Coupon
=========================================*/

.coupon-placeholder{

    margin-top:30px;

    padding:18px;

    border-radius:18px;

    background:#fffaf6;

    border:1px dashed rgba(255,140,0,.18);

    color:#6b7280;

    font-size:.90rem;

    text-align:center;

    line-height:1.7;

}

.coupon-placeholder i{

    display:block;

    margin-bottom:10px;

    color:#ff7a18;

    font-size:1.3rem;

}


/*=========================================
Hover
=========================================*/

.cart-summary-card:hover{

    box-shadow:

        0 30px 70px rgba(255,120,0,.12);

}


/*=========================================
Responsive
=========================================*/

@media(max-width:991px){

    .cart-summary-card{

        position:relative;

        top:auto;

        margin-top:40px;

    }

}

@media(max-width:576px){

    .cart-summary-card{

        padding:28px 22px;

        border-radius:22px;

    }

    .summary-total strong{

        font-size:1.6rem;

    }

}
/*==================================================
RECOMMENDED BOOKS
==================================================*/

.recommended-books{

    margin-top:90px;

}


/*=========================================
Book Card
=========================================*/

.recommended-book-card{

    position:relative;

    height:100%;

    background:#ffffff;

    border-radius:26px;

    overflow:hidden;

    border:1px solid rgba(255,140,0,.08);

    box-shadow:

        0 18px 45px rgba(0,0,0,.05);

    transition:.35s;

}

.recommended-book-card:hover{

    transform:translateY(-10px);

    box-shadow:

        0 35px 75px rgba(255,120,0,.16);

}


/*=========================================
Book Image
=========================================*/

.recommended-book-image{

    display:block;

    overflow:hidden;

    background:#fff8f2;

}

.recommended-book-image img{

    width:100%;

    height:340px;

    object-fit:cover;

    transition:.45s;

}

.recommended-book-card:hover
.recommended-book-image img{

    transform:scale(1.06);

}


/*=========================================
Body
=========================================*/

.recommended-book-body{

    display:flex;

    flex-direction:column;

    height:calc(100% - 340px);

    padding:24px;

}

.recommended-book-body h5{

    margin:0 0 12px;

    min-height:58px;

    font-size:1.12rem;

    font-weight:700;

    line-height:1.5;

}

.recommended-book-body h5 a{

    color:#16213e;

    text-decoration:none;

    transition:.3s;

}

.recommended-book-body h5 a:hover{

    color:#ff7a18;

}

.recommended-book-body p{

    margin-bottom:18px;

    color:#6b7280;

    font-size:.92rem;

}


/*=========================================
Price
=========================================*/

.recommended-price{

    margin-top:auto;

    margin-bottom:20px;

}

.recommended-price strong{

    color:#ff6a00;

    font-size:1.35rem;

    font-weight:800;

}


/*=========================================
Button
=========================================*/

.recommended-book-body
.btn-outline-custom{

    width:100%;

    justify-content:center;

}


/*=========================================
Responsive
=========================================*/

@media(max-width:1199px){

    .recommended-book-image img{

        height:310px;

    }

    .recommended-book-body{

        height:calc(100% - 310px);

    }

}

@media(max-width:991px){

    .recommended-books{

        margin-top:70px;

    }

}

@media(max-width:767px){

    .recommended-book-image img{

        height:360px;

    }

    .recommended-book-body{

        height:auto;

    }

}

@media(max-width:576px){

    .recommended-books{

        margin-top:55px;

    }

    .recommended-book-card{

        border-radius:22px;

    }

    .recommended-book-image img{

        height:320px;

    }

    .recommended-book-body{

        padding:20px;

    }

    .recommended-book-body h5{

        min-height:auto;

        font-size:1.05rem;

    }

}

/*==================================================
CART CTA
==================================================*/

.cart-page-cta{

    position:relative;

    overflow:hidden;

    margin-top:90px;

    padding:60px;

    border-radius:32px;

    background:linear-gradient(
        135deg,
        #ff7a18 0%,
        #ff5f6d 100%
    );

    color:#ffffff;

    box-shadow:
        0 35px 80px rgba(255,120,0,.25);

}


/*=========================================
Background Shapes
=========================================*/

.cart-page-cta::before{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    top:-140px;

    right:-100px;

}

.cart-page-cta::after{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    bottom:-90px;

    left:-70px;

}

.cart-page-cta>*{

    position:relative;

    z-index:2;

}


/*=========================================
Badge
=========================================*/

.cart-page-cta .section-badge{

    background:rgba(255,255,255,.15);

    border:none;

    color:#ffffff;

}


/*=========================================
Heading
=========================================*/

.cart-page-cta h2{

    margin:18px 0 20px;

    font-size:2.5rem;

    font-weight:800;

    color:#ffffff;

}


/*=========================================
Description
=========================================*/

.cart-page-cta p{

    margin:0;

    max-width:700px;

    color:rgba(255,255,255,.92);

    line-height:1.9;

}


/*=========================================
Button
=========================================*/

.cart-page-cta .btn-primary-custom{

    min-width:240px;

    justify-content:center;

    box-shadow:none;

}

.cart-page-cta .btn-primary-custom:hover{

    transform:translateY(-4px);

}


/*=========================================
Responsive
=========================================*/

@media(max-width:991px){

    .cart-page-cta{

        padding:50px 35px;

        text-align:center;

    }

    .cart-page-cta h2{

        font-size:2rem;

    }

    .cart-page-cta .text-lg-end{

        text-align:center !important;

        margin-top:30px;

    }

}

@media(max-width:576px){

    .cart-page-cta{

        margin-top:60px;

        padding:35px 22px;

        border-radius:24px;

    }

    .cart-page-cta h2{

        font-size:1.55rem;

        line-height:1.4;

    }

    .cart-page-cta p{

        font-size:.95rem;

    }

    .cart-page-cta .btn-primary-custom{

        width:100%;

        min-width:100%;

    }

}

/*==================================================
FINAL POLISH
==================================================*/


/*=========================================
Global Transition
=========================================*/

.cart-item-card,
.cart-summary-card,
.recommended-book-card,
.cart-empty-card,
.cart-page-cta{

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}


/*=========================================
Focus States
=========================================*/

.qty-btn:focus,
.btn-primary-custom:focus,
.btn-outline-custom:focus{

    outline:none;

    box-shadow:
        0 0 0 4px rgba(255,122,24,.18);

}


/*=========================================
Button Icons
=========================================*/

.btn-primary-custom i,
.btn-outline-custom i{

    transition:transform .3s ease;

}

.btn-primary-custom:hover i,
.btn-outline-custom:hover i{

    transform:translateX(3px);

}


/*=========================================
Image Rendering
=========================================*/

.cart-book-image img,
.recommended-book-image img{

    backface-visibility:hidden;

    image-rendering:auto;

}


/*=========================================
Price Highlight
=========================================*/

.cart-total strong,
.summary-total strong,
.recommended-price strong{

    letter-spacing:.3px;

}


/*=========================================
Scrollbar
=========================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#f6f6f6;

}

::-webkit-scrollbar-thumb{

    background:#ffb36b;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#ff7a18;

}


/*=========================================
Selection
=========================================*/

::selection{

    background:#ff7a18;

    color:#ffffff;

}


/*=========================================
Sticky Summary Fix
=========================================*/

@media(max-width:991px){

    .cart-summary-card{

        position:static;

    }

}


/*=========================================
Reduce Motion
=========================================*/

@media(prefers-reduced-motion:reduce){

    *{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}


/*=========================================
Extra Small Devices
=========================================*/

@media(max-width:400px){

    .cart-header h2{

        font-size:1.45rem;

    }

    .summary-header{

        flex-direction:column;

        align-items:flex-start;

        gap:10px;

    }

    .summary-total{

        flex-direction:column;

        align-items:flex-start;

        gap:10px;

    }

    .summary-total strong{

        font-size:1.5rem;

    }

    .security-item{

        align-items:flex-start;

    }

    .security-item i{

        width:38px;

        height:38px;

        font-size:.85rem;

    }

}


/*=========================================
Print
=========================================*/

@media print{

    .cart-page-cta,
    .recommended-books,
    .cart-bottom-actions,
    .payment-security{

        display:none !important;

    }

}


/*=========================================
Final Shadow Polish
=========================================*/

.cart-item-card:hover,
.cart-summary-card:hover,
.recommended-book-card:hover{

    border-color:rgba(255,122,24,.15);

}


/*=========================================
Performance
=========================================*/

.cart-item-card,
.cart-summary-card,
.recommended-book-card{

    will-change:transform;

}

/*==================================================
SUCCESS ALERT
==================================================*/

.cart-alert{

    border:none;

    border-radius:18px;

    background:#ecfdf3;

    color:#0f8a4b;

    padding:18px 24px;

    font-weight:600;

    box-shadow:

        0 12px 35px rgba(22,163,74,.08);

}

.cart-alert i{

    color:#16a34a;

}


/*=========================================
Quantity Buttons
=========================================*/

.qty-btn{

    width:40px;

    height:40px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    border:1px solid #f1d6c2;

    border-radius:12px;

    background:#fff7f2;

    color:#ff7a18;

    text-decoration:none;

    font-size:15px;

    transition:.30s;

    cursor:pointer;

}

.qty-btn:hover{

    background:#ff7a18;

    color:#ffffff;

    border-color:#ff7a18;

}

.qty-btn i{

    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;

    height:100%;

    line-height:1;

    margin:0;

    padding:0;

}