/* 3Grafik Catalog v4: compact centered premium cards for product archives only. */
html body.tg3-catalog-v4 :is(.row.grid, ul.products, .products):has(> .tg3-catalog__item) {
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:24px !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  align-items:stretch !important;
}
html body.tg3-catalog-v4 .tg3-catalog__item,
html body.tg3-catalog-v4 .products .tg3-catalog__item {
  display:block !important;
  float:none !important;
  clear:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  min-width:0 !important;
}
html body.tg3-catalog-v4 .tg3-catalog__card {
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #F2DCE8 !important;
  border-radius:20px !important;
  box-shadow:0 6px 18px rgba(38, 20, 31, 0.04) !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}
html body.tg3-catalog-v4 .tg3-catalog__card:hover {
  transform:translateY(-3px) !important;
  box-shadow:0 12px 30px rgba(38, 20, 31, 0.10) !important;
}
html body.tg3-catalog-v4 .tg3-catalog__media {
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:330px !important;
  overflow:hidden !important;
  background:#FFF6FB !important;
  text-decoration:none !important;
}
html body.tg3-catalog-v4 .tg3-catalog__media img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  border:0 !important;
  margin:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
html body.tg3-catalog-v4 .tg3-catalog__placeholder {
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
  height:100% !important;
  color:#8D7190 !important;
  background:#FFF2FA !important;
  text-align:center !important;
}
html body.tg3-catalog-v4 .tg3-catalog__placeholder > span {font-size:32px !important;color:#FE87BD !important}
html body.tg3-catalog-v4 .tg3-catalog__placeholder small {font-size:12px !important}
html body.tg3-catalog-v4 .tg3-catalog__sale {
  position:absolute !important;
  top:14px !important;
  left:14px !important;
  z-index:3 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:42px !important;
  padding:8px 11px !important;
  border-radius:99px !important;
  background:#171518 !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:700 !important;
}
html body.tg3-catalog-v4 .tg3-catalog__info {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  padding:16px 16px 18px !important;
  gap:10px !important;
  flex:1 1 auto !important;
}
html body.tg3-catalog-v4 .tg3-catalog__name {
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  line-clamp:2 !important;
  overflow:hidden !important;
  min-height:46px !important;
  max-height:46px !important;
  margin:0 !important;
  color:#1D1B21 !important;
  text-decoration:none !important;
  font-weight:700 !important;
  font-size:15px !important;
  line-height:1.45 !important;
}
html body.tg3-catalog-v4 .tg3-catalog__price {
  min-height:24px !important;
  margin:0 !important;
  text-align:center !important;
  color:#E84B90 !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
html body.tg3-catalog-v4 .tg3-catalog__price :is(.amount, bdi, ins) {
  color:#E84B90 !important;
  font-size:inherit !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
html body.tg3-catalog-v4 .tg3-catalog__price del,
html body.tg3-catalog-v4 .tg3-catalog__price del :is(.amount, bdi) {
  color:#B4AAB3 !important;
  font-size:13px !important;
  font-weight:500 !important;
  text-decoration:line-through !important;
}
html body.tg3-catalog-v4 .tg3-catalog__action {
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin-top:auto !important;
}
html body.tg3-catalog-v4 .tg3-catalog__action a,
html body.tg3-catalog-v4 .tg3-catalog__action button,
html body.tg3-catalog-v4 .tg3-catalog__action .button,
html body.tg3-catalog-v4 .tg3-catalog__action .add_to_cart_button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:170px !important;
  min-height:42px !important;
  padding:11px 18px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#E84B90 !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:none !important;
  white-space:nowrap !important;
  margin:0 auto !important;
  text-transform:none !important;
}
html body.tg3-catalog-v4 .tg3-catalog__action a:hover,
html body.tg3-catalog-v4 .tg3-catalog__action button:hover,
html body.tg3-catalog-v4 .tg3-catalog__action .button:hover,
html body.tg3-catalog-v4 .tg3-catalog__action .add_to_cart_button:hover {
  background:#D83D82 !important;
  color:#fff !important;
}
html body.tg3-catalog-v4 .tg3-catalog__action .added_to_cart {
  margin-top:8px !important;
  background:transparent !important;
  color:#765B77 !important;
  min-width:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
/* Hide legacy per-item wrappers that break harmony, but keep product cards visible */
html body.tg3-catalog-v4 .product-block .button-groups,
html body.tg3-catalog-v4 .product-block .add-cart,
html body.tg3-catalog-v4 .product-block .product-btn,
html body.tg3-catalog-v4 .product-block .product-actions,
html body.tg3-catalog-v4 .product-block .caption .groups-button,
html body.tg3-catalog-v4 .product-block .product-content-bottom {
  display:none !important;
}
@media (max-width: 1199px) {
  html body.tg3-catalog-v4 :is(.row.grid, ul.products, .products):has(> .tg3-catalog__item) {
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:20px !important;
  }
  html body.tg3-catalog-v4 .tg3-catalog__media {height:300px !important;}
}
@media (max-width: 991px) {
  html body.tg3-catalog-v4 :is(.row.grid, ul.products, .products):has(> .tg3-catalog__item) {
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:16px !important;
  }
  html body.tg3-catalog-v4 .tg3-catalog__media {height:260px !important;}
}
@media (max-width: 580px) {
  html body.tg3-catalog-v4 :is(.row.grid, ul.products, .products):has(> .tg3-catalog__item) {
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:12px !important;
  }
  html body.tg3-catalog-v4 .tg3-catalog__media {height:180px !important;}
  html body.tg3-catalog-v4 .tg3-catalog__info {padding:12px 10px 14px !important;gap:8px !important;}
  html body.tg3-catalog-v4 .tg3-catalog__name {font-size:13px !important;min-height:38px !important;max-height:38px !important;}
  html body.tg3-catalog-v4 .tg3-catalog__price {font-size:16px !important;}
  html body.tg3-catalog-v4 .tg3-catalog__action a,
  html body.tg3-catalog-v4 .tg3-catalog__action button,
  html body.tg3-catalog-v4 .tg3-catalog__action .button,
  html body.tg3-catalog-v4 .tg3-catalog__action .add_to_cart_button {min-width:132px !important;min-height:38px !important;font-size:12px !important;padding:10px 14px !important;}
}
@media (max-width: 365px) {
  html body.tg3-catalog-v4 :is(.row.grid, ul.products, .products):has(> .tg3-catalog__item) {grid-template-columns:minmax(0,1fr) !important;}
}
