/* P007-R4 v0.17.40.3 - tarjetas compactas + cierre sin hora centrado. */
.eventgrid{
  grid-template-columns:repeat(var(--event-cols-desktop,2),minmax(0,1fr));
  gap:20px;
  align-items:start;
}
.eventgrid .event{
  align-self:start;
  min-width:0;
  overflow:hidden;
  border:1px solid #d6e2f2;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,47,123,.07);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.eventgrid .event:hover{
  transform:translateY(-2px);
  border-color:#c7d8ed;
  box-shadow:0 13px 30px rgba(0,47,123,.11);
}
.eventgrid .event.event-media-enhanced{
  padding:0;
  display:flex;
  flex-direction:column;
}
.eventgrid .event:not(.event-media-enhanced){
  padding:16px 17px 17px;
}
.event-media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:clamp(238px,23vw,300px);
  overflow:hidden;
  padding:9px;
  background:linear-gradient(180deg,#fbfcfe,#f3f7fc);
  border-bottom:1px solid var(--line,#d6e2f2);
  text-decoration:none;
}
.event-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:11px;
  background:#fff;
}
.event-image-landscape .event-media{
  height:auto;
  aspect-ratio:16/10;
}
.event-image-portrait .event-media{
  height:clamp(255px,25vw,320px);
}
.event-media:focus-visible{
  outline:4px solid #78a9e7;
  outline-offset:-4px;
}
.event-content{
  position:relative;
  padding:14px 16px 16px;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-width:0;
}
.event-content .eyebrow{
  margin-top:3px;
  font-size:10px;
  letter-spacing:.075em;
  color:#916b14;
}
.event-content h3{
  margin:4px 0 9px;
  font-size:18px;
  line-height:1.22;
  min-height:0;
  color:#08234d;
}
.event-content .facts{
  gap:7px;
  font-size:11px;
  line-height:1.2;
}
.event-content .badge{
  padding:4px 8px;
  font-size:10px;
}
.event-content .muted{
  margin:11px 0 12px;
  padding-top:10px;
  border-top:1px solid #e4ebf4;
  color:#5f6f87;
  font-size:13px;
  line-height:1.25;
}
.eventgrid .event .event-close-date{
  text-align:center;
  font-weight:850;
  color:#0a315f;
  letter-spacing:.01em;
  font-size:14px;
}
.event-content .btn{
  width:100%;
  align-self:stretch;
  min-height:42px;
  padding:9px 14px;
  border:1px solid #0a4ca3;
  border-radius:9px;
  background:linear-gradient(135deg,#064699,#073b80);
  box-shadow:0 5px 13px rgba(0,47,123,.12);
  font-size:14px;
  letter-spacing:.005em;
}
.event-content .btn:hover{
  background:linear-gradient(135deg,#0754b5,#063574);
  box-shadow:0 7px 16px rgba(0,47,123,.17);
}
.event-content .archive-button{
  box-shadow:none;
}
.event-image-preview{
  margin-top:10px;
  border:1px solid #d6e2f2;
  border-radius:12px;
  background:#f7f9fc;
  padding:10px;
  max-width:520px;
}
.event-image-preview img{
  display:block;
  max-width:100%;
  max-height:360px;
  margin:auto;
  object-fit:contain;
  border-radius:8px;
  background:#fff;
}
.event-presentation-admin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,220px));
  gap:14px;
  align-items:end;
}
@media(max-width:860px){
  .eventgrid{
    grid-template-columns:repeat(var(--event-cols-mobile,1),minmax(0,1fr));
    gap:16px;
  }
  .eventgrid .event{
    width:100%;
  }
  .event-media{
    height:min(72vw,330px);
    padding:7px;
  }
  .event-image-landscape .event-media{
    height:auto;
    aspect-ratio:16/10;
  }
  .event-image-portrait .event-media{
    height:min(88vw,390px);
  }
  .event-content{
    padding:14px 15px 15px;
  }
  .event-content h3{
    font-size:18px;
  }
}
@media(max-width:560px){
  .eventgrid{
    margin-top:16px;
    gap:14px;
  }
  .eventgrid .event{
    border-radius:16px;
    box-shadow:0 7px 20px rgba(0,47,123,.07);
  }
  .event-media{
    height:min(76vw,300px);
    padding:6px;
  }
  .event-image-landscape .event-media{
    aspect-ratio:16/10;
  }
  .event-image-portrait .event-media{
    height:min(94vw,390px);
  }
  .event-content{
    padding:13px 14px 14px;
  }
  .event-content .eyebrow{
    font-size:9px;
  }
  .event-content h3{
    margin-top:4px;
    font-size:17px;
  }
  .event-content .facts{
    gap:6px;
  }
  .event-content .muted{
    margin:10px 0 11px;
    font-size:12px;
  }
  .event-content .btn{
    min-height:45px;
    font-size:14px;
  }
  .event-presentation-admin-grid{
    grid-template-columns:1fr;
  }
}
@media(prefers-reduced-motion:reduce){
  .eventgrid .event{transition:none}
}
