/* source/scss/miiki.scss */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
main {
  display: block;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}
a {
  background-color: transparent;
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img {
  border-style: none;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
details {
  display: block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none;
}
.hero {
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  letter-spacing: var(--heading-letter-spacing);
  text-transform: var(--heading-text-transform);
  line-height: var(--heading-line-height);
  font-size: var(--text-hero);
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
  display: block;
  margin: 0;
}
@media (min-width: 700px) {
  .sm\:hero {
    font-size: var(--text-hero);
  }
  .hero.sm\:display-xl {
    font-size: var(--text-display-xl);
  }
  .hero.sm\:display-l {
    font-size: var(--text-display-l);
  }
  .hero.sm\:display-m {
    font-size: var(--text-display-m);
  }
  .hero.sm\:h1 {
    font-size: var(--text-h1);
  }
  .hero.sm\:h2 {
    font-size: var(--text-h2);
  }
  .hero.sm\:h3 {
    font-size: var(--text-h3);
  }
  .hero.sm\:h4 {
    font-size: var(--text-h4);
  }
  .hero.sm\:h5 {
    font-size: var(--text-h5);
  }
  .hero.sm\:h6 {
    font-size: var(--text-h6);
  }
}
.price-regular,
.price-compare,
.price-reduced,
.price-small,
.price-small-compare,
.price-small-reduced {
  font-family: var(--text-font-family);
  font-style: var(--text-font-style);
  font-weight: var(--text-font-weight);
  letter-spacing: normal;
  text-transform: none;
  line-height: 1.3;
}
.price-regular {
  font-size: 1.25rem;
}
.price-compare {
  font-size: 1rem;
  text-decoration: line-through;
}
.price-reduced {
  font-size: 1.25rem;
  font-weight: var(--text-font-bold-weight);
}
.price-small {
  font-size: 0.875rem;
}
.price-small-compare {
  font-size: 0.75rem;
  text-decoration: line-through;
}
.price-small-reduced {
  font-size: 0.875rem;
  font-weight: var(--text-font-bold-weight);
}
.text-subdued {
  color: #666666;
}
.button.button {
  --button-padding-block: 14px;
  --button-padding-inline: 80px;
  font-family: var(--heading-font-family);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0.48px;
}
@media (min-width: 700px) {
  .button.button {
    --button-padding-block: 17px;
    --button-padding-inline: 48px;
    letter-spacing: 0.54px;
    font-size: 18px;
  }
}
.button {
  --button-background: 25 25 25;
  --button-text-color: 250 250 250;
  --button-border-color: 25 25 25;
}
@media (hover: hover) {
  .button:hover:not(:disabled, [aria-disabled=true], [disabled]),
  .button:focus-visible {
    --button-background: 255 255 255;
    --button-text-color: 25 25 25;
  }
}
.button.button--outline {
  --button-background: 250 250 250;
  --button-text-color: 25 25 25;
  --button-border-color: 25 25 25;
  background: rgb(var(--button-background));
}
@media (hover: hover) {
  .button.button--outline:hover:not(:disabled, [aria-disabled=true], [disabled]),
  .button.button--outline:focus-visible {
    --button-background: 25 25 25;
    --button-text-color: 250 250 250;
  }
}
.button.button--tertiary {
  --button-background: 224 225 248;
  --button-text-color: 25 25 25;
  --button-border-color: 224 225 248;
}
@media (hover: hover) {
  .button.button--tertiary:hover:not(:disabled, [aria-disabled=true], [disabled]),
  .button.button--tertiary:focus-visible {
    --button-background: 250 250 250;
  }
}
.button.button--sm {
  --button-padding-block: 12px;
  --button-padding-inline: 80px;
  font-size: 14px;
}
@media (min-width: 700px) {
  .button.button--sm {
    --button-padding-block: 14px;
    --button-padding-inline: 48px;
  }
}
.button:is(:disabled, [aria-disabled=true], [disabled]) {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}
.link.subheading {
  color: #191919;
}
@media (hover: hover) {
  .link.subheading:hover:not([aria-current=true]) {
    color: #666666;
  }
}
.bs-container,
.page-width {
  max-width: calc(var(--page-width) + 20px * 2);
  margin: 0 auto;
  padding-left: 20px !important;
  padding-right: 20px !important;
}
@media (min-width: 700px) {
  .bs-container,
  .page-width {
    max-width: calc(var(--page-width) + 32px * 2);
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}
@media (min-width: 1400px) {
  .bs-container,
  .page-width {
    max-width: calc(var(--page-width) + 48px * 2);
    padding-left: 48px !important;
    padding-right: 48px !important;
  }
}
.bs-container + .bs-container {
  margin-top: 40px;
}
section {
  overflow-x: clip;
}
.bs-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fafafa;
  padding: 16px var(--container-gutter);
}
.bs-breadcrumbs__link {
  font-size: 12px;
  line-height: 1.2;
  color: #666666;
  text-decoration: none;
}
.bs-breadcrumbs__link:hover {
  text-decoration: underline;
}
.bs-breadcrumbs__arrow {
  flex: none;
  color: #191919;
}
.bs-breadcrumbs__current {
  font-size: 12px;
  font-weight: var(--text-font-bold-weight, 700);
  line-height: 1.2;
  color: #191919;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cart-bundle-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid rgb(var(--border-color));
  padding: 12px 16px 16px;
}
.cart-bundle-group__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.cart-bundle-group__title {
  margin: 0;
}
.cart-bundle-group__remove-button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: none;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.cart-bundle-group__remove-button:hover .text-xs {
  text-decoration: underline;
}
.cart-bundle-group__items {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cart-bundle-group .line-item__media {
  flex-basis: 3.5rem;
}
.cart-bundle-group .line-item .v-stack {
  row-gap: 0.25rem;
}
.cart-bundle-group .line-item .discount-badge {
  display: none;
}
.cart-bundle-group__footer {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  border-top: 1px solid rgb(var(--border-color));
  padding-top: 10px;
}
.cart-bundle-group__discount-note {
  margin: 0;
}
.cart-bundle-group__total {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-inline-start: auto;
}
.cart-bundle-group__line-row .line-item__media {
  flex-basis: 3.5rem;
}
.cart-bundle-group__line-row .line-item .v-stack {
  row-gap: 0.25rem;
}
.cart-bundle-group__line-row .discount-badge {
  display: none;
}
.cart-bundle-group__line-row td:first-child {
  padding-inline-start: 16px;
}
.cart-bundle-group__line-row td:last-child {
  padding-inline-end: 16px;
}
@media screen and (max-width: 699px) {
  .cart-bundle-group__line-row td:first-child {
    padding-inline-end: 16px;
  }
}
.cart-bundle-group__header-row .cart-bundle-group__header {
  padding: 12px 16px;
}
.cart-bundle-group__footer-row .cart-bundle-group__footer {
  padding: 12px 16px;
}
.order-summary :is(tr.cart-bundle-group__header-row, tr.cart-bundle-group__line-row, tr.cart-bundle-group__footer-row) td {
  border: none;
  padding-block: 0;
}
.order-summary tr.cart-bundle-group__header-row {
  border: 1px solid rgb(var(--border-color));
  border-bottom: none;
}
.order-summary tr.cart-bundle-group__line-row {
  border-inline: 1px solid rgb(var(--border-color));
}
.order-summary tr.cart-bundle-group__line-row td {
  padding-block: 6px;
}
.order-summary tr.cart-bundle-group__footer-row {
  border: 1px solid rgb(var(--border-color));
  border-top: none;
}
.order-summary tr.cart-bundle-group__spacer-row td {
  border: none;
  padding: 0;
  height: 16px;
}
.offer-item--flush {
  padding: 0;
}
.offer-list--split.offer-list--flush {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 0.625rem 0.75rem;
}
@media (min-width: 700px) {
  .offer-list--split.offer-list--flush {
    flex-wrap: wrap;
  }
}
.bs-volume-selector__heading {
  margin: 0;
  font-weight: var(--text-font-bold-weight);
}
.bs-volume-selector__tier {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 0.625rem 1rem 0.625rem 0.625rem;
  border: 1px solid #e4e4e4;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.bs-volume-selector__tier:hover {
  border-color: #191919;
}
.bs-volume-selector__tier:has(input:checked) {
  border-color: #191919;
  background: #fafafa;
}
@media (min-width: 700px) {
  .bs-volume-selector__tier:has(input:checked) {
    background: #ffffff;
  }
}
.bs-volume-selector__tier:has(input:focus-visible) {
  outline: 2px solid #191919;
  outline-offset: 2px;
}
.bs-volume-selector__image {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}
.bs-volume-selector__image img {
  width: 48px;
  height: 48px;
  -o-object-fit: contain;
  object-fit: contain;
}
.bs-volume-selector__label-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 0 0;
  min-width: 0;
}
.bs-volume-selector__tier:has(input:checked) .bs-volume-selector__label {
  font-weight: var(--text-font-bold-weight);
}
.bs-volume-selector__discount-badge {
  padding: 0.375rem 0.5rem;
  border-radius: var(--rounded-full);
  background: #191919;
  color: #fafafa;
  font-size: 0.75rem;
  font-weight: var(--text-font-bold-weight);
  line-height: 1.2;
  white-space: nowrap;
}
.bs-volume-selector__prices {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex-shrink: 0;
}
.bs-volume-selector__prices s {
  margin-bottom: -2px;
}
.bs-volume-selector__unit-price {
  font-size: 0.75rem;
  line-height: 1.3;
}
.bs-volume-selector__flag {
  position: absolute;
  top: -8px;
  right: 18px;
  padding: 2px 6px;
  border: 0.5px solid #191919;
  border-top: 0;
  border-radius: 0 0 4px 4px;
  background: #e8ebf0;
  font-size: 0.875rem;
  line-height: 1.2;
  white-space: nowrap;
}
.bs-volume-selector__flag::before,
.bs-volume-selector__flag::after {
  content: "";
  position: absolute;
  top: 0;
  width: 0;
  height: 0;
  border-bottom: 9px solid #191919;
}
.bs-volume-selector__flag::before {
  left: -5px;
  border-left: 5px solid transparent;
}
.bs-volume-selector__flag::after {
  right: -5px;
  border-right: 5px solid transparent;
}
.bundle-builder {
  display: flex;
  flex-direction: column;
  background: #fff;
}
.bundle-builder.is-maxed .bundle-builder__item:not(.is-selected) .bundle-builder__add-button {
  opacity: 0.4;
  cursor: default;
}
.bundle-builder__header {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 48px var(--container-gutter);
}
.bundle-builder__heading {
  margin: 0;
  font-family: var(--text-font-family);
  font-size: 32px;
  font-weight: var(--text-font-bold-weight, 700);
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none;
  color: #191919;
}
.bundle-builder__subheading {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #666666;
}
.bundle-builder__main {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px var(--container-gutter) 48px;
}
.bundle-builder__header + .bundle-builder__main {
  padding-top: 0;
}
.bundle-builder__tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.bundle-builder__tabs::-webkit-scrollbar {
  display: none;
}
.bundle-builder__tab {
  padding: 10px 16px;
  border: none;
  background: #fafafa;
  color: #0b0a0a;
  font-family: var(--text-font-family);
  font-size: 20px;
  font-weight: var(--text-font-bold-weight, 700);
  line-height: 1.25;
  white-space: nowrap;
  cursor: pointer;
}
.bundle-builder__tab.is-active {
  background: #191919;
  color: #fafafa;
}
.bundle-builder__layout {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}
.bundle-builder__list {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: #fafafa;
  padding: 16px 12px;
}
.bundle-builder__empty {
  font-size: 14px;
  color: #666666;
}
.bundle-builder__item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.bundle-builder__item.is-sold-out {
  opacity: 0.5;
}
.bundle-builder__item[hidden] {
  display: none;
}
.bundle-builder__item.is-selected .bundle-builder__add-button {
  background: #191919;
  color: #fafafa;
}
.bundle-builder__item.is-selected .bundle-builder__add-label--default {
  display: none;
}
.bundle-builder__item.is-selected .bundle-builder__add-label--selected {
  display: inline;
}
.bundle-builder__item-row {
  display: flex;
  align-items: center;
}
.bundle-builder__item-media {
  flex: none;
  width: 129px;
  height: 129px;
  position: relative;
}
.bundle-builder__item-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.bundle-builder__media-track {
  display: flex;
  width: 100%;
  height: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.bundle-builder__media-track::-webkit-scrollbar {
  display: none;
}
.bundle-builder__media-track:focus-visible {
  outline: 2px solid #191919;
  outline-offset: -2px;
}
.bundle-builder__media-slide {
  flex: none;
  width: 100%;
  height: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.bundle-builder__media-dots {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  width: 94px;
  max-width: calc(100% - 24px);
}
.bundle-builder__media-dot {
  flex: 1 0 0;
  min-width: 1px;
  height: 3px;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: #e4e4e4;
  cursor: pointer;
  background-clip: content-box;
  box-sizing: content-box;
  padding-block: 6px;
}
.bundle-builder__media-dot.is-active {
  background-color: #191919;
}
.bundle-builder__item-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px 12px;
}
.bundle-builder__item-info {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.bundle-builder__rating {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bundle-builder__rating .jdgm-star {
  font-size: 12px;
  color: #191919;
}
.bundle-builder__rating .jdgm-prev-badge__text {
  font-size: 12px;
  line-height: 1.2;
  color: #666666;
  text-decoration: underline;
  text-underline-position: from-font;
}
.bundle-builder__item-title {
  margin: 0;
  font-size: 14px;
  font-weight: var(--text-font-bold-weight, 700);
  line-height: 1.2;
  color: #191919;
}
.bundle-builder__price-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}
.bundle-builder__price {
  font-size: 14px;
  line-height: 1.3;
  color: #191919;
}
.bundle-builder__price--compare {
  font-size: 12px;
  text-decoration: line-through;
}
.bundle-builder__price--reduced {
  font-weight: 600;
}
.bundle-builder__unit-price {
  font-size: 12px;
  line-height: 1.2;
  color: #666666;
}
.bundle-builder__info-link {
  display: block;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  color: #666666;
  transition: opacity 0.15s ease;
}
.bundle-builder__info-link.is-open {
  opacity: 0.55;
}
.bundle-builder__info-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.25s ease;
}
.bundle-builder__info-panel[hidden] {
  display: none;
}
.bundle-builder__info-panel.is-open {
  grid-template-rows: 1fr;
}
.bundle-builder__info-panel-inner {
  min-height: 0;
  overflow: hidden;
}
.bundle-builder__info-panel-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 12px 16px;
}
.bundle-builder__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.bundle-builder__badge {
  display: inline-flex;
  padding: 5px 8px;
  background: #e0e1f8;
  color: #191919;
  font-size: 12px;
  font-weight: var(--text-font-bold-weight, 700);
  line-height: 1.2;
}
.bundle-builder__benefits {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}
.bundle-builder__benefit {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  line-height: 1.2;
  color: #191919;
}
.bundle-builder__benefit svg {
  flex: none;
}
.bundle-builder__item-action {
  flex: none;
  width: 198px;
}
.bundle-builder__add-button {
  width: 100%;
  padding: 12px 16px;
  border-radius: 9999px;
  border: 1px solid #191919;
  background: #fafafa;
  color: #191919;
  font-family: var(--text-font-family);
  font-size: 14px;
  font-weight: var(--text-font-bold-weight, 700);
  line-height: 1.2;
  letter-spacing: 0.42px;
  text-align: center;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.bundle-builder__add-button[disabled] {
  cursor: default;
}
.bundle-builder__add-label--selected {
  display: none;
}
.bundle-builder__cta {
  flex: none;
  width: 458px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: #fafafa;
  padding: 16px 24px 24px;
  position: sticky;
  top: calc(var(--sticky-offset, 0px) + 24px);
}
.bundle-builder__progress {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-block: 8px;
}
.bundle-builder__progress-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.2;
  color: #191919;
}
.bundle-builder__bar {
  position: relative;
  height: 22px;
}
.bundle-builder__bar-track,
.bundle-builder__bar-fill {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 4px;
  border-radius: 999999px;
}
.bundle-builder__bar-track {
  width: 100%;
  background: #e8ebf0;
}
.bundle-builder__bar-fill {
  background: #191919;
  transition: width 0.3s ease;
}
.bundle-builder__bar-marker {
  position: absolute;
  top: 50%;
  transform: translate(-100%, -50%);
  padding: 3px 6px;
  border-radius: 1000px;
  background: #e8ebf0;
  font-size: 12px;
  line-height: 1.2;
  color: #191919;
  white-space: nowrap;
  transition: background 0.3s ease, color 0.3s ease;
}
[dir=rtl] .bundle-builder__bar-marker {
  transform: translate(100%, -50%);
}
.bundle-builder__bar-marker.is-reached {
  background: #191919;
  color: #fafafa;
}
.bundle-builder__slots {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.bundle-builder__slot {
  width: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.bundle-builder__slot.is-filled .bundle-builder__slot-media {
  background: #fff;
  border-style: solid;
  cursor: pointer;
}
.bundle-builder__slot.is-filled .bundle-builder__slot-plus {
  display: none;
}
.bundle-builder__slot-media {
  position: relative;
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e8ebf0;
  border: 1px dashed #e4e4e4;
  padding: 0;
  cursor: default;
}
.bundle-builder__slot-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.bundle-builder__slot-label {
  margin: 0;
  width: 100%;
  font-size: 12px;
  line-height: 1.2;
  color: #666666;
  text-align: center;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.bundle-builder__total {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.bundle-builder__total-label {
  margin: 0;
  font-size: 16px;
  font-weight: var(--text-font-bold-weight, 700);
  line-height: 1.5;
  color: #191919;
}
.bundle-builder__total-amounts {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.bundle-builder__total-compare {
  font-size: 14px;
  line-height: 1.3;
  color: #666666;
  text-decoration: line-through;
}
.bundle-builder__total-compare[hidden] {
  display: none;
}
.bundle-builder__total-amount {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
  color: #191919;
}
.bundle-builder__cta-footer {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bundle-builder__cta-button {
  width: 100%;
  padding: 17px 24px;
  border-radius: 9999px;
  border: none;
  background: #191919;
  color: #fafafa;
  font-family: var(--text-font-family);
  font-size: 18px;
  font-weight: var(--text-font-bold-weight, 700);
  line-height: 1.2;
  letter-spacing: 0.54px;
  text-align: center;
  cursor: pointer;
}
.bundle-builder__cta-button[disabled] {
  opacity: 0.4;
  cursor: default;
}
.bundle-builder__cta-button[aria-busy=true] {
  opacity: 0.7;
  cursor: wait;
}
.bundle-builder__usps {
  display: flex;
  gap: 8px;
}
.bundle-builder__usp {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  gap: 8px;
  justify-content: center;
  font-size: 12px;
  line-height: 1.2;
  color: #191919;
}
.bundle-builder__usp svg {
  flex: none;
}
@media screen and (max-width: 1149px) {
  .bundle-builder__item-action {
    width: 160px;
  }
}
@media screen and (max-width: 999px) {
  .bundle-builder__layout {
    flex-direction: column;
  }
  .bundle-builder__cta {
    width: calc(100% + 2 * var(--container-gutter));
    margin-inline: calc(-1 * var(--container-gutter));
    position: sticky;
    top: auto;
    bottom: 0;
    z-index: 2;
    gap: 12px;
    background: #fff;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.12);
    padding: 8px 20px calc(20px + env(safe-area-inset-bottom));
  }
  .bundle-builder__main,
  .bundle-builder__header + .bundle-builder__main {
    padding-bottom: 0;
    padding-top: 16px;
    background: #fafafa;
    gap: 12px;
  }
  .bundle-builder__list {
    width: 100%;
    background: none;
    padding: 0;
    gap: 12px;
  }
  .bundle-builder__tab {
    font-size: 16px;
    background: #fff;
  }
  .bundle-builder__slots {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .bundle-builder__slots::-webkit-scrollbar {
    display: none;
  }
  .bundle-builder__slot {
    flex: none;
  }
  .bundle-builder__cta-button {
    font-size: 16px;
    padding-block: 14px;
    letter-spacing: 0.48px;
  }
}
@media screen and (max-width: 699px) {
  .bundle-builder__header {
    padding-block: 24px;
    gap: 8px;
  }
  .bundle-builder__heading {
    font-size: 28px;
  }
  .bundle-builder__item-media {
    width: 96px;
    height: 96px;
  }
  .bundle-builder__item-body {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .bundle-builder__item-action {
    width: 100%;
  }
  .bundle-builder__item-row {
    position: relative;
  }
  .bundle-builder__info-link {
    position: absolute;
    top: 8px;
    right: 10px;
  }
  .bundle-builder__item-info {
    padding-inline-end: 34px;
  }
}
.shopify-section--faq .accordion__summary {
  font-weight: 700;
}
.shopify-section--faq .section-spacing {
  padding-block-start: var(--faq-padding-block-start);
  padding-block-end: var(--faq-padding-block-end);
}
.shopify-section--faq .section-stack {
  row-gap: var(--faq-header-gap);
}
.shopify-section--faq .faq-tabs {
  margin-block-end: var(--faq-header-gap);
}
.shopify-section--faq .section-stack .section-header {
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
}
.subheading-badge--custom-icon-size {
  --subheading-icon-size-active: var(--subheading-icon-size);
}
.subheading-badge--custom-icon-size-mobile {
  --subheading-icon-size-active: var(--subheading-icon-size-mobile);
}
@media (min-width: 700px) {
  .subheading-badge--custom-icon-size-mobile {
    --subheading-icon-size-active: var(--subheading-icon-size, 1cap);
  }
}
.subheading-badge--with-icon.subheading-badge--custom-icon-size::before,
.subheading-badge--with-icon.subheading-badge--custom-icon-size-mobile::before {
  width: var(--subheading-icon-size-active, 1cap) !important;
  height: var(--subheading-icon-size-active, 1cap) !important;
}
.subheading-badge--with-icon.subheading-badge--custom-icon-size,
.subheading-badge--with-icon.subheading-badge--custom-icon-size-mobile {
  align-items: center;
}
.faq-tabs {
  display: flex;
  gap: 8px;
}
.faq-tabs__tab {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  flex: 1 0 0;
  padding: 10px 16px;
  border: none;
  background: transparent;
  color: #191919;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.faq-tabs__tab[aria-selected=true] {
  background: #191919;
  color: #fafafa;
}
@media (hover: hover) {
  .faq-tabs__tab[aria-selected=false]:hover {
    background: rgba(25, 25, 25, 0.08);
  }
}
@media (min-width: 700px) {
  .faq-tabs__tab {
    flex: 0 0 auto;
    width: 180px;
    font-size: 16px;
  }
}
@media (min-width: 700px) {
  .slideshow__controls .scroll-marker-group--dots .scroll-marker {
    --scroll-marker-size: 0.5rem;
  }
  .slideshow__controls .scroll-marker-group--dots .scroll-marker[aria-current=true] {
    --scroll-marker-size: 0.625rem;
  }
  .slideshow__controls .scroll-marker-group--lines .scroll-marker {
    --scroll-marker-width: 2rem;
    --scroll-marker-height: 0.125rem;
  }
  .slideshow__controls .scroll-marker-group--lines .scroll-marker[aria-current=true] {
    --scroll-marker-width: 8.75rem;
    --scroll-marker-height: 0.1875rem;
  }
  .slideshow__controls .tap-area--sm {
    --tap-area-size: 1.5rem;
  }
  .slideshow__controls .slideshow__autoplay-button {
    --icon-size: 20px;
    width: 2.5rem;
    height: 2.5rem;
  }
  .slideshow__controls .slideshow__autoplay-button .icon {
    width: 20px;
    height: 20px;
  }
}
.slideshow__controls--hide-mobile {
  display: none !important;
}
@media (min-width: 700px) {
  .slideshow__controls--hide-mobile {
    display: flex !important;
  }
}
.shopify-section--slideshow .content-box {
  --content-box-spacing-block-start: 2.5rem;
  --content-box-spacing-block-end: 2.5rem;
}
@media (min-width: 700px) {
  .shopify-section--slideshow .content-box {
    --content-box-spacing-block-start: initial;
    --content-box-spacing-block-end: initial;
  }
}
.button--no-border,
.button.button--no-border {
  border-color: transparent !important;
}
.button--transparent,
.button.button--transparent {
  background: transparent !important;
  background-color: transparent !important;
}
.button--stretch-mobile {
  width: 100%;
  display: inline-flex;
  justify-content: center;
}
@media (min-width: 700px) {
  .button--stretch-mobile {
    width: auto;
    justify-content: initial;
  }
}
.button--nowrap,
.button.button--nowrap {
  white-space: nowrap;
}
.button--nowrap .button__content,
.button.button--nowrap .button__content {
  white-space: nowrap;
}
@media (min-width: 700px) {
  .button.button--reduce-desktop-padding {
    --button-padding-inline: 1.875rem;
  }
}
.blog-block .blog-post-list {
  margin-block-start: 2rem;
}
.blog-block .blog-block__button-wrap {
  margin-top: 1.5rem;
}
.blog-block .blog-block__button-wrap > .button {
  width: 100%;
  display: flex;
  justify-content: center;
}
@media (max-width: 999px) {
  .dynamic-grid--no-animation *,
  .dynamic-grid--no-animation *::before,
  .dynamic-grid--no-animation *::after {
    animation: none !important;
    transition: none !important;
  }
  .dynamic-grid--no-animation highlighted-heading,
  .dynamic-grid--no-animation split-lines,
  .dynamic-grid--no-animation highlighted-heading * {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
@media (max-width: 999px) {
  .dynamic-grid.dynamic-grid--simple-mobile {
    display: flex !important;
    flex-direction: column;
    gap: 0;
    padding-block: var(--simple-mobile-padding-block, 24px);
    padding-inline: var(--simple-mobile-padding-inline, 16px);
    grid-template-columns: none;
    grid-template-rows: none;
    grid-auto-rows: auto;
  }
  .dynamic-grid.dynamic-grid--simple-mobile > .dynamic-grid__cell--simple-mobile-first {
    margin-block-start: 0 !important;
  }
  .dynamic-grid.dynamic-grid--simple-mobile > .dynamic-grid__cell {
    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    transform: none !important;
    --dynamic-grid-horizontal-adjustment: 0;
    --dynamic-grid-vertical-adjustment: 0;
    position: static;
    inset: auto;
    width: 100%;
    max-width: 100%;
  }
  .dynamic-grid__cell--simple-mobile > .prose {
    display: flex;
    flex-direction: column;
    gap: var(--grid-item-inner-gap, 8px);
  }
  .dynamic-grid__cell--simple-mobile > .prose > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
  }
  .dynamic-grid__cell--simple-mobile > .prose > .rich-text-block > :first-child {
    margin-block-start: 0 !important;
  }
  .dynamic-grid__cell--simple-mobile > .prose > .rich-text-block > :last-child {
    margin-block-end: 0 !important;
  }
}
.shopify-section--rich-text .prose > * {
  margin-block-start: var(--rich-text-block-gap, 1.5rem) !important;
}
.shopify-section--rich-text .prose > :first-child,
.shopify-section--rich-text .prose > div:first-child > :first-child {
  margin-block-start: 0 !important;
}
.shopify-section--media-blocks .content-box {
  --content-box-spacing-block-start: 32px;
  --content-box-spacing-block-end: 32px;
  --content-box-spacing-inline-start: 20px;
  --content-box-spacing-inline-end: 20px;
}
.shopify-section--media-blocks .content-box .placement-grid .button {
  margin-block-end: 8px;
}
@media (min-width: 700px) {
  .shopify-section--media-blocks .content-box {
    --content-box-spacing-inline-start: 32px;
    --content-box-spacing-inline-end: 32px;
  }
}
@media (max-width: 699px) {
  .shopify-section--text-with-media .placement-grid > * {
    grid-row: auto;
  }
}
.prose {
  --prose-combination-subheading-heading-spacing: 1rem;
}
@media (min-width: 700px) {
  .prose {
    --prose-combination-subheading-heading-spacing: 2rem;
  }
}
.badge {
  font-family: var(--text-font-family);
  font-weight: 700;
  font-style: var(--text-font-style);
  letter-spacing: var(--text-letter-spacing);
  padding: 5px 8px;
  font-size: 12px;
  text-transform: none;
}
@media (min-width: 700px) {
  .badge {
    font-size: 12px;
  }
}
.badge-list {
  gap: 8px;
}
.product-info {
  --product-block-item-margin: 2rem;
}
.product-info__block-item:is([data-block-type=badges], [data-block-type=vendor], [data-block-type=sku], [data-block-type=price]) {
  --product-block-item-margin: 1.5rem;
}
.product-info__block-item:is([data-block-type=inventory]) {
  margin-block-end: 12px;
}
.product-info__block-item:is([data-block-type=buy-buttons]) {
  margin-block-start: 12px !important;
  margin-block-end: 16px;
}
.price-list {
  align-items: center;
  gap: 8px;
}
.buy-buttons .button__content {
  --button-padding-inline: 20px;
}
.product-info {
  max-width: 800px;
  margin-inline-start: 0;
}
@media (min-width: 1000px) {
  .product-info {
    padding-inline-start: 64px;
  }
}
.bs-upsell__heading {
  margin: 0;
  font-size: 20px;
  font-weight: var(--text-font-bold-weight, 700);
  line-height: 1.25;
}
.bs-upsell__card {
  display: flex;
  align-items: stretch;
  width: 100%;
}
.bs-upsell__image {
  flex-shrink: 0;
  width: 92px;
}
.bs-upsell__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.bs-upsell__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  flex: 1 0 0;
  min-width: 0;
  padding: 12px;
  background-color: rgb(var(--background, 255 255 255));
}
.bs-upsell__rating .jdgm-star {
  font-size: 12px;
  color: #191919;
}
.bs-upsell__rating .jdgm-prev-badge__text {
  font-size: 12px;
  line-height: 1.2;
  color: #666666;
  text-decoration: underline;
  text-underline-position: from-font;
}
.bs-upsell__text {
  width: 100%;
  min-width: 0;
}
.bs-upsell__title {
  margin: 0;
  font-size: 16px;
  font-weight: var(--text-font-bold-weight, 700);
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bs-upsell__title a {
  text-decoration: none;
  color: inherit;
}
.bs-upsell__subtitle {
  margin: 0;
  font-size: 16px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bs-upsell__price {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bs-upsell__unit-price {
  font-size: 12px;
  line-height: 1.2;
}
.bs-customer-voices {
  position: relative;
  padding: 16px;
  background-color: rgb(var(--background, 250 250 250));
}
@media (min-width: 700px) {
  .bs-customer-voices {
    background-color: rgb(var(--background, 255 255 255));
  }
}
.bs-customer-voices__scroller {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  align-items: start;
  scroll-snap-type: x mandatory;
  scroll-snap-stop: always;
}
.bs-customer-voices__scroller > * {
  scroll-snap-align: start;
}
.bs-customer-voices__item {
  gap: 8px;
}
@media (min-width: 700px) {
  .bs-customer-voices__item {
    gap: 12px;
  }
}
.bs-customer-voices__meta {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (min-width: 700px) {
  .bs-customer-voices__meta {
    padding-inline-end: 56px;
  }
}
.bs-customer-voices__stars {
  display: flex;
  align-items: center;
  gap: 2px;
}
.bs-customer-voices__stars svg path {
  fill: #191919;
}
.bs-customer-voices__name {
  font-size: 14px;
  line-height: 1.2;
}
.bs-customer-voices__quote {
  margin: 0;
  font-size: 16px;
  font-weight: var(--text-font-bold-weight, 700);
  line-height: 1.3;
}
.bs-customer-voices__arrows {
  position: absolute;
  top: 16px;
  right: 16px;
  display: none;
}
@media (min-width: 700px) {
  .bs-customer-voices__arrows {
    display: flex;
    align-items: center;
    gap: 12px;
  }
}
.bs-customer-voices__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: none;
  color: #191919;
  cursor: pointer;
}
.bs-customer-voices__arrow:disabled {
  color: #999999;
  cursor: default;
}
.bs-customer-voices__progress {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-block-start: 8px;
}
@media (min-width: 700px) {
  .bs-customer-voices__progress {
    margin-block-start: 12px;
  }
}
.bs-customer-voices__progress-segment {
  flex: 1 0 0;
  min-width: 0;
  height: 3px;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: #e8ebf0;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.bs-customer-voices__progress-segment[aria-current=true] {
  background: #191919;
}
.product-sticky-add-to-cart .button:not(.button--outline) {
  box-shadow: 0 3px 7.5px 0 #474747;
}
.product-sticky-add-to-cart .button:not(.button--outline) .button__content {
  --button-padding-inline: 20px;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/*# sourceMappingURL=bs-miiki.min.css.map */
