/*==================================================
                    GOOGLE FONT
==================================================*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');


/*==================================================
                    ROOT VARIABLES
==================================================*/

:root{

     --primary:#C8A352;
    --primary-dark:#AE8733;

     --secondary:#E2C376;

    --white:#FFFFFF;

    --body:#F8F9FB;
    --card:#FFFFFF;

    --text:#2D2D2D;
    --text-light:#707070;

    --border:#E5E7EB;

    --success:#16A34A;

    --danger:#DC2626;

    --shadow-sm:0 2px 10px rgba(0,0,0,.05);

    --shadow:0 8px 25px rgba(0,0,0,.08);

    --shadow-lg:0 15px 40px rgba(0,0,0,.12);

    --radius:16px;

    --radius-sm:10px;

    --transition:.35s ease;

}


/*==================================================
                    RESET
==================================================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Inter',sans-serif;

    background:var(--body);

    color:var(--text);

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;

}


/*==================================================
                    GLOBAL
==================================================*/

img{

    display:block;

    width:100%;

    max-width:100%;

}

a{

    text-decoration:none;

    transition:var(--transition);

}

button{

    border:none;

    outline:none;

    cursor:pointer;

    transition:var(--transition);

}

input{

    outline:none;

    border:none;

    font-family:inherit;

}

.container{

    max-width:1320px;

}

section{

    padding:70px 0;

}


/*==================================================
                    SCROLLBAR
==================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#EEF2F7;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--primary-dark);

}


/*==================================================
                    SELECTION
==================================================*/

::selection{

    background:var(--primary);

    color:#fff;

}

/*==================================================
                    PRELOADER
==================================================*/

#preloader{

    position:fixed;

    inset:0;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-direction:column;

    background:#fff;

    z-index:99999;

    transition:.5s ease;

}

#preloader.hide{

    opacity:0;

    visibility:hidden;

}

.loader{

    width:70px;

    height:70px;

    border:5px solid #E8EDF7;

    border-top:5px solid var(--primary);

    border-radius:50%;

    animation:loaderRotate .8s linear infinite;

}

@keyframes loaderRotate{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}

/*==================================================
                    HEADER
==================================================*/

.library-header{

    position:sticky;

    top:0;

    left:0;

    width:100%;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(12px);

    -webkit-backdrop-filter:blur(12px);

    border-bottom:1px solid rgba(0,0,0,.05);

    box-shadow:var(--shadow-sm);

    z-index:999;

}

.library-header .container{

    height:80px;

    display:flex;

    align-items:center;

}

.library-header .d-flex{

    width:100%;

}


/*==================================================
                    LOGO
==================================================*/

.logo{

    color:var(--text);

}

.logo:hover{

    color:inherit;

}

.logo-icon{

    width:56px;

    height:56px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    color:#fff;

    font-size:24px;

    background:linear-gradient(
        135deg,
        #D8B76A,
        #B48B3C
    );

    box-shadow:0 10px 25px rgba(11,94,215,.25);

}

.logo h4{

    margin:0;

    font-size:22px;

    font-weight:700;

    color:var(--text);

    line-height:1.1;

}

.logo p{

    margin-top:3px;

    font-size:14px;

    color:var(--text-light);

    letter-spacing:.5px;

}


/*==================================================
                HEADER BUTTON
==================================================*/

.header-buttons .btn{

    height:46px;

    padding:0 24px;

    display:flex;

    align-items:center;

    gap:8px;

    border-radius:12px;

    font-size:15px;

    font-weight:600;

    border:2px solid var(--primary);

    color:var(--primary);

    background:#fff;

    transition:var(--transition);

}

.header-buttons .btn:hover{

    color:#fff;

    background:var(--primary);

    transform:translateY(-2px);

    box-shadow:0 12px 25px rgba(11,94,215,.25);

}

.header-buttons .btn i{

    font-size:15px;

}


/*==================================================
                HEADER SHRINK
==================================================*/

.library-header.scrolled{

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

/*==================================================
                    HERO
==================================================*/

/*==================================================
                    HERO
==================================================*/

.hero-section{

    position:relative;

    padding:55px 0 35px;

    background:
        /* linear-gradient(
            rgba(180,139,60,.82),
            rgba(180,139,60,.82)
        ), */
        url("../banner_image-15.jpg") center/cover no-repeat;

    overflow:hidden;

}

.hero-section::before{

    content:"";

    position:absolute;

    top:-120px;
    right:-120px;

    width:320px;
    height:320px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

}

.hero-section::after{

    content:"";

    position:absolute;

    bottom:-140px;
    left:-100px;

    width:280px;
    height:280px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

}

.hero-section .container{

    position:relative;

    z-index:2;

}


/*==================================================
                    HERO BADGE
==================================================*/

.hero-badge{

    display:flex;

    align-items:center;

    justify-content:center;

    width:max-content;

    gap:8px;

    padding:10px 18px;

    margin:0 auto 30px;

    border-radius:50px;

    background:#D8B76A;

    color: #000;;

    font-size:15px;

    font-weight:600;

    backdrop-filter:blur(10px);

}

/*==================================================
                    SEARCH
==================================================*/

.hero-search{

    max-width:760px;

    margin:auto;

}

.search-box{

    display:flex;

    align-items:center;

    height:64px;

    background:#fff;

    border-radius:60px;

    overflow:hidden;

    box-shadow:0 18px 45px rgba(0,0,0,.18);

}

.search-box i{

    width:65px;

    text-align:center;

    font-size:20px;

    color:#B48B3C;

}

.search-box input{

    flex:1;

    height:100%;

    font-size:16px;

    color:#1F2937;

    background:none;

}

.search-box input::placeholder{

    color:#94A3B8;

}

.search-box button{

    height:52px;

    margin-right:6px;

    padding:0 28px;

    border-radius:50px;

    background:linear-gradient(
        135deg,
        #0F2960,
        #22314A
    );

    color:#fff;

    font-size:15px;

    font-weight:600;

}

.search-box button:hover{

     background:linear-gradient(
        135deg,
        #D8B76A,
        #B48B3C
    );

    transform:scale(.98);

}

/*==================================================
                HERO RESPONSIVE
==================================================*/

@media(max-width:768px){

    .hero-section{

        padding:25px 0 25px;

    }

    .hero-badge{

        font-size:13px;

        padding:8px 15px;

        margin-bottom:20px;

    }

    .search-box{

        height:54px;

    }

    .search-box i{

        width:48px;

        font-size:17px;

    }

    .search-box input{

        font-size:9px;

    }

    .search-box button{

        height:44px;

        padding:0 18px;

        font-size:14px;

    }

}

/*==================================================
                LANGUAGE FILTER
==================================================*/

.language-section{

    padding:30px 0;

    background:#fff;

    border-bottom:1px solid var(--border);

}

.language-scroll{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:14px;

    flex-wrap:wrap;

}


/*==================================================
                LANGUAGE BUTTON
==================================================*/

.language-btn{

    padding:12px 24px;

    border:none;

    border-radius:50px;

    background:#fff;

    color:var(--text);

    font-size:15px;

    font-weight:600;

    border:1px solid var(--border);

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.language-btn:hover{

    color:var(--primary);

    border-color:var(--primary);

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(11,94,215,.15);

}

.language-btn.active{

    color:#fff;

    border-color:transparent;

    background:linear-gradient(
        135deg,
        #D8B76A,
        #B48B3C
    );

    box-shadow:0 12px 28px rgba(11,94,215,.28);

}


/*==================================================
            ACTIVE CLICK EFFECT
==================================================*/

.language-btn:active{

    transform:scale(.96);

}

/*==================================================
            LANGUAGE RESPONSIVE
==================================================*/

@media(max-width:768px){

    .language-section{

        padding:18px 0;

    }

    .language-scroll{

        justify-content:flex-start;

        flex-wrap:nowrap;

        overflow-x:auto;

        gap:10px;

        padding-bottom:6px;

        scrollbar-width:none;

    }

    .language-scroll::-webkit-scrollbar{

        display:none;

    }

    .language-btn{

        flex:0 0 auto;

        white-space:nowrap;

        font-size:13px;

        padding:10px 18px;

    }

}

/*==================================================
                    LIBRARY
==================================================*/

.library-section{

    padding:60px 0 80px;

    background:var(--body);

}

#booksContainer{

    row-gap:28px;

}

/*==================================================
                    BOOK CARD
==================================================*/

.book-card{

    position:relative;

    display:flex;

    flex-direction:column;

    height:100%;

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    border:1px solid #E9EEF5;

    box-shadow:0 8px 25px rgba(0,0,0,.06);

    transition:.35s ease;

}

.book-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}


/*=========================================
            GLOSSY EFFECT
=========================================*/

.book-card::before{

    content:"";

    position:absolute;

    top:-120%;

    left:-60%;

    width:60%;

    height:250%;

    background:linear-gradient(
        120deg,
        transparent 0%,
        rgba(255,255,255,.08) 35%,
        rgba(255,255,255,.35) 50%,
        rgba(255,255,255,.08) 65%,
        transparent 100%
    );

    transform:rotate(25deg);

    transition:.8s ease;

    pointer-events:none;

    z-index:2;

}

.book-card:hover::before{

    left:140%;

}

.book-card{

    border:1px solid rgba(255,255,255,.5);

    box-shadow:
        0 10px 25px rgba(0,0,0,.08),
        inset 0 1px 0 rgba(255,255,255,.6);

}

/*==================================================
                LANGUAGE BADGE
==================================================*/

.book-language{

    position:absolute;

    top:14px;

    right:14px;

    padding:7px 14px;

    border-radius:30px;

    background:#B48B3C;

    color:#fff;

    font-size:12px;

    font-weight:600;

    z-index:10;

    backdrop-filter:blur(8px);

}

/*==================================================
                BOOK IMAGE
==================================================*/

.book-image{

    height:260px;

    overflow:hidden;

    background:#F8FAFC;

}

.book-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s ease;

}

.book-card:hover img{

    transform:scale(1.05);

}

/*==================================================
                BOOK BODY
==================================================*/

.book-body{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:20px;

}

/*==================================================
                CATEGORY
==================================================*/

.book-category{

    display:inline-block;

    align-self:flex-start;

    padding:5px 12px;

    margin-bottom:14px;

    border-radius:30px;

    background:#EEF5FF;

    color:var(--primary);

    font-size:12px;

    font-weight:600;

}

/*==================================================
                DESCRIPTION
==================================================*/

.book-body p{

    flex:1;

    margin-bottom:22px;

    color:var(--text-light);

    font-size:14px;

    line-height:1.7;

}

/*==================================================
                READ BUTTON
==================================================*/

.read-btn{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    width:100%;

    height:48px;

    border:none;

    border-radius:12px;

    background:linear-gradient(
        135deg,
        #0F2960,
        #22314A
    );

    color:#fff;

    font-size:15px;

    font-weight:600;

    box-shadow:0 10px 20px rgba(180,139,60,.25);

    transition:all .35s ease;

}

.read-btn:hover{

    color:#fff;

    background:linear-gradient(
        135deg,
        #C89A3C,
        #9F7324
    );

    transform:translateY(-3px);

    box-shadow:0 15px 30px rgba(180,139,60,.35);

}

.read-btn i{

    transition:.35s ease;

}

.read-btn:hover i{

    transform:translateX(5px);

}

.read-btn i{

    transition:.35s ease;

}

.read-btn:hover i{

    transform:translateX(5px);

}

/*==================================================
                RESPONSIVE
==================================================*/

@media(max-width:768px){

    .library-section{

        padding:0px 0 60px;

    }

    #booksContainer{

        --bs-gutter-x:14px;

        --bs-gutter-y:18px;

    }

    .book-image{

        height:190px;

    }

    .book-body{

        padding:15px;

    }

    .book-body h3{

        font-size:12px;
        margin-bottom: 16px;

    }

    .book-body p{

        font-size:13px;

        margin-bottom:16px;

    }

    .read-btn{

        height:42px;

        font-size:14px;

    }

}

/*==================================================
                NO BOOKS FOUND
==================================================*/

.no-result-section{

    padding:90px 0;

    text-align:center;

}

.no-result-section img{

    max-width:220px;

    margin:0 auto 30px;

    opacity:.9;

}

.no-result-section h3{

    margin-bottom:12px;

    font-size:30px;

    font-weight:700;

    color:var(--text);

}

.no-result-section p{

    color:var(--text-light);

    font-size:16px;

}

/*==================================================
                BACK TO TOP
==================================================*/

#scrollTop{

    position:fixed;

    right:25px;

    bottom:25px;

    width:55px;

    height:55px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:none;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        #D8B76A,
        #B48B3C
    );

    color:#fff;

    font-size:18px;

    box-shadow:0 15px 35px rgba(11,94,215,.28);

    opacity:0;

    visibility:hidden;

    transform:translateY(20px);

    transition:.35s ease;

    z-index:999;

}

#scrollTop.show{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

#scrollTop:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 40px rgba(11,94,215,.35);

}

/*==================================================
                MOBILE
==================================================*/

@media(max-width:768px){

    section{

        padding:45px 0;

    }

    .container{

        padding:0 16px;

    }

    .library-header .container{

        height:70px;

    }

    .logo-icon{

        width:46px;

        height:46px;

        font-size:20px;

    }

    .logo h4{

        font-size:18px;

    }

    .logo p{

        font-size:12px;

    }

    .header-buttons .btn{

        height:42px;

        padding:0 16px;

        font-size:13px;

    }

    .hero-search{

        margin-top:10px;

    }

    .book-language{

        font-size:11px;

        padding:6px 12px;

    }

    #scrollTop{

        width:48px;

        height:48px;

        right:18px;

        bottom:18px;

    }

}