/* Hallmark · narrow visual verification · existing BST editorial system preserved
 * pre-emit critique: P5 H4 E4 S5 R5 V3 · browser verification pending
 */
.catalog-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1.5rem 0}.catalog-controls label{display:flex;flex-direction:column;gap:.35rem;min-width:0;max-width:100%;flex:1 1 170px}.catalog-controls input,.catalog-controls select{font:inherit;width:100%;min-width:0;max-width:100%;padding:.6rem;border:1px solid currentColor;background:var(--color-photo);color:inherit;box-sizing:border-box}.catalog-controls button{font:inherit;padding:.7rem 1rem;background:var(--color-accent);color:var(--color-accent-ink);border:1px solid var(--color-ink)}.family-photo{margin:1rem 0;max-width:100%}.family-photo img{display:block;width:100%;height:auto;object-fit:contain}.family-configurations li{min-width:0;overflow-wrap:anywhere}.catalog-count{font-weight:700}

.catalog-controls :is(input,select,button,a):focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}
.catalog-controls button:hover{filter:brightness(.96)}
.catalog-controls button:active{transform:translateY(1px)}
.catalog-controls :is(button,a){white-space:nowrap}

/* Hallmark · component: catalogue view links · existing BST editorial theme
 * pre-emit critique: P5 H4 E4 S5 R5 V3; native GET, no motion added.
 */
.catalog-views{display:flex;gap:var(--space-sm);margin:var(--space-md) 0;flex-wrap:wrap}
.catalog-views a{display:inline-block;padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);color:var(--color-ink);white-space:nowrap;text-decoration:none}
.catalog-views a[aria-current]{background:var(--color-accent);color:var(--color-accent-ink);font-weight:700}
.catalog-views a:hover{border-color:var(--color-ink);text-decoration:underline}
.catalog-views a:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}
.catalog-views a:active{background:var(--color-surface)}

/* Hallmark · component: shared BST configuration row · editorial · existing tokens
 * pre-emit critique: P5 H4 E4 S5 R5 V3 · parent browser verification pending
 */
:is(.season-ski-group,.family-configurations) .season-ski-row {
 display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:var(--space-md);
 min-height:100px;box-sizing:border-box;padding:var(--space-sm);
 color:var(--color-ink);background:var(--color-photo);align-items:center;
}
:is(.season-ski-group,.family-configurations) .season-ski-thumb {
 grid-row:auto;display:grid;align-self:center;padding:0;overflow:visible;
 min-width:0;background:var(--color-photo);
}
:is(.season-ski-group,.family-configurations) .family-photo {
 margin:0;width:100%;max-width:100%;overflow:visible;background:var(--color-photo);
}
:is(.season-ski-group,.family-configurations) .family-photo img {
 width:100%;height:80px;object-fit:contain;transform:none;display:block;
}
.bst-row-copy {display:grid;gap:var(--space-xs);min-width:0;overflow-wrap:anywhere}
.bst-row-copy strong {font-size: max(16px,1rem);line-height:1.3}
.bst-row-copy .season-ski-meta {justify-content:flex-start}
.bst-row-spec {font-size:var(--text-small);line-height:1.4}
.family-configurations {gap:0}
.family-configurations li {padding:0;background:var(--color-photo)}
.family-configurations .season-ski-row:focus-visible {outline:3px solid var(--color-focus);outline-offset:2px}
@media(max-width:600px) {
 :is(.season-ski-group,.family-configurations) .season-ski-row {
  grid-template-columns:minmax(0,1fr);gap:0;min-height:0;padding:0;
 }
}

/* Hallmark · component: compact configuration photography · existing BST system
 * pre-emit critique: P5 H4 E4 S5 R5 V3 · per-record browser acceptance pending.
 * Natural source ratio, complete image; no crop, zoom, text clamp or font changes.
 */
@media(max-width:600px) {
 :is(.season-ski-group,.family-configurations) .family-photo img {height:auto}
 :is(.season-ski-group,.family-configurations) .bst-row-copy {gap:0}
}
