.event-card-skeleton-image{background:var(--bg-alt);opacity:.5}.skeleton-line{height:12px;border-radius:var(--radius-sm);background:var(--bg-alt);opacity:.5}.skeleton-line--sm{width:40%;height:10px;margin-bottom:var(--space-sm)}.skeleton-line--lg{width:80%;height:14px;margin-bottom:var(--space-sm)}.skeleton-line--md{width:60%;height:12px}.homepage-empty-state{text-align:center;padding:var(--space-2xl) 0}.empty-state-text{font-size:1.1rem;color:var(--text-muted);margin-bottom:var(--space-lg)}.event-list-error{text-align:center;padding:var(--space-xl) 0;color:var(--coral)}.event-list-error p{margin-bottom:var(--space-md)}.event-list-empty{text-align:center;padding:var(--space-xl) 0}.event-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-sm, .5rem);margin-top:var(--space-xl);padding:var(--space-md) 0;flex-wrap:wrap}.event-pagination .pagination-btn{flex-shrink:0}.event-pagination .pagination-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.pagination-numbers{display:flex;align-items:center;gap:.25rem}.pagination-number{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .375rem;border-radius:var(--radius-md, .5rem);border:1px solid var(--border-light);background:var(--surface-solid, #fff);color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.pagination-number:hover{background:var(--bg-alt);border-color:var(--blue);color:var(--blue)}.pagination-number--active{background:var(--blue);border-color:var(--blue);color:var(--text-on-gradient, #fff);font-weight:700;pointer-events:none}.pagination-number--active:hover{background:var(--blue);border-color:var(--blue);color:var(--text-on-gradient, #fff)}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;color:var(--text-muted);font-size:.875rem;user-select:none}.event-list-count{text-align:center;font-size:.8rem;color:var(--text-muted);margin-top:var(--space-sm, .5rem)}.event-list-loading .event-card-skeleton{min-height:220px;animation:pulse 1.5s ease-in-out infinite}@media(max-width:480px){.event-pagination{flex-direction:column;gap:var(--space-sm, .5rem)}.pagination-numbers{flex-wrap:wrap;justify-content:center}}.past-events-section{background:var(--bg-alt)}.past-events-list{display:flex;flex-direction:column;gap:var(--space-md)}.past-event-row{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);align-items:flex-start}.past-event-row:hover{box-shadow:var(--shadow-md);transform:translate(4px)}.past-event-info{display:flex;flex-direction:column;gap:var(--space-xs);flex:1}.past-event-info time{font-size:.78rem;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.04em}.past-event-info h3{font-size:.95rem;font-weight:600;line-height:1.4}.past-price{font-size:.85rem;font-weight:700;color:var(--text-muted)}.event-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.event-card-link:hover,.event-card-link:focus,.event-card-link:focus-visible{text-decoration:none;color:inherit}.event-card-link:focus-visible{outline:none}.event-card-link:focus-visible .event-card{outline:2px solid var(--specsc-teal, var(--teal));outline-offset:2px}.event-card{display:flex;flex-direction:column;flex:1;overflow:hidden;position:relative;transition:transform var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out)}.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow)}.event-card-image-wrap{display:block;position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-alt);border-bottom:1px solid var(--border-light)}.event-card-image-wrap--placeholder{background-image:linear-gradient(135deg,color-mix(in oklab,var(--specsc-blue, var(--blue, #0066ff)) 30%,transparent),color-mix(in oklab,var(--specsc-teal, var(--teal, #14b8a6)) 30%,transparent));background-color:var(--bg-alt)}.event-card-image-wrap--placeholder[data-type=seminar]{background-image:linear-gradient(135deg,color-mix(in oklab,var(--specsc-blue, var(--blue, #0066ff)) 35%,transparent),color-mix(in oklab,var(--coral, #ff6b4a) 25%,transparent))}.event-card-image-wrap--placeholder:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0,transparent 14px,rgba(255,255,255,.025) 14px,rgba(255,255,255,.025) 28px);pointer-events:none}.event-card-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--duration) var(--ease-out)}.event-card:hover .event-card-image{transform:scale(1.03)}.event-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light)}.event-type-badge{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:4px 12px;border-radius:var(--radius-full)}.event-price-pill{font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:3px 10px;border-radius:var(--radius-full);background:linear-gradient(135deg,#059669,#047857);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.18)}.event-price-pill--free{background:linear-gradient(135deg,#059669,#047857)}.event-price-pill--footer{display:inline-flex;align-items:center;align-self:flex-end;font-size:.78rem;font-weight:800;letter-spacing:.06em;padding:6px 14px;margin-bottom:2px}.event-card-body{padding:var(--space-lg);display:flex;flex-direction:column;flex:1;gap:var(--space-xs)}.event-card-date{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:500;color:var(--text-muted)}.event-card-title{font-size:1rem;font-weight:700;line-height:1.35;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.event-card-desc{font-size:.85rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-card-location{font-size:.8rem;font-weight:500;margin-top:var(--space-xs)}.event-card-location--online{color:var(--teal)}.event-card-location--venue{color:var(--coral)}.event-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-light)}.event-card-price{display:flex;flex-direction:column}
