/* Native archives only. No homepage, single-product, cart or checkout selectors. */
body.efsf-catalog-page .efsf-catalog { padding-block:40px 80px; }
body.efsf-catalog-page .efsf-categories { grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px; }
body.efsf-catalog-page .efsf-catalog .efsf-section { padding:0 0 40px; }
body.efsf-catalog-page .efsf-category { min-height:170px;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:24px;border:1px solid #e2e7ec;background:#f7f9fb; }
body.efsf-catalog-page .efsf-category img { width:auto;height:auto;max-width:120px;max-height:130px;justify-self:center;object-fit:contain; }
body.efsf-catalog-page .efsf-category h3 { font-size:19px;line-height:1.4;letter-spacing:-.02em;overflow-wrap:anywhere; }
body.efsf-catalog-page .efsf-category-empty { font-size:12px;line-height:1.8;color:#627281; }
body.efsf-catalog-page .efsf-catalog ul.products { display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px;clear:both;margin:28px 0 36px;padding:0; }
body.efsf-catalog-page .efsf-catalog ul.products::before,body.efsf-catalog-page .efsf-catalog ul.products::after { display:none; }
body.efsf-catalog-page .efsf-catalog ul.products li.product { float:none!important;width:auto!important;margin:0!important;padding:16px!important;min-width:0;display:flex;flex-direction:column;border:1px solid #e2e7ec;border-radius:12px;background:white;position:relative; }
body.efsf-catalog-page .efsf-catalog .woocommerce-loop-product__link { display:flex;flex-direction:column;flex:1;min-width:0; }
body.efsf-catalog-page .efsf-catalog .efsf-catalog-photo { display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#f7f9fb;border-radius:8px;margin-bottom:20px;padding:12px;overflow:hidden; }
body.efsf-catalog-page .efsf-catalog ul.products li.product .efsf-catalog-photo img { width:auto!important;height:auto!important;max-width:100%;max-height:100%;aspect-ratio:auto;margin:0!important;object-fit:contain;flex:none; }
body.efsf-catalog-page .efsf-catalog ul.products .woocommerce-loop-product__title { color:#0e2538;font-size:16px!important;line-height:1.5!important;letter-spacing:-.015em;min-height:4.5em;max-height:4.5em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;padding:0;margin:0 0 12px;overflow-wrap:anywhere; }
body.efsf-catalog-page .efsf-catalog ul.products li.product .price { color:#0e2538!important;font-size:16px;font-weight:700;line-height:1.6;margin:0 0 12px;display:block; }
body.efsf-catalog-page .efsf-catalog .price ins { background:transparent;text-decoration:none; }
body.efsf-catalog-page .efsf-catalog .price del { color:#627281;font-size:.85em; }
body.efsf-catalog-page .efsf-card-options { font-size:12px;line-height:1.6;margin:0 0 16px;color:#52677a;overflow-wrap:anywhere; }
body.efsf-catalog-page .efsf-catalog ul.products li.product .button { margin-top:20px;min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px!important;background:#0090ff!important;border:1px solid #0090ff!important;color:white!important;font-size:13px;line-height:1.4;white-space:normal; }
body.efsf-catalog-page .efsf-catalog ul.products li.product .button:hover { background:#0071ca!important;border-color:#0071ca!important; }
body.efsf-catalog-page .efsf-catalog .efsf-filters { display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:16px;padding:24px;margin:0 0 28px;border:1px solid #e2e7ec;border-radius:12px;background:#f7f9fb;max-width:100%; }
body.efsf-catalog-page .efsf-filters label { min-width:0;font-size:12px;font-weight:600; }
body.efsf-catalog-page .efsf-filters input,body.efsf-catalog-page .efsf-filters select { width:100%;min-width:0;min-height:46px;font-size:14px; }
body.efsf-catalog-page .efsf-filters .efsf-button { background:#0090ff!important;border-color:#0090ff;justify-content:center; }
body.efsf-catalog-page .efsf-filters>a { min-height:46px;display:flex;align-items:center;justify-content:center;font-size:13px;text-decoration:underline; }
body.efsf-catalog-page .woocommerce-ordering select { max-width:100%;min-height:46px;font-size:14px; }
body.efsf-catalog-page .woocommerce-result-count { font-size:14px;color:#52677a; }
body.efsf-catalog-page .woocommerce-pagination .page-numbers li a,body.efsf-catalog-page .woocommerce-pagination .page-numbers li span { min-width:44px;min-height:44px;display:grid;place-items:center;padding:10px; }
@media(max-width:1023px){body.efsf-catalog-page .efsf-catalog ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px;}}
@media(max-width:767px){
 body.efsf-catalog-page .efsf-catalog ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;}
 body.efsf-catalog-page .efsf-catalog ul.products li.product{padding:10px!important;}
 body.efsf-catalog-page .efsf-catalog .efsf-catalog-photo{padding:6px;margin-bottom:14px;}
 body.efsf-catalog-page .efsf-catalog ul.products .woocommerce-loop-product__title{font-size:14px!important;}
 body.efsf-catalog-page .efsf-catalog ul.products li.product .price{font-size:14px;}
 body.efsf-catalog-page .efsf-catalog .efsf-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:12px;}
 body.efsf-catalog-page .efsf-filters label:first-child{grid-column:1/-1;}
 body.efsf-catalog-page .efsf-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 body.efsf-catalog-page .efsf-category{grid-template-columns:1fr;gap:10px;padding:14px;min-height:180px;}
 body.efsf-catalog-page .efsf-category img{max-width:100%;max-height:100px;}
 body.efsf-catalog-page .efsf-category h3{font-size:14px;}
 body.efsf-catalog-page .woocommerce-ordering,body.efsf-catalog-page .woocommerce-result-count{float:none;display:block;width:100%;margin:0 0 16px;}
 body.efsf-catalog-page .woocommerce-ordering select{width:100%;}
}
@media(max-width:340px){body.efsf-catalog-page .efsf-catalog ul.products{grid-template-columns:1fr;}}
