:root { --primary-color: #40E0D0; /* Turquoise */ --primary-hover-color: #36c4b5; --secondary-color: #2E8B57; /* SeaGreen */ --background-color: #F8F9FA; --surface-color: #FFFFFF; --text-color: #212529; --text-muted-color: #6c757d; --base-spacing: 1rem; --border-radius: 0.5rem; --box-shadow: 0 4px 6px rgba(0,0,0,0.1); } body { font-family: 'Poppins', sans-serif; margin: 0; background-color: var(--background-color); color: var(--text-color); line-height: 1.6; } .container { max-width: 1140px; margin: 0 auto; padding: 0 var(--base-spacing); } .btn { display: inline-block; padding: 0.75rem 1.5rem; border-radius: var(--border-radius); text-decoration: none; font-weight: 600; transition: transform 0.2s, background-color 0.2s; border: none; cursor: pointer; } .btn:hover { transform: translateY(-2px); } .btn-primary { background-color: var(--primary-color); color: var(--text-color); } .btn-primary:hover { background-color: var(--primary-hover-color); } .navbar { padding: var(--base-spacing) 0; background-color: var(--surface-color); box-shadow: var(--box-shadow); position: sticky; top: 0; z-index: 1000; } .navbar-inner { display: flex; justify-content: space-between; align-items: center; } .logo { font-size: 1.5rem; font-weight: 700; color: var(--secondary-color); text-decoration: none; } .nav-links a { margin-left: 1.5rem; text-decoration: none; color: var(--text-color); font-weight: 600; } .hero { padding: 6rem 0; text-align: center; background: linear-gradient(45deg, var(--primary-color), var(--secondary-color)); color: white; } .hero-content h1 { font-size: 3rem; margin-bottom: var(--base-spacing); font-weight: 700; } .hero-content p { font-size: 1.2rem; margin-bottom: 2rem; } .section { padding: 4rem 0; } .section-alt { background-color: var(--surface-color); padding: 4rem 0; } h2 { text-align: center; font-size: 2.5rem; margin-bottom: 3rem; color: var(--secondary-color); font-weight: 700; } .steps { display: flex; justify-content: space-around; text-align: center; gap: 2rem; } .step { max-width: 300px; } .step i { width: 48px; height: 48px; color: var(--primary-color); margin-bottom: 1rem; } .step h3 { font-size: 1.5rem; margin-bottom: 0.5rem; } .contact-content { max-width: 600px; margin: 0 auto; text-align: center; } .contact-form { margin-top: 2rem; display: flex; flex-direction: column; gap: 1rem; } .form-group input, .form-group textarea { width: 100%; padding: 0.75rem; border: 1px solid #ccc; border-radius: var(--border-radius); font-family: 'Poppins', sans-serif; box-sizing: border-box; } footer { padding: 2rem 0; text-align: center; background-color: var(--surface-color); margin-top: 4rem; } .form-message { margin-top: 1rem; padding: 1rem; border-radius: var(--border-radius); display: none; } .form-message.success { background-color: #d4edda; color: #155724; display: block; } .form-message.error { background-color: #f8d7da; color: #721c24; display: block; } .page-title { font-size: 2.5rem; font-weight: 700; color: var(--secondary-color); text-align: center; margin-bottom: 3rem; } .restaurants-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 2rem; } .restaurant-card { background-color: var(--surface-color); border-radius: var(--border-radius); box-shadow: var(--box-shadow); overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; text-decoration: none; color: inherit; display: flex; flex-direction: column; } .restaurant-card:hover { transform: translateY(-5px); box-shadow: 0 8px 12px rgba(0,0,0,0.15); } .restaurant-card-image { width: 100%; height: 200px; background-size: cover; background-position: center; } .restaurant-card-content { padding: 1.5rem; flex-grow: 1; } .restaurant-card-content h3 { margin-top: 0; font-size: 1.5rem; font-weight: 600; color: var(--secondary-color); } .restaurant-card-content p { color: var(--text-muted-color); line-height: 1.6; } .menu-header { padding: 4rem 0; background-size: cover; background-position: center; color: white; text-align: center; } .menu-header h1 { font-size: 3rem; font-weight: 700; margin: 0; } .menu-header p { font-size: 1.2rem; max-width: 600px; margin: 0.5rem auto 0; } .section-title { font-size: 2rem; font-weight: 700; color: var(--secondary-color); text-align: center; margin-bottom: 2rem; } .menu-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 2rem; } .menu-item-card { background-color: var(--surface-color); border-radius: var(--border-radius); box-shadow: var(--box-shadow); overflow: hidden; display: flex; flex-direction: column; } .menu-item-image { width: 100%; height: 180px; background-size: cover; background-position: center; } .menu-item-content { padding: 1.5rem; flex-grow: 1; display: flex; flex-direction: column; } .menu-item-content h3 { margin-top: 0; font-size: 1.3rem; font-weight: 600; color: var(--secondary-color); } .menu-item-content p { color: var(--text-muted-color); line-height: 1.6; flex-grow: 1; margin-bottom: 1rem; } .menu-item-footer { display: flex; justify-content: space-between; align-items: center; } .menu-item-price { font-size: 1.2rem; font-weight: 700; color: var(--primary-color); } .cart-icon { position: relative; } #cart-count { position: absolute; top: -8px; right: -8px; background-color: #E04050; color: white; border-radius: 50%; padding: 2px 6px; font-size: 0.75rem; font-weight: 700; display: none; /* Hidden by default */ } .dashboard-content { background-color: var(--surface-color); padding: 2rem; border-radius: var(--border-radius); box-shadow: var(--box-shadow); } .table { width: 100%; border-collapse: collapse; } .table th, .table td { padding: 1rem; text-align: left; border-bottom: 1px solid #eee; } .table th { background-color: #f7f7f7; font-weight: 600; } .status { padding: 0.25rem 0.5rem; border-radius: 0.25rem; font-weight: 600; font-size: 0.9rem; } .status-pending { background-color: #fff3cd; color: #856404; } .status-confirmed { background-color: #d4edda; color: #155724; } .status-delivered { background-color: #d1ecf1; color: #0c5460; } .status-cancelled { background-color: #f8d7da; color: #721c24; } .dashboard-header { text-align: center; margin-bottom: 2rem; } .tabs { display: flex; justify-content: center; margin-bottom: 2rem; } .tab-link { padding: 0.75rem 1.5rem; border: none; background-color: transparent; cursor: pointer; font-size: 1.1rem; font-weight: 600; color: var(--text-muted-color); border-bottom: 2px solid transparent; transition: color 0.2s, border-bottom-color 0.2s; } .tab-link.active, .tab-link:hover { color: var(--secondary-color); border-bottom-color: var(--secondary-color); } .tab-content { display: none; } .tab-content.active { display: block; } .order-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 1.5rem; } .order-card { background-color: var(--surface-color); border-radius: var(--border-radius); box-shadow: var(--box-shadow); display: flex; flex-direction: column; } .order-header { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.5rem; border-bottom: 1px solid #eee; } .order-id { font-weight: 700; font-size: 1.1rem; } .order-body { padding: 1rem 1.5rem; flex-grow: 1; } .order-footer { padding: 1rem 1.5rem; background-color: #f7f7f7; border-top: 1px solid #eee; } .order-footer form { display: flex; justify-content: space-between; align-items: center; } .form-card { background-color: var(--surface-color); padding: 2rem; border-radius: var(--border-radius); box-shadow: var(--box-shadow); }