/**
 * pages/blog.css
 *
 * Blog/actus (V2, section 10.4) : grille de cartes d'articles,
 * article seul en lecture confortable, pagination.
 */

/* --- Grille d'articles --- */

.post-grid {
  display: grid;
  gap: var(--space-5);
  margin-top: var(--space-6);
}

@media (min-width: 768px) {
  .post-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .post-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.post-card {
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--duration-fast) var(--ease-standard),
              box-shadow var(--duration-fast) var(--ease-standard);
}

.post-card:hover,
.post-card:focus-within {
  transform: scale(1.02);
  box-shadow: var(--shadow-md);
}

.post-card__link {
  display: block;
  height: 100%;
}

.post-card__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: var(--color-bg-surface-raised);
}

.post-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease-out-soft);
}

.post-card:hover .post-card__img {
  transform: scale(1.05);
}

.post-card__body {
  padding: var(--space-5);
}

.post-card__date {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.post-card__title {
  font-size: var(--text-xl);
  margin-top: var(--space-2);
  color: var(--color-text-primary);
}

.post-card__excerpt {
  margin-top: var(--space-3);
  font-size: var(--text-sm);
}

.post-card__more {
  display: inline-block;
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-accent-yellow);
}

/* --- Article seul --- */

.post-single {
  max-width: 720px; /* aligné à gauche sur la grille (header/footer) */
}

.post-single__back {
  margin-bottom: var(--space-4);
  font-size: var(--text-sm);
}

.post-single__back a {
  color: var(--color-text-secondary);
  transition: color var(--duration-fast) var(--ease-standard);
}

.post-single__back a:hover {
  color: var(--color-text-primary);
}

.post-single__date {
  display: block;
  margin-top: var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.post-single__media {
  margin-top: var(--space-6);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.post-single__img {
  width: 100%;
  height: auto;
}

.post-single .prose {
  margin-top: var(--space-6);
}

/* --- Pagination --- */

.pagination {
  margin-top: var(--space-7);
}

.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  align-items: center;
}

.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding-inline: var(--space-3);
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border-subtle);
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  transition: color var(--duration-fast) var(--ease-standard),
              border-color var(--duration-fast) var(--ease-standard);
}

.pagination .page-numbers:hover {
  color: var(--color-text-primary);
  border-color: var(--color-border-visible);
}

.pagination .page-numbers.current {
  background-color: var(--color-accent-yellow);
  border-color: var(--color-accent-yellow);
  color: var(--color-text-on-accent);
  font-weight: 600;
}
