/* Measured from the Outdooractive widget on Wandern; source tokens: design-system/tokens.json. */
.czr-events, .czr-event-detail, .czr-events-dialog {
  --czr-event-ink: #333333;
  --czr-event-accent: #0468ad;
  --czr-event-line: #000000;
  --czr-event-soft: #f6f6f6;
  color: var(--czr-event-ink);
  font: 400 16px/1.5 -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  overflow-wrap: anywhere;
}
.czr-events { container: czr-events / inline-size; }
/* Keep native keyboard scrolling clear of the site's fixed header. */
html:has(.czr-events, .czr-event-detail) { scroll-padding-block: 150px 24px; }
.czr-events *, .czr-event-detail *, .czr-events-dialog * { box-sizing: border-box; }
.czr-events [hidden], .czr-event-detail [hidden], .czr-events-dialog [hidden] { display: none !important; }
.czr-events a, .czr-event-detail a, .czr-events-dialog a { color: var(--czr-event-accent); text-underline-offset: .18em; }
.czr-events :is(a, button, input, select, summary, [tabindex]):focus-visible, .czr-event-detail :is(a, button, [tabindex]):focus-visible, .czr-events-dialog :is(a, button, [tabindex]):focus-visible { outline: 3px solid #000; outline-offset: 2px; box-shadow: 0 0 0 2px #fff; }
.czr-events :is(a, button, input, select, summary, [tabindex]), .czr-event-detail [tabindex], .czr-events-dialog :is(a, button, [tabindex]) { scroll-margin-block: 150px 24px; }
/* The host Elementor kit forces inherited decoration with !important. These plugin-owned links must remain identifiable. */
.czr-events a.czr-events__reset, .czr-events a[data-czr-preset], .czr-events a.czr-event-card__details, .czr-events__pagination a, .czr-events .maplibregl-popup-content a, .czr-events .maplibregl-ctrl-attrib a, .czr-event-detail a, .czr-events-dialog a { text-decoration: underline !important; text-decoration-thickness: 1px; }
.czr-events button, .czr-events input, .czr-events select, .czr-events-dialog button { font: inherit; max-width: 100%; min-height: 44px; white-space: normal; }
.czr-events button, .czr-event-detail__website, .czr-events-dialog__close { border: 0; border-radius: 0; padding: .5em 1em; background: #000; color: #fff; cursor: pointer; }
.czr-events button:hover, .czr-events-dialog__close:hover { background: var(--czr-event-accent); }
.czr-events__filter-panel { border: 0; }
.czr-events__filter-panel > summary { display: none; min-height: 44px; padding: 10px 0; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.czr-events__filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto auto; gap: 24px 48px; align-items: end; padding: 0; margin: 0; background: transparent; }
.czr-events__filters label { display: flex; flex-direction: column; gap: 4px; font-weight: 700; min-width: 0; }
.czr-events__filters :is(input, select) { width: 100%; border: 0; border-bottom: 1px solid #000; background: #fff; border-radius: 0; color: inherit; padding: 4px 0; font-weight: 400; }
.czr-events a.czr-events__reset { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; color: var(--czr-event-accent); font-weight: 600; }
.czr-events a.czr-events__reset:hover, .czr-events a[data-czr-preset]:hover, .czr-events__pagination a:hover { color: #000; background: #e8e8e8; text-decoration-thickness: 2px !important; }
.czr-events__presets, .czr-events__themes { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; min-width: 0; margin: 0; padding: 0; border: 0; }
.czr-events__presets > span, .czr-events__themes legend { padding: 0; font-weight: 700; }
.czr-events a[data-czr-preset] { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; color: var(--czr-event-accent); font-weight: 600; }
.czr-events__themes { gap: 8px; }
.czr-events__themes legend { margin-bottom: 4px; }
/* The native checkbox stays visible: its check mark carries the state, the fill only repeats it. */
.czr-events__filters label.czr-events__chip { flex-direction: row; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border: 1.5px solid #000; border-radius: 24px; background: #fff; font-weight: 400; cursor: pointer; }
.czr-events__filters .czr-events__chip input { flex: none; width: 20px; height: 20px; min-height: 0; margin: 0; accent-color: #000; }
.czr-events__filters .czr-events__chip:hover { background: #e8e8e8; }
.czr-events__filters .czr-events__chip:has(:checked) { border-color: var(--czr-event-accent); background: var(--czr-event-accent); color: #fff; }
.czr-events__chip:has(:focus-visible) { outline: 3px solid #000; outline-offset: 2px; box-shadow: 0 0 0 2px #fff; }
.czr-events .czr-events__chip input:focus-visible { outline: 0; box-shadow: none; }
.czr-events__filters > :where(button, .czr-events__reset) { grid-column: span 2; justify-self: start; }
.czr-events__filters > button.czr-events__locate { grid-column: auto; justify-self: start; min-height: 44px; padding: 8px; background: transparent; color: var(--czr-event-accent); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.czr-events__filters > button.czr-events__locate:hover { color: #000; background: #e8e8e8; text-decoration-thickness: 2px; }
.czr-events__position { display: contents; }
.czr-events__position .czr-events__chip { justify-self: start; }
.czr-events a.czr-events__reset { gap: 4px; }
.czr-events__range { font-size: 12px; margin: 12px 0 24px; }
.czr-events__toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin: 24px 0; }
.czr-events__toolbar p { margin: 0; }
.czr-events__views { display: flex; border: 1.5px solid #000; border-radius: 16px; }
.czr-events__views button { display: grid; place-items: center; width: 48px; background: #fff; color: #000; border-radius: 0; padding: 8px; }
.czr-events__views button + button { border-left: 1.5px solid #000; }
.czr-events__views button:first-child { border-radius: 14px 0 0 14px; }
.czr-events__views button:last-child { border-radius: 0 14px 14px 0; }
.czr-events__views button[aria-pressed="true"], .czr-events__views button:hover { background: var(--czr-event-accent); color: #fff; }
.czr-events__views svg { width: 24px; height: 24px; }
.czr-events [data-czr-navigation-status]:empty { display: none; }
.czr-events-results { display: grid; grid-template-columns: 1fr; gap: 24px; }
.czr-event-card { position: relative; display: flex; flex-direction: column; min-width: 0; border: 0; border-radius: 15px 15px 10px 10px; overflow: hidden; background: var(--czr-event-soft); box-shadow: none; }
.czr-event-card figure, .czr-event-detail figure { margin: 0; }
.czr-event-card img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; }
.czr-event-card figcaption { padding: 4px 19.2px 0; font-size: 12px; line-height: 1.5; }
.czr-event-card__category { position: absolute; z-index: 1; top: 12px; left: 12px; max-width: calc(100% - 24px); padding: 3px 8px; background: #000; color: #fff; font-size: 12px; line-height: 1.4; }
.czr-event-card:not(:has(figure)) .czr-event-card__category { position: static; display: inline-block; align-self: start; margin: 12px 19.2px 0; }
.czr-event-card__body { display: flex; flex: 1; flex-direction: column; align-self: stretch; padding: 19.2px; }
.czr-event-card__meta { margin-bottom: 16px; }
.czr-event-card__body h3 { color: inherit; font: inherit; font-size: 16px; font-weight: 700; line-height: 1.2; margin: 0 0 12px; }
.czr-events a.czr-event-card__details { display: inline-flex; align-items: center; align-self: start; gap: 8px; min-height: 44px; margin-top: auto; padding: 10px 14px; background: #000; color: #fff; font-size: 16px; font-weight: 600; line-height: 1.5; }
.czr-event-card__details::after { content: ""; position: absolute; inset: 0; }
.czr-event-card:hover, .czr-event-card:focus-within { background: #e8e8e8 !important; }
.czr-event-card:hover a.czr-event-card__details, .czr-event-card__details:focus-visible { background: var(--czr-event-accent); text-decoration-thickness: 2px !important; }
.czr-event-card:focus-within { outline: 3px solid #000; outline-offset: -3px; }
.czr-event-card__body p { margin: 8px 0 0; }
.czr-event-card__date { font-weight: 700; font-size: 14px; }
.czr-event-card__location, .czr-event-card__distance { font-size: 14px; }
.czr-events-results:is([data-view="list"], [data-view="map"]) { grid-template-columns: 1fr; gap: 0; }
.czr-events-results:is([data-view="list"], [data-view="map"]) .czr-event-card { display: grid; grid-template-columns: 140px minmax(0, 1fr); align-items: center; border-bottom: 1px solid #ddd; border-radius: 0; background: #fff; }
.czr-events-results:is([data-view="list"], [data-view="map"]) .czr-event-card:not(:has(figure)) { grid-template-columns: 1fr; }
.czr-events-results:is([data-view="list"], [data-view="map"]) .czr-event-card__category { position: static; grid-column: 1 / -1; justify-self: start; margin: 12px 0 0; }
.czr-events-results:is([data-view="list"], [data-view="map"]) .czr-event-card figure { display: contents; }
.czr-events-results:is([data-view="list"], [data-view="map"]) .czr-event-card img { grid-column: 1; grid-row: 2; }
.czr-events-results:is([data-view="list"], [data-view="map"]) .czr-event-card figcaption { grid-column: 1 / -1; grid-row: 3; padding: 0 0 12px; }
.czr-events-results:is([data-view="list"], [data-view="map"]) .czr-event-card__body { grid-column: 2; grid-row: 2; padding: 16px; }
.czr-events-results:is([data-view="list"], [data-view="map"]) .czr-event-card:not(:has(figure)) .czr-event-card__body { grid-column: 1 / -1; }
.czr-events__pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
.czr-events__pagination a { padding: 8px; min-height: 44px; }
.czr-events__notice, .czr-events__empty { padding: 20px; background: var(--czr-event-soft); border-left: 4px solid var(--czr-event-accent); }
.czr-event-status { display: inline-block; border-radius: 3px; padding: .2rem .7rem; background: #fff0c1; color: #624c00; font-weight: 700; }
.czr-event-detail { max-width: 1000px; margin: 0 auto; }
.czr-event-detail__header h1 { hyphens: auto; color: var(--czr-event-ink); font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.16; margin: .4rem 0 1.5rem; }
.czr-event-detail__eyebrow { text-transform: uppercase; letter-spacing: .09em; color: var(--czr-event-accent); font-weight: 700; font-size: .85em; }
.czr-event-detail__image { margin: 1.5rem 0 !important; }
.czr-event-detail__image img { max-height: 520px; width: 100%; height: auto; object-fit: contain; background: var(--czr-event-soft); }
.czr-event-detail__image figcaption { font-size: .8em; padding: .4rem 0; }
.czr-event-detail__description { margin: 2rem 0; }
.czr-event-detail__description :is(h2, h3, h4) { color: var(--czr-event-ink); line-height: 1.3; }
.czr-event-detail__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; padding: 1.5rem; background: var(--czr-event-soft); margin: 1.5rem 0; }
.czr-event-detail__facts h2 { font-size: 1.35rem; margin: 0 0 1rem; color: var(--czr-event-ink); }
.czr-event-detail__dates { padding-left: 1.2rem; max-height: 25rem; overflow-y: auto; }
.czr-event-detail__dates li { padding-bottom: .45rem; }
.czr-event-detail a.czr-event-detail__website { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #fff; text-decoration: none !important; }
.czr-event-detail__website svg { flex-shrink: 0; }
.czr-event-detail a.czr-event-detail__website:is(:hover, :focus-visible) { background: var(--czr-event-accent); text-decoration: underline !important; text-decoration-thickness: 2px; }
.czr-event-detail__source { border-top: 1px solid var(--czr-event-line); padding-top: .8rem; margin-top: 2rem; font-size: .85em; }
html:has(.czr-events-dialog) { scrollbar-gutter: stable; }
html:has(.czr-events-dialog[open]), body:has(> .czr-events-dialog[open]) { overflow: hidden; }
.czr-events-dialog { overscroll-behavior: contain; max-width: none; width: min(1040px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); border: 0; border-radius: 16px; padding: 0; background: white; box-shadow: 0 10px 80px #0005; }
/* Initial focus announces the static title; interactive controls retain their focus rings. */
.czr-events-dialog [data-czr-event-title]:focus { outline: none; }
.czr-events-dialog::backdrop { background: #0009; }
.czr-events-dialog__close { position: sticky; top: .75rem; float: right; margin: .75rem 1rem; z-index: 2; }
.czr-events-dialog__content { clear: both; padding: 1.5rem 2rem 2rem; }
.czr-events-dialog :is(a, button, [tabindex]) { scroll-margin-block-start: 80px; }

@container czr-events (min-width: 501px) {
  .czr-events-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container czr-events (min-width: 841px) {
  .czr-events-results { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .czr-event-card__body h3 { font-size: 20px; }
}
@container czr-events (max-width: 1200px) {
  .czr-events__filters { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
}
@media (max-width: 767px) {
  .czr-events__filter-panel > summary { display: list-item; }
  .czr-events__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 16px 0; }
  .czr-events__filters button, .czr-events__reset { grid-column: 1 / -1; }
  .czr-events__reset { justify-self: end; }
  .czr-events__filters > button { justify-self: stretch; }
  .czr-events__filters label:nth-of-type(n+3) { grid-column: 1 / -1; }
  .czr-events__toolbar { gap: 12px; }
  .czr-events__toolbar p { font-size: 14px; }
  .czr-events__views button { width: 44px; }
  .czr-events-results:is([data-view="list"], [data-view="map"]) .czr-event-card { grid-template-columns: 96px minmax(0, 1fr); }
  .czr-event-detail__facts { grid-template-columns: 1fr; gap: 16px; padding: 16px; }
  .czr-events-dialog { max-width: none; width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
  .czr-events-dialog__content { padding: 16px; }
}

/* Outdooractive map composition: one shared frame and a flush, full-height map. */
.czr-events__views button[data-czr-view="map"][aria-pressed="true"], .czr-events__views button[data-czr-view="map"]:hover { background: #95c123; color: #000; }
.czr-events__results-layout[data-view="map"] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; border: 1.5px solid #000; border-radius: 32px; overflow: hidden; }
.czr-events__map-panel { position: relative; height: max(50dvh, 280px); min-width: 0; min-height: 0; background: var(--czr-event-soft); }
.czr-events [data-czr-map] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; z-index: 0; border-radius: 0; }
.czr-events__map-sync { position: absolute; z-index: 2; top: 12px; left: 12px; max-width: calc(100% - 80px); display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; padding: 0 12px; background: #fff; border: 1px solid #333; font-size: 14px; }
.czr-events__map-sync label { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; }
.czr-events__map-sync input { width: 20px; height: 20px; min-height: 0; margin: 0; accent-color: var(--czr-event-accent); }
.czr-events [data-czr-map-count]:empty { display: none; }
.czr-events__map-retry { position: absolute; z-index: 2; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.czr-events__map-status { position: absolute; bottom: 24px; left: 16px; right: 16px; margin: 0; padding: 12px; background: #fff; z-index: 1; }
.czr-events__map-status:empty { display: none; }
.czr-events__map-note { margin: 12px 0 0; font-size: 12px; }
.czr-events__results-layout:not([data-view="map"]) + .czr-events__map-note { display: none; }
.czr-events :is(.czr-event-map-marker, .czr-event-map-cluster) { display: grid; place-items: center; width: 32px; height: 32px; min-height: 0; padding: 0; border: 2px solid #fff; border-radius: 0; background: #000; color: #fff; cursor: pointer; }
.czr-events .czr-event-map-cluster { width: 44px; height: 44px; border-radius: 50%; background: var(--czr-event-accent); font-size: 14px; font-weight: 700; }
.czr-events :is(.czr-event-map-marker, .czr-event-map-cluster):hover { background: var(--czr-event-accent); }
.czr-events .czr-event-map-cluster:hover { background: #000; }
.czr-events :is(.czr-event-map-marker, .czr-event-map-cluster):focus-visible { z-index: 3; }
.czr-event-map-marker svg { width: 24px; height: 24px; }
.czr-events .maplibregl-popup-content { max-width: calc(100vw - 110px); max-height: min(24rem, max(160px, calc(50dvh - 96px))); overflow-y: auto; padding: 48px 16px 16px; border: 1px solid #333; border-radius: 0; background: #fff; color: #333; font: 400 16px/1.5 -apple-system, system-ui, "Segoe UI", sans-serif; overflow-wrap: anywhere; }
.czr-events .maplibregl-popup-content p { margin: 0 0 12px; font-weight: 700; }
.czr-events .maplibregl-popup-content .czr-event-map-date { font-weight: 400; }
.czr-events .maplibregl-popup-content ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.czr-events .maplibregl-popup-content [data-czr-event-link] { display: block; min-height: 44px; padding: 10px 14px; background: #000; color: #fff; font-weight: 600; }
.czr-events .maplibregl-popup-content [data-czr-event-link]:hover { background: var(--czr-event-accent); text-decoration-thickness: 2px !important; }
.czr-events .maplibregl-popup-close-button { top: 2px; right: 2px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border-radius: 8px; background: #fff; color: #333; font: 700 24px/1 sans-serif; }
.czr-events .maplibregl-popup-close-button:hover { background: #e8e8e8; color: #000; }
.czr-events .maplibregl-ctrl-group button { width: 44px; height: 44px; min-height: 0; padding: 0; border-radius: 0; background-color: #fff; color: #333; }
.czr-events .maplibregl-ctrl-group button:hover { background-color: #e8e8e8; }
.czr-events .maplibregl-ctrl-attrib { background: #fff; color: #333; font-size: 12px; }
.czr-events .maplibregl-ctrl-attrib a { color: #333; }
.czr-events__results-layout[data-view="map"] .czr-events-results { display: flex; flex-direction: column; gap: 8px; min-height: 0; scrollbar-color: white black; }
.czr-events__results-layout[data-view="map"] .czr-event-card { display: grid; flex: none; grid-template-columns: 30% minmax(0, 1fr); gap: 8px; align-items: start; padding: 19.2px; border: 0; background: var(--czr-event-soft); border-radius: 0; }
.czr-events__results-layout[data-view="map"] .czr-event-card__body { display: contents; }
.czr-events__results-layout[data-view="map"] .czr-event-card__body h3 { grid-column: 1 / -1; grid-row: 1; margin: 0; font-size: 16px; }
.czr-events__results-layout[data-view="map"] .czr-event-card__meta { grid-column: 2; grid-row: 2; min-width: 0; margin-bottom: 0; }
.czr-events__results-layout[data-view="map"] .czr-event-card__meta p:first-child { margin-top: 0; }
.czr-events__results-layout[data-view="map"] .czr-event-card img { aspect-ratio: 1; grid-column: 1; grid-row: 2; border-radius: 8px; }
.czr-events__results-layout[data-view="map"] .czr-event-card__category { grid-column: 1 / -1; grid-row: 3; margin: 0; padding: 2px 6px; font-size: 12px; }
.czr-events__results-layout[data-view="map"] .czr-event-card figcaption { grid-column: 1 / -1; grid-row: 4; padding: 0; }
.czr-events__results-layout[data-view="map"] .czr-event-card__details { grid-column: 1 / -1; grid-row: 5; justify-self: start; margin-top: 4px; }
.czr-events__results-layout[data-view="map"] .czr-event-card:not(:has(figure)) .czr-event-card__meta { grid-column: 1 / -1; }
@container czr-events (min-width: 841px) {
  .czr-events__results-layout[data-view="map"] { aspect-ratio: 3 / 2; grid-template-columns: 336px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .czr-events__results-layout[data-view="map"] .czr-events__map-panel { grid-column: 2; grid-row: 1; height: auto; }
  .czr-events__results-layout[data-view="map"] .czr-events-results { grid-column: 1; grid-row: 1; overflow-y: auto; }
  .czr-events__results-layout[data-view="map"] > .czr-events__empty { grid-column: 1; grid-row: 1; align-self: start; }
}
