.faq-container {
  padding-top: 6rem;
}

.faq-section {
  /* display: flex; */
}

.faq-section__titles {
  position: sticky;
  top: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  list-style: none;
  flex-wrap: nowrap;
  flex-direction: column;
  gap: 0;
  margin: 0;
}

.faq-section__titles li {
  width: 100%;
  padding: .1875rem 0;
}

.faq-section__titles-wrapper {
  position: relative;
}

.faq-section__titles li a {
  font-family: 'SunnySpells', sans-serif;
  display: inline-block;
  font-size: 1.625rem;
  line-height: 1.154em;
  letter-spacing: .065rem;
  justify-content: flex-start;
  padding: 1.5rem 3.125rem;
  background: 0 0;
  text-align: left;
  width: 100%;
}

.faq-section__accordion-wrapper:not(:last-child) {
  margin-bottom: 1rem;
  border-bottom: solid 1.5px rgba(14, 25, 34, .1);
}

.faq-section__titles li:not(:last-child) {
  border-bottom: solid 1.5px rgba(73, 49, 39, 0.108);
}

.faq-section__accordion-wrapper {
  scroll-margin-top: 100px;
  padding: 1.9375rem 1.4375rem;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border: solid 1.5px rgba(14, 25, 34, 0.12);
}

.faq-section__accordion-heading {
  font-family: 'SunnySpells', sans-serif;
  margin: 0;
  padding-bottom: 1.5rem;
  width: 100%;
  /* text-transform: uppercase; */
  border-bottom: solid 1.5px currentColor;
}

.accordion-item {
  position: relative;
  -moz-transition: all .3s cubic-bezier(.5, 0, 0, 1);
  -o-transition: all .3s cubic-bezier(.5, 0, 0, 1);
  -webkit-transition: all .3s cubic-bezier(.5, 0, 0, 1);
  transition: all .3s cubic-bezier(.5, 0, 0, 1);
}

.faq-section__accordion .accordion-item:not(:last-child) {
  border-bottom: solid 1.5px rgba(14, 25, 34, .12);
}

.faq-section__accordion .accordion-header button {
  font-family: 'SunnySpells', sans-serif;
  font-size: 1.25rem;
  line-height: 1em;
  letter-spacing: .05rem;
  font-weight: 400;
  padding: 1.3125rem 0;
}

.faq-section__accordion .accordion-button {
  position: relative;
}

.faq-section__accordion .accordion-button:focus {
  z-index: 3;
  border-color: none;
  outline: 0;
  box-shadow: none;
}

.faq-section__accordion .accordion-button:not(.collapsed) {
  color: inherit;
  background-color: transparent;
  box-shadow: none;
}

.faq-section__accordion .accordion-collapse {
  font-size: 1rem;
  line-height: 1.22em;
  line-height: 1.375em;
  font-weight: 400;
  padding: 0 2.25rem 1rem 0;
}

.faq-section__accordion .accordion-button span {
  position: relative;
  flex-shrink: 0;
  -moz-border-radius: 50%;
  -o-border-radius: 50%;
  -ms-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -moz-transition: all .3s cubic-bezier(.5, 0, 0, 1);
  -o-transition: all .3s cubic-bezier(.5, 0, 0, 1);
  -webkit-transition: all .3s cubic-bezier(.5, 0, 0, 1);
  transition: all .3s cubic-bezier(.5, 0, 0, 1);
  background-color: var(--brand-color-300);
  color: #000000;
  width: 2.375rem;
  height: 2.375rem;
  margin-left: 1.25rem;
  margin-left: auto;
}

.faq-section__accordion .accordion-button span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: currentColor;
  width: .9375rem;
  height: .125rem;
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.faq-section__accordion .accordion-button span:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: currentColor;
  width: .9375rem;
  height: .125rem;
  -moz-transform: translate(-50%, -50%) rotate(90deg);
  -o-transform: translate(-50%, -50%) rotate(90deg);
  -ms-transform: translate(-50%, -50%) rotate(90deg);
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-section__accordion .accordion-button::after {
  display: none;
}

.faq-section__accordion .accordion-button span {
  transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.faq-section__accordion .accordion-button.collapsed span {
  transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
}

.accordion-item:not(:last-child) {
  border-bottom: solid 1.5px rgba(14, 25, 34, .12);
}

.faq-section__titles li:hover {
  background-color: var(--brand-color-100);
  transition: all 0.25s;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  -ms-transition: all 0.25s;
  -o-transition: all 0.25s;
}

#offcanvasFilter {
  overflow: hidden;

  .offcanvas-header {
    /* background-color: var(--brand-color-100); */
    border-bottom: 1px solid #0000006b;
    box-shadow: 0px 0px 10px 0px var(--brand-color-100);

    .offcanvas-title {
      text-transform: uppercase;
      font-family: 'SunnySpells', sans-serif;
      letter-spacing: 2px;
      display: flex;
      justify-content: center;
      align-items: center;
    }
  }

  .accordion-item {
    border: none;
  }

  .accordion-button {
    font-family: 'SunnySpells', sans-serif;
  }

  .accordion-button:not(.collapsed) {
    color: inherit;
    background-color: transparent;
    box-shadow: none;
  }

  .accordion-button:focus {
    border-color: transparent;
    box-shadow: none;
  }

  .accordion-button:not(.collapsed) {
    background-color: var(--brand-color-100);
  }

  .accordion-content {

    input[type=radio],
    input[type=checkbox] {
      margin-right: .75rem;
      /* margin-bottom: 1rem; */
      vertical-align: super;
      accent-color: var(--brand-color-300);
      cursor: pointer;
    }

    label {
      font-size: 1rem;
      cursor: pointer;
      line-height: 1.3;
      text-transform: uppercase;
      font-family: 'SunnySpells', sans-serif;
      line-height: 1.2;
      font-weight: 400;
      letter-spacing: 1px;
      display: inline-block;
      width: calc(100% - 38px);
      margin: 0 0 .75rem;
      vertical-align: middle;
      -webkit-touch-callout: none;
      -webkit-user-select: none;
      -khtml-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      width: calc(50% - 38px);
      margin: 0 0 1rem;
    }
  }

  #ProductFiltersForm {
    .offcanvas-filter__ctas {
      padding: 0.875rem 0rem;

      .offcanvas-filter__ctas-inner {
        gap: 1rem;

        button {
          background-color: #ffffff;
        }

        input {
          background-color: var(--brand-color-400);
          outline: none;
          border: none;
          color: white;
        }

        button,
        input {
          width: auto;
          flex: 1;
          padding: .3125rem;
          min-height: 2.4375rem;
          font-family: 'SunnySpells', sans-serif;
          letter-spacing: 2px;
          font-size: 1.1rem;
          /* border-radius: var(--input-radius);
          -webkit-border-radius: var(--input-radius);
          -moz-border-radius: var(--input-radius);
          -ms-border-radius: var(--input-radius);
          -o-border-radius: var(--input-radius); */

          &:hover {
            scale: 1.01;
            transition: all 0.12s;
            -webkit-transition: all 0.12s;
            -moz-transition: all 0.12s;
            -ms-transition: all 0.12s;
            -o-transition: all 0.12s;
          }
        }
      }
    }

    .accordion-item {
      border-bottom: solid 1.5px var(--brand-color-100);
    }
  }
}

.offcanvas-filter form {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-grow: 1;
  flex-shrink: 1;
  overflow: hidden;
  height: 100%;
}

#offcanvasFilter .offcanvas-title span {
  width: 2.2125rem;
  height: 2.2125rem;
  margin-right: 1.0625rem;
  border: solid 1.5px currentColor;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-border-radius: 50%;
  -o-border-radius: 50%;
  -ms-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -moz-transform: scaleX(-1);
  -o-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

li.active a.js-faq-link {
  background-color: var(--brand-color-100);
}

@media (max-width:767px) {
  .faq-section__titles li a {
    font-size: 1.125rem;
    line-height: 1.1em;
    letter-spacing: .045rem;
    justify-content: flex-start;
    padding: 0.625rem;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
  }

  .faq-section__titles li a img {
    display: none;
  }

  .faq-section__titles li {
    width: auto;
    background-color: var(--brand-color-200);
    /* border-radius: var(--input-radius);
    -webkit-border-radius: var(--input-radius);
    -moz-border-radius: var(--input-radius);
    -ms-border-radius: var(--input-radius);
    -o-border-radius: var(--input-radius); */
  }

  .faq-section__titles {
    width: auto;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 0.5rem;
  }

  .faq-section__titles li:not(:last-child) {
    border-bottom: none;
  }
}

@media (max-width:576px) {
  .faq-section__titles li a {
    font-size: 1.125rem;
    line-height: 1em;
    padding: 0.5rem 1.125rem;
    text-align: center;
  }
}
