/** Shopify CDN: Minification failed

Line 4719:96 Unexpected "="

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:about-content (INDEX:0) */
.about-content__grid {
    gap: var(--spacing-32);
  }

  .about-content__images {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-content__image {
    aspect-ratio: 280 / 360;
    object-fit: cover;
  }

  .about-content__main {
    gap: var(--spacing-32);

    .about-content__button:not(:first-child) {
      margin-block-start: -1.25rem;
    }
  }

  @media (min-width: 1024px) {
    .about-content__grid {
      display: grid;
      gap: var(--grid-row-gap) var(--grid-column-gap);
      grid-template-columns: repeat(12, minmax(0, 1fr));
      grid-template-rows: auto auto;

      .about-content__heading {
        grid-area: 1 / 1 / 1 / 6;
      }

      .about-content__main {
        grid-area: 1 / 7 / -1 / 13;
      }

      .about-content__images {
        grid-area: 2 / 1 / 2 / 6;
        margin-block-start: var(--spacing-64);
      }
    }

    .about-content__main {
      gap: var(--spacing-8);

      .about-content__button:not(:first-child) {
        margin-block-start: var(--spacing-12);
      }
    }
  }
/* END_SECTION:about-content */

/* START_SECTION:app-benefits (INDEX:1) */
.app-benefits__blocks {
    gap: var(--spacing-24);

    & + .app-benefits__links {
      margin-block-start: var(--spacing-24);
    }
  }

  .app-benefits-block {
    &:not(:first-child) {
      border-block-start: 1px solid currentColor;
      padding-block-start: var(--spacing-8);
    }
  }

  .app-benefits__links {
    gap: var(--spacing-12);

    &:not(:first-child) {
      border-block-start: 1px solid currentColor;
      padding-block-start: var(--spacing-8);
    }
  }

  .app-benefits__link {
    display: block;
    height: 36px;

    svg {
      height: 100%;
      width: auto;
    }
  }
/* END_SECTION:app-benefits */

/* START_SECTION:app-header (INDEX:2) */
.app-header__grid {
    gap: 1.375rem;
  }

  .app-header__image {
    aspect-ratio: 382 / 408;
    object-fit: cover;
  }

  .app-header__links {
    gap: var(--spacing-12);

    &:not(:first-child) {
      padding-block-start: var(--spacing-32);
    }
  }

  .app-header__link {
    display: block;
    height: 36px;

    svg {
      height: 100%;
      width: auto;
    }
  }

  .app-header__main {
    gap: 1.375rem;
  }

  .app-header__body {
    --rte-paragraph-spacing: var(--spacing-4);
  }

  .app-header__heading {
    max-width: 350px;
  }

  @media (min-width: 1024px) {
    .app-header__grid {
      column-gap: 1.25rem;
    }

    .app-header__image {
      aspect-ratio: 660 / 870;
    }

    .app-header__main {
      flex-direction: row;

      .app-header__image {
        min-width: 0;
      }

      .app-header__aside {
        flex: 1 0 260px;
      }
    }
  }
/* END_SECTION:app-header */

/* START_SECTION:awards (INDEX:3) */
.awards__grid {
    display: flex;
    gap: 1.25rem;
    margin-inline: calc(var(--container-gutter) * -1);
    overflow-x: scroll;
    padding-inline: var(--container-gutter);

    .awards-block {
      flex-basis: 70%;
      flex-shrink: 0;
    }
  }

  .awards-block {
    align-items: start;
    transition: opacity 0.25s ease-in-out;
  }

  .awards:has(.awards-block--link:hover) .awards-block:not(.awards-block--link) {
    opacity: 0.5;
  }

  .awards-block__image {
    max-height: 90px;
    width: auto;
  }

  .awards-block__footer {
    border-block-start: 1px solid currentColor;
    padding-block-start: 0.625rem;
    width: 100%;
  }

  .awards marquee-element {
    margin-inline: calc(var(--container-gutter) * -1);
    padding-inline: var(--container-gutter);

    .awards-block {
      flex-basis: 70vw;
    }
  }

  .awards__list {
    gap: var(--spacing-24);
  }

  @media (min-width: 1024px) {
    .awards__grid {
      display: grid;
      gap: 6.25rem;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
      margin-inline: 0;
      padding-inline: 0;
    }

    .awards marquee-element {
      .awards-block {
        flex-basis: 397px;
      }
    }
  }
/* END_SECTION:awards */

/* START_SECTION:blog-faqs (INDEX:4) */
.blog-faqs {
    gap: 4.625rem;
    overflow: hidden;
    padding-block: var(--spacing-32);
    z-index: 0;
  }

  .blog-faqs__background {
    background-color: var(--color-black);
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: -2;
  }

  .blog-faqs__background-image {
    mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
  }

  .blog-faqs-section {
    border-block-start: 1px solid currentColor;
    column-gap: 1.875rem;
    padding-block-start: 0.625rem;
  }

  .blog-faqs-section__content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-12);
  }

  @media (min-width: 1024px) {
    .blog-faqs {
      gap: 6rem;
      padding-block: 5.125rem;
    }

    .blog-faqs-section__content {
      gap: 4.625rem;
    }

    .blog-faqs-section__articles {
      gap: 2.75rem;
      margin-block: 1.75rem;
    }
  }
/* END_SECTION:blog-faqs */

/* START_SECTION:blog-hero (INDEX:5) */
.blog-hero {
    margin-block: 0 3.125rem;
  }

  .blog-hero__grid {
    border-block-start: 1px solid var(--color-black);
    gap: 1.875rem;
    padding-block-start: 0.625rem;
  }

  .blog-hero-articles {
    aspect-ratio: 382 / 480;
    gap: var(--spacing-12);
  }

  .blog-hero-article {
    aspect-ratio: 382 / 480;
    background-color: var(--color-black);
    color: var(--color-white);
    padding-block: var(--spacing-16);
    padding-inline: 0.625rem;
    z-index: 0;
  }

  .blog-hero-article__background {
    height: 100%;
    inset: 0;
    opacity: 0.7;
    position: absolute;
    width: 100%;
    z-index: -1;
  }

  .blog-hero-article__footer {
    gap: var(--spacing-24);
  }

  @media (min-width: 1024px) {
    .blog-hero {
      margin-block-start: 3.125rem;
    }

    .blog-hero-articles {
      aspect-ratio: 940 / 480;
      margin-block-start: 0.375rem;
      overflow: hidden;
    }

    .blog-hero-articles__pagination.blog-hero-articles__pagination {
      bottom: 1.25rem;
      color: var(--color-white);
      left: unset;
      position: absolute;
      right: 1.25rem;
      width: auto;
      z-index: 1;
    }

    .blog-hero-article {
      aspect-ratio: 940 / 480;
      padding-block: 1.25rem;
      padding-inline: 1.25rem;
    }

    .blog-hero-article__footer {
      gap: var(--spacing-40);
    }
  }
/* END_SECTION:blog-hero */

/* START_SECTION:blog-navigation (INDEX:6) */
.blog-navigation__container {
    background-color: var(--color-black);
    color: var(--color-white);
    gap: var(--spacing-48);
    padding-block: var(--spacing-16);
    padding-inline: var(--container-gutter);
  }

  .blog-navigation__header {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-12);
  }

  .blog-navigation-block {
    align-items: baseline;
    border-block-start: 1px solid currentColor;
    display: grid;
    gap: var(--spacing-12);
    grid-template-columns: minmax(0, 2fr) 1fr 1fr;
    padding-block-start: 0.375rem;

    & + & {
      margin-block-start: var(--spacing-12);
    }

    .blog-navigation-block__button {
      justify-self: end;
      grid-column: 3;
    }

    .blog-navigation__grid:has(.blog-navigation-block.is-active):not(:has(.blog-navigation-block:hover))
      &:not(.is-active) {
      opacity: 0.5;
    }

    &:not(:has(.blog-navigation-block__button)) .blog-navigation-block__subheading {
      grid-column: 1 / span 2;
      grid-area: 1 / 2 / 1 / span 2;
    }
  }

  @media (hover: hover) {
    .blog-navigation-block {
      transition: opacity 0.25s ease-in-out;

      .blog-navigation__grid:has(.blog-navigation-block:hover) &:not(:hover) {
        opacity: 0.5;
      }
    }
  }

  @media (max-width: 1023px) {
    .blog-navigation-block {
      .cta--border-top {
        border-block-start: 0;
        min-height: 0;
        padding-block-start: 0;
      }
    }
  }

  @media (min-width: 1024px) {
    .blog-navigation__container {
      align-items: center;
      display: grid;
      column-gap: 7.5rem;
      grid-template-columns: minmax(0, 3fr) minmax(0, 260px);
      padding-block: 1.25rem;
      position: relative;
    }

    .blog-navigation__header {
      grid-column: 1 / -1;
    }

    .blog-navigation__grid {
      --columns: 3;
      display: grid;
      gap: var(--spacing-48);
      grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
      padding-block: var(--spacing-12);
    }

    .blog-navigation-block {
      align-items: unset;
      display: flex;
      flex-direction: column;

      .blog-navigation:not(:has(.blog-navigation__header)) & {
        border-block-start: 0;
        gap: 1.875rem;
        padding-block-start: 0;
      }

      & + & {
        margin-block-start: 0;
      }

      &:hover,
      .blog-navigation__grid:not(:has(.blog-navigation-block:hover)) &:first-of-type {
        .blog-navigation-block__image {
          opacity: 1;
          pointer-events: auto;
        }
      }
    }

    .blog-navigation-block__footer {
      display: flex;
      gap: var(--spacing-12);
      flex-direction: column;

      .blog-navigation:not(:has(.blog-navigation__header)) & {
        margin-block-start: auto;
      }
    }

    .blog-navigation-block__image {
      bottom: 1.25rem;
      max-width: 260px;
      object-fit: cover;
      opacity: 0;
      pointer-events: none;
      position: absolute;
      right: var(--container-gutter);
      transition: opacity 0.25s ease-in-out;
      width: 100%;

      .blog-navigation__images & {
        left: 0;
        opacity: 1;
        position: relative;
        top: 0;
      }
    }

    .blog-navigation__images,
    .blog-navigation-block__image {
      aspect-ratio: 260 / 150;
    }

    .blog-navigation:not(:has(.blog-navigation__images)) {
      .blog-navigation__grid {
        --columns: 4;
        grid-column: 1 / -1;
      }
    }
  }
/* END_SECTION:blog-navigation */

/* START_SECTION:career-awards (INDEX:7) */
.career-awards__container {
    background-color: var(--color-black);
    color: var(--color-white);
    gap: var(--spacing-40);
    padding-block: 1.875rem;
  }

  .career-awards__header {
    gap: var(--spacing-32);
    max-width: 965px;
  }

  .career-awards__footer-container {
    display: contents;
  }

  .career-awards__footer {
    align-self: end;
    gap: 0.625rem;
    max-width: 190px;
  }

  .career-awards__blocks {
    gap: 1.75rem;
    margin-inline: calc(var(--container-gutter) * -1);
    overflow-x: scroll;
    padding-inline: var(--container-gutter);

    .career-awards-block {
      flex-shrink: 0;
      width: 75%;
    }
  }

  .career-awards-block {
    border-block-end: 1px solid currentColor;
    padding-block-end: 0.625rem;
  }

  .career-awards-block__image {
    max-width: 164px;

    &:not(:last-child) {
      margin-block-end: 0.625rem;
    }
  }

  @media (max-width: 1023px) {
    .career-awards__container {
      margin-inline: calc(var(--container-gutter) * -1);
      max-width: unset;
      width: auto;
    }
  }

  @media (min-width: 1024px) {
    .career-awards__container {
      gap: 4.875rem;

      .career-awards__footer-container:not(:first-child) {
        margin-block-start: var(--spacing-64);
      }
    }

    .career-awards__header {
      gap: 1.125rem;
    }

    .career-awards__blocks {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
      margin-inline: 0;
      padding-inline: 0;

      .career-awards-block {
        width: auto;
      }
    }

    .career-awards__footer-container {
      display: grid;
      gap: 1.75rem;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);

      .career-awards__footer {
        grid-column: 3;
        max-width: 100%;
      }
    }
  }

  @media (min-width: 1328px) {
    .career-awards__blocks,
    .career-awards__footer-container {
      gap: 5.125rem;
    }
  }
/* END_SECTION:career-awards */

/* START_SECTION:career-benefits (INDEX:8) */
.career-benefits__grid {
    row-gap: 1.75rem;
  }

  .career-benefits__blocks {
    gap: 1.25rem;

    & + .career-benefits__images {
      margin-block-start: var(--spacing-40);
    }
  }

  .career-benefits-block {
    &:not(:first-of-type) {
      border-block-start: 1px solid currentColor;
      padding-block-start: var(--spacing-8);
    }
  }

  .career-benefits__images {
    height: 80vw;
    gap: 0.625rem;
    margin-inline: calc(var(--container-gutter) * -1);
    overflow-x: scroll;
    padding-inline: var(--container-gutter);

    .career-benefits__image {
      max-width: unset;
      object-fit: cover;
    }
  }

  .career-benefits__button {
    background-color: var(--color-selector);
    border-block-start: 1px solid currentColor;
    padding-inline: var(--spacing-4);
    padding-block: var(--spacing-8);

    .icon {
      --size: 16px;
    }
  }

  @media (min-width: 768px) {
    .career-benefits__images {
      height: auto;

      .career-benefits__image {
        max-height: 398px;
      }
    }
  }

  @media (min-width: 1024px) {
    .career-benefits__blocks {
      & + .career-benefits__images {
        margin-block-start: 3.75rem;
      }
    }

    .career-benefits__images {
      gap: 1.25rem;
      margin-inline-start: 0;
      padding-inline-start: 0;
    }

    .career-benefits__button {
      padding-inline: 0.625rem;

      .icon {
        transition: transform 0.25s ease-in-out;
      }

      &:hover {
        .icon {
          transform: translateX(20%);
        }
      }
    }
  }
/* END_SECTION:career-benefits */

/* START_SECTION:career-expectations (INDEX:9) */
.career-expectations {
    gap: 1.25rem;
  }

  .career-expectations__slider {
    .swiper-wrapper {
      padding-inline: var(--container-gutter);
    }
  }

  .career-expectations__slide {
    transition: opacity 0.25s ease-in-out;
  }

  .career-expectations__arrow {
    .icon {
      --size: 16px;
    }
  }

  .career-expectations-block {
    border-block-start: 1px solid currentColor;
    gap: 0.625rem;
    padding-block-start: 0.625rem;
  }

  .career-expectations-block__image {
    aspect-ratio: 156 / 200;
    max-width: 138px;
    object-fit: cover;

    &:not(:first-child) {
      margin-block-start: 0.375rem;
    }
  }

  @media (hover: hover) {
    .career-expectations:has(.career-expectations__slide:hover) .career-expectations__slide:not(:hover) {
      opacity: 0.5;
    }
  }

  @media (min-width: 768px) {
    .career-expectations-block__image {
      max-width: 156px;
    }
  }
/* END_SECTION:career-expectations */

/* START_SECTION:cart-drawer (INDEX:10) */
.cart-drawer__empty {
    max-width: 300px;
  }

  .cart-drawer__header,
  .cart-drawer__body,
  .cart-drawer__footer {
    background-color: var(--color-background);
  }

  .cart-drawer__footer {
    z-index: 1;
  }

  .cart-drawer__header {
    border-block-end: 0;
    gap: 0.625rem;
    padding-block: var(--spacing-16) 1.875rem;
    padding-inline: 0.625rem;
  }

  .cart-drawer__items {
    .line-item {
      border-block-start: 1px solid var(--color-black);
      padding-block: var(--spacing-16) var(--spacing-12);
      padding-inline: 0.625rem;
    }
  }

  @media (min-width: 768px) {
    .cart-drawer {
      .drawer {
        width: 440px;
      }
    }
  }

  @media (min-width: 1024px) {
    .cart-drawer__header {
      padding-inline: 1.25rem;
    }

    .cart-drawer__items {
      .line-item {
        padding-block-end: var(--spacing-24);
        padding-inline: 1.25rem;
      }
    }
  }
/* END_SECTION:cart-drawer */

/* START_SECTION:collection-hero (INDEX:12) */
.collection-hero.collection-hero {
    margin-block: 2.875rem 1.875rem;
  }

  .collection-hero-menu {
    gap: 0.875rem;

    &:has(.collection-hero-menu__link.is-active) .collection-hero-menu__link:not(.is-active) {
      opacity: 0.5;
    }

    &:not(:first-child) {
      margin-block-start: var(--spacing-12);
    }
  }

  @media (min-width: 1024px) {
    .collection-hero.collection-hero {
      margin-block: 6.25rem var(--spacing-32);
    }

    .collection-hero__grid {
      display: grid;
      gap: var(--spacing-8) var(--grid-column-gap);
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      grid-template-rows: auto auto;
    }

    .collection-hero__description {
      grid-column: 2;
      grid-row: 1 / -1;
      justify-content: end;
    }

    .collection-hero-menu {
      gap: 1.25rem;
      grid-row: 2;
    }
  }
/* END_SECTION:collection-hero */

/* START_SECTION:contact-form (INDEX:13) */
.custom-contact-form {
    background-color: var(--color-selector);
    gap: 2.25rem;
    padding-block: var(--spacing-16);
    padding-inline: var(--spacing-16);

    .form-group {
      --row-gap: 1.875rem;
    }
  }

  .custom-contact-form__header {
    gap: var(--spacing-12);
  }

  @media (min-width: 1024px) {
    .custom-contact-form {
      padding-block: var(--spacing-24);
      padding-inline: var(--spacing-24);
    }
  }
/* END_SECTION:contact-form */

/* START_SECTION:contact-methods (INDEX:14) */
.contact-methods__blocks {
    gap: var(--spacing-24);
  }

  .contact-methods__body {
    gap: 1.875rem;
  }

  @media (min-width: 1024px) {
    .contact-methods__body {
      gap: var(--spacing-40);
    }
  }
/* END_SECTION:contact-methods */

/* START_SECTION:faqs (INDEX:16) */
.faqs__grid {
    scroll-margin-block-start: calc(var(--header-height) - 1px);

    &:has(.faqs__subheading) {
      row-gap: 0.625rem;
    }
  }

  .faqs__main {
    gap: var(--spacing-40);
  }

  .faqs__item {
    border-block-start: 1px solid var(--color-black);
    padding-block-start: var(--spacing-8);

    .faqs:not(:has(.faqs__subheading)) &:first-of-type {
      border-block-start: 0;
      padding-block-start: 0;
    }

    & + & {
      margin-block-start: 0.625rem;
    }
  }

  .faqs__button .icon__plus {
    --size: 12px;
    transition: rotate 0.25s ease-in-out;
    z-index: -1;
  }

  .faqs__item[open]:not([open='false']) {
    .faqs__button .icon__plus {
      rotate: 45deg;
    }
  }

  .faqs__body {
    margin-block: var(--spacing-12);
  }

  .faqs__heading {
    font-family: var(--font-body);
    font-size: var(--font-size-14);
    font-weight: var(--font-weight-medium);
  }

  @media (min-width: 1024px) {
    .faqs__body {
      margin-block-end: 0.375rem;
    }

    .faqs__main {
      gap: 4.625rem;
    }
  }
/* END_SECTION:faqs */

/* START_SECTION:featured-articles (INDEX:17) */
.featured-articles__list {
    gap: var(--spacing-12);
  }

  @media (min-width: 1024px) {
    .featured-articles__header {
      position: sticky;
      top: calc(var(--header-height) + 0.625rem);
    }

    .featured-articles__list {
      gap: var(--spacing-16);
    }
  }
/* END_SECTION:featured-articles */

/* START_SECTION:featured-collections (INDEX:18) */
.featured-collections__main {
    gap: var(--spacing-24);
  }

  .featured-collections__slider {
    color: var(--color-white);
    width: 100%;
  }

  .featured-collections__slide {
    aspect-ratio: 382 / 696;
    background-color: var(--color-border);
    max-height: 500px;
    padding-block: var(--spacing-48);
    padding-inline: var(--spacing-48);
    width: 100%;
    z-index: 0;

    .featured-collection {
      max-width: 217px;
      width: 100%;
    }
  }

  .featured-collections__pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
    align-self: start;
    color: currentColor;
    grid-column: 2;
    grid-row: 1;
    left: var(--container-gutter);
    position: absolute;
    top: var(--container-gutter);
    z-index: 1;
  }

  .featured-collections__background {
    filter: blur(7.5px);
    inset: 0;
    position: absolute;
    z-index: -1;
  }

  @media (min-width: 768px) {
    .featured-collections__slide {
      aspect-ratio: 940 / 480;
    }
  }
/* END_SECTION:featured-collections */

/* START_SECTION:featured-product (INDEX:19) */
.featured-product {
    --padding-block-start: 0;
    padding-block-start: var(--padding-block-start);
  }

  .featured-product__sidebar {
    gap: 1.125rem;

    .product-card {
      align-self: end;
      flex: 1;
      max-width: 68%;
    }

    .featured-product__subheading {
      max-width: 70%;
    }
  }

  .featured-product__image {
    --padding-block: 0.625rem;
    --padding-inline: 0.625rem;
    align-items: end;
    aspect-ratio: 382 / 482;
    background-color: var(--color-border-lighter);
    justify-content: end;
    overflow: hidden;
    padding-block: var(--padding-block);
    padding-inline: var(--padding-inline);
    position: relative;
    z-index: 0;
  }

  .featured-product__info {
    color: var(--color-white);
    gap: var(--spacing-24);
    left: var(--padding-inline);
    position: absolute;
    top: var(--padding-block);
    width: calc(100% - (var(--padding-inline) * 2));
    z-index: 1;
  }

  .featured-product__media {
    inset: 0;
    position: absolute;
    z-index: -1;
  }

  .featured-product__heading + .featured-product__image {
    margin-block-start: 0.625rem;
  }

  .featured-product__main {
    gap: 1.25rem;
  }

  @media (max-width: 1023px) {
    .featured-product {
      gap: 1.25rem;
    }
  }

  @media (min-width: 1024px) {
    .featured-product {
      align-items: start;
    }

    .featured-product__sidebar {
      gap: 6.25rem;
      max-width: 260px;
      position: sticky;
      top: calc(var(--header-height) + var(--padding-block-start));

      .product-card {
        align-self: start;
        flex: auto;
        max-width: 100%;
        width: 100%;
      }

      .featured-product__subheading {
        max-width: 100%;
      }
    }

    .featured-product__image {
      --padding-block: 1.25rem;
      --padding-inline: 1.25rem;
      flex: 1;
    }

    .featured-product__info {
      gap: 4.625rem;
    }

    .featured-product__heading + .featured-product__image {
      margin-block-start: 0;
    }

    .featured-product__main {
      align-items: start;
      flex-direction: row;
    }
  }
/* END_SECTION:featured-product */

/* START_SECTION:featured-products (INDEX:20) */
.featured-products {
    gap: var(--spacing-24);
  }

  .featured-products__products-container {
    margin-inline: calc(var(--container-gutter) * -1);
  }

  .featured-products__products {
    display: flex;
    gap: 0.625rem;
    overflow: auto;
    padding-inline: var(--container-gutter);
    width: 100%;

    &:not(:first-of-type) {
      position: absolute;
      top: 0;
      visibility: hidden;

      .product-card {
        visibility: hidden;
      }
    }

    .product-card {
      flex: 1 0 70%;
      max-width: 70%;
    }
  }

  .featured-products__products-button {
    transition: opacity 0.5s ease-out;

    &:not(.is-open) {
      opacity: 0.5;
    }
  }

  .featured-products__buttons {
    gap: 1.6875rem;
  }

  .featured-products__header {
    display: grid;
    gap: var(--spacing-8) var(--spacing-16);
    grid-template-columns: auto auto;
  }

  .featured-products__buttons {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .featured-products__button {
    justify-self: end;
  }

  @media (min-width: 768px) {
    .featured-products__products {
      gap: var(--spacing-16);

      .product-card {
        flex-basis: 320px;
        max-width: 320px;
      }
    }

    .featured-products__buttons {
      gap: var(--spacing-16);
    }
  }

  @media (min-width: 1024px) {
    .featured-products__header {
      align-items: baseline;
      display: flex;
      gap: var(--spacing-48);
    }

    .featured-products__button {
      margin-inline-start: auto;
    }
  }
/* END_SECTION:featured-products */

/* START_SECTION:featured-reviews (INDEX:21) */
.featured-reviews {
    marquee-element .track {
      align-items: normal;
    }
  }

  .featured-reviews-block {
    border-block-start: 1px solid var(--color-black);
    gap: var(--spacing-12);
    padding-block: 0.625rem;
    width: 360px;
  }

  .featured-reviews-block__rating {
    --rating-percentage: calc((var(--rating, 0) / 5) * 100%);
    background: linear-gradient(
      to right,
      var(--color-black) var(--rating-percentage),
      transparent var(--rating-percentage)
    );
    height: 8px;
    mask-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MiIgaGVpZ2h0PSI4IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNTIgOCI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTguMjYzIDMuMWMwIC4wOS0uMDY0LjE3Ny0uMTI5LjI0Mkw2LjMzMiA1LjEyN2wuNDI3IDIuNTJxLjAwNi4wNS4wMDUuMTAxYzAgLjEzMS0uMDYuMjUyLS4yMDQuMjUyYS40LjQgMCAwIDEtLjE5OS0uMDZsLTIuMjMtMS4xOS0yLjIzIDEuMTlhLjQuNCAwIDAgMS0uMTk4LjA2Yy0uMTQ0IDAtLjIwOC0uMTIxLS4yMDgtLjI1MnEuMDAxLS4wNS4wMS0uMWwuNDI3LTIuNTIxTC4xMjQgMy4zNDJDLjA2NCAzLjI3NyAwIDMuMTkxIDAgMy4xYzAtLjE1MS4xNTQtLjIxMi4yNzgtLjIzMkwyLjc3MSAyLjUgMy44ODguMjA3QzMuOTMzLjExIDQuMDE4IDAgNC4xMzIgMHMuMTk4LjExLjI0My4yMDdMNS40OTIgMi41bDIuNDkzLjM2OGMuMTIuMDIuMjc4LjA4MS4yNzguMjMyTTE5LjE5OCAzLjFjMCAuMDktLjA2NS4xNzctLjEzLjI0MmwtMS44MDIgMS43ODUuNDI3IDIuNTJhMSAxIDAgMCAxIC4wMDUuMTAxYzAgLjEzMS0uMDYuMjUyLS4yMDQuMjUyYS40LjQgMCAwIDEtLjE5OC0uMDZsLTIuMjMtMS4xOS0yLjIzIDEuMTlhLjQuNCAwIDAgMS0uMTk5LjA2Yy0uMTQ0IDAtLjIwOC0uMTIxLS4yMDgtLjI1MnEuMDAxLS4wNS4wMS0uMWwuNDI3LTIuNTIxLTEuODA4LTEuNzg1Yy0uMDYtLjA2NS0uMTI0LS4xNTEtLjEyNC0uMjQyIDAtLjE1MS4xNTQtLjIxMi4yNzgtLjIzMmwyLjQ5My0uMzY4TDE0LjgyMi4yMDdjLjA0NS0uMDk2LjEzLS4yMDcuMjQ0LS4yMDdzLjE5OC4xMS4yNDMuMjA3TDE2LjQyNyAyLjVsMi40OTIuMzY4Yy4xMi4wMi4yNzkuMDgxLjI3OS4yMzJNMzAuMTMyIDMuMWMwIC4wOS0uMDY1LjE3Ny0uMTMuMjQyTDI4LjIgNS4xMjdsLjQyNyAyLjUyYTEgMSAwIDAgMSAuMDA1LjEwMWMwIC4xMzEtLjA2LjI1Mi0uMjA0LjI1MmEuNC40IDAgMCAxLS4xOTgtLjA2TDI2IDYuNzVsLTIuMjMgMS4xOWEuNC40IDAgMCAxLS4xOTguMDZjLS4xNDQgMC0uMjA5LS4xMjEtLjIwOS0uMjUycS4wMDEtLjA1LjAxLS4xbC40MjctMi41MjEtMS44MDgtMS43ODVjLS4wNi0uMDY1LS4xMjQtLjE1MS0uMTI0LS4yNDIgMC0uMTUxLjE1NC0uMjEyLjI3OS0uMjMybDIuNDkyLS4zNjhMMjUuNzU3LjIwN0MyNS44LjExIDI1Ljg4NiAwIDI2IDBzLjE5OS4xMS4yNDMuMjA3TDI3LjM2MSAyLjVsMi40OTIuMzY4Yy4xMi4wMi4yNzkuMDgxLjI3OS4yMzJNNDEuMDY2IDMuMWMwIC4wOS0uMDY1LjE3Ny0uMTMuMjQybC0xLjgwMiAxLjc4NS40MjcgMi41MnEuMDA2LjA1LjAwNS4xMDFjMCAuMTMxLS4wNi4yNTItLjIwNC4yNTJhLjQuNCAwIDAgMS0uMTk4LS4wNmwtMi4yMy0xLjE5LTIuMjMgMS4xOWEuNC40IDAgMCAxLS4xOTguMDZjLS4xNDQgMC0uMjA5LS4xMjEtLjIwOS0uMjUycS4wMDEtLjA1LjAxLS4xbC40MjctMi41MjEtMS44MDctMS43ODVjLS4wNi0uMDY1LS4xMjQtLjE1MS0uMTI0LS4yNDIgMC0uMTUxLjE1NC0uMjEyLjI3OC0uMjMybDIuNDkyLS4zNjhMMzYuNjkyLjIwN0MzNi43MzUuMTEgMzYuODIgMCAzNi45MzQgMHMuMTk5LjExLjI0NC4yMDdMMzguMjk1IDIuNWwyLjQ5My4zNjhjLjExOS4wMi4yNzguMDgxLjI3OC4yMzJNNTIgMy4xYzAgLjA5LS4wNjUuMTc3LS4xMy4yNDJsLTEuODAyIDEuNzg1LjQyNyAyLjUycS4wMDYuMDUuMDA1LjEwMWMwIC4xMzEtLjA2LjI1Mi0uMjAzLjI1MmEuNC40IDAgMCAxLS4xOTktLjA2bC0yLjIzLTEuMTktMi4yMyAxLjE5YS40LjQgMCAwIDEtLjE5OC4wNmMtLjE0NCAwLS4yMDktLjEyMS0uMjA5LS4yNTJxLjAwMS0uMDUuMDEtLjFsLjQyOC0yLjUyMS0xLjgwOC0xLjc4NWMtLjA2LS4wNjUtLjEyNC0uMTUxLS4xMjQtLjI0MiAwLS4xNTEuMTU0LS4yMTIuMjc4LS4yMzJsMi40OTMtLjM2OEw0Ny42MjUuMjA3Yy4wNDUtLjA5Ni4xMy0uMjA3LjI0My0uMjA3LjExNSAwIC4xOTkuMTEuMjQ0LjIwN0w0OS4yMjkgMi41bDIuNDkzLjM2OGMuMTIuMDIuMjc4LjA4MS4yNzguMjMyIi8+Cjwvc3ZnPgo=');
    width: 52px;
  }

  .featured-reviews-block__image {
    aspect-ratio: 128 / 160;
    flex-basis: 128px;
    min-width: 0;
  }

  .featured-reviews-block__content {
    height: 100%;
    gap: var(--spacing-32);
  }

  .featured-reviews-block__footer {
    border-block-start: 1px solid var(--color-black);
    padding-block-start: var(--spacing-12);
  }

  .featured-reviews-product__thumbnail {
    width: 30px;
  }

  @media (min-width: 1024px) {
    .featured-reviews-block {
      width: 470px;
    }

    .featured-reviews-block__image {
      flex-basis: 150px;
    }
  }
/* END_SECTION:featured-reviews */

/* START_SECTION:featured-store (INDEX:22) */
.featured-store {
    overflow: hidden;
    padding-block: 9rem 5rem;
    padding-inline: var(--container-gutter);
    z-index: 0;
  }

  .featured-store__background {
    inset: 0;
    position: absolute;
    scale: 1.1;
    z-index: -1;
  }

  .featured-store-overlay {
    gap: var(--spacing-24);
    position: relative;
    z-index: 1;
  }

  .featured-store-overlay__heading {
    &:not(:last-child) {
      margin-block-end: var(--spacing-24);
    }
  }

  .featured-store-overlay__image {
    transition: scale 0.5s ease-in-out;
  }

  .featured-store-overlay__image-container {
    aspect-ratio: 216 / 280;
    overflow: hidden;

    &:hover .featured-store-overlay__image {
      scale: 1.025 !important;
    }
  }

  .featured-store-overlay__image-container,
  .featured-store-overlay__header {
    margin-inline: auto;
    max-width: 60%;
  }

  .featured-store-overlay__border {
    flex: 0 0 100%;
    margin-block-end: var(--spacing-2);
    width: 100%;

    &::before {
      content: '';
      display: block;
      height: 1px;
      background-color: currentColor;
      width: var(--width, 100%);
    }
  }

  .featured-store-overlay__button {
    &:not(:first-child) {
      margin-block-start: var(--spacing-8);
    }
  }

  @media (min-width: 1024px) {
    .featured-store {
      padding-block: 8.75rem 6rem;
    }

    .featured-store-overlay {
      margin-inline: auto;
      max-width: 580px;
    }

    .featured-store-overlay__image-container {
      aspect-ratio: 480 / 300;
    }

    .featured-store-overlay__image-container,
    .featured-store-overlay__header {
      max-width: 85%;
    }

    .featured-store-overlay__header {
      gap: var(--spacing-16);
    }

    .featured-store-overlay__button {
      &:not(:first-child) {
        margin-block-start: 0;
      }
    }
  }
/* END_SECTION:featured-store */

/* START_SECTION:featured-stores (INDEX:23) */
.featured-stores {
    aspect-ratio: 382 / 696;
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    width: 100%;
    z-index: 0;
  }

  .featured-stores__slider {
    height: 100%;
    width: 100%;
    z-index: -1;

    /**
     * Animation defaults.
     */
    swiper-slide:first-of-type {
      .thumbnail-block {
        visibility: hidden;
      }
    }
  }

  .featured-stores-slide {
    background-color: var(--color-border-lighter);
    height: 100%;
    padding-block: 0.625rem;
    padding-inline: var(--container-gutter);
    z-index: 0;

    &::before {
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 71.15%, rgba(0, 0, 0, 0.5) 100%);
      content: '';
      display: block;
      height: 100%;
      inset: 0;
      position: absolute;
      width: 100%;
    }
  }

  .featured-stores-slide__background {
    inset: 0;
    position: absolute;
    z-index: -1;
  }

  .featured-stores-slide__heading {
    max-width: 624px;

    swiper-slide:not(.swiper-slide-active) & {
      display: none;
    }
  }

  .featured-stores-pagination {
    bottom: 0.625rem;
    gap: var(--spacing-12);
    padding-inline: var(--container-gutter);
    position: absolute;
    width: 100%;
    z-index: 1;
  }

  .featured-stores-pagination__list {
    gap: 0.375rem;

    &:not(:last-child) {
      margin-block-end: var(--spacing-4);
    }
  }

  .featured-stores-store {
    line-height: 1;
    position: relative;
    padding-inline-end: 1.375rem;
    transition: opacity 0.5s ease-out;
    width: 100%;

    &:not(.is-active) {
      .featured-stores-store__container {
        opacity: 0.5;
      }

      .progress-ring {
        opacity: 0;
      }
    }

    .icon {
      --size: 16px;
      --gap: var(--spacing-8);
      margin-inline-end: calc((var(--size) + var(--gap)) * -1);
      margin-inline-start: var(--gap);
      opacity: 0;
      transition: margin-right 0.5s ease-out, opacity 0.5s ease-out;
    }

    &:hover {
      opacity: 1;

      .icon {
        margin-right: 0;
        opacity: 1;
      }
    }

    .progress-ring {
      position: absolute;
      right: 0;
      top: 50%;
      transition: opacity 0.5s ease;
      transform: translateY(-50%);
    }
  }

  @media (min-width: 1024px) {
    .featured-stores {
      aspect-ratio: 1400 / 696;
    }

    .featured-stores-slide {
      padding-block: 1.25rem;
      padding-inline: var(--container-gutter);
    }

    .featured-stores-pagination {
      max-width: 395px;
      padding-inline: 0;
      right: var(--container-gutter);
    }

    .featured-stores-pagination__list {
      &:not(:last-child) {
        margin-block-end: var(--spacing-12);
      }
    }

    .featured-stores-store {
      padding-inline-end: 0;

      .progress-ring {
        left: calc(var(--spacing-8) * -1);
        right: unset;
        transform: translate(-100%, -50%);
      }
    }
  }
/* END_SECTION:featured-stores */

/* START_SECTION:footer (INDEX:24) */
.site-footer {
    --block-gutter: var(--spacing-12);
    padding-block: var(--block-gutter) calc(var(--sticky-product-height, 0px) + var(--block-gutter));
    position: relative;
    z-index: 0;

    &:has(.site-footer__background) {
      min-height: 990px;
    }
  }

  .site-footer__background {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: -1;
  }

  .site-footer__overlay {
    background-color: var(--color-black);
    bottom: calc(var(--sticky-product-height, 0px) + var(--toolbar-height) + var(--block-gutter));
    color: var(--color-background);
    gap: 1.25rem;
    padding-block: var(--spacing-12);
    padding-inline: var(--container-gutter);
    position: sticky;

    .newsletter-form__input:-webkit-autofill {
      -webkit-box-shadow: 0 0 0 1000px var(--color-black) inset;
      -webkit-text-fill-color: var(--color-background);
    }
  }

  .site-footer__misc {
    gap: var(--spacing-8) var(--spacing-12);
    margin-block-start: var(--spacing-24);
  }

  .site-footer__social {
    margin-block-end: var(--spacing-24);
  }

  @media (min-width: 768px) {
    .site-footer {
      --block-gutter: 1.25rem;
    }

    .site-footer__overlay {
      display: grid;
      gap: var(--spacing-48);
      grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 2fr);
      grid-template-rows: 1fr auto;
      padding-block: 1.25rem;
    }

    .site-footer__columns {
      gap: var(--spacing-16);
      grid-column: 1;
      grid-row: 1;
    }

    .site-footer__posts {
      grid-column: 2;
      grid-row: 1 / -1;
    }

    .site-footer__social {
      grid-column: 3;
      grid-row: 1 / -1;
      justify-self: end;
      margin-block-end: 0;
      max-width: 380px;
      width: 100%;
    }

    .site-footer__misc {
      grid-column: 1;
      grid-row: 2;
      margin-block-start: 0;
    }
  }

  @media (min-width: 1328px) {
    .site-footer__misc {
      column-gap: var(--spacing-40);
    }
  }
/* END_SECTION:footer */

/* START_SECTION:founder-content (INDEX:25) */
.founder-content__header {
    .founder-content__heading:not(:last-child) {
      margin-block-end: var(--spacing-16);
    }
  }

  .founder-content__image {
    aspect-ratio: 525 / 689;
    object-fit: cover;
  }

  .founder-content__main {
    gap: var(--spacing-12);
  }

  @media (min-width: 1024px) {
    .founder-content__header {
      gap: 1.25rem;

      .founder-content__heading:not(:last-child) {
        margin-block-end: 0.625rem;
      }
    }

    .founder-content__main {
      align-self: end;
    }
  }
/* END_SECTION:founder-content */

/* START_SECTION:guides-hero (INDEX:26) */
.guides-hero {
    .grid {
      row-gap: var(--spacing-12);
    }
  }

  .guides-hero__header {
    border-block-start: 1px solid currentColor;
    gap: 2.875rem;
    grid-column: span 12;
    padding-block-start: var(--spacing-8);
  }

  .guides-hero__slider {
    background-color: var(--color-border-alpha-30);
  }

  .guides-hero__slider,
  .guides-hero__buttons {
    grid-column: span 12;
  }

  .guides-hero__image {
    aspect-ratio: 382 / 282;
    object-fit: cover;
  }

  .guides-hero__buttons {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
  }

  .guides-hero__button {
    --button-progress: 0;
    align-items: center;
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: subgrid;
    min-height: 46px;
    padding-block: var(--spacing-16);
    position: relative;

    &::before {
      background: linear-gradient(
        to right,
        var(--color-black) var(--button-progress, 0),
        var(--color-black-alpha-30) var(--button-progress, 0)
      );
      content: '';
      display: block;
      height: 1px;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
    }

    &::after {
      border: 1px solid var(--color-black);
      border-radius: 100%;
      content: '';
      display: block;
      height: 7px;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      transition: background-color 0.5s ease-in-out;
      width: 7px;
    }

    &.is-active {
      --button-progress: var(--progress);

      &::after {
        background-color: var(--color-black);
      }
    }
  }

  @media (min-width: 1024px) {
    .guides-hero__slider {
      grid-area: 1 / 1 / 3 / 7;
    }

    .guides-hero__header {
      grid-area: 1 / 7 / 1 / 13;
    }

    .guides-hero__buttons {
      align-self: end;
      grid-area: 2 / 7 / 2 / 13;
    }

    .guides-hero__image {
      aspect-ratio: 683 / 800;
    }

    .guides-hero__button {
      &::before {
        bottom: 0;
        top: unset;
      }
    }
  }
/* END_SECTION:guides-hero */

/* START_SECTION:half-banners (INDEX:27) */
.half-banners {
    &.grid {
      gap: 0.625rem;
    }
  }

  .half-banners-block {
    --padding-block: var(--spacing-12);
    aspect-ratio: 695 / 930;
    background-color: var(--color-border);
    color: var(--color-white);
    padding-block: var(--padding-block);
    padding-inline: var(--container-gutter);
    z-index: 0;

    &.half-banners-block--gradient-overlay::before {
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 19.71%);
      content: '';
      display: block;
      height: 100%;
      inset: 0;
      position: absolute;
      width: 100%;
      z-index: -1;
    }
  }

  .half-banners-block__overlay {
    position: sticky;
    top: calc(var(--header-height) + var(--padding-block));
  }

  .half-banners-block__background {
    inset: 0;
    position: absolute;
    z-index: -2;
  }

  @media (min-width: 1024px) {
    .half-banners-block {
      --padding-block: var(--container-gutter);
      padding-inline: var(--container-gutter);
    }
  }
/* END_SECTION:half-banners */

/* START_SECTION:header-editorial (INDEX:28) */
.header-editorial__image {
    aspect-ratio: 280 / 360;
    max-width: 280px;
    object-fit: cover;
  }

  .header-editorial__grid:has(.header-editorial__heading) {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-8);
  }

  .header-editorial__footer-heading {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-8);
  }

  @media (min-width: 1024px) {
    .header-editorial__left {
      max-width: 569px;
    }

    .header-editorial__right {
      display: grid;
      gap: 0.875rem;
      grid-template-columns: auto auto;
      padding-block-start: var(--spacing-64);

      .header-editorial__image {
        grid-column: 1;
        max-width: 100%;
      }

      .header-editorial__footer {
        align-self: end;
      }

      .header-editorial__header {
        gap: var(--spacing-12);
        grid-column: 1 / -1;
      }

      &:has(.header-editorial__header) {
        row-gap: 4.625rem;
        padding-block-start: 0;
      }
    }

    .header-editorial__footer-heading {
      border-block-start: 0;
    }
  }
/* END_SECTION:header-editorial */

/* START_SECTION:header (INDEX:29) */
.site-header {
    background-color: var(--color-background);
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 2;
  }

  .site-header__border {
    background-color: var(--color-black);
    height: 1px;
    position: relative;
    top: 1px;
    transition: width var(--border-transition-duration) var(--border-transition-easing);
    width: 0;
  }

  .site-header:has(.header-menu__toggle.is-open),
  .site-header:has(.header-menu__item.is-open),
  .site-header__element.is-scrolled {
    .site-header__border {
      width: 100%;
    }
  }

  .site-header site-header {
    display: block;
  }

  .site-header__container {
    align-items: end;
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, auto) minmax(0, auto);
    gap: var(--spacing-8);
  }

  .site-header__logo {
    line-height: 1;
    overflow: hidden;
    padding-block: var(--spacing-12);
    position: relative;
  }

  .site-header__logo-image {
    transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    width: 120px;
  }

  .site-header__brandmark {
    position: absolute;
    left: 0;
    opacity: 0;
    transform: translateY(calc(100% + var(--spacing-12)));
    transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .site-header__element {
    background-color: var(--color-background);
  }

  @media (min-width: 768px) {
    .site-header:has(.header-menu__item.is-open):has(.site-header__brandmark),
    .site-header:has(.search-overlay.is-open):has(.site-header__brandmark),
    .site-header__element.is-scrolled:has(.site-header__brandmark) {
      .site-header__logo-image {
        opacity: 0;
        transform: translateY(calc((100% + var(--spacing-12)) * -1));
      }

      .site-header__brandmark {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .site-header__border {
      position: static;
    }

    .site-header:has(.search-overlay.is-open) {
      .site-header__border {
        width: 100%;
      }
    }
  }

  .site-header__misc {
    gap: var(--spacing-8);

    .site-header__misc-link {
      white-space: nowrap;
    }
  }

  .header-toolbar {
    background-color: var(--color-background);
    left: 0;
    padding-block-end: env(safe-area-inset-bottom);
    padding-inline: var(--container-gutter);
    position: fixed;
    top: calc(100dvh - var(--toolbar-height) - env(safe-area-inset-bottom));
    width: 100%;
  }

  .header-toolbar,
  .site-header__misc {
    .site-header__misc-link {
      transition: opacity 0.3s ease-out;
      will-change: opacity;
    }

    &:has(.header-toolbar-button.is-active) .site-header__misc-link:not(.header-toolbar-button.is-active) {
      opacity: 0.4;
    }
  }

  .header-toolbar__container {
    border-block-start: 1px solid var(--color-black);
    padding-block: var(--spacing-16);
  }

  .header-toolbar-button {
    position: relative;

    .header-toolbar-button__close {
      inset: 0;
      position: absolute;
    }
  }

  .header-toolbar-button.is-active .header-toolbar-button__label,
  .header-toolbar-button:not(.is-active) .header-toolbar-button__close {
    opacity: 0;
    pointer-events: none;
  }

  @media (min-width: 768px) {
    .site-header {
      --padding-block: 0.375rem;
    }

    .site-header__container {
      border-block-end: 0;
      min-height: 44px;
    }

    .site-header__logo {
      padding-block: var(--spacing-12) 0.625rem;
    }

    .site-header__logo-image {
      width: 156px;
    }

    .site-header__misc {
      gap: var(--spacing-16);
      padding-block: 0.375rem;
    }
  }

  @media (min-width: 1024px) {
    .site-header__container {
      grid-template-columns: 0.5fr 1fr 0.5fr;
    }

    .site-header__misc {
      gap: var(--spacing-32);
    }
  }

  @media (min-width: 1328px) {
    .site-header__container {
      grid-template-columns: 0.6fr 1fr 0.5fr;
    }
  }
/* END_SECTION:header */

/* START_SECTION:hero-banner (INDEX:30) */
.hero-banner {
    aspect-ratio: 382 / 573;
    background-color: var(--color-border-lighter);
    color: var(--color-white);
    margin-block: var(--container-gutter);
    margin-inline: auto;
    padding-inline: var(--container-gutter);
    padding-block: 0.875rem;
    position: relative;
    width: calc(100% - (var(--container-gutter) * 2));
    z-index: 0;

    .product-snippet {
      color: initial;
      position: absolute;
      right: var(--container-gutter);
      top: var(--container-gutter);
      z-index: 1;
    }

    &:first-child {
      margin-block-start: 0;
    }
  }

  .hero-banner__slider {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
  }

  .hero-banner__thumbnails {
    width: 100%;

    swiper-slide {
      cursor: pointer;
      transition: opacity 0.5s ease-in-out;
    }

    swiper-slide:not(.swiper-slide-thumb-active) {
      opacity: 0.4;
    }
  }

  .hero-banner-thumbnail__subheading {
    margin-block-start: var(--spacing-16);
    padding-inline-end: var(--container-gutter);
  }

  .hero-banner__pagination {
    align-self: start;
    color: var(--current-color);
    grid-column: 2;
    grid-row: 1;
    z-index: 1;
  }

  .hero-banner__progress {
    height: 1px;
    position: relative;
    width: 100%;

    &::before,
    &::after {
      background-color: currentColor;
      content: '';
      display: block;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 0;
    }

    &::after {
      opacity: 0.5;
      width: 100%;
    }

    .swiper-slide-thumb-active &::before {
      width: var(--progress, 100%);
    }
  }

  .hero-banner__link {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
  }

  .hero-banner__slide {
    &::before {
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 71.15%, rgba(0, 0, 0, 0.5) 100%);
      content: '';
      display: block;
      height: 100%;
      inset: 0;
      position: absolute;
      width: 100%;
      z-index: 1;
    }
  }

  @media (max-width: 1023px) {
    .hero-banner {
      &:has(.swiper-slide-active .quick-add-options.is-open) {
        .hero-banner__overlay {
          visibility: hidden;
        }
      }
    }

    /**
     * Animation defaults.
     */
    .hero-banner__pagination,
    .hero-banner__thumbnails {
      visibility: hidden;
    }
  }

  @media (min-width: 1024px) {
    .hero-banner {
      aspect-ratio: 1440 / 660;
      padding-block: 1.25rem;
    }

    .hero-banner__pagination {
      display: none;
    }

    /**
     * Animation defaults.
     */
    .hero-banner-thumbnail {
      visibility: hidden;
    }
  }
/* END_SECTION:hero-banner */

/* START_SECTION:image-blocks (INDEX:31) */
.image-blocks__blocks {
    gap: 0.625rem;

    .image-block {
      flex-grow: 1;
    }
  }

  .image-block {
    gap: 0.625rem;
  }

  .image-block__image {
    aspect-ratio: 260 / 345;
    background-color: var(--color-border);
    overflow: hidden;
  }

  @media (max-width: 1023px) {
    .image-blocks__blocks {
      margin-inline: calc(var(--container-gutter) * -1);
      overflow-x: auto;
      padding-inline: var(--container-gutter);

      .image-block {
        flex-basis: 70%;
        flex-shrink: 0;
      }
    }
  }

  @media (min-width: 1024px) {
    .image-blocks__blocks {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.375rem;
    }
  }
/* END_SECTION:image-blocks */

/* START_SECTION:image-text-banner (INDEX:32) */
.image-text-banner {
    aspect-ratio: 382 / 696;
    background-color: var(--color-border);
    color: var(--color-white);
    padding-block: 0.625rem;
    padding-inline: 0.625rem;
    position: relative;
    z-index: 0;
  }

  .image-text-banner__heading--top-border {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-8);
  }

  .image-text-banner__content {
    max-width: 345px;
  }

  .image-text-banner__background {
    inset: 0;
    position: absolute;
    z-index: -1;
  }

  .image-text-banner__body {
    &.cta--border-top {
      padding-block: 0.625rem;
    }
  }

  @media (max-width: 1023px) {
    .image-text-banner__row.cta:last-child {
      margin-block-end: -0.375rem;
    }
  }

  /**
   * Animation defaults.
   */
  .image-text-banner__row {
    visibility: hidden;
  }

  @media (min-width: 1024px) {
    .image-text-banner {
      align-items: end;
      aspect-ratio: 1400 / 696;
      flex-direction: row;
      justify-content: space-between;
      padding-block: var(--container-gutter);
      padding-inline: var(--container-gutter);
    }

    .image-text-banner__content {
      gap: var(--spacing-64);
    }
  }
/* END_SECTION:image-text-banner */

/* START_SECTION:loading-screen (INDEX:33) */
.loading-screen {
    background-color: var(--color-black);
    color: var(--color-background);
    gap: var(--spacing-24);
    height: 100%;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity 0.2s ease-out;
    width: 100%;
    z-index: 12;
  }

  .show-loading-screen .loading-screen {
    opacity: 1;
    pointer-events: auto;
  }

  .loading-screen__logo,
  .loading-screen__brandmark,
  .loading-screen__tagline {
    opacity: 0;
  }

  .loading-screen__logo {
    transform: translateY(50%);
    width: 157px;
  }

  .loading-screen__brandmark {
    display: flex;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    transform: translateY(50%);
    width: 100%;

    img {
      width: 34px;
    }
  }

  .loading-screen__video {
    max-width: 345px;
    width: 100%;
  }
/* END_SECTION:loading-screen */

/* START_SECTION:long-banner (INDEX:35) */
.long-banner {
    aspect-ratio: 382 / 1044;
    background-color: var(--color-border);
    position: relative;
    z-index: 0;
  }

  .long-banner__background {
    inset: 0;
    position: absolute;
    z-index: -1;
  }

  .long-banner__product {
    align-self: end;
    color: initial;
    margin-block-end: auto;
  }

  .long-banner__overlay {
    color: var(--color-background);
    height: calc(100dvh - var(--header-height) - var(--toolbar-height));
    padding-block: var(--container-gutter);
    padding-inline: var(--container-gutter);
    position: sticky;
    top: var(--header-height);
  }

  .long-banner__heading {
    --default-font-size: var(--font-size-hxl);
    font-size: clamp(0px, 13vw, var(--default-font-size));
    margin-block-end: calc(var(--container-gutter) * 0.5 * -1);
    white-space: nowrap;
  }

  @media (min-width: 1024px) {
    .long-banner {
      aspect-ratio: 1400 / 2460;
    }

    .long-banner__overlay {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      padding-block: var(--container-gutter);
      padding-inline: var(--container-gutter);
    }

    .long-banner__heading {
      --default-font-size: var(--font-size-hxxxl);
      align-self: end;
      grid-row: 2;
      grid-column: 1 / -1;
      margin-block-end: calc(var(--container-gutter) * 2.5 * -1);
    }

    .long-banner__product {
      grid-column: 2;
      grid-row: 1;
      justify-self: end;
    }
  }
/* END_SECTION:long-banner */

/* START_SECTION:main-404 (INDEX:36) */
.main-404__container {
    --gutter: 1.25rem;
    background-color: var(--color-black);
    color: var(--color-white);
    gap: 15.375rem;
    margin-block-end: 1.25rem;
    padding-block: 1.25rem;
    padding-inline: var(--gutter);
    z-index: 0;
  }

  .main-404__background {
    height: 100%;
    inset: 0;
    opacity: 15%;
    position: absolute;
    width: 100%;
    z-index: -1;
  }

  .main-404__header {
    max-width: 420px;
  }

  .main-404-collections__block {
    .cta__text {
      filter: none;
    }
  }

  @media (min-width: 1024px) {
    .main-404__container {
      gap: 10.3125rem;
      padding-block: 1.875rem;
    }
  }
/* END_SECTION:main-404 */

/* START_SECTION:main-article (INDEX:40) */
.main-article__inner {
    border-block-start: 1px solid currentColor;
    padding-block-start: 0.625rem;

    &:not(:has(.main-article__content)) {
      margin-block-end: 18rem;
    }
  }

  .main-article__left {
    gap: var(--spacing-12);
  }

  .main-article__center {
    margin-block: var(--spacing-12) 5rem;
  }

  .main-article__gallery {
    display: flex;
    margin-inline: calc(var(--container-gutter) * -1);
    overflow-x: scroll;

    .main-article__image {
      flex: 1 0 80%;
      min-width: 0;
    }
  }

  .main-article__image {
    aspect-ratio: 420 / 543;
    object-fit: cover;
  }

  .main-article__content {
    &:not(:first-child) {
      margin-block-start: 0.375rem;
    }
  }

  .article-products {
    display: block;
    margin-block: var(--spacing-40);
    margin-inline-start: auto;
    max-width: 190px;
    position: relative;
  }

  .article-products__pagination.article-products__pagination {
    bottom: unset;
    color: var(--color-white);
    left: 0.875rem;
    top: 0.875rem;
    position: absolute;
    z-index: 1;
  }

  .related-articles {
    border-block-start: 1px solid currentColor;
    margin-block: var(--spacing-40);
    padding-block-start: 0.625rem;
  }

  .related-articles__list {
    gap: 0.625rem;
    margin-inline: calc(var(--container-gutter) * -1);
    overflow-x: scroll;
    padding-inline: var(--container-gutter);

    .related-articles__item {
      flex: 1 0 80%;
      width: 80%;
    }
  }

  @media (min-width: 768px) {
    .related-articles {
      margin-block: 3.125rem;
      padding-block-start: 1.125rem;
    }

    .related-articles__list {
      .related-articles__item {
        flex: 1 0 320px;
        max-width: 320px;
      }
    }
  }

  @media (min-width: 1024px) {
    .main-article__inner {
      align-items: start;
      display: grid;
      gap: 5.625rem;
      grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) 190px;
      margin-block: 3.125rem 5rem;
      padding-block-start: var(--spacing-12);
    }

    .main-article__gallery {
      flex-wrap: wrap;
      gap: 0.625rem;
      margin-inline: 0;
    }

    .main-article__center {
      align-self: end;
      bottom: 5rem;
      justify-self: end;
      margin-block: 0;
      max-width: 415px;
      position: sticky;
      width: 100%;

      .article-title {
        margin-block-start: var(--spacing-24);
      }
    }

    .article-products {
      margin-block: 0;
    }

    .main-article__left,
    .article-products {
      position: sticky;
      top: calc(var(--header-height) + var(--spacing-12));
    }
  }
/* END_SECTION:main-article */

/* START_SECTION:main-blog (INDEX:41) */
.main-blog__element {
    scroll-margin-block-start: calc(var(--header-height) - 2px);
  }

  .main-blog {
    scroll-margin-block-start: calc(var(--header-height) - 2px);

    .pagination:last-child {
      margin-block-end: 0;
    }
  }

  .main-blog__grid {
    border-block-start: 1px solid currentColor;
    gap: var(--spacing-24);
    padding-block-start: var(--spacing-12);
  }

  .main-blog__tags {
    gap: var(--spacing-4) var(--spacing-24);
    margin-inline: calc(var(--container-gutter) * -1);
    overflow-x: scroll;
    padding-inline: var(--container-gutter);
    white-space: nowrap;
  }

  .main-blog__tag {
    opacity: 0.5;

    &.is-active {
      opacity: 1;
    }
  }

  .main-blog__articles {
    gap: 1.875rem;
  }

  @media (min-width: 1024px) {
    .main-blog__grid {
      display: grid;
      grid-template-columns: minmax(0, auto) auto;
      grid-template-rows: auto auto;
      padding-block-start: 1.125rem;
    }

    .main-blog__heading {
      grid-column: 1;
      grid-row: 1;
    }

    .main-blog__tags {
      flex-wrap: wrap;
      grid-column: 2;
      grid-row: 1;
      justify-content: end;
    }

    .main-blog__results {
      grid-column: 1 / -1;
      grid-row: 2;
    }

    .main-blog__articles {
      gap: var(--spacing-32) 1.25rem;
    }
  }
/* END_SECTION:main-blog */

/* START_SECTION:main-cart (INDEX:42) */
@media (min-width: 768px) {
    .main-cart-grid {
      gap: var(--spacing-40);
    }
  }

  @media (min-width: 1024px) {
    .main-cart-grid {
      gap: var(--spacing-64);
    }
  }
/* END_SECTION:main-cart */

/* START_SECTION:main-login (INDEX:45) */
#recover:not(:target) {
    display: none;
  }

  #recover:target ~ #customer_login {
    display: none;
  }

  #recover,
  #customer_login {
    /**
     * Accounts for the header height plus the margin.
     */
    scroll-margin-top: calc(73px + var(--spacing-40));
  }
/* END_SECTION:main-login */

/* START_SECTION:main-product (INDEX:49) */
.main-product__gallery {
    margin-inline: calc(var(--container-gutter) * -1);
    position: relative;

    .main-product__title {
      bottom: calc(var(--spacing-4) * -1);
      color: var(--color-background);
      left: var(--container-gutter);
      position: absolute;
      z-index: 1;
    }
  }

  .main-product__body {
    gap: var(--spacing-12);
    margin-block: 1.875rem;
  }

  .main-product__grid {
    gap: 1.25rem;

    .main-product-info {
      &:not(:first-child) {
        margin-block-start: 0.625rem;
      }
    }
  }

  .main-product__column {
    display: contents;
  }

  .product-details__body {
    gap: var(--spacing-40);

    &:has(.quote:last-child:not(:empty)) {
      padding-block-end: 0;
    }

    .quote {
      border-block-start: 1px solid var(--color-black);
      margin-inline: -0.625rem;
      padding-block: 1.25rem;
      padding-inline: 0.625rem;

      &:empty {
        display: none;
      }
    }
  }

  .product-details__description {
    gap: 1.25rem;
  }

  .product-drawer__body {
    gap: 3.25rem;
  }

  .main-product__buttons {
    gap: var(--spacing-12);
  }

  .main-product__details-button {
    gap: var(--spacing-8);
    margin-inline-end: var(--spacing-12);
  }

  .sticky-product {
    background-color: var(--color-background);
    bottom: var(--toolbar-height, 0);
    left: 0;
    position: fixed;
    transform: translateY(100%);
    transition: transform 0.25s ease-in-out;
    width: 100%;
    z-index: 1;

    &.is-active {
      transform: translateY(0);
    }
  }

  .sticky-product__container {
    border-block-start: 1px solid var(--color-black);
    padding-block: 0.3125rem;
    position: relative;
  }

  .sticky-product__form {
    flex: 1 1 56%;
    gap: 2.625rem;

    .product-buttons,
    .button {
      flex: 1;
    }
  }

  .sticky-product__image {
    width: 50px;
  }

  @media (max-width: 767px) {
    .sticky-product__form {
      &:has(.shopify-block) {
        .product-buttons,
        .button {
          flex: 0 1 56%;
          margin-inline-start: auto;
        }
      }
    }
  }

  @media (min-width: 768px) {
    .sticky-product__form {
      flex-basis: 60%;
      justify-content: end;
      gap: 0.875rem;

      .product-buttons,
      .button {
        max-width: 686px;
      }
    }

    .sticky-product__image {
      width: 75px;
    }
  }

  @media (min-width: 1024px) {
    .main-product__gallery {
      margin-inline: 0;

      .main-product__title {
        bottom: -0.5rem;
        font-size: 5rem;
      }
    }

    .main-product__body {
      gap: 1.125rem;
      margin-block: 1.375rem;
    }

    .main-product__column {
      display: flex;
      flex-direction: column;
      gap: 3.125rem;
    }

    .main-product__grid {
      display: grid;
      gap: 3.125rem var(--spacing-64);
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

      .quote {
        margin-inline: -0.875rem;
        padding-inline: 0.875rem;
      }
    }

    .product-details__description {
      margin-block-end: auto;
    }

    .product-details__body {
      gap: var(--spacing-16);

      .quote {
        padding-block: 0.875rem;
      }
    }

    .product-drawer__body {
      gap: 5rem;

      &:has(.product-drawer__description) {
        padding-block-start: var(--spacing-8);
      }
    }

    .product-drawer__description {
      padding-inline-end: var(--spacing-24);
    }

    .main-product__reviews-drawer {
      .drawer-body {
        padding-block-start: 0.875rem;
      }
    }
  }
/* END_SECTION:main-product */

/* START_SECTION:main-search (INDEX:52) */
.main-search__empty {
    gap: 1.25rem;
  }

  @media (min-width: 1024px) {
    .main-search__empty {
      gap: var(--spacing-24);
    }
  }
/* END_SECTION:main-search */

/* START_SECTION:menu (INDEX:53) */
.menu__grid {
    gap: var(--spacing-32);

    .menu__image:not(:first-child) {
      margin-block-start: calc(var(--spacing-12) * -1);
    }
  }

  .menu__image {
    aspect-ratio: 275 / 362;
    max-width: 190px;
    object-fit: cover;
  }

  .menu__groups {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 3fr) minmax(0, auto) minmax(0, auto) minmax(0, 0.5fr);
  }

  @media (min-width: 768px) {
    .menu__grid {
      align-items: start;
      display: grid;
      gap: var(--spacing-64) var(--grid-column-gap);
      grid-template-columns: repeat(12, minmax(0, 1fr));

      .menu__heading {
        grid-area: 1 / 1 / 1 / 6;
      }

      .menu__groups {
        grid-area: 1 / 7 / 3 / 13;
      }

      .menu__image {
        align-self: end;
        grid-area: 2 / 1 / 2 / 4;

        &:not(:first-child) {
          margin-block-start: 0;
        }
      }
    }

    .menu__image {
      max-width: 275px;
      width: 100%;
    }

    .menu__groups {
      gap: var(--spacing-32);
    }
  }
/* END_SECTION:menu */

/* START_SECTION:newsletter-hero (INDEX:54) */
.newsletter-hero {
    margin-block: var(--spacing-40);

    &:first-child {
      margin-block-start: 0;
    }
  }

  .newsletter-hero__image {
    height: 100%;
    inset: 0;
    opacity: 0.7;
    position: absolute;
    width: 100%;
    z-index: -1;
  }

  .newsletter-hero__container {
    aspect-ratio: 382 / 570;
    background-color: var(--color-black);
    padding-block: 0.875rem;
    padding-inline: 0.875rem;
    z-index: 0;
  }

  .newsletter-hero__overlay {
    background-color: var(--color-background);
    max-width: 310px;
    padding-block: 0.875rem;
    padding-inline: 0.875rem;
  }

  @media (min-width: 1024px) {
    .newsletter-hero__container {
      aspect-ratio: 1400 / 696;
      justify-content: start;
      padding-block: 1.25rem;
      padding-inline: 1.25rem;
    }

    .newsletter-hero__overlay {
      max-width: 395px;
      padding-block: var(--spacing-32) 1.25rem;
      padding-inline: 1.25rem;
    }
  }
/* END_SECTION:newsletter-hero */

/* START_SECTION:page-header (INDEX:55) */
.page-header__container {
    background-color: var(--color-black);
    color: var(--color-white);
    overflow: hidden;
    padding-block: var(--spacing-8) 1.125rem;
    z-index: 0;
  }

  .page-header__content {
    max-width: 320px;
    padding-block-start: 9.5rem;

    .rich-text {
      border-block-start: 1px solid currentColor;
      font-size: var(--font-size-14);
      line-height: 1.1667;
      padding-block-start: var(--spacing-8);

      &:not(:first-child) {
        margin-block-start: var(--spacing-8);
      }
    }
  }

  .page-header__image {
    align-self: end;
    aspect-ratio: 216 / 280;
    max-width: 180px;
    object-fit: cover;
  }

  .page-header__background {
    height: 100%;
    scale: 1.1;
    inset: 0;
    opacity: 0.7;
    position: absolute;
    width: 100%;
    z-index: -1;
  }

  @media (min-width: 768px) {
    .page-header__container {
      align-items: end;
      flex-direction: row-reverse;
      gap: var(--spacing-16);
      justify-content: start;
      padding-block: 3.125rem 1.25rem;
    }

    .page-header__content {
      max-width: 540px;
      padding-block-start: 0;

      .rich-text:not(:first-child) {
        margin-block-start: var(--spacing-32);
      }
    }

    .page-header__image {
      margin-inline-start: auto;
      max-width: 216px;
    }
  }
/* END_SECTION:page-header */

/* START_SECTION:page-hero (INDEX:56) */
.page-hero {
    &:first-child {
      margin-block-start: 0;
    }
  }

  .page-hero__container {
    gap: 0.625rem;
  }

  .page-hero__image {
    background-color: var(--color-black);
    color: var(--color-background);
    overflow: hidden;
    padding-block: 6rem 0.625rem;
    padding-inline: 0.625rem;
    z-index: 0;
  }

  .page-hero__background {
    height: 100%;
    filter: blur(15px);
    scale: 1.1;
    inset: 0;
    opacity: 0.7;
    position: absolute;
    width: 100%;
    z-index: -1;
  }

  .page-hero__header {
    gap: 0.375rem;
  }

  @media (min-width: 1024px) {
    .page-hero {
      --navigation-max-width: 395px;
    }

    .page-hero__image {
      align-items: end;
      grid-area: 1 / 1 / span 2 / -1;
      padding-block: 10.375rem 1.25rem;
      padding-inline: 1.25rem;
    }

    .page-hero__header {
      color: var(--color-background);
      gap: var(--spacing-12);
      max-width: calc(100% - var(--navigation-max-width) - var(--spacing-64));

      .page-anchors {
        margin-block-end: var(--spacing-4);
      }
    }

    .page-hero__navigation {
      align-self: end;
      grid-area: 2 / 1 / 2 / -1;
      color: var(--color-background);
      margin-inline-start: auto;
      max-width: var(--navigation-max-width);
      padding-block: 1.25rem;
      padding-inline: 1.25rem;
      z-index: 1;
    }

    .page-hero__container {
      display: grid;
      grid-template-rows: 10.375rem auto;
    }
  }
/* END_SECTION:page-hero */

/* START_SECTION:press-quotes (INDEX:58) */
.press-quotes__list {
    &:has(+ .press-quotes__button) {
      border-block-end: 1px solid var(--color-black);
      padding-block-end: var(--spacing-8);
    }
  }

  .press-quotes-block {
    border-block-start: 1px solid var(--color-black);
    column-gap: 0;
    display: grid;
    grid-template-columns: min-content auto;
    padding-block-start: 1.25rem;
    padding-block: var(--spacing-12) var(--spacing-16);
  }

  .press-quotes-block__quote {
    display: grid;
    grid-area: auto / 1 / auto / span 2;
    grid-template-columns: subgrid;
  }

  .press-quotes-block__footer {
    grid-area: auto / 2;
    justify-self: start;
    width: 100%;
  }

  .press-quotes__subheading + .press-quotes__list {
    margin-block-start: var(--spacing-32);
  }

  .press-quotes__image {
    aspect-ratio: 293 / 366;
    margin-block-start: auto;
    max-width: 293px;
    object-fit: cover;

    .press-quotes:has(.press-quotes__button) & {
      margin-block-end: 1.625rem;
    }
  }

  @media (min-width: 1024px) {
    .press-quotes__list {
      border-block-start: 0;
      padding-block-start: 0;
    }

    .press-quotes__main {
      gap: 0.625rem;
    }

    .press-quotes__subheading + .press-quotes__list {
      margin-block-start: 3.75rem;
    }

    .press-quotes-block {
      padding-block: var(--spacing-8) var(--spacing-16);

      .press-quotes:not(:has(.press-quotes__subheading)) &:first-of-type {
        border-block-start: 0;
        padding-block-start: 0;
      }

      &:last-of-type {
        padding-block-end: 0;
      }
    }
  }
/* END_SECTION:press-quotes */

/* START_SECTION:private-hire (INDEX:59) */
.private-hire {
    gap: 1.25rem;
  }

  .private-hire__main {
    gap: var(--spacing-32);
  }

  .private-hire__header {
    gap: var(--spacing-24);
  }

  .private-hire-locations {
    gap: 1.25rem;
  }

  .private-hire-locations__heading {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-8);
  }

  .private-hire-locations__list {
    gap: var(--spacing-40);
  }

  .private-hire-block {
    display: flex;
    gap: var(--spacing-8);
  }

  .private-hire-block__image {
    aspect-ratio: 127 / 172;
    background-color: var(--color-border);
    flex: 1 0 127px;
    max-width: 127px;
    object-fit: cover;
  }

  .private-hire-block__main {
    display: grid;
    flex: 1;
    gap: var(--spacing-12);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 1fr auto auto;

    .private-hire-block__header,
    .private-hire-block__body {
      grid-column: 1 / -1;
    }

    .private-hire-block__header {
      margin-block-end: auto;
    }
  }

  .private-hire-block__body {
    border-block: 1px solid currentColor;
    padding-block: var(--spacing-8);
  }

  .private-hire-block__book {
    justify-self: end;
  }

  .private-hire-drawer {
    gap: 0;
    padding-block-end: 0;

    & > .flex-body {
      padding-block: var(--spacing-16);
    }
  }

  .private-hire-drawer__header {
    border-block-end: 1px solid currentColor;
    padding-block-end: var(--spacing-16);
  }

  .private-hire-drawer__introduction + .private-hire-drawer-form {
    display: block;
    margin-block-start: var(--spacing-64);
  }

  .private-hire-drawer__introduction {
    gap: 1.75rem;

    .rte .container {
      padding-inline: 0;
    }
  }

  .private-hire-drawer__row {
    border-block-start: 1px solid currentColor;
    display: grid;
    gap: var(--spacing-12);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 37px;
    padding-block: var(--spacing-8);

    label,
    .private-hire-drawer__info-label,
    .private-hire-drawer__info-value {
      margin-block: 4px;
    }
  }

  .private-hire-drawer-form__form {
    gap: 1.25rem;

    &:not(.is-success) .private-hire-drawer-form__success,
    &:not(.is-error) .private-hire-drawer-form__error {
      display: none;
    }

    input,
    textarea,
    select {
      border-block: 0;
      font-size: 0.875rem !important;
      min-height: 0;
      padding-block: 0;

      &:placeholder-shown,
      &[type='datetime-local']:invalid {
        opacity: 0.5;
      }

      &::placeholder {
        font-size: 0.875rem !important;
      }
    }

    select:invalid {
      opacity: 0.5;
    }
  }

  .private-hire-drawer-gallery {
    color: var(--color-white);
    gap: 1.25rem;
    height: 100%;
    justify-content: center;
    left: 0;
    opacity: 0;
    padding-block: var(--spacing-48);
    padding-inline: 5rem 1.25rem;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: opacity 0.25s ease-in-out;
    width: calc(100% - 720px);

    .dialog-window.is-open .private-hire-drawer & {
      opacity: 1;
      transition-delay: 0.125s;
    }
  }

  .private-hire-drawer-gallery__slider {
    margin-inline-end: -1.25rem;
    pointer-events: auto;

    swiper-container {
      width: 100%;
    }
  }

  .private-hire-drawer-gallery__image {
    aspect-ratio: 352 / 456;
    object-fit: cover;
  }

  .private-hire-drawer-gallery__link {
    pointer-events: auto;
  }

  @media (min-width: 1024px) {
    .private-hire__main {
      gap: var(--spacing-40);
    }

    .private-hire__header {
      gap: var(--spacing-8);
      max-width: 670px;
      padding-block-start: 7.75rem;
    }

    .private-hire__image {
      aspect-ratio: 480 / 744;
      margin-inline: calc(var(--container-gutter) * -1);
      object-fit: cover;
    }

    .private-hire__image-column {
      margin-inline: calc(var(--container-gutter) * -1);
      position: sticky;
      top: var(--header-height);
    }

    .private-hire-locations__list {
      gap: 1.25rem;
    }

    .private-hire-block {
      align-items: end;
      gap: var(--spacing-16);
    }

    .private-hire-block__image {
      flex: 1 0 200px;
      max-width: 200px;
    }

    .private-hire-block__main {
      border-block: 1px solid currentColor;
      row-gap: 0;
      grid-template-columns: 1fr auto;
      grid-template-rows: auto auto;
      padding-block: 0.625rem;

      &::before {
        background-color: currentColor;
        content: '';
        display: block;
        height: 1px;
        grid-column: 1 / -1;
        grid-row: 2;
        margin-block: 2.375rem 0.625rem;
      }

      .private-hire-block__header,
      .private-hire-block__link {
        grid-row: 1;
      }

      .private-hire-block__header,
      .private-hire-block__body {
        grid-column: 1;
      }

      .private-hire-block__link,
      .private-hire-block__book {
        grid-column: 2;
        align-self: start;
        margin-block-start: var(--spacing-4);
      }

      .private-hire-block__body {
        grid-row: 3;
      }
    }

    .private-hire-block__body {
      border-block: 0;
      max-width: 316px;
      padding-block: 0;
    }

    .private-hire-drawer__row {
      min-height: 37px;
    }
  }
/* END_SECTION:private-hire */

/* START_SECTION:product-guide (INDEX:60) */
.product-guide {
    border-block-start: 1px solid currentColor;
    display: block;
    margin-block-start: var(--spacing-24);
  }

  .product-guide__navigation {
    border-block-end: 1px solid currentColor;
    padding-block: var(--spacing-12);
  }

  .product-guide__prev-next {
    overflow: hidden;

    .icon {
      --size: 16px;
    }
  }

  .product-guide__nav-link {
    &:not(.is-active) {
      opacity: 0.5;
    }
  }

  .product-guide__header {
    margin-block: var(--spacing-16) var(--spacing-40);

    &:first-child {
      margin-block-start: 0;
    }
  }

  .product-guide-video {
    background-color: var(--color-black);
    color: var(--color-white);
    margin-block: var(--spacing-40);
    padding-block: 1.125rem;
    padding-inline: 1.25rem;

    .modal {
      color: initial;
    }

    &:first-child {
      margin-block-start: 0;
    }
  }

  .product-guide-video__thumbnail {
    aspect-ratio: 340 / 134;
    background-color: var(--color-border-alpha-30);
    overflow: hidden;
    position: relative;

    .icon__play {
      --size: 45px;
      border: 1px solid currentColor;
      border-radius: 100%;
      left: 50%;
      padding-block: var(--spacing-4);
      padding-inline: var(--spacing-4);
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%);
      z-index: 1;
    }
  }

  .product-guide-video__label {
    border-block-end: 1px solid currentColor;
    padding-block-end: var(--spacing-8);
  }

  .product-guide-video__heading {
    margin-block-start: 1.75rem;
  }

  .product-guide-video__video {
    max-height: 480px;
  }

  .product-guide-steps {
    .product-guide-step {
      margin-block: var(--spacing-40);
    }
  }

  .product-guide__sidebar {
    display: contents;
  }

  @media (min-width: 1024px) {
    .product-guide {
      border-block-start: 0;
      display: grid;
      gap: 0 var(--grid-column-gap);
      grid-template-columns: repeat(12, minmax(0, 1fr));
      margin-block-start: 0;
      margin-block-end: 5rem;

      &.is-active {
        max-height: calc(100dvh - var(--header-height));
      }
    }

    .product-guide-steps {
      grid-column: 5 / span 9;
      grid-row: 1 / 4;
      margin-block: 1.25rem;
      margin-inline-end: calc(var(--container-gutter) * -1);
      overflow: hidden;
      padding-inline-end: var(--container-gutter);
    }

    .product-guide-steps__track {
      height: calc(100dvh - var(--header-height) - 100px);
      display: flex;
      gap: var(--grid-column-gap);

      .product-guide-step {
        flex: 1 0 90%;
        margin-block: 0;
        width: 90%;
      }
    }

    .product-guide__sidebar {
      grid-column: 1 / span 4;
      height: 100%;
      overflow: auto;
      padding-block-end: var(--spacing-32);
    }

    .product-guide__navigation {
      border-block-end: 0;
      padding-block-end: 0;
    }

    .product-guide-video {
      margin-block-start: 1.875rem;
      max-width: 160px;
      padding-block: 0.625rem;
      padding-inline: 0.625rem;
    }

    .product-guide-video__thumbnail {
      aspect-ratio: 140 / 80;

      .icon__play {
        --size: 27px;
      }
    }

    .product-guide__sidebar {
      display: block;
    }

    .product-guide-requirements {
      padding-block-end: var(--spacing-24);
    }
  }
/* END_SECTION:product-guide */

/* START_SECTION:product-guides (INDEX:61) */
.product-guides__header {
    margin-block-end: 1.125rem;
  }

  .product-guides__image {
    aspect-ratio: 460 / 604;
  }

  .product-guides__content {
    gap: var(--spacing-24);
    max-width: 260px;
  }

  .product-guides__content-body {
    gap: 0.625rem;
  }

  .product-guides__body {
    border-block-start: 1px solid var(--color-black);
    padding-block-start: 0.625rem;
  }

  .product-guides__thumbnails {
    height: 35px;
    margin-block-end: 0.625rem;
    position: relative;

    .product-guides__thumbnail {
      top: 0;
      left: 0;
      position: absolute;

      &:not(.is-active) {
        opacity: 0;
        pointer-events: none;
      }
    }
  }

  .product-guides__arrows {
    gap: var(--spacing-16);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
  }

  .product-guides__arrow {
    .icon {
      --size: 16px;
    }

    &:disabled {
      cursor: not-allowed;
      opacity: 0.5;
    }
  }

  .product-guides__thumbnail {
    cursor: default;
    padding-block: var(--spacing-12);
    position: relative;

    &::before {
      background: linear-gradient(
        to right,
        var(--color-black) var(--progress, 0),
        var(--color-black-alpha-30) var(--progress, 0)
      );
      bottom: 0;
      content: '';
      display: block;
      height: 1px;
      left: 0;
      position: absolute;
      width: 100%;
    }
  }

  .product-guides {
    swiper-container {
      width: 100%;

      & + swiper-container {
        margin-block-start: 1.25rem;
      }
    }
  }

  @media (max-width: 1023px) {
    product-guides:not(.is-playing) {
      .product-guides__thumbnail {
        &::before {
          display: none;
        }
      }

      .product-guides__thumbnails {
        border-block-end: 1px solid var(--color-black);
      }
    }
  }

  @media (min-width: 1024px) {
    .product-guides {
      display: grid;
      gap: var(--spacing-16) var(--grid-column-gap);
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .product-guides__header {
      grid-column: 1 / -1;
      grid-row: 1;
      margin-block-end: 0;
    }

    .product-guides__image-slider {
      grid-column: 1;
      grid-row: 2 / 4;
      margin-inline-start: 0;
      max-width: 66%;
    }

    .product-guides__content-slider {
      grid-column: 2;
      grid-row: 3;
      align-self: end;
    }

    .product-guides__content {
      max-width: 293px;
    }

    .product-guides__thumbnails {
      grid-column: 2;
      grid-row: 2;
      height: auto;

      .product-guides__thumbnail {
        position: relative;

        &:not(.is-active) {
          opacity: unset;
          pointer-events: unset;
        }
      }
    }

    .product-guides__thumbnail {
      cursor: pointer;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
      padding-block: 1.125rem;

      &:not(.is-active) {
        --progress: 0;
      }

      &::after {
        border: 1px solid var(--color-black);
        border-radius: 100%;
        content: '';
        display: block;
        height: 7px;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        transition: background-color 0.5s ease-in-out;
        width: 7px;
      }

      &.is-active {
        &::after {
          background-color: var(--color-black);
        }
      }
    }

    product-guides:not(.is-playing) {
      .product-guides__thumbnail.is-active {
        --progress: 100%;
      }
    }
  }
/* END_SECTION:product-guides */

/* START_SECTION:product-recommendations (INDEX:62) */
.product-recommendations__products-container {
    margin-inline: calc(var(--container-gutter) * -1);
    overflow: hidden;

    &:not(:first-child) {
      margin-block-start: 1.875rem;
    }
  }

  .product-recommendations__products {
    display: flex;
    gap: 0.625rem;
    overflow: auto;
    padding-inline: var(--container-gutter);
    width: 100%;

    &:not(:first-of-type) {
      position: absolute;
      top: 0;
      visibility: hidden;

      .product-card {
        visibility: hidden;
      }
    }

    .product-card {
      flex: 1 0 70%;
      max-width: 70%;
    }
  }

  @media (min-width: 1024px) {
    .product-recommendations__products {
      gap: var(--spacing-16);

      .product-card {
        flex-basis: 320px;
        max-width: 320px;
      }
    }
  }
/* END_SECTION:product-recommendations */

/* START_SECTION:publications (INDEX:63) */
.publications {
    background-color: var(--color-black);
    color: var(--color-white);
    gap: 1.25rem;
    padding-block: 1.25rem var(--spacing-40);
  }

  .publications__heading {
    max-width: 988px;
  }

  @media (min-width: 1024px) {
    .publications {
      gap: var(--spacing-40);
      padding-block-end: 5rem;
    }
  }
/* END_SECTION:publications */

/* START_SECTION:referral-banner (INDEX:64) */
.referral-banner {
    background-color: var(--color-selector);

    &:last-child {
      margin-block-end: 0;
    }
  }

  .referral-banner__image {
    aspect-ratio: 186 / 239;
    width: 48%;
  }

  .referral-banner__main {
    gap: var(--spacing-12);
  }

  .referral-banner__content {
    gap: 0.625rem;
  }

  .referral-banner__subheading {
    margin-block-end: auto;
  }

  @media (min-width: 1024px) {
    .referral-banner__image {
      width: 40%;
    }
  }
/* END_SECTION:referral-banner */

/* START_SECTION:search-hero (INDEX:65) */
.search-hero {
    border-block-end: 1px solid var(--color-black);
    margin-block: 2.875rem 1.25rem;
    padding-block-end: 1.25rem;
  }

  @media (min-width: 1024px) {
    .search-hero {
      margin-block: 6.25rem var(--spacing-32);
      padding-block-end: var(--spacing-12);
    }
  }
/* END_SECTION:search-hero */

/* START_SECTION:store-details (INDEX:66) */
.store-details {
    background-color: var(--color-black);
    color: var(--color-background);
    padding-block: 1.25rem var(--spacing-40);
  }

  .store-details__grid {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-8);
  }

  .store-details__row {
    & + & {
      margin-block-start: 1.125rem;
    }

    &:not(:first-of-type) {
      border-block-start: 1px solid currentColor;
      padding-block-start: var(--spacing-8);
    }
  }

  @media (max-width: 1023px) {
    .store-details__grid {
      row-gap: 2.875rem;
    }
  }

  @media (min-width: 1024px) {
    .store-details__row {
      & + & {
        margin-block-start: var(--spacing-24);
      }
    }

    .store-details__contacts {
      flex-direction: row;
      justify-content: space-between;
    }
  }
/* END_SECTION:store-details */

/* START_SECTION:store-editorial (INDEX:67) */
.store-editorial__grid {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-8);
  }

  .store-editorial__body {
    gap: 2.75rem;
    margin-block: 2.75rem;
  }

  .store-editorial__header {
    gap: 1.25rem;
  }

  .store-editorial__image {
    aspect-ratio: 402 / 280;
    object-fit: cover;
    width: 100%;
  }

  .store-editorial__content {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-8);
  }

  .store-editorial-gallery {
    align-self: end;
    max-width: 190px;
  }

  .store-editorial-gallery__image {
    aspect-ratio: 300 / 389;
    object-fit: cover;
  }

  .store-editorial-gallery__slider {
    width: 100%;
  }

  @media (min-width: 1024px) {
    .store-editorial__grid {
      display: grid;
      gap: 5.125rem var(--grid-column-gap);
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .store-editorial__header {
      grid-column: 1 / -1;
    }

    .store-editorial__body {
      align-items: end;
      margin-block: 0;
      grid-area: 2 / 7 / 2 / 13;
    }

    .store-editorial__image-container {
      max-width: 402px;
    }

    .store-editorial-gallery {
      grid-area: 2 / 1 / 2 / 7;
      max-width: 300px;
    }
  }
/* END_SECTION:store-editorial */

/* START_SECTION:store-hero (INDEX:68) */
.store-hero {
    scroll-margin-block-start: calc(var(--section-margin) + var(--header-height));
  }

  .store-hero__images {
    margin-inline: calc(var(--container-gutter) * -1);
  }

  .store-hero__image-list {
    margin-block-end: -1px;

    &:not([data-keen-slider-disabled]) {
      -webkit-touch-callout: none;
      -webkit-tap-highlight-color: transparent;
      align-content: flex-start;
      display: flex;
      overflow: hidden;
      position: relative;
      touch-action: pan-y;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      -khtml-user-select: none;
      width: 100%;

      .product-gallery-slide {
        min-height: 100%;
        overflow: hidden;
        position: relative;
        width: 100%;
      }

      &[data-keen-slider-reverse] {
        flex-direction: row-reverse;
      }

      &[data-keen-slider-v] {
        flex-wrap: wrap;
      }
    }
  }

  .store-hero__image {
    aspect-ratio: 394 / 511;
    object-fit: cover;
    visibility: hidden;
  }

  .store-hero__header:not(:last-child) {
    margin-block-end: var(--spacing-48);
  }

  .store-hero__excerpt {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-16);

    .container {
      max-width: 100%;
      padding-inline: 0;
    }
  }

  .store-hero__row {
    border-block-start: 1px solid currentColor;
    min-height: 32px;
    padding-block: var(--spacing-4);
  }

  .store-hero__content:not(:first-child) {
    margin-block-start: 1.375rem;
  }

  .store-hero-coming-soon {
    background-color: var(--color-black);
    color: var(--color-background);
    display: grid;
    gap: 1.25rem var(--spacing-12);
    grid-auto-rows: max-content;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    padding-block: 1.25rem;
    padding-inline: 1.25rem;

    .cta {
      gap: var(--spacing-4);
    }

    .success {
      color: var(--color-white);
    }

    .newsletter-form__field {
      border-block-end-color: currentColor;
      border-block-start: 0;
    }
  }

  .store-hero-coming-soon__image {
    aspect-ratio: 145 / 184;
    background-color: var(--color-border);
  }

  .store-hero-coming-soon__list {
    gap: 0.375rem;
  }

  .store-hero-coming-soon__list-item {
    &::before {
      border: 1px solid currentColor;
      border-radius: 100%;
      content: '';
      display: inline-block;
      height: 7px;
      margin-inline-end: 0.375rem;
      width: 7px;
    }
  }

  .store-hero-coming-soon__row {
    border-block-start: 1px solid currentColor;
    display: flex;
    flex-direction: column;
    gap: 0.1875rem;
    grid-column: 1 / -1;
    padding-block-start: var(--spacing-8);
  }

  @media (min-width: 1024px) {
    .store-hero {
      display: grid;
      gap: 1.875rem var(--spacing-40);
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .store-hero__header {
      grid-area: 1 / 1 / 1 / 5;
    }

    .store-hero__details {
      grid-area: 2 / 1 / 2 / 5;
      margin-block-start: auto;
    }

    .store-hero__images {
      display: flex;
      gap: var(--spacing-16);
      grid-area: 1 / 5 / span 2 / 13;
      margin-inline: 0;

      .store-hero__image-list {
        flex-grow: 1;
        margin-block-end: 0;
        width: 55%;
      }

      .store-hero-coming-soon {
        flex: 1 0 400px;
        max-width: 50%;
        width: 45%;
      }
    }

    .store-hero__content {
      grid-area: 3 / 5 / 3 / 13;

      &:not(:first-child) {
        margin-block-start: 0;
      }

      .store-hero:not(:has(.store-hero__images)) & {
        align-self: end;
        grid-row: 1 / span 2;
      }
    }
  }
/* END_SECTION:store-hero */

/* START_SECTION:store-locator (INDEX:69) */
.store-locator__header {
    gap: var(--spacing-24);
  }

  .store-locator__map-container {
    z-index: 0;
  }

  .store-locator__map {
    height: 600px;
  }

  .store-locator__search {
    mapbox-search-box {
      [class*='SearchBox'] {
        --colorBackground: transparent;
        --colorBackgroundHover: transparent;
        --colorBackgroundActive: transparent;
        --boxShadow: none;
        --fontFamily: inherit;
        --colorText: inherit;
        font-weight: var(--font-weight-light);
      }

      [class*='SearchIcon'],
      [class*='ActionIcon'] {
        display: none;
      }
    }

    input {
      border-inline: 1px solid currentColor;
      line-height: 1;
      min-height: 34px;
      padding-inline: 0.625rem;
    }
  }

  .store-locator-marker {
    display: none;
    height: 43px;
    width: 43px;

    &.mapboxgl-marker {
      display: block;
    }

    .store-locator-marker__pin {
      height: 100%;
      width: 100%;
    }

    .store-locator-marker__pin--active {
      display: none;
    }

    &.is-active {
      height: 70px;
      width: 59px;

      .store-locator-marker__pin--active {
        display: block;
      }

      .store-locator-marker__pin--inactive {
        display: none;
      }
    }
  }

  .store-locator-overlay {
    align-items: start;
    background-color: var(--color-black);
    bottom: 0;
    color: var(--color-background);
    display: grid;
    gap: 1.25rem var(--spacing-12);
    grid-auto-rows: max-content;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    max-height: calc(100% - var(--spacing-40));
    left: 0;
    overflow-y: scroll;
    padding-block: var(--spacing-16);
    padding-inline: var(--spacing-8);
    position: absolute;
    width: 100%;
    z-index: 2;

    &:not(.is-active) {
      display: none;
    }

    .cta {
      gap: var(--spacing-4);
    }
  }

  .store-locator-overlay__image {
    aspect-ratio: 145 / 184;
    background-color: var(--color-border);
    max-width: 140px;
  }

  .store-locator-overlay__close {
    position: absolute;
    top: var(--spacing-12);
    right: var(--spacing-12);

    .icon {
      --size: 12px;
    }
  }

  .store-locator-overlay__list {
    gap: 0.375rem;
  }

  .store-locator-overlay__list-item {
    &::before {
      border: 1px solid currentColor;
      border-radius: 100%;
      content: '';
      display: inline-block;
      height: 7px;
      margin-inline-end: 0.375rem;
      width: 7px;
    }
  }

  .store-locator-overlay__row {
    border-block-start: 1px solid currentColor;
    display: flex;
    flex-direction: column;
    gap: 0.1875rem;
    grid-column: 1 / -1;
    padding-block-start: var(--spacing-8);
  }

  @media (min-width: 1024px) {
    .store-locator__header {
      align-items: end;
      flex-direction: row-reverse;
      gap: var(--spacing-40);
    }

    .store-locator__search {
      max-width: 420px;
    }

    .store-locator__map {
      height: 709px;
    }

    .store-locator-marker {
      height: 50px;
      width: 50px;

      &.is-active {
        height: 77px;
        width: 66px;
      }
    }

    .store-locator-overlay {
      bottom: var(--spacing-24);
      left: 1.25rem;
      height: auto;
      max-height: calc(100% - (var(--spacing-24) * 2));
      padding-block: var(--spacing-16) 1.25rem;
      padding-inline: 1.25rem;
      top: unset;
      max-width: 400px;
    }

    .store-locator-overlay__image {
      max-width: 160px;
    }
  }
/* END_SECTION:store-locator */

/* START_SECTION:store-showcase (INDEX:70) */
.store-showcase {
    display: grid;
    gap: var(--spacing-8) 1.25rem;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }

  .store-showcase__image {
    aspect-ratio: 155 / 200;
    object-fit: cover;
  }

  .store-showcase__image--primary {
    height: 100%;
  }

  .store-showcase__primary {
    margin-inline-start: calc(var(--container-gutter) * -1);
  }

  .store-showcase__secondary {
    align-self: end;
    height: 100%;
    grid-column: 2;

    .store-showcase__image {
      height: 100%;
    }
  }

  .store-showcase__center {
    grid-column: 1 / -1;
  }

  .store-showcase__header {
    margin-block: var(--spacing-32);
  }

  .store-showcase__footer {
    align-items: end;
    display: grid;
    gap: var(--spacing-8);
    grid-template-columns: subgrid;
  }

  .store-showcase__image--footer {
    max-width: 80px;
    min-width: 0;
  }

  .store-showcase__footer-images {
    gap: 0.375rem;
    grid-column: 2;
    justify-content: end;
  }

  .store-showcase__heading {
    line-height: 100%;
    max-width: 99%;
  }

  @media (min-width: 1024px) {
    .store-showcase {
      gap: 0.625rem;
      grid-template-columns: minmax(0, 1.5fr) minmax(0, 2fr) minmax(0, 1fr);
    }

    .store-showcase__center {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      grid-column: 2;
      grid-row: 1;
    }

    .store-showcase__header {
      padding-inline-start: var(--spacing-24);
    }

    .store-showcase__footer {
      display: flex;
      gap: 0.625rem;
      flex-direction: row-reverse;
      justify-content: start;
    }

    .store-showcase__footer-images {
      gap: 0.625rem;
    }

    .store-showcase__image--footer {
      max-width: 155px;
    }

    .store-showcase__secondary {
      align-self: start;
      grid-column: 3;
      height: auto;
    }

    .store-showcase__heading {
      font-size: var(--font-size-60);
      line-height: 90%;
      max-width: 100%;
    }
  }

  @media (min-width: 1328px) {
    .store-showcase__heading {
      font-size: var(--font-size-hxxl);
    }
  }
/* END_SECTION:store-showcase */

/* START_SECTION:stores-marquee (INDEX:71) */
.stores-marquee {
    gap: var(--spacing-24);
    margin-block: 5rem;
  }

  .stores-marquee__marquee {
    margin-inline: calc(var(--container-gutter) * -1);

    marquee-element .track {
      align-items: end;
    }
  }

  .stores-marquee-block {
    border-block-start: 1px solid var(--color-black);
    padding-block-start: 0.625rem;
  }

  .stores-marquee-block__content {
    min-width: 300px;
  }

  .stores-marquee-block__thumbnail {
    aspect-ratio: 160 / 202;
    width: 127px;
  }

  .stores-marquee-block__header {
    gap: 0.375rem;
  }

  .stores-marquee-block__footer {
    border-block-start: 1px solid var(--color-black);
    padding-block-start: 0.625rem;

    .rte {
      --rte-paragraph-spacing: 0;
    }
  }

  @media (min-width: 1024px) {
    .stores-marquee {
      gap: 1.25rem;
    }

    .stores-marquee-block__thumbnail {
      width: 160px;
    }
  }
/* END_SECTION:stores-marquee */

/* START_SECTION:subscription-banner (INDEX:72) */
.subscription-banner {
    background-color: var(--color-selector);
  }

  .subscription-banner__container {
    gap: var(--spacing-12);
  }

  .subscription-banner__grid {
    display: grid;
    gap: var(--spacing-16) var(--grid-column-gap);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .subscription-banner__image {
    aspect-ratio: 186 / 243;
  }

  .subscription-banner__subheading,
  .subscription-banner-options,
  .subscription-banner__button {
    grid-column: 1 / -1;
  }

  .subscription-banner__subheading {
    &:not(:last-child) {
      margin-block-end: var(--spacing-16);
    }
  }

  .subscription-banner__button {
    &:not(:first-child) {
      margin-block-start: var(--spacing-12);
    }
  }

  .subscription-banner__benefit {
    align-items: center;
    border-block-start: 1px solid currentColor;
    display: flex;
    gap: var(--spacing-12);
    padding-block: var(--spacing-8);

    &::before {
      border: 1px solid currentColor;
      border-radius: 100%;
      content: '';
      display: block;
      flex-shrink: 0;
      height: 8px;
      width: 8px;
    }
  }

  .subscription-banner-options__blocks {
    width: 100%;
  }

  .subscription-banner-option {
    aspect-ratio: 126 / 134;
    background-color: var(--color-background);
    border-block: var(--subscription-banner-option-border-width, 1px) solid
      var(--subscription-banner-option-border-color, currentColor);
    border-inline-end: var(--subscription-banner-option-border-width, 1px) solid
      var(--subscription-banner-option-border-color, currentColor);
    overflow: hidden;
    position: relative;

    &:first-of-type {
      border-inline-start: var(--subscription-banner-option-border-width, 1px) solid
        var(--subscription-banner-option-border-color, currentColor);
    }
  }

  .subscription-banner-option__inner {
    background-clip: content-box;
    height: 100%;
    padding-block: var(--spacing-24);
    padding-inline: var(--spacing-12);
    z-index: 0;
  }

  .subscription-banner-option__image {
    inset: 0;
    position: absolute;
    z-index: -1;
  }

  @media (hover: hover) {
    .subscription-banner-option__inner {
      scale: 1.1;
      transition: filter 0.25s ease-in-out;
      will-change: filter;

      .cta {
        scale: 0.909;
      }
    }

    .subscription-banner-options:hover .subscription-banner-option:not(:hover) {
      .subscription-banner-option__inner {
        filter: blur(2px);
        -webkit-filter: blur(2px);
      }
    }
  }

  @media (min-width: 1024px) {
    .subscription-banner__container {
      gap: var(--spacing-24);
    }

    .subscription-banner__grid {
      align-items: start;
      grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) minmax(0, 2fr);
      grid-template-rows: auto auto 1fr;
    }

    .subscription-banner__image {
      grid-column: 1;
      grid-row: 1 / -1;
      max-width: 95%;
    }

    .subscription-banner__subheading,
    .subscription-banner__benefits,
    .subscription-banner-options {
      grid-column: 2;
    }

    .subscription-banner-options {
      align-self: end;
      grid-row: 3;
    }

    .subscription-banner-options__blocks {
      width: auto;
    }

    .subscription-banner-option {
      aspect-ratio: 188 / 200;
      max-width: 188px;
    }

    .subscription-banner-option__inner {
      padding-block: var(--spacing-32);
    }

    .subscription-banner__button {
      align-self: end;
      grid-column: 3;
      grid-row: 3;
    }

    .subscription-banner__subheading {
      &:not(:last-child) {
        margin-block-end: var(--spacing-8);
      }
    }

    .subscription-banner__button {
      &:not(:first-child) {
        margin-block-start: 0;
      }
    }

    .subscription-banner__benefits {
      display: grid;
      gap: 0 1.25rem;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
  }
/* END_SECTION:subscription-banner */

/* START_SECTION:subscription-builder (INDEX:73) */
.shopify-section-subscription-builder {
    margin-block-end: var(--spacing-32);
  }

  .subscription-builder {
    scroll-margin-block-start: var(--header-height);

    &:not(.is-active) :is(.subscription-builder-breadcrumbs, .subscription-builder-step:not(name=cover)),
    &.is-active .subscription-builder__cover {
      display: none;
    }
  }

  .subscription-builder-step__aside {
    align-items: start;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .subscription-builder-step {
    &:not(.is-active) {
      display: none;
    }
  }

  .subscription-builder-step__options {
    display: flex;
    gap: 0.625rem;
    flex-direction: column;
    width: 100%;
  }

  .subscription-builder-step__next {
    &:disabled {
      cursor: not-allowed;
      opacity: 0.5;
    }
  }

  .subscription-builder-summary {
    width: 100%;
  }

  .subscription-builder-summary__items {
    counter-reset: summary-counter;
  }

  .subscription-builder-summary__item {
    border-block-start: 1px solid currentColor;
    counter-increment: summary-counter;
    min-height: 32px;
    padding-block: var(--spacing-4);
  }

  .subscription-builder-summary__label {
    &::before {
      content: counter(summary-counter, decimal-leading-zero) '.';
      display: inline-block;
    }
  }

  .subscription-builder-add-on {
    border-block: 1px solid currentColor;
    display: grid;
    gap: var(--spacing-24);
    grid-template-columns: minmax(0, 80px) 1fr;
    padding-block: var(--spacing-12);

    &:has([name='id']:not(:disabled)) + .subscription-builder-add-on:has([name='id']:not(:disabled)) {
      border-block-start: 0;
    }
  }

  .subscription-builder-add-on__body {
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .subscription-builder-add-on__price {
    grid-area: 1 / 2;
    justify-self: end;
    text-align: right;
  }

  .subscription-builder-add-on__remove {
    grid-area: 2 / 2;
    justify-self: end;
    text-align: right;
  }

  .subscription-builder-add-on__quantity {
    grid-area: 2;
    justify-self: start;
  }

  .subscription-builder-step__loading {
    color: var(--color-border);
    margin-block: var(--spacing-48);
    text-align: center;
  }

  .subscription-builder-breadcrumbs {
    position: relative;
    z-index: 1;
  }

  .subscription-builder__start--floating {
    bottom: calc((var(--toolbar-height) + env(safe-area-inset-bottom)) - 1px);
    left: var(--container-gutter);
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity 0.25s ease-in-out;
    width: calc(100% - var(--container-gutter) * 2);
    z-index: 2;

    &.is-active {
      opacity: 1;
      pointer-events: auto;
    }
  }

  @media (min-width: 1024px) {
    .subscription-builder {
      align-items: start;
      display: grid;
      gap: 1.875rem;
      grid-template-columns: minmax(0, 2fr) minmax(0, 450px);
      grid-template-rows: minmax(0, auto) minmax(0, 1fr);
      max-height: calc(100dvh - var(--header-height) - var(--spacing-24));
    }

    .subscription-builder-breadcrumbs {
      grid-area: 1 / 2;
    }

    .subscription-builder-step {
      display: grid;
      row-gap: 3.75rem;
      grid-area: 1 / 1 / -1 / -1;
      grid-template-columns: subgrid;
      grid-template-rows: subgrid;
      margin-block-end: var(--spacing-24);
    }

    .subscription-builder-step__hero {
      aspect-ratio: 920 / 900;
      background-color: var(--color-black);
      display: grid;
      grid-area: 1 / 1 / -1;
      height: 100%;
      position: relative;
      width: 100%;
      z-index: 0;

      .subscription-builder-hero {
        grid-area: 1 / -1;
        height: 100%;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.25s ease-in-out;

        &.is-active {
          opacity: 1;
          pointer-events: auto;
        }

        &:not(:has(.subscription-builder-hero__image)) {
          background-color: transparent;
        }
      }
    }

    .subscription-builder-step__hero-background {
      height: 100%;
      inset: 0;
      object-fit: cover;
      position: absolute;
      width: 100%;
      z-index: -1;
    }

    .subscription-builder-step__aside {
      grid-area: 2 / 2;
    }

    .subscription-builder__start--floating {
      display: none;
    }
  }
/* END_SECTION:subscription-builder */

/* START_SECTION:text-banner (INDEX:74) */
.text-banner__container {
    gap: 1.375rem;
  }

  .text-banner__button {
    &.width-full {
      margin-block-start: calc(var(--spacing-24) * -1);
    }
  }

  @media (min-width: 1024px) {
    .text-banner__button {
      &.width-full {
        margin-block-start: var(--spacing-64);
      }
    }
  }
/* END_SECTION:text-banner */

/* START_SECTION:upsells (INDEX:75) */
.upsells {
    gap: 0.625rem;

    .product-upsells {
      width: 100%;

      &:not(:first-child) {
        margin-block-start: 1.875rem;
      }
    }
  }

  @media (min-width: 1024px) {
    .upsells {
      align-items: start;
      display: grid;
      gap: var(--spacing-48) var(--grid-column-gap);
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

      .upsells__heading {
        grid-column: 2;
      }

      .product-upsells {
        grid-column: 2;

        &:not(:first-child) {
          margin-block-start: 0;
        }
      }
    }
  }
/* END_SECTION:upsells */

/* START_SECTION:usps (INDEX:76) */
.usps-block {
    gap: var(--spacing-40);

    &:hover {
      .usps-block__heading::before {
        background-color: currentColor;
      }
    }
  }

  .usps-block__heading {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-8);

    &::before {
      border: 1px solid currentColor;
      border-radius: 100%;
      content: '';
      display: block;
      height: 6px;
      margin-inline-start: var(--spacing-4);
      transition: background-color 0.25s ease-in-out;
      width: 6px;
    }
  }

  .usps-block__body {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-8);
  }

  @media (min-width: 1024px) {
    .usps {
      gap: var(--spacing-64);
    }

    .usps-block {
      gap: var(--spacing-64);
      min-height: 100px;
    }
  }
/* END_SECTION:usps */

/* START_SECTION:video-banner (INDEX:77) */
.video-banner {
    aspect-ratio: 382 / 527;
    display: block;
    max-height: 527px;
    width: 100%;
  }

  .video-banner__controls {
    gap: var(--spacing-12);
    left: 1.25rem;
    position: absolute;
    top: 1.125rem;
    z-index: 1;
  }

  .video-banner__pause {
    align-items: center;
    border: 1px solid var(--color-white);
    border-radius: 100%;
    color: var(--color-white);
    display: flex;
    height: 28px;
    justify-content: center;
    width: 28px;

    .icon {
      --size: 18px;
    }

    &.is-active .icon__pause,
    &:not(.is-active) .icon__play {
      display: none;
    }
  }

  .video-banner__mute {
    color: var(--color-white);

    &.is-active .icon__unmuted,
    &:not(.is-active) .icon__muted {
      display: none;
    }
  }

  @media (min-width: 1024px) {
    .video-banner {
      aspect-ratio: 1400 / 787;
      max-height: 787px;
    }

    .video-banner__controls {
      top: 1.25rem;
    }
  }
/* END_SECTION:video-banner */

/* CSS from block stylesheet tags */
/* START_BLOCK:_accordion-item (INDEX:79) */
.accordion-item {
    border-block: 1px solid var(--color-border);
    padding-block: 0.875rem;

    & + & {
      border-block-start: 0;
    }
  }

  .accordion-item__button {
    .icon {
      --size: 12px;
    }
  }

  .accordion-item__body {
    margin-block-start: var(--spacing-8);
  }
/* END_BLOCK:_accordion-item */

/* START_BLOCK:_blog-faqs-article (INDEX:84) */
.blog-faqs-article {
    .cta {
      gap: var(--spacing-8);
    }
  }

  .blog-faqs-article__thumbnail {
    aspect-ratio: 128 / 172;
    background-color: var(--color-border);
    flex: 0 1 46%;
  }

  .blog-faqs-article__line {
    border-block-start: 1px solid currentColor;
    padding-block: var(--spacing-8) var(--spacing-16);

    &:last-child {
      padding-block-end: 0;
    }
  }

  @media (min-width: 1024px) {
    .blog-faqs-article {
      gap: var(--spacing-16);
    }
  }
/* END_BLOCK:_blog-faqs-article */

/* START_BLOCK:_cart-discount (INDEX:87) */
.cart-discount__remove {
    .icon {
      --size: 16px;
      pointer-events: none;
    }

    &:disabled {
      cursor: not-allowed;
      opacity: 0.5;
    }
  }

  .cart-discount__discount {
    background-color: var(--color-black);
    color: var(--color-white);
    font-size: var(--font-size-12);
    font-weight: var(--font-weight-regular);
    padding-block: var(--spacing-4);
    padding-inline: var(--spacing-8);

    .icon {
      --size: 14px;
    }
  }
/* END_BLOCK:_cart-discount */

/* START_BLOCK:_cart-information (INDEX:88) */
.cart-information {
    &[open='true'],
    &[open]:not([open='false']) {
      .cart-information__button {
        .icon {
          rotate: 180deg;
        }
      }
    }
  }

  .cart-information__button {
    .icon {
      --size: 12px;
    }
  }

  .cart-information__body {
    --rte-paragraph-spacing: 0.375rem;
    margin-block-start: 0.625rem;

    p:empty {
      display: inline-block;
    }
  }
/* END_BLOCK:_cart-information */

/* START_BLOCK:_cart-progress (INDEX:90) */
.cart-progress__bar {
    background-color: var(--color-border-alpha-30);
    height: 2px;
    position: relative;
    width: 100%;

    &::before {
      background-color: var(--color-black);
      content: '';
      display: block;
      height: 100%;
      left: 0;
      top: 0;
      transition: width 0.25s ease-in-out;
      width: var(--progress, 0);
    }
  }

  .cart-progress__title {
    align-items: center;
    background-color: var(--color-selector);
    display: flex;
    justify-content: center;
    min-height: 30px;
    padding-inline: var(--spacing-12);
    text-align: center;
  }
/* END_BLOCK:_cart-progress */

/* START_BLOCK:_cart-recommendations (INDEX:91) */
.cart-recommendations {
    display: none;

    &.is-active {
      display: block;
    }
  }

  .cart-recommendations__container {
    gap: var(--spacing-12);
    padding-block: 1.875rem;
  }

  .cart-recommendations__header,
  .cart-recommendations__products {
    padding-inline: 0.625rem;
  }

  .cart-recommendations__products {
    overflow-x: auto;

    .product-card {
      flex: 1 0 60%;
    }
  }

  @media (min-width: 768px) {
    .cart-recommendations {
      background-color: var(--color-background);
      border-inline-end: 1px solid var(--color-black);
      display: block;
      height: 100%;
      left: 0;
      opacity: 0;
      pointer-events: none;
      overflow-y: auto;
      position: absolute;
      top: 0;
      transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
      width: 280px;
      z-index: -1;

      .cart-drawer.is-open &.is-active {
        opacity: 1;
        pointer-events: auto;
        transform: translateX(-100%);
        transition-delay: 0.125s;
      }
    }

    .cart-recommendations__container {
      gap: 1.25rem;
      padding-block: 1.25rem;
      padding-inline: var(--spacing-24);
    }

    .cart-recommendations__header {
      padding-inline: 0;
    }

    .cart-recommendations__products {
      gap: var(--spacing-40);
      flex-direction: column;
      padding-inline: 0;

      .product-card {
        flex: auto;
      }
    }
  }
/* END_BLOCK:_cart-recommendations */

/* START_BLOCK:_cart-summary (INDEX:92) */
.cart-summary {
    padding-block-end: 0.625rem;

    shopify-accelerated-checkout-cart {
      --shopify-accelerated-checkout-button-border-radius: 3px;
      --shopify-accelerated-checkout-button-inline-size: 38px;
    }

    #shopify-buyer-consent {
      display: none;
    }
  }

  .cart-summary__buttons {
    margin-block-start: var(--spacing-2);
  }

  .cart-summary-note__input {
    border: 0;
    padding-block: 0;
  }

  .cart-summary-row {
    gap: 0.375rem;

    input,
    textarea {
      padding-inline: 0;

      &::placeholder {
        font-family: var(--text-14-book-font-family);
        font-weight: var(--text-14-book-font-weight);
        font-size: var(--text-14-book-font-size);
        letter-spacing: var(--text-14-book-letter-spacing);
        line-height: var(--text-14-book-line-height);
        text-transform: none;
      }
    }
  }

  .cart-summary-row__content {
    padding-block: var(--spacing-8) var(--spacing-12);
  }

  .cart-summary-row {
    border-block-start: 1px solid var(--color-black);
    padding-block: var(--spacing-8) var(--spacing-12);
  }

  @media (min-width: 1024px) {
    .cart-summary {
      padding-block-end: 1.25rem;
    }
  }
/* END_BLOCK:_cart-summary */

/* START_BLOCK:_collection-banner (INDEX:94) */
.collection-banner {
    background-color: var(--color-black-alpha-30);
    gap: 0.625rem;
    height: 100%;
    overflow: hidden;
    padding-block: var(--spacing-16);
    padding-inline: 0.625rem;
    position: relative;
    z-index: 0;

    &:has(.collection-banner__background)::before {
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 51.67%, rgba(0, 0, 0, 0.6) 110.12%);
      content: '';
      display: block;
      height: 100%;
      inset: 0;
      position: absolute;
      width: 100%;
      z-index: -1;
    }
  }

  .collection-banner__background {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: -2;
  }

  .collection-banner__heading {
    max-width: 100%;
  }

  .collection-banner__body {
    max-width: 100%;
  }

  .collection-banner__button {
    &.cta--border-top {
      margin-block-end: calc(var(--spacing-12) * -1);
      width: 100%;
    }

    &:not(:first-child) {
      margin-block-start: 1.25rem;
    }
  }

  @media (min-width: 768px) {
    .collection-banner {
      padding-inline: 1.25rem;
    }

    .collection-banner__button {
      max-width: 100%;
    }
  }
/* END_BLOCK:_collection-banner */

/* START_BLOCK:_collection-carousel (INDEX:97) */
.collection-carousel {
    height: 100%;
    position: relative;
    z-index: 0;
  }

  .collection-carousel__controls {
    left: 0;
    padding-inline: 0.625rem;
    position: absolute;
    top: 0.625rem;
    width: 100%;
    z-index: 2;
  }

  .collection-carousel__progress-bars {
    gap: 0.625rem;
  }

  .collection-carousel-pause {
    align-items: center;
    align-self: end;
    background-color: var(--color-selector);
    display: flex;
    height: 16px;
    justify-content: center;
    width: 16px;

    .icon {
      --size: 12px;
    }

    &.is-active .icon__pause,
    &:not(.is-active) .icon__play {
      display: none;
    }
  }

  .collection-carousel__swiper {
    height: 100%;
  }

  .collection-carousel-progress {
    background-color: var(--color-selector);
    background: linear-gradient(
      to right,
      var(--color-selector) var(--progress, 0),
      var(--color-selector-alpha-50) var(--progress, 0)
    );
    height: 1px;
    width: 100%;

    .collection-carousel:not(.is-playing) &.is-active {
      --progress: 100%;
    }

    .collection-carousel.is-playing &:not(.is-active) {
      --progress: 0;
    }
  }

  @media (min-width: 1024px) {
    .collection-carousel__controls {
      padding-inline: 1.25rem;
      top: 1.125rem;
    }
  }
/* END_BLOCK:_collection-carousel */

/* START_BLOCK:_contact-method (INDEX:98) */
.contact-method {
    border-block-start: 1px solid var(--color-black);
    padding-block-start: var(--spacing-8);

    &:first-child {
      border-block-start: 0;
    }

    .social-links {
      gap: 1.75rem;
    }
  }

  .contact-method__content {
    gap: 0.375rem;
  }

  @media (min-width: 1024px) {
    .contact-method__content {
      flex-direction: row;
      justify-content: space-between;
    }
  }
/* END_BLOCK:_contact-method */

/* START_BLOCK:_footer-column (INDEX:99) */
.footer-column__link {
    font-size: var(--font-size-14);
    line-height: 1.6;
    margin-block: 2px;
  }

  .footer-column__heading {
    .icon__plus {
      --size: 12px;
      transition: rotate var(--icon-transition-duration) var(--icon-transition-easing);
    }

    &.footer-column__heading--image {
      height: 22px;
      padding-block-end: 2px;
    }
  }

  .footer-column {
    border-block-start: 1px solid var(--color-white);
    padding-block: 0.375rem;

    &[open='true'] {
      .footer-column__heading .icon__plus {
        rotate: 45deg;
      }
    }

    &:last-of-type {
      border-block-end: 1px solid var(--color-white);
    }
  }

  .footer-column__content {
    &::before {
      content: '';
      display: block;
      height: var(--spacing-top, var(--spacing-8));
    }

    &::after {
      content: '';
      display: block;
      height: var(--spacing-bottom, 0.375rem);
    }
  }

  @media (hover: hover) {
    .footer-column__link {
      transition: opacity 0.5s ease-out;
    }

    .footer-column:has(.footer-column__link:hover) .footer-column__link:not(:hover) {
      opacity: 0.4;
    }
  }

  @media (min-width: 768px) {
    .footer-column__link {
      font-size: var(--font-size-14);
      margin-block: 0;
    }

    .footer-column {
      border-block-start: 0;
      padding-block: 0;

      &:last-of-type {
        border-block-end: 0;
      }
    }

    .footer-column__content {
      --spacing-top: var(--spacing-12);
      --spacing-bottom: 0;
    }

    .footer-column__heading {
      cursor: text;

      .icon__plus {
        display: none;
      }
    }
  }
/* END_BLOCK:_footer-column */

/* START_BLOCK:_footer-social-post (INDEX:100) */
.footer-social-post {
    aspect-ratio: 90 / 120;
    display: block;
    flex: 1;
  }
/* END_BLOCK:_footer-social-post */

/* START_BLOCK:_footer-social-posts (INDEX:101) */
@media (min-width: 768px) {
    .footer-social-posts {
      max-width: 188px;
    }

    .footer-social-posts__grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
/* END_BLOCK:_footer-social-posts */

/* START_BLOCK:_header-announcement (INDEX:102) */
.header-announcement {
    height: 100%;
    gap: 0.375rem;

    &::before {
      border: 1px solid currentColor;
      border-radius: 100%;
      content: '';
      display: block;
      height: 7px;
      transition: background-color 0.5s ease-in-out;
      width: 7px;
    }

    @media (hover: hover) {
      .swiper-slide-active &:has(.header-announcement__text[href]):hover {
        &::before {
          background-color: currentColor;
        }
      }
    }
  }

  .header-announcement__text {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
/* END_BLOCK:_header-announcement */

/* START_BLOCK:_header-menu-collection (INDEX:103) */
.header-menu-collection,
  .header-menu-collection__content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-8);
  }

  .header-menu-collection__content {
    gap: var(--spacing-4);
  }

  .header-menu-collection__thumbnail {
    aspect-ratio: 120 / 156;
    height: 100%;
  }

  @media (min-width: 768px) {
    .header-menu-collection {
      display: grid;
      flex: 1;
      gap: var(--spacing-16);
      grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    }

    .header-menu-collection__content {
      border-block-end: 1px solid var(--color-black);
      transition: opacity 0.5s ease-in-out;
      padding-block-end: 0.375rem;
    }

    .header-menu-collection__heading {
      .icon {
        --size: 16px;
        opacity: 0;
        transform: translateX(-30%);
        transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
      }
    }

    .header-menu-collection__subheading {
      margin-block-start: auto;
    }

    @media (hover: hover) {
      .header-menu-collection--link:hover ~ .header-menu-collection .header-menu-collection__content,
      .header-menu-collection:has(~ .header-menu-collection:hover) .header-menu-collection__content {
        opacity: 0.4;
      }

      .header-menu-collection--link:hover {
        .header-menu-collection__heading .icon {
          opacity: 1;
          transform: translateX(0);
        }
      }
    }
  }
/* END_BLOCK:_header-menu-collection */

/* START_BLOCK:_header-menu-collections (INDEX:104) */
.header-menu-collections {
    border-block-start: 1px solid var(--color-black);
    display: grid;
    gap: 0.625rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-block: var(--spacing-12);
  }

  @media (min-width: 768px) {
    .header-menu-collections {
      border-block-start: 0;
      display: flex;
      flex-direction: column;
    }
  }
/* END_BLOCK:_header-menu-collections */

/* START_BLOCK:_header-menu (INDEX:107) */
/**
   * Menu.
   */
  .header-menu__list {
    margin-block: var(--spacing-16);
  }

  .header-menu__link .icon {
    --size: 12px;
  }

  .header-menu__item .header-menu__link .icon__plus {
    transition: rotate var(--icon-transition-duration) var(--icon-transition-easing);
  }

  .header-menu__item.is-open .header-menu__link .icon__plus {
    rotate: 45deg;
  }

  .header-menu__link {
    padding-block: var(--spacing-16) 0.375rem;
  }

  .header-menu__item {
    border-block-end: 1px solid var(--color-black);
  }

  .header-menu__dialog {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .header-menu__promotions.header-menu__promotions {
    border-block-start: 0;
  }

  .header-menu__toggle:not(.is-open) .header-menu__promotions swiper-slide,
  .header-menu__toggle:not(.is-open) .header-menu__promotions .swiper-slide {
    pointer-events: none;
  }

  @media (max-width: 767px) {
    .header-menu__toggle {
      background-color: var(--color-background);
      height: calc(100dvh - var(--header-height) - var(--toolbar-height));
      left: 0;
      position: fixed;
      top: var(--header-height);
      transition: opacity 0.5s ease-out;
      width: 100%;
    }

    .header-menu__toggle:not(.is-open) {
      opacity: 0;
      pointer-events: none;
    }
  }

  /**
   * Submenu.
   */
  .header-menu__item:not(.is-open) .header-submenu {
    display: none;
  }

  .header-submenu__item {
    border-block-start: 1px solid var(--color-black);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    padding-block: var(--spacing-12) var(--spacing-16);
  }

  .header-submenu__container {
    padding-block-end: var(--spacing-32);
  }

  @media (min-width: 768px) {
    /**
     * Menu.
     */
    .header-menu,
    .header-menu__link {
      align-content: end;
      display: block;
      height: 100%;
    }

    .header-menu__link {
      padding-block: 0.375rem;
    }

    .header-menu__toggle,
    .header-menu__dialog,
    .header-menu__body {
      display: contents;
      pointer-events: auto;
    }

    .header-menu__list {
      --item-spacing: var(--spacing-8);
      align-items: center;
      display: flex;
      flex-direction: row;
      gap: 0;
      height: 100%;
      margin-block: 0;
    }

    .header-menu__item {
      align-content: center;
      border-block-end: 0;
      height: 100%;
      padding-block: 0;
      padding-inline: var(--item-spacing);
      transition: opacity 0.5s ease-in-out;
    }

    .header-menu:has(.header-menu__item.is-open) {
      .header-menu__item:not(.is-open) {
        opacity: 0.4;
      }
    }

    .site-header__left .header-menu__list {
      margin-inline-start: calc(var(--item-spacing) * -1);
    }

    /**
     * Submenu.
     */
    .header-submenu {
      background-color: var(--color-backdrop);
      backdrop-filter: blur(var(--backdrop-blur));
      height: calc(100vh - var(--header-height));
      left: 0;
      overflow-y: auto;
      pointer-events: none;
      position: absolute;
      top: 100%;
      width: 100%;
      will-change: backdrop-filter;
    }

    .header-submenu:has(.header-submenu__link:hover) .header-submenu__link:not(:hover) {
      opacity: 0.4;
    }

    .header-submenu__panel {
      background-color: var(--color-background);
      padding-inline-start: 0;
      pointer-events: auto;

      swiper-slide,
      .swiper-slide {
        pointer-events: auto;
      }
    }

    .header-submenu__container {
      display: grid;
      grid-auto-columns: minmax(0, 1fr);
      grid-auto-flow: column;
      margin-inline: auto;
      max-width: var(--max-content-width);
      padding-block-end: 0;
      padding-inline: var(--container-gutter);
      width: 100%;

      & > * {
        --gutter: 0.625rem;
        border-inline-end: 1px solid var(--color-black);
        padding-block: var(--gutter);
        padding-inline: var(--gutter);

        &:first-of-type {
          margin-inline-start: calc(var(--gutter) * -1);
        }

        &:last-of-type {
          margin-inline-end: calc(var(--gutter) * -1);

          &:nth-child(n + 4) {
            border-inline-end: 0;
          }
        }
      }
    }

    .header-menu.is-ready .header-menu__item .header-submenu {
      transition: opacity 0.25s ease-out;
    }

    .header-menu.is-ready .header-menu__item .header-submenu__panel {
      transition: transform 0.25s ease-out;
    }

    .header-menu__item:not(.is-open) .header-submenu {
      display: block;
      opacity: 0;
    }

    .header-menu__item:not(.is-open) .header-submenu__panel {
      pointer-events: none;
      transform: translateY(-5%);

      swiper-slide,
      .swiper-slide {
        pointer-events: none;
      }
    }

    .header-submenu__submenu {
      gap: 0;

      li {
        display: flex;

        &:first-of-type .header-submenu__link {
          padding-block-start: 0;
        }

        &:last-of-type .header-submenu__link {
          padding-block-end: 0;
        }
      }
    }

    .header-submenu__item {
      border-block-start: 0;
      display: flex;
      flex-direction: column-reverse;
      gap: var(--spacing-40);
      padding-block: 0.625rem 0.375rem;
    }

    .header-submenu__link {
      display: inline-block;
      padding-block: 10px;
      transition: opacity 0.5s ease-out;
    }

    .header-submenu__submenu {
      margin-block-end: auto;
    }
  }

  @media (min-width: 1024px) {
    .header-menu__list {
      --item-spacing: var(--spacing-16);
    }
  }
/* END_BLOCK:_header-menu */

/* START_BLOCK:_header-promotion (INDEX:108) */
.header-promotion {
    display: grid;
    gap: var(--spacing-8);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .header-promotion__content {
    border-block-end: 1px solid var(--color-black);
    grid-column: 2;
    padding-block-end: 0.375rem;
  }

  .header-promotions:has(.header-promotions__pagination) .header-promotion__content {
    padding-block-start: var(--spacing-24);
  }

  .header-promotion__heading {
    .icon {
      --size: 16px;
    }
  }

  .header-promotion__thumbnail {
    aspect-ratio: 190 / 250;
  }

  @media (hover: hover) {
    .header-promotion__heading {
      .icon {
        opacity: 0;
        transform: translateX(-30%);
        transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
      }
    }

    .header-promotion--link:hover {
      .header-promotion__heading {
        .icon {
          opacity: 1;
          transform: translateX(0);
        }
      }
    }
  }

  @media (min-width: 768px) {
    .header-promotion {
      display: flex;
      flex-direction: column;
      gap: var(--spacing-8);
      height: 100%;
    }

    .header-promotion__thumbnail {
      aspect-ratio: 330 / 250;
    }

    .header-promotion__content {
      flex: 1;
      gap: var(--spacing-40);
    }

    .header-promotions:has(.header-promotions__pagination) .header-promotion__content {
      padding-block-start: 0;
    }
  }
/* END_BLOCK:_header-promotion */

/* START_BLOCK:_header-promotions (INDEX:109) */
.header-promotions {
    border-block-start: 1px solid var(--color-black);
    display: grid;
    gap: var(--spacing-8);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    padding-block: var(--spacing-12);

    .header-promotions__pagination {
      align-self: start;
      grid-column: 2;
      grid-row: 1;
      z-index: 1;
    }
  }

  .header-promotions__slider {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  @media (min-width: 768px) {
    .header-promotions {
      border-block-start: 0;
      display: flex;
      flex-direction: column-reverse;
      gap: var(--spacing-8);
      padding-block: 0.625rem;
    }

    .header-promotions__slider {
      height: 100%;
    }
  }
/* END_BLOCK:_header-promotions */

/* START_BLOCK:_header-topbar (INDEX:110) */
.header-topbar {
    background-color: var(--color-black);
    color: var(--color-white);
    height: 30px;
    padding-block: 0.625rem;

    swiper-container {
      height: 100%;
      margin-block: 0;
      margin-inline: 0;
    }
  }

  .header-topbar__localization {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  @-moz-document url-prefix() {
    .header-topbar {
      swiper-container {
        height: 14px;
        overflow: hidden;
      }
    }
  }

  @media (min-width: 1024px) {
    .header-topbar__container {
      display: grid;
      gap: var(--spacing-8);
      grid-template-columns: 0.5fr 1fr 0.5fr;

      swiper-container {
        grid-column: 2;
        min-height: 0;
        padding-inline-start: var(--spacing-16);
      }
    }

    .header-topbar__localization {
      grid-column: 3;
    }
  }

  @media (min-width: 1328px) {
    .header-topbar__container {
      grid-template-columns: 0.6fr 1fr 0.5fr;
    }
  }
/* END_BLOCK:_header-topbar */

/* START_BLOCK:_menu-group (INDEX:111) */
.menu-group {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: subgrid;

    &:not(:first-child) {
      border-block-start: 1px solid currentColor;
      padding-block-start: var(--spacing-8);
    }
  }
/* END_BLOCK:_menu-group */

/* START_BLOCK:_menu-item (INDEX:112) */
.menu-item {
    display: grid;
    gap: var(--spacing-24);
    grid-template-columns: minmax(0, 3fr) minmax(0, auto) minmax(0, auto) minmax(0, 0.5fr);

    .menu-group & {
      grid-column: 1 / -1;
      grid-template-columns: subgrid;
    }
  }

  .menu-item__spec {
    align-items: baseline;
    display: flex;
    gap: var(--spacing-4);

    &::before {
      border: 1px solid currentColor;
      border-radius: 100%;
      content: '';
      display: block;
      height: 7px;
      width: 7px;
    }
  }

  .menu-item__spec--nutritional {
    grid-column: 2;
  }

  .menu-item__spec--dietary {
    grid-column: 3;
  }

  .menu-item__price {
    grid-column: 4;
  }
/* END_BLOCK:_menu-item */

/* START_BLOCK:_newsletter-form (INDEX:113) */
.newsletter-form {
    gap: 1.125rem;
  }

  .newsletter-form__header {
    gap: var(--spacing-12);
  }

  .newsletter-form__field {
    border-block: 1px solid var(--color-white-alpha-20);

    .icon {
      --size: 16px;
    }
  }

  .newsletter-form__input {
    border-block: 0;

    &::placeholder {
      font-size: var(--font-size-12);
      letter-spacing: 0.2em;
      text-transform: uppercase;
    }
  }

  @media (hover: hover) {
    .newsletter-form__submit {
      .icon {
        transition: transform 0.5s ease-in-out;
      }

      &:hover {
        .icon {
          transform: translateX(30%);
        }
      }
    }
  }
/* END_BLOCK:_newsletter-form */

/* START_BLOCK:_page-anchors (INDEX:115) */
.page-anchors {
    &.is-active {
      .page-anchors__container {
        background-color: var(--color-background);
        color: var(--color-black);
        left: 0;
        padding-block: var(--spacing-12);
        padding-inline: var(--container-gutter);
        position: fixed;
        top: var(--header-height);
        width: 100%;

        &::after {
          background-color: var(--color-black);
          content: '';
          display: block;
          height: 1px;
          margin-block: var(--spacing-12) calc(var(--spacing-12) * -1);
          width: 100%;
        }
      }

      &:has(.page-anchors__item.is-active) .page-anchors__item:not(.is-active) {
        opacity: 0.5;
      }
    }
  }

  .page-anchors__list {
    margin-inline: calc(var(--container-gutter) * -1);
    padding-inline: var(--container-gutter);
    overflow-x: scroll;
    scroll-padding-inline: var(--container-gutter);
  }

  .page-anchors__item {
    flex-shrink: 0;
    white-space: nowrap;
  }

  @media (min-width: 1024px) {
    .page-anchors {
      &.is-active {
        .page-anchors__container {
          bottom: 0;
          top: unset;
          padding-block: var(--spacing-8);

          &::after {
            display: none;
          }

          &::before {
            background-color: var(--color-black);
            content: '';
            display: block;
            height: 1px;
            margin-block: calc(var(--spacing-8) * -1) var(--spacing-8);
            width: 100%;
          }
        }
      }
    }

    .page-anchors__list {
      flex-wrap: wrap;
      gap: var(--spacing-8) var(--spacing-32);
      margin-inline: 0;
      padding-inline: 0;
    }
  }

  @media (min-width: 1328px) {
    .page-anchors__list {
      column-gap: 3.125rem;
    }
  }
/* END_BLOCK:_page-anchors */

/* START_BLOCK:_page-navigation-item (INDEX:116) */
.page-navigation-item {
    opacity: 0.5;
    overflow: hidden;
    transition: opacity 0.25s ease-in-out;

    .icon {
      --size: 16px;
      margin-inline-end: calc((var(--size) + var(--spacing-8)) * -1);
      transition: margin-inline-end 0.25s ease-in-out;
    }

    &:hover,
    &.is-current {
      opacity: 1;

      .icon {
        margin-inline-end: 0;
      }
    }
  }
/* END_BLOCK:_page-navigation-item */

/* START_BLOCK:_product-buttons (INDEX:118) */
.product-buttons__quantity {
    height: auto;
    max-width: 100px;
    width: 50%;

    .quantity-selector {
      height: 100%;
    }
  }

  .product-buttons__message {
    color: var(--color-error);
  }

  .product-buttons {
    .product-price__prices {
      display: flex;
      gap: 0.875rem;

      s {
        font-weight: var(--font-weight-light);
      }
    }
  }
/* END_BLOCK:_product-buttons */

/* START_BLOCK:_product-guide-requirements (INDEX:122) */
.product-guide-requirements {
    background-color: rgb(237, 232, 226);
    bottom: var(--toolbar-height);
    left: 0;
    position: fixed;
    transition: opacity 0.25s ease-in-out;
    width: 100%;
    z-index: 2;
  }

  .product-guide-requirements__header {
    padding-block: var(--spacing-12);

    .product-guide-requirements.is-open & {
      border-block-end: 1px solid currentColor;
    }

    .product-guide-requirements.is-open & .icon__plus,
    .product-guide-requirements:not(.is-open) & .icon__cancel {
      display: none;
    }

    .icon {
      --size: 12px;
    }

    .icon__plus {
      --size: 14px;
      background-color: var(--color-black);
      color: var(--color-white);
      padding-block: var(--spacing-2);
      padding-inline: var(--spacing-2);
    }
  }

  .product-guide-requirements__body {
    padding-block: var(--spacing-12);

    .product-guide-requirements:not(.is-open) & {
      display: none;
    }
  }

  .product-guide-requirements__products {
    transition: height 0.25s ease-in-out;
  }

  .product-guide-requirements-item__product {
    margin-block-end: var(--spacing-24);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease-in-out;
    width: 100%;

    .main-product-info.main-product-info {
      margin-block-start: 0;
    }

    .main-product-info__block {
      align-items: start;
      border-block-start: 0;
      flex-direction: column;
      justify-content: start;
      min-height: 0;
    }

    &.is-active {
      opacity: 1;
      pointer-events: auto;
    }

    &:not(:first-of-type) {
      position: absolute;
      top: 0;
    }
  }

  .product-guide-requirements-item__product-details {
    border-block-start: 1px solid var(--color-black);
    flex: 1;
    gap: 0.875rem;
    padding-block-start: var(--spacing-8);
  }

  .product-guide-requirements-item__product-thumbnail {
    aspect-ratio: 180 / 240;
    max-width: 160px;
    position: relative;
    z-index: 0;
  }

  .product-guide-requirements-item__product-thumbnail-background {
    inset: 0;
    position: absolute;
    z-index: -1;
  }

  .product-guide-requirements-item__button {
    align-items: center;
    border-block-start: 1px solid currentColor;
    display: flex;
    gap: var(--spacing-8);
    padding-block: var(--spacing-8);

    &::before {
      border: 1px solid currentColor;
      border-radius: 100%;
      content: '';
      display: block;
      height: 8px;
      transition: background-color 0.25s ease-in-out;
      width: 8px;
    }

    &.is-active {
      &::before {
        background-color: currentColor;
      }
    }
  }

  @media (min-width: 1024px) {
    .product-guide-requirements {
      background-color: transparent;
      display: flex;
      flex-direction: column;
      gap: 0.625rem;
      margin-block-start: var(--spacing-64);
      position: static;
    }

    .product-guide-requirements__header {
      padding-block: 0;
      padding-inline: 0;

      .product-guide-requirements.is-open & {
        border-block-end: 0;
      }
    }

    .product-guide-requirements__body {
      padding-block: 0;
      padding-inline: 0;

      .product-guide-requirements:not(.is-open) & {
        display: block;
      }
    }
  }
/* END_BLOCK:_product-guide-requirements */

/* START_BLOCK:_product-guide-step (INDEX:123) */
.product-guide-step {
    gap: 1.125rem;
  }

  .product-guide-step__header {
    border-block-end: 1px solid currentColor;
    padding-block-end: var(--spacing-4);

    &:not(:last-child) {
      margin-block-end: 1.875rem;
    }
  }

  .product-guide-step__media {
    aspect-ratio: 382 / 496;
    background-color: var(--color-border-alpha-30);
    display: grid;
    grid-template-rows: minmax(0, auto);
  }

  .product-guide-step__image {
    grid-area: 1 / -1;
  }

  .product-guide-step-products {
    align-self: end;
    background-color: var(--color-background);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-8);
    grid-area: 1 / -1;
    margin-block: 0.625rem;
    margin-inline: 0.625rem;
    padding-block: var(--spacing-8) 1.125rem;
    padding-inline: 1.25rem;
    max-width: 264px;
    z-index: 1;

    &:not(:has(.custom-swiper-pagination)) {
      padding-block-start: 1.125rem;
    }

    .product-snippet {
      max-width: 100%;
      padding-block: 0;
      padding-inline: 0;

      .quick-add {
        margin-block-end: -1.125rem;
      }
    }
  }

  .product-guide-step-products__products {
    align-items: start;
    display: grid;
    transition: height 0.25s ease-in-out;
  }

  .product-guide-step-products__product {
    grid-area: 1 / -1;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease-in-out;

    &.is-active {
      opacity: 1;
      pointer-events: auto;
    }
  }

  @media (min-width: 1024px) {
    .product-guide-step {
      flex-direction: row-reverse;
    }

    .product-guide-step__content {
      flex: 1;
    }

    .product-guide-step__media {
      max-height: 100%;
      max-width: 70%;
      min-width: 0;
      width: 100%;
    }

    .product-guide-step-products {
      margin-block: 1.25rem;
      margin-inline: 1.25rem;
      overflow: hidden;
    }
  }
/* END_BLOCK:_product-guide-step */

/* START_BLOCK:_product-options (INDEX:124) */
.product-options {
    border-block-start: 1px solid var(--color-black);
    margin-inline: -0.625rem;
    padding-inline: 0.625rem;

    &:not(:has([name='purchase-type'][value='subscription']:checked)) {
      .product-options-row--selling-plan,
      .product-options__subscription-benefits {
        display: none;
      }
    }
  }

  .product-options__values {
    row-gap: var(--spacing-12);
  }

  .product-options__select {
    border-block: 0;
    min-height: 0;
    padding-block: 0 0.625rem;
  }

  .product-options-row {
    border-block-end: 1px solid var(--color-black);
    padding-block-start: 0.625rem;

    &:last-of-type {
      border-block-end: 0;
    }
  }

  .product-options-row__label:has(+ .product-options__select) {
    margin-block-end: 0.375rem;
  }

  .product-options__purchase-types {
    margin-block: -1px;
    margin-inline: calc(0.625rem * -1);
  }

  .product-options__purchase-type {
    cursor: pointer;
    display: block;
    margin-block: 0 !important;
    min-height: 34px;
    padding-block: var(--spacing-12);
    padding-inline: 0.625rem;
    position: relative;

    input:checked + & {
      background-color: var(--color-black);
      color: var(--color-white);
      font-weight: var(--font-weight-regular);

      &.product-options__purchase-type--has-benefits::after {
        background-color: currentColor;
        bottom: 0;
        content: '';
        display: block;
        height: 1px;
        position: absolute;
        width: calc(100% - (1.875rem));
      }
    }
  }

  .product-options__subscription-benefits {
    background-color: var(--color-black);
    color: var(--color-white);
    display: grid;
    gap: var(--spacing-8);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-block-end: -1px;
    padding-block: 0.625rem 1.375rem;
    padding-inline: var(--spacing-12);

    li {
      align-items: baseline;
      display: flex;
      gap: var(--spacing-8);

      &::before {
        background-color: currentColor;
        border: 0.8px solid var(--color-black);
        border-radius: 100%;
        content: '';
        display: block;
        height: 7px;
        width: 7px;
      }
    }
  }

  @media (max-width: 1023px) {
    .product-options-row {
      &:has(.product-options__purchase-types) {
        padding-block-start: 0;
      }
    }
  }

  @media (min-width: 1024px) {
    .product-options {
      margin-inline: 0;
      padding-inline: 0;
    }

    .product-options-row {
      display: grid;
      grid-template-columns: minmax(0, 45%) minmax(0, 55%);
      padding-block: 0.625rem;
    }

    .product-options__select {
      padding-inline-start: var(--spacing-16);
      padding-block: 0;
    }

    .product-options-row__label.product-options-row__label {
      color: var(--color-black);

      && {
        margin-block-end: 0;
      }
    }

    .product-options__purchase-types {
      margin-block: -0.625rem;
      margin-inline: 0;
    }

    .product-options__purchase-type {
      padding-block: 0.625rem;
    }

    .product-options__purchase-type,
    .product-options__subscription-benefits {
      padding-inline: var(--spacing-16);
    }

    .product-options__subscription-benefits {
      gap: var(--spacing-8) var(--spacing-32);
      margin-block-end: 0;
      padding-block: var(--spacing-12) var(--spacing-16);
    }
  }
/* END_BLOCK:_product-options */

/* START_BLOCK:_product-pick-up (INDEX:125) */
.product-pick-up {
    margin-block: var(--spacing-16);

    &:first-child {
      margin-block-start: 0;
    }

    &:last-child {
      margin-block-end: 0;
    }
  }

  .product-pick-up__icon {
    --size: 16px;

    &.product-pick-up__icon--success {
      color: var(--color-success);
    }

    &.product-pick-up__icon--error {
      color: var(--color-error);
    }
  }
/* END_BLOCK:_product-pick-up */

/* START_BLOCK:_product-upsells (INDEX:127) */
.product-upsells {
    .main-product-info.main-product-info {
      margin-block-start: 0;
    }

    .main-product-info__block {
      align-items: start;
      border-block-start: 0;
      flex-direction: column;
      justify-content: start;
      min-height: 0;
    }
  }

  .product-upsells-details {
    border-block-start: 1px solid var(--color-black);
    gap: 0.875rem;
    padding-block-start: var(--spacing-8);
  }

  .product-upsells-details__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .product-upsells__thumbnails {
    flex: 0 0 128px;
  }

  .product-upsells-thumbnail {
    aspect-ratio: 180 / 240;
    position: relative;
    z-index: 0;
  }

  .product-upsells-thumbnail__background {
    inset: 0;
    position: absolute;
    z-index: -1;
  }

  .product-upsells__slides {
    display: flex;
    flex-direction: column;
    justify-content: end;
  }

  .product-upsells__thumbnails,
  .product-upsells__slides {
    overflow: hidden;

    .product-upsells-thumbnail,
    .product-upsells-details {
      position: absolute;
      transition: opacity 0.25s ease-in-out;
      width: 100%;

      &:not(.is-active) {
        opacity: 0;
        pointer-events: none;
      }
    }
  }

  @media (min-width: 1024px) {
    .product-upsells {
      gap: var(--spacing-24);
    }

    .product-upsells__thumbnails {
      flex: 0 0 180px;
    }

    .product-upsells-details {
      padding-block-start: var(--spacing-16);
    }
  }
/* END_BLOCK:_product-upsells */

/* START_BLOCK:_publications-category (INDEX:128) */
.publications-category__button {
    border-block-end: 1px solid currentColor;
    padding-block: var(--spacing-12);

    .icon {
      --size: 12px;
      margin-block-start: var(--spacing-2);
    }

    &.is-active .icon__plus,
    &:not(.is-active) .icon__minus {
      display: none;
    }

    &.is-active {
      border-block-end-color: transparent;
    }
  }
/* END_BLOCK:_publications-category */

/* START_BLOCK:_publications-entry (INDEX:129) */
.publications-entry {
    border-block-start: 1px solid currentColor;
    display: grid;
    gap: var(--spacing-24);
    grid-template-columns: 2fr 1fr;
    padding-block: var(--spacing-12) 1.125rem;
  }

  .publications-entry__button {
    gap: var(--spacing-8);
    justify-self: end;
    margin-inline-end: var(--spacing-4);
  }

  .publications-entry__details {
    display: grid;
    gap: var(--spacing-40);
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  @media (min-width: 1024px) {
    .publications-entry {
      align-items: start;
      grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
    }

    .publications-entry__details {
      display: flex;
      flex-direction: column;
      gap: var(--spacing-12);
      grid-column: 2;
      grid-row: 1;
    }

    .publications-entry__button {
      grid-column: 3;
    }
  }
/* END_BLOCK:_publications-entry */

/* START_BLOCK:_search-overlay (INDEX:131) */
.search-overlay {
    height: calc(100dvh - var(--toolbar-height));
    opacity: 0;
    transition: opacity 0.25s ease-in-out;

    .swiper-slide {
      pointer-events: none;
    }

    &.is-open {
      opacity: 1;

      .swiper-slide {
        pointer-events: auto;
      }
    }
  }

  .search-overlay__panel {
    background-color: var(--color-background);
    height: 100%;
    overflow-y: auto;
    padding-block: var(--spacing-16);
    padding-inline: var(--container-gutter);
  }

  .search-overlay-links {
    display: grid;
    gap: var(--spacing-24);
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
    padding-block: var(--spacing-16);
  }

  .search-overlay-links__images {
    aspect-ratio: 170 / 220;
    width: 170px;

    .search-overlay-links__image {
      inset: 0;
      position: absolute;
    }
  }

  .search-overlay-links__image {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease-in-out;

    .search-overlay.is-open &.is-active {
      opacity: 1;
      pointer-events: auto;
    }
  }

  .search-overlay__products {
    gap: 1.25rem;

    & + & {
      margin-block-start: 1.25rem;
    }
  }

  .search-overlay-header--search-performed {
    display: contents;

    .search-overlay-links {
      order: 3;
    }
  }

  .search-overlay__panel:has(.search-overlay-header--search-performed) {
    gap: var(--spacing-40);
  }

  .search-overlay-form {
    border-block-end: 1px solid var(--color-black);
  }

  .search-overlay-form__input {
    border-block: 0;
    padding-block-end: 0.375rem;

    &::placeholder {
      font-family: var(--text-14-book-font-family);
      font-weight: var(--text-14-book-font-weight);
      font-size: var(--text-14-book-font-size);
      letter-spacing: var(--text-14-book-letter-spacing);
      line-height: var(--text-14-book-line-height);
      text-transform: none;
    }

    &::-webkit-search-cancel-button {
      appearance: none;
    }
  }

  .search-overlay-form__button {
    .icon {
      --size: 16px;
    }
  }

  .search-overlay__no-results {
    margin-block-end: var(--spacing-48);
  }

  @media (min-width: 768px) {
    .search-overlay {
      height: calc(100dvh - var(--header-height));
      top: var(--header-height);
      z-index: -1;
    }

    .search-overlay__dialog {
      height: auto;
    }

    .search-overlay__panel {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
      height: auto;
      overflow-y: auto;
      max-height: calc(100dvh - var(--header-height));
      padding-block: 0;
      transform: translateY(-10%);
      transition: transform 0.25s ease-in-out;

      .search-overlay.is-open & {
        transform: translateY(0);
      }

      & > * {
        --gutter: 0.625rem;
        border-inline-end: 1px solid var(--color-black);
        padding-block: var(--gutter);
        padding-inline: var(--gutter);

        &:first-of-type {
          margin-inline-start: calc(var(--gutter) * -1);
        }

        &:last-of-type {
          border-inline-end: 0;
          margin-inline-end: calc(var(--gutter) * -1);
        }
      }
    }

    .search-overlay-header,
    .search-overlay-header__top {
      gap: 1.875rem;
    }

    .search-overlay-links {
      padding-block: 0;
    }

    .search-overlay__products {
      gap: 0.625rem;

      & + & {
        margin-block-start: 0;
      }
    }

    .search-overlay-header--search-performed {
      display: flex;

      .search-overlay-links {
        order: unset;
      }
    }

    .search-overlay__panel:has(.search-overlay-header--search-performed) {
      gap: 0;
    }
  }

  @media (min-width: 1024px) {
    .search-overlay__panel {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    }

    .search-overlay-header {
      grid-column: 1 / span 2;
    }
  }
/* END_BLOCK:_search-overlay */

/* START_BLOCK:_subscription-builder-step-cover (INDEX:135) */
.subscription-builder-cover__small-hero.subscription-builder-hero {
    min-height: 308px;
    padding-block: var(--spacing-16);
    width: 100%;
  }

  .subscription-builder-cover__benefit {
    border-block-start: 1px solid currentColor;
    padding-block: var(--spacing-8);

    &::before {
      border: 0.8px solid currentColor;
      border-radius: 100%;
      content: '';
      display: block;
      height: 7px;
      width: 7px;
    }
  }

  .subscription-builder-cover__quote {
    background-color: var(--color-selector);
    padding-block: var(--spacing-12);
    padding-inline: var(--spacing-12);
  }

  @media (min-width: 1024px) {
    .subscription-builder-cover__benefits {
      margin-block-start: auto;
    }

    .subscription-builder-cover .subscription-builder-step__aside {
      border-block-start: 1px solid currentColor;
      grid-area: 1 / 2 / -1;
      margin-block-end: 0;
      padding-block-start: 5rem;
    }
  }
/* END_BLOCK:_subscription-builder-step-cover */

/* START_BLOCK:_subscription-builder-step-end (INDEX:136) */
.subscription-builder-step-end__hero {
    align-self: normal;
    margin-inline: calc(var(--container-gutter) * -1);
  }

  .subscription-builder-step-end__add-ons {
    gap: var(--spacing-12);

    &:not(:has(.subscription-builder-add-on [name='id']:not(:disabled))) {
      display: none;
    }
  }

  .subscription-builder-step-end__total {
    border-block-start: 1px solid currentColor;
    padding-block: 0.625rem var(--spacing-12);
  }

  @media (max-width: 1023px) {
    .subscription-builder-step-end__footer {
      background-color: var(--color-background);
      bottom: calc(var(--toolbar-height) + env(safe-area-inset-bottom));
      margin-inline: calc(var(--container-gutter) * -1);
      padding-inline: var(--container-gutter);
      position: sticky;
      width: calc(100% + (var(--container-gutter) * 2));

      body:has(.quick-add-options.is-open) & {
        opacity: 0;
      }
    }

    .subscription-builder {
      .quick-add-options__container {
        bottom: calc(var(--toolbar-height) + env(safe-area-inset-bottom));
      }
    }
  }
/* END_BLOCK:_subscription-builder-step-end */

/* START_BLOCK:_subscription-builder-step-quantity (INDEX:141) */
.subscription-builder-step-quantity {
    .quantity-selector__input {
      width: 5ch;
    }

    .quantity-selector__button {
      &.quick-add-icon {
        height: 24px;
        width: 24px;
      }
    }
  }
/* END_BLOCK:_subscription-builder-step-quantity */

/* START_BLOCK:article-card (INDEX:143) */
.article-card {
    .image-container__badges {
      color: var(--color-white);
    }
  }

  .article-card__image {
    aspect-ratio: 336 / 430;
  }

  .article-card__excerpt {
    border-block-start: 1px solid currentColor;
    padding-block-start: var(--spacing-8);
  }

  @media (min-width: 1024px) {
    .article-card {
      gap: var(--spacing-12);
    }

    .article-card__button {
      &:not(:first-child) {
        margin-block-start: calc(var(--spacing-4) * -1);
      }
    }
  }
/* END_BLOCK:article-card */

/* START_BLOCK:rich-text (INDEX:151) */
.rich-text {
    hr {
      background-color: var(--color-black);
      border: none;
      height: 1px;
      width: 100%;

      &:has(+ h4) {
        &:not(:first-child) {
          margin-block-start: var(--spacing-48);
        }

        &:first-child {
          margin-block-start: 0;
        }
      }
    }
  }

  .rich-text--heading-borders {
    h1,
    h2,
    h3,
    h5,
    h6 {
      border-block-start: 1px solid var(--color-black);
      margin-block-start: var(--spacing-24);
      padding-block-start: var(--spacing-8);
    }
  }

  @media (min-width: 1024px) {
    .rich-text--grid {
      display: grid;
      grid-template-columns: minmax(0, 35%) minmax(0, 65%);
      column-gap: var(--spacing-32);

      > * {
        grid-column: 2;
      }

      h4 {
        grid-column: 1;

        & + * {
          margin-block-start: var(--spacing-8);
        }
      }

      hr:has(+ h4) {
        grid-column: 1 / span 2;
      }

      :is(h1, h2, h3, h4, h5, h6) + :is(ol, ul) {
        margin-block-start: calc(var(--rte-list-spacing) - var(--heading-margin));
      }

      p + :is(ol, ul) {
        margin-block-start: calc(var(--rte-list-spacing) - var(--rte-paragraph-spacing));
      }
    }
  }
/* END_BLOCK:rich-text */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:featured-articles-article (INDEX:154) */
.featured-articles-article__info {
    border-block: 1px solid var(--color-black);
    padding-block: var(--spacing-8);
  }

  .featured-articles-article__image {
    aspect-ratio: 128 / 172;
    background-color: var(--color-border);
    max-width: 128px;
    object-fit: cover;
    width: 100%;
  }

  .featured-articles-article__main {
    flex: 1;
    min-width: 0;
  }

  .featured-articles-article__header {
    gap: var(--spacing-24);
  }

  @media (min-width: 1024px) {
    .featured-articles-article {
      align-items: end;
      gap: var(--spacing-16);
    }

    .featured-articles-article__header {
      border-block-start: 1px solid var(--color-black);
      flex-direction: row;
      justify-content: space-between;
      padding-block-start: 0.625rem;
    }

    .featured-articles-article__main {
      gap: 3.75rem;
    }

    .featured-articles-article__info {
      gap: 6.25rem;
      flex-direction: row;

      .line-clamp {
        --lines: 1;
      }
    }

    .featured-articles-article__image {
      aspect-ratio: 200 / 250;
      max-width: 200px;
    }
  }
/* END_SNIPPET:featured-articles-article */

/* START_SNIPPET:featured-collection (INDEX:155) */
.featured-collection--slider {
    gap: var(--spacing-24);
  }

  .featured-collection__thumbnail {
    aspect-ratio: 262 / 364;
  }

  .featured-collection__button {
    &:not(:first-child) {
      margin-block-start: var(--spacing-4);
    }
  }
/* END_SNIPPET:featured-collection */

/* START_SNIPPET:filter-form (INDEX:156) */
.filter-form__container {
    gap: 0.875rem;
  }

  .filter-form__list {
    margin-block-end: var(--spacing-16);
  }

  .filter-form__label {
    padding-block: var(--spacing-12);
  }

  .filter-form-item:not(:first-of-type) {
    .filter-form__label {
      border-block-start: 1px solid var(--color-black);
    }
  }

  .filter-form:has(.filter-form__filter[open]) .filter-form-item .filter-form-values {
    display: none;
  }

  .filter-form-values {
    margin-block-start: calc(var(--spacing-4) * -1);
  }

  .filter-form__values {
    margin-block: var(--spacing-4) var(--spacing-24);
  }

  .filter-form-value__label.filter-form-value__label {
    align-items: center;
    color: var(--color-black);
    cursor: pointer;
    display: flex;
    font-weight: var(--font-weight-light);
    justify-content: space-between;
    margin-block-end: 0;
    width: 100%;

    &::after {
      border: 1px solid var(--color-black);
      border-radius: 100%;
      content: '';
      display: block;
      height: 7px;
      transition: background-color 0.125s ease-in-out;
      width: 7px;
    }
  }

  .filter-form__input:checked + .filter-form-value__label {
    &::after {
      background-color: var(--color-black);
    }
  }

  .filter-form__input:disabled + .filter-form-value__label {
    cursor: not-allowed;
    opacity: 0.5;
  }

  .filter-form__actions {
    margin-block: var(--spacing-12);
  }

  .filter-form__plus.filter-form__plus.filter-form__plus {
    --size: 12px;
    transition: rotate 0.25s ease-out;
  }

  .filter-form__filter[open] .filter-form__plus.filter-form__plus {
    display: block;
    rotate: 45deg;
  }

  .filter-form-item:has(.filter-form-values) .filter-form__label .text-12-book {
    font-weight: var(--font-weight-medium);
  }

  .filter-form-values {
    gap: var(--spacing-12);
  }

  .filter-form-values__value {
    .icon {
      --size: 12px;
    }
  }

  .filter-image {
    border-radius: 3px;
    cursor: pointer;
    height: 60px;
    margin: 0;
    object-fit: cover;
    overflow: hidden;
    width: 60px;
  }

  .filter-form__input:checked + .filter-image {
    outline: 1px solid var(--color-text);
  }

  .filter-form__input:disabled + .filter-image {
    cursor: not-allowed;
    opacity: 0.25;
  }

  @media (hover: hover) {
    .filter-form-value__label {
      &:hover {
        &::after {
          background-color: var(--color-black);
        }
      }
    }
  }

  @media (min-width: 768px) {
    .filter-form {
      gap: var(--spacing-12);
    }

    .filter-form__list {
      display: grid;
      gap: 1.6875rem;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      margin-block-end: 0;
    }

    .filter-form-item {
      .filter-form__label {
        border-block-start: 1px solid var(--color-black);
        padding-block: 0.625rem;
      }
    }

    .filter-form__values {
      margin-block: var(--spacing-12);
    }
  }
/* END_SNIPPET:filter-form */

/* START_SNIPPET:included-products (INDEX:163) */
.included-products {
    display: grid;
    gap: var(--spacing-12);
    grid-template-columns: minmax(0, 160px) minmax(0, 1fr);
  }

  .included-products__slider {
    aspect-ratio: 160 / 207;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
  }

  .included-products__products {
    grid-column: 2;
    grid-row: 2;
  }

  .included-products__product {
    align-items: center;
    border-block-start: 1px solid var(--color-black);
    display: flex;
    gap: 0.625rem;
    min-height: 32px;

    &::before {
      background-color: transparent;
      border: 1px solid var(--color-black);
      border-radius: 100%;
      content: '';
      display: block;
      height: 8px;
      transition: background-color 0.25s ease-out;
      width: 8px;
    }

    &.is-active {
      &::before {
        background-color: var(--color-black);
      }
    }
  }

  .included-products__thumbnail {
    aspect-ratio: 180 / 240;
    z-index: 0;
  }

  .included-products__background {
    inset: 0;
    position: absolute;
    z-index: -1;
  }

  .included-products__image {
    height: 100%;
    object-position: center;
  }

  @media (min-width: 1024px) {
    .included-products {
      column-gap: 1.875rem;
    }
  }
/* END_SNIPPET:included-products */

/* START_SNIPPET:line-item (INDEX:164) */
.line-item {
    align-items: start;
    display: grid;
    gap: 0.875rem var(--spacing-12);
    grid-template-columns: 110px 1fr auto;
  }

  .line-item__body {
    gap: 0.375rem;
  }

  .line-item-values {
    display: grid;
    grid-template-columns: max-content 1fr;
  }

  .line-item-values__row {
    border-block-end: 1px solid var(--color-black);
    display: grid;
    gap: var(--spacing-8);
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
    padding-block: 0.375rem;

    &:first-of-type {
      padding-block-start: 0;
    }
  }

  .line-item__image:empty {
    aspect-ratio: 1;
    background-color: var(--color-border-lighter);
  }

  .line-item.is-loading {
    opacity: 0.5;
    pointer-events: none;
    user-select: none;
  }

  .line-item-selling-plans {
    grid-column: 1 / -1;

    &:has(.line-item-selling-plans__select) {
      border-block: 1px solid var(--color-black);
      display: flex;
      flex-direction: column;
      gap: var(--spacing-4);
      padding-block: var(--spacing-12);
    }
  }

  .line-item-selling-plans__select {
    border: 0;
    min-height: 0;
    padding-block: 0;
  }
/* END_SNIPPET:line-item */

/* START_SNIPPET:marquee (INDEX:166) */
marquee-element {
    display: block;
    overflow: hidden;
    position: relative;
    user-select: none;
  }

  marquee-element .track {
    align-items: center;
    display: flex;
    overflow: hidden;
    width: max-content;
    will-change: transform;
  }

  marquee-element .slide {
    flex: 0 0 auto;
  }

  @keyframes marquee-scroll {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }
/* END_SNIPPET:marquee */

/* START_SNIPPET:product-card (INDEX:169) */
.product-card {
    gap: var(--spacing-12);
    overflow: hidden;

    &:has(.product-card__background) {
      .badge {
        color: var(--overlay-text-color, var(--color-white));
      }
    }

    wishlist-button-collection {
      display: contents;
    }
  }

  .product-card__thumbnail {
    aspect-ratio: 260 / 350;
    flex: 1;
    background-color: transparent;
    position: relative;
    transition: height 0.2s ease-in-out;
    z-index: 0;

    &:not(:has(.image-container__hover)) {
      .product-card__image {
        transition: scale 0.5s ease-out;
      }

      &:hover {
        .product-card__image {
          scale: 1.05;
        }
      }
    }
  }

  .product-card__background {
    inset: 0;
    position: absolute;
    transition: opacity 0.2s ease-in-out;
    z-index: -1;
  }

  .product-card__footer {
    gap: var(--spacing-12);
    margin-block-start: auto;
    overflow: auto;
    transition: height 0.2s ease-in-out;
  }

  .product-card-info {
    display: grid;
    gap: var(--spacing-8);
    grid-template-columns: minmax(0, auto) minmax(0, min-content);
    min-height: 34px;
  }

  .product-card-info__block {
    overflow: hidden;

    .text-12-medium,
    .text-12-book {
      font-size: 0.8125rem;
    }
  }

  .product-card__note {
    align-self: start;
    background-color: var(--color-black);
    color: var(--color-background);
    padding-block: var(--spacing-4);
    padding-inline: 0.625rem;
  }

  @media (max-width: 1023px) {
    .product-card__badges {
      flex-direction: column;
      height: 100%;

      .product-card__custom-badge {
        margin-block-start: auto;
      }
    }
  }

  @media (min-width: 1024px) {
    .product-card__badges {
      width: 100%;

      .product-card__custom-badge {
        margin-block-start: 0;
        margin-inline-start: auto;
      }
    }

    .product-card {
      aspect-ratio: 320 / 512;
      position: relative;

      &::before {
        background-color: var(--color-black);
        content: '';
        display: block;
        height: 1px;
        left: 0;
        pointer-events: none;
        position: absolute;
        transition: width var(--border-transition-duration) var(--border-transition-easing);
        top: 0;
        width: 0;
        z-index: 1;
      }

      &:has(.quick-add-options.is-open) {
        .product-card__background,
        .product-card__badges {
          opacity: 0;
        }

        &::before {
          width: 100%;
        }
      }
    }
  }
/* END_SNIPPET:product-card */

/* START_SNIPPET:product-gallery (INDEX:170) */
.product-gallery model-viewer {
    height: 100%;
    width: 100%;
  }

  .product-gallery iframe {
    aspect-ratio: 16 / 9;
  }

  .product-gallery-slide {
    flex: 1 0 95%;
    /* max-height: 500px; */
    position: relative;
    z-index: 0;

    &:only-of-type {
      flex-basis: 100%;
    }
  }

  .product-gallery-slide__image {
    aspect-ratio: 372 / 368;
  }

  .product-gallery-slide__background {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
    z-index: -1;
  }

  .product-gallery-slider {
    background-color: var(--color-selector);

    &:not([data-keen-slider-disabled]) {
      -webkit-touch-callout: none;
      -webkit-tap-highlight-color: transparent;
      align-content: flex-start;
      display: flex;
      overflow: hidden;
      position: relative;
      touch-action: pan-y;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      -khtml-user-select: none;
      width: 100%;

      .product-gallery-slide {
        min-height: 100%;
        overflow: hidden;
        position: relative;
        width: 100%;
      }

      &[data-keen-slider-reverse] {
        flex-direction: row-reverse;
      }

      &[data-keen-slider-v] {
        flex-wrap: wrap;
      }
    }
  }

  @media (min-width: 1024px) {
    .product-gallery-slide {
      flex: 1 0 calc(100% / 2.25);

      &:only-of-type {
        flex-basis: calc(100% / 2.25);
      }
    }
  }
/* END_SNIPPET:product-gallery */

/* START_SNIPPET:product-info (INDEX:171) */
.main-product-info__block {
    border-block-start: 1px solid var(--color-black);
    min-height: 32px;
  }
/* END_SNIPPET:product-info */

/* START_SNIPPET:product-snippet (INDEX:174) */
.product-snippet {
    --padding-block-start: 0.875rem;
    --padding-block-end: 0.875rem;
    --padding-inline-start: 0.875rem;
    --padding-inline-end: 0.875rem;
    background-color: var(--color-background);
    max-width: 188px;
    padding-block: var(--padding-block-start) var(--padding-block-end);
    padding-inline: var(--padding-inline-start) var(--padding-inline-end);
    width: 100%;

    .stamped-fa-star {
      &::before {
        font-size: 0.75rem;
      }
    }
  }

  .product-snippet__header {
    border-block-start: 1px solid var(--color-black);
    padding-block-start: var(--spacing-2);

    &:not(:last-child) {
      margin-block-end: var(--spacing-16);
    }
  }

  .product-snippet__thumbnail {
    object-position: top;
    width: 50px;
  }

  .product-snippet-info__button {
    border-block: 1px solid var(--color-black);
    padding-block: 0.375rem;
    width: 100%;

    .icon {
      --size: 11px;
      transition: rotate var(--icon-transition-duration) var(--icon-transition-easing);
    }

    &.is-active {
      .icon {
        rotate: 45deg;
      }
    }
  }

  .product-snippet-info:has(~ .quick-add) {
    margin-block-end: -1px;
  }

  .product-snippet-info__items {
    gap: 0.625rem;
    padding-block: 0.625rem 0.875rem;
  }

  .product-snippet-info__icon {
    align-items: center;
    display: flex;
    height: 16px;
    justify-content: center;
    padding-block: var(--spacing-2);
    padding-inline: var(--spacing-2);
    width: 16px;

    .icon {
      --size: 11px;
    }
  }

  .product-snippet__reviews {
    align-items: center;
    font-size: 0.6875rem;
    margin-block-start: calc(var(--spacing-2) * -1);
  }

  @media (min-width: 1024px) {
    .product-snippet {
      --grow: 0px;
      --padding-block-start: 1.25rem;
      --padding-block-end: var(--spacing-16);
      --padding-inline-start: 1.25rem;
      --padding-inline-end: 1.25rem;
      --transition-duration: var(--max-height-transition-duration);
      --transition-easing: ease-in-out;
      max-width: 264px;
      position: relative;
      z-index: 0;

      &:has(.quick-add) {
        padding-block-end: 0;
      }

      .quick-add {
        --quick-add-padding-block-end: 1.25rem;
        display: block;
        padding-block-end: var(--quick-add-padding-block-end);

        &:has(.quick-add-options) {
          border-block-start: 1px solid transparent;
          margin-inline: calc((var(--padding-inline-start) + (var(--grow) / 2)) * -1)
            calc((var(--padding-inline-end) + (var(--grow) / 2)) * -1);
          padding-block-end: calc(var(--quick-add-padding-block-end) + (var(--grow) / 2));
          padding-inline: calc(var(--padding-inline-start) + (var(--grow) / 2))
            calc(var(--padding-inline-end) + (var(--grow) / 2));
          transition: border-block-start-color var(--transition-duration) var(--transition-easing),
            margin var(--transition-duration) var(--transition-easing),
            padding var(--transition-duration) var(--transition-easing);
          position: relative;
          z-index: 0;
        }

        .quick-add-options__list {
          border-block-end: 0;
          padding-block-end: 0;
        }

        .quick-add__variant {
          --spacing: var(--spacing-4);
        }

        .quick-add-button {
          margin-block-start: -1px;
        }

        /**
         * Quick add open state background, hidden by default.
         */
        &::before {
          background-color: var(--color-selector-alpha-50);
          content: '';
          display: block;
          height: calc(100% + (var(--grow) / 2));
          inset: 0;
          position: absolute;
          opacity: 0;
          transition: opacity var(--transition-duration) var(--transition-easing),
            height var(--transition-duration) var(--transition-easing);
          width: 100%;
          z-index: -1;
        }

        &:has(.quick-add-options.is-open) {
          border-block-start-color: var(--color-black);
          display: block;

          .quick-add-button {
            border-block-start-color: rgba(0, 0, 0, 0);
          }

          &::before {
            opacity: 1;
          }
        }
      }

      /**
       * Grow background.
       */
      &::before {
        background-color: var(--color-background);
        content: '';
        display: block;
        height: calc(100% + var(--grow));
        inset: 50%;
        position: absolute;
        transition: height var(--transition-duration) var(--transition-easing),
          width var(--transition-duration) var(--transition-easing);
        transform: translate(-50%, -50%);
        width: calc(100% + var(--grow));
        z-index: -1;
      }

      .product-snippet__container {
        transition: margin var(--transition-duration) var(--transition-easing);
      }

      &:hover:not(.product-snippet--no-hover) {
        --grow: 8px;
      }
    }
  }
/* END_SNIPPET:product-snippet */

/* START_SNIPPET:progress-ring (INDEX:175) */
.progress-ring {
    width: 12px;
    height: 12px;

    .progress-ring__background {
      fill: none;
      opacity: 0.1;
      stroke: currentColor;
      stroke-width: 10;
    }

    .progress-ring__foreground {
      fill: none;
      stroke: currentColor;
      stroke-width: 10;
      stroke-dasharray: 282.743;
      stroke-dashoffset: calc(282.743px * (100 - var(--progress, 0)) / 100);
      rotate: -90deg;
      transform-origin: center;
    }

    .progress-ring__bullet {
      fill: currentColor;
    }
  }
/* END_SNIPPET:progress-ring */

/* START_SNIPPET:quantity-selector (INDEX:176) */
.quantity-selector__input {
    appearance: textfield;
    -moz-appearance: textfield;
    border: 0;
    min-height: 0;
    padding: 0;
    text-align: center;
    width: 3ch;

    &::-webkit-outer-spin-button,
    &::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }

    &:focus {
      outline: none;
    }
  }

  .quantity-selector__button {
    &.quick-add-icon {
      height: 12px;
      width: 12px;
    }

    &:disabled {
      cursor: not-allowed;
      opacity: 0.5;
    }
  }
/* END_SNIPPET:quantity-selector */

/* START_SNIPPET:quick-add (INDEX:177) */
.quick-add-button {
    border-block: 1px solid var(--color-black);
    padding-block: 0.625rem;
    position: relative;
    width: 100%;

    .quick-add-button__select {
      opacity: 0;
      pointer-events: none;
      position: absolute;
    }

    .quick-add-button__select,
    .quick-add-button__add {
      transition: opacity var(--max-height-transition-duration) ease;
    }

    &.is-active {
      .quick-add-button__select {
        opacity: 1;
        pointer-events: auto;
      }

      .quick-add-button__add {
        opacity: 0;
        pointer-events: none;
      }
    }

    &.is-active {
      .quick-add-icon .icon {
        rotate: 45deg;
      }
    }

    &:disabled {
      pointer-events: not-allowed;
      opacity: 0.4;
    }
  }

  .quick-add--small {
    .quick-add-button {
      padding-block: 0.375rem;
    }
  }

  .quick-add-button__add,
  .quick-add-button__select,
  .quick-add-button .quick-add-icon {
    pointer-events: none;
  }

  .quick-add-options__container {
    background-color: #ede8e2;
    bottom: var(--toolbar-height);
    left: 0;
    max-height: calc(100dvh - var(--toolbar-height));
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transform: translateY(30%);
    transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
    width: 100%;
    z-index: 2;

    .quick-add-options.is-open & {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0);
    }
  }

  .quick-add-options__header {
    border-block-end: 1px solid var(--color-black);
    padding-block: var(--spacing-12);
    padding-inline: 0.625rem;

    .quick-add-icon {
      background-color: #ede8e2;
    }
  }

  .quick-add-options__list {
    padding-block: 0.625rem var(--spacing-24);
    padding-inline: 0.625rem;
  }

  .quick-add__variant {
    --spacing: 0.375rem;
    padding-block: var(--spacing);
    width: 100%;

    &:first-of-type {
      padding-block-start: 0;
    }

    &:last-of-type {
      padding-block-end: 0;
    }

    &:disabled {
      pointer-events: not-allowed;
      opacity: 0.75;
    }
  }

  @media (min-width: 1024px) {
    .quick-add-options {
      display: block;
      max-height: 0;
      overflow: hidden;
      transition: max-height var(--max-height-transition-duration) ease-out;

      &.is-open {
        max-height: var(--max-height);
        transition-timing-function: ease-in;
      }
    }

    .quick-add-options__container {
      background-color: transparent;
      opacity: 1;
      pointer-events: auto;
      position: static;
      transform: none;
    }

    .quick-add-options__header {
      display: none;
    }

    .quick-add-options__list {
      border-block-end: 1px solid var(--color-black);
      padding-block-end: var(--spacing-12);
      padding-inline: 0;
    }

    .quick-add__price {
      opacity: 0;
      pointer-events: none;
    }

    @media (hover: hover) {
      .quick-add__variant {
        transition: opacity 0.2s ease-in-out;

        &:hover {
          .quick-add__price {
            opacity: 1;
            pointer-events: auto;
          }
        }
      }

      .quick-add:has(.quick-add__variant:hover) .quick-add__variant:not(:hover) {
        opacity: 0.4;
      }
    }
  }
/* END_SNIPPET:quick-add */

/* START_SNIPPET:quote (INDEX:178) */
.quote {
    gap: var(--spacing-12);
  }

  .quote__image {
    aspect-ratio: 160 / 207;
    object-fit: cover;
    width: 160px;
  }

  .quote__content {
    height: 100%;
    gap: 1.25rem;
  }

  .quote__title {
    margin-block-end: auto;
  }

  .quote__rating::before {
    --rating-percentage: calc((var(--rating, 0) / 5) * 100%);
    background: linear-gradient(to right, currentColor var(--rating-percentage), transparent var(--rating-percentage));
    content: '';
    height: 8px;
    mask-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MiIgaGVpZ2h0PSI4IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNTIgOCI+CiAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTguMjYzIDMuMWMwIC4wOS0uMDY0LjE3Ny0uMTI5LjI0Mkw2LjMzMiA1LjEyN2wuNDI3IDIuNTJxLjAwNi4wNS4wMDUuMTAxYzAgLjEzMS0uMDYuMjUyLS4yMDQuMjUyYS40LjQgMCAwIDEtLjE5OS0uMDZsLTIuMjMtMS4xOS0yLjIzIDEuMTlhLjQuNCAwIDAgMS0uMTk4LjA2Yy0uMTQ0IDAtLjIwOC0uMTIxLS4yMDgtLjI1MnEuMDAxLS4wNS4wMS0uMWwuNDI3LTIuNTIxTC4xMjQgMy4zNDJDLjA2NCAzLjI3NyAwIDMuMTkxIDAgMy4xYzAtLjE1MS4xNTQtLjIxMi4yNzgtLjIzMkwyLjc3MSAyLjUgMy44ODguMjA3QzMuOTMzLjExIDQuMDE4IDAgNC4xMzIgMHMuMTk4LjExLjI0My4yMDdMNS40OTIgMi41bDIuNDkzLjM2OGMuMTIuMDIuMjc4LjA4MS4yNzguMjMyTTE5LjE5OCAzLjFjMCAuMDktLjA2NS4xNzctLjEzLjI0MmwtMS44MDIgMS43ODUuNDI3IDIuNTJhMSAxIDAgMCAxIC4wMDUuMTAxYzAgLjEzMS0uMDYuMjUyLS4yMDQuMjUyYS40LjQgMCAwIDEtLjE5OC0uMDZsLTIuMjMtMS4xOS0yLjIzIDEuMTlhLjQuNCAwIDAgMS0uMTk5LjA2Yy0uMTQ0IDAtLjIwOC0uMTIxLS4yMDgtLjI1MnEuMDAxLS4wNS4wMS0uMWwuNDI3LTIuNTIxLTEuODA4LTEuNzg1Yy0uMDYtLjA2NS0uMTI0LS4xNTEtLjEyNC0uMjQyIDAtLjE1MS4xNTQtLjIxMi4yNzgtLjIzMmwyLjQ5My0uMzY4TDE0LjgyMi4yMDdjLjA0NS0uMDk2LjEzLS4yMDcuMjQ0LS4yMDdzLjE5OC4xMS4yNDMuMjA3TDE2LjQyNyAyLjVsMi40OTIuMzY4Yy4xMi4wMi4yNzkuMDgxLjI3OS4yMzJNMzAuMTMyIDMuMWMwIC4wOS0uMDY1LjE3Ny0uMTMuMjQyTDI4LjIgNS4xMjdsLjQyNyAyLjUyYTEgMSAwIDAgMSAuMDA1LjEwMWMwIC4xMzEtLjA2LjI1Mi0uMjA0LjI1MmEuNC40IDAgMCAxLS4xOTgtLjA2TDI2IDYuNzVsLTIuMjMgMS4xOWEuNC40IDAgMCAxLS4xOTguMDZjLS4xNDQgMC0uMjA5LS4xMjEtLjIwOS0uMjUycS4wMDEtLjA1LjAxLS4xbC40MjctMi41MjEtMS44MDgtMS43ODVjLS4wNi0uMDY1LS4xMjQtLjE1MS0uMTI0LS4yNDIgMC0uMTUxLjE1NC0uMjEyLjI3OS0uMjMybDIuNDkyLS4zNjhMMjUuNzU3LjIwN0MyNS44LjExIDI1Ljg4NiAwIDI2IDBzLjE5OS4xMS4yNDMuMjA3TDI3LjM2MSAyLjVsMi40OTIuMzY4Yy4xMi4wMi4yNzkuMDgxLjI3OS4yMzJNNDEuMDY2IDMuMWMwIC4wOS0uMDY1LjE3Ny0uMTMuMjQybC0xLjgwMiAxLjc4NS40MjcgMi41MnEuMDA2LjA1LjAwNS4xMDFjMCAuMTMxLS4wNi4yNTItLjIwNC4yNTJhLjQuNCAwIDAgMS0uMTk4LS4wNmwtMi4yMy0xLjE5LTIuMjMgMS4xOWEuNC40IDAgMCAxLS4xOTguMDZjLS4xNDQgMC0uMjA5LS4xMjEtLjIwOS0uMjUycS4wMDEtLjA1LjAxLS4xbC40MjctMi41MjEtMS44MDctMS43ODVjLS4wNi0uMDY1LS4xMjQtLjE1MS0uMTI0LS4yNDIgMC0uMTUxLjE1NC0uMjEyLjI3OC0uMjMybDIuNDkyLS4zNjhMMzYuNjkyLjIwN0MzNi43MzUuMTEgMzYuODIgMCAzNi45MzQgMHMuMTk5LjExLjI0NC4yMDdMMzguMjk1IDIuNWwyLjQ5My4zNjhjLjExOS4wMi4yNzguMDgxLjI3OC4yMzJNNTIgMy4xYzAgLjA5LS4wNjUuMTc3LS4xMy4yNDJsLTEuODAyIDEuNzg1LjQyNyAyLjUycS4wMDYuMDUuMDA1LjEwMWMwIC4xMzEtLjA2LjI1Mi0uMjAzLjI1MmEuNC40IDAgMCAxLS4xOTktLjA2bC0yLjIzLTEuMTktMi4yMyAxLjE5YS40LjQgMCAwIDEtLjE5OC4wNmMtLjE0NCAwLS4yMDktLjEyMS0uMjA5LS4yNTJxLjAwMS0uMDUuMDEtLjFsLjQyOC0yLjUyMS0xLjgwOC0xLjc4NWMtLjA2LS4wNjUtLjEyNC0uMTUxLS4xMjQtLjI0MiAwLS4xNTEuMTU0LS4yMTIuMjc4LS4yMzJsMi40OTMtLjM2OEw0Ny42MjUuMjA3Yy4wNDUtLjA5Ni4xMy0uMjA3LjI0My0uMjA3LjExNSAwIC4xOTkuMTEuMjQ0LjIwN0w0OS4yMjkgMi41bDIuNDkzLjM2OGMuMTIuMDIuMjc4LjA4MS4yNzguMjMyIi8+Cjwvc3ZnPgo=');
    width: 52px;
  }

  @media (min-width: 1024px) {
    .quote {
      gap: var(--spacing-32);
    }
  }
/* END_SNIPPET:quote */

/* START_SNIPPET:results-list (INDEX:181) */
.results-list-grid {
    display: grid;
    gap: 1.875rem var(--spacing-12);
    grid-template-columns: repeat(var(--columns, 2), minmax(0, 1fr));

    .product-card {
      height: 100%;
      width: 100%;
    }
  }

  .results-list__previous {
    margin-block-end: var(--spacing-24);
    order: -1;
  }

  .results-list__filter {
    .icon {
      --size: 12px;
      transition: rotate 0.25s ease-out;
    }

    &.is-active {
      .icon {
        rotate: 45deg;
      }

      & + .results-list__active-values {
        display: none;
      }
    }

    &:not(.is-active) {
      &:has(+ .results-list__active-values) {
        font-weight: var(--font-weight-medium);
      }
    }
  }

  results-list .filter-form__container {
    background-color: #ede8e2;
    border-block-start: 1px solid var(--color-black);
    margin-inline: calc(var(--container-gutter) * -1);
    overflow-y: scroll;
    padding-inline: var(--container-gutter);
  }

  @media (max-width: 767px) {
    .results-list__filters:not(.is-open) {
      display: none;
    }

    results-list .filter-form__container {
      &:has(.filter-form-values) {
        padding-block-end: var(--spacing-16);
      }
    }
  }

  @media (min-width: 768px) {
    .results-list-grid {
      --columns: 4;
      gap: var(--spacing-40) 1.6875rem;
    }

    results-list .filter-form__container {
      background-color: transparent;
      border-block-start: 0;
      overflow-y: visible;
      padding-block-end: 0;
      position: relative;
      z-index: 0;

      &::before {
        background-color: #ede8e2;
        border-block-start: 1px solid var(--color-black);
        content: '';
        display: block;
        height: calc(100% - 35px);
        left: 0;
        opacity: 0;
        top: 35px;
        pointer-events: none;
        position: absolute;
        width: 100%;
        z-index: -1;
      }

      &:has(.filter-form__filter[open]) {
        &::before {
          opacity: 1;
        }
      }
    }
  }
/* END_SNIPPET:results-list */

/* START_SNIPPET:search-overlay-product (INDEX:182) */
.search-overlay-product {
    border-block-end: 1px solid var(--color-black);

    .quick-add-button {
      border-block-end: 0;
      margin-block-end: -1px;
    }

    .stamped-fa-star {
      &::before {
        font-size: 0.75rem;
      }
    }
  }

  .search-overlay-product__thumbnail {
    aspect-ratio: 105 / 84;
    flex: 0 1 105px;
    overflow: hidden;
  }

  .search-overlay-product__reviews {
    align-items: center;
    font-size: 0.6875rem;
    margin-block-start: calc(var(--spacing-2) * -1);
  }

  @media (min-width: 768px) {
    .search-overlay-product {
      align-items: start;
      flex-wrap: wrap;

      .quick-add {
        flex: 0 0 100%;
      }

      .quick-add-options__list {
        border-block-end: 0;
      }
    }

    .search-overlay-product__body {
      display: contents;
    }

    .search-overlay-product__header {
      flex: 1;
    }
  }
/* END_SNIPPET:search-overlay-product */

/* START_SNIPPET:social-links (INDEX:184) */
.social-links {
    gap: var(--spacing-40);

    .icon {
      --size: 28px;
    }
  }
/* END_SNIPPET:social-links */

/* START_SNIPPET:subscription-builder-breadcrumbs (INDEX:186) */
.subscription-builder-breadcrumbs {
    border-block-start: 1px solid currentColor;
    counter-reset: breadcrumb-counter;
    display: flex;
    gap: var(--spacing-12);
    padding-block-start: 0.625rem;
  }

  .subscription-builder-breadcrumb {
    align-items: center;
    counter-increment: breadcrumb-counter;
    cursor: pointer;
    display: flex;
    gap: var(--spacing-8);

    &::before {
      border: 1px solid currentColor;
      border-radius: 100%;
      content: '';
      display: block;
      height: 7px;
      width: 7px;
    }

    &:not(.is-active) {
      .subscription-builder-breadcrumb__title {
        display: none;
      }
    }

    &.is-active,
    &:has(~ .subscription-builder-breadcrumb.is-active),
    .subscription-builder.is-complete & {
      &::before {
        background-color: currentColor;
      }
    }
  }

  .subscription-builder-breadcrumb__text {
    font-size: var(--font-size-12);
    font-weight: var(--font-weight-medium);

    &::before {
      content: counter(breadcrumb-counter, decimal-leading-zero) '.';
      display: inline-block;
    }
  }

  @media (max-width: 1023px) {
    .subscription-builder-breadcrumb__title {
      display: none;
    }
  }

  @media (min-width: 1024px) {
    .subscription-builder-breadcrumbs {
      gap: 1.25rem;
    }
  }
/* END_SNIPPET:subscription-builder-breadcrumbs */

/* START_SNIPPET:subscription-builder-hero (INDEX:187) */
.subscription-builder-hero {
    --padding-inline: var(--spacing-12);
    align-items: start;
    background-color: var(--color-black);
    display: flex;
    gap: 1.125rem;
    justify-content: end;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    padding-block: var(--spacing-32);
    padding-inline: var(--padding-inline);
    z-index: 0;

    .quote {
      color: var(--color-white);
      max-width: 675px;
    }
  }

  .subscription-builder-hero__heading,
  .subscription-builder-hero__body,
  .subscription-builder-hero__products-heading {
    color: var(--color-white);
    max-width: 578px;
  }

  .subscription-builder-hero__image {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: -1;
  }

  .subscription-builder-hero__products {
    align-self: stretch;
    gap: 1.25rem;
    margin-inline: calc(var(--padding-inline) * -1);
    overflow-x: scroll;
    padding-inline: var(--padding-inline);

    .product-snippet {
      display: flex;
      flex-direction: column;
      flex-shrink: 0;

      .quick-add {
        margin-block-start: auto;
      }
    }
  }

  .subscription-builder-add-on {
    &:has([name='id']:disabled) {
      display: none;
    }
  }

  @media (min-width: 1024px) {
    .subscription-builder-hero {
      --padding-inline: var(--spacing-32);
    }
  }
/* END_SNIPPET:subscription-builder-hero */

/* START_SNIPPET:subscription-builder-option (INDEX:188) */
.subscription-builder-option {
    display: block;
    width: 100%;
  }

  .subscription-builder-option__label {
    border: 1px solid var(--color-black);
    cursor: pointer;
    margin-block-end: 0;
    padding-block: 0.625rem;
    padding-inline: 0.625rem;

    &:has(.subscription-builder-option__radio:checked) {
      background-color: var(--color-black);
      color: var(--color-white);
    }

    &:not(:has(.subscription-builder-option__radio:checked)) {
      .subscription-builder-option__footer {
        display: none;
      }
    }
  }

  .subscription-builder-option__footer {
    border-block-start: 1px solid currentColor;
    margin-block-start: var(--spacing-24);
    padding-block-start: 0.625rem;
  }

  .subscription-builder-option__image {
    aspect-ratio: 364 / 169;
    object-fit: cover;
  }

  @media (min-width: 1024px) {
    .subscription-builder-option__label {
      &:has(.subscription-builder-option__body) {
        padding-block-end: var(--spacing-24);
      }
    }
  }
/* END_SNIPPET:subscription-builder-option */

/* START_SNIPPET:thumbnail-block (INDEX:195) */
.thumbnail-block {
    aspect-ratio: 179 / 223;
    background-color: var(--color-border);
    max-width: 179px;
    overflow: hidden;
    z-index: 0;

    &:has(.thumbnail-block__button)::before {
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 79.17%);
      content: '';
      display: block;
      height: 100%;
      inset: 0;
      position: absolute;
      width: 100%;
    }
  }

  .thumbnail-block__button {
    bottom: var(--spacing-4);
    left: 0.875rem;
    position: absolute;
    width: calc(100% - 1.75rem);
    z-index: 1;
  }

  .thumbnail-block__background {
    z-index: -1;
  }
/* END_SNIPPET:thumbnail-block */