.cb-pg { }
.cb-pg__head { display:flex; align-items:center; justify-content:space-between; margin-bottom: 12px; }
.cb-pg__title { margin: 0; }

.cb-pg__grid {
  display: grid;
  grid-template-columns: repeat(var(--cb-cols, 6), minmax(0, 1fr));
  gap: 12px;
}

/* wrappers only, nu atingem .product-miniature etc */
.cb-pg__item { min-width: 0; }

/* responsive */
@media (max-width: 1199px) { .cb-pg__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 991px)  { .cb-pg__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 575px)  { .cb-pg__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.cb-pg__more { margin-top: 24px; text-align: center; }
.cb-pg__loading { margin-top: 16px; color: #666; font-size: 14px; }

.cb-pg__btn {
    background: linear-gradient(to right, #4a60c1 10%, #6921E4);
    color: #fefefe;
    border: none;
    padding: 12px 40px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.cb-pg__btn:hover {
    background: linear-gradient(to right, #5a70d1 10%, #7931F4);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(105, 33, 228, 0.3);
    color: #fefefe;
}

.cb-pg__btn:disabled,
.cb-pg__btn.is-loading {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}
.cb-pg__sentinel {
  width: 100%;
  height: 1px;
}

/* Category navigation slider inside product grid */
.cb-pg__catnav {
  margin-bottom: 20px;
}

.cb-pg__catbtn {
  background: none;
  border: none;
  outline: none;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
}

.cb-pg__catbtn:focus,
.cb-pg__catbtn:active {
  border: none;
  outline: none;
  box-shadow: none;
}

.cb-pg__catbtn.is-active .cb-subcat-img {
  box-shadow: 0 0 0 2px #8b2fe5;
  border-radius: 50%;
}

.cb-pg__catbtn.is-active .cb-subcat-name {
  color: #8b2fe5;
  font-weight: 600;
}

.cb-subcat-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  text-align: center;
  max-width: 100%;
}