:root {
  --primary: #ffffff;
  --accent:  #e0b973;
  --error:   #d32f2f;
  --success: #388e3c;
}

h1 {
  font-size: 2.5rem;
  font-family: var(--font-title);
  text-align: center;
  margin: 2rem auto 1rem;
  color: var(--primary);
  letter-spacing: 2px;
}

/* Grille des hommages */
.flexbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  width: 90%;
  margin: 0 auto 3rem;
}

/* Boîte formulaire */
.form-box {
  width: 65%;
  background: var(--card-bg);
  border-radius: var(--radius);
  box-shadow: 0 8px 32px rgba(0,0,0,0.22);
  backdrop-filter: var(--card-blur);
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.form-box h2 { font-size: 1.5rem; font-family: var(--font-title); color: var(--primary); margin-bottom: 1rem; }

form {
  width: 70%;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
label { font-family: var(--font-body); font-size: 0.93rem; color: var(--primary); display: block; margin-bottom: 4px; }
input[type="text"], textarea {
  width: 100%;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 10px;
  background: rgba(255,255,255,0.9);
  font-family: var(--font-body);
  font-size: 1rem;
  transition: border-color 0.15s ease;
}
input[type="text"]:focus, textarea:focus {
  outline: none;
  border-color: rgba(102,126,234,0.9);
  box-shadow: 0 4px 14px rgba(102,126,234,0.18);
}
textarea { min-height: 130px; resize: vertical; }

#send {
  align-self: center;
  width: 55%;
  background: linear-gradient(135deg, #2c2c2c 0%, #1a1a1a 100%);
  color: var(--accent);
  border: 2px solid var(--accent);
  font-family: var(--font-accent);
  font-size: 0.95rem;
  border-radius: 50px;
  padding: 14px 28px;
  margin-top: 0.5rem;
  box-shadow: 0 6px 20px rgba(212,175,55,0.3);
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 600;
  letter-spacing: 1px;
}
#send:hover {
  transform: translateY(-3px);
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  color: #1a1a1a;
  box-shadow: 0 12px 35px rgba(212,175,55,0.5);
}
#send:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

/* Hommages affichés */
.hommages-grid {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.hommage-card {
  width: 65%;
  background: var(--card-bg);
  border-radius: var(--radius);
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
  backdrop-filter: var(--card-blur);
  padding: 1.8rem 2rem;
  display: flex;
  flex-direction: column;
}
.hommage-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,0.28); }
.hommage-card h3 { font-size: 1.25rem; font-family: var(--font-title); color: var(--primary); margin-bottom: 0.6rem; }
.hommage-card p  { font-family: var(--font-body); color: rgba(255,255,255,0.9); line-height: 1.65; font-size: 1rem; }
.hommage-author  { align-self: flex-end; margin-top: 1rem; font-family: var(--font-accent); color: var(--accent); font-size: 0.9rem; }

@media (max-width: 900px) {
  .form-box, .hommage-card { width: 90%; }
  form { width: 90%; }
}
@media (max-width: 600px) {
  .form-box, .hommage-card { width: 98%; padding: 1rem; }
  form { width: 98%; }
  #send { width: 80%; }
  h1 { font-size: 1.5rem; }
}
