/*==== Import Google Fonts ====*/
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Lato:wght@400;700&display=swap');

/*==== Body ====*/
body {
    font-family: 'Lato', sans-serif;
    margin: 0;
    padding-top: 60px;
    position: relative;
    overflow-x: hidden;
}

/* ===== VIDEO BACKGROUND ===== */
.bg-video {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: -2;

    background: black;
}

/* ⭐ DARK OVERLAY */
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.55);

    z-index: -1;
}

/* ===== NAVIGATION ===== */
nav {
    background-color: rgba(96,68,20,0.70);
    padding: 20px 30px;

    display: flex;
    justify-content: center;
    align-items: center;

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;

    box-sizing: border-box;

    z-index: 1000;

    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

/*===== MENU ===== */
.menu a {
    color: white;
    margin: 0 15px;
    text-decoration: none;
    font-size: 18px;
    font-family: 'Merriweather', serif;
}

.menu a:hover {
    color: yellow;
}

/*===== LOGO =====*/
.logo {
    font-family: 'Playfair Display', serif;
    color: white;
    font-size: 26px;
    font-weight: 700;
    margin-right: 150px;
}

/*==== PRELOADER BACKGROUND ==== */
#preloader {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
    background: black;

    display: flex;
    justify-content: center;
    align-items: center;

    z-index: 9999;
}

/*==== START HERE ====*/

.catalogue{
    padding:5px 20px 10px;
    text-align:center;
    color:white;
}

.catalogue h2{
    margin-bottom:8px;
    font-family: 'Merriweather', serif;
}

.catalogue h3{
    margin-bottom:8px;
    font-size:50px;
    font-family: 'Merriweather', serif;
}

.catalogue p{
    margin-bottom:25px;
    color:#ffffff;
}

/* Genre Navigation */
.genre-nav{
    margin-bottom:25px;
}

.genre-nav a{
background: linear-gradient(
to right,
rgba(120,81,38,0.85),
rgba(120,81,38,0.55)
);
color:white;
padding:8px 15px;
border-radius:6px;
text-decoration:none;
margin:4px;
display:inline-block;
font-size:14px;
}

/* Genre Section */
.genre-section{
    margin-bottom:5px;
}

.genre-section h2{
display:inline-block;
background: linear-gradient(
to right,
rgba(120,81,38,0.85),
rgba(120,81,38,0.55)
);
color:white;
padding:10px 25px;
border-radius:8px;
margin-bottom:25px;
width:80%;
text-align:center;
}

/* ===== BOOK GRID (JARAKKAN BUKU) ===== */
.book-grid{
display:grid;
grid-template-columns: repeat(5, 200px);
justify-content:center;

row-gap:60px;      /* jarak atas bawah buku */
column-gap:45px;   /* jarak kiri kanan buku */
}

/* Book Card */
.book-card{
width:100%;

background: rgba(60,40,20,0.55);
border:1px solid rgba(255,255,255,0.15);

border-radius:12px;

border:1px solid rgba(255,255,255,0.3);

backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);

box-shadow:0 8px 20px rgba(0,0,0,0.25);

padding:12px;
text-align:center;

transition:0.3s;

position: relative;
overflow: hidden;
}

.book-card::before{
content:"";
position:absolute;
top:0;
left:0;

width:100%;
height:100%;

background:linear-gradient(
120deg,
rgba(255,255,255,0.25),
transparent
);

border-radius:12px;
pointer-events:none;
}

/* Hover */
.book-card:hover{
transform:translateY(-6px);
background: rgba(255,255,255,0.35);
box-shadow:0 12px 30px rgba(0,0,0,0.35);
}

.book-card img{
width:100%;
aspect-ratio:2/3;
object-fit:cover;
border-radius:8px;
margin-bottom:10px;
transition:0.3s;
}

.book-card:hover img{
transform:scale(1.05);
}

.book-card h3{
font-size:16px;
margin:6px 0 4px;
color:white;
}

.book-card p{
font-size:14px;
color:white;
margin-bottom:6px;
}

/* Rating */
.rating{
color:#f39c12;
font-size:14px;
margin-bottom:8px;
}

/* Button */
.book-card a{
display:inline-block;
margin-top:8px;
padding:6px 14px;
background:#3498db;
color:white;
text-decoration:none;
border-radius:10px;
font-size:14px;
}

/* ===== MOBILE ===== */
@media (max-width:768px){

.book-grid{
grid-template-columns: repeat(2, 1fr);
gap:30px;   /* mobile pun bagi jarak */
}

.book-card{
width:150px;
}

}

/*===== FOOTER ====*/

.footer{
background: rgba(0,0,0,0.5);
color: white;
text-align: center;

padding: 20px 10px;
margin-top: 40px;
}

.footer h3{
font-size:20px;
margin-bottom:5px;
}

.footer-links{
margin:10px 0;
}

.footer-links a{
color:#d8a55c;
margin:0 10px;
text-decoration:none;
font-size:14px;
}

.copyright{
margin-top:10px;
font-size:13px;
opacity:0.7;
}

/*===== MUSIC BUTTON ====*/

#musicBtn{
    position: fixed;
    bottom: 30px;
    left: 30px;

    width:50px;
    height:50px;

    background:#9c6b2f;
    color:white;

    border:none;
    border-radius:50%;

    font-size:20px;
    cursor:pointer;

    display:flex;
    justify-content:center;
    align-items:center;

    z-index:9999;
}

#musicBtn:hover{
    background:#c48a3a;
}

/* ================================= */
/* HAMBURGER + MOBILE RESPONSIVE */
/* ================================= */

.hamburger{
display:none;
font-size:28px;
color:white;
cursor:pointer;
}

@media (max-width:768px){

nav{
justify-content:space-between;
padding:15px 20px;
}

.logo{
margin-right:0;
font-size:22px;
}

.hamburger{
display:block;
}

.menu{
display:none;
flex-direction:column;

position:absolute;
top:70px;
left:0;

width:100%;
background:rgba(96,68,20,0.95);

text-align:center;

padding:20px 0;
}

.menu.active{
display:flex;
}

.menu a{
display:block;
margin:12px 0;
}

.about{
margin:120px 20px;
padding:30px 20px 80px 20px;
}

.team-container{
flex-direction:column;
align-items:center;
gap:25px;
}

.member{
width:90%;
max-width:300px;
}

.mission-box{
width:90%;
padding:30px 25px;
}

}

#topBtn{
    position: fixed;   /* ini buat dia ikut screen */
    bottom: 30px;
    right: 30px;

    background: #9c6b2f;
    color: white;

    border: none;
    padding: 12px 16px;
    font-size: 18px;

    border-radius: 50%;
    cursor: pointer;

    z-index: 1000;
    display: none;
}