/* ==========================
   GENERAL
========================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:Arial, Helvetica, sans-serif;
background:#f5f5f5;
overflow-x:hidden;
}

a{
text-decoration:none;
}

.section-title{
text-align:center;
font-size:42px;
font-weight:300;
margin-bottom:30px;
color:#555;
}

/* ==========================
   TOP BAR
========================== */

.topbar{
background:#65658c;
color:#fff;
padding:8px 0;
font-size:14px;
}

/* ==========================
   HEADER
========================== */

.header-section{
background:#fff;
padding:15px 0;
box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.logo{
max-height:80px;
}

.search-box{
display:flex;
margin-top:15px;
}

.search-box input{
border-radius:0;
height:48px;
}

.btn-search{
width:60px;
background:#ffffff;
border:1px solid #ddd;
border-left:none;
}

.top-menu{
display:flex;
justify-content:flex-end;
align-items:center;
gap:15px;
margin-top:10px;
}

.top-menu a{
font-size:12px;
font-weight:600;
color:#333;
text-transform:uppercase;
}

.top-menu a:hover{
color:#d90000;
}

.mobile-nav{
display:none;
}

/* ==========================
   CATEGORY BAR
========================== */

.category-bar{
background:#ff0000;
}

.desktop-category{
display:flex;
justify-content:center;
align-items:center;
list-style:none;
padding:0;
margin:0;
}

.desktop-category li{
color:#fff;
padding:14px 15px;
font-size:13px;
font-weight:600;
cursor:pointer;
}

.desktop-category li:hover{
background:#c70000;
}

.mobile-category{
display:none;
padding:10px;
}

/* ==========================
   LIBRARY SECTION
========================== */

.library-section{
padding:40px 0;
background:#f2f2f2;
}

.book-card{
background:#fff;
padding:15px;
border-radius:8px;
transition:.3s;
cursor:pointer;
height:100%;
text-align:center;
box-shadow:0 3px 12px rgba(0,0,0,.08);
}

.book-card:hover{
transform:translateY(-5px);
}

.book-card img{
width:100%;
height:260px;
object-fit:cover;
border-radius:5px;
}

.book-price{
font-size:22px;
font-weight:bold;
margin-top:12px;
color:#111;
}

.book-title{
margin-top:8px;
font-size:14px;
font-weight:600;
}

/* smooth carousel effect */

.book-card{
animation:fadeIn .8s ease-in-out;
}

@keyframes fadeIn{

0%{
opacity:0;
transform:scale(.95);
}

100%{
opacity:1;
transform:scale(1);
}

}

/* ==========================
   AUTHOR SECTION
========================== */

.author-section{
background:#676792;
padding:50px 0;
}

.author-section h2{
text-align:center;
color:#fff;
margin-bottom:40px;
font-weight:300;
}

.author-card{
text-align:center;
margin-bottom:25px;
}

.author-card img{
width:100%;
max-width:240px;
background:#fff;
padding:10px;
}

.author-card h5{
color:#fff;
font-size:20px;
margin-top:12px;
font-weight:300;
}

/* ==========================
   ABOUT
========================== */

.about-section{
background:#fdf8f2;
padding:40px 0;
}

.about-section img{
border-radius:8px;
box-shadow:0 5px 20px rgba(0,0,0,.15);
}

/* ==========================
   EVENTS
========================== */

.events-section{
padding:50px 0;
background:#efefef;
}

.event-box{
height:140px;
background:#efefdd;
box-shadow:0 4px 12px rgba(0,0,0,.18);
border-radius:3px;
}

/* ==========================
   SOCIAL
========================== */

.social-section{
background:#243b5a;
padding:20px 0;
text-align:center;
}

.social-section h2{
color:#fff;
font-weight:300;
}

.social-icons{
margin-top:20px;
}

.social-icons a{
display:inline-flex;
justify-content:center;
align-items:center;
width:55px;
height:55px;
background:#fff;
color:#243b5a;
font-size:22px;
border-radius:50%;
margin:5px;
transition:.3s;
}

.social-icons a:hover{
transform:translateY(-4px);
}

/* ==========================
   FOOTER
========================== */

footer{
background:#223653;
padding:40px 0;
color:#fff;
}

footer h2{
font-weight:300;
margin-bottom:20px;
}

#uplBtn{
font-size:18px;
padding:12px 35px;
}

/* ==========================
   MODALS
========================== */

.modal-content{
border-radius:0;
border:none;
}

.modal-header{
background:#223653;
color:#fff;
}

.modal-header .btn-close{
filter:invert(1);
}

#bookDetails img{
max-width:100%;
border-radius:8px;
}

.buy-now-btn{
background:#ff0000;
color:#fff;
padding:12px 30px;
display:inline-block;
margin-top:15px;
font-weight:bold;
}

.buy-now-btn:hover{
background:#c60000;
color:#fff;
}

/* ==========================
   UPLOAD FORM
========================== */

#bookUploadForm input,
#bookUploadForm textarea,
#bookUploadForm select{

border-radius:0;
min-height:48px;

}

#bookUploadForm textarea{
min-height:140px;
}

/* ==========================
   CONTACT FORM
========================== */

#contactForm input,
#contactForm textarea{

border-radius:0;
margin-bottom:12px;

}

#contactForm textarea{
height:150px;
}

/* ==========================
   TABLET VIEW
========================== */

@media(max-width:991px){

.top-menu{
display:none;
}

.mobile-nav{
display:block;
}

.logo{
margin-bottom:15px;
}

.search-box{
margin-top:10px;
}

.desktop-category{
display:none;
}

.mobile-category{
display:block;
}

.section-title{
font-size:34px;
}

.book-card img{
height:230px;
}

}

/* ==========================
   MOBILE VIEW
========================== */

@media(max-width:767px){

.topbar{
font-size:12px;
text-align:center;
}

.topbar .text-start,
.topbar .text-end{
text-align:center !important;
}

.logo{
max-height:70px;
}

.search-box{
flex-direction:row;
}

.search-box input{
font-size:12px;
}

.section-title{
font-size:28px;
}

.book-card{
padding:10px;
}

.book-card img{
height:180px;
}

.book-price{
font-size:18px;
}

.author-card h5{
font-size:16px;
}

.event-box{
height:100px;
}

.social-icons a{
width:45px;
height:45px;
font-size:18px;
}

footer h2{
font-size:28px;
}

}

/* ==========================
   EXTRA SMALL DEVICES
========================== */

@media(max-width:480px){

.book-card img{
height:150px;
}

.book-price{
font-size:16px;
}

.section-title{
font-size:24px;
}

.logo{
max-height:60px;
}

}