/* ── Events Page ── */
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }

.ev-hero { background:linear-gradient(135deg,#0F0F1A 0%,#1A1A3E 100%); padding:72px 24px 56px; }
.ev-hero-inner { max-width:1280px; margin:0 auto; }
.ev-breadcrumb { display:flex; align-items:center; gap:6px; margin-bottom:28px; }
.ev-breadcrumb a { font-size:12px; color:rgba(255,255,255,0.45); text-decoration:none; transition:color .2s; }
.ev-breadcrumb a:hover { color:#fff; }
.ev-breadcrumb span { font-size:12px; color:rgba(255,255,255,0.7); }
.ev-eyebrow { font-size:11px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin:0 0 12px; }
.ev-title { font-size:clamp(32px,5vw,56px); font-weight:800; color:#fff; margin:0; letter-spacing:-0.03em; line-height:1.1; }
.ev-count { font-size:15px; color:rgba(255,255,255,0.5); margin:14px 0 0; }

.ev-body { background:#F8F9FB; min-height:60vh; padding:56px 24px 80px; }
.ev-container { max-width:1280px; margin:0 auto; }

.ev-section { margin-bottom:64px; }
.ev-section-head { display:flex; align-items:center; gap:12px; margin-bottom:32px; }
.ev-section-badge-upcoming { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#15803D; background:#DCFCE7; padding:5px 14px; border-radius:20px; }
.ev-section-badge-past { font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#64748B; background:#F1F5F9; padding:5px 14px; border-radius:20px; }
.ev-section-line { flex:1; height:1px; background:#E5E7EB; }
.ev-pulse { width:6px; height:6px; border-radius:50%; background:#15803D; display:inline-block; animation:pulse 2s infinite; }

.ev-list { display:flex; flex-direction:column; gap:16px; }

.event-row { background:#fff; border-radius:18px; border:1px solid #E5E7EB; overflow:hidden; display:flex; align-items:stretch; box-shadow:0 2px 12px rgba(0,0,0,0.05); transition:box-shadow 0.2s,transform 0.2s; }
.event-row:hover { box-shadow:0 8px 32px rgba(0,0,0,0.1); transform:translateY(-2px); }

.ev-date-col { flex-shrink:0; width:88px; background:linear-gradient(135deg,#0F0F1A,#1A1A3E); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px 12px; text-align:center; }
.ev-date-month { font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.45); margin:0 0 4px; }
.ev-date-day { font-size:36px; font-weight:800; color:#fff; margin:0; line-height:1; }
.ev-date-year { font-size:11px; font-weight:600; color:rgba(255,255,255,0.5); margin:4px 0 0; }

.ev-cover { flex-shrink:0; width:160px; overflow:hidden; }
.ev-cover img { width:100%; height:100%; object-fit:cover; display:block; }

.ev-info { flex:1; padding:20px 24px; display:flex; flex-direction:column; justify-content:center; min-width:0; }
.ev-badges { display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap; }
.ev-badge-featured { font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; background:#FEF3C7; color:#D97706; padding:3px 10px; border-radius:20px; }
.ev-title-row { font-size:18px; font-weight:700; color:#1A1A2E; margin:0 0 8px; letter-spacing:-0.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ev-meta { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.ev-meta-item { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:#6B7280; }

.event-cta { flex-shrink:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:20px 24px; border-left:1px solid #F0F2F5; }
.ev-btn-detail { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:#fff; background:#0F0F1A; padding:10px 20px; border-radius:10px; text-decoration:none; white-space:nowrap; transition:opacity 0.2s; }
.ev-btn-detail:hover { opacity:0.8; }
.ev-btn-ticket { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:#15803D; background:#DCFCE7; padding:10px 20px; border-radius:10px; text-decoration:none; white-space:nowrap; transition:opacity 0.2s; }
.ev-btn-ticket:hover { opacity:0.8; }

.past-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; }
.ev-past-card { background:#fff; border-radius:16px; border:1px solid #E5E7EB; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,0.04); transition:box-shadow 0.2s,transform 0.2s,opacity 0.2s; opacity:0.85; }
.ev-past-card:hover { box-shadow:0 6px 24px rgba(0,0,0,0.09); transform:translateY(-2px); opacity:1; }
.ev-past-img { aspect-ratio:16/9; background:#F0F2F5; overflow:hidden; position:relative; }
.ev-past-img img { width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(30%); }
.ev-past-img-empty { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.ev-past-date-overlay { position:absolute; top:12px; left:12px; background:rgba(0,0,0,0.65); backdrop-filter:blur(6px); border-radius:8px; padding:6px 10px; text-align:center; }
.ev-past-date-label { font-size:9px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.6); margin:0; }
.ev-past-date-day { font-size:20px; font-weight:800; color:#fff; margin:0; line-height:1.1; }
.ev-past-badge { position:absolute; top:12px; right:12px; background:rgba(0,0,0,0.5); border-radius:6px; padding:3px 8px; font-size:10px; font-weight:600; color:rgba(255,255,255,0.7); }
.ev-past-body { padding:16px 18px 18px; }
.ev-past-title { font-size:15px; font-weight:700; color:#374151; margin:0 0 8px; letter-spacing:-0.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ev-past-meta { display:flex; flex-direction:column; gap:4px; margin-bottom:14px; }
.ev-past-meta-item { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:#9CA3AF; }
.ev-past-link { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; color:#6B7280; text-decoration:none; transition:color 0.2s; }
.ev-past-link:hover { color:#1A1A2E; }

.ev-empty { text-align:center; padding:80px 24px; }
.ev-empty-icon { width:64px; height:64px; background:#F0F2F5; border-radius:16px; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
.ev-empty-title { font-size:16px; font-weight:600; color:#374151; margin:0 0 8px; }
.ev-empty-desc { font-size:14px; color:#9CA3AF; margin:0; }

@media(max-width:768px) {
    .event-row { flex-direction:column; }
    .event-cta { border-left:none; border-top:1px solid #F0F2F5; flex-direction:row; justify-content:flex-start; padding:14px 16px; }
    .ev-cover { width:100%; height:180px; }
    .ev-date-col { width:100%; flex-direction:row; padding:12px 16px; gap:12px; }
    .past-grid { grid-template-columns:1fr; }
    .ev-hero { padding:40px 16px 40px; }
    .ev-body { padding:32px 16px 64px; }
}
