/* ═══════════════════════════════════════════════════════
   EventPress Frontend CSS
   ═══════════════════════════════════════════════════════ */
:root{
  --epe-primary:#4f46e5;--epe-secondary:#10b981;
  --epe-border:#e5e7eb;--epe-muted:#6b7280;
  --epe-radius:12px;--epe-shadow:0 4px 20px rgba(0,0,0,.07);
}

/* ── Filter ── */
.epe-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.epe-filter-btn{padding:7px 18px;border:2px solid var(--epe-border);background:#fff;border-radius:50px;font-size:13px;font-weight:500;cursor:pointer;transition:.2s;color:#374151;font-family:inherit}
.epe-filter-btn:hover,.epe-filter-btn.active{background:var(--epe-primary);border-color:var(--epe-primary);color:#fff}

/* ── Grid ── */
.epe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.epe-cols-1{grid-template-columns:1fr}
.epe-cols-2{grid-template-columns:repeat(2,1fr)}
.epe-cols-4{grid-template-columns:repeat(4,1fr)}

/* ── Card ── */
.epe-card{background:#fff;border-radius:var(--epe-radius);box-shadow:var(--epe-shadow);overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.epe-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(0,0,0,.12)}
.epe-card[data-hidden]{display:none}

/* ── Image ── */
.epe-card-img{position:relative;height:220px;overflow:hidden;background:#f3f4f6}
.epe-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.epe-card:hover .epe-card-img img{transform:scale(1.04)}

/* ── Date Badge ── */
.epe-date-badge{position:absolute;bottom:10px;left:10px;background:var(--epe-primary);color:#fff;border-radius:8px;padding:5px 9px;text-align:center;min-width:46px;line-height:1.1}
.epe-day{display:block;font-size:20px;font-weight:800}
.epe-mon{display:block;font-size:10px;font-weight:600;text-transform:uppercase}

/* ── Status Badge ── */
.epe-status-badge{position:absolute;top:10px;right:10px;padding:3px 10px;border-radius:50px;font-size:11px;font-weight:700;color:#fff}
.epe-status-upcoming{background:#34d399}
.epe-status-ongoing{background:#f59e0b}
.epe-status-soldout{background:#f87171}
.epe-status-cancelled{background:#9ca3af;text-decoration:line-through}

/* ── Card Body ── */
.epe-card-body{padding:18px;display:flex;flex-direction:column;flex:1}
.epe-card-cats{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.epe-cat-pill{background:#eff6ff;color:#3b82f6;padding:3px 10px;border-radius:50px;font-size:11px;font-weight:600}
.epe-card-title{font-size:17px;font-weight:700;color:#1a1a2e;margin-bottom:10px;line-height:1.3}
.epe-card-title a{color:inherit;text-decoration:none}
.epe-card-title a:hover{color:var(--epe-primary)}
.epe-card-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.epe-meta-item{font-size:12px;color:var(--epe-muted)}
.epe-card-excerpt{font-size:13px;color:var(--epe-muted);line-height:1.6;flex:1;margin-bottom:14px}
.epe-card-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.epe-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;transition:.2s;border:none;cursor:pointer;font-family:inherit}
.epe-btn-detail{background:var(--epe-primary);color:#fff}
.epe-btn-detail:hover{background:#4338ca;color:#fff}
.epe-btn-ticket{background:var(--epe-secondary);color:#fff}
.epe-btn-ticket:hover{background:#059669;color:#fff}

/* ── Style: Overlay ── */
.epe-style-overlay .epe-card-img{height:280px}
.epe-style-overlay .epe-card{position:relative}
.epe-style-overlay .epe-card-body{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.82));padding:18px}
.epe-style-overlay .epe-card-title,.epe-style-overlay .epe-meta-item,.epe-style-overlay .epe-card-excerpt{color:rgba(255,255,255,.92)}

/* ── Style: Minimal ── */
.epe-style-minimal .epe-card-img{display:none}
.epe-style-minimal .epe-card{border:1px solid var(--epe-border);box-shadow:none}
.epe-style-minimal .epe-card:hover{border-color:var(--epe-primary);box-shadow:0 0 0 3px rgba(79,70,229,.1)}

/* ── Style: Magazine ── */
.epe-style-magazine .epe-card{flex-direction:row}
.epe-style-magazine .epe-card-img{width:200px;min-width:200px;height:auto}

/* ── Layout: List ── */
.epe-layout-list .epe-grid{grid-template-columns:1fr!important}
.epe-layout-list .epe-card{flex-direction:row}
.epe-layout-list .epe-card-img{width:260px;min-width:260px;height:auto;min-height:160px}

/* ── Layout: Timeline ── */
.epe-layout-timeline .epe-grid{grid-template-columns:1fr!important;position:relative;padding-left:32px}
.epe-layout-timeline .epe-grid::before{content:'';position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--epe-border)}
.epe-layout-timeline .epe-card{flex-direction:row;position:relative}
.epe-layout-timeline .epe-card::before{content:'';position:absolute;left:-26px;top:18px;width:14px;height:14px;background:var(--epe-primary);border-radius:50%;border:2px solid #fff}
.epe-layout-timeline .epe-card-img{width:220px;min-width:220px;height:auto}

/* ── No Events ── */
.epe-no-events{grid-column:1/-1;text-align:center;padding:40px;color:var(--epe-muted);font-size:15px}

/* ── Responsive ── */
@media(max-width:900px){
  .epe-grid,.epe-cols-3,.epe-cols-4{grid-template-columns:repeat(2,1fr)!important}
  .epe-style-magazine .epe-card{flex-direction:column}
  .epe-style-magazine .epe-card-img{width:100%;min-height:200px}
}
@media(max-width:600px){
  .epe-grid{grid-template-columns:1fr!important}
  .epe-layout-list .epe-card,.epe-layout-timeline .epe-card{flex-direction:column}
  .epe-layout-list .epe-card-img,.epe-layout-timeline .epe-card-img{width:100%;min-height:200px}
}
