/* Shared catalog/post-search controls. Result cards retain their own owners. */
body :is(.storefront-append-pagination, .storefront-search-pagination).pagination {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin: 40px 0 70px;
  color: #232323;
  font: 400 13px/22px Montserrat, Arial, sans-serif;
  letter-spacing: .02em;
  text-align: center;
}
body :is(.storefront-append-pagination, .storefront-search-pagination) .pagination-page-total { display: block; min-height: 32px; color: #707070; }
body.storefront-product-archive .storefront-category-catalog-scope :is(.storefront-append-pagination, .storefront-search-pagination).pagination { margin: 40px 0 70px; letter-spacing: .02em; }
body.storefront-product-archive .shop-loop-after:has(:is(.storefront-append-pagination, .storefront-search-pagination)) { margin: 0; padding: 0; }
body.storefront-product-archive .storefront-category-catalog-scope :is(.storefront-append-pagination, .storefront-search-pagination) .pagination-page-total { min-height: 32px; }
body :is(.storefront-append-pagination, .storefront-search-pagination) .pagination-total-progress {
  display: block;
  width: 190px;
  max-width: 100%;
  height: 3px;
  margin: 7px auto 0;
  overflow: hidden;
  background: #e6e6e6;
}
body :is(.storefront-append-pagination, .storefront-search-pagination) .pagination-total-item {
  display: block;
  height: 3px;
  background: #4b6cc0;
  transition: all 1s ease;
}
body :is(.storefront-append-pagination, .storefront-search-pagination) .pagination-page-infinite { margin: 20px 0 0; }
body :is(.storefront-append-pagination, .storefront-search-pagination) .button.button--secondary {
  box-sizing: border-box;
  display: inline-block;
  vertical-align: baseline;
  position: relative;
  width: 290px;
  min-width: 290px;
  max-width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 10px 15px;
  border: 1px solid #000;
  border-radius: 0;
  background: #ffc107;
  color: #000;
  font: 700 14px/22px Montserrat, Arial, sans-serif;
  letter-spacing: .05em;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  transition: color .5s cubic-bezier(.25,.46,.45,.94), background .5s cubic-bezier(.25,.46,.45,.94), background-color .5s cubic-bezier(.25,.46,.45,.94), border .5s cubic-bezier(.25,.46,.45,.94);
}
@media (min-width: 1025px) {
body :is(.storefront-append-pagination, .storefront-search-pagination) .button.button--secondary:is(:hover,:focus) {
  border-color: #000;
  background: #000;
  color: #ffc107;
}
}
body :is(.storefront-append-pagination, .storefront-search-pagination) .button.button--secondary:focus-visible { outline: none; outline-offset: 0; }
body :is(.storefront-append-pagination, .storefront-search-pagination) .button.button--secondary.disabled { opacity: .65; cursor: default; pointer-events: none; }
body :is(.storefront-append-pagination, .storefront-search-pagination) .button.button--secondary.is-loading { font-size: 0 !important; }
body :is(.storefront-append-pagination, .storefront-search-pagination) .button.button--secondary.is-loading::before {
  content: "";
  position: absolute;
  box-sizing: border-box;
  top: 50%;
  left: 46%;
  width: 20px;
  height: 20px;
  margin: 0;
  transform: translate(-50%, -50%);
  border: 2px solid;
  border-color: #fc0 #4dd4c6 #f00 #f6f6f6;
  border-radius: 50%;
  animation: storefront-pagination-spin 1.4s linear infinite;
}
body :is(.storefront-append-pagination, .storefront-search-pagination) .button.button--secondary::after { content: none; }
@keyframes storefront-pagination-spin {
  from { transform: translateY(-50%) rotate(0deg); }
  to { transform: translateY(-50%) rotate(360deg); }
}
@media (min-width: 990px) {
  body :is(.storefront-append-pagination, .storefront-search-pagination).pagination { margin: 50px 0 80px; }
  body.storefront-product-archive .storefront-category-catalog-scope :is(.storefront-append-pagination, .storefront-search-pagination).pagination { margin: 50px 0 80px; }
}
@media (max-width: 551px) {
  body :is(.storefront-append-pagination, .storefront-search-pagination) .button.button--secondary { padding: 7px 15px; }
}
