/** Leno Design catalog — scoped to product archives and product search. */
.ld-catalog { background: #fcfbf9; }
.ld-shop { padding-block: 1.3rem 3rem; }
body.woocommerce.ld-catalog .ld-shop .woocommerce-breadcrumb { color: #706b65; margin: 0 0 1.2rem; font-size: .75rem; display: flex; flex-wrap: wrap; gap: .6rem; }
body.woocommerce.ld-catalog .ld-shop .woocommerce-breadcrumb a { color: #52606a; text-decoration: none; }
.ld-shop-intro { position: relative; overflow: hidden; isolation: isolate; display: flex; align-items: center; min-height: 230px; border-radius: 16px; background: #eee8de; }
.ld-shop-intro__copy { width: 62%; padding: 2rem 2.5rem; z-index: 2; }
.ld-shop-eyebrow { color: var(--ld-color-primary); font-size: .72rem; margin: 0 0 .6rem; font-weight: 500; }
.ld-shop-intro h1 { color: var(--ld-color-brand); font-size: clamp(1.5rem,2.2vw,2.1rem); line-height: 1.6; margin: 0 0 .5rem; }
.ld-shop-intro__copy > p:not(.ld-shop-eyebrow) { color: #5f5c56; font-size: .82rem; max-width: 31rem; margin: 0 0 1rem; line-height: 1.9; }
.ld-shop-intro__copy > a { display: inline-flex; gap: 1.5rem; color: var(--ld-color-primary); text-decoration: none; font-size: .78rem; font-weight: 600; }
.ld-shop-intro > img { position: absolute; inset-inline-end: 0; inset-block: 0; width: 50%; height: 100%; object-fit: cover; object-position: 50% 58%; z-index: -2; }
.ld-shop-intro::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to left,#eee8de 43%,transparent 80%); }
.ld-shop-description { font-size: .85rem; color: var(--ld-color-text-muted); margin-block: 1rem; }
.ld-shop-categories { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .65rem; margin-block: 1.3rem 2rem; }
.ld-shop-categories > a { min-width: 0; display: flex; align-items: center; gap: .5rem; padding: .6rem; border: 1px solid #e9e3db; border-radius: 10px; text-decoration: none; background: #fff; color: var(--ld-color-brand); font-size: .69rem; font-weight: 500; transition: border-color .2s; }
.ld-shop-categories > a:hover,.ld-shop-categories > a[aria-current] { border-color: var(--ld-color-accent); background: #fcf8f4; }
.ld-shop-categories__image { width: 44px; height: 48px; flex-shrink: 0; }
.ld-shop-categories__image img { width: 100%; height: 100%; object-fit: contain; }
.ld-shop-categories > a > svg { width: 13px; min-width: 13px; margin-inline-start: auto; color: #b8a48f; }
.ld-shop-layout { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 1.5rem; align-items: start; }
.ld-shop-sidebar { min-width: 0; }
.ld-shop-filter-panel { background: #fff; border: 1px solid #e7e1d9; border-radius: 12px; overflow: hidden; }
.ld-shop-filter-panel > summary { display: flex; align-items: center; gap: .65rem; padding: 1rem; font-size: .9rem; color: var(--ld-color-brand); font-weight: 700; cursor: pointer; list-style: none; }
.ld-shop-filter-panel > summary::-webkit-details-marker { display: none; }
.ld-shop-filter-panel > summary svg { width: 18px; color: var(--ld-color-primary); }
.ld-shop-filter-panel__chevron { margin-inline-start: auto; }
.ld-shop-filter-panel[open] > summary { border-block-end: 1px solid #eee9e3; }
.ld-shop-filter-panel__body { padding: 1rem; }
.ld-shop-filters { display: flex; flex-direction: column; gap: .6rem; }
.ld-shop-filters > label { font-size: .75rem; font-weight: 600; margin-block-start: .25rem; }
.ld-shop-filters input,.ld-shop-filters select { min-height: 42px; padding: .6rem .65rem; width: 100%; font-size: .76rem; background: #fcfbf9; border: 1px solid #e5dfd7; border-radius: 7px; }
.ld-shop-search { position: relative; }
.ld-shop-search input { padding-inline-end: 2rem; }
.ld-shop-search > span { position: absolute; inset-inline-end: .65rem; inset-block-start: 13px; color: #847b70; pointer-events: none; }
.ld-shop-search svg { width: 15px; height: 15px; }
.ld-shop-filters .ld-button { margin-block-start: .5rem; min-height: 42px; font-size: .78rem; }
.ld-shop-filter-reset { text-align: center; font-size: .7rem; color: #6c655e; text-underline-offset: 4px; padding: .3rem; }
.ld-shop-price-filter { border: 0; padding: .3rem 0; margin: .25rem 0; display: grid; grid-template-columns: auto 1fr; gap: .5rem; align-items: center; }
.ld-shop-price-filter legend { font-size: .74rem; font-weight: 600; }
.ld-shop-price-filter label { font-size: .72rem; }
.ld-shop-category-tree { margin-block-start: 1rem; padding-block-start: 1rem; border-block-start: 1px solid #eee8e0; }
.ld-shop-category-tree h2 { font-size: .86rem; color: var(--ld-color-brand); margin-block-end: .8rem; }
.ld-shop-category-tree ul { padding: 0; margin: 0; list-style: none; }
.ld-shop-category-tree li { margin: 0; }
.ld-shop-category-tree a { display: flex; align-items: center; justify-content: space-between; gap: .4rem; min-height: 36px; padding: .4rem .25rem; color: #5d5b57; font-size: .73rem; text-decoration: none; border-radius: 5px; }
.ld-shop-category-tree a:hover { background: #f5f1eb; color: var(--ld-color-primary); }
.ld-shop-category-tree a[aria-current] { background: #f5ede4; color: var(--ld-color-primary); font-weight: 700; }
.ld-shop-category-tree small { min-width: 22px; text-align: center; background: #f4f2ef; border-radius: 4px; color: #777069; font-size: .65rem; }
.ld-shop-category-tree ul ul { border-inline-start: 1px solid #e9e0d7; margin-inline-start: .45rem; padding-inline-start: .7rem; margin-block: .25rem; }
.ld-shop-category-tree ul ul a { font-size: .68rem; }
.ld-shop-category-tree__all { color: var(--ld-color-primary) !important; font-weight: 600; }
.ld-shop-advice { padding: 1.4rem 1.1rem; background: var(--ld-color-brand); color: white; border-radius: 12px; margin-block-start: 1rem; }
.ld-shop-advice > svg { color: #e8c69c; width: 26px; height: 26px; margin-block-end: .7rem; }
.ld-shop-advice h2 { font-size: .88rem; line-height: 1.8; color: #f1d9b8; }
.ld-shop-advice p { font-size: .74rem; line-height: 1.9; color: #e0e6eb; }
.ld-shop-advice a { color: #fff; font-size: .73rem; text-underline-offset: 5px; }
.ld-shop-results { min-width: 0; scroll-margin-block-start: 1rem; }
.ld-shop-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; padding: .65rem 1rem; background: #f2eee8; border: 1px solid #e8e1d8; border-radius: 10px; margin-block-end: 1rem; min-height: 59px; }
body.woocommerce.ld-catalog .ld-shop .woocommerce-result-count { margin: 0; float: none; font-size: .77rem; color: #666057; }
.ld-shop-ordering { display: flex; gap: .6rem; align-items: center; font-size: .74rem; margin: 0; }
.ld-shop-ordering label { color: #6f665d; }
.ld-shop-ordering select { background: #fff; color: var(--ld-color-brand); padding: .45rem .7rem; min-height: 36px; border: 1px solid #ded7ce; border-radius: 7px; max-width: 180px; font-size: .74rem; }
.ld-shop-ordering button { min-height: 36px; padding: .4rem .7rem; border: 1px solid #d9cec1; background: #fff; color: var(--ld-color-brand); border-radius: 6px; font-size: .73rem; cursor: pointer; }
.ld-shop-chips { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-block-end: 1rem; font-size: .72rem; }
.ld-shop-chips a { background: #f0e5d8; color: #6e402a; border-radius: 6px; padding: .4rem .65rem; text-decoration: none; }
.ld-shop-chips .ld-shop-chips__clear { background: transparent; text-decoration: underline; }
body.woocommerce.ld-catalog .ld-shop ul.products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; padding: 0; margin: 0; }
body.woocommerce.ld-catalog .ld-shop ul.products::before,body.woocommerce.ld-catalog .ld-shop ul.products::after { display: none; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product { float: none; width: auto; min-width: 0; margin: 0; padding: .7rem .7rem .85rem; background: #fff; border: 1px solid #e8e3dc; border-radius: 12px; display: flex; flex-direction: column; text-align: start; transition: box-shadow .2s,border-color .2s; overflow: hidden; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product:hover { border-color: #c4ac93; box-shadow: 0 6px 24px #0e294709; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product .woocommerce-loop-product__link { display: flex; flex-direction: column; color: inherit; text-decoration: none; flex: 1; }
.ld-shop-card__media { display: flex; align-items: center; justify-content: center; aspect-ratio: 1.15; width: 100%; overflow: hidden; background: #fff; border-radius: 8px; margin-block-end: .8rem; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product .ld-shop-card__media img { width: 100%; height: 100%; object-fit: contain; margin: 0; padding: .7rem; }
.ld-shop-card__category { font-size: .65rem; color: #85776a; margin-block-end: .3rem; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product .woocommerce-loop-product__title { font-size: .87rem; color: #1a3045; line-height: 1.8; padding: 0; margin: 0 0 .7rem; min-height: 3.6em; }
.ld-shop-card__stock { display: flex; align-items: center; gap: .35rem; font-size: .64rem; color: #58715b; margin-block-end: .45rem; }
.ld-shop-card__stock::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.ld-shop-card__stock--outofstock { color: #856b61; }
.ld-shop-card__stock--onbackorder { color: #946824; }
.ld-shop-card__inquiry { font-size: .8rem; font-weight: 500; color: #746457; margin-block: auto .5rem; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product .price { margin-block: auto .5rem; color: var(--ld-color-brand); font-size: .9rem; font-weight: 600; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product .price del { font-size: .72rem; color: #8b8175; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product .price ins { text-decoration: none; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product .star-rating { margin-block: 0 .6rem; color: #a86136; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product .onsale { inset-block-start: 1rem; inset-inline-start: 1rem; inset-inline-end: auto; margin: 0; min-width: 0; min-height: 0; padding: .3rem .65rem; border-radius: 5px; line-height: 1.5; background: var(--ld-color-primary); font-size: .7rem; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product .button { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin: .6rem 0 0; padding: .75rem .85rem; min-height: 42px; background: var(--ld-color-brand); color: #fff; border: 1px solid var(--ld-color-brand); border-radius: 7px; font: 500 .74rem/1.5 var(--ld-font-family); text-decoration: none; }
body.woocommerce.ld-catalog .ld-shop ul.products li.product .button:hover { background: var(--ld-color-primary); border-color: var(--ld-color-primary); }
body.woocommerce.ld-catalog .ld-shop ul.products li.product .added_to_cart { text-align: center; padding: .5rem; font-size: .74rem; }
body.woocommerce.ld-catalog .ld-shop nav.woocommerce-pagination { margin-block: 1.75rem; }
body.woocommerce.ld-catalog .ld-shop nav.woocommerce-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; max-width: 100%; gap: .4rem; border: 0; margin: 0; }
body.woocommerce.ld-catalog .ld-shop nav.woocommerce-pagination ul li { border: 0; float: none; margin: 0; }
body.woocommerce.ld-catalog .ld-shop nav.woocommerce-pagination ul li a,body.woocommerce.ld-catalog .ld-shop nav.woocommerce-pagination ul li span { display: grid; place-items: center; min-width: 40px; min-height: 40px; padding: .5rem; border-radius: 7px; background: #fff; color: var(--ld-color-brand); border: 1px solid #e4dbd0; font-size: .83rem; }
body.woocommerce.ld-catalog .ld-shop nav.woocommerce-pagination ul li span.current { background: var(--ld-color-brand); color: #fff; border-color: var(--ld-color-brand); }
.ld-shop-empty { padding: 4rem 1.5rem; text-align: center; border: 1px dashed #d7c8b8; background: #fff; border-radius: 14px; }
.ld-shop-empty > svg { margin: 0 auto 1.5rem; width: 38px; height: 38px; color: #ae8766; }
.ld-shop-empty h2 { color: var(--ld-color-brand); font-size: 1.2rem; }
.ld-shop-empty p { font-size: .86rem; color: #746a60; }
.ld-shop-empty__all { display: block; margin-block-start: 1rem; font-size: .78rem; }
.ld-shop-guide { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem; margin-block-start: 2.5rem; border-radius: 14px; background: var(--ld-color-brand); color: white; }
.ld-shop-guide .ld-shop-eyebrow { color: #dbc09d; }
.ld-shop-guide h2 { color: #fff; font-size: 1.3rem; margin: 0; }
.ld-shop-guide ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; gap: 1.5rem; padding: 0; margin: 0; flex: 1; }
.ld-shop-guide li { display: flex; gap: .65rem; align-items: start; }
.ld-shop-guide li > span { display: grid; place-items: center; border-radius: 50%; background: #e9cba2; color: var(--ld-color-brand); width: 25px; height: 25px; flex-shrink: 0; font-size: .75rem; }
.ld-shop-guide h3 { color: white; font-size: .78rem; line-height: 1.8; margin: 0 0 .3rem; }
.ld-shop-guide li p { margin: 0; color: #d4dde5; font-size: .7rem; line-height: 1.8; }
.ld-shop-faq { max-width: 850px; margin: 2.5rem auto 0; }
.ld-shop-faq > h2 { font-size: 1.25rem; color: var(--ld-color-brand); text-align: center; margin-block-end: 1.25rem; }
.ld-shop-faq details { border-block-end: 1px solid #e6dfd5; padding-block: .85rem; }
.ld-shop-faq summary { font-size: .85rem; font-weight: 500; cursor: pointer; color: #243e56; }
.ld-shop-faq details p { font-size: .79rem; line-height: 1.9; color: #6e665d; margin: .8rem 0 .25rem; }
.ld-shop summary:focus-visible { outline: 2px solid var(--ld-color-primary); outline-offset: -3px; }
@media (max-width: 1050px) {
 .ld-shop-layout { grid-template-columns: 210px minmax(0,1fr); gap: 1rem; }
 .ld-shop-categories { grid-template-columns: repeat(3,minmax(0,1fr)); }
 body.woocommerce.ld-catalog .ld-shop ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ld-shop-guide { flex-direction: column; align-items: stretch; }
}
@media (max-width: 767px) {
 .ld-shop { padding-block-start: 1rem; }
 .ld-shop-intro { min-height: 190px; }
 .ld-shop-intro__copy { padding: 1.3rem; width: 100%; }
 .ld-shop-intro h1 { font-size: 1.4rem; max-width: 80%; }
 .ld-shop-intro__copy > p:not(.ld-shop-eyebrow) { font-size: .74rem; max-width: 80%; }
 .ld-shop-intro > img { width: 62%; opacity: .25; }
 .ld-shop-intro::after { background: linear-gradient(to left,#eee8de 15%,transparent); }
 .ld-shop-categories { gap: .4rem; margin-block: .8rem 1.1rem; }
 .ld-shop-categories > a { padding: .5rem .35rem; font-size: .62rem; flex-direction: column; text-align: center; gap: .35rem; }
 .ld-shop-categories > a > svg { display: none; }
 .ld-shop-categories__image { width: 52px; height: 45px; }
 .ld-shop-layout { grid-template-columns: 1fr; gap: 1rem; }
 .ld-shop-advice { display: none; }
 .ld-shop-filter-panel__body { display: grid; grid-template-columns: 1fr; gap: 1rem; }
 .ld-shop-category-tree { max-height: 340px; overflow: auto; }
 .ld-shop-toolbar { padding: .65rem .75rem; gap: .6rem; }
 .ld-shop-ordering { width: 100%; justify-content: space-between; }
 .ld-shop-ordering select { flex: 1; max-width: none; }
 body.woocommerce.ld-catalog .ld-shop ul.products { gap: .6rem; }
 body.woocommerce.ld-catalog .ld-shop ul.products li.product { padding: .5rem .5rem .7rem; }
 body.woocommerce.ld-catalog .ld-shop ul.products li.product .ld-shop-card__media img { padding: .2rem; }
 body.woocommerce.ld-catalog .ld-shop ul.products li.product .woocommerce-loop-product__title { font-size: .74rem; min-height: 3.6em; }
 .ld-shop-card__category { font-size: .58rem; }
 .ld-shop-card__inquiry { font-size: .69rem; }
 body.woocommerce.ld-catalog .ld-shop ul.products li.product .button { padding: .65rem .5rem; font-size: .65rem; }
 .ld-shop-guide { padding: 1.4rem; margin-block-start: 1.5rem; gap: 1.3rem; }
 .ld-shop-guide ol { grid-template-columns: 1fr; gap: 1rem; }
 .ld-shop-faq { margin-block-start: 2rem; }
 .ld-shop-faq summary { font-size: .79rem; }
}
@media (prefers-reduced-motion: reduce) { .ld-shop-categories > a,body.woocommerce.ld-catalog .ld-shop ul.products li.product { transition: none; } }
