/* A calm gallery around native WooCommerce content and ordering. */
.wkk-catalogue .wkk-shop-main { padding-top: 1.4rem; }
.wkk-catalogue .woocommerce-breadcrumb { margin-bottom: 1.3rem; font-size: .8rem; }
.wkk-catalogue-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2.5rem; align-items: center; padding: 1.8rem 2.2rem; margin: 0 0 2rem; background: #f3efE6; border: 1px solid #e5dfd3; border-radius: 18px; overflow: hidden; }
.wkk-catalogue-hero-copy { min-width: 0; max-width: 820px; }
.wkk-catalogue .wkk-catalogue-eyebrow { margin: 0 0 .65rem; color: #79623a; font: 500 .72rem/1.5 var(--wkk-body, sans-serif); letter-spacing: .15em; text-transform: uppercase; }
.wkk-catalogue .woocommerce-products-header { margin: 0; }
.wkk-catalogue .woocommerce-products-header h1 { margin-bottom: .85rem; font-size: clamp(1.8rem, 3vw, 2.65rem); font-weight: 400; line-height: 1.18; }
.wkk-catalogue-lead { max-width: 63ch; margin: 0; color: #66695e; font-size: 1rem; line-height: 1.75; }
.wkk-catalogue-hero .term-description { margin-bottom: .6rem; font-size: 1rem; }
.wkk-catalogue-hero .term-description > :last-child { margin-bottom: 0; }
.wkk-catalogue-hero-art { width: 170px; height: 170px; padding: 14px; background: #e5e9de; border-radius: 8px; transform: rotate(3deg); }
.wkk-catalogue-hero-art img { width: 100%; height: 100%; display: block; object-fit: contain; }
.wkk-catalogue-back { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1rem; color: #655439; font-size: .85rem; text-decoration: none; }
.wkk-catalogue-back:hover { text-decoration: underline; text-underline-offset: 4px; }
.wkk-catalogue-quick { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin: 0 0 2.1rem; font-size: .84rem; }
.wkk-catalogue-quick > span { margin-right: .35rem; color: #77786c; }
.wkk-catalogue-quick a { display: inline-flex; min-height: 40px; align-items: center; padding: .45rem .9rem; border: 1px solid #ddd8c9; border-radius: 999px; text-decoration: none; color: #4b5142; background: #faf8f4; }
.wkk-catalogue-quick a:hover { border-color: #a83b13; background: #f3ead8; }
.wkk-category-tools { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 1rem 1.3rem; align-items: end; padding: 0 0 1.8rem; margin: 0 0 2rem; border-bottom: 1px solid #ddd8c9; }
.wkk-category-toolbar-heading { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.wkk-category-toolbar-heading h2 { margin: 0; font: 500 1.12rem/1.4 var(--wkk-body, sans-serif); }
.wkk-category-results { margin: 0; color: #73766a; font-size: .8rem; }
.wkk-category-groups { grid-column: 1 / -1; display: flex; gap: .35rem; flex-wrap: wrap; margin-bottom: .15rem; }
.wkk-category-groups button { min-height: 42px; padding: .55rem 1rem; border: 1px solid transparent; border-radius: 999px; color: #64685b; background: transparent; font: 500 .87rem/1.25 var(--wkk-body, sans-serif); cursor: pointer; }
.wkk-category-groups button:hover { background: #efeee6; }
.wkk-category-groups button[aria-pressed="true"] { color: #fff; background: #45513b; border-color: #45513b; }
.wkk-category-tools label { display: block; margin: 0 0 .4rem; color: #66695e; font-size: .8rem; font-weight: 400; }
.wkk-category-tools input, .wkk-category-tools select { width: 100%; min-height: 48px; margin: 0; padding: .75rem .9rem; background: #fff; border: 1px solid #d9d7cc; border-radius: 8px; color: #30342b; font: 400 .92rem/1.4 var(--wkk-body, sans-serif); }
.wkk-category-search-field { position: relative; }
.wkk-category-search-field > span { position: absolute; left: 15px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); pointer-events: none; color: #717568; }
.wkk-category-search-field svg { width: 18px; height: 18px; }
.wkk-category-search-field input { padding-left: 43px; }
.wkk-category-empty { padding: 1.5rem; margin: 0 0 2rem; border: 1px solid #ddd8c9; border-radius: 10px; }
/* Gallery cards have one proportional image, plus a concise name and native count. */
.wkk-catalogue ul.products li.product-category { overflow: hidden; border: 1px solid #e4e0d7; border-radius: 10px; background: #fffdf9; transition: border-color .18s ease, box-shadow .18s ease; }
.wkk-catalogue ul.products li.product-category:hover { border-color: #c6c7b8; box-shadow: 0 8px 24px #30342b0c; }
.wkk-catalogue ul.products li.product-category > a { display: flex; height: 100%; flex-direction: column; color: #30342b; }
.wkk-catalogue ul.products li.product-category > a:focus-visible { outline-offset: -4px; }
.wkk-catalogue ul.products li.product-category a img { margin: 0; padding: 14px; border-radius: 0; aspect-ratio: 4 / 5; background: #eeeee7; object-fit: contain; }
.wkk-catalogue ul.products li.product-category:nth-child(3n+2) a img { background: #f3ede3; }
.wkk-catalogue ul.products li.product-category:nth-child(3n+3) a img { background: #ecefe7; }
.wkk-catalogue ul.products li.product-category .woocommerce-loop-category__title { display: flex; align-items: baseline; justify-content: space-between; gap: .45rem; margin: 0; padding: 1rem .9rem; font: 500 .96rem/1.45 var(--wkk-body, sans-serif); }
.wkk-catalogue ul.products li.product-category .count { flex: 0 0 auto; padding: .12rem .42rem; border: 1px solid #e6e4d9; border-radius: 30px; background: transparent; color: #78806e; font: 400 .72rem/1.4 var(--wkk-body, sans-serif); }
.wkk-catalogue ul.products li.product:not(.product-category) { display: flex; flex-direction: column; align-items: flex-start; }
.wkk-catalogue ul.products li.product:not(.product-category) .woocommerce-LoopProduct-link { align-self: stretch; flex: 1; }
.wkk-catalogue ul.products li.product:not(.product-category) a img { padding: 13px; border: 1px solid #e7e3da; background: #f0eee6; border-radius: 10px; }
.wkk-catalogue ul.products li.product .woocommerce-loop-product__title { font: 400 .98rem/1.55 var(--wkk-body, sans-serif); }
.wkk-catalogue ul.products li.product .price { font-size: .95rem; font-weight: 500; }
.wkk-catalogue .woocommerce-result-count { padding-top: .35rem; margin-bottom: 1.6rem; font-size: .85rem; }
.wkk-catalogue .woocommerce-ordering select { font-size: .85rem; border-color: #d9d7cc; }
.wkk-catalogue ul.products { gap: 2rem 1.35rem; }
.wkk-catalogue nav.woocommerce-pagination { padding-top: 1rem; border-top: 1px solid #e5e0d5; }
@media (max-width: 767px) {
 .wkk-catalogue .wkk-shop-main { padding-top: 1rem; }
 .wkk-catalogue-hero { grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding: 1.4rem 1.1rem; margin-bottom: 1.4rem; border-radius: 12px; }
 .wkk-catalogue .woocommerce-products-header h1 { font-size: 1.7rem; line-height: 1.2; overflow-wrap: anywhere; }
 .wkk-catalogue-hero-art { width: 95px; height: 130px; padding: 7px; align-self: start; }
 .wkk-catalogue .wkk-catalogue-eyebrow { font-size: .62rem; letter-spacing: .1em; }
 .wkk-catalogue-lead, .wkk-catalogue-hero .term-description { font-size: .91rem; line-height: 1.7; }
 .wkk-catalogue-back { font-size: .78rem; }
 .wkk-catalogue-quick { flex-wrap: nowrap; gap: .45rem; margin-bottom: 1.2rem; padding: 0 2px 8px; overflow-x: auto; font-size: .8rem; }
 .wkk-catalogue-quick > span { flex: 0 0 auto; margin: 0 .15rem 0 0; }
 .wkk-catalogue-quick a { flex: 0 0 auto; min-height: 40px; padding: .45rem .7rem; }
 .wkk-category-tools { grid-template-columns: 1fr; padding-bottom: 1.3rem; gap: .85rem; margin-bottom: 1.5rem; }
 .wkk-category-toolbar-heading { align-items: flex-start; }
 .wkk-category-toolbar-heading h2 { max-width: 60%; font-size: 1rem; }
 .wkk-category-results { flex-shrink: 0; padding-top: .15rem; font-size: .72rem; }
 .wkk-category-groups { gap: .15rem; }
 .wkk-category-groups button { padding-inline: .85rem; font-size: .83rem; }
 .wkk-category-tools input, .wkk-category-tools select { font-size: 16px; }
 .wkk-catalogue ul.products { gap: 1.7rem .85rem; }
 .wkk-catalogue ul.products li.product-category a img { padding: 10px; }
 .wkk-catalogue ul.products li.product-category .woocommerce-loop-category__title { padding: .8rem .65rem; font-size: .86rem; flex-wrap: wrap; }
 .wkk-catalogue ul.products li.product:not(.product-category) a img { padding: 8px; }
 .wkk-catalogue ul.products li.product .woocommerce-loop-product__title { font-size: .94rem; }
 .wkk-catalogue ul.products li.product .price { font-size: .94rem; }
}
@media (max-width: 420px) {
 .wkk-catalogue-hero { grid-template-columns: 1fr; }
 .wkk-catalogue-hero-art { display: none; }
}
@media (prefers-reduced-motion: reduce) { .wkk-catalogue ul.products li.product-category { transition: none; } }
