/** Shopify CDN: Minification failed

Line 4598:1 Unexpected ";"

**/
/** Shopify CDN: Minification failed

Line 4593:1 Unexpected ";"

**/
product-info {
    display: block;
  }
  .product__accordion{
    border-top: none !important;
  }

  /* Section Header */
  .product-alt-section__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 7px;
    padding: 0 0 40px;
    margin-bottom: 0;
  }

  .product-alt-section__title {
    font-family: 'Mori', sans-serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 45px;
    color: #c48a62;
    text-transform: uppercase;
    letter-spacing: 0;
  }

  /* Mobile title - hidden by default (desktop) */
  .product-alt-section__title--mobile {
    display: none;
  }

  /* Desktop title - visible by default */
  .product-alt-section__title--desktop {
    display: block;
  }

  .product-alt-section__subtitle {
    font-family: 'Migra', serif;
    font-size: 50px;
    font-weight: 800;
    line-height: normal;
    color: #1f1f1f;
    text-align: center;
  }

  .product-alt-section__subtitle p {
    margin: 0;
  }

  /* Mobile subtitle - hidden by default */
  .product-alt-section__subtitle--mobile {
    display: none;
  }

  /* Desktop subtitle - visible by default */
  .product-alt-section__subtitle--desktop {
    display: block;
  }

  .product-alt-section__highlight-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-self: center;
    flex-shrink: 0;
    margin: 0;
    box-sizing: border-box;
    padding: 8px 20px;
    overflow: hidden;
    border-radius: 100px;
    background: #fff2cb;
    color: #000;
    font-family: Mori, 'PP Mori', sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 25.6px;
    text-align: center;
  }

  @media screen and (max-width: 749px) {
    .product-alt-section__header {
      padding: 0 0 18px;
      gap: 15px;
    }

    .product-alt-section__title {
      font-size: 1.6rem;
      line-height: .87;
    }

    /* Show mobile title on mobile when it exists */
    .product-alt-section__title--mobile {
      display: block;
    }

    /* Hide desktop title on mobile when mobile title exists (using sibling selector) */
    .product-alt-section__title--mobile ~ .product-alt-section__title--desktop {
      display: none;
    }

    .product-alt-section__subtitle {
      font-size: 3.5rem;
      line-height: 1.2;
    }

    /* Show mobile subtitle on mobile when it exists */
    .product-alt-section__subtitle--mobile {
      display: block;
    }

    /* Hide desktop subtitle on mobile when mobile subtitle exists */
    .product-alt-section__subtitle--has-mobile.product-alt-section__subtitle--desktop {
      display: none;
    }
  }
  
  .product {
    margin: 0;
    justify-content: center;
  }
  
  @media screen and (min-width: 1179px) {
    .product.grid {
      column-gap: 40px;
    }
  }

  .stop-acne-product-alt-section .product.grid {
    align-items: stretch;
  }

  /* Mobile-only title and rating above gallery */
  .product__mobile-title-rating--above-gallery {
    display: none;
  }

  @media screen and (max-width: 749px) {
    /* Show mobile title/rating wrapper */
    .product__mobile-title-rating--above-gallery {
      display: flex;
      width: 100%;
      flex-direction: column-reverse;
      gap: 12px;
      margin-bottom: 12px;
    }

    .product__mobile-title-rating--above-gallery .rating-wrapper {
      margin-bottom: 0;
    }

    .product__mobile-title-rating--above-gallery .product__title h1{
      margin-block: 0
    }

    /* Stars rating styling for mobile section */
    .product__mobile-title-rating--above-gallery .stars-rating {
      gap: 0.8125rem; /* 13px */
      align-items: flex-start;
    }

    .product__mobile-title-rating--above-gallery .stars-rating__stars {
      width: auto;
      height: 20px;
      gap: 0;
    }

    .product__mobile-title-rating--above-gallery .stars-rating__star {
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
    }

    .product__mobile-title-rating--above-gallery .stars-rating__star svg,
    .product__mobile-title-rating--above-gallery .rating-star-half__fill svg,
    .product__mobile-title-rating--above-gallery .rating-star-half__outline,
    .product__mobile-title-rating--above-gallery .rating-star-partial__fill svg,
    .product__mobile-title-rating--above-gallery .rating-star-partial__outline {
      width: 20px;
      height: 20px;
    }

    .product__mobile-title-rating--above-gallery .stars-rating__text {
      padding-top: 0.25rem; /* 3px */
      white-space: nowrap;
      text-transform: none;
    }

    /* Hide title and rating in their original position on mobile */
    .product__info-container .product__title-rating-wrapper {
      display: none;
    }
  }

  @media screen and (min-width: 750px) {
    /* Hide mobile wrapper on desktop */
    .product__mobile-title-rating--above-gallery {
      display: none;
    }

    /* Show original title/rating on desktop */
    .product__info-container .product__title-rating-wrapper {
      display: block;
    }

    .product-alt-section__highlight-text {
      font-size: 24px;
    }
  }
  
  .product--no-media {
    max-width: 57rem;
    margin: 0 auto;
  }
  
  .product__media-wrapper {
    padding-left: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  @media (min-width: 750px) {
    .product__media-wrapper {
      gap: 20px;
    }
  }

  /* Media gallery viewer wrapper (for discount badge positioning) */
  .product__media-gallery-viewer {
    position: relative;
  }

  /* Main gallery arrows over image: pill style, left/right centered.
     Override component-slider's .slider--mobile + .slider-buttons { display: none } and
     .small-hide on the viewer buttons so arrows always show.
     Container must not have pointer-events: none or clicks pass through and buttons don't work. */
  .product__media-gallery-viewer slider-component .slider-buttons {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 0 12px;
    z-index: 2;
  }

  .product__media-gallery-viewer slider-component .slider-buttons .slider-button {
    border-radius: 100px;
    background: rgba(0, 0, 0, 0.4);
    width: 40px;
    height: 40px;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    cursor: pointer;
    color: #fff;
  }

  .product__media-gallery-viewer slider-component .slider-buttons .slider-button:hover:not([disabled]) {
    background: rgba(0, 0, 0, 0.55);
  }

  .product__media-gallery-viewer slider-component .slider-buttons .slider-button .icon,
  .product__media-gallery-viewer slider-component .slider-buttons .slider-button svg {
    width: 20px;
    height: 20px;
    color: #fff;
    fill: currentColor;
  }

  .product__media-gallery-viewer slider-component .slider-buttons .slider-button--prev svg,
  .product__media-gallery-viewer slider-component .slider-buttons .slider-button--prev:hover:not([disabled]) svg {
    transform: rotate(180deg);
  }

  .product__media-gallery-viewer slider-component .slider-buttons .slider-button--next svg,
  .product__media-gallery-viewer slider-component .slider-buttons .slider-button--next:hover:not([disabled]) svg {
    transform: none;
  }

  /* Keep counter in layout as invisible spacer so middle area has pointer-events: none and clicks pass to image */
  .product__media-gallery-viewer slider-component .slider-buttons .slider-counter {
    visibility: hidden;
    pointer-events: none;
    flex: 1;
  }

  .product__media-discount-badge {
    display: inline-flex;
    padding: 0 15px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    background: #006909;
    color: #fff;
    text-align: center;
    font-family: "Apercu Mono Pro", monospace;
    font-size: 26px;
    font-style: normal;
    font-weight: 500;
    line-height: 26px;
    text-transform: uppercase;
    white-space: nowrap;
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 4;
    pointer-events: none;
  }

  .product__media-discount-badge__label {
    margin-right: 0.35em;
  }

  .product__media-discount-badge [data-discount-percent] {
    margin: 0;
  }

  .product__media-discount-badge--hidden {
    display: none;
  }

  @media screen and (max-width: 749px) {
    .product__media-wrapper{
      gap: 0px !important;
    }
    .product__media-discount-badge {
      border-radius: 5px;
      padding: 0 10px;
      height: 31px;
      font-size: 15px;
      font-weight: 400;
      line-height: 16px;
    }
  }

  /* Media Gallery Wrapper */
  .product__media-gallery-wrapper {
    position: relative;
  }

  .product__media-gallery-wrapper slider-component {
    position: relative;
  }

  .product__media-navigation {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    display: flex;
    align-items: center;
  }

  .product__media-gallery-wrapper slider-component {
    position: relative;
  }

  .product__media-nav-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42.772px;
    height: 42.772px;
    background-color: rgba(0, 0, 0, 0.4);
    border: none;
    border-radius: 106.93px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto;
    transition: opacity 0.2s ease, background-color 0.2s ease;
    z-index: 3;
    opacity: 1;
  }

  .product__media-nav-button:hover {
    background-color: rgba(0, 0, 0, 0.6);
  }

  .product__media-nav-button:active {
    opacity: 0.8;
  }

  .product__media-nav-button--prev {
    left: 1.5rem;
  }

  .product__media-nav-button--next {
    right: 1.5rem;
    left: auto;
  }

  @media screen and (min-width: 750px) {
    .product__media-nav-button--prev {
      left: calc(50% - 270.53px);
    }

    .product__media-nav-button--next {
      right: calc(50% - 270.53px);
      left: auto;
    }
  }

  .product__media-nav-button .svg-wrapper {
    width: 21.386px;
    height: 21.386px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.8);
  }

  .product__media-nav-button--prev .svg-wrapper svg {
    transform: rotate(90deg);
  }

  .product__media-nav-button--next .svg-wrapper svg {
    transform: rotate(-90deg);
  }

  .product__media-nav-button svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  @media screen and (max-width: 749px) {
    .product__media-nav-button {
      width: 36px;
      height: 36px;
      opacity: 1;
    }

    .product__media-nav-button--prev {
      left: 2rem;
    }

    .product__media-nav-button--next {
      right: 2rem;
      left: auto;
    }

    .product__media-nav-button .svg-wrapper {
      width: 18px;
      height: 18px;
    }
  }
  
  @media screen and (min-width: 750px) {
    .product__column-sticky {
      display: block;
      position: sticky;
      top: 3rem;
      z-index: 2;
    }

    /* Sticky media column: scrolls with viewport until section ends (same idea as .pv-hero__left). */
    .product-alt-section:not(.stop-acne-product-alt-section) .product.grid:not(.product--no-media) {
      align-items: flex-start;
    }

    .product-alt-section:not(.stop-acne-product-alt-section)
      .product:not(.product--no-media)
      .grid__item.product__media-wrapper {
      position: sticky;
      top: 3rem;
      z-index: 1;
      align-self: flex-start;
    }

    /* Viewports too narrow for fixed product--small columns (~570+525+gap): avoid sticky
       gallery under info (info column z-index: 2 paints over media z-index: 1). */
    @media screen and (max-width: 1179px) {
      .product-alt-section:not(.stop-acne-product-alt-section)
        .product:not(.product--no-media)
        .grid__item.product__media-wrapper {
        position: relative;
        top: auto;
        z-index: auto;
      }
    }
  
    .product--thumbnail .thumbnail-list {
      padding-right: var(--media-shadow-horizontal-offset);
    }
  
    .product__info-wrapper {
      padding: 0 0 0 4rem;
    }
  
    .product__info-wrapper--extra-padding {
      padding: 0 0 0 8rem;
    }
  
    .product--right .product__info-wrapper {
      padding: 0 5rem 0 0;
    }
  
    .product--right .product__info-wrapper--extra-padding {
      padding: 0 8rem 0 0;
    }
  
    .product--right .product__media-list {
      margin-bottom: 1.7rem;
    }
  
    .product__media-container .slider-buttons {
      display: none;
    }
  
    .product--right .product__media-wrapper {
      order: 2;
    }
  }
  
  @media screen and (min-width: 990px) {
    .product--large:not(.product--no-media) .product__media-wrapper {
      max-width: 65%;
      width: calc(65% - var(--grid-desktop-horizontal-spacing) / 2);
    }
  
    .product--large:not(.product--no-media) .product__info-wrapper {
      padding: 0 0 0 4rem;
      max-width: 35%;
      width: calc(35% - var(--grid-desktop-horizontal-spacing) / 2);
    }
  
    .product--large:not(.product--no-media).product--right .product__info-wrapper {
      padding: 0 4rem 0 0;
    }
  
    .product--medium:not(.product--no-media) .product__media-wrapper {
      max-width: 50%;
      width: calc(55% - var(--grid-desktop-horizontal-spacing));
    }
  }

  /* product--small fixed widths (570px + 525px + gap) need ~1180px; fluid 50/50 between 990–1179px */
  @media screen and (min-width: 990px) and (max-width: 1179px) {
    .product--small:not(.product--no-media) .product__info-wrapper {
      max-width: none;
      width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
      padding: 0 0 0 2rem;
    }

    .product--small:not(.product--no-media) .product__media-wrapper {
      max-width: none;
      width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    }
  }

  @media screen and (min-width: 1180px) {
    .product--small:not(.product--no-media) .product__info-wrapper {
      max-width: 525px;
      width: calc(525px + 40px);
      padding: 0;
    }

    .product--small:not(.product--no-media) .product__media-wrapper {
      max-width: 570px;
      width: calc(51% - var(--grid-desktop-horizontal-spacing) / 2);
    }
  }
  
  /* Dynamic checkout */
  
  .shopify-payment-button__button {
    font-family: inherit;
    min-height: 4.6rem;
  }
  
  .shopify-payment-button__button [role='button'].focused {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5) !important;
    outline-offset: 0.3rem;
    box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border)),
      0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3) !important;
  }
  
  .shopify-payment-button__button [role='button']:focus:not(:focus-visible) {
    outline: 0;
    box-shadow: none !important;
  }
  
  .shopify-payment-button__button [role='button']:focus-visible {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5) !important;
    box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border)),
      0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3) !important;
  }
  
  .shopify-payment-button__button--unbranded {
    background-color: rgba(var(--color-button), var(--alpha-button-background));
    color: rgb(var(--color-button-text));
    font-size: 1.4rem;
    line-height: calc(1 + 0.2 / var(--font-body-scale));
    letter-spacing: 0.07rem;
  }
  
  .shopify-payment-button__button--unbranded::selection {
    background-color: rgba(var(--color-button-text), 0.3);
  }
  
  .shopify-payment-button__button--unbranded:hover,
  .shopify-payment-button__button--unbranded:hover:not([disabled]) {
    background-color: rgba(var(--color-button), var(--alpha-button-background));
  }
  
  .shopify-payment-button__more-options {
    margin: 1.6rem 0 1rem;
    font-size: 1.2rem;
    line-height: calc(1 + 0.5 / var(--font-body-scale));
    letter-spacing: 0.05rem;
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
  
  .shopify-payment-button__button + .shopify-payment-button__button--hidden {
    display: none;
  }
  
  /* Product form */
  
  .product-form {
    display: block;
  }
  
  .product-form__error-message-wrapper:not([hidden]) {
    display: flex;
    align-items: flex-start;
    font-size: 1.3rem;
    line-height: 1.4;
    letter-spacing: 0.04rem;
    margin-bottom: 1.5rem;
  }
  
  .product-form__error-message-wrapper .svg-wrapper {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 0.7rem;
    margin-top: 0.25rem;
  }
  
  /* Form Elements */
  .product-form__input {
    flex: 0 0 100%;
    padding: 0;
    margin: 0 0 1.2rem 0;
    max-width: 44rem;
    min-width: fit-content;
    border: none;
  }
  
  .product-form__input .form__label {
    padding-left: 0;
  }
  
  .product-form__input .select {
    max-width: 100%;
  }
  
  .product-form__input .svg-wrapper {
    right: 1.5rem;
  }
  
  .product-form__submit {
    margin-bottom: 1rem;
    font-family: Apercu Mono Pro, monospace;
    text-transform: uppercase;
  }
  
  .product-form__submit[aria-disabled='true'] + .shopify-payment-button .shopify-payment-button__button[disabled],
  .product-form__submit[disabled] + .shopify-payment-button .shopify-payment-button__button[disabled] {
    cursor: not-allowed;
    opacity: 0.5;
  }
  
  @media screen and (forced-colors: active) {
    .product-form__submit[aria-disabled='true'] {
      color: Window;
    }
  }
  
  /* Overrides */
  .shopify-payment-button__more-options {
    color: rgb(var(--color-foreground));
  }
  
  .shopify-payment-button__button {
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
  }
  
  /* Product info */
  
  .product__info-container > * + * {
    margin: 1.5rem 0;
  }
  
  .product__info-container iframe {
    max-width: 100%;
  }
  
  .product__info-container .product-form,
  .product__info-container .product__description,
  .product__info-container .icon-with-text {
    margin: 2.5rem 0;
  }

  .product__info-container .product-form {
    margin: 2.2rem 0;
  }

  .product-alt-section .stars-rating {
    gap: .6rem;
  }

  .product-alt-section .stars-rating .stars-rating__stars {
    gap: 0;
    width: auto;
    height: 20px;
  }

  .product-alt-section .stars-rating .stars-rating__star {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
  }

  .product-alt-section .stars-rating .stars-rating__star svg,
  .product-alt-section .stars-rating .rating-star-half__fill svg,
  .product-alt-section .stars-rating .rating-star-half__outline,
  .product-alt-section .stars-rating .rating-star-partial__fill svg,
  .product-alt-section .stars-rating .rating-star-partial__outline {
    width: 20px;
    height: 20px;
  }

  .product-alt-section .stars-rating .stars-rating__text {
    white-space: normal;
    text-transform: none;
    font-size: 20.8px;
    line-height: 1.1;
    flex-shrink: 1;
  }
  
  .product__text {
    margin-bottom: 0;
  }
  
  a.product__text {
    display: block;
    text-decoration: none;
    color: rgba(var(--color-foreground), 0.75);
  }
  
  .product__text.caption-with-letter-spacing {
    text-transform: uppercase;
  }
  
  .product__title h1 {
    word-break: break-word;
    margin-block: .9rem;
    font-size: 3rem;
    line-height: 1.2;
    letter-spacing: -.8px
  }
  
  .product__title > * {
    margin: 0;
  }
  
  .product__title > a {
    display: none;
  }
  
  .product__title + .product__text.caption-with-letter-spacing {
    margin-top: -1.5rem;
  }
  
  .product__text.caption-with-letter-spacing + .product__title {
    margin-top: 0;
  }
  
  .product__accordion .accordion__content {
    padding: 0 1rem;
  }

  .product__accordion .accordion__content ul {
    padding-left: 0;
    list-style: none;
  }

  .product__accordion .accordion__content{
    color: #000;
    padding-top: 1rem;
    line-height: 24px;
    text-transform: capitalize;
  }
  
  .product .price .badge {
    margin-bottom: 0.5rem;
  }
  
  .product .price__container {
    margin-bottom: 0.5rem;
  }
  
  .product .price dl {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  
  .product .price--sold-out .price__badge-sale {
    display: none;
  }
  
  @media screen and (min-width: 750px) {
    /* .product__info-container {
      max-width: 55rem;
    } */

    .product-alt-section .product__info-container {
     max-width: 52.5rem;
      padding-top: 0;;
    }
  
    .product__info-container .price--on-sale .price-item--regular {
      font-size: 1.6rem;
    }
  
    .product__info-container > *:first-child {
      margin-top: 0;
    }

    .product__title h1 {
        margin-block: 1.2rem;
        font-size: 3rem;
        line-height: 1.2;
        letter-spacing: normal;
      } 

      .product-alt-section .stars-rating .stars-rating__text{
        line-height: 1.1;
        flex-shrink: 1;
        margin-bottom: -.5rem;
      }
  }
  
  .product__description-title {
    font-weight: 600;
  }
  
  .product--no-media .product__title,
  .product--no-media .product__text,
  .product--no-media .product__tax,
  .product--no-media .product__sku,
  .product--no-media shopify-payment-terms {
    text-align: center;
  }
  
  .product--no-media .product__media-wrapper,
  .product--no-media .product__info-wrapper {
    padding: 0;
  }
  
  .product__tax {
    margin-top: -1.4rem;
  }
  
  .product--no-media .share-button {
    max-width: 100%;
  }
  
  .product--no-media .product-form__quantity,
  .product--no-media .share-button,
  .product--no-media .product__view-details,
  .product--no-media .product__pickup-availabilities,
  .product--no-media .product-form {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  
  .product--no-media .product-form {
    flex-direction: column;
  }
  
  .product--no-media .product-form > .form {
    max-width: 30rem;
    width: 100%;
  }
  
  .product--no-media .product-form__quantity {
    flex-direction: column;
    max-width: 100%;
  }
  
  .product-form__quantity .form__label {
    margin-bottom: 0.6rem;
  }
  
  .price-per-item__label.form__label {
    margin-bottom: 0rem;
  }
  
  .product-form__quantity-top .form__label {
    margin-bottom: 1.2rem;
  }
  
  .product-form__buttons {
    max-width: 100%;
  }
  
  .product--no-media .product__info-container > modal-opener {
    display: block;
    text-align: center;
  }
  
  .product--no-media .product-popup-modal__button {
    padding-right: 0;
  }
  
  .product--no-media .price {
    text-align: center;
  }
  
  /* Product media */
  .product__media-list video {
    border-radius: calc(var(--media-radius) - var(--media-border-width));
  }
  
  @media screen and (max-width: 749px) {
    .product-alt-section .stars-rating .stars-rating__text{
      font-size: 12px;  
    }

    .product__accordion .accordion__content{
      font-size: 16px !important;
    }
    .product__media-list {
      margin-left: -2.5rem;
      margin-bottom: 3rem;
      width: calc(100% + 4rem);
    }
  
    .product__media-wrapper slider-component:not(.thumbnail-slider--no-slide) {
      margin-left: -1.5rem;
      margin-right: -1.5rem;
    }

    .product__media-wrapper slider-component.thumbnail-slider {
      margin-inline: 0
    }
  
    .slider.product__media-list::-webkit-scrollbar {
      height: 0.2rem;
      width: 0.2rem;
    }
  
    .product__media-list::-webkit-scrollbar-thumb {
      background-color: rgb(var(--color-foreground));
    }
  
    .product__media-list::-webkit-scrollbar-track {
      background-color: rgba(var(--color-foreground), 0.2);
    }
  
    .product__media-list .product__media-item {
      width: calc(100% - 3rem - var(--grid-mobile-horizontal-spacing));
    }
  
    .product--mobile-columns .product__media-item {
      width: calc(50% - 1.5rem - var(--grid-mobile-horizontal-spacing));
    }
  }
  
  @media screen and (min-width: 750px) {
    .product--thumbnail .product__media-list,
    .product--thumbnail_slider .product__media-list,
    .product--thumbnail_carousel_custom .product__media-list {
      padding-bottom: calc(var(--media-shadow-vertical-offset) * var(--media-shadow-visible));
    }
  
    .product__media-list {
      padding-right: calc(var(--media-shadow-horizontal-offset) * var(--media-shadow-visible));
    }

    .product--thumbnail .product__media-list {
      margin-bottom: 1.7rem;
    }
  
    /* Enable horizontal scroll on desktop for slider functionality */
    .product__media-gallery-wrapper .slider.product__media-list {
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
      flex-wrap: nowrap;
    }
  
    .product--thumbnail .product__media-item:not(.is-active),
    .product--thumbnail_slider .product__media-item:not(.is-active),
    .product--thumbnail_carousel_custom .product__media-item:not(.is-active) {
      display: none;
    }

    /* Override hide rule when slider wrapper is present (navigation arrows active) */
    .product__media-gallery-wrapper .product--thumbnail .product__media-item:not(.is-active),
    .product__media-gallery-wrapper .product--thumbnail_slider .product__media-item:not(.is-active),
    .product__media-gallery-wrapper .product--thumbnail_carousel_custom .product__media-item:not(.is-active) {
      display: list-item;
    }

    /* Gallery viewer (alt section): ensure slider scrolls and all slides visible so SliderComponent initPages() sees 2+ items and arrow clicks work */
    .product__media-gallery-viewer .slider.product__media-list {
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
      flex-wrap: nowrap;
    }
    .product__media-gallery-viewer .product__media-item:not(.is-active) {
      display: list-item;
    }
    .product__media-gallery-viewer slider-component .product__media-list .product__media-item {
      width: 100%;
      min-width: 100%;
      box-sizing: border-box;
    }
  
    .product-media-modal__content > .product__media-item--variant.product__media-item--variant {
      display: none;
    }
  
    .product-media-modal__content > .product__media-item--variant:first-child {
      display: block;
    }
  }
  
  @media screen and (min-width: 750px) and (max-width: 989px) {
    .product__media-list .product__media-item:first-child {
      padding-left: 0;
    }
  
    .product--thumbnail_slider .product__media-list,
    .product--thumbnail_carousel_custom .product__media-list {
      margin-left: 0;
    }
  
    .product__media-list .product__media-item {
      width: 100%;
    }
  }
  
  .product__media-icon .icon {
    width: 1.2rem;
    height: 1.4rem;
  }
  
  .product__media-icon,
  .thumbnail__badge {
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
    color: rgb(var(--color-foreground));
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
    width: 3rem;
    position: absolute;
    left: 1.2rem;
    top: 1.2rem;
    z-index: 1;
    transition: color var(--duration-short) ease, opacity var(--duration-short) ease;
  }
  
  .product__media-video .product__media-icon {
    opacity: 1;
  }
  
  .product__modal-opener--image .product__media-toggle:hover {
    cursor: zoom-in;
  }
  
  .product__modal-opener:hover .product__media-icon {
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
  }
  
  @media screen and (min-width: 750px) {
    .grid__item.product__media-item--full {
      width: 100%;
    }
  
    .product--columns .product__media-item:not(.product__media-item--single):not(:only-child) {
      max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    }
  
    .product--large.product--columns .product__media-item--full .deferred-media__poster-button {
      height: 5rem;
      width: 5rem;
    }
  
    .product--medium.product--columns .product__media-item--full .deferred-media__poster-button {
      height: 4.2rem;
      width: 4.2rem;
    }
  
    .product--medium.product--columns .product__media-item--full .deferred-media__poster-button .icon {
      width: 1.8rem;
      height: 1.8rem;
    }
  
    .product--small.product--columns .product__media-item--full .deferred-media__poster-button {
      height: 3.6rem;
      width: 3.6rem;
    }
  
    .product--small.product--columns .product__media-item--full .deferred-media__poster-button .icon {
      width: 1.6rem;
      height: 1.6rem;
    }
  }
  
  @media screen and (min-width: 990px) {
    .product--stacked .product__media-item {
      max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    }
  
    .product:not(.product--columns) .product__media-list .product__media-item:first-child,
    .product:not(.product--columns) .product__media-list .product__media-item--full {
      width: 100%;
      max-width: 100%;
    }
  
    .product__modal-opener .product__media-icon {
      opacity: 0;
    }
  
    .product__modal-opener:hover .product__media-icon,
    .product__modal-opener:focus .product__media-icon {
      opacity: 1;
    }
  }
  
  .product__media-item > * {
    display: block;
    position: relative;
  }
  
  .product__media-toggle {
    display: flex;
    border: none;
    background-color: transparent;
    color: currentColor;
    padding: 0;
  }
  
  .product__media-toggle::after {
    content: '';
    cursor: pointer;
    display: block;
    margin: 0;
    padding: 0;
    position: absolute;
    top: calc(var(--border-width) * -1);
    right: calc(var(--border-width) * -1);
    bottom: calc(var(--border-width) * -1);
    left: calc(var(--border-width) * -1);
    z-index: 2;
  }
  
  .product__media-toggle:focus-visible {
    outline: 0;
    box-shadow: none;
  }
  
  /* outline styling for Windows High Contrast Mode */
  @media (forced-colors: active) {
    .product__media-toggle:focus-visible,
    .product__media-toggle:focus-visible:after {
      outline: transparent solid 1px;
      outline-offset: 2px;
    }
  }
  .product__media-toggle.focused {
    outline: 0;
    box-shadow: none;
  }
  
  .product__media-toggle:focus-visible:after {
    box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0rem 0.5rem rgba(var(--color-foreground), 0.5);
    border-radius: var(--media-radius);
  }
  
  .product__media-toggle.focused:after {
    box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0rem 0.5rem rgba(var(--color-foreground), 0.5);
    border-radius: var(--media-radius);
  }
  
  .product-media-modal {
    background-color: rgb(var(--color-background));
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    z-index: -1;
  }
  
  .product-media-modal[open] {
    visibility: visible;
    opacity: 1;
    z-index: 101;
  }
  
  .product-media-modal__dialog {
    display: flex;
    align-items: center;
    height: 100vh;
  }
  
  .product-media-modal__content {
    max-height: 100vh;
    width: 100%;
    overflow: auto;
  }
  
  .product-media-modal__content > *:not(.active),
  .product__media-list .deferred-media {
    display: none;
  }
  
  @media screen and (min-width: 750px) {
    .product-media-modal__content {
      padding-bottom: 2rem;
    }
  
    .product-media-modal__content > *:not(.active) {
      display: block;
    }
  
    .product__modal-opener:not(.product__modal-opener--image) {
      display: none;
    }
  
    .product__media-list .deferred-media {
      display: block;
    }
  }
  
  @media screen and (max-width: 749px) {
    .product--thumbnail .is-active .product__modal-opener:not(.product__modal-opener--image),
    .product--thumbnail_slider .is-active .product__modal-opener:not(.product__modal-opener--image),
    .product--thumbnail_carousel_custom .is-active .product__modal-opener:not(.product__modal-opener--image) {
      display: none;
    }

    .product--thumbnail .is-active .deferred-media,
    .product--thumbnail_slider .is-active .deferred-media,
    .product--thumbnail_carousel_custom .is-active .deferred-media {
      display: block;
      width: 100%;
    }
  }
  
  .product-media-modal__content > * {
    display: block;
    height: auto;
    margin: auto;
  }
  
  .product-media-modal__content .media {
    background: none;
  }
  
  .product-media-modal__model {
    width: 100%;
  }
  
  .product-media-modal__toggle {
    background-color: rgb(var(--color-background));
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
    border-radius: 50%;
    color: rgba(var(--color-foreground), 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    right: 2rem;
    padding: 1.2rem;
    position: fixed;
    z-index: 2;
    top: 2rem;
    width: 4rem;
  }
  
  .product-media-modal__content .deferred-media {
    width: 100%;
  }
  
  @media screen and (min-width: 750px) {
    .product-media-modal__content {
      padding: 2rem 11rem;
    }
  
    .product-media-modal__content > * {
      width: 100%;
    }
  
    .product-media-modal__content > * + * {
      margin-top: 2rem;
    }
  
    .product-media-modal__toggle {
      right: 5rem;
      top: 2.2rem;
    }
  }
  
  @media screen and (min-width: 990px) {
    .product-media-modal__content {
      padding: 2rem 11rem;
    }
  
    .product-media-modal__content > * + * {
      margin-top: 1.5rem;
    }
  
    .product-media-modal__content {
      padding-bottom: 1.5rem;
    }
  
    .product-media-modal__toggle {
      right: 5rem;
    }
  }
  
  .product-media-modal__toggle:hover {
    color: rgba(var(--color-foreground), 0.75);
  }
  
  .product-media-modal__toggle .icon {
    height: auto;
    margin: 0;
    width: 2.2rem;
  }
  
  /* Product popup */
  
  .product-popup-modal {
    box-sizing: border-box;
    opacity: 0;
    position: fixed;
    visibility: hidden;
    z-index: -1;
    margin: 0 auto;
    top: 0;
    left: 0;
    overflow: auto;
    width: 100%;
    background: rgba(var(--color-foreground), 0.2);
    height: 100%;
  }
  
  .product-popup-modal[open] {
    opacity: 1;
    visibility: visible;
    z-index: 101;
  }
  
  .product-popup-modal__content {
    border-radius: var(--popup-corner-radius);
    background-color: rgb(var(--color-background));
    overflow: auto;
    height: 80%;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 5rem;
    width: 92%;
    position: absolute;
    top: 0;
    padding: 0 1.5rem 0 3rem;
    border-color: rgba(var(--color-foreground), var(--popup-border-opacity));
    border-style: solid;
    border-width: var(--popup-border-width);
    box-shadow: var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) var(--popup-shadow-blur-radius)
      rgba(var(--color-shadow), var(--popup-shadow-opacity));
  }
  
  .product-popup-modal__content.focused {
    box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3),
      var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) var(--popup-shadow-blur-radius)
        rgba(var(--color-shadow), var(--popup-shadow-opacity));
  }
  
  .product-popup-modal__content:focus-visible {
    box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3),
      var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) var(--popup-shadow-blur-radius)
        rgba(var(--color-shadow), var(--popup-shadow-opacity));
  }
  
  @media screen and (min-width: 750px) {
    .product-popup-modal__content {
      padding-right: 1.5rem;
      margin-top: 10rem;
      width: 70%;
      padding: 0 3rem;
    }
  
    .product-media-modal__dialog .global-media-settings--no-shadow {
      overflow: visible !important;
    }
  }
  
  .product-popup-modal__content img {
    max-width: 100%;
  }
  
  @media screen and (max-width: 749px) {
    .product-popup-modal__content table {
      display: block;
      max-width: fit-content;
      overflow-x: auto;
      white-space: nowrap;
      margin: 0;
    }
  
    .product-media-modal__dialog .global-media-settings,
    .product-media-modal__dialog .global-media-settings video,
    .product-media-modal__dialog .global-media-settings model-viewer,
    .product-media-modal__dialog .global-media-settings iframe,
    .product-media-modal__dialog .global-media-settings img {
      border: none;
      border-radius: 0;
    }
  }
  
  .product-popup-modal__opener {
    display: inline-block;
  }
  
  .product-popup-modal__button {
    font-size: 1.6rem;
    padding-right: 1.3rem;
    padding-left: 0;
    min-height: 4.4rem;
    text-underline-offset: 0.3rem;
    text-decoration-thickness: 0.1rem;
    transition: text-decoration-thickness var(--duration-short) ease;
  }
  
  .product-popup-modal__button:hover {
    text-decoration-thickness: 0.2rem;
  }
  
  .product-popup-modal__content-info {
    padding-right: 4.4rem;
  }
  
  .product-popup-modal__content-info > * {
    height: auto;
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
  }

  .product--thumbnail_carousel_custom .thumbnail-slider .thumbnail-list.slider{
    padding-left: 2px !important;
    padding-top: 0px;
    padding-bottom: 15px;
  }
  .product--thumbnail_carousel_custom .thumbnail[aria-current] img {
    border-radius: 1px !important;
  }

  /* assets/base.css puts a themed frame border + radius on every .global-media-settings
     element (product media, this thumbnail button included). This layout's tiles are
     plain squares with only the blue aria-current ring above, so drop it here. */
  .product--thumbnail_carousel_custom .thumbnail.global-media-settings {
    border: none;
  }
  
  @media screen and (max-width: 749px) {
    .product--thumbnail_carousel_custom .thumbnail-slider .thumbnail-list.slider{
      padding-top: 15px;
    }
    .product-popup-modal__content-info > * {
      max-height: 100%;
    }
  }
  
  .product-popup-modal__toggle {
    background-color: rgb(var(--color-background));
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
    border-radius: 50%;
    color: rgba(var(--color-foreground), 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: sticky;
    padding: 1.2rem;
    z-index: 2;
    top: 1.5rem;
    width: 4rem;
    margin: 0 0 0 auto;
  }
  
  .product-popup-modal__toggle:hover {
    color: rgba(var(--color-foreground), 0.75);
  }
  
  .product-popup-modal__toggle .icon {
    height: auto;
    margin: 0;
    width: 2.2rem;
  }
  
  .product__media-list .media > * {
    overflow: hidden;
  }

  .product__media-list .media img {
    border-radius: 1rem;
  }
  
  .thumbnail-list {
    flex-wrap: wrap;
    grid-gap: .4rem;
  }

  /* This slider relies on native overflow-x snapping only (see data-native-swipe
     on the thumbnail-slider slider-component). Without JS-driven snapping, a
     fast flick could skip past several thumbnails, so pin each one as a
     mandatory stop. */
  .thumbnail-slider .thumbnail-list__item.slider__slide {
    scroll-snap-stop: always;
  }

  /* Fix to show some space at the end of our sliders in all browsers to be applied on thumbnails */
  .slider--mobile.thumbnail-list:after {
    content: none;
  }
  
  @media screen and (min-width: 750px) {
    .product--stacked .thumbnail-list {
      display: none;
    }
  
    .thumbnail-list {
      display: grid;
      grid-template-columns: repeat(8, 1fr);
    }
  }
  
  .thumbnail-list_item--variant:not(:first-child) {
    display: none;
  }
  
  @media screen and (min-width: 990px) {
    .thumbnail-list {
      grid-template-columns: repeat(8, 1fr);
    }
  
    .product--medium .thumbnail-list {
      grid-template-columns: repeat(8, 1fr);
    }
  
    .product-alt-section  .product--medium .thumbnail-list {
      grid-template-columns: repeat(8, 1fr);
    }
  
    .product--large .thumbnail-list {
      grid-template-columns: repeat(8, 1fr);
    }
  }
  
  @media screen and (max-width: 749px) {
    .product__formula-badge{
      margin-bottom: 1  px !important;
    }
    .product__media-item {
      display: flex;
      align-items: center;
    }
  
    .product__modal-opener {
      width: 100%;
    }
  
    .thumbnail-slider {
      display: flex;
      align-items: center;
    }
  
    .thumbnail-slider .thumbnail-list.slider {
      display: flex;
      padding: 10.11px 5px 12px;
      flex: 1;
      scroll-padding-left: 0.5rem;
    }
  
    .thumbnail-list__item.slider__slide {
      width: calc(20% - 0.6rem);
    }

    /* Keep main gallery slider arrows visible on mobile */
    .product-alt-section .product__media-wrapper [id^="GalleryViewer"] + .slider-buttons .slider-button {
      display: flex;
    }
    .product-alt-section .thumbnail-slider .slider-button {
      display: none;
    }
  }
  
  @media screen and (min-width: 750px) {
  
    .product--thumbnail_slider .thumbnail-slider,
    .product--thumbnail_carousel_custom .thumbnail-slider {
      display: flex;
      align-items: center;
    }
  
    .thumbnail-slider .thumbnail-list.slider--tablet-up {
      display: flex;
      /* padding: 0.5rem; */
      flex: 1;
      scroll-padding-left: 0.5rem;
    }
  
    .product__media-wrapper .slider-mobile-gutter .slider-button {
      display: none;
    }
  
    .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide {
      width: calc(25% - 0.8rem);
    }
  
    .product--thumbnail_slider .slider-mobile-gutter .slider-button {
      display: flex;
    }
  }
  
  @media screen and (min-width: 900px) {
    .product--small .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide {
      width: calc(25% - 0.8rem);
    }

    .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide {
      width: calc(20% - 0.8rem);
    }
  }

  /*
    Thumbnail carousel (custom): fixed-size square tiles instead of the percentage-width
    slides the other carousel layout uses. Figma node 9507:15872 (desktop) / 9507:14282
    (mobile), "Product Alt" Media section.
  */
  .product--thumbnail_carousel_custom .thumbnail-list {
    display: flex;
    flex-wrap: nowrap;
    gap: 5.741px;
  }

  .product--thumbnail_carousel_custom .thumbnail-list__item,
  .product--thumbnail_carousel_custom .thumbnail-list__item.slider__slide,
  .product--thumbnail_carousel_custom .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide {
    width: 62px;
    flex: 0 0 62px;
  }

  .product--thumbnail_carousel_custom .thumbnail.global-media-settings img,
  .product--thumbnail_carousel_custom .thumbnail img {
    border-radius: 4px;
  }

  @media screen and (max-width: 749px) {
    .product--thumbnail_carousel_custom .thumbnail-list {
      gap: 3.384px;
    }

    .product--thumbnail_carousel_custom .thumbnail-list__item,
    .product--thumbnail_carousel_custom .thumbnail-list__item.slider__slide {
      width: 44.8px;
      flex: 0 0 44.8px;
    }

    .product--thumbnail_carousel_custom .thumbnail.global-media-settings img,
    .product--thumbnail_carousel_custom .thumbnail img {
      border-radius: 3.733px;
    }
  }

  /* Active-tile outline: a blue ring instead of the default black one. */
  .product--thumbnail_carousel_custom .thumbnail[aria-current] {
    box-shadow: none;
    box-sizing: border-box;
    border: 2px solid #4a90e2;
    border-radius: 3.733px;
  }

  /* ...and none of the focus-state black rings either — the blue border above is the
     only highlight this layout shows, focused or not. */
  .product--thumbnail_carousel_custom .thumbnail[aria-current]:focus-visible,
  .product--thumbnail_carousel_custom .thumbnail[aria-current]:focus,
  .product--thumbnail_carousel_custom .thumbnail.focused,
  .product--thumbnail_carousel_custom .thumbnail[aria-current]:focus:not(:focus-visible) {
    box-shadow: none;
  }

  .thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    height: 100%;
    width: 100%;
    padding: 0;
    color: rgb(var(--color-foreground));
    cursor: pointer;
    background-color: transparent;
  }
  
  .thumbnail:hover {
    opacity: 0.7;
  }
  
  .thumbnail.global-media-settings img {
    border-radius: 0;
  }
  
  .thumbnail[aria-current] {
    box-shadow: 0 0 0rem 0.1rem rgb(var(--color-foreground));
    border-color: rgb(var(--color-foreground));
  }
  
  .image-magnify-full-size {
    cursor: zoom-out;
    z-index: 1;
    margin: 0;
    border-radius: calc(var(--media-radius) - var(--media-border-width));
  }
  
  .image-magnify-hover {
    cursor: zoom-in;
  }
  
  .product__modal-opener--image .product__media-zoom-none,
  .product__media-icon--none {
    display: none;
  }
  
  .product__modal-opener > .loading__spinner {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    display: flex;
    align-items: center;
    height: 48px;
    width: 48px;
  }
  
  .product__modal-opener .path {
    stroke: rgb(var(--color-button));
    opacity: 0.75;
  }
  
  @media (hover: hover) {
    .product__media-zoom-hover,
    .product__media-icon--hover {
      display: none;
    }
  }
  
  @media screen and (max-width: 749px) {
    .product__media-zoom-hover,
    .product__media-icon--hover {
      display: flex;
    }
  }
  
  .js .product__media {
    overflow: hidden !important;
  }
  
  .thumbnail[aria-current]:focus-visible {
    box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0rem 0.5rem rgba(var(--color-foreground), 0.5);
  }
  
  .thumbnail[aria-current]:focus,
  .thumbnail.focused {
    outline: 0;
    box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0rem 0.5rem rgba(var(--color-foreground), 0.5);
  }
  
  /* outline styling for Windows High Contrast Mode */
  @media (forced-colors: active) {
    .thumbnail[aria-current]:focus,
    .thumbnail.focused {
      outline: transparent solid 1px;
    }
  }
  .thumbnail[aria-current]:focus:not(:focus-visible) {
    outline: 0;
    box-shadow: 0 0 0 0.1rem rgb(var(--color-foreground));
  }
  
  .thumbnail img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
  
  .thumbnail__badge .icon {
    width: 2rem;
    height: 2rem;
  }
  
  .thumbnail__badge .icon-3d-model {
    width: 1.2rem;
    height: 1.2rem;
  }
  
  .thumbnail__badge {
    color: rgb(var(--color-foreground), 0.6);
    height: 2rem;
    width: 2rem;
    left: auto;
    right: calc(0.4rem + var(--media-border-width));
    top: calc(0.4rem + var(--media-border-width));
  }
  
  @media screen and (min-width: 750px) {
    .product:not(.product--small) .thumbnail__badge {
      height: 3rem;
      width: 3rem;
    }
  
    .product:not(.product--small) .thumbnail__badge .icon {
      width: 1.2rem;
      height: 1.2rem;
    }
  
    .product:not(.product--small) .thumbnail__badge .icon-3d-model {
      width: 1.4rem;
      height: 1.4rem;
    }
  }
  
  .thumbnail-list__item {
    position: relative;
  }
  
  .thumbnail-list__item::before {
    content: '';
    display: block;
    padding-bottom: 100%;
  }
  
  .product:not(.featured-product) .product__view-details {
    display: none;
  }
  
  .product__view-details {
    display: block;
    text-decoration: none;
  }
  
  .product__view-details:hover {
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
  
  .product__view-details .icon {
    width: 1.2rem;
    margin-left: 1.2rem;
    flex-shrink: 0;
  }
  
  /* Inventory status */
  
  .product__inventory {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  
  .product__inventory .svg-wrapper,
  .product__inventory svg {
    width: 15px;
    height: 15px;
  }
  
  .product--no-media .product__inventory {
    justify-content: center;
  }
  
  /* This keeps the container from getting display: none; applied to it and to make sure we're not introducing some layout shift when switching to an unavailable variant */
  .product__inventory.visibility-hidden:empty {
    display: block;
  }
  
  .product__inventory.visibility-hidden:empty::after {
    content: '#';
  }
  
  .product__inventory .icon-inventory-status circle:first-of-type {
    opacity: .3;
  }
  
  /* Icon with text */
  .icon-with-text {
    --icon-size: calc(var(--font-heading-scale) * 3rem);
    --icon-spacing: calc(var(--font-heading-scale) * 1rem);
  }
  
  .icon-with-text--horizontal {
    display: flex;
    justify-content: center;
    column-gap: 3rem;
    flex-direction: row;
  }
  
  .icon-with-text--vertical {
    --icon-size: calc(var(--font-heading-scale) * 2rem);
  }
  
  .icon-with-text .svg-wrapper {
    fill: rgb(var(--color-foreground));
    height: var(--icon-size);
    width: var(--icon-size);
  }
  
  .icon-with-text--horizontal .svg-wrapper,
  .icon-with-text--horizontal img {
    margin-bottom: var(--icon-spacing);
  }
  
  .icon-with-text--vertical .svg-wrapper {
    min-height: var(--icon-size);
    min-width: var(--icon-size);
    margin-right: var(--icon-spacing);
  }
  
  .icon-with-text img {
    height: var(--icon-size);
    width: var(--icon-size);
    object-fit: contain;
  }
  
  .icon-with-text--vertical img {
    margin-right: var(--icon-spacing);
  }
  
  .icon-with-text--horizontal .h4 {
    padding-top: calc(var(--icon-size) + var(--icon-spacing));
    text-align: center;
  }
  
  .icon-with-text--horizontal .svg-wrapper + .h4,
  .icon-with-text--horizontal img + .h4,
  .icon-with-text--horizontal.icon-with-text--text-only .h4 {
    padding-top: 0;
  }
  
  .icon-with-text__item {
    display: flex;
    align-items: center;
  }
  
  .icon-with-text--horizontal .icon-with-text__item {
    flex-direction: column;
    width: 33%;
  }
  
  .icon-with-text--vertical .icon-with-text__item {
    margin-bottom: var(--icon-size);
  }
  
  /* SKU block */
  
  .product__sku.visibility-hidden::after {
    content: '#';
  }
  
  /* Product-thumbnail snippet */
  
  .product-media-container {
    --aspect-ratio: var(--preview-ratio);
    --ratio-percent: calc(1 / var(--aspect-ratio) * 100%);
    position: relative;
    width: 100%;
    max-width: calc(100% - calc(var(--media-border-width) * 2));
  }
  
  .product-media-container.constrain-height {
    /* arbitrary offset value based on average theme spacing and header height */
    --viewport-offset: 400px;
    --constrained-min-height: 300px;
    --constrained-height: max(var(--constrained-min-height), calc(100vh - var(--viewport-offset)));
    margin-right: auto;
    margin-left: auto;
  }
  
  .product-media-container.constrain-height.media-fit-contain {
    --contained-width: calc(var(--constrained-height) * var(--aspect-ratio));
    width: min(var(--contained-width), 100%);
  }
  
  .product-media-container .media {
    padding-top: var(--ratio-percent);
  }
  
  .product-media-container.constrain-height .media {
    padding-top: min(var(--constrained-height), var(--ratio-percent));
  }
  
  @media screen and (max-width: 749px) {
    .product-media-container.media-fit-cover {
      display: flex;
      align-self: stretch;
    }
  
    .product-media-container.media-fit-cover .media {
      /* allow media img element to scale relative to modal-opener/product-media-container */
      position: initial;
    }
  }
  
  @media screen and (min-width: 750px) {
    .product-media-container {
      max-width: 100%;
    }
  
    .product-media-container:not(.media-type-image) {
      /* override to use actual media ratio (not poster ratio) for video/models on desktop */
      --aspect-ratio: var(--ratio);
    }
  
    .product-media-container.constrain-height {
      --viewport-offset: 170px;
      --constrained-min-height: 500px;
    }
  
    .product-media-container.media-fit-cover,
    .product-media-container.media-fit-cover .product__modal-opener,
    .product-media-container.media-fit-cover .media {
      height: 100%;
    }
  
    .product-media-container.media-fit-cover .deferred-media__poster img {
      object-fit: cover;
      width: 100%;
    }
  }
  
  .product-media-container .product__modal-opener {
    display: block;
    position: relative;
  }
  
  @media screen and (min-width: 750px) {
    .product-media-container .product__modal-opener:not(.product__modal-opener--image) {
      display: none;
    }
  }
  
  /* Recipient form */
  .recipient-form {
    /* (2.88[line-height] - 1.6rem) / 2 */
    --recipient-checkbox-margin-top: 0.64rem;
  
    display: block;
    position: relative;
    max-width: 44rem;
    margin-bottom: 2.5rem;
  }
  
  .recipient-form-field-label {
    margin: 0.6rem 0;
  }
  
  .recipient-form-field-label--space-between {
    display: flex;
    justify-content: space-between;
  }
  
  .recipient-checkbox {
    flex-grow: 1;
    font-size: 1.6rem;
    display: flex;
    word-break: break-word;
    align-items: flex-start;
    max-width: inherit;
    position: relative;
    cursor: pointer;
  }
  
  .recipient-form > input[type='checkbox'] {
    position: absolute;
    width: 1.6rem;
    height: 1.6rem;
    margin: var(--recipient-checkbox-margin-top) 0;
    top: 0;
    left: 0;
    z-index: -1;
    appearance: none;
    -webkit-appearance: none;
  }
  
  .recipient-fields__field {
    margin: 0 0 2rem 0;
  }
  
  .recipient-fields .field__label {
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: calc(100% - 3.5rem);
    overflow: hidden;
  }
  
  .recipient-checkbox > svg {
    margin-top: var(--recipient-checkbox-margin-top);
    margin-right: 1.2rem;
    flex-shrink: 0;
  }
  
  .recipient-form .icon-checkmark {
    visibility: hidden;
    position: absolute;
    left: 0.28rem;
    z-index: 5;
    top: 0.4rem;
    width: 10px;
    height: 9px;
  }
  
  .recipient-form > input[type='checkbox']:checked + label .icon-checkmark {
    visibility: visible;
  }
  
  .js .recipient-fields {
    display: none;
  }
  
  .recipient-fields hr {
    margin: 1.6rem auto;
  }
  
  .recipient-form > input[type='checkbox']:checked ~ .recipient-fields {
    display: block;
    animation: animateMenuOpen var(--duration-default) ease;
  }
  .recipient-form > input[type='checkbox']:not(:checked, :disabled) ~ .recipient-fields,
  .recipient-email-label {
    display: none;
  }
  
  .js .recipient-email-label.required {
    display: inline;
  }
  
  .recipient-form ul {
    line-height: calc(1 + 0.6 / var(--font-body-scale));
    padding-left: 4.4rem;
    text-align: left;
  }
  
  .recipient-form ul a {
    display: inline;
  }
  
  .recipient-form .error-message::first-letter {
    text-transform: capitalize;
  }

/*
  Content amount — the "<tagline> | <volume>" line under the product title.
  Figma 10401:34946: Apercu Mono Pro 20px, #121212, uppercase, 15px below the title
  block (the parent frame's gap). Uppercasing is done here, not in the stored value,
  so the metafield stays readable in the admin.
*/
.product__content-amount {
  margin: 1.5rem 0 0;
  font-family: 'Apercu Mono Pro', monospace;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  color: #121212;
  text-transform: uppercase;
}

/*
  Mobile: the label belongs under the product name, and on mobile the name is
  rendered by one of the .product__mobile-title-rating wrappers — the info
  container's copy sits below the gallery. The section renders the label in both
  places, so hide the one that is not next to the title. Safe unconditionally:
  the info-container copy only exists inside the title block, and whenever that
  block renders so does one of the mobile wrappers.
*/
@media screen and (max-width: 749px) {
  .product__content-amount {
    font-size: 16px;
  }

  .product__info-container .product__content-amount {
    display: none;
  }

  /* The wrappers space their children with `gap`; the desktop margin would add to it. */
  .product__mobile-title-rating .product__content-amount {
    margin-top: 0;
  }
}

/* Benefits List */
.product__benefits-list {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  padding: 0;
  margin: 1.4rem 0 2rem;
  list-style: none;
  padding-bottom: .6rem;
}

.product__benefits-list > li.product__benefits-item {
  list-style: none;
  margin: 0;
  padding: 0;
}

.product__benefits-item {
  display: flex;
  gap: 7px;
  align-items: center;
  line-height: 1.3;
}

.product__benefits-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 1;
  width: 16.611px;
  height: 18px;
}

.product__benefits-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Benefit Item (Checkmark) block: filled-circle icon is square, unlike the plain
   checkmark stroke's 16.611x18 box, and runs a touch smaller on mobile in Figma. */
.product__benefits-item--check {
  gap: 10px;
}

.product__benefits-icon--check {
  width: 18px;
  height: 18px;
}

@media screen and (max-width: 749px) {
  .product__benefits-item--check {
    gap: 10px;
  }

  .product__benefits-icon--check {
    width: 13.33px;
    height: 13.33px;
  }
}

.product__benefits-text {
  font-size: 18px;
  color: #1f1f1f;
  line-height: 1.3;
  font-family: 'Mori', sans-serif;
}

/*
  The Benefit Item (Checkmark) block runs the 1.3x type scale of the whitelister LPs.
  Scoped to its own list rather than to `.whitelister`, because the two block types are
  disjoint: the only two templates using `benefit_check_item` render no plain
  `benefit_item`, and the 27 templates that do render `benefit_item` — including
  product.product-default-custom.json, shared by nine PDPs — render no check items. These
  two values used to sit on the bare `.product__benefits-text` rule above and resized the
  benefits on all of them.
*/
.product__benefits-list--check .product__benefits-text {
  font-size: 23.4px;
  color: #000;
}
  
@media screen and (min-width: 749px) {

  .product__benefits-list {
    gap: 1rem;
    margin-bottom: 1.2rem;
  }

  .product__benefits-list--richtext ul {
    gap: 1rem;
    margin-bottom: 1.2rem;
  }
}

/* Rich text benefits (metafield): editor outputs ul/li — icon via ::before to match block SVG */
.product__benefits-list--richtext {
  margin: 1.4rem 0 0;
  padding-bottom: .6rem;
}

.product__benefits-list--richtext .metafield-rich_text_field {
  margin: 0;
}

.product__benefits-list--richtext ul {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.product__benefits-list--richtext li {
  display: flex;
  flex-direction: row;
  gap: 7px;
  align-items: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1.3;
  font-size: 23.4px;
  color: #1f1f1f;
  font-family: 'Mori', sans-serif;
}

.product__benefits-list--richtext li::before {
  content: '';
  flex-shrink: 0;
  width: 16.611px;
  height: 18px;
  margin-top: 2px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='14' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M1.22241 7.33328L4.88908 12.2222L12.8335 1.22217' stroke='%23f4b301' stroke-width='2.44444' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.product__benefits-list--richtext li > *:not(.product__benefits-view-ingredients) {
  margin: 0;
  flex: 1;
  min-width: 0;
}

.product__benefits-list--richtext::after{
  display: none;
}

@media screen and (max-width: 767px) {
  /* 767, not the 749 the icon sizing above uses — kept as shipped. */
  .product__benefits-list--check .product__benefits-text {
    font-size: 16px;
  }
  .product__benefits-list--richtext li {
    font-size: 16px !important;
    display: block !important;
    padding-left: 27px !important;
    position: relative !important;
  }

  .product__benefits-list--richtext li::before {
    position: absolute;
    left: 0;
    top: 2px;
    margin-top: 0;
  }
}

/* Trust Badge Image */
.product__trust-badge-image {
  width: 100%;
  margin: 2rem 0;
}

.product__trust-badge-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6.2px;
}

/* View Ingredients Button */
.product__ingredients-opener {
  /* margin-top: 1.6rem; */
  width: 100%;
}

.product__ingredients-opener--hidden {
  display: none !important;
}

.product__benefits-view-ingredients {
  display: inline !important;
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0;
  margin-left: 0.25em;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: none;
  text-decoration: none;
  cursor: pointer;
  vertical-align: baseline;
  white-space: nowrap;
  appearance: none;
  -webkit-appearance: none;
}

.product__benefits-view-ingredients__label {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.product__benefits-text .product__benefits-view-ingredients,
.product__benefits-list--richtext .product__benefits-view-ingredients {
  display: inline !important;
  text-decoration: none;
}

.product__low-stock-notice {
  box-sizing: border-box;
  width: 100%;
  max-width: 525px;
  padding: 20px;
  margin: 12px 0 20px;
  border: 1px solid #d7cdcc;
  border-radius: 10px;
  background: #f6ebea;
  font-family: 'Mori', 'PP Mori', sans-serif;
}

.product__low-stock-notice *,
.product__low-stock-notice *::before,
.product__low-stock-notice *::after {
  box-sizing: border-box;
}

.product__low-stock-notice-top {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 8px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-bottom: 8px;
}

.product__low-stock-notice-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #a63725;
}

.product__low-stock-notice-icon svg {
  display: block;
  width: 16px;
  height: 16px;
}

.product__low-stock-notice-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.product__low-stock-notice-title {
  margin: 0;
  color: #a63725;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  font-family: 'Mori', 'PP Mori', sans-serif;
}

.product__low-stock-notice-text {
  margin: 0;
  color: #1f1f1f;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
}

.product__low-stock-notice-divider {
  height: 1px;
  margin: 0 0 12px;
  background: #c5bcba;
}

.product__low-stock-notice-fake {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  color: #1f1f1f;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}

.product__low-stock-notice-fake svg {
  flex-shrink: 0;
  display: block;
}

@media screen and (max-width: 749px) {
  .product__low-stock-notice {
    padding: 16px 14px;
  }

  .product__low-stock-notice-title {
    font-size: 16px;
  }

  .product__low-stock-notice-text {
    font-size: 14px;
  }

  .product__low-stock-notice-fake {
    font-size: 12.5px;
    font-style: normal;
    font-weight: 400;
  }
}

.product__one-time-purchase-cta {
  width: 100%;
  order: 3;
  margin-top: 10px !important;
  margin-bottom: 15px !important;
}

.product__info-container [id^='ProductATCAnchor-']:has(+ .product__one-time-purchase-cta) {
  margin-bottom: 0 !important;
}

.product__info-container [id^='ProductATCAnchor-']:has(+ .product__one-time-purchase-cta) .product-form {
  margin-bottom: 0 !important;
}

.product__info-container .product__one-time-purchase-cta + .norse-usps-small {
  margin-top: 0 !important;
}

/*
  Gender-aware fill. Only applies on pages with a gender selector, where the section
  publishes --ingredients-button-bg-female / -male instead of --ingredients-button-bg.
*/
.product__ingredients-opener {
  --ingredients-button-bg: var(--ingredients-button-bg-female, #476b78);
}

html[data-norse-gender='male'] .product__ingredients-opener {
  --ingredients-button-bg: var(--ingredients-button-bg-male, #27738c);
}

.product__ingredients-button {
  width: 100%;
  padding: 1.9rem 2.1rem;
  background: var(--ingredients-button-bg, #476B78);
  border: 1px solid var(--ingredients-button-bg, #476B78);
  box-shadow: 0 2px 8px rgba(31, 31, 31, 0.15), 0 1px 3px rgba(31, 31, 31, 0.1);
  border-radius: 5.346px;
  color: var(--ingredients-button-text, #fff);
  font-family: 'Apercu Mono Pro', monospace;
  font-size: 1.9rem;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
  transition: opacity 0.2s ease;
  line-height: 1.6rem;
}

.product__ingredients-button:hover {
  opacity: 0.9;
}

/* .product__ingredients-button:focus {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 0.3rem;
} */

/* Testimonial Block */
.product__testimonial-block {
  background-color: #fdf0cc;
  padding: 1.8rem 2rem;
  border-radius: 5px;
  margin-top: 1.5rem;
  width: 100%;
}

.product__testimonial-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.product__testimonial-text {
  font-family: 'PP Mori', 'Mori', sans-serif;
  font-size: 27px;
  font-weight: 400;
  line-height: 40.5px;
  color: #000000;
  letter-spacing: 2px;
  margin: 0;
}

.product__testimonial-content p:not(:last-child) {
  margin-bottom: 0;
}

.product__testimonial-text strong,
.product__testimonial-text b,
.product__testimonial-text.rte strong,
.product__testimonial-text.rte b {
  font-family: 'PP Mori', 'Mori', sans-serif;
  font-weight: 600;
  color: #e16203;
}

.product__testimonial-text.rte {
  text-align: center;
  margin: 0;
}

.product__testimonial-text.rte p {
  margin: 0;
  white-space: pre-wrap;
}

/* Treatment Block */
.product__treatment-block {
  margin-top: 1.5rem;
  width: 100%;
}

.product__treatment-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  width: 100%;
}

.product__treatment-image-wrapper {
  flex-shrink: 0;
  width: 126px;
  height: 124px;
  position: relative;
}

.product__treatment-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.product__treatment-text-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  flex: 1;
}

.product__treatment-description {
  font-family: 'PP Mori', 'Mori', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #494949;
  margin: 0;
}

.product__treatment-description h2 {
  font-family: 'PP Mori', 'Mori', sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 21px;
  color: #4e4e4e;
  text-transform: uppercase;
  margin: 0 0 10px;
}

.product__treatment-description p {
  margin: 0;
}

.product__treatment-description u {
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
}

/* Low Stock Warning Block */
.product__low-stock-warning {
  border: 1px solid #676767;
  border-radius: 6.2px;
  padding: 1.3rem 1.8rem;
  margin-top: 1.5rem;
  width: 100%;
  background-color: #F1F0F0;
  text-align: center;
  font-family: 'PP Mori', 'Mori', sans-serif;
}

.product__low-stock-warning-content {
  display: flex;
  flex-direction: column;
  gap: 9px;
  width: 100%;
}

.product__low-stock-warning-header {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 9px;
}

.product__low-stock-warning-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20.857px;
  height: 20.857px;
  min-width: 20.857px;
  border: 1.447px solid var(--low-stock-title-color, #676767);
  border-radius: 10.429px;
  background-color: transparent;
  flex-shrink: 0;
}

.product__low-stock-warning-icon span {
  font-family: inherit;
  font-size: var(--low-stock-icon-font-size, 13.587px);
  font-weight: 400;
  color: var(--low-stock-title-color, #676767);
  text-transform: uppercase;
  line-height: 1;
}

.product__low-stock-warning-title {
  font-family: inherit;
  font-size: 19.8px;
  font-weight: 400;
  line-height: 1.315;
  color: var(--low-stock-title-color, #676767);
  text-transform: uppercase;
  margin: 0;
}

.product__low-stock-warning-text {
  font-family: inherit;
  font-size: 14.9px;
  font-weight: 400;
  line-height: 1.48;
  color: var(--low-stock-text-color, #676767);
  margin: 0 auto;
  width: fit-content
}

.product__low-stock-warning-text p {
  margin: 0;
}

.product__low-stock-warning-text strong {
  font-weight: 600;
}

.product__low-stock-warning--no-icon .product__low-stock-warning-header {
  gap: 0;
}

.product__low-stock-warning--alert-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin-top: 1.5rem;
  padding: 20px 20px 10px;
  background-color: rgba(168, 52, 31, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  text-align: left;
  font-family: 'PP Mori', 'Mori', sans-serif;
}

.product__low-stock-warning-alert-header {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}

.product__low-stock-warning-alert-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
}

.product__low-stock-warning-alert-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.product__low-stock-warning-alert-copy {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1 1 0;
  min-width: 0;
}

.product__low-stock-warning-alert-title {
  margin: 0;
  font-family: inherit;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: 0.3px;
  color: #a8341f;
  text-transform: uppercase;
}

.product__low-stock-warning-alert-text {
  margin: 0;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.27;
  color: #1c1b19;
}

.product__low-stock-warning-alert-divider {
  width: 100%;
  height: 1px;
  margin: 0;
  border: none;
  background-color: rgba(0, 0, 0, 0.2);
}

.product__low-stock-warning-alert-footer {
  display: flex;
  align-items: center;
  gap: 5px;
  width: 100%;
}

.product__low-stock-warning-alert-footer-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.product__low-stock-warning-alert-footer-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.product__low-stock-warning-alert-footer-text {
  margin: 0;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  color: #1c1b19;
}

@media screen and (min-width: 750px) {
  .product__low-stock-warning-alert-footer-text {
    font-size: 16px;
  }
}

/* Video reviews block (main-product-alt) */
.product__video-reviews {
  margin-top: 1.5rem;
  width: 100%;
}

.product__video-reviews-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 11px;
  width: 100%;
}

@media screen and (min-width: 750px) {
  .product__video-reviews-row {
    gap: 15px;
  }
}

.product__video-reviews-item {
  flex: 1 1 0;
  min-width: 0;
  border-radius: 6px;
  overflow: hidden;
  isolation: isolate;
  position: relative;
}

.product__video-reviews-media {
  width: 100%;
  margin: 0;
  border: none;
  border-radius: 6px;
  --media-radius: 6px;
  background-color: transparent;
  box-shadow: none;
  cursor: pointer;
}

.product__video-reviews-media.global-media-settings:after {
  content: none;
  display: none;
}

.product__video-reviews-poster.media {
  background-color: transparent;
}

.product__video-reviews-media[style*='--ratio-percent'] {
  position: relative;
  height: 0;
  padding-bottom: var(--ratio-percent);
}

.product__video-reviews-media[style*='--ratio-percent'] .product__video-reviews-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 6px;
  z-index: 2;
  cursor: pointer;
}

.product__video-reviews-media[style*='--ratio-percent'] .product__video-reviews-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product__video-reviews-media[style*='--ratio-percent'] video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 6px;
  cursor: pointer;
  object-fit: cover;
  background-color: transparent;
  z-index: 5;
  pointer-events: auto;
  opacity: 0;
  transition: opacity 0.2s ease;
}

/* After first frame / playback starts, fade video in and poster out */
.product__video-reviews-media[style*='--ratio-percent'][loaded][data-video-frame-ready] video {
  opacity: 1;
}

/*
 * Keep poster visible until data-video-frame-ready (overrides component-deferred-media
 * display:none on [loaded], which caused a black flash before the first decoded frame).
 */
.product__video-reviews-media[loaded] > .product__video-reviews-poster {
  display: block !important;
  pointer-events: none !important;
  transition: opacity 0.2s ease;
}

.product__video-reviews-media[loaded] > .product__video-reviews-poster * {
  pointer-events: none !important;
}

.product__video-reviews-media[loaded][data-video-frame-ready] > .product__video-reviews-poster {
  opacity: 0;
}

.product__video-reviews-poster.media > .product__video-reviews-play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  pointer-events: none;
  border-radius: 50%;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: transform var(--duration-short) ease;
}

.product__video-reviews-poster:focus .product__video-reviews-play,
.product__video-reviews-poster:hover .product__video-reviews-play {
  transform: translate(-50%, -50%) scale(1.05);
}

/* Play icon promoted to host level after video loads – shown only when paused */
.product__video-reviews-media[loaded] > .product__video-reviews-play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  pointer-events: none;
  border-radius: 50%;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.product__video-reviews-media[loaded][data-paused] > .product__video-reviews-play {
  opacity: 1;
}

/* Mobile Testimonial Block */
.product__mobile-testimonial {
  display: none;
  background-color: #fdf0cc;
  padding: 40px 10px;
  margin-top: 1.5rem;
  width: 100%;
}

.product__mobile-testimonial-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 390px;
  margin: 0 auto;
}

.product__mobile-testimonial-text {
  font-family: 'PP Mori', 'Mori', sans-serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 28px;
  color: #1f1f1f;
  text-align: center;
  margin: 0;
}

.product__mobile-testimonial-text.rte {
  font-family: 'PP Mori', 'Mori', sans-serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 28px;
  color: #1f1f1f;
  text-align: center;
  margin: 0;
}

.product__mobile-testimonial-text.rte p {
  margin: 0;
  white-space: pre-wrap;
}

.product__mobile-testimonial-text strong,
.product__mobile-testimonial-text b,
.product__mobile-testimonial-text.rte strong,
.product__mobile-testimonial-text.rte b {
  font-weight: 600;
  color: #e16203;
}

@media screen and (min-width: 750px) {
  .product__mobile-testimonial {
    display: none !important;
  }
}

@media screen and (max-width: 749px) {
  .product__mobile-testimonial {
    display: block;
  }
}

/* Product Icons Block */
.product__icons-block {
  margin-top: 1.5rem;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.product__icons-block-container {
  display: flex;
  flex-direction: column;
  gap: 23.885px;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 519.5px;
}

.product__icons-block-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 100%;
}

.product__icons-block-item {
  display: flex;
  flex-direction: column;
  gap: 10.838px;
  align-items: center;
  justify-content: flex-start;
  height: 86.831px;
  width: 129.875px;
  flex-shrink: 1;
}

.product__icons-block-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 43.415px;
  width: 43.292px;
  flex-shrink: 0;
  position: relative;
}

.product__icons-block-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.product__icons-block-text {
  font-family: 'PP Mori', 'Mori', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: normal;
  color: #1f1f1f;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1.17px;
  margin: 0;
  width: 118.619px;
  white-space: pre-wrap;
}

@media screen and (max-width: 749px) {
  .product__icons-block-container {
    max-width: 100%;
    gap: 16px;
  }

  .product__icons-block-icon-wrapper {
    width: 3rem;
    height: 3rem;
  }

  .product__icons-block-row {
    gap: 5px;
    justify-content: center;
    height: fit-content;
    align-items: flex-start
  }

  .product__icons-block-item {
    width: calc(50% - 7.5px);
    max-width: 130px;
    height: 100%;
  }

  .product__icons-block-text {
    font-size: 9px;
    letter-spacing: 0.8px;
    width: 100%;
  }

  .product__low-stock-warning {
    padding: 1.3rem;
  }

  .product__low-stock-warning-title {
    letter-spacing: -.8px;
  }
}

/* Doctor endorsement block */
.product__doctor-endorsement {
  margin-top: 1.5rem;
  width: 100%;
  box-sizing: border-box;
  border-radius: 8px;
  border: 1px solid #d8d8d8;
  padding: 14px 16px;
}

.product__doctor-endorsement__text {
  margin: 0;
  color: #282828;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: 0.75px;
}

.product__doctor-endorsement__text p {
  margin: 0;
}

.product__doctor-endorsement__text p + p {
  margin-top: 0.5em;
}

.product__doctor-endorsement__text + .product__doctor-endorsement__footer {
  margin-top: 13px;
}

.product__doctor-endorsement__footer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.product__doctor-endorsement__avatar {
  position: relative;
  width: 25px;
  height: 25px;
  flex-shrink: 0;
  border-radius: 25px;
  overflow: hidden;
}

.product__doctor-endorsement__avatar-img {
  position: absolute;
  left: 0;
  top: -5.005px;
  width: 100%;
  height: 140.042%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.product__doctor-endorsement__name {
  color: #282828;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.product__doctor-endorsement__role {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 16px;
  border: 1px solid #05ac2e;
  padding: 0 10px;
  color: #05ac2e;
  text-align: center;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 19.8px;
  letter-spacing: 0.72px;
}

.product__doctor-endorsement__role-icon {
  display: flex;
  flex-shrink: 0;
  line-height: 0;
}

.product__doctor-endorsement__role-icon svg {
  display: block;
}

@media screen and (max-width: 749px) {
  .product__doctor-endorsement__text {
    font-size: 13.622px;
    line-height: 21.405px;
    letter-spacing: 0.73px;
  }

  .product__doctor-endorsement__name {
    font-size: 11.676px;
  }

  .product__doctor-endorsement__role {
    font-size: 11.676px;
    line-height: 19.265px;
    letter-spacing: 0.701px;
  }
}

/* Doctor Quote Block */
.product__doctor-quote {
  background-color: #f8f8f8;
  border: 1px solid #dcdcdc;
  border-radius: 6.2px;
  padding: 0;
  margin-top: 1.5rem;
  width: 100%;
  overflow: hidden;
}

.product__doctor-quote-content {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  padding: 0;
  min-height: 165px;
}

.product__doctor-quote-image-wrapper {
  flex-shrink: 0;
  width: 140px;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  align-self: stretch;
  height: calc(100% + 36px);
  min-height: 165px;
}

.product__doctor-quote-image-wrapper img {
  max-width: 100%;
  height: auto;
}

.product__doctor-quote-image {
  width: 140px;
  height: 100%;
  min-height: 165px;
  object-fit: cover;
  display: block;
  border-top-left-radius: 5.6px;
  flex-shrink: 0;
  flex-grow: 1;
}

.product__doctor-quote-author--mobile {
  padding: 10px 0 18px 0;
  margin: 0;
  text-align: center;
  flex-shrink: 0;
  background-color: #f8f8f8;
}

.product__doctor-quote-text-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  max-width: 356px;
}

.product__doctor-quote-text-wrapper-container {
  padding: 15px 13px;
}

.product__doctor-quote-text {
  font-family: 'PP Mori', 'Mori', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 26px;
  color: #000000;
  margin: 0;
  text-align: left;
}

.product__doctor-quote-text p {
  margin: 0;
}

.product__doctor-quote-highlight {
  font-family: 'PP Mori', 'Mori', sans-serif;
  font-weight: 600;
  color: #e16203;
}

.product__doctor-quote-author {
  font-family: 'PP Mori', 'Mori', sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: #000000;
  margin: 0;
}

.product__doctor-quote-author-name {
  font-weight: 600;
  text-transform: uppercase;
}

.product__doctor-quote-author-title {
  font-weight: 400;
  text-transform: uppercase;
}

/* Mobile: author bellow image */
.product__doctor-quote-author--mobile {
  display: block;
  padding: 10px 0 0 0;
  margin: 0;
}

.product__doctor-quote-author--mobile .product__doctor-quote-author-title,
.product__doctor-quote-author--mobile .product__doctor-quote-author-name {
  text-align: center;
}

.product__doctor-quote-author--desktop {
  display: none;
}

@media screen and (min-width: 750px) {

  /* Desktop: author next to text */
  .product__doctor-quote-author--mobile {
    display: none;
  }

  .product__doctor-quote-author--desktop {
    display: block;
  }

  .product__doctor-quote-author-name::before {
    content: '- '
  }
}

/* Ingredients Modal — above product grid (info column z-index: 2) and sticky ATC (999); below header (1100+) */
.product-ingredients-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
}

.product-ingredients-modal[open] {
  display: flex;
}

.product-ingredients-modal::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.product-ingredients-modal__content {
  position: relative;
  background-color: #ffffff;
  width: 90%;
  max-width: 1092px;
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 20px;
  padding: 0;
  z-index: 1;
  box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
}

.product-ingredients-modal__toggle {
  position: absolute;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  color: #1f1f1f;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  min-width: 1.5rem;
}

.product-ingredients-modal__toggle--top {
  top: 1.5rem;
  right: 1.5rem;
}

@media screen and (min-width: 750px) {
  .product-ingredients-modal__toggle--top {
    top: 3rem;
    right: 5rem;
    height: 17px;
    width: 17px;
  }
}

.product-ingredients-modal__close-button {
  display: none;
}

.product-ingredients-modal__close-button--bottom {
  position: relative;
  top: auto;
  right: auto;
  margin: 1.5rem auto 0;
  padding: 0.75rem 2rem;
  background-color: #ffffff;
  border: 3px solid #e16203;
  border-radius: 5px;
  color: #E16203;
  font-family: 'Apercu Mono Pro', monospace;
  font-size: 1.547rem;
  font-weight: 400;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity 0.2s ease, background-color 0.2s ease;
  width: 90%;
  height: auto;
  min-width: auto;
}

.product-ingredients-modal__close-button--bottom:hover {
  opacity: 0.9;
  background-color: #fef6e1;
}

.product-ingredients-modal__toggle:hover {
  opacity: 0.7;
}

.product-ingredients-modal__toggle svg {
  width: 100%;
  height: 100%;
  display: block;
}

.product-ingredients-modal__wrapper {
  display: flex;
  flex-direction: row;
  position: relative;
  flex: 1;
}

.product-ingredients-modal__main {
  flex: 1;
  padding: 3rem 2rem 2rem 1.5rem;
  padding-right: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  min-width: 0;
  border-radius: 6px;
}

.product-ingredients-modal__title {
  font-family: 'Migra', serif;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 800;
  line-height: 1.2;
  color: #1f1f1f;
  text-align: center;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

.product-ingredients-modal__title span {
  display: block;
}

.product-ingredients-modal__key-ingredients {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  width: 100%;
  padding: 0 1rem;
}

.product-ingredients-modal__key-ingredient {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  text-align: center;
}

.product-ingredients-modal__key-ingredient-image-wrapper {
  position: relative;
  width: 100%;
  max-width: 144px;
  aspect-ratio: 1;
}

.product-ingredients-modal__key-ingredient-image {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.product-ingredients-modal__key-ingredient-image--thistle {
  background-color: #8B5CF6;
}

.product-ingredients-modal__key-ingredient-image--beeswax {
  background-color: #F59E0B;
}

.product-ingredients-modal__key-ingredient-image--sea-buckthorn {
  background-color: #F97316;
}

.product-ingredients-modal__key-ingredient-image--pomegranate {
  background-color: #DC2626;
}

.product-ingredients-modal__key-ingredient-image--squalane {
  background-color: #10B981;
}

.product-ingredients-modal__key-ingredient-image--rosehip {
  background-color: #EF4444;
}

.product-ingredients-modal__key-ingredient-title {
  font-family: 'Mori', sans-serif;
  font-size: clamp(16px, 1.5vw, 20px);
  font-weight: 600;
  line-height: 1.4;
  color: #1e262a;
  text-transform: uppercase;
  margin: 0;
  width: 100%;
}

@media screen and (min-width: 750px) {
  .product-ingredients-modal__key-ingredient-title {
    font-size: 18px;
  }
}

.product-ingredients-modal__key-ingredient-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.product-ingredients-modal__key-ingredient-description {
  font-family: 'Mori', sans-serif;
  font-size: clamp(14px, 1.2vw, 16px);
  font-weight: 400;
  line-height: 1.4;
  color: #1e262a;
  margin: 0;
  width: 100%;
  max-width: 220px
}

.product-ingredients-modal__sidebar {
  flex: 1 1 auto;
  width: 100%;
  max-width: 380px;
  min-width: 280px;
  background-color: #fcfbf8;
  border-radius: 0 20px 20px 0;
  padding: 11rem 1rem 1rem;
  padding-left: 2rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  overflow-y: auto;
  align-self: flex-start;
}

.product-ingredients-modal__ingredient-category {
  display: flex;
  flex-direction: column;
  gap: 1.705px;
  width: 100%;
}

.product-ingredients-modal__category-title {
  font-family: 'Mori', sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.39;
  color: #1e262a;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
}

.product-ingredients-modal__ingredients-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.product-ingredients-modal__ingredient-item {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  margin-bottom: 0;
}

.product-ingredients-modal__ingredient-dot {    width: .8rem;
  width: .8rem;
  height: .8rem;
  min-width: .462rem;
  border-radius: 50%;
  flex-shrink: 1;
  /* margin-top: .25rem; */
  display: block;
}

.product-ingredients-modal__ingredient-dot--green {
  background-color: #7DC722;
}

.product-ingredients-modal__ingredient-dot--blue {
  background-color: #4A91E2;
}

.product-ingredients-modal__ingredient-dot--yellow {
  background-color: #BCC722;
}

.product-ingredients-modal__ingredient-text {
  font-family: 'Mori', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.39;
  color: #1e262a;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  flex: 1;
}

.product-ingredients-modal__badges {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  background-color: #fef6e1;
  padding: 1rem;
  margin-top: auto;
  width: 100%;
  flex-wrap: wrap;
  position: sticky;
  bottom: 0;
}

.product-ingredients-modal__badges--mobile {
  display: none;
}

.product-ingredients-modal__badge {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-width: 0;
}

.product-ingredients-modal__badge-icon {
  width: 2rem;
  height: 2rem;
  min-width: 2rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-ingredients-modal__badge-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.product-ingredients-modal__badge-text {
  font-family: 'Mori', sans-serif;
  font-size: clamp(11px, 1vw, 14px);
  font-weight: 400;
  line-height: normal;
  color: #1f1f1f;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

/* Mobile Styles */
@media screen and (max-width: 749px) {
  .product-ingredients-modal__content {
    width: 95%;
    max-width: 100%;
    max-height: 90vh;
    border-radius: 20px;
    margin-bottom: 20px;
    margin-top: 0;
  }

  .product-ingredients-modal__wrapper {
    flex-direction: column;
  }

  .product-ingredients-modal__main {
    padding: 2rem 1rem 1.5rem;
    gap: 1.5rem;
  }

  .product-ingredients-modal__title {
    font-size: clamp(22px, 5vw, 28px);
  }

  .product-ingredients-modal__key-ingredients {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    padding: 0;
  }

  .product-ingredients-modal__key-ingredient--last-odd {
    grid-column: 1 / -1;
    justify-self: center;
    max-width: 50%;
  }

  .product-ingredients-modal__key-ingredient-image-wrapper {
    max-width: 100px;
  }

  .product-ingredients-modal__key-ingredient-title,
  .product-ingredients-modal__key-ingredient-description {
    max-width: 100%;
  }

  .product-ingredients-modal__sidebar {
    /* max-width: 100%; */
    border-radius: 0 0 20px 20px;
    padding: 1.5rem 1rem;
    gap: 1.5rem;
    /* height:320px; */
    padding-bottom: 0;
    border-radius: 0;
    width: auto;
    margin-inline: 1rem;
    background-color: #FCFBF8;
  }

  .product-ingredients-modal__toggle--top {
    display: flex;
  }

  /* .product-ingredients-modal__badges {
    display: none;
  } */

  .product-ingredients-modal__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 1rem;
    margin: 0 0 1.5rem;
    background-color: #fef6e1;
    width: 100%;
  }

  .product-ingredients-modal__badge {
    flex: 1 1 calc(50% - 0.375rem);
    min-width: 120px;
    justify-content: flex-start;
  }

  .product-ingredients-modal__badge-text {
    white-space: normal;
    text-align: left;
  }

  .product-ingredients-modal__close-button--bottom {
    display: block;
    margin-top: 1.4rem;
    margin-bottom: .3rem;
    padding-block: 1.4rem;
  }
  
  .product__ingredients-button {
    font-size: 1.6rem;
    padding: 1.6rem 1.8rem;
    margin-bottom: 12px;
  }

  .product__doctor-quote-text-wrapper-container {
    display: flex;
    align-items: center;
  }

  .product-alt-section .stars-rating .stars-rating__star {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
  }

  .product-alt-section .stars-rating .stars-rating__stars {
    height: 20px;
  }

  .product-alt-section .stars-rating .rating-star-partial__outline,
  .product-alt-section .stars-rating .stars-rating__star,
  .product-alt-section .stars-rating .stars-rating__star svg{
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
  }
  .product-alt-section .stars-rating .stars-rating__stars{
    
    height: 16px !important;
  }

  .product-alt-section .stars-rating .stars-rating__star svg,
  .product-alt-section .stars-rating .rating-star-half__fill svg,
  .product-alt-section .stars-rating .rating-star-half__outline,
  .product-alt-section .stars-rating .rating-star-partial__fill svg,
  .product-alt-section .stars-rating .rating-star-partial__outline {
    width: 20px;
    height: 20px;
  }

  .product__title h1 {
    line-height: 1.1;
  }

  .product__trust-badge-image {
    margin-bottom: 0;
  }

}

/* Tablet Styles */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .product-ingredients-modal__key-ingredients {
    grid-template-columns: repeat(2, 1fr);
  }

  .product__info-wrapper {
    padding-left: 2rem;
  }

  .product-ingredients-modal__sidebar {
    max-width: 320px;
    min-width: 250px;
  }

  .product__icons-block-text {
    max-width: 100%;
    width: 100%;
    flex-shrink: 1;
  }
}

@media screen and (max-width: 375px) {
  .product__doctor-quote-author--mobile {
    padding: 15px 0;
    padding-left: 3px;
  }

  .product__doctor-quote-text-wrapper-container {
    padding: .8rem
  }

  .product__doctor-quote-text {
    font-size: 17px;
    line-height: 1.2;
  }
}

@media screen and (max-width: 340px) {
  .product-alt-section__subtitle br {
    display: none;
  }
}

/* ============================================================
   Custom Gallery  (use_custom_gallery = true)
   All rules are scoped to .custom-gallery so they never affect
   the standard product-media-gallery.
   ============================================================ */

.custom-gallery {
  position: relative;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  /* Grid/flex: allow column to shrink so the track scrolls instead of growing with all slides */
  min-width: 0;
}

.product-alt-section media-gallery,
media-gallery:has(.custom-gallery) {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* ── Main viewer ─────────────────────────────────────────── */

.custom-gallery__main {
  position: relative;
  overflow: hidden;
  background: rgb(var(--color-background));
  min-width: 0;
  isolation: isolate;
}

/* Horizontal strip + smooth scroll + snap — same interaction model as .custom-gallery__thumbnails */
.custom-gallery__slides {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
  z-index: 0;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y pan-x pinch-zoom;
  scrollbar-width: none;
  -ms-overflow-style: none;
  /* Exact slide width in px — set by JS so snap matches scroll distance */
  --cg-slide-w: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.custom-gallery__slides::-webkit-scrollbar {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-gallery__slides {
    scroll-behavior: auto;
  }
}

.custom-gallery__slide {
  flex: 0 0 var(--cg-slide-w);
  box-sizing: border-box;
  width: var(--cg-slide-w);
  min-width: 0;
  margin: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.custom-gallery__slide img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.custom-gallery__video-wrapper {
  position: relative;
  width: 100%;
  background: rgb(var(--color-background));
}

.custom-gallery__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ── Navigation arrows (36 × 36) ─────────────────────────── */

.custom-gallery__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 36px;
  height: 36px;
  padding: 9px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.40);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: 0;
  pointer-events: auto;
  transition: background 0.2s;
}

.custom-gallery__arrow:hover,
.custom-gallery__arrow:focus-visible {
  background: rgba(0, 0, 0, 0.60);
  outline: none;
}

.custom-gallery__arrow--prev {
  left: 12px;
}

.custom-gallery__arrow--next {
  right: 12px;
}

.custom-gallery__arrow-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.custom-gallery__arrow--prev .custom-gallery__arrow-icon svg {
  transform: rotate(180deg);
}

/* ── Thumbnail strip ─────────────────────────────────────── */

.custom-gallery__thumbnails-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  width: 100%;
}

.custom-gallery__thumbnails {
  display: flex;
  flex-wrap: nowrap;
  gap: 5px;
  overflow-x: auto;
  scroll-behavior: smooth;
  flex: 1 1 0%;
  min-width: 0;
  margin: 0;
  padding: 2px 0 4px;
  list-style: none;
  /* hide scrollbar but keep functionality */
  scrollbar-width: none;
  -ms-overflow-style: none;
  touch-action: pan-y pan-x pinch-zoom;
  /* No rubber-band past the first/last thumbnail on iOS. `none`, not `contain`:
     `contain` only blocks scroll chaining, the bounce still paints here. */
  overscroll-behavior-x: none;
}

.custom-gallery__thumbnails::-webkit-scrollbar {
  display: none;
}

/* ── Individual thumbnail ─────────────────────────────────── */

.custom-gallery__thumb-item {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  position: relative;
  list-style: none;
}

.custom-gallery__thumb-btn {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 3px solid transparent;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  background: transparent;
  position: relative;
  transition: border-color 0.15s;
}

.custom-gallery__thumb-btn:hover {
  border-color: rgba(74, 144, 226, 0.35);
}

.custom-gallery__thumb-item.is-active .custom-gallery__thumb-btn,
.custom-gallery__thumb-btn[aria-current="true"] {
  border-color: rgba(74, 144, 226, 1);
}

.custom-gallery__thumb-btn img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Play icon overlay on video thumbnails */
.custom-gallery__thumb-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.30);
  pointer-events: none;
  color: #fff;
}

.new-product-bundle .product__description {
  color: var(--Black, #1F1F1F);
  font-family: "Mori";
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 25px;
  margin: 15px 0;
}

.new-product-bundle .product__accordion .accordion__content {
  padding: 10px 0;
}

.new-product-bundle .product__accordion .accordion__content ul {
  padding-left: 16px;
  list-style: disc;
}

  /* USPs small block */
  .norse-usps-small ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .norse-usps-small ul li {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    color: #000;
    font-family: "Mori", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 18px;
  }

  .norse-usps-small ul li::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 18px;
    min-width: 14px;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M12.4968 1.15247L4.93385 8.79595L1.15234 4.97438' stroke='%23007C1F' stroke-width='2.30492' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center 4px;
    background-size: 14px 10px;
  }

  .norse-usps-small ul li.norse-usps-small__item--hidden {
    display: none !important;
  }
.norse-countdown {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 20px 0;
}

.norse-countdown__label {
  color: #888;
  font-family: "Mori", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.norse-countdown__timer {
  color: #1A1A1A;
  font-family: "Mori", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-top: 2px;
}

/* ── Mobile adjustments ──────────────────────────────────── */

.whitelister .custom-gallery__thumb-item {
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
}

/*
  The ticket's 62x62 is the thumbnail IMAGE — that is the element QA inspects, and the
  button's 3px selected border is drawn INSIDE the box, so a 62px item renders a 56px
  picture. 62 + 2 x 3 puts the image itself on the number. Mobile already lands on the
  ticket's 44.8 (50.8 - 6) and is deliberately left alone.
*/
.product-alt-section--refined .custom-gallery__thumb-item {
    flex: 0 0 68px;
    width: 68px;
    height: 68px;
}
.custom-gallery__thumbnails-wrapper {
  margin-top: 16px;
}

@media screen and (max-width: 749px) {
  .custom-gallery__thumbnails-wrapper {
    margin-top: 10.11px;
  }
  .custom-gallery__thumb-item {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border-radius: 4px;
  }
  .whitelister .custom-gallery__thumb-item,
  .product-alt-section--refined .custom-gallery__thumb-item {
    flex: 0 0 50.8px;
    width: 50.8px;
    height: 50.8px;
    border-radius: 4px;
  }

  .custom-gallery__thumbnails{
    gap: 3px;
  }

  @media screen and (max-width: 749px) {
    .product__top-tag{
      margin-top: 0px !important;
    }
    .new-product-bundle .product__description {
      font-size: 16px;
    }
  }
}

.product__info-container .product__title-rating-wrapper *, .product__title.product__title-rating-wrapper * {
  font-family: 'Mori', sans-serif;
}

.product__info-container .product__title-rating-wrapper h1,
.product__title.product__title-rating-wrapper h1 {
  font-family: 'PP Mori';
  font-weight: 600;
  font-size: 26px;
  line-height: 36.3px;
  letter-spacing: 0;
  text-transform: capitalize;
}

@media screen and (min-width: 750px) {
  .product__info-container .product__title-rating-wrapper h1,
  .product__title.product__title-rating-wrapper h1 {
    font-family: 'PP Mori';
    font-weight: 800;
    font-size: 30px;
    line-height: 36.3px;
    letter-spacing: 0;
    text-transform: capitalize;
  }
}

.product__top-tag {
  display: flex;
  justify-content: center;
  margin: 50px 0 30px;
}

.product__top-tag-text {
  display: inline-block;
  max-width: 290px;
  padding: 8px 12px;
  border-radius: 8px;
  background-color: var(--top-tag-bg, #e3ecf5);
  color: var(--top-tag-color, #000000);
  font-family: 'PP Mori', sans-serif;
  font-size: 20px;
  line-height: 24px;
  text-align: center;
}

@media screen and (min-width: 750px) {
  .product__top-tag-text {
    max-width: 574px;
    font-size: 24px;
    line-height: 50px;  
  }
}

.product__formula-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 4px;
  background-color: rgba(72, 91, 109, 0.1);
  margin-bottom: 1px;
}

.product__formula-badge-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #0d1b1e;
}

.product__formula-badge-icon svg {
  display: block;
  width: 16px;
  height: 16px;
}

.product__formula-badge-text {
  font-family: 'PP Mori', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 16.8px;
  color: #0d1b1e;
  text-transform: capitalize;
  white-space: nowrap;
}

@media screen and (min-width: 750px) {
  .product__formula-badge-text {
    font-size: 20px;
  }
}

.product__formula-badge--mobile-top {
  display: flex;
  width: fit-content;
  margin-bottom: 10px;
}

@media screen and (min-width: 750px) {
  .product__formula-badge--mobile-top {
    display: none;
  }
}

@media screen and (max-width: 749px) {
  .product__formula-badge--desktop-only {
    display: none;
  }
}

.whitelister h6{
  margin-top: 10px !important;
margin-bottom: 0px;
color: #000;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 24px; /* 150% */
text-transform: capitalize;
};

.whitelister .product__accordion .accordion__content ul{
  margin-top: 0px !important;
}

.whitelister .product-accordion__svg {
  width: 24px !important;
  height: 24px !important;
  color: black;
}


/*
  The gallery rails are drag/scroll surfaces like every other carousel on the page, so
  neither the slides nor the thumbnails may be selected or lifted as images. !important
  and the descendant selector are both required — an app injects a runtime <style> with
  `*, *::before, *::after { user-select: text !important }` that re-applies to every
  element rather than letting it inherit. See assets/norse-carousel.css.
*/
.custom-gallery__slides,
.custom-gallery__slides *,
.custom-gallery__thumbnails,
.custom-gallery__thumbnails * {
  user-select: none !important;
  -webkit-user-select: none !important;
}

.custom-gallery__slides img,
.custom-gallery__thumbnails img {
  -webkit-user-drag: none;
  user-drag: none;
}
