.activities-page { --container: var(--site-container-width); background: #f3f9fc; padding: 1.3rem 0 3rem; }
.activities-page :is(div, section, article, aside, header, form, fieldset) { min-width: 0; }
.activities-top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(24rem, 1fr); gap: 1.5rem; align-items: end; margin-bottom: 1.6rem; }
.activities-breadcrumb { display: flex; gap: .5rem; align-items: center; font-size: .8rem; color: var(--muted); margin-bottom: .6rem; }
.activities-breadcrumb a { color: var(--navy); text-decoration: none; }
.activities-breadcrumb .icon { width: .75rem; height: .75rem; }
.activities-top h1 { font-size: clamp(2rem, 3vw, 2.65rem); line-height: 1.15; margin-bottom: .4rem; }
.activities-top .lead { color: #4a6684; font-size: 1rem; line-height: 1.5; margin: 0; }
.activities-personal { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .65rem; margin-bottom: .8rem; }
.activities-personal button { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: .5rem .85rem; border: 1px solid #d6e5ed; border-radius: .85rem; color: var(--navy); background: transparent; font-size: .875rem; cursor: pointer; }
.activities-personal button:hover, .activities-personal button[aria-pressed="true"] { background: #e0f1f6; border-color: #a0c3d0; }
[data-favorite-count] { display: grid; place-items: center; border-radius: 50%; width: 1.25rem; height: 1.25rem; background: var(--teal-light); font-size: .7rem; }
[data-favorite-count][data-empty] { display: none; }
.activities-search-field { display: flex; align-items: center; gap: .65rem; padding-left: 1rem; border: 1px solid #c8dce8; border-radius: .85rem; background: #fff; }
.activities-search-field > .icon { color: var(--navy); }
.activities-search-field input { width: 100%; min-width: 0; border: 0; background: transparent; box-shadow: none; padding: .6rem 0; min-height: 2.8rem; font-size: .85rem; }
.activities-search-field input::placeholder { color: #6b8199; opacity: 1; }
.activities-search-field .button { flex-shrink: 0; white-space: nowrap; min-height: 2.8rem; border-radius: .8rem; padding: .6rem 1.25rem; font-size: .85rem; }
.activities-tools > small { display: block; margin-top: .4rem; color: var(--muted); font-size: .875rem; }
.activities-feedback:not(.sr-only) { padding: .7rem 1rem; border-radius: .6rem; background: #fff4db; color: var(--navy); font-size: .875rem; }
.activities-explorer { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.activities-filter-panel { min-width: 0; padding: 1.1rem; border: 1px solid #e3edf3; border-radius: 1rem; background: #fff; box-shadow: 0 3px 12px #082c4c03; }
.activities-filter-panel > summary { display: none; }
.activities-filter-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.1rem; }
.activities-filter-heading h2 { font-size: 1.1rem; margin: 0; }
.activities-filter-heading a { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: .875rem; text-decoration: none; }
.activities-filter-panel fieldset { border: 0; padding: 0 0 .85rem; margin: 0 0 .85rem; border-bottom: 1px solid #e6eef3; }
.activities-filter-panel fieldset:last-of-type { border: 0; padding-bottom: .3rem; }
.activities-filter-panel legend { display: flex; gap: .6rem; align-items: center; width: 100%; font-size: .8rem; font-weight: 750; color: var(--navy); margin-bottom: .55rem; }
.activities-filter-panel legend .icon { width: 1rem; height: 1rem; }
.activities-check { display: flex; align-items: center; gap: .6rem; min-height: 2.75rem; padding: .35rem 0; font-size: .875rem; line-height: 1.4; color: var(--ink); cursor: pointer; }
.activities-check input { width: 1.25rem; height: 1.25rem; min-height: 0; flex-shrink: 0; margin: 0; accent-color: var(--teal); }
.activities-check > .icon { width: 1.1rem; height: 1.1rem; color: var(--navy); }
.activities-check > small { margin-left: auto; padding-left: .2rem; color: #617992; font-size: .73rem; }
.activities-filter-panel select { width: 100%; min-height: 2.75rem; border: 1px solid #ccdee9; border-radius: .7rem; padding: .45rem 1.7rem .45rem .7rem; font-size: .875rem; color: var(--ink); background-color: #fff; }
.activities-filter-panel select + .activities-check { margin-top: .5rem; }
.activities-apply { min-height: 2.75rem; border-radius: .7rem; font-size: .825rem; padding: .65rem; }
.activities-results { min-width: 0; }
.activities-results-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .7rem; }
.activities-quick-filters { display: flex; flex-wrap: wrap; gap: .4rem; }
.activities-chip { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .45rem .8rem; border: 1px solid #d3e2eb; border-radius: 999px; background: #fff; color: var(--ink); font-size: .875rem; line-height: 1.3; cursor: pointer; }
.activities-chip:hover { background: #e4f3f8; }
.activities-chip.is-active { background: var(--teal); color: #fff; border-color: var(--teal); }
.activities-result-options { width: 100%; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .6rem; }
.activities-result-options h2 { font-size: .9375rem; letter-spacing: 0; line-height: 1.4; font-weight: 650; margin: 0; }
#activiteiten-resultaten:focus { outline: 0; }
.activities-view-switch { display: flex; padding: .2rem; border: 1px solid #c6dce8; border-radius: .85rem; background: #fff; }
.activities-view-switch button { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 2.75rem; border: 0; border-radius: .6rem; padding: .45rem .7rem; background: transparent; color: var(--navy); font-size: .875rem; cursor: pointer; }
.activities-view-switch button[aria-pressed="true"] { background: #e9f4f9; font-weight: 750; }
.activities-view-switch .icon { width: 1rem; height: 1rem; }
.activities-result-context { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: .5rem; margin-bottom: .8rem; font-size: .8rem; color: var(--muted); }
.activities-result-context p { margin: 0; flex: 1 1 65%; }
.activities-result-context:not(:has(p)) { display: none; }
.activities-sort { display: flex; align-items: center; gap: .5rem; margin-left: auto; }
.activities-sort label { font-size: .875rem; }
.activities-sort select { width: auto; min-height: 2.75rem; border: 1px solid #c6dce8; border-radius: .5rem; padding: .4rem 1.6rem .4rem .5rem; color: var(--navy); background-color: #fff; font-size: .875rem; }
[data-clear-favorites] { border: 0; background: transparent; color: var(--teal-dark); text-decoration: underline; cursor: pointer; }
.activities-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.activities-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1.5rem; }
.activities-pagination button { min-width: 2.75rem; min-height: 2.75rem; border: 1px solid #d5e4ec; border-radius: .6rem; color: var(--navy); background: white; cursor: pointer; }
.activities-pagination button[aria-current="page"] { background: var(--teal); color: #fff; border-color: var(--teal); }
.activities-page-summary { text-align: center; color: var(--muted); font-size: .75rem; margin: .65rem 0 1rem; }
.activities-empty { display: grid; justify-items: center; text-align: center; background: #fff; padding: 2.5rem 1.5rem; border: 1px solid var(--line); border-radius: 1rem; }
.activities-empty > .icon { width: 2rem; height: 2rem; color: var(--teal); margin-bottom: .85rem; }
.activities-empty h3 { font-size: 1.35rem; }
.activities-empty p { max-width: 35rem; font-size: .9rem; }
.activities-empty .button { font-size: .9rem; }
.activities-save-banner { display: flex; align-items: center; gap: 1rem; margin-top: 1.25rem; padding: 1.1rem 1.35rem; border-radius: 1rem; background: #e5f3f8; }
.activities-save-banner > span { display: grid; place-items: center; color: #157c55; }
.activities-save-banner > span .icon { width: 2.8rem; height: 2.8rem; }
.activities-save-banner h2 { font-size: 1.1rem; line-height: 1.3; margin-bottom: .35rem; }
.activities-save-banner p { margin: 0; font-size: .85rem; color: #46667e; }
.activities-save-banner .button { margin-left: auto; flex-shrink: 1; min-width: 0; max-width: 100%; min-height: 2.75rem; font-size: .8rem; border-radius: .8rem; }
.activities-list { grid-template-columns: minmax(0, 1fr); }
.activities-list .activity-explorer-card { display: grid; grid-template-columns: 12rem minmax(0, 1fr); }
.activities-list .explorer-card-visual { height: 100%; min-height: 11rem; }
.activities-list .explorer-card-summary { -webkit-line-clamp: 2; }
.activities-list .explorer-card-content h3 { font-size: 1.15rem; }
.explorer-calendar { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 2.75rem; padding: .6rem; margin-top: .7rem; border: 1px solid #aacdd6; background: #f0f8fa; color: var(--teal-dark); border-radius: .6rem; font-size: .8rem; cursor: pointer; }
.activities-map-layout { display: grid; grid-template-columns: minmax(0, 1fr) 16rem; overflow: hidden; border: 1px solid #d0e1e9; border-radius: 1rem; background: #fff; }
.activities-map-canvas { min-width: 0; height: 35rem; z-index: 1; background: #e7eee7; }
.activities-map-list { max-height: 35rem; overflow-y: auto; padding: .4rem .85rem; }
.activities-map-list article { padding: .8rem 0; border-bottom: 1px solid #e1edf2; }
.activities-map-list article:last-child { border: 0; }
.activities-map-list article.is-active { background: #eaf7f5; }
.activities-map-list button { display: flex; align-items: flex-start; gap: .5rem; text-align: left; padding: .2rem 0; border: 0; background: transparent; color: var(--navy); cursor: pointer; width: 100%; }
.activities-map-list button .icon { width: 1rem; height: 1rem; margin-top: .15rem; }
.activities-map-list strong { display: block; font-size: .85rem; line-height: 1.4; }
.activities-map-list small { display: block; font-size: .75rem; color: var(--muted); margin-top: .3rem; }
.activities-map-list a { display: inline-flex; align-items: center; gap: .4rem; min-height: 2rem; margin-left: 1.5rem; font-size: .75rem; }
.activities-map-list a .icon { width: .85rem; height: .85rem; }
.activities-map-note { margin-top: .6rem; color: var(--muted); font-size: .8rem; }
.activities-map-canvas .leaflet-control-attribution { font-size: 10px; color: #333; }
.activities-map-canvas .leaflet-control-attribution a { color: #006779; }
.activity-map-pin { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50% 50% 50% .2rem; transform: rotate(-45deg); border: 3px solid white; box-shadow: 0 2px 8px #082c4c55; background: var(--teal); color: white; }
.activity-map-pin span { transform: rotate(45deg); font-size: .8rem; font-weight: 800; }
.activities-map-canvas .leaflet-popup-content { font-family: var(--font); min-width: 11rem; max-height: 17rem; overflow-y: auto; }
.activities-map-canvas .leaflet-popup-content h3 { font-size: 1rem; margin: 0 0 .5rem; }
.activities-map-canvas .leaflet-popup-content p { margin: .5rem 0; font-size: .75rem; }
.activities-map-canvas .leaflet-popup-content a { display: block; color: var(--teal-dark); font-size: .8rem; padding: .45rem 0; border-bottom: 1px solid #e1ebef; }
@media (max-width: 75rem) {
    .activities-grid:not(.activities-list) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .activities-explorer { grid-template-columns: 14rem minmax(0, 1fr); }
    .activities-map-layout { grid-template-columns: minmax(0, 1fr); }
    .activities-map-list { max-height: 15rem; }
}
@media (max-width: 55rem) {
    .activities-top { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .activities-personal { justify-content: flex-start; }
    .activities-explorer { grid-template-columns: minmax(0, 1fr); }
    .activities-filter-panel { padding: 0 1rem; }
    .activities-filter-panel > summary { display: flex; align-items: center; gap: .5rem; padding-block: .9rem; font-weight: 750; cursor: pointer; }
    .activities-filter-panel form { padding-block: .5rem 1rem; }
    .activities-filter-heading h2 { display: none; }
    .activities-filter-heading { justify-content: flex-end; margin-bottom: .4rem; }
    .activities-filter-panel fieldset { display: inline-block; vertical-align: top; width: calc(50% - .65rem); margin-right: .5rem; }
    .activities-save-banner { flex-wrap: wrap; }
    .activities-save-banner .button { margin-left: 0; }
}
@media (max-width: 36rem) {
    .activities-page { padding-top: 1rem; }
    .activities-grid:not(.activities-list) { grid-template-columns: minmax(0, 1fr); }
    .activities-top h1 { font-size: 2rem; }
    .activities-filter-panel fieldset { display: block; width: 100%; margin-right: 0; }
    .activities-quick-filters { gap: .4rem; }
    .activities-chip { font-size: .75rem; padding-inline: .7rem; }
    .activities-view-switch { width: 100%; }
    .activities-view-switch button { flex: 1; }
    .activities-list .activity-explorer-card { grid-template-columns: minmax(0, 1fr); }
    .activities-list .explorer-card-visual { height: 8rem; min-height: 0; }
    .explorer-card-visual { height: 9rem; }
    .activities-search-field { padding-left: .65rem; gap: .4rem; }
    .activities-search-field .button { padding-inline: .75rem; }
    .activities-sort { margin-top: .3rem; }
    .activities-map-canvas { height: 25rem; }
}
html:is([data-text-size="150"],[data-text-size="200"]) .activities-explorer,
html:is([data-text-size="150"],[data-text-size="200"]) .activities-top,
html:is([data-text-size="150"],[data-text-size="200"]) .activities-grid,
html:is([data-text-size="150"],[data-text-size="200"]) .activities-list .activity-explorer-card { grid-template-columns: minmax(0, 1fr); }
html:is([data-text-size="150"],[data-text-size="200"],.display-spacing) .explorer-card-summary { display: block; overflow: visible; }
html:is([data-text-size="150"],[data-text-size="200"],.display-spacing) .explorer-card-visual { display: flex; flex-wrap: wrap; height: auto; }
html:is([data-text-size="150"],[data-text-size="200"],.display-spacing) .explorer-card-visual img { height: auto; aspect-ratio: 2.5; }
html:is([data-text-size="150"],[data-text-size="200"],.display-spacing) :is(.explorer-card-date,.explorer-card-price) { position: static; margin: .4rem; max-width: 100%; }
html:is([data-text-size="150"],[data-text-size="200"]) .activities-filter-panel fieldset { width: 100%; }
html:is([data-text-size="150"],[data-text-size="200"]) :is(.activities-personal,.activities-search-field,.activities-view-switch,.explorer-card-footer,.activities-save-banner) { flex-wrap: wrap; }
html[data-text-size="200"] .activities-search-field input { flex-basis: 70%; }
html[data-text-size="200"] .activities-search-field .button { flex-basis: 100%; }
html[data-text-size="200"] .activities-map-layout { grid-template-columns: minmax(0, 1fr); }
@media (prefers-reduced-motion: reduce) { .activities-page * { scroll-behavior: auto; transition: none; } }
@media print { .activities-tools, .activities-filter-panel, .activities-results-toolbar, .activities-sort, .activities-save-banner, .explorer-card-favorite, .explorer-calendar { display: none !important; } .activities-explorer { display: block; } }
