/*==================================================
        BOOK PUBLICATION - PART 1
        Foundation + Published Books
==================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#f5f7fb;
    font-family:Poppins,sans-serif;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

/*=====================================
        SECTION TITLE
======================================*/

.section-title-book{

    text-align:center;

    font-size:38px;

    font-weight:700;

    color:#0f172a;

    margin:50px 0;

    position:relative;

}

.section-title-book::after{

    content:"";

    width:80px;

    height:4px;

    background:#2563eb;

    border-radius:30px;

    display:block;

    margin:12px auto 0;

}

/*=====================================
        PUBLISHED BOOK SECTION
======================================*/

.featured-book-section{

    padding:20px;

}

.featured-container{

    max-width:1400px;

    margin:auto;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

/*=====================================
        CARD
======================================*/

.featured-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    border:1px solid #e5e7eb;

    display:flex;

    flex-direction:column;

    transition:.35s;

    box-shadow:0 8px 25px rgba(0,0,0,.06);

}

.featured-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.15);

}

/*=====================================
        IMAGE
======================================*/

.featured-img{

    height:340px;

    object-fit:contain;

    background:#f8fafc;

    padding:20px;

}

/*=====================================
        CONTENT
======================================*/

.featured-info{

    padding:20px;

    display:flex;

    flex-direction:column;

    flex:1;

}

/*=====================================
        TITLE
======================================*/

.featured-info .book-title{

    font-size:23px;

    font-weight:700;

    color:#0f172a;

    line-height:1.35;

    margin-bottom:12px;

    min-height:70px;

}

/*=====================================
        AUTHOR
======================================*/

.book-author{

    color:#64748b;

    font-size:14px;

    line-height:1.7;

    min-height:45px;

    margin-bottom:15px;

}

/*=====================================
        ISBN
======================================*/

.book-isbn{

    color:#334155;

    font-size:15px;

    margin-bottom:20px;

}

.coming-text{

    color:#f59e0b;

    font-weight:700;

}

/*=====================================
        BUTTONS
======================================*/

.btn-view,

.btn-coming-soon{

    width:100%;

    padding:13px;

    border-radius:10px;

    font-size:15px;

    font-weight:600;

    margin-top:auto;

    text-align:center;

    transition:.3s;

}

.btn-view{

    background:#0b2b4c;

    color:#fff;

}

.btn-view:hover{

    background:#174a80;

    color:#fff;

}

.btn-coming-soon{

    background:#f59e0b;

    color:#fff;

    border:none;

    cursor:not-allowed;

}

/*=====================================
        RESPONSIVE
======================================*/

@media(max-width:1200px){

.featured-container{

grid-template-columns:repeat(3,1fr);

}

}

@media(max-width:992px){

.featured-container{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:576px){

.featured-container{

grid-template-columns:1fr;

gap:20px;

}

.featured-card{

max-width:360px;

margin:auto;

}

.featured-img{

height:260px;

}

.featured-info .book-title{

font-size:20px;

min-height:auto;

}

}
/*==================================================
        BOOK PUBLICATION - PART 2
        Latest Books Section
==================================================*/

/*=============================
      SECTION
==============================*/

.latest-books-section{padding: 69px 50px;background:#f7f9fc;}

/*=============================
      CONTAINER
==============================*/

.latest-books-section .container{

    max-width:1400px;

    margin:auto;

}

/*=============================
      TITLE
==============================*/

.section-title{

    text-align:center;

    font-size:36px;

    font-weight:700;

    color:#0f172a;

    margin-bottom:50px;

    position:relative;

}

.section-title::after{

    content:"";

    width:80px;

    height:4px;

    background:#2563eb;

    border-radius:30px;

    display:block;

    margin:12px auto 0;

}

/*=============================
      BOOK GRID
==============================*/

.book-slider{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

}

/*=============================
      BOOK CARD
==============================*/

.book-card{

    background:#ffffff;

    border-radius:18px;

    overflow:hidden;

    border:1px solid #e5e7eb;

    box-shadow:0 8px 24px rgba(0,0,0,.06);

    display:flex;

    flex-direction:column;

    transition:.35s;

}

.book-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.12);

}

/*=============================
      IMAGE AREA
==============================*/

.book-image-wrapper{

    position:relative;

    background:#f8fafc;

    padding:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-bottom:1px solid #edf2f7;

}

.book-image-wrapper img{

    height:300px;

    width:100%;

    object-fit:contain;

}

/*=============================
      STATUS BADGES
==============================*/

.coming-soon-badge,

.published-badge{

    position:absolute;

    left:15px;

    bottom:15px;

    padding:7px 14px;

    border-radius:50px;

    font-size:13px;

    font-weight:600;

    color:#fff;

}

.coming-soon-badge{

    background:#f59e0b;

}

.published-badge{

    background:#16a34a;

}

/*=============================
      BOOK TITLE
==============================*/

.book-card h5{

    font-size:22px;

    font-weight:700;

    color:#0f172a;

    line-height:1.4;

    padding:18px 20px 8px;

    min-height:85px;

}

/*=============================
      ISBN
==============================*/

.book-card p{

    padding:0 20px;

    color:#475569;

    font-size:15px;

    margin-bottom:20px;

}

/*=============================
      BUTTON
==============================*/

.book-card .btn{

    margin:0 20px 20px;

    margin-top:auto;

    padding:13px;

    border-radius:10px;

    background:#0b2b4c;

    color:#fff;

    text-align:center;

    font-weight:600;

    transition:.3s;

}

.book-card .btn:hover{

    background:#174b81;

    color:#fff;

}

/*=============================
      RESPONSIVE
==============================*/

@media(max-width:1200px){

.book-slider{

grid-template-columns:repeat(3,1fr);

}

}

@media(max-width:992px){

.book-slider{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.book-slider{

grid-template-columns:1fr;

gap:20px;

}

.book-card{

max-width:360px;

margin:auto;

}

.book-image-wrapper img{

height:250px;

}

.book-card h5{

font-size:20px;

min-height:auto;

}

.section-title{

font-size:28px;

}

}
/*==================================================
        BOOK PUBLICATION - PART 3
        TOP AUTHORS SECTION
==================================================*/

/*====================================
        AUTHORS SECTION
====================================*/

.top-authors-section{

    padding:80px 20px;

    background:linear-gradient(to bottom,#f7f9fc,#ffffff);

}

.top-authors-section .container{

    max-width:1400px;

    margin:auto;

}

/*====================================
        TITLE
====================================*/

.top-authors-section .section-title{

    text-align:center;

    font-size:38px;

    font-weight:700;

    color:#0f172a;

    margin-bottom:55px;

    position:relative;

}

.top-authors-section .section-title::after{

    content:"";

    width:80px;

    height:4px;

    background:#2563eb;

    display:block;

    margin:12px auto 0;

    border-radius:30px;

}

/*====================================
        CAROUSEL
====================================*/

.carousel-item{

    padding:20px 0;

}

.carousel-item .d-flex{

    justify-content:center;

    gap:30px;

    flex-wrap:nowrap;

}

/*====================================
        AUTHOR CARD
====================================*/

.author-card{

    width:330px;

    background:#ffffff;

    border-radius:18px;

    padding:28px 20px;

    text-align:center;

    border:1px solid #e5e7eb;

    transition:.35s;

    position:relative;

    overflow:hidden;

    box-shadow:0 8px 25px rgba(0,0,0,.06);

}

.author-card:hover{

    transform:translateY(-10px);

    box-shadow:0 18px 40px rgba(0,0,0,.12);

}

/*====================================
        TOP BORDER
====================================*/

.author-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:#2563eb;

}

/*====================================
        IMAGE
====================================*/

.author-card img{

    width:110px;

    height:110px;

    object-fit:cover;

    border-radius:50%;

    border:4px solid #2563eb;

    padding:3px;

    margin:0 auto 18px;

}

/*====================================
        NAME
====================================*/

.author-card h4{

    font-size:20px;

    font-weight:700;

    color:#0f172a;

    margin-bottom:12px;

}

/*====================================
        DESCRIPTION
====================================*/

.author-card p{

    font-size:14px;

    color:#64748b;

    line-height:1.7;

    min-height:80px;

}

/*====================================
        BADGE
====================================*/

.author-card::after{

    content:"Top Author";

    position:absolute;

    top:18px;

    right:18px;

    background:#2563eb;

    color:#fff;

    font-size:11px;

    font-weight:600;

    padding:6px 12px;

    border-radius:30px;

}

/*====================================
        PREVIOUS / NEXT BUTTONS
====================================*/

.carousel-control-prev,

.carousel-control-next{

    width:60px;

    opacity:1;

}

/*====================================
        ICON
====================================*/

.carousel-control-prev-icon,

.carousel-control-next-icon{

    width:50px;

    height:50px;

    border-radius:50%;

    background-color:#0b2b4c;

    background-size:55%;

    transition:.3s;

}

.carousel-control-prev-icon:hover,

.carousel-control-next-icon:hover{

    background-color:#2563eb;

}

/*====================================
        CUSTOM BUTTON POSITION
====================================*/

.carousel-control-prev{

    left:-15px;

}

.carousel-control-next{

    right:-15px;

}

/*====================================
        RESPONSIVE
====================================*/

@media(max-width:1200px){

.author-card{

width:300px;

}

}

@media(max-width:992px){

.carousel-item .d-flex{

flex-wrap:wrap;

}

.author-card{

width:260px;

}

}

@media(max-width:768px){

.top-authors-section{

padding:60px 15px;

}

.top-authors-section .section-title{

font-size:30px;

}

.author-card{

width:100%;

max-width:340px;

margin:auto;

}

.author-card img{

width:90px;

height:90px;

}

.author-card h4{

font-size:18px;

}

.author-card p{

font-size:13px;

min-height:auto;

}

.carousel-control-prev{

left:0;

}

.carousel-control-next{

right:0;

}

.carousel-control-prev-icon,

.carousel-control-next-icon{

width:42px;

height:42px;

}

}
/*==================================================
        BOOK PUBLICATION - PART 4
        Banner â€¢ Overview â€¢ Features
        Contact â€¢ Form â€¢ Utilities
==================================================*/


/*=====================================
        BANNER
======================================*/

.main-banner-section{

    position:relative;

    background:url("../images/book-publication-banner.jpg") center center/cover no-repeat;

    padding:120px 20px;

    overflow:hidden;

}

.banner-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(rgba(8,32,58,.88),rgba(8,32,58,.90));

}

.banner-content{

    position:relative;

    z-index:2;

    max-width:900px;

    margin:auto;

    text-align:center;

    color:#fff;

}

.banner-content h1{

    font-size:52px;

    font-weight:700;

    margin-bottom:20px;

}

.banner-content h3{

    font-size:30px;

    color:#bfdbfe;

    margin-bottom:18px;

}

.banner-content p{

    font-size:18px;

    line-height:1.8;

    color:#e5e7eb;

}


/*=====================================
        BOOK MENU
======================================*/

.book-menu-container{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;

    padding:25px 15px;

    background:#ffffff;

    box-shadow:0 3px 12px rgba(0,0,0,.05);

}

.book-menu a{

    display:flex;

    align-items:center;

    gap:8px;

    padding:12px 18px;

    border-radius:10px;

    background:#fff;

    color:#0f172a;

    font-weight:600;

    border:1px solid #e5e7eb;

    transition:.3s;

}

.book-menu a:hover,

.book-menu a.active{

    background:#2563eb;

    color:#fff;

    transform:translateY(-2px);

}

.book-menu a i{

    font-size:14px;

}


/*=====================================
        OVERVIEW
======================================*/

.overview-section{padding: 72px 55px;background:#f8fafc;}

.overview-container{

    max-width:1300px;

    margin:auto;

}

.overview-top{

    display:grid;

    grid-template-columns:35% 65%;

    gap:50px;

    align-items:center;

    margin-bottom:60px;

}

.overview-left h2{

    font-size:46px;

    font-weight:700;

    color:#0f172a;

    line-height:1.2;

}

.overview-right p{

    font-size:18px;

    color:#475569;

    line-height:1.9;

}


/*=====================================
        FEATURES
======================================*/

.features-heading{

    text-align:center;

    font-size:34px;

    margin-bottom:40px;

    font-weight:700;

}

.overview-features{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));

    gap:25px;

}

.feature-box{

    background:#fff;

    border-radius:16px;

    padding:30px 20px;

    text-align:center;

    border:1px solid #e5e7eb;

    transition:.3s;

}

.feature-box:hover{

    background:#2563eb;

    color:#fff;

    transform:translateY(-6px);

}

.feature-box i{

    font-size:34px;

    color:#2563eb;

    margin-bottom:18px;

}

.feature-box:hover i,

.feature-box:hover span{

    color:#fff;

}

.feature-box span{

    display:block;

    font-weight:600;

    font-size:17px;

}


/*=====================================
        INVITATION FORM
======================================*/

.book-invite-section{

    padding:80px 20px;

    background:#f5f7fb;

}

.book-container{

    max-width:900px;

    margin:auto;

    background:#fff;

    border-radius:18px;

    padding:35px;

    box-shadow:0 8px 30px rgba(0,0,0,.06);

}

.book-desc-box{

    background:#f8fafc;

    border:1px solid #e5e7eb;

    padding:20px;

    border-radius:12px;

    margin-bottom:25px;

}

.desc-heading{

    color:#2563eb;

    font-weight:700;

    margin-bottom:10px;

}

.book-desc{

    color:#475569;

    line-height:1.8;

}

.form-row{

    display:flex;

    gap:15px;

    margin-bottom:15px;

}

.book-form input,

.book-form textarea{

    width:100%;

    padding:13px 15px;

    border-radius:10px;

    border:1px solid #d1d5db;

    font-size:15px;

}

.book-form textarea{

    resize:vertical;

}

.book-form input:focus,

.book-form textarea:focus{

    outline:none;

    border-color:#2563eb;

    box-shadow:0 0 0 3px rgba(37,99,235,.12);

}

.submit-btn{

    width:100%;

    padding:14px;

    border:none;

    border-radius:10px;

    background:#2563eb;

    color:#fff;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.submit-btn:hover{

    background:#1d4ed8;

}


/*=====================================
        CONTACT
======================================*/

.contact-section{

    padding:80px 20px;

    background:#ffffff;

}

.contact-container{

    max-width:800px;

    margin:auto;

}

.contact-info{

    background:#fff;

    border-radius:18px;

    padding:35px;

    border:1px solid #e5e7eb;

    box-shadow:0 8px 25px rgba(0,0,0,.05);

}

.contact-info h2{

    text-align:center;

    margin-bottom:12px;

    font-size:36px;

}

.contact-info>p{

    text-align:center;

    margin-bottom:35px;

    color:#64748b;

}

.info-box{

    display:flex;

    align-items:center;

    gap:20px;

    padding:20px;

    border-radius:12px;

    background:#f8fafc;

    margin-bottom:18px;

}

.info-box i{

    width:55px;

    height:55px;

    border-radius:50%;

    background:#2563eb;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:20px;

}

.info-box p{

    margin:0;

    font-size:17px;

    color:#334155;

}


/*=====================================
        SUCCESS MESSAGE
======================================*/

.response-message,

.form-message{

    display:none;

    padding:14px;

    border-radius:10px;

    margin-bottom:20px;

    text-align:center;

    font-weight:600;

}

.success{

    background:#dcfce7;

    color:#166534;

}

.error{

    background:#fee2e2;

    color:#991b1b;

}


/*=====================================
        RESPONSIVE
======================================*/

@media(max-width:992px){

.overview-top{

grid-template-columns:1fr;

gap:30px;

}

.banner-content h1{

font-size:40px;

}

.banner-content h3{

font-size:24px;

}

}

@media(max-width:768px){

.main-banner-section{

padding:80px 15px;

}

.banner-content h1{

font-size:30px;

}

.banner-content h3{

font-size:20px;

}

.banner-content p{

font-size:15px;

}

.book-menu-container{

justify-content:flex-start;

overflow-x:auto;

flex-wrap:nowrap;

}

.book-menu-container::-webkit-scrollbar{

display:none;

}

.book-menu a{

flex:0 0 auto;

}

.overview-left h2{

font-size:30px;

}

.overview-right p{

font-size:15px;

}

.features-heading{

font-size:28px;

}

.form-row{

flex-direction:column;

}

.book-container{

padding:20px;

}

.contact-info{

padding:20px;

}

.contact-info h2{

font-size:28px;

}

.info-box{

flex-direction:column;

text-align:center;

}

.info-box i{

margin-bottom:10px;

}

}

/*====================================
        CONTACT SECTION
====================================*/

.contact-section{
    padding:60px 15px;
    background:#f8fafc;
}

.contact-container{
    max-width:850px;
    margin:auto;
}

/* Heading */

.contact-title{

    text-align:center;

    font-size:38px;

    font-weight:700;

    color:#0f172a;

    margin-bottom:15px;

}

.contact-subtitle{

    text-align:center;

    color:#64748b;

    margin-bottom:40px;

}

/* Contact Card */

.info-box{

    display:flex;

    align-items:center;

    gap:20px;

    background:#fff;

    border-left:5px solid #0d6efd;

    border-radius:14px;

    padding:18px 22px;

    margin-bottom:18px;

    box-shadow:0 8px 22px rgba(0,0,0,.06);

    transition:.3s;

}

.info-box:hover{

    transform:translateY(-4px);

    box-shadow:0 14px 35px rgba(0,0,0,.10);

}

/* Icon */

.info-box i{

    width:60px;

    height:60px;

    min-width:60px;

    border-radius:50%;

    background:#2563eb;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

}

/* Text */

.info-box .info-content{

    flex:1;

}

.info-box h4{

    font-size:18px;

    font-weight:600;

    margin-bottom:6px;

    color:#0f172a;

}

.info-box p{

    margin:0;

    font-size:16px;

    color:#475569;

    word-break:break-word;

}
@media(max-width:768px){

.contact-section{

padding:45px 12px;

}

.contact-title{

font-size:28px;

}

.contact-subtitle{

font-size:15px;

margin-bottom:30px;

}

.info-box{

padding:16px;

gap:15px;

border-left:4px solid #0d6efd;

}

.info-box i{

width:52px;

height:52px;

min-width:52px;

font-size:18px;

}

.info-box h4{

font-size:16px;

}

.info-box p{

font-size:15px;

}

}