.woocommerce .cb-shop,
.cb-shop {
  max-width: 1440px;
  margin: 0 auto;
  padding: 28px 40px 80px;
}

.cb-crumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #8f8f8f;
  margin-bottom: 14px;
}

.cb-crumbs a {
  color: #8f8f8f;
}

.cb-shop__title {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -1.1px;
  margin: 0 0 10px;
}

.cb-shop__desc {
  font-size: 15px;
  color: #8f8f8f;
  line-height: 1.55;
  max-width: 720px;
  margin: 0 0 24px;
}

.cb-shop__layout {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

.cb-shop__sidebar {
  flex: 0 0 236px;
  position: sticky;
  top: 180px;
}

.cb-shop__side-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #8f8f8f;
  margin-bottom: 12px;
}

.cb-shop__side-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 28px;
  list-style: none;
  padding: 0;
}

.cb-shop__side-list a,
.cb-shop__side-list button {
  font-size: 15px;
  font-weight: 500;
  color: #5c5b5a;
  padding: 9px 12px;
  border-radius: 8px;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
  display: block;
  width: 100%;
}

.cb-shop__side-list a:hover,
.cb-shop__side-list a.is-active,
.cb-shop__side-list button:hover {
  background: #f6f6f6;
  color: #21201f;
}

.cb-shop__side-list a.is-active {
  font-weight: 700;
  color: #21201f;
}

.cb-shop__main {
  flex: 1;
  min-width: 0;
}

.cb-shop__count {
  font-size: 14px;
  color: #8f8f8f;
  margin-bottom: 16px;
}

.cb-shop__grid,
ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

ul.products::before,
ul.products::after {
  display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto;
  margin: 0;
  float: none;
}

.cb-product {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

.cb-product__thumbs {
  flex: 0 0 96px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cb-product__thumb {
  width: 96px;
  aspect-ratio: 3 / 4;
  border-radius: 10px;
  background: #f6f6f6 center / cover no-repeat;
  box-shadow: 0 0 0 2px transparent;
}

.cb-product__thumb.is-active {
  box-shadow: 0 0 0 2px #21201f;
}

.cb-product__main-img {
  flex: 0 0 460px;
}

.cb-product__main-img div,
.cb-product__gallery img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 14px;
  background: #f6f6f6;
}

.cb-product__info {
  flex: 1;
  min-width: 0;
}

.cb-product__name {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.6px;
  margin: 0 0 10px;
}

.cb-product__rating {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 17px;
  color: #8f8f8f;
  margin-bottom: 24px;
}

.cb-specs {
  border: 1px solid #ececec;
  border-radius: 12px;
  padding: 2px 18px;
  margin-bottom: 24px;
}

.cb-spec {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid #ececec;
}

.cb-spec:last-child {
  border-bottom: none;
}

.cb-spec dt {
  font-size: 13px;
  color: #8f8f8f;
  margin: 0;
}

.cb-spec dd {
  font-size: 14px;
  font-weight: 600;
  text-align: right;
  margin: 0;
}

.cb-product__buy {
  flex: 0 0 300px;
  position: sticky;
  top: 120px;
  border: 1px solid #ececec;
  border-radius: 14px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cb-product__price {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -1px;
}

.cb-product__old {
  font-size: 16px;
  color: #b3b2b1;
  text-decoration: line-through;
  margin-left: 10px;
}

.cb-product__cta {
  background: #21201f;
  color: #fff;
  border-radius: 10px;
  text-align: center;
  padding: 19px 0;
  font-size: 16px;
  font-weight: 600;
  border: 0;
  width: 100%;
  cursor: pointer;
}

.cb-product__cta:hover {
  background: #3a3938;
  color: #fff;
}

.cb-product__fav {
  border: 1px solid #ececec;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 14px 0;
  font-size: 14px;
  font-weight: 600;
  background: #fff;
  cursor: pointer;
}

.cb-product__note {
  font-size: 13px;
  line-height: 1.45;
  color: #40403f;
  display: flex;
  gap: 9px;
  padding-top: 14px;
  border-top: 1px solid #f0efee;
}

.cb-cart-layout {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

.cb-cart-layout__list {
  flex: 1;
  min-width: 0;
}

.cb-cart-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 12px;
  border-bottom: 1px solid #ececec;
  margin-bottom: 4px;
  font-size: 14px;
}

.cb-cart-item {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 20px 0;
  border-bottom: 1px solid #f0efee;
}

.cb-cart-item__img,
.cb-cart-item img {
  width: 110px;
  aspect-ratio: 3 / 4;
  border-radius: 10px;
  background: #f6f6f6 center / cover no-repeat;
  flex-shrink: 0;
  object-fit: cover;
}

.cb-cart-item__name {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  display: block;
  margin-bottom: 6px;
}

.cb-cart-item__sku {
  font-size: 12px;
  color: #8f8f8f;
  margin-bottom: 12px;
}

.cb-qty {
  display: flex;
  align-items: center;
  border: 1px solid #ececec;
  border-radius: 8px;
}

.cb-qty button,
.cb-qty .quantity input {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  background: none;
  border: 0;
  cursor: pointer;
}

.cb-cart-item__sum {
  flex-shrink: 0;
  text-align: right;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.cb-summary {
  flex: 0 0 360px;
  position: sticky;
  top: 180px;
  border: 1px solid #ececec;
  border-radius: 14px;
  padding: 24px;
}

.cb-summary h2 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.4px;
  margin: 0 0 18px;
}

.cb-summary__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 10px;
  font-size: 14px;
}

.cb-summary__row span:first-child {
  color: #8f8f8f;
}

.cb-summary__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 16px 0 20px;
  padding-top: 16px;
  border-top: 1px solid #f0efee;
}

.cb-summary__total strong {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.7px;
}

.cb-summary__pay {
  display: block;
  background: #1fc25c;
  color: #fff;
  border-radius: 10px;
  text-align: center;
  padding: 17px 0;
  font-size: 15px;
  font-weight: 600;
}

.cb-summary__pay:hover {
  background: #19a94f;
  color: #fff;
}

.cb-empty {
  padding: 56px 40px;
  text-align: center;
}

.cb-empty img {
  width: 52px;
  height: 52px;
  opacity: 0.25;
  margin-bottom: 16px;
}

.cb-empty h1 {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 8px;
}

.cb-empty p {
  font-size: 15px;
  color: #8f8f8f;
  max-width: 420px;
  margin: 0 auto 24px;
}

.cb-checkout {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

.cb-checkout__main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cb-box {
  border: 1px solid #ececec;
  border-radius: 14px;
  padding: 24px;
}

.cb-box h2 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.4px;
  margin: 0 0 16px;
}

.cb-pay-methods {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.cb-pay-method {
  width: 150px;
  height: 88px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 0 0 1.5px rgba(33, 32, 31, 0.12);
  padding: 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
}

.cb-pay-method.is-active {
  box-shadow: 0 0 0 1.5px #21201f;
}

.cb-pay-method--sbp {
  align-items: center;
  justify-content: center;
}

.cb-pay-method--ozon {
  background: #005bff;
  color: #fff;
}

.cb-pay-method--yapay {
  background: #ffdd2d;
}

.cb-promo {
  display: flex;
  gap: 8px;
  max-width: 460px;
}

.cb-promo input,
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea {
  flex: 1;
  min-width: 0;
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 10px;
  padding: 14px;
  font-size: 15px;
  color: #21201f;
  outline: none;
}

.cb-promo button,
.woocommerce-checkout #place_order {
  background: #21201f;
  color: #fff;
  border-radius: 10px;
  padding: 14px 22px;
  font-size: 15px;
  font-weight: 600;
  border: 0;
  cursor: pointer;
}

.cb-account {
  max-width: 960px;
  margin: 0 auto;
  padding: 40px;
}

.cb-account h1 {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -1.1px;
}

.woocommerce-MyAccount-navigation ul {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}

.woocommerce-MyAccount-navigation a {
  display: block;
  background: #f6f6f6;
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
}

.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover {
  background: #21201f;
  color: #fff;
}

.cb-page-plain {
  max-width: 860px;
  margin: 0 auto;
  padding: 40px 40px 80px;
}

.cb-page-plain h1 {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -1.1px;
}

.cb-error {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 24px;
}

.cb-error h1 {
  font-size: 72px;
  font-weight: 800;
  margin: 0 0 12px;
}

@media (max-width: 1179px) {
  .cb-shop,
  .woocommerce .cb-shop {
    padding: 16px 16px 48px;
  }

  .cb-shop__layout,
  .cb-product,
  .cb-cart-layout,
  .cb-checkout {
    flex-direction: column;
  }

  .cb-shop__sidebar,
  .cb-product__buy,
  .cb-summary,
  .cb-product__thumbs {
    position: static;
    flex: none;
    width: 100%;
  }

  .cb-shop__grid,
  ul.products {
    grid-template-columns: 1fr 1fr;
  }

  .cb-product__main-img {
    flex: none;
    width: 100%;
  }

  .cb-shop__title,
  .cb-account h1,
  .cb-page-plain h1 {
    font-size: 28px;
  }
}
