.region-filter{display:flex;align-items:center;gap:12px;padding:4px 22px 14px;color:var(--green);font-weight:700;font-size:14px}
.region-filter select,.language-setting select{min-width:0;flex:1;border:1px solid #bdd1c4;border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.language-setting{display:flex;align-items:center;gap:18px;margin:16px 0;font-weight:700}
.section-head{flex-wrap:wrap;gap:8px}.section-head>div{min-width:0}.section-head h2{font-size:22px}
.event-labels{flex-wrap:wrap}.event-info{min-width:0}.event-info h3,.event-info .meta{overflow-wrap:anywhere}
.detail-actions{flex-wrap:wrap}.detail-actions button{min-width:0;flex:1 1 140px;white-space:normal}
.on-site-actions{gap:8px}.on-site-actions button{white-space:normal}
.schedule article{grid-template-columns:50px 5px minmax(0,1fr) 34px}.schedule h3{font-size:16px;overflow-wrap:anywhere}.schedule p,.schedule small{font-size:12px;overflow-wrap:anywhere}
.schedule-filters label{font-size:14px}.schedule-filters .region-choice{grid-column:1/-1}
.calendar-view .calendar-sticky{position:relative;top:auto;box-shadow:none}
.filters{flex-wrap:wrap}.bottom-nav a{min-width:0}.saved-tabs button{white-space:normal}
.empty .reload-events{display:block;margin:12px auto;padding:10px 18px;border:1px solid var(--green);border-radius:12px;background:#fff;color:var(--green);font:inherit}
html.large-screen .region-filter{font-size:18px}html.large-screen .region-filter select{font-size:18px;min-height:48px}
@media(max-width:380px){.topbar{gap:8px;padding:0 12px}.region-filter{padding-inline:16px}.section-head{padding-inline:16px}.event-card{gap:8px}.detail-body{padding-inline:16px}html[lang=en] .hero h1{font-size:29px}}

.schedule-display{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;flex-wrap:wrap}.schedule-display button{border:1px solid #bdd1c4;border-radius:12px;padding:10px 14px;background:#fff;color:var(--green);font:inherit;cursor:pointer}.schedule-display p{font-size:12px;color:var(--muted);margin:0;overflow-wrap:anywhere}#scheduleMapHost .map-view{margin:0 0 20px}#scheduleMapHost{min-width:0}
.explicit-search{border:1px solid #d8ddd3;background:#eff5e9;color:#2c603d;border-radius:12px;padding:10px 14px;font:inherit;cursor:pointer;margin-top:8px}
.detail-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.detail-back,.detail-live{z-index:2}
.location-privacy{font-size:12px;color:#667260;line-height:1.5;margin:8px 0}
#buskerPrograms .profile-event{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
#buskerPrograms .profile-event strong{flex:1}#buskerPrograms .profile-event p{width:100%}
/* Keep the registration control clear of the navigation on both screen sizes. */
:root{--secl-nav-bottom:0px;--secl-nav-height:70px}
html.large-screen{--secl-nav-height:86px}
.add-button,html.large-screen .add-button{bottom:calc(var(--secl-nav-bottom) + var(--secl-nav-height) + 9px)}
@media(min-width:700px){:root{--secl-nav-bottom:24px}}
.public-data-note{margin:8px 20px;padding:10px 12px;background:#fff3df;border-radius:10px;font-size:12px;color:#79521a}
/* The old .live overlay style belongs only to the visual, not status badges. */
.status-badge{position:static;inset:auto;font-family:inherit;font-size:12px}
button,input,select,textarea{font-family:inherit}
.entry-language{border:0;min-width:0;padding:0;margin:14px 0 20px;text-align:left}
.entry-language legend{padding:0;margin-bottom:8px;font-size:14px;font-weight:800;color:var(--ink)}
.entry-language-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.entry-card .entry-language-options button{min-height:44px;padding:10px;border:1px solid #ccd5ce;border-radius:12px;background:#fff;color:var(--ink);font-size:16px}
.entry-card .entry-language-options button[aria-pressed="true"]{border-color:var(--green);background:var(--green);color:#fff;font-weight:800}
.entry-card .entry-language-options button:focus-visible{outline:3px solid var(--green);outline-offset:3px}
