.r-position--left {
  justify-content: flex-start;
  align-self: flex-start;
  align-items: flex-start;
  text-align: start;
}
.r-position--center, .r-position--center-center {
  justify-content: center;
  align-self: center;
  align-items: center;
  text-align: center;
}
.r-position--right {
  justify-content: flex-end;
  align-self: flex-end;
  align-items: flex-end;
  text-align: end;
}
.r-position--center-left {
  justify-content: center;
  align-items: flex-start;
  text-align: start;
}
.r-position--center-right {
  justify-content: center;
  align-items: flex-end;
  text-align: end;
}

/* stylelint-disable keyframes-name-pattern, custom-property-pattern, scss/percent-placeholder-pattern */
/*
.default-transition {
    @include transition-as(color, red, blue);
}
.transition-with-custom-modifier {
    @include transition-as(color, red, orange, active);
}
.transition-with-super-custom-modifier {
    @include transition-as(color, red) {
        body:has(.selector) & {
            color: green;
        }
    }
}
*/
.r-set-detail__card .r-product-card__button {
  --button-border-radius: var(--border-radius-16);
  --button-padding: 6px 12px 6px 12px;
  --button-icon-space: 0.5rem;
  --button-min-height: 2rem;
  --button-icon-size: 1rem;
  font-size: 0.75rem;
  line-height: 1.2;
}
.r-set-detail__product-title {
  font-weight: 300;
  font-family: var(--font-primary);
  word-wrap: break-word;
  line-height: 1.2;
}
.r-set-detail__product-title {
  font-size: 2rem;
  letter-spacing: 0;
  line-height: 1.25;
}
.r-set-detail .r-accordion__toggle, .r-set-detail__ingredient, .r-set-detail__how-to-use, .r-set-detail__title {
  font-family: var(--font-primary);
  font-weight: 400;
  word-wrap: break-word;
  letter-spacing: 0.005em;
}
.r-set-detail .r-accordion__toggle, .r-set-detail__ingredient, .r-set-detail__how-to-use {
  font-size: 1rem;
  line-height: 1.5;
}
.r-set-detail__title {
  font-size: 0.875rem;
  line-height: 1.4;
}
.r-set-detail__product-link, .r-set-detail__ingredient-link, .r-set-detail__card .r-product-card__title {
  --link-text-color: var(--module-font-color, var(--color-link-state-rest));
  --link-text-hover-color: var(--color-link-state-hover);
  --link-text-active-color: var(--color-link-state-active);
  --link-text-disabled-color: var(--color-link-state-inactive);
  --link-light-text-color: var(--color-link-light-state-rest);
  --link-offset: 7px;
  --link-width: 1.75rem;
  --link-height: 0.875rem;
  color: var(--link-text-color);
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: 30%;
  text-underline-position: from-font;
  pointer-events: all;
  outline-offset: var(--link-offset);
  max-width: fit-content;
  background: transparent;
  padding-block: var(--link-padding);
  padding-inline: 0;
}
.r-set-detail__product-link:hover, .r-set-detail__ingredient-link:hover, .r-set-detail__card .r-product-card__title:hover {
  color: var(--link-text-hover-color);
  text-decoration-color: var(--link-text-hover-color);
  text-decoration-line: underline;
}
.r-set-detail__product-link:active, .r-set-detail__ingredient-link:active, .r-set-detail__card .r-product-card__title:active {
  color: var(--link-text-active-color);
  text-decoration-color: var(--link-text-active-color);
}
.r-set-detail__product-link:disabled, .r-set-detail__ingredient-link:disabled, .r-set-detail__card .r-product-card__title:disabled {
  color: var(--link-text-disabled-color);
  text-decoration-color: var(--link-text-disabled-color);
}
[aria-disabled=true].r-set-detail__product-link, [aria-disabled=true].r-set-detail__ingredient-link, .r-set-detail__card [aria-disabled=true].r-product-card__title {
  color: var(--link-text-disabled-color);
  text-decoration-color: var(--link-text-disabled-color);
}
.r-set-detail__product-link:focus-visible, .r-set-detail__ingredient-link:focus-visible, .r-set-detail__card .r-product-card__title:focus-visible {
  outline: var(--border-link-focused);
  border-radius: var(--border-radius-32);
}
.r-set-detail__product-link, .r-set-detail__ingredient-link {
  font-family: var(--font-primary);
  line-height: 1;
  word-wrap: break-word;
  font-weight: 600;
  letter-spacing: 0.005em;
  font-size: 1rem;
  --link-offset: 10px;
  --link-width: 2.8125rem;
  --link-height: 2.25rem;
  --link-padding: 14px 10px;
}
.r-set-detail__card .r-product-card__title {
  text-decoration-line: none;
}
.r-set-detail__card .r-product-card__title:hover {
  text-decoration-line: none;
}
.r-set-detail__card {
  --icon-size: 1.5rem;
  --hover-image-opacity: 0;
  --hover-image-visibility: hidden;
  --main-image-visibility: visible;
  --main-image-opacity: 1;
  --element-transition: opacity 0.4s ease, visibility 0.3s ease-in;
  display: flex;
  flex-direction: column;
  background-color: white;
  margin-bottom: 0;
  text-align: center;
}
.r-set-detail__card:hover {
  --hover-image-opacity: 1;
  --main-image-opacity: 0;
  --hover-image-visibility: visible;
  --main-image-visibility: hidden;
}
.r-set-detail__card .r-product-card--toggle-visibility:hover {
  --hover-image-opacity: 0;
  --main-image-opacity: 1;
  --hover-image-visibility: hidden;
  --main-image-visibility: visible;
}
.r-set-detail__card .r-product-card__body {
  text-align: center;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.r-set-detail__card .r-product-card__body__content {
  display: flex;
}
.r-set-detail__card .r-product-card__title {
  color: var(--base-colors-primary-black);
  text-align: center;
  text-decoration: none;
  justify-content: center;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  min-height: 2lh;
}
.r-set-detail__card .r-product-card__description {
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: visible;
  text-overflow: ellipsis;
  max-width: 100%;
  min-height: 1lh;
  color: var(--base-colors-tertiary-gray-1);
  align-items: center;
  justify-content: center;
}
.r-set-detail__card .r-product-card__footer {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.r-set-detail__card .r-product-card__price-container {
  display: flex;
  justify-content: center;
  width: 100%;
  flex-wrap: nowrap;
  align-items: center;
  flex-direction: row;
}
.r-set-detail__card .r-price {
  display: flex;
  text-align: center;
  color: var(--base-colors-primary-black);
  justify-content: center;
}
.r-set-detail__card .r-pricing__wrapper {
  display: flex;
  gap: 10px;
}
.r-set-detail__card .r-product-card__image-container {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  flex-direction: column;
  align-items: center;
  justify-items: center;
}
.r-set-detail__card .r-product-card__link-img {
  display: contents;
}
.r-set-detail__card .r-product-card__picture {
  grid-area: 1;
  position: relative;
}
.r-set-detail__card .r-product-card__picture:first-of-type {
  position: relative;
  transition: var(--element-transition);
  opacity: var(--main-image-opacity);
  visibility: var(--main-image-visibility);
  grid-row: 1;
  grid-column: 1;
}
.r-set-detail__card .r-product-card__picture:nth-of-type(2) {
  position: relative;
  grid-row: 1;
  grid-column: 1;
  transition: var(--element-transition);
  opacity: var(--hover-image-opacity);
  visibility: var(--hover-image-visibility);
}
.r-set-detail__card .r-product-card__tile-img {
  position: relative;
}
.r-set-detail__card .r-product-card__button-container {
  max-height: 48px;
  white-space: nowrap;
  display: flex;
}
.r-set-detail__card .r-product-card__footer-button {
  opacity: 1;
  visibility: visible;
}
.r-set-detail__card .r-product-card__button {
  display: flex;
}
.r-set-detail__card .r-button__text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  max-width: 10.125rem;
  flex: 1 1 auto;
}
.r-set-detail__card .r-pricing__sale {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
}
.r-set-detail__card .r-product-card__badge {
  color: var(--base-colors-tertiary-gray-1);
  display: flex;
  justify-content: center;
  align-items: center;
}
.r-set-detail__card .r-pricing__strike-wrapper {
  color: var(--base-colors-alert-error);
  text-decoration-color: var(--base-colors-alert-error);
}
.r-set-detail__card .r-pricing__strike-through {
  color: var(--base-colors-alert-error);
  text-decoration-color: var(--base-colors-alert-error);
}
.r-set-detail__card .ratings {
  max-height: 16px;
}
.r-set-detail__card .r-collapse__button-content {
  color: var(--base-colors-tertiary-gray-1);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  text-overflow: ellipsis;
  max-width: 100%;
  min-height: 1lh;
}
.r-set-detail__card .r-product-card__description-size {
  display: flex;
  align-items: center;
  justify-content: center;
}
.r-set-detail__card {
  width: calc(var(--grid-mobile-column-width) * 1 + var(--grid-mobile-gap) * (1 - 1));
}
.r-set-detail__card .r-product-card__price-container {
  flex-wrap: wrap;
}
.r-set-detail__card .r-product-card__badge {
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  text-transform: uppercase;
  font-family: var(--font-primary);
  word-wrap: break-word;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  font-size: 0.75rem;
  padding-inline: var(--spacing-lg);
  padding-block: var(--spacing-md);
  height: 1.875rem;
}
.r-set-detail__card .r-product-card__title {
  font-family: var(--font-primary);
  font-weight: 400;
  word-wrap: break-word;
  letter-spacing: 0.005em;
  font-size: 0.875rem;
  line-height: 1.4;
}
.r-set-detail__card .r-product-card__description {
  font-family: var(--font-primary);
  font-weight: 400;
  word-wrap: break-word;
  letter-spacing: 0.005em;
  font-size: 0.75rem;
  line-height: 1.3;
  height: 1.5rem;
  padding-block: 4px;
}
.r-set-detail__card .r-product-card__description .r-collapse-attribute {
  width: 8.375rem;
}
.r-set-detail__card .r-product-card__ratings {
  padding-block: 4px;
}
.r-set-detail__card .r-price {
  font-family: var(--font-primary);
  word-wrap: break-word;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  font-size: 0.75rem;
  letter-spacing: 0.005em;
  padding-block: 0;
}
.r-set-detail__card .r-product-card__image {
  --card-image-width: 170px;
  --card-image-height: 212px;
}
.r-set-detail__card .r-product-card__body {
  padding-inline: var(--spacing-xs);
  padding-block: var(--spacing-md);
  gap: var(--spacing-xs);
}
.r-set-detail__card .r-product-card__footer {
  padding-inline: var(--spacing-md);
  padding-block: 10px;
}
.r-set-detail {
  --set-detail-font-color: var(--module-font-color);
  --set-detail-bg-color: var(--module-background-color);
  position: relative;
  padding-block: 50px;
  background-color: var(--set-detail-bg-color);
  color: var(--set-detail-font-color);
  padding-inline: var(--spacing-xl);
  flex-flow: column;
}
@media (min-width: 64rem) {
  .r-set-detail {
    padding: 88px 72px;
  }
}
@media (min-width: 64rem) {
  .r-set-detail__grid {
    display: grid;
    margin-block-start: var(--spacing-7xl);
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-9xl) var(--spacing-4xl);
  }
}
.r-set-detail__grid-content {
  margin-block: var(--spacing-6xl);
}
@media (min-width: 64rem) {
  .r-set-detail__grid-content {
    display: grid;
    grid-template-columns: 12.125rem auto;
    margin: 0;
    gap: var(--spacing-4xl);
  }
}
@media (min-width: 64rem) {
  .r-set-detail__title {
    font-weight: 300;
    font-family: var(--font-primary);
    word-wrap: break-word;
    line-height: 1.2;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.3;
  }
}
@media (min-width: 64rem) {
  .r-set-detail__card {
    --icon-size: 1.5rem;
    --hover-image-opacity: 0;
    --hover-image-visibility: hidden;
    --main-image-visibility: visible;
    --main-image-opacity: 1;
    --element-transition: opacity 0.4s ease, visibility 0.3s ease-in;
    display: flex;
    flex-direction: column;
    background-color: white;
    margin-bottom: 0;
    text-align: center;
  }
  .r-set-detail__card--xs {
    width: calc(var(--grid-desktop-column-width) * 1.5 + var(--grid-desktop-gap) * (1.5 - 1));
    --icon-size: 1.5rem;
  }
  .r-set-detail__card--xs .r-product-card__badge {
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    text-transform: uppercase;
    font-family: var(--font-primary);
    font-weight: 400;
    word-wrap: break-word;
    letter-spacing: 0.005em;
    font-size: 0.875rem;
    line-height: 1.4;
    padding-block: var(--spacing-lg);
    padding-inline: var(--spacing-2xl);
    padding-block-start: var(--spacing-lg);
    padding-block-end: var(--spacing-md);
    height: 2.75rem;
  }
  .r-set-detail__card--xs .r-product-card__price-container {
    flex-wrap: wrap;
    padding-inline: var(--spacing-xs);
  }
  .r-set-detail__card--xs .r-product-card__picture {
    width: 62%;
  }
  .r-set-detail__card--xs .r-product-card__title {
    font-family: var(--font-primary);
    font-weight: 400;
    word-wrap: break-word;
    letter-spacing: 0.005em;
    font-size: 0.875rem;
    line-height: 1.4;
  }
  .r-set-detail__card--xs .r-product-card__description {
    font-family: var(--font-primary);
    font-weight: 400;
    word-wrap: break-word;
    letter-spacing: 0.005em;
    font-size: 0.75rem;
    line-height: 1.3;
    height: 1.875rem;
    padding-block: 4px;
  }
  .r-set-detail__card--xs .r-product-card__description .r-collapse-attribute {
    width: 12.125rem;
  }
  .r-set-detail__card--xs .r-product-card__ratings {
    padding-block: 4px;
    height: 1rem;
  }
  .r-set-detail__card--xs .r-price {
    font-family: var(--font-primary);
    word-wrap: break-word;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    font-size: 0.75rem;
    letter-spacing: 0.005em;
    padding-block: 0;
  }
  .r-set-detail__card--xs .r-product-card__image {
    --card-image-width: 194px;
    --card-image-height: 150px;
  }
  .r-set-detail__card--xs .r-product-card__button {
    --button-border-radius: var(--border-radius-16);
    --button-padding: 6px 12px 6px 12px;
    --button-icon-space: 0.5rem;
    --button-min-height: 2rem;
    --button-icon-size: 1rem;
    font-size: 0.75rem;
    line-height: 1.2;
    --button-border-radius: var(--border-radius-16);
    gap: var(--spacing-md);
  }
  .r-set-detail__card--xs .r-product-card__button .r-icon {
    --icon-size: 16px;
  }
  .r-set-detail__card--xs .r-product-card__button .r-button__text {
    max-width: 6rem;
  }
  .r-set-detail__card--xs .r-product-card__body {
    padding-inline: var(--spacing-xs);
    padding-block: 8px 0;
    margin-block-start: 0;
    gap: 0;
  }
  .r-set-detail__card--xs .r-product-card__footer {
    padding-inline: 4px;
    padding-block: 10px;
  }
}
.r-set-detail__card--xs {
  background-color: transparent;
}
.r-set-detail__card--xs .r-product-card__badge,
.r-set-detail__card--xs .r-product-card__title,
.r-set-detail__card--xs .r-product-card__footer,
.r-set-detail__card--xs .r-product-card__subtitle,
.r-set-detail__card--xs .r-product-card__price-container {
  display: none;
}
.r-set-detail__card--xs .r-product-card__body {
  margin-block-start: var(--spacing-sm);
  padding-block-start: var(--spacing-xs);
  padding-block-end: 0;
}
@media (min-width: 64rem) {
  .r-set-detail__card--xs .r-product-card__body {
    margin-block-start: var(--spacing-lg);
    padding-block: var(--spacing-md);
  }
}
.r-set-detail__card--xs .r-product-card__description-wrapper {
  padding-block-end: 0;
}
.r-set-detail__thumb-size {
  place-self: center;
  align-self: start;
  text-align: center;
  margin: 0 auto;
  width: max-content;
}
.r-set-detail__accordion {
  margin-block-start: var(--spacing-md);
  margin-block-end: var(--spacing-xs);
}
@media (min-width: 64rem) {
  .r-set-detail__accordion {
    margin-block: var(--spacing-4xl);
    max-width: 38.625rem;
  }
}
.r-set-detail__product-title {
  width: 100%;
  text-align: center;
  display: inline-block;
  margin: var(--spacing-xl) auto;
}
@media (min-width: 64rem) {
  .r-set-detail__product-title {
    font-weight: 300;
    font-family: var(--font-primary);
    word-wrap: break-word;
    line-height: 1.2;
    font-size: 3rem;
    letter-spacing: 0;
    text-align: left;
    margin: 0;
  }
}
.r-set-detail__product-link, .r-set-detail__ingredient-link {
  display: inline-block;
}
.r-set-detail__ingredient-link {
  padding-block: 14px 10px;
}
.r-set-detail__product-link {
  padding-block: var(--spacing-md) var(--spacing-2xl);
}
@media (min-width: 64rem) {
  .r-set-detail__product-link {
    padding-block: var(--spacing-md);
  }
}
.r-set-detail__ingredients {
  margin-block: var(--spacing-xl);
}
.r-set-detail__how-to-use {
  margin-block-start: var(--spacing-xl);
}
.r-set-detail__ingredient-item {
  margin-block-end: var(--spacing-lg);
}
.r-set-detail__ingredient-item:last-child {
  margin-block-end: 0;
}
.r-set-detail .r-accordion__item {
  background-color: var(--base-colors-primary-white);
  margin-block-end: var(--spacing-xl);
  padding-block: var(--spacing-xl);
  padding-inline: var(--spacing-lg);
}
@media (min-width: 64rem) {
  .r-set-detail .r-accordion__item:last-child {
    margin-block-end: 0;
  }
}
.r-set-detail .r-accordion__toggle {
  justify-content: space-between;
}
.r-set-detail .r-accordion__toggle-icon {
  padding: var(--spacing-sm);
}
.r-set-detail .r-accordion__toggle-icon svg {
  width: 1rem;
  height: 1rem;
}
.r-set-detail .r-accordion__toggle,
.r-set-detail .r-accordion__item--opened .r-accordion__content {
  border-bottom-color: transparent;
  padding: 0;
}
.r-set-detail .r-size-description-alternative {
  display: block;
}
.r-set-detail .r-collapse-attribute {
  display: none;
}
