/* Actualités : un journal (catégorie, titre, deux ou trois lignes), chaque entrée accompagnée d'une vraie carte
   montrée entière, petite et inclinée. Puis le bloc pour laisser son adresse.
   theme.css est chargé APRÈS ce fichier. */

.journal {
  list-style: none;
  max-width: 900px;
  margin: var(--spacing-lg) auto 0;
}

.journal-entree {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: clamp(1.2rem, 4vw, 2.6rem);
  align-items: center;
  padding: clamp(1.6rem, 4vw, 2.4rem) 0;
  border-top: 1px solid var(--hairline);
}

.journal-entree:last-child { border-bottom: 1px solid var(--hairline); }

.journal-carte .carte { transform: rotate(-4deg); }
.journal-entree:nth-child(even) .journal-carte .carte { transform: rotate(4deg); }
.journal-carte a.carte:hover,
.journal-carte a.carte:focus-visible { transform: translateY(-6px) scale(1.05); }

.news-category {
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--crimson-bright);
  margin-bottom: 0.5rem;
}

.news-title {
  font-size: clamp(1.15rem, 2.4vw, 1.5rem);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.3;
  color: var(--text);
  margin-bottom: 0.7rem;
}

.journal-texte p:not(.news-category) {
  color: rgba(237, 230, 216, 0.74);
  font-size: 1.03rem;
  max-width: 66ch;
}

.journal-texte a { color: var(--crimson-bright); }

/* ── Laisser son adresse ── */
.container .newsletter-box {
  max-width: 900px;
  margin: var(--spacing-xl) auto 0;
  padding: clamp(1.8rem, 5vw, 3rem);
}

.newsletter-box h2 {
  font-size: clamp(1.3rem, 3vw, 1.8rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text);
  margin-bottom: 0.9rem;
}

.newsletter-box > p:not(.form-feedback) {
  color: rgba(237, 230, 216, 0.74);
  max-width: 68ch;
  margin-bottom: 1.4rem;
}

.newsletter-form label {
  display: block;
  margin-bottom: 0.5rem;
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(237, 230, 216, 0.7);
}

.newsletter-row { display: flex; gap: 0.8rem; max-width: 600px; }

.newsletter-form input {
  flex: 1;
  min-width: 0;
  min-height: 52px;
  padding: 0.9rem 1.1rem;
  background: #090909;
  border: 1px solid rgba(237, 230, 216, 0.22);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 1rem;
}

.newsletter-form input::placeholder { color: rgba(237, 230, 216, 0.5); }

.newsletter-form input:focus {
  outline: none;
  border-color: var(--crimson-bright);
  box-shadow: 0 0 0 1px var(--crimson-bright);
}

.newsletter-box .form-feedback.show { max-width: 600px; }

@media (max-width: 600px) {
  .journal-entree { grid-template-columns: 84px minmax(0, 1fr); align-items: start; }
  .newsletter-row { flex-direction: column; }
}
