/* Shared browse controls and compact product/brand lists. */
.listing-controls{margin:32px 0 24px;scroll-margin-top:24px}
.listing-filter-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;background:#f0f3eb;border:1px solid #dce3d5;border-radius:14px;padding:22px}
.listing-search{flex:2 1 280px;min-width:0}
.listing-search>label,.listing-select{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;line-height:1.4;color:var(--green,#234e3e)}
.listing-search>label{margin-bottom:7px}
.listing-search-input{position:relative}
.listing-search-input>.icon{position:absolute;left:14px;top:14px;width:20px;height:20px;pointer-events:none;color:#6d826f}
.listing-filter-form input[type=search],.listing-filter-form select{width:100%;min-width:0;min-height:48px;margin:0;background:#fffefa;border:1px solid #ccd6c8;border-radius:8px;font-size:16px;font-weight:400;color:#243f35;box-shadow:0 1px 2px #24473704}
.listing-filter-form input[type=search]{padding:11px 12px 11px 43px}
.listing-filter-form select{padding:11px 30px 11px 12px;text-overflow:ellipsis}
.listing-select{flex:1 1 155px;min-width:0}
.listing-filter-form .listing-apply{min-height:48px;padding:12px 19px;gap:9px;flex:0 0 auto;white-space:nowrap}
.listing-active-filters{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 2px 0;font-size:13px;color:#677365}
.listing-active-filters>span{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}
.listing-active-filters .icon{width:17px;height:17px;flex:none}
.listing-active-filters a{color:#244f3e;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.listing-active-filters a span{margin-left:6px;font-size:18px}
.listing-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 0 0}
.listing-count{font-size:13px;color:#738074;margin-right:auto}
.listing-count strong{color:#2c4538;font-weight:600}
.listing-view,.listing-page-size>div{display:inline-flex;align-items:center;border:1px solid #d9dfd2;border-radius:9px;padding:3px;gap:3px;background:#fffefa}
.listing-view a,.listing-page-size a{display:flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;min-height:40px;padding:8px 12px;font-size:13px;color:#6b786b;transition:background .16s,color .16s,box-shadow .16s;white-space:nowrap}
.listing-view .icon{width:17px;height:17px}
.listing-view a[aria-current],.listing-page-size a[aria-current]{background:#234e3e;color:#fffefa;box-shadow:0 2px 3px #234e3e12}
.listing-view a:not([aria-current]):hover,.listing-page-size a:not([aria-current]):hover{background:#eaf0e3;color:#234e3e}
.listing-page-size{display:flex;align-items:center;gap:10px;font-size:12px;color:#738074}
.listing-page-size a{min-width:42px;padding-inline:9px}
.listing-controls a:focus-visible,.listing-pagination a:focus-visible{outline:3px solid #ad7c49;outline-offset:3px}
.listing-controls input:focus,.listing-controls select:focus{border-color:#758c68;outline:2px solid #a8ba9380;outline-offset:2px}
.catalog-info{min-width:0}
.catalog-grid.catalog-list{grid-template-columns:minmax(0,1fr);gap:14px}
.catalog-list .catalog-card{display:grid;grid-template-columns:156px minmax(0,1fr);transition:border-color .18s,box-shadow .18s}
.catalog-list .catalog-card:hover{border-color:#c1cdb9;box-shadow:0 5px 18px #253e3010}
.catalog-list .catalog-photo{height:100%;min-height:156px;aspect-ratio:auto;border-bottom:0;border-right:1px solid #e6e8df;background:#f5f4ee}
.catalog-list .catalog-photo img{position:absolute;inset:0;padding:18px;object-fit:contain}
.catalog-list .catalog-copy{display:grid;grid-template-columns:minmax(0,1fr) 258px;align-items:center;gap:28px;padding:22px 26px}
.catalog-list .catalog-copy h2{font-size:25px;line-height:1.2;margin:7px 0 9px}
.catalog-list .catalog-excerpt{margin:0 0 9px;max-width:660px}
.catalog-list .product-barcode{margin-bottom:0}
.catalog-list .catalog-copy>.product-buy,.catalog-list .catalog-copy>.product-access{margin:0;padding:0 0 0 24px;border-left:1px solid #e1e5d9;min-width:0}
.catalog-list .buy-feedback:empty{display:none}
.catalog-list .product-access .button{width:100%;padding:11px}
.catalog-list .price-lock{display:block;line-height:1.5;margin-bottom:10px}
.brand-collection-details{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12px;color:#73806e;margin:0 0 18px}
.brand-stock{display:inline-flex;align-items:center;gap:4px;color:#3e6144}
.brand-stock .icon{width:14px;height:14px}
.brand-grid.brand-list{grid-template-columns:minmax(0,1fr);gap:14px}
.brand-list .brand-card{display:grid;grid-template-columns:156px minmax(0,1fr);align-items:stretch}
.brand-list .brand-art{height:100%;min-height:156px;aspect-ratio:auto;border-right:1px solid #e1e5d9;position:relative}
.brand-list .brand-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:12px}
.brand-list .brand-card-copy{padding:22px 26px;position:relative}
.brand-list .brand-card-copy h2{font-size:27px;margin:6px 0 8px}
.brand-list .brand-card-copy p{margin:0 0 10px}
.brand-list .brand-collection-details{margin-bottom:0}
.brand-list .brand-card-copy>.text-link{position:absolute;right:26px;top:50%;transform:translateY(-50%)}
.brand-list .brand-card-copy>h2,.brand-list .brand-card-copy>p,.brand-list .brand-collection-details{padding-right:170px}
.listing-pagination{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin:36px 0 6px;padding-top:26px;border-top:1px solid #dce1d5;font-size:13px}
.listing-page-numbers{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:center}
.listing-page-numbers a{min-width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #dde2d6;background:#fffefa;color:#4e6253;padding:8px}
.listing-page-numbers a[aria-current]{color:#fffefa;background:#234e3e;border-color:#234e3e}
.listing-page-numbers a:not([aria-current]):hover{background:#ebf0e3;border-color:#afbea1}
.listing-page-direction{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 13px;border-radius:8px;color:#234e3e;font-weight:600}
a.listing-page-direction:hover{background:#eaf0e3}
.listing-page-direction.is-disabled{opacity:.42}
.listing-ellipsis{padding:0 4px;color:#7c8977}
.listing-pagination>p{flex-basis:100%;text-align:center;font-size:12px;color:#7b8775;margin:0}
@media(max-width:900px){.catalog-list .catalog-copy{grid-template-columns:minmax(0,1fr) 220px;gap:18px;padding:18px}.catalog-list .catalog-copy>.product-buy,.catalog-list .catalog-copy>.product-access{padding-left:18px}.catalog-list .catalog-card{grid-template-columns:125px minmax(0,1fr)}}
@media(max-width:700px){
 .listing-filter-form{padding:16px;gap:14px 12px}.listing-search{flex-basis:100%}.listing-select{flex-basis:calc(50% - 6px)}.listing-filter-form .listing-apply{width:100%}
 .listing-toolbar{gap:10px;justify-content:space-between}.listing-count{flex-basis:100%}.listing-view a{padding:8px 9px;font-size:12px;gap:5px}.listing-view .icon{width:15px;height:15px}.listing-page-size{gap:6px}.listing-page-size a{min-width:36px;padding-inline:7px;font-size:12px}
 .catalog-list .catalog-card{grid-template-columns:88px minmax(0,1fr);padding:16px;gap:14px}.catalog-list .catalog-photo{height:105px;min-height:0;border:1px solid #e6e8df;border-radius:8px;align-self:start}.catalog-list .catalog-photo img{padding:7px}.catalog-list .photo-zoom-cue{padding:5px;right:5px;bottom:5px}.catalog-list .photo-zoom-cue span{display:none}
 .catalog-list .catalog-copy{display:contents}.catalog-list .catalog-info{grid-column:2}.catalog-list .catalog-copy h2{font-size:21px;line-height:1.25;margin:5px 0 8px}.catalog-list .catalog-brand{font-size:10px}.catalog-list .catalog-excerpt{font-size:12px;line-height:1.5}.catalog-list .product-barcode{font-size:11px;overflow-wrap:anywhere}
 .catalog-list .catalog-copy>.product-buy,.catalog-list .catalog-copy>.product-access{grid-column:1/-1;border-left:0;border-top:1px solid #e1e5d9;padding:14px 0 0}.catalog-list .product-access{display:flex;align-items:center;justify-content:space-between;gap:12px}.catalog-list .price-lock{font-size:11px;margin:0;max-width:130px}.catalog-list .product-access .button{width:auto;font-size:12px;padding:10px}
 .brand-list .brand-card{grid-template-columns:96px minmax(0,1fr)}.brand-list .brand-art{min-height:120px}.brand-list .brand-card-copy{padding:18px 16px}.brand-list .brand-card-copy h2{font-size:23px}.brand-list .brand-card-copy>h2,.brand-list .brand-card-copy>p,.brand-list .brand-collection-details{padding-right:0}.brand-list .brand-card-copy>.text-link{position:static;transform:none;margin-top:12px}.brand-list .brand-card-copy p{font-size:12px}.brand-list .brand-collection-details{font-size:11px}
 .listing-pagination{gap:10px;justify-content:space-between}.listing-page-numbers{order:3;flex-basis:100%;gap:4px}.listing-page-numbers a{min-width:36px;height:40px}.listing-pagination>p{order:4;margin-top:6px}
}
@media(max-width:380px){.listing-view a{padding-inline:9px}.listing-page-size{gap:5px}.listing-page-size a{min-width:34px;padding-inline:6px}.listing-filter-form{padding:13px}.listing-pagination .listing-page-numbers a{min-width:30px}}
@media(prefers-reduced-motion:reduce){.listing-controls a,.catalog-list .catalog-card{transition:none}}
