/* Módulo agenda (PDF s7-agenda, 1440×570) + tarjeta de actividad.
   También lo cargan archive-actividad.php y single-actividad.php (adn_enqueue_module_style). */

.m-agenda {
  background: var(--color-surface);
  padding-top: calc(var(--section-y) - var(--space-1));
  /* Abajo queda el hueco donde asoma la persona del cta_banda: 128px a 1440 y encoge al
     mismo ritmo que ella (~.52px por px de viewport) hasta el ritmo normal de sección.
     Sin position/z-index/overflow aquí: no debe taparla. */
  padding-bottom: clamp(var(--section-y), calc(var(--space-7) + var(--space-3) - (90rem - 100vw) * .52), calc(var(--space-7) + var(--space-3)));
}

.m-agenda__title {
  margin-top: var(--space-1);
  font-size: var(--text-h2); /* PDF 62.1px; el token llega a 64 */
}
.m-agenda__text { margin-top: calc(var(--space-1) * 1.375); } /* 11px: bajada en y=187 */
.m-agenda__title,
.actividad-single__title { letter-spacing: var(--tracking-title); } /* tracking del PDF */

.m-agenda__grid,
.m-agenda__empty,
.m-agenda .pagination { margin-top: calc(var(--space-4) + var(--space-1)); }

/* ==========================================================
   Rejilla de tarjetas: 3 / 2 / 1 columnas
   ========================================================== */
.actividad-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-2);
  margin-inline: var(--space-1); /* a 1440 las tarjetas empiezan en x=88, el texto en x=80 */
}

/* ==========================================================
   Tarjeta: fecha | divisor | tipo, título, hora y enlace
   ========================================================== */
.actividad-card {
  --actividad-card-date: calc(var(--text-lg) * 1.06); /* PDF 24.4px: no hay token exacto */
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr); /* divisor a 112px del borde (x=199 a 1440) */
  padding: var(--space-2) var(--space-2) var(--space-2) 0;
  background: var(--color-bg);
  border-radius: var(--radius);
}

.actividad-card__date {
  margin-block: var(--space-1) calc(var(--space-1) / 2); /* divisor de 147px */
  padding-left: var(--space-1);
  border-right: 1px solid var(--color-divider);
  font-size: var(--actividad-card-date);
  font-weight: var(--weight-bold);
  line-height: var(--leading-tight);
  text-align: center;
  text-transform: uppercase;
}
.actividad-card__day,
.actividad-card__month { display: block; }

.actividad-card__body {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: calc(var(--space-4) - var(--space-1) / 2); /* texto en x=232 */
}

/* Badge del tipo (color por slug del término) */
.actividad-card__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5.6875rem;  /* píldora 91×25 */
  min-height: 1.5625rem;
  margin: calc(var(--space-1) / 2) 0 0 calc(var(--space-1) / -2);
  padding-inline: calc(var(--space-1) * 1.75); /* 14px */
  border-radius: var(--radius-pill);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  text-transform: uppercase;
  background: var(--color-accent);
  color: var(--color-primary);
}
.actividad-card__badge--webinar { color: var(--color-ink); }
.actividad-card__badge--taller { background: var(--color-primary); color: var(--color-on-dark); }

.actividad-card__title {
  margin-top: calc(var(--space-1) * 1.25);
  font-size: calc(var(--text-lg) * .95); /* PDF 21.9px; line-height 1.1 de los h3 = paso de 24px */
  font-weight: var(--weight-semibold);
  color: var(--color-text);
}

.actividad-card__time {
  margin-block: calc(var(--space-1) * .625) var(--space-2); /* 5px: 15px de aire bajo el título, como el PDF */
  font-weight: var(--weight-semibold);
  line-height: var(--leading-body);
}

.actividad-card__link {
  margin-top: auto; /* alinea los enlaces al pie en tarjetas de distinta altura */
  gap: var(--space-1);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-snug);
  color: var(--color-primary);
}

/* ==========================================================
   Archivo /actividades/ y /tipo-de-actividad/{tipo}/
   ========================================================== */
.m-agenda--page { padding-block: var(--section-y); }

.m-agenda__eyebrow a { color: inherit; text-decoration: underline; text-underline-offset: .25em; }
.m-agenda__eyebrow a:hover { color: var(--color-primary); }

.m-agenda .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
}
.m-agenda .page-numbers {
  display: inline-grid;
  place-items: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding-inline: var(--space-2);
  border-radius: var(--radius-pill);
  font-weight: var(--weight-semibold);
  text-decoration: none;
  background: var(--color-bg);
  color: var(--color-primary);
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.m-agenda .page-numbers.current,
.m-agenda a.page-numbers:hover { background: var(--color-primary); color: var(--color-on-dark); }

/* ==========================================================
   Detalle de actividad (single-actividad.php)
   ========================================================== */
.actividad-single__band {
  padding-block: var(--section-y);
  background: var(--color-surface);
}
.actividad-single__title { margin-top: var(--space-1); }
.actividad-single__when {
  margin-top: var(--space-3);
  font-size: var(--text-lg);
  font-weight: var(--weight-semibold);
}

.actividad-single__main { padding-block: var(--section-y); }
.actividad-single__main > * + * { margin-top: var(--space-5); }
.actividad-single__thumb,
.actividad-single__content { max-width: 46rem; } /* ancho de lectura, alineado con el título */
.actividad-single__thumb { width: 100%; border-radius: var(--radius); }
.actividad-single__back {
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--weight-semibold);
  color: var(--color-primary);
}

/* ==========================================================
   Responsive
   ========================================================== */
@media (max-width: 67.99rem) {
  .actividad-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 48rem) and (max-width: 67.99rem) {
  /* Número impar en 2 columnas: la última se centra en vez de dejar media fila vacía. */
  .actividad-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc(50% - var(--space-2) / 2);
  }
}

@media (max-width: 47.99rem) {
  .actividad-grid { grid-template-columns: minmax(0, 1fr); margin-inline: 0; }
  .actividad-card { grid-template-columns: 5.5rem minmax(0, 1fr); }
  .actividad-card__body { padding-left: var(--space-3); }
}
