/* club_events — estilos de eventos, boletos, agenda 1:1 y check-in. Usa los tokens --club-* de club_core. */

.club-flip { transform: scaleX(-1); }
.club-ev-section { padding-top: clamp(2rem, 1.5rem + 2vw, 3rem); }

/* ---------- filtros ---------- */
.club-ev-filters { display: grid; gap: var(--club-space-4); margin-bottom: var(--club-space-7); }
.club-ev-filters__chips { display: flex; gap: var(--club-space-2); overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; -webkit-overflow-scrolling: touch; }
.club-ev-filters__chips::-webkit-scrollbar { display: none; }
@media (min-width: 760px) { .club-ev-filters__chips { flex-wrap: wrap; overflow: visible; } }
.club-ev-chip { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 40px; padding: 0 var(--club-space-4); border: 1px solid var(--club-border); border-radius: 999px; background: var(--club-surface); color: var(--club-text); font-size: var(--club-fs-sm); font-weight: 500; text-decoration: none; white-space: nowrap; transition: border-color .15s, background .15s, color .15s; }
.club-ev-chip:hover { border-color: var(--club-border-strong); color: var(--club-heading); }
.club-ev-chip.is-active { background: var(--club-ink); border-color: var(--club-ink); color: #fff; }
.club-ev-chip:focus-visible { outline: 3px solid var(--club-accent); outline-offset: 2px; }
.club-ev-filters__row { display: flex; flex-wrap: wrap; gap: var(--club-space-3); align-items: center; justify-content: space-between; }
.club-ev-filters__select { width: auto; min-width: 220px; max-width: 100%; }
.club-ev-viewtoggle { display: inline-flex; border: 1px solid var(--club-border); border-radius: var(--club-radius-md, 10px); overflow: hidden; }
.club-ev-viewtoggle a { display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: 0 var(--club-space-4); color: var(--club-text-muted); font-size: var(--club-fs-sm); font-weight: 500; text-decoration: none; }
.club-ev-viewtoggle a + a { border-left: 1px solid var(--club-border); }
.club-ev-viewtoggle a.is-active { background: var(--club-cyan-50); color: var(--club-primary); }
.club-ev-viewtoggle .club-icon { width: 18px; height: 18px; }

/* ---------- listado ---------- */
.club-ev-month { font-size: var(--club-fs-lg); font-weight: 700; color: var(--club-heading); margin: var(--club-space-8) 0 var(--club-space-4); padding-bottom: var(--club-space-2); border-bottom: 1px solid var(--club-border); }
.club-ev-month:first-of-type { margin-top: 0; }
.club-ev-month--sub { margin-top: var(--club-space-8); }
.club-ev-list { display: grid; gap: var(--club-space-5); }
.club-ev-pastlink { margin: var(--club-space-7) 0 0; text-align: center; font-weight: 600; }
.club-ev-pastlink a { display: inline-flex; align-items: center; gap: .4rem; }
.club-ev-pastlink .club-icon { width: 18px; height: 18px; }

/* ---------- tarjeta de evento ---------- */
.club-ev-card { position: relative; display: grid; grid-template-columns: 1fr; background: var(--club-surface); border: 1px solid var(--club-border); border-radius: var(--club-radius-lg, 14px); overflow: hidden; box-shadow: var(--club-shadow-xs, 0 1px 2px rgba(14,23,38,.05)); transition: box-shadow .2s, border-color .2s, transform .2s; }
.club-ev-card:hover { border-color: var(--club-border-strong); box-shadow: var(--club-shadow-md, 0 8px 24px rgba(14,23,38,.08)); }
.club-ev-card:focus-within { outline: 3px solid var(--club-accent); outline-offset: 2px; }
.club-ev-card.is-cancelled { opacity: .75; }
.club-ev-card__media { display: block; aspect-ratio: 2 / 1; background: var(--club-gray-100); }
.club-ev-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.club-ev-card__date { position: absolute; top: var(--club-space-3); left: var(--club-space-3); display: flex; flex-direction: column; align-items: center; min-width: 58px; padding: .4rem .5rem .45rem; background: #fff; border-radius: 10px; box-shadow: 0 4px 14px rgba(14,23,38,.16); line-height: 1; text-align: center; }
.club-ev-card__dow { font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--club-text-subtle); }
.club-ev-card__day { font-size: 1.6rem; font-weight: 700; color: var(--club-heading); margin: .15rem 0; }
.club-ev-card__mon { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--club-primary); }
.club-ev-card__body { display: flex; flex-direction: column; gap: var(--club-space-2); padding: var(--club-space-5); min-width: 0; }
.club-ev-card__tags { display: flex; flex-wrap: wrap; gap: var(--club-space-2); }
.club-ev-card__title { margin: 0; font-size: var(--club-fs-lg); line-height: var(--club-lh-snug); }
.club-ev-card__title a { color: var(--club-heading); text-decoration: none; }
.club-ev-card__title a::after { content: ""; position: absolute; inset: 0; }
.club-ev-card__title a:hover { color: var(--club-primary); }
.club-ev-card__meta { display: flex; flex-wrap: wrap; gap: var(--club-space-2) var(--club-space-5); margin: 0; color: var(--club-text-muted); font-size: var(--club-fs-sm); }
.club-ev-card__meta span { display: inline-flex; align-items: center; gap: .35rem; }
.club-ev-card__meta .club-icon { width: 16px; height: 16px; flex: 0 0 16px; color: var(--club-text-subtle); }
.club-ev-card__summary { margin: 0; color: var(--club-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.club-ev-card__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--club-space-2); margin-top: auto; padding-top: var(--club-space-2); }
.club-ev-card__price { font-size: var(--club-fs-sm); font-weight: 600; color: var(--club-heading); }
.club-ev-card .club-pill, .club-ev-card .club-tag { position: relative; z-index: 1; }
.club-tag--soft { background: var(--club-gray-50); }
.club-tag--member { display: inline-flex; align-items: center; gap: .3rem; background: var(--club-cyan-50); color: var(--club-cyan-800); }
.club-tag--member .club-icon { width: 13px; height: 13px; }
@media (min-width: 760px) {
  .club-ev-card { grid-template-columns: 300px 1fr; }
  .club-ev-card__media { aspect-ratio: auto; height: 100%; min-height: 170px; }
  .club-ev-card--compact { grid-template-columns: 220px 1fr; }
  .club-ev-card--compact .club-ev-card__media { min-height: 130px; }
}

/* ilustración sin portada */
.club-ev-ph { position: relative; width: 100%; height: 100%; min-height: 140px; display: grid; place-items: center; background: radial-gradient(120% 120% at 100% 0%, var(--club-ink-3) 0%, var(--club-ink) 60%); color: rgba(255,255,255,.9); overflow: hidden; }
.club-ev-ph::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(0,184,224,.10) 0 2px, transparent 2px 22px); }
.club-ev-ph__icon { position: relative; width: 56px; height: 56px; color: var(--club-accent); stroke-width: 1.4; }
.club-ev-ph__date { display: none; }
.club-ev-ph--conferencia, .club-ev-ph--webinar { background: radial-gradient(120% 120% at 0% 100%, #0b4c63 0%, var(--club-ink) 65%); }
.club-ev-ph--taller, .club-ev-ph--visita { background: radial-gradient(120% 120% at 100% 100%, #34405a 0%, var(--club-ink) 65%); }
.club-ev-ph--feria, .club-ev-ph--comida { background: radial-gradient(120% 120% at 0% 0%, #4a3a17 0%, var(--club-ink) 62%); }
.club-ev-ph--feria .club-ev-ph__icon, .club-ev-ph--comida .club-ev-ph__icon { color: #e3c178; }

/* ---------- calendario mensual ---------- */
.club-ev-cal__head { display: flex; align-items: center; justify-content: center; gap: var(--club-space-4); margin-bottom: var(--club-space-4); }
.club-ev-cal__title { margin: 0; font-size: var(--club-fs-xl); min-width: 12ch; text-align: center; }
.club-ev-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border: 1px solid var(--club-border); border-radius: var(--club-radius-lg, 14px); overflow: hidden; background: var(--club-border); gap: 1px; }
.club-ev-cal__dow { background: var(--club-gray-50); padding: .5rem; text-align: center; font-size: var(--club-fs-xs); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--club-text-muted); }
.club-ev-cal__cell { background: var(--club-surface); min-height: 112px; padding: .4rem; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.club-ev-cal__cell.is-empty { background: var(--club-gray-25); }
.club-ev-cal__num { font-size: var(--club-fs-sm); font-weight: 600; color: var(--club-text-muted); }
.club-ev-cal__cell.is-today .club-ev-cal__num { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--club-primary); color: #fff; }
.club-ev-cal__ev { display: block; padding: 2px 6px; border-radius: 6px; background: var(--club-cyan-50); color: var(--club-cyan-800); font-size: .74rem; line-height: 1.3; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-left: 3px solid var(--club-accent); }
.club-ev-cal__ev:hover { background: var(--club-cyan-100); }
.club-ev-cal__ev.is-cancelled { text-decoration: line-through; opacity: .7; }
.club-ev-cal__ev--feria, .club-ev-cal__ev--comida { background: var(--club-gold-50); color: var(--club-gold-600); border-left-color: var(--club-gold); }
.club-ev-cal__ev--taller, .club-ev-cal__ev--visita { background: var(--club-gray-100); color: var(--club-gray-700); border-left-color: var(--club-slate); }
.club-ev-cal__time { font-weight: 700; }
.club-ev-cal__more { font-size: .72rem; color: var(--club-text-muted); }
.club-ev-cal__none { text-align: center; margin-top: var(--club-space-6); }
@media (max-width: 759px) {
  .club-ev-cal__cell { min-height: 52px; align-items: center; padding: .3rem .1rem; }
  .club-ev-cal__ev { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: var(--club-accent); font-size: 0; }
  .club-ev-cal__ev--feria, .club-ev-cal__ev--comida { background: var(--club-gold); }
  .club-ev-cal__ev--taller, .club-ev-cal__ev--visita { background: var(--club-slate); }
  .club-ev-cal__cell.has-events { flex-flow: row wrap; justify-content: center; align-content: flex-start; }
  .club-ev-cal__cell.has-events .club-ev-cal__num { flex-basis: 100%; text-align: center; }
  .club-ev-cal__more { display: none; }
  .club-ev-cal__dow { padding: .4rem 0; font-size: .66rem; }
}

/* ---------- ficha ---------- */
.club-ev-hero h1 { font-size: var(--club-fs-3xl); }
.club-ev-hero__meta { list-style: none; display: flex; flex-wrap: wrap; gap: var(--club-space-3) var(--club-space-6); margin: var(--club-space-5) 0 0; padding: 0; color: #dfe6f0; font-weight: 500; }
.club-ev-hero__meta li { display: inline-flex; align-items: center; gap: .5rem; }
.club-ev-hero__meta .club-icon { width: 18px; height: 18px; color: var(--club-accent); }
.club-ev-preview { background: var(--club-gold-50); border-bottom: 1px solid var(--club-gold-100); color: var(--club-gold-600); padding: .65rem 0; font-size: var(--club-fs-sm); }
.club-ev-preview .club-icon { width: 16px; height: 16px; vertical-align: -3px; }
.club-ev-detail { display: grid; gap: var(--club-space-7); margin-top: var(--club-space-2); }
@media (min-width: 980px) {
  .club-ev-detail { grid-template-columns: minmax(0, 1fr) 380px; align-items: start; }
  .club-ev-detail__side { position: sticky; top: calc(var(--club-header-h, 72px) + 1rem); }
}
.club-ev-cover { margin: 0 0 var(--club-space-7); border-radius: var(--club-radius-lg, 14px); overflow: hidden; background: var(--club-gray-100); }
.club-ev-cover img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; }
.club-ev-block { margin-bottom: var(--club-space-8); }
.club-ev-block h2 { font-size: var(--club-fs-xl); margin: 0 0 var(--club-space-4); }
.club-ev-prose { color: var(--club-text); line-height: var(--club-lh); }
.club-ev-prose h3, .club-ev-prose h4 { margin: var(--club-space-6) 0 var(--club-space-3); }
.club-ev-prose ul, .club-ev-prose ol { padding-left: 1.25rem; }
.club-ev-prose li + li { margin-top: .35rem; }
.club-ev-prose blockquote { margin: var(--club-space-5) 0; padding-left: var(--club-space-4); border-left: 3px solid var(--club-accent); color: var(--club-text-muted); }
.club-ev-speakers { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--club-space-4); grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.club-ev-speakers li { display: flex; align-items: center; gap: var(--club-space-3); }
.club-ev-speakers li div { display: flex; flex-direction: column; }
.club-ev-kv { font-size: var(--club-fs-base); }
.club-ev-kv .club-icon { width: 14px; height: 14px; vertical-align: -2px; }
.club-ev-net-note { display: flex; gap: var(--club-space-4); padding: var(--club-space-5); border-radius: var(--club-radius-lg, 14px); background: var(--club-cyan-50); }
.club-ev-net-note h2 { font-size: var(--club-fs-lg); margin-bottom: var(--club-space-2); }
.club-ev-net-note p { margin: 0; }
.club-ev-locked { text-align: left; }
.club-ev-reg { padding: var(--club-space-6); }
.club-ev-reg__title { font-size: var(--club-fs-lg); margin: 0 0 var(--club-space-4); }
.club-ev-prices { display: grid; gap: var(--club-space-2); padding-bottom: var(--club-space-4); margin-bottom: var(--club-space-4); border-bottom: 1px solid var(--club-border); }
.club-ev-prices > div { display: flex; align-items: baseline; justify-content: space-between; gap: var(--club-space-3); }
.club-ev-prices span { color: var(--club-text-muted); }
.club-ev-prices strong { font-size: var(--club-fs-lg); color: var(--club-heading); }
.club-ev-prices .club-help { margin: 0; }
.club-ev-seats { display: flex; align-items: center; gap: .5rem; margin: 0 0 var(--club-space-4); font-size: var(--club-fs-sm); font-weight: 600; color: var(--club-text-muted); }
.club-ev-seats.is-low { color: var(--club-warning); }
.club-ev-seats .club-icon { width: 18px; height: 18px; }
.club-ev-reg .club-form { display: grid; gap: var(--club-space-4); }
.club-ev-reg .club-btn--block + .club-btn--block { margin-top: var(--club-space-2); }
.club-ev-reg .club-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--club-space-3); }
@media (max-width: 400px) { .club-ev-reg .club-form__row { grid-template-columns: 1fr; } }
.club-ev-as { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0; }
.club-ev-closed { margin: 0 0 var(--club-space-4); font-weight: 600; color: var(--club-heading); }
.club-ev-mine p { margin: 0 0 var(--club-space-3); }
.club-ev-memberhint { margin: 0; }
.club-ev-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.club-ev-why .club-card h3 { margin: var(--club-space-3) 0 var(--club-space-2); font-size: var(--club-fs-lg); }
.club-ev-why .club-card p { margin: 0; }

/* ---------- boleto ---------- */
.club-ev-ticket-wrap { padding-top: var(--club-space-7); }
.club-ev-ticket { background: var(--club-surface); border: 1px solid var(--club-border); border-radius: 18px; overflow: hidden; box-shadow: var(--club-shadow-lg, 0 18px 40px rgba(14,23,38,.12)); }
.club-ev-ticket__head { display: flex; align-items: center; justify-content: space-between; gap: var(--club-space-3); padding: var(--club-space-4) var(--club-space-6); background: var(--club-ink); }
.club-ev-ticket__logo { height: 34px; width: auto; }
.club-ev-ticket__body { padding: var(--club-space-6); }
.club-ev-ticket__title { font-size: var(--club-fs-2xl); margin: var(--club-space-1) 0 var(--club-space-5); line-height: var(--club-lh-tight); }
.club-ev-ticket__stub { position: relative; padding: var(--club-space-6); border-top: 2px dashed var(--club-border-strong); background: var(--club-gray-25); text-align: center; }
.club-ev-ticket__stub::before, .club-ev-ticket__stub::after { content: ""; position: absolute; top: -13px; width: 24px; height: 24px; border-radius: 50%; background: var(--club-bg-soft, #f5f7fa); border: 1px solid var(--club-border); }
.club-ev-ticket__stub::before { left: -13px; }
.club-ev-ticket__stub::after { right: -13px; }
.club-ev-qr { display: inline-block; padding: 12px; background: #fff; border-radius: 12px; border: 1px solid var(--club-border); line-height: 0; }
.club-ev-qr svg { width: 232px; height: 232px; max-width: 70vw; max-height: 70vw; }
.club-ev-code { margin: var(--club-space-3) 0 var(--club-space-2); font-family: var(--club-font-mono); font-size: 1.5rem; font-weight: 700; letter-spacing: .14em; color: var(--club-heading); }
.club-ev-code-sm { font-family: var(--club-font-mono); font-size: var(--club-fs-sm); letter-spacing: .08em; color: var(--club-text-muted); }
.club-ev-ticket__msg { margin: var(--club-space-2) auto var(--club-space-4); max-width: 46ch; color: var(--club-text); }
.club-ev-ticket__msg.is-ok { color: var(--club-success); font-weight: 600; display: inline-flex; align-items: center; gap: .4rem; }
.club-ev-ticket__msg .club-icon { width: 18px; height: 18px; }
.club-ev-ticket--cancelled .club-ev-ticket__body { opacity: .7; }
.club-ev-ticket__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--club-space-3); margin: var(--club-space-6) 0; }
.club-ev-ticket__actions .club-help { flex-basis: 100%; text-align: center; margin: 0; }
.club-ev-ticket__note { text-align: center; }
.club-ev-cancel { margin: var(--club-space-6) 0 var(--club-space-3); text-align: center; }
.club-ev-cancel summary { cursor: pointer; color: var(--club-text-muted); font-size: var(--club-fs-sm); }
.club-ev-cancel form { margin-top: var(--club-space-3); }
.club-ev-staff { margin-bottom: var(--club-space-6); border: 2px solid var(--club-accent); background: var(--club-cyan-50); }
.club-ev-staff__head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: var(--club-space-3); }
.club-ev-staff__head .club-icon { width: 20px; height: 20px; color: var(--club-primary); }
.club-ev-staff__head .club-muted { font-size: var(--club-fs-xs); margin-left: auto; }
.club-ev-staff__ok { color: var(--club-success); font-weight: 600; font-size: var(--club-fs-md); }
.club-ev-staff__bad { color: var(--club-danger); font-weight: 600; }
.club-ev-staff .club-icon { width: 18px; height: 18px; vertical-align: -3px; }
.club-ev-rot h2 { font-size: var(--club-fs-lg); margin: 0 0 var(--club-space-3); }
.club-ev-rot__list { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--club-space-3); }
.club-ev-rot__list li { display: grid; gap: .15rem; padding: var(--club-space-3); border-radius: 10px; background: var(--club-gray-50); }
.club-ev-rot__n { font-size: var(--club-fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--club-primary); }
@media print {
  .club-header, .club-footer, .club-ev-ticket__actions, .club-ev-cancel, .club-ev-staff, .club-ev-ticket__note, .club-alert, .club-skip { display: none !important; }
  .club-ev-ticket { box-shadow: none; }
}

/* ---------- área de miembros ---------- */
.club-ev-tickets { display: grid; gap: var(--club-space-4); }
.club-ev-tk { display: grid; grid-template-columns: auto 1fr; gap: var(--club-space-4); align-items: center; }
.club-ev-tk__date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 60px; height: 64px; border-radius: 12px; background: var(--club-cyan-50); color: var(--club-primary); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.club-ev-tk__date b { font-size: 1.5rem; color: var(--club-heading); line-height: 1; }
.club-ev-tk__body h3 { margin: 0; font-size: var(--club-fs-md); }
.club-ev-tk__body h3 a { color: var(--club-heading); text-decoration: none; }
.club-ev-tk__body p { margin: .2rem 0 0; }
.club-ev-tk__actions { grid-column: 1 / -1; display: flex; gap: var(--club-space-2); }
@media (min-width: 640px) { .club-ev-tk { grid-template-columns: auto 1fr auto; } .club-ev-tk__actions { grid-column: auto; } }
.club-ev-hub { align-items: start; }
.club-ev-hub .club-form { display: grid; gap: var(--club-space-4); }
.club-ev-checks { display: flex; flex-wrap: wrap; gap: var(--club-space-2); max-height: 260px; overflow-y: auto; padding: 2px; }
.club-ev-checkchip { position: relative; }
.club-ev-checkchip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.club-ev-checkchip span { display: inline-flex; align-items: center; min-height: 36px; padding: 0 .8rem; border: 1px solid var(--club-border); border-radius: 999px; font-size: var(--club-fs-sm); cursor: pointer; background: var(--club-surface); }
.club-ev-checkchip input:checked + span { background: var(--club-primary); border-color: var(--club-primary); color: #fff; }
.club-ev-checkchip input:focus-visible + span { outline: 3px solid var(--club-accent); outline-offset: 2px; }
.club-ev-checkchip input:disabled + span { opacity: .45; cursor: not-allowed; }
.club-ev-matches { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--club-space-4); }
.club-ev-match { display: grid; grid-template-columns: auto 1fr; gap: var(--club-space-3); align-items: start; padding-bottom: var(--club-space-4); border-bottom: 1px solid var(--club-border); }
.club-ev-match:last-child { border-bottom: 0; padding-bottom: 0; }
.club-ev-match__body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.club-ev-match__body .club-tag { align-self: flex-start; }
.club-ev-match__why { display: inline-flex; align-items: center; gap: .3rem; font-size: var(--club-fs-sm); color: var(--club-primary); font-weight: 500; }
.club-ev-match__why .club-icon { width: 15px; height: 15px; }
.club-ev-match .club-btn { grid-column: 2; justify-self: start; }

.club-ev-h2 { display: flex; align-items: center; gap: .5rem; font-size: var(--club-fs-lg); margin: var(--club-space-7) 0 var(--club-space-3); }
.club-ev-agenda section:first-child .club-ev-h2 { margin-top: 0; }
.club-ev-mts { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--club-space-3); }
.club-ev-mts--muted { opacity: .8; }
.club-ev-mt__link { display: grid; grid-template-columns: auto 1fr auto; gap: var(--club-space-3); align-items: center; padding: var(--club-space-4); border: 1px solid var(--club-border); border-radius: var(--club-radius-lg, 14px); background: var(--club-surface); color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.club-ev-mt__link:hover { border-color: var(--club-border-strong); box-shadow: var(--club-shadow-sm, 0 2px 8px rgba(14,23,38,.06)); }
.club-ev-mt__body { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.club-ev-mt__body strong { color: var(--club-heading); }
.club-ev-mt__body .club-icon { width: 14px; height: 14px; vertical-align: -2px; }
.club-ev-mt__side { display: inline-flex; align-items: center; gap: .3rem; }
.club-ev-mt__side .club-icon { width: 18px; height: 18px; color: var(--club-text-subtle); }
@media (max-width: 520px) { .club-ev-mt__link { grid-template-columns: auto 1fr; } .club-ev-mt__side { grid-column: 2; } }

.club-ev-newmt { display: grid; gap: var(--club-space-5); max-width: 760px; }
.club-ev-newmt .club-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--club-space-4); }
@media (max-width: 520px) { .club-ev-newmt .club-form__row { grid-template-columns: 1fr; } }
.club-ev-picked { display: flex; align-items: center; gap: var(--club-space-3); padding: var(--club-space-3); border: 1px solid var(--club-border); border-radius: 12px; background: var(--club-gray-25); }
.club-ev-picked > div { flex: 1; min-width: 0; }
.club-ev-search { position: relative; }
.club-ev-search__results { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 4px; list-style: none; background: var(--club-surface); border: 1px solid var(--club-border); border-radius: 12px; box-shadow: var(--club-shadow-lg, 0 18px 40px rgba(14,23,38,.12)); max-height: 320px; overflow-y: auto; }
.club-ev-search__results li { padding: .6rem .75rem; border-radius: 8px; cursor: pointer; display: flex; flex-direction: column; }
.club-ev-search__results li[aria-selected="true"], .club-ev-search__results li:hover { background: var(--club-cyan-50); }
.club-ev-search__results li span { font-size: var(--club-fs-sm); color: var(--club-text-muted); }
.club-ev-search__results li.is-empty { cursor: default; color: var(--club-text-muted); }
.club-ev-slots { display: grid; gap: var(--club-space-3); }
@media (min-width: 760px) { .club-ev-slots { grid-template-columns: repeat(3, 1fr); } }
.club-ev-slot { display: flex; align-items: center; gap: .5rem; }
.club-ev-slot__n { flex: 0 0 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--club-gray-100); font-size: var(--club-fs-sm); font-weight: 700; color: var(--club-text-muted); }
.club-ev-slot .club-input { min-width: 0; }

.club-ev-meeting { display: grid; gap: var(--club-space-5); max-width: 820px; }
.club-ev-meeting__who { display: flex; align-items: flex-start; gap: var(--club-space-4); margin-bottom: var(--club-space-5); }
.club-ev-meeting__who > div { flex: 1; min-width: 0; }
.club-ev-meeting__who p { margin: 0; }
.club-ev-meeting__name { margin: .1rem 0; font-size: var(--club-fs-xl); display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.club-ev-quote { margin: var(--club-space-5) 0 0; padding: var(--club-space-4); border-left: 3px solid var(--club-accent); background: var(--club-gray-50); border-radius: 0 10px 10px 0; color: var(--club-text); }
.club-ev-note { margin: var(--club-space-4) 0 0; color: var(--club-text-muted); }
.club-ev-note .club-icon { width: 16px; height: 16px; vertical-align: -3px; }
.club-ev-pick { border: 0; margin: 0 0 var(--club-space-4); padding: 0; display: grid; gap: var(--club-space-3); }
@media (min-width: 640px) { .club-ev-pick { grid-template-columns: repeat(3, 1fr); } }
.club-ev-pick__opt { display: flex; gap: .6rem; align-items: flex-start; padding: var(--club-space-4); border: 1px solid var(--club-border); border-radius: 12px; cursor: pointer; }
.club-ev-pick__opt:has(input:checked) { border-color: var(--club-primary); background: var(--club-cyan-50); box-shadow: 0 0 0 1px var(--club-primary) inset; }
.club-ev-pick__opt input { margin-top: .25rem; accent-color: var(--club-primary); }
.club-ev-pick__opt.is-past { opacity: .5; cursor: not-allowed; }
.club-ev-more { margin-top: var(--club-space-4); border-top: 1px solid var(--club-border); padding-top: var(--club-space-3); }
.club-ev-more summary { cursor: pointer; font-weight: 600; color: var(--club-primary); padding: .35rem 0; }
.club-ev-more form { display: grid; gap: var(--club-space-3); margin-top: var(--club-space-3); }
.club-ev-more form + form { border-top: 1px dashed var(--club-border); padding-top: var(--club-space-4); }
.club-ev-slotlist { list-style: none; margin: 0 0 var(--club-space-4); padding: 0; display: grid; gap: .4rem; }
.club-ev-slotlist .club-icon { width: 16px; height: 16px; vertical-align: -3px; color: var(--club-text-subtle); }

.club-ev-widget { display: grid; gap: var(--club-space-3); }
.club-ev-widget__alert { display: flex; align-items: center; gap: .5rem; padding: var(--club-space-3); border-radius: 10px; background: var(--club-warning-bg); color: var(--club-warning); font-weight: 600; text-decoration: none; }
.club-ev-widget__alert span { flex: 1; }
.club-ev-widget__alert .club-icon { width: 18px; height: 18px; }
.club-ev-widget__h { margin: var(--club-space-2) 0 0; font-size: var(--club-fs-xs); text-transform: uppercase; letter-spacing: .06em; color: var(--club-text-muted); }
.club-ev-widget__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--club-space-2); }
.club-ev-widget__list li { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.club-ev-widget__list a { display: flex; flex-direction: column; min-width: 0; text-decoration: none; color: var(--club-heading); }
.club-ev-widget__list a strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.club-ev-widget__list a span { font-size: var(--club-fs-sm); color: var(--club-text-muted); }

/* ---------- check-in (teléfono del staff) ---------- */
.club-ev-ci { background: var(--club-bg-soft); min-height: 100vh; }
.club-ev-ci__bar { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: var(--club-space-3); padding: .75rem 1rem; padding-top: max(.75rem, env(safe-area-inset-top)); background: var(--club-ink); color: #fff; }
.club-ev-ci__back { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; color: #fff; }
.club-ev-ci__back .club-icon { width: 22px; height: 22px; }
.club-ev-ci__title { display: flex; flex-direction: column; min-width: 0; }
.club-ev-ci__title strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.club-ev-ci__title span { font-size: var(--club-fs-sm); color: #b9c4d6; }
.club-ev-ci__main { max-width: 560px; margin: 0 auto; padding: 1rem; display: grid; gap: 1rem; padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
.club-ev-ci__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.club-ev-ci__stats div { background: var(--club-surface); border: 1px solid var(--club-border); border-radius: 12px; padding: .75rem; text-align: center; }
.club-ev-ci__stats b { display: block; font-size: 1.6rem; color: var(--club-heading); line-height: 1.1; }
.club-ev-ci__stats span { font-size: var(--club-fs-xs); color: var(--club-text-muted); text-transform: uppercase; letter-spacing: .05em; }
.club-ev-ci__result { display: grid; gap: .2rem; padding: 1rem 1.1rem; border-radius: 14px; font-size: var(--club-fs-md); }
.club-ev-ci__result span { font-size: var(--club-fs-sm); }
.club-ev-ci__result.is-ok { background: var(--club-success-bg); color: var(--club-success); border: 2px solid var(--club-success); }
.club-ev-ci__result.is-warn { background: var(--club-warning-bg); color: var(--club-warning); border: 2px solid var(--club-warning); }
.club-ev-ci__result.is-bad { background: var(--club-danger-bg); color: var(--club-danger); border: 2px solid var(--club-danger); }
.club-ev-ci__scan { display: grid; gap: var(--club-space-4); }
.club-ev-ci__video { position: relative; border-radius: 14px; overflow: hidden; background: #000; }
.club-ev-ci__video video { display: block; width: 100%; max-height: 60vh; object-fit: cover; }
.club-ev-ci__video .club-btn { position: absolute; bottom: .75rem; left: 50%; transform: translateX(-50%); }
.club-ev-ci__code .club-input-group { display: flex; gap: .5rem; }
.club-ev-ci__code .club-input { text-transform: uppercase; letter-spacing: .1em; font-family: var(--club-font-mono); }
.club-ev-ci__list { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; gap: .5rem; }
.club-ev-ci__list li { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem .8rem; border: 1px solid var(--club-border); border-radius: 10px; background: var(--club-surface); }
.club-ev-ci__list li div { display: flex; flex-direction: column; min-width: 0; }
.club-ev-ci__list li span { font-size: var(--club-fs-sm); color: var(--club-text-muted); }
.club-ev-ci__list li.is-empty { justify-content: center; color: var(--club-text-muted); }

/* ---------- componentes para otras páginas ---------- */
.club-ev-upcoming .club-ev-list { gap: var(--club-space-4); }

@media (prefers-reduced-motion: reduce) { .club-ev-card, .club-ev-mt__link, .club-ev-chip { transition: none; } }
.club-ev-hub .club-card__title, .club-ev-meeting .club-card__title { margin-bottom: var(--club-space-4); }
@media (max-width: 560px) {
  .club-ev-meeting__who { flex-wrap: wrap; }
  .club-ev-meeting__who > .club-pill { order: -1; flex-basis: 100%; justify-content: flex-start; width: max-content; max-width: max-content; }
  .club-ev-meeting__name { font-size: var(--club-fs-lg); }
}

/* cdn:eventos fix — nota de lista de espera antes del formulario */
.club-ev-reg .club-ev-wl-note{margin:0 0 .9rem}
