/* DOST / Commerce UI v1.0. 19.10.2026. Child theme overrides only.
 * The original theme CSS stays untouched. */
:root {
  --dost-navy:#132d4b;--dost-navy-deep:#0c2036;--dost-red:#e52d35;
  --dost-ink:#152437;--dost-muted:#637285;--dost-line:#e3e9ef;
  --dost-paper:#fff;--dost-cloud:#f4f7fa;--dost-radius:12px;
  --dost-content:1220px;--dost-shadow:0 16px 36px rgba(18,40,65,.075);
  --dost-ease:cubic-bezier(.2,.65,.25,1)
}
body{color:var(--dost-ink)}
body :is(a,button,input,select):focus-visible{outline:2px solid var(--dost-red);outline-offset:3px}
body :is(h1,h2,h3,h4){overflow-wrap:break-word}
.woocommerce .woocommerce-breadcrumb{color:var(--dost-muted);font-size:13px}
.woocommerce .woocommerce-breadcrumb a{color:var(--dost-navy)}
/* Divi/WooCommerce archives: compact, even grids; never fixed-height product blanks. */
body .woocommerce ul.products,
body .woocommerce-page ul.products {
  display:grid!important;grid-template-columns:repeat(var(--dost-grid-cols,4),minmax(0,1fr));
  gap:16px!important;margin:0 0 25px!important;padding:0!important;
  align-items:stretch!important;clear:both!important
}
body .woocommerce ul.products.columns-3,body .woocommerce-page ul.products.columns-3{--dost-grid-cols:3}
body .woocommerce ul.products.columns-4,body .woocommerce-page ul.products.columns-4{--dost-grid-cols:4}
body .woocommerce ul.products.columns-5,body .woocommerce-page ul.products.columns-5{--dost-grid-cols:5}
body .woocommerce ul.products::before,body .woocommerce ul.products::after{display:none!important}
body .woocommerce ul.products li.product,
body .woocommerce-page ul.products li.product {
  width:auto!important;float:none!important;clear:none!important;margin:0!important;
  min-height:0!important;height:auto!important;max-height:none!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  border:1px solid var(--dost-line)!important;border-radius:var(--dost-radius)!important;
  background:var(--dost-paper)!important;padding:14px!important;overflow:hidden!important;
  box-shadow:none!important;transform:none;
  transition:border-color .2s var(--dost-ease),box-shadow .2s var(--dost-ease),transform .2s var(--dost-ease)
}
body .woocommerce ul.products li.product .et_shop_image,
body .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display:block;max-width:100%;text-decoration:none
}
body .woocommerce ul.products li.product img,
body .woocommerce-page ul.products li.product img {
  display:block!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important;
  object-fit:contain!important;margin:0 0 12px!important;padding:6px!important;
  border-radius:8px;background:#fff
}
body .woocommerce ul.products li.product .woocommerce-loop-product__title,
body .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  color:var(--dost-ink)!important;font-size:clamp(13px,1vw,15px)!important;
  font-weight:750!important;line-height:1.36!important;padding:0!important;
  margin:0 0 8px!important;letter-spacing:0!important;text-transform:none!important
}
body .woocommerce ul.products li.product .dost-product-meta{order:0;display:block;font-size:11px;color:var(--dost-muted);font-weight:650;letter-spacing:.06em;text-transform:uppercase;margin:0 0 5px}
body .woocommerce ul.products li.product .price,
body .woocommerce-page ul.products li.product .price {
  display:block!important;color:var(--dost-navy)!important;font-size:17px!important;
  font-weight:800!important;line-height:1.3!important;
  margin:10px 0 12px!important;padding:0!important
}
body .woocommerce ul.products li.product .price del{font-size:12px!important;font-weight:500;opacity:.65}
body .woocommerce ul.products li.product .price ins{color:var(--dost-red)!important;text-decoration:none}
body .woocommerce ul.products li.product .star-rating{display:none!important}
body .woocommerce ul.products li.product .button,
body .woocommerce-page ul.products li.product .button,
body .woocommerce ul.products li.product a.added_to_cart {
  position:static!important;transform:none!important;opacity:1!important;visibility:visible!important;
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;
  width:100%!important;min-height:41px!important;height:auto!important;line-height:1.25!important;
  padding:10px 9px!important;margin:auto 0 0!important;border:1px solid var(--dost-navy)!important;
  border-radius:7px!important;background:var(--dost-navy)!important;color:white!important;
  font-size:12px!important;font-weight:750!important;text-align:center!important;
  text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;
}
body .woocommerce ul.products li.product .button::after{display:none!important}
body .woocommerce ul.products li.product .button:hover{background:var(--dost-navy-deep)!important}
body .woocommerce ul.products li.product .dost-stock-note{display:block;margin:3px 0 10px;font-size:12px;color:#a34533;font-weight:650}
body .woocommerce ul.products li.product .onsale{border:0!important;background:var(--dost-red)!important;color:#fff!important;border-radius:5px!important;padding:5px 9px!important;z-index:2}
@media (hover:hover) and (pointer:fine){
  body .woocommerce ul.products li.product:hover{border-color:#ccd8e2!important;box-shadow:var(--dost-shadow)!important;transform:translateY(-3px)}
}
@media(max-width:980px){
  body .woocommerce ul.products,body .woocommerce-page ul.products{--dost-grid-cols:3;gap:12px!important}
}
@media(max-width:680px){
  body .woocommerce ul.products,body .woocommerce-page ul.products{--dost-grid-cols:2!important;gap:10px!important}
  body .woocommerce ul.products li.product,body .woocommerce-page ul.products li.product{padding:9px!important}
  body .woocommerce ul.products li.product .price{font-size:15px!important}
  body .woocommerce ul.products li.product .button{min-height:42px!important;font-size:11px!important}
}
/* Single product, leaving WooCommerce business rules and Divi modules intact. */
body.single-product .et_pb_section,body.single-product #main-content{overflow:visible}
body.single-product .woocommerce div.product .product_title,
body.single-product .et_pb_wc_title h1{font-size:clamp(27px,3.4vw,45px)!important;line-height:1.09!important;letter-spacing:-.035em;color:var(--dost-ink)!important;font-weight:800!important}
body.single-product .woocommerce div.product .price,
body.single-product .et_pb_wc_price .price{color:var(--dost-navy)!important;font-size:clamp(23px,2.4vw,30px)!important;font-weight:800!important}
body.single-product .woocommerce div.product form.cart .button{background:var(--dost-red)!important;border-radius:8px!important;min-height:49px!important;border:none!important;color:#fff!important;font-size:14px!important;font-weight:750!important}
body.single-product .woocommerce div.product form.cart .quantity input{min-height:48px}
body.single-product .woocommerce-product-details__short-description{font-size:15px;line-height:1.75;color:var(--dost-muted)}
body.single-product .woocommerce-product-gallery img{object-fit:contain!important}
body.single-product .woocommerce table.shop_attributes{border:1px solid var(--dost-line)!important;border-radius:9px}
body.single-product .woocommerce table.shop_attributes :is(th,td){padding:13px 18px!important;text-align:left!important;border-color:var(--dost-line)!important}
body.single-product .woocommerce table.shop_attributes th{font-weight:700!important;color:var(--dost-ink)}
body.single-product .woocommerce table.shop_attributes td{color:var(--dost-muted)}
body.single-product .woocommerce-tabs :is(.panel,ul.tabs){max-width:100%}
body.single-product .product-sticky-add-to-cart{box-shadow:0 -8px 25px rgba(12,32,54,.10)!important}
body.single-product .product-sticky-add-to-cart .et_pb_row{max-width:var(--dost-content)}
/* Tighten the huge, empty product page sections from the old Titan template. */
body.single-product .et_pb_section:has(.et_pb_wc_related_products){padding-block:30px!important}
body.single-product .et_pb_wc_related_products h2{font-weight:800;color:var(--dost-ink)}
body.single-product .et_pb_wc_related_products li.product{min-width:0}
/* Filter groups: compact categories and accordion, with accessible controls. */
#cwf-filter-wrap{--cwf-accent:var(--dost-red);--cwf-border:var(--dost-line);--cwf-text:var(--dost-ink)}
#cwf-filter-wrap .cwf-section{margin-bottom:12px!important;border-bottom:1px solid var(--dost-line);padding-bottom:10px}
#cwf-filter-wrap .cwf-section-title{font-size:11px!important;letter-spacing:.06em!important;font-weight:800!important;border:0!important;margin-bottom:8px!important}
#cwf-filter-wrap .cwf-options{max-height:210px;overflow:auto;padding-right:5px}
#cwf-filter-wrap .cwf-options li{margin-bottom:0!important}
#cwf-filter-wrap .cwf-options label{min-height:35px}
#cwf-filter-wrap .cwf-cat-list a{font-size:13px!important}
#cwf-filter-wrap .cwf-sort-select{background-color:white;min-height:42px}
#cwf-filter-wrap .dost-mobile-sort-control{display:none}
@media(max-width:980px){
  #cwf-filter-wrap .dost-mobile-sort-control{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  #cwf-filter-wrap .dost-mobile-sort-control label{font-weight:700;color:var(--dost-ink);flex-shrink:0}
  #cwf-filter-wrap .dost-mobile-sort-control select{width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid var(--dost-line);border-radius:7px;background:#fff}
  #cwf-filter-wrap.cwf-mobile-ready .cwf-mobile-filter-toggle{min-height:48px!important;border-radius:8px!important;font-weight:750!important}
  #cwf-filter-wrap.cwf-mobile-ready #cwf-filter-form.cwf-mobile-expanded{padding:15px;background:#fff;border-radius:10px;border:1px solid var(--dost-line)}
}
/* Better visual hierarchy of shop archives, with no layout assumptions on sidebar location */
body.tax-product_cat .et_pb_section,body.post-type-archive-product .et_pb_section{overflow:visible}
body.tax-product_cat .et_pb_text h1,body.post-type-archive-product .et_pb_text h1{font-weight:800!important;letter-spacing:-.035em!important}
body.tax-product_cat .woocommerce-result-count{font-size:12px;color:var(--dost-muted)}
body.tax-product_cat .woocommerce-ordering select{border:1px solid var(--dost-line)!important;border-radius:7px;min-height:38px;padding:8px 12px;background:#fff}
@media(prefers-reduced-motion:reduce){
 body .woocommerce ul.products li.product,body .woocommerce ul.products li.product .button{transition:none!important;transform:none!important;animation:none!important}
}
