/* Colours follow the theme: text inherits, surfaces and borders are mixed from the text colour (no fixed palette),
   so light, dark and custom block colours stay readable. Each color-mix() line has a plain fallback before it. */
.ak-local-activities { box-sizing: border-box; color: inherit; font-size: 1rem; line-height: 1.6; max-width: 100%; overflow-wrap: anywhere; }
.ak-local-activities *, .ak-local-activities *::before, .ak-local-activities *::after { box-sizing: inherit; }
.ak-local-activities .ak-local-activities__items { display: grid; align-items: start; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.ak-local-activities .ak-local-activities__item { background: transparent; background: color-mix(in srgb, currentColor 4%, transparent); border: 1px solid currentColor; border: 1px solid color-mix(in srgb, currentColor 22%, transparent); border-radius: .5rem; color: inherit; min-width: 0; padding: 1rem; }
.ak-local-activities .ak-local-activities__item > h2, .ak-local-activities .ak-local-activities__item > h3, .ak-local-activities .ak-local-activities__item > h4,
.ak-local-activities .ak-local-activities__item > h5, .ak-local-activities .ak-local-activities__item > h6 { color: inherit; font-size: 1.125rem; line-height: 1.5; margin: 0 0 .75rem; }
/* Links use the text colour plus an underline (never colour alone); the block "Link" colour setting and theme presets still win. */
.ak-local-activities :where(a) { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.ak-local-activities a:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.ak-local-activities dl { margin: 0; }
.ak-local-activities dl > div { margin: 0 0 .5rem; }
.ak-local-activities dt { font-weight: 600; }
.ak-local-activities dd { margin: 0; }
.ak-local-activities .ak-local-activities__license { color: inherit; color: color-mix(in srgb, currentColor 85%, transparent); font-size: .8125rem; margin: .25rem 0 .75rem; overflow-wrap: anywhere; }
.ak-local-activities .ak-local-activities__source, .ak-local-activities .ak-local-activities__note, .ak-local-activities .ak-local-activities__status { color: inherit; color: color-mix(in srgb, currentColor 85%, transparent); font-size: .9375rem; margin: .75rem 0; }
.ak-local-activities .ak-local-activities__brand, .ak-local-activities .ak-local-activities__more { margin: .75rem 0 0; }
.ak-local-activities .ak-local-activities__sessions summary { color: inherit; cursor: pointer; font-weight: 600; min-height: 2.75rem; padding-block: .625rem; text-decoration: underline; text-underline-offset: .15em; }
.ak-local-activities .ak-local-activities__sessions summary:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.ak-local-activities .ak-local-activities__sessions ol { padding-inline-start: 1.5rem; }
.ak-local-activities .ak-local-activities__sessions li { margin-block: .75rem; }
.ak-local-activities .ak-local-activities__sessions p { margin-block: .25rem; }

.ak-local-activities .ak-local-activities__offering { border-top: 1px solid currentColor; border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent); padding-block: .75rem; }

.ak-local-activities .ak-local-activities__offering summary { text-decoration: none; font-weight: 400; }
.ak-local-activities .ak-local-activities__offering summary > span { display: block; color: inherit; margin-inline-start: 1rem; }
.ak-local-activities .ak-local-activities__offering summary > .ak-local-activities__class-title { display: inline; color: inherit; font-weight: 600; margin-inline-start: 0; text-decoration: underline; text-underline-offset: .15em; }
.ak-local-activities [hidden] { display: none !important; }
.ak-local-activities .ak-local-activities__pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin-block: .75rem; }
.ak-local-activities .ak-local-activities__pagination button { appearance: none; background: transparent; border: 1px solid currentColor; border-radius: .375rem; color: inherit; cursor: pointer; font: inherit; font-size: 1rem; line-height: 1.5; min-height: 44px; min-width: 44px; padding: .5rem .625rem; }
/* Disabled: dashed outline and reduced opacity, still the theme's own colour. */
.ak-local-activities .ak-local-activities__pagination button:disabled { border-style: dashed; cursor: default; opacity: .7; }
.ak-local-activities .ak-local-activities__pagination button:focus-visible, .ak-local-activities .ak-local-activities__sessions li:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.ak-local-activities .ak-local-activities__pagination [role="status"] { font-size: .875rem; white-space: nowrap; }
.ak-local-activities .ak-local-activities__sessions summary, .ak-local-activities .ak-local-activities__sessions li { scroll-margin-block: 4rem; }

/* List layout: one column of rows separated by rules instead of cards. */
.ak-local-activities--list .ak-local-activities__items { grid-template-columns: minmax(0, 1fr); gap: 0; }
.ak-local-activities.ak-local-activities--list .ak-local-activities__item { background: transparent; border-width: 0 0 1px; border-radius: 0; padding: 1rem 0; }
.ak-local-activities.ak-local-activities--list .ak-local-activities__item:first-child { border-top-width: 1px; }

/* Compact style (sidebars): one column, tighter spacing, label and value on one line. */
.ak-local-activities--compact .ak-local-activities__items, .ak-local-activities.is-style-compact .ak-local-activities__items { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
.ak-local-activities--compact .ak-local-activities__item, .ak-local-activities.is-style-compact .ak-local-activities__item { padding: .75rem; }
.ak-local-activities--compact.ak-local-activities--list .ak-local-activities__item, .ak-local-activities.is-style-compact.ak-local-activities--list .ak-local-activities__item { padding-inline: 0; }
.ak-local-activities--compact .ak-local-activities__item > :is(h2, h3, h4, h5, h6), .ak-local-activities.is-style-compact .ak-local-activities__item > :is(h2, h3, h4, h5, h6) { font-size: 1rem; margin-bottom: .375rem; }
.ak-local-activities--compact dl > div, .ak-local-activities.is-style-compact dl > div { display: flex; flex-wrap: wrap; gap: 0 .5rem; margin-bottom: .25rem; }
.ak-local-activities--compact .ak-local-activities__source, .ak-local-activities.is-style-compact .ak-local-activities__source { margin: .375rem 0 0; }

/* Administrator-only notice shown where the module would be (visitors never receive it). */
.ak-local-activities .ak-local-activities__admin-notice { background: transparent; background: color-mix(in srgb, currentColor 6%, transparent); border-inline-start: 4px solid currentColor; margin: 0 0 1rem; padding: .5rem .75rem; }
.ak-local-activities .ak-local-activities__admin-notice-label { font-weight: 600; }
