/*==== 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;
}

/*==== PLEASE DO NOT TOUCH THE NAVIGATION AND BACKGROUND SECTIONS ABOVE.==== */
/*==== START HERE ==== */

/* PAGE TITLE */

.page-title{
text-align:center;
font-family:'Playfair Display', serif;
font-size:48px;
color:#f5e6c8;
margin-top:120px;
}

.page-subtitle{
text-align:center;
color:#e6d3a3;
margin-bottom:40px;
}

/* SEARCH AREA */

.review-controls{
display:flex;
justify-content:center;
gap:30px;
margin-bottom:30px;
flex-wrap:wrap;
}

.search-box{
padding:12px 20px;
border-radius:8px;
border:1px solid rgba(255,255,255,0.2);
background:rgba(0,0,0,0.4);
color:white;
width:300px;
}

.genre-filter{
padding:12px 15px;
border-radius:8px;
background:rgba(0,0,0,0.4);
color:white;
border:1px solid rgba(255,255,255,0.2);
}

/* TABLE CONTAINER */

.table-container{
width:80%;
margin:auto;

background:rgba(0,0,0,0.4);
backdrop-filter:blur(8px);

border-radius:12px;
padding:20px;

border:1px solid rgba(255,230,180,0.3);
}

/* TABLE */

.review-table{
width:100%;
border-collapse:collapse;
color:white;
}

.review-table th{
background:linear-gradient(45deg,#c79a5c,#8b5e34);
padding:15px;
}

.review-table td{
padding:14px;
border-bottom:1px solid rgba(255,255,255,0.1);
}

/* RATING BADGE */

.rating{
background:linear-gradient(45deg,#3e290b,#50260b);
padding:5px 12px;
border-radius:20px;
font-weight:bold;

display:inline-flex;   /* flex inline supaya ikut size content */
justify-content:center;
align-items:center;
}



/* VIEW BUTTON */

.view-btn{
background:#9c6b2f;
border:none;
padding:8px 12px;
border-radius:6px;
color:white;
cursor:pointer;
}

.view-btn:hover{
background:#c48a3a;
}

/*===== 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;
}


/*===== FOOTER ====*/

.footer{
background: rgba(0,0,0,0.5);
color: white;
text-align: center;

padding: 20px 10px;   /* kecilkan padding */
margin-top: 40px;     /* kecilkan jarak dari content */
}

.footer h3{
font-size:20px;
margin-bottom:5px;
}

.footer-links{
margin:10px 0;   /* kurangkan jarak */
}

.footer-links a{
color:#d8a55c;
margin:0 10px;
text-decoration:none;
font-size:14px;
}

.copyright{
margin-top:10px;
font-size:13px;
opacity:0.7;
}

.pagination{
width:80%;
margin:40px auto;

display:flex;
justify-content:flex-end;
gap:8px;
}

.pagination a{

background:#c79a5c;
color:white;

padding:10px 14px;

border-radius:6px;

text-decoration:none;
font-weight:600;

transition:0.3s;
}

.pagination a:hover{
background:#8b5e34;
}

.pagination a.active{
background:#5a3b1a;
}
/* HAMBURGER + MOBILE FIX */

/* ===== MOBILE RESPONSIVE ===== */
@media (max-width:768px){

.hamburger{
display:none;
font-size:28px;
color:white;
cursor:pointer;
}

/* MOBILE */
@media (max-width:768px){

nav{
justify-content:space-between;
padding:15px 20px;
}

.logo{
margin-right:0;
font-size:22px;
}

.hamburger{
display:block;
}

/* MENU MOBILE */
.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;
}

/* DROPDOWN MENU */
.menu{
display:none;
flex-direction:column;
align-items:center;

position:absolute;
top:70px;
left:0;

width:100%;
background:rgba(96,68,20,0.95);
padding:20px 0;
}

.menu a{
display:block;
padding:15px 0;
font-size:18px;
width:100%;
text-align:center;
}

.menu.show{
display:flex;
}

/* TITLE */
.page-title{
font-size:28px;
margin-top:95px;
padding:0 15px;
}

.page-subtitle{
padding:0 15px;
font-size:13px;
}

/* SEARCH AREA */
.review-controls{
display:flex;
flex-direction:column;
align-items:center;
gap:10px;
width:100%;
}

/* SEARCH BOX */
.search-box{
width:75%;
padding:8px 10px;
font-size:13px;
margin:0 auto;
}

/* GENRE FILTER */
.genre-filter{
width:75%;
padding:8px 10px;
font-size:13px;
margin:0 auto;
}

/* SEARCH BUTTON */
.review-controls button{
width:75%;
padding:8px;
font-size:13px;
margin:0 auto;
}

/* TABLE CONTAINER */
.table-container{
width:92%;
padding:8px;
overflow-x:auto;
border-radius:10px;
}

/* TABLE */
.review-table{
width:100%;
table-layout:fixed;
}

.review-table th,
.review-table td{
padding:8px 6px;
font-size:13px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

/* BUTTON */
.view-btn{
padding:5px 9px;
font-size:12px;
}

/* PAGINATION */
.pagination{
margin:25px 0;
}

.pagination a{
padding:6px 10px;
font-size:13px;
margin:3px;
}

/* FOOTER */
.footer{
padding:12px 10px;
}

.footer h3{
font-size:17px;
}

.footer-links a{
font-size:12px;
margin:0 5px;
}

}

.review-controls{
display:flex;
flex-direction:column;
align-items:center;
width:100%;
gap:10px;
}

/* SEARCH BOX */
.search-box{
width:75%;
padding:8px 10px;
font-size:13px;
display:block;
margin:0 auto;
}

/* GENRE FILTER */
.genre-filter{
width:75%;
padding:8px 10px;
font-size:13px;
display:block;
margin:0 auto;
}

/* SEARCH BUTTON */
.review-controls button{
width:75%;
padding:8px;
font-size:13px;
display:block;
margin:0 auto;
}
}

.logout{

position:absolute;
bottom:30px;
left:30px;

width:205px;

padding:12px;

background:#8b2e2e;
color:white;

border-radius:8px;
text-decoration:none;

transition:0.2s;

}
.logout:hover{
background:#b13a3a;
transform:scale(1.03);
}

/* SEARCH BUTTON */
button[type="submit"]{
background:#8b781a;
color:white;
border:none;
padding:8px 18px;
border-radius:6px;
cursor:pointer;
font-size:14px;
transition:0.3s;
}

button[type="submit"]:hover{
background:#a48620;
}

/* CLEAR BUTTON */
.clear-btn{
background:#e74c3c;
color:white;
text-decoration:none;
padding:8px 18px;
border-radius:6px;
margin-left:5px;
font-size:14px;
transition:0.3s;
}

.clear-btn:hover{
background:#c0392b;
}

/* 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;
}

}
