/* Shared category entry and product listing, without changing detail albums. */
.catalogue-page>.wrap{max-width:1240px}
.catalogue-page{padding-top:28px;padding-bottom:40px}
.catalogue-page .page-heading{margin-bottom:24px}
.catalogue-page .page-heading h1{margin:0 0 12px}
.catalogue-page .page-heading .lede{margin:0;max-width:900px}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.catalogue-product,.category-entry{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:none;transition:border-color .15s,transform .15s}
.catalogue-product:hover,.category-entry:hover{border-color:#c9b4b4;transform:translateY(-2px);box-shadow:none}
.catalogue-image{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;width:100%;overflow:hidden;background:#f7f8f9;border-bottom:1px solid var(--line)}
.catalogue-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.catalogue-placeholder{color:#6b7280;font-size:15px}
.catalogue-product .card-copy,.category-entry .card-copy{padding:20px;gap:0}
.catalogue-product h3,.category-entry h3{font-size:20px;line-height:1.5;margin:0 0 10px;min-height:30px}
.catalogue-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.catalogue-product .catalogue-summary{font-size:16px;line-height:1.7;margin:0 0 18px;min-height:3.4em}
.catalogue-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:auto;min-height:44px}
.catalogue-product .product-purchase{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-height:44px;margin:0;padding:10px 16px;font-size:15px;line-height:1.5}
.catalogue-product .card-link{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0;font-size:15px}
.catalogue-product:not(:has(.catalogue-summary)) .catalogue-actions{padding-top:18px}
.category-entry .card-link{min-height:44px;display:flex;align-items:center}
@media(max-width:1100px){.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.catalogue-grid{grid-template-columns:1fr;gap:20px}.catalogue-page{padding-top:20px;padding-bottom:28px}.catalogue-page .page-heading{margin-bottom:20px}.catalogue-product .card-copy{padding:18px}}
@media(prefers-reduced-motion:reduce){.catalogue-product,.category-entry{transition:none;transform:none}}

/* 2026-09-20 visual and accessibility review */
.catalogue-product h2,.category-entry h2{font-size:20px;line-height:1.5;margin:0 0 10px;min-height:30px}
.category-entry .catalogue-summary{font-size:15px;line-height:1.7;margin:0 0 12px;min-height:3.4em}
.catalogue-page>.wrap{padding-bottom:0}
.catalogue-page .catalogue-grid{gap:24px}
.catalogue-product,.category-entry{border-color:#e5e7eb;border-radius:12px}
.catalogue-product:hover,.category-entry:hover{border-color:#ba8d8e;box-shadow:0 8px 24px #3013150a}
.catalogue-image{background:#f6f7f8}
.catalogue-actions .card-link{color:#6b3032}
#core-products h2{font-size:20px;line-height:1.5}
@media(max-width:600px){
 .category-overview .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .category-overview .category-entry .card-copy{padding:12px}
 .category-overview .category-entry h2,#core-products h2{font-size:18px;min-height:27px;margin-bottom:6px}
 .category-overview .catalogue-summary,#core-products .catalogue-summary{font-size:14px;line-height:1.6;min-height:3.2em;margin-bottom:6px}
 .category-overview .catalogue-image{aspect-ratio:4/3}
 .category-overview .card-link{font-size:14px;margin:0}
 .catalogue-page .catalogue-grid{gap:12px}
}
@media(prefers-reduced-motion:reduce){.catalogue-product:hover,.category-entry:hover{transform:none}}

/* Edge-to-edge thumbnail crops; full detail galleries retain complete originals. */
.catalogue-image img{object-fit:cover}
.category-entry .catalogue-image{aspect-ratio:1/1}
.category-art{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 25% 20%,#fff 0,#f4efea 65%,#ebe5de);color:#80665a}
.category-art svg{width:58%;height:auto;max-width:170px;filter:drop-shadow(0 5px 8px #5e483512)}
.category-art small{font-size:12px;letter-spacing:3px;color:#6b6059}
