 body {
   background-color: #121212;
   color: #f5f5f5;
   min-height: 100vh;
   font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
   display: flex;
   flex-direction: column;
 }

 /* Navbar */
 .navbar {
   background: linear-gradient(to right, #4CAF50, #388E3C);
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
   padding: 0;
   width: 100%;
   top: 0;
   z-index: 1030;
 }

 .navbar .container {
   max-width: 1200px;
 }

 .navbar-brand {
   color: #fff !important;
   font-weight: bold;
   font-size: 1.5rem;
   display: flex;
   align-items: center;
   text-decoration: none;
   padding-left: 1rem;
 }

 .navbar-brand i {
   color: #ffcf4d;
   margin-right: 10px;
 }

 .navbar-nav .nav-link,
 .dropdown-item {
   color: #fff !important;
   font-weight: 500;
   transition: color 0.3s;
   font-size: 1rem;
 }

 .navbar-nav .nav-link:hover,
 .dropdown-item:hover,
 .navbar-nav .nav-link.active {
   color: #ffcf4d !important;
 }

 .dropdown-menu {
   background: #1e1e1e;
   border: 1px solid #4CAF50;
 }

 .dropdown-item i {
   color: #ffcf4d;
 }

 /* Hero */
 .hero {
   background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)), url('https://dynamic-media-cdn.tripadvisor.com/media/photo-o/29/41/93/19/revolving-restauarant.jpg?w=900&h=500&s=1');
   background-size: cover;
   background-position: center;
   min-height: 400px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   text-align: center;
   color: #fff;
   margin-bottom: 2rem;
   padding: 3rem 1rem 2rem 1rem;
 }

 .hero h1 {
   font-size: 3rem;
   margin-bottom: 1rem;
 }

 .hero p {
   font-size: 1.2rem;
   max-width: 700px;
   margin-bottom: 2rem;
 }

 .btn {
   background: #ffcf4d;
   color: #121212;
   border: none;
   border-radius: 5px;
   font-weight: bold;
   padding: 0.8rem 1.5rem;
   transition: all 0.3s;
   text-decoration: none;
 }

 .btn:hover {
   background: #ffc123;
   color: #121212;
   transform: scale(1.05);
 }

 .btn-outline {
   background: transparent;
   border: 1px solid #ffcf4d;
   color: #ffcf4d;
   padding: 0.4rem 0.8rem;
   border-radius: 4px;
   font-size: 0.9rem;
   transition: all 0.3s;
 }

 .btn-outline:hover {
   background: #ffcf4d;
   color: #121212;
 }

 .container {
   max-width: 1200px;
   margin: 0 auto;
   padding: 2rem 1rem;
 }

 .section-title {
   font-size: 2rem;
   margin-bottom: 2rem;
   text-align: center;
   color: #ffcf4d;
 }

 .restaurants-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
   gap: 2rem;
   margin-bottom: 3rem;
 }

 .restaurant-card {
   background: #1e1e1e;
   border-radius: 8px;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
   transition: transform 0.3s;
 }

 .restaurant-card:hover {
   transform: translateY(-5px);
 }

 .restaurant-img {
   width: 100%;
   height: 180px;
   object-fit: cover;
   display: block;
   background: #333;
 }

 .restaurant-info {
   padding: 1.5rem;
 }

 .restaurant-name {
   font-size: 1.3rem;
   margin-bottom: 0.5rem;
   color: #fff;
 }

 .restaurant-location {
   color: #b8b8b8;
   margin-bottom: 1rem;
   display: flex;
   align-items: center;
 }

 .restaurant-location i {
   margin-right: 0.5rem;
   color: #ffcf4d;
 }

 .restaurant-cuisines {
   display: flex;
   flex-wrap: wrap;
   gap: 0.6rem;
   margin-bottom: 1rem;
 }

 .cuisine-tag {
   background: #4a4a4a;
   color: #f5f5f5;
   padding: 0.3rem 0.8rem;
   border-radius: 14px;
   font-size: 0.85rem;
   border: 1px solid #ffcf4d;
   transition: all 0.3s;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
 }

 .restaurant-action {
   display: flex;
   justify-content: space-between;
   align-items: center;
 }

 .restaurant-rating {
   color: #ffcf4d;
 }

 .restaurant-rating i {
   margin-right: 0.3rem;
 }

 /* Reservation Section */
 .reservations-box {
   background: #1e1e1e;
   border-radius: 8px;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
   padding: 1.5rem;
   margin-bottom: 3rem;
 }

 .table {
   background: transparent;
   color: #f5f5f5;
   margin-bottom: 0;
   border-collapse: separate;
   border-spacing: 0;
 }

 .table th {
   color: #ffcf4d;
   background: #2a2a2a;
   border: none;
   padding: 1rem;
   font-weight: 600;
   text-align: left;
 }

 .table td {
   border: none;
   padding: 1rem;
   vertical-align: middle;
   background: #1e1e1e;
   color: #f5f5f5;
 }

 .table tr {
   transition: background 0.3s;
   border-bottom: 1px solid #333;
 }

 .table tbody tr:last-child {
   border-bottom: none;
 }

 .table tbody tr:hover {
   background: #2a2a2a;
 }

 .table-striped>tbody>tr:nth-of-type(odd)>* {
   background: #1e1e1e;
 }

 .table-striped>tbody>tr:nth-of-type(even)>* {
   background: #222222;
 }

 .badge-confirmed {
   background: #4CAF50;
   padding: 0.4rem 0.8rem;
   border-radius: 12px;
   color: #fff;
 }

 .btn-cancel {
   background: transparent;
   border: 1px solid #ff4d4d;
   color: #ff4d4d;
   padding: 0.3rem 0.8rem;
   border-radius: 4px;
   font-size: 0.85rem;
   transition: all 0.3s;
 }

 .btn-cancel:hover {
   background: #ff4d4d;
   color: #fff;
 }

 /* Modal Styles */
 .modal-header {
   background: linear-gradient(to right, #4CAF50, #388E3C);
   color: white;
   border-bottom: none;
 }

 .modal-body {
   background: #1e1e1e;
   color: #f5f5f5;
 }

 .modal-footer {
   background: #1e1e1e;
   border-top: 1px solid #333;
 }

 .nav-tabs .nav-link {
   color: #b8b8b8;
   background: #2a2a2a;
   border: none;
   margin-right: 5px;
   border-radius: 5px 5px 0 0;
 }

 .nav-tabs .nav-link.active {
   background: #ffcf4d;
   color: #121212;
 }

 .tab-content {
   background: #2a2a2a;
   padding: 20px;
   border-radius: 0 0 5px 5px;
   border: 1px solid #333;
 }

 .menu-item {
   border-bottom: 1px solid #333;
   padding: 10px 0;
 }

 .menu-item:last-child {
   border-bottom: none;
 }

 .price {
   color: #ffcf4d;
   font-weight: bold;
 }

 /* Reservation Form Styling */
 .reservation-form-container {
   background: linear-gradient(135deg, #2a2a2a, #1e1e1e);
   border-radius: 8px;
   padding: 1.5rem;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
 }

 .form-control {
   background-color: #333;
   border: 1px solid #444;
   color: #f5f5f5;
   border-radius: 6px;
   padding: 0.75rem;
   transition: all 0.3s;
 }

 .form-control:focus {
   background-color: #3a3a3a;
   border-color: #4CAF50;
   box-shadow: 0 0 8px rgba(76, 175, 80, 0.3);
   color: #f5f5f5;
 }

 .form-label {
   color: #ffcf4d;
   font-weight: 500;
   margin-bottom: 0.5rem;
 }

 .input-group {
   position: relative;
 }

 .input-group i {
   position: absolute;
   left: 12px;
   top: 50%;
   transform: translateY(-50%);
   color: #ffcf4d;
   font-size: 1rem;
 }

 .input-group .form-control {
   padding-left: 2.5rem;
 }

 .reservation-form-container .btn {
   width: 100%;
   padding: 1rem;
   font-size: 1.1rem;
   margin-top: 1rem;
   transition: all 0.3s ease;
 }

 .reservation-form-container .btn:hover {
   background: #ffc123;
   transform: scale(1.05);
 }

 /* Footer */
 .footer {
   background: #1a1a1a;
   color: #fff;
   padding: 2.5rem 1rem 1.5rem 1rem;
   margin-top: auto;
   border-top: 1px solid #4CAF50;
   text-align: center;
 }

 .footer-logo {
   font-size: 1.3rem;
   font-weight: bold;
   color: #ffcf4d;
   margin-bottom: 1rem;
 }

 .footer-links {
   display: flex;
   justify-content: center;
   gap: 2rem;
   margin-bottom: 1.2rem;
   flex-wrap: wrap;
 }

 .footer-link {
   color: #b8b8b8;
   text-decoration: none;
   transition: color 0.3s;
 }

 .footer-link:hover {
   color: #ffcf4d;
 }

 .social-links {
   display: flex;
   justify-content: center;
   gap: 1rem;
   margin-bottom: 1.2rem;
 }

 .social-link {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   background: #2a2a2a;
   display: flex;
   justify-content: center;
   align-items: center;
   color: #fff;
   text-decoration: none;
   font-size: 1.1rem;
   transition: all 0.3s;
 }

 .social-link:hover {
   background: #ffcf4d;
   color: #121212;
 }

 .copyright {
   color: #666;
   font-size: 0.9rem;
   margin-top: 1rem;
 }

 @media (max-width: 768px) {
   .hero h1 {
     font-size: 2.2rem;
   }

   .hero p {
     font-size: 1rem;
   }

   .section-title {
     font-size: 1.7rem;
   }

   .restaurant-card {
     max-width: 350px;
     margin-left: auto;
     margin-right: auto;
   }

   .table-responsive {
     font-size: 0.9rem;
   }

   .table th,
   .table td {
     padding: 0.8rem;
   }

   .reservation-form-container {
     padding: 1rem;
   }

   .reservation-form-container .btn {
     font-size: 1rem;
     padding: 0.8rem;
   }
 }