/* ==========================================================================
   Shop / category pages (WooCommerce archives)
   Product cards themselves live in the sffr-elementor-blocks plugin.
   ========================================================================== */

/* Hello Elementor boxes .site-main to 1140px; use the site-wide 1320px instead. */
body.woocommerce main.site-main {
  max-width: 82.5rem;
  margin-inline: auto;
  padding: 1.5rem 1.25rem 4rem;
}

/* Breadcrumb */
body.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 1.25rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: #7b665f;
}

body.woocommerce .woocommerce-breadcrumb a {
  color: #54433D;
  text-decoration: none;
}

body.woocommerce .woocommerce-breadcrumb a:hover,
body.woocommerce .woocommerce-breadcrumb a:focus-visible {
  color: #815600;
  text-decoration: underline;
}

/* Title + description */
body.woocommerce .woocommerce-products-header {
  margin-bottom: 1.75rem;
  max-width: 50rem;
}

body.woocommerce .woocommerce-products-header__title {
  margin: 0 0 0.75rem;
  font-family: 'Quicksand', sans-serif;
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #2A170D;
}

body.woocommerce .term-description,
body.woocommerce .page-description {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #54433D;
}

body.woocommerce .term-description p {
  margin: 0;
}

/* Long descriptions collapse to three lines (JS adds the toggle; without JS the full text shows) */
body.woocommerce .term-description.is-clamped {
  position: relative;
  max-height: 5.1em;
  overflow: hidden;
}

body.woocommerce .term-description.is-clamped::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 2.2em;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #FFFFFF);
  pointer-events: none;
}

.sffr-desc-toggle {
  appearance: none;
  border: 0;
  background: none;
  margin-top: 0.5rem;
  padding: 0.25rem 0;
  font: 600 0.875rem 'Inter', sans-serif;
  color: #815600;
  border-bottom: 1.5px solid currentColor;
  cursor: pointer;
}

.sffr-desc-toggle:hover,
.sffr-desc-toggle:focus-visible {
  color: #2A170D;
}

/* Toolbar: result count left, sorting right */
.sffr-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  margin-bottom: 1.75rem;
  padding-block: 0.875rem;
  border-block: 1px solid #DAC1BA;
}

body.woocommerce .sffr-shop-toolbar .woocommerce-result-count,
body.woocommerce .sffr-shop-toolbar .woocommerce-ordering {
  float: none;
  margin: 0;
}

body.woocommerce .woocommerce-result-count {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  color: #54433D;
}

body.woocommerce .woocommerce-ordering select.orderby {
  appearance: none;
  -webkit-appearance: none;
  min-height: 2.75rem;
  padding: 0.5rem 2.75rem 0.5rem 1.125rem;
  border: 1px solid #DAC1BA;
  border-radius: 50px;
  background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23815600' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 0.875rem center / 1.125rem;
  color: #2A170D;
  font: 500 0.875rem 'Inter', sans-serif;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.woocommerce .woocommerce-ordering select.orderby:hover {
  border-color: #FDB742;
}

body.woocommerce .woocommerce-ordering select.orderby:focus-visible {
  outline: none;
  border-color: #815600;
  box-shadow: 0 0 0 3px rgba(253, 183, 66, 0.45);
}

/* Pagination */
body.woocommerce nav.woocommerce-pagination {
  margin-top: 1rem;
  text-align: center;
}

body.woocommerce nav.woocommerce-pagination ul.page-numbers {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

body.woocommerce nav.woocommerce-pagination ul.page-numbers li {
  float: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: visible;
}

body.woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  height: 2.75rem;
  padding: 0 0.875rem;
  border: 1px solid #DAC1BA;
  border-radius: 50px;
  background: #FFFFFF;
  color: #2A170D;
  font: 600 0.9375rem 'Inter', sans-serif;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
body.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible {
  border-color: #FDB742;
  background: #FFF8EA;
}

body.woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers.current {
  border-color: #FDB742;
  background: #FDB742;
  color: #6E4900;
}
