/* Events plugin — colours come from the active theme's tokens. */
.ev-wrap { --ev-primary: var(--color-theme-primary, var(--theme-primary, #4f46e5)); --ev-on-primary: var(--color-theme-on-primary, #fff); --ev-border: var(--color-theme-border, var(--theme-border, #e4e4e7)); --ev-muted: var(--color-theme-muted, var(--theme-text-muted, #71717a)); max-width: 80rem; margin: 0 auto; padding: 2.5rem 1rem; color: var(--color-theme-text, var(--theme-text, inherit)); }
.ev-wrap * { box-sizing: border-box; }
.ev-wrap h1 { margin: 0 0 1.5rem; font-size: 2rem; font-weight: 700; }
.ev-list { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); }
.ev-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--ev-border); border-radius: 1rem; color: inherit; text-decoration: none; }
.ev-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.ev-card-body { padding: 1rem 1.1rem 1.2rem; }
.ev-date { color: var(--ev-primary); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ev-card h2 { margin: .35rem 0; font-size: 1.15rem; font-weight: 600; }
.ev-muted { color: var(--ev-muted); font-size: .875rem; }
.ev-hero { display: grid; gap: 2rem; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; }
@media (max-width: 860px) { .ev-hero { grid-template-columns: 1fr; } }
.ev-hero img { width: 100%; border-radius: 1rem; margin-bottom: 1.25rem; }
.ev-description { line-height: 1.7; }
.ev-tickets { padding: 1.25rem; border: 1px solid var(--ev-border); border-radius: 1rem; position: sticky; top: 1rem; }
.ev-tickets h3 { margin: 0 0 .75rem; font-size: 1.1rem; font-weight: 600; }
.ev-type { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .8rem 0; border-top: 1px solid var(--ev-border); }
.ev-type strong { display: block; }
.ev-qty { display: inline-flex; align-items: center; border: 1px solid var(--ev-border); border-radius: 999px; }
.ev-qty button { width: 2rem; height: 2rem; border: 0; background: none; color: inherit; font-size: 1rem; cursor: pointer; }
.ev-qty span { min-width: 1.5rem; text-align: center; font-weight: 600; }
.ev-badge { display: inline-block; padding: .1rem .55rem; border-radius: 999px; background: rgba(113, 113, 122, .14); font-size: .72rem; font-weight: 600; }
.ev-total { display: flex; justify-content: space-between; align-items: center; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--ev-border); }
.ev-button { padding: .7rem 1.3rem; border: 0; border-radius: 999px; background: var(--ev-primary); color: var(--ev-on-primary); font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; display: inline-block; }
.ev-button:disabled { opacity: .5; cursor: not-allowed; }
.ev-error { margin: .75rem 0 0; color: #b91c1c; font-size: .85rem; }
.ev-ok { margin: .75rem 0 0; color: #047857; font-size: .85rem; font-weight: 600; }
.ev-account { margin-top: 1rem; padding: 1rem; border: 1px solid var(--color-theme-border, #e4e4e7); border-radius: .75rem; font-size: .9rem; }
