/* DOST | Shop archive layout v3 — 20.10.2026
 * One grid controls card placement. Legacy Titan percentage widths are
 * explicitly reset on li.product so every cell is fully occupied.
 * Scope: WooCommerce category and shop archives only.
 */
.dost-archive-intro {
  background:#f2f6f9;
  padding:26px 0 42px;
}
.dost-archive-intro__wrap {width:min(1220px,calc(100% - 48px));margin-inline:auto;}
.dost-archive-intro__crumbs {display:flex;flex-wrap:wrap;gap:10px;font-size:11px;margin-bottom:35px;color:#91a0ae;}
.dost-archive-intro__crumbs a {color:#738297;}
.dost-archive-intro__kicker {display:inline-block;color:#e52d35;font-size:11px;font-weight:850;letter-spacing:.13em;margin-bottom:10px;}
.dost-archive-intro h1 {color:#152d48!important;font-size:clamp(34px,4.8vw,61px)!important;font-weight:850!important;line-height:1.05!important;letter-spacing:-.05em!important;margin:0 0 14px!important;}
.dost-archive-intro p {color:#43576b;font-size:18px;line-height:1.75;font-weight:500;max-width:680px;margin:0!important;}
.dost-archive-intro__nav {display:flex;gap:9px;flex-wrap:wrap;margin-top:28px;}
.dost-archive-intro__nav a {display:inline-flex;align-items:center;gap:15px;padding:9px 13px;background:#fff;border:1px solid #e1e7ed;border-radius:6px;color:#233e58!important;font-weight:700;font-size:12px;text-decoration:none!important;}
.dost-archive-intro__nav a:hover {border-color:#203c57;}

body.tax-product_cat .dost-archive-shell,
body.post-type-archive-product .dost-archive-shell {
  padding:38px 0 72px!important;
  overflow:visible!important;
}
body.tax-product_cat .dost-archive-shell>.et_pb_row,
body.post-type-archive-product .dost-archive-shell>.et_pb_row {
  width:min(1220px,calc(100% - 48px))!important;
  max-width:1220px!important;
  box-sizing:border-box!important;
  margin-inline:auto!important;
}
body.tax-product_cat .dost-archive-shell :is(.dost-filters-column,.dost-products-column),
body.post-type-archive-product .dost-archive-shell :is(.dost-filters-column,.dost-products-column),
body.tax-product_cat .dost-archive-shell .dost-products-column .et_pb_shop,
body.post-type-archive-product .dost-archive-shell .dost-products-column .et_pb_shop {
  min-width:0!important;
}
.dost-archive-shell .dost-filters-column .et_pb_text_inner {border:1px solid #e1e8ef;border-radius:11px;padding:19px;background:#fff;}

/* Product catalog — flex basis owns the card width on ALL viewport sizes.
 * Important because original Titan CSS still has width:33.33% !important.
 */
body.tax-product_cat .dost-archive-shell .dost-products-column .et_pb_shop ul.products,
body.post-type-archive-product .dost-archive-shell .dost-products-column .et_pb_shop ul.products {
  --dost-card-gap:16px;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  justify-content:stretch!important;
  justify-items:stretch!important;
  align-items:stretch!important;
  gap:var(--dost-card-gap)!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  list-style:none!important;
}
body.tax-product_cat .dost-archive-shell .dost-products-column .et_pb_shop ul.products::before,
body.tax-product_cat .dost-archive-shell .dost-products-column .et_pb_shop ul.products::after,
body.post-type-archive-product .dost-archive-shell .dost-products-column .et_pb_shop ul.products::before,
body.post-type-archive-product .dost-archive-shell .dost-products-column .et_pb_shop ul.products::after {
  content:none!important;display:none!important;
}
body.tax-product_cat .dost-archive-shell .dost-products-column .et_pb_shop ul.products>li.product,
body.post-type-archive-product .dost-archive-shell .dost-products-column .et_pb_shop ul.products>li.product {
  flex:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:100%!important;
  inline-size:100%!important;
  min-inline-size:100%!important;
  max-inline-size:100%!important;
  justify-self:stretch!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:12px!important;
  box-sizing:border-box!important;
  float:none!important;
  clear:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  align-self:stretch!important;
  position:relative!important;
  overflow:hidden!important;
}
body.tax-product_cat .dost-archive-shell .dost-products-column ul.products>li.product .et_shop_image,
body.post-type-archive-product .dost-archive-shell .dost-products-column ul.products>li.product .et_shop_image {
  display:block!important;
  position:relative!important;
  flex:none!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
  background:#fff;
  border-radius:7px;
}
body.tax-product_cat .dost-archive-shell .dost-products-column ul.products>li.product .et_shop_image img,
body.post-type-archive-product .dost-archive-shell .dost-products-column ul.products>li.product .et_shop_image img {
  position:absolute!important;
  display:block!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:clamp(3px,1vw,9px)!important;
  box-sizing:border-box!important;
  transform:none!important;
}
body.tax-product_cat .dost-archive-shell .dost-products-column ul.products>li.product .woocommerce-loop-product__title,
body.post-type-archive-product .dost-archive-shell .dost-products-column ul.products>li.product .woocommerce-loop-product__title {
  font-size:clamp(13px,1.15vw,15px)!important;
  line-height:1.4!important;
  overflow-wrap:anywhere!important;
  min-width:0!important;
}
body.tax-product_cat .dost-archive-shell .dost-products-column ul.products>li.product .dost-product-meta,
body.post-type-archive-product .dost-archive-shell .dost-products-column ul.products>li.product .dost-product-meta {
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-size:11px!important;
  letter-spacing:.02em!important;
}
body.tax-product_cat .dost-archive-shell .dost-products-column ul.products>li.product .price,
body.post-type-archive-product .dost-archive-shell .dost-products-column ul.products>li.product .price {
  font-size:clamp(15px,1.4vw,18px)!important;
  line-height:1.4!important;
  overflow-wrap:normal!important;
  white-space:normal!important;
}
body.tax-product_cat .dost-archive-shell .dost-products-column ul.products>li.product .button,
body.post-type-archive-product .dost-archive-shell .dost-products-column ul.products>li.product .button {
  box-sizing:border-box!important;
  white-space:normal!important;
  min-height:44px!important;
  padding:10px 8px!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.dost-archive-shell .dost-products-column .woocommerce-result-count {color:#718091;font-size:13px;}
.dost-archive-shell .woocommerce nav.woocommerce-pagination {margin:32px 0 0;}
.dost-archive-shell .woocommerce nav.woocommerce-pagination ul {border:0;display:flex;gap:7px;justify-content:center;flex-wrap:wrap;}
.dost-archive-shell .woocommerce nav.woocommerce-pagination ul li {border:0;}
.dost-archive-shell .woocommerce nav.woocommerce-pagination ul li :is(a,span) {border:1px solid #e1e7ed!important;background:#fff!important;color:#233d57!important;min-width:38px;min-height:38px;display:grid;place-items:center;border-radius:6px;font-size:13px;font-weight:700;}
.dost-archive-shell .woocommerce nav.woocommerce-pagination ul li span.current {background:#e52d35!important;color:#fff!important;border-color:#e52d35!important;}

/* Existing progressive filter accordion. */
#cwf-filter-wrap .dost-filter-accordion {border:0;padding:0;}
#cwf-filter-wrap .dost-filter-heading {display:flex;width:100%;align-items:center;justify-content:space-between;gap:15px;background:none;border:0;padding:9px 0;color:#263a4f;font-weight:800;text-transform:uppercase;letter-spacing:.075em;font-size:11px;cursor:pointer;text-align:left;}
#cwf-filter-wrap .dost-filter-heading:after {content:'+';display:grid;place-items:center;flex:0 0 22px;height:22px;border:1px solid #dce4ec;border-radius:5px;font-size:15px;color:#526478;}
#cwf-filter-wrap .dost-filter-heading[aria-expanded="true"]:after {content:'−';}
#cwf-filter-wrap .dost-filter-body[hidden] {display:none!important;}
#cwf-filter-wrap .dost-filter-body {padding:0 0 12px;}
#cwf-filter-wrap .cwf-section {border-bottom:1px solid #eef1f4;margin-bottom:2px!important;padding-bottom:4px!important;}
#cwf-filter-wrap .cwf-options {max-height:240px;overflow:auto;}
#cwf-filter-wrap .cwf-sort-select {min-height:40px!important;font-size:12px!important;}
#cwf-filter-wrap .cwf-reset-btn {border:1px solid #e3e9ef;background:#f4f6f8;color:#41566b;font-weight:700;min-height:40px;}
#cwf-filter-wrap .cwf-reset-btn:hover {background:#e9eff4;}

@media (min-width:981px) and (max-width:1180px) {
  body.tax-product_cat .dost-archive-shell .dost-products-column .et_pb_shop ul.products,
  body.post-type-archive-product .dost-archive-shell .dost-products-column .et_pb_shop ul.products {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:980px) {
  .dost-archive-shell {padding:25px 0 55px!important;}
  body.tax-product_cat .dost-archive-shell>.et_pb_row,
  body.post-type-archive-product .dost-archive-shell>.et_pb_row {
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    width:calc(100% - 20px)!important;
    max-width:none!important;
    padding:0!important;
    margin-inline:auto!important;
    align-items:stretch!important;
  }
  body.tax-product_cat .dost-archive-shell :is(.dost-filters-column,.dost-products-column),
  body.post-type-archive-product .dost-archive-shell :is(.dost-filters-column,.dost-products-column),
  body.tax-product_cat .dost-archive-shell .dost-products-column .et_pb_shop,
  body.post-type-archive-product .dost-archive-shell .dost-products-column .et_pb_shop {
    display:block!important;
    flex:none!important;
    float:none!important;
    clear:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
  .dost-archive-shell .dost-filters-column .et_pb_text_inner {border:0;padding:0;}
  body.tax-product_cat .dost-archive-shell .dost-products-column .et_pb_shop ul.products,
  body.post-type-archive-product .dost-archive-shell .dost-products-column .et_pb_shop ul.products {
    --dost-card-gap:12px;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.tax-product_cat .dost-archive-shell .dost-products-column .woocommerce-ordering,
  body.post-type-archive-product .dost-archive-shell .dost-products-column .woocommerce-ordering {
    display:none!important; /* duplicate sorting: mobile filter already has it */
  }
  body.tax-product_cat .dost-archive-shell .woocommerce-result-count,
  body.post-type-archive-product .dost-archive-shell .woocommerce-result-count {
    float:none!important;margin:0 0 15px!important;
  }
}
@media (max-width:680px) {
  .dost-archive-intro {padding:19px 0 33px;}
  .dost-archive-intro__wrap {width:calc(100% - 32px);}
  .dost-archive-intro__crumbs {margin-bottom:22px;}
  .dost-archive-intro p {font-size:17px;}
  .dost-archive-intro__nav {margin-top:20px;}
  .dost-archive-intro__nav a {font-size:11px;padding:9px 12px;}
  body.tax-product_cat .dost-archive-shell .dost-products-column .et_pb_shop ul.products,
  body.post-type-archive-product .dost-archive-shell .dost-products-column .et_pb_shop ul.products {--dost-card-gap:clamp(8px,2.5vw,12px);}
  body.tax-product_cat .dost-archive-shell .dost-products-column .et_pb_shop ul.products>li.product,
  body.post-type-archive-product .dost-archive-shell .dost-products-column .et_pb_shop ul.products>li.product {padding:10px!important;}
}
@media (max-width:339px) {
  body.tax-product_cat .dost-archive-shell .dost-products-column .et_pb_shop ul.products,
  body.post-type-archive-product .dost-archive-shell .dost-products-column .et_pb_shop ul.products {
    grid-template-columns:minmax(0,1fr)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .dost-archive-shell ul.products>li.product {transform:none!important;transition:none!important;}
}
