/* Prokol Catalogus: basisopmaak. Kleuren en lettertypen erven van het thema; in Elementor aan te passen. */
.pkc-catalog { --pkc-cols: 3; --pkc-gap: 24px; display: grid; grid-template-columns: minmax(200px, 260px) 1fr; gap: 32px; align-items: start; }
.pkc-catalog__filters { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 120px; }
.pkc-search__input { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid rgba(0, 0, 0, .2); border-radius: 4px; font: inherit; background: transparent; color: inherit; }
.pkc-filter { border: 0; margin: 0; padding: 0; }
.pkc-filter__title { font-weight: 700; margin-bottom: 8px; padding: 0; }
.pkc-filter__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pkc-filter__option { display: flex; gap: 8px; align-items: flex-start; cursor: pointer; line-height: 1.35; }
.pkc-filter__option input { margin-top: 2px; }
.pkc-reset { align-self: flex-start; background: none; border: 0; padding: 0; text-decoration: underline; cursor: pointer; color: inherit; font: inherit; }
.pkc-count { margin: 0 0 12px; opacity: .75; }
.pkc-grid { display: grid; grid-template-columns: repeat(var(--pkc-cols), minmax(0, 1fr)); gap: var(--pkc-gap); }
.pkc-grid--related { --pkc-cols: 3; --pkc-gap: 24px; }
.pkc-item[hidden] { display: none; }
.pkc-card { display: flex; flex-direction: column; height: 100%; border: 1px solid rgba(0, 0, 0, .1); border-radius: 6px; overflow: hidden; background: #fff; }
.pkc-card__media { display: block; aspect-ratio: 4 / 3; background: rgba(0, 0, 0, .04); }
.pkc-card__img, .pkc-card__placeholder { display: block; width: 100%; height: 100%; object-fit: contain; }
.pkc-card__body { display: flex; flex-direction: column; gap: 8px; padding: 16px; flex: 1; }
.pkc-card__title { margin: 0; font-size: 1.1em; line-height: 1.3; }
.pkc-card__title a { color: inherit; text-decoration: none; }
.pkc-card__excerpt { font-size: .92em; opacity: .85; }
.pkc-card__button { margin-top: auto; align-self: flex-start; font-weight: 600; }
.pkc-downloads { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pkc-download a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid rgba(0, 0, 0, .1); border-radius: 6px; text-decoration: none; color: inherit; }
.pkc-download__icon { flex: 0 0 auto; min-width: 40px; padding: 6px 4px; border-radius: 4px; background: rgba(0, 0, 0, .06); font-size: .75em; font-weight: 700; text-align: center; }
.pkc-download__label { flex: 1; font-weight: 600; }
.pkc-download__meta { font-size: .85em; opacity: .7; white-space: nowrap; }
.pkc-gallery__main img { display: block; width: 100%; height: auto; }
.pkc-gallery__thumbs { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pkc-gallery__thumb { padding: 0; border: 2px solid transparent; border-radius: 4px; background: none; cursor: pointer; }
.pkc-gallery__thumb.is-active { border-color: currentColor; }
.pkc-gallery__thumb img { display: block; width: 64px; height: 64px; object-fit: cover; }
@media (max-width: 1024px) { .pkc-catalog { grid-template-columns: 1fr; } .pkc-catalog__filters { position: static; } .pkc-grid { --pkc-cols: 2; } }
@media (max-width: 600px) { .pkc-grid { --pkc-cols: 1; } }
.pkc-heading { margin: 0 0 12px; }
.pkc-field > :last-child { margin-bottom: 0; }
/* Fotovak: vaste vierkante verhouding, foto passend en gecentreerd; sterker dan de img-regels van het thema. */
.pkc-card .pkc-card__media { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: 20px; overflow: hidden; box-sizing: border-box; }
.pkc-card .pkc-card__media img.pkc-card__img { position: absolute; inset: 20px; width: calc(100% - 40px) !important; height: calc(100% - 40px) !important; max-width: none; object-fit: contain; }
.pkc-card .pkc-card__placeholder { width: 100%; height: 100%; }
