/* Recipe subpages (login, registration, findBestRecipe) — clean modern look matching recipe theme */
body {
  background: linear-gradient(135deg, #fef3e2 0%, #f4a261 100%) !important;
  min-height: 100vh;
  font-family: 'Indie Flower', cursive !important;
  color: #1a2028 !important;
  margin: 0;
}

/* Main content card */
body > h1, body > .recipe-card {
  max-width: 500px;
  margin: 2rem auto;
}

body > h1 {
  background: rgba(255,255,255,0.95);
  border-radius: 12px;
  padding: 1.5rem 2rem;
  text-align: center;
  color: #1a2028 !important;
  font-size: 2rem !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15);
}

/* Forms */
form {
  background: rgba(255,255,255,0.95);
  border-radius: 12px;
  padding: 2rem;
  max-width: 500px;
  margin: 1rem auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15);
  font-size: 1.1rem;
}
form br { display: none; }
form input[type="text"],
form input[type="password"],
form input[type="email"] {
  display: block;
  width: 100%;
  padding: .75rem 1rem;
  margin: .25rem 0 1rem;
  border: 1px solid #e4e7ec;
  border-radius: 8px;
  font-size: 1rem;
  font-family: inherit;
  box-sizing: border-box;
  background: #fff;
}
form input:focus {
  outline: none;
  border-color: #c23b1e;
  box-shadow: 0 0 0 3px rgba(194,59,30,0.15);
}

/* Buttons */
form button,
button[type="submit"],
#login, #register, #submitButton {
  background: #c23b1e;
  color: #fff;
  border: 0;
  padding: .75rem 1.5rem;
  border-radius: 8px;
  font-size: 1.1rem;
  font-family: inherit;
  font-weight: bold;
  cursor: pointer;
  margin: .5rem .25rem 0 0;
  transition: transform .1s, background-color .15s;
  box-shadow: 0 4px 10px rgba(156,61,26,0.2);
}
form button:hover,
button[type="submit"]:hover,
#login:hover, #register:hover, #submitButton:hover {
  background: #9c3d1a;
  transform: translateY(-1px);
}

/* Links between pages */
form a, body > a {
  color: #9c3d1a;
  text-decoration: none;
  font-weight: bold;
}
form a:hover, body > a:hover { color: #c23b1e; text-decoration: underline; }

/* findBestRecipe specific styling */
.recipe-results, .ingredient-list, ol, ul {
  background: rgba(255,255,255,0.95);
  border-radius: 12px;
  padding: 1.5rem 2rem;
  max-width: 700px;
  margin: 1rem auto;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  list-style-position: inside;
}

/* Paragraph text on pages */
body > p, body > div > p {
  background: rgba(255,255,255,0.95);
  border-radius: 12px;
  padding: 1rem 1.5rem;
  max-width: 700px;
  margin: 1rem auto;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* Error messages */
.error, .alert, [class*="error"] {
  background: #fee;
  color: #c53030;
  padding: .75rem 1rem;
  border-radius: 8px;
  border-left: 4px solid #c53030;
  margin: 1rem 0;
}

/* Mobile */
@media (max-width: 768px) {
  body > h1 { font-size: 1.5rem !important; padding: 1rem; }
  form, .recipe-results, body > p { margin: .5rem; padding: 1.5rem; }
}
.text-center { text-align: center; }

[data-theme="dark"] body { background: linear-gradient(135deg, #2a1810 0%, #4a2618 100%) !important; color: #fef3e2 !important; }
[data-theme="dark"] form, [data-theme="dark"] body > h1, [data-theme="dark"] .recipe-results, [data-theme="dark"] body > p {
  background: rgba(50,30,20,0.95) !important; color: #fef3e2 !important;
}
[data-theme="dark"] form input { background: #3a2818 !important; color: #fef3e2 !important; border-color: #5a3828 !important; }

/* Homepage #firstDiv — match subpage card treatment */
#firstDiv {
  background: rgba(255,255,255,0.95);
  border-radius: 12px;
  padding: 2rem 3rem;
  max-width: 500px;
  margin: 1rem auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15);
}
#firstDiv h2 {
  color: #9c3d1a !important;
  font-size: 2rem !important;
  margin-top: 0;
}
[data-theme="dark"] #firstDiv {
  background: rgba(50,30,20,0.95) !important;
  color: #fef3e2 !important;
}
[data-theme="dark"] #firstDiv h2 {
  color: #f4a261 !important;
}

/* Inline-style replacements (CSP-strict) */
.recipe-cta-row { text-align: center; }
