.eventhub-event-card{position:relative;display:flex;flex-direction:column;background:var(--eventhub-color-bg);border:1px solid var(--eventhub-color-border);border-radius:var(--eventhub-border-radius);box-shadow:var(--eventhub-card-shadow);overflow:hidden;transition:box-shadow var(--eventhub-transition)}.eventhub-event-card:hover,.eventhub-event-card:focus-visible{box-shadow:var(--eventhub-card-shadow-hover)}.eventhub-event-card:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-event-card--highlight{border-left:3px solid var(--eventhub-color-highlight)}.eventhub-event-card__image-wrapper{position:relative;aspect-ratio:16 / 9;overflow:hidden}.eventhub-event-card__image-wrapper a{display:block;height:100%}.eventhub-event-card__image{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}.eventhub-event-card:hover .eventhub-event-card__image,.eventhub-event-card:focus-visible .eventhub-event-card__image{transform:scale(1.05)}.eventhub-event-card__image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--eventhub-color-bg-alt);color:var(--eventhub-color-text-muted);font-size:3rem}.eventhub-event-card__date-badge{position:absolute;top:var(--eventhub-spacing-sm);left:var(--eventhub-spacing-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--eventhub-date-badge-bg,#fff);color:var(--eventhub-date-badge-text,#333);border-radius:var(--eventhub-border-radius);padding:var(--eventhub-spacing-xs) var(--eventhub-spacing-sm);min-width:3.5rem;box-shadow:0 2px 8px rgb(0 0 0 / .15);z-index:2;line-height:1;text-align:center;cursor:pointer}.eventhub-event-card__date-day{font-size:1.5rem;font-weight:var(--eventhub-font-weight-bold);letter-spacing:-.05em;margin-bottom:2px}.eventhub-event-card__date-month{font-size:.75rem;text-transform:uppercase;font-weight:var(--eventhub-font-weight-bold);color:var(--eventhub-date-badge-month,var(--eventhub-color-text-muted))}.eventhub-event-card__date-badge--range{flex-direction:column;padding:var(--eventhub-spacing-xs) var(--eventhub-spacing-xs);min-width:auto;gap:0}.eventhub-event-card__date-badge--range .eventhub-event-card__date-day{font-size:1.1rem;margin-bottom:0}.eventhub-event-card__date-badge--range .eventhub-event-card__date-month{font-size:.6rem}.eventhub-event-card__date-separator{font-size:.65rem;font-weight:var(--eventhub-font-weight-bold);color:var(--eventhub-date-badge-month,var(--eventhub-color-text-muted));line-height:1;margin:1px 0}.eventhub-event-card__date-prefix{font-size:.65rem;font-weight:var(--eventhub-font-weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--eventhub-date-badge-month,var(--eventhub-color-text-muted));line-height:1;margin-bottom:2px}.eventhub-event-card__status-badges{position:absolute;top:var(--eventhub-spacing-sm);right:var(--eventhub-spacing-sm);display:flex;flex-direction:column;gap:var(--eventhub-spacing-xs);align-items:flex-end;z-index:2}.eventhub-badge--card-overlay{box-shadow:0 2px 4px rgb(0 0 0 / .2)}.eventhub-event-card__free-badge{position:absolute;bottom:var(--eventhub-spacing-sm);right:var(--eventhub-spacing-sm);z-index:2}.eventhub-event-card__content{display:flex;flex-direction:column;flex-grow:1;padding:var(--eventhub-spacing-md);gap:var(--eventhub-spacing-xs)}.eventhub-event-card__meta{display:flex;align-items:center;gap:var(--eventhub-spacing-sm)}.eventhub-event-card__date{font-size:var(--eventhub-font-size-sm);color:var(--eventhub-color-text-muted)}.eventhub-event-card__series-link{display:inline-flex;align-items:center;font-size:var(--eventhub-font-size-sm);text-decoration:none;opacity:.6;transition:opacity var(--eventhub-transition)}.eventhub-event-card__series-link:hover,.eventhub-event-card__series-link:focus-visible{opacity:1}.eventhub-event-card__series-link:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-event-card__title{margin:0;font-size:var(--eventhub-font-size-lg);font-weight:var(--eventhub-font-weight-semibold);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.eventhub-event-card__title a{color:inherit;text-decoration:none}.eventhub-event-card__title a:hover,.eventhub-event-card__title a:focus-visible{text-decoration:underline}.eventhub-event-card__title a:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-event-card__status{margin-bottom:var(--eventhub-spacing-xs)}.eventhub-event-card__details{display:flex;flex-direction:column;gap:var(--eventhub-spacing-xs);margin-top:var(--eventhub-spacing-sm)}.eventhub-event-card__categories{display:flex;flex-wrap:wrap;gap:var(--eventhub-spacing-xs)}.eventhub-event-card__category-tag{font-size:.75rem;color:var(--eventhub-color-text-muted);background:var(--eventhub-color-bg-alt);padding:2px 6px;border-radius:var(--eventhub-border-radius);text-decoration:none;transition:background var(--eventhub-transition)}.eventhub-event-card__category-tag:hover,.eventhub-event-card__category-tag:focus-visible{background:var(--eventhub-color-border);text-decoration:none}.eventhub-event-card__category-tag:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-event-card__venue{display:flex;align-items:center;gap:4px;font-size:var(--eventhub-font-size-sm);color:var(--eventhub-color-text-muted)}.eventhub-event-card__venue .dashicons{font-size:16px;width:16px;height:16px;opacity:.7}.eventhub-event-card__venue a{color:inherit;text-decoration:none}.eventhub-event-card__venue a:hover,.eventhub-event-card__venue a:focus-visible{text-decoration:underline}.eventhub-event-card__venue a:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-event-card__footer{margin-top:auto;padding-top:var(--eventhub-spacing-sm)}.eventhub-event-card__ticket-button{display:inline-block;padding:var(--eventhub-spacing-xs) var(--eventhub-spacing-sm);font-size:var(--eventhub-font-size-sm);font-weight:var(--eventhub-font-weight-medium);text-decoration:none;background:var(--eventhub-color-bg-alt);border:1px solid var(--eventhub-color-border);border-radius:var(--eventhub-border-radius);transition:background var(--eventhub-transition)}.eventhub-event-card__ticket-button:hover,.eventhub-event-card__ticket-button:focus-visible{background:var(--eventhub-color-border)}.eventhub-event-card__ticket-button:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eventhub-card__series a{color:var(--eventhub-color-primary);text-decoration:none}.eventhub-card__series a:hover,.eventhub-card__series a:focus-visible{text-decoration:underline}.eventhub-card__series a:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-card{position:relative;display:flex;flex-direction:column;background:var(--eventhub-color-bg);border:1px solid var(--eventhub-color-border);border-radius:var(--eventhub-border-radius);box-shadow:var(--eventhub-card-shadow);overflow:hidden;transition:box-shadow var(--eventhub-transition)}.eventhub-card:hover,.eventhub-card:focus-visible{box-shadow:var(--eventhub-card-shadow-hover)}.eventhub-card:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-card--highlight{border-left:3px solid var(--eventhub-color-highlight)}.eventhub-card--cancelled{opacity:.6}.eventhub-card--small{flex-direction:row;align-items:center;gap:var(--eventhub-spacing-md);padding:var(--eventhub-spacing-sm) var(--eventhub-spacing-md)}.eventhub-card--small .eventhub-card__image-wrapper{flex-shrink:0;width:80px;height:80px}.eventhub-card--small .eventhub-card__image-wrapper a{display:block;width:100%;height:100%}.eventhub-card--small .eventhub-card__image{width:100%;height:100%;object-fit:cover;border-radius:var(--eventhub-spacing-xs)}.eventhub-card--small .eventhub-card__image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--eventhub-color-bg-alt);border-radius:var(--eventhub-spacing-xs);font-size:1.5rem}.eventhub-card--small .eventhub-card__content{flex-grow:1;min-width:0;padding:0;display:flex;flex-direction:column;justify-content:center}.eventhub-card--small .eventhub-card__title{margin:0;font-size:inherit;font-weight:var(--eventhub-font-weight-semibold);line-height:1.4;min-height:2.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.eventhub-card--small .eventhub-card__title a{color:inherit;text-decoration:none}.eventhub-card--small .eventhub-card__title a:hover,.eventhub-card--small .eventhub-card__title a:focus-visible{text-decoration:underline}.eventhub-card--small .eventhub-card__title a:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-card--small .eventhub-card__categories{margin-top:var(--eventhub-spacing-xs)}.eventhub-card--small .eventhub-card__category{font-size:var(--eventhub-font-size-sm);color:var(--eventhub-color-text-muted);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.eventhub-card--small .eventhub-card__category:hover,.eventhub-card--small .eventhub-card__category:focus-visible{text-decoration:underline}.eventhub-card--small .eventhub-card__category:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-card--small .eventhub-card__datetime{flex-shrink:0;font-size:var(--eventhub-font-size-sm);color:var(--eventhub-color-text-muted);white-space:nowrap;text-align:right}.eventhub-card--small .eventhub-card__status{flex-shrink:0}@media (max-width:600px){.eventhub-card--small{flex-wrap:wrap}.eventhub-card--small .eventhub-card__datetime{flex-basis:auto}}.eventhub-card-banner{display:flex;align-items:center;gap:var(--eventhub-spacing-md);padding:var(--eventhub-spacing-md);background:var(--eventhub-color-bg);border:1px solid var(--eventhub-color-border);border-radius:var(--eventhub-border-radius);transition:background-color var(--eventhub-transition)}.eventhub-card-banner:hover,.eventhub-card-banner:focus-visible{background:var(--eventhub-color-bg-alt)}.eventhub-card-banner:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-card-banner:not(:last-child){margin-bottom:var(--eventhub-spacing-sm)}.eventhub-card-banner--highlight{border-left:4px solid var(--eventhub-color-highlight)}.eventhub-card-banner--featured{border-left:4px solid var(--eventhub-color-primary)}.eventhub-card-banner--normal{border-left-color:#fff0}.eventhub-card-banner__thumbnail{flex-shrink:0;width:80px;aspect-ratio:4 / 3;border-radius:var(--eventhub-border-radius);overflow:hidden}.eventhub-card-banner__thumbnail img{width:100%;height:100%;object-fit:cover}.eventhub-card-banner__thumbnail-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--eventhub-color-bg-alt);font-size:1.5rem}.eventhub-card-banner__content{flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--eventhub-spacing-md);min-width:0}.eventhub-card-banner__main{flex:1;min-width:0}.eventhub-card-banner__title{margin:0 0 var(--eventhub-spacing-xs);font-size:var(--eventhub-font-size-base);font-weight:600;line-height:1.3}.eventhub-card-banner__title a{color:inherit;text-decoration:none}.eventhub-card-banner__title a:hover,.eventhub-card-banner__title a:focus-visible{text-decoration:underline}.eventhub-card-banner__title a:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-card-banner__info{display:flex;align-items:center;gap:var(--eventhub-spacing-xs);font-size:var(--eventhub-font-size-sm);color:var(--eventhub-color-text-muted)}.eventhub-card-banner__venue,.eventhub-card-banner__category{color:inherit;text-decoration:none}.eventhub-card-banner__venue:hover,.eventhub-card-banner__category:hover,.eventhub-card-banner__venue:focus-visible,.eventhub-card-banner__category:focus-visible{text-decoration:underline}.eventhub-card-banner__venue:focus-visible,.eventhub-card-banner__category:focus-visible{outline:2px solid var(--eventhub-color-primary,#0073aa);outline-offset:2px}.eventhub-card-banner__separator{color:var(--eventhub-color-border)}.eventhub-card-banner__meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--eventhub-spacing-xs);flex-shrink:0}.eventhub-card-banner__countdown{font-size:var(--eventhub-font-size-sm);font-weight:500;color:var(--eventhub-color-text-muted);white-space:nowrap}.eventhub-card-banner__countdown--last-day{color:var(--eventhub-color-postponed);font-weight:600}.eventhub-card-banner__today-status{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--eventhub-font-size-sm);font-weight:500;color:var(--eventhub-color-text-muted);white-space:nowrap}.eventhub-card-banner__today-status::before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;background-color:var(--eventhub-color-text-muted)}.eventhub-card-banner__today-status--open-now::before{background-color:var(--eventhub-color-planned);box-shadow:0 0 6px color-mix(in srgb,var(--eventhub-color-planned) 60%,transparent)}.eventhub-card-banner__today-status--outside-hours::before{background-color:var(--eventhub-color-postponed);box-shadow:0 0 6px color-mix(in srgb,var(--eventhub-color-postponed) 50%,transparent)}.eventhub-card-banner__today-status--closed::before{background-color:var(--eventhub-color-cancelled);box-shadow:0 0 6px color-mix(in srgb,var(--eventhub-color-cancelled) 50%,transparent)}.eventhub-card-banner__today-status--upcoming::before{background-color:var(--eventhub-color-text-muted);box-shadow:none}.eventhub-card-banner__today-status--ended::before{display:none}@supports not (background:color-mix(in srgb,#000 50%,transparent)){.eventhub-card-banner__today-status--open-now::before{box-shadow:0 0 6px rgb(40 167 69 / .6)}.eventhub-card-banner__today-status--outside-hours::before{box-shadow:0 0 6px rgb(253 126 20 / .5)}.eventhub-card-banner__today-status--closed::before{box-shadow:0 0 6px rgb(220 53 69 / .5)}}.eventhub-card-banner__status-icon{display:none}.eventhub-card-banner__status-hours,.eventhub-card-banner__status-text{font-variant-numeric:tabular-nums}