/* Grid/List Layout */
.foo-events--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.foo-events--list{display:flex;flex-direction:column;gap:12px;}

/* Event Card */
.foo-event-item{display:block;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .3s, box-shadow .3s;opacity:0;animation: foo-fade-in 0.5s forwards;}
.foo-event-item:hover,.foo-event-item:focus{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 20px rgba(0,0,0,0.1);outline:none;}
@keyframes foo-fade-in{0%{opacity:0;transform:translateY(10px);}100%{opacity:1;transform:translateY(0);}}

/* Image & Badges */
.foo-event-item__image{position:relative;}
.foo-event-item__image img{width:100%;display:block;}
.foo-badge{position:absolute;padding:4px 8px;font-size:.75rem;font-weight:600;border-radius:6px;color:#fff;text-transform:uppercase;}
.foo-badge--popular{background:#16a34a;top:10px;left:10px;}
.foo-badge--limited{background:#dc2626;top:10px;left:10px;}
.foo-badge--type-presence{background:#2563eb;top:10px;right:10px;}
.foo-badge--type-online{background:#7c3aed;top:10px;right:10px;}
.foo-badge--type-mixed{background:#6b7280;top:10px;right:10px;}

/* Content */
.foo-event-item__content{padding:12px;display:flex;flex-direction:column;gap:6px;}
.foo-event-item__meta{font-size:.9rem;color:#6b7280;display:flex;gap:10px;}

/* Countdown */
.foo-countdown{color:#2563eb;font-weight:500;font-size:.85rem;}

/* Loading Spinner */
.foo-loading{font-weight:600;text-align:center;margin:10px 0;color:#2563eb;}

/* Pagination */
.foo-pagination{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-top:12px;}
.foo-page-btn{padding:6px 10px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;}
.foo-page-btn.current{background:#2563eb;color:#fff;border-color:#2563eb;}

/* Responsive */
@media(max-width:768px){.foo-events--grid{grid-template-columns:1fr;}}