.event-card{border-radius:var(--radius-lg);color:var(--color-text-on-media);background:var(--color-surface-raised);border:1px solid var(--color-border-hairline);box-shadow:var(--shadow-e1);aspect-ratio:3/4;isolation:isolate;transition:box-shadow var(--duration-base) var(--easing-standard), border-color var(--duration-base) var(--easing-standard);text-decoration:none;display:block;position:relative;overflow:hidden}@media (hover:hover){.event-card:hover{box-shadow:var(--shadow-e2);border-color:var(--color-border-strong);transition-duration:var(--duration-slow)}.event-card[data-variant=hero]:hover{box-shadow:var(--shadow-e3)}.event-card:hover .event-card-image{transition-duration:var(--duration-slow);transform:scale(1.05)}.event-card:hover .event-card-image-wrap:after{opacity:1;transition-duration:var(--duration-slow)}}.event-card:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.event-card[data-variant=hero]{aspect-ratio:4/5;box-shadow:var(--shadow-e2)}@media (min-width:768px){.event-card[data-variant=hero]{aspect-ratio:16/9}}@media (min-width:1280px){.event-card[data-variant=hero]{aspect-ratio:21/9}}.event-card[data-variant=grid]{aspect-ratio:4/5}.event-card-image-wrap{background:var(--color-surface-sunken);position:absolute;inset:0}.event-card-image-wrap:after{content:"";background:linear-gradient(180deg, #0000 40%, var(--color-image-dim) 100%);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--easing-standard);position:absolute;inset:0}.event-card-image{object-fit:cover;backface-visibility:hidden;width:100%;height:100%;transition:transform var(--duration-base) var(--easing-standard);display:block}.event-card-image-fallback{background:var(--color-surface-sunken)}.event-card-gradient{background:linear-gradient(180deg, #0000 0%, #0000 34%, var(--color-scrim) 62%, var(--color-scrim-heavy) 100%);pointer-events:none;position:absolute;inset:0}.event-card-badges-top{top:var(--space-2);left:var(--space-2);right:var(--space-2);gap:var(--space-1);z-index:1;flex-wrap:wrap;display:flex;position:absolute}.event-card-badge{padding:var(--space-05) var(--space-2);border-radius:var(--radius-full);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--font-weight-medium);letter-spacing:.02em;text-transform:capitalize;background:var(--color-media-badge-bg);-webkit-backdrop-filter:blur(8px);display:inline-block}.event-card-badge-sponsored{color:var(--color-text-primary);border:1px solid var(--color-border);text-transform:none}.event-card-badge-trending{color:var(--color-warning);text-transform:none}.event-card-content{padding:var(--space-3) var(--space-3) var(--space-4);z-index:1;position:absolute;bottom:0;left:0;right:0}.event-card-title{font-size:var(--type-heading-size);font-weight:var(--font-weight-bold);line-height:var(--type-heading-line);margin:0 0 var(--space-1);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.event-card[data-variant=hero] .event-card-title{font-size:var(--type-title-size);line-height:var(--type-title-line);-webkit-line-clamp:3}@media (min-width:1024px){.event-card[data-variant=hero] .event-card-title{font-size:var(--type-display-size);line-height:var(--type-display-line)}}.event-card-location{font-size:var(--type-caption-size);color:var(--color-info);margin:0 0 var(--space-1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event-card-date{font-size:var(--type-caption-size);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);text-transform:capitalize;margin:0}.event-card-time{color:var(--color-text-tertiary);font-weight:var(--font-weight-regular)}.event-card[data-past=true] .event-card-image{filter:grayscale(.5)}.event-card-past-overlay{background:var(--color-image-dim);padding:var(--space-3);z-index:1;justify-content:flex-end;align-items:flex-start;display:flex;position:absolute;inset:0}.event-card-past-overlay span{background:var(--color-media-badge-bg);border:1px solid var(--color-border);padding:var(--space-05) var(--space-2);border-radius:var(--radius-full);font-size:var(--type-caption-size);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--type-overline-tracking)}@media (prefers-reduced-motion:reduce){.event-card,.event-card-image,.event-card-image-wrap:after{transition-duration:1ms}.event-card:hover .event-card-image{transform:none}}
