/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

:root {
  --navy: #003459;
  --white: #f2ead8;
  --gold: #f4d35e;
  --oxblood: #2d0605;
  --bronze: #806d40;
  --muted: rgba(0, 52, 89, 0.65);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.5;
  padding: 1.5rem;
}

main {
  width: 100%;
  max-width: 30rem;
  text-align: center;
}

h1 {
  font-size: 2.5rem;
  margin: 0 0 0.5rem;
  letter-spacing: 0.02em;
}

main > p {
  color: var(--muted);
  margin: 0 0 2rem;
}

form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: stretch;
}

.form-label {
  font-size: 0.95rem;
  color: var(--muted);
  margin: 0 0 0.25rem;
}

input[type="email"],
input[type="text"] {
  padding: 0.75rem 1rem;
  border: 1px solid var(--muted);
  border-radius: 4px;
  background: transparent;
  color: var(--navy);
  font-size: 1rem;
}

input[type="email"]::placeholder,
input[type="text"]::placeholder {
  color: rgba(0, 52, 89, 0.4);
}

input[type="email"]:focus,
input[type="text"]:focus {
  outline: none;
  border-color: var(--oxblood);
  box-shadow: 0 0 0 2px rgba(45, 6, 5, 0.25);
}

input[type="submit"] {
  padding: 0.75rem 1rem;
  border: none;
  border-radius: 4px;
  background-color: var(--oxblood);
  color: var(--white);
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
}

input[type="submit"]:hover {
  opacity: 0.9;
}

[role="status"],
[role="alert"] {
  max-width: 30rem;
  margin: 0 auto 1rem;
  padding: 0.75rem 1rem;
  border-radius: 4px;
  text-align: center;
}

[role="status"] {
  background-color: rgba(128, 109, 64, 0.12);
  border: 1px solid var(--bronze);
  color: var(--navy);
}

[role="alert"] {
  background-color: rgba(176, 0, 32, 0.1);
  border: 1px solid #b00020;
  color: #b00020;
}
