:root{--events-primary:#173f36;--events-primary-contrast:#ffffff;--events-primary-link:#173f36;--events-accent:#77c9b5;--events-background:#eef1f7;--events-surface:#ffffff;--events-ink:#172033;--events-muted:#5d687d;--events-radius:14px;--events-control-radius:8px;--events-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-family:var(--events-font);color:var(--events-ink);background:var(--events-background);font-synthesis:none}
:root[data-events-font="editorial"]{--events-font:Georgia,"Times New Roman",serif}
:root[data-events-font="friendly"]{--events-font:"Trebuchet MS",Verdana,sans-serif}
:root[data-events-corners="soft"]{--events-radius:8px;--events-control-radius:5px}
:root[data-events-corners="square"]{--events-radius:0px;--events-control-radius:0px}
*{box-sizing:border-box}
body{margin:0}
a{color:var(--events-ink)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--events-ink);outline-offset:3px}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.6}
button,.event-button{border:1px solid var(--events-primary);background:var(--events-primary);color:var(--events-primary-contrast);border-radius:var(--events-control-radius);padding:12px 18px;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.35;min-height:44px}
button.secondary,.event-button.secondary{color:var(--events-ink);background:var(--events-surface);border-color:var(--events-muted)}
.event-button.danger,button.danger{background:#a52c35;border-color:#a52c35;color:white}
.events-header{max-width:1120px;margin:auto;padding:28px 24px;display:flex;align-items:center;gap:22px;justify-content:space-between}
.events-header a{font-weight:750;font-size:22px;text-decoration:none;color:var(--events-ink)}
.events-header span{font-size:14px;color:var(--events-muted)}
.events-footer{padding:30px 24px 45px;text-align:center;font-size:13px;color:var(--events-muted)}
.events-footer a{margin-inline:5px}
#eventsApp{max-width:1120px;margin:0 auto;padding:8px 24px 35px;min-height:65vh}
.events-skip{position:fixed;top:8px;left:8px;z-index:20;background:var(--events-surface);padding:12px;transform:translateY(-150%)}
.events-skip:focus{transform:none}
.events-intro{margin-bottom:28px}
.events-intro h1{font-size:clamp(30px,4vw,44px);letter-spacing:-1px;line-height:1.15;margin:12px 0}
.events-intro p{max-width:720px;color:var(--events-muted);line-height:1.65}
.events-demo{padding:15px 18px;margin:0 0 24px;background:#fff0c9;border:1px solid #dfc06d;border-radius:var(--events-control-radius);color:#624609;line-height:1.5}
.events-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:22px 0}
.events-toolbar h2{margin-right:auto}
.events-toolbar button[aria-pressed=true]{background:var(--events-primary);color:var(--events-primary-contrast);border-color:var(--events-primary)}
.events-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.event-card{display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--events-muted) 38%,var(--events-surface));border-radius:var(--events-radius);background:var(--events-surface);overflow:hidden}
.event-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.event-card-content{padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:1}
.event-card h2,.event-card h3{margin:0;font-size:24px;line-height:1.25}
.event-card p{margin:0;line-height:1.6}
.event-card time,.event-meta{font-size:14px;color:var(--events-muted);line-height:1.6}
.event-card .event-button{margin-top:auto}
.event-price{font-size:20px;font-weight:750;color:var(--events-ink)}
.event-badge{display:inline-block;border-radius:var(--events-radius);background:var(--events-background);color:var(--events-ink);padding:4px 10px;font-size:12px;font-weight:650}
.event-badge.warning{background:#fff0c9;color:#73500c}
.event-detail{background:var(--events-surface);border:1px solid color-mix(in srgb,var(--events-muted) 38%,var(--events-surface));border-radius:var(--events-radius);overflow:hidden}
.event-detail-image{width:100%;max-height:430px;object-fit:cover}
.event-detail-body{padding:32px}
.event-detail h1{font-size:clamp(30px,4vw,44px);line-height:1.15;margin:15px 0 20px}
.event-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);gap:45px;align-items:start}
.event-info p{line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
.event-info h2{font-size:18px;margin:28px 0 8px}
.event-register,.event-panel{padding:25px;border:1px solid color-mix(in srgb,var(--events-muted) 38%,var(--events-surface));border-radius:var(--events-radius);background:var(--events-background)}
.event-register h2,.event-panel h2{margin-top:0}
.event-form{display:grid;gap:17px}
.event-form label{display:grid;gap:7px;font-size:14px;font-weight:650}
.event-form input,.event-form select,.event-form textarea{accent-color:var(--events-primary);display:block;min-width:0;width:100%;padding:12px;border:1px solid var(--events-muted);border-radius:var(--events-control-radius);background:var(--events-surface);color:var(--events-ink);min-height:45px}
.event-form input[type=checkbox]{width:19px;min-height:19px;margin:1px 0}
.event-form label.event-consent{display:flex;align-items:flex-start;line-height:1.5;font-size:13px}
.event-form label.event-consent span{flex:1}
.event-form small,.event-note{font-size:13px;line-height:1.6;font-weight:400;color:var(--events-muted)}
.event-message{padding:14px 16px;border-radius:var(--events-control-radius);background:var(--events-background);color:var(--events-ink);line-height:1.6;overflow-wrap:anywhere}
.event-message.error{background:#ffebed;color:#84212a}
.event-message.success{background:#e5f4eb;color:#1a5b35}
.event-message:empty{display:none}
.event-summary{margin:20px 0;padding:18px 0;border-block:1px solid var(--events-muted);display:grid;grid-template-columns:1fr auto;gap:12px}
.event-summary strong{font-size:24px}
.event-summary dl{grid-column:1/-1}
.event-details-list{display:grid;grid-template-columns:130px 1fr;gap:10px 16px;margin:20px 0}
.event-details-list dt{font-weight:650}
.event-details-list dd{margin:0;overflow-wrap:anywhere}
.event-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.event-empty{text-align:center;padding:55px 24px;background:var(--events-surface);border:1px solid color-mix(in srgb,var(--events-muted) 38%,var(--events-surface));border-radius:var(--events-radius)}
.event-calendar{background:var(--events-surface);border:1px solid color-mix(in srgb,var(--events-muted) 38%,var(--events-surface));border-radius:var(--events-radius);overflow:hidden}
.event-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.event-calendar-weekday{padding:12px;text-align:center;font-size:12px;font-weight:650;background:var(--events-background)}
.event-calendar-day{min-height:115px;padding:10px;border-top:1px solid var(--events-muted);border-right:1px solid var(--events-muted)}
.event-calendar-day.empty{background:var(--events-background)}
.event-calendar-day>a{display:block;border-radius:var(--events-control-radius);background:var(--events-background);padding:6px;margin-top:6px;font-size:12px;line-height:1.35;overflow-wrap:anywhere;text-decoration:none}
.event-calendar-day time{font-size:12px;font-weight:650}
.event-countdown{font-variant-numeric:tabular-nums}
.event-rehearsal{max-width:750px;margin:15px auto}
.event-rehearsal h1{font-size:34px}
.event-copy{display:flex;gap:8px}
.event-copy input{flex:1;min-width:0}
.event-manage{max-width:820px;margin:auto}
.event-manage h1{font-size:34px}
.event-cancel-panel{margin-top:30px;border-top:1px solid var(--events-muted);padding-top:22px}
.event-cancel-panel summary{cursor:pointer;font-weight:650;color:var(--events-ink)}
.events-loading{padding:50px 10px;text-align:center}
.event-link-button{padding:0;min-height:0;border:0;background:none;color:var(--events-ink);text-decoration:underline;font-weight:500}
.event-policy{white-space:pre-line}
.event-link-button:disabled{color:var(--events-muted)}
@media(max-width:760px){.events-header{align-items:flex-start;flex-direction:column;gap:8px;padding-block:22px}
.events-list{grid-template-columns:1fr}
.event-layout{grid-template-columns:1fr;gap:26px}
.event-detail-body{padding:24px}
.event-register{padding:20px}
.event-calendar-day{padding:5px;min-height:90px}
.event-calendar-weekday{padding:10px 3px;font-size:10px}
.event-calendar-day>a{font-size:10px;padding:4px}
.event-details-list{grid-template-columns:100px 1fr}
.events-toolbar h2{width:100%;margin:0 0 8px}
.event-actions>.event-button,.event-actions>button{flex:1}
.event-summary strong{font-size:22px}
}
@media(max-width:430px){#eventsApp{padding-inline:16px}
.events-header{padding-inline:16px}
.event-detail-body{padding:20px}
.event-register{padding:18px}
.event-card-content{padding:22px}
.event-calendar-day{min-height:80px}
.event-calendar-day>a{font-size:9px}
.event-copy{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
}

.events-embedded .events-header{padding-block:18px}
.events-embedded .events-footer{padding-block:18px;font-size:11px}
.events-embedded #eventsApp{min-height:0}

#eventsBrand{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%;color:var(--events-ink)}
#eventsBrandMark{width:48px;height:48px;flex:0 0 48px;object-fit:contain;border-radius:var(--events-control-radius);background:var(--events-surface)}
#eventsBrandMark[hidden],#eventsBrandTagline[hidden]{display:none}
.events-brand-copy{display:grid;gap:4px;min-width:0}
#eventsBrandName{font-size:22px;line-height:1.25;color:var(--events-ink);overflow-wrap:anywhere}
#eventsBrandTagline{font-size:13px;line-height:1.4;color:var(--events-muted);font-weight:400;overflow-wrap:anywhere}
#eventsHeaderNote{flex-shrink:0}
.event-card a:not(.event-button),.event-detail a:not(.event-button),.event-calendar-day>a{color:var(--events-primary-link);text-decoration:underline;text-underline-offset:2px}
.event-calendar-day>a{color:var(--events-ink);border-left:3px solid var(--events-accent)}
.event-cancel-panel summary:focus-visible{outline:3px solid var(--events-ink);outline-offset:3px}
@media(max-width:760px){#eventsHeaderNote{padding-left:0}
}
