.activity-explorer-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e8f1f6; border-radius: 1rem; background: #fff; box-shadow: 0 3px 12px #137ca908; }
.explorer-card-visual { position: relative; height: 7.7rem; flex-shrink: 0; background: #e4f3f2; }
.explorer-card-visual > img { width: 100%; height: 100%; object-fit: cover; }
.explorer-card-placeholder { display: grid; place-items: center; height: 100%; color: var(--teal); }
.explorer-card-placeholder .icon { width: 3rem; height: 3rem; }
.explorer-card-date { position: absolute; top: .7rem; left: .75rem; display: flex; flex-direction: column; align-items: center; min-width: 3.1rem; padding: .35rem .5rem; background: #fff; border-radius: .7rem; color: var(--navy); line-height: 1.2; box-shadow: 0 2px 7px #082c4c16; }
.explorer-card-date span { font-size: .65rem; text-transform: uppercase; }
.explorer-card-date span:first-child { font-weight: 800; }
.explorer-card-date strong { font-size: 1.45rem; line-height: 1.1; margin-block: .1rem; }
.explorer-card-price { position: absolute; top: .7rem; right: .7rem; padding: .3rem .65rem; border-radius: .65rem; background: #ffefd4; color: #965002; font-weight: 750; font-size: .8rem; }
.explorer-card-price.is-free { background: #e7f8e4; color: #08652f; }
.explorer-card-example { position: absolute; bottom: .35rem; right: .45rem; padding: .1rem .4rem; background: #ffffffeb; color: #375268; border-radius: .35rem; font-size: .6rem; }
.explorer-card-content { display: flex; flex-direction: column; flex: 1; padding: .8rem .9rem .85rem; }
.explorer-card-content h3 { font-size: 1.025rem; line-height: 1.3; margin: 0 0 .4rem; }
.explorer-card-content h3 a { color: var(--navy); text-decoration: none; }
.explorer-card-content h3 a:hover { text-decoration: underline; }
.explorer-card-organizer { display: flex; align-items: flex-start; gap: .4rem; color: #5c7590; text-decoration: none; font-size: .73rem; line-height: 1.35; margin-bottom: .6rem; }
.explorer-card-organizer:hover { text-decoration: underline; color: var(--teal); }
.explorer-card-organizer .icon { width: .85rem; height: .85rem; margin-top: .1rem; }
.explorer-card-summary { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: .875rem; line-height: 1.5; color: #496580; margin-bottom: .75rem; }
.explorer-card-meta { display: flex; align-items: flex-start; flex-wrap: wrap; gap: .4rem 1rem; margin: auto 0 .65rem; padding: 0; list-style: none; font-size: .75rem; color: #294e70; }
.explorer-card-meta li { display: flex; align-items: flex-start; gap: .4rem; min-width: 0; }
.explorer-card-meta .icon { width: 1rem; height: 1rem; }
.explorer-card-availability { font-size: .75rem; color: #914a07; margin: 0 0 .5rem; }
.explorer-card-footer { display: flex; align-items: center; gap: .4rem; }
.explorer-card-category { display: inline-flex; align-items: center; gap: .3rem; min-width: 0; padding: .45rem .5rem; border-radius: .65rem; color: #006183; background: #e5f5fb; font-size: .66rem; line-height: 1.25; font-weight: 700; margin-right: auto; }
.explorer-card-category .icon { width: .95rem; height: .95rem; }
.tone-creatief { color: #a71d63; background: #fce9f2; }
.tone-natuur-buiten { color: #0d6845; background: #e4f8eb; }
.tone-eten-drinken { color: #945107; background: #fff0da; }
.tone-muziek-cultuur, .tone-ondersteuning-informatie { color: #5340a5; background: #eeebfc; }
.explorer-card-favorite, .explorer-card-open { display: inline-grid; place-items: center; flex: 0 0 auto; width: 2.2rem; height: 2.2rem; padding: .45rem; border: 1px solid #d8e6ee; border-radius: .75rem; background: white; color: var(--navy); cursor: pointer; }
.explorer-card-favorite:hover { background: #fcecf0; border-color: #d19dab; }
.explorer-card-favorite[aria-pressed="true"] { background: #fbe9ef; color: #a02852; border-color: #e7bbca; }
.explorer-card-favorite[aria-pressed="true"] .icon { fill: currentColor; }
.explorer-card-open { background: var(--teal); border-color: var(--teal); color: #fff; }
.explorer-card-open:hover { background: var(--teal-dark); }
.explorer-card-open .icon, .explorer-card-favorite .icon { width: 1.05rem; height: 1.05rem; }

/* The title link covers the card; nested controls keep their own click target. */
.activity-explorer-card { position: relative; isolation: isolate; }
.explorer-card-content h3 a::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: 1rem; }
.activity-explorer-card:hover { border-color: #b7d4e0; box-shadow: 0 5px 18px #137ca912; }
.activity-explorer-card:has(h3 a:focus-visible) { outline: 2px solid var(--focus-color); outline-offset: 3px; }
.explorer-card-organizer, .explorer-card-favorite, .explorer-card-open, .explorer-calendar { position: relative; z-index: 2; }
.home-activity-track .activity-explorer-card { scroll-snap-align: start; }
.home-favorites-link { display: inline-flex; align-items: center; gap: .35rem; min-height: 2.5rem; font-size: .8rem; white-space: nowrap; }
.home-events > .home-favorites-link { margin-top: .5rem; }
@media(max-width:36rem) { .explorer-card-favorite,.explorer-card-open { width: 2.75rem; height: 2.75rem; } }
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,.explorer-card-example) { position: static; margin: .4rem; max-width: 100%; }
html:is([data-text-size="150"],[data-text-size="200"]) .explorer-card-footer { flex-wrap: wrap; }
