.society-catalog { width: 100%; padding: 0 0 40px; }
.society-catalog-title { font-size: 24px; font-weight: 100; margin: 24px; }
.society-catalog-toolbar { display: flex; align-items: center; gap: 24px; padding: 12px 24px 24px; }
.society-catalog-native-tools { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-width: 0; }
.society-catalog-native-tools::before,.society-catalog-native-tools::after { display: none; }
.society-catalog-native-tools .woocommerce-result-count,.society-catalog-native-tools .woocommerce-ordering { float: none; margin: 0; font: inherit; font-size: 12px; }
.society-catalog-native-tools select { font: inherit; border: 0; background: transparent; color: inherit; max-width: 180px; }
.society-catalog-views { display: flex; gap: 12px; }
.society-catalog-views button { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; background: transparent!important; color: #aaa; cursor: pointer; }
.society-catalog-views button[aria-pressed=true] { color: #10171c; }
body main .society-catalog-views button:hover { color: #620f0f; }
.society-catalog-views svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.society-catalog-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); grid-auto-rows: calc((100vw - 12px)/4*1.25); gap: 4px; margin: 0; padding: 0; list-style: none; }
.society-catalog-card { position: relative; min-width: 0; min-height: 0; overflow: hidden; margin: 0; padding: 0; background: #fbfbf8; }
.society-catalog-grid[data-layout=editorial] .society-catalog-card { grid-column: var(--editorial-column)/span var(--editorial-span); grid-row: var(--editorial-row)/span var(--editorial-span); }
.society-catalog-card > a { display: block; width: 100%; height: 100%; color: inherit; text-decoration: none; }
.society-catalog-card img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; transition: opacity .35s ease; }
.society-catalog-secondary { opacity: 0; }
@media(hover:hover) { .society-catalog-card.has-secondary:hover .society-catalog-primary { opacity: 0; } .society-catalog-card.has-secondary:hover .society-catalog-secondary { opacity: 1; } }
.society-catalog-card.has-secondary:focus-within .society-catalog-primary { opacity: 0; }
.society-catalog-card.has-secondary:focus-within .society-catalog-secondary { opacity: 1; }
.society-catalog-caption { position: absolute; inset: auto 0 0; display: flex; justify-content: space-between; align-items: end; gap: 12px; padding: 32px 12px 12px; background: linear-gradient(transparent,rgba(251,251,248,.94)); pointer-events: none; }
.society-catalog-name { font-size: 14px; }
.society-catalog-price { font-size: 12px; white-space: nowrap; }
.society-catalog-grid[data-layout=two] { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: auto; }
.society-catalog-grid[data-layout=six] { grid-template-columns: repeat(6,minmax(0,1fr)); grid-auto-rows: auto; }
.society-catalog-grid:not([data-layout=editorial]) .society-catalog-card { grid-column: auto; grid-row: auto; aspect-ratio: var(--society-product-ratio,4/5); }
.society-catalog-reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease,transform .6s ease; }
.society-catalog-reveal.is-revealed { opacity: 1; transform: none; }
@media(max-width:900px) { .society-catalog-grid[data-layout=six] { grid-template-columns: repeat(3,minmax(0,1fr)); } .society-catalog-caption { flex-direction: column; align-items: start; gap: 4px; } }
@media(max-width:600px) {
 .society-catalog-grid[data-layout=editorial] { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: calc((100vw - 4px)/2*1.25); grid-auto-flow: dense; }
 .society-catalog-grid[data-layout=editorial] .society-catalog-card { grid-column: auto; grid-row: auto; }
 .society-catalog-grid[data-layout=editorial] .society-catalog-feature { grid-column: span 2; grid-row: span 2; }
 .society-catalog-toolbar { padding: 12px 16px; gap: 12px; }
 .society-catalog-title { margin: 20px 16px; }
 .society-catalog-native-tools .woocommerce-result-count { display: none; }
 .society-catalog-native-tools select { max-width: 150px; }
 .society-catalog-name { font-size: 12px; }
 .society-catalog-caption { padding: 24px 8px 8px; }
}
@media(prefers-reduced-motion:reduce) { .society-catalog-card img,.society-catalog-reveal { transition: none; } }

.society-catalog-caption { box-sizing:border-box; max-width:100%; max-height:100%; overflow:hidden; }
.society-catalog-name { min-width:0; overflow-wrap:anywhere; }
.society-catalog-price { flex-shrink:0; max-width:100%; white-space:normal; }
