/* Catálogo e cartões de produto, ajustados à proposta Charcutaria Brito. */
@font-face {
  font-family: AleoBritoCatalogue;
  src: url('../../../trgbritoslider/views/fonts/Aleo-Bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

/* Impede que o conteúdo intrínseco das grelhas aumente a largura da página. */
.page-category #wrapper,
.page-category main,
.page-category .columns-container,
.page-category .columns-container > .row,
.page-category #left-column,
.page-category #center-column,
.page-category .products,
.page-category .products__selection,
.page-category .products__sort,
.page-category .products__sort-dropdown {
  min-width: 0;
  max-width: 100%;
}

.page-category .products__sort-dropdown-button {
  max-width: 100%;
}

@media (min-width: 992px) {
  .page-category .columns-container.container {
    width: min(1472px, calc(100% - 48px));
    max-width: none;
    margin-inline: auto;
    padding-top: 78px;
    padding-bottom: 120px;
  }

  .page-category .columns-container > .row {
    display: grid;
    grid-template-columns: 325px minmax(0, 1fr);
    width: 100%;
    gap: 36px;
    margin: 0;
  }

  .page-category #left-column,
  .page-category #center-column {
    width: auto;
    max-width: none;
    padding: 0;
  }
}

.page-category #left-column {
  color: #402713;
}

.page-category .brito-filter-heading {
  margin: 0 0 38px;
  color: #402713;
  font: 700 25px/1.2 AleoBritoCatalogue, Georgia, serif;
  text-transform: none;
}

.page-category .brito-filter-section-title,
.page-category #search-filters .accordion-button {
  position: relative;
  margin: 0 0 25px;
  padding: 0 0 18px;
  color: #402713;
  font: 700 19px/1.25 AleoBritoCatalogue, Georgia, serif;
  text-transform: none;
}

.page-category #search-filters .accordion-button {
  width: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
}

.page-category #search-filters .accordion-button::after {
  display: none;
}

.page-category .brito-filter-section-title::before,
.page-category #search-filters .accordion-button::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: #e5e1dc;
  content: '';
}

.page-category .brito-filter-section-title::after,
.page-category #search-filters .accordion-button::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 2px;
  background: #e8a000;
  content: '';
}

.page-category #search-filters .accordion-button::after {
  display: block;
  right: auto;
  margin: 0;
  background-image: none !important;
  transform: none !important;
  transition: none;
}

.page-category .category-tree {
  margin: 0 0 45px;
}

.page-category .category-tree > ul,
.page-category .category-tree ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-category .category-tree > .left-block__title {
  display: none;
}

.page-category .category-tree li {
  margin: 0 0 12px;
}

.page-category .category-tree a {
  color: #6e655d;
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
}

.page-category .category-tree a:hover,
.page-category .category-tree a:focus-visible {
  color: #b45f00;
}

.page-category #search-filters .accordion-item {
  margin: 0 0 34px;
  padding: 0;
  border: 0;
}

.page-category #search-filters .facet > .title {
  display: none !important;
}

.page-category #search-filters .facet > .collapse {
  display: block !important;
  height: auto !important;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-category #search-filters .accordion-collapse {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
}

.page-category #search-filters .accordion-body {
  margin: 0;
  padding: 0;
}

.page-category #search-filters .facet-label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 28px;
  margin: 0 0 7px;
}

.page-category #search-filters .search-filters__form-check {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 28px;
  margin: 0 0 7px;
  padding: 0;
}

.page-category #search-filters .form-check-input {
  position: static;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  border: 1px solid #d8d2cc;
  border-radius: 3px;
  background-color: #fff;
  box-shadow: none;
}

.page-category #search-filters .form-check-input:checked {
  border-color: #d89400;
  background-color: #d89400;
}

.page-category #search-filters .search-filters__form-label {
  flex: 1 1 auto;
  margin: 0;
}

.page-category #search-filters .facet-label .custom-checkbox,
.page-category #search-filters .facet-label .custom-radio {
  position: static;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
}

.page-category #search-filters .facet-label .custom-checkbox > span,
.page-category #search-filters .facet-label .custom-radio > span {
  width: 18px;
  height: 18px;
  border: 1px solid #d8d2cc;
  border-radius: 3px;
  background: #fff;
}

.page-category #search-filters .facet-label .custom-checkbox input:checked + span,
.page-category #search-filters .facet-label .custom-radio input:checked + span {
  border-color: #d89400;
  background: #d89400;
}

.page-category #search-filters .search-link {
  display: flex;
  justify-content: space-between;
  width: 100%;
  color: #6e655d;
  font-size: 14px;
  line-height: 1.45;
  text-decoration: none;
}

.page-category #search-filters .search-filters__magnitude {
  margin-left: auto;
  padding-left: 6px;
  color: #8d857e;
}

.page-category #search-filters .search-filters__slider-values {
  margin: 0 0 18px;
  color: #6e655d;
  font-size: 14px;
}

.page-category #search-filters .noUi-target {
  height: 4px;
  margin: 10px 9px 5px;
  border: 0;
  border-radius: 0;
  background: #e8a000;
  box-shadow: none;
}

.page-category #search-filters .noUi-connect {
  background: #e8a000;
}

.page-category #search-filters .noUi-handle {
  top: -6px;
  width: 16px;
  height: 16px;
  border: 1px solid #e4dfd9;
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
}

.page-category #search-filters .noUi-handle::before,
.page-category #search-filters .noUi-handle::after {
  display: none;
}

.page-category .products__selection {
  display: grid;
  grid-template-columns: 79px minmax(0, 1fr) minmax(240px, 371px);
  gap: 28px;
  align-items: center;
  width: 100%;
  margin: 0 0 38px;
  min-height: 42px;
}

.page-category .brito-view-switcher {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-right: 24px;
  border-right: 1px solid #e5e1dc;
}

.page-category .brito-view-button {
  display: grid;
  place-items: center;
  width: 23px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #b8b5b1;
  cursor: pointer;
}

.page-category .brito-view-button .material-icons {
  font-size: 23px;
}

.page-category .brito-view-button.is-active,
.page-category .brito-view-button:hover,
.page-category .brito-view-button:focus-visible {
  color: #e39b00;
}

.page-category .products__count {
  color: #746c65;
  font-size: 14px;
}

.page-category .products__sort {
  display: grid;
  grid-template-columns: max-content minmax(0, 275px);
  gap: 12px;
  align-items: center;
  justify-content: end;
  width: 100%;
}

.page-category .products__sort-label {
  color: #746c65;
  font-size: 14px;
}

.page-category .products__sort-dropdown {
  width: 100%;
}

.page-category .products__sort-dropdown-button {
  width: 100%;
  min-height: 42px;
  padding: 8px 18px;
  border: 1px solid #e5e1dc;
  border-radius: 22px;
  background: #fff;
  color: #5f5750;
  font-size: 14px;
  box-shadow: none;
}

.page-category .products__sort-dropdown-button:hover,
.page-category .products__sort-dropdown-button:focus-visible {
  border-color: #d89400;
  background: #fff;
  color: #402713;
}

.page-category #js-product-list .products {
  column-gap: 32px;
  row-gap: 90px;
}

.page-category #js-product-list .products.brito-products-list-view {
  grid-template-columns: 1fr;
}

.page-category .brito-products-list-view .product-miniature {
  max-width: none;
}

.page-category .brito-products-list-view .product-miniature__inner {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 32px;
  align-items: center;
}

.page-category .brito-products-list-view .product-miniature__bottom,
.page-category .brito-products-list-view .product-miniature__infos {
  align-items: flex-start;
  justify-items: start;
  text-align: left;
}

.page-category .brito-products-list-view .product-miniature__prices {
  justify-content: flex-start;
}

.page-category .pagination__container {
  justify-content: center;
  margin-top: 95px;
}

.page-category .pagination__number {
  display: none;
}

.page-category .pagination {
  gap: 7px;
}

.page-category .pagination .page-link {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding: 0 13px;
  border: 0;
  border-radius: 50%;
  background: #f7f5f2;
  color: #402713;
  box-shadow: none;
}

.page-category .pagination .page-item.active .page-link {
  background: #e39b00;
  color: #fff;
}

.page-category .pagination .previous span,
.page-category .pagination .next span {
  display: none !important;
}

.page-category .pagination .page-link:not(.disabled):hover,
.page-category .pagination .page-link:not(.disabled):focus-visible {
  background: #402713;
  color: #fff;
}
.page-category .product-miniature,
.page-search .product-miniature {
  width: 100%;
  max-width: 320px;
  margin-inline: auto;
  text-align: center;
}

.page-category .product-miniature__inner,
.page-search .product-miniature__inner {
  height: 100%;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.page-category .product-miniature__top,
.page-search .product-miniature__top {
  position: relative;
  height: 320px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.page-category .product-miniature__image-container,
.page-search .product-miniature__image-container,
.page-category .product-miniature__image-link,
.page-search .product-miniature__image-link,
.page-category .product-miniature__image-container picture,
.page-search .product-miniature__image-container picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  outline: 0;
}

.page-category .product-miniature__image,
.page-search .product-miniature__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  transform: none;
}

.page-category .product-miniature:hover .product-miniature__image,
.page-search .product-miniature:hover .product-miniature__image {
  transform: none;
}

.page-category .product-miniature__bottom,
.page-search .product-miniature__bottom {
  align-items: center;
  gap: 8px;
  padding: 18px 0 0;
}

.page-category .product-miniature__infos,
.page-search .product-miniature__infos {
  justify-items: center;
  gap: 7px;
  width: 100%;
}

.page-category .brito-product-category {
  color: #999;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .02em;
  text-align: center;
  text-transform: uppercase;
}

.page-category .product-miniature__title,
.page-search .product-miniature__title {
  color: #402713;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}

.page-category .product-miniature__prices,
.page-search .product-miniature__prices {
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  width: 100%;
}

.page-category .product-miniature__price,
.page-search .product-miniature__price {
  color: #402713;
  font-size: 15px;
}

.page-category .brito-product-has-discount .product-miniature__price {
  color: #b45f00;
}

.page-category .product-miniature__regular-price,
.page-search .product-miniature__regular-price {
  color: #999;
  font-size: 12px;
}

.page-category .product-miniature__discount-price {
  order: -1;
  margin: 0;
}

.page-category .brito-product-discount-badge {
  position: static;
  display: inline-flex;
  align-items: center;
  order: 3;
  margin: 0;
  padding: 3px 5px;
  border: 0;
  border-radius: 2px;
  background: #9a5700;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.page-category .product-miniature .product-list-review,
.page-category .product-miniature .out_of_stock,
.page-search .product-miniature .product-list-review,
.page-search .product-miniature .out_of_stock {
  display: none !important;
}

.page-category .product-miniature__top,
.page-search .product-miniature__top,
.page-product .ps-categoryproducts .product-miniature__top {
  position: relative;
}

.page-category .brito-miniature-actions,
.page-search .brito-miniature-actions,
.page-product .ps-categoryproducts .brito-miniature-actions {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 9px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease;
}

.page-category .brito-miniature-actions .product-miniature__quickview-button,
.page-search .brito-miniature-actions .product-miniature__quickview-button,
.page-product .ps-categoryproducts .brito-miniature-actions .product-miniature__quickview-button,
.page-category .brito-miniature-actions .wishlist-button-add,
.page-search .brito-miniature-actions .wishlist-button-add,
.page-product .ps-categoryproducts .brito-miniature-actions .wishlist-button-add {
  position: static;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #eadfd5;
  border-radius: 50%;
  background: #fff;
  color: #4f2a0d;
  box-shadow: 0 5px 16px rgba(79, 42, 13, .12);
  opacity: 1;
  transform: none;
  transition: background .2s ease, color .2s ease;
  overflow: hidden;
  font-size: 0;
}

.page-category .brito-miniature-actions .material-icons,
.page-search .brito-miniature-actions .material-icons,
.page-product .ps-categoryproducts .brito-miniature-actions .material-icons {
  font-size: 22px;
  line-height: 1;
}

.page-category .brito-miniature-actions .product-miniature__actions,
.page-search .brito-miniature-actions .product-miniature__actions,
.page-product .ps-categoryproducts .brito-miniature-actions .product-miniature__actions {
  position: static;
  display: block !important;
  opacity: 1;
  transform: none;
}

.page-category .product-miniature__actions .quantity-button,
.page-search .product-miniature__actions .quantity-button,
.page-product .ps-categoryproducts .product-miniature__actions .quantity-button,
.page-category .product-miniature__add-text,
.page-search .product-miniature__add-text,
.page-product .ps-categoryproducts .product-miniature__add-text {
  display: none;
}

.page-category .product-miniature__actions .product-miniature__add,
.page-search .product-miniature__actions .product-miniature__add,
.page-product .ps-categoryproducts .product-miniature__actions .product-miniature__add {
  width: 42px;
  min-width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #4f2a0d;
  color: #fff;
  box-shadow: 0 5px 16px rgba(79, 42, 13, .18);
}

.page-category .product-miniature:hover .brito-miniature-actions,
.page-category .product-miniature:focus-within .brito-miniature-actions,
.page-search .product-miniature:hover .brito-miniature-actions,
.page-search .product-miniature:focus-within .brito-miniature-actions,
.page-product .ps-categoryproducts .product-miniature:hover .brito-miniature-actions,
.page-product .ps-categoryproducts .product-miniature:focus-within .brito-miniature-actions {
  opacity: 1;
  transform: translateY(0);
}

.page-category .product-miniature__quickview-button:hover,
.page-category .product-miniature .wishlist-button-add:hover,
.page-search .product-miniature__quickview-button:hover,
.page-search .product-miniature .wishlist-button-add:hover,
.page-product .ps-categoryproducts .product-miniature__quickview-button:hover,
.page-product .ps-categoryproducts .wishlist-button-add:hover {
  background: #e39b00;
  color: #fff;
  opacity: 1;
}

@media (hover: none), (max-width: 767.98px) {
  .page-category .brito-miniature-actions,
  .page-search .brito-miniature-actions,
  .page-product .ps-categoryproducts .brito-miniature-actions {
    opacity: 1;
    transform: none;
  }
}

.page-category .product-miniature .product-flags,
.page-search .product-miniature .product-flags {
  z-index: 2;
}

.page-category .product-miniature .product-flags:empty {
  display: none;
}

.page-category .product-miniature .product-flags .badge,
.page-search .product-miniature .product-flags .badge {
  border-radius: 2px;
  background: #e39b00;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
}

@media (max-width: 991.98px) {
  .page-category .columns-container.container {
    padding-top: 40px;
  }

  .page-category .products__selection {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
  }

  .page-category .brito-view-switcher,
  .page-category .products__count {
    display: none;
  }

  .page-category .products__sort-dropdown {
    width: 100%;
  }

  .page-category .product-miniature__top,
  .page-search .product-miniature__top {
    height: min(42vw, 280px);
  }
}

@media (max-width: 767.98px) {
  .page-category #left-column > .brito-filter-heading,
  .page-category #left-column > .brito-filter-section-title,
  .page-category #left-column > .category-tree {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .page-category .products__selection {
    display: flex;
    margin-bottom: 32px;
  }

  .page-category .products__sort {
    grid-template-columns: max-content minmax(0, 1fr);
    flex: 1 1 auto;
  }

  .page-category .products__sort-dropdown {
    flex: 1 1 auto;
  }

  .page-category .product-miniature__top,
  .page-search .product-miniature__top {
    height: 46vw;
    min-height: 165px;
  }

  .page-category .product-miniature__bottom,
  .page-search .product-miniature__bottom {
    padding-top: 12px;
  }
}
