.vubs-catalogue-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 14px;
}
.vubs-books-total { margin: 0; color: #20364e; font-size: 14px; font-weight: 700; white-space: nowrap; }
.vubs-catalogue-toolbar form.woocommerce-ordering { float: none; min-width: 0; margin: 0 !important; }
.vubs-catalogue-toolbar select.orderby {
  appearance: none;
  max-width: min(100%, 52vw);
  height: 34px;
  min-height: 34px;
  padding: 0 27px 0 10px;
  border: 1px solid #cbd9e8;
  border-radius: 7px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%2320364e' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 8px center;
  color: #20364e;
  font-size: 13px;
}
.vubs-catalogue-pagination[hidden], .vubs-catalogue-load [hidden] { display: none !important; }
.vubs-catalogue-load { clear: both; min-height: 1px; text-align: center; }
.vubs-catalogue-load p { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 12px 0; }
.vubs-catalogue-load p:empty { display: none; }
.vubs-catalogue-load.is-loading p::before {
  content: "";
  width: 16px;
  height: 16px;
  border: 2px solid #dbe7f4;
  border-top-color: #0a4a8f;
  border-right-color: #d98a06;
  border-radius: 50%;
  animation: vubs-catalogue-spin .75s linear infinite;
}
@keyframes vubs-catalogue-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .vubs-catalogue-load.is-loading p::before { animation: none; } }

body.post-type-archive-product .woocommerce-products-header__title {
  position: relative;
  margin: 30px 0 40px !important;
  padding: 0 20px 18px !important;
  color: #0a4a8f;
  font: 800 2.5rem/1.25 "Sora", "Rubik", sans-serif !important;
  text-align: center;
}
body.post-type-archive-product .woocommerce-products-header__title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100px;
  height: 4px;
  border-radius: 4px;
  background: #d98a06;
  box-shadow: 0 2px 8px rgba(217, 138, 6, .35);
  content: "";
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  body.post-type-archive-product .woocommerce-products-header__title { margin: 20px 0 30px !important; font-size: 1.9rem !important; }
}
