/* ==========================
   MAHADEV RESTAURANT
   STYLE.CSS
========================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

body{
font-family:'Poppins',sans-serif;
background:#000;
color:#fff;
overflow-x:hidden;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}

a{
text-decoration:none;
}

ul{
list-style:none;
}

section{
padding:90px 0;
}

/* Scrollbar */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#111;
}

::-webkit-scrollbar-thumb{
background:#ffc107;
border-radius:10px;
}

/* HEADER */

header{
position:fixed;
top:0;
left:0;
width:100%;
background:rgba(0,0,0,.85);
backdrop-filter:blur(10px);
z-index:999;
border-bottom:1px solid rgba(255,193,7,.15);
}

.nav{
display:flex;
justify-content:space-between;
align-items:center;
height:80px;
}

.logo{
display:flex;
align-items:center;
gap:15px;
}

.logo-circle{
width:60px;
height:60px;
background:#ffc107;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
font-size:28px;
color:#000;
box-shadow:0 0 25px #ffc107;
}

.logo h2{
font-size:28px;
color:#ffc107;
font-weight:700;
}

.logo p{
font-size:13px;
color:#ddd;
}

nav{
display:flex;
align-items:center;
gap:30px;
}

nav a{
color:white;
font-weight:500;
transition:.3s;
}

nav a:hover{
color:#ffc107;
}

.order-btn{
background:#ffc107;
color:#000;
padding:12px 22px;
border-radius:40px;
font-weight:700;
transition:.3s;
}

.order-btn:hover{
transform:translateY(-3px);
box-shadow:0 0 20px #ffc107;
}

#menuBtn{
display:none;
font-size:30px;
cursor:pointer;
color:#ffc107;
}

/* HERO */

.hero{
min-height:100vh;
display:flex;
align-items:center;
background:
radial-gradient(circle at top right,#4b3800,#000 60%);
}

.hero-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
align-items:center;
}

.hero-text h1{
font-size:60px;
line-height:1.2;
color:#ffc107;
margin-bottom:15px;
}

.hero-text h2{
font-size:70px;
margin-bottom:20px;
font-weight:800;
}

.hero-text p{
font-size:18px;
color:#ddd;
line-height:1.8;
margin-bottom:35px;
}

.hero-buttons{
display:flex;
gap:20px;
flex-wrap:wrap;
}

.btn{
background:#ffc107;
color:#000;
padding:15px 35px;
border-radius:40px;
font-weight:700;
transition:.3s;
display:inline-flex;
align-items:center;
gap:10px;
}

.btn:hover{
transform:translateY(-5px);
box-shadow:0 0 25px #ffc107;
}

.btn-outline{
padding:15px 35px;
border:2px solid #ffc107;
border-radius:40px;
color:#ffc107;
transition:.3s;
}

.btn-outline:hover{
background:#ffc107;
color:#000;
}

.hero-card{
background:#111;
padding:60px;
border-radius:30px;
text-align:center;
border:1px solid rgba(255,193,7,.2);
box-shadow:0 0 35px rgba(255,193,7,.15);
}

.circle{
width:140px;
height:140px;
border-radius:50%;
background:#ffc107;
margin:auto;
display:flex;
justify-content:center;
align-items:center;
font-size:60px;
color:#000;
margin-bottom:30px;
animation:float 3s infinite ease-in-out;
}

.hero-card h3{
font-size:36px;
margin-bottom:10px;
color:#ffc107;
}

.hero-card p{
color:#ddd;
font-size:18px;
}

@keyframes float{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-15px);
}

100%{
transform:translateY(0px);
}

}

.section-title{
text-align:center;
font-size:45px;
color:#ffc107;
margin-bottom:60px;
font-weight:700;
}
/*==========================
ABOUT
==========================*/

.about{
background:#0a0a0a;
}

.about-text{
max-width:900px;
margin:auto;
text-align:center;
font-size:18px;
line-height:2;
color:#d7d7d7;
}

/*==========================
MENU
==========================*/

.menu{
background:#000;
}

.menu-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
}

.menu-box{
background:#111;
padding:30px;
border-radius:20px;
border:1px solid rgba(255,193,7,.15);
transition:.4s;
box-shadow:0 0 15px rgba(255,193,7,.08);
}

.menu-box:hover{
transform:translateY(-10px);
border-color:#ffc107;
box-shadow:0 0 30px rgba(255,193,7,.30);
}

.menu-box h3{
font-size:26px;
color:#ffc107;
margin-bottom:20px;
padding-bottom:10px;
border-bottom:1px solid rgba(255,193,7,.2);
}

.menu-box ul{
padding:0;
margin:0;
}

.menu-box li{
display:flex;
justify-content:space-between;
align-items:center;
padding:12px 0;
border-bottom:1px dashed rgba(255,255,255,.08);
font-size:16px;
color:#eee;
transition:.3s;
}

.menu-box li:last-child{
border-bottom:none;
}

.menu-box li:hover{
padding-left:10px;
color:#ffc107;
}

.menu-box span{
font-weight:700;
color:#ffc107;
}

/*==========================
REVIEWS
==========================*/

.reviews{
background:#0b0b0b;
}

.review-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
}

.review-card{
background:#111;
padding:35px;
border-radius:20px;
text-align:center;
transition:.4s;
border:1px solid rgba(255,193,7,.15);
}

.review-card:hover{
transform:translateY(-10px);
box-shadow:0 0 30px rgba(255,193,7,.25);
}

.review-card h3{
margin:18px 0 12px;
font-size:24px;
color:#ffc107;
}

.review-card p{
color:#d5d5d5;
line-height:1.8;
font-size:16px;
}

.review-card{
font-size:22px;
color:#ffc107;
}

/*==========================
CONTACT
==========================*/

.contact{
background:#000;
}

.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center;
}

.contact-grid h3{
font-size:35px;
margin-bottom:20px;
color:#ffc107;
}

.contact-grid p{
font-size:18px;
margin-bottom:20px;
color:#ddd;
line-height:1.8;
}

.contact iframe{
width:100%;
height:420px;
border:none;
border-radius:20px;
overflow:hidden;
box-shadow:0 0 25px rgba(255,193,7,.15);
}

/*==========================
HOVER EFFECT
==========================*/

.menu-box,
.review-card,
.hero-card{
transition:all .4s ease;
}

.menu-box:hover,
.review-card:hover,
.hero-card:hover{
transform:translateY(-8px);
}

/*==========================
BUTTON ANIMATION
==========================*/

.btn,
.btn-outline,
.order-btn{
position:relative;
overflow:hidden;
}

.btn::before,
.order-btn::before{

content:"";

position:absolute;

left:-120%;

top:0;

width:100%;

height:100%;

background:rgba(255,255,255,.25);

transform:skewX(-30deg);

transition:.6s;

}

.btn:hover::before,
.order-btn:hover::before{

left:130%;

}

/*==========================
CARD GLOW
==========================*/

.hero-card:hover{

box-shadow:0 0 40px rgba(255,193,7,.35);

}

.menu-box:hover{

box-shadow:0 0 40px rgba(255,193,7,.28);

}

.review-card:hover{

box-shadow:0 0 35px rgba(255,193,7,.25);

}

/*==========================
FOOTER
==========================*/

footer{
background:#050505;
padding:30px 0;
text-align:center;
border-top:1px solid rgba(255,193,7,.15);
}

footer p{
color:#bbb;
font-size:16px;
letter-spacing:1px;
}

/*==========================
FLOATING WHATSAPP
==========================*/

.floating-whatsapp{
position:fixed;
right:25px;
bottom:25px;
width:65px;
height:65px;
background:#25D366;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
font-size:32px;
color:#fff;
z-index:9999;
box-shadow:0 0 20px rgba(37,211,102,.5);
transition:.3s;
animation:whatsappPulse 2s infinite;
}

.floating-whatsapp:hover{
transform:scale(1.12);
}

@keyframes whatsappPulse{

0%{
transform:scale(1);
box-shadow:0 0 0 0 rgba(37,211,102,.7);
}

70%{
box-shadow:0 0 0 18px rgba(37,211,102,0);
}

100%{
transform:scale(1);
}

}

/*==========================
SCROLL TOP
==========================*/

#topBtn{
position:fixed;
bottom:105px;
right:30px;
width:55px;
height:55px;
border:none;
border-radius:50%;
background:#ffc107;
color:#000;
font-size:20px;
cursor:pointer;
display:none;
z-index:999;
transition:.3s;
box-shadow:0 0 20px rgba(255,193,7,.4);
}

#topBtn:hover{
transform:translateY(-5px);
}

/*==========================
MOBILE MENU
==========================*/

@media(max-width:991px){

#menuBtn{
display:block;
}

nav{
position:fixed;
top:80px;
left:-100%;
width:100%;
background:#111;
padding:30px;
display:flex;
flex-direction:column;
gap:25px;
transition:.4s;
}

nav.active{
left:0;
}

.hero-grid{
grid-template-columns:1fr;
text-align:center;
}

.hero-card{
margin-top:20px;
}

.contact-grid{
grid-template-columns:1fr;
}

.hero-text h1{
font-size:42px;
}

.hero-text h2{
font-size:52px;
}

.section-title{
font-size:34px;
}

}

/*==========================
MOBILE
==========================*/

@media(max-width:768px){

.container{
width:92%;
}

.hero{
padding-top:120px;
padding-bottom:80px;
}

.hero-text p{
font-size:16px;
}

.hero-buttons{
justify-content:center;
}

.hero-card{
padding:40px 25px;
}

.circle{
width:100px;
height:100px;
font-size:45px;
}

.menu-grid{
grid-template-columns:1fr;
}

.review-grid{
grid-template-columns:1fr;
}

.menu-box,
.review-card{
padding:25px;
}

.contact iframe{
height:300px;
}

.floating-whatsapp{
width:58px;
height:58px;
font-size:28px;
right:18px;
bottom:18px;
}

#topBtn{
right:18px;
bottom:90px;
width:50px;
height:50px;
}

}

/*==========================
SMALL MOBILE
==========================*/

@media(max-width:480px){

.hero-text h1{
font-size:32px;
}

.hero-text h2{
font-size:40px;
}

.logo h2{
font-size:22px;
}

.logo-circle{
width:50px;
height:50px;
font-size:24px;
}

.btn,
.btn-outline,
.order-btn{
padding:12px 22px;
font-size:15px;
}

.section-title{
font-size:28px;
}

.about-text{
font-size:16px;
line-height:1.8;
}

.menu-box h3{
font-size:22px;
}

.contact-grid h3{
font-size:28px;
}

}