/* eResonate — event-card.css · shared event card (event-card.js) */
.ec { display: grid; grid-template-columns: 58px 84px minmax(0, 1fr); gap: 0.9rem; align-items: start; padding: 0.95rem 0; border-bottom: 1px solid var(--border, rgba(255,255,255,0.12)); }
.ec:last-child { border-bottom: none; }
.ec--past { opacity: 0.72; }
.ec--cancelled .ec-title { text-decoration: line-through; color: var(--text-muted, #9098AC); }
.ec-date { width: 58px; height: 62px; border-radius: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(255,255,255,0.06); color: var(--text-muted, #9098AC); font-family: 'Outfit', sans-serif; line-height: 1; }
.ec-date b { font-size: 1.35rem; font-weight: 800; }
.ec-date span { font-size: 0.56rem; font-weight: 800; letter-spacing: 0.1em; margin-top: 2px; }
.ec-date .ec-dow { font-size: 0.52rem; margin: 0 0 2px; opacity: 0.8; letter-spacing: 0.08em; }
.ec-date--live { background: var(--accent, #2E5CFF); color: #fff; }
.ec-poster { width: 84px; height: 62px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 0.95rem; color: #fff; letter-spacing: 0.02em; }
.ec-main { min-width: 0; }
.ec-title { font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 1.02rem; line-height: 1.25; }
.ec-bill { font-size: 0.86rem; margin-top: 2px; }
.ec-with, .ec-genre { color: var(--text-muted, #9098AC); }
.ec-meta { font-size: 0.76rem; color: var(--text-muted, #9098AC); margin-top: 3px; }
.ec-note { font-size: 0.74rem; color: var(--text-dim, #7A80A8); margin-top: 2px; }
.ec-badges { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 6px; }
.ec-badge { display: inline-block; font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 0.56rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 2px 7px; border-radius: 999px; background: rgba(255,255,255,0.07); color: var(--text-muted, #9098AC); border: 1px solid transparent; }
.ec-badge--new { color: #9DB8FF; background: rgba(46,92,255,0.16); border-color: rgba(91,140,255,0.5); }
.ec-badge--onsale { color: var(--money, #3EE08C); background: rgba(62,224,140,0.1); border-color: rgba(62,224,140,0.4); }
.ec-badge--low { color: #F0C560; background: rgba(240,197,96,0.12); border-color: rgba(240,197,96,0.5); }
.ec-badge--soldout { color: #fff; background: rgba(240,106,106,0.35); border-color: rgba(240,106,106,0.7); }
.ec-badge--free { color: var(--money, #3EE08C); background: rgba(62,224,140,0.14); }
.ec-badge--warn { color: #F0C560; background: rgba(240,197,96,0.1); border-color: rgba(240,197,96,0.45); border-style: dashed; }
.ec-badge--cancel { color: #F06A6A; background: rgba(240,106,106,0.1); border-color: rgba(240,106,106,0.5); }
.ec-badge--stream { color: var(--money, #3EE08C); background: rgba(62,224,140,0.08); border-color: rgba(62,224,140,0.3); }
.ec-actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.ec-btn { display: inline-flex; align-items: center; gap: 4px; padding: 0.42rem 0.85rem; border-radius: 8px; font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 0.76rem; text-decoration: none; cursor: pointer; border: 1px solid var(--border, rgba(255,255,255,0.14)); color: var(--text, #F2F4FA); background: rgba(255,255,255,0.04); transition: border-color 0.15s, background 0.15s; }
.ec-btn:hover { border-color: var(--accent, #2E5CFF); }
.ec-btn--tix { background: var(--accent, #2E5CFF); border-color: var(--accent, #2E5CFF); color: #fff; }
.ec-btn--tix:hover { filter: brightness(1.1); }
.ec-tools { display: inline-flex; gap: 2px; margin-left: auto; }
.ec-tool { display: inline-flex; align-items: center; gap: 4px; background: none; border: 1px solid transparent; border-radius: 8px; padding: 0.4rem 0.6rem; color: var(--text-muted, #9098AC); font-family: inherit; font-size: 0.78rem; cursor: pointer; }
.ec-tool:hover { border-color: var(--border, rgba(255,255,255,0.14)); color: var(--text, #F2F4FA); }
.ec-tool.on { color: #FF7AA8; }
.ec-heart { font-size: 0.95rem; }
.ec-count { font-variant-numeric: tabular-nums; font-weight: 700; }
.ec-tool-l { font-size: 0.7rem; }
.ec--compact { grid-template-columns: 50px minmax(0, 1fr); }
.ec--compact .ec-poster, .ec--compact .ec-note { display: none; }
.ec--compact .ec-title { font-size: 0.92rem; }
.ec-toast { position: fixed; left: 50%; bottom: 1.5rem; transform: translate(-50%, 10px); background: rgba(10,16,34,0.95); border: 1px solid rgba(62,224,140,0.35); color: #F2F4FA; border-radius: 10px; padding: 0.55rem 1.1rem; font-size: 0.82rem; opacity: 0; transition: opacity 0.25s, transform 0.25s; z-index: 400; pointer-events: none; }
.ec-toast.on { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 600px) {
  .ec { grid-template-columns: 50px minmax(0, 1fr); }
  .ec-poster { display: none; }
  .ec-tool-l { display: none; }
}
