/**
 * TEVCO unified catalog
 *
 * This is the final visual authority for shop, product-category and product-tag
 * archives. Keep archive layout changes here instead of adding more float-based
 * overrides to the legacy storefront layers.
 */

body.tevco-catalog-page{
  background:#f5f7fa;
}

body.tevco-catalog-page .tevco-shop-main{
  width:min(calc(100% - 32px),1380px)!important;
  max-width:1380px!important;
  margin-inline:auto!important;
  padding:24px 0 72px!important;
  background:transparent!important;
}

body.tevco-catalog-page .tevco-shop-main::after{
  content:"";
  display:block;
  clear:both;
}

.tevco-catalog-page .woocommerce-products-header:empty{
  display:none;
}

.tevco-catalog-page .woocommerce-breadcrumb{
  margin:0 0 16px!important;
  padding:0 4px!important;
  color:#7a8798!important;
  font-size:12px!important;
}

.tevco-catalog-page .woocommerce-breadcrumb a{
  color:#4a5d73!important;
}

/* Compact category introduction: useful context without a page-sized banner. */
.tevco-catalog-page .tevco-catalog-intro.has-visual{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,300px);
  align-items:center;
  gap:32px;
  min-height:0!important;
  margin:0 0 22px!important;
  padding:28px 32px!important;
  overflow:hidden;
  border:1px solid #e1e6ed!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 12px 36px rgba(14,34,62,.055)!important;
}

.tevco-catalog-page .tevco-catalog-intro-copy{
  min-width:0;
}

.tevco-catalog-heading-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.tevco-catalog-page .tevco-eyebrow{
  color:#d92d3d;
  font-size:12px;
  font-weight:800;
}

.tevco-catalog-count{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#eef4fa;
  color:#36516f;
  font-size:10px;
  font-weight:750;
}

.tevco-catalog-page .tevco-catalog-intro h1,
.tevco-catalog-page .tevco-catalog-intro.has-visual h1{
  margin:7px 0 8px!important;
  color:#132c4b!important;
  font-size:clamp(30px,3.5vw,46px)!important;
  line-height:1.25!important;
  letter-spacing:-.025em!important;
}

.tevco-catalog-page .tevco-catalog-intro p{
  max-width:720px;
  margin:0!important;
  color:#657488!important;
  font-size:14px;
  line-height:1.85;
}

.tevco-catalog-page .tevco-catalog-intro.has-visual figure{
  width:100%;
  height:220px;
  min-height:0!important;
  margin:0!important;
  align-self:center!important;
  overflow:hidden;
  border:1px solid #e7ebf0;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fff,#f1f5f9)!important;
}

.tevco-catalog-page .tevco-catalog-intro.has-visual figure img{
  display:block;
  width:100%;
  height:100%;
  padding:8px;
  object-fit:contain;
  mix-blend-mode:multiply;
}

.tevco-catalog-page .tevco-catalog-promises{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:15px;
}

.tevco-catalog-page .tevco-catalog-promises span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:0 11px;
  border:1px solid #e0e6ed;
  border-radius:999px;
  background:#fafbfd;
  color:#536278;
  font-size:10px;
  font-weight:700;
}

.tevco-catalog-page .tevco-catalog-promises svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:#174477;
  stroke-width:1.8;
}

/* Exactly one contextual category rail on every archive. */
.tevco-catalog-departments{
  margin:0 0 22px;
}

.tevco-catalog-departments>header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
  padding-inline:3px;
}

.tevco-catalog-departments>header span{
  color:#d92d3d;
  font-size:10px;
  font-weight:800;
}

.tevco-catalog-departments>header h2{
  margin:2px 0 0;
  color:#1a304d;
  font-size:20px;
  line-height:1.4;
}

.tevco-catalog-page .tevco-280-subcategories{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(215px,1fr)!important;
  gap:11px;
  margin:0;
  padding:1px 1px 8px!important;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:#cbd5e1 transparent;
}

.tevco-catalog-page .tevco-280-subcategories>a{
  min-height:88px!important;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px!important;
  scroll-snap-align:start;
  border:1px solid #e0e6ed!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#1f334d;
  box-shadow:0 5px 18px rgba(14,34,62,.035)!important;
}

.tevco-catalog-page .tevco-280-subcategories>a:hover,
.tevco-catalog-page .tevco-280-subcategories>a.is-current{
  border-color:#9eb8d4!important;
  box-shadow:0 10px 26px rgba(14,55,95,.08)!important;
}

.tevco-catalog-page .tevco-280-subcategory-image{
  width:64px!important;
  height:64px!important;
  flex:0 0 64px!important;
  overflow:hidden;
  border-radius:13px!important;
  background:#f3f6fa!important;
}

.tevco-catalog-page .tevco-280-subcategory-image img{
  width:100%;
  height:100%;
  padding:3px!important;
  object-fit:contain;
  mix-blend-mode:multiply;
}

.tevco-catalog-page .tevco-280-subcategories strong{
  display:block;
  color:#1d324d;
  font-size:13px;
  line-height:1.55;
}

.tevco-catalog-page .tevco-280-subcategories small{
  display:block;
  margin-top:3px;
  color:#7c8999;
  font-size:10px;
}

/* A contained grid replaces the collapsing float layout that exposed footer blue. */
.tevco-catalog-results{
  display:grid;
  grid-template-columns:minmax(228px,264px) minmax(0,1fr);
  grid-template-areas:
    "toolbar toolbar"
    "sidebar ordering"
    "sidebar products"
    "sidebar pagination";
  gap:18px 22px;
  align-items:start;
  width:100%;
  min-width:0;
  clear:both;
}

.tevco-catalog-results .tevco-catalog-toolbar{
  grid-area:toolbar;
  min-height:66px;
  margin:0!important;
  padding:12px 16px!important;
  border:1px solid #e1e6ed;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 20px rgba(14,34,62,.04);
}

.tevco-catalog-results .tevco-filter-sidebar{
  grid-area:sidebar;
  position:sticky;
  top:108px;
  float:none!important;
  width:auto!important;
  max-height:calc(100vh - 126px);
  margin:0!important;
  padding:18px!important;
  overflow:auto;
  border:1px solid #e1e6ed;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 26px rgba(14,34,62,.045);
}

.tevco-catalog-results .woocommerce-ordering{
  grid-area:ordering;
  float:none!important;
  justify-self:end;
  margin:0!important;
}

.tevco-catalog-results .woocommerce-ordering select{
  min-width:220px;
  height:46px;
  border:1px solid #d8e0e9;
  border-radius:12px;
  background:#fff;
  color:#263b55;
  padding-inline:13px 38px;
  font:inherit;
  font-size:12px;
}

.tevco-catalog-results>ul.products{
  grid-area:products;
  float:none!important;
  clear:none!important;
  width:100%!important;
  min-width:0;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch;
  gap:16px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
}

.tevco-catalog-results>ul.products li.product{
  min-width:0!important;
  width:auto!important;
  height:100%;
  margin:0!important;
  padding:13px!important;
  border:1px solid #e1e6ed!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 6px 22px rgba(14,34,62,.045)!important;
}

.tevco-catalog-results>ul.products li.product:hover{
  transform:translateY(-3px)!important;
  border-color:#c5d2df!important;
  box-shadow:0 15px 34px rgba(14,34,62,.09)!important;
}

.tevco-catalog-results>ul.products li.product>a.woocommerce-LoopProduct-link{
  display:flex!important;
  flex:1;
  flex-direction:column;
  min-width:0;
}

.tevco-catalog-results>ul.products li.product img{
  width:100%!important;
  height:220px!important;
  margin:0 0 12px!important;
  padding:5px!important;
  border-radius:13px!important;
  background:#fff!important;
  object-fit:contain!important;
}

.tevco-catalog-results>ul.products li.product .woocommerce-loop-product__title{
  height:3.35em!important;
  min-height:3.35em!important;
  margin:0 0 7px!important;
  padding:0!important;
  overflow:hidden;
  color:#1b2d45!important;
  font-size:13.5px!important;
  font-weight:700!important;
  line-height:1.68!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.tevco-catalog-results>ul.products li.product .price{
  min-height:29px;
  margin:4px 0 8px!important;
  color:#123f73!important;
  font-size:19px!important;
  font-weight:800!important;
}

.tevco-catalog-results>ul.products li.product .button,
.tevco-catalog-results>ul.products li.product .added_to_cart{
  min-height:45px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  order:19;
  margin-top:10px!important;
  border-radius:11px!important;
  background:#123f73!important;
  color:#fff!important;
  font-size:12px!important;
}

.tevco-catalog-results .woocommerce-pagination{
  grid-area:pagination;
  float:none!important;
  clear:none!important;
  width:100%;
  padding-top:4px!important;
}

.tevco-catalog-results .tevco-filter-categories a.is-current{
  border-color:#b8cbe0;
  background:#edf4fb;
  color:#123f73;
}

.tevco-catalog-page .tevco-280-catalog-end{
  clear:both;
  margin:24px 0 0!important;
  padding:18px 20px!important;
  border:1px solid #dfe6ed;
  border-radius:16px!important;
  background:#fff!important;
  color:#1f344e!important;
  box-shadow:0 6px 20px rgba(14,34,62,.035);
}

.tevco-catalog-page .tevco-280-catalog-end span{
  color:#69788b!important;
}

.tevco-catalog-page .tevco-280-catalog-end a{
  border:1px solid #d5dfea;
  background:#f2f6fa!important;
  color:#123f73!important;
}

.tevco-catalog-page .tevco-category-guide{
  clear:both;
  margin:24px 0 0;
  padding:clamp(22px,3vw,34px);
  border:1px solid #dfe6ed;
  border-radius:20px;
  background:#fff;
  color:#56677c;
  box-shadow:0 8px 26px rgba(14,34,62,.04);
}

.tevco-catalog-page .tevco-category-guide>span{
  color:#d92d3d;
  font-size:11px;
  font-weight:800;
}

.tevco-catalog-page .tevco-category-guide h2{
  margin:5px 0 14px;
  color:#1a304d;
  font-size:clamp(20px,2vw,26px);
}

.tevco-catalog-page .tevco-category-guide div{
  max-width:920px;
  line-height:1.95;
}

.tevco-catalog-page .tevco-category-guide div>:first-child{
  margin-top:0;
}

.tevco-catalog-page .tevco-category-guide div>:last-child{
  margin-bottom:0;
}

@media(min-width:981px){
  .tevco-catalog-results .tevco-filter-open{
    display:none!important;
  }
}

@media(max-width:1100px){
  .tevco-catalog-results{
    grid-template-columns:230px minmax(0,1fr);
  }
  .tevco-catalog-results>ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:980px){
  .tevco-catalog-results{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "toolbar"
      "ordering"
      "products"
      "pagination";
    gap:13px;
  }
  .tevco-catalog-results .tevco-filter-sidebar{
    display:none!important;
  }
  .tevco-catalog-results .woocommerce-ordering{
    justify-self:stretch;
  }
  .tevco-catalog-results .woocommerce-ordering select{
    width:100%;
  }
}

@media(max-width:760px){
  body.tevco-catalog-page .tevco-shop-main{
    width:min(calc(100% - 20px),1380px)!important;
    padding:14px 0 48px!important;
  }
  .tevco-catalog-page .woocommerce-breadcrumb{
    margin-bottom:10px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .tevco-catalog-page .tevco-catalog-intro.has-visual{
    grid-template-columns:minmax(0,1fr) 145px;
    gap:15px;
    padding:20px!important;
    border-radius:19px!important;
  }
  .tevco-catalog-page .tevco-catalog-intro.has-visual figure{
    height:145px;
    order:0!important;
  }
  .tevco-catalog-page .tevco-catalog-intro.has-visual h1{
    font-size:28px!important;
  }
  .tevco-catalog-page .tevco-catalog-intro p{
    font-size:12px;
    line-height:1.75;
  }
  .tevco-catalog-page .tevco-catalog-promises{
    display:none;
  }
  .tevco-catalog-departments>header h2{
    font-size:18px;
  }
  .tevco-catalog-page .tevco-280-subcategories{
    grid-auto-columns:190px!important;
  }
  .tevco-catalog-results .tevco-catalog-toolbar{
    min-height:58px;
    gap:9px;
    padding:10px 12px!important;
  }
  .tevco-catalog-results .tevco-catalog-summary{
    margin-inline-start:0;
    font-size:11px;
  }
  .tevco-catalog-results .tevco-reset-filters{
    margin-inline-start:auto;
    font-size:11px;
  }
  .tevco-catalog-results>ul.products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  .tevco-catalog-results>ul.products li.product{
    min-width:0!important;
    width:auto!important;
    padding:9px!important;
    border-radius:15px!important;
    scroll-snap-align:none!important;
  }
  .tevco-catalog-results>ul.products li.product img{
    height:165px!important;
  }
  .tevco-catalog-results>ul.products li.product .woocommerce-loop-product__title{
    font-size:12px!important;
  }
  .tevco-catalog-results>ul.products li.product .price{
    font-size:16px!important;
  }
  .tevco-catalog-results>ul.products li.product .tevco-card-finance,
  .tevco-catalog-results>ul.products li.product .tevco-card-confidence{
    display:none!important;
  }
}

@media(max-width:520px){
  .tevco-catalog-page .tevco-catalog-intro.has-visual{
    grid-template-columns:minmax(0,1fr) 105px;
    gap:10px;
    padding:16px!important;
  }
  .tevco-catalog-page .tevco-catalog-intro.has-visual figure{
    height:110px;
  }
  .tevco-catalog-page .tevco-catalog-intro.has-visual h1{
    font-size:23px!important;
  }
  .tevco-catalog-page .tevco-catalog-intro p{
    display:none;
  }
  .tevco-catalog-count{
    display:none;
  }
  .tevco-catalog-page .tevco-280-subcategories{
    grid-auto-columns:175px!important;
  }
  .tevco-catalog-page .tevco-280-subcategories>a{
    min-height:78px!important;
  }
  .tevco-catalog-page .tevco-280-subcategory-image{
    width:54px!important;
    height:54px!important;
    flex-basis:54px!important;
  }
  .tevco-catalog-results .tevco-filter-open{
    padding-inline:11px;
  }
  .tevco-catalog-results .tevco-filter-open span{
    display:none;
  }
  .tevco-catalog-results>ul.products li.product img{
    height:145px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .tevco-catalog-results>ul.products li.product{
    transition:none!important;
  }
}
