/* Stable archive hooks; shared Cards retain their existing markup and tokens. */
.pm-archive { min-width: 0; }
.pm-archive__heading { margin-bottom: var(--pm-space-md, 2rem); }
.pm-archive__heading h1 { margin-top: 0; }
.pm-archive__filters { margin-block: 1.5rem 2rem; }
.pm-archive__filters summary { cursor: pointer; padding-block: .75rem; font-weight: 600; }
.pm-archive__filter-form { display: flex; align-items: end; flex-wrap: wrap; gap: 1rem; }
.pm-archive__filter { display: grid; gap: .4rem; min-width: 0; max-width: 100%; font-size: .9rem; }
.pm-archive__filter select { width: 100%; max-width: 17rem; min-height: 44px; padding: .55rem 2rem .55rem .7rem; border: 1px solid var(--pm-border, #d8dee7); border-radius: var(--pm-radius, 8px); background: var(--pm-white, #fff); color: inherit; font: inherit; text-overflow: ellipsis; }
.pm-archive__filter--sort { margin-inline-start: auto; order: 1; }
.pm-archive__filter-form button, .pm-archive__reset { order: 2; min-height: 44px; }
.pm-archive__reset { display: inline-flex; align-items: center; }
.pm-archive__grid { display: grid; grid-template-columns: repeat(var(--pm-archive-desktop, 3), minmax(0, 1fr)); gap: var(--pm-space-md, 1.5rem); }
.pm-archive__card { min-width: 0; overflow-wrap: anywhere; }
.pm-archive__card .pm-card-component__image { width: 100%; aspect-ratio: var(--pm-archive-image-ratio,4/3); object-fit: cover; height:auto; flex:none; align-self:start; }
.pm-archive--list .pm-archive__grid { grid-template-columns: minmax(0, 1fr); }
.pm-archive--list .pm-archive__card { display: flex; flex-direction: row; align-items: start; }
.pm-archive--list .pm-card-component__image { width: 30%; max-width: 22rem; max-height:20rem; flex-shrink: 0; }
.pm-archive--list .pm-card-component__body { flex: 1; min-width: 0; }
.pm-archive__pagination { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: 2rem; }
.pm-archive__pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .5rem; border: 1px solid var(--pm-border, #d8dee7); border-radius: var(--pm-radius, 8px); }
.pm-archive__bottom { margin-top: var(--pm-space-lg, 3rem); overflow-wrap: anywhere; }
.pm-archive__bottom img { max-width: 100%; height: auto; }
.pm-archive :where(a, button, select, summary):focus-visible { outline: 2px solid var(--pm-focus, #1261a0); outline-offset: 3px; }
@media (min-width: 721px) { .pm-archive__filters summary { display: none; } }
@media (max-width: 1100px) { .pm-archive__grid { grid-template-columns: repeat(var(--pm-archive-tablet, 2), minmax(0, 1fr)); } }
@media (max-width: 720px) {
    .pm-archive__grid { grid-template-columns: repeat(var(--pm-archive-mobile, 1), minmax(0, 1fr)); }
    .pm-archive__filter-form { align-items: stretch; flex-direction: column; }
    .pm-archive__filter--sort { margin-inline-start: 0; }
    .pm-archive__filter select { max-width: 100%; }
    .pm-archive--list .pm-archive__card { flex-direction: column; }
    .pm-archive--list .pm-card-component__image { width: 100%; max-width: none; }
}

.pm-archive__card h2 { margin: 0; font-size: var(--pm-type-card-title, 1.25rem); }

.pm-archive--ratio-3-2 { --pm-archive-image-ratio:3/2; }
.pm-archive--ratio-1-1 { --pm-archive-image-ratio:1; }
.pm-archive--ratio-16-9 { --pm-archive-image-ratio:16/9; }
.pm-archive--ratio-original .pm-archive__card .pm-card-component__image { aspect-ratio:var(--pm-card-original-ratio,auto); }
.pm-archive--list.pm-archive--ratio-original .pm-card-component__image { object-fit:contain; }
