
/* ==========================================================
   COLLECTION PAGE EXACT REFERENCE OVERRIDE
   Scope: WooCommerce catalog only.
   Homepage/footer/header remain untouched.
   ========================================================== */

.dm-catalog{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  color:#222!important;
  font-family:"Instrument Sans",Arial,sans-serif!important;
}
.dm-catalog *{box-sizing:border-box}

/* The captured collection page has a large, clean title area. */
.dm-catalog-hero{
  width:100%!important;
  height:249px!important;
  min-height:249px!important;
  margin:0!important;
  padding:75px 20px 0!important;
  background:#fff!important;
  border:0!important;
  text-align:center!important;
}
.dm-catalog-hero h1{
  margin:0 0 39px!important;
  padding:0!important;
  color:#4385ea!important;
  font-family:"Instrument Sans",Arial,sans-serif!important;
  font-size:47px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:-1.8px!important;
}
.dm-breadcrumb{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:16px!important;
  margin:0!important;
  padding:0!important;
  color:#b5b5b5!important;
  font-size:13px!important;
  line-height:1!important;
}
.dm-breadcrumb a{color:#333!important;text-decoration:none!important}
.dm-breadcrumb span[aria-hidden]{color:#aaa!important;font-size:17px!important}

/* Exact desktop geometry visible in the reference. */
.dm-products-layout{
  width:100%!important;
  max-width:1314px!important;
  margin:0 auto!important;
  padding:42px 0 65px!important;
  display:grid!important;
  grid-template-columns:270px minmax(0,966px)!important;
  column-gap:62px!important;
  align-items:start!important;
  background:#fff!important;
}
.dm-sidebar{
  width:270px!important;
  margin:0!important;
  padding:0!important;
}
.dm-sidebar-section{margin:0 0 55px!important;padding:0!important}
.dm-sidebar-title{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 25px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  border:0!important;
  background:transparent!important;
  color:#62a6f3!important;
  font:700 15px/1 "Instrument Sans",Arial,sans-serif!important;
  text-align:left!important;
}
.dm-sidebar-title .dm-chevron{color:#999!important;font-size:15px!important}
.dm-filter-list{list-style:none!important;margin:0!important;padding:0!important}
.dm-filter-list>li{
  min-height:39px!important;
  margin:0!important;
  padding:0 0 0 4px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  border:0!important;
  background:transparent!important;
  font-size:14px!important;
}
.dm-filter-list>li:hover{background:transparent!important}
.dm-filter-list a{
  flex:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  color:#252525!important;
  text-decoration:none!important;
  font:500 14px/1 "Instrument Sans",Arial,sans-serif!important;
}
.dm-filter-list>li.active>a{color:#252525!important;font-weight:600!important}
.dm-count{
  margin-left:auto!important;
  color:#b28b67!important;
  font:400 13px/1 "Instrument Sans",Arial,sans-serif!important;
}
.dm-expand{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  padding:0 1px!important;
  margin-left:3px!important;
  border:0!important;
  background:transparent!important;
  color:#777!important;
  font:400 12px/1 Arial,sans-serif!important;
}
.dm-availability{margin-top:4px!important}

/* Main toolbar is two lines in the recording. */
.dm-products-main{
  width:966px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
}
.dm-products-toolbar{
  width:100%!important;
  height:105px!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  position:relative!important;
  background:#fff!important;
}
.dm-toolbar-top{
  width:100%!important;
  height:45px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
}
.dm-view-toggle{margin:0!important;padding:0!important}
.dm-view-btn{
  width:34px!important;
  height:34px!important;
  margin:0!important;
  padding:5px!important;
  border:0!important;
  border-radius:3px!important;
  background:#050505!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.dm-view-btn svg{width:20px!important;height:20px!important;fill:currentColor!important}
.dm-products-count{
  display:block!important;
  margin:8px 0 0!important;
  padding:0!important;
  color:#333!important;
  font:400 14px/1 "Instrument Sans",Arial,sans-serif!important;
}
.dm-sort{
  display:flex!important;
  align-items:center!important;
  gap:15px!important;
  margin:10px 10px 0 0!important;
  padding:0!important;
}
.dm-sort label{
  margin:0!important;
  color:#333!important;
  font:400 13px/1 "Instrument Sans",Arial,sans-serif!important;
}
.dm-sort select{
  min-width:128px!important;
  height:28px!important;
  margin:0!important;
  padding:0 22px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#333!important;
  font:400 13px/28px "Instrument Sans",Arial,sans-serif!important;
  outline:0!important;
  box-shadow:none!important;
  appearance:auto!important;
}

/* Three 302px cards + 30px gaps = 966px exactly. */
.dm-products-grid{
  width:966px!important;
  display:grid!important;
  grid-template-columns:repeat(3,302px)!important;
  column-gap:30px!important;
  row-gap:35px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
}
.dm-product-card{
  width:302px!important;
  min-width:302px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
.dm-product-image{
  width:302px!important;
  height:302px!important;
  aspect-ratio:auto!important;
  display:block!important;
  position:relative!important;
  margin:0 0 17px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:9px!important;
  background:#000!important;
}
.dm-product-image img,
.dm-product-img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
}
.dm-product-card:hover .dm-product-image img{transform:none!important}
.dm-sale-badge{
  left:7px!important;
  top:7px!important;
  width:59px!important;
  min-height:43px!important;
  padding:7px 5px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  border-radius:4px!important;
  background:#ff1f58!important;
  color:#fff!important;
  font:800 10px/1.05 Arial,sans-serif!important;
  text-align:center!important;
  letter-spacing:0!important;
  box-shadow:none!important;
}
.dm-sale-badge b{font-weight:800!important}
.dm-product-info{
  width:302px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
.dm-product-name{
  width:302px!important;
  min-height:42px!important;
  height:42px!important;
  margin:0 0 5px!important;
  padding:0!important;
  display:-webkit-box!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  color:#222!important;
  font:500 16px/1.28 "Instrument Sans",Arial,sans-serif!important;
  text-decoration:none!important;
}
.dm-product-price{
  height:24px!important;
  margin:0 0 9px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  color:#222!important;
  font:600 15px/1 "Instrument Sans",Arial,sans-serif!important;
}
.dm-product-price del{color:#888!important;font-size:13px!important}
.dm-product-price ins{color:#222!important;text-decoration:none!important}
.dm-add-cart{
  width:302px!important;
  height:39px!important;
  min-height:39px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:#2e50cf!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:800 13px/39px "Instrument Sans",Arial,sans-serif!important;
  letter-spacing:.2px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}
.dm-add-cart:hover{background:#2e50cf!important;color:#fff!important;-webkit-text-fill-color:#fff!important;transform:none!important}
.dm-notify-stock{background:#2e50cf!important}

/* Pagination matches the clean small controls at the end of the grid. */
.dm-pagination{margin:40px 0 0!important;display:flex!important;justify-content:center!important}
.dm-pagination ul{display:flex!important;gap:6px!important;margin:0!important;padding:0!important;list-style:none!important}
.dm-pagination a,.dm-pagination span{min-width:30px!important;height:30px!important;border-radius:4px!important}

/* Mobile */
@media (max-width:1100px){
  .dm-products-layout{
    max-width:calc(100% - 40px)!important;
    grid-template-columns:220px minmax(0,1fr)!important;
    column-gap:35px!important;
  }
  .dm-sidebar{width:220px!important}
  .dm-products-main{width:100%!important}
  .dm-products-grid{width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:18px!important}
  .dm-product-card,.dm-product-image,.dm-product-info,.dm-product-name,.dm-add-cart{width:100%!important;min-width:0!important}
  .dm-product-image{height:auto!important;aspect-ratio:1/1!important}
}
@media (max-width:767px){
  .dm-catalog-hero{height:190px!important;min-height:190px!important;padding-top:58px!important}
  .dm-catalog-hero h1{font-size:34px!important;margin-bottom:25px!important}
  .dm-products-layout{display:block!important;max-width:none!important;padding:25px 15px 50px!important}
  .dm-sidebar{display:none!important}
  .dm-products-main{width:100%!important}
  .dm-products-toolbar{height:75px!important}
  .dm-products-grid{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 12px!important}
  .dm-product-card,.dm-product-info,.dm-product-name,.dm-add-cart{width:100%!important}
  .dm-product-image{width:100%!important;height:auto!important;aspect-ratio:1/1!important}
}
