/* Visitor filter form (server-rendered; filters.js applies it in place). Inherits the theme's text color; no brand colors.
   Controls are at least 16px text and 44px targets; choices wrap, so nothing scrolls sideways at 390px. */
.ak-local-activities .ak-local-activities__filters { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .75rem 1rem; margin: 0 0 1rem; padding: .75rem; border: 1px solid currentColor; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); border-radius: .5rem; max-width: 100%; box-sizing: border-box; }
.ak-local-activities .ak-local-activities__filter { flex: 1 1 100%; min-width: 0; max-width: 100%; margin: 0; padding: 0; border: 0; }
.ak-local-activities .ak-local-activities__filter--age { flex-basis: 14rem; }
.ak-local-activities .ak-local-activities__filter legend,
.ak-local-activities .ak-local-activities__filter-label { display: block; margin: 0 0 .375rem; padding: 0; font-size: .9375rem; font-weight: 600; }
.ak-local-activities .ak-local-activities__choices,
.ak-local-activities .ak-local-activities__presets { display: flex; flex-wrap: wrap; gap: .5rem; }
.ak-local-activities .ak-local-activities__presets { margin-top: .5rem; }
.ak-local-activities .ak-local-activities__choice { position: relative; display: inline-flex; max-width: 100%; }
/* The checkbox stays in the accessibility tree and keyboard order; its label is the visible toggle. */
.ak-local-activities .ak-local-activities__choice input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ak-local-activities .ak-local-activities__choice span,
.ak-local-activities .ak-local-activities__preset,
.ak-local-activities .ak-local-activities__filter select,
.ak-local-activities .ak-local-activities__filter-apply,
.ak-local-activities .ak-local-activities__filter-clear { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; min-width: 44px; max-width: 100%; padding: .5rem .75rem; border: 1px solid currentColor; border: 1px solid color-mix(in srgb, currentColor 60%, transparent); border-radius: .375rem; background-color: transparent; color: inherit; font: inherit; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; text-align: center; }
.ak-local-activities .ak-local-activities__filter select { display: block; width: 100%; text-align: start; }
.ak-local-activities .ak-local-activities__filter select option { background-color: Canvas; color: CanvasText; }
.ak-local-activities .ak-local-activities__preset,
.ak-local-activities .ak-local-activities__filter-apply { cursor: pointer; }
.ak-local-activities .ak-local-activities__filter-clear { text-decoration: underline; }
.ak-local-activities .ak-local-activities__choice input:checked + span,
.ak-local-activities .ak-local-activities__preset[aria-pressed="true"] { background-color: color-mix(in srgb, currentColor 14%, transparent); border-color: currentColor; font-weight: 600; box-shadow: inset 0 0 0 1px currentColor; }
.ak-local-activities .ak-local-activities__choice input:focus-visible + span,
.ak-local-activities .ak-local-activities__preset:focus-visible,
.ak-local-activities .ak-local-activities__filter select:focus-visible,
.ak-local-activities .ak-local-activities__filter-apply:focus-visible,
.ak-local-activities .ak-local-activities__filter-clear:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
.ak-local-activities .ak-local-activities__choice input:disabled,
.ak-local-activities .ak-local-activities__filters :disabled { cursor: default; }
.ak-local-activities .ak-local-activities__filter-actions { display: flex; flex: 1 1 100%; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ak-local-activities .ak-local-activities__filter-status { margin: 0 0 1rem; font-size: 1rem; }
/* Loading (filters.js): dimmed list, a busy cursor and the status line text; none of it relies on color. */
.ak-local-activities[aria-busy="true"] .ak-local-activities__items { opacity: .6; }
.ak-local-activities[aria-busy="true"],
.ak-local-activities[aria-busy="true"] .ak-local-activities__filters,
.ak-local-activities[aria-busy="true"] .ak-local-activities__items { cursor: progress; }
.ak-local-activities .ak-local-activities__preset[aria-disabled="true"] { cursor: progress; opacity: .6; }
@media (prefers-reduced-motion: no-preference) {
    .ak-local-activities .ak-local-activities__items { transition: opacity .15s ease-in-out; }
}
.ak-local-activities .ak-local-activities__filters [hidden] { display: none !important; }
.ak-local-activities__announcer { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ak-local-activities .ak-local-activities__filters { display: block; padding: 0; border: 0; margin-bottom: .5rem; }
.ak-local-activities .ak-local-activities__filter-details { width: 100%; }
.ak-local-activities .ak-local-activities__filter-details > summary { cursor: pointer; min-height: 44px; box-sizing: border-box; padding: .5rem .625rem; font-size: 1rem; border: 1px solid currentColor; border-radius: .375rem; }
.ak-local-activities .ak-local-activities__filter-panel { display: flex; flex-direction: column; gap: 1rem; padding: .75rem; }
.ak-local-activities .ak-local-activities__toolbar { display: flex; gap: .375rem; align-items: center; }
.ak-local-activities .ak-local-activities__toolbar .ak-local-activities__filter--age { flex: 1 1 7rem; min-width: 0; }
.ak-local-activities .ak-local-activities__toolbar .ak-local-activities__filter-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ak-local-activities .ak-local-activities__toolbar .ak-local-activities__filter-details { flex: 0 1 auto; width: auto; }
.ak-local-activities .ak-local-activities__toolbar .ak-local-activities__preset { padding-inline: .5rem; }
.ak-local-activities .ak-local-activities__toolbar select { padding-inline: .375rem; text-overflow: ellipsis; }
.ak-local-activities .ak-local-activities__filter-details--enhanced:not([open]) > .ak-local-activities__filter-panel { display: none; }
.ak-local-activities .ak-local-activities__panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ak-local-activities .ak-local-activities__panel-heading button { font: inherit; min-width: 44px; min-height: 44px; }
.ak-local-activities .ak-local-activities__dialog { box-sizing: border-box; color: CanvasText; background: Canvas; border: 1px solid currentColor; padding: 0; width: min(32rem, 100%); max-width: 100%; max-height: 90dvh; margin: 0 0 0 auto; height: 100dvh; }
.ak-local-activities .ak-local-activities__dialog:not([open]) { display: none; }
.ak-local-activities .ak-local-activities__dialog[open] { display: flex; flex-direction: column; }
.ak-local-activities .ak-local-activities__dialog::backdrop { background: rgb(0 0 0 / 35%); }
.ak-local-activities .ak-local-activities__dialog[data-layout="compact"] { margin: auto auto 0; width: min(32rem, 100%); height: fit-content; border-radius: 1rem 1rem 0 0; }
.ak-local-activities .ak-local-activities__dialog .ak-local-activities__filter-panel { width: 100%; min-height: 0; max-height: inherit; overflow: hidden; gap: 0; padding: 0; }
.ak-local-activities .ak-local-activities__dialog .ak-local-activities__panel-heading { flex: none; padding: .75rem; border-bottom: 1px solid color-mix(in srgb, currentColor 20%, transparent); }
.ak-local-activities .ak-local-activities__filter-body { display: flex; flex-direction: column; gap: .75rem; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: .75rem; }
.ak-local-activities .ak-local-activities__filter-body > .ak-local-activities__filter { flex: none; }
.ak-local-activities .ak-local-activities__dialog .ak-local-activities__filter-actions { position: static; flex: none; background: Canvas; padding: .75rem; padding-bottom: max(.75rem, env(safe-area-inset-bottom)); border-top: 1px solid color-mix(in srgb, currentColor 20%, transparent); }
.ak-local-activities .ak-local-activities__filter--categories .ak-local-activities__choices { display: grid; grid-template-columns: 1fr; gap: 0; }
.ak-local-activities .ak-local-activities__filter--categories .ak-local-activities__choice { display: flex; align-items: center; gap: .625rem; padding: .375rem; min-height: 44px; }
.ak-local-activities .ak-local-activities__filter--categories .ak-local-activities__choice input { position: static; opacity: 1; width: 1.25rem; height: 1.25rem; flex: none; }
.ak-local-activities .ak-local-activities__filter--categories .ak-local-activities__choice span { display: block; border: 0; border-radius: 0; min-width: 0; min-height: 0; padding: 0; text-align: start; box-shadow: none; flex: 1; }
.ak-local-activities .ak-local-activities__filter--categories small { font-size: .875rem; }
.ak-local-activities .ak-local-activities__filter-summary { margin: 0; font-size: 1rem; overflow-wrap: anywhere; }
.ak-local-activities .ak-local-activities__filter-summary { display: flex; align-items: center; gap: .25rem; }
.ak-local-activities .ak-local-activities__filter-summary button { font: inherit; color: inherit; background: transparent; border: 0; min-height: 44px; min-width: 44px; padding: .25rem; text-align: start; overflow-wrap: anywhere; }
.ak-local-activities .ak-local-activities__filter-status { margin: 0 0 .5rem; }
.ak-local-activities .ak-local-activities__course-pages { display: flex; flex-wrap: wrap; gap: .75rem; }
.ak-local-activities .ak-local-activities__course-pages a,
.ak-local-activities .ak-local-activities__cta a,
.ak-local-activities .ak-local-activities__browse a,
.ak-local-activities [data-akla-retry] { display: inline-flex; align-items: center; min-height: 44px; font-size: 1rem; }
.ak-local-activities .ak-local-activities__source-check { font-size: .875rem; }
.ak-local-activities-view { max-width: 70rem; margin: auto; padding: 1rem; }
@media (min-width: 40rem) {
    .ak-local-activities .ak-local-activities__filter--days { flex-basis: 24rem; }
}

.ak-local-activities .ak-local-activities__toolbar > .ak-local-activities__preset, .ak-local-activities .ak-local-activities__toolbar summary { white-space: nowrap; }
.ak-local-activities .ak-local-activities__toolbar .ak-local-activities__filter--age { flex-basis: 0; }
.ak-local-activities .ak-local-activities__filter-summaries { display: flex; flex-wrap: wrap; column-gap: .25rem; }
.ak-local-activities .ak-local-activities__filter-summaries > p { flex: 0 1 auto; max-width: 100%; }

/* Native disclosure + the same real checkboxes: compact multi-selection without a second state model. */
.ak-local-activities .ak-local-activities__multi { min-width: 0; border: 1px solid color-mix(in srgb, currentColor 60%, transparent); border-radius: .375rem; }
.ak-local-activities .ak-local-activities__multi > summary { display: flex; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem .75rem; box-sizing: border-box; font-size: 1rem; line-height: 1.5; cursor: pointer; list-style: none; }
.ak-local-activities .ak-local-activities__multi > summary::-webkit-details-marker { display: none; }
.ak-local-activities .ak-local-activities__multi > summary::after { content: '▾'; margin-inline-start: auto; flex: none; }
.ak-local-activities .ak-local-activities__multi[open] > summary::after { content: '▴'; }
.ak-local-activities .ak-local-activities__multi > summary > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ak-local-activities .ak-local-activities__multi > summary:focus-visible,
.ak-local-activities .ak-local-activities__multi-search:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
.ak-local-activities .ak-local-activities__multi-options { padding: .5rem; border-top: 1px solid color-mix(in srgb, currentColor 20%, transparent); }
.ak-local-activities .ak-local-activities__multi:not([open]) > .ak-local-activities__multi-options { display: none; }
.ak-local-activities .ak-local-activities__multi .ak-local-activities__presets { margin: 0 0 .5rem; }
.ak-local-activities .ak-local-activities__multi-search { display: block; width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; margin: 0 0 .5rem; padding: .5rem; border: 1px solid currentColor; border-radius: .25rem; background: Canvas; color: CanvasText; font: inherit; font-size: 1rem; }
.ak-local-activities .ak-local-activities__multi .ak-local-activities__choices { max-height: min(13.75rem, 35dvh); overflow-y: auto; overscroll-behavior: contain; }
.ak-local-activities .ak-local-activities__filter--days .ak-local-activities__multi .ak-local-activities__choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .5rem; }
.ak-local-activities .ak-local-activities__multi .ak-local-activities__choice { display: flex; align-items: center; gap: .625rem; padding: .375rem; min-height: 44px; box-sizing: border-box; }
.ak-local-activities .ak-local-activities__multi .ak-local-activities__choice input { position: static; opacity: 1; width: 1.25rem; height: 1.25rem; flex: none; }
.ak-local-activities .ak-local-activities__multi .ak-local-activities__choice span { display: block; border: 0; border-radius: 0; min-width: 0; min-height: 0; padding: 0; text-align: start; box-shadow: none; flex: 1; }
