/* Agenda anual · CSS extra (requiere css/edutic.css) */
.pg-agenda > * + * { margin-top: 3.5rem; }

/* Hero */
.pg-agenda__hero { padding: 2.75rem 3rem; background: var(--edu-green-soft); border: 1px solid var(--edu-green-line); border-radius: var(--edu-radius-lg); }
.pg-agenda__figs { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.pg-agenda__fig { padding: 1.125rem; background: var(--edu-white); border-radius: var(--edu-radius); }
.pg-agenda__fig .edu-num { font-size: 2.25rem; }
.pg-agenda__fig span { display: block; margin-top: .25rem; font-size: .75rem; color: var(--edu-text); }

/* Calendario */
.pg-agenda__stop { gap: .375rem; padding: 1.125rem; }
.pg-agenda__month { font-size: 1.375rem; letter-spacing: .04em; color: var(--edu-green-dark); }
.pg-agenda__stop-name { font-size: .9375rem; line-height: 1.3; color: var(--edu-ink); }
.pg-agenda__status { font-size: .75rem; font-weight: 700; color: var(--edu-green-dark); }

/* Formatos */
.pg-agenda__fmt { gap: .75rem; padding: 1.5rem; border-radius: 16px; }
.pg-agenda__fmt-t { margin: 0; font-size: 1.25rem; font-weight: 700; color: var(--edu-ink); }
.pg-agenda__fmt-p { margin: 0; font-size: .8125rem; line-height: 1.55; color: var(--edu-text); }
.pg-agenda__fmt-figs { display: flex; gap: 1.5rem; padding: .75rem 0; border-block: 1px solid var(--edu-border-2); }
.pg-agenda__fmt-figs .edu-num { font-size: 1.875rem; }
.pg-agenda__fmt-figs span { font-size: .6875rem; color: var(--edu-muted); }

/* Convocatoria */
.pg-agenda__call { padding: 2.5rem 2.75rem; background: var(--edu-green); color: var(--edu-white); border-radius: var(--edu-radius-lg); }
.pg-agenda__call-eyebrow { color: var(--edu-white); }
.pg-agenda__call-t { font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.375rem); line-height: 1.15; font-weight: 900; letter-spacing: -.02em; color: var(--edu-white); }
.pg-agenda__ejes li { display: flex; gap: .75rem; align-items: baseline; padding: .5625rem 0; border-bottom: 1px solid rgba(255, 255, 255, .35); }
.pg-agenda__ejes b { font-family: var(--edu-font-cond); font-size: 1.125rem; }
.pg-agenda__ejes span { font-size: .875rem; font-weight: 600; }

/* Cómo participar */
.pg-agenda__door { gap: .875rem; padding: 1.75rem; border-radius: 16px; }
.pg-agenda__door p { font-size: .875rem; line-height: 1.6; color: var(--edu-text); }
.pg-agenda__door-t { margin: 0; font-size: 1.375rem; font-weight: 700; color: var(--edu-ink); }
.pg-agenda__door--edtech { border: 2px solid var(--edu-green); }

/* Quiénes participaron */
.pg-agenda__who { display: flex; flex-direction: column; gap: 1.125rem; padding: 1.75rem; background: var(--edu-green-tint); border: 1px solid #EEF2E6; border-radius: 16px; }
.pg-agenda__who-t { margin: 0 0 .625rem; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--edu-muted); }
.pg-agenda__logos { display: flex; flex-wrap: wrap; gap: .5rem; }
.pg-agenda__logos li { padding: .5625rem .875rem; background: var(--edu-white); border: 1px solid var(--edu-border); border-radius: 10px; font-size: .8125rem; font-weight: 800; color: var(--edu-text); }
.pg-agenda__logos a { color: inherit; text-decoration: none; }
/* Logos de event: cuadrados con margen. Se recortan al centro de un círculo chico, con aire alrededor. */
.pg-agenda__logos--img { align-items: center; gap: .75rem; }
.pg-agenda__logos--img li { flex: none; padding: 0; background: transparent; border: 0; border-radius: 0; }
.pg-agenda__logos--img a, .pg-agenda__logos--img span { position: relative; display: block; width: 60px; height: 60px; border-radius: 50%; overflow: hidden; background: #fff; border: 1px solid var(--edu-border); }
.pg-agenda__logos--img a:hover, .pg-agenda__logos--img a:focus-visible { border-color: var(--edu-green); }
.pg-agenda__logos--img img { position: absolute; left: 50%; top: 50%; width: auto; max-width: none; height: 108%; aspect-ratio: 1; transform: translate(-50%, -50%); object-fit: contain; }

/* Panal de las UES. El ancho y el corrimiento de la fila par los calcula js/paginas/agenda.js. */
.pg-agenda__panal {
  --w: 58px;
  --g: 5px;
  --h: calc(var(--w) * 1.1547);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
}
.pg-agenda__panal li {
  flex: none;
  width: var(--w);
  height: var(--h);
  margin: 0 calc(var(--g) / 2) calc(var(--g) - var(--h) * .25);
  padding: 0;
  background: transparent;
  border: 0;
}
.pg-agenda__panal a,
.pg-agenda__panal span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  filter: drop-shadow(0 0 1px rgba(15, 23, 42, .18));
}
.pg-agenda__panal a:hover,
.pg-agenda__panal a:focus-visible { filter: drop-shadow(0 2px 5px rgba(15, 23, 42, .22)); }
.pg-agenda__panal img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: auto;
  max-width: none;
  height: 68%;
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  object-fit: contain;
}

/* Carga suave de los logos (js/paginas/agenda.js pone .is-suave): el logo aparece con un fundido al cargar.
   Si no existe en S3, su lugar muestra el nombre en rojo (.is-sin-logo). Sin JavaScript los logos se ven como siempre. */
.pg-agenda__who.is-suave img { opacity: 0; transition: opacity .45s ease; }
.pg-agenda__who.is-suave .is-lista img { opacity: 1; }
.pg-agenda__who .is-sin-logo { display: grid !important; place-items: center; }
.pg-agenda__who .is-sin-logo::after { content: attr(data-nombre); padding: 0 .3rem; font-size: .5625rem; font-weight: 700; line-height: 1.15; text-align: center; color: #b42318; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
@media (prefers-reduced-motion: reduce) { .pg-agenda__who.is-suave img { transition: none; } }

/* Resultados */
.pg-agenda__result { gap: .5rem; background: #F7F4EC; border-color: #ECE6D9; }
.pg-agenda__result b { font-size: .9375rem; line-height: 1.4; color: var(--edu-ink); }
.pg-agenda__result-tag { font-size: .625rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--edu-muted); }
.pg-agenda__result-more { margin-top: auto; font-size: .75rem; font-weight: 700; color: var(--edu-green-dark); }

/* Avísame */
.pg-agenda__notify { display: flex; flex-wrap: wrap; align-items: center; gap: .875rem; height: 100%; padding: 1.375rem 1.625rem; background: var(--edu-white); border: 1px solid var(--edu-border); border-radius: 16px; }
.pg-agenda__mail { width: 230px; max-width: 100%; }
.pg-agenda__prev { gap: .375rem; font-size: .75rem; }
.pg-agenda__prev b { font-size: .8125rem; color: var(--edu-ink); }
.pg-agenda__prev a { font-weight: 700; color: var(--edu-green-dark); text-decoration: none; }

@media (max-width: 767.98px) {
  .pg-agenda__hero { padding: 1.75rem 1.25rem; }
  .pg-agenda__call { padding: 1.75rem 1.25rem; }
  .pg-agenda__mail { width: 100%; }
}
