/* ccm-entry.css — the members' race-entry form, shared by the event page
   (ccm-event.html, #evEntry) and the calendar's quick entry
   (ccm-events.html). Markup comes from ccm-entry.js. Shared tokens in ccm.css. */

.ev-entry-title {
  font-family: var(--font-display); font-weight: 800; font-size: var(--text-lg);
  text-transform: uppercase; margin-bottom: 10px;
}
.ev-entry-sub { font-size: var(--text-base); color: var(--text-secondary); line-height: 1.5; margin: 0 0 12px; }
.ev-entry-sub a { color: var(--red); }
.ev-entry-row {
  display: flex; align-items: center; gap: 10px; padding: 8px 0;
  border-bottom: 1px solid var(--border); flex-wrap: wrap;
}
.ev-entry-row:last-of-type { border-bottom: none; }
.ev-entry-check { accent-color: var(--red); width: 16px; height: 16px; flex-shrink: 0; }
.ev-entry-name { font-weight: 600; font-size: var(--text-md); flex: 1; min-width: 120px; }
.ev-entry-choice {
  border: 1px solid var(--border); border-radius: 4px; padding: 6px 8px;
  font-size: var(--text-base); background: var(--bg); color: var(--text); max-width: 230px;
}
.ev-entry-choice-lbl { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.ev-entry-entered { color: var(--success); font-weight: 700; }
.ev-entry-withdraw {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.06em; text-transform: uppercase;
  background: none; border: 1px solid var(--border); color: var(--muted);
  padding: 5px 10px; border-radius: 4px; cursor: pointer;
}
.ev-entry-withdraw:hover { border-color: var(--red); color: var(--red); }
.ev-entry-decl {
  display: flex; gap: 10px; align-items: flex-start; margin: 14px 0 4px;
  font-size: var(--text-base); color: var(--text-secondary); line-height: 1.5; cursor: pointer;
}
.ev-entry-decl input { margin-top: 2px; flex-shrink: 0; accent-color: var(--red); }
.ev-entry-decl a { color: var(--red); }
.ev-entry-btn {
  display: inline-block; margin-top: 10px; font-family: var(--font-mono);
  font-size: var(--text-xs); letter-spacing: 0.12em; text-transform: uppercase;
  background: var(--red); border: none; color: var(--on-accent);
  padding: 11px 26px; border-radius: 4px; cursor: pointer; text-decoration: none;
  transition: opacity 0.15s;
}
.ev-entry-btn:hover { opacity: 0.85; }
.ev-entry-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.ev-entry-err { display: none; font-size: var(--text-base); color: var(--red); margin-top: 10px; }
/* Come-and-try: trial note, blocked-rider messaging, inline emergency contact, fallback */
.ev-entry-trial { flex-basis: 100%; font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.06em; text-transform: uppercase; color: var(--red); }
.ev-entry-blockmsg { flex-basis: 100%; font-size: var(--text-base); color: var(--text-secondary); line-height: 1.5; }
.ev-entry-grace { flex-basis: 100%; font-size: var(--text-base); color: var(--text-secondary); line-height: 1.5; }
.ev-entry-inlinebtn { color: var(--red); font-weight: 600; white-space: nowrap; }
.ev-entry-em { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.ev-entry-em-lbl { flex-basis: 100%; font-size: var(--text-base); color: var(--text-secondary); }
.ev-entry-eminput { border: 1px solid var(--border); border-radius: 4px; padding: 6px 8px; font-size: var(--text-base); background: var(--bg); color: var(--text); flex: 1; min-width: 140px; }
.ev-entry-fallback { font-size: var(--text-base); color: var(--text-secondary); line-height: 1.5; margin-top: 14px; }
.ev-entry-fallback a { color: var(--red); }
