/* ---------- General ---------- */

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

.school-name{
    color:#ffffff;
    font-size:20px;
    font-weight:600;
    margin-bottom:25px;
    line-height:1.6;
}

.subtitle{
    color:#ffffff;
    font-size:20px;
}


body{

    font-family:Segoe UI,Arial,sans-serif;

    background:#f6f8fb;

    color:#333;

}

.container{

    width:95%;

    max-width:1400px;

    margin:auto;

    padding:30px 0;

}


/* ---------- Header ---------- */

header{

    background:#041354;

    color:white;

    text-align:center;

    padding:30px 20px;

    box-shadow:0 4px 10px rgba(0,0,0,.15);

}

header h1{

    font-size:42px;

    margin-bottom:8px;

}

header p{

    color:#F7EA40;

    font-size:18px;

}


/* ---------- Gallery ---------- */

.gallery-title{

    font-size:34px;

    color:#041354;

    margin-bottom:30px;

    border-left:8px solid #F7EA40;

    padding-left:15px;

}

.gallery{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));

    gap:25px;

}


/* ---------- Card ---------- */

.book-card{

    background:white;

    border-radius:12px;

    overflow:hidden;

    box-shadow:0 8px 18px rgba(0,0,0,.08);

    transition:.25s;

}

.book-card:hover{

    transform:translateY(-6px);

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

}

.book-card img{

    width:100%;

    height:330px;

    object-fit:cover;

    background:#ececec;

}

.book-content{

    padding:18px;

}

.book-title{

    font-size:18px;

    font-weight:bold;

    color:#041354;

    min-height:55px;

    margin-bottom:12px;

}

.book-author{

    color:#666;

    margin-bottom:8px;

    font-size:15px;

}

.book-category{

    display:inline-block;

    background:#F7EA40;

    color:#041354;

    font-weight:bold;

    font-size:13px;

    padding:5px 12px;

    border-radius:30px;

    margin-bottom:18px;

}


/* ---------- Button ---------- */

.read-btn{

    display:block;

    text-align:center;

    background:#041354;

    color:white;

    text-decoration:none;

    padding:12px;

    border-radius:8px;

    transition:.25s;

    font-weight:bold;

}

.read-btn:hover{

    background:#F7EA40;

    color:#041354;

}


/* ---------- Pagination ---------- */

.pagination{

    margin:50px 0;

    text-align:center;

}

.pagination a,

.pagination span{

    display:inline-block;

    padding:10px 16px;

    margin:4px;

    border-radius:8px;

    text-decoration:none;

    font-weight:600;

}

.pagination a{

    background:white;

    color:#041354;

    border:2px solid #041354;

}

.pagination a:hover{

    background:#041354;

    color:white;

}

.pagination .active{

    background:#F7EA40;

    color:#041354;

    border:2px solid #F7EA40;

}


/* ---------- Footer ---------- */

footer{

    margin-top:60px;

    background:#041354;

    color:white;

    text-align:center;

    padding:25px;

}


.book-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 10px 25px rgba(0,0,0,.12);

    transition:.3s;

}

.book-card:hover{

    transform:translateY(-8px);

}

.book-cover{

    width:100%;

    height:330px;

    object-fit:cover;

}

.book-content{

    padding:20px;

}

.book-title{

    font-size:22px;

    color:#041354;

    margin-bottom:15px;

    min-height:60px;

    font-weight:700;

}

.book-author{

    color:#555;

    margin-bottom:8px;

}

.book-school{

    color:#666;

    margin-bottom:8px;

}

.book-grade{

    color:#041354;

    font-weight:700;

    margin-bottom:15px;

}

.book-category{

    display:inline-block;

    background:#F7EA40;

    color:#000;

    font-weight:bold;

    padding:8px 18px;

    border-radius:30px;

    margin-bottom:20px;

}

.read-btn{

    display:block;

    width:100%;

    text-align:center;

    background:#041354;

    color:#fff;

    text-decoration:none;

    padding:14px;

    border-radius:10px;

    font-weight:bold;

    transition:.3s;

}

.read-btn:hover{

    background:#F7EA40;

    color:#041354;

}




.hero h1{

font-size:55px;

margin-bottom:10px;

}

.hero h2{

font-size:38px;

color:#F7EA40;

margin-bottom:10px;

}

.hero p{

font-size:20px;

margin-bottom:30px;

}

.year-buttons{

display:flex;

justify-content:center;

gap:15px;

flex-wrap:wrap;

}

.year-btn{

padding:12px 28px;

border-radius:40px;

text-decoration:none;

background:white;

color:#041354;

font-weight:bold;

transition:.3s;

}

.year-btn:hover{

background:#F7EA40;

}

.year-btn.active{

background:#F7EA40;

color:#041354;

}

.container{

max-width:1400px;

margin:auto;

padding:20px;

}

.section-title{

font-size:40px;

margin-bottom:30px;

color:#041354;

border-left:8px solid #F7EA40;

padding-left:15px;

}

.hero{

    background:linear-gradient(135deg,#11236f,#1c2f8d);

    padding:35px 20px 45px;

    text-align:center;

    color:#fff;

}

.hero-content{

    max-width:900px;

    margin:auto;

}

.hero h1{

    font-size:58px;

    font-weight:800;

    color:#fff;

    margin-bottom:8px;

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

}

.hero h2{

    font-size:48px;

    color:#ffe735;

    font-weight:800;

    margin-bottom:12px;

}

.subtitle{

    font-size:20px;

    margin-bottom:15px;

}

.school-name{

    font-size:18px;

    margin-bottom:28px;

}

.subtitle{

    font-size:30px;

    font-weight:300;

    margin-bottom:18px;

}

.school-name{

    display:inline-block;

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.25);

    padding:12px 28px;

    border-radius:50px;

    font-size:20px;

    margin-bottom:35px;

    backdrop-filter:blur(8px);

}

.year-btn{

    padding:13px 34px;

    font-size:19px;

}

.year-buttons{

    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;

}

.back-btn{

    display:inline-block;

    margin:40px 0 25px;

    padding:12px 22px;

    background:#11236f;

    color:#fff;

    text-decoration:none;

    border-radius:30px;

    font-weight:600;

    transition:.3s;

}

.back-btn:hover{

    background:#1f3aa5;

}

.book-header{

    display:flex;

    gap:40px;

    align-items:flex-start;

    margin-bottom:35px;

    flex-wrap:wrap;

}

.book-detail-cover{

    width:220px;

    border-radius:12px;

    box-shadow:0 12px 25px rgba(0,0,0,.15);

}

.book-info{

    flex:1;

}

.book-info h1{

    color:#11236f;

    margin-bottom:20px;

    font-size:38px;

}

.book-info p{

    margin:10px 0;

    font-size:18px;

}

.viewer{

    width:100%;

    height:900px;

    border:none;

    border-radius:12px;

    box-shadow:0 8px 20px rgba(0,0,0,.12);

}

.top-header{

    background:#11236f;

    padding:18px 0;

    box-shadow:0 2px 12px rgba(0,0,0,.15);

}

.header-flex{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.site-title{

    text-decoration:none;

    color:white;

    font-size:34px;

    font-weight:800;

}

.site-title span{

    color:#ffe735;

}

.back-btn{

    background:#ffe735;

    color:#11236f;

    padding:12px 24px;

    border-radius:30px;

    text-decoration:none;

    font-weight:700;

    transition:.3s;

}

.back-btn:hover{

    background:white;

}

.book-card-detail{

    background:#fff9dd;

    border-left:8px solid #ffe735;

    border-radius:18px;

    padding:35px;

    display:flex;

    gap:35px;

    align-items:flex-start;

    margin:40px 0;

    box-shadow:0 12px 25px rgba(0,0,0,.08);

}

.book-meta{

    border-collapse:collapse;

    margin-top:20px;

}

.book-meta th{

    text-align:left;

    padding:12px 20px 12px 0;

    color:#11236f;

}

.book-meta td{

    padding:12px 0;

}



/* ===========================================
   Mobile Responsive
=========================================== */

@media (max-width:768px){

    .book-card-detail{

        flex-direction:column;

        align-items:center;

        padding:25px;

        gap:20px;

    }

    .book-detail-cover{

        width:180px;

        max-width:100%;

    }

    .book-detail-info{

        width:100%;

        text-align:left;

    }

    .book-detail-info h1{

        font-size:30px;

        text-align:center;

        margin-bottom:20px;

    }

    .book-meta{

        width:100%;

    }

    .book-meta th,
    .book-meta td{

        display:block;

        width:100%;

        padding:4px 0;

    }

    .book-meta th{

        font-weight:700;

        color:#11236f;

        margin-top:12px;

    }

}


@media (max-width:768px){

    .header-flex{

        flex-direction:column;

        gap:18px;

    }

    .logo-main{

        font-size:34px;

        text-align:center;

    }

    .logo-year{

        font-size:30px;

    }

    .back-btn{

        padding:10px 22px;

        font-size:16px;

    }

}


.viewer{

    width:100%;

    height:85vh;

    border:none;

    border-radius:12px;

}

.book-detail-info h1{

    overflow-wrap:break-word;

    word-break:break-word;

}

*{

    box-sizing:border-box;

}

img{

    max-width:100%;

    height:auto;

}

iframe{

    max-width:100%;

}
