/** Shopify CDN: Minification failed

Line 2441:1 Unexpected ">"

**/
.ais-page .builder-blocks span, 
.ais-page .builder-blocks p, 
.ais-page .builder-blocks a {
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
  font-family: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}

.loading:after {
  position: absolute;
  content: "";
  left: 50%;
  display: block;
  border-left-color: #2F2F30;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  margin-left: -1.5rem;
}

.loading:after {
  top: 15px;
  height: 2rem;
  width: 2rem;
  border: .3rem solid hsla(0, 0%, 100%, .9);
  animation: loading .5s linear infinite;
}

/* Charity message block loader and layout fix */
.charity-message-block.loading {
  min-height: 80px; /* Prevent layout shift, adjust as needed */
  position: relative;
}

.charity-message-block.loading:after {
  top: 50%;
  border-left-color: var(--color-black);
  margin-left: 0;
}

.loading.for-plp-loading:after {
  height: 5.5rem;
  width: 5.5rem;
  border: .55rem solid hsla(0, 0%, 100%, .8);
  border-left-color: #2f2f30;
  animation: loading .8s linear infinite;
  border-radius: 100%;
  position: absolute;
  content: "";
  top: 10%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-left: -1.5rem;
  z-index: 1;
}
@keyframes loading {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}
.ais-page .ais-Pagination-link {
  position: relative;
}

.ais-Pagination-link[aria-label="Next Page"],
.ais-Pagination-link[aria-label^="Last Page"],
.ais-Pagination-link[aria-label="Previous Page"],
.ais-Pagination-link[aria-label="First Page"]{
  font-size: 1.3em !important;
  padding-top: 2px !important;
  transform: scaleY(1.1);
}
 
/* Pagination arrow tooltips (combined) */
.ais-Pagination-link[aria-label="Next Page"]:hover::after,
.ais-Pagination-link[aria-label^="Last Page"]:hover::after,
.ais-Pagination-link[aria-label="Previous Page"]:hover::after,
.ais-Pagination-link[aria-label="First Page"]:hover::after {
  position: absolute;
  top: 95%;
  left: 30%;
  transform: translateX(-50%);
  background: #2F2F30;
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  white-space: nowrap;
  font-size: var(--font-size-10);
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .ais-Pagination-link[aria-label="Next Page"]:hover,
  .ais-Pagination-link[aria-label^="Last Page"]:hover,
  .ais-Pagination-link[aria-label="Previous Page"]:hover,
  .ais-Pagination-link[aria-label="First Page"]:hover {
    text-decoration: none;
  }

  .ais-Pagination-link[aria-label="Next Page"]:hover::after { content: "Next"; }
  .ais-Pagination-link[aria-label^="Last Page"]:hover::after { content: "Last"; }
  .ais-Pagination-link[aria-label="Previous Page"]:hover::after { content: "Previous"; }
  .ais-Pagination-link[aria-label="First Page"]:hover::after { content: "First"; }
}
/* PLP css */
.plp-intro-block {
  width: 97%;
  display: block !important;
}
.plp-intro-block > p {
  max-width: unset !important;
  font-size: var(--font-size-14);
}
.plp-intro-block h1 {
  font-size: var(--font-size-20);
  font-weight: 500;
}
.plp-intro-block h2 {
  font-weight: 500;
}
.plp-intro-block h3 {
  font-size: var(--font-size-20);
  font-family: var(--font-body--family);;
}

@media screen and (min-width: 769px) {
  .plp-intro-block h3 {
    padding-left: 30px;
  }
}
@media screen and (max-width: 1024px) {
   .ais-filter-pills {
    display: none;
  }
  #custom-filter-btn {
    margin-left: 0 !important;
  }
  .ais-stats-container {
    margin-right: auto !important; 
  }
}
@media screen and (max-width: 768px) {
  .plp-intro-block {
    width: 95% !important;
    padding-right: 20px;
    margin: 0 auto;
  }
  .plp-intro-block p {
    text-align: center;
  }
  .plp-intro-block h1 {
    font-size: var(--font-size-20);
    margin: 0 auto;
    font-weight: inherit;
  }
}
.plp-intro-read-more[hidden] {
  display: none !important;
}
.is-plp-page .custom-section-content .plp-intro-block {
  padding-left: 30px;
}
.is-plp-page .custom-section-content .plp-intro-block p {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* Remove shadow from Psykhe controls when applied filters bar is visible and fixed */
.psykhe__controls.psykhe-is-fixed.psykhe-is-stuck.psykhe-has-priority-filters.psykhe-with-pills {
  box-shadow: none !important;
}
/* When applied filters bar is not fixed, add padding to controls */
.psykhe__controls.psykhe-has-priority-filters.psykhe-is-fixed.psykhe-is-stuck {
  padding-bottom: 17px !important;
}

/* PLP intro block moved below pagination */
.shopify-section:has(.psykhe) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
#shopify-section-plp_bottom_intro {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.plp-intro-block--bottom {
  width: 100%;
  padding: 24px 30px 40px;
  background: rgba(247, 247, 247, 0.58);
  text-align: center;
  margin: 0;
}
.plp-intro-block--bottom h2 {
  font-size: var(--font-size-20);
  font-weight: 500;
  margin-bottom: 8px;
}
.plp-intro-block--bottom p {
  max-width: unset;
  font-size: var(--font-size-14);
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .plp-intro-block--bottom {
    width: 100%;
    padding: 20px;
    text-align: center;
  }
  .plp-intro-block--bottom .plp-intro-description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
  }
  .plp-intro-block--bottom .plp-intro-description.is-expanded {
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    overflow: visible;
  }
  .plp-intro-read-more {
    display: inline-block;
    margin-top: 8px;
    font-size: var(--font-size-14);
    font-weight: 500;
    text-decoration: underline;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    color: inherit;
  }
  .plp-intro-block--bottom .plp-intro-read-more:not([hidden]) {
    display: block;
    width: fit-content;
    margin: 8px auto 0;
  }
}
.plp-intro-block--top {
  width: 100%;
  padding: 12px 30px 0px;
  text-align: left;
  margin: 0;
}
.plp-intro-block--top p {
  max-width: unset;
  font-size: var(--font-size-14);
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .plp-intro-block--top {
    width: 100%;
    padding: 20px;
    text-align: center;
  }
  .plp-intro-block--top .plp-intro-description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
  }
  .plp-intro-block--top .plp-intro-description.is-expanded {
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    overflow: visible;
  }
  .plp-intro-read-more {
    display: inline-block;
    margin-top: 8px;
    font-size: var(--font-size-14);
    font-weight: 500;
    text-decoration: underline;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    color: inherit;
  }
}
@media screen and (min-width: 769px) {
  .plp-intro-read-more {
    display: none;
  }
}
#algolia-shopify-instantsearch .ais-page {
  width: 100%;
  margin: 0;
  padding: 0;
  max-width: unset;
}
#algolia-shopify-instantsearch .ais-page:has(.ais-pagination-container:not([style*="display: none"])) {
  margin-bottom: 56px;
}
#algolia-shopify-instantsearch .ais-page .ais-block {
  width: 100%;
  padding: 32px 20px 0 30px;
  margin-top: 40px;
  background: rgba(247, 247, 247, 0.58);
}
@media screen and (max-width: 768px) {
  #algolia-shopify-instantsearch .ais-page .ais-block {
    margin-top: 30px;
    padding: 0;
  }
  #algolia-shopify-instantsearch .ais-page .ais-block .ais-hits-container {
    padding: 0 15px;
  }
  .is-plp-page .custom-section-content .plp-intro-block {
    padding-left: 20px;
  }
}
.ais-pagination-container .ais-Pagination-list {
  background: rgba(247, 247, 247, 0.58);
  padding-bottom: 30px;
}
.custom-filter-btn {
  color: inherit;            /* removes blue link color */
  text-decoration: none;     /* removes underline */
  -webkit-appearance: none;  /* iOS Safari: prevents default link styling */
}
.ais-hit--picture {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease;
  width: 100% !important;
  height: auto !important;
  position: relative !important;
  top: 0 !important;
  object-fit: fill !important;
}

.ais-hit--picture.hidden {
  opacity: 0 !important;
  visibility: hidden !important;
}

.algolia-secondary-image {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  width: 100% !important;
  left: 0;
  top: 0 !important;
  object-fit: fill !important;
}

.algolia-secondary-image.visible {
  opacity: 1 !important;
  visibility: visible !important;
  width: 100%;
  height: auto !important;
  position: relative !important;
  top: 0 !important;
  object-fit: fill !important;
  max-height: 250px !important;
}

.ais-hit.no-secondary-image {
  /* Override the .hidden class if the product has no secondary image */
  opacity: 1 !important;
  visibility: visible !important;
}

.ais-product {
  margin: 0 0 42px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box;
}

.ais-hit--details {
  margin: 14px 5px 5px 0 !important;
  position: relative;
}

.ais-change-display {
  display: none;
}

.ais-hits-container .ais-Hits {
  padding: 0 13px 0 0;
}

@media screen and (max-width: 768px) {
  .ais-hits-container .ais-Hits {
    padding: 0;
  }
}

.ais-hits-container .ais-Hits .ais-Hits-list {
  margin-left: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 24px 18px;
  margin-bottom: 48px;
}
.ais-hits-container .ais-Hits .ais-Hits-item > a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ais-hits-container .ais-Hits .ais-Hits-item, .aa-List .aa-Item {
  width: 100%;
  padding-bottom: 27px;
}
@media screen and (max-width: 768px) {
  .ais-hits-container .ais-Hits .ais-Hits-item, .aa-List .aa-Item {
    padding-bottom: 47px !important;
  }
}
.ais-hit .ais-hit--details a:hover {
  text-decoration: none;
  /* color: inherit; */
}
.ais-hit .ais-hit--title {
  font-family: var(--font-aktiveBold--family);
  font-size: var(--font-size-14);
  color: var(--color-font-base);
  letter-spacing: 0.5px;
  line-height: 18px;
  text-transform: capitalize;
  display: -webkit-box;
 white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  -webkit-box-orient: unset;
  box-orient: unset;
}
.ais-hit .ais-hit--subtitle {
  padding: 7px 0 17px;
}
.ais-hit .ais-hit--subtitle span {
  font-size: var(--font-size-14);
  letter-spacing: 0.5px;
  line-height: 18px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

.custom-filters-accordion .accordion-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 60%;
}
.ais-hit .ais-hit--title {
  font-family: var(--font-aktiveBold--family);
  text-transform: capitalize;
  font-weight: 700;
}
/* .ais-hit .ais-hit--subtitle span {
  color: #2F2F30;
} */
.ais-hit .ais-hit--price {
  font-family: var(--font-aktiveBold--family);
  font-size: var(--font-size-13);
  color: var(--color-font-base);
  letter-spacing: 0.5px;
  margin: 0;
  position: absolute !important;
  top: 56px !important;
  font-weight: 600;
}
.ais-hit  .ais-hit--price > span {
  text-decoration: line-through;
  font-size: var(--font-size-14);
  padding-right: 8px;
}
.ais-hit .ais-hit--price.has-compare-price {
  color: var(--sale-price-color);
}
.ais-hit .ais-hit--price.has-compare-price > span {
  color: var(--color-font-base);
}
.ais-hit .product-tags {
  display: block;
  text-align: left; 
  letter-spacing: 0.5px;
  margin-bottom: 9px;
  color: #2F2F30;
  position: absolute !important;
  top: 94px !important;
}
.ais-hit .product-tags > span {
  font-size: var(--font-size-13);
  letter-spacing: 0.5px;
  white-space: normal;
  font-weight: 500;
  text-transform: lowercase;
  display: inline-block;
}
.ais-hit .product-tags > span::first-letter {
  text-transform: uppercase;
}
.ais-hit span.product-badges, .ais-hit .product-badges {
  background: #fff;
  left: 5px;
  top: 5px;
  padding: 7px 7px;
  font-size: var(--font-size-10);
  letter-spacing: 0.5px;
  text-transform: none;
  border-radius: 4px;
}
.ais-hit span.product-badges > span,
.ais-hit .product-badges .badge-curated {
  font-size: var(--font-size-10);
  color: #2F2F30;
}
.ais-hit.ais-product {
  padding: 0 !important;
  position: relative;
}

.ais-hit .imageContainer {
  position: relative;
  height: 100%;
  width: 100%;
  overflow: visible;
  transition: background-color .3s linear;
  -webkit-transition: background-color .3s linear;
  background-color: #f2edea;
  aspect-ratio: 620 / 775;
}
.ais-hit .imageContainer.loaded {
  background-color: #fff;
}

.ais-hit .secondary-image-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  /* Prevent image overflow */
}

.ais-hit .secondary-image-placeholder img.ais-hit--secondary-picture {
  opacity: 0;
  /* Initially hidden */
  transition: opacity 0.3s ease-in-out;
  width: 100%;
  object-fit: cover;
  /* Ensures image covers the tile area */
}
.ais-hit.is-hovered:has(.secondary-image-placeholder img.ais-hit--secondary-picture) .ais-hit--picture {
  opacity: 0;
  visibility: hidden;
}
.ais-hit.is-hovered:has(.secondary-image-placeholder img.ais-hit--secondary-picture) .secondary-image-placeholder img.ais-hit--secondary-picture {
  opacity: 1;
  visibility: visible;
}
.ais-Hits-item-doublespan .builder-hydrated, 
.ais-Hits-item-doublespan .builder-hydrated > div, 
.ais-Hits-item-doublespan .builder-hydrated .builder-component,
.ais-Hits-item-doublespan builder-component,
.ais-Hits-item-doublespan .builder-hydrated .builder-content, 
.ais-Hits-item-doublespan .builder-hydrated .builder-content > div, 
.ais-Hits-item-doublespan .builder-hydrated .builder-content .builder-blocks, 
.ais-Hits-item-doublespan .builder-hydrated .builder-content .builder-blocks > a {
  flex: 1 1 auto;
  height: 100%;
}
.ais-Hits-item-doublespan > section {
  display: flex;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .ais-hits-container .ais-Hits .ais-Hits-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 20px 15px;
  }

  .ais-product {
    width: 98% !important;
    margin: 0 !important;
  }
}

@media screen and (max-width: 768px) {
  .ais-pagination-container .ais-Pagination-list {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 15px;
  }

  .ais-pagination-container .ais-Pagination-list  .ais-Pagination-item--disabled {
    display: none;
  }
}
/*.algolia-modal-results .ais-product {
  width: 100% !important;
  box-sizing: border-box;
  text-decoration: none;
  color: inherit;
  margin: 0 auto !important;
}

.algolia-modal-results .ais-hit--details {
  margin: 10px 5px !important;
  box-sizing: border-box;
  line-height: 1;
}

.algolia-modal-results .ais-hit--title {
  color: var(--main-color);
  text-align: left;
}

.algolia-modal-results .ais-hit--title a {
  color: var(--main-color);
  cursor: pointer;
  font-weight: 400;
  text-decoration: initial;
}

.algolia-modal-results .ais-hit--subtitle {
  color: var(--secondary-color);
  font-size: var(--font-size-14);
  text-align: left;
  margin-top: -0.4em !important;
}

.algolia-modal-results .ais-hit--price {
  color: var(--main-color);
  margin: 10px 0;
  text-align: left;
}

.algolia-modal-results .ais-hit--details>* {
  line-height: 1.3;
  margin-bottom: 0.5em;
  margin-top: 0.55em;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
  width: 130px;
}*/
.ais-hit--details > * {
  line-height: 1.3;
  margin-bottom: 0;
  margin-top: 0;
}
.ais-SearchBox-submit {
  pointer-events: none;
}

.modal-open {
  position: fixed;
  width: 100%;
}

dialog.search-modal__content.dialog-modal::backdrop {
  /* background: no-repeat; */
  animation: none;
  top: 0;
  background: rgb(0 0 0 / 31%);
}

/* PWA: solid white backdrop to fully hide page content behind the search modal.
   ::backdrop is in the browser top layer so ancestor selectors (.is-pwa) cannot reach it.
   Instead we use a data-pwa attribute set directly on the <dialog> via JS. */
dialog[data-pwa].search-modal__content.dialog-modal::backdrop {
  top: 0;
  background: #fff;
}

dialog.search-modal__content.dialog-modal {
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}
dialog.search-modal__content.dialog-modal[open] {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.algolia-modal-content {
  width: 100%;
  padding: 0rem 2rem 2rem 2rem;
  overflow-y: auto;
}

.algolia-modal-close {
  position: fixed;
  top: 6.5rem;
  right: 1rem;
  border: none;
  background-color: transparent;
  font-size: 1.5em;
  cursor: pointer;
  z-index: 9999999;
  @media screen and (max-width: 768px) {
    top: 1.5rem;
    right: 0;
  }
}

.algolia-modal-search-wrapper {
  position: relative;
}

.svg-wrapper-search {
  position: relative;
  left: 3px;
  top: 36px;
  transform: translateY(-50%);
  max-width: 20px;
  display: block;
}

#algolia-modal-input {
  width: 100%;
  margin-bottom: 1em;
  border-radius: 0;
  border-bottom: .8px solid #2f2f30;
  font-size: var(--font-size-16);
  letter-spacing: .5px;
  line-height: 22px;
  color: #2f2f30;
  font-weight: 300;
  padding-left: 40px;
  padding-bottom: 10px;
  padding-top: 5px;
}

#algolia-modal-clear {
  position: absolute;
  right: 0.2rem;
  top: 55%;
  transform: translateY(-50%);
  cursor: pointer;
}

.algolia-modal-header-row {
  display: flex;
  /* justify-content: space-between; */
  align-items: center;
  margin-top: 2.9rem;
  padding: 0 10px 8px;
}
.highlight-input {
  /* border: 0.4px solid var(--secondary-color) !important; */
}

#aa-autocomplete-wrapper + #algolia-modal-error {
    height: 20px !important;
    display: block !important;
}
#aa-autocomplete-wrapper + #algolia-modal-error.hide {
    visibility: hidden;
}
.algolia-modal-heading {
  margin-bottom: 0;
  font-size: var(--font-size-14);
  font-weight: 500;
}

#algolia-viewall-bottom {
  display: none;
  align-items: flex-start;
  gap: 0.5em;
  font-weight: 500;
  color: var(--secondary-color);
  text-decoration: none;
}

#algolia-viewall-top {
  align-items: flex-start;
  gap: 0.5em;
  font-weight: 400;
  font-size: var(--font-size-12);
  color: var(--secondary-color);
  text-transform: uppercase;
  text-decoration: underline;
  padding: 0 0 0 19px;
}

#algolia-viewall-top button {
  display: none;
}

.algolia-modal-quicklinks-wrapper {
  display: grid;
  grid-template-columns: auto 1fr auto;
  position: relative;
  align-items: center;
  margin: 1rem 0 3.7rem;
  padding: 0 10px;
}
#algolia-modal-error {
  min-height: 20px;
  font-size: var(--font-size-12);
  text-align: center;
  margin-top: 106px;
}
.quicklinks-scroll-left,
.quicklinks-scroll-right {
  display: none;
}

#algolia-modal-quicklinks {
  display: flex;
  gap: 9px;
  overflow-x: auto;
  scrollbar-width: none;
  color: var(--secondary-color);
}

.algolia-modal-pill {
  display: inline-block;
  background: #F2F2F2;
  border-radius: 3px;
  padding: 3.5px 24px;
  white-space: nowrap;
  font-size: var(--font-size-12);
  text-transform: capitalize;
  color: var(--secondary-color);
}
.algolia-modal-pill:focus-visible{
  border: 0.5px solid var(--color-black);
  outline: 0;
}

#algolia-modal-results {
  display: flex; 
}

#algolia-modal-search-results {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1em;
  padding: 0 10px;
}
#algolia-modal-search-results + .aa-Panel {
  display: none !important;
}
#aa-autocomplete-wrapper {
  position: fixed;
  width: 97%;
  z-index: 999999;
  background: #fff;
  padding: 55px 0 20px;
}
@media screen and (max-width: 768px) {
  .algolia-modal-content {
    padding: 0rem 0 2rem;
  }
  .algolia-modal-close {
    right: 1rem;
  }
  #aa-autocomplete-wrapper {
    padding:10px 0 10px 5px;
    width: 100%;
  }
  #algolia-modal-error {
    margin-top: 80px;
  }
  .algolia-modal-quicklinks-wrapper {
    padding: 0 15px;
  }
  #algolia-modal-results {
    padding: 0 0 0 5px;
  }
  .algolia-modal-header-row {
    padding: 0 15px 8px;
  }
  #algolia-modal-search-results {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #algolia-modal-search-results > a {
    margin-bottom: 60px ;
  }
}

/* PWA/App + sticky header: extra top margin so .algolia-modal-header-row clears the fixed
   #aa-autocomplete-wrapper when the sticky header pushes content down by the 46px status-bar offset. */
.is-pwa:has(#header-component[sticky]) .algolia-modal-header-row {
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .is-pwa:has(#header-component[sticky]) .algolia-modal-header-row {
    margin-top: 5rem;
  }
}

.algolia-modal-viewall-bottom {
  display: none !important;
}


.ais-facet-dropdown-wrapper .ais-facet-dropdown-container {
  display: none !important;
  /* Use !important to override conflicting styles */
  overflow: hidden;
}

.ais-facet-dropdown-wrapper .ais-dropdown-checkbox:checked~.ais-facet-dropdown-container {
  display: block !important;
}

#algolia-modal-results .aa-Panel {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  margin: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border: none !important;
}
#algolia-modal-results .aa-List {
  margin: 0 0 48px 0;
  padding: 0;
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media screen and (max-width: 768px) {
  #algolia-modal-results .aa-List {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #algolia-modal-results .aa-Item {
    width: 100% !important;
  }

  #algolia-modal-results .aa-Source[data-autocomplete-source-id=products] .aa-Item {
    padding: calc(var(--aa-spacing-half) / 2);
  }
}
.ais-hit--details .ais-hit--price {
  margin: 10px 0;
}
#algolia-modal-results .aa-Item {
  display: block !important;
  /* padding: 0 !important;
  min-height: 0 !important; */
  cursor: pointer;
}
#algolia-modal-results .aa-Item:has(a:focus-visible) {
  border: 0.5px solid var(--color-black);
  outline: 0;
}

#algolia-modal-results .aa-Item .product-tile img {
  max-height: 250px !important;
}

#algolia-modal-results .aa-Item .product-tile {
  width: 100% !important;
  text-decoration: none;
  color: inherit;
  margin: 0 auto !important;
  border: .5px solid #e9e5db;
  background-color: #f9f7f6;
  padding: 0 0 20px !important;
  height: 310px !important;
}

#algolia-modal-results .aa-Item[aria-selected="true"] {
  background: transparent !important;
}

#algolia-modal-content .aa-ClearButton {
  color: inherit;
}

#algolia-modal-content .aa-ClearButton .aa-ClearIcon {
  display: none !important;
}

#algolia-modal-content .aa-ClearButton::after {
  content: "Clear";
  font-size: var(--font-size-12);
  letter-spacing: 0.5px;
  /* color: inherit; */
  padding: 0 6px;
  vertical-align: middle;
}

#algolia-modal-content .aa-Label svg {
  color: var(--main-color);
  width: 16px;
  height: 16px;
}

#algolia-modal-content  .aa-InputWrapper  {
  font-size: var(--font-size-14);
  @media screen and (max-width: 768px) {
    font-size: var(--font-size-16);
    transform: scale(0.875);
    transform-origin: left center;
  }
}
#algolia-modal-content .aa-Form {
  border: none;
  border-radius: 0;
  max-width: 1024px;
  height: 32px;
  width: 65%;
  margin: 0 auto;
  border-bottom: 0.7px solid rgba(47, 47, 48, 1);
  @media screen and (max-width: 768px) {
    width: 96%;
  }

}
#algolia-modal-content .aa-Form:focus-within {
  box-shadow: none;
  outline: none;
}

#algolia-modal-results .aa-Panel--scrollable,
#algolia-modal-results .aa-PanelLayout {
  max-height: none !important;
  padding: 0 5px;
}

#algolia-modal-results .aa-GradientBottom {
  display: none;
}
.aa-Autocomplete .aa-SubmitButton {
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  #algolia-modal-content .aa-Form {
    margin: 0 0 0 10px
  }
  #algolia-modal-content .quicklinks-scroll-left,
  .quicklinks-scroll-right {
    display: none;
  }
  #algolia-modal-content .aa-ClearButton {
    margin:5px 20px 0 0;
    text-decoration: underline;
  }
}
.ais-page .ais-pagination-container .ais-Pagination-item {
  border: 0;
}
.ais-Pagination-item--selected a.ais-Pagination-link, .ais-Pagination-item--selected a.ais-Pagination-link:hover {
  background-color: #E7E1E7;
  text-decoration: none;
}
.ais-page .ais-block .ais-search-header {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0 .9em 2.2em 0 !important;
  margin-top: 26px;
}
.ais-page .ais-block .ais-search-header .ais-stats--nb-results {
  display: block;
  margin-top: 3px;
  font-size: var(--font-size-12);
  font-weight: 400;
  margin-right: 29px;
}
@media screen and (max-width: 768px) {
  .ais-page .ais-block .ais-search-header {
    padding: 0 0 20px 15px !important;
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: 95%;
    min-width: 0;
  }
  .ais-page .ais-block .ais-search-header .ais-stats--nb-results {
    margin-right : -8px;
  }
}

.ais-filter-pills-list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.ais-filter-pills-list li {
  display: inline-block;
  position: relative;
  padding-right: 21px !important; /* Ensures space for the plus sign */
  font-size: var(--font-size-14) !important;
  cursor: pointer;
}
.ais-filter-pills-list li::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 15px;
  height: 15px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: url('data:image/svg+xml;utf8,<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg"><line x1="7" y1="2" x2="7" y2="12" stroke="%23111111" stroke-width="1" stroke-linecap="round"/><line x1="2" y1="7" x2="12" y2="7" stroke="%23111111" stroke-width="1" stroke-linecap="round"/></svg>') center/contain no-repeat;
  pointer-events: none;
  padding-left: 2px;
}
.ais-page .ais-facets-button {
  display: none !important;
}
.ais-page .ais-block .filter-pills-wrapper {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;   /* clip child overflow */
  overflow-y: hidden;   /* clip child overflow */
  min-width: 0;         /* important in flex/grid parents */
  position: relative;
  margin-bottom: 30px;
  padding-right: 20px;
  min-height: 32px;
}
@media screen and (max-width: 768px) {
  .ais-page .ais-block .filter-pills-wrapper{
    margin-bottom: 20px;
    padding-left: 20px;
  }
}
.ais-page .ais-block .filter-pills-wrapper::before,
.ais-page .ais-block .filter-pills-wrapper::after,
.algolia-modal-quicklinks-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  z-index: 1;
  height: 40px;
  pointer-events: none;
}
.ais-page .ais-block .filter-pills-wrapper::before {
  left: 0;
  width: 87px;
  height: 100%;
}
.ais-page .ais-block .filter-pills-wrapper::after,
.algolia-modal-quicklinks-wrapper::after {
  right: 0;
  margin-left: -48px;
  width: 27px;
  height: 100%;
  background: linear-gradient(to left, #f7f7f794 60%, #f7f7f794);
}
.ais-page .ais-block .filter-pills-wrapper.is-fixed::before {
  width: 114px;
  background: #fff;
}
.ais-page .ais-block .filter-pills-wrapper.is-fixed::after {
  background: linear-gradient(to left, #fff 80%, #ffffff4d);
}
@media screen and (max-width: 768px) {
  
.ais-page .ais-block .filter-pills-wrapper::after,
.algolia-modal-quicklinks-wrapper::after {
    right: 5px;
    margin-bottom: 20px;
    width: 20px;
    background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, /* solid white on the right edge */ rgba(255, 255, 255, 0.6) 50%, /* mid tone */ rgba(255, 255, 255, 0.4) 100% /* lightest on the far left */);
  }
  .ais-page .ais-block .filter-pills-wrapper,
  .algolia-modal-quicklinks-wrapper {
    padding-right: 10px;
  }
}
.ais-page .ais-block .ais-filter-pills-container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 30px;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  position: relative;
}
.ais-filter-pills-container::-webkit-scrollbar {
  display: none;
}
.ais-page .ais-block .ais-filter-pill {
  order: 1;
  display: inline-flex;
  align-items: center;
  background: #F2F2F2;
  font-size: var(--font-size-12);
  padding: 9px 14px 9px 7px;
  cursor: pointer;
  position: relative;
  transition: background 0.2s;
  flex: 0 0 auto;
  min-width: 0;
  max-width: 100%;
}
.ais-page .ais-block .ais-filter-pill.disabled{
  pointer-events: none;
  opacity: 0.5;
}
.ais-page .ais-block .ais-filter-pill:hover {
  background: #e0e0e0;
}
.ais-page .ais-block .ais-filter-pill:focus-visible {
  border: 0.5px solid var(--color-black);
  outline: 0;
}
.ais-filter-pill::before, .algolia-modal-close::after {
  content: '';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 8px;
  height: 8px;
  margin-right: 13px;
  margin-left: 0;
  background: none;
  mask: url('data:image/svg+xml;utf8,<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L11 11M11 2L2 11" stroke="%23888" stroke-width="0.8" stroke-linecap="round"/></svg>') center/13px 13px no-repeat;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L11 11M11 2L2 11" stroke="%23888" stroke-width="0.8" stroke-linecap="round"/></svg>') center/13px 13px no-repeat;
  background-color: #2f2f30;
  cursor: pointer;
}

.algolia-modal-close::after {
  width: 14px;
  height: 14px;
  margin-right: 27px;
  mask: url('data:image/svg+xml;utf8,<svg width="14" height="14" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L11 11M11 2L2 11" stroke="%23888" stroke-width="0.8" stroke-linecap="round"/></svg>') center/14px 14px no-repeat;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg width="14" height="14" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L11 11M11 2L2 11" stroke="%23888" stroke-width="0.8" stroke-linecap="round"/></svg>') center/14px 14px no-repeat;
}
.ais-filter-clear-all {
  order: 0;
  cursor: pointer;
  border: none;
  padding-left: 0;
  margin-left: 0;
  position: sticky;
  left: 0;
  z-index: 2;
  color: #2F2F30;
  background: #f7f7f7;
  text-decoration: underline;
  font-size: var(--font-size-12);
  margin-right: 11px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

  #custom-filter-btn {
    cursor: pointer;
    flex: 0 0 auto;
    margin-right: auto;
    order: 1;
    margin-left: 0;
    padding-left: 0;
    background: none;
    border: 0;
    letter-spacing: 0.5px;
  }
  .ais-filter-pills + #custom-filter-btn {
    margin-left: 16px;
    padding-left: 5px;
  }
  .ais-stats-container {
    flex: 0 0 auto;
    order: 2;
    margin-left: auto; /* this will push it to the right */
    text-align: right;
  }
  .ais-sort {
    flex: 0 0 auto;
    margin-left: auto;
    order: 3;
  }
@media screen and (max-width: 768px) {
  .ais-filter-clear-all {
    display: none;
  }
  .ais-page .ais-block .filter-pills-wrapper::before {
    width : 0 !important;
  }
  #custom-filter-btn {
    margin-right: 8px;
  }
  .algolia-modal-close::after {
    margin-right: 0;
  }
}
.ais-sort {
  font-size: 0 !important;
}

.ais-sort * {
  font-size: initial !important;
}
.ais-SortBy {
  position: relative;
  /* Crucial for positioning the children */
}

.ais-SortBy-select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;

  z-index: 1;
  cursor: pointer;
  /* Keep cursor pointer for hover feedback */
}

/* Filter button on PLP */
.custom-filter-btn {
  text-decoration: underline !important;
  text-decoration-thickness: auto !important;
  text-decoration-color: currentColor !important;
}

@media screen and (max-width: 768px) {
  .custom-filter-btn {
    font-size: var(--font-size-14) !important;
    text-decoration: none !important;
  }
}

/* Filter drawer opens from left */
.custom-filter {
  display: flex;
  flex-direction: column;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  width: 548px;
  max-width: 100vw;
  background: #fff;
  box-shadow: 2px 0 16px rgba(0,0,0,0.12);
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(.4,0,.2,1);
  z-index: 10000;
  padding: 27px 5px 0px 33px;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .custom-filter {
    padding-left: 21px;
  }
}

/* PWA: push filter drawer content below the device status bar so the close button is tappable */
.is-pwa .custom-filter {
  padding-top: 56px;
}

.custom-filter-overlay {
  display: none;
  position: fixed;
  inset: 0px;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 9;
}

.custom-filter-overlay.open {
  display: block;
}

.custom-filter.open {
  transform: translateX(0);
}

/* Filter drawer header layout */
.filter-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 0 16px 46px 0;
}

.filter-header > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.filter-title {
  font-size: 1.8rem;
}

.total-applied-filters {
  background: #F2F2F2;
  border-radius: 50%;
  font-size: var(--font-size-10);
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #111111;
  margin-left: 4px;
}

.filter-nb-results {
  font-size: 1rem;
  color: #737373;
}
@media screen and (max-width: 768px) {
  .filter-nb-results {
    font-size: var(--font-size-12);
  }
}

/* Drawer cross button */
.filter-close {
  margin-left: 8px;
  background: none;
  border: none;
  cursor: pointer;
}

.filter-close svg {
  width: 10px;
  height: 10px;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .filter-close svg {
    width: 12px;
    height: 12px;
  }
}
/* Filter accordion container styles */
.custom-filter .custom-filters-accordion {
  overflow-y: auto;
  scrollbar-color: #2F2F30 transparent;
  scrollbar-width: thin;
}

.custom-filters-accordion {
  width: 100%;
  margin-bottom: 9.7rem;
  padding-right: 19px;
}

.custom-filter-accordion-item {
  border-bottom: 1px solid #eee;
  padding: 15px 0px 23px;
}

.custom-filter-accordion-header {
  width: 100%;
  background: none;
  border: none;
  font-size: var(--font-size-14);
  padding: 12px 0 2px;
  text-align: left;
  cursor: pointer;
  color: #2F2F30;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.custom-filter-accordion-content {
  display: none;
}

.custom-filter-accordion-content ul,
.custom-filter-accordion-content li {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.custom-filter-accordion-content.open {
  display: block;
}

.custom-filter-accordion-item.open .custom-filter-accordion-header .accordion-arrow {
  transform: rotate(180deg);
  transition: transform 0.2s;
}

.custom-search-no-results {
  font-size: var(--font-size-12);
}

/* Sticky button in Filter drawer */
.custom-filter-sticky-bar {
  position: fixed;
  bottom: 0;  
  left: 0;
  width: 100%;
  height: 9.7rem;
  background: #FFFFFF;
  box-shadow: 0px -3px 9px 0px #00000017;
  display: flex;
  gap: 1px;
  justify-content: space-between;
  align-items: center;
  padding: 2.6rem 2.6rem 2.8rem 2.1rem;
}

.custom-filter-sticky-bar > button {
  height: 4.8rem;
  border: 1px solid #2F2F30;
  border-radius: 2px;
  font-size: var(--font-size-14); 
  padding: 12px 0;
  cursor: pointer;
  margin: 0 6px;
}
.custom-filter-clear-btn,
.custom-filter-view-btn {
  flex: 1;
}

.custom-filter-clear-btn {
  color: #2F2F30;
  background: #FFFFFF;
}

.custom-filter-view-btn {
  background: #2F2F30;
  color: #FFFFFF;
}

.ais-clear-refinements-container,
.ais-current-refined-values-container {
  display: none !important;
}

/* Filter input checkbox */
.custom-checkbox {
  margin-bottom: 1.6rem;
}

.custom-checkbox input[type="checkbox"] {
  width: 0;
  appearance: none;
  -webkit-appearance: none;
}

.custom-checkbox-label {
  font-size: var(--font-size-14);
  position: relative;
  padding-left: 3.5rem;
  cursor: pointer;
  user-select: none;
}

.custom-checkbox label::before {
  content: "";
  height: 1.62rem;
  width: 1.62rem;
  position: absolute;
  top: 0.2rem;
  left: 0;
  border-radius: 1.82px;
  border: 1px solid #999999;
  opacity: 1;
}

.custom-checkbox label::after {
  content: "";
  height: 1.62rem;
  width: 1.62rem;
  position: absolute;
  top: 0.2rem;
  left: 0;
  border-radius: 0.2rem;
  border: 1px solid #090909;
  transform: scale(0);
  transition: transform 0.2s ease-in;
  background: #303030;
}

.custom-checkbox input[type="checkbox"]:checked + label::after {
  transform: scale(1);
}

.custom-checkbox .color-swatch {
  display: inline-block;
  width: 1.82rem;
  height: 1.82rem;
  border-radius: 50%;
  margin-right: 1.5rem;
  border: 1px solid #ccc;
  vertical-align: middle;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

/* Custom Designer Search */
.custom-designer-search-wrapper {
  display: flex;
  align-items: center;
  border-radius: 6px;
  margin: 1.8rem 0 2.8rem 0;
  border: 0.3px solid #2F2F30;
  background: #F3F3F3; 
  height: 3.6rem;
}

.custom-search-icon {
  display: flex;
  align-items: center;
  margin: 0 16px 0 12px;
}

.custom-designer-search {
  border: none;
  outline: none;
  background: transparent;
  font-size: var(--font-size-16); /* must be >= 16px to prevent iOS auto-zoom on focus */
  flex: 1;
  padding: 4px 0;
}

.custom-search-clear {
  border: none;
  color: #2F2F30;
  cursor: pointer;
  font-size: var(--font-size-12);
  margin: 0 24px 0 5px;
  transition: color 0.2s;
  background: none;
  padding: 0;
}

/* Custom Sort CSS */
.custom-sort-dropdown {
  font-size: var(--font-size-14) !important;
  position: relative;
  display: inline-block;
  width: auto;
  min-width: 0;
  font-family: inherit;
  z-index: 5;
  color: var(--color-black);
}

@media screen and (max-width: 768px) {
  .custom-sort-dropdow .custom-sort-selected-value {
    padding-right: 20px !important;
  }
}
.custom-sort-selected-value {
  font-size: var(--font-size-14) !important;
  padding-right: 20px !important; /* Space changes for arrow */
  cursor: pointer;
}

.custom-sort-selected-value::after {
  content: "›";
  position: absolute;
  right: 0;
  top: 53%;
  font-size: 1.6em;
  transform: translateY(-50%) rotate(90deg);
}

.custom-sort-dropdown.is-open .custom-sort-selected-value::after {
  content: "‹";
  transform: translateY(-50%) rotate(90deg);
}

.custom-sort-options-list {
  position: absolute;
  right: 0;
  min-width: 259px;
  background: var(--color-white);
  border-radius: 10px;
  box-shadow: 0px 8px 11px 0px #00000033;
  padding: 12px 4px 8px !important;
  z-index: 10;
  display: none;
}

.custom-sort-dropdown.is-open .custom-sort-options-list {
  display: block;
}

.custom-sort-options-list li {
  font-size: var(--font-size-14) !important;
  padding: 2px 30px !important;
  cursor: pointer;
  position: relative;
}

.custom-sort-options-list li.is-active {
  background: #F2F2F2;
  border-radius: 5px;
  position: relative;
  z-index: 1;
}

.custom-sort-options-list li span{
  font-size: var(--font-size-14) !important;
}
/* arrow layout updates */
.custom-sort-options-list li.is-active::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url('data:image/svg+xml;utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 12L9 16L16 6" stroke="%232F2F30" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;
  background-size: contain;
}

.ais-Hits-item-doublespan {
  grid-column: span 2;
}

.hide {
  display: none !important;
}

.ais-hit-empty--clears {
  display: none;
}
/* Smart sticky for filter bar */
 .ais-page .ais-block .ais-search-header.is-fixed {
  position: fixed;
  top: 119px;
  z-index: 100;
  background: #fff;
  right: 0;
  margin-top: -1px;
  border-top: 0.8px solid #E9E9E9;
  padding: 22px 32.24px 17px 30px !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.1);
}
 .ais-page .ais-block .filter-pills-wrapper.is-fixed{
  position: fixed;
  top: 182px;
  z-index: 10;
  background: #fff;
  padding: 14px 20px 32px 30px !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.1);
  left: 0;
  max-width: 100% !important;
 }
  /* Remove box-shadow from .ais-search-header.is-fixed when both are fixed */
 .ais-page .ais-block .ais-search-header.is-fixed.with-pills-fixed {
  box-shadow: none ;
 }
 .builder-carousel .slick-next{
    right: 0 !important;
  }
@media (max-width: 768px) {
  .ais-page .ais-block .ais-search-header.is-fixed {
    box-shadow: 0px 4px 7px 0px #0000000F;
    margin-top: -1.7px;
    border-top-width: 2px;
    padding: 14px 19px 17px 20px !important;
    top: 70px;
    left: 0;
    width: 100%;
  }
  .ais-page .ais-block .filter-pills-wrapper.is-fixed{
    box-shadow: 0px 4px 7px -2px #0000000F;
    top: 125px;
    padding: 5px 10px 23px 20px !important;
    z-index: 10;
  }
  /* Remove box-shadow from .ais-search-header.is-fixed when both are fixed on mobile */
  .ais-page .ais-block .ais-search-header.is-fixed.with-pills-fixed {
    box-shadow: none !important;
  }
  .ais-page .ais-block .filter-pills-wrapper.is-fixed::after{
    right: 0;
  }
}
@media (max-width: 1024px) {
  .ais-page .ais-block .ais-search-header.is-fixed {
    top: 69px;
  }
}
/* Custom CSS Builder Global Header */
.shopify-section-group-header-group .builder-carousel .slick-slide {
  z-index: 1;
  pointer-events: none;
}
.shopify-section-group-header-group .builder-carousel .slick-slide.slick-active {
  z-index: 2;
  pointer-events: auto;
}
.shopify-section-group-header-group .builder-carousel span {
  font-family: inherit;
}
/* Search ui hide unwanted sections */
section.aa-Source ~ .aa-Source {
    display: none;
}
/* Builder carousel arrow display */
.cause-carousel .builder-carousel .slick-next {
  right: 2% !important;
  top: -2% !important;
}

.cause-carousel .builder-carousel .slick-prev {
  left: 90.5% !important;
  top: -2% !important;
  z-index: 2;
}
.manual-product-carousel .builder-carousel .slick-next {
  right: 3% !important;
  top: -5% !important;
}

.manual-product-carousel .builder-carousel .slick-prev {
  left: 91.7% !important;
  top: -5% !important;
}
@media screen and (max-width: 768px){
  .cause-carousel .builder-carousel .slick-prev {
    left: 80% !important;
    top: -6.5% !important;
  }
  .cause-carousel .builder-carousel .slick-next {
    top: -6.5% !important;
  }
  .manual-product-carousel .builder-carousel .slick-next {
    top: -6% !important;
  }

  .manual-product-carousel .builder-carousel .slick-prev {
    left: 80% !important;
    top: -6% !important;
  }
}
.slick-arrow.slick-disabled {
  opacity: 0.3;
  pointer-events: none;
}
.builder-component-62751c85916945918dc8753e25fdc6ea {
  display: none !important;
}



/* Jewelry Concierge popup is opened by the CTA button, not Globo's own
   floating envelope button. Keep that floating button rendered (so the CTA
   can fire a programmatic .click() on it — display:none would still work for
   .click() but pointer-events:none is safer for real Safari input) yet
   visually hidden and non-interactive, so no stray button shows on the PDP.
   Scoped to our own mount class (not the per-store globo-form-id-<n>) so it
   holds regardless of the JC_Form_Key value. */
.jewelry-concierge-mount .floating-button {
  position: fixed !important;
  bottom: 0 !important;
  right: 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  z-index: -1 !important;
}

/* ═══════════════════════════════════════════════════════════════
   Jewelry Concierge — Globo Form popup (Powerful Form Builder)
   Overrides gfb-style-material_filled to match Olivela design.
   Targets .globo-form-app generically (not a per-store form id), so
   these hold whatever the JC_Form_Key value is.
   ═══════════════════════════════════════════════════════════════ */

/* ── Popup modal box ─────────────────────────────────────────── */
.globo-form.popup-form .gfb-style-material_filled.globo-form-app.popup-layout {
  border-radius: 2px !important;
}
.globo-form-app.popup-layout .g-container {
  background-color: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  max-width: calc(100vw - 3.2rem) !important;
  min-height: 641px !important;
  padding: 4.8rem 6rem !important;
  position: relative !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 749px) {
  /* Outer modal chain Globo renders around the form (.globo-form-publish-modal.popup >
     .globo-form-modal-content > .globo-formbuilder.addition-popup-type). Globo's own
     stylesheet centers/sizes this chain, so it must be forced full-bleed independently
     of the inner .globo-form-app overrides below — otherwise the outer wrapper still
     constrains the popup even though the inner form is set to 100%. */
  .globo-form-publish-modal.popup {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: none !important;
    border-radius: 0 !important;
  }

  .globo-form-publish-modal.popup .globo-form-modal-content,
  .globo-form-publish-modal.popup .globo-formbuilder.addition-popup-type {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .globo-form.popup-form .globo-form-app.popup-layout.gfb-style-material_filled {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: none !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .globo-form-app.popup-layout .g-container {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    height: auto !important;
    padding: 4.8rem 2.4rem 3.2rem !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
  }

.is-pwa .globo-form-app.popup-layout .g-container {
    padding-top: 8.8rem !important;
  }

  /* The success message is a sibling of the form, not nested inside it, so
     once the form is hidden on submit it's the only flowing child left in
     the flex column above — center it in the remaining space instead of it
     sitting at the top under the close button. Desktop is unaffected. */
  .globo-form-app.popup-layout .message.success {
    margin: auto 0 !important;
  }
}

/* ── Close / dismiss button — matches cart-drawer__close-button ── */
.globo-form-app .header.dismiss {
  position: absolute !important;
  top: 1.6rem !important;
  right: 1.6rem !important;
  cursor: pointer !important;
  z-index: 10 !important;
  background: transparent !important;
  border: none !important;
  padding: 0.8rem !important;
  line-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #2f2f30 !important;
}

.is-pwa .globo-form-app .header.dismiss {
  top: 5.6rem !important;
}

/* Hide Globo's default filled SVG */
.globo-form-app .header.dismiss svg {
  display: none !important;
}

/* Inject stroke-based X via ::after — matches cart drawer close icon */
.globo-form-app .header.dismiss::after {
  content: '' !important;
  display: block !important;
  width: 1.4rem !important;
  height: 1.4rem !important;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2L2 12' stroke='%232f2f30' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 12L2 2' stroke='%232f2f30' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

/* ── Form title ──────────────────────────────────────────────── */
.globo-form-app .header[data-path="header"] {
  text-align: center !important;
  margin-bottom: 3.2rem !important;
  padding: 0 !important;
}

.globo-form-app h3.title.globo-heading {
  font-family: var(--font-body--family) !important;
  font-size: var(--font-size-20) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: var(--color-foreground) !important;
  line-height: 26px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-align: center !important;
  text-decoration: none !important;
  margin: 0 !important;
}

/* Hide the description line to match design */
.globo-form-app .header[data-path="header"] .description.globo-description {
  display: none !important;
}

/* ── Wizard chrome (steps nav, inline height) ────────────────── */
.globo-form-app .wizard__header {
  display: none !important;
}

.globo-form-app .panels {
  height: auto !important;
}

/* ── Panel — vertical stack with gap ─────────────────────────── */
.globo-form-app .panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
  padding-top: 0 !important;
}

/* ── Name/Email row — force single column ────────────────────── */
.globo-form-app .globo-form-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.globo-form-app .globo-form-row-item {
  width: 100% !important;
}

/* ── Labels — reset floating behaviour to static above input ─── */
.globo-form-app .material_filled-label {
  position: static !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  display: block !important;
  margin-bottom: 0.8rem !important;
  padding: 0 !important;
  font-family: var(--font-body--family) !important;
  font-size: var(--font-size-12) !important;
  font-weight: 400 !important;
  color: var(--color-foreground) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  background: transparent !important;
  background-image: none !important;
  clip-path: none !important;
  z-index: auto !important;
}

/* Keep required asterisk visible */
.globo-form-app .material_filled-label .text-danger {
  color: #2f2f30 !important;
}

/* Grey out the readonly input content (SKU/style value) only — border/background untouched */
.globo-form-app .sku-prefill .material_filled-input {
  color: #acacac !important;
}

/* Readonly field — don't darken the border on click/focus */
.globo-form-app .sku-prefill .material_filled-input:focus {
  border-color: #d6c9b8 !important;
}

/* ── Input wrapper — strip any notch / clip tricks ───────────── */
.globo-form-app .globo-form-input {
  position: static !important;
  background: transparent !important;
  clip-path: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* ── Control wrapper (direct parent of <input>) ─────────────── */
.globo-form-app .globo-form-control {
  position: relative !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  clip-path: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.globo-form-app .globo-form-input::before,
.globo-form-app .globo-form-input::after,
.globo-form-app .globo-form-control::before,
.globo-form-app .globo-form-control::after {
  display: none !important;
  content: none !important;
}

/* ── fieldset/legend notch fix — the legend creates a native gap
   in the fieldset border (the material "notch"). Remove entirely. ── */
.globo-form-app .globo-form-input fieldset,
.globo-form-app .globo-form-control fieldset {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
}

.globo-form-app .globo-form-input legend,
.globo-form-app .globo-form-control legend {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ── SVG notch element (Globo sometimes renders an inline SVG) ── */
.globo-form-app .globo-form-input svg,
.globo-form-app .globo-form-control svg {
  display: none !important;
}

/* ── Inputs + textarea ───────────────────────────────────────── */
.globo-form-app .material_filled-input {
  width: 100% !important;
  background-color: #fff !important;
  /* Solid continuous border — no notch */
  border: 1px solid #d6c9b8 !important;
  border-radius: 2px !important;
  /* Remove any box-shadow / outline / clip used for the material notch */
  box-shadow: none !important;
  outline: none !important;
  clip-path: none !important;
  background-image: none !important;
  padding: 0 1.6rem !important;
  font-family: var(--font-body--family) !important;
  font-size: var(--font-size-14) !important;
  color: var(--color-foreground) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: border-color 0.15s !important;
  box-sizing: border-box !important;
}

/* Single-line inputs: exact 44px height */
.globo-form-app input.material_filled-input {
  height: 44px !important;
  line-height: 44px !important;
}

.globo-form-app .material_filled-input::placeholder {
  color: var(--color-foreground) !important;
  opacity: 0.4 !important;
}

.globo-form-app .material_filled-input:focus {
  border-color: var(--color-foreground) !important;
  background-color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}

.globo-form-app textarea.material_filled-input {
  height: auto !important;
  line-height: 1.5 !important;
  padding: 1.2rem 1.6rem !important;
  min-height: 8rem !important;
  resize: vertical !important;
}

/* ── Submit button ───────────────────────────────────────────── */
.globo-form-app .gfb__footer.wizard__footer {
  display: flex !important;
  justify-content: center !important;
  padding: 0.8rem 0 0 !important;
  border: none !important;
  background: transparent !important;
  gap: 0 !important;
}

.globo-form-app .material_filled-button.wizard__submit {
  background-color: #2f2f30 !important;
  color: #fff !important;
  border: 1px solid #2f2f30 !important;
  border-radius: 0 !important;
  padding: 1.4rem 4rem !important;
  font-family: var(--font-body--family) !important;
  font-size: var(--font-size-14) !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em !important;
  min-width: 22rem !important;
  cursor: pointer !important;
  text-transform: none !important;
  box-shadow: none !important;
  transition: opacity 0.2s !important;
  display: inline-block !important;
}

.globo-form-app .material_filled-button.wizard__submit:hover {
  opacity: 0.85 !important;
}

/* Spinner hidden while submitting (text changes instead) */
.globo-form-app .material_filled-button .spinner {
  display: none !important;
}

/* Globo adds the generic `.loading` class to the submit button while the
   request is in flight. The site-wide `.loading:after` spinner (used for
   PLP/charity loaders) is sized/positioned for full-height containers and
   positions itself relative to whichever ancestor happens to be positioned
   (here, .g-container) — not the button — so it lands oversized and off
   -center. Give the button its own positioning context and a button-sized,
   properly centered override for this state. */
.globo-form-app .material_filled-button.loading {
  position: relative !important;
  color: transparent !important;
  pointer-events: none !important;
}

.globo-form-app .material_filled-button.loading:after {
  top: 50% !important;
  height: 1.8rem !important;
  width: 1.8rem !important;
  margin-left: -0.9rem !important;
  border: 0.2rem solid rgba(255, 255, 255, 0.35) !important;
  border-left-color: #fff !important;
}

/* Hide Previous button (single-step form) */
.globo-form-app .material_filled-button.previous {
  display: none !important;
}

/* ── Per-field error text ────────────────────────────────────── */
.globo-form-app small.messages {
  display: block !important;
  font-family: 'AktivGroteskExBasic', sans-serif !important;
  font-size: 1.2rem !important;
  margin-top: 0.4rem !important;
  min-height: 0 !important;
  color: #ea2120 !important;
  text-align: left !important;
}

/* ── Error border on invalid field ──────────────────────────── */
.globo-form-app .globo-form-control.error .material_filled-input,
.globo-form-app .globo-form-control.is-invalid .material_filled-input,
.globo-form-app .globo-form-control .material_filled-input.error,
.globo-form-app .globo-form-control .material_filled-input.is-invalid,
.globo-form-app .globo-form-control .material_filled-input:invalid:not(:placeholder-shown) {
  border-color: #ea2120 !important;
}

/* ── General form error banner ───────────────────────────────── */
.globo-form-app .message.error {
  background-color: rgb(234 33 32 / 0.07) !important;
  color: #ea2120 !important;
  border: 1px solid rgb(234 33 32 / 0.25) !important;
  border-radius: 0 !important;
  padding: 1.2rem 1.6rem !important;
  font-family: 'AktivGroteskExBasic', sans-serif !important;
  font-size: 1.3rem !important;
  margin-top: 1.6rem !important;
}

.globo-form-app .message.error .dismiss svg {
  fill: #ea2120 !important;
}

/* ── Success message ─────────────────────────────────────────── */
.globo-form-app .message.success {
  background-color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 3.2rem 2rem !important;
  text-align: center !important;
}

.globo-form-app .gfb__content-title {
  font-family: 'IvyMode', serif !important;
  font-size: 2.2rem !important;
  font-weight: 400 !important;
  color: #2f2f30 !important;
  margin-bottom: 0.8rem !important;
}

.globo-form-app .message.success .content,
.globo-form-app .message.success .gfb__content-title,
.globo-form-app .message.success .content p {
  font-family: 'AktivGroteskExBasic', sans-serif !important;
  font-size: 1.4rem !important;
  color: #2f2f30 !important;
}

/* ── Mobile ──────────────────────────────────────────────────── */
@media screen and (max-width: 749px) {
  .globo-form-app h3.title.globo-heading {
    font-size: 2.0rem !important;
    padding-top: 15px;
  }

  .globo-form-app .material_filled-button.wizard__submit {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* iOS Safari auto-zooms the viewport on focus when an input's font-size
     is under 16px — bump it up on mobile only to prevent that. */
  .globo-form-app .material_filled-input {
    font-size: var(--font-size-16) !important;
  }
}

.globo-form-app .dismiss {
  width: var(--minimum-touch-target) !important;
  height: var(--minimum-touch-target) !important;
}

/* Visible Jewelry Concierge trigger. Styling lives here (not on
   .globo-formbuilder) because that class is now only on the throwaway mount
   Globo relocates to <body>; the visible button must NOT carry it. */
.jewelry-concierge-cta {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  height: var(--height-buy-buttons) !important;
  --button-background-color: transparent !important;
  --button-color: var(--color-foreground) !important;
  --button-border-color: var(--color-foreground) !important;
  --button-border-width: 1px !important;
  text-decoration: none !important;
  font-size: var(--font-size-12) !important;
  /* iOS Safari only fires a bubbling `click` on a non-interactive element
     (this is a <div>) when it looks clickable — cursor:pointer guarantees the
     delegated document click listener receives the tap. */
  cursor: pointer !important;
}

.jewelry-concierge-cta:hover {
  --button-background-color: transparent !important;
  --button-color: var(--color-foreground) !important;
  --button-border-color: var(--color-foreground) !important;
  --button-border-width: 1px !important;
}

/* The relocated Globo mount is empty chrome (its popup/overlay/floating button
   are all fixed-positioned or hidden). Collapse it so it adds no stray space
   wherever Globo parks it — but keep it displayed so the popup can still open
   (display:none on the ancestor would hide the popup too). */
.jewelry-concierge-mount {
  display: block !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
>>>>>>> cc8d5598520407fa2fd0dcd21bd884b590d72990
