/* Eventos y webinars (eventos-y-webinars.html) — usa los tokens de marca definidos en style.css (--green, --purple, --cream, etc.) */

.ev-hero{padding:4.5rem 0 3rem;text-align:center}
.ev-wrap{max-width:920px}
.ev-hero .section-label{display:block}
.ev-hero h1{margin-bottom:1rem}
.ev-lede{font-size:1.08rem;color:var(--gray-700);max-width:680px;margin:0 auto}
.ev-hub-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.5rem;font-size:.92rem;font-weight:700;color:var(--purple)}
.ev-hub-link:hover{text-decoration:underline}

.ev-section{padding-top:0}
.ev-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:2.5rem}
.ev-chip{padding:.55rem 1.15rem;border-radius:var(--r-pill);font-size:.86rem;font-weight:700;background:var(--white);border:1.5px solid var(--gray-300);color:var(--gray-700);transition:all var(--t)}
.ev-chip:hover{border-color:var(--green);color:var(--green-dark)}
.ev-chip.active{background:var(--purple);border-color:var(--purple);color:var(--white)}

.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}
.ev-card{display:flex;flex-direction:column;padding:1.75rem;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:transform var(--t),box-shadow var(--t)}
.ev-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.ev-card.ev-hidden{display:none}
.ev-card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}
.ev-card-tag{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-dark);background:var(--green-soft);padding:.25rem .55rem;border-radius:var(--r-sm)}
.ev-card-format{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500);background:var(--gray-100);padding:.25rem .55rem;border-radius:var(--r-sm)}
.ev-card h3{font-size:1.08rem;margin-bottom:.5rem}
.ev-card-date{font-size:.88rem;font-weight:700;color:var(--purple);margin-bottom:.65rem}
.ev-card-desc{font-size:.92rem;color:var(--gray-700);margin-bottom:1.25rem;flex:1}
.ev-card-btn{align-self:flex-start;font-size:.86rem;padding:.6rem 1.15rem}
.ev-empty{grid-column:1/-1;text-align:center;color:var(--gray-500);font-size:.96rem;padding:2rem 0}

/* Best-effort SharePoint preview — see the comment on render_event_card() in
   tools/build.pl for why a blocked iframe has no reliable failure signal;
   the register button above never depends on this actually rendering. */
.ev-embed{margin-bottom:1.25rem;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--gray-100);background:var(--cream)}
.ev-embed iframe{width:100%;height:220px;border:none;display:block}
.ev-embed-note{font-size:.76rem;color:var(--gray-500);font-style:italic;padding:.5rem .75rem;margin:0;background:var(--gray-100)}

.ev-cta-band{background:linear-gradient(180deg,var(--cream) 0%,var(--gray-100) 100%);text-align:center}
.ev-cta-band h2{margin-bottom:.75rem}
.ev-cta-band p{max-width:560px;margin:0 auto 1.75rem;color:var(--gray-700)}
.ev-cta-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

@media (max-width:640px){
  .ev-grid{grid-template-columns:1fr}
  .ev-filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem}
  .ev-chip{white-space:nowrap}
}
