@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap");

body {
  font-family: "Inter", -apple-system, sans-serif;
  background: #F9F6F0;
  color: #2C3E2D;
}
.wrap {
  max-width: 540px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(44,66,56,.08);
  padding: 2.5rem;
  margin-top: 3rem;
}
.header { border-bottom: 1px solid rgba(91,123,109,.15); padding-bottom: 1.2rem; margin-bottom: 1.5rem; }
.header .logo a { text-decoration: none; }
.header .logo img { display: none; }
.header .logo a::after {
  content: "Jean Denis Psy";
  font-family: "Cormorant Garamond", serif;
  font-size: 1.6rem; font-weight: 600; color: #3D5A4C;
}
h2 {
  font-family: "Cormorant Garamond", serif;
  color: #2C4238; font-weight: 600; font-size: 1.4rem;
}
section p, .message {
  color: #2C3E2D; line-height: 1.7; font-size: .95rem;
}
.form input[type="text"], .form input[type="email"] {
  border: 2px solid rgba(91,123,109,.2);
  border-radius: 8px; padding: .75rem 1rem;
  background: #F9F6F0; font-family: "Inter", sans-serif;
  font-size: .95rem; width: 100%; box-sizing: border-box;
  transition: border-color .2s;
}
.form input[type="text"]:focus, .form input[type="email"]:focus {
  border-color: #5B7B6D; outline: none; background: #fff;
}
.form label { color: #3D5A4C; font-weight: 500; font-size: .88rem; }
.form p { margin-bottom: .8rem; }
button, .button, input[type="submit"] {
  background: #5B7B6D !important; color: #fff !important;
  border: none !important; border-radius: 8px; padding: .75rem 2rem;
  font-family: "Inter", sans-serif; font-weight: 500; font-size: .95rem;
  cursor: pointer; transition: background .2s;
  width: 100%; margin-top: .5rem;
}
button:hover, .button:hover, input[type="submit"]:hover {
  background: #3D5A4C !important;
}
.lists { list-style: none; padding: 0; margin: 1rem 0; }
.lists h2 { font-size: .95rem; margin-bottom: .5rem; }
.lists li { padding: .3rem 0; }
.lists .description { color: #6B7F6E; font-size: .82rem; margin-top: .2rem; }
.nonce { display: none; }
footer {
  color: #8B9E8C; border-top: none; font-size: .8rem;
  margin-top: 2rem; text-align: center;
}
footer a { color: #5B7B6D; }
.error { color: #c0392b; }
.success { color: #3D5A4C; font-weight: 500; }

/* Login page */
.login { margin-top: 1rem; }
.login h2 { margin-bottom: 1rem; }
