/* FERREIMPULSO 4.3 — high-fidelity catalog refinement. Original CSS; no proprietary source. */
:root{--fi43-outline:#dfe3e7;--fi43-muted:#73777d;--fi43-blue:var(--fi3-blue,#0052c7)}
/* Uniform neutral surfaces, balanced typography and consistent action hierarchy. */
.fi3-shop .fi3-archive-hero{margin-bottom:24px!important}
.fi3-shop .fi3-shop-layout{grid-template-columns:190px minmax(0,1fr)!important;gap:27px!important}
.fi3-shop .fi3-shop-toolbar{background:#f7f7f7!important;min-height:63px!important;align-items:center!important;padding:11px 14px!important}
.fi3-shop .fi3-toolbar-right{display:flex;align-items:center;gap:10px}
.fi3-shop .fi3-archive-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important}
.fi3-shop .fi3-archive-grid .fi3-product-card{min-width:0!important}
.fi3-product-card.fi-card{border:1px solid #e1e2e3!important;border-radius:4px!important;background:#fff!important;box-shadow:0 1px 2px rgba(0,0,0,.035)!important}
.fi3-product-card.fi-card:focus-within{border-color:var(--fi43-blue)!important}
.fi3-product-photo>a img{mix-blend-mode:normal!important;object-fit:contain!important}
.fi3-product-info{min-width:0}
.fi3-product-meta{font-size:10px!important;line-height:1.5!important;color:#838383!important}
.fi3-product-name{font-size:13px!important;font-weight:400!important;line-height:1.45!important;overflow-wrap:anywhere}
.fi3-product-name a{color:#272727!important;text-decoration:none!important}
.fi3-product-specs{font-size:11px!important;line-height:1.55!important;max-height:3.2em!important;overflow:hidden}
.fi3-product-bottom{margin-top:auto!important;gap:8px!important}
.fi3-product-price{font-variant-numeric:tabular-nums;min-height:35px!important;margin:0!important}
.fi3-product-card .fi3-card-button{font-size:12px!important;font-weight:500!important;min-height:42px!important;display:flex!important;align-items:center;justify-content:center;border-radius:3px!important}
.fi3-product-card .fi3-stock{white-space:normal!important;line-height:1.25!important}
/* A real three-control catalog toolbar: grid, list, optional compare mode. */
.fi43-view-switch{display:inline-flex;gap:5px;white-space:nowrap;flex-shrink:0}
.fi43-view-button{display:grid!important;place-items:center!important;width:37px!important;height:37px!important;padding:0!important;border:1px solid #dedede!important;border-radius:3px!important;background:white!important;color:#595959!important;cursor:pointer}
.fi43-view-button svg{width:17px!important;height:17px!important}
.fi43-view-button.is-active,.fi43-view-button[aria-pressed=true]{background:#686868!important;color:white!important;border-color:#686868!important}
.fi43-view-button:focus-visible,.fi43-compare-switch input:focus-visible+.fi43-switch-track,.fi43-filter-apply:focus-visible{outline:2px solid var(--fi43-blue)!important;outline-offset:3px}
.fi43-compare-switch{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#676767;white-space:nowrap;cursor:pointer;user-select:none}
.fi43-compare-switch input{position:absolute;opacity:0;width:1px;height:1px}
.fi43-switch-track{display:inline-block;width:31px;height:17px;border-radius:15px;background:#e1e1e1;position:relative;border:1px solid #dadada;transition:background .15s}
.fi43-switch-track:after{content:"";width:13px;height:13px;background:#fff;border:1px solid #c8c8c8;position:absolute;left:1px;top:1px;border-radius:50%;transition:transform .15s}
.fi43-compare-switch input:checked+.fi43-switch-track{background:var(--fi43-blue);border-color:var(--fi43-blue)}
.fi43-compare-switch input:checked+.fi43-switch-track:after{transform:translateX(14px);border-color:#fff}
.fi3-shop .fi3-archive-grid .fi3-compare-add{opacity:0!important;visibility:hidden}
.fi3-shop.fi43-compare-active .fi3-compare-add,
.fi3-shop .fi3-archive-grid .fi3-compare-add:focus-visible,
.fi3-shop .fi3-archive-grid .fi3-compare-add[aria-pressed=true]{opacity:1!important;visibility:visible}
/* List mode renders the exact same WooCommerce products (no duplicate queries). */
.fi3-shop .fi3-archive-grid.fi43-list-view{display:grid!important;grid-template-columns:1fr!important;gap:13px!important}
.fi3-shop .fi43-list-view .fi3-product-card{display:grid!important;grid-template-columns:minmax(148px,29%) minmax(0,1fr)!important;align-items:stretch!important;min-height:230px!important}
.fi3-shop .fi43-list-view .fi3-product-photo{height:100%!important;min-height:220px!important;max-height:none!important;border-right:1px solid #eee;padding:18px!important}
.fi3-shop .fi43-list-view .fi3-product-photo img{max-height:210px!important}
.fi3-shop .fi43-list-view .fi3-product-info{padding:16px 20px!important;min-height:0!important}
.fi3-shop .fi43-list-view .fi3-product-meta{font-size:11px!important}
.fi3-shop .fi43-list-view .fi3-product-name{font-size:16px!important;min-height:0!important;max-height:4.5em!important;margin:4px 0 9px!important}
.fi3-shop .fi43-list-view .fi3-product-specs{font-size:12px!important;max-height:3.3em!important}
.fi3-shop .fi43-list-view .fi3-product-bottom{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:14px;row-gap:6px;margin-top:18px!important}
.fi3-shop .fi43-list-view .fi4-card-stock-row{flex:1 0 100%}
.fi3-shop .fi43-list-view .fi3-product-price{flex:1 1 160px;display:flex;align-items:center;gap:8px}
.fi3-shop .fi43-list-view .fi3-card-button{width:170px!important;flex:0 0 170px}
.fi3-shop .fi43-list-view .fi3-compare-add{flex:1 0 100%;text-align:right}
/* Sidebar uses desktop filter controls; mobile drawer gets one fixed action row. */
.fi43-mobile-filter-footer{display:none}
@media(max-width:1080px) and (min-width:768px){
 .fi3-shop .fi3-shop-layout{grid-template-columns:176px minmax(0,1fr)!important;gap:18px!important}
 .fi3-shop .fi3-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .fi3-shop .fi43-list-view .fi3-product-card{grid-template-columns:minmax(145px,30%) minmax(0,1fr)!important}
}
@media(max-width:767px){
 .fi3-shop .fi3-shop-layout{display:block!important}
 .fi3-shop .fi3-shop-toolbar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px!important;padding:11px!important}
 .fi3-shop .fi3-shop-toolbar>div:first-child{width:100%;display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px}
 .fi3-shop .fi3-toolbar-right{display:flex!important;flex:1;justify-content:space-between;gap:7px}
 .fi3-shop .fi3-archive-grid:not(.fi43-list-view){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .fi3-shop .fi3-archive-grid .fi3-product-name{font-size:12px!important}
 .fi3-shop .fi3-archive-grid .fi3-product-info{padding:10px!important;min-height:263px!important}
 .fi3-shop .fi43-list-view .fi3-product-card{grid-template-columns:123px minmax(0,1fr)!important;min-height:195px!important}
 .fi3-shop .fi43-list-view .fi3-product-photo{height:100%!important;min-height:190px!important;padding:9px!important}
 .fi3-shop .fi43-list-view .fi3-product-photo img{max-height:183px!important}
 .fi3-shop .fi43-list-view .fi3-product-info{min-height:0!important;padding:12px!important}
 .fi3-shop .fi43-list-view .fi3-product-name{font-size:12px!important;line-height:1.4!important;max-height:4.2em!important}
 .fi3-shop .fi43-list-view .fi3-product-specs{font-size:10px!important}
 .fi3-shop .fi43-list-view .fi3-product-bottom{display:flex!important;flex-direction:column!important;align-items:stretch!important;margin-top:auto!important}
 .fi3-shop .fi43-list-view .fi3-card-button{width:100%!important;flex:auto!important;min-height:37px!important}
 .fi43-view-button{width:33px!important;height:35px!important}
 .fi43-compare-switch{font-size:10px}
 .fi3-shop .fi3-shop-sidebar{box-sizing:border-box!important;left:0!important;right:auto!important;top:0!important;bottom:0!important;width:min(86vw,380px)!important;display:flex!important;flex-direction:column!important;padding:0 17px!important;overflow-y:auto!important;transform:translateX(-110%)!important;visibility:hidden!important;transition:transform .23s ease,visibility .23s!important;z-index:200!important}
 .fi3-shop .fi3-shop-sidebar.fi3-filter-open{transform:translateX(0)!important;visibility:visible!important}
 .fi3-shop .fi3-shop-sidebar .fi3-filter-head{flex:0 0 auto;display:flex!important;position:sticky!important;top:0!important;z-index:4!important;background:#fff!important;padding:16px 0!important}
 .fi3-shop .fi3-shop-sidebar .fi-filter-form{display:block!important;flex:1 0 auto!important;padding-bottom:7px}
 .fi3-shop .fi3-shop-sidebar .fi-filter-actions{display:none!important}
 .fi43-mobile-filter-footer{display:flex!important;position:sticky;bottom:0;align-items:center;gap:8px;padding:13px 0 max(13px,env(safe-area-inset-bottom));margin-top:auto;background:#fff;border-top:1px solid #eee;z-index:5}
 .fi43-filter-reset,.fi43-filter-apply{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #dadada;border-radius:3px;font-size:12px;flex:1;text-decoration:none!important;background:#fff;color:#333!important;font-weight:600}
 .fi43-filter-apply{background:var(--fi43-blue)!important;border-color:var(--fi43-blue)!important;color:#fff!important;flex:1.1;cursor:pointer}
 .fi3-shop .fi3-archive-grid .fi3-compare-add{display:none!important}
}
@media(max-width:360px){
 .fi3-shop .fi43-list-view .fi3-product-card{grid-template-columns:110px minmax(0,1fr)!important}
 .fi3-shop .fi43-list-view .fi3-product-photo{padding:7px!important}
 .fi3-shop .fi43-list-view .fi3-product-info{padding:8px!important}
 .fi3-shop .fi43-list-view .fi3-product-meta{font-size:9px!important}
}
@media(prefers-reduced-motion:reduce){.fi3-shop .fi3-shop-sidebar,.fi43-switch-track,.fi43-switch-track:after{transition:none!important}}
/* QA fix: inherited WooCommerce button auto-margin must not push the list CTA outside its column. */
@media(max-width:767px){
 .fi3-shop .fi43-list-view .fi3-product-bottom .fi3-card-button{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;flex:0 0 auto!important;margin:0!important;padding:7px 4px!important;white-space:normal!important;min-height:39px!important}
 .fi3-shop .fi43-list-view .fi3-product-bottom .fi3-product-price{flex:0 0 auto!important;margin:0!important;min-height:27px!important}
 .fi3-shop .fi43-list-view .fi3-product-bottom{margin:14px 0 0!important;flex:0 0 auto!important;gap:7px!important}
 .fi3-shop .fi43-list-view .fi3-product-info{height:auto!important}
}
@media(max-width:767px){
 .fi3-shop .fi43-list-view .fi3-product-bottom{flex-wrap:nowrap!important;align-content:stretch!important}
 .fi3-shop .fi43-list-view .fi4-card-stock-row{flex:0 0 auto!important;width:100%!important}
}
