/* ================================================= */
/* GLOBAL */
/* ================================================= */

body{
margin:0;
font-family:Poppins;
color:white;
line-height:1.7;

/* background gradient */
background:
radial-gradient(circle at top, rgba(200,155,109,0.15), transparent 40%),
linear-gradient(
180deg,
#0f0f0f 0%,
#161616 40%,
#1c1c1c 70%,
#0f0f0f 100%
);
}


/* ================================================= */
/* NAVBAR */
/* ================================================= */

nav{
position:fixed;
top:0;
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 8%;
background:rgba(0,0,0,0.6);
backdrop-filter:blur(8px);
z-index:999;
box-sizing:border-box;
border-bottom:1px solid rgba(200,155,109,0.25);
}

.logo img{
height:50px;
}

nav ul{
display:flex;
gap:25px;
list-style:none;
margin:0;
padding:0;
margin-left:auto;
}

.menu{
margin-left:auto;
display:flex;
gap:25px;
list-style:none;
}

nav a{
color:white;
text-decoration:none;
font-size:14px;
opacity:0.9;
position:relative;
transition:0.3s;
}

nav a:hover{
opacity:1;
}

/* underline animation */

nav a::after{
content:"";
position:absolute;
bottom:-6px;
left:0;
width:0;
height:2px;
background:#c89b6d;
transition:0.3s;
}

nav a:hover::after{
width:100%;
}


/* ================================================= */
/* HERO SECTION */
/* ================================================= */

.hero{
height:100vh;
background-image:url('images/omahglugubg.jpg');
background-size:cover;
background-position:center;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:0 20px;
position:relative;
animation:zoomHero 18s ease-in-out infinite alternate;
}

@keyframes zoomHero{
0%{ background-size:100%; }
100%{ background-size:115%; }
}

/* overlay */

.hero::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(
to bottom,
rgba(0,0,0,0.4),
rgba(0,0,0,0.75)
);
}

.hero-content{
position:relative;
z-index:2;
background:rgba(0,0,0,0.45);
padding:60px 50px;
border-radius:12px;
max-width:720px;
box-shadow:0 0 40px rgba(200,155,109,0.25);
backdrop-filter:blur(4px);
}

.hero h1{
font-family:'Playfair Display';
font-size:72px;
margin:0;
letter-spacing:1px;
animation:fadeUp 1.4s ease;
}

@keyframes fadeUp{
0%{
opacity:0;
transform:translateY(40px);
}
100%{
opacity:1;
transform:translateY(0);
}
}

.subtitle{
margin-top:10px;
opacity:0.9;
}

.tagline{
margin-top:20px;
max-width:560px;
margin-left:auto;
margin-right:auto;
}


/* ================================================= */
/* BUTTON */
/* ================================================= */

.btn{
display:inline-block;
margin-top:25px;
padding:14px 34px;
background:linear-gradient(135deg,#c89b6d,#d8ab7d);
color:white;
text-decoration:none;
border-radius:6px;
transition:0.3s;
box-shadow:0 6px 20px rgba(200,155,109,0.35);
}

.btn:hover{
transform:translateY(-3px);
}


/* ================================================= */
/* SECTION GENERAL */
/* ================================================= */

section{
padding:30px 20px;
text-align:center;
border-top:1px solid rgba(255,255,255,0.05);
}

section h2{
font-family:'Playfair Display';
font-size:38px;
margin-bottom:10px;
}

/* garis elegan */

section h2::after{
content:"";
display:block;
width:60px;
height:3px;
background:#c89b6d;
margin:12px auto 0;
border-radius:2px;
}

section p{
max-width:720px;
margin:auto;
}


/* ================================================= */
/* ABOUT SECTION */
/* ================================================= */

.about{
background:
radial-gradient(circle at center,
rgba(255,255,255,0.04),
transparent 70%);
}


/* ================================================= */
/* EXPLORE SECTION */
/* ================================================= */

.explore{
background:
radial-gradient(circle at center,
rgba(200,155,109,0.08),
transparent 70%);
}


/* ================================================= */
/* CARD COMPONENT */
/* ================================================= */

.cards{
display:flex;
justify-content:center;
gap:30px;
flex-wrap:wrap;
margin-top:40px;
}

.card{
background:#1e1e1e;
padding:30px;
width:240px;
border-radius:14px;
cursor:pointer;
transition:0.4s;

box-shadow:0 10px 25px rgba(0,0,0,0.5);
border:1px solid rgba(200,155,109,0.15);

position:relative;
overflow:hidden;
}

.card::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:linear-gradient(
120deg,
transparent,
rgba(200,155,109,0.25),
transparent
);
transition:0.6s;
}

.card:hover::before{
left:100%;
}

.card:hover{
transform:translateY(-12px) scale(1.03);
background:#262626;
box-shadow:
0 0 25px rgba(200,155,109,0.35),
0 20px 40px rgba(0,0,0,0.7);
}

.card-link{
text-decoration:none;
color:inherit;
}


/* ================================================= */
/* DETAIL */
/* ================================================= */

.detail{
display:none;
padding:70px 20px;
}


/* ================================================= */
/* GALLERY */
/* ================================================= */

.gallery{
padding:90px 20px;
}

.slider{
display:flex;
gap:20px;
overflow-x:auto;
scroll-behavior:smooth;
margin-top:30px;
padding-bottom:10px;
}

.slider::-webkit-scrollbar{
display:none;
}

.slider img{
width:320px;
height:220px;
object-fit:cover;
border-radius:10px;
transition:0.4s;
box-shadow:0 8px 20px rgba(0,0,0,0.5);
}

.slider img:hover{
transform:scale(1.05);
}


/* ================================================= */
/* MAP */
/* ================================================= */

.map{
padding:90px 20px;
}

.map iframe{
width:100%;
max-width:900px;
height:400px;
border:none;
border-radius:10px;
margin-top:20px;
box-shadow:0 10px 30px rgba(0,0,0,0.6);
}


/* ================================================= */
/* RESERVATION */
/* ================================================= */

.reservation{
padding:90px 20px;
}

.wa-btn{
display:inline-block;
margin-top:20px;
padding:15px 30px;
background:#25D366;
color:white;
text-decoration:none;
border-radius:6px;
transition:0.3s;
}

.wa-btn:hover{
background:#1ebe5d;
}


/* ================================================= */
/* WHATSAPP FLOAT BUTTON */
/* ================================================= */

.wa-float{
position:fixed;
bottom:25px;
right:25px;
background:#25D366;
padding:15px 26px;
border-radius:50px;
color:white;
text-decoration:none;
box-shadow:0 10px 30px rgba(0,0,0,0.5);
}

.wa-float:hover{
transform:scale(1.1);
}


/* ================================================= */
/* FOOTER */
/* ================================================= */

footer{
padding:25px;
background:#000;
font-size:14px;
opacity:0.8;
text-align:center;
border-top:1px solid rgba(200,155,109,0.2);
}


/* ================================================= */
/* SCROLL ANIMATION */
/* ================================================= */

.reveal{
opacity:0;
transform:translateY(40px);
transition:1s;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}


/* ================================================= */
/* MENU PAGE */
/* ================================================= */

.page-header{
padding:140px 20px 60px;
}

.menu-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:25px;
padding:40px;
}


/* ================================================= */
/* MENU CARD */
/* ================================================= */

.menu-item{
position:relative;
border-radius:14px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,0.35);
transition:0.4s;
background:#000;
max-width:400px;
margin:auto;
}

.menu-item:hover{
transform:translateY(-10px) scale(1.02);
}

.menu-item img{
width:100%;
height:260px;
object-fit:cover;
display:block;
transition:0.4s;
}

.menu-item:hover img{
transform:scale(1.08);
}

.menu-item::after{
content:"";
position:absolute;
bottom:0;
left:0;
width:100%;
height:120px;
background:linear-gradient(to top, rgba(0,0,0,0.85), transparent);
}

.menu-info{
position:absolute;
bottom:15px;
left:0;
width:100%;
text-align:center;
z-index:2;
padding:0;
}

.menu-info h3{
color:white;
margin:0;
font-size:18px;
font-weight:600;
}

.price{
margin-top:4px;
font-size:14px;
color:#c89b6d;
font-weight:500;
}

.best::before{
content:"Best Seller";
position:absolute;
top:12px;
left:12px;
background:#c89b6d;
color:white;
padding:5px 12px;
font-size:12px;
border-radius:6px;
z-index:3;
box-shadow:0 5px 15px rgba(0,0,0,0.4);
}


/* ================================================= */
/* FILTER MENU */
/* ================================================= */

.menu-filter{
text-align:center;
margin-top:30px;
}

.filter-btn{
padding:10px 18px;
margin:5px;
border:none;
border-radius:6px;
cursor:pointer;
background:#eee;
transition:0.3s;
}

.filter-btn:hover{
background:#c89b6d;
color:white;
}

.filter-btn.active{
background:#c59d5f;
color:white;
}


/* ================================================= */
/* RESPONSIVE */
/* ================================================= */

@media(max-width:768px){

.hero h1{
font-size:42px;
}

.hero-content{
padding:40px 25px;
}

.cards{
flex-direction:column;
align-items:center;
}

.slider img{
width:100%;
height:200px;
}

nav{
padding:15px 6%;
}

.menu{
gap:15px;
}

}

/* ============================= */
/* SCAN ORDER */
/* ============================= */
.scan-order{
text-align:center;
padding:80px 20px;
max-width:700px;
margin:auto;
}

.scan-order h2{
font-family:'Playfair Display';
font-size:36px;
margin-bottom:10px;
}

.scan-order p{
opacity:0.8;
margin-bottom:10px;
}

.scan-note{
font-size:14px;
opacity:0.6;
}