html {
  overflow-x: hidden;
}
/* HEADER */
header {
  .menu-list__link {
    font-weight: 400;
  }
  .header__icon--summary .header-drawer-icon {
    width: 2rem;
    height: 2rem;
    & svg {
      width: 100%;
      height: 100%;
    }
  }
  a.menu-list__link.menu-list__link--active {
    color: var(--color-secondary) !important;
    text-decoration: underline;
  }
  @media (max-width: 749px) {
    search-button {
      & .header-actions__action {
        color: #fdcfd4;
      }
    }
  }
}

/* FOOTER */
footer {
  & summary.menu__heading.paragraph,
  & summary {
    padding-top: 0;
    & .details-content {
      width: max-content;
    }
  }
  & .social-icons__icon-wrapper {
    & a {
      &:hover {
        color: #84bdc1;
      }
    }
  }
  & .menu {
    width: fit-content;
  }
  & .details-content {
    & ul li,
    & .social-icons__icon-wrapper {
      & a:hover {
        color: #84bdc1;
      }
    }
    & ul li a {
      font-family: var(--font-accent--family);
      position: relative;
      display: inline-block;
      text-decoration: none;

      &::after {
        content: '';
        position: absolute;
        bottom: -1px;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: currentColor;
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
      }

      &:hover::after {
        transform: scaleX(1);
      }
    }
  }
  & accordion-custom details[open]::details-content,
  & accordion-custom details[open] .details-content {
    opacity: 1;
    block-size: auto;
    padding-bottom: 1rem;
  }
  & accordion-custom summary .svg-wrapper {
    border: 1px solid #fff;
  }
  @media (max-width: 1024px) {
  }
}

/* Section */
.klaviyo-form button.needsclick {
  font-size: 15px !important;
  text-transform: uppercase;
  letter-spacing: 0.1em !important;
  font-family: var(--font-heading--family) !important;
}
.custom-section-content {
  &.border-style {
    border-inline: 0;
  }
}
/* Cart */
.cart__total-label,
.cart__total-value,
.cart-items__details > p,
.cart-items__price {
  color: #f7a400;
}
.cart-drawer .cart-drawer__summary {
  background-color: #fffaef;
}
cart-items-component .cart-items__title {
  color: #ea560c;
}
.cart__ctas .cart__checkout-button {
  color: var(--color-secondary-button-text);
  background-color: var(--color-secondary-button-background);
  box-shadow: inset 0 0 0 var(--button-border-width)
    var(--color-secondary-button-border);
  &:hover {
    color: var(--color-secondary-button-hover-text);
    background-color: var(--color-secondary-button-hover-background);
    box-shadow: inset 0 0 0 var(--button-border-width)
      var(--color-secondary-button-hover-border);
  }
}

/* Product */
.main-collection-grid__title {
  padding-bottom: 1rem;
}
.product-information__grid {
  & slideshow-controls[controls-on-media] {
    position: relative;
  }
  & .slideshow-controls__dots {
    overflow: visible;
    width: 100%;
    padding-top: 0;
    & > li {
      width: 100%;
      & button,
      & button::after {
        width: 100%;
        height: 2px;
        background-color: #f7a400;
        box-shadow: inset 0 0 0 1.5px #f7a400;
        &[aria-selected='false'] {
          opacity: 0.4;
        }
      }
    }
  }
}
.product-form-buttons {
  flex-direction: column;
}

@media (max-width: 749px) {
  .klaviyo-form button.needsclick {
    font-size: 13px !important;
  }
  product-card .product-form-buttons button,
  .button.size-style,
  .button-secondary.size-style {
    padding-block: var(--padding-lg);
    padding-inline: var(--padding-lg);
    line-height: normal;
    height: auto;
  }
  .product-information__media.sticky-content {
    position: unset;
  }
  nav.menu-drawer__navigation .menu-drawer__menu-item--mainlist {
    min-height: 0;
    font-size: 16px;
  }
}
.product-badges__badge--rectangle {
  margin-left: 0.4rem;
  display: inline;
}
/* Blogs - Article */
main[data-template='article'],
main[data-template='article.recipe'] {
  & .blog-post-content.rte,
  & .metafield-rich_text_field {
    & h1,
    & h2,
    & h3,
    & h4,
    & h5,
    & h6 {
      margin-block: 1.5em 0.5em;

      &:first-child {
        margin-block-start: 0;
      }
    }

    & p {
      margin-block: 0 1em !important;
      display: block !important;
    }

    & h3 {
      font-size: clamp(
        1.125rem,
        calc(15.923076923076923px + 0.5769230769230769vw),
        1.5rem
      );
    }

    & ul,
    & ol {
      margin-block: 0 1em;
      padding-inline-start: 1.5em;
      & li {
        margin-block-end: 0.35em;

        &:last-child {
          margin-block-end: 0;
        }
      }
    }

    & blockquote {
      margin-block: 1.5em;
      margin-inline: 0;
      padding-inline-start: 1em;
      border-inline-start: 3px solid var(--color-border, #ddd);
    }

    & iframe {
      max-width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
    }
  }
}
main[data-template='article.recipe'] {
  & .blog-post-content.rte {
    margin-inline: 0;
  }
}

ul,
ol {
  padding-inline-start: 1.5em;
}
ul {
  list-style: disc;
}
ol {
  list-style: decimal;
}

@keyframes wave-move {
  from {
    background-position-x: 0;
  }
  to {
    background-position-x: 20px;
  }
}

rte-formatter p a,
.text-block p a {
  color: inherit;
  text-decoration: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='4' viewBox='0 0 20 4'%3E%3Cpath d='M0 3 Q5 0 10 3 Q15 6 20 3' fill='none' stroke='%23f7a400' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: 20px 6px;
  padding-bottom: 3px;
  transition: background-size 0.3s ease;

  &:hover {
    animation: wave-move 0.4s linear infinite;
  }
}

/* BLOCKS */
.group-block__top-tab {
  width: 100%;
  display: flex;
  justify-content: center;
}

.group-block__top-tab::before,
.group-block__top-tab::after,
.group-block__top-tab > span {
  display: block;
}

.group-block__top-tab > span {
  width: 80%;
  height: 16px;
  background-color: var(--border-color);
  border-radius: 25px 25px 0 0;
  position: absolute;
  top: -4%;
  height: 70px;
}
