.archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1em;
  margin: 1em 0;
}

@media (max-width: 960px) {
  .archive-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .archive-grid { grid-template-columns: 1fr; }
}

.archive-link-container {
    padding: 3em 1em;
    display: flex;
    flex-direction: column;
    gap: 1em;
    align-items: center;
}

.archive-link-container h2 {
    text-align: center;
}

.archive-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 0.5em;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.archive-card:hover {
  border-color: var(--red);
  box-shadow: 0 8px 28px rgba(224,0,0,0.1);
}

.archive-img {
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--bg3);
}

.archive-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(20%);
  transition: filter 0.3s;
}

.archive-card:hover .archive-img img {
  filter: grayscale(0%);
}

.archive-body {
  padding: 1em;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.archive-date {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--red);
  font-weight: 600;
  margin-bottom: 2em;
}

.archive-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.4;
  margin-bottom: 0.25em;
}

.archive-subtitle {
  font-size: 0.83rem;
  color: var(--muted);
  line-height: 1.65;
  flex: 1;
}

.archive-arrow {
  margin-top: 1em;
  font-size: 1.5rem;
  color: var(--red);
  text-align: right;
  transition: transform 0.2s;
}

.archive-card:hover .archive-arrow {
  transform: translateX(4px);
}

.archive-empty {
    padding: 4em 1em;
    display: flex;
    align-items: center;
    justify-content: center;
}