/* ── Calendar rows — "Próximos eventos" como agenda de calendario ── */
.cal-list { display:flex; flex-direction:column; gap:1rem; }
.cal-row {
  display:grid; grid-template-columns:76px 130px 1fr auto; gap:1.5rem; align-items:center;
  background:#fff; border:1px solid var(--ink-100); border-radius:16px; padding:1.1rem 1.5rem;
  cursor:pointer; transition:transform .3s var(--ease-out), box-shadow .3s, border-color .3s;
}
.cal-row:hover { transform:translateY(-4px); box-shadow:0 22px 48px -22px rgba(11,27,44,.22); border-color:var(--p2); }
.cal-row.is-featured { border-color:rgba(243,146,0,.35); background:linear-gradient(135deg,rgba(243,146,0,.05),#fff 60%); }
.cal-row__date {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--navy-900); color:#fff; border-radius:12px; padding:.8rem .3rem; text-align:center;
}
.cal-row.is-featured .cal-row__date { background:linear-gradient(160deg,var(--c1),#a86400); }
.cal-row__month { font-family:var(--f-d); font-size:.62rem; font-weight:700; letter-spacing:.1em; color:var(--p1); }
.cal-row.is-featured .cal-row__month { color:rgba(255,255,255,.85); }
.cal-row__day { font-family:var(--f-d); font-weight:800; font-size:1.9rem; line-height:1; margin:.15rem 0; }
.cal-row__wd { font-size:.62rem; color:rgba(255,255,255,.5); text-transform:capitalize; }
.cal-row__media { position:relative; width:130px; aspect-ratio:4/3; border-radius:10px; overflow:hidden; flex-shrink:0; background:linear-gradient(155deg,#0c2645,#061a35); }
.cal-row__media img { width:100%; height:100%; object-fit:contain; }
.cal-row__type {
  position:absolute; bottom:6px; left:6px; font-family:var(--f-d); font-size:.58rem; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; padding:.2rem .5rem; border-radius:4px; color:#fff;
}
.cal-row__type.ev-card__type--congreso { background:var(--c1); color:var(--navy-800); }
.cal-row__type.ev-card__type--seminario { background:rgba(1,117,201,.85); }
.cal-row__type.ev-card__type--visita { background:rgba(11,27,44,.85); }
.cal-row__type.ev-card__type--rueda { background:rgba(30,80,140,.85); }
.cal-row__title { font-family:var(--f-d); font-weight:700; font-size:1.05rem; color:var(--ink-900); line-height:1.3; display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; }
.cal-row__badge { font-family:var(--f-d); font-size:.6rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#a06400; background:rgba(243,146,0,.15); padding:.2rem .55rem; border-radius:99px; }
.cal-row__meta { font-size:.82rem; color:var(--ink-400); display:flex; align-items:center; gap:.4rem; margin-top:.4rem; }
.cal-row__side { display:flex; flex-direction:column; align-items:flex-end; gap:.5rem; }
.cal-row__fee { font-size:.72rem; color:var(--ink-400); white-space:nowrap; }
.cal-row__cta { color:var(--cta); font-weight:700; font-family:var(--f-d); display:flex; align-items:center; gap:.3rem; font-size:.85rem; white-space:nowrap; }
@media (max-width:760px) {
  .cal-row { grid-template-columns:56px 1fr; grid-template-areas:"date media" "date body" "date side"; row-gap:.6rem; }
  .cal-row__date { grid-area:date; padding:.6rem .2rem; }
  .cal-row__day { font-size:1.5rem; }
  .cal-row__media { display:none; }
  .cal-row__body { grid-area:body; }
  .cal-row__side { grid-area:side; flex-direction:row; justify-content:space-between; align-items:center; border-top:1px solid var(--ink-100); padding-top:.6rem; }
}
