.pdp-info__container {
  --swiper-pagination-color: #60666c;
  --swiper-pagination-bullet-inactive-color: #d1d1d1;

  display: grid;
  font-size: 16px;
  grid-template-columns: 100%;

  @media (min-width: 768px) {
    grid-template-columns: calc(50% - 12px) calc(50% - 12px);
    gap: 24px;
    padding: 0px;
  }

  @media (min-width: 1024px) {
    grid-template-columns: calc(60% - 12px) calc(40% - 12px);
    gap: 24px;
  }

  .pdp-info__dialog-button {
    padding: 0.8125em 2em;
    text-align: center;
    text-transform: uppercase;
    border: 0.8px solid #60666c;
    text-decoration: underline;
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-size: 12px;
    font-weight: 700;
    font-family: sofia;
    color: #60666c;
    background: transparent;
    cursor: pointer;
    border-radius: 4px;
    width: 100%;

    @media (min-width: 1024px) {
      font-size: 14px;
    }
  }

  .pdp-info__info-column {
    padding: 0 16px;

    @media (min-width: 768px) {
      padding: 0 16px 0 0;
    }

    @media (min-width: 1200px) {
      max-width: 90%;
      margin-right: auto;
    }
  }

  .pdp-info__dialog {
    background-color: #efccd5;
    border-radius: 12px;

    padding: 24px 12px;
    margin: auto;
    max-width: min(650px, 95vw);
    width: 100%;

    @media (min-width: 1024px) {
      padding: 44px;
      max-width: min(1200px, 95vw);
    }
  }

  .pdp-info__dialog-button-close {
    position: absolute;
    top: 12px;
    right: 12px;

    @media (min-width: 768px) {
      top: 16px;
      right: 16px;
    }
  }

  .pdp-info__dialog-content {
    display: flex;
    flex-direction: column;
    gap: 24px;

    @media (min-width: 1024px) {
      flex-direction: row;
    }
  }

  .pdp-info__dialog-content-header-logo {
    width: 90px;
    height: auto;
    object-fit: contain;
    object-position: center;
    margin: 0 auto 24px;
  }

  .pdp-info__dialog-nutrition-label-desktop {
    display: none;

    @media (min-width: 1024px) {
      display: block;
    }
  }

  .pdp-info__dialog-nutrition-label-mobile {
    display: block;

    @media (min-width: 1024px) {
      display: none;
    }
  }
  .pdp-info__dialog-richtext-wrapper {
    li {
      &::before {
        content: '';
        position: absolute;
        left: 0;
        top: 9px;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background-color: #515151;

        @media (max-width: 767px) {
          top: 6px;
        }
      }
    }

    ul {
      list-style: none;
      margin: 0;
      padding-left: 16px;
      font-size: 12px;
      line-height: 1.3;
      font-family: sofia;
      color: #515151;

      columns: 2;
      column-gap: 22px;

      @media (min-width: 1024px) {
        font-size: 16px;
      }
      li {
        break-inside: avoid;
        margin-bottom: 3px;
        position: relative;
        padding-left: 10px;
      }
    }
  }

  .pdp-info__dialog-text {
    flex: 1 1 100%;

    @media (min-width: 1024px) {
      flex: 1 1 31%;
    }
  }

  .pdp-info__dialog-nutrition-label {
    flex: 1 1 100%;

    @media (min-width: 1024px) {
      flex: 1 1 70%;
    }
  }

  .pdp-info__carousel-column {
  }

  .pdp-info__swiper-thumbs {
    display: none;
    anchor-name: --thumbs-slider;

    @media (min-width: 768px) {
      display: block;
      position: relative;
      overflow: hidden;
    }
  }

  .pdp-info__swiper-thumbs-container {
    @media (min-width: 768px) {
      display: block;
      padding: 20px 70px;
      overflow: hidden;
    }
  }

  .pdp-info__dialog-container {
    padding: 8px 0px 16px;

    @media (min-width: 768px) {
      padding: 24px 0px 0;
    }
  }

  .pdp-info__swiper-container {
    padding: 0 16px;
    overflow: hidden;

    @media (min-width: 768px) {
      padding: 0;
    }
  }

  .product-redesign__dec-btn,
  .product-redesign__inc-btn {
    width: 100%;
    height: 100%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .pdp-info__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    right: 0;

    .pdp-info__badge {
      padding: 3px 6px;
      border-radius: 28px;
      font-size: 12px;
      font-family: 'Mulish';
      font-weight: 600;
    }
  }

  .pdp-info__accordion {
    width: 100%;
    border-top: 1px solid #60666c;
    padding: 12px 0;
  }

  .pdp-info__accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    cursor: pointer;
    color: #60666c;
  }

  .pdp-info__yotpo-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    position: relative;

    .yotpo-widget-instance {
    }

    .yotpo-bottom-line-scroll-panel .yotpo-sr-bottom-line-button {
      display: flex !important;
      flex-direction: row !important;
    }
  }

  .pdp-info__benefits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px 12px;
    margin: 16px 0;

    .pdp-info__benefit {
      display: flex;
      align-items: flex-start;
      gap: 4px;

      svg {
        width: 24px;
        height: 10px;
        margin-top: 4px;
        flex-shrink: 0;
      }

      p {
        font-size: 14px;
        line-height: 1.3;
        font-family: sofia;
        color: #60666c;
        margin: 0;
        padding: 0;
        text-wrap: balance;
      }
    }
  }

  .pdp-info__icons {
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 12px;
    padding: 12px 0;

    @media (min-width: 1024px) {
      padding-bottom: 24px;
    }

    .pdp-info__icon {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      gap: 4px;

      p {
        text-align: center;
        font-size: 12px;
        line-height: 1.3;
        font-family: sofia;
        color: #60666c;
        margin: 0;
        padding: 0;
        text-wrap: balance;
      }
    }
  }

  .pdp-info__icon-image {
    width: 20px;
    padding-top: 20px;
    position: relative;

    img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
    }
  }

  .pdp-info__review-card {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 12px;

    .pdp-info__review-card-image {
      width: 100%;
      padding-top: 100%;
      position: relative;
      overflow: hidden;
      border-radius: 50%;

      img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
      }
    }
  }

  .pdp-info__reviews-swiper {
    overflow: hidden;

    padding: 16px 0 40px;
    position: relative;
  }

  .pdp-info__review-image-wrapper {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .pdp-info__review-card-content-text {
    font-size: 16px;
    line-height: 1.2;
    font-family: sofia;
    color: #60666c;
    font-weight: 300;
    margin: 0;
    padding: 0;
    margin-bottom: 12px;
  }

  .pdp-info__review-card-content-name {
    font-size: 14px;
    line-height: 1.2;
    font-family: recoleta;
    color: #60666c;
    font-weight: 400;
    margin: 0;
    padding: 0;
  }

  .pdp-info__review-card-content-credentials {
    font-family: sofia;
    font-weight: 300;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0;
    color: #60666c;
    margin: 0;
    padding: 0;
  }

  .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
  }

  .pdp-info__divider {
    background-color: #60666c;
    margin: 0;
    padding: 0;
    height: 1px;
    width: 100%;
    border: none;
  }

  .pdp-info__bundle-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;

    @media (min-width: 1024px) {
      margin-bottom: 24px;
    }

    .pdp-info__bundle-wrapper {
      padding: 8px;
      border-radius: 12px;
      overflow: hidden;
      transform: translateY(0);
      transition: all 0.3s ease;

      cursor: pointer;

      &:hover {
        transform: translateY(-2px);
      }
    }

    .pdp-info__bundle-header-title {
      font-family: sofia;
      font-weight: 600;
      font-size: 16px;
      line-height: 120%;
      letter-spacing: 0.04em;
      margin-bottom: 8px;
      text-align: left;
      color: #60666c;
    }

    .pdp-info__bundle-body {
      display: grid;
      grid-template-columns: 60px auto auto;
      gap: 12px;

      .pdp-info__bundle-image {
        width: 100%;
        padding-top: 100%;
        position: relative;
        overflow: hidden;

        img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          object-fit: contain;
          object-position: center;
        }
      }
    }

    .pdp-info__bundle-button {
      padding: 4px 16px;
      border-radius: 4px;
      text-align: center;
      text-transform: uppercase;
      font-family: sofia;
      font-weight: 600;
      font-size: 14px;
      line-height: 130%;
      letter-spacing: 0.01em;
      text-align: center;
    }

    .pdp-info__bundle-content-title {
      font-family: recoleta;
      font-weight: 400;
      font-size: 14px;
      line-height: 130%;
      letter-spacing: 0.01em;
      margin-bottom: 4px;
      text-align: left;
      color: #515151;
    }

    .pdp-info__bundle-content-description {
      font-family: sofia;
      font-weight: 400;
      font-size: 11px;
      line-height: 130%;
      letter-spacing: 0.01em;
      text-align: left;
      margin-bottom: 4px;
      color: #515151;

      @media (min-width: 768px) {
        font-size: 12px;
      }
    }

    .pdp-info__bundle-content-price {
      font-family: sofia;
      font-weight: 700;
      font-size: 12px;
      line-height: 130%;
      letter-spacing: 0em;
      text-align: left;
      display: flex;
      gap: 4px;
      color: #60666c;
    }
  }

  .swiper.pdp-info__swiper-main {
    position: relative;
    anchor-name: --main-slider;

    @media (min-width: 768px) {
      position: static;
    }
  }

  .pdp-info__arrow {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #fff;
    color: #60666c;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: absolute;
    border: 0.5px solid #60666c;
    top: 50%;
    z-index: 5;

    @media (min-width: 768px) {
      top: calc(anchor(top) + 20px);
      position-anchor: --thumbs-slider;
    }

    @media (min-width: 1200px) {
      top: calc(anchor(top) + 35px);
    }

    @media (min-width: 1500px) {
      top: calc(anchor(top) + 50px);
    }
  }

  .pdp-info__arrow--left {
    left: -10px;

    @media (min-width: 768px) {
      left: calc(anchor(left) - 50px);
    }
  }

  .pdp-info__arrow--right {
    right: -10px;

    @media (min-width: 768px) {
      right: calc(anchor(right) - 50px);
    }
  }

  .pdp-info__med-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background-color: #fff;
    border-radius: 4px;
    padding: 4px 8px;
    font-size: 12px;
    line-height: 1.3;
    font-family: sofia;
    color: #60666c;
    z-index: 2;
    width: 175px;
    padding: 6px 10px;

    @media (min-width: 1024px) {
      width: max(175px, 18vw);
    }
  }

  .pdp-info__med-badge-text {
    font-family: sofia;
    font-weight: 300;
    font-style: Light;
    font-size: 10px;
    line-height: 120%;
    letter-spacing: -0.01em;
    width: 100%;
    text-align: center;
    display: inline;

    @media (min-width: 1024px) {
      font-size: clamp(10px, 1vw, 32px);
    }
  }

  .pdp-info__product-title {
    font-family: recoleta;
    font-weight: 400;
    font-size: clamp(24px, 2.5vw, 38px);
    line-height: 110%;
    letter-spacing: -0.02em;
    margin: 8px 0;

    @media (min-width: 1024px) {
      margin: 12px 0;
    }
  }

  .pdp-info__price-container {
    display: flex;
    gap: 12px;
  }

  .pdp-info__price-wrapper {
    font-family: sofia;
    font-weight: 700;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 0.1em;
    color: #60666c;
    margin: 0;
    padding: 0;
  }

  .pdp-info__promo-text {
    font-family: 'Mulish';
    font-weight: 600;
    font-size: 12px;
    line-height: 135%;
    letter-spacing: 0%;
    text-align: center;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 6px;
    border-radius: 28px;

    p {
      color: inherit;
      font-family: 'Mulish';
    }
  }

  .pdp-info__count-text {
    font-family: sofia;
    font-weight: 700;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0%;
    color: #60666c;
  }

  .pdp-info__count-text-value,
  .pdp-info__count-text-divider {
    font-family: sofia;
    font-weight: 300;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0%;
    color: #60666c;
  }

  .pdp-info__count-text-divider {
    margin: 0 2px;
  }

  .pdp-info__med-badge-content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
  }

  .pdp-info__accordion-content {
    padding: 12px 0;

    p {
      font-size: 14px;
      line-height: 1.3;
      font-family: sofia;
      color: #60666c;
      margin: 0;
      padding: 0;
      text-wrap: balance;
      margin-bottom: 8px;
    }

    ul {
      list-style: disc;
      margin: 0;
      padding-left: 16px;
      font-size: 14px;
      line-height: 1.3;
    }
  }

  .pdp-info__value-propositions-row {
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    display: grid;
    justify-content: center;
    grid-auto-flow: column;
    grid-auto-columns: calc(25% - 12px);
    gap: 12px;
    z-index: 3;
    max-width: 400px;
    margin: 0 auto;

    @media (min-width: 1024px) {
      bottom: 32px;
      left: 16px;
      right: 16px;
      gap: 25px;
      max-width: 500px;
    }

    @media (min-width: 1200px) {
      max-width: 65%;
    }

    .pdp-info__value-proposition {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      background: #fffdf5e6;
      padding: 6px;
      border-radius: 6px;
      aspect-ratio: 1/1;
      width: 100%;
      height: 100%;

      @media (min-width: 1024px) {
        aspect-ratio: 124/90;
        padding: 12px;
      }

      p {
        text-align: center;
        font-family: sofia;
        font-weight: 400;
        font-size: 10px;
        line-height: 100%;
        letter-spacing: -0.02em;
        text-align: center;

        @media (min-width: 1024px) {
          font-size: 12px;
        }
      }

      img {
        width: 20px;
        height: auto;

        @media (min-width: 1024px) {
          width: max(30px, 25%);
        }
      }

      .pdp-info__value-proposition-text {
        display: none;

        @media (min-width: 1024px) {
          display: block;
          max-width: 75%;
          min-height: 24px;
        }

        @media (min-width: 1440px) {
          max-width: 60%;
        }
      }

      .pdp-info__value-proposition-text-mobile {
        display: block;
        min-height: 20px;

        @media (min-width: 1024px) {
          display: none;
        }
      }

      .pdp-info__value-proposition-icon-large {
        width: auto;
        height: 100%;
        margin: 0 auto;
      }
    }
  }

  .pdp-info__nutrition-label-content {
    background: white;
    border-radius: 6px;
    padding: 24px;
    display: grid;
    grid-template-columns: auto auto auto auto;
    gap: 0 10px;

    * {
      color: black;
      font-family: sofia;
      font-weight: 400;
      font-size: 12px;
      line-height: 130%;
      letter-spacing: 0.01em;
      text-align: left;
      margin: 0;
      padding: 0;
    }

    .pdp-info__nutrition-label-nutrients,
    .pdp-info__nutrition-label-title,
    .pdp-info__nutrition-label-serving-per-container,
    .pdp-info__nutrition-label-serving-per-size,
    .pdp-info__nutrition-label-amount-per-serving,
    .pdp-info__nutrition-label-nutrient,
    .pdp-info__nutrition-label-appendix-text,
    .pdp-info__nutrition-label-ingredients {
      grid-column: 1 / -1;
    }

    .pdp-info__nutrition-label-nutrient {
      width: 100%;
      display: grid;
      grid-template-columns: subgrid;
      border-top: 1px solid #60666c;
      padding: 4px 0;
    }

    nutrient:first-of-type,
    .pdp-info__nutrition-label-appendix-text,
    .pdp-info__nutrition-label-amount-per-serving {
      margin-top: 8px;
      border-top: 3px solid #60666c;
    }

    .pdp-info__nutrition-label-appendix-text,
    .pdp-info__nutrition-label-amount-per-serving {
      padding-top: 8px;
    }

    .pdp-info__nutrition-label-nutrient-value {
      text-align: right;
    }

    .pdp-info__nutrition-label-nutrient-dv {
      text-align: right;
    }

    .pdp-info__nutrition-label-title {
      font-weight: 700;
      font-size: 24px;
      font-family: sofia;
      line-height: 110%;
      letter-spacing: -0.02em;
      margin-bottom: 12px;
    }

    .pdp-info__nutrition-label-serving-per-container {
      font-size: 14px;
    }

    .pdp-info__nutrition-label-ingredients {
      padding-top: 8px;
      margin-top: 8px;
      border-top: 1px solid #60666c;
    }

    .pdp-info__nutrition-label-amount-per-serving {
      display: grid;
      grid-template-columns: subgrid;
    }

    .pdp-info__nutrition-label-amount-per-serving p {
      text-align: right;
    }
  }

  .pdp-variant-selects {
    font-family: sofia;
    text-align: center;
    font-size: 12px;
    padding-bottom: 16px;

    @media (min-width: 1024px) {
      padding-bottom: 24px;
    }

    .pdp-variant-selects__variant-card {
      border-radius: 12px;
      background-color: #ffefbdbf;
      border: 1px solid transparent;
      padding: 8px 16px;
      position: relative;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      flex: 0 1 50%;
      order: 2;

      @media (min-width: 1024px) {
        &:hover {
          border: 1px solid #bed6ee;
        }
      }
    }

    .pdp-variant-selects__variant-title {
      font-weight: 700;
      @media (min-width: 1024px) {
        font-size: 14px;
      }
    }

    .pdp-variant-selects__title {
      padding-bottom: 8px;
      font-family: sofia;
      font-weight: 700;
      font-size: 14px;
      line-height: 120%;
      letter-spacing: 2%;
      text-align: left;
    }

    .pdp-variant-selects__variants {
      display: flex;
      gap: 12px;
    }

    .pdp-variant-selects__variant-image {
      width: 100%;
      padding-top: min(51%, 90px);
      position: relative;

      img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        overflow: hidden;
      }
    }

    .pdp-variant-selects__variant-description {
      font-weight: 300;
      font-family: sofia;
    }

    .pdp-variant-selects__indicator {
      border-radius: 50%;
      width: 14px;
      height: 14px;
      border: 1px solid #bed6ee;
      background-color: white;
      position: absolute;
      display: flex;
      justify-content: center;
      align-items: center;
      left: 7px;
      top: 7px;
      z-index: 3;

      .pdp-variant-selects__indicator-inner {
        border-radius: 50%;
        width: 10px;
        height: 10px;
        background-color: white;
      }
    }

    input:checked + label {
      .pdp-variant-selects__indicator-inner {
        background-color: #bed6ee;
      }

      border: 1px solid #bed6ee;
    }
  }

  .pdp-variant-selects__variant-price {
    margin-top: auto;
    display: flex;
    gap: 4px;
    justify-content: center;
    padding-top: 4px;
    font-size:14px;

    .compare-price-variant {
      color: #60666c;
      text-decoration: line-through;
    }

    .current-price-variant {
      color: #60666c;
      font-weight: 700;
    }
  }
}
