.product-information {
  gap: var(--gap) 0;

  h1 {
    @media screen and (max-width: 749px) {
      font-size: var(--font-size--2xl);
    }
  }

  .button-tertiary {
    padding: var(--padding-lg) var(--padding-2xl);
    margin-top: calc(-1 * var(--margin-lg));
    letter-spacing: 1.6px;
    line-height: 1rem;
  }

  .tooltip-trigger {
    .svg-wrapper {
      display: flex;
      align-items: center;
      opacity: var(--opacity-70);
      transition: opacity var(--animation-speed) var(--animation-easing);
    }
  }

  .tooltip__content {
    text-transform: none;
    letter-spacing: normal;
    font-weight: 300;
    cursor: text;

    a:hover {
      color: var(--color-background-muted);
    }
  }

  .variant-option--buttons {
    gap: 0.375rem;
  }

  .variant-option--swatches {
    display: flex;
    flex-direction: column;
    gap: 1.563rem;
  }

  .variant-option--colors {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;

    .variant-option__label-text {
      opacity: var(--opacity-70);
    }

    .variant-option__action-link {
      opacity: 0;
      pointer-events: none;
    }

    &:has(label.selected) {
      .variant-option__swatch-value {
        display: inline-block;
      }

      .variant-option__label-text {
        opacity: 1;
      }

      .variant-option__action-link {
        opacity: 1;
        pointer-events: auto;
      }

      .tooltip-trigger .svg-wrapper {
        opacity: 1;
      }
    }
  }

  .accordion {
    display: flex;
    flex-direction: column;
    gap: 0.188rem;
    margin-block-start: calc(-1 * var(--margin-xs));
  }

  .text-block {
    ul,
    ol {
      padding-inline-start: var(--padding-xl);
    }

    ul {
      list-style: disc;
    }

    ol {
      list-style: decimal;
    }

    .metafield-rich_text_field h1:first-child {
      display: none;
    }
  }
}

/* Base grid layout */
.product-information__grid {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
}

/* Default column positions */
.product-details {
  order: 1;
}

.price-container {
  display: flex;
  flex-direction: row-reverse;
  gap: var(--gap-xs);
  padding-block-start: var(--padding-2xs);
  width: 100% !important;
}

.product-information__media {
  order: 0;
  width: 0;
  min-width: 100%;
}

/* Mobile styles */
@media screen and (max-width: 749px) {
  .product-information__media {
    grid-column: 1 / -1;
  }

  .product-details {
    grid-column: 2 / 3;
  }
}

/* Desktop styles */
@media screen and (min-width: 750px) {
  .product-information__grid {
    grid-column: 2;
  }

  /* Position when there is no media */
  .product-information__grid.product-information--media-none,
  .product-information__grid:has(.product-information__media:empty) {
    .product-details {
      width: var(--narrow-content-width);
      margin: 0 auto;
    }
  }

  /* Position when there is media */
  .product-information__grid:not(:has(.product-information__media:empty)) {
    /* Media on the left side */
    &.product-information--media-left {
      grid-template-columns: 1fr min(50vw, var(--sidebar-width));

      .product-information__media {
        padding-right: 0.75rem;
      }

      .product-details {
        padding-left: 0.75rem;
      }

      &:has(.media-gallery--extend) {
        grid-column: 1 / 3;
      }
    }

    /* Media on the right side */
    &.product-information--media-right {
      grid-template-columns: min(50vw, var(--sidebar-width)) 1fr;

      .product-information__media {
        padding-left: 0.75rem;
        order: 1;
      }

      .product-details {
        padding-right: 0.75rem;
        order: 0;
      }

      &:has(.media-gallery--extend) {
        grid-column: 2 / -1;
      }
    }

    /* Equal width columns */
    &.product-information__grid--half,
    &.product-information__grid--half:has(.media-gallery--extend) {
      grid-column: 1 / -1;
      grid-template-columns:
        var(--full-page-grid-margin) calc(var(--full-page-grid-central-column-width) / 2) calc(
          var(--full-page-grid-central-column-width) / 2
        )
        var(--full-page-grid-margin);

      &.product-information--media-left {
        .product-information__media {
          grid-column: 2 / 3;

          &:has(.media-gallery--extend) {
            grid-column: 1 / 3;
          }
        }

        .product-details {
          grid-column: 3 / 4;
        }
      }

      &.product-information--media-right {
        .product-information__media {
          grid-column: 3 / 4;

          &:has(.media-gallery--extend) {
            grid-column: 3 / -1;
          }
        }

        .product-details {
          grid-column: 2 / 3;
        }
      }
    }
  }

  /* Handle full width section */
  .section--full-width {
    .product-information__grid:not(:has(.product-information__media:empty)) {
      &.product-information--media-left,
      &.product-information--media-right {
        grid-column: 1 / -1;
      }

      &.product-information--media-left .product-details {
        padding-inline-end: var(--padding-lg);
      }

      &.product-information--media-right .product-details {
        padding-inline-start: var(--padding-lg);
      }

      &.product-information__grid--half.product-information--media-left {
        .product-information__media {
          grid-column: 1 / 3;
        }

        .product-details {
          grid-column: 3 / -1;
        }
      }

      &.product-information__grid--half.product-information--media-right {
        .product-information__media {
          grid-column: 3 / -1;
        }

        .product-details {
          grid-column: 1 / 3;
        }
      }
    }
  }
}

@media screen and (min-width: 990px) {
  /* Position when there is media */
  .product-information__grid:not(:has(.product-information__media:empty)) {
    /* Media on the left side */
    &.product-information--media-left {
      .product-information__media {
        padding-right: calc(var(--gap, 0) / 2);
      }

      .product-details {
        padding-left: calc(var(--gap, 0) / 2);
      }
    }

    /* Media on the right side */
    &.product-information--media-right {
      .product-information__media {
        padding-left: calc(var(--gap, 0) / 2);
        order: 1;
      }

      .product-details {
        padding-right: calc(var(--gap, 0) / 2);
        order: 0;
      }
    }
  }

  /* Handle full width section */
  .section--full-width {
    .product-information__grid:not(:has(.product-information__media:empty)) {
      &.product-information--media-left .product-details {
        padding-inline-end: 4.75rem;
      }

      &.product-information--media-right .product-details {
        padding-inline-start: 4.75rem;
      }
    }
  }
}

/* Wider sidebar for large screens */
@media screen and (min-width: 1200px) {
  .product-information__grid:not(
      .product-information__grid--half,
      :has(.product-information__media:empty)
    ).product-information--media-left {
    grid-template-columns: 2fr 1fr;
  }

  .product-information__grid:not(
      .product-information__grid--half,
      :has(.product-information__media:empty)
    ).product-information--media-right {
    grid-template-columns: 1fr 2fr;
  }
}

@media screen and (min-width: 1600px) {
  .product-information__grid:not(
      .product-information__grid--half,
      :has(.product-information__media:empty)
    ).product-information--media-left {
    grid-template-columns: 1fr 38.625rem;
  }

  .product-information__grid:not(
      .product-information__grid--half,
      :has(.product-information__media:empty)
    ).product-information--media-right {
    grid-template-columns: 38.625rem 1fr;
  }
}

.product-information__grid--limit-details .product-details > .group-block {
  max-width: var(--sidebar-width);
}

product-price {
  @media screen and (max-width: 749px) {
    flex-grow: 0;
  }
}

/* If the header is sticky, make product details content stick underneath the header */
body:has(#header-group #header-component[data-sticky-state='active'])
  .product-details.sticky-content--desktop {
  --sticky-header-offset: var(--header-height);
}
