/*
Theme Name: Astra Child
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/

/* =========================================================
   OPTIMIZED UI (Astra + WooCommerce)
   Cleaned: removed duplicates/overwrites, kept final behavior.
   ========================================================= */

/* ---------- Variables (product page) ---------- */
:root{
  --v-text: #0b1220;
  --v-muted: rgba(11,18,32,.68);
  --v-soft: rgba(0,0,0,.06);
  --v-line: rgba(0,0,0,.08);
  --v-radius: 22px;
  --v-radius-sm: 16px;
  --v-shadow: 0 26px 70px rgba(0,0,0,.10);
  --v-shadow-soft: 0 18px 44px rgba(0,0,0,.10);
}

/* =========================================================
   CATALOG (archive)
   ========================================================= */

/* spacing */
.woocommerce.archive .site-content,
.woocommerce-page.archive .site-content{
  padding-top: 18px;
}

/* hide result count + ordering (as in current final rules) */
.woocommerce.archive .woocommerce-result-count,
.woocommerce.archive .woocommerce-ordering{
  display: none !important;
}

/* breadcrumbs */
.woocommerce.archive .woocommerce-breadcrumb{
  font-size: 13px !important;
  opacity: .75 !important;
  margin: 0 0 10px !important;
}

/* category title + divider */
.woocommerce.archive .page-title{
  font-size: 44px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 18px !important;
  color: var(--v-text) !important;
  position: relative;
  padding-bottom: 14px !important;
}
.woocommerce.archive .page-title:after{
  content:"";
  display:block;
  height:1px;
  background: rgba(0,0,0,.08);
  margin-top: 14px;
  width: 100%;
}
@media (max-width: 768px){
  .woocommerce.archive .page-title{ font-size: 32px !important; }
}

/* products grid */
.woocommerce ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px !important;
  margin-top: 18px !important;
}
@media (max-width: 1200px){ .woocommerce ul.products{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 920px){  .woocommerce ul.products{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px){  .woocommerce ul.products{ grid-template-columns: repeat(1, minmax(0, 1fr)); } }

/* product card */
.woocommerce ul.products li.product{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 14px 14px 18px !important; /* ровно после скрытия кнопок */
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow: hidden;
}
.woocommerce ul.products li.product:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
  border-color: rgba(0,0,0,.14);
}

/* image */
.woocommerce ul.products li.product a img{
  border-radius: 16px;
  background: #f6f7f9;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  margin: 0 0 12px !important;
  transition: transform .20s ease;
}
.woocommerce ul.products li.product:hover a img{ transform: scale(1.02); }

/* title (2 lines) */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  margin: 10px 0 8px !important;
  color: var(--v-text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 38px;
}

/* price */
.woocommerce ul.products li.product .price{
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--v-text) !important;
  margin: 6px 0 12px !important;
}
.woocommerce ul.products li.product .price del{ opacity:.45; font-weight: 600; }
.woocommerce ul.products li.product .price ins{ text-decoration: none; }

/* hide all catalog buttons (incl. "Выберите параметры") */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button{
  display: none !important;
}

/* hide Astra category text under title (e.g. "Voltum") */
.woocommerce ul.products li.product .ast-woo-product-category{
  display: none !important;
}

/* brand logo in catalog cards — BIG & CENTER */
.woocommerce ul.products li.product .brand-cat-logo{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  margin: 10px 0 12px !important;
  height: 44px !important; /* отдельная полоска под лого */
}
.woocommerce ul.products li.product .brand-cat-logo img{
  height: 60px !important;
  width: auto !important;
  max-width: 92% !important;
  display:block !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 544px){
  .woocommerce ul.products li.product .brand-cat-logo{ height: 40px !important; margin: 8px 0 10px !important; }
  .woocommerce ul.products li.product .brand-cat-logo img{ height: 32px !important; max-width: 95% !important; }
}

/* swatches bar (catalog cards) */
.woocommerce ul.products li.product .vcs-loop-swatches{
  width: calc(100% - 16px) !important;
  margin: 12px auto 0 !important;
  padding: 12px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(0,0,0,.07) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.10) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.woocommerce ul.products li.product .vcs-loop-label{
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  color: rgba(11,18,32,.82) !important;
  padding-left: 2px !important;
  white-space: nowrap !important;
}
.woocommerce ul.products li.product .vcs-loop-swatches-list{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.woocommerce ul.products li.product .vcs-loop-swatch{
  width: 22px !important;
  height: 22px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0,0,0,.14) !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.12) !important;
  background-size: cover !important;
  background-position: center !important;
  position: relative !important;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, opacity .15s ease;
}
.woocommerce ul.products li.product .vcs-loop-swatch:hover{
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 14px 26px rgba(0,0,0,.18) !important;
  border-color: rgba(0,0,0,.22) !important;
}
/* visible ring on white swatch */
.woocommerce ul.products li.product .vcs-loop-swatch[style*="background-color:#fff"],
.woocommerce ul.products li.product .vcs-loop-swatch[style*="background-color:#ffffff"]{
  box-shadow: 0 10px 18px rgba(0,0,0,.12), inset 0 0 0 1px rgba(0,0,0,.10) !important;
}
/* active/focus ring */
.woocommerce ul.products li.product .vcs-loop-swatch:focus-visible{ outline: none !important; }
.woocommerce ul.products li.product .vcs-loop-swatch.is-active::after,
.woocommerce ul.products li.product .vcs-loop-swatch:focus-visible::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:999px;
  border:2px solid rgba(11,18,32,.85);
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
}
/* tooltip */
.woocommerce ul.products li.product .vcs-tooltip{
  position:absolute;
  left:50%;
  bottom: 34px;
  transform: translateX(-50%);
  padding: 6px 10px;
  border-radius: 12px;
  background: rgba(11,18,32,.92);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
}
.woocommerce ul.products li.product .vcs-loop-swatch:hover .vcs-tooltip{
  opacity: 1;
  transform: translateX(-50%) translateY(-2px);
}
@media (max-width: 544px){
  .woocommerce ul.products li.product .vcs-loop-swatches{
    width: calc(100% - 12px) !important;
    padding: 11px 10px !important;
    border-radius: 16px !important;
  }
  .woocommerce ul.products li.product .vcs-loop-swatch{
    width: 21px !important;
    height: 21px !important;
  }
}

/* pagination (Apple-style) */
.woocommerce nav.woocommerce-pagination{
  margin-top: 30px !important;
  display:flex !important;
  justify-content:center !important;
}
.woocommerce nav.woocommerce-pagination ul{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  border:0 !important;
  background: transparent !important;
  padding:0 !important;
  margin:0 !important;
}
.woocommerce nav.woocommerce-pagination ul li{
  border:0 !important;
  margin:0 !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: rgba(0,0,0,.06) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  color: var(--v-text) !important;
  text-decoration:none !important;
  box-shadow: none !important;
  transition: transform .16s ease, background-color .16s ease, color .16s ease, opacity .16s ease;
}
.woocommerce nav.woocommerce-pagination ul li a:hover{
  background: rgba(0,0,0,.10) !important;
  transform: translateY(-1px);
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background: var(--v-text) !important;
  color: #fff !important;
}
.woocommerce nav.woocommerce-pagination ul li span.dots{
  background: transparent !important;
  opacity:.55 !important;
}
@media (max-width: 520px){
  .woocommerce nav.woocommerce-pagination ul{ gap:8px !important; }
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span{
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
  }
}

/* brand logo on category header — centered */
.brand-archive-logo{
  position: static !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 10px 0 14px !important;
  pointer-events: none;
}
.brand-archive-logo img{
  max-width: 220px !important;
  height: auto !important;
  opacity: .95;
}
@media (max-width: 768px){
  .brand-archive-logo img{ max-width: 170px !important; }
}

/* =========================================================
   SINGLE PRODUCT
   ========================================================= */

.single-product .site-content{ background: #fafafb; }
.single-product .ast-container{
  padding-top: 22px !important;
  padding-bottom: 40px !important;
}
.single-product .woocommerce-breadcrumb{
  font-size: 13px !important;
  color: var(--v-muted) !important;
  margin-bottom: 10px !important;
}

/* Unified premium panel (ONE card around gallery + summary) */
.single-product div.product{
  display: grid !important;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  align-items: start;
  padding: 26px !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: var(--v-shadow) !important;
}
@media (max-width: 768px){
  .single-product div.product{
    grid-template-columns: 1fr;
    padding: 16px !important;
    border-radius: 22px !important;
    gap: 18px;
  }
}

/* remove floats/width constraints from theme */
.single-product .woocommerce-product-gallery{
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  background: transparent !important;
}
.single-product div.product .summary{
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* gallery (vfgallery) */
.single-product .vfgallery .vfg-main{
  border-radius: var(--v-radius) !important;
  background: #f6f7f9 !important;
  border: 0 !important;
  box-shadow: none !important;
}
.single-product .vfgallery .vfg-thumbs{ margin-top: 14px !important; }
.single-product .vfgallery .vfg-thumb{
  border-radius: var(--v-radius-sm) !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 1px solid rgba(0,0,0,.08);
  outline-offset: -1px;
  transition: transform .15s ease, outline-color .15s ease, box-shadow .15s ease;
}
.single-product .vfgallery .vfg-thumb:hover{
  transform: translateY(-1px);
  outline-color: rgba(0,0,0,.18);
  box-shadow: 0 10px 24px rgba(0,0,0,.10) !important;
}
.single-product .vfgallery .vfg-thumb.is-active{
  outline: 2px solid rgba(11,18,32,.70) !important;
  outline-offset: -2px !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.14) !important;
}

/* title + price */
.single-product .product_title{
  font-size: 34px !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
  color: var(--v-text) !important;
  margin: 10px 0 12px !important;
}
@media (max-width: 768px){ .single-product .product_title{ font-size: 28px !important; } }

.single-product .summary .price{
  font-size: 22px !important;
  font-weight: 900 !important;
  color: var(--v-text) !important;
  margin: 8px 0 14px !important;
}
@media (max-width: 768px){ .single-product .summary .price{ font-size: 20px !important; } }

/* variations layout (remove "table look") */
.single-product form.variations_form table.variations{
  border: 0 !important;
}
.single-product form.variations_form table.variations td,
.single-product form.variations_form table.variations th{
  border: 0 !important;
}
.single-product form.variations_form table.variations th.label{
  font-size: 13px !important;
  font-weight: 800 !important;
  color: var(--v-muted) !important;
  padding: 10px 10px 8px 0 !important;
  white-space: nowrap;
}
.single-product form.variations_form table.variations td{
  padding: 6px 0 10px !important;
}

/* reset variations link */
.single-product .reset_variations{
  font-size: 12px !important;
  color: var(--v-muted) !important;
  text-decoration: none !important;
  border-bottom: 1px dashed rgba(11,18,32,.25);
}
.single-product .reset_variations:hover{ border-bottom-color: rgba(11,18,32,.55); }

/* cart block (no inner lines) */
.single-product form.cart{
  margin-top: 12px !important;
  padding-top: 14px !important;
  border-top: 0 !important;
}
.single-product div.product .summary hr,
.single-product .product_meta{
  border: 0 !important;
  box-shadow: none !important;
}

/* qty */
.single-product .quantity .qty{
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.92) !important;
  height: 44px !important;
  padding: 0 12px !important;
  font-weight: 700 !important;
}

/* add to cart button */
.single-product .single_add_to_cart_button{
  background: var(--v-text) !important;
  border: 0 !important;
  color: #fff !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  box-shadow: 0 18px 34px rgba(0,0,0,.18) !important;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.single-product .single_add_to_cart_button:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 42px rgba(0,0,0,.22) !important;
  opacity: .95;
}

/* swatches (product page) — ring highlight */
.single-product .summary .vcs-swatches{ background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.single-product .summary .vcs-swatch{
  border: 1px solid rgba(0,0,0,.16) !important;
  outline: none !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.12) !important;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  position: relative;
}
.single-product .summary .vcs-swatch:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(0,0,0,.16), 0 0 0 3px rgba(11,18,32,.18) !important;
}
.single-product .summary .vcs-swatch:focus,
.single-product .summary .vcs-swatch:focus-visible{
  box-shadow: 0 16px 34px rgba(0,0,0,.16), 0 0 0 3px rgba(11,18,32,.22) !important;
}
.single-product .summary .vcs-swatch.is-active,
.single-product .summary .vcs-swatch.selected,
.single-product .summary .vcs-swatch[aria-pressed="true"],
.single-product .summary .vcs-swatch[aria-checked="true"]{
  box-shadow: 0 18px 38px rgba(0,0,0,.18), 0 0 0 2px #ffffff, 0 0 0 4px rgba(11,18,32,.85) !important;
}
.single-product .summary .vcs-tooltip{
  background: rgba(11,18,32,.92) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.22) !important;
}

/* tabs: remove blue/underline + pills */
.single-product .woocommerce-tabs{ margin-top: 26px !important; }
.single-product .woocommerce-tabs ul.tabs:before{ display:none !important; content:none !important; border:0 !important; }
.single-product .woocommerce-tabs ul.tabs{ border:0 !important; box-shadow:none !important; padding:0 !important; margin:0 0 14px !important; display:flex !important; gap:10px !important; flex-wrap:wrap !important; }
.single-product .woocommerce-tabs ul.tabs li{ border:0 !important; background:transparent !important; padding:0 !important; margin:0 !important; }
.single-product .woocommerce-tabs ul.tabs li a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height: 40px;
  padding: 0 14px !important;
  border-radius: 999px !important;
  background: var(--v-soft) !important;
  color: var(--v-text) !important;
  font-weight: 800 !important;
  text-decoration:none !important;
  box-shadow: none !important;
}
.single-product .woocommerce-tabs ul.tabs li.active a{
  background: var(--v-text) !important;
  color: #fff !important;
}
.single-product .woocommerce-tabs .panel{
  background: rgba(255,255,255,.80);
  border: 0 !important;
  border-radius: var(--v-radius) !important;
  box-shadow: var(--v-shadow-soft) !important;
  padding: 18px 18px !important;
  outline: 1px solid rgba(0,0,0,.06);
  outline-offset: -1px;
}

/* Related products: 2 per row */
.single-product .related.products{ margin-top: 26px !important; }
.single-product .related ul.products{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.single-product .related ul.products > li.product{
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  background: #fff !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.10) !important;
  padding: 12px !important;
}
.single-product .related ul.products > li.product a img{
  border-radius: 14px !important;
  margin: 0 0 10px !important;
}
.single-product .related ul.products > li.product .button{ display:none !important; }
@media (max-width: 520px){
  .single-product .related ul.products{ grid-template-columns: 1fr !important; }
}

/* =========================================================
   VOLTUM: Нагревательные маты — “площади” в выдаче
   (term: nagrevatelnye-maty)
   ========================================================= */

body.tax-product_cat.term-nagrevatelnye-maty .vcs-archive-swatches,
body.tax-product_cat.term-nagrevatelnye-maty .vcs-loop-swatches,
body.tax-product_cat.term-nagrevatelnye-maty .vcs-swatches,
body.tax-product_cat.term-nagrevatelnye-maty .vcs-swatches-wrap{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

body.tax-product_cat.term-nagrevatelnye-maty .vcs-swatches-label,
body.tax-product_cat.term-nagrevatelnye-maty .vcs-label,
body.tax-product_cat.term-nagrevatelnye-maty .vcs-loop-label,
body.tax-product_cat.term-nagrevatelnye-maty .vcs-title{
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

/* container of circles */
body.tax-product_cat.term-nagrevatelnye-maty .vcs-loop-swatches,
body.tax-product_cat.term-nagrevatelnye-maty .vcs-swatches,
body.tax-product_cat.term-nagrevatelnye-maty .vcs-swatch-list,
body.tax-product_cat.term-nagrevatelnye-maty .vcs-loop-swatch-wrap{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  max-width: 380px !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  text-align: left !important;
}

/* circle button + perfect centering */
body.tax-product_cat.term-nagrevatelnye-maty button.vcs-loop-swatch.vm-area-swatch{
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  position: relative !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 0 !important; /* убираем влияние текста кнопки */
  box-shadow: none !important;
}

/* centered number */
body.tax-product_cat.term-nagrevatelnye-maty button.vcs-loop-swatch.vm-area-swatch .vm-area-num{
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  pointer-events: none !important;
  color: #111 !important;
}

/* disable tooltip */
body.tax-product_cat.term-nagrevatelnye-maty button.vcs-loop-swatch.vm-area-swatch .vcs-tooltip{
  display: none !important;
}

/* hover/active = black bg + white text */
body.tax-product_cat.term-nagrevatelnye-maty button.vcs-loop-swatch.vm-area-swatch:hover,
body.tax-product_cat.term-nagrevatelnye-maty button.vcs-loop-swatch.vm-area-swatch[aria-pressed="true"],
body.tax-product_cat.term-nagrevatelnye-maty button.vcs-loop-swatch.vm-area-swatch.is-selected,
body.tax-product_cat.term-nagrevatelnye-maty button.vcs-loop-swatch.vm-area-swatch.active{
  background: #111 !important;
  border-color: #111 !important;
}
body.tax-product_cat.term-nagrevatelnye-maty button.vcs-loop-swatch.vm-area-swatch:hover .vm-area-num,
body.tax-product_cat.term-nagrevatelnye-maty button.vcs-loop-swatch.vm-area-swatch[aria-pressed="true"] .vm-area-num,
body.tax-product_cat.term-nagrevatelnye-maty button.vcs-loop-swatch.vm-area-swatch.is-selected .vm-area-num,
body.tax-product_cat.term-nagrevatelnye-maty button.vcs-loop-swatch.vm-area-swatch.active .vm-area-num{
  color: #fff !important;
}

/* mats: product page swatches hover */
body.single-product .product_cat-nagrevatelnye-maty button.vcs-swatch,
body.single-product .product_cat-nagrevatelnye-maty button.vcs-swatch .vm-area-num{
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
body.single-product .product_cat-nagrevatelnye-maty button.vcs-swatch:hover,
body.single-product .product_cat-nagrevatelnye-maty button.vcs-swatch[aria-pressed="true"],
body.single-product .product_cat-nagrevatelnye-maty button.vcs-swatch.is-selected,
body.single-product .product_cat-nagrevatelnye-maty button.vcs-swatch.active{
  background: #111 !important;
  border-color: #111 !important;
}
body.single-product .product_cat-nagrevatelnye-maty button.vcs-swatch:hover .vm-area-num,
body.single-product .product_cat-nagrevatelnye-maty button.vcs-swatch[aria-pressed="true"] .vm-area-num,
body.single-product .product_cat-nagrevatelnye-maty button.vcs-swatch.is-selected .vm-area-num,
body.single-product .product_cat-nagrevatelnye-maty button.vcs-swatch.active .vm-area-num{
  color: #fff !important;
}

/* =========================================================
   Badge on product image in catalog (plastic/glass)
   ========================================================= */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{ position: relative; }
.vm-frame-badge{
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 9;
  background: #111;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 10px;
  border-radius: 999px;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  letter-spacing: .2px;
  pointer-events: none;
}
/* ==============================
   CATEGORY CARDS (like products)
   - move title under image
   - show product count as black badge (like "Стекло/Пластик")
================================ */

/* Общий вид карточки категории (чтобы было как у товаров) */
.woocommerce ul.products li.product-category.product {
  position: relative;
}

.woocommerce ul.products li.product-category.product > a {
  display: flex;
  flex-direction: column;
  gap: 14px;
  text-decoration: none !important;

  background: #fff;
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.06);
}

/* Картинка категории */
.woocommerce ul.products li.product-category.product > a > img {
  display: block;
  width: 100%;
  height: auto;

  background: #f6f7f8;
  border-radius: 18px;
  padding: 10px;
}

/* Заголовок категории — УБИРАЕМ "плашку поверх фото", делаем ниже */
.woocommerce ul.products li.product-category.product .woocommerce-loop-category__title {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  text-align: left;
  font-weight: 800;
  font-size: 16px;
  line-height: 1.2;
  color: #111;
}

/* Кол-во товаров (mark.count) превращаем в бейдж как "Стекло/Пластик" */
.woocommerce ul.products li.product-category.product .woocommerce-loop-category__title .count {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 3;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #111 !important;
  color: #fff !important;
  border-radius: 999px;
  padding: 6px 10px;

  font-size: 12px;
  font-weight: 800;
  line-height: 1;

  /* убираем дефолтные стили mark */
  border: 0 !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}

/* На всякий случай: убираем серую подложку у mark в Astra */
.woocommerce ul.products li.product-category.product mark,
.woocommerce ul.products li.product-category.product mark.count {
  background: transparent;
}
/* 1) Бейдж количества — строго черный, без прозрачности/blur */
.woocommerce ul.products li.product-category.product .woocommerce-loop-category__title .count{
  background: #111 !important;
  color: #fff !important;

  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;

  border: 0 !important;
}

/* На всякий: если вдруг у тебя где-то задано opacity на самом mark */
.woocommerce ul.products li.product-category.product mark.count{
  background: #111 !important;
  color: #fff !important;
  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;
}

/* 2) Категории по центру (сама сетка) */
.woocommerce-page ul.products,
.woocommerce ul.products{
  display: flex;
  flex-wrap: wrap;
  justify-content: center !important;
}

/* Чтобы карточки не “липли” к левому краю из-за margin’ов темы */
.woocommerce ul.products li.product,
.woocommerce ul.products li.product-category{
  float: none !important;
  margin-left: 12px !important;
  margin-right: 12px !important;
}

/* Если ты имел в виду текст (название категории) тоже по центру */
.woocommerce ul.products li.product-category.product .woocommerce-loop-category__title{
  text-align: center !important;
}
