/* Base layout */
html, body {
  height: 100% !important;
  margin: 0 !important;
  background-color: #2a2d36 !important;
  color: #f0f0f0 !important;
  font-family: 'Urbanist', sans-serif !important;
}

/* Navbar */
.nav {
  background-color: #23252d !important;
  padding: 25px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}

.nav-button {
  margin-right: 15px !important;
  padding: 8px 16px !important;
  background-color: transparent !important;
  color: #f0f0f0 !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.nav-button.active,
.nav-button:hover {
  background-color: #4b5563 !important;
  color: white !important;
  font-weight: 600 !important;
}

/* Remove container styles */
.container {
  padding: 2rem !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Form Inputs & Buttons */
input, button {
  font-family: inherit !important;
  color: #f0f0f0 !important;
}

input {
  background-color: #3a3d45 !important;
  border: 1px solid #4b4f58 !important;
  padding: 6px !important;
  border-radius: 4px !important;
}

button {
  background-color: #4b5563 !important;
  color: white !important;
  padding: 6px 12px !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}

button:hover {
  background-color: #374151 !important;
}

/* Alert Boxes */
.alert {
  padding: 15px !important;
  border-radius: 6px !important;
  margin-top: 20px !important;
}

.alert-warning {
  background-color: #5c4435 !important;
  border-left: 6px solid #e0a64b !important;
}

.alert-info {
  background-color: #374151 !important;
  border-left: 6px solid #60a5fa !important;
}

/* Search Input */
input.food-search {
  max-width: 500px !important;
  width: 100% !important;
  margin-bottom: 10px !important;
}

/* Table */
table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-top: 1rem !important;
  background-color: #2e3038 !important;
  font-size: 0.95rem !important;
  color: #f0f0f0 !important;
}

th, td {
  border: 1px solid #4b4f58 !important;
  padding: 8px !important;
  text-align: left !important;
}

th {
  background-color: #3a3d45 !important;
}


.hero-title {
  font-size: 3rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin-bottom: 1rem !important;
}

.overview-section {
  background-color: #2e3038 !important;
  padding: 2rem !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
  font-size: 1.1rem !important;  /* <-- ADD THIS */
  line-height: 1.8 !important;   /* optional for better readability */
}

.overview-section ul {
  list-style-type: disc !important;
  padding-left: 1.5rem !important;
  line-height: 1.7 !important;
  color: #dcdcdc !important;
}


.overview-subtitle {
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  margin-top: 2rem !important;
  margin-bottom: 1rem !important;
  color: #e0e0e0 !important;
}


.overview-section li::marker {
  color: #f0f0f0 !important;
}

#thinking {
  margin-top: 20px !important;
  font-style: italic !important;
  color: #a0aec0 !important;
  display: none;
}

.brand-accent {
  color: #60a5fa !important;
  font-weight: 600 !important;
}


.overview-section {
  animation: fadeIn 1s ease-out !important;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

#complete-form {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.ai-response-box {
  background-color: #e0f7fa; /* light teal */
  border-left: 6px solid #00acc1; /* stronger blue */
  padding: 16px;
  margin-top: 20px;
  border-radius: 6px;
  font-size: 1rem;
  line-height: 1.6;
  color: #00363a; /* deep teal for contrast */
}

#custom-suggestions li {
  padding: 10px 14px;
  cursor: pointer;
  border-bottom: 1px solid #444;
  background-color: #2c2c2c;
  color: #eee;
  font-size: 0.95rem;
}

#custom-suggestions li:hover,
#custom-suggestions li:focus {
  background-color: #444;
  color: #fff;
  font-weight: 500;
}

#custom-suggestions {
  position: absolute;
  background: #1f1f1f;
  border: 1px solid #555;
  z-index: 10;
  max-height: 300px;
  overflow-y: auto;
  width: 50%; /* This matches the input box */
  margin-top: 2px;
  border-radius: 6px;
}
