body{
margin:0;
font-family:'Roboto',sans-serif;
background:#f9f9f9;
}

header{
background:#111;
color:white;
padding:15px;
display:flex;
justify-content:space-between;
}
.hero{
height:100vh;
background:linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6)),
url('/restaurant/Restaurant.avif');
background-size:cover;
background-position:center;
color:white;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
}

nav a{
color:white;
margin:0 10px;
text-decoration:none;
}

.container{
display:flex;
}

/* MENU */
.menu{
flex:2;
padding:20px;
}

.item{
display:flex;
justify-content:space-between;
padding:10px;
background:white;
margin-bottom:10px;
border-radius:5px;
}

/* CART */
.cart{
flex:1;
background:#fff;
padding:20px;
border-left:2px solid #ddd;
}

.cart button{
margin:2px;
}

/* INVOICE */
.invoice{
margin-top:20px;
background:#f1f1f1;
padding:10px;
border-radius:5px;
}

.hidden{
display:none;
}
.tables{
display:grid;
grid-template-columns:repeat(4,80px);
gap:15px;
justify-content:center;
margin-top:30px;
}

.table{
width:80px;
height:80px;
background:#ddd;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
border-radius:8px;
}

.selected{
background:green;
color:white;
}
/* LAYOUT */
.booking-container{
display:flex;
gap:30px;
padding:20px;
}

/* FLOOR */
.floor{
position:relative;
width:500px;
height:350px;
background:#eee;
border:2px solid #ccc;
}

/* TABLE */
.table-box{
position:absolute;
width:60px;
height:60px;
background:#3498db;
color:white;
display:flex;
align-items:center;
justify-content:center;
border-radius:10px;
cursor:pointer;
}

.table-box.selected{
background:#2ecc71;
}

.table-box.reserved{
background:#e74c3c;
cursor:not-allowed;
}

/* FORM */
.booking-form{
background:white;
padding:20px;
border-radius:10px;
}

.booking-form input{
display:block;
margin-bottom:10px;
padding:8px;
width:200px;
}
/* FOOD CARDS */
.food-card{
background:white;
padding:10px;
margin:10px;
border-radius:10px;
width:180px;
display:inline-block;
text-align:center;
}

.food-card img{
width:100%;
height:120px;
object-fit:cover;
border-radius:10px;
}

/* FLOOR */
.floor{
position:relative;
width:500px;
height:350px;
background:#eee;
margin:20px;
}

/* TABLE */
.table-box{
position:absolute;
width:80px;
height:80px;
background:#3498db;
color:white;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
border-radius:10px;
font-size:12px;
cursor:pointer;
}

.table-box.selected{
background:#2ecc71;
}

.table-box.reserved{
background:#e74c3c;
}
