.catalog-title {
  color: #3ABEFF;
  font-weight: 700;
  font-size: 2.1rem;
  text-align: center;
  letter-spacing: 0.5px;
  background: #e3f4fd;
  border-radius: 12px;
  padding: 1.1rem 0.5rem 1rem 0.5rem;
  margin-bottom: 2.2rem !important;
  box-shadow: 0 2px 12px 0 rgba(34,46,80,0.08);
}
@media (max-width: 600px) {
  .catalog-title {
    font-size: 1.25rem;
    padding: 0.7rem 0.2rem 0.7rem 0.2rem;
    border-radius: 8px;
    margin-bottom: 1.2rem !important;
  }
}
/* --- Стили для пагинации (перенесены из product_list.html) --- */

.pagination {
  --bs-pagination-bg: #fff;
  --bs-pagination-border-radius: 18px;
  --bs-pagination-color: #3ABEFF;
  --bs-pagination-hover-bg: #e3f4fd;
  --bs-pagination-active-bg: #3ABEFF;
  --bs-pagination-active-color: #fff;
}
.pagination .page-link {
  border-radius: 18px;
  color: #3ABEFF;
  border: 1.5px solid #3ABEFF;
  background: #fff;
  font-weight: 600;
  transition: background 0.18s, color 0.18s, border-color 0.18s;
}
.pagination .page-link:hover, .pagination .page-link:focus {
  background: #e3f4fd;
  color: #232A45;
  border-color: #3ABEFF;
}
.pagination .page-item.active .page-link {
  background: #3ABEFF;
  color: #fff;
  border: 1.5px solid #3ABEFF;
  font-weight: 700;
}
.pagination .page-item.disabled .page-link {
  color: #bbb;
  border: 1.5px solid #eee;
  background: #fff;
}
.product-price-block {
  margin-bottom: 0.5rem;
  text-align: left;
}
.product-price-block .new-price {
  font-size: 1.5rem;
  color: #e53935;
  font-weight: 800;
  line-height: 1.1;
}
.product-price-block .old-price {
  font-size: 0.92rem;
  color: #888;
  text-decoration: line-through;
  margin-top: 0.1rem;
}
.product-price-block .badge {
  font-size: 0.93em;
  font-weight: 700;
  min-width: 44px;
  text-align: center;
}
.product-price-block .price-labels {
  font-size: 0.82rem;
  color: #888;
  margin-bottom: 0.1rem;
  margin-left: 2px;
}
.product-price-block .label-new {
  font-weight: 500;
}
.product-price-block .label-old {
  font-weight: 400;
}
/* --- Модальное окно товара --- */
.product-modal-content {
  padding: 1.5rem;
}
.product-modal-img {
  max-width: 100%;
  border-radius: 8px;
  box-shadow: 0 2px 8px 0 rgba(0,0,0,0.08);
  margin-bottom: 1.2rem;
}
.product-modal-title {
  font-weight: 700;
  font-size: 1.3rem;
  margin-bottom: 0.7rem;
}
.product-modal-category {
  font-size: 1.02rem;
}
.product-modal-desc {
  font-size: 1.08rem;
}
.product-modal-price {
  font-size: 1.15rem;
  font-weight: 600;
}
.card.product-card .card-body {
    padding: 0.7rem 1rem 0.9rem 1rem;
}

/* Карточка товара без скругления */
.card.product-card {
  border-radius: 0 !important;
  box-shadow: 0 2px 12px 0 rgba(34,46,80,0.08);
  border: 1.5px solid #e3f4fd;
  background: #fff;
  transition: box-shadow 0.18s, transform 0.18s;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.card.product-card:hover {
  box-shadow: 0 6px 24px 0 rgba(58,190,255,0.18);
  transform: translateY(-2px) scale(1.02);
  border-color: #3ABEFF;
}

/* Изображение карточки без скругления */
.card.product-card .card-img-top {
  border-radius: 0 !important;
  object-fit: cover;
  height: 120px;
  min-height: 120px;
  max-height: 120px;
  background: #e3f4fd;
}
/* Блок "Нет фото" без скругления */
.card.product-card .no-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  min-height: 120px;
  max-height: 120px;
  background: #3ABEFF;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 600;
  border-radius: 0 !important;
  letter-spacing: 0.5px;
}
.card.product-card .card-title {
  font-size: 1.13rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #3ABEFF;
  text-align: center;
}
.card.product-card .card-text {
  font-size: 1rem;
  color: #232A45;
  text-align: center;
}

/* Кнопка корзины без скругления */
.product-cart-btn {
  display: block;
  width: 100% !important;
  background: #3ABEFF !important;
  color: #fff !important;
  border: none !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px #3abeff33;
  border-radius: 0 !important;
  font-size: 1.08rem !important;
  padding: 10px 0 !important;
  transition: background .18s, color .18s, box-shadow .18s;
  outline: none;
}
.product-cart-btn:hover, .product-cart-btn:focus {
  background: #232A45 !important;
  color: #fff !important;
  box-shadow: 0 4px 16px #3abeff55;
}