/* ==================================================================
   Actualites (complete pages/spectacles.css)
   ================================================================== */

.news-featured {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--surface);
  margin-bottom: var(--sp-8);
  transition: box-shadow var(--dur-base) var(--ease-out);
}
.news-featured:hover { box-shadow: var(--shadow-lg); }
.news-featured__media { min-height: 320px; }
.news-featured__media img { width: 100%; height: 100%; object-fit: cover; }
.news-featured__body { padding: var(--sp-8); display: flex; flex-direction: column; justify-content: center; gap: var(--sp-3); }
.news-featured__tag {
  align-self: flex-start;
  font-family: var(--font-mono); font-size: var(--fs-xs);
  text-transform: uppercase; letter-spacing: 0.12em; color: var(--accent);
}
.news-featured h2 { font-size: var(--fs-xl); }
.news-featured p { color: var(--text-muted); }
.news-featured__meta { font-size: var(--fs-xs); color: var(--text-subtle); }
@media (max-width: 760px) { .news-featured { grid-template-columns: 1fr; } .news-featured__media { min-height: 200px; } }

/* --- Article --- */
.article__head { padding-block: calc(76px + var(--sp-8)) var(--sp-6); background: var(--surface-2); }
.article__cat {
  display: inline-block; margin-bottom: var(--sp-3);
  font-family: var(--font-mono); font-size: var(--fs-xs);
  text-transform: uppercase; letter-spacing: 0.12em; color: var(--accent);
}
.article__head h1 { font-size: var(--fs-3xl); margin-bottom: var(--sp-3); }
.article__meta { font-size: var(--fs-sm); color: var(--text-muted); }
.article__cover {
  width: 100%; max-height: 520px; object-fit: cover;
  border-radius: var(--r-lg); margin-block: var(--sp-8);
}
.article__body { padding-block: var(--sp-6) var(--sp-12); }
.article__lead { font-size: var(--fs-md); font-weight: 500; line-height: var(--lh-base); margin-bottom: var(--sp-5); }
.article__tags { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-8); }
.article__share {
  display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap;
  margin-top: var(--sp-6); padding-top: var(--sp-5);
  border-top: 1px solid var(--border);
  font-size: var(--fs-sm);
}
.article__share span { color: var(--text-subtle); }
.article__share a {
  padding: 0.4rem 0.9rem; border-radius: var(--r-full);
  border: 1px solid var(--border-strong); font-weight: 600;
}
.article__share a:hover { background: var(--surface-2); }
