/* Moved from app/views/events/show.html.erb in B2, scoped to .ctx-public. Rebuilt in its own phase. */
.ctx-public .event-page {
    padding-bottom: var(--space-xxl);
  }
.ctx-public .ea-cta { display:flex; justify-content:center; }
.ctx-public .ea-going { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; margin: 0; font-size: var(--fs-body); font-weight: 600; color: var(--ink); }
.ctx-public .ea-going[hidden] { display: none; }
.ctx-public .ea-scrim { position: fixed; inset: 0; z-index: 90; background: var(--scrim);  display:flex; align-items:flex-end; justify-content:center; opacity:0; visibility:hidden; transition: opacity .2s ease, visibility .2s ease; }
.ctx-public .ea-scrim.active { opacity:1; visibility:visible; }
.ctx-public .ea-modal { position:relative; width:100%; max-width:460px; background: var(--card); color: var(--foreground); border:1px solid var(--border); border-bottom:none; border-radius:20px 20px 0 0; padding: 24px 20px calc(24px + env(safe-area-inset-bottom)); transform: translateY(18px); transition: transform .25s cubic-bezier(.34,1.56,.64,1); }
.ctx-public .ea-scrim.active .ea-modal { transform: translateY(0); }
.ctx-public .ea-close { position:absolute; top:12px; right:14px; width:34px; height:34px; border-radius:50%; border:none; background: var(--line); color: var(--foreground); font-size:20px; cursor:pointer; }
.ctx-public .ea-title { font-size: var(--fs-headline); font-weight: 700; font-stretch: var(--wdth-name); line-height: 1.1; margin:0 0 4px; }
.ctx-public .ea-sub { font-size:14px; color: var(--muted-foreground); margin:0 0 16px; line-height:1.5; }
.ctx-public .ea-input { width:100%; height:48px; padding:0 14px; border-radius: var(--radius-control); font-size: var(--fs-body); font-family: var(--font); border:1.5px solid var(--line-strong); background: var(--surface-1); color: var(--ink); box-sizing:border-box; margin-bottom:12px; }
.ctx-public .ea-input:focus { outline:none; border-color: var(--ink); }
.ctx-public .ea-row2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ctx-public .ea-link { display:block; margin:12px auto 0; background:none; border:none; color: var(--muted-foreground); font-size:13.5px; font-weight:700; cursor:pointer; }
.ctx-public .ea-error { color:var(--ink); font-size:13.5px; margin-top:10px; font-weight:600; min-height:1px; text-align:center; }
.ctx-public .ea-hint { font-size:12px; color: var(--muted-foreground); margin:-4px 0 8px; }
.ctx-public .ea-check { display:flex; align-items:center; gap:10px; margin:2px 0 12px; font-size:14px; cursor:pointer; }
.ctx-public .ea-check input { width:18px; height:18px; accent-color: var(--ink); }
.ctx-public .ea-choice { width:100%; text-align:left; background: var(--line); border:1px solid var(--border); border-radius:12px; padding:14px 16px; cursor:pointer; margin-top:10px; color: var(--foreground); }
.ctx-public .ea-choice--primary { border-color: var(--ink); background: var(--surface-2); }
.ctx-public .ea-choice strong { display:block; font-size:15px; }
.ctx-public .ea-choice small { display:block; font-size:12.5px; color: var(--muted-foreground); margin-top:3px; }
.ctx-public .ea-check-icon,
.ctx-public .ea-check { color: var(--foreground); }
.ctx-public #eaSuccess .ea-check { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin:0 auto 12px; border-radius:50%; background:var(--surface-2); color:var(--ink); }
@media (min-width:540px) {
.ctx-public .ea-scrim { align-items:center; }
.ctx-public .ea-modal { border-radius:20px; border-bottom:1px solid var(--border); }
}
.ctx-public .hero--compact {
    height: 200px;
  }
@media (min-width: 640px) {
.ctx-public .hero--compact {
      height: 280px;
    }
}
.ctx-public .event-header {
    text-align: center;
    padding: var(--space-lg) 0;
  }
.ctx-public .event-badges {
    display: flex;
    justify-content: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
  }
.ctx-public .event-title { color: var(--ink); margin-bottom: var(--space-md); overflow-wrap: anywhere; }
.ctx-public .event-meta {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    color: var(--muted-foreground);
  }
@media (min-width: 640px) {
.ctx-public .event-meta {
      flex-direction: row;
      justify-content: center;
      gap: var(--space-lg);
    }
}
.ctx-public .event-meta__item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    font-size: 0.95rem;
  }
.ctx-public .tournaments-section {
    overflow: hidden;
  }
.ctx-public .tournaments-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
  }
.ctx-public .tournament-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md);
    background: var(--muted);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    text-decoration: none;
    color: inherit;
    transition: all var(--motion-normal) var(--motion-ease);
  }
.ctx-public .tournament-card:hover {
    background: var(--secondary);
    border-color: var(--primary);
    transform: translateX(4px);
  }
.ctx-public .tournament-card__content {
    flex: 1;
  }
.ctx-public .tournament-card__name {
    font-family: var(--font);
    font-size: 1rem;
    font-weight: 600;
    color: var(--foreground);
    margin-bottom: var(--space-xs);
  }
.ctx-public .tournament-card__meta {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    font-size: 0.85rem;
    color: var(--muted-foreground);
  }
.ctx-public .tournament-card__players {
    display: flex;
    align-items: center;
    gap: 4px;
  }
.ctx-public .tournament-status {
    display: inline-flex;
    padding: 2px 8px;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }
.ctx-public .tournament-status--setup {
    background: var(--surface-2);
    color: var(--ink);
  }
.ctx-public .tournament-status--teams_drawn {
    background: var(--surface-2);
    color: var(--ink-2);
  }
.ctx-public .tournament-status--ready {
    background: var(--surface-2);
    color: var(--win);
  }
.ctx-public .tournament-status--active {
    background: var(--surface-2);
    color: var(--primary);
  }
.ctx-public .tournament-status--completed {
    background: var(--surface-2);
    color: var(--muted-foreground);
  }
.ctx-public .empty-state {
    text-align: center;
    padding: var(--space-xl) var(--space-md);
  }
.ctx-public .empty-state svg {
    color: var(--muted-foreground);
    margin-bottom: var(--space-md);
  }
.ctx-public .organizer-card {
    display: flex;
    align-items: center;
    gap: var(--space-md);
  }
.ctx-public .organizer-avatar {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
    object-fit: cover;
  }
.ctx-public .organizer-avatar--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--secondary);
    font-family: var(--font);
    font-weight: 600;
    font-size: 18px;
    color: var(--muted-foreground);
  }
.ctx-public .organizer-info {
    display: flex;
    flex-direction: column;
  }
.ctx-public .organizer-name {
    font-family: var(--font);
    font-size: 1rem;
    font-weight: 600;
    color: var(--foreground);
  }
.ctx-public .organizer-role {
    font-size: 0.85rem;
    color: var(--muted-foreground);
  }
